/trunk/papyrus/applications/admin_menu/bibliotheque/adme_general.fonct.php |
---|
32,7 → 32,7 |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: adme_general.fonct.php,v 1.14 2006-03-23 20:24:59 ddelon Exp $ |
// CVS : $Id: adme_general.fonct.php,v 1.15 2006-03-24 13:03:24 ddelon Exp $ |
/** |
* Contient l'affichage par défaut de l'appli quand aucune actin |
* |
46,7 → 46,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.14 $ $Date: 2006-03-23 20:24:59 $ |
*@version $Revision: 1.15 $ $Date: 2006-03-24 13:03:24 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
68,7 → 68,7 |
*/ |
function ADME_afficherFormPrincipal($objet_pear_db, $objet_pear_url, $adme_site_id, $adme_menu_id, $adme_action) |
{ |
/* |
$id_langue = $GLOBALS['_GEN_commun']['i18n'];//identifiant de la langue choisie |
//--------------------------------------------------------------------------------------------------------------- |
80,7 → 80,139 |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
*/ |
$db=$objet_pear_db; |
$id_langue = $GLOBALS['_GEN_commun']['i18n']; //identifiant de la langue choisie |
// Langue en cours : langue choisie ou langue par defaut (principale) |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
//$langue_test=GEN_I18N_ID_DEFAUT; |
// Liste des sites principaux : |
// Recherche de tous les sites langue en cours |
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gsr_id_site_01 = gs_id_site '. |
'AND gsr_id_valeur IN (102, 103) '. |
'AND gs_ce_i18n = "'.$langue_test.'" '. |
'ORDER BY gsr_ordre'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
$liste_site=array(); |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
if ($langue_test == GEN_I18N_ID_DEFAUT) { |
$requete_est_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' . |
'AND gsr_id_site_01 <> gsr_id_site_02 ' . |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
$resultat_est_traduction = $db->query($requete_est_traduction); |
(DB::isError($resultat_est_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction)) |
: ''; |
if ( $resultat_est_traduction->numRows() == 0 ) { |
$liste_site[]=$ligne; |
} |
} |
else { |
$liste_site[]=$ligne; |
} |
} |
$resultat->free(); |
// Si la langue en cours n'est pas la langue par défaut, recherche des sites ayant comme langue |
// la langue par defaut, non traduits dans la langue en cours et n'etant pas des traductions |
if ($langue_test != GEN_I18N_ID_DEFAUT) { |
$requete = 'SELECT * '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
'AND gs_id_site = gsr_id_site_01 '. |
'AND gsr_id_valeur IN (102, 103) '. |
'AND gs_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '. |
'ORDER BY gs_code_num ASC';// 102 = site "principal" et 103 = site "externe" |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Recherche de tous les sites de la langue principale qui ne sont pas traduits dans la langue en cours |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$requete_est_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_02 ' . |
'AND gsr_id_site_01 <> gsr_id_site_02 ' . |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
$resultat_est_traduction = $db->query($requete_est_traduction); |
(DB::isError($resultat_est_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_est_traduction->getMessage(), $requete_est_traduction)) |
: ''; |
if ( $resultat_est_traduction->numRows() == 0 ) { |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
$requete_traduction = 'SELECT gsr_id_site_01 '. |
'FROM gen_site_relation, gen_site '. |
'WHERE '.$ligne->gs_id_site.' = gsr_id_site_01 ' . |
'AND gsr_id_site_02 = gs_id_site '. |
'AND gs_ce_i18n = "'.$langue_test.'" '. |
'AND gsr_id_valeur = 1 ';// 1 = "avoir traduction" |
$resultat_traduction = $db->query($requete_traduction); |
(DB::isError($resultat_traduction)) |
? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_traduction->getMessage(), $requete_traduction)) |
: ''; |
if ( $resultat_traduction->numRows() == 0 ) { |
$liste_site []=$ligne; |
} |
$resultat_traduction->free(); |
} |
$resultat_est_traduction->free(); |
} |
$resultat->free(); |
} |
/* |
$requete = 'SELECT gs_id_site, gs_code_num, gs_code_alpha, gs_nom, gs_ce_i18n '. |
'FROM gen_site, gen_site_relation '. |
'WHERE gsr_id_site_01 = gsr_id_site_02 '. |
187,7 → 319,32 |
$resultat->free(); |
} |
*/ |
// Traduction d'un site principal uniquement : |
$requete = 'SELECT * '. |
'FROM gen_site_relation '. |
'WHERE gsr_id_site_02 = '.$adme_site_id.' '. |
'AND gsr_id_valeur =1 '; // 1 = "avoir traduction" |
$resultat = $db->query($requete); |
if (DB::isError($resultat)) { |
die( BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete) ); |
} |
if ( $resultat->numRows() == 0 ) { |
$adme_site_id =$adme_site_id; |
} |
else { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
$adme_site_id = $ligne->gsr_id_site_01; |
} |
$resultat->free(); |
//--------------------------------------------------------------------------------------------------------------- |
// Création du formulaire |
226,7 → 383,7 |
// Instanciation des valeurs par défaut du formulaire |
$form->setDefaults($adme_site_id); |
$retour =''; |
$retour .= '<h1>'.ADME_LG_MENU_TITRE.$site_nom.'</h1>'."\n"; |
$retour .= $form->toHTML()."\n"; |
272,6 → 429,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.14 2006/03/23 20:24:59 ddelon |
* *** empty log message *** |
* |
* Revision 1.13 2006/03/13 21:00:20 ddelon |
* Suppression messages d'erreur multilinguisme |
* |
/trunk/papyrus/applications/afficheur/afficheur.php |
---|
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.7 2006-03-13 21:00:20 ddelon Exp $ |
// CVS : $Id: afficheur.php,v 1.8 2006-03-24 13:03:24 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.7 $ $Date: 2006-03-13 21:00:20 $ |
*@version $Revision: 1.8 $ $Date: 2006-03-24 13:03:24 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
64,6 → 64,17 |
*/ |
function afficherContenuCorps() |
{ |
// Cas d'utilisation : |
// Affichage contenu non migré : |
// gmc_ce_menu : code menu gmc_ce_type_contenu : 1 ou 2 |
// Affichage contenu migré : |
// gmc_ce_menu : code menu gmc_ce_type_contenu : identifiant menu * 10 + type_contenu |
//---------------------------------------------------------------------------- |
// Initialisation des variable |
$retour = ''; |
112,10 → 123,15 |
} |
else { |
// Pas d'identifiant pour le menu en cours ? Il n'a pas encore été traduit, on recupere l'identifiant |
// de la langue par défaut |
$requete = 'SELECT gm_id_menu, gm_code_num '. |
'FROM gen_menu '. |
'WHERE gm_code_num = '.$ligne_menu['gm_code_num'].' '; |
'WHERE gm_code_num = '.$ligne_menu['gm_code_num'].' '. |
'AND gm_ce_i18n = "'.GEN_I18N_ID_DEFAUT.'" '; |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
123,14 → 139,25 |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
} |
// Cas historique : |
// Ici, on a un identifiant pour le menu, soit : |
// - l'identifiant du menu selectionné, s'il a été traduit |
// - l'identifiant du menu par defaut, s'il n'a pas été traduit |
// On recherche maintenant le contenu : |
// Cas historique, recherche sur le code menu uniquement. |
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$ligne->gm_id_menu.' '. |
'WHERE gmc_ce_menu = '.$ligne->gm_code_num.' '. |
'AND gmc_ce_type_contenu in (1,2) '. |
'AND gmc_bool_dernier = 1'; |
//'WHERE gmc_ce_menu = '.$ligne->gm_id_menu.' '. |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
166,25 → 193,9 |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
// 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); |
232,6 → 243,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.7 2006/03/13 21:00:20 ddelon |
* Suppression messages d'erreur multilinguisme |
* |
* Revision 1.6 2006/03/02 10:49:49 ddelon |
* Fusion branche multilinguisme dans branche principale |
* |
/trunk/papyrus/applications/afficheur/afficheur.admin.php |
---|
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.admin.php,v 1.11 2006-03-13 22:27:23 ddelon Exp $ |
// CVS : $Id: afficheur.admin.php,v 1.12 2006-03-24 13:03:24 ddelon Exp $ |
/** |
* Gestion de la rédaction du contenu pour Papyrus. |
* |
32,7 → 32,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.11 $ $Date: 2006-03-13 22:27:23 $ |
*@version $Revision: 1.12 $ $Date: 2006-03-24 13:03:24 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
104,6 → 104,16 |
$url->addQueryString('adme_menu_id', $adme_menu_id); |
$url->addQueryString('adme_action', $adme_action); |
$id_langue = $GLOBALS['_GEN_commun']['i18n']; |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
//------------------------------------------------------------------------------------------------------------------- |
// Récupération des informations du contenu concerné. |
$ligne_menu = GEN_lireInfoMenu($db, $adme_menu_id, DB_FETCHMODE_ASSOC); |
115,47 → 125,124 |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
$id_langue = $GLOBALS['_GEN_commun']['i18n']; |
// 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. |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
// Récupération identifiant du menu en cours |
$requete = 'SELECT gm_id_menu, gm_code_num '. |
'FROM gen_menu '. |
'WHERE gm_code_num = '.$ligne_menu['gm_code_num'].' '. |
'AND gm_ce_i18n = "'.$ligne_menu['gm_ce_i18n'].'" '; |
$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 { |
// Pas d'identifiant pour le menu en cours ? Il n'a pas encore été traduit, on recupere l'identifiant |
// de la langue en cours |
$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.'" '; |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
// Récupération du dernier contenu : cas d'un traduction |
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu,gmc_ce_menu '. |
'FROM gen_menu_contenu '. |
'WHERE truncate((gmc_ce_type_contenu/10),0) = '. $adme_menu_id . ' '. |
'AND gmc_bool_dernier = 1'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT); |
} |
// Ici, on a un identifiant pour le menu, soit : |
// - l'identifiant du menu selectionné, s'il a été traduit |
// - l'identifiant du menu par defaut, s'il n'a pas été traduit |
// On recherche maintenant le contenu : |
// Cas historique, recherche sur le code menu uniquement. |
$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'; |
//'WHERE gmc_ce_menu = '.$ligne->gm_id_menu.' '. |
$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 ) { |
// 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'; |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Pas de contenu, tentative de recuperation contenu initial |
if ( $resultat->numRows() == 0 ) { |
if ( $resultat->numRows() == 0 ) { |
$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.'" '; |
$resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu,gmc_ce_menu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$adme_menu_id.' '. |
'AND gmc_ce_type_contenu in (1,2) '. |
'AND gmc_bool_dernier = 1'; |
$resultat = $db->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete)) : ''; |
$ligne = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT); |
$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'; |
$resultat = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
} |
} |
$ligne_dernier_contenu = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
// Hack : |
$retour = '<h1>'.'Rédaction'.'</h1>'."\n"; |
//------------------------------------------------------------------------------------------------------------------- |
// Création du formulaire |
311,6 → 398,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.11 2006/03/13 22:27:23 ddelon |
* bug afficheur multilinguisme |
* |
* Revision 1.10 2006/03/13 22:12:20 ddelon |
* bug afficheur multilinguisme |
* |