123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- /***************************************************************************\
- * SPIP, Systeme de publication pour l'internet *
- * *
- * Copyright (c) 2001-2014 *
- * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
- * *
- * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
- * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
- \***************************************************************************/
- if (!defined("_ECRIRE_INC_VERSION")) return;
- include_spip('inc/actions');
- include_spip('inc/editer');
- // http://code.spip.net/@inc_editer_mot_dist
- function formulaires_editer_mot_charger_dist($id_mot='new', $id_groupe=0, $retour='', $associer_objet='', $dummy1='', $dummy2='', $config_fonc='mots_edit_config', $row=array(), $hidden=''){
- $valeurs = formulaires_editer_objet_charger('mot',$id_mot,$id_groupe,'',$retour,$config_fonc,$row,$hidden);
- if ($valeurs['id_parent'] && !$valeurs['id_groupe'])
- $valeurs['id_groupe'] = $valeurs['id_parent'];
-
- if ($associer_objet){
- if (intval($associer_objet)){
- // compat avec l'appel de la forme ajouter_id_article
- $objet = 'article';
- $id_objet = intval($associer_objet);
- }
- else {
- list($objet,$id_objet) = explode('|',$associer_objet);
- }
- }
- $valeurs['table'] = ($associer_objet?table_objet($objet):'');
- // Si nouveau et titre dans l'url : fixer le titre
- if ($id_mot == 'oui'
- AND strlen($titre = _request('titre')))
- $valeurs['titre'] = $titre;
- return $valeurs;
- }
- /**
- * Identifier le formulaire en faisant abstraction des parametres qui
- * ne representent pas l'objet edite
- */
- function formulaires_editer_mot_identifier_dist($id_mot='new', $id_groupe=0, $retour='', $associer_objet='', $dummy1='', $dummy2='', $config_fonc='mots_edit_config', $row=array(), $hidden=''){
- return serialize(array(intval($id_mot),$associer_objet));
- }
- // Choix par defaut des options de presentation
- // http://code.spip.net/@articles_edit_config
- function mots_edit_config($row)
- {
- global $spip_ecran, $spip_lang;
- $config = $GLOBALS['meta'];
- $config['lignes'] = ($spip_ecran == "large")? 8 : 5;
- $config['langue'] = $spip_lang;
- $config['restreint'] = false;
- return $config;
- }
- function formulaires_editer_mot_verifier_dist($id_mot='new', $id_groupe=0, $retour='', $associer_objet='', $dummy1='', $dummy2='', $config_fonc='mots_edit_config', $row=array(), $hidden=''){
- $erreurs = formulaires_editer_objet_verifier('mot',$id_mot,array('titre'));
- // verifier qu'un mot du meme groupe n'existe pas avec le meme titre
- // la comparaison accepte un numero absent ou different
- // sinon avertir
- if (!count($erreurs) AND !_request('confirm_titre_mot')){
- if (sql_countsel("spip_mots",
- "titre REGEXP ".sql_quote("^([0-9]+[.] )?".preg_quote(supprimer_numero(_request('titre')))."$")
- ." AND id_mot<>".intval($id_mot)))
- $erreurs['titre'] =
- _T('mots:avis_doublon_mot_cle')
- ." <input type='hidden' name='confirm_titre_mot' value='1' />";
- }
- return $erreurs;
- }
- // http://code.spip.net/@inc_editer_mot_dist
- function formulaires_editer_mot_traiter_dist($id_mot='new', $id_groupe=0, $retour='', $associer_objet='', $dummy1='', $dummy2='', $config_fonc='mots_edit_config', $row=array(), $hidden=''){
- $res = array();
- set_request('redirect','');
- $action_editer = charger_fonction("editer_mot",'action');
- list($id_mot,$err) = $action_editer();
- if ($err){
- $res['message_erreur'] = $err;
- }
- else {
- $res['message_ok'] = "";
- if ($retour){
- if (strncmp($retour,'javascript:',11)==0){
- $res['message_ok'] .= '<script type="text/javascript">/*<![CDATA[*/'.substr($retour,11).'/*]]>*/</script>';
- $res['editable'] = true;
- }
- else {
- $res['redirect'] = $retour;
- if (strlen(parametre_url($retour,'id_mot')))
- $res['redirect'] = parametre_url($res['redirect'],'id_mot',$id_mot);
- }
- }
- if ($associer_objet){
- if (intval($associer_objet)){
- // compat avec l'appel de la forme ajouter_id_article
- $objet = 'article';
- $id_objet = intval($associer_objet);
- }
- else {
- list($objet,$id_objet) = explode('|',$associer_objet);
- }
- if ($objet AND $id_objet AND autoriser('modifier',$objet,$id_objet)){
- include_spip('action/editer_mot');
- mot_associer($id_mot, array($objet=>$id_objet));
- if (isset($res['redirect']))
- $res['redirect'] = parametre_url ($res['redirect'], "id_lien_ajoute", $id_mot, '&');
- }
- }
- }
- return $res;
- }
- ?>
|