Changeset 93617 in spip-zone for _core_/plugins/mots/formulaires/editer_mot.php
- Timestamp:
- Dec 13, 2015, 11:44:49 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
_core_/plugins/mots/formulaires/editer_mot.php
r93092 r93617 15 15 * 16 16 * @package SPIP\Mots\Formulaires 17 **/ 18 if (!defined("_ECRIRE_INC_VERSION")) return; 17 **/ 18 if (!defined("_ECRIRE_INC_VERSION")) { 19 return; 20 } 19 21 20 22 include_spip('inc/actions'); … … 25 27 * 26 28 * @see formulaires_editer_objet_charger() 27 * 29 * 28 30 * @param int|string $id_mot 29 31 * Identifiant du mot. 'new' pour un nouveau mot. … … 45 47 * @return array 46 48 * Environnement du formulaire 47 **/ 48 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 = ''){ 49 $valeurs = formulaires_editer_objet_charger('mot',$id_mot,$id_groupe,'',$retour,$config_fonc,$row,$hidden); 50 if ($valeurs['id_parent'] && !$valeurs['id_groupe']) 49 **/ 50 function formulaires_editer_mot_charger_dist( 51 $id_mot = 'new', 52 $id_groupe = 0, 53 $retour = '', 54 $associer_objet = '', 55 $dummy1 = '', 56 $dummy2 = '', 57 $config_fonc = 'mots_edit_config', 58 $row = array(), 59 $hidden = '' 60 ) { 61 $valeurs = formulaires_editer_objet_charger('mot', $id_mot, $id_groupe, '', $retour, $config_fonc, $row, $hidden); 62 if ($valeurs['id_parent'] && !$valeurs['id_groupe']) { 51 63 $valeurs['id_groupe'] = $valeurs['id_parent']; 52 53 if ($associer_objet){ 54 if (intval($associer_objet)){ 64 } 65 66 if ($associer_objet) { 67 if (intval($associer_objet)) { 55 68 // compat avec l'appel de la forme ajouter_id_article 56 69 $objet = 'article'; 57 70 $id_objet = intval($associer_objet); 58 } 59 else { 60 list($objet,$id_objet) = explode('|',$associer_objet); 61 } 62 } 63 $valeurs['table'] = ($associer_objet?table_objet($objet):''); 71 } else { 72 list($objet, $id_objet) = explode('|', $associer_objet); 73 } 74 } 75 $valeurs['table'] = ($associer_objet ? table_objet($objet) : ''); 64 76 65 77 // Si nouveau et titre dans l'url : fixer le titre 66 78 if ($id_mot == 'oui' 67 AND strlen($titre = _request('titre'))) 79 AND strlen($titre = _request('titre')) 80 ) { 68 81 $valeurs['titre'] = $titre; 82 } 69 83 70 84 return $valeurs; … … 95 109 * @return string 96 110 * Hash du formulaire 97 **/ 98 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 = ''){ 99 return serialize(array(intval($id_mot),$associer_objet)); 111 **/ 112 function formulaires_editer_mot_identifier_dist( 113 $id_mot = 'new', 114 $id_groupe = 0, 115 $retour = '', 116 $associer_objet = '', 117 $dummy1 = '', 118 $dummy2 = '', 119 $config_fonc = 'mots_edit_config', 120 $row = array(), 121 $hidden = '' 122 ) { 123 return serialize(array(intval($id_mot), $associer_objet)); 100 124 } 101 125 … … 108 132 * Configuration pour le formulaire 109 133 */ 110 function mots_edit_config($row) 111 { 134 function mots_edit_config($row) { 112 135 global $spip_ecran, $spip_lang; 113 136 114 137 $config = $GLOBALS['meta']; 115 $config['lignes'] = ($spip_ecran == "large") ? 8 : 5;138 $config['lignes'] = ($spip_ecran == "large") ? 8 : 5; 116 139 $config['langue'] = $spip_lang; 117 140 $config['restreint'] = false; 141 118 142 return $config; 119 143 } … … 123 147 * 124 148 * @see formulaires_editer_objet_verifier() 125 * 149 * 126 150 * @param int|string $id_mot 127 151 * Identifiant du mot. 'new' pour un nouveau mot. … … 143 167 * @return array 144 168 * Tableau des erreurs 145 **/ 146 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 = ''){ 147 148 $erreurs = formulaires_editer_objet_verifier('mot',$id_mot,array('titre')); 169 **/ 170 function formulaires_editer_mot_verifier_dist( 171 $id_mot = 'new', 172 $id_groupe = 0, 173 $retour = '', 174 $associer_objet = '', 175 $dummy1 = '', 176 $dummy2 = '', 177 $config_fonc = 'mots_edit_config', 178 $row = array(), 179 $hidden = '' 180 ) { 181 182 $erreurs = formulaires_editer_objet_verifier('mot', $id_mot, array('titre')); 149 183 // verifier qu'un mot du meme groupe n'existe pas avec le meme titre 150 184 // la comparaison accepte un numero absent ou different … … 152 186 // on ne fait la verification que si c'est une creation de mot ou un retitrage 153 187 if (!intval($id_mot) 154 OR supprimer_numero(_request('titre'))!==supprimer_numero(sql_getfetsel('titre','spip_mots','id_mot='.intval($id_mot)))){ 155 if (!count($erreurs) AND !_request('confirm_titre_mot')){ 188 OR supprimer_numero(_request('titre')) !== supprimer_numero(sql_getfetsel('titre', 'spip_mots', 189 'id_mot=' . intval($id_mot))) 190 ) { 191 if (!count($erreurs) AND !_request('confirm_titre_mot')) { 156 192 if (sql_countsel("spip_mots", 157 "titre REGEXP ".sql_quote("^([0-9]+[.] )?".preg_quote(supprimer_numero(_request('titre')))."$")158 ." AND id_mot<>".intval($id_mot)))193 "titre REGEXP " . sql_quote("^([0-9]+[.] )?" . preg_quote(supprimer_numero(_request('titre'))) . "$") 194 . " AND id_mot<>" . intval($id_mot))) { 159 195 $erreurs['titre'] = 160 _T('mots:avis_doublon_mot_cle') 161 ." <input type='hidden' name='confirm_titre_mot' value='1' />"; 162 } 163 } 196 _T('mots:avis_doublon_mot_cle') 197 . " <input type='hidden' name='confirm_titre_mot' value='1' />"; 198 } 199 } 200 } 201 164 202 return $erreurs; 165 203 } … … 167 205 /** 168 206 * Traitements du formulaire d'édition d'un mot 169 * 207 * 170 208 * @param int|string $id_mot 171 209 * Identifiant du mot. 'new' pour un nouveau mot. … … 187 225 * @return array 188 226 * Retour des traitements 189 **/ 190 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 = ''){ 227 **/ 228 function formulaires_editer_mot_traiter_dist( 229 $id_mot = 'new', 230 $id_groupe = 0, 231 $retour = '', 232 $associer_objet = '', 233 $dummy1 = '', 234 $dummy2 = '', 235 $config_fonc = 'mots_edit_config', 236 $row = array(), 237 $hidden = '' 238 ) { 191 239 $res = array(); 192 set_request('redirect', '');193 $action_editer = charger_fonction("editer_mot", 'action');194 list($id_mot, $err) = $action_editer();195 if ($err) {240 set_request('redirect', ''); 241 $action_editer = charger_fonction("editer_mot", 'action'); 242 list($id_mot, $err) = $action_editer(); 243 if ($err) { 196 244 $res['message_erreur'] = $err; 197 } 198 else { 245 } else { 199 246 $res['message_ok'] = ""; 200 if ($retour) {201 if (strncmp($retour, 'javascript:',11)==0){202 $res['message_ok'] .= '<script type="text/javascript">/*<![CDATA[*/' .substr($retour,11).'/*]]>*/</script>';247 if ($retour) { 248 if (strncmp($retour, 'javascript:', 11) == 0) { 249 $res['message_ok'] .= '<script type="text/javascript">/*<![CDATA[*/' . substr($retour, 11) . '/*]]>*/</script>'; 203 250 $res['editable'] = true; 204 } 205 else { 251 } else { 206 252 $res['redirect'] = $retour; 207 if (strlen(parametre_url($retour,'id_mot'))) 208 $res['redirect'] = parametre_url($res['redirect'],'id_mot',$id_mot); 209 } 210 } 211 212 if ($associer_objet){ 213 if (intval($associer_objet)){ 253 if (strlen(parametre_url($retour, 'id_mot'))) { 254 $res['redirect'] = parametre_url($res['redirect'], 'id_mot', $id_mot); 255 } 256 } 257 } 258 259 if ($associer_objet) { 260 if (intval($associer_objet)) { 214 261 // compat avec l'appel de la forme ajouter_id_article 215 262 $objet = 'article'; 216 263 $id_objet = intval($associer_objet); 217 } 218 else { 219 list($objet,$id_objet) = explode('|',$associer_objet); 220 } 221 if ($objet AND $id_objet AND autoriser('modifier',$objet,$id_objet)){ 264 } else { 265 list($objet, $id_objet) = explode('|', $associer_objet); 266 } 267 if ($objet AND $id_objet AND autoriser('modifier', $objet, $id_objet)) { 222 268 include_spip('action/editer_mot'); 223 mot_associer($id_mot, array($objet=>$id_objet)); 224 if (isset($res['redirect'])) 225 $res['redirect'] = parametre_url ($res['redirect'], "id_lien_ajoute", $id_mot, '&'); 226 } 227 } 228 229 } 269 mot_associer($id_mot, array($objet => $id_objet)); 270 if (isset($res['redirect'])) { 271 $res['redirect'] = parametre_url($res['redirect'], "id_lien_ajoute", $id_mot, '&'); 272 } 273 } 274 } 275 276 } 277 230 278 return $res; 231 279 }
Note: See TracChangeset
for help on using the changeset viewer.