Subversion Repositories Applications.papyrus

Rev

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

Rev 1724 Rev 1847
Line 17... Line 17...
17
// |                                                                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | License along with this library; if not, write to the Free Software                                  |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
22
// CVS : $Id: pap_menu.fonct.php,v 1.31.2.2 2007-11-22 17:22:30 jp_milcent Exp $
22
// CVS : $Id: pap_menu.fonct.php,v 1.31.2.3 2008-08-08 14:45:59 jp_milcent Exp $
23
/**
23
/**
24
* Bibliothèque de fonction sur le rendu.
24
* Bibliothèque de fonction sur le rendu.
25
*
25
*
26
* Cette bibliothèque contient des fonctions utilisé par le rendu des pages de Papyrus.
26
* Cette bibliothèque contient des fonctions utilisé par le rendu des pages de Papyrus.
27
*
27
*
Line 30... Line 30...
30
//Auteur original :
30
//Auteur original :
31
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
31
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
32
//Autres auteurs :
32
//Autres auteurs :
33
*@author        Alexandre GRANIER <alexadandre@tela-botanica.org>
33
*@author        Alexandre GRANIER <alexadandre@tela-botanica.org>
34
*@copyright     Tela-Botanica 2000-2004
34
*@copyright     Tela-Botanica 2000-2004
35
*@version       $Revision: 1.31.2.2 $ $Date: 2007-11-22 17:22:30 $
35
*@version       $Revision: 1.31.2.3 $ $Date: 2008-08-08 14:45:59 $
36
// +------------------------------------------------------------------------------------------------------+
36
// +------------------------------------------------------------------------------------------------------+
37
*/
37
*/
Line 38... Line 38...
38
 
38
 
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
Line 48... Line 48...
48
* en partant du menu racine d'un site gmr_id_menu_02 = 0.
48
* en partant du menu racine d'un site gmr_id_menu_02 = 0.
49
* C'est une fonction récursive.
49
* C'est une fonction récursive.
50
* Noter que la variable $prof est statique.
50
* Noter que la variable $prof est statique.
51
*
51
*
52
* @param integer identifiant du site sur lequel la profondeur est calculé.
52
* @param integer identifiant du site sur lequel la profondeur est calculé.
53
* @param integer identifiant du menu à partir delaquelle on souhaite calculer la profondeur.
53
* @param integer identifiant du menu à partir duquel on souhaite calculer la profondeur.
54
* @return integer le nombre de niveau de menu.
54
* @return integer le nombre de niveau de menu.
55
*/
55
*/
56
function GEN_donnerProfondeurMax($id_site, $id_menu)
56
function GEN_donnerProfondeurMax($id_site, $id_menu)
57
{
57
{
58
    global $db;
58
    global $db;
Line 78... Line 78...
78
        $prof = GEN_donnerProfondeurMax($id_site, $ligne->gmr_id_menu_01);
78
        $prof = GEN_donnerProfondeurMax($id_site, $ligne->gmr_id_menu_01);
79
    }
79
    }
80
    return $prof;
80
    return $prof;
81
}
81
}
Line -... Line 82...
-
 
82
 
-
 
83
/** Fonction GEN_donnerProfondeur() - Renvoie le niveau du menu.
-
 
84
*
-
 
85
* Cette fonction calcule, pour un menu donné, son niveau par rapport à la racine.
-
 
86
* C'est une fonction récursive.
-
 
87
* Noter que la variable $prof est statique.
-
 
88
*
-
 
89
* @param integer identifiant du site sur lequel la profondeur est calculé.
-
 
90
* @param integer identifiant du menu dont on souhaite connaître la profondeur.
-
 
91
* @param integer profondeur de départ (par défaut 0). Ne devrait pas être modifié...
-
 
92
* @return integer le nombre de niveau de menu.
-
 
93
*/
-
 
94
function GEN_donnerProfondeur($id_site, $id_menu, $prof = 0)
-
 
95
{
-
 
96
    global $db;
-
 
97
 
-
 
98
    // Requête sur les relations de type "avoir père" entre menus
-
 
99
    $requete =  'SELECT gmr_id_menu_02 '.
-
 
100
                'FROM gen_menu, gen_menu_relation '.
-
 
101
                'WHERE gmr_id_menu_01 = '.$id_menu.' '.
-
 
102
                'AND gmr_id_menu_01 = gm_id_menu '.
-
 
103
                'AND gm_ce_site = '.$id_site.' '.
-
 
104
                'AND gmr_id_valeur = 1 '.
-
 
105
                'ORDER BY gmr_ordre ASC';
-
 
106
 
-
 
107
    $resultat = $db->query($requete);
-
 
108
    (DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '';
-
 
109
 
-
 
110
    if ($resultat->numRows() != 0) {
-
 
111
	    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
112
	        $prof = GEN_donnerProfondeur($id_site, $ligne->gmr_id_menu_02, ++$prof);
-
 
113
	    }
-
 
114
    }
-
 
115
    return $prof;
-
 
116
}
82
 
117
 
83
/** Fonction GEN_donnerDernierFreres() - Renvoie l'id du dernier menu frère.
118
/** Fonction GEN_donnerDernierFreres() - Renvoie l'id du dernier menu frère.
84
*
119
*
85
* Cette fonction regarde si un menu donné possède au moins un frère dans l'arbre
120
* Cette fonction regarde si un menu donné possède au moins un frère dans l'arbre
86
* des menus. Elle retourne l'id du dernier menu frére en utilisant gmr_ordre.
121
* des menus. Elle retourne l'id du dernier menu frére en utilisant gmr_ordre.
Line 998... Line 1033...
998
 
1033
 
999
 
1034
 
-
 
1035
 
-
 
1036
/* +--Fin du code ---------------------------------------------------------------------------------------+
-
 
1037
* $Log: not supported by cvs2svn $
-
 
1038
* Revision 1.34  2008-08-08 14:42:14  jp_milcent
-
 
1039
* Ajout d'une fonction donnant la profondeur d'un menu par rapport à la racine.
-
 
1040
*
-
 
1041
* Revision 1.33  2007-11-22 17:24:09  jp_milcent
-
 
1042
* Fusion avec la livraison AHA : 22 novembre 2007
-
 
1043
*
1000
 
1044
* Revision 1.31.2.2  2007-11-22 17:22:30  jp_milcent
1001
/* +--Fin du code ---------------------------------------------------------------------------------------+
1045
* Ajout d'un trie par date sur la requêtre retournant les menus de la même catégorie.
1002
* $Log: not supported by cvs2svn $
1046
*
1003
* Revision 1.31.2.1  2007-11-19 10:20:23  ddelon
1047
* Revision 1.31.2.1  2007-11-19 10:20:23  ddelon
1004
* Gestion des menus reservés à une langue
1048
* Gestion des menus reservés à une langue