Subversion Repositories Applications.papyrus

Rev

Rev 775 | Rev 800 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 775 Rev 790
Line 30... Line 30...
30
 
30
 
31
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
31
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
32
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
32
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
33
// termes.
33
// termes.
34
// ----
34
// ----
35
// CVS : $Id: adme_menu_classique.fonct.php,v 1.28 2006-03-15 09:30:50 florian Exp $
35
// CVS : $Id: adme_menu_classique.fonct.php,v 1.29 2006-03-23 20:24:59 ddelon Exp $
36
/**
36
/**
37
* Fonctions de gestion des menus classiques
37
* Fonctions de gestion des menus classiques
38
*
38
*
39
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus classiques.
39
* Permet de lister, d'ajouter, de modifier, et de déplacer des menus classiques.
Line 46... Line 46...
46
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
46
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
47
//Autres auteurs :
47
//Autres auteurs :
48
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
48
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
49
*@author        Laurent COUDOUNEAU <lc@gsite.org>
49
*@author        Laurent COUDOUNEAU <lc@gsite.org>
50
*@copyright     Tela-Botanica 2000-2004
50
*@copyright     Tela-Botanica 2000-2004
51
*@version       $Revision: 1.28 $ $Date: 2006-03-15 09:30:50 $
51
*@version       $Revision: 1.29 $ $Date: 2006-03-23 20:24:59 $
52
// +------------------------------------------------------------------------------------------------------+
52
// +------------------------------------------------------------------------------------------------------+
53
*/
53
*/
Line 54... Line 54...
54
 
54
 
