Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 795 → Rev 796

/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.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
*