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.14 2006-03-24 15:54:13 ddelon Exp $ |
// CVS : $Id: afficheur.admin.php,v 1.15 2006-03-27 10:14:43 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.14 $ $Date: 2006-03-24 15:54:13 $ |
*@version $Revision: 1.15 $ $Date: 2006-03-27 10:14:43 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
97,15 → 97,12 |
* @return void les données sont enregistrées dans la base de données. |
*/ |
function _redigerContenu($db, $url, $adme_site_id, $adme_menu_id, $adme_action) |
{ |
//------------------------------------------------------------------------------------------------------------------- |
// Initialisation de variable |
$url->addQueryString('adme_site_id', $adme_site_id); |
$url->addQueryString('adme_menu_id', $adme_menu_id); |
$url->addQueryString('adme_action', $adme_action); |
|
$rappel_init=0; |
|
{ |
|
$contenu=''; |
|
|
|
$id_langue = $GLOBALS['_GEN_commun']['i18n']; |
|
if (isset($id_langue) && ($id_langue!='')) { |
114,6 → 111,13 |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
|
|
|
//------------------------------------------------------------------------------------------------------------------- |
// Initialisation de variable |
$url->addQueryString('adme_site_id', $adme_site_id); |
$url->addQueryString('adme_menu_id', $adme_menu_id); |
$url->addQueryString('adme_action', $adme_action); |
|
//------------------------------------------------------------------------------------------------------------------- |
// Récupération des informations du contenu concerné. |
126,126 → 130,108 |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
|
|
|
// 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. |
|
$id_langue = $GLOBALS['_GEN_commun']['i18n']; |
|
// 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'].'" '; |
if (isset($id_langue) && ($id_langue!='')) { |
$langue_test=$id_langue; |
} else { |
$langue_test=GEN_I18N_ID_DEFAUT; |
} |
|
|
$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.'" '; |
// 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)) : ''; |
|
// Cas historique |
|
$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); |
} |
|
// 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 : |
if ( $resultat->numRows() == 0 ) { |
|
$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)) : ''; |
|
|
// Cas historique, recherche sur le code menu uniquement. |
|
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '. |
'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 ) { |
|
} |
|
// Pas de contenu, tentative de recuperation contenu non traduit (apres mutlilinguisme) |
|
// Multilinguisme : |
|
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '. |
'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 '. |
$requete_defaut = '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); |
$resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete_defaut); |
|
(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete)) : ''; |
(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete_defaut)) : ''; |
|
$ligne = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT); |
|
|
$requete = 'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '. |
$ligne_defaut = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT); |
|
$requete_defaut = 'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '. |
'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 truncate((gmc_ce_type_contenu/10),0) = '. $ligne_defaut->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)) : ''; |
$resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete_defaut); |
(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete_defaut)) : ''; |
|
$rappel_init=1; |
|
|
} |
|
} |
$ligne_defaut = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT); |
|
$contenu = $ligne_defaut->gmc_contenu; |
|
// Pas de contenu, tentative de recuperation contenu non traduit (avant multilinguisme) |
|
if ( $resultat_defaut->numRows() == 0 ) { |
|
$requete_defaut = '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_defaut); |
|
(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete_defaut)) : ''; |
|
$ligne_defaut = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT); |
|
$requete_defaut = 'SELECT gmc_contenu , gmc_ce_type_contenu, gmc_ce_menu '. |
'FROM gen_menu_contenu '. |
'WHERE gmc_ce_menu = '.$ligne_menu['gm_code_num'].' '. |
'AND gmc_ce_type_contenu in (1,2) '. |
'AND gmc_bool_dernier = 1'; |
|
$resultat_defaut = $GLOBALS['_AFFICHEUR']['objet_pear_db']->query($requete_defaut); |
(DB::isError($resultat_defaut)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_defaut->getMessage(), $requete_defaut)) : ''; |
|
$ligne_defaut = $resultat_defaut->fetchRow(DB_FETCHMODE_OBJECT); |
|
$contenu = $ligne_defaut->gmc_contenu; |
|
} |
|
|
} |
|
|
|
$ligne_dernier_contenu = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
// Hack : |
|
(DB::isError($resultat)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : ''; |
|
|
$retour = '<h1>'.'Rédaction'.'</h1>'."\n"; |
274,8 → 260,19 |
if ($GLOBALS['_AFFI_']['fckeditor']['utilisation']) { |
/** Inclusion du fichier de FCKeditor*/ |
require_once AFFI_CHEMIN_FCKEDITOR.'fckeditor.php'; |
$fckeditor = new FCKeditor('gmc_contenu'); |
$fckeditor->Value = $ligne_dernier_contenu['gmc_contenu']; |
$fckeditor = new FCKeditor('gmc_contenu'); |
if ($ligne_dernier_contenu['gmc_contenu']) { |
$fckeditor->Value = $ligne_dernier_contenu['gmc_contenu']; |
} |
else { |
if ($contenu) { |
$fckeditor->Value = $contenu; |
} |
else { |
$fckeditor->Value = ''; |
} |
} |
|
$fckeditor->Height = $GLOBALS['_AFFI_']['fckeditor']['hauteur']; |
$fckeditor->ToolbarSet = $GLOBALS['_AFFI_']['fckeditor']['barre']; |
$fckeditor->Config['CustomConfigurationsPath']=$GLOBALS['_AFFI_']['fckeditor']['CustomConfigurationsPath']; |
309,11 → 306,6 |
$label = '<label for="'.$id.'">'.'Resumé modification : '.'</label>'; |
$form->addElement('text', $id, $label, $aso_attributs); |
$form->addElement('hidden','gmc_ce_menu',$ligne_dernier_contenu['gmc_ce_menu']); |
|
if ($rappel_init) { |
$ligne_dernier_contenu['gmc_ce_type_contenu']=$ligne_dernier_contenu['gmc_ce_type_contenu']+(10*$adme_menu_id); |
} |
|
$form->addElement('hidden','gmc_ce_type_contenu_table',$ligne_dernier_contenu['gmc_ce_type_contenu']); |
|
$liste_bouton_debut = '<ul class="liste_bouton">'."\n"; |
362,21 → 354,15 |
'Fichier n° : '. __FILE__ .'<br />'); |
} |
|
|
if ((isset($tab_valeur['gmc_ce_menu']) && $tab_valeur['gmc_ce_menu']!='') && (isset($tab_valeur['gmc_ce_type_contenu_table']) && $tab_valeur['gmc_ce_type_contenu_table']!='')) { |
|
|
//------------------------------------------------------------------------------------------------------------------- |
// Mise à jour de l'ancien contenu du menu |
|
$requete = 'UPDATE gen_menu_contenu SET '. |
'gmc_bool_dernier = 0 '. |
'WHERE gmc_ce_menu = '.$tab_valeur['gmc_ce_menu'] . ' '. |
'AND gmc_ce_type_contenu = '. $tab_valeur['gmc_ce_type_contenu_table']. ' '; |
|
|
// |
|
|
$result = $db->query($requete); |
(DB::isError($result)) ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $result->getMessage(), $requete)) : ''; |
414,12 → 400,6 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.13 2006/03/24 14:36:19 ddelon |
* bug afficheur multilinguisme |
* |
* Revision 1.12 2006/03/24 13:03:24 ddelon |
* bug afficheur multilinguisme |
* |
* Revision 1.11 2006/03/13 22:27:23 ddelon |
* bug afficheur multilinguisme |
* |