55
// +------------------------------------------------------------------------------------------------------+
55
// +------------------------------------------------------------------------------------------------------+
Line 75... Line 75...
75
* @param  boolean true indique que l'on a à faire au premier appel de cette fonction récursive.
75
* @param  boolean true indique que l'on a à faire au premier appel de cette fonction récursive.
76
* @return string  le code XHTML constituant l'arbre des menus à administrer.
76
* @return string  le code XHTML constituant l'arbre des menus à administrer.
77
*/
77
*/
78
function ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $id_menu_a_deployer, $bln_premier_appel = true)
78
function ADME_afficherListeMenuClassique($db, $url, $adme_site_id, $adme_menu_id, $adme_action, $id_menu_a_deployer, $bln_premier_appel = true)
79
{
79
{
-
 
80
 
-
 
81
	
80
    // Initialisation des variables :
82
    // Initialisation des variables :
81
    $retour = '';
83
    $retour = '';
Line 82... Line 84...
82
    
84
    
83
    // Est-ce que ces menus comporte des sous-menus ?
85
    // Est-ce que ces menus comporte des sous-menus ?
Line 342... Line 344...
342
* @param  integer l'identifiant du menu à administrer.
344
* @param  integer l'identifiant du menu à administrer.
343
* @return void le menu classique est ajouté à la base de données.
345
* @return void le menu classique est ajouté à la base de données.
344
*/
346
*/
345
function ADME_ajouterMenuClassique($db, $auth, $adme_site_id, $adme_menu_id) 
347
function ADME_ajouterMenuClassique($db, $auth, $adme_site_id, $adme_menu_id) 
346
{
348
{
-
 
349
	
-
 
350
	$url=$GLOBALS['_GEN_commun']['url'];
-
 
351
	$url->removeQueryString('adme_action');
-
 
352
	
347
    //----------------------------------------------------------------------------
353
    //----------------------------------------------------------------------------
348
    // Récupération d'infos sur le site principal.
354
    // Récupération d'infos sur le site principal.
349
    $objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id);
355
    $objet_site = GEN_lireInfoSitePrincipal($db, $adme_site_id);
350
    if ($objet_site == false) {
356
    if ($objet_site == false) {
351
        die('ERREUR Génésia Administrateur de Menus : impossible de lire les infos du site.<br />'.
357
        die('ERREUR Génésia Administrateur de Menus : impossible de lire les infos du site.<br />'.
Line 573... Line 579...
573
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_APPLI.'</label>';
579
    $label = '<label for="'.$id.'">'.ADME_LG_FORM_MENU_APPLI.'</label>';
574
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
580
    $form->addElement('select', $id, $label, $aso_options, $aso_attributs);
Line 575... Line 581...
575
    
581
    
-
 
582
    
-
 
583
    if ($traduction) {
-
 
584
    	
-
 
585
    	// Recherche liste des menu deja traduits 
-
 
586
    		
-
 
587
	   	$requete =  'SELECT distinct gm_ce_i18n  '.
-
 
588
        	        'FROM gen_menu_relation, gen_menu '.
-
 
589
            	    'WHERE gmr_id_menu_01  = ' . $adme_menu_id .' '.
-
 
590
                	'AND gm_id_menu  = gmr_id_menu_02  '.
-
 
591
                	'AND gmr_id_valeur = 2  '; // 2 = "avoir traduction"
-
 
592
	
-
 
593
	  	$resultat = $db->query($requete) ;
-
 
594
	  	
-
 
595
	    if (DB::isError($resultat)) {
-
 
596
	        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
-
 
597
	    }
-
 
598
	    
-
 
599
	    $not_in_langue='';
-
 
600
	    if ( $resultat->numRows() == 0 ) {
-
 
601
			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";    
-
 
602
	    }
-
 
603
	    else {
-
 
604
	    	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
605
 					$not_in_langue="'".$ligne->gm_ce_i18n."'".",".$not_in_langue;
-
 
606
 					$end="'".$ligne->gm_ce_i18n."'";
-
 
607
				}
-
 
608
	    		if ($not_in_langue) {
-
 
609
			    			$not_in_langue="'".$aso_valeurs['gm_ce_i18n']."'".",".$not_in_langue;
-
 
610
			    			$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')';
-
 
611
			    }
-
 
612
	    		else {
-
 
613
	    			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";
-
 
614
	    		}
-
 
615
	    }
-
 
616
	    
-
 
617
	   					
-
 
618
	    
-
 
619
		$resultat->free();		    
-
 
620
    	
576
    
621
    	$requete =  "SELECT * FROM gen_i18n where ".$not_in_langue;
577
    if ($traduction) {
622
    	
-
 
623
    	/*$requete =  'SELECT * '.
578
    	$requete =  'SELECT * '.
624
        	        'FROM gen_i18n ';*/
579
        	        'FROM gen_i18n ';
625
        	        
Line 580... Line 626...
580
        $resultat = $db->query($requete);
626
        $resultat = $db->query($requete);
581
    	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
627
    	(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
Line 1441... Line 1487...
1441
    $resultat = $db->query($requete);
1487
    $resultat = $db->query($requete);
1442
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
1488
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
Line 1443... Line 1489...
1443
    
1489
    
Line -... Line 1490...
-
 
1490
}
-
 
1491
 
-
 
1492
function ADME_verifier_traduction_possible($db, $url, $adme_site_id, $adme_menu_id) {
-
 
1493
	
-
 
1494
	
-
 
1495
		$aso_valeurs = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC);
-
 
1496
        if ($aso_valeurs === false) {
-
 
1497
            die('ERREUR Papyrus Administrateur de Menus : '.ADME_LG_ERREUR_INFO_MENU.'<br />'.
-
 
1498
                'Idenitifiant du menu n° : '. $adme_menu_id .'<br />'.
-
 
1499
                'Ligne n° : '. __LINE__ .'<br />'.
-
 
1500
                'Fichier n° : '. __FILE__ .'<br />');
-
 
1501
        }
-
 
1502
	
-
 
1503
	    	// Recherche liste des menu deja traduits 
-
 
1504
    		
-
 
1505
	   	$requete =  'SELECT distinct gm_ce_i18n  '.
-
 
1506
        	        'FROM gen_menu_relation, gen_menu '.
-
 
1507
            	    'WHERE gmr_id_menu_01  = ' . $adme_menu_id .' '.
-
 
1508
                	'AND gm_id_menu  = gmr_id_menu_02  '.
-
 
1509
                	'AND gmr_id_valeur = 2  '; // 2 = "avoir traduction"
-
 
1510
	
-
 
1511
	  	$resultat = $db->query($requete) ;
-
 
1512
	  	
-
 
1513
	    if (DB::isError($resultat)) {
-
 
1514
	        die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
-
 
1515
	    }
-
 
1516
	    
-
 
1517
	    $not_in_langue='';
-
 
1518
	    if ( $resultat->numRows() == 0 ) {
-
 
1519
			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";    
-
 
1520
	    }
-
 
1521
	    else {
-
 
1522
	    	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
1523
 					$not_in_langue="'".$ligne->gm_ce_i18n."'".",".$not_in_langue;
-
 
1524
 					$end="'".$ligne->gm_ce_i18n."'";
-
 
1525
				}
-
 
1526
	    		if ($not_in_langue) {
-
 
1527
			    			$not_in_langue="'".$aso_valeurs['gm_ce_i18n']."'".",".$not_in_langue;
-
 
1528
			    			$not_in_langue=' gi_id_i18n not in('.$not_in_langue.$end.')';
-
 
1529
			    }
-
 
1530
	    		else {
-
 
1531
	    			$not_in_langue="gi_id_i18n not in('".$aso_valeurs['gm_ce_i18n']."')";
-
 
1532
	    		}
-
 
1533
	    }
-
 
1534
	    
-
 
1535
	   					
-
 
1536
    	$requete =  "SELECT * FROM gen_i18n where ".$not_in_langue;
-
 
1537
 
-
 
1538
		$resultat = $db->query($requete) ;
-
 
1539
	    if (DB::isError($resultat)) {
-
 
1540
    	    die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) );
-
 
1541
    	}
-
 
1542
    	
-
 
1543
    
-
 
1544
    $retour = $resultat->numRows();
-
 
1545
    $resultat->free();
-
 
1546
    
-
 
1547
    $message='';
-
 
1548
    if ($retour == 0) {
-
 
1549
    	  $message = '<p class="pap_erreur">Plus de traduction possible pour ce menu </p>';
-
 
1550
    }
-
 
1551
    return  $message;
-
 
1552
}
Line 1444... Line 1553...
1444
}
1553
    
1445
 
1554
 
1446
 
1555
 
Line 1447... Line 1556...
1447
// +------------------------------------------------------------------------------------------------------+
1556
// +------------------------------------------------------------------------------------------------------+
1448
// |                                            PIED du PROGRAMME                                         |
1557
// |                                            PIED du PROGRAMME                                         |
1449
// +------------------------------------------------------------------------------------------------------+
1558
// +------------------------------------------------------------------------------------------------------+
-
 
1559
 
-
 
1560
 
-
 
1561
/* +--Fin du code ----------------------------------------------------------------------------------------+
1450
 
1562
*
1451
 
1563
* $Log: not supported by cvs2svn $
1452
/* +--Fin du code ----------------------------------------------------------------------------------------+
1564
* Revision 1.28  2006/03/15 09:30:50  florian
1453
*
1565
* suppression des echos, qui entrainaient des problemes d'affichages
1454
* $Log: not supported by cvs2svn $
1566
*