Subversion Repositories Applications.papyrus

Rev

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

Rev 396 Rev 407
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().