Completed
Push — master ( 3fe97a...7569f9 )
by cam
02:24
created
ecrire/src/I18n/Description.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -3,16 +3,16 @@
 block discarded – undo
3 3
 namespace Spip\I18n;
4 4
 
5 5
 class Description {
6
-	/** @var string code de langue (hors module) */
7
-	public $code;
8
-	/** @var string nom du module de langue */
9
-	public $module;
10
-	/** @var string langue de la traduction */
11
-	public $langue;
12
-	/** @var string traduction */
13
-	public $texte;
14
-	/** @var string var mode particulier appliqué ? */
15
-	public $mode;
16
-	/** @var bool Corrections des textes appliqué ? */
17
-	public $corrections = false;
6
+    /** @var string code de langue (hors module) */
7
+    public $code;
8
+    /** @var string nom du module de langue */
9
+    public $module;
10
+    /** @var string langue de la traduction */
11
+    public $langue;
12
+    /** @var string traduction */
13
+    public $texte;
14
+    /** @var string var mode particulier appliqué ? */
15
+    public $mode;
16
+    /** @var bool Corrections des textes appliqué ? */
17
+    public $corrections = false;
18 18
 }
Please login to merge, or discard this patch.
ecrire/xml/indenter.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -10,54 +10,54 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 class IndenteurXML {
17
-	public function debutElement($phraseur, $name, $attrs) {
18
-		xml_debutElement($this, $name, $attrs);
19
-	}
20
-
21
-	public function finElement($phraseur, $name) {
22
-		xml_finElement($this, $name);
23
-	}
24
-
25
-	public function textElement($phraseur, $data) {
26
-		xml_textElement($this, $data);
27
-	}
28
-
29
-	public function piElement($phraseur, $target, $data) {
30
-		xml_PiElement($this, $target, $data);
31
-	}
32
-
33
-	public function defaultElement($phraseur, $data) {
34
-		xml_defaultElement($this, $data);
35
-	}
36
-
37
-	public function phraserTout($phraseur, $data) {
38
-		xml_parsestring($this, $data);
39
-	}
40
-
41
-	public $depth = '';
42
-	public $res = '';
43
-	public $err = [];
44
-	public $contenu = [];
45
-	public $ouvrant = [];
46
-	public $reperes = [];
47
-	public $entete = '';
48
-	public $page = '';
49
-	public $dtc = null;
50
-	public $sax = null;
17
+    public function debutElement($phraseur, $name, $attrs) {
18
+        xml_debutElement($this, $name, $attrs);
19
+    }
20
+
21
+    public function finElement($phraseur, $name) {
22
+        xml_finElement($this, $name);
23
+    }
24
+
25
+    public function textElement($phraseur, $data) {
26
+        xml_textElement($this, $data);
27
+    }
28
+
29
+    public function piElement($phraseur, $target, $data) {
30
+        xml_PiElement($this, $target, $data);
31
+    }
32
+
33
+    public function defaultElement($phraseur, $data) {
34
+        xml_defaultElement($this, $data);
35
+    }
36
+
37
+    public function phraserTout($phraseur, $data) {
38
+        xml_parsestring($this, $data);
39
+    }
40
+
41
+    public $depth = '';
42
+    public $res = '';
43
+    public $err = [];
44
+    public $contenu = [];
45
+    public $ouvrant = [];
46
+    public $reperes = [];
47
+    public $entete = '';
48
+    public $page = '';
49
+    public $dtc = null;
50
+    public $sax = null;
51 51
 }
52 52
 
53 53
 function xml_indenter_dist($page, $apply = false) {
54
-	$sax = charger_fonction('sax', 'xml');
55
-	$f = new IndenteurXML();
56
-	$sax($page, $apply, $f);
57
-	if (!$f->err) {
58
-		return $f->entete . $f->res;
59
-	}
60
-	spip_log('indentation impossible ' . (is_countable($f->err) ? count($f->err) : 0) . ' erreurs de validation');
61
-
62
-	return $f->entete . $f->page;
54
+    $sax = charger_fonction('sax', 'xml');
55
+    $f = new IndenteurXML();
56
+    $sax($page, $apply, $f);
57
+    if (!$f->err) {
58
+        return $f->entete . $f->res;
59
+    }
60
+    spip_log('indentation impossible ' . (is_countable($f->err) ? count($f->err) : 0) . ' erreurs de validation');
61
+
62
+    return $f->entete . $f->page;
63 63
 }
Please login to merge, or discard this patch.
ecrire/req/sqlite3.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 
@@ -20,18 +20,18 @@  discard block
 block discarded – undo
20 20
 
21 21
 
22 22
 function req_sqlite3_dist($addr, $port, $login, #[\SensitiveParameter] $pass, $db = '', $prefixe = '') {
23
-	return req_sqlite_dist($addr, $port, $login, $pass, $db, $prefixe, $sqlite_version = 3);
23
+    return req_sqlite_dist($addr, $port, $login, $pass, $db, $prefixe, $sqlite_version = 3);
24 24
 }
25 25
 
26 26
 
27 27
 function spip_sqlite3_constantes() {
28
-	if (!defined('SPIP_SQLITE3_ASSOC')) {
29
-		define('SPIP_SQLITE3_ASSOC', PDO::FETCH_ASSOC);
30
-		define('SPIP_SQLITE3_NUM', PDO::FETCH_NUM);
31
-		define('SPIP_SQLITE3_BOTH', PDO::FETCH_BOTH);
32
-	}
28
+    if (!defined('SPIP_SQLITE3_ASSOC')) {
29
+        define('SPIP_SQLITE3_ASSOC', PDO::FETCH_ASSOC);
30
+        define('SPIP_SQLITE3_NUM', PDO::FETCH_NUM);
31
+        define('SPIP_SQLITE3_BOTH', PDO::FETCH_BOTH);
32
+    }
33 33
 }
34 34
 
35 35
 function spip_versions_sqlite3() {
36
-	return _sqlite_charger_version(3) ? 3 : false;
36
+    return _sqlite_charger_version(3) ? 3 : false;
37 37
 }
