/trunk/papyrus/applications/admin_site/bibliotheque/adsi_admin.fonct.php |
---|
New file |
0,0 → 1,108 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2001 Laurent COUDOUNEAU (lc@gsite.org) | |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This library is free software; you can redistribute it and/or | |
// | modify it under the terms of the GNU Lesser General Public | |
// | License as published by the Free Software Foundation; either | |
// | version 2.1 of the License, or (at your option) any later version. | |
// | | |
// | This library is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
// | Lesser General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU Lesser General Public | |
// | License along with this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adsi_admin.fonct.php,v 1.1 2004-06-16 14:22:26 jpm Exp $ |
/** |
* Bibliothèque de fonctions pour la manipulation des administrateurs par l'application Administrateur de Papyrus. |
* |
* Contient principalement des fonctions permettant d'obtenir des informations sur les administrateurs de Papyrus. |
* |
*@package Administrateur de Sites |
*@subpackage Fonctions |
//Auteur original : |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
//Autres auteurs : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.orG> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ $Date: 2004-06-16 14:22:26 $ |
// +------------------------------------------------------------------------------------------------------+ |
**/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
define ('level_admin', 0); |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE des FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
// +------------------------------------------------------------------------------------------------------+ |
function getUserInfos ($db, $link, $appl, $project, $userid) |
{ |
$query = |
"select * from $db.annu_ADMIN". |
" where AA_USER_ID='$userid'". |
" and AA_PROJECT='$project'". |
" and AA_APPL='$appl'"; |
$result = mysql_query ($query, $link); |
if (! $result) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
if (mysql_num_rows ($result) != 1) { |
mysql_free_result ($result); |
return array ('level' => -1, 'args' => ''); |
} |
$row = mysql_fetch_object ($result); |
mysql_free_result ($result); |
return array ('level' => $row->AA_LEVEL, 'args' => $row->AA_ARGUMENT); |
} |
// +------------------------------------------------------------------------------------------------------+ |
function getUserLevel ($db, $link, $appl, $project, $userid) |
{ |
$infos = getUserInfos ($db, $link, $appl, $project, $userid); |
return $infos['level']; |
} |
// +------------------------------------------------------------------------------------------------------+ |
function userIsAdministrator ($db, $link, $appl, $project, $userid) |
{ |
return (getUserLevel ($db, $link, $appl, $project, $userid) == level_admin); |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.4 2004/04/01 11:24:19 jpm |
* Ajout et modification de commentaires pour PhpDocumentor. |
* |
* Revision 1.3 2004/03/26 12:50:52 jpm |
* Mise en forme de l'indentation des fonctions. |
* |
* Revision 1.2 2004/03/23 08:28:23 jpm |
* Mise en conformité avec la convention de codage. |
* Ajout de l'entête conforme. |
* |
* |
*/ |
?> |
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_squelette.fonct.php |
---|
New file |
0,0 → 1,287 |
<? |
//------------------------------------------------------------------------------ |
// FICHIER : $RCSfile: adsi_squelette.fonct.php,v $ |
// AUTEUR : $Author: jpm $ |
// VERSION : $Revision: 1.1 $ |
// DATE : $Date: 2004-06-16 14:28:53 $ |
//------------------------------------------------------------------------------ |
// GSite - Web site management in PHP - gus module |
// |
// Copyright (C) 2001 COUDOUNEAU Laurent (lc@gsite.org) |
// |
// This library is free software; you can redistribute it and/or |
// modify it under the terms of the GNU Lesser General Public |
// License as published by the Free Software Foundation; either |
// version 2.1 of the License, or (at your option) any later version. |
// |
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// Lesser General Public License for more details. |
// |
// You should have received a copy of the GNU Lesser General Public |
// License along with this library; if not, write to the Free Software |
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
//------------------------------------------------------------------------------ |
//------------------------------------------------------------------------------ |
//============================================================================== |
//============================================================================== |
function updatePresentation ($db, $link, $project, $locale, |
$baseURL, $baseURLjs, $baseHidden, |
$managedProject) { |
//---------------------------------------------------------------------------- |
// JavaScript. |
$not_empty = gs_getLabel ($db, $link, 'not_empty', $locale, false); |
js_register ('validateAndSubmit', |
" function validateAndSubmit (oForm) {"."\n". |
" if (oForm.guspresP_LOOK_NAME.value == '') {"."\n". |
" alert ('P_LOOK_NAME : $not_empty');"."\n". |
" return;"."\n". |
" }"."\n". |
" "."\n". |
" oForm.submit ();"."\n". |
" }"."\n" |
); |
//---------------------------------------------------------------------------- |
// Query project : get presentation. |
$query = "select * from $db.PROJECT where GS_PROJECT='$managedProject'"; |
$result = mysql_query ($query, $link); |
if (! $result) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
$button = ''; |
$text = ''; |
$pres = ''; |
$msg = ''; |
$title = ''; |
if (mysql_num_rows ($result) != 1) { |
//-------------------------------------------------------------------------- |
// Unknown project. |
$msg = gs_getLabel ($db, $link, 'gus_unknown_prj', $locale, 'gus')." ($managedProject)"; |
$button = |
gs_genericButtons ($db, $link, $locale, |
array ( |
array ( |
'text' => 'back', |
'appl' => 'gsite', |
'url' => $baseURL)), |
false); |
} else { |
//-------------------------------------------------------------------------- |
// Get row. |
$row = mysql_fetch_object ($result); |
$pres = $row->GS_PRESENTATION; |
//-------------------------------------------------------------------------- |
// Get presentation. |
$query = "select * from $db.".$pres."_PRESENTATION where P_LOOK_NAME='$row->GS_LOOK_NAME'"; |
$PRESresult = mysql_query ($query, $link); |
if (! $PRESresult) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
$numFields = mysql_num_fields ($PRESresult); |
//-- We already have a presentation ? |
$title .= ' : '; |
if (mysql_num_rows ($PRESresult) == 0) { |
$title .= gs_getLabel ($db, $link, 'gus_title5_not_exist', $locale, 'gus'); |
} else { |
$title .= gs_getLabel ($db, $link, 'gus_title5_exist', $locale, 'gus'); |
} |
//-- Get infos about fields. |
$metaArray = array (); |
for ($i = 0; $i < $numFields; $i++) { |
$metaArray[$i] = mysql_fetch_field ($PRESresult); |
} |
//-- Get result. |
$PRESrow = mysql_fetch_row ($PRESresult); |
$dataArray = array (); |
for ($i = 0; $i < $numFields; $i++) { |
$dataArray[$i] = $PRESrow[$i]; |
} |
//-------------------------------------------------------------------------- |
// Dump form. |
$text = ''; |
$text .= "\n".'<FORM name="gform" action="document.php" method="post">'; |
$text .= "\n".' <TABLE cellspacing="0" cellpadding="0" border="0" summary="">'; |
for ($i = 0; $i < $numFields; $i++) { |
$text .= "\n".' <TR>'; |
$text .= "\n".' <TD class="gusLabel">'.htmlentities ($metaArray[$i]->name).' : </TD>'; |
$text .= "\n".' <TD class="gusInput"><INPUT'; |
$text .= "\n".' class="gusInput"'; |
$text .= "\n".' type="text"'; |
$text .= "\n".' name="guspres'.$metaArray[$i]->name.'"'; |
$text .= "\n".' size="48"'; |
$text .= "\n".' maxlength="255"'; |
$text .= "\n".' value="'.htmlentities ((($dataArray[$i] == '') && ($metaArray[$i]->name == 'P_LOOK_NAME') |
? $row->GS_LOOK_NAME |
: $dataArray[$i])).'"></TD>'; |
$text .= "\n".' </TR>'; |
} |
$text .= "\n".' <TR>'; |
$text .= "\n".' <TD align="center" colspan="2"><TABLE border="0" summary="" width="100%" cellpadding="0" cellspacing="0">'; |
$text .= "\n".' <TR>'; |
$text .= "\n".' <TD align="center"><INPUT type="image" src="Local/icons/validate.gif"></TD>'; |
$text .= "\n".' <TD align="center"><A href="'.$baseURL.'"><IMG '. |
'border="0" src="Local/icons/cancel.gif" alt="" width="16" height="16"></A></TD>'; |
$text .= "\n".' </TR>'; |
$text .= "\n".' </TABLE></TD>'; |
$text .= "\n".' </TR>'; |
$text .= "\n".' </TABLE>'; |
$text .= "\n".' <INPUT type="hidden" name="gusprjid" value="'.htmlentities ($managedProject).'">'; |
$text .= "\n".' <INPUT type="hidden" name="gusprsid" value="'.htmlentities ($row->GS_LOOK_NAME).'">'; |
$text .= "\n".' <INPUT type="hidden" name="gusprjpres" value="'.htmlentities ($row->GS_PRESENTATION).'">'; |
$text .= "\n".' <INPUT type="hidden" name="guscmd" value="commitupdpres">'; |
$text .= $baseHidden; |
$text .= "\n".'</FORM>'; |
} |
mysql_free_result ($result); |
//---------------------------------------------------------------------------- |
// Build page. |
$title = |
$managedProject. |
(empty ($pres) ? '' : ' / '.$pres). |
$title; |
return |
buildPage ( |
$button, '', |
$title, |
$text, |
$msg); |
} |
//============================================================================== |
//============================================================================== |
function commitUpdatePresentation ($db, $link, $project, $locale, |
$userLevel, $adminProject, |
$baseURL, $baseURLjs) { |
global $gusprjid; |
global $gusprsid; |
global $gusprjpres; |
global $guspresP_LOOK_NAME; |
//---------------------------------------------------------------------------- |
// Look name set ? |
$msg = ''; |
if (isset ($guspresP_LOOK_NAME) && ($guspresP_LOOK_NAME != '')) { |
//-------------------------------------------------------------------------- |
// This look name already exist ? |
$query = "select * from $db.$gusprjpres"."_PRESENTATION where P_LOOK_NAME='$gusprsid'"; |
$result = mysql_query ($query, $link); |
if (! $result) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
$presExist = (mysql_num_rows ($result) == 1); |
mysql_free_result ($result); |
//-------------------------------------------------------------------------- |
// We have a look name. We get others informations, and build request. |
global $HTTP_POST_VARS; |
$query = ''; |
reset ($HTTP_POST_VARS); |
while (list ($key, $val) = each ($HTTP_POST_VARS)) { |
if (substr ($key, 0, strlen ('guspres')) == 'guspres') { |
if ($query != '') $query .= ', '; |
$query .= substr ($key, strlen ('guspres'), strlen ($key) - strlen ('guspres'))."='$val'"; |
} |
} |
if ($presExist) { |
$query = "update $db.$gusprjpres"."_PRESENTATION set ".$query." where P_LOOK_NAME='$gusprsid'"; |
} else { |
$query = "insert into $db.$gusprjpres"."_PRESENTATION set ".$query; |
} |
//-------------------------------------------------------------------------- |
// Execute query. |
$result = mysql_query ($query, $link); |
if (! $result) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
} else { |
$msg = gs_getLabel ($db, $link, 'gus_pres_noname', $locale, 'gus'); |
} |
//---------------------------------------------------------------------------- |
// List all projects. |
return |
listProjects ($db, $link, $project, $locale, |
$userLevel, $adminProject, |
$baseURL, $baseURLjs, |
$msg); |
} |
//------------------------------------------------------------------------------ |
// $Log: not supported by cvs2svn $ |
// Revision 1.1 2003/10/10 09:58:21 alex |
// installation |
// |
// Revision 1.1.1.1 2002/10/02 07:32:21 root |
// initialisation site de Tela |
// |
// Revision 1.2 2002/06/14 07:22:38 lc |
// Bug LC0021 : use js_register |
// |
// Revision 1.1 2002/02/25 16:35:57 lc |
// First revision. |
// |
//-- End of source ------------------------------------------------------------ |
?> |
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_affichage.fonct.php |
---|
New file |
0,0 → 1,176 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2001 Laurent COUDOUNEAU (lc@gsite.org) | |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This library is free software; you can redistribute it and/or | |
// | modify it under the terms of the GNU Lesser General Public | |
// | License as published by the Free Software Foundation; either | |
// | version 2.1 of the License, or (at your option) any later version. | |
// | | |
// | This library is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
// | Lesser General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU Lesser General Public | |
// | License along with this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adsi_affichage.fonct.php,v 1.1 2004-06-16 14:23:01 jpm Exp $ |
/** |
* Bibliothèque de fonctions de construction du xhtml de l'application Administrateur de Sites. |
* |
* Contient un ensemble de fonctions permettant à l'application Administrateur de Sites de généré son xhtml. |
* |
*@package Administrateur de Sites |
*@subpackage Fonctions |
//Auteur original : |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Date: 2004-06-16 14:23:01 $ |
// +------------------------------------------------------------------------------------------------------+ |
**/ |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE des FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction ADMIN_contruirePage()- Génére le xhtml d'une page de l'application administrateur. |
* |
* Cette fonction formate de la même façon toutes les pages de l'application Administrateur |
* avant de les renvoyer. |
* |
* @param string le titre du contenu de la page. |
* @param string le corps du contenu de la page. |
* @param string un message important à destination de l'utilisateur. |
* return string le code XHTML à retourner. |
*/ |
function ADMIN_contruirePage($titre, $texte, $message = '') |
{ |
// Page. |
$sortie = ''; |
$sortie .= "\n"; |
$sortie .= '<!-- Application page -->'."\n"; |
$sortie .= str_repeat(' ', 12).'<h1>'.$titre.'</h1>'."\n"; |
if (! empty ($message)) { |
$sortie .= $message; |
} |
$sortie .= $texte."\n"; |
return $sortie; |
} |
/** Fonction ADMIN_donnerFormInputElements()- Génére le xhtml pour la création de balise input. |
* |
* Cette fonction génère une liste de balise input pour un formulaire. |
* Elle contient 1 tableau associatif en paramètre. |
* |
* Tableau des boutons : c'est une tableau de description de bouton, chaque description est elle-même |
* dans un tableau contenant les clés suivantes : |
* - type : correspond au texte présent dans l'attribut "type" du bouton. |
* - id : le texte présent dans l'attribut "id" du bouton. |
* - name : le texte présent dans l'attribut "name" du bouton. |
* - size : le texte présent dans l'attribut "id" du bouton. |
* - value : correspond au texte présent dans l'attribut "value" du bouton. |
* |
* @param array tableau contenant les descriptions des boutons. |
* return string le code XHTML des boutons. |
*/ |
function ADMIN_donnerFormInputElements($aso_elements) |
{ |
// Construction du xhtml des boutons |
$retour = ''; |
for ($i = 0; $i < sizeof($aso_elements); $i++) { |
// Récupération du tableau associatif d'un bouton. |
$bt_info = $aso_elements[$i]; |
// Contenu commun à tous les éléments |
$bt_id_generique = 'element_'.($i+1); |
$bt_id = (empty($bt_info['id'])) ? $bt_id_generique : $bt_info['id'] ; |
$bt_name_generique = $bt_id; |
$bt_name = (empty($bt_info['name'])) ? $bt_name_generique : $bt_info['name'] ; |
$bt_tabindex_generique = ($i+10); |
$bt_tabindex = (empty($bt_info['tabindex'])) ? $bt_tabindex_generique : $bt_info['tabindex'] ; |
$bt_obligatoire = false; |
$bt_obligatoire = (!isset($bt_info['obligatoire'])) ? false : true ; |
// Contenu spécifique au type d'élément |
$retour .= str_repeat(' ', 16).'<li>'; |
$retour .= (empty($bt_info['label'])) ? '' : '<label for="'.$bt_info['id'].'">'.$bt_info['label'].'</label>'; |
if ($bt_info['element'] == 'input') { |
$bt_type_generique = 'text'; |
$bt_type = (empty($bt_info['type'])) ? $bt_type_generique : $bt_info['type'] ; |
$bt_size_generique = ''; |
$bt_size = (empty($bt_info['size'])) ? $bt_size_generique : $bt_info['size']; |
$bt_value_generique = ($bt_type != 'submit') ? '' : 'OK'; |
$bt_value = (empty($bt_info['value'])) ? $bt_value_generique : $bt_info['value'] ; |
// Rendu xhtml |
$retour .= '<'.$bt_info['element'].' '. |
'type="'. $bt_type .'" '. |
'id="'. $bt_id .'" '. |
'name="'. $bt_name .'" '; |
$retour .= (!isset($bt_info['value'])) ? '' : 'value="'.$bt_value.'" '; |
$retour .= (!isset($bt_info['size'])) ? '' : 'size="'.$bt_size.'" '; |
$retour .= (!isset($bt_info['maxlength'])) ? '' : 'maxlength="'.$bt_info['maxlength'].'" '; |
$retour .= (!isset($bt_info['checked'])) ? '' : 'checked="checked" '; |
$retour .= (!isset($bt_info['disabled'])) ? '' : 'disabled="disabled" '; |
$retour .= (!isset($bt_info['readonly'])) ? '' : 'readonly="readonly" '; |
$retour .= 'tabindex="'. $bt_tabindex .'" />'; |
} else if ($bt_info['element'] == 'textarea') { |
$bt_rows_generique = '25'; |
$bt_rows = (empty($bt_info['rows'])) ? $bt_rows_generique : $bt_info['rows'] ; |
$bt_cols_generique = '75'; |
$bt_cols = (empty($bt_info['cols'])) ? $bt_cols_generique : $bt_info['cols'] ; |
// Rendu xhtml |
$retour .= '<'.$bt_info['element'].' '. |
'id="'. $bt_id .'" '. |
'name="'. $bt_name .'" '. |
'rows="'. $bt_rows .'" '. |
'cols="'. $bt_cols .'" '; |
$retour .= (empty($bt_info['disabled'])) ? '' : 'disabled="disabled" '; |
$retour .= 'tabindex="'. $bt_tabindex .'">'; |
$retour .= $bt_value; |
$retour .= '</'.$bt_info['element'].'>'; |
} |
$retour .= (!$bt_obligatoire) ? '' : '<span id="symoble_obligatoire">*</span>'; |
$retour .= '</li>'."\n"; |
} |
return $retour; |
} |
// +- Fin du code source --------------------------------------------------------------------------------+ |
/* |
* $Log: not supported by cvs2svn $ |
* Revision 1.6 2004/05/07 16:33:39 jpm |
* Modification de commentaires. |
* |
* Revision 1.5 2004/04/30 16:22:53 jpm |
* Poursuite de l'administration des sites. |
* |
* Revision 1.4 2004/04/02 16:36:35 jpm |
* Ajout d'une fonction générant des boutons pour les formulaires. |
* |
* Revision 1.3 2004/04/01 11:21:41 jpm |
* Ajout et modification de commentaires pour PhpDocumentor. |
* |
* Revision 1.2 2004/03/24 20:02:25 jpm |
* Modification de l'indentation du xhtml renvoyé. |
* |
* Revision 1.1 2004/03/24 10:01:33 jpm |
* Changement de nom de la bibliothèque de fonction d'affichage du xhtml. |
* |
* Revision 1.1 2004/03/24 10:00:11 jpm |
* Transfert de la fonction de contruction du xhtml de l'application dans ce fichier. |
* |
* |
*/ |
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_style.fonct.php |
---|
New file |
0,0 → 1,669 |
<? |
//------------------------------------------------------------------------------ |
// FICHIER : $RCSfile: adsi_style.fonct.php,v $ |
// AUTEUR : $Author: jpm $ |
// VERSION : $Revision: 1.1 $ |
// DATE : $Date: 2004-06-16 14:29:01 $ |
//------------------------------------------------------------------------------ |
// GSite - Web site management in PHP - gus module |
// |
// Copyright (C) 2001 COUDOUNEAU Laurent (lc@gsite.org) |
// |
// This library is free software; you can redistribute it and/or |
// modify it under the terms of the GNU Lesser General Public |
// License as published by the Free Software Foundation; either |
// version 2.1 of the License, or (at your option) any later version. |
// |
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// Lesser General Public License for more details. |
// |
// You should have received a copy of the GNU Lesser General Public |
// License along with this library; if not, write to the Free Software |
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
//------------------------------------------------------------------------------ |
//------------------------------------------------------------------------------ |
//============================================================================== |
//============================================================================== |
function addStyle ($db, $link) { |
$styleName = substr (md5 (uniqid (rand ())), 0, 16); |
$query = "insert into $db.STYLE set S_NAME='$styleName'"; |
$result = mysql_query ($query, $link); |
if (! $result) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
} |
//============================================================================== |
//============================================================================== |
function delStyle ($db, $link, $gusstyid) { |
$query = "delete from $db.STYLE where S_NAME='$gusstyid'"; |
$result = mysql_query ($query, $link); |
if (! $result) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
} |
//============================================================================== |
//============================================================================== |
function updStyle ($db, $link, $locale, $gusstyid, $baseURL, $baseHidden, $msg = '') { |
//---------------------------------------------------------------------------- |
// Get style. |
$query = "select * from $db.STYLE where S_NAME='$gusstyid'"; |
$result = mysql_query ($query, $link); |
if (! $result) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
$row = mysql_fetch_object ($result); |
mysql_free_result ($result); |
if (! $row) return ''; |
//---------------------------------------------------------------------------- |
// Labels. |
$nameLabel = gs_getLabel ($db, $link, 'gus_name', $locale, 'gus').' : '; |
$txtcolLabel = gs_getLabel ($db, $link, 'gus_col_txt', $locale, 'gus').' : '; |
$col1Label = gs_getLabel ($db, $link, 'gus_col_1', $locale, 'gus').' : '; |
$col2Label = gs_getLabel ($db, $link, 'gus_col_2', $locale, 'gus').' : '; |
$col3Label = gs_getLabel ($db, $link, 'gus_col_3', $locale, 'gus').' : '; |
$col4Label = gs_getLabel ($db, $link, 'gus_col_4', $locale, 'gus').' : '; |
$col5Label = gs_getLabel ($db, $link, 'gus_col_5', $locale, 'gus').' : '; |
$col6Label = gs_getLabel ($db, $link, 'gus_col_6', $locale, 'gus').' : '; |
$col7Label = gs_getLabel ($db, $link, 'gus_col_7', $locale, 'gus').' : '; |
$txtinvcolLabel = gs_getLabel ($db, $link, 'gus_col_txt_inv', $locale, 'gus').' : '; |
$txtaltcolLabel = gs_getLabel ($db, $link, 'gus_col_txt_alert', $locale, 'gus').' : '; |
$fontfLabel = gs_getLabel ($db, $link, 'gus_font_fam', $locale, 'gus').' : '; |
$fonttLabel = gs_getLabel ($db, $link, 'gus_font_tiny', $locale, 'gus').' : '; |
$fontsLabel = gs_getLabel ($db, $link, 'gus_font_small', $locale, 'gus').' : '; |
$fontbLabel = gs_getLabel ($db, $link, 'gus_font_big', $locale, 'gus').' : '; |
//---------------------------------------------------------------------------- |
// Dump data. |
$outputText = ''; |
$outputText .= "\n".'<TR>'; |
$outputText .= "\n".' <TD><FORM name="updform" action="document.php" method="POST">'. |
'<TABLE align="center" summary="" cellspacing="0" cellpadding="0" border="0">'; |
if ($msg != '') { |
$outputText .= "\n".' <TR><TD class="gusError" colspan="6">'.$msg.'</TD></TR>'; |
} |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$nameLabel.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput" colspan="5"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="gusname"'; |
$outputText .= "\n".' size="16"'; |
$outputText .= "\n".' maxlength="16"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_NAME).'"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR><TD colspan="6"><IMG src="Local/vide.gif" alt="" width="1" height="5"></TD></TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$txtcolLabel.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="guscoltxt"'; |
$outputText .= "\n".' size="10"'; |
$outputText .= "\n".' maxlength="16"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_TEXT).'"></TD>'; |
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_TEXT.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$txtinvcolLabel.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="guscolinvtxt"'; |
$outputText .= "\n".' size="10"'; |
$outputText .= "\n".' maxlength="16"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_TEXT_INVERSE).'"></TD>'; |
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_TEXT_INVERSE.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$txtaltcolLabel.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="guscolalttxt"'; |
$outputText .= "\n".' size="10"'; |
$outputText .= "\n".' maxlength="16"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_TEXT_ALERT).'"></TD>'; |
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_TEXT_ALERT.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR><TD colspan="6"><IMG src="Local/vide.gif" alt="" width="1" height="5"></TD></TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$col1Label.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="guscol1"'; |
$outputText .= "\n".' size="10"'; |
$outputText .= "\n".' maxlength="16"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_1).'"></TD>'; |
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_1.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$col2Label.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="guscol2"'; |
$outputText .= "\n".' size="10"'; |
$outputText .= "\n".' maxlength="16"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_2).'"></TD>'; |
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_2.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$col3Label.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="guscol3"'; |
$outputText .= "\n".' size="10"'; |
$outputText .= "\n".' maxlength="16"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_3).'"></TD>'; |
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_3.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$col7Label.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="guscol7"'; |
$outputText .= "\n".' size="10"'; |
$outputText .= "\n".' maxlength="16"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_7).'"></TD>'; |
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_7.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$col4Label.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="guscol4"'; |
$outputText .= "\n".' size="10"'; |
$outputText .= "\n".' maxlength="16"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_4).'"></TD>'; |
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_4.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$col5Label.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="guscol5"'; |
$outputText .= "\n".' size="10"'; |
$outputText .= "\n".' maxlength="16"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_5).'"></TD>'; |
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_5.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$col6Label.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="guscol6"'; |
$outputText .= "\n".' size="10"'; |
$outputText .= "\n".' maxlength="16"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_COLOR_6).'"></TD>'; |
$outputText .= "\n".' <TD bgcolor="'.$row->S_COLOR_6.'"><IMG src="Local/vide.gif" alt="" width="20" height="20"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR><TD colspan="6"><IMG src="Local/vide.gif" alt="" width="1" height="5"></TD></TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$fontfLabel.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput" colspan="5"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="gusfontf"'; |
$outputText .= "\n".' size="64"'; |
$outputText .= "\n".' maxlength="255"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_FONT_FAMILY).'"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$fonttLabel.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput" colspan="5"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="gusfontt"'; |
$outputText .= "\n".' size="8"'; |
$outputText .= "\n".' maxlength="8"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_FONT_SIZE_TINY).'"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$fontsLabel.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput" colspan="5"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="gusfonts"'; |
$outputText .= "\n".' size="8"'; |
$outputText .= "\n".' maxlength="8"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_FONT_SIZE_SMALL).'"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD class="gusLabel">'.$fontbLabel.'</TD>'; |
$outputText .= "\n".' <TD class="gusInput" colspan="5"><INPUT'; |
$outputText .= "\n".' class="gusInput"'; |
$outputText .= "\n".' type="text"'; |
$outputText .= "\n".' name="gusfontb"'; |
$outputText .= "\n".' size="8"'; |
$outputText .= "\n".' maxlength="8"'; |
$outputText .= "\n".' value="'.htmlentities ($row->S_FONT_SIZE_BIG).'"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR><TD colspan="6"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD></TR>'; |
$bodyStyle = |
"background-color: $row->S_COLOR_1;"; |
$frameStyle = |
"background-color: $row->S_COLOR_2;"; |
$backStyle = |
"background-color: $row->S_COLOR_3;"; |
$onStyle = |
"font-family:$row->S_FONT_FAMILY;". |
"font-size:$row->S_FONT_SIZE_SMALL;". |
"text-align:center; vertical-align=middle;". |
"color:$row->S_COLOR_TEXT;". |
"background-color:$row->S_COLOR_7;"; |
$offStyle = |
"font-family:$row->S_FONT_FAMILY;". |
"font-size:$row->S_FONT_SIZE_SMALL;". |
"text-align:center; vertical-align=middle;". |
"color:$row->S_COLOR_TEXT;". |
"background-color:$row->S_COLOR_4;"; |
$texttStyle = |
"font-family:$row->S_FONT_FAMILY;". |
"font-size:$row->S_FONT_SIZE_TINY;". |
"text-align:left; vertical-align=top;". |
"color:$row->S_COLOR_TEXT;". |
"background-color:$row->S_COLOR_3;"; |
$textsStyle = |
"font-family:$row->S_FONT_FAMILY;". |
"font-size:$row->S_FONT_SIZE_SMALL;". |
"text-align:left; vertical-align=top;". |
"color:$row->S_COLOR_TEXT;". |
"background-color:$row->S_COLOR_3;"; |
$textbStyle = |
"font-family:$row->S_FONT_FAMILY;". |
"font-size:$row->S_FONT_SIZE_BIG;". |
"text-align:left; vertical-align=top;". |
"color:$row->S_COLOR_TEXT;". |
"background-color:$row->S_COLOR_3;"; |
$alertStyle = |
"font-family:$row->S_FONT_FAMILY;". |
"font-size:$row->S_FONT_SIZE_SMALL;font-weight:bold;". |
"text-align:left; vertical-align=top;". |
"color:$row->S_COLOR_TEXT_ALERT;". |
"background-color:$row->S_COLOR_3;"; |
$labelStyle = |
"font-family:$row->S_FONT_FAMILY;". |
"font-size:$row->S_FONT_SIZE_SMALL;font-weight:bold;". |
"text-align:left; vertical-align=top;". |
"color:$row->S_COLOR_TEXT;". |
"background-color:$row->S_COLOR_5;"; |
$inputStyle = |
"font-family:$row->S_FONT_FAMILY;". |
"font-size:$row->S_FONT_SIZE_SMALL;". |
"text-align:left; vertical-align=top;". |
"color:$row->S_COLOR_TEXT;". |
"background-color:$row->S_COLOR_6;"; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD colspan="6" style="'.$bodyStyle.'"><BR><TABLE align="center" summary="" cellspacing="0" cellpadding="0" border="0">'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="1"></TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="78" height="1"></TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="1"></TD>'; |
$outputText .= "\n".' <TD><IMG src="Local/vide.gif" alt="" width="10" height="1"></TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="1"></TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="78" height="1"></TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="1"></TD>'; |
$outputText .= "\n".' <TD><IMG src="Local/vide.gif" alt="" width="229" height="1"></TD>'; |
$outputText .= "\n".' <TD><IMG src="Local/vide.gif" alt="" width="1" height="1"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="15"></TD>'; |
$outputText .= "\n".' <TD style="'.$onStyle.'">Azerty</TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="15"></TD>'; |
$outputText .= "\n".' <TD><IMG src="Local/vide.gif" alt="" width="10" height="1"></TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="15"></TD>'; |
$outputText .= "\n".' <TD style="'.$offStyle.'">Qwerty</TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="15"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'" colspan="9"><IMG src="Local/vide.gif" alt="" width="400" height="1"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' <TD style="'.$backStyle.'" colspan="7"><IMG src="Local/vide.gif" alt="" width="398" height="1"></TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' <TD style="'.$texttStyle.'" colspan="7"> text tiny</TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' <TD style="'.$textsStyle.'" colspan="7"> text medium</TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' <TD style="'.$textbStyle.'" colspan="7"> text big</TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' <TD style="'.$alertStyle.'" colspan="7"> text alert</TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' <TD style="'.$backStyle.'" colspan="7"><IMG src="Local/vide.gif" alt="" width="398" height="1"></TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' <TD style="'.$labelStyle.'" colspan="7"> label</TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' <TD style="'.$inputStyle.'" colspan="7"> input</TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' <TD style="'.$backStyle.'" colspan="7"><IMG src="Local/vide.gif" alt="" width="398" height="1"></TD>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD style="'.$frameStyle.'" colspan="9"><IMG src="Local/vide.gif" alt="" width="400" height="1"></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' </TABLE><BR></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' <TR><TD colspan="6"><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD></TR>'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD align="center" colspan="6"><TABLE border="0" summary="" width="100%" cellpadding="0" cellspacing="0">'; |
$outputText .= "\n".' <TR>'; |
$outputText .= "\n".' <TD align="center"><INPUT type="image" src="Local/icons/validate.gif"></TD>'; |
$outputText .= "\n".' <TD align="center"><A href="'.$baseURL.'"><IMG '. |
'border="0" src="Local/icons/cancel.gif" alt="" width="16" height="16"></A></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' </TABLE></TD>'; |
$outputText .= "\n".' </TR>'; |
$outputText .= "\n".' </TABLE>'; |
$outputText .= "\n".' <INPUT type="hidden" name="guscmd" value="commitupdsty">'; |
$outputText .= "\n".' <INPUT type="hidden" name="gusstyid" value="'.$gusstyid.'">'; |
$outputText .= $baseHidden; |
$outputText .= "\n".' </FORM></TD>'; |
$outputText .= "\n".'</TR>'; |
return $outputText; |
} |
//============================================================================== |
//============================================================================== |
function commitUpdStyle ($db, $link, $locale, $gusstyid, &$msg) { |
//---------------------------------------------------------------------------- |
// Form variables. |
global $gusname; |
global $guscoltxt; |
global $guscolinvtxt; |
global $guscolalttxt; |
global $guscol1; |
global $guscol2; |
global $guscol3; |
global $guscol4; |
global $guscol5; |
global $guscol6; |
global $guscol7; |
global $gusfontf; |
global $gusfontt; |
global $gusfonts; |
global $gusfontb; |
//---------------------------------------------------------------------------- |
// We have to update the name ? |
if ($gusname != $gusstyid) { |
$query = "select * from $db.STYLE where S_NAME='$gusname'"; |
$result = mysql_query ($query, $link); |
if (! $result) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
$row = mysql_fetch_row ($result); |
mysql_free_result ($result); |
if ($row) { |
$msg = |
gs_getLabel ($db, $link, 'gus_duplicate_sty', $locale, 'gus'). |
" ($gusname)"; |
return $gusstyid; |
} |
} |
$query = |
"update $db.STYLE set". |
" S_NAME='$gusname'". |
", S_COLOR_TEXT='$guscoltxt'". |
", S_COLOR_TEXT_INVERSE='$guscolinvtxt'". |
", S_COLOR_TEXT_ALERT='$guscolalttxt'". |
", S_COLOR_1='$guscol1'". |
", S_COLOR_2='$guscol2'". |
", S_COLOR_3='$guscol3'". |
", S_COLOR_4='$guscol4'". |
", S_COLOR_5='$guscol5'". |
", S_COLOR_6='$guscol6'". |
", S_COLOR_7='$guscol7'". |
", S_FONT_FAMILY='$gusfontf'". |
", S_FONT_SIZE_TINY='$gusfontt'". |
", S_FONT_SIZE_SMALL='$gusfonts'". |
", S_FONT_SIZE_BIG='$gusfontb'". |
" where S_NAME='$gusstyid'"; |
$result = mysql_query ($query, $link); |
if (! $result) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
return $gusname; |
} |
//============================================================================== |
//============================================================================== |
function listStyles ($db, $link, $project, $locale, |
$baseURL, $baseURLjs, |
$msg) { |
//---------------------------------------------------------------------------- |
// Javascript. |
$goMsg = addslashes (gs_getLabel ($db, $link, 'delete', $locale, 'gsite', false)); |
js_register ('modifyStyle', |
" function modifyStyle (oSelect) {"."\n". |
" var url = '$baseURLjs'+'&guscmd=updsty';"."\n". |
" if (oSelect.selectedIndex != -1) {"."\n". |
" url += '&gusstyid='+oSelect.options[oSelect.selectedIndex].value;"."\n". |
" document.location = url;"."\n". |
" }"."\n". |
" }"."\n" |
); |
js_register ('deleteStyle', |
" function deleteStyle (oSelect) {"."\n". |
" var url = '$baseURLjs'+'&guscmd=delsty';"."\n". |
" if (oSelect.selectedIndex != -1) {"."\n". |
" url += '&gusstyid='+oSelect.options[oSelect.selectedIndex].value;"."\n". |
" if (window.confirm ('$goMsg')) {"."\n". |
" document.location = url;"."\n". |
" }"."\n". |
" }"."\n". |
" }"."\n" |
); |
//---------------------------------------------------------------------------- |
// Buttons. |
$i = 0; |
//-- Modify style. |
$btInfos1[$i++] = array ( |
'text' => 'gus_mod', |
'appl' => 'gus', |
'url' => 'javascript:modifyStyle (document.gform.gselect)'); |
//-- Add style. |
$btInfos1[$i++] = array ( |
'text' => 'gus_add', |
'appl' => 'gus', |
'url' => $baseURL.'&guscmd=addsty'); |
//-- Delete style. |
$btInfos1[$i++] = array ( |
'text' => 'gus_del', |
'appl' => 'gus', |
'url' => 'javascript:deleteStyle (document.gform.gselect)'); |
$btInfos1[$i++] = array ('space' => true); |
//-- Logout. |
$btInfos1[$i++] = array ( |
'text' => 'logout', |
'appl' => 'gsite', |
'url' => $baseURL.'&auth_logout=1'); |
$button1 = |
gs_genericButtons ($db, $link, $locale, |
$btInfos1, |
false); |
//---------------------------------------------------------------------------- |
// List styles. |
$query = "select * from $db.STYLE order by S_NAME"; |
$STYresult = mysql_query ($query, $link); |
if (! $STYresult) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
//---------------------------------------------------------------------------- |
// Build form. |
$text = ''; |
$text .= "\n".'<FORM name="gform" action="document.php" method="get">'; |
$text .= "\n".' <SELECT class="gusInput" name="gselect" size="20" ondblclick="javascript:modifyStyle (document.gform.gselect)">'; |
while ($row = mysql_fetch_object ($STYresult)) { |
$text .= "\n".' <OPTION value="'.htmlentities ($row->S_NAME).'">'; |
$text .= htmlentities ($row->S_NAME); |
$text .= '</OPTION>'; |
} |
$text .= "\n".' </SELECT>'; |
$text .= "\n".'</FORM>'; |
mysql_free_result ($STYresult); |
//---------------------------------------------------------------------------- |
// Build page. |
$title = gs_getLabel ($db, $link, 'gus_title3', $locale, 'gus'); |
return |
buildPage ( |
$button1, |
'', |
$title, |
$text, |
$msg); |
} |
//------------------------------------------------------------------------------ |
// $Log: not supported by cvs2svn $ |
// Revision 1.1 2003/10/10 09:58:21 alex |
// installation |
// |
// Revision 1.1.1.1 2002/10/02 07:32:21 root |
// initialisation site de Tela |
// |
// Revision 1.3 2002/06/14 07:23:23 lc |
// Bug LC0021 : use js_register |
// |
// Revision 1.2 2002/05/30 14:49:39 lc |
// Admin of tiny font size. |
// |
// Revision 1.1 2002/02/25 16:35:57 lc |
// First revision. |
// |
//-- End of source ------------------------------------------------------------ |
?> |
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_cache.fonct.php |
---|
New file |
0,0 → 1,159 |
<? |
//------------------------------------------------------------------------------ |
// FICHIER : $RCSfile: adsi_cache.fonct.php,v $ |
// AUTEUR : $Author: jpm $ |
// VERSION : $Revision: 1.1 $ |
// DATE : $Date: 2004-06-16 14:26:35 $ |
//------------------------------------------------------------------------------ |
// GSite - Web site management in PHP - gus module |
// |
// Copyright (C) 2001 COUDOUNEAU Laurent (lc@gsite.org) |
// |
// This library is free software; you can redistribute it and/or |
// modify it under the terms of the GNU Lesser General Public |
// License as published by the Free Software Foundation; either |
// version 2.1 of the License, or (at your option) any later version. |
// |
// This library is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// Lesser General Public License for more details. |
// |
// You should have received a copy of the GNU Lesser General Public |
// License along with this library; if not, write to the Free Software |
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
//------------------------------------------------------------------------------ |
//------------------------------------------------------------------------------ |
//============================================================================== |
//============================================================================== |
function listCaches ($db, $link, $project, $locale, |
$baseURL, $baseURLjs, |
$msg) { |
//---------------------------------------------------------------------------- |
// Javascript. |
$goMsg = addslashes (gs_getLabel ($db, $link, 'delete', $locale, 'gsite', false)); |
js_register ('deleteCache', |
" function deleteCache (oSelect) {"."\n". |
" var url = '$baseURLjs'+'&guscmd=delcache';"."\n". |
" if (oSelect.selectedIndex != -1) {"."\n". |
" url += '&gusprjid='+oSelect.options[oSelect.selectedIndex].value;"."\n". |
" if (window.confirm ('$goMsg')) {"."\n". |
" document.location = url;"."\n". |
" }"."\n". |
" }"."\n". |
" }"."\n" |
); |
//---------------------------------------------------------------------------- |
// Buttons. |
$i = 0; |
//-- Delete cache. |
$btInfos1[$i++] = array ( |
'text' => 'gus_del', |
'appl' => 'gus', |
'url' => 'javascript:deleteCache (document.gform.gselect)'); |
$btInfos1[$i++] = array ('space' => true); |
//-- Logout. |
$btInfos1[$i++] = array ( |
'text' => 'logout', |
'appl' => 'gsite', |
'url' => $baseURL.'&auth_logout=1'); |
$button1 = |
gs_genericButtons ($db, $link, $locale, |
$btInfos1, |
false); |
//---------------------------------------------------------------------------- |
// List caches. |
$query = |
"select ". |
"C_PROJECT, ". |
"SUM(C_LENGTH) as UNZIP, ". |
"SUM(C_GZ_LENGTH) as ZIP, ". |
"COUNT(C_MD5_URL) as PAGES ". |
"from $db.CACHE ". |
"group by C_PROJECT ". |
"order by C_PROJECT"; |
$result = mysql_query ($query, $link); |
if (! $result) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
//---------------------------------------------------------------------------- |
// Build form. |
$text = ''; |
$text .= "\n".'<FORM name="gform" action="document.php" method="get">'; |
$text .= "\n".' <SELECT class="gusInput" name="gselect" size="20" ondblclick="javascript:deleteCache (document.gform.gselect)">'; |
while ($row = mysql_fetch_object ($result)) { |
$ratio = ((int) (($row->UNZIP / $row->ZIP) * 100)) / 100; |
$size = ((int) (($row->ZIP / 1024) * 100)) / 100; |
$infos = htmlentities ("$row->C_PROJECT ($row->PAGES pages - $size Ko - $ratio x)"); |
$text .= "\n".' <OPTION value="'.htmlentities ($row->C_PROJECT).'">'; |
$text .= $infos; |
$text .= '</OPTION>'; |
} |
$text .= "\n".' </SELECT>'; |
$text .= "\n".'</FORM>'; |
mysql_free_result ($result); |
//---------------------------------------------------------------------------- |
// Build page. |
$title = gs_getLabel ($db, $link, 'gus_title4', $locale, 'gus'); |
return |
buildPage ( |
$button1, |
'', |
$title, |
$text, |
$msg); |
} |
//============================================================================== |
//============================================================================== |
function delCache ($db, $link, $gusprjid) { |
$query = "delete from $db.CACHE where C_PROJECT='$gusprjid'"; |
$result = mysql_query ($query, $link); |
if (! $result) { |
die ("Unable to perform query ($query / " . mysql_error ($link) . ")"); |
} |
} |
//------------------------------------------------------------------------------ |
// $Log: not supported by cvs2svn $ |
// Revision 1.1 2003/10/10 09:58:21 alex |
// installation |
// |
// Revision 1.1.1.1 2002/10/02 07:32:21 root |
// initialisation site de Tela |
// |
// Revision 1.2 2002/06/14 07:22:22 lc |
// Bug LC0021 : use js_register |
// |
// Revision 1.1 2002/02/26 08:22:21 lc |
// Initial revision. |
// |
//-- End of source ------------------------------------------------------------ |
?> |
/trunk/papyrus/applications/admin_site/bibliotheque/adsi_site.fonct.php |
---|
New file |
0,0 → 1,841 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2001 Laurent COUDOUNEAU (lc@gsite.org) | |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This library is free software; you can redistribute it and/or | |
// | modify it under the terms of the GNU Lesser General Public | |
// | License as published by the Free Software Foundation; either | |
// | version 2.1 of the License, or (at your option) any later version. | |
// | | |
// | This library is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
// | Lesser General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU Lesser General Public | |
// | License along with this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: adsi_site.fonct.php,v 1.1 2004-06-16 14:28:46 jpm Exp $ |
/** |
* Bibliothèque de fonctions d'admininistration des projets |
* |
* Contient un ensemble de fonctions permettant à l'application Administrateur de Papyrus, de modifier des informations |
* sur les projets (=sites gérés par Papyrus). |
* |
*@package Administrateur de Sites |
*@subpackage Fonctions |
//Auteur original : |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
//Autres auteurs : |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.1 $ $Date: 2004-06-16 14:28:46 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Inclusion de la classe Formulaire. |
* Elle permet la création rapide de formulaire basé sur les tables Mysql. |
*/ |
require_once ADSI_CHEMIN_BIBLIOTHEQUE_API.'formulaire_1.0/FORM_Form.class.php'; |
/** Inclusion bibliothèque de PEAR gérant le FTP.*/ |
require_once ADSI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php'; |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction ADMIN_afficherListeSites()- Génére le xhtml permettant de choisir un site parmis une liste. |
* |
* Cette fonction fournie une liste des sites principaux gérés par Génésia. |
* |
* @param string l'objet Pear DB. |
* @param string l'url de la page à laquelle renvoyer le formulaire. |
* @param string un message important à destination de l'utilisateur. |
* return string le code XHTML à retourner. |
*/ |
function ADMIN_afficherFormListeSites($db, $url, $message = '') |
{ |
// Liste des sites principaux |
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_valeur = 102 '. |
'AND gsr_id_site_01 = gs_id_site '. |
'ORDER BY gsr_ordre'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
//---------------------------------------------------------------------------- |
// Création du formulaire |
$form =& new HTML_QuickForm('form_sites', 'post', $url); |
$tab_index = 1000; |
$squelette =& $form->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<li>'."\n".'{label}'."\n".'{element}'."\n". |
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n". |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n". |
'</li>'."\n"); |
$squelette->setRequiredNoteTemplate("\n".'<p>'."\n".'<span class="symbole_obligatoire">*</span> {requiredNote}'."\n".'</p>'."\n"); |
$partie_site_debut = '<fieldset>'."\n". |
'<legend>Listes des sites</legend>'."\n". |
'<ul>'."\n"; |
$form->addElement('html', $partie_site_debut); |
$aso_options = array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$aso_options[$ligne->gs_id_site] = htmlentities($ligne->gs_nom.' ('.$ligne->gs_code_alpha.')'); |
} |
$resultat->free(); |
$id = 'form_sites_id_site'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.'Listes des sites : '.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
$partie_site_fin = '</ul>'."\n". |
'</fieldset>'."\n"; |
$form->addElement('html', $partie_site_fin); |
$liste_bouton_debut = '<ul class="liste_bouton">'."\n"; |
$form->addElement('html', $liste_bouton_debut); |
$form->addElement('submit', 'form_sites_ajouter', 'Ajouter'); |
$form->addElement('submit', 'form_sites_modifier', 'Modifier'); |
$form->addElement('submit', 'form_sites_supprimer', 'Supprimer'); |
$liste_bouton_fin = '</ul>'."\n"; |
$form->addElement('html', $liste_bouton_fin); |
$sortie = $form->toHTML()."\n"; |
// Titre de la page: |
$titre = 'Configuration des sites'; |
// Construction de la page. |
return ADMIN_contruirePage($titre, $sortie, $message); |
} |
/** Fonction ADMIN_validerFormListesSites() - Valide les données issues du formulaire de liste de sites. |
* |
* Cette fonction valide les données du formulaire de liste de site. |
* |
* @param string l'objet pear de connexion à la base de données. |
* @param string le tableau contenant les valeurs du formulaire. |
* @return string retourne les messages d'erreurs sinon rien. |
*/ |
function ADMIN_validerFormListesSites($db, $aso_valeurs) |
{ |
$message = ''; |
// Validation des données du formulaire |
if (empty($aso_valeurs['form_sites_id_site'])) { |
$message .= '<p class="genesia_erreur">Vous devez d\'abord sélectionner un site.</p>'; |
} |
return $message; |
} |
/** Fonction ADMIN_afficherFormSite()- Génére un formulaire pour gen_site. |
* |
* Cette fonction retourne un formulaire pour modification ou pour ajout. |
* |
* @param string l'objet pear de connexion à la base de données. |
* @param string l'url à laquelle renvoyer le formulaire. |
* @param string le tableau contenant les valeurs du formulaire. |
* @param string un message à destination de l'utilisateur. |
* return string le code XHTML à retourner. |
*/ |
function ADMIN_afficherFormSite($db, $url, $aso_valeurs = array(), $message = '') |
{ |
// Nous cherchons à savoir si nous somme en modification |
$aso_valeurs['modification'] = false; |
if (isset($aso_valeurs['form_sites_modifier'])) { |
// Requete pour récupérer les informations sur le site à modifier |
$requete = 'SELECT * '. |
'FROM gen_site '. |
'WHERE gs_id_site = '.$aso_valeurs['form_sites_id_site']; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$aso_valeurs = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
$aso_valeurs['modification'] = true; |
} else if (isset($aso_valeurs['gs_id_site'])) { |
$aso_valeurs['modification'] = true; |
} |
//---------------------------------------------------------------------------- |
// Création du formulaire |
$form =& new HTML_QuickForm('site', 'post', $url); |
$tab_index = 1000; |
$squelette =& $form->defaultRenderer(); |
$squelette->setFormTemplate("\n".'<form{attributes}>'."\n".'{content}'."\n".'</form>'."\n"); |
$squelette->setElementTemplate( '<li>'."\n". |
'{label}'."\n". |
'{element}'."\n". |
'<!-- BEGIN required --><span class="symbole_obligatoire">*</span><!-- END required -->'."\n". |
'<!-- BEGIN error --><span class="erreur">{error}</span><!-- END error -->'."\n". |
'</li>'."\n"); |
$squelette->setRequiredNoteTemplate("\n".'<p><span class="symbole_obligatoire">*</span> {requiredNote}</p>'."\n"); |
$partie_site_debut = '<fieldset>'."\n".'<legend>Configuration du site</legend>'."\n".'<ul>'."\n"; |
$form->addElement('html', $partie_site_debut); |
if ($aso_valeurs['modification']) { |
$form->addElement('hidden', 'gs_id_site'); |
} |
$id = 'gs_nom'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 100, 'value' => 'nom du site'); |
$label = '<label for="'.$id.'">'.'Nom du site : '.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addRule($id, 'Un nom est requis pour le site !', 'required', '', 'client'); |
$id = 'gs_code_alpha'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 'site_01'); |
$label = '<label for="'.$id.'">'.'Code alphanumérique : '.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addRule('gs_code_alpha', 'Un code alphanumérique est requis pour le site !', 'required', '', 'client'); |
$id = 'gs_code_num'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 20, 'maxlength' => 20, 'value' => 1); |
$label = '<label for="'.$id.'">'.'Code numérique : '.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addRule('gs_code_num', 'Un code numérique est requis pour le site !', 'required', '', 'client'); |
$id = 'gs_raccourci_clavier'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'size' => 1, 'maxlength' => 1, 'value' => 'Z'); |
$label = '<label for="'.$id.'">'.'Raccourci clavier : '.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$id = 'defaut'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>'; |
$form->addElement('checkbox', $id, $label, '', $aso_attributs); |
// Requete pour connaitre les identifications dispo |
$requete = 'SELECT * '. |
'FROM gen_site_auth '. |
'WHERE gsa_id_auth != 0'; |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$aso_options = array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) { |
// Test pour connaître le type d'authentification. |
$type = ''; |
if ($ligne->gsa_ce_type_auth == '1' ) { |
$type = 'Base de données'; |
} else if ($ligne->gsa_ce_type_auth == '2' ) { |
$type = 'LDAP'; |
} |
$aso_options[$ligne->gsa_id_auth] = $ligne->gsa_nom.' ('.$type.')'; |
} |
$resultat->free(); |
$id = 'gs_ce_auth'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.'Identification : '.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
// En modification nous affichons la liste des squelettes disponiblent dans |
// le dossier du site. |
if ($aso_valeurs['modification']) { |
// ouverture des squelettes présent dans le dossier du site |
// création de l'objet pear ftp |
$objet_pear_ftp = new Net_FTP(GEN_FTP_SERVEUR, GEN_FTP_PORT); |
// création de la connexion |
$ftp_conn = $objet_pear_ftp->connect(GEN_FTP_SERVEUR, GEN_FTP_PORT); |
// identification |
$ftp_login_result = $objet_pear_ftp->login(GEN_FTP_UTILISATEUR, GEN_FTP_MOT_DE_PASSE);; |
// Gestion des erreurs ftp |
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) { |
die('ERREUR Génésia admin : impossible de se connecter par ftp.<br />'. |
'Serveur : '. GEN_FTP_SERVEUR .'<br />'. |
'Utilisateur : '. GEN_FTP_UTILISATEUR .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
$chemin_squelettes = GEN_FTP_CHEMIN.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].'/'.$aso_valeurs['gs_ce_i18n'].'/'.GEN_DOSSIER_SQUELETTE.'/'; |
$tab_squelettes = $objet_pear_ftp->ls($chemin_squelettes); |
$aso_options = array(); |
for ($i = 0; $i < count($tab_squelettes) ; $i++) { |
if ($tab_squelettes[$i]['is_dir'] == false) { |
$aso_options[$tab_squelettes[$i]['name']] = $tab_squelettes[$i]['name']; |
} |
} |
$objet_pear_ftp->disconnect(); |
$id = 'gs_fichier_squelette'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.'Squelette : '.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
} |
// Requete pour connaitre les internationalisation dispo |
$requete = 'SELECT * '. |
'FROM gen_i18n '; |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$aso_options = array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) { |
$aso_options[$ligne->gi_id_i18n] = $ligne->gi_id_i18n; |
} |
$resultat->free(); |
$id = 'gs_ce_i18n'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++); |
$label = '<label for="'.$id.'">'.'Langue : '.'</label>'; |
$form->addElement('select', $id, $label, $aso_options, $aso_attributs); |
$partie_site_fin = '</ul>'."\n".'</fieldset>'."\n"; |
$form->addElement('html', $partie_site_fin); |
$partie_entete_debut = '<fieldset>'."\n".'<legend>Entête par défaut des pages du site</legend>'."\n".'<ul>'."\n"; |
$form->addElement('html', $partie_entete_debut); |
$id = 'gs_titre'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'titre du site'); |
$label = '<label for="'.$id.'">'.'Titre du site : '.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addRule('gs_titre', 'Un titre est requis pour le site !', 'required', '', 'client'); |
$id = 'gs_mots_cles'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45); |
$label = '<label for="'.$id.'">'.'Mots-clés : '.'</label>'; |
$zone_mots_cles = $form->createElement('textarea', $id, $label, $aso_attributs); |
$zone_mots_cles->setValue('mots-clés du site'); |
$form->addElement($zone_mots_cles); |
$form->addRule($id, 'Des mots clés sont requis pour le site !', 'required', '', 'client'); |
$id = 'gs_description'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45); |
$label = '<label for="'.$id.'">'.'Description du contenu : '.'</label>'; |
$zone = $form->createElement('textarea', $id, $label, $aso_attributs); |
$zone->setValue('description du site'); |
$form->addElement($zone); |
$form->addRule($id, 'Une description est requise pour le site !', 'required', '', 'client'); |
$id = 'gs_auteur'; |
$aso_attributs = array('id'=>$id, 'tabindex' => $tab_index++, 'size' => 45, 'maxlength' => 255, 'value' => 'auteur du site'); |
$label = '<label for="'.$id.'">'.'Auteur du site : '.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addRule('gs_auteur', 'Un auteur est requis pour le site !', 'required', '', 'client'); |
$partie_entete_fin = '</ul>'."\n".'</fieldset>'."\n"; |
$form->addElement('html', $partie_entete_fin); |
if ($aso_valeurs['modification']) { |
// Requete pour connaitre les informations sur l'administrateur ayant fait la dernière modif |
$requete_admin = 'SELECT * '. |
'FROM gen_annuaire '. |
'WHERE ga_id_administrateur = '.$aso_valeurs['gs_ce_admin']; |
$resultat_admin = $db->query($requete_admin); |
if (DB::isError($resultat_admin)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_admin->getMessage(), $requete_admin)); |
} |
$ligne_admin = $resultat_admin->fetchRow(DB_FETCHMODE_OBJECT); |
$info_admin = '<p class="info">Dernière modification par'.$ligne_admin->ga_prenom.' '.$ligne_admin->ga_nom. |
' le '.$aso_valeurs['gs_date_creation'].'</p>'; |
$form->addElement('html', $info_admin); |
$form->addElement('hidden', 'gs_ce_admin'); |
$form->addElement('hidden', 'gs_date_creation'); |
// Titre de la page: |
$titre = 'Modifier un site'; |
// Bouton validant le formulaire |
$bouton_validation = '<input type="submit" id="site_modifier" name="site_modifier" value="Enregistrer" />'; |
} else { |
// Titre de la page: |
$titre = 'Ajouter un site'; |
// Bouton validant le formulaire |
$bouton_validation = '<input type="submit" id="site_enregistrer" name="site_enregistrer" value="Enregistrer" />'; |
} |
$bouton_annuler = '<input type="submit" id="form_annuler" name="form_annuler" value="Annuler" />'; |
$bouton_effacer = '<input type="reset" id="effacer" name="effacer" value="Effacer" />'; |
$boutons = '<p>'."\n". |
$bouton_validation."\n". |
$bouton_annuler."\n". |
$bouton_effacer."\n". |
'</p>'."\n"; |
$form->addElement('html', $boutons); |
// Instanciation des valeurs par défaut du formulaire |
$form->setDefaults($aso_valeurs); |
// Javascript pour la validation côté client |
$regles_javascript = $form->getValidationScript(); |
// Suppression des balises déjà créées par GEN_stockerCodeScript() |
$regles_javascript = ereg_replace ( '<script type="text\/javascript">', '', $regles_javascript); |
$regles_javascript = ereg_replace ( '<!--', '', $regles_javascript); |
$regles_javascript = ereg_replace ( '\/\/-->', '', $regles_javascript); |
$regles_javascript = ereg_replace ( '<\/script>', '', $regles_javascript); |
GEN_stockerCodeScript($regles_javascript); |
// Note de fin de formulaire |
$form->setRequiredNote('Indique les champs obligatoires'); |
$sortie = $form->toHTML()."\n"; |
// Construction de la page. |
return ADMIN_contruirePage($titre, $sortie, $message); |
} |
/** Fonction ADMIN_validerFormAjouterSite() - Valide les données issues du formulaire pour gen_site. |
* |
* Cette fonction valide les données à ajouter dans la table gen_site. |
* |
* @param string l'objet pear de connexion à la base de données. |
* @param string le tableau contenant les valeurs du formulaire. |
* @return string retourne les messages d'erreurs sinon rien. |
*/ |
function ADMIN_validerFormSite($db, $aso_valeurs) |
{ |
$message = ''; |
// Validation des données du formulaire |
if (empty($aso_valeurs['gs_nom'])) { |
$message .= '<p class="genesia_erreur">Le champ "Nom" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_code_alpha'])) { |
$message .= '<p class="genesia_erreur">Le champ "Code alphanumérique" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_code_num'])) { |
$message .= '<p class="genesia_erreur">Le champ "Code numérique" ne doit pas être vide.</p>'; |
} |
if (preg_match('/^[0-9]+$/',$aso_valeurs['gs_code_num']) == 0) { |
$message .= '<p class="genesia_erreur">Le champ "Code numérique" doit contenir un nombre.</p>'; |
} |
// Requete pour vérifier l'abscence du code numérique et alphanumérique de la table gen_site |
$requete = 'SELECT gs_code_alpha, gs_code_num '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_valeur = 102 '.// 102 = site "principal" |
'AND gsr_id_site_01 = gs_id_site '; |
$requete .= (isset($aso_valeurs['gs_id_site'])) ? 'AND gs_id_site != '.$aso_valeurs['gs_id_site'] : ''; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) { |
if ($ligne->gs_code_num == $aso_valeurs['gs_code_num']) { |
$message .= '<p class="genesia_erreur">La valeur "'.$aso_valeurs['gs_code_num'].'" pour le champ "Code numérique" existe déjà.</p>'; |
} |
if ($ligne->gs_code_alpha == $aso_valeurs['gs_code_alpha']) { |
$message .= '<p class="genesia_erreur">La valeur "'.$aso_valeurs['gs_code_alpha'].'" pour le champ "Code alphanumérique" existe déjà.</p>'; |
} |
} |
$resultat->free(); |
if (empty($aso_valeurs['gs_titre'])) { |
$message .= '<p class="genesia_erreur">Le champ "Titre" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_mots_cles'])) { |
$message .= '<p class="genesia_erreur">Le champ "Mots clés" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_description'])) { |
$message .= '<p class="genesia_erreur">Le champ "Description" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_auteur'])) { |
$message .= '<p class="genesia_erreur">Le champ "Auteur" ne doit pas être vide.</p>'; |
} |
return $message; |
} |
/** Fonction ADMIN_enregistrerSite() - Ajoute un site à Papyrus. |
* |
* Cette fonction ajoute le site à Papyrus, c'est à dire : |
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires. |
* - 2. Insertion d'une ligne dans la table "gen_site". |
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire. |
* |
* @param string l'objet pear de connexion à la base de données. |
* @param string le tableau contenant les valeurs du formulaire. |
* @param int identifiant de l'administrateur réalisant cette création. |
* @return string retourne un message en cas de succès ou d'échec. |
*/ |
function ADMIN_enregistrerSite($db, $aso_valeurs, $id_admin) |
{ |
$id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site'); |
if ($id_site == false) { |
$message = '<p class="erreur"> ERREUR Génésia admin : impossible de récupérer un identifiant pour la table gen_site.<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
// Requete d'insertion des infos d'un site dans gen_site |
$requete = 'INSERT INTO gen_site '. |
'SET gs_id_site = '.$id_site.', '. |
'gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '. |
'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '. |
'gs_fichier_squelette = "defaut.html", '. |
'gs_code_num = '.$aso_valeurs['gs_code_num'].', '. |
'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '. |
'gs_nom = "'.$aso_valeurs['gs_nom'].'", '. |
'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '. |
'gs_titre = "'.$aso_valeurs['gs_titre'].'", '. |
'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '. |
'gs_description = "'.$aso_valeurs['gs_description'].'", '. |
'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '. |
'gs_date_creation = "'.date('Y-m-d H:i:s').'", '. |
'gs_ce_admin = '.$id_admin; |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
// Recherche du nouveau numéro d'ordre de ce site principal |
$requete = 'SELECT MAX(gsr_ordre) AS max_ordre '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_valeur = 102 ';// 102 = site "principal" |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$nouvel_ordre = $ligne->max_ordre + 1; |
// Requete d'insertion des relations dans gen_site_relation |
$requete = 'INSERT INTO gen_site_relation '. |
'SET gsr_id_site_01 = '.$id_site.', '. |
'gsr_id_site_02 = '.$id_site.', '. |
'gsr_id_valeur = 102, '. |
'gsr_ordre = '.$nouvel_ordre; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$requete_supr_defaut = 'DELETE FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_valeur = 101 ';// 101 = site par "defaut" |
$resultat_supr_defaut = $db->query($requete_supr_defaut); |
if (DB::isError($resultat_supr_defaut)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut)); |
} |
// Requete d'insertion de la relations site par défaut |
$requete = 'INSERT INTO gen_site_relation '. |
'SET gsr_id_site_01 = '.$id_site.', '. |
'gsr_id_site_02 = '.$id_site.', '. |
'gsr_id_valeur = 101, '. |
'gsr_ordre = NULL '; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
} |
// Ajout des répertoires du site |
// Création d'une connection ftp avec Net_FTP de PEAR |
// voir http://pear.php.net/manual/fr/package.networking.net-ftp.php |
// création de l'objet pear ftp |
$objet_pear_ftp = new Net_FTP(GEN_FTP_SERVEUR, GEN_FTP_PORT); |
// création de la connexion |
$ftp_conn = $objet_pear_ftp->connect(GEN_FTP_SERVEUR, GEN_FTP_PORT); |
// identification |
$ftp_login_result = $objet_pear_ftp->login(GEN_FTP_UTILISATEUR, GEN_FTP_MOT_DE_PASSE);; |
// Gestion des erreurs ftp |
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) { |
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de se connecter par ftp.<br />'. |
'Serveur : '. GEN_FTP_SERVEUR .'<br />'. |
'Utilisateur : '. GEN_FTP_UTILISATEUR .'<br />'. |
'Erreur connexion : '.$ftp_conn->getMessage().'<br />'. |
'Erreur login : '.$ftp_login_result->getMessage().'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /><p>'; |
return $message; |
} |
$tableau_repertoires = array( GEN_DOSSIER_IMAGE, |
GEN_DOSSIER_STYLE, |
GEN_DOSSIER_SCRIPT, |
GEN_DOSSIER_SQUELETTE, |
GEN_DOSSIER_DOC); |
foreach ($tableau_repertoires as $nom_repertoire) { |
$chemin_repertoire = GEN_FTP_CHEMIN.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].'/'.$aso_valeurs['gs_ce_i18n'].'/'.$nom_repertoire.'/'; |
$resultat = $objet_pear_ftp->mkdir($chemin_repertoire, true) ; |
if (PEAR::isError($resultat)) { |
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de créer le répertoire par ftp.<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} |
$chemin_squelette_defaut = GEN_FTP_CHEMIN.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.'/'.GEN_DOSSIER_SQUELETTE.'/defaut.html'; |
$chemin_squelette_site = GEN_FTP_CHEMIN.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].'/'.$aso_valeurs['gs_ce_i18n'].'/'.GEN_DOSSIER_SQUELETTE.'/defaut.html'; |
$resultat = $objet_pear_ftp->put($chemin_squelette_defaut, $chemin_squelette_site, true, FTP_BINARY); |
if (PEAR::isError($resultat)) { |
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de copier le squelette defaut par ftp.<br />'. |
'Fichier origine : '. $chemin_squelette_defaut .'<br />'. |
'Fichier copié : '. $chemin_squelette_site .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
$chemin_style_defaut = GEN_FTP_CHEMIN.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.'/'.GEN_DOSSIER_STYLE.'/defaut.css'; |
$chemin_style_site = GEN_FTP_CHEMIN.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].'/'.$aso_valeurs['gs_ce_i18n'].'/'.GEN_DOSSIER_STYLE.'/defaut.css'; |
$resultat = $objet_pear_ftp->put($chemin_style_defaut, $chemin_style_site, true, FTP_BINARY); |
if (PEAR::isError($resultat)) { |
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de copier le squelette defaut par ftp.<br />'. |
'Fichier origine : '. $chemin_style_defaut .'<br />'. |
'Fichier copié : '. $chemin_style_site .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
$objet_pear_ftp->disconnect(); |
$message = '<p class="genesia_info">'.'Succés de l\'ajout du site.'.'</p>'; |
return $message; |
} |
/** Fonction ADMIN_modifierSite() - Modifie un site de Papyrus. |
* |
* Cette fonction modifie un site géré par Papyrus. |
* Il faudrait aussi pouvoir renomer le dossier du site si le code alpha change. |
* |
* @param string l'objet pear de connexion à la base de données. |
* @param string le tableau contenant les valeurs du formulaire. |
* @param int identifiant de l'administrateur réalisant cette modification. |
* @return string retourne un message en cas de succès ou d'échec. |
*/ |
function ADMIN_modifierSite($db, $aso_valeurs, $id_admin) |
{ |
// Requete de mise à jour des infos d'un site dans gen_site |
$requete = 'UPDATE gen_site '. |
'SET gs_ce_i18n = "'.$aso_valeurs['gs_ce_i18n'].'", '. |
'gs_ce_auth = '.$aso_valeurs['gs_ce_auth'].', '. |
'gs_fichier_squelette = "'.$aso_valeurs['gs_fichier_squelette'].'", '. |
'gs_code_num = '.$aso_valeurs['gs_code_num'].', '. |
'gs_code_alpha = "'.$aso_valeurs['gs_code_alpha'].'", '. |
'gs_nom = "'.$aso_valeurs['gs_nom'].'", '. |
'gs_raccourci_clavier = "'.$aso_valeurs['gs_raccourci_clavier'].'", '. |
'gs_titre = "'.$aso_valeurs['gs_titre'].'", '. |
'gs_mots_cles = "'.$aso_valeurs['gs_mots_cles'].'", '. |
'gs_description = "'.$aso_valeurs['gs_description'].'", '. |
'gs_auteur = "'.$aso_valeurs['gs_auteur'].'", '. |
'gs_date_creation = "'.date('Y-m-d H:i:s').'", '. |
'gs_ce_admin = '.$id_admin.' '. |
'WHERE gs_id_site = '.$aso_valeurs['gs_id_site']; |
$resultat = $db->query($requete) ; |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
if (isset($aso_valeurs['defaut']) && $aso_valeurs['defaut'] == 1) { |
$requete_supr_defaut = 'DELETE FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_valeur = 101 ';// 101 = site par "defaut" |
$resultat_supr_defaut = $db->query($requete_supr_defaut); |
if (DB::isError($resultat_supr_defaut)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut)); |
} |
// Requete d'insertion de la relations site par défaut |
$requete = 'INSERT INTO gen_site_relation '. |
'SET gsr_id_site_01 = '.$aso_valeurs['gs_id_site'].', '. |
'gsr_id_site_02 = '.$aso_valeurs['gs_id_site'].', '. |
'gsr_id_valeur = 101, '. |
'gsr_ordre = NULL '; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
} |
$message = '<p class="genesia_info">'.'Succés de la modification du site.'.'</p>'; |
return $message; |
} |
/** Fonction ADMIN_supprimerSite() - Ajoute un site à Papyrus. |
* |
* Cette fonction ajoute le site à Papyrus, c'est à dire : |
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires. |
* - 2. Insertion d'une ligne dans la table "gen_site". |
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liées si nécessaire. |
* |
* @param string l'objet pear de connexion à la base de données. |
* @param string le tableau contenant les valeurs du formulaire. |
* @param int identifiant de l'administrateur réalisant cette création. |
* @return string retourne un message en cas de succès ou d'échec. |
*/ |
function ADMIN_supprimerSite($db, $aso_valeurs) |
{ |
// Recherche du coda alpha du site principal afin de pouvoir détruire ses répertoires |
$requete = 'SELECT gs_code_alpha '. |
'FROM gen_site '. |
'WHERE gs_id_site = '.$aso_valeurs['form_sites_id_site']; |
$code_alpha_site_principal = $db->getOne($requete); |
if (DB::isError($code_alpha_site_principal)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $code_alpha_site_principal->getMessage(), $requete)); |
} |
// Recherche des différents sites liés à celui que l'on veut détruire |
// Cela comprend le site à détruire lui méme car il posséde la relations |
// sur lui meme "site principale". |
$requete = 'SELECT gs_id_site '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = '.$aso_valeurs['form_sites_id_site'].' '. |
'AND gsr_id_site_02 = gs_id_site '; |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)); |
} |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
// Requete de suppression des sites liés dans gen_site |
$requete_supr_site = 'DELETE FROM gen_site '. |
'WHERE gs_id_site = '.$ligne->gs_id_site; |
$resultat_supr_site = $db->query($requete_supr_site); |
if (DB::isError($resultat_supr_site)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site->getMessage(), $requete_supr_site)); |
} |
// Requete de suppression des relations des sites à détruire |
$requete_supr_site_relation = 'DELETE FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = '.$ligne->gs_id_site; |
$resultat_supr_site_relation = $db->query($requete_supr_site_relation); |
if (DB::isError($resultat_supr_site_relation)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_site_relation->getMessage(), $requete_supr_site_relation)); |
} |
// Recherche des différents menus liés au site à détruire |
$requete_menu = 'SELECT gm_id_menu '. |
'FROM gen_menu '. |
'WHERE gm_ce_site = '.$ligne->gs_id_site; |
$resultat_menu = $db->query($requete_menu) ; |
if (DB::isError($resultat_menu)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_menu->getMessage(), $requete_menu)); |
} |
while ($ligne_menu = $resultat_menu->fetchRow(DB_FETCHMODE_OBJECT)) { |
// Requete de suppression des des menus |
$requete_supr_menu = 'DELETE FROM gen_menu '. |
'WHERE gm_id_menu = '.$ligne_menu->gm_id_menu; |
$resultat_supr_menu = $db->query($requete_supr_menu); |
if (DB::isError($resultat_supr_menu)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu->getMessage(), $requete_supr_menu)); |
} |
// Requete de suppression des relations des menus |
$requete_supr_menu_relation = 'DELETE FROM gen_menu_relation '. |
'WHERE gmr_id_menu_01 = '.$ligne_menu->gm_id_menu; |
$resultat_supr_menu_relation = $db->query($requete_supr_menu_relation); |
if (DB::isError($resultat_supr_menu_relation)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_relation->getMessage(), $requete_supr_menu_relation)); |
} |
// Requete de suppression des contenus des menus |
$requete_supr_menu_contenu = 'DELETE FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$ligne_menu->gm_id_menu; |
$resultat_supr_menu_contenu = $db->query($requete_supr_menu_contenu); |
if (DB::isError($resultat_supr_menu_contenu)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_contenu->getMessage(), $requete_supr_menu_contenu)); |
} |
// Requete de suppression des ulr alternatives des menus |
$requete_supr_menu_url_alt = 'DELETE FROM gen_menu_url_alternative '. |
'WHERE gmua_ce_menu = '.$ligne_menu->gm_id_menu; |
$resultat_supr_menu_url_alt = $db->query($requete_supr_menu_url_alt); |
if (DB::isError($resultat_supr_menu_url_alt)) { |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_menu_url_alt->getMessage(), $requete_supr_menu_url_alt)); |
} |
} |
$resultat_menu->free(); |
} |
$resultat->free(); |
// Suppression des répertoires du site |
// Création d'une connection ftp avec Net_FTP de PEAR |
// voir http://pear.php.net/manual/fr/package.networking.net-ftp.php |
// création de l'objet pear ftp |
$objet_pear_ftp = new Net_FTP(GEN_FTP_SERVEUR, GEN_FTP_PORT); |
// création de la connexion |
$ftp_conn = $objet_pear_ftp->connect(GEN_FTP_SERVEUR, GEN_FTP_PORT); |
// identification |
$ftp_login_result = $objet_pear_ftp->login(GEN_FTP_UTILISATEUR, GEN_FTP_MOT_DE_PASSE);; |
// Gestion des erreurs ftp |
if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) { |
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de se connecter par ftp.<br />'. |
'Erreur connexion : '.$ftp_conn->getMessage().'<br />'. |
'Erreur login : '.$ftp_login_result->getMessage().'<br />'. |
'Serveur : '. GEN_FTP_SERVEUR .'<br />'. |
'Utilisateur : '. GEN_FTP_UTILISATEUR .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /><p>'; |
return $message; |
} |
// Changement du niveau d'erreur pour éviter les Notices PHP dues à Net_FTP |
error_reporting(E_PARSE); |
$chemin_repertoire = GEN_FTP_CHEMIN.GEN_CHEMIN_SITES.$code_alpha_site_principal.'/'; |
$resultat = $objet_pear_ftp->rm($chemin_repertoire, true); |
if (PEAR::isError($resultat)) { |
$message = '<p class="genesia_erreur"> ERREUR Génésia admin : impossible de supprimer le répertoire par ftp.<br />'. |
'Erreur ftp : '.$resultat->getMessage().'<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
$objet_pear_ftp->disconnect(); |
// Retour au niveau d'erreur définit dans le fichier de config de Papyrus |
error_reporting(GEN_DEBOGAGE_NIVEAU); |
$message = '<p class="genesia_info">Succés de la suppression du site.</p>'; |
return $message; |
} |
// +- Fin du code source --------------------------------------------------------------------------------+ |
/* |
* $Log: not supported by cvs2svn $ |
* Revision 1.20 2004/05/10 14:32:14 jpm |
* Changement du titre. |
* |
* Revision 1.19 2004/05/10 12:23:39 jpm |
* Modification formulaire. |
* |
* Revision 1.18 2004/05/07 16:33:53 jpm |
* Amélioration des formulaires. |
* |
* Revision 1.17 2004/05/07 07:22:51 jpm |
* Ajout de la gestion des modification et suppression de site. |
* Amélioration de la création des sites. |
* |
* Revision 1.16 2004/04/30 16:22:53 jpm |
* Poursuite de l'administration des sites. |
* |
* Revision 1.14 2004/04/02 15:58:39 jpm |
* Modification fonction liste des projets. |
* |
* Revision 1.13 2004/04/01 11:21:41 jpm |
* Ajout et modification de commentaires pour PhpDocumentor. |
* |
* Revision 1.12 2004/03/24 20:01:02 jpm |
* Traduction, mise en forme, ajout de commentaire pour les fonctions listProjects() et updateProject(). |
* |
* Revision 1.11 2004/03/24 10:06:01 jpm |
* Ajout des commentaires d'entête. |
* Début mise en conformité avec la convention de codage. |
* Début traitement de la fonction listant les projets. |
* |
* |
*/ |
?> |