Subversion Repositories Sites.tela-botanica.org

Rev

Blame | Last modification | View Log | RSS feed

<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1                                                                                      |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or                                        |
// | modify it under the terms of the GNU Lesser General Public                                           |
// | License as published by the Free Software Foundation; either                                         |
// | version 2.1 of the License, or (at your option) any later version.                                   |
// |                                                                                                      |
// | This library is distributed in the hope that it will be useful,                                      |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
// | Lesser General Public License for more details.                                                      |
// |                                                                                                      |
// | You should have received a copy of the GNU Lesser General Public                                     |
// | License along with this library; if not, write to the Free Software                                  |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: VA_VoirAussi.class.php,v 1.4 2005/03/03 08:40:35 jpm Exp $
/**
* API : "voir aussi".
*
* Cette API contient des fonctions dédiées à la gestion des Voir Aussi.
*
*@package API
*@subpackage VoirAussi
//Auteur original :
*@author        Jean-Charles GRANGER <tela@vecteur.org>
//Autres auteurs :
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
*@author        Jean-Pascal MILCENT <jpm@clapas.org>
*@copyright     Tela-Botanica 2000-2004
*@version       $Revision: 1.4 $ $Date: 2005/03/03 08:40:35 $
// +------------------------------------------------------------------------------------------------------+
*/

// +------------------------------------------------------------------------------------------------------+
// |                                            ENTETE du PROGRAMME                                       |
// +------------------------------------------------------------------------------------------------------+
                                    /*Mettre ici les inclusions de fichiers*/                             
// Stokage de la fonction JavaScrip permettant l'ouverture des pop-up
$body = "
        function MagicPopup (mURL)
            {
            var sArgs = 'toolbar=0'+
            ',hotkeys=0'+
            ',location=0'+
            ',directories=0'+
            ',menubar=0'+
            ',personalbar=0'+
            ',status=0'+
            ',scrollbars=1'+
            ',resizable=1'+
            ',width=640 '+
            ',height=450';
            
            var wWindow = open (mURL, 'more', sArgs);
            wWindow.window.focus ();
            } ";
GEN_stockerFonctionScript('MagicPopup', $body);

// +------------------------------------------------------------------------------------------------------+
// |                                                 CLASSES                                              |
// +------------------------------------------------------------------------------------------------------+
                                        /*Mettre ici la liste de fonctions.*/
class VoirAussi {
    // Propriétés
    var $NbVA;
    var $table;
    var $item;
    
    // Constructeur
    /**Fonction VoirAussi() - constructeur de la classe VoirAussi.
    *
    * Vérifie les 'Voir Aussi' d'un item et retourne un tableau contenant
    * toutes les infos des Voir Aussi.
    *
    * @param string le nom de l'objet d'origine compris dans la table des "voir aussi".
    * @param string le nom de la table d'origine.
    *
    * @return array les infos des "voir aussi".
    */
    function VoirAussi($item_ori, $table_ori)
    {
        global $tbl;
        
        $this->table = $table_ori;
        $this->item = $item_ori;
        
        $query_va = 'SELECT COUNT(*) AS compte '.
                    'FROM '.$tbl['allervoir'].' '.
                    'WHERE GEN_AV_ORIGINE = "'.$item_ori.'" '.
                    'AND GEN_AV_TABLE = "'.$table_ori.'"';
        $do_query_va = mysql_query($query_va) or die('<b>Erreur de comptage des "Voir Aussi" dans le Constructeur :</b> '.$query_va);
        $nb_tmpva = mysql_fetch_object($do_query_va);
        $this->NbVA = $nb_tmpva->compte;
        mysql_free_result($do_query_va);
    }
    
    // Méthodes
    
    /**Fonction ListerVoirAussi() - Retourne les infos des "voir aussi".
    *
    * Vérifie les 'Voir Aussi' d'un item et retourne un tableau contenant
    * toutes les infos des Voir Aussi.
    *
    * @return array les infos des "voir aussi".
    */
    function ListerVoirAussi() 
    {
        global $tbl;
        
        if ($this->NbVA > 0) {
            $query_v = 'SELECT GEN_VA_LIEN, GEN_VA_TEXTELIEN, GEN_VA_DESCRIPTION, GEN_VA_LKTYPE, GEN_VA_TARGET, TF_NAME, TF_ICONTYPE '.
                        'FROM '.$tbl['allervoir'].', '.$tbl['voiraussi'].', '.$tbl['typefile'].' '.
                        'WHERE GEN_AV_ORIGINE = "'.$this->item.'" AND GEN_AV_TABLE = "'.$this->table.'" '.
                        'AND '.$tbl['allervoir'].'.GEN_AV_IDVA = '.$tbl['voiraussi'].'.GEN_VA_IDVA '.
                        'AND '.$tbl['voiraussi'].'.GEN_VA_LKTYPE = '.$tbl['typefile'].'.TF_IDTYPE ';
            
            $do_query_v = mysql_query($query_v) or die('<b>Erreur de récupération des Voir Aussi in f():</b> '.$query_v);
            
            while ($row = mysql_fetch_object($do_query_v)) {
                $lien = $row->GEN_VA_LIEN;
                $texte = $row->GEN_VA_TEXTELIEN;
                $desc = $row->GEN_VA_DESCRIPTION;
                $target = $row->GEN_VA_TARGET;
                $type_name = $row->TF_NAME;
                $type_id = $row->GEN_VA_LKTYPE;
                $icon = $row->TF_ICONTYPE;
                
                if ($texte != '') {
                    $what_aff = $texte;
                } else {
                    $what_aff = $type_name;
                }
                
                switch ($target) {
                    case 'popup';
                        $target = 'href="Javascript:MagicPopup(\''.$lien.'\')"';
                    break;
                    case 'blank';
                        $target = 'href="'.$lien.'" target="_blank"';
                    break;
                    default :
                        $target = 'href="'.$lien.'"';
                    break;
                }
                
                for ($i = 0; $i == (($this->NbVA) - 1); $i++) {
                    $liste_va[$i]['texte'] = $texte;
                    $liste_va[$i]['desc'] = $desc;
                    $liste_va[$i]['target'] = $target;
                    $liste_va[$i]['icon_src'] = $icon;
                    $liste_va[$i]['icon_alt'] = $type_name;
                }
                
                return $liste_va;
            }
        }
    }
}

/* +--Fin du code ---------------------------------------------------------------------------------------+
*
* $Log: VA_VoirAussi.class.php,v $
* Revision 1.4  2005/03/03 08:40:35  jpm
* Le tableau retourné a été modifié :
* 'icon_src' contient le chemin pour l'attribut src
* 'icon_alt' contient la valeur pour l'attribut alt
*
* Revision 1.3  2004/09/16 12:05:48  jpm
* Extration hors de la classe de l'ajout du Javascript.
*
* Revision 1.2  2004/09/11 19:13:13  jpm
* Début mise en forme.
*
*
* +--Fin du code ----------------------------------------------------------------------------------------+
*/
?>