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.21 2005-06-08 19:11:43 jpm Exp $
|
22 |
// CVS : $Id: pap_menu.fonct.php,v 1.22 2005-07-08 15:16:37 alexandre_tb 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 31... |
Line 31... |
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 |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
|
34 |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr>
|
35 |
*@copyright Tela-Botanica 2000-2004
|
35 |
*@copyright Tela-Botanica 2000-2004
|
36 |
*@version $Revision: 1.21 $ $Date: 2005-06-08 19:11:43 $
|
36 |
*@version $Revision: 1.22 $ $Date: 2005-07-08 15:16:37 $
|
37 |
// +------------------------------------------------------------------------------------------------------+
|
37 |
// +------------------------------------------------------------------------------------------------------+
|
38 |
*/
|
38 |
*/
|
Line 39... |
Line 39... |
39 |
|
39 |
|
40 |
// +------------------------------------------------------------------------------------------------------+
|
40 |
// +------------------------------------------------------------------------------------------------------+
|
Line 266... |
Line 266... |
266 |
* @param string le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
|
266 |
* @param string le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
|
267 |
* @return mixed un objet ou tableau résultat de Pear DB contenant une ligne de la table gen_menu, ou false en cas d'erreur.
|
267 |
* @return mixed un objet ou tableau résultat de Pear DB contenant une ligne de la table gen_menu, ou false en cas d'erreur.
|
268 |
*/
|
268 |
*/
|
269 |
function GEN_lireInfoMenu(&$db, $id_menu, $mode = DB_FETCHMODE_OBJECT)
|
269 |
function GEN_lireInfoMenu(&$db, $id_menu, $mode = DB_FETCHMODE_OBJECT)
|
270 |
{
|
270 |
{
|
271 |
//----------------------------------------------------------------------------
|
- |
|
272 |
// Gestion des erreurs
|
- |
|
273 |
|
271 |
|
274 |
//----------------------------------------------------------------------------
|
272 |
//----------------------------------------------------------------------------
|
275 |
// Recherche des informations sur le menu
|
273 |
// Recherche des informations sur le menu
|
276 |
$requete = 'SELECT * '.
|
274 |
$requete = 'SELECT * '.
|
277 |
'FROM gen_menu '.
|
275 |
'FROM gen_menu '.
|
278 |
'WHERE gm_id_menu = '.$id_menu;
|
276 |
'WHERE gm_id_menu = '.$id_menu;
|
Line 529... |
Line 527... |
529 |
$aso_info =& $db->getAssoc($requete, false, array(), $mode, $groupe);
|
527 |
$aso_info =& $db->getAssoc($requete, false, array(), $mode, $groupe);
|
530 |
(PEAR::isError($aso_info)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $aso_info->getMessage(), $requete)) : '';
|
528 |
(PEAR::isError($aso_info)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $aso_info->getMessage(), $requete)) : '';
|
Line 531... |
Line 529... |
531 |
|
529 |
|
532 |
return $aso_info;
|
530 |
return $aso_info;
|
- |
|
531 |
}
|
- |
|
532 |
|
- |
|
533 |
/** Fonction GEN_lireInfoMenuMeta() - Renvoie un objet ou un tableau contenant des lignes de la table gen_menu
|
- |
|
534 |
*
|
- |
|
535 |
* Renvoie un objet ou un tableau contenant une ligne de la table gen_menu en fonction des mots clés,
|
- |
|
536 |
* catégories, id_menu,
|
- |
|
537 |
* la table gen_menu.
|
- |
|
538 |
*
|
- |
|
539 |
* @param mixed Une instance de la classse PEAR_DB
|
- |
|
540 |
* @param array un tableau de mots clés.
|
- |
|
541 |
* @param string la condition séparant chaque rechercher de mots-clés (AND ou OR).
|
- |
|
542 |
* @param string l'ordre d'affichage des Menus (ASC ou DESC).
|
- |
|
543 |
* @param string le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
|
- |
|
544 |
* @param boolean true pour grouper les résultats (voir Pear DB : getAssoc() ) sinon false.
|
- |
|
545 |
* @return mixed un objet ou tableau résultat Pear DB, ou false en cas d'erreur.
|
- |
|
546 |
*/
|
- |
|
547 |
function GEN_lireInfoMenuMeta(&$db, $tab_mots, $tab_cat, $condition = 'OR', $condition2="OR", $ordre = 'ASC', $mode = DB_FETCHMODE_OBJECT, $groupe = false)
|
- |
|
548 |
{
|
- |
|
549 |
//----------------------------------------------------------------------------
|
- |
|
550 |
// Recherche des informations sur les menus en fonctions des mots clés
|
- |
|
551 |
$requete = 'SELECT DISTINCT * '.
|
- |
|
552 |
'FROM gen_menu '.
|
- |
|
553 |
'WHERE ';
|
- |
|
554 |
for ($i = 0; $i < count($tab_mots); $i++) {
|
- |
|
555 |
if ($i == 0) {
|
- |
|
556 |
$requete .= 'gm_mots_cles LIKE "%'.$tab_mots[$i].'%" ';
|
- |
|
557 |
} else {
|
- |
|
558 |
$requete .= $condition.' gm_mots_cles LIKE "%'.$tab_mots[$i].'%" ';
|
- |
|
559 |
}
|
- |
|
560 |
}
|
- |
|
561 |
if (count($tab_mots) != 0) $requete .= 'AND ' ;
|
- |
|
562 |
for ($i = 0; $i < count($tab_cat); $i++) {
|
- |
|
563 |
if ($i == 0) {
|
- |
|
564 |
$requete .= 'gm_categorie LIKE "%'.$tab_cat[$i].'%" ';
|
- |
|
565 |
} else {
|
- |
|
566 |
$requete .= $condition2.' gm_categorie LIKE "%'.$tab_cat[$i].'%" ';
|
- |
|
567 |
}
|
- |
|
568 |
}
|
- |
|
569 |
$requete .= 'ORDER BY gm_date_creation '.$ordre;
|
- |
|
570 |
$aso_info =& $db->getAssoc($requete, false, array(), $mode, $groupe);
|
- |
|
571 |
(PEAR::isError($aso_info)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $aso_info->getMessage(), $requete)) : '';
|
- |
|
572 |
|
- |
|
573 |
return $aso_info;
|
533 |
}
|
574 |
}
|
534 |
/** Fonction GEN_lireInfoMenuCategorie() - Renvoie un objet ou un tableau contenant des lignes de la table gen_menu
|
575 |
/** Fonction GEN_lireInfoMenuCategorie() - Renvoie un objet ou un tableau contenant des lignes de la table gen_menu
|
535 |
*
|
576 |
*
|
536 |
* Renvoie un objet ou un tableau contenant une ligne de la table gen_menu en fonction des catégories présentes dans
|
577 |
* Renvoie un objet ou un tableau contenant une ligne de la table gen_menu en fonction des catégories présentes dans
|
537 |
* la table gen_menu.
|
578 |
* la table gen_menu.
|
Line 571... |
Line 612... |
571 |
* @param array le code alphanumérique du site ou de plusieurs sites séparés par des virgules.
|
612 |
* @param array le code alphanumérique du site ou de plusieurs sites séparés par des virgules.
|
572 |
* @param string le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
|
613 |
* @param string le mode dans Pear DB dans lequel on veut recevoir les infos du menu.
|
573 |
* @param boolean true pour grouper les résultats (voir Pear DB : getAssoc() ) sinon false.
|
614 |
* @param boolean true pour grouper les résultats (voir Pear DB : getAssoc() ) sinon false.
|
574 |
* @return mixed un objet ou tableau résultat Pear DB, ou false en cas d'erreur.
|
615 |
* @return mixed un objet ou tableau résultat Pear DB, ou false en cas d'erreur.
|
575 |
*/
|
616 |
*/
|
576 |
function GEN_lireInfoMenuContenuDate(&$db, $type_modif = '', $site = '', $mode = DB_FETCHMODE_OBJECT, $groupe = false)
|
617 |
function GEN_lireInfoMenuContenuDate(&$db, $type_modif = '', $site = '', $categorie='', $mode = DB_FETCHMODE_OBJECT, $groupe = false)
|
577 |
{
|
618 |
{
|
578 |
$type_modif_sql = 'AND gmc_ce_type_modification IN (%s) ';
|
619 |
$type_modif_sql = 'AND gmc_ce_type_modification IN (%s) ';
|
579 |
if (!empty($type_modif)) {
|
620 |
if (!empty($type_modif)) {
|
580 |
$type_modif = sprintf($type_modif_sql, $type_modif);
|
621 |
$type_modif = sprintf($type_modif_sql, $type_modif);
|
581 |
} else {
|
622 |
} else {
|
Line 585... |
Line 626... |
585 |
if (!empty($site)) {
|
626 |
if (!empty($site)) {
|
586 |
$site = sprintf($site_sql, '"'.implode('", "', array_map('trim', explode(',', $site))).'"');
|
627 |
$site = sprintf($site_sql, '"'.implode('", "', array_map('trim', explode(',', $site))).'"');
|
587 |
} else {
|
628 |
} else {
|
588 |
$site = '';
|
629 |
$site = '';
|
589 |
}
|
630 |
}
|
- |
|
631 |
|
- |
|
632 |
if (!empty($categorie)) {
|
- |
|
633 |
$categorie = 'AND gm_categorie like "%'.$categorie.'%"' ;
|
- |
|
634 |
} else {
|
- |
|
635 |
$categorie = '';
|
- |
|
636 |
}
|
590 |
// Recherche des informations sur les menus en fonctions des mots clés
|
637 |
// Recherche des informations sur les menus en fonctions des mots clés
|
591 |
$requete = 'SELECT DISTINCT gen_menu.*, gs_code_alpha, gmc_date_modification, gmc_resume_modification, gmc_ce_type_modification '.
|
638 |
$requete = 'SELECT DISTINCT gen_menu.*, gs_code_alpha, gmc_date_modification, gmc_resume_modification, gmc_ce_type_modification '.
|
592 |
'FROM gen_site, gen_menu, gen_menu_contenu '.
|
639 |
'FROM gen_site, gen_menu, gen_menu_contenu '.
|
593 |
'WHERE gmc_date_modification <= "'.date('Y-m-d H:i:s', time()).'" '.
|
640 |
'WHERE gmc_date_modification <= "'.date('Y-m-d H:i:s', time()).'" '.
|
594 |
'AND gm_ce_site = gs_id_site '.
|
641 |
'AND gm_ce_site = gs_id_site '.
|
595 |
'AND gm_id_menu = gmc_ce_menu '.
|
642 |
'AND gm_id_menu = gmc_ce_menu '.
|
596 |
'AND gmc_bool_dernier = 1 '.
|
643 |
'AND gmc_bool_dernier = 1 '.
|
597 |
$site.
|
644 |
$site.
|
598 |
$type_modif.
|
645 |
$type_modif.
|
- |
|
646 |
$categorie.
|
599 |
'ORDER BY gmc_date_modification DESC';
|
647 |
'ORDER BY gmc_date_modification DESC';
|
Line 600... |
Line 648... |
600 |
|
648 |
|
601 |
$aso_info =& $db->getAssoc($requete, false, array(), $mode, $groupe);
|
649 |
$aso_info =& $db->getAssoc($requete, false, array(), $mode, $groupe);echo $requete;
|
Line 602... |
Line 650... |
602 |
(PEAR::isError($aso_info)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $aso_info->getMessage(), $requete)) : '';
|
650 |
(PEAR::isError($aso_info)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $aso_info->getMessage(), $requete)) : '';
|
603 |
|
651 |
|
604 |
return $aso_info;
|
652 |
return $aso_info;
|
Line 639... |
Line 687... |
639 |
}
|
687 |
}
|
640 |
return $aso_site_menus;
|
688 |
return $aso_site_menus;
|
641 |
}
|
689 |
}
|
642 |
/* +--Fin du code ---------------------------------------------------------------------------------------+
|
690 |
/* +--Fin du code ---------------------------------------------------------------------------------------+
|
643 |
* $Log: not supported by cvs2svn $
|
691 |
* $Log: not supported by cvs2svn $
|
- |
|
692 |
* Revision 1.21 2005/06/08 19:11:43 jpm
|
- |
|
693 |
* Ajout de ordre et condition pour la fonction de lecture des infos sur les menus.
|
- |
|
694 |
*
|
644 |
* Revision 1.20 2005/05/26 08:00:51 jpm
|
695 |
* Revision 1.20 2005/05/26 08:00:51 jpm
|
645 |
* Correction dans la fonction GEN_retournerTableauMenusSiteCodeAlpha().
|
696 |
* Correction dans la fonction GEN_retournerTableauMenusSiteCodeAlpha().
|
646 |
*
|
697 |
*
|
647 |
* Revision 1.19 2005/05/25 13:46:58 jpm
|
698 |
* Revision 1.19 2005/05/25 13:46:58 jpm
|
648 |
* Changement du sql de la fonction GEN_lireContenuMenu().
|
699 |
* Changement du sql de la fonction GEN_lireContenuMenu().
|