19,7 → 19,7 |
// | 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: afficheur.php,v 1.6 2006-03-02 10:49:49 ddelon Exp $ |
// CVS : $Id: afficheur.php,v 1.7 2006-03-13 21:00:20 ddelon Exp $ |
/** |
* Application réalisant l'affichage du contenu stocké dans Papyrus. |
* |
31,7 → 31,7 |
//Autres auteurs : |
*@author Alexandre GRANIER <alexandrel@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.6 $ $Date: 2006-03-02 10:49:49 $ |
*@version $Revision: 1.7 $ $Date: 2006-03-13 21:00:20 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
76,7 → 76,6 |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
|
|
//------------------------------------------------------------------------------------------------------------------- |
// Récupération des informations du contenu concerné. |
$ligne_menu = GEN_lireInfoMenu($GLOBALS['_AFFICHEUR']['objet_pear_db'], $GLOBALS['_AFFICHEUR']['menu_courant_id'], DB_FETCHMODE_ASSOC); |
90,9 → 89,15 |
} |
|
|
// Comment ca marche ? |
// Historiquement, le code menu est associé au contenu |
// Depuis le passage au multilinguisme : ce comportement est conservé mais : |
// Tout nouveau contenu, contient également l'information code gm_id_menu, enfoui dans le |
// type contenu. |
|
// Récupération identifiant du menu en cours |
|
$requete = 'SELECT gm_id_menu '. |
$requete = 'SELECT gm_id_menu, gm_code_num '. |
'FROM gen_menu '. |
'WHERE gm_code_num = '.$ligne_menu['gm_code_num'].' '. |
'AND gm_ce_i18n = "'.$langue_test.'" '; |
100,59 → 105,91 |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
|
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
if ( $resultat->numRows() > 0 ) { |
|
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
} |
else { |
|
if ($resultat->numRows() > 0) { |
$requete = 'SELECT gm_id_menu, gm_code_num '. |
'FROM gen_menu '. |
'WHERE gm_code_num = '.$ligne_menu['gm_code_num'].' '; |
|
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
|
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
} |
|
// Cas historique : |
|
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
|
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$ligne->gm_id_menu.' '. |
'AND gmc_ce_type_contenu in (1,2) '. |
'AND gmc_bool_dernier = 1'; |
|
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
|
// Rien trouvé ? : Migration multilinguisme ou pas encore de contenu |
|
if ( $resultat->numRows() == 0 ) { |
|
|
// Récupération du dernier contenu : cas d'un traduction |
// Multilinguisme : |
|
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '. |
'AND truncate((gmc_ce_type_contenu/10),0) = '. $ligne->gm_id_menu . ' '. |
'AND gmc_bool_dernier = 1'; |
|
|
|
//print $requete; |
|
|
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
if ( $resultat->numRows() == 0 ) { |
// Pas de contenu, tentative de recuperation contenu initial |
|
if ( $resultat->numRows() == 0 ) { |
|
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$GLOBALS['_AFFICHEUR']['menu_courant_id'].' '. |
'AND gmc_ce_type_contenu in (1,2) '. |
'FROM gen_menu_contenu, gen_menu_relation '. |
'WHERE truncate((gmc_ce_type_contenu/10),0) = gmr_id_menu_01 '. |
'AND '.$ligne->gm_id_menu.' = gmr_id_menu_02 '. |
'AND gmr_id_valeur = 2 '. |
'AND gmc_bool_dernier = 1'; |
|
|
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
|
} |
|
} |
else { |
|
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$GLOBALS['_AFFICHEUR']['menu_courant_id'].' '. |
'AND gmc_ce_type_contenu in (1,2) '. |
'AND gmc_bool_dernier = 1'; |
// Toujours rien ? |
|
if ( $resultat->numRows() == 0 ) { |
|
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$ligne->gm_code_num.' '. |
'AND gmc_ce_type_contenu in (1,2) '. |
'AND gmc_bool_dernier = 1'; |
|
|
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
|
} |
|
} |
|
} |
$ligne_contenu = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$ligne_contenu = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
|
|
|
$contenu = $ligne_contenu->gmc_contenu; |
|
$contenu = $ligne_contenu->gmc_contenu; |
|
// Inclusion de la bibliothèque Text_Wiki_Papyrus effectuées par Papyrus précédement |
// Les actions Text_Wiki_Papyrus sont gérées par Papyrus |
195,6 → 232,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.6 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
* Revision 1.5.2.3 2006/03/02 00:22:23 ddelon |
* bug afficheur multilinguisme |
* |