/trunk/papyrus/applications/admin_menu/configuration/adme_configuration.inc.php |
---|
121,7 → 121,10 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* $Log: adme_configuration.inc.php,v $ |
* Revision 1.6 2006-06-28 12:53:34 ddelon |
* Multilinguisme : menu par defaut |
* |
* Revision 1.5 2005/07/08 21:13:15 ddelon |
* Gestion indentation menu |
* |
/trunk/papyrus/applications/admin_menu/bibliotheque/adme_general.fonct.php |
---|
291,8 → 291,9 |
//--------------------------------------------------------------------------------------------------------------- |
// Gestion des menus classiques |
$objet_pear_url_copie = $objet_pear_url; |
$retour .= '<p>'."\n"; |
$objet_pear_url_copie = $objet_pear_url; |
$objet_pear_url_copie->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_AJOUTER); |
$objet_pear_url_copie->addQueryString('adme_site_id', $adme_site_id); |
$objet_pear_url_copie->addQueryString('adme_menu_id', 0); |
304,9 → 305,29 |
'</a>'."\n"; |
$retour .= '</p>'."\n"; |
$objet_pear_url_copie_depl = $objet_pear_url; |
$objet_pear_url_copie_depl->removeQueryString('adme_action'); |
$objet_pear_url_copie_depl->removeQueryString('adme_site_id'); |
$objet_pear_url_copie_depl->removeQueryString('adme_menu_id'); |
$objet_pear_url_copie_depl->addQueryString('adme_action', ADME_LG_ACTION_CLASSIQUE_DEPLACER_MENUS); |
$url_deplacement_menu_commun = $objet_pear_url_copie_depl->getURL() ; |
$retour .= '<form id="adme_form_menu_deplacement" name="adme_form_menu_deplacement" method="post" action="'.$url_deplacement_menu_commun.'" class="form_inv">' ; |
$retour .= ADME_afficherListeMenuClassique($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action, 0); |
$retour .= '<fieldset class="fields_deplacer_menu">' ; |
$retour .= '<legend> '.ADME_LG_MENU_DEPLACER.' </legend>' ; |
$objet_select->setAttributes(array('name'=>'adme_id_site_arrivee', 'id'=> 'adme_id_site_arrivee', 'tabindex' => $tab_index++)); |
$retour .= $objet_select->toHtml() ; |
$retour .= '<input type="hidden" name="adme_id_site_depart" id="adme_id_site_depart" value="'.$adme_site_id.'" />' ; |
$retour .= '<input type="submit" value="deplacer" title="deplacer" />' ; |
$retour .= '</fieldset>'; |
$retour .= '</form>' ; |
//$objet_pear_url_copie_depl->removeQueryString('adme_action'); |
//--------------------------------------------------------------------------------------------------------------- |
// Gestion des menus communs |
$retour .= '<p>'."\n"; |
/trunk/papyrus/applications/admin_menu/bibliotheque/adme_menu_classique.fonct.php |
---|
193,6 → 193,11 |
$url->addQueryString('adme_site_id', $adme_site_id); |
$url->addQueryString('adme_menu_id', $adme_menu_id); |
$xhtml_pd = ''; |
if(!$est_traduction) { |
$xhtml_pd .= '<input type="checkbox" name="adme_id_menu_deplacement['.$adme_menu_id.']" id="adme_id_menu_deplacement" value="'.$adme_menu_id.'" /> ' ; |
} |
if ($int_deplier != 0) { |
if ($int_deplier == 1) { |
// Afficher un - |
207,7 → 212,7 |
$url->addQueryString('adme_action', ADME_LG_ACTION_DEPLIER); |
$url_plier_deplier = $url->getURL(); |
} |
$xhtml_pd = '<a href="'.$url_plier_deplier.'" title="'.$alt.'">'. |
$xhtml_pd .= '<a href="'.$url_plier_deplier.'" title="'.$alt.'">'. |
'<img class="'.ADME_CLASS_IMG_PD.'" src="'.$image_plier_deplier.'" alt="'.$alt.'" />'. |
'</a>'.' '."\n"; |
} |
443,8 → 448,6 |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Envoi du menu. |
//------------------------------------------------------------------------------------------------------------------- |
1193,6 → 1196,175 |
} |
/** Fonction ADME_deplacerMenuClassiqueVersSite() - Permet de deplacer des menus classique vers un autre site principal |
* |
* Permet de traduire un menu classique |
* |
* @param mixed objet Pear DB de connexion à la base de données. |
* @param integer identifiant du site de départ. |
* @param integer identifiant du site d'arrivée. |
* @param mixed identifiant des menus à déplacer. |
* @return |
*/ |
function ADME_deplacerMenuClassiqueVersSite($db,$id_site_depart,$id_site_arrivee,$id_menu_a_deplacer) { |
// initialisation de l'ordre pour les noeuds à déplacer |
$ordre_max = 0 ; |
$id_menu_pour_ordre = reset($id_menu_a_deplacer) ; |
// on récupère l'ordre maximum des différents sites pour ajouter les menus déplacés à la fin |
// TODO: rajouter un group by par le type de relation |
$requete_ordre_menu = 'SELECT MAX(gmr_ordre) as ordre_max '. |
'FROM gen_menu_relation '. |
'LEFT JOIN gen_menu '. |
'ON (gen_menu_relation.gmr_id_menu_01 = gen_menu.gm_id_menu '. |
'AND gen_menu.gm_ce_site = '.$id_site_arrivee.') '. |
'WHERE gmr_id_valeur = 1 '. |
'AND gmr_id_menu_02 = 0 '; |
$resultat_ordre_menu = $db->query($requete_ordre_menu); |
(DB::isError($resultat_ordre_menu)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete_ordre_menu)) : ''; |
$ligne = $resultat_ordre_menu->fetchRow(DB_FETCHMODE_ORDERED) ; |
$ordre_max = $ligne[0]; |
$fp = fopen('dump.html','a+'); |
fwrite($fp,'<pre>'.(print_r($id_menu_a_deplacer,true)).'</pre>'); |
fclose($fp); |
while(count($id_menu_a_deplacer) != 0) { |
$ordre_max++ ; |
// on extrait et supprime ce premier élément |
$id_menu_en_cours = array_shift($id_menu_a_deplacer) ; |
// on déplace le menu dans le nouveau site |
$requete_deplacement = 'UPDATE gen_menu '. |
'SET gm_ce_site = '.$id_site_arrivee.' '. |
'WHERE gm_id_menu = '.$id_menu_en_cours.' ' ; |
$resultat_deplacement = $db->query($requete_deplacement); |
(DB::isError($resultat_deplacement)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete_deplacement)) : ''; |
// on lui affecte un ordre dans le nouveau site et un père de 0 |
$requete_deplacement = 'UPDATE gen_menu_relation '. |
'SET gmr_ordre = '.$ordre_max.', '. |
'gmr_id_menu_02 = 0 '. |
'WHERE gmr_id_menu_01 = '.$id_menu_en_cours.' '. |
'AND gmr_id_valeur = 1' ; |
$resultat_deplacement = $db->query($requete_deplacement); |
(DB::isError($resultat_deplacement)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_update->getMessage(), $requete_deplacement)) : ''; |
$fp = fopen('dump.html','a+'); |
fwrite($fp,'id_menu_a_deplacer avant : '.(print_r($id_menu_a_deplacer,true))); |
// on fait la différence entre le tableaux des menus à deplacer et le résultat du déplacement des fils pour ne pas déplacer |
// deux fois des mêmes menus |
$id_fils_deplaces = array() ; |
ADME_deplacerFilsEtTraductionsMenuClassique($db,$id_site_arrivee,$id_menu_en_cours,$id_fils_deplaces); |
$id_menu_a_deplacer = array_diff($id_menu_a_deplacer, $id_fils_deplaces) ; |
fwrite($fp,'id_fils_deplaces : '.(print_r($id_fils_deplaces,true))); |
fwrite($fp,'id_menu_a_deplacer après : '.(print_r($id_menu_a_deplacer,true))); |
fclose($fp); |
} |
} |
/** Fonction ADME_deplacerFilsMenuClassique() - Permet de traduire un menu classique |
* |
* Permet de traduire un menu classique |
* |
* @param mixed objet Pear DB de connexion à la base de données. |
* @param integer identifiant du site d'arrivee. |
* @param integer identifiant du menu pere. |
* @param integer identifiant de la relation (père ou traduction). |
* @param mixed le tableau contenant tous les fils déjà déplacés (attention c'est une référence) |
* @return mixed un tableau contenant les id des fils deplaces. |
*/ |
function ADME_deplacerFilsEtTraductionsMenuClassique($db, $id_site_arrivee, $id_menu_pere, &$tableau_fils) { |
// Récupération d'infos sur le site principal d'arrivée. |
$objet_site_arrivee = GEN_lireInfoSitePrincipal($db, $id_site_arrivee); |
if ($objet_site_arrivee == false) { |
return ('ERREUR Papyrus Administrateur de Menus : impossible de lire les infos du site d\'arrivée.<br />'. |
'ID du site : '.$id_site_arrivee.'<br />'. |
'Ligne n° : '. __LINE__ .'<br />'. |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
// on fait la requete qui selectionne tous les enfants du père passé en paramètre |
$requete_fils = 'SELECT gmr_id_menu_01 '. |
'FROM gen_menu_relation '. |
'WHERE gmr_id_menu_02 = '.$id_menu_pere.' '. |
'AND gmr_id_valeur = 1 '. |
'ORDER BY gmr_ordre' ; |
$resultat_fils = $db->query($requete_fils); |
(DB::isError($resultat_fils)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_fils->getMessage(), $requete_fils)) : ''; |
$id_fils_tab = array(); |
$i = 0 ; |
$id_fils_string = '' ; |
// pour chacun des fils |
while($id_fils = $resultat_fils->fetchRow(DB_FETCHMODE_ORDERED)) { |
// on ajoute son id au tableau |
$id_fils_tab[$i] = $id_fils[0] ; |
$i++; |
$tableau_fils[] = $id_fils[0] ; |
// on concatère l'id du fils pour la requete de déplacement des fils |
$id_fils_string .= $id_fils[0].',' ; |
} |
$id_fils_string = rtrim($id_fils_string,','); |
if($id_fils_string != '') { |
// on déplace tous les fils |
$requete_deplacement = 'UPDATE gen_menu SET '. |
'gm_ce_site = '.$id_site_arrivee.' '. |
'WHERE gm_id_menu IN ('.$id_fils_string.') '; |
$resultat_deplacement = $db->query($requete_deplacement); |
(DB::isError($resultat_deplacement)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_deplacement->getMessage(), $requete_deplacement)) : ''; |
} |
// pour chacun des fils |
foreach($id_fils_tab as $id_fils_en_cours) { |
// et on rajoute le tableau de ses fils à la suite en relançant la fonction récursivement |
ADME_deplacerFilsEtTraductionsMenuClassique($db,$id_site_arrivee,$id_fils_en_cours,$tableau_fils) ; |
} |
// on déplace toutes les traductions |
$requete_deplacement_traductions = 'UPDATE gen_menu '. |
'SET gm_ce_site = '.$id_site_arrivee.' '. |
'WHERE gm_id_menu IN ( '. |
'SELECT gmr_id_menu_01 '. |
'FROM gen_menu_relation '. |
'WHERE gmr_id_menu_02 = '.$id_menu_pere.' '. |
'AND gmr_id_valeur = 2) ' ; |
$resultat_deplacement_traductions = $db->query($requete_deplacement_traductions); |
(DB::isError($resultat_deplacement_traductions)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_deplacement_traductions->getMessage(), $requete_deplacement_traductions)) : ''; |
} |
/** Fonction ADME_traduireMenuClassique() - Permet de traduire un menu classique |
* |
* Permet de traduire un menu classique |
/trunk/papyrus/applications/admin_menu/bibliotheque/adme_menu_commun.fonct.php |
---|
1547,12 → 1547,15 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* $Log: adme_menu_commun.fonct.php,v $ |
* Revision 1.28 2007-10-24 14:43:02 ddelon |
* Gestion des menus reservés à une langue |
* |
* Revision 1.27 2006-10-16 15:49:07 ddelon |
* Refactorisation code mulitlinguisme et gestion menu invisibles |
* |
* Revision 1.26 2006/10/06 13:38:45 florian |
* ergonomie amélioree |
* ergonomie amélioree |
* |
* Revision 1.25 2006/09/20 12:09:16 ddelon |
* bug suppression contenu du menu commun |
/trunk/papyrus/applications/admin_menu/langues/adme_langue_en.inc.php |
---|
265,7 → 265,10 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* $Log: adme_langue_en.inc.php,v $ |
* Revision 1.3 2007-10-25 14:26:56 ddelon |
* Multilinguisme : présentation restriction à une langue |
* |
* Revision 1.2 2007-10-23 14:10:00 ddelon |
* Ajout traductions manquantes pour l'anglais |
* |
/trunk/papyrus/applications/admin_menu/langues/adme_langue_es.inc.php |
---|
257,7 → 257,10 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* $Log: adme_langue_es.inc.php,v $ |
* Revision 1.3 2006-09-27 10:02:08 alexandre_tb |
* Ajout de constante de traduction |
* |
* Revision 1.2 2006/09/27 09:20:28 alexandre_tb |
* Ajout de constante de traduction |
* |
/trunk/papyrus/applications/admin_menu/langues/adme_langue_fr.inc.php |
---|
70,6 → 70,9 |
define('ADME_LG_MENU_COMMUN_RACINE', 'Ajouter un menu commun'); |
// Les actions des menus classiques: |
define('ADME_LG_ACTION_CLASSIQUE_DEPLACER_MENUS', 'menu_classique_deplacer'); |
define('ADME_LG_MENU_DEPLACER', 'Deplacer les menus sélectionnés vers :'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER', 'menu_classique_modifier'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER_ACTION', 'menu_classique_modifier_action'); |
define('ADME_LG_ACTION_CLASSIQUE_MODIFIER_ALT', 'Modifier'); |
273,12 → 276,15 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* $Log: adme_langue_fr.inc.php,v $ |
* Revision 1.19 2007-10-25 14:26:56 ddelon |
* Multilinguisme : présentation restriction à une langue |
* |
* Revision 1.18 2007-10-25 10:08:55 alexandre_tb |
* nouvelle constante multilinguisme |
* |
* Revision 1.17 2007-06-26 14:18:53 florian |
* amélioration des formulaires des différentes applis de l'interface d'administration afin de les simplifier |
* amélioration des formulaires des différentes applis de l'interface d'administration afin de les simplifier |
* |
* Revision 1.16 2006/10/06 10:40:51 florian |
* harmonisation des messages d'erreur de l'authentification |
/trunk/papyrus/applications/admin_menu/presentations/styles/adme_standard.css |
---|
56,7 → 56,10 |
/* +--Fin des CSS ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* $Log: adme_standard.css,v $ |
* Revision 1.3 2006-10-06 13:38:45 florian |
* ergonomie amélioree |
* |
* Revision 1.2 2005/02/28 11:05:55 jpm |
* Modification de la licence. |
* |
/trunk/papyrus/applications/admin_menu/admin_menu.php |
---|
133,6 → 133,19 |
//------------------------------------------------------------------------------------------------------------------- |
// Authentification |
if ($objet_pear_auth->getAuth()) { |
// quelques fois ces variables de session sont utilisées sans avoir été initialisées |
// ce qui peut provoquer des warnings et des bugs mineurs |
if(!isset($_SESSION['adme_menus_classiques_ouverts'])) { |
$_SESSION['adme_menus_classiques_ouverts'] = array(); |
} |
if(!isset($_SESSION['adme_menus_communs_ouverts'])) { |
$_SESSION['adme_menus_communs_ouverts'] = array(); |
} |
//--------------------------------------------------------------------------------------------------------------- |
// GESTION DES MENUS CLASSIQUES |
194,6 → 207,13 |
ADME_indenterMenuClassique($objet_pear_db, $_GET['adme_site_id'], $_GET['adme_menu_id'], false); |
} |
// Deplacer le menu vers un autre site |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_DEPLACER_MENUS) { |
if(isset($_POST['adme_id_site_depart']) && isset($_POST['adme_id_site_arrivee']) && isset($_POST['adme_id_menu_deplacement'])) { |
ADME_deplacerMenuClassiqueVersSite($objet_pear_db, $_POST['adme_id_site_depart'], $_POST['adme_id_site_arrivee'],$_POST['adme_id_menu_deplacement']); |
} |
} |
// Traduire le menu |
if (isset($_GET['adme_action']) && $_GET['adme_action'] == ADME_LG_ACTION_CLASSIQUE_TRADUIRE) { |
$message=''; |
481,10 → 501,10 |
<fieldset> |
<legend>Identifiez vous</legend> |
<label for="username">Courriel : </label> |
<input type="text" id="username" name="username" maxlength="80" tabindex="10" value="courriel" /> |
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" /> |
<label for="password">Mot de passe : </label> |
<input type="password" id="password" name="password" maxlength="80" tabindex="20" value="mot de passe" /> |
<input type="submit" id="connexion" name="connexion" tabindex="30" value="ok" /> |
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" /> |
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" /> |
</fieldset> |
</form>'; |
return $res ; |