Changeset 3352
- Timestamp:
- 04/28/10 15:00:43 (11 years ago)
- Location:
- plugins_spip/diogene
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins_spip/diogene/diogene_fonctions.php
r3324 r3352 1 1 <?php 2 /**3 *4 * Compte les langues dans $GLOBALS['meta']['langues_utilisees']5 *6 * @return int Le nombre de langues possible7 */8 function diogene_nombre_langues(){9 $langues = explode(',', $GLOBALS['meta']['langues_utilisees']);10 return count($langues);11 }12 13 /**14 *15 * @return16 * @param object $lang_env[optional]17 */18 function diogene_form_langues($lang_env=''){19 $langues = explode(',', $GLOBALS['meta']['langues_utilisees']);20 sort($langues);21 $ret = ' ';22 foreach($langues as $l) {23 if($l == $lang_env){24 $ret .= "<option class='maj-debut' value='$l' selected='selected'>".traduire_nom_langue($l)."</option>\n";25 }else{26 $ret .= "<option class='maj-debut' value='$l'>".traduire_nom_langue($l)."</option>\n";27 }28 }29 return $ret;30 }31 32 function diogene_form_trad_langues($lang_trad=''){33 $langues = explode(',', $GLOBALS['meta']['langues_utilisees']);34 sort($langues);35 $ret = ' ';36 foreach($langues as $l) {37 if($l != $lang_trad){38 $ret .= "<option class='maj-debut' value='$l'>".traduire_nom_langue($l)."</option>\n";39 }40 }41 return $ret;42 }43 44 45 2 // http://doc.spip.org/@balise_URL_ARTICLE_dist 46 3 function balise_URL_ARTICLE($p) { -
plugins_spip/diogene/diogene_pipelines.php
r3348 r3352 1 1 <?php 2 2 /** 3 * Insertion dans le pipeline pre_edition3 * Insertion dans le pipeline editer_contenu_objet 4 4 * InsÚre ou enlÚve les champs dans le formulaire 5 5 * que l'on souhaite ajouter ou supprimer … … 11 11 $args = $flux['args']; 12 12 $type = $args['type']; 13 $langues_dispos = explode(',',$GLOBALS['meta']['langues_multilingue']); 13 14 if (in_array($type,array('rubrique','article','site'))){ 14 15 $id_secteur = $args['contexte']['id_secteur'] ? … … 51 52 $ajouts = pipeline('diogene_avant_formulaire',array('args'=>$args,'data'=>'')); 52 53 $flux['data'] = preg_replace(",(<div [^>]*class=[\"'][^>]*formulaire_editer_$type),Uims",$ajouts."\\1",$flux['data'],1); 54 } 55 /** 56 * On ajoute le formulaire de langue sur les articles 57 */ 58 if(($type=='article') && (count($langues_dispos)>1)){ 59 $saisie_langue = recuperer_fond('formulaires/selecteur_langue',array('langues_dispos'=>$langues_dispos,'id_article'=>$args['contexte']['id_article'])); 60 $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer_titre.*<\/li>),Uims","\\1".$saisie_langue,$flux['data'],1); 53 61 } 54 62 /** … … 162 170 } 163 171 if($flux['args']['form'] == 'editer_rubrique'){ 164 spip_log($flux['data']['id_rubrique'],'test');165 172 $id_rubrique = intval($flux['data']['id_rubrique']); 166 173 $infos_rubrique = sql_getfetsel('statut','spip_rubriques','id_rubrique='.intval($id_rubrique)); 167 spip_log($infos_rubrique,'test');168 174 if($infos_rubrique == 'publie'){ 169 175 $flux['data']['redirect'] = generer_url_entite($id_rubrique,'rubrique'); … … 177 183 } 178 184 185 function diogene_diogene_champs_sup($flux){ 186 $flux['article']['date'] = _T('diogene:champ_date_publication'); 187 if($GLOBALS['meta']['articles_redac'] !== 'non'){ 188 $flux['article']['date_redac'] = _T('diogene:champ_date_publication_anterieure'); 189 } 190 if($GLOBALS['meta']['activer_sites'] == 'oui'){ 191 $flux['site'] = array(); 192 } 193 $flux['rubrique'] = array(); 194 return $flux; 195 } 196 197 function diogene_diogene_avant_formulaire($flux){ 198 $flux['data'] .= '<script type="text/javascript" src="'.find_in_path('prive/javascript/presentation.js').'"></script>'; 199 if(is_array(unserialize($flux['args']['champs_ajoutes'])) && 200 (in_array('date',unserialize($flux['args']['champs_ajoutes'])) || in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])))){ 201 $flux['data'] .= recuperer_fond('formulaires/dateur/inc-dateur', $flux['args']); 202 } 203 return $flux; 204 } 205 206 function diogene_diogene_ajouter_media($flux){ 207 $id_article = $flux['args']['contexte']['id_article']; 208 if(is_array(unserialize($flux['args']['champs_ajoutes'])) && 209 (in_array('date',unserialize($flux['args']['champs_ajoutes'])) || in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])))){ 210 if(in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])) && in_array('date',unserialize($flux['args']['champs_ajoutes'])) && ($GLOBALS['meta']['articles_redac'] != 'non')){ 211 $dates_ajoutees = 'date_full'; 212 if(!$flux['args']['contexte']['date']){ 213 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',mktime())); 214 }else{ 215 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date']))); 216 } 217 if($flux['args']['contexte']['date_redac']){ 218 list($flux['args']['contexte']['date_redac'],$flux['args']['contexte']['heure_redac']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date_redac']))); 219 } 220 }elseif(in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])) && ($GLOBALS['meta']['articles_redac'] != 'non')){ 221 list($flux['args']['contexte']['date_redac'],$flux['args']['contexte']['heure_redac']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date_redac']))); 222 $dates_ajoutees = 'date_redac'; 223 }elseif(in_array('date',unserialize($flux['args']['champs_ajoutes']))){ 224 if(!$flux['args']['contexte']['date']){ 225 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',mktime())); 226 }else{ 227 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date']))); 228 } 229 $dates_ajoutees = 'date_orig'; 230 } 231 if($dates_ajoutees){ 232 $flux['args']['contexte']['dates_ajoutees'] = $dates_ajoutees; 233 $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_dates',$flux['args']['contexte']); 234 } 235 } 236 return $flux; 237 } 238 239 function diogene_diogene_ajout_media_post_verifier($flux){ 240 $id_article = _request('id_article'); 241 $erreurs = &$flux['args']['erreurs']; 242 243 if(!$erreurs['date'] && ($date = _request('date_orig'))){ 244 include_spip('inc/date_gestion'); 245 $date_orig = verifier_corriger_date_saisie('orig','oui',&$erreurs); 246 } 247 248 if(!$erreurs['date_redac'] && ($date = _request('date_redac'))){ 249 $date_redac = verifier_corriger_date_saisie('redac','oui',&$erreurs); 250 } 251 return $flux; 252 } 253 254 function diogene_diogene_ajout_media_post_traiter($flux){ 255 $id_objet = $flux['args']['id_objet']; 256 if(_request('date_orig')){ 257 $flux['data']['date'] = date('Y-m-d H:i:s',verifier_corriger_date_saisie('orig','oui',&$erreurs)); 258 } 259 if(_request('date_redac')){ 260 $flux['data']['date'] = date('Y-m-d H:i:s',verifier_corriger_date_saisie('redac','oui',&$erreurs)); 261 } 262 return $flux; 263 } 264 265 /** 266 * Insertion dans le pipeline pre_insertion 267 * A la creation d'un article on vérifie si on nous envoie la langue 268 * si oui on la met correctement dÚs l'insertion 269 * 270 * @param array $flux le contexte du pipeline 271 */ 272 function diogene_pre_insertion($flux){ 273 if(($flux['args']['table'] == 'spip_articles') && _request('changer_lang')){ 274 $flux['data']['lang'] = _request('changer_lang'); 275 $flux['data']['langue_choisie'] = 'oui'; 276 } 277 return $flux; 278 } 279 280 /** 281 * Insertion dans le pipeline pre_edition 282 * A la modification d'un article on vérifie si on nous envoie la langue 283 * si elle est différente de celle de l'article on la change 284 * 285 * @param array $flux le contexte du pipeline 286 */ 179 287 function diogene_pre_edition($flux){ 180 288 if(in_array($flux['args']['type'],array('article','rubrique','site')) && ($flux['args']['action']=='modifier')){ 181 289 $flux = pipeline('diogene_ajout_media_post_traiter',$flux); 182 return $flux; 290 } 291 if(($flux['args']['table'] == 'spip_articles') && _request('changer_lang')){ 292 $flux['data']['lang'] = _request('changer_lang'); 293 $flux['data']['langue_choisie'] = 'oui'; 183 294 } 184 295 return $flux; … … 205 316 return $flux; 206 317 } 207 function diogene_diogene_champs_sup($flux){208 $flux['article']['date'] = _T('diogene:champ_date_publication');209 if($GLOBALS['meta']['articles_redac'] !== 'non'){210 $flux['article']['date_redac'] = _T('diogene:champ_date_publication_anterieure');211 }212 if($GLOBALS['meta']['activer_sites'] == 'oui'){213 $flux['site'] = array();214 }215 $flux['rubrique'] = array();216 return $flux;217 }218 219 function diogene_diogene_avant_formulaire($flux){220 $flux['data'] .= '<script type="text/javascript" src="'.find_in_path('prive/javascript/presentation.js').'"></script>';221 if(is_array(unserialize($flux['args']['champs_ajoutes'])) &&222 (in_array('date',unserialize($flux['args']['champs_ajoutes'])) || in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])))){223 $flux['data'] .= recuperer_fond('formulaires/dateur/inc-dateur', $flux['args']);224 }225 return $flux;226 }227 228 function diogene_diogene_ajouter_media($flux){229 $id_article = $flux['args']['contexte']['id_article'];230 if(is_array(unserialize($flux['args']['champs_ajoutes'])) &&231 (in_array('date',unserialize($flux['args']['champs_ajoutes'])) || in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])))){232 if(in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])) && in_array('date',unserialize($flux['args']['champs_ajoutes'])) && ($GLOBALS['meta']['articles_redac'] != 'non')){233 $dates_ajoutees = 'date_full';234 if(!$flux['args']['contexte']['date']){235 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',mktime()));236 }else{237 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date'])));238 }239 if($flux['args']['contexte']['date_redac']){240 list($flux['args']['contexte']['date_redac'],$flux['args']['contexte']['heure_redac']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date_redac'])));241 }242 }elseif(in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])) && ($GLOBALS['meta']['articles_redac'] != 'non')){243 list($flux['args']['contexte']['date_redac'],$flux['args']['contexte']['heure_redac']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date_redac'])));244 $dates_ajoutees = 'date_redac';245 }elseif(in_array('date',unserialize($flux['args']['champs_ajoutes']))){246 if(!$flux['args']['contexte']['date']){247 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',mktime()));248 }else{249 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date'])));250 }251 $dates_ajoutees = 'date_orig';252 }253 if($dates_ajoutees){254 $flux['args']['contexte']['dates_ajoutees'] = $dates_ajoutees;255 $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_dates',$flux['args']['contexte']);256 }257 }258 return $flux;259 }260 261 function diogene_diogene_ajout_media_post_verifier($flux){262 $id_article = _request('id_article');263 $erreurs = &$flux['args']['erreurs'];264 265 if(!$erreurs['date'] && ($date = _request('date_orig'))){266 include_spip('inc/date_gestion');267 $date_orig = verifier_corriger_date_saisie('orig','oui',&$erreurs);268 }269 270 if(!$erreurs['date_redac'] && ($date = _request('date_redac'))){271 $date_redac = verifier_corriger_date_saisie('redac','oui',&$erreurs);272 }273 return $flux;274 }275 276 function diogene_diogene_ajout_media_post_traiter($flux){277 $id_objet = $flux['args']['id_objet'];278 if(_request('date_orig')){279 $flux['data']['date'] = date('Y-m-d H:i:s',verifier_corriger_date_saisie('orig','oui',&$erreurs));280 }281 if(_request('date_redac')){282 $flux['data']['date'] = date('Y-m-d H:i:s',verifier_corriger_date_saisie('redac','oui',&$erreurs));283 }284 return $flux;285 }286 287 318 ?> -
plugins_spip/diogene/formulaires/selecteur_langue.html
r3343 r3352 1 1 [(#REM) 2 Squelette permettant d'afficher un sélecteur de langue dans2 Squelette permettant d'afficher un sélecteur de langues dans 3 3 le formulaire d'édition d'articles 4 5 Le select a pour attribut name "changer_lang" pour ne pas entrer en concurrence 6 avec la langue de l'environnement 4 7 5 8 Doit recevoir dans l'environnement : 6 9 - un id_article 10 - un array des langues disponibles 11 7 12 ]#CACHE{0} 8 13 <li> 9 <label for=" choix_langue">14 <label for="langue"> 10 15 <:diogene:choix_langue:> 11 16 </label> 12 <BOUCLE_art(ARTICLES){id_article}> 17 #SET{langues_dispos,#ENV{langues_dispos}} 18 <BOUCLE_art(ARTICLES){id_article}{statut?}> 13 19 #SET{langue_article,#LANG} 14 <B_trads> 15 [(#SET{nb_langues,#COMPTEUR_BOUCLE})] 16 <p> 17 <:diogene:article_deja_traduit:> 18 <BOUCLE_trads(ARTICLES){traduction}{', '}{exclus}> 19 <a href="[(#SELF|parametre_url{id_article,#ID_ARTICLE}|parametre_url{id_rubrique,#ID_RUBRIQUE}|parametre_url{id_trad,''})]" title="#TITRE" class="nyromodal">[(#LANG|traduire_nom_langue)]</a> 20 </BOUCLE_trads> 21 </p> 22 </B_trads> 23 [(#SET{nb_langues,1})] 24 <//B_trads> 20 <B_trads> 21 [(#SET{nb_langues,#COMPTEUR_BOUCLE})] 22 <p class="explications"> 23 <:diogene:article_deja_traduit:> 24 <BOUCLE_trads(ARTICLES){traduction}{', '}{exclus}> 25 <a href="[(#SELF|parametre_url{id_article,#ID_ARTICLE}|parametre_url{id_rubrique,#ID_RUBRIQUE}|parametre_url{id_trad,''})]" title="#TITRE" class="nyromodal">[(#LANG|traduire_nom_langue)]</a> 26 [(#SET{langues_dispos,[(#GET{langues_dispos}|langue_unset{#LANG})]})] 27 </BOUCLE_trads> 28 </p> 29 </B_trads> 30 [(#SET{nb_langues,1})] 31 <//B_trads> 25 32 </BOUCLE_art> 26 [(#REM|diogene_nombre_langues|>{#GET{nb_langues}}|oui) 27 <select id="choix_langue" name="choix_langue"> 28 [(#ENV{id_trad}|oui)[(#GET{langue_article}|diogene_form_trad_langues)]] 29 [(#ENV{id_trad}|non)[(#ENV{lang}|diogene_form_langues)]] 30 </select>] 33 [(#SET{langue_defaut,#GET{langue_article,#ENV{lang}}})] 34 <B_langues> 35 <select id="langue" name="changer_lang"> 36 <BOUCLE_langues(POUR){tableau #GET{langues_dispos}}> 37 <option value="#VALEUR"[(#VALEUR|=={#GET{langue_defaut}}|oui) selected="selected"]>[(#VALEUR|traduire_nom_langue)]</option> 38 </BOUCLE_langues> 39 </select> 40 </B_langues> 31 41 </li> -
plugins_spip/diogene/lang/diogene_en.php
r3349 r3352 11 11 'champ_date_publication_anterieure' => 'Date of earlier publishing', 12 12 'chercher_article' => 'Search for an article ?', 13 'choix_langue' => ' Choice of the language',13 'choix_langue' => 'Language', 14 14 15 15 // D -
plugins_spip/diogene/lang/diogene_fr.php
r3349 r3352 11 11 'champ_date_publication_anterieure' => 'Date de publication antérieure', 12 12 'chercher_article' => 'Rechercher un article ?', 13 'choix_langue' => ' Choix de la langue',13 'choix_langue' => 'Langue', 14 14 15 15 // D -
plugins_spip/diogene/plugin.xml
r3348 r3352 67 67 </pipeline> 68 68 <pipeline> 69 <nom>pre_insertion</nom> 70 <inclure>diogene_pipelines.php</inclure> 71 </pipeline> 72 <pipeline> 73 <nom>pre_edition</nom> 74 <inclure>diogene_pipelines.php</inclure> 75 </pipeline> 76 <pipeline> 69 77 <nom>post_edition</nom> 70 78 <inclure>diogene_pipelines.php</inclure>
Note: See TracChangeset
for help on using the changeset viewer.