Subversion Repositories Sites.tela-botanica.org

Compare Revisions

No changes between revisions

Ignore whitespace Rev 3 → Rev 4

/trunk/api/voiraussi/VA_VoirAussi.class.php
New file
0,0 → 1,183
<?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 ----------------------------------------------------------------------------------------+
*/
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property