19,12 → 19,12 |
// | 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.35 2007-04-20 10:42:42 neiluj Exp $ |
// CVS : $Id: adsi_site.fonct.php,v 1.36 2007-04-20 13:48:31 alexandre_tb Exp $ |
/** |
* Bibliothèque de fonctions d'admininistration des projets |
* Bibliotheque 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). |
* Contient un ensemble de fonctions permettant a l'application Administrateur de Papyrus, de modifier des informations |
* sur les projets (=sites geres par Papyrus). |
* |
*@package Admin_site |
*@subpackage Fonctions |
34,7 → 34,7 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <lc@gsite.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.35 $ $Date: 2007-04-20 10:42:42 $ |
*@version $Revision: 1.36 $ $Date: 2007-04-20 13:48:31 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
42,7 → 42,7 |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
if (GEN_FTP_UTILISE) { |
/** Inclusion bibliothèque de PEAR gérant le FTP.*/ |
/** Inclusion bibliotheque de PEAR gerant le FTP.*/ |
require_once ADSI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php'; |
} |
|
49,14 → 49,14 |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** Fonction ADMIN_afficherListeSites()- Génère le xhtml permettant de choisir un site parmis une liste. |
/** Fonction ADMIN_afficherListeSites()- Genere le xhtml permettant de choisir un site parmis une liste. |
* |
* Cette fonction fournie une liste des sites principaux gérés par Papyrus. |
* Cette fonction fournie une liste des sites principaux geres par papyrus. |
* |
* @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. |
* return string le code XHTML a retourner. |
*/ |
function ADMIN_afficherFormListeSites(&$db, $url, $message = '') |
{ |
113,7 → 113,7 |
} |
$resultat->free(); |
|
// Si la langue en cours n'est pas la langue par défaut, recherche des sites ayant comme langue |
// Si la langue en cours n'est pas la langue par defaut, recherche des sites ayant comme langue |
// la langue par defaut, non traduits dans la langue en cours et n'etant pas des traductions |
|
|
282,7 → 282,7 |
{ |
$message = ''; |
|
// Validation des données du formulaire |
// Validation des donnees du formulaire |
if (empty($aso_valeurs['form_sites_id_site'])) { |
$message .= '<p class="pap_erreur">Vous devez d\'abord sélectionner un site.</p>'; |
} |
294,11 → 294,11 |
* |
* 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 l'objet pear de connexion a la base de donnees. |
* @param string l'url a 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. |
* @param string un message a destination de l'utilisateur. |
* return string le code XHTML a retourner. |
*/ |
function ADMIN_afficherFormSite(&$db, $url, $aso_valeurs = array(), $message = '') |
{ |
308,7 → 308,7 |
$aso_valeurs['traduction'] = false; |
$aso_valeurs['defaut'] = false; |
$aso_valeurs['type_site_externe'] = 0; |
// Nous cherchons à savoir si nous somme en modification |
// Nous cherchons a savoir si nous somme en modification |
if ((isset($aso_valeurs['form_sites_modifier'])) || (isset($aso_valeurs['form_sites_traduire']))) { |
if ((isset($aso_valeurs['form_sites_modifier']))) { |
$as_val['modification'] = true; |
346,7 → 346,7 |
$site_id = $aso_valeurs['form_sites_id_site']; |
} |
|
// Requete pour récupérer les informations sur le site à modifier |
// Requete pour recuperer les informations sur le site a modifier |
$requete = 'SELECT * '. |
'FROM gen_site '. |
'WHERE gs_id_site = '.$site_id; |
358,7 → 358,7 |
$site_ligne = $aso_valeurs; |
$resultat->free(); |
|
// Requete pour récupérer les informations issues des relations du site à modifier |
// Requete pour recuperer les informations issues des relations du site a modifier |
$requete = 'SELECT * '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = '.$site_id.' '. |
370,11 → 370,11 |
|
$tab_type = GEN_retournerTableauTypeSiteExterne($db); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) { |
if ($ligne->gsr_id_valeur == 101) {// 101 = site par défaut |
if ($ligne->gsr_id_valeur == 101) {// 101 = site par defaut |
$aso_valeurs['defaut'] = true; |
} |
foreach ($tab_type as $cle => $val) { |
if ($ligne->gsr_id_valeur == $val['id']) {// 20x = type de site externe à Papyrus |
if ($ligne->gsr_id_valeur == $val['id']) {// 20x = type de site externe a Papyrus |
$aso_valeurs['type_site_externe'] = $val['id']; |
} |
} |
395,10 → 395,10 |
} else if (isset($aso_valeurs['gs_id_site'])) { |
$aso_valeurs['modification'] = true; |
} |
// débogage : |
// Debogage : |
//$GLOBALS['_DEBOGAGE_'] .= '<pre>'.print_r($aso_valeurs, true).'</pre>'; |
//------------------------------------------------------------------------------------------------------------------- |
// Information précédent le formulaire (en modification) |
// Information precedent le formulaire (en modification) |
if ((isset($aso_valeurs['modification'])||isset($aso_valeurs['traduction']))&&isset($aso_valeurs['gs_id_site'])) { |
$sortie .= '<p>'.'Identifiant de ce site : '.'<span id="adsi_site_id">'.$aso_valeurs['gs_id_site'].'</span></p>'."\n"; |
} |
466,7 → 466,7 |
// Test pour connaître le type d'authentification. |
$type = ''; |
if ($ligne->gsa_ce_type_auth == '1' ) { |
$type = 'Base de données'; |
$type = 'Base de données'; |
} else if ($ligne->gsa_ce_type_auth == '2' ) { |
$type = 'LDAP'; |
} |
504,10 → 504,10 |
} |
} |
} else { |
// ouverture des squelettes présent dans le dossier du site |
// création de l'objet pear ftp |
// ouverture des squelettes present dans le dossier du site |
// creation de l'objet pear ftp |
$objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// création de la connexion |
// creation de la connexion |
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// identification |
$ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE); |
516,8 → 516,8 |
die('ERREUR Papyrus 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 />'); |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
//'Message erreur de connection : '.$ftp_conn->getMessage().'<br />'. |
//'Message erreur de login : '.$ftp_login_result->getMessage()); |
} |
616,7 → 616,7 |
if (isset($aso_valeurs[$id]) && $aso_valeurs[$id] === true) { |
$aso_attributs['checked'] = 'checked'; |
} |
$label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>'; |
$label = '<label for="'.$id.'">'.'En faire le site par défaut : '.'</label>'; |
$form->addElement('checkbox', $id, $label, null, $aso_attributs); |
|
// Groupe site externe |
639,7 → 639,7 |
$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"; |
$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'; |
650,11 → 650,11 |
|
$id = 'gs_mots_cles'; |
$aso_attributs = array('id'=> $id, 'tabindex' => $tab_index++, 'rows' => 3, 'cols' => 45); |
$label = '<label for="'.$id.'">'.'Mots-clés : '.'</label>'; |
$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'); |
$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'); |
$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); |
684,7 → 684,7 |
} |
$ligne_admin = $resultat_admin->fetchRow(DB_FETCHMODE_OBJECT); |
if (isset($ligne_admin)) { |
$info_admin = '<p class="info">Site créé le '.$aso_valeurs['gs_date_creation'].'. Dernière modification par '. |
$info_admin = '<p class="info">Site créé le '.$aso_valeurs['gs_date_creation'].'. Dernière modification par '. |
$ligne_admin->ga_prenom.' '.$ligne_admin->ga_nom.'.'.'</p>'; |
$form->addElement('html', $info_admin); |
$form->addElement('hidden', 'gs_ce_admin'); |
716,20 → 716,11 |
'</p>'."\n"; |
$form->addElement('html', $boutons); |
|
// Instanciation des valeurs par défaut du formulaire |
// Instanciation des valeurs par defaut du formulaire |
$form->setDefaults($aso_valeurs); |
|
// Javascript pour la validation côté client |
// Javascript pour la validation cote client |
$regles_javascript = $form->getValidationScript(); |
// Suppression des balises déjà créées par GEN_stockerCodeScript() |
// Le code ci-dessous devrait être utilisé si on arrive à empêcher Quickform de l'ajouter lui-même! |
/* |
$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'); |
739,11 → 730,11 |
return ADMIN_contruirePage($titre, $sortie, $message); |
} |
|
/** Fonction ADMIN_validerFormAjouterSite() - Valide les données issues du formulaire pour gen_site. |
/** Fonction ADMIN_validerFormAjouterSite() - Valide les donnees issues du formulaire pour gen_site. |
* |
* Cette fonction valide les données à ajouter dans la table gen_site. |
* Cette fonction valide les donnees a ajouter dans la table gen_site. |
* |
* @param string l'objet pear de connexion à la base de données. |
* @param string l'objet pear de connexion a la base de données. |
* @param string le tableau contenant les valeurs du formulaire. |
* @return string retourne les messages d'erreurs sinon rien. |
*/ |
751,19 → 742,19 |
{ |
$message = ''; |
|
// Validation des données du formulaire |
// Validation des donnees du formulaire |
if (empty($aso_valeurs['gs_nom'])) { |
$message .= '<p class="pap_erreur">Le champ "Nom" ne doit pas être vide.</p>'; |
$message .= '<p class="pap_erreur">Le champ "Nom" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_code_alpha'])) { |
$message .= '<p class="pap_erreur">Le champ "Code alphanumérique" ne doit pas être vide.</p>'; |
$message .= '<p class="pap_erreur">Le champ "Code alphanumérique" ne doit pas être vide.</p>'; |
} |
if ($aso_valeurs['gs_code_num'] == '') { |
// Note: ne pas utilisez empty() car si on veut saisir 0, cela est considéré comme vide! |
$message .= '<p class="pap_erreur">Le champ "Code numérique" ne doit pas être vide.</p>'; |
$message .= '<p class="pap_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="pap_erreur">Le champ "Code numérique" doit contenir un nombre.</p>'; |
$message .= '<p class="pap_erreur">Le champ "Code numérique" doit contenir un nombre.</p>'; |
} |
|
// Requete pour vérifier l'absence du code numérique et alphanumérique de la table gen_site |
790,10 → 781,10 |
|
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ) { |
if ($ligne->gs_code_num == $aso_valeurs['gs_code_num']) { |
$message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_num'].'" pour le champ "Code numérique" existe déjà.</p>'; |
$message .= '<p class="pap_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="pap_erreur">La valeur "'.$aso_valeurs['gs_code_alpha'].'" pour le champ "Code alphanumérique" existe déjà.</p>'; |
$message .= '<p class="pap_erreur">La valeur "'.$aso_valeurs['gs_code_alpha'].'" pour le champ "Code alphanumérique" existe déjà.</p>'; |
} |
} |
|
806,23 → 797,23 |
} |
|
if (empty($aso_valeurs['gs_titre'])) { |
$message .= '<p class="pap_erreur">Le champ "Titre" ne doit pas être vide.</p>'; |
$message .= '<p class="pap_erreur">Le champ "Titre" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_mots_cles'])) { |
$message .= '<p class="pap_erreur">Le champ "Mots clés" ne doit pas être vide.</p>'; |
$message .= '<p class="pap_erreur">Le champ "Mots clés" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_description'])) { |
$message .= '<p class="pap_erreur">Le champ "Description" ne doit pas être vide.</p>'; |
$message .= '<p class="pap_erreur">Le champ "Description" ne doit pas être vide.</p>'; |
} |
if (empty($aso_valeurs['gs_auteur'])) { |
$message .= '<p class="pap_erreur">Le champ "Auteur" ne doit pas être vide.</p>'; |
$message .= '<p class="pap_erreur">Le champ "Auteur" ne doit pas être vide.</p>'; |
} |
if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 1 && (empty($aso_valeurs['gs_url']) || $aso_valeurs['gs_url'] == 'http://')) { |
$message .= '<p class="pap_erreur">'.'Vous avez désigné ce site comme étant externe. Il est nécessaire de saisir son URL!'.'</p>'; |
$message .= '<p class="pap_erreur">'.'Vous avez désigné ce site comme étant externe. Il est nécessaire de saisir son URL!'.'</p>'; |
} |
if (isset($aso_valeurs['externe']) && $aso_valeurs['externe'] == 0 && (!empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://')) { |
$message .= '<p class="pap_erreur">'.'Vous avez saisie une l\'url : '.$aso_valeurs['gs_url'].'<br />'. |
'Vous considérez donc ce site comme étant externe. Il est nécessaire de cocher la case "oui"!'.'</p>'; |
'Vous conscidérez donc ce site comme étant externe. Il est nécessaire de cocher la case "oui"!'.'</p>'; |
} |
return $message; |
} |
841,14 → 832,14 |
*/ |
function ADMIN_enregistrerSite(&$db, $aso_valeurs, $id_admin) |
{ |
// Nous vérifions si nous avons à faire à un site externe. |
$id_type_site = '102';// par défaut on considère que c'est un site "principal" |
// Nous verifions si nous avons a faire a un site externe. |
$id_type_site = '102';// par defaut on considère que c'est un site "principal" |
if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') { |
$id_type_site = '103';// c'est un site "externe" |
} |
|
// Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie |
// par l'utilisateur dans le fichier de config avancée. |
// Ajout des repertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante definie |
// par l'utilisateur dans le fichier de config avancee. |
$tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']); |
$tab_rep_site = array( GEN_DOSSIER_IMAGE, |
GEN_DOSSIER_STYLE, |
864,10 → 855,10 |
$resultat = creerDossier($chemin_repertoire, 0777, GEN_SEP); |
umask($vieux_umask); |
if ($resultat == false) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} |
877,10 → 868,10 |
$chemin_squelette_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE; |
if (!copy($chemin_squelette_defaut, $chemin_squelette_site)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'. |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'. |
'Fichier : '. $chemin_squelette_site .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
$chemin_style_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
888,19 → 879,19 |
$chemin_style_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE; |
if (!copy($chemin_style_defaut, $chemin_style_site)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'. |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'. |
'Fichier : '. $chemin_style_site .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} else if (GEN_FTP_UTILISE && $id_type_site != '103') { // 103 est le type "site externe" |
// Création d'une connection ftp avec Net_FTP de PEAR |
// Creation 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 |
// creation de l'objet pear ftp |
$objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// création de la connexion |
// creation de la connexion |
$ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT); |
// identification |
$ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE); |
911,8 → 902,8 |
'Utilisateur : '. PAP_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>'; |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /><p>'; |
return $message; |
} |
$resultat = $objet_pear_ftp->mkdir(PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ; |
919,11 → 910,11 |
|
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'. |
'Répertoire : '. PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'] .'<br />'. |
'Répertoire : '. PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'] .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Informations de debogage : '.$resultat->getDebugInfo().'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
//$objet_pear_ftp->cd(PAP_FTP_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha']) ; |
934,12 → 925,12 |
|
$resultat = $objet_pear_ftp->mkdir($chemin_repertoire) ; |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire par ftp.<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Informations de debogage : '.$resultat->getDebugInfo().'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} |
952,10 → 943,10 |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le squelette defaut par ftp.<br />'. |
'Fichier origine : '. $chemin_squelette_defaut .'<br />'. |
'Fichier copié : '. $chemin_squelette_site .'<br />'. |
'Fichier copié : '. $chemin_squelette_site .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
$chemin_style_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
966,10 → 957,10 |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles defaut par ftp.<br />'. |
'Fichier origine : '. $chemin_style_defaut .'<br />'. |
'Fichier copié : '. $chemin_style_site .'<br />'. |
'Fichier copié : '. $chemin_style_site .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
|
981,10 → 972,10 |
if (PEAR::isError($resultat)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier les styles defaut par ftp.<br />'. |
'Fichier origine : '. $chemin_style_defaut .'<br />'. |
'Fichier copié : '. $chemin_style_site .'<br />'. |
'Fichier copié : '. $chemin_style_site .'<br />'. |
'Erreur origine : '. $resultat->getMessage() .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
|
995,13 → 986,13 |
|
$id_site = SQL_obtenirNouveauId($db, 'gen_site','gs_id_site'); |
if ($id_site == false) { |
$message = '<p class="erreur"> ERREUR Papyrus admin : impossible de récupérer un identifiant pour la table gen_site.<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
$message = '<p class="erreur"> ERREUR papyrus 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; |
} |
|
// Modification de la requete si nous avons à faire à un site externe. |
// Modification de la requete si nous avons a faire a un site externe. |
$requete_complement = ', gs_url = NULL'; |
if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') { |
$requete_complement = ', gs_url = "'.$aso_valeurs['gs_url'].'"'; |
1029,7 → 1020,7 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
|
// Recherche du nouveau numéro d'ordre de ce site "principal" ou "externe" |
// Recherche du nouveau numero d'ordre de ce site "principal" ou "externe" |
$requete = 'SELECT MAX(gsr_ordre) AS max_ordre '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
1062,7 → 1053,7 |
die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_supr_defaut->getMessage(), $requete_supr_defaut)); |
} |
|
// Requete d'insertion de la relations site par défaut |
// Requete d'insertion de la relations site par defaut |
$requete = 'INSERT INTO gen_site_relation '. |
'SET gsr_id_site_01 = '.$id_site.', '. |
'gsr_id_site_02 = '.$id_site.', '. |
1094,26 → 1085,26 |
|
/** Fonction ADMIN_traduireSite() - Traduire un site papyrus |
* |
* Cette fonction traduit un site à Papyrus, c'est à dire : |
* - 1. Création des répertoire du projet en fonction du nom et des sous-répertoires. |
* Cette fonction traduit un site a Papyrus, c'est a dire : |
* - 1. Creation des repertoire du projet en fonction du nom et des sous-repertoires. |
* - 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. |
* - 3. Insertion d'une ligne dans la table "gen_site_auth" et ses tables liees si necessaire. |
* |
* @param string l'objet pear de connexion à la base de données. |
* @param string l'objet pear de connexion a 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. |
* @param int identifiant de l'administrateur realisant cette création. |
* @return string retourne un message en cas de succes ou d'echec. |
*/ |
function ADMIN_traduireSite(&$db, $aso_valeurs, $id_admin) |
{ |
// Nous vérifions si nous avons à faire à un site externe. |
$id_type_site = '102';// par défaut on considère que c'est un site "principal" |
// Nous verifions si nous avons a faire a un site externe. |
$id_type_site = '102';// par defaut on considere que c'est un site "principal" |
if (isset($aso_valeurs['type_site_externe']) && $aso_valeurs['type_site_externe'] > 0 && !empty($aso_valeurs['gs_url']) && $aso_valeurs['gs_url'] != 'http://') { |
$id_type_site = '103';// c'est un site "externe" |
} |
|
// Ajout des répertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante définie |
// par l'utilisateur dans le fichier de config avancée. |
// Ajout des repertoires des sites "principaux" soit par manipulation de fichier soit par FTP en fonction de la constante definie |
// par l'utilisateur dans le fichier de config avancee. |
$tab_rep_langue = array(GEN_DOSSIER_GENERIQUE, $aso_valeurs['gs_ce_i18n']); |
$tab_rep_site = array( GEN_DOSSIER_IMAGE, |
GEN_DOSSIER_STYLE, |
1129,10 → 1120,10 |
$resultat = creerDossier($chemin_repertoire, 0777, GEN_SEP); |
umask($vieux_umask); |
if ($resultat == false) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le répertoire.<br />'. |
'Répertoire : '. $chemin_repertoire .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
} |
1142,10 → 1133,10 |
$chemin_squelette_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_SQUELETTE.GEN_SEP.GEN_FICHIER_SQUELETTE; |
if (!copy($chemin_squelette_defaut, $chemin_squelette_site)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'. |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de squellete par défaut.<br />'. |
'Fichier : '. $chemin_squelette_site .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
return $message; |
} |
$chemin_style_defaut = PAP_CHEMIN_RACINE.GEN_CHEMIN_COMMUN.GEN_DOSSIER_GENERIQUE.GEN_SEP. |
1153,7 → 1144,7 |
$chemin_style_site = PAP_CHEMIN_RACINE.GEN_CHEMIN_SITES.$aso_valeurs['gs_code_alpha'].GEN_SEP. |
$aso_valeurs['gs_ce_i18n'].GEN_SEP.GEN_DOSSIER_STYLE.GEN_SEP.GEN_FICHIER_STYLE; |
if (!copy($chemin_style_defaut, $chemin_style_site)) { |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'. |
$message = '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de créer le fichier de style par défaut.<br />'. |
'Fichier : '. $chemin_style_site .'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br /></p>'; |
1828,6 → 1819,9 |
// +- Fin du code source --------------------------------------------------------------------------------+ |
/* |
* $Log: not supported by cvs2svn $ |
* Revision 1.35 2007/04/20 10:42:42 neiluj |
* suite oubli, fix des derniers bugs FTP |
* |
* Revision 1.34 2007/04/20 09:21:41 neiluj |
* correction bug ftp création/suppression/modification de site |
* (changé PAP_FTP_RACINE en PAP_CHEMIN_RACINE) |