Please login to merge, or discard this patch.
ecrire/src/Afficher/Minipage/Page.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -16,5 +16,5 @@
 block discarded – undo
16 16
  * Présentation des pages simplifiées publiques pour envoyer un message à un utilisateur
17 17
  **/
18 18
 class Page extends AbstractPage {
19
-	public const TYPE = 'public';
19
+    public const TYPE = 'public';
20 20
 }
Please login to merge, or discard this patch.
prive/informer_auteur_fonctions.php 1 patch
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 
@@ -33,15 +33,15 @@  discard block
 block discarded – undo
33 33
  *     JSON des différentes informations
34 34
  */
35 35
 function informer_auteur($bof) {
36
-	include_spip('inc/json');
37
-	include_spip('formulaires/login');
38
-	include_spip('inc/auth');
39
-	$login = (string) _request('var_login');
40
-	$row = auth_informer_login($login);
41
-	if ($row && is_array($row) && isset($row['id_auteur'])) {
42
-		unset($row['id_auteur']);
43
-	}
36
+    include_spip('inc/json');
37
+    include_spip('formulaires/login');
38
+    include_spip('inc/auth');
39
+    $login = (string) _request('var_login');
40
+    $row = auth_informer_login($login);
41
+    if ($row && is_array($row) && isset($row['id_auteur'])) {
42
+        unset($row['id_auteur']);
43
+    }
44 44
 
45
-	// on encode tout pour ne pas avoir de probleme au deballage dans le JS
46
-	return json_encode($row, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP);
45
+    // on encode tout pour ne pas avoir de probleme au deballage dans le JS
46
+    return json_encode($row, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP);
47 47
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_transcodeur.php 1 patch
Indentation   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -10,33 +10,33 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 function formulaires_configurer_transcodeur_charger_dist() {
17
-	return [
18
-		'charset' => $GLOBALS['meta']['charset'],
19
-	];
17
+    return [
18
+        'charset' => $GLOBALS['meta']['charset'],
19
+    ];
20 20
 }
21 21
 
22 22
 function formulaires_configurer_transcodeur_verifier_dist() {
23
-	include_spip('inc/charsets');
23
+    include_spip('inc/charsets');
24 24
 
25
-	$erreurs = [];
26
-	if (!$charset = _request('charset')) {
27
-		$erreurs['charset'] = _T('info_obligatoire');
28
-	} elseif ($charset != 'utf-8' && !load_charset($charset)) {
29
-		$erreurs['charset'] = _T('utf8_convert_erreur_orig', ['charset' => entites_html($charset)]);
30
-	}
25
+    $erreurs = [];
26
+    if (!$charset = _request('charset')) {
27
+        $erreurs['charset'] = _T('info_obligatoire');
28
+    } elseif ($charset != 'utf-8' && !load_charset($charset)) {
29
+        $erreurs['charset'] = _T('utf8_convert_erreur_orig', ['charset' => entites_html($charset)]);
30
+    }
31 31
 
32
-	return $erreurs;
32
+    return $erreurs;
33 33
 }
34 34
 
35 35
 
36 36
 function formulaires_configurer_transcodeur_traiter_dist() {
37
-	$res = ['editable' => true];
38
-	ecrire_meta('charset', _request('charset'));
39
-	$res['message_ok'] = _T('config_info_enregistree');
37
+    $res = ['editable' => true];
38
+    ecrire_meta('charset', _request('charset'));
39
+    $res['message_ok'] = _T('config_info_enregistree');
40 40
 
41
-	return $res;
41
+    return $res;
42 42
 }
Please login to merge, or discard this patch.
prive/formulaires/instituer_objet.php 1 patch
Indentation   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 include_spip('inc/editer');
@@ -31,17 +31,17 @@  discard block
 block discarded – undo
31 31
  * @return array
32 32
  */
33 33
 function lister_statuts_proposes($desc, $publiable = true) {
34
-	if (!isset($desc['statut_textes_instituer'])) {
35
-		return false;
36
-	}
34
+    if (!isset($desc['statut_textes_instituer'])) {
35
+        return false;
36
+    }
37 37
 
38
-	$l = $desc['statut_textes_instituer'];
39
-	if (!$publiable) {
40
-		unset($l['publie']);
41
-		unset($l['refuse']);
42
-	}
38
+    $l = $desc['statut_textes_instituer'];
39
+    if (!$publiable) {
40
+        unset($l['publie']);
41
+        unset($l['refuse']);
42
+    }
43 43
 
44
-	return $l;
44
+    return $l;
45 45
 }
46 46
 
47 47
 /**
@@ -63,53 +63,53 @@  discard block
 block discarded – undo
63 63
  *     Environnement du formulaire ou false si aucun affichage à faire.
64 64
  */
65 65
 function formulaires_instituer_objet_charger_dist($objet, $id_objet, $retour = '', $editable = true) {
66
-	$editable = (bool) $editable;
67
-
68
-	$table = table_objet_sql($objet);
69
-	$desc = lister_tables_objets_sql($table);
70
-
71
-	if (!isset($desc['statut_textes_instituer'])) {
72
-		return false;
73
-	}
74
-
75
-	if (!autoriser('modifier', $objet, $id_objet)) {
76
-		$editable = false;
77
-	}
78
-
79
-	// charger le contenu de l'objet
80
-	// dont son champ statut
81
-	$v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
82
-
83
-	$publiable = true;
84
-	$statuts = lister_statuts_proposes($desc);
85
-	// tester si on a le droit de publier, si un statut publie existe
86
-	if (
87
-		isset($statuts['publie'])
88
-		&& !autoriser('instituer', $objet, $id_objet, null, ['statut' => 'publie'])
89
-	) {
90
-		if ($v['statut'] == 'publie') {
91
-			$editable = false;
92
-		} else {
93
-			$publiable = false;
94
-		}
95
-	}
96
-	$statuts = lister_statuts_proposes($desc, $editable ? $publiable : true);
97
-	if (count($statuts) == 1 && isset($statuts[$v['statut']])) {
98
-		$editable = false;
99
-	}
100
-
101
-	#if (!count($valeurs['statuts']))
102
-	return [
103
-		'editable' => $editable,
104
-		'statut' => $v['statut'],
105
-		'_objet' => $objet,
106
-		'_id_objet' => $id_objet,
107
-		'_statuts' => $statuts,
108
-		'_publiable' => $publiable,
109
-		'_label' => $desc['texte_changer_statut'] ?? 'texte_article_statut',
110
-		'_aide' => $desc['aide_changer_statut'] ?? '',
111
-		'_hidden' => "<input type='hidden' name='statut_old' value='" . $v['statut'] . "' />",
112
-	];
66
+    $editable = (bool) $editable;
67
+
68
+    $table = table_objet_sql($objet);
69
+    $desc = lister_tables_objets_sql($table);
70
+
71
+    if (!isset($desc['statut_textes_instituer'])) {
72
+        return false;
73
+    }
74
+
75
+    if (!autoriser('modifier', $objet, $id_objet)) {
76
+        $editable = false;
77
+    }
78
+
79
+    // charger le contenu de l'objet
80
+    // dont son champ statut
81
+    $v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
82
+
83
+    $publiable = true;
84
+    $statuts = lister_statuts_proposes($desc);
85
+    // tester si on a le droit de publier, si un statut publie existe
86
+    if (
87
+        isset($statuts['publie'])
88
+        && !autoriser('instituer', $objet, $id_objet, null, ['statut' => 'publie'])
89
+    ) {
90
+        if ($v['statut'] == 'publie') {
91
+            $editable = false;
92
+        } else {
93
+            $publiable = false;
94
+        }
95
+    }
96
+    $statuts = lister_statuts_proposes($desc, $editable ? $publiable : true);
97
+    if (count($statuts) == 1 && isset($statuts[$v['statut']])) {
98
+        $editable = false;
99
+    }
100
+
101
+    #if (!count($valeurs['statuts']))
102
+    return [
103
+        'editable' => $editable,
104
+        'statut' => $v['statut'],
105
+        '_objet' => $objet,
106
+        '_id_objet' => $id_objet,
107
+        '_statuts' => $statuts,
108
+        '_publiable' => $publiable,
109
+        '_label' => $desc['texte_changer_statut'] ?? 'texte_article_statut',
110
+        '_aide' => $desc['aide_changer_statut'] ?? '',
111
+        '_hidden' => "<input type='hidden' name='statut_old' value='" . $v['statut'] . "' />",
112
+    ];
113 113
 }
114 114
 
115 115
 /**
@@ -129,35 +129,35 @@  discard block
 block discarded – undo
129 129
  *     Tableau des erreurs
130 130
  */
131 131
 function formulaires_instituer_objet_verifier_dist($objet, $id_objet, $retour = '', $editable = true) {
132
-	$erreurs = [];
133
-	// charger le contenu de l'objet
134
-	// dont son champ statut
135
-	$v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
136
-
137
-	if ($v['statut'] !== _request('statut_old')) {
138
-		$erreurs['statut'] = _T('instituer_erreur_statut_a_change');
139
-	} else {
140
-		$table = table_objet_sql($objet);
141
-		$desc = lister_tables_objets_sql($table);
142
-
143
-		$publiable = true;
144
-		if (
145
-			isset($v['id_rubrique'])
146
-			&& !autoriser('publierdans', 'rubrique', $v['id_rubrique'])
147
-		) {
148
-			$publiable = false;
149
-		}
150
-		$l = lister_statuts_proposes($desc, $publiable);
151
-		$statut = _request('statut');
152
-		if (
153
-			!isset($l[$statut])
154
-			|| !autoriser('instituer', $objet, $id_objet, '', ['statut' => $statut])
155
-		) {
156
-			$erreurs['statut'] = _T('instituer_erreur_statut_non_autorise');
157
-		}
158
-	}
159
-
160
-	return $erreurs;
132
+    $erreurs = [];
133
+    // charger le contenu de l'objet
134
+    // dont son champ statut
135
+    $v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
136
+
137
+    if ($v['statut'] !== _request('statut_old')) {
138
+        $erreurs['statut'] = _T('instituer_erreur_statut_a_change');
139
+    } else {
140
+        $table = table_objet_sql($objet);
141
+        $desc = lister_tables_objets_sql($table);
142
+
143
+        $publiable = true;
144
+        if (
145
+            isset($v['id_rubrique'])
146
+            && !autoriser('publierdans', 'rubrique', $v['id_rubrique'])
147
+        ) {
148
+            $publiable = false;
149
+        }
150
+        $l = lister_statuts_proposes($desc, $publiable);
151
+        $statut = _request('statut');
152
+        if (
153
+            !isset($l[$statut])
154
+            || !autoriser('instituer', $objet, $id_objet, '', ['statut' => $statut])
155
+        ) {
156
+            $erreurs['statut'] = _T('instituer_erreur_statut_non_autorise');
157
+        }
158
+    }
159
+
160
+    return $erreurs;
161 161
 }
162 162
 
163 163
 /**
@@ -176,25 +176,25 @@  discard block
 block discarded – undo
176 176
  */
177 177
 function formulaires_instituer_objet_traiter_dist($objet, $id_objet, $retour = '', $editable = true) {
178 178
 
179
-	$c = ['statut' => _request('statut')];
180
-	// si on a envoye une 'date_posterieure', l'enregistrer
181
-	// todo dans le HTML
182
-	if ($d = _request('date_posterieure')) {
183
-		$c['date'] = $d;
184
-	}
185
-
186
-
187
-	include_spip('action/editer_objet');
188
-	if ($err = objet_instituer($objet, $id_objet, $c)) {
189
-		$res = ['message_erreur' => $err];
190
-	} else {
191
-		$res = ['message_ok' => _T('info_modification_enregistree')];
192
-		if ($retour) {
193
-			$res['redirect'] = $retour;
194
-		}
195
-		set_request('statut');
196
-		set_request('date_posterieure');
197
-	}
198
-
199
-	return $res;
179
+    $c = ['statut' => _request('statut')];
180
+    // si on a envoye une 'date_posterieure', l'enregistrer
181
+    // todo dans le HTML
182
+    if ($d = _request('date_posterieure')) {
183
+        $c['date'] = $d;
184
+    }
185
+
186
+
187
+    include_spip('action/editer_objet');
188
+    if ($err = objet_instituer($objet, $id_objet, $c)) {
189
+        $res = ['message_erreur' => $err];
190
+    } else {
191
+        $res = ['message_ok' => _T('info_modification_enregistree')];
192
+        if ($retour) {
193
+            $res['redirect'] = $retour;
194
+        }
195
+        set_request('statut');
196
+        set_request('date_posterieure');
197
+    }
198
+
199
+    return $res;
200 200
 }
Please login to merge, or discard this patch.
prive/formulaires/dater.php 1 patch
Indentation   +266 added lines, -266 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 
@@ -44,136 +44,136 @@  discard block
 block discarded – undo
44 44
  **/
45 45
 function formulaires_dater_charger_dist($objet, $id_objet, $retour = '', $options = []) {
46 46
 
47
-	$jour = null;
48
-	$mois = null;
49
-	$annee = null;
50
-	$heure = null;
51
-	$minute = null;
52
-	$objet = objet_type($objet);
53
-	if (!$objet || !(int) $id_objet) {
54
-		return false;
55
-	}
56
-
57
-	if (!is_array($options)) {
58
-		$options = unserialize($options);
59
-	}
60
-
61
-	$_id_objet = id_table_objet($objet);
62
-	$table = table_objet($objet);
63
-	$trouver_table = charger_fonction('trouver_table', 'base');
64
-	$desc = $trouver_table($table);
65
-
66
-	if (!$desc) {
67
-		return false;
68
-	}
69
-
70
-	$champ_date = $desc['date'] ?: 'date';
71
-	if (isset($options['champ_date']) && $options['champ_date']) {
72
-		$champ_date = $options['champ_date'];
73
-	}
74
-	if (!isset($desc['field'][$champ_date])) {
75
-		return false;
76
-	}
77
-
78
-	$valeurs = [
79
-		'objet' => $objet,
80
-		'id_objet' => $id_objet,
81
-		'id' => $id_objet,
82
-	];
83
-
84
-
85
-	$select = "$champ_date as date";
86
-	$champ_date_redac = 'date_redac';
87
-	if (isset($options['champ_date_redac']) && $options['champ_date_redac']) {
88
-		$champ_date_redac = $options['champ_date_redac'];
89
-	}
90
-	if (isset($desc['field'][$champ_date_redac])) {
91
-		$select .= ",$champ_date_redac as date_redac";
92
-	}
93
-	if (isset($desc['field']['statut'])) {
94
-		$select .= ',statut';
95
-	}
96
-
97
-
98
-	$row = sql_fetsel($select, $desc['table'], "$_id_objet=" . (int) $id_objet);
99
-	$statut = $row['statut'] ?? 'publie'; // pas de statut => publie
100
-
101
-	$valeurs['editable'] = autoriser('dater', $objet, $id_objet, null, ['statut' => $statut]);
102
-
103
-	$possedeDateRedac = false;
104
-
105
-	if (
106
-		isset($row['date_redac'])
107
-		&& ($regs = recup_date($row['date_redac'], false))
108
-	) {
109
-		$annee_redac = $regs[0];
110
-		$mois_redac = $regs[1];
111
-		$jour_redac = $regs[2];
112
-		$heure_redac = $regs[3];
113
-		$minute_redac = $regs[4];
114
-		$possedeDateRedac = true;
115
-		// attention : les vrai dates de l'annee 1 sont stockee avec +9000 => 9001
116
-		// mais reviennent ici en annee 1 par recup_date
117
-		// on verifie donc que le intval($row['date_redac']) qui ressort l'annee
118
-		// est bien lui aussi <=1 : dans ce cas c'est une date sql 'nulle' ou presque, selon
119
-		// le gestionnnaire sql utilise (0001-01-01 pour PG par exemple)
120
-		if ((int) $row['date_redac'] <= 1 && $annee_redac <= 1 && $mois_redac <= 1 && $jour_redac <= 1) {
121
-			$possedeDateRedac = false;
122
-		}
123
-	} else {
124
-		$annee_redac = $mois_redac = $jour_redac = $heure_redac = $minute_redac = 0;
125
-	}
126
-
127
-	if ($regs = recup_date($row['date'], false)) {
128
-		$annee = $regs[0];
129
-		$mois = $regs[1];
130
-		$jour = $regs[2];
131
-		$heure = $regs[3];
132
-		$minute = $regs[4];
133
-	}
134
-
135
-	// attention, si la variable s'appelle date ou date_redac, le compilo va
136
-	// la normaliser, ce qu'on ne veut pas ici.
137
-	$valeurs['afficher_date_redac'] = ($possedeDateRedac ? $row['date_redac'] : '');
138
-	$valeurs['date_redac_jour'] = dater_formater_saisie_jour($jour_redac, $mois_redac, $annee_redac);
139
-	$valeurs['date_redac_heure'] = "$heure_redac:$minute_redac";
140
-
141
-	$valeurs['afficher_date'] = $row['date'];
142
-	$valeurs['date_jour'] = dater_formater_saisie_jour($jour, $mois, $annee);
143
-	$valeurs['date_heure'] = "$heure:$minute";
144
-
145
-	$valeurs['sans_redac'] = !$possedeDateRedac;
146
-
147
-	if (isset($options['date_redac'])) {
148
-		$valeurs['_editer_date_anterieure'] = $options['date_redac'];
149
-	} else {
150
-		$valeurs['_editer_date_anterieure'] = ($objet == 'article' && ($GLOBALS['meta']['articles_redac'] != 'non' || $possedeDateRedac));
151
-	}
152
-	$valeurs['_label_date'] = (($statut == 'publie') ?
153
-		_T('texte_date_publication_objet') : _T('texte_date_creation_objet'));
154
-	if (isset($options['label_date']) && $options['label_date']) {
155
-		$valeurs['_label_date'] = $options['label_date'];
156
-	}
157
-	if (isset($options['label_date_redac']) && $options['label_date_redac']) {
158
-		$valeurs['_label_date_redac'] = $options['label_date_redac'];
159
-	}
160
-	if (isset($options['texte_sans_date_redac']) && $options['texte_sans_date_redac']) {
161
-		$valeurs['_texte_sans_date_redac'] = $options['texte_sans_date_redac'];
162
-	}
163
-	if (isset($options['class']) && $options['class']) {
164
-		$valeurs['_class'] = $options['class'];
165
-	}
166
-
167
-	$valeurs['_saisie_en_cours'] = (_request('_saisie_en_cours') !== null || _request('date_jour') !== null);
168
-
169
-	// cas ou l'on ne peut pas dater mais on peut modifier la date de redac anterieure
170
-	// https://core.spip.net/issues/3494
171
-	$valeurs['_editer_date'] = $valeurs['editable'];
172
-	if ($valeurs['_editer_date_anterieure'] && !$valeurs['editable']) {
173
-		$valeurs['editable'] = autoriser('modifier', $objet, $id_objet);
174
-	}
175
-
176
-	return $valeurs;
47
+    $jour = null;
48
+    $mois = null;
49
+    $annee = null;
50
+    $heure = null;
51
+    $minute = null;
52
+    $objet = objet_type($objet);
53
+    if (!$objet || !(int) $id_objet) {
54
+        return false;
55
+    }
56
+
57
+    if (!is_array($options)) {
58
+        $options = unserialize($options);
59
+    }
60
+
61
+    $_id_objet = id_table_objet($objet);
62
+    $table = table_objet($objet);
63
+    $trouver_table = charger_fonction('trouver_table', 'base');
64
+    $desc = $trouver_table($table);
65
+
66
+    if (!$desc) {
67
+        return false;
68
+    }
69
+
70
+    $champ_date = $desc['date'] ?: 'date';
71
+    if (isset($options['champ_date']) && $options['champ_date']) {
72
+        $champ_date = $options['champ_date'];
73
+    }
74
+    if (!isset($desc['field'][$champ_date])) {
75
+        return false;
76
+    }
77
+
78
+    $valeurs = [
79
+        'objet' => $objet,
80
+        'id_objet' => $id_objet,
81
+        'id' => $id_objet,
82
+    ];
83
+
84
+
85
+    $select = "$champ_date as date";
86
+    $champ_date_redac = 'date_redac';
87
+    if (isset($options['champ_date_redac']) && $options['champ_date_redac']) {
88
+        $champ_date_redac = $options['champ_date_redac'];
89
+    }
90
+    if (isset($desc['field'][$champ_date_redac])) {
91
+        $select .= ",$champ_date_redac as date_redac";
92
+    }
93
+    if (isset($desc['field']['statut'])) {
94
+        $select .= ',statut';
95
+    }
96
+
97
+
98
+    $row = sql_fetsel($select, $desc['table'], "$_id_objet=" . (int) $id_objet);
99
+    $statut = $row['statut'] ?? 'publie'; // pas de statut => publie
100
+
101
+    $valeurs['editable'] = autoriser('dater', $objet, $id_objet, null, ['statut' => $statut]);
102
+
103
+    $possedeDateRedac = false;
104
+
105
+    if (
106
+        isset($row['date_redac'])
107
+        && ($regs = recup_date($row['date_redac'], false))
108
+    ) {
109
+        $annee_redac = $regs[0];
110
+        $mois_redac = $regs[1];
111
+        $jour_redac = $regs[2];
112
+        $heure_redac = $regs[3];
113
+        $minute_redac = $regs[4];
114
+        $possedeDateRedac = true;
115
+        // attention : les vrai dates de l'annee 1 sont stockee avec +9000 => 9001
116
+        // mais reviennent ici en annee 1 par recup_date
117
+        // on verifie donc que le intval($row['date_redac']) qui ressort l'annee
118
+        // est bien lui aussi <=1 : dans ce cas c'est une date sql 'nulle' ou presque, selon
119
+        // le gestionnnaire sql utilise (0001-01-01 pour PG par exemple)
120
+        if ((int) $row['date_redac'] <= 1 && $annee_redac <= 1 && $mois_redac <= 1 && $jour_redac <= 1) {
121
+            $possedeDateRedac = false;
122
+        }
123
+    } else {
124
+        $annee_redac = $mois_redac = $jour_redac = $heure_redac = $minute_redac = 0;
125
+    }
126
+
127
+    if ($regs = recup_date($row['date'], false)) {
128
+        $annee = $regs[0];
129
+        $mois = $regs[1];
130
+        $jour = $regs[2];
131
+        $heure = $regs[3];
132
+        $minute = $regs[4];
133
+    }
134
+
135
+    // attention, si la variable s'appelle date ou date_redac, le compilo va
136
+    // la normaliser, ce qu'on ne veut pas ici.
137
+    $valeurs['afficher_date_redac'] = ($possedeDateRedac ? $row['date_redac'] : '');
138
+    $valeurs['date_redac_jour'] = dater_formater_saisie_jour($jour_redac, $mois_redac, $annee_redac);
139
+    $valeurs['date_redac_heure'] = "$heure_redac:$minute_redac";
140
+
141
+    $valeurs['afficher_date'] = $row['date'];
142
+    $valeurs['date_jour'] = dater_formater_saisie_jour($jour, $mois, $annee);
143
+    $valeurs['date_heure'] = "$heure:$minute";
144
+
145
+    $valeurs['sans_redac'] = !$possedeDateRedac;
146
+
147
+    if (isset($options['date_redac'])) {
148
+        $valeurs['_editer_date_anterieure'] = $options['date_redac'];
149
+    } else {
150
+        $valeurs['_editer_date_anterieure'] = ($objet == 'article' && ($GLOBALS['meta']['articles_redac'] != 'non' || $possedeDateRedac));
151
+    }
152
+    $valeurs['_label_date'] = (($statut == 'publie') ?
153
+        _T('texte_date_publication_objet') : _T('texte_date_creation_objet'));
154
+    if (isset($options['label_date']) && $options['label_date']) {
155
+        $valeurs['_label_date'] = $options['label_date'];
156
+    }
157
+    if (isset($options['label_date_redac']) && $options['label_date_redac']) {
158
+        $valeurs['_label_date_redac'] = $options['label_date_redac'];
159
+    }
160
+    if (isset($options['texte_sans_date_redac']) && $options['texte_sans_date_redac']) {
161
+        $valeurs['_texte_sans_date_redac'] = $options['texte_sans_date_redac'];
162
+    }
163
+    if (isset($options['class']) && $options['class']) {
164
+        $valeurs['_class'] = $options['class'];
165
+    }
166
+
167
+    $valeurs['_saisie_en_cours'] = (_request('_saisie_en_cours') !== null || _request('date_jour') !== null);
168
+
169
+    // cas ou l'on ne peut pas dater mais on peut modifier la date de redac anterieure
170
+    // https://core.spip.net/issues/3494
171
+    $valeurs['_editer_date'] = $valeurs['editable'];
172
+    if ($valeurs['_editer_date_anterieure'] && !$valeurs['editable']) {
173
+        $valeurs['editable'] = autoriser('modifier', $objet, $id_objet);
174
+    }
175
+
176
+    return $valeurs;
177 177
 }
178 178
 
179 179
 /**
@@ -191,20 +191,20 @@  discard block
 block discarded – undo
191 191
  *     Date formatée tel que `02/10/2012`
192 192
  **/
193 193
 function dater_formater_saisie_jour($jour, $mois, $annee, $sep = '/') {
194
-	$annee = str_pad($annee, 4, '0', STR_PAD_LEFT);
195
-	if ((int) $jour) {
196
-		$jour = str_pad($jour, 2, '0', STR_PAD_LEFT);
197
-		$mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
194
+    $annee = str_pad($annee, 4, '0', STR_PAD_LEFT);
195
+    if ((int) $jour) {
196
+        $jour = str_pad($jour, 2, '0', STR_PAD_LEFT);
197
+        $mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
198 198
 
199
-		return "$jour$sep$mois$sep$annee";
200
-	}
201
-	if ((int) $mois) {
202
-		$mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
199
+        return "$jour$sep$mois$sep$annee";
200
+    }
201
+    if ((int) $mois) {
202
+        $mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
203 203
 
204
-		return "$mois$sep$annee";
205
-	}
204
+        return "$mois$sep$annee";
205
+    }
206 206
 
207
-	return $annee;
207
+    return $annee;
208 208
 }
209 209
 
210 210
 /**
@@ -223,7 +223,7 @@  discard block
 block discarded – undo
223 223
  *     Hash du formulaire
224 224
  **/
225 225
 function formulaires_dater_identifier_dist($objet, $id_objet, $retour = '', $options = []) {
226
-	return serialize([$objet, $id_objet]);
226
+    return serialize([$objet, $id_objet]);
227 227
 }
228 228
 
229 229
 /**
@@ -241,30 +241,30 @@  discard block
 block discarded – undo
241 241
  *     Tableau des erreurs
242 242
  */
243 243
 function formulaires_dater_verifier_dist($objet, $id_objet, $retour = '', $options = []) {
244
-	$erreurs = [];
245
-
246
-	// ouvrir le formulaire en edition ?
247
-	if (_request('_saisie_en_cours')) {
248
-		$erreurs['message_erreur'] = '';
249
-
250
-		return $erreurs;
251
-	}
252
-
253
-	if (_request('changer')) {
254
-		foreach (['date', 'date_redac'] as $k) {
255
-			if (($v = _request($k . '_jour')) && !dater_recuperer_date_saisie($v, $k)) {
256
-				$erreurs[$k] = _T('format_date_incorrecte');
257
-			} elseif (($v = _request($k . '_heure')) && !dater_recuperer_heure_saisie($v)) {
258
-				$erreurs[$k] = _T('format_heure_incorrecte');
259
-			}
260
-		}
261
-
262
-		if (!_request('date_jour')) {
263
-			$erreurs['date'] = _T('info_obligatoire');
264
-		}
265
-	}
266
-
267
-	return $erreurs;
244
+    $erreurs = [];
245
+
246
+    // ouvrir le formulaire en edition ?
247
+    if (_request('_saisie_en_cours')) {
248
+        $erreurs['message_erreur'] = '';
249
+
250
+        return $erreurs;
251
+    }
252
+
253
+    if (_request('changer')) {
254
+        foreach (['date', 'date_redac'] as $k) {
255
+            if (($v = _request($k . '_jour')) && !dater_recuperer_date_saisie($v, $k)) {
256
+                $erreurs[$k] = _T('format_date_incorrecte');
257
+            } elseif (($v = _request($k . '_heure')) && !dater_recuperer_heure_saisie($v)) {
258
+                $erreurs[$k] = _T('format_heure_incorrecte');
259
+            }
260
+        }
261
+
262
+        if (!_request('date_jour')) {
263
+            $erreurs['date'] = _T('info_obligatoire');
264
+        }
265
+    }
266
+
267
+    return $erreurs;
268 268
 }
269 269
 
270 270
 /**
@@ -282,79 +282,79 @@  discard block
 block discarded – undo
282 282
  *     Retours des traitements
283 283
  */
284 284
 function formulaires_dater_traiter_dist($objet, $id_objet, $retour = '', $options = []) {
285
-	$res = ['editable' => ' '];
286
-
287
-	if (_request('changer')) {
288
-		$table = table_objet($objet);
289
-		$trouver_table = charger_fonction('trouver_table', 'base');
290
-		$desc = $trouver_table($table);
291
-
292
-		if (!$desc) {
293
-			return ['message_erreur' => _L('erreur')];
294
-		} #impossible en principe
295
-
296
-		$champ_date = $desc['date'] ?: 'date';
297
-		if (isset($options['champ_date']) && $options['champ_date']) {
298
-			$champ_date = $options['champ_date'];
299
-		}
300
-
301
-		$set = [];
302
-
303
-		$charger = charger_fonction('charger', 'formulaires/dater/');
304
-		$v = $charger($objet, $id_objet, $retour, $options);
305
-
306
-		if ($v['_editer_date']) {
307
-			if (!$d = dater_recuperer_date_saisie(_request('date_jour'))) {
308
-				$d = [date('Y'), date('m'), date('d')];
309
-			}
310
-			if (!$h = dater_recuperer_heure_saisie(_request('date_heure'))) {
311
-				$h = [0, 0];
312
-			}
313
-
314
-			$set[$champ_date] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
315
-		}
316
-
317
-		$champ_date_redac = 'date_redac';
318
-		if (isset($options['champ_date_redac']) && $options['champ_date_redac']) {
319
-			$champ_date_redac = $options['champ_date_redac'];
320
-		}
321
-		if (isset($desc['field'][$champ_date_redac]) && $v['_editer_date_anterieure']) {
322
-			if (!_request('date_redac_jour') || _request('sans_redac')) {
323
-				$set[$champ_date_redac] = sql_format_date(0, 0, 0, 0, 0, 0);
324
-			} else {
325
-				if (!$d = dater_recuperer_date_saisie(_request('date_redac_jour'), 'date_redac')) {
326
-					$d = [date('Y'), date('m'), date('d')];
327
-				}
328
-				if (!$h = dater_recuperer_heure_saisie(_request('date_redac_heure'))) {
329
-					$h = [0, 0];
330
-				}
331
-				$set[$champ_date_redac] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
332
-			}
333
-		}
334
-
335
-		if ($set !== []) {
336
-			$publie_avant = objet_test_si_publie($objet, $id_objet);
337
-			include_spip('action/editer_objet');
338
-			objet_modifier($objet, $id_objet, $set);
339
-			$publie_apres = objet_test_si_publie($objet, $id_objet);
340
-			if ($publie_avant !== $publie_apres) {
341
-				// on refuse ajax pour forcer le rechargement de la page ici
342
-				// on refera traiter une 2eme fois, mais c'est sans consequence
343
-				refuser_traiter_formulaire_ajax();
344
-			}
345
-		}
346
-	}
347
-
348
-	if ($retour) {
349
-		$res['redirect'] = $retour;
350
-	}
351
-
352
-	set_request('date_jour');
353
-	set_request('date_redac_jour');
354
-	set_request('date_heure');
355
-	set_request('date_redac_heure');
356
-
357
-	return $res;
285
+    $res = ['editable' => ' '];
286
+
287
+    if (_request('changer')) {
288
+        $table = table_objet($objet);
289
+        $trouver_table = charger_fonction('trouver_table', 'base');
290
+        $desc = $trouver_table($table);
291
+
292
+        if (!$desc) {
293
+            return ['message_erreur' => _L('erreur')];
294
+        } #impossible en principe
295
+
296
+        $champ_date = $desc['date'] ?: 'date';
297
+        if (isset($options['champ_date']) && $options['champ_date']) {
298
+            $champ_date = $options['champ_date'];
299
+        }
300
+
301
+        $set = [];
302
+
303
+        $charger = charger_fonction('charger', 'formulaires/dater/');
304
+        $v = $charger($objet, $id_objet, $retour, $options);
305
+
306
+        if ($v['_editer_date']) {
307
+            if (!$d = dater_recuperer_date_saisie(_request('date_jour'))) {
308
+                $d = [date('Y'), date('m'), date('d')];
309
+            }
310
+            if (!$h = dater_recuperer_heure_saisie(_request('date_heure'))) {
311
+                $h = [0, 0];
312
+            }
313
+
314
+            $set[$champ_date] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
315
+        }
316
+
317
+        $champ_date_redac = 'date_redac';
318
+        if (isset($options['champ_date_redac']) && $options['champ_date_redac']) {
319
+            $champ_date_redac = $options['champ_date_redac'];
320
+        }
321
+        if (isset($desc['field'][$champ_date_redac]) && $v['_editer_date_anterieure']) {
322
+            if (!_request('date_redac_jour') || _request('sans_redac')) {
323
+                $set[$champ_date_redac] = sql_format_date(0, 0, 0, 0, 0, 0);
324
+            } else {
325
+                if (!$d = dater_recuperer_date_saisie(_request('date_redac_jour'), 'date_redac')) {
326
+                    $d = [date('Y'), date('m'), date('d')];
327
+                }
328
+                if (!$h = dater_recuperer_heure_saisie(_request('date_redac_heure'))) {
329
+                    $h = [0, 0];
330
+                }
331
+                $set[$champ_date_redac] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
332
+            }
333
+        }
334
+
335
+        if ($set !== []) {
336
+            $publie_avant = objet_test_si_publie($objet, $id_objet);
337
+            include_spip('action/editer_objet');
338
+            objet_modifier($objet, $id_objet, $set);
339
+            $publie_apres = objet_test_si_publie($objet, $id_objet);
340
+            if ($publie_avant !== $publie_apres) {
341
+                // on refuse ajax pour forcer le rechargement de la page ici
342
+                // on refera traiter une 2eme fois, mais c'est sans consequence
343
+                refuser_traiter_formulaire_ajax();
344
+            }
345
+        }
346
+    }
347
+
348
+    if ($retour) {
349
+        $res['redirect'] = $retour;
350
+    }
351
+
352
+    set_request('date_jour');
353
+    set_request('date_redac_jour');
354
+    set_request('date_heure');
355
+    set_request('date_redac_heure');
356
+
357
+    return $res;
358 358
 }
359 359
 
360 360
 /**
@@ -365,24 +365,24 @@  discard block
 block discarded – undo
365 365
  * @return array|string Chaîne vide si date invalide, tableau (année, mois, jour) sinon.
366 366
  */
367 367
 function dater_recuperer_date_saisie($post, $quoi = 'date') {
368
-	if (!preg_match('#^(?:(?:(\d{1,2})[/-])?(\d{1,2})[/-])?(\d{4}|\d{1,2})#', $post, $regs)) {
369
-		return '';
370
-	}
371
-	if ($quoi == 'date_redac') {
372
-		if ($regs[3] != '' && $regs[3] < 1001) {
373
-			$regs[3] += 9000;
374
-		}
375
-
376
-		return [$regs[3], $regs[2], $regs[1]];
377
-	} else {
378
-		if (
379
-			checkdate((int) $regs[2], (int) $regs[1], (int) $regs[3])
380
-			&& ($t = mktime(0, 0, 0, $regs[2], $regs[1], $regs[3]))
381
-		) {
382
-			return [date('Y', $t), date('m', $t), date('d', $t)];
383
-		}
384
-		return '';
385
-	}
368
+    if (!preg_match('#^(?:(?:(\d{1,2})[/-])?(\d{1,2})[/-])?(\d{4}|\d{1,2})#', $post, $regs)) {
369
+        return '';
370
+    }
371
+    if ($quoi == 'date_redac') {
372
+        if ($regs[3] != '' && $regs[3] < 1001) {
373
+            $regs[3] += 9000;
374
+        }
375
+
376
+        return [$regs[3], $regs[2], $regs[1]];
377
+    } else {
378
+        if (
379
+            checkdate((int) $regs[2], (int) $regs[1], (int) $regs[3])
380
+            && ($t = mktime(0, 0, 0, $regs[2], $regs[1], $regs[3]))
381
+        ) {
382
+            return [date('Y', $t), date('m', $t), date('d', $t)];
383
+        }
384
+        return '';
385
+    }
386 386
 }
387 387
 
388 388
 /**
@@ -392,12 +392,12 @@  discard block
 block discarded – undo
392 392
  * @return array
393 393
  */
394 394
 function dater_recuperer_heure_saisie($post) {
395
-	if (!preg_match('#(\d{1,2})(?:[h:](?:(\d{1,2}))?)?#', $post, $regs)) {
396
-		return '';
397
-	}
398
-	if ($regs[1] > 23 || $regs[2] > 59) {
399
-		return '';
400
-	}
401
-
402
-	return [$regs[1], $regs[2]];
395
+    if (!preg_match('#(\d{1,2})(?:[h:](?:(\d{1,2}))?)?#', $post, $regs)) {
396
+        return '';
397
+    }
398
+    if ($regs[1] > 23 || $regs[2] > 59) {
399
+        return '';
400
+    }
401
+
402
+    return [$regs[1], $regs[2]];
403 403
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_langage.php 1 patch
Indentation   +28 added lines, -28 removed lines patch added patch discarded remove patch
@@ -10,46 +10,46 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 function formulaires_configurer_langage_charger_dist() {
17 17
 
18
-	include_spip('inc/lang');
19
-	$GLOBALS['meta']['langues_proposees'] = '';
20
-	init_langues();
21
-	$langues = explode(',', $GLOBALS['meta']['langues_proposees']);
18
+    include_spip('inc/lang');
19
+    $GLOBALS['meta']['langues_proposees'] = '';
20
+    init_langues();
21
+    $langues = explode(',', $GLOBALS['meta']['langues_proposees']);
22 22
 
23
-	return [
24
-		'var_lang_ecrire' => $GLOBALS['spip_lang'],
25
-		'_langues' => $langues
26
-	];
23
+    return [
24
+        'var_lang_ecrire' => $GLOBALS['spip_lang'],
25
+        '_langues' => $langues
26
+    ];
27 27
 }
28 28
 
29 29
 
30 30
 function formulaires_configurer_langage_traiter_dist() {
31
-	include_spip('action/converser');
32
-	action_converser_changer_langue(true);
31
+    include_spip('action/converser');
32
+    action_converser_changer_langue(true);
33 33
 
34
-	refuser_traiter_formulaire_ajax();
34
+    refuser_traiter_formulaire_ajax();
35 35
 
36
-	// on ne peut pas changer la langue pour tout le hit ici,
37
-	// car CVT repasse derriere et retablit la langue avant l'appel a traiter()
38
-	// il faut rediriger !
39
-	return ['message_ok' => _T('config_info_enregistree'), 'editable' => true, 'redirect' => self()];
36
+    // on ne peut pas changer la langue pour tout le hit ici,
37
+    // car CVT repasse derriere et retablit la langue avant l'appel a traiter()
38
+    // il faut rediriger !
39
+    return ['message_ok' => _T('config_info_enregistree'), 'editable' => true, 'redirect' => self()];
40 40
 }
41 41
 
42 42
 function afficher_langues_choix($langues, $name, $id, $selected) {
43
-	include_spip('inc/lang');
44
-	$ret = '';
45
-	sort($langues);
46
-	foreach ($langues as $l) {
47
-		$checked = ($l == $selected) ? ' checked=\'checked\'' : '';
48
-		$ret .= "<div class='choix'>"
49
-			. "<input type='radio' name='$name' id='{$id}_$l' value='$l'$checked />"
50
-			. "<label for='{$id}_$l'>" . traduire_nom_langue($l) . '</label>'
51
-			. '</div>';
52
-	}
53
-
54
-	return $ret;
43
+    include_spip('inc/lang');
44
+    $ret = '';
45
+    sort($langues);
46
+    foreach ($langues as $l) {
47
+        $checked = ($l == $selected) ? ' checked=\'checked\'' : '';
48
+        $ret .= "<div class='choix'>"
49
+            . "<input type='radio' name='$name' id='{$id}_$l' value='$l'$checked />"
50
+            . "<label for='{$id}_$l'>" . traduire_nom_langue($l) . '</label>'
51
+            . '</div>';
52
+    }
53
+
54
+    return $ret;
55 55
 }
Please login to merge, or discard this patch.