Line 19... |
Line 19... |
19 |
// | |
|
19 |
// | |
|
20 |
// | You should have received a copy of the GNU General Public License |
|
20 |
// | You should have received a copy of the GNU General Public License |
|
21 |
// | along with Foobar; if not, write to the Free Software |
|
21 |
// | along with Foobar; if not, write to the Free Software |
|
22 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
22 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
23 |
// +------------------------------------------------------------------------------------------------------+
|
23 |
// +------------------------------------------------------------------------------------------------------+
|
24 |
// CVS : $Id: adme_menu_commun.fonct.php,v 1.20 2006-04-12 21:11:54 ddelon Exp $
|
24 |
// CVS : $Id: adme_menu_commun.fonct.php,v 1.21 2006-06-29 18:58:57 ddelon Exp $
|
25 |
/**
|
25 |
/**
|
26 |
* Application de gestion des menus communs
|
26 |
* Application de gestion des menus communs
|
27 |
*
|
27 |
*
|
28 |
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus communs.
|
28 |
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus communs.
|
29 |
* Par menus communs, nous entendons tous les menus devant paraitre sur l'ensemble des pages de plusieurs site,
|
29 |
* Par menus communs, nous entendons tous les menus devant paraitre sur l'ensemble des pages de plusieurs site,
|
Line 36... |
Line 36... |
36 |
//Autres auteurs :
|
36 |
//Autres auteurs :
|
37 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
|
37 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
|
38 |
*@author David Delon <david.delon@clapas.net>
|
38 |
*@author David Delon <david.delon@clapas.net>
|
39 |
*@author Laurent COUDOUNEAU <lc@gsite.org>
|
39 |
*@author Laurent COUDOUNEAU <lc@gsite.org>
|
40 |
*@copyright Tela-Botanica 2000-2004
|
40 |
*@copyright Tela-Botanica 2000-2004
|
41 |
*@version $Revision: 1.20 $ $Date: 2006-04-12 21:11:54 $
|
41 |
*@version $Revision: 1.21 $ $Date: 2006-06-29 18:58:57 $
|
42 |
// +------------------------------------------------------------------------------------------------------+
|
42 |
// +------------------------------------------------------------------------------------------------------+
|
43 |
*/
|
43 |
*/
|
Line 44... |
Line 44... |
44 |
|
44 |
|
45 |
// +------------------------------------------------------------------------------------------------------+
|
45 |
// +------------------------------------------------------------------------------------------------------+
|
Line 156... |
Line 156... |
156 |
* @param integer l'identifiant du site à administrer.
|
156 |
* @param integer l'identifiant du site à administrer.
|
157 |
* @param integer l'identifiant du menu à administrer.
|
157 |
* @param integer l'identifiant du menu à administrer.
|
158 |
* @param integer 0 indique que le menu ne possède pas de fils, 1 qu'il faut afficher un - et 2 un +.
|
158 |
* @param integer 0 indique que le menu ne possède pas de fils, 1 qu'il faut afficher un - et 2 un +.
|
159 |
* @return string une ligne de liste XHTML
|
159 |
* @return string une ligne de liste XHTML
|
160 |
*/
|
160 |
*/
|
161 |
function ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $adme_menu_id, $int_deplier,$est_traduction=false)
|
161 |
function ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $adme_menu_id, $int_deplier,$est_traduction=false,$menu_traduction_defaut=0)
|
162 |
{
|
162 |
{
|
163 |
//-------------------------------------------------------------------------------------------------------------------
|
163 |
//-------------------------------------------------------------------------------------------------------------------
|
164 |
// Récupération des infos concernant l'administrateur d'un menu
|
164 |
// Récupération des infos concernant l'administrateur d'un menu
|
165 |
$requete = 'SELECT gen_menu.*, ga_prenom '.
|
165 |
$requete = 'SELECT gen_menu.*, ga_prenom '.
|
166 |
'FROM gen_menu, gen_annuaire '.
|
166 |
'FROM gen_menu, gen_annuaire '.
|
Line 279... |
Line 279... |
279 |
$url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_TRADUIRE);
|
279 |
$url->addQueryString('adme_action',ADME_LG_ACTION_COMMUN_TRADUIRE);
|
280 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_TRADUIRE_TITLE.'">'.
|
280 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_TRADUIRE_TITLE.'">'.
|
281 |
ADME_LG_ACTION_COMMUN_TRADUIRE_ALT.
|
281 |
ADME_LG_ACTION_COMMUN_TRADUIRE_ALT.
|
282 |
'</a> '."\n";
|
282 |
'</a> '."\n";
|
283 |
}
|
283 |
}
|
- |
|
284 |
else {
|
- |
|
285 |
if ($menu_traduction_defaut==$adme_menu_id) {
|
- |
|
286 |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'.
|
- |
|
287 |
' '."\n";
|
- |
|
288 |
}
|
- |
|
289 |
else {
|
- |
|
290 |
$url->removeQueryString('adme_action');
|
- |
|
291 |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT);
|
- |
|
292 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_TITLE.'">'.
|
- |
|
293 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'.
|
- |
|
294 |
'</a>'.' '."\n";
|
- |
|
295 |
|
- |
|
296 |
}
|
- |
|
297 |
}
|
284 |
|
298 |
|
Line 285... |
Line 299... |
285 |
|
299 |
|
Line 286... |
Line 300... |
286 |
$xhtml_traduction='';
|
300 |
$xhtml_traduction='';
|
Line 296... |
Line 310... |
296 |
|
310 |
|
297 |
$resultat_traduction = $db->query($requete_traduction);
|
311 |
$resultat_traduction = $db->query($requete_traduction);
|
298 |
(DB::isError($resultat_traduction)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
|
312 |
(DB::isError($resultat_traduction)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction))
|
Line -... |
Line 313... |
- |
|
313 |
: '';
|
- |
|
314 |
|
- |
|
315 |
if ($resultat_traduction->numRows() > 0 ) {
|
- |
|
316 |
|
- |
|
317 |
$requete_traduction_defaut = 'SELECT gmr_id_menu_02 '.
|
- |
|
318 |
'FROM gen_menu_relation '.
|
- |
|
319 |
'WHERE '.$adme_menu_id.' = gmr_id_menu_01 ' .
|
- |
|
320 |
'AND gmr_id_valeur = 105 ';// 105 traduction par defaut
|
- |
|
321 |
$resultat_traduction_defaut = $db->query($requete_traduction_defaut);
|
- |
|
322 |
(DB::isError($resultat_traduction_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction_defaut))
|
- |
|
323 |
: '';
|
- |
|
324 |
|
- |
|
325 |
|
- |
|
326 |
if ($resultat_traduction_defaut->numRows() == 0 ) {
|
- |
|
327 |
$menu_traduction_defaut=0;
|
- |
|
328 |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'.
|
- |
|
329 |
' '."\n";
|
- |
|
330 |
}
|
- |
|
331 |
else {
|
299 |
: '';
|
332 |
|
- |
|
333 |
|
- |
|
334 |
$ligne_traduction_defaut = $resultat_traduction_defaut->fetchRow(DB_FETCHMODE_OBJECT);
|
- |
|
335 |
$menu_traduction_defaut=$ligne_traduction_defaut->gmr_id_menu_02;
|
- |
|
336 |
|
- |
|
337 |
if ($menu_traduction_defaut!=$adme_menu_id) {
|
- |
|
338 |
$url->removeQueryString('adme_action');
|
- |
|
339 |
$url->addQueryString('adme_action', ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT);
|
- |
|
340 |
$xhtml_action .= '<a href="'.$url->getURL().'" title="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_TITLE.'">'.
|
- |
|
341 |
'<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'.
|
- |
|
342 |
'</a>'.' '."\n";
|
300 |
|
343 |
}
|
- |
|
344 |
else {
|
- |
|
345 |
$xhtml_action .= '<img class="'.ADME_CLASS_IMG_ICONE.'" src="'.ADME_IMAGE_TRADUCTION_DEFAUT_AFFICHAGE.'" alt="'.ADME_LG_ACTION_COMMUN_TRADUCTION_DEFAUT_ALT.'" />'.
|
- |
|
346 |
' '."\n";
|
- |
|
347 |
|
- |
|
348 |
}
|
Line -... |
Line 349... |
- |
|
349 |
|
- |
|
350 |
}
|
- |
|
351 |
|
301 |
while ($ligne_resultat = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) {
|
352 |
while ($ligne_resultat = $resultat_traduction->fetchRow(DB_FETCHMODE_OBJECT)) {
|
Line 302... |
Line 353... |
302 |
$xhtml_traduction.="<br><em>".$ligne_resultat->gm_ce_i18n.": ".ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $ligne_resultat->gmr_id_menu_02, 0,true)."</em>";
|
353 |
$xhtml_traduction.="<br><em>".$ligne_resultat->gm_ce_i18n.": ".ADME_retournerXhtmlMenuCommun($db, $url, $adme_site_id, $ligne_resultat->gmr_id_menu_02, 0,true,$menu_traduction_defaut)."</em>";
|
Line 303... |
Line 354... |
303 |
|
354 |
|
304 |
}
|
355 |
}
|
Line 305... |
Line 356... |
305 |
|
356 |
|
Line 1429... |
Line 1480... |
1429 |
|
1480 |
|
Line -... |
Line 1481... |
- |
|
1481 |
|
- |
|
1482 |
}
|
- |
|
1483 |
|
- |
|
1484 |
|
- |
|
1485 |
/** Fonction ADME_selectionnerMenuCommunTraduction()() Selection un menu classique comme traduction par defaut
|
- |
|
1486 |
*
|
- |
|
1487 |
*
|
- |
|
1488 |
* @param mixed l'objet Pear DB de connexion à la base de données.
|
- |
|
1489 |
* @param integer l'identifiant du site du menu à supprimer
|
- |
|
1490 |
* @param integer l'identifiant du menu à supprimer
|
- |
|
1491 |
* @return void le menu classique est supprimé de la base de données.
|
- |
|
1492 |
*/
|
- |
|
1493 |
function ADME_selectionnerMenuCommunTraduction($db, $adme_id_site, $id_menu)
|
- |
|
1494 |
{
|
- |
|
1495 |
|
- |
|
1496 |
// 1 : Rechercher traduction parente : si presente on est dans une traduc. si absente on
|
- |
|
1497 |
// est dans un menu traduit.
|
- |
|
1498 |
|
- |
|
1499 |
|
- |
|
1500 |
$requete_origine_traduction = 'SELECT gmr_id_menu_01 '.
|
- |
|
1501 |
'FROM gen_menu_relation, gen_menu '.
|
- |
|
1502 |
'WHERE gmr_id_menu_02 = ' . $id_menu .' '.
|
- |
|
1503 |
'AND gmr_id_valeur = 2 '; // 2 = "avoir traduction"
|
- |
|
1504 |
|
- |
|
1505 |
$resultat_origine_traduction = $db->query($requete_origine_traduction) ;
|
- |
|
1506 |
|
- |
|
1507 |
if (DB::isError($resultat_origine_traduction)) {
|
- |
|
1508 |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete_origine_traduction) );
|
- |
|
1509 |
}
|
- |
|
1510 |
|
- |
|
1511 |
|
- |
|
1512 |
if ($resultat_origine_traduction->numRows() > 0) {
|
- |
|
1513 |
$ligne_origine_traduction = $resultat_origine_traduction->fetchRow(DB_FETCHMODE_OBJECT);
|
- |
|
1514 |
$id_menu_origine=$ligne_origine_traduction->gmr_id_menu_01;
|
- |
|
1515 |
}
|
- |
|
1516 |
else {
|
- |
|
1517 |
$id_menu_origine=$id_menu;
|
- |
|
1518 |
}
|
- |
|
1519 |
|
- |
|
1520 |
$requete_suppression = 'DELETE from gen_menu_relation '.
|
- |
|
1521 |
'WHERE gmr_id_menu_01 = ' . $id_menu_origine . ' ' .
|
- |
|
1522 |
'AND gmr_id_valeur=105 '; // 105 Traduction par defaut
|
- |
|
1523 |
|
- |
|
1524 |
$resultat_suppression = $db->query($requete_suppression);
|
- |
|
1525 |
(DB::isError($resultat_suppression)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_suppression->getMessage(), $requete_suppression)) : '';
|
- |
|
1526 |
|
- |
|
1527 |
|
- |
|
1528 |
$requete_insertion = 'INSERT into gen_menu_relation '.
|
- |
|
1529 |
' SET gmr_id_menu_01 = ' . $id_menu_origine . ', ' .
|
- |
|
1530 |
' gmr_id_menu_02 = ' . $id_menu . ', ' .
|
- |
|
1531 |
' gmr_id_valeur = 105' ;
|
- |
|
1532 |
|
- |
|
1533 |
$resultat_insertion = $db->query($requete_insertion);
|
- |
|
1534 |
(DB::isError($resultat_insertion)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_insertion->getMessage(), $requete_insertion)) : '';
|
Line 1430... |
Line 1535... |
1430 |
|
1535 |
|
1431 |
}
|
1536 |
|
1432 |
|
1537 |
|
Line 1440... |
Line 1545... |
1440 |
|
1545 |
|
1441 |
|
1546 |
|
1442 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
1547 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
- |
|
1548 |
*
|
- |
|
1549 |
* $Log: not supported by cvs2svn $
|
- |
|
1550 |
* Revision 1.20 2006/04/12 21:11:54 ddelon
|
1443 |
*
|
1551 |
* Multilinguisme menus communs
|
1444 |
* $Log: not supported by cvs2svn $
|
1552 |
*
|
1445 |
* Revision 1.19 2005/09/27 08:42:49 ddelon
|
1553 |
* Revision 1.19 2005/09/27 08:42:49 ddelon
|
1446 |
* Menu et Squelette
|
1554 |
* Menu et Squelette
|
1447 |
*
|
1555 |
*
|