@@ -17,7 +17,7 @@ discard block |
||
| 17 | 17 | **/ |
| 18 | 18 | |
| 19 | 19 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 20 | - return; |
|
| 20 | + return; |
|
| 21 | 21 | } |
| 22 | 22 | |
| 23 | 23 | include_spip('base/abstract_sql'); |
@@ -35,33 +35,33 @@ discard block |
||
| 35 | 35 | * - une chaîne vide si autorisation à pénétrer dans l'espace privé. |
| 36 | 36 | */ |
| 37 | 37 | function inc_auth_dist() { |
| 38 | - $row = auth_mode(); |
|
| 38 | + $row = auth_mode(); |
|
| 39 | 39 | |
| 40 | - if ($row) { |
|
| 41 | - return auth_init_droits($row); |
|
| 42 | - } |
|
| 40 | + if ($row) { |
|
| 41 | + return auth_init_droits($row); |
|
| 42 | + } |
|
| 43 | 43 | |
| 44 | - if (!$GLOBALS['connect_login']) { |
|
| 45 | - return auth_a_loger(); |
|
| 46 | - } |
|
| 44 | + if (!$GLOBALS['connect_login']) { |
|
| 45 | + return auth_a_loger(); |
|
| 46 | + } |
|
| 47 | 47 | |
| 48 | - // Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui |
|
| 49 | - // C'est soit parce que la base est inutilisable, |
|
| 50 | - // soit parce que la table des auteurs a changee (restauration etc) |
|
| 51 | - // Pas la peine d'insister. |
|
| 52 | - // Renvoyer le nom fautif et une URL de remise a zero |
|
| 48 | + // Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui |
|
| 49 | + // C'est soit parce que la base est inutilisable, |
|
| 50 | + // soit parce que la table des auteurs a changee (restauration etc) |
|
| 51 | + // Pas la peine d'insister. |
|
| 52 | + // Renvoyer le nom fautif et une URL de remise a zero |
|
| 53 | 53 | |
| 54 | - if (spip_connect()) { |
|
| 55 | - return array( |
|
| 56 | - 'login' => $GLOBALS['connect_login'], |
|
| 57 | - 'site' => generer_url_public('', 'action=logout&logout=prive') |
|
| 58 | - ); |
|
| 59 | - } |
|
| 54 | + if (spip_connect()) { |
|
| 55 | + return array( |
|
| 56 | + 'login' => $GLOBALS['connect_login'], |
|
| 57 | + 'site' => generer_url_public('', 'action=logout&logout=prive') |
|
| 58 | + ); |
|
| 59 | + } |
|
| 60 | 60 | |
| 61 | - $n = intval(sql_errno()); |
|
| 62 | - spip_log("Erreur base de donnees $n " . sql_error()); |
|
| 61 | + $n = intval(sql_errno()); |
|
| 62 | + spip_log("Erreur base de donnees $n " . sql_error()); |
|
| 63 | 63 | |
| 64 | - return $n ? $n : 1; |
|
| 64 | + return $n ? $n : 1; |
|
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | /** |
@@ -73,39 +73,39 @@ discard block |
||
| 73 | 73 | * @return array|string |
| 74 | 74 | */ |
| 75 | 75 | function auth_echec($raison) { |
| 76 | - include_spip('inc/minipres'); |
|
| 77 | - include_spip('inc/headers'); |
|
| 78 | - // pas authentifie. Pourquoi ? |
|
| 79 | - if (is_string($raison)) { |
|
| 80 | - // redirection vers une page d'authentification |
|
| 81 | - // on ne revient pas de cette fonction |
|
| 82 | - // sauf si pb de header |
|
| 83 | - $raison = redirige_formulaire($raison); |
|
| 84 | - } elseif (is_int($raison)) { |
|
| 85 | - // erreur SQL a afficher |
|
| 86 | - $raison = minipres( |
|
| 87 | - _T('info_travaux_titre'), |
|
| 88 | - _T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>' |
|
| 89 | - ); |
|
| 90 | - } elseif (@$raison['statut']) { |
|
| 91 | - // un simple visiteur n'a pas acces a l'espace prive |
|
| 92 | - spip_log('connexion refusee a ' . @$raison['id_auteur']); |
|
| 93 | - $raison = minipres(_T('avis_erreur_connexion'), _T('avis_erreur_visiteur')); |
|
| 94 | - } else { |
|
| 95 | - // auteur en fin de droits ... |
|
| 96 | - $h = $raison['site']; |
|
| 97 | - $raison = minipres( |
|
| 98 | - _T('avis_erreur_connexion'), |
|
| 99 | - '<br /><br /><p>' |
|
| 100 | - . _T('texte_inc_auth_1', array('auth_login' => $raison['login'])) |
|
| 101 | - . " <a href='$h'>" |
|
| 102 | - . _T('texte_inc_auth_2') |
|
| 103 | - . '</a>' |
|
| 104 | - . _T('texte_inc_auth_3') |
|
| 105 | - ); |
|
| 106 | - } |
|
| 107 | - |
|
| 108 | - return $raison; |
|
| 76 | + include_spip('inc/minipres'); |
|
| 77 | + include_spip('inc/headers'); |
|
| 78 | + // pas authentifie. Pourquoi ? |
|
| 79 | + if (is_string($raison)) { |
|
| 80 | + // redirection vers une page d'authentification |
|
| 81 | + // on ne revient pas de cette fonction |
|
| 82 | + // sauf si pb de header |
|
| 83 | + $raison = redirige_formulaire($raison); |
|
| 84 | + } elseif (is_int($raison)) { |
|
| 85 | + // erreur SQL a afficher |
|
| 86 | + $raison = minipres( |
|
| 87 | + _T('info_travaux_titre'), |
|
| 88 | + _T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>' |
|
| 89 | + ); |
|
| 90 | + } elseif (@$raison['statut']) { |
|
| 91 | + // un simple visiteur n'a pas acces a l'espace prive |
|
| 92 | + spip_log('connexion refusee a ' . @$raison['id_auteur']); |
|
| 93 | + $raison = minipres(_T('avis_erreur_connexion'), _T('avis_erreur_visiteur')); |
|
| 94 | + } else { |
|
| 95 | + // auteur en fin de droits ... |
|
| 96 | + $h = $raison['site']; |
|
| 97 | + $raison = minipres( |
|
| 98 | + _T('avis_erreur_connexion'), |
|
| 99 | + '<br /><br /><p>' |
|
| 100 | + . _T('texte_inc_auth_1', array('auth_login' => $raison['login'])) |
|
| 101 | + . " <a href='$h'>" |
|
| 102 | + . _T('texte_inc_auth_2') |
|
| 103 | + . '</a>' |
|
| 104 | + . _T('texte_inc_auth_3') |
|
| 105 | + ); |
|
| 106 | + } |
|
| 107 | + |
|
| 108 | + return $raison; |
|
| 109 | 109 | } |
| 110 | 110 | |
| 111 | 111 | /** |
@@ -115,80 +115,80 @@ discard block |
||
| 115 | 115 | * @return array|bool|string |
| 116 | 116 | */ |
| 117 | 117 | function auth_mode() { |
| 118 | - // |
|
| 119 | - // Initialiser variables (eviter hacks par URL) |
|
| 120 | - // |
|
| 121 | - $GLOBALS['connect_login'] = ''; |
|
| 122 | - $id_auteur = null; |
|
| 123 | - $GLOBALS['auth_can_disconnect'] = false; |
|
| 124 | - |
|
| 125 | - // |
|
| 126 | - // Recuperer les donnees d'identification |
|
| 127 | - // |
|
| 128 | - include_spip('inc/session'); |
|
| 129 | - // Session valide en cours ? |
|
| 130 | - if (isset($_COOKIE['spip_session'])) { |
|
| 131 | - $session = charger_fonction('session', 'inc'); |
|
| 132 | - if ($id_auteur = $session() |
|
| 133 | - or $id_auteur === 0 // reprise sur restauration |
|
| 134 | - ) { |
|
| 135 | - $GLOBALS['auth_can_disconnect'] = true; |
|
| 136 | - $GLOBALS['connect_login'] = session_get('login'); |
|
| 137 | - } else { |
|
| 138 | - unset($_COOKIE['spip_session']); |
|
| 139 | - } |
|
| 140 | - } |
|
| 141 | - |
|
| 142 | - // Essayer auth http si significatif |
|
| 143 | - // (ignorer les login d'intranet independants de spip) |
|
| 144 | - if (!$GLOBALS['ignore_auth_http']) { |
|
| 145 | - if ( |
|
| 146 | - (isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW']) |
|
| 147 | - and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) |
|
| 148 | - or |
|
| 149 | - // Si auth http differtente de basic, PHP_AUTH_PW |
|
| 150 | - // est indisponible mais tentons quand meme pour |
|
| 151 | - // autocreation via LDAP |
|
| 152 | - (isset($_SERVER['REMOTE_USER']) |
|
| 153 | - and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], '')) |
|
| 154 | - ) { |
|
| 155 | - if (!$id_auteur) { |
|
| 156 | - $_SERVER['PHP_AUTH_PW'] = ''; |
|
| 157 | - $GLOBALS['auth_can_disconnect'] = true; |
|
| 158 | - $GLOBALS['visiteur_session'] = $r; |
|
| 159 | - $GLOBALS['connect_login'] = session_get('login'); |
|
| 160 | - $id_auteur = $r['id_auteur']; |
|
| 161 | - } else { |
|
| 162 | - // cas de la session en plus de PHP_AUTH |
|
| 163 | - /* if ($id_auteur != $r['id_auteur']){ |
|
| 118 | + // |
|
| 119 | + // Initialiser variables (eviter hacks par URL) |
|
| 120 | + // |
|
| 121 | + $GLOBALS['connect_login'] = ''; |
|
| 122 | + $id_auteur = null; |
|
| 123 | + $GLOBALS['auth_can_disconnect'] = false; |
|
| 124 | + |
|
| 125 | + // |
|
| 126 | + // Recuperer les donnees d'identification |
|
| 127 | + // |
|
| 128 | + include_spip('inc/session'); |
|
| 129 | + // Session valide en cours ? |
|
| 130 | + if (isset($_COOKIE['spip_session'])) { |
|
| 131 | + $session = charger_fonction('session', 'inc'); |
|
| 132 | + if ($id_auteur = $session() |
|
| 133 | + or $id_auteur === 0 // reprise sur restauration |
|
| 134 | + ) { |
|
| 135 | + $GLOBALS['auth_can_disconnect'] = true; |
|
| 136 | + $GLOBALS['connect_login'] = session_get('login'); |
|
| 137 | + } else { |
|
| 138 | + unset($_COOKIE['spip_session']); |
|
| 139 | + } |
|
| 140 | + } |
|
| 141 | + |
|
| 142 | + // Essayer auth http si significatif |
|
| 143 | + // (ignorer les login d'intranet independants de spip) |
|
| 144 | + if (!$GLOBALS['ignore_auth_http']) { |
|
| 145 | + if ( |
|
| 146 | + (isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW']) |
|
| 147 | + and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) |
|
| 148 | + or |
|
| 149 | + // Si auth http differtente de basic, PHP_AUTH_PW |
|
| 150 | + // est indisponible mais tentons quand meme pour |
|
| 151 | + // autocreation via LDAP |
|
| 152 | + (isset($_SERVER['REMOTE_USER']) |
|
| 153 | + and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], '')) |
|
| 154 | + ) { |
|
| 155 | + if (!$id_auteur) { |
|
| 156 | + $_SERVER['PHP_AUTH_PW'] = ''; |
|
| 157 | + $GLOBALS['auth_can_disconnect'] = true; |
|
| 158 | + $GLOBALS['visiteur_session'] = $r; |
|
| 159 | + $GLOBALS['connect_login'] = session_get('login'); |
|
| 160 | + $id_auteur = $r['id_auteur']; |
|
| 161 | + } else { |
|
| 162 | + // cas de la session en plus de PHP_AUTH |
|
| 163 | + /* if ($id_auteur != $r['id_auteur']){ |
|
| 164 | 164 | spip_log("vol de session $id_auteur" . join(', ', $r)); |
| 165 | 165 | unset($_COOKIE['spip_session']); |
| 166 | 166 | $id_auteur = ''; |
| 167 | 167 | } */ |
| 168 | - } |
|
| 169 | - } else { |
|
| 170 | - // Authentification .htaccess old style, car .htaccess semble |
|
| 171 | - // souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW |
|
| 172 | - if (isset($_SERVER['REMOTE_USER'])) { |
|
| 173 | - $GLOBALS['connect_login'] = $_SERVER['REMOTE_USER']; |
|
| 174 | - } |
|
| 175 | - } |
|
| 176 | - } |
|
| 177 | - |
|
| 178 | - $where = (is_numeric($id_auteur) |
|
| 179 | - /*AND $id_auteur>0*/ // reprise lors des restaurations |
|
| 180 | - ) ? |
|
| 181 | - "id_auteur=$id_auteur" : |
|
| 182 | - (!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text')); |
|
| 183 | - |
|
| 184 | - if (!$where) { |
|
| 185 | - return ''; |
|
| 186 | - } |
|
| 187 | - |
|
| 188 | - // Trouver les autres infos dans la table auteurs. |
|
| 189 | - // le champ 'quand' est utilise par l'agenda |
|
| 190 | - |
|
| 191 | - return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'"); |
|
| 168 | + } |
|
| 169 | + } else { |
|
| 170 | + // Authentification .htaccess old style, car .htaccess semble |
|
| 171 | + // souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW |
|
| 172 | + if (isset($_SERVER['REMOTE_USER'])) { |
|
| 173 | + $GLOBALS['connect_login'] = $_SERVER['REMOTE_USER']; |
|
| 174 | + } |
|
| 175 | + } |
|
| 176 | + } |
|
| 177 | + |
|
| 178 | + $where = (is_numeric($id_auteur) |
|
| 179 | + /*AND $id_auteur>0*/ // reprise lors des restaurations |
|
| 180 | + ) ? |
|
| 181 | + "id_auteur=$id_auteur" : |
|
| 182 | + (!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text')); |
|
| 183 | + |
|
| 184 | + if (!$where) { |
|
| 185 | + return ''; |
|
| 186 | + } |
|
| 187 | + |
|
| 188 | + // Trouver les autres infos dans la table auteurs. |
|
| 189 | + // le champ 'quand' est utilise par l'agenda |
|
| 190 | + |
|
| 191 | + return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'"); |
|
| 192 | 192 | } |
| 193 | 193 | |
| 194 | 194 | /** |
@@ -206,86 +206,86 @@ discard block |
||
| 206 | 206 | */ |
| 207 | 207 | function auth_init_droits($row) { |
| 208 | 208 | |
| 209 | - include_spip('inc/autoriser'); |
|
| 210 | - if (!autoriser('loger', '', 0, $row)) { |
|
| 211 | - return false; |
|
| 212 | - } |
|
| 213 | - |
|
| 214 | - |
|
| 215 | - if ($row['statut'] == 'nouveau') { |
|
| 216 | - include_spip('action/inscrire_auteur'); |
|
| 217 | - $row = confirmer_statut_inscription($row); |
|
| 218 | - } |
|
| 219 | - |
|
| 220 | - $GLOBALS['connect_id_auteur'] = $row['id_auteur']; |
|
| 221 | - $GLOBALS['connect_login'] = $row['login']; |
|
| 222 | - $GLOBALS['connect_statut'] = $row['statut']; |
|
| 223 | - |
|
| 224 | - $GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row); |
|
| 225 | - |
|
| 226 | - // au cas ou : ne pas memoriser les champs sensibles |
|
| 227 | - unset($GLOBALS['visiteur_session']['pass']); |
|
| 228 | - unset($GLOBALS['visiteur_session']['htpass']); |
|
| 229 | - unset($GLOBALS['visiteur_session']['alea_actuel']); |
|
| 230 | - unset($GLOBALS['visiteur_session']['alea_futur']); |
|
| 231 | - unset($GLOBALS['visiteur_session']['ldap_password']); |
|
| 232 | - |
|
| 233 | - // creer la session au besoin |
|
| 234 | - if (!isset($_COOKIE['spip_session'])) { |
|
| 235 | - $session = charger_fonction('session', 'inc'); |
|
| 236 | - $spip_session = $session($row); |
|
| 237 | - } |
|
| 238 | - |
|
| 239 | - // reinjecter les preferences_auteur apres le reset de spip_session |
|
| 240 | - // car utilisees au retour par auth_loger() |
|
| 241 | - $r = @unserialize($row['prefs']); |
|
| 242 | - $GLOBALS['visiteur_session']['prefs'] = ($r ? $r : array()); |
|
| 243 | - // si prefs pas definies, les definir par defaut |
|
| 244 | - if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) { |
|
| 245 | - $GLOBALS['visiteur_session']['prefs']['couleur'] = 2; |
|
| 246 | - $GLOBALS['visiteur_session']['prefs']['display'] = 2; |
|
| 247 | - $GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones'; |
|
| 248 | - $GLOBALS['visiteur_session']['prefs']['display_outils'] = 'oui'; |
|
| 249 | - } |
|
| 250 | - |
|
| 251 | - $GLOBALS['visiteur_session'] = pipeline( |
|
| 252 | - 'preparer_visiteur_session', |
|
| 253 | - array('args' => array('row' => $row), |
|
| 254 | - 'data' => $GLOBALS['visiteur_session']) |
|
| 255 | - ); |
|
| 256 | - |
|
| 257 | - // Etablir les droits selon le codage attendu |
|
| 258 | - // dans ecrire/index.php ecrire/prive.php |
|
| 259 | - |
|
| 260 | - // Pas autorise a acceder a ecrire ? renvoyer le tableau |
|
| 261 | - // A noter : le premier appel a autoriser() a le bon gout |
|
| 262 | - // d'initialiser $GLOBALS['visiteur_session']['restreint'], |
|
| 263 | - // qui ne figure pas dans le fichier de session |
|
| 264 | - |
|
| 265 | - if (!autoriser('ecrire')) { |
|
| 266 | - return $row; |
|
| 267 | - } |
|
| 268 | - |
|
| 269 | - // autoriser('ecrire') ne laisse passer que les Admin et les Redac |
|
| 270 | - |
|
| 271 | - auth_trace($row); |
|
| 272 | - |
|
| 273 | - // Administrateurs |
|
| 274 | - if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) { |
|
| 275 | - if ( |
|
| 276 | - isset($GLOBALS['visiteur_session']['restreint']) |
|
| 277 | - and is_array($GLOBALS['visiteur_session']['restreint']) |
|
| 278 | - ) { |
|
| 279 | - $GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint']; |
|
| 280 | - } |
|
| 281 | - if ($GLOBALS['connect_statut'] == '0minirezo') { |
|
| 282 | - $GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique']; |
|
| 283 | - } |
|
| 284 | - } |
|
| 285 | - |
|
| 286 | - // Pour les redacteurs, inc_version a fait l'initialisation minimale |
|
| 287 | - |
|
| 288 | - return ''; // i.e. pas de pb. |
|
| 209 | + include_spip('inc/autoriser'); |
|
| 210 | + if (!autoriser('loger', '', 0, $row)) { |
|
| 211 | + return false; |
|
| 212 | + } |
|
| 213 | + |
|
| 214 | + |
|
| 215 | + if ($row['statut'] == 'nouveau') { |
|
| 216 | + include_spip('action/inscrire_auteur'); |
|
| 217 | + $row = confirmer_statut_inscription($row); |
|
| 218 | + } |
|
| 219 | + |
|
| 220 | + $GLOBALS['connect_id_auteur'] = $row['id_auteur']; |
|
| 221 | + $GLOBALS['connect_login'] = $row['login']; |
|
| 222 | + $GLOBALS['connect_statut'] = $row['statut']; |
|
| 223 | + |
|
| 224 | + $GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row); |
|
| 225 | + |
|
| 226 | + // au cas ou : ne pas memoriser les champs sensibles |
|
| 227 | + unset($GLOBALS['visiteur_session']['pass']); |
|
| 228 | + unset($GLOBALS['visiteur_session']['htpass']); |
|
| 229 | + unset($GLOBALS['visiteur_session']['alea_actuel']); |
|
| 230 | + unset($GLOBALS['visiteur_session']['alea_futur']); |
|
| 231 | + unset($GLOBALS['visiteur_session']['ldap_password']); |
|
| 232 | + |
|
| 233 | + // creer la session au besoin |
|
| 234 | + if (!isset($_COOKIE['spip_session'])) { |
|
| 235 | + $session = charger_fonction('session', 'inc'); |
|
| 236 | + $spip_session = $session($row); |
|
| 237 | + } |
|
| 238 | + |
|
| 239 | + // reinjecter les preferences_auteur apres le reset de spip_session |
|
| 240 | + // car utilisees au retour par auth_loger() |
|
| 241 | + $r = @unserialize($row['prefs']); |
|
| 242 | + $GLOBALS['visiteur_session']['prefs'] = ($r ? $r : array()); |
|
| 243 | + // si prefs pas definies, les definir par defaut |
|
| 244 | + if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) { |
|
| 245 | + $GLOBALS['visiteur_session']['prefs']['couleur'] = 2; |
|
| 246 | + $GLOBALS['visiteur_session']['prefs']['display'] = 2; |
|
| 247 | + $GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones'; |
|
| 248 | + $GLOBALS['visiteur_session']['prefs']['display_outils'] = 'oui'; |
|
| 249 | + } |
|
| 250 | + |
|
| 251 | + $GLOBALS['visiteur_session'] = pipeline( |
|
| 252 | + 'preparer_visiteur_session', |
|
| 253 | + array('args' => array('row' => $row), |
|
| 254 | + 'data' => $GLOBALS['visiteur_session']) |
|
| 255 | + ); |
|
| 256 | + |
|
| 257 | + // Etablir les droits selon le codage attendu |
|
| 258 | + // dans ecrire/index.php ecrire/prive.php |
|
| 259 | + |
|
| 260 | + // Pas autorise a acceder a ecrire ? renvoyer le tableau |
|
| 261 | + // A noter : le premier appel a autoriser() a le bon gout |
|
| 262 | + // d'initialiser $GLOBALS['visiteur_session']['restreint'], |
|
| 263 | + // qui ne figure pas dans le fichier de session |
|
| 264 | + |
|
| 265 | + if (!autoriser('ecrire')) { |
|
| 266 | + return $row; |
|
| 267 | + } |
|
| 268 | + |
|
| 269 | + // autoriser('ecrire') ne laisse passer que les Admin et les Redac |
|
| 270 | + |
|
| 271 | + auth_trace($row); |
|
| 272 | + |
|
| 273 | + // Administrateurs |
|
| 274 | + if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) { |
|
| 275 | + if ( |
|
| 276 | + isset($GLOBALS['visiteur_session']['restreint']) |
|
| 277 | + and is_array($GLOBALS['visiteur_session']['restreint']) |
|
| 278 | + ) { |
|
| 279 | + $GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint']; |
|
| 280 | + } |
|
| 281 | + if ($GLOBALS['connect_statut'] == '0minirezo') { |
|
| 282 | + $GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique']; |
|
| 283 | + } |
|
| 284 | + } |
|
| 285 | + |
|
| 286 | + // Pour les redacteurs, inc_version a fait l'initialisation minimale |
|
| 287 | + |
|
| 288 | + return ''; // i.e. pas de pb. |
|
| 289 | 289 | } |
| 290 | 290 | |
| 291 | 291 | /** |
@@ -294,23 +294,23 @@ discard block |
||
| 294 | 294 | * @return string |
| 295 | 295 | */ |
| 296 | 296 | function auth_a_loger() { |
| 297 | - $redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), '&'); |
|
| 298 | - |
|
| 299 | - // un echec au "bonjour" (login initial) quand le statut est |
|
| 300 | - // inconnu signale sans doute un probleme de cookies |
|
| 301 | - if (isset($_GET['bonjour'])) { |
|
| 302 | - $redirect = parametre_url( |
|
| 303 | - $redirect, |
|
| 304 | - 'var_erreur', |
|
| 305 | - (!isset($GLOBALS['visiteur_session']['statut']) |
|
| 306 | - ? 'cookie' |
|
| 307 | - : 'statut' |
|
| 308 | - ), |
|
| 309 | - '&' |
|
| 310 | - ); |
|
| 311 | - } |
|
| 312 | - |
|
| 313 | - return $redirect; |
|
| 297 | + $redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), '&'); |
|
| 298 | + |
|
| 299 | + // un echec au "bonjour" (login initial) quand le statut est |
|
| 300 | + // inconnu signale sans doute un probleme de cookies |
|
| 301 | + if (isset($_GET['bonjour'])) { |
|
| 302 | + $redirect = parametre_url( |
|
| 303 | + $redirect, |
|
| 304 | + 'var_erreur', |
|
| 305 | + (!isset($GLOBALS['visiteur_session']['statut']) |
|
| 306 | + ? 'cookie' |
|
| 307 | + : 'statut' |
|
| 308 | + ), |
|
| 309 | + '&' |
|
| 310 | + ); |
|
| 311 | + } |
|
| 312 | + |
|
| 313 | + return $redirect; |
|
| 314 | 314 | } |
| 315 | 315 | |
| 316 | 316 | /** |
@@ -322,21 +322,21 @@ discard block |
||
| 322 | 322 | * @param null|string $date |
| 323 | 323 | */ |
| 324 | 324 | function auth_trace($row, $date = null) { |
| 325 | - // Indiquer la connexion. A la minute pres ca suffit. |
|
| 326 | - if (!is_numeric($connect_quand = isset($row['quand']) ? $row['quand'] : '')) { |
|
| 327 | - $connect_quand = strtotime($connect_quand); |
|
| 328 | - } |
|
| 325 | + // Indiquer la connexion. A la minute pres ca suffit. |
|
| 326 | + if (!is_numeric($connect_quand = isset($row['quand']) ? $row['quand'] : '')) { |
|
| 327 | + $connect_quand = strtotime($connect_quand); |
|
| 328 | + } |
|
| 329 | 329 | |
| 330 | - if (is_null($date)) { |
|
| 331 | - $date = date('Y-m-d H:i:s'); |
|
| 332 | - } |
|
| 330 | + if (is_null($date)) { |
|
| 331 | + $date = date('Y-m-d H:i:s'); |
|
| 332 | + } |
|
| 333 | 333 | |
| 334 | - if (abs(strtotime($date) - $connect_quand) >= 60) { |
|
| 335 | - sql_updateq('spip_auteurs', array('en_ligne' => $date), 'id_auteur=' . intval($row['id_auteur'])); |
|
| 336 | - $row['en_ligne'] = $date; |
|
| 337 | - } |
|
| 334 | + if (abs(strtotime($date) - $connect_quand) >= 60) { |
|
| 335 | + sql_updateq('spip_auteurs', array('en_ligne' => $date), 'id_auteur=' . intval($row['id_auteur'])); |
|
| 336 | + $row['en_ligne'] = $date; |
|
| 337 | + } |
|
| 338 | 338 | |
| 339 | - pipeline('trig_auth_trace', array('args' => array('row' => $row, 'date' => $date))); |
|
| 339 | + pipeline('trig_auth_trace', array('args' => array('row' => $row, 'date' => $date))); |
|
| 340 | 340 | } |
| 341 | 341 | |
| 342 | 342 | |
@@ -362,27 +362,27 @@ discard block |
||
| 362 | 362 | * @return mixed |
| 363 | 363 | */ |
| 364 | 364 | function auth_administrer($fonction, $args, $defaut = false) { |
| 365 | - $auth_methode = array_shift($args); |
|
| 366 | - $auth_methode = $auth_methode ? $auth_methode : 'spip'; // valeur par defaut au cas ou |
|
| 367 | - if ($auth = charger_fonction($auth_methode, 'auth', true) |
|
| 368 | - and function_exists($f = "auth_{$auth_methode}_$fonction") |
|
| 369 | - ) { |
|
| 370 | - $res = call_user_func_array($f, $args); |
|
| 371 | - } else { |
|
| 372 | - $res = $defaut; |
|
| 373 | - } |
|
| 374 | - $res = pipeline( |
|
| 375 | - 'auth_administrer', |
|
| 376 | - array( |
|
| 377 | - 'args' => array( |
|
| 378 | - 'fonction' => $fonction, |
|
| 379 | - 'methode' => $auth_methode, |
|
| 380 | - 'args' => $args |
|
| 381 | - ), |
|
| 382 | - 'data' => $res |
|
| 383 | - ) |
|
| 384 | - ); |
|
| 385 | - return $res; |
|
| 365 | + $auth_methode = array_shift($args); |
|
| 366 | + $auth_methode = $auth_methode ? $auth_methode : 'spip'; // valeur par defaut au cas ou |
|
| 367 | + if ($auth = charger_fonction($auth_methode, 'auth', true) |
|
| 368 | + and function_exists($f = "auth_{$auth_methode}_$fonction") |
|
| 369 | + ) { |
|
| 370 | + $res = call_user_func_array($f, $args); |
|
| 371 | + } else { |
|
| 372 | + $res = $defaut; |
|
| 373 | + } |
|
| 374 | + $res = pipeline( |
|
| 375 | + 'auth_administrer', |
|
| 376 | + array( |
|
| 377 | + 'args' => array( |
|
| 378 | + 'fonction' => $fonction, |
|
| 379 | + 'methode' => $auth_methode, |
|
| 380 | + 'args' => $args |
|
| 381 | + ), |
|
| 382 | + 'data' => $res |
|
| 383 | + ) |
|
| 384 | + ); |
|
| 385 | + return $res; |
|
| 386 | 386 | } |
| 387 | 387 | |
| 388 | 388 | /** |
@@ -392,11 +392,11 @@ discard block |
||
| 392 | 392 | * @return array |
| 393 | 393 | */ |
| 394 | 394 | function auth_formulaire_login($flux) { |
| 395 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 396 | - $flux = auth_administrer('formulaire_login', array($methode, $flux), $flux); |
|
| 397 | - } |
|
| 395 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 396 | + $flux = auth_administrer('formulaire_login', array($methode, $flux), $flux); |
|
| 397 | + } |
|
| 398 | 398 | |
| 399 | - return $flux; |
|
| 399 | + return $flux; |
|
| 400 | 400 | } |
| 401 | 401 | |
| 402 | 402 | |
@@ -410,19 +410,19 @@ discard block |
||
| 410 | 410 | * @return string/bool |
| 411 | 411 | */ |
| 412 | 412 | function auth_retrouver_login($login, $serveur = '') { |
| 413 | - if (!spip_connect($serveur)) { |
|
| 414 | - include_spip('inc/minipres'); |
|
| 415 | - echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique')); |
|
| 416 | - exit; |
|
| 417 | - } |
|
| 418 | - |
|
| 419 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 420 | - if ($auteur = auth_administrer('retrouver_login', array($methode, $login, $serveur))) { |
|
| 421 | - return $auteur; |
|
| 422 | - } |
|
| 423 | - } |
|
| 424 | - |
|
| 425 | - return false; |
|
| 413 | + if (!spip_connect($serveur)) { |
|
| 414 | + include_spip('inc/minipres'); |
|
| 415 | + echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique')); |
|
| 416 | + exit; |
|
| 417 | + } |
|
| 418 | + |
|
| 419 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 420 | + if ($auteur = auth_administrer('retrouver_login', array($methode, $login, $serveur))) { |
|
| 421 | + return $auteur; |
|
| 422 | + } |
|
| 423 | + } |
|
| 424 | + |
|
| 425 | + return false; |
|
| 426 | 426 | } |
| 427 | 427 | |
| 428 | 428 | /** |
@@ -437,52 +437,52 @@ discard block |
||
| 437 | 437 | * @return array |
| 438 | 438 | */ |
| 439 | 439 | function auth_informer_login($login, $serveur = '') { |
| 440 | - if (!$login |
|
| 441 | - or !$login_base = auth_retrouver_login($login, $serveur) |
|
| 442 | - or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur) |
|
| 443 | - ) { |
|
| 444 | - |
|
| 445 | - // generer de fausses infos, mais credibles, pour eviter une attaque |
|
| 446 | - // https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691 |
|
| 447 | - include_spip('inc/securiser_action'); |
|
| 448 | - $fauxalea1 = md5('fauxalea' . secret_du_site() . $login . floor(date('U') / 86400)); |
|
| 449 | - $fauxalea2 = md5('fauxalea' . secret_du_site() . $login . ceil(date('U') / 86400)); |
|
| 450 | - |
|
| 451 | - $row = array( |
|
| 452 | - 'login' => $login, |
|
| 453 | - 'cnx' => '0', |
|
| 454 | - 'logo' => '', |
|
| 455 | - 'alea_actuel' => substr_replace($fauxalea1, '.', 24, 0), |
|
| 456 | - 'alea_futur' => substr_replace($fauxalea2, '.', 24, 0) |
|
| 457 | - ); |
|
| 458 | - |
|
| 459 | - // permettre d'autoriser l'envoi de password non crypte lorsque |
|
| 460 | - // l'auteur n'est pas (encore) declare dans SPIP, par exemple pour les cas |
|
| 461 | - // de premiere authentification via SPIP a une autre application. |
|
| 462 | - if (defined('_AUTORISER_AUTH_FAIBLE') and _AUTORISER_AUTH_FAIBLE) { |
|
| 463 | - $row['alea_actuel'] = ''; |
|
| 464 | - $row['alea_futur'] = ''; |
|
| 465 | - } |
|
| 466 | - |
|
| 467 | - return $row; |
|
| 468 | - } |
|
| 469 | - |
|
| 470 | - $prefs = @unserialize($row['prefs']); |
|
| 471 | - $infos = array( |
|
| 472 | - 'id_auteur' => $row['id_auteur'], |
|
| 473 | - 'login' => $row['login'], |
|
| 474 | - 'cnx' => (isset($prefs['cnx']) and $prefs['cnx'] === 'perma') ? '1' : '0', |
|
| 475 | - 'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row), |
|
| 476 | - ); |
|
| 477 | - |
|
| 478 | - // desactiver le hash md5 si pas auteur spip ? |
|
| 479 | - if ($row['source'] !== 'spip') { |
|
| 480 | - $row['alea_actuel'] = ''; |
|
| 481 | - $row['alea_futur'] = ''; |
|
| 482 | - } |
|
| 483 | - verifier_visiteur(); |
|
| 484 | - |
|
| 485 | - return auth_administrer('informer_login', array($row['source'], $infos, $row, $serveur), $infos); |
|
| 440 | + if (!$login |
|
| 441 | + or !$login_base = auth_retrouver_login($login, $serveur) |
|
| 442 | + or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur) |
|
| 443 | + ) { |
|
| 444 | + |
|
| 445 | + // generer de fausses infos, mais credibles, pour eviter une attaque |
|
| 446 | + // https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691 |
|
| 447 | + include_spip('inc/securiser_action'); |
|
| 448 | + $fauxalea1 = md5('fauxalea' . secret_du_site() . $login . floor(date('U') / 86400)); |
|
| 449 | + $fauxalea2 = md5('fauxalea' . secret_du_site() . $login . ceil(date('U') / 86400)); |
|
| 450 | + |
|
| 451 | + $row = array( |
|
| 452 | + 'login' => $login, |
|
| 453 | + 'cnx' => '0', |
|
| 454 | + 'logo' => '', |
|
| 455 | + 'alea_actuel' => substr_replace($fauxalea1, '.', 24, 0), |
|
| 456 | + 'alea_futur' => substr_replace($fauxalea2, '.', 24, 0) |
|
| 457 | + ); |
|
| 458 | + |
|
| 459 | + // permettre d'autoriser l'envoi de password non crypte lorsque |
|
| 460 | + // l'auteur n'est pas (encore) declare dans SPIP, par exemple pour les cas |
|
| 461 | + // de premiere authentification via SPIP a une autre application. |
|
| 462 | + if (defined('_AUTORISER_AUTH_FAIBLE') and _AUTORISER_AUTH_FAIBLE) { |
|
| 463 | + $row['alea_actuel'] = ''; |
|
| 464 | + $row['alea_futur'] = ''; |
|
| 465 | + } |
|
| 466 | + |
|
| 467 | + return $row; |
|
| 468 | + } |
|
| 469 | + |
|
| 470 | + $prefs = @unserialize($row['prefs']); |
|
| 471 | + $infos = array( |
|
| 472 | + 'id_auteur' => $row['id_auteur'], |
|
| 473 | + 'login' => $row['login'], |
|
| 474 | + 'cnx' => (isset($prefs['cnx']) and $prefs['cnx'] === 'perma') ? '1' : '0', |
|
| 475 | + 'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row), |
|
| 476 | + ); |
|
| 477 | + |
|
| 478 | + // desactiver le hash md5 si pas auteur spip ? |
|
| 479 | + if ($row['source'] !== 'spip') { |
|
| 480 | + $row['alea_actuel'] = ''; |
|
| 481 | + $row['alea_futur'] = ''; |
|
| 482 | + } |
|
| 483 | + verifier_visiteur(); |
|
| 484 | + |
|
| 485 | + return auth_administrer('informer_login', array($row['source'], $infos, $row, $serveur), $infos); |
|
| 486 | 486 | } |
| 487 | 487 | |
| 488 | 488 | |
@@ -496,21 +496,21 @@ discard block |
||
| 496 | 496 | * @return mixed |
| 497 | 497 | */ |
| 498 | 498 | function auth_identifier_login($login, $password, $serveur = '') { |
| 499 | - $erreur = ''; |
|
| 500 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 501 | - if ($auth = charger_fonction($methode, 'auth', true)) { |
|
| 502 | - $auteur = $auth($login, $password, $serveur); |
|
| 503 | - if (is_array($auteur) and count($auteur)) { |
|
| 504 | - spip_log("connexion de $login par methode $methode"); |
|
| 505 | - $auteur['auth'] = $methode; |
|
| 506 | - return $auteur; |
|
| 507 | - } elseif (is_string($auteur)) { |
|
| 508 | - $erreur .= "$auteur "; |
|
| 509 | - } |
|
| 510 | - } |
|
| 511 | - } |
|
| 512 | - |
|
| 513 | - return $erreur; |
|
| 499 | + $erreur = ''; |
|
| 500 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 501 | + if ($auth = charger_fonction($methode, 'auth', true)) { |
|
| 502 | + $auteur = $auth($login, $password, $serveur); |
|
| 503 | + if (is_array($auteur) and count($auteur)) { |
|
| 504 | + spip_log("connexion de $login par methode $methode"); |
|
| 505 | + $auteur['auth'] = $methode; |
|
| 506 | + return $auteur; |
|
| 507 | + } elseif (is_string($auteur)) { |
|
| 508 | + $erreur .= "$auteur "; |
|
| 509 | + } |
|
| 510 | + } |
|
| 511 | + } |
|
| 512 | + |
|
| 513 | + return $erreur; |
|
| 514 | 514 | } |
| 515 | 515 | |
| 516 | 516 | /** |
@@ -524,8 +524,8 @@ discard block |
||
| 524 | 524 | * @return string |
| 525 | 525 | */ |
| 526 | 526 | function auth_url_retour_login($auth_methode, $login, $redirect = '', $serveur = '') { |
| 527 | - $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 528 | - return $securiser_action('auth', "$auth_methode/$login", $redirect, true); |
|
| 527 | + $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 528 | + return $securiser_action('auth', "$auth_methode/$login", $redirect, true); |
|
| 529 | 529 | } |
| 530 | 530 | |
| 531 | 531 | /** |
@@ -539,9 +539,9 @@ discard block |
||
| 539 | 539 | * @return mixed |
| 540 | 540 | */ |
| 541 | 541 | function auth_terminer_identifier_login($auth_methode, $login, $serveur = '') { |
| 542 | - $args = func_get_args(); |
|
| 543 | - $auteur = auth_administrer('terminer_identifier_login', $args); |
|
| 544 | - return $auteur; |
|
| 542 | + $args = func_get_args(); |
|
| 543 | + $auteur = auth_administrer('terminer_identifier_login', $args); |
|
| 544 | + return $auteur; |
|
| 545 | 545 | } |
| 546 | 546 | |
| 547 | 547 | /** |
@@ -551,29 +551,29 @@ discard block |
||
| 551 | 551 | * @return bool |
| 552 | 552 | */ |
| 553 | 553 | function auth_loger($auteur) { |
| 554 | - if (!is_array($auteur) or !count($auteur)) { |
|
| 555 | - return false; |
|
| 556 | - } |
|
| 557 | - |
|
| 558 | - // initialiser et poser le cookie de session |
|
| 559 | - unset($_COOKIE['spip_session']); |
|
| 560 | - if (auth_init_droits($auteur) === false) { |
|
| 561 | - return false; |
|
| 562 | - } |
|
| 563 | - |
|
| 564 | - // initialiser les prefs |
|
| 565 | - $p = $GLOBALS['visiteur_session']['prefs']; |
|
| 566 | - $p['cnx'] = (isset($auteur['cookie']) and $auteur['cookie'] == 'oui') ? 'perma' : ''; |
|
| 567 | - |
|
| 568 | - sql_updateq( |
|
| 569 | - 'spip_auteurs', |
|
| 570 | - array('prefs' => serialize($p)), |
|
| 571 | - 'id_auteur=' . intval($auteur['id_auteur']) |
|
| 572 | - ); |
|
| 573 | - |
|
| 574 | - // bloquer ici le visiteur qui tente d'abuser de ses droits |
|
| 575 | - verifier_visiteur(); |
|
| 576 | - return true; |
|
| 554 | + if (!is_array($auteur) or !count($auteur)) { |
|
| 555 | + return false; |
|
| 556 | + } |
|
| 557 | + |
|
| 558 | + // initialiser et poser le cookie de session |
|
| 559 | + unset($_COOKIE['spip_session']); |
|
| 560 | + if (auth_init_droits($auteur) === false) { |
|
| 561 | + return false; |
|
| 562 | + } |
|
| 563 | + |
|
| 564 | + // initialiser les prefs |
|
| 565 | + $p = $GLOBALS['visiteur_session']['prefs']; |
|
| 566 | + $p['cnx'] = (isset($auteur['cookie']) and $auteur['cookie'] == 'oui') ? 'perma' : ''; |
|
| 567 | + |
|
| 568 | + sql_updateq( |
|
| 569 | + 'spip_auteurs', |
|
| 570 | + array('prefs' => serialize($p)), |
|
| 571 | + 'id_auteur=' . intval($auteur['id_auteur']) |
|
| 572 | + ); |
|
| 573 | + |
|
| 574 | + // bloquer ici le visiteur qui tente d'abuser de ses droits |
|
| 575 | + verifier_visiteur(); |
|
| 576 | + return true; |
|
| 577 | 577 | } |
| 578 | 578 | |
| 579 | 579 | /** |
@@ -583,8 +583,8 @@ discard block |
||
| 583 | 583 | * return void |
| 584 | 584 | **/ |
| 585 | 585 | function auth_deloger() { |
| 586 | - $logout = charger_fonction('logout', 'action'); |
|
| 587 | - $logout(); |
|
| 586 | + $logout = charger_fonction('logout', 'action'); |
|
| 587 | + $logout(); |
|
| 588 | 588 | } |
| 589 | 589 | |
| 590 | 590 | /** |
@@ -598,8 +598,8 @@ discard block |
||
| 598 | 598 | * @return bool |
| 599 | 599 | */ |
| 600 | 600 | function auth_autoriser_modifier_login($auth_methode, $serveur = '') { |
| 601 | - $args = func_get_args(); |
|
| 602 | - return auth_administrer('autoriser_modifier_login', $args); |
|
| 601 | + $args = func_get_args(); |
|
| 602 | + return auth_administrer('autoriser_modifier_login', $args); |
|
| 603 | 603 | } |
| 604 | 604 | |
| 605 | 605 | /** |
@@ -614,8 +614,8 @@ discard block |
||
| 614 | 614 | * message d'erreur ou chaine vide si pas d'erreur |
| 615 | 615 | */ |
| 616 | 616 | function auth_verifier_login($auth_methode, $new_login, $id_auteur = 0, $serveur = '') { |
| 617 | - $args = func_get_args(); |
|
| 618 | - return auth_administrer('verifier_login', $args, ''); |
|
| 617 | + $args = func_get_args(); |
|
| 618 | + return auth_administrer('verifier_login', $args, ''); |
|
| 619 | 619 | } |
| 620 | 620 | |
| 621 | 621 | /** |
@@ -628,8 +628,8 @@ discard block |
||
| 628 | 628 | * @return bool |
| 629 | 629 | */ |
| 630 | 630 | function auth_modifier_login($auth_methode, $new_login, $id_auteur, $serveur = '') { |
| 631 | - $args = func_get_args(); |
|
| 632 | - return auth_administrer('modifier_login', $args); |
|
| 631 | + $args = func_get_args(); |
|
| 632 | + return auth_administrer('modifier_login', $args); |
|
| 633 | 633 | } |
| 634 | 634 | |
| 635 | 635 | /** |
@@ -644,8 +644,8 @@ discard block |
||
| 644 | 644 | * succès ou échec |
| 645 | 645 | */ |
| 646 | 646 | function auth_autoriser_modifier_pass($auth_methode, $serveur = '') { |
| 647 | - $args = func_get_args(); |
|
| 648 | - return auth_administrer('autoriser_modifier_pass', $args); |
|
| 647 | + $args = func_get_args(); |
|
| 648 | + return auth_administrer('autoriser_modifier_pass', $args); |
|
| 649 | 649 | } |
| 650 | 650 | |
| 651 | 651 | /** |
@@ -661,8 +661,8 @@ discard block |
||
| 661 | 661 | * message d'erreur ou chaine vide si pas d'erreur |
| 662 | 662 | */ |
| 663 | 663 | function auth_verifier_pass($auth_methode, $login, $new_pass, $id_auteur = 0, $serveur = '') { |
| 664 | - $args = func_get_args(); |
|
| 665 | - return auth_administrer('verifier_pass', $args, ''); |
|
| 664 | + $args = func_get_args(); |
|
| 665 | + return auth_administrer('verifier_pass', $args, ''); |
|
| 666 | 666 | } |
| 667 | 667 | |
| 668 | 668 | /** |
@@ -678,8 +678,8 @@ discard block |
||
| 678 | 678 | * succes ou echec |
| 679 | 679 | */ |
| 680 | 680 | function auth_modifier_pass($auth_methode, $login, $new_pass, $id_auteur, $serveur = '') { |
| 681 | - $args = func_get_args(); |
|
| 682 | - return auth_administrer('modifier_pass', $args); |
|
| 681 | + $args = func_get_args(); |
|
| 682 | + return auth_administrer('modifier_pass', $args); |
|
| 683 | 683 | } |
| 684 | 684 | |
| 685 | 685 | /** |
@@ -695,24 +695,24 @@ discard block |
||
| 695 | 695 | * @return void |
| 696 | 696 | */ |
| 697 | 697 | function auth_synchroniser_distant( |
| 698 | - $auth_methode = true, |
|
| 699 | - $id_auteur = 0, |
|
| 700 | - $champs = array(), |
|
| 701 | - $options = array(), |
|
| 702 | - $serveur = '' |
|
| 698 | + $auth_methode = true, |
|
| 699 | + $id_auteur = 0, |
|
| 700 | + $champs = array(), |
|
| 701 | + $options = array(), |
|
| 702 | + $serveur = '' |
|
| 703 | 703 | ) { |
| 704 | - $args = func_get_args(); |
|
| 705 | - if ($auth_methode === true or (isset($options['all']) and $options['all'] == true)) { |
|
| 706 | - $options['all'] = true; // ajouter une option all=>true pour chaque auth |
|
| 707 | - $args = array(true, $id_auteur, $champs, $options, $serveur); |
|
| 708 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 709 | - array_shift($args); |
|
| 710 | - array_unshift($args, $methode); |
|
| 711 | - auth_administrer('synchroniser_distant', $args); |
|
| 712 | - } |
|
| 713 | - } else { |
|
| 714 | - auth_administrer('synchroniser_distant', $args); |
|
| 715 | - } |
|
| 704 | + $args = func_get_args(); |
|
| 705 | + if ($auth_methode === true or (isset($options['all']) and $options['all'] == true)) { |
|
| 706 | + $options['all'] = true; // ajouter une option all=>true pour chaque auth |
|
| 707 | + $args = array(true, $id_auteur, $champs, $options, $serveur); |
|
| 708 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 709 | + array_shift($args); |
|
| 710 | + array_unshift($args, $methode); |
|
| 711 | + auth_administrer('synchroniser_distant', $args); |
|
| 712 | + } |
|
| 713 | + } else { |
|
| 714 | + auth_administrer('synchroniser_distant', $args); |
|
| 715 | + } |
|
| 716 | 716 | } |
| 717 | 717 | |
| 718 | 718 | |
@@ -725,42 +725,42 @@ discard block |
||
| 725 | 725 | * @return array|bool |
| 726 | 726 | */ |
| 727 | 727 | function lire_php_auth($login, $pw, $serveur = '') { |
| 728 | - if ( |
|
| 729 | - !$login |
|
| 730 | - or !$login = auth_retrouver_login($login, $serveur) |
|
| 731 | - ) { |
|
| 732 | - return false; |
|
| 733 | - } |
|
| 734 | - |
|
| 735 | - $row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur); |
|
| 736 | - |
|
| 737 | - if (!$row) { |
|
| 738 | - if (spip_connect_ldap($serveur) |
|
| 739 | - and $auth_ldap = charger_fonction('ldap', 'auth', true) |
|
| 740 | - ) { |
|
| 741 | - return $auth_ldap($login, $pw, $serveur, true); |
|
| 742 | - } |
|
| 743 | - |
|
| 744 | - return false; |
|
| 745 | - } |
|
| 746 | - // su pas de source definie |
|
| 747 | - // ou auth/xxx introuvable, utiliser 'spip' |
|
| 748 | - if (!$auth_methode = $row['source'] |
|
| 749 | - or !$auth = charger_fonction($auth_methode, 'auth', true) |
|
| 750 | - ) { |
|
| 751 | - $auth = charger_fonction('spip', 'auth', true); |
|
| 752 | - } |
|
| 753 | - |
|
| 754 | - $auteur = ''; |
|
| 755 | - if ($auth) { |
|
| 756 | - $auteur = $auth($login, $pw, $serveur, true); |
|
| 757 | - } |
|
| 758 | - // verifier que ce n'est pas un message d'erreur |
|
| 759 | - if (is_array($auteur) and count($auteur)) { |
|
| 760 | - return $auteur; |
|
| 761 | - } |
|
| 762 | - |
|
| 763 | - return false; |
|
| 728 | + if ( |
|
| 729 | + !$login |
|
| 730 | + or !$login = auth_retrouver_login($login, $serveur) |
|
| 731 | + ) { |
|
| 732 | + return false; |
|
| 733 | + } |
|
| 734 | + |
|
| 735 | + $row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur); |
|
| 736 | + |
|
| 737 | + if (!$row) { |
|
| 738 | + if (spip_connect_ldap($serveur) |
|
| 739 | + and $auth_ldap = charger_fonction('ldap', 'auth', true) |
|
| 740 | + ) { |
|
| 741 | + return $auth_ldap($login, $pw, $serveur, true); |
|
| 742 | + } |
|
| 743 | + |
|
| 744 | + return false; |
|
| 745 | + } |
|
| 746 | + // su pas de source definie |
|
| 747 | + // ou auth/xxx introuvable, utiliser 'spip' |
|
| 748 | + if (!$auth_methode = $row['source'] |
|
| 749 | + or !$auth = charger_fonction($auth_methode, 'auth', true) |
|
| 750 | + ) { |
|
| 751 | + $auth = charger_fonction('spip', 'auth', true); |
|
| 752 | + } |
|
| 753 | + |
|
| 754 | + $auteur = ''; |
|
| 755 | + if ($auth) { |
|
| 756 | + $auteur = $auth($login, $pw, $serveur, true); |
|
| 757 | + } |
|
| 758 | + // verifier que ce n'est pas un message d'erreur |
|
| 759 | + if (is_array($auteur) and count($auteur)) { |
|
| 760 | + return $auteur; |
|
| 761 | + } |
|
| 762 | + |
|
| 763 | + return false; |
|
| 764 | 764 | } |
| 765 | 765 | |
| 766 | 766 | /** |
@@ -776,21 +776,21 @@ discard block |
||
| 776 | 776 | * @param string $lien |
| 777 | 777 | */ |
| 778 | 778 | function ask_php_auth($pb, $raison, $retour = '', $url = '', $re = '', $lien = '') { |
| 779 | - @Header('WWW-Authenticate: Basic realm="espace prive"'); |
|
| 780 | - @Header('HTTP/1.0 401 Unauthorized'); |
|
| 781 | - $corps = ''; |
|
| 782 | - $public = generer_url_public(); |
|
| 783 | - $ecrire = generer_url_ecrire(); |
|
| 784 | - $retour = $retour ? $retour : _T('icone_retour'); |
|
| 785 | - $corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] "; |
|
| 786 | - if ($url) { |
|
| 787 | - $corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]"; |
|
| 788 | - } |
|
| 789 | - |
|
| 790 | - if ($lien) { |
|
| 791 | - $corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]'; |
|
| 792 | - } |
|
| 793 | - include_spip('inc/minipres'); |
|
| 794 | - echo minipres($pb, $corps); |
|
| 795 | - exit; |
|
| 779 | + @Header('WWW-Authenticate: Basic realm="espace prive"'); |
|
| 780 | + @Header('HTTP/1.0 401 Unauthorized'); |
|
| 781 | + $corps = ''; |
|
| 782 | + $public = generer_url_public(); |
|
| 783 | + $ecrire = generer_url_ecrire(); |
|
| 784 | + $retour = $retour ? $retour : _T('icone_retour'); |
|
| 785 | + $corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] "; |
|
| 786 | + if ($url) { |
|
| 787 | + $corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]"; |
|
| 788 | + } |
|
| 789 | + |
|
| 790 | + if ($lien) { |
|
| 791 | + $corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]'; |
|
| 792 | + } |
|
| 793 | + include_spip('inc/minipres'); |
|
| 794 | + echo minipres($pb, $corps); |
|
| 795 | + exit; |
|
| 796 | 796 | } |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | * @package SPIP\Core\Filtres |
| 17 | 17 | */ |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | include_spip('inc/filtres_boites'); |
@@ -41,27 +41,27 @@ discard block |
||
| 41 | 41 | */ |
| 42 | 42 | function parametres_css_prive() { |
| 43 | 43 | |
| 44 | - $args = array(); |
|
| 45 | - $args['v'] = $GLOBALS['spip_version_code']; |
|
| 46 | - $args['p'] = substr(md5($GLOBALS['meta']['plugin']), 0, 4); |
|
| 47 | - $args['themes'] = implode(',', lister_themes_prives()); |
|
| 48 | - $args['ltr'] = $GLOBALS['spip_lang_left']; |
|
| 49 | - // un md5 des menus : si un menu change il faut maj la css |
|
| 50 | - $args['md5b'] = (function_exists('md5_boutons_plugins') ? md5_boutons_plugins() : ''); |
|
| 44 | + $args = array(); |
|
| 45 | + $args['v'] = $GLOBALS['spip_version_code']; |
|
| 46 | + $args['p'] = substr(md5($GLOBALS['meta']['plugin']), 0, 4); |
|
| 47 | + $args['themes'] = implode(',', lister_themes_prives()); |
|
| 48 | + $args['ltr'] = $GLOBALS['spip_lang_left']; |
|
| 49 | + // un md5 des menus : si un menu change il faut maj la css |
|
| 50 | + $args['md5b'] = (function_exists('md5_boutons_plugins') ? md5_boutons_plugins() : ''); |
|
| 51 | 51 | |
| 52 | - $c = isset($GLOBALS['visiteur_session']['prefs']['couleur']) |
|
| 53 | - ? $GLOBALS['visiteur_session']['prefs']['couleur'] |
|
| 54 | - : 2; |
|
| 52 | + $c = isset($GLOBALS['visiteur_session']['prefs']['couleur']) |
|
| 53 | + ? $GLOBALS['visiteur_session']['prefs']['couleur'] |
|
| 54 | + : 2; |
|
| 55 | 55 | |
| 56 | - $couleurs = charger_fonction('couleurs', 'inc'); |
|
| 57 | - parse_str($couleurs($c), $c); |
|
| 58 | - $args = array_merge($args, $c); |
|
| 56 | + $couleurs = charger_fonction('couleurs', 'inc'); |
|
| 57 | + parse_str($couleurs($c), $c); |
|
| 58 | + $args = array_merge($args, $c); |
|
| 59 | 59 | |
| 60 | - if (_request('var_mode') == 'recalcul' or (defined('_VAR_MODE') and _VAR_MODE == 'recalcul')) { |
|
| 61 | - $args['var_mode'] = 'recalcul'; |
|
| 62 | - } |
|
| 60 | + if (_request('var_mode') == 'recalcul' or (defined('_VAR_MODE') and _VAR_MODE == 'recalcul')) { |
|
| 61 | + $args['var_mode'] = 'recalcul'; |
|
| 62 | + } |
|
| 63 | 63 | |
| 64 | - return http_build_query($args); |
|
| 64 | + return http_build_query($args); |
|
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | |
@@ -84,79 +84,79 @@ discard block |
||
| 84 | 84 | * @return string |
| 85 | 85 | */ |
| 86 | 86 | function chercher_rubrique( |
| 87 | - $titre, |
|
| 88 | - $id_objet, |
|
| 89 | - $id_parent, |
|
| 90 | - $objet, |
|
| 91 | - $id_secteur, |
|
| 92 | - $restreint, |
|
| 93 | - $actionable = false, |
|
| 94 | - $retour_sans_cadre = false |
|
| 87 | + $titre, |
|
| 88 | + $id_objet, |
|
| 89 | + $id_parent, |
|
| 90 | + $objet, |
|
| 91 | + $id_secteur, |
|
| 92 | + $restreint, |
|
| 93 | + $actionable = false, |
|
| 94 | + $retour_sans_cadre = false |
|
| 95 | 95 | ) { |
| 96 | 96 | |
| 97 | - include_spip('inc/autoriser'); |
|
| 98 | - if (intval($id_objet) && !autoriser('modifier', $objet, $id_objet)) { |
|
| 99 | - return ""; |
|
| 100 | - } |
|
| 101 | - if (!sql_countsel('spip_rubriques')) { |
|
| 102 | - return ""; |
|
| 103 | - } |
|
| 104 | - $chercher_rubrique = charger_fonction('chercher_rubrique', 'inc'); |
|
| 105 | - $form = $chercher_rubrique($id_parent, $objet, $restreint, ($objet == 'rubrique') ? $id_objet : 0); |
|
| 106 | - |
|
| 107 | - if ($id_parent == 0) { |
|
| 108 | - $logo = "racine-24.png"; |
|
| 109 | - } elseif ($id_secteur == $id_parent) { |
|
| 110 | - $logo = "secteur-24.png"; |
|
| 111 | - } else { |
|
| 112 | - $logo = "rubrique-24.png"; |
|
| 113 | - } |
|
| 114 | - |
|
| 115 | - $confirm = ""; |
|
| 116 | - if ($objet == 'rubrique') { |
|
| 117 | - // si c'est une rubrique-secteur contenant des breves, demander la |
|
| 118 | - // confirmation du deplacement |
|
| 119 | - $contient_breves = sql_countsel('spip_breves', "id_rubrique=" . intval($id_objet)); |
|
| 120 | - |
|
| 121 | - if ($contient_breves > 0) { |
|
| 122 | - $scb = ($contient_breves > 1 ? 's' : ''); |
|
| 123 | - $scb = _T('avis_deplacement_rubrique', |
|
| 124 | - array( |
|
| 125 | - 'contient_breves' => $contient_breves, |
|
| 126 | - 'scb' => $scb |
|
| 127 | - )); |
|
| 128 | - $confirm .= "\n<div class='confirmer_deplacement verdana2'>" |
|
| 129 | - . "<div class='choix'><input type='checkbox' name='confirme_deplace' value='oui' id='confirme-deplace' /><label for='confirme-deplace'>" |
|
| 130 | - . $scb . |
|
| 131 | - "</label></div></div>\n"; |
|
| 132 | - } else { |
|
| 133 | - $confirm .= "<input type='hidden' name='confirme_deplace' value='oui' />\n"; |
|
| 134 | - } |
|
| 135 | - } |
|
| 136 | - $form .= $confirm; |
|
| 137 | - if ($actionable) { |
|
| 138 | - if (strpos($form, '<select') !== false) { |
|
| 139 | - $form .= "<div style='text-align: " . $GLOBALS['spip_lang_right'] . ";'>" |
|
| 140 | - . '<input class="fondo submit btn" type="submit" value="' . _T('bouton_choisir') . '"/>' |
|
| 141 | - . "</div>"; |
|
| 142 | - } |
|
| 143 | - $form = "<input type='hidden' name='editer_$objet' value='oui' />\n" . $form; |
|
| 144 | - if ($action = charger_fonction("editer_$objet", "action", true)) { |
|
| 145 | - $form = generer_action_auteur("editer_$objet", $id_objet, self(), $form, |
|
| 146 | - " method='post' class='submit_plongeur'"); |
|
| 147 | - } else { |
|
| 148 | - $form = generer_action_auteur("editer_objet", "$objet/$id_objet", self(), $form, |
|
| 149 | - " method='post' class='submit_plongeur'"); |
|
| 150 | - } |
|
| 151 | - } |
|
| 152 | - |
|
| 153 | - if ($retour_sans_cadre) { |
|
| 154 | - return $form; |
|
| 155 | - } |
|
| 156 | - |
|
| 157 | - include_spip('inc/presentation'); |
|
| 158 | - |
|
| 159 | - return debut_cadre_couleur($logo, true, "", $titre) . $form . fin_cadre_couleur(true); |
|
| 97 | + include_spip('inc/autoriser'); |
|
| 98 | + if (intval($id_objet) && !autoriser('modifier', $objet, $id_objet)) { |
|
| 99 | + return ""; |
|
| 100 | + } |
|
| 101 | + if (!sql_countsel('spip_rubriques')) { |
|
| 102 | + return ""; |
|
| 103 | + } |
|
| 104 | + $chercher_rubrique = charger_fonction('chercher_rubrique', 'inc'); |
|
| 105 | + $form = $chercher_rubrique($id_parent, $objet, $restreint, ($objet == 'rubrique') ? $id_objet : 0); |
|
| 106 | + |
|
| 107 | + if ($id_parent == 0) { |
|
| 108 | + $logo = "racine-24.png"; |
|
| 109 | + } elseif ($id_secteur == $id_parent) { |
|
| 110 | + $logo = "secteur-24.png"; |
|
| 111 | + } else { |
|
| 112 | + $logo = "rubrique-24.png"; |
|
| 113 | + } |
|
| 114 | + |
|
| 115 | + $confirm = ""; |
|
| 116 | + if ($objet == 'rubrique') { |
|
| 117 | + // si c'est une rubrique-secteur contenant des breves, demander la |
|
| 118 | + // confirmation du deplacement |
|
| 119 | + $contient_breves = sql_countsel('spip_breves', "id_rubrique=" . intval($id_objet)); |
|
| 120 | + |
|
| 121 | + if ($contient_breves > 0) { |
|
| 122 | + $scb = ($contient_breves > 1 ? 's' : ''); |
|
| 123 | + $scb = _T('avis_deplacement_rubrique', |
|
| 124 | + array( |
|
| 125 | + 'contient_breves' => $contient_breves, |
|
| 126 | + 'scb' => $scb |
|
| 127 | + )); |
|
| 128 | + $confirm .= "\n<div class='confirmer_deplacement verdana2'>" |
|
| 129 | + . "<div class='choix'><input type='checkbox' name='confirme_deplace' value='oui' id='confirme-deplace' /><label for='confirme-deplace'>" |
|
| 130 | + . $scb . |
|
| 131 | + "</label></div></div>\n"; |
|
| 132 | + } else { |
|
| 133 | + $confirm .= "<input type='hidden' name='confirme_deplace' value='oui' />\n"; |
|
| 134 | + } |
|
| 135 | + } |
|
| 136 | + $form .= $confirm; |
|
| 137 | + if ($actionable) { |
|
| 138 | + if (strpos($form, '<select') !== false) { |
|
| 139 | + $form .= "<div style='text-align: " . $GLOBALS['spip_lang_right'] . ";'>" |
|
| 140 | + . '<input class="fondo submit btn" type="submit" value="' . _T('bouton_choisir') . '"/>' |
|
| 141 | + . "</div>"; |
|
| 142 | + } |
|
| 143 | + $form = "<input type='hidden' name='editer_$objet' value='oui' />\n" . $form; |
|
| 144 | + if ($action = charger_fonction("editer_$objet", "action", true)) { |
|
| 145 | + $form = generer_action_auteur("editer_$objet", $id_objet, self(), $form, |
|
| 146 | + " method='post' class='submit_plongeur'"); |
|
| 147 | + } else { |
|
| 148 | + $form = generer_action_auteur("editer_objet", "$objet/$id_objet", self(), $form, |
|
| 149 | + " method='post' class='submit_plongeur'"); |
|
| 150 | + } |
|
| 151 | + } |
|
| 152 | + |
|
| 153 | + if ($retour_sans_cadre) { |
|
| 154 | + return $form; |
|
| 155 | + } |
|
| 156 | + |
|
| 157 | + include_spip('inc/presentation'); |
|
| 158 | + |
|
| 159 | + return debut_cadre_couleur($logo, true, "", $titre) . $form . fin_cadre_couleur(true); |
|
| 160 | 160 | |
| 161 | 161 | } |
| 162 | 162 | |
@@ -171,21 +171,21 @@ discard block |
||
| 171 | 171 | * @return bool |
| 172 | 172 | */ |
| 173 | 173 | function avoir_visiteurs($past = false, $accepter = true) { |
| 174 | - if ($GLOBALS['meta']["forums_publics"] == 'abo') { |
|
| 175 | - return true; |
|
| 176 | - } |
|
| 177 | - if ($accepter and $GLOBALS['meta']["accepter_visiteurs"] <> 'non') { |
|
| 178 | - return true; |
|
| 179 | - } |
|
| 180 | - if (sql_countsel('spip_articles', "accepter_forum='abo'")) { |
|
| 181 | - return true; |
|
| 182 | - } |
|
| 183 | - if (!$past) { |
|
| 184 | - return false; |
|
| 185 | - } |
|
| 186 | - |
|
| 187 | - return sql_countsel('spip_auteurs', |
|
| 188 | - "statut NOT IN ('0minirezo','1comite', '5poubelle') |
|
| 174 | + if ($GLOBALS['meta']["forums_publics"] == 'abo') { |
|
| 175 | + return true; |
|
| 176 | + } |
|
| 177 | + if ($accepter and $GLOBALS['meta']["accepter_visiteurs"] <> 'non') { |
|
| 178 | + return true; |
|
| 179 | + } |
|
| 180 | + if (sql_countsel('spip_articles', "accepter_forum='abo'")) { |
|
| 181 | + return true; |
|
| 182 | + } |
|
| 183 | + if (!$past) { |
|
| 184 | + return false; |
|
| 185 | + } |
|
| 186 | + |
|
| 187 | + return sql_countsel('spip_auteurs', |
|
| 188 | + "statut NOT IN ('0minirezo','1comite', '5poubelle') |
|
| 189 | 189 | AND (statut<>'nouveau' OR prefs NOT IN ('0minirezo','1comite', '5poubelle'))"); |
| 190 | 190 | } |
| 191 | 191 | |
@@ -202,18 +202,18 @@ discard block |
||
| 202 | 202 | * @return array |
| 203 | 203 | */ |
| 204 | 204 | function statuts_articles_visibles($statut_auteur) { |
| 205 | - static $auth = array(); |
|
| 206 | - if (!isset($auth[$statut_auteur])) { |
|
| 207 | - $auth[$statut_auteur] = array(); |
|
| 208 | - $statuts = array_column(sql_allfetsel('distinct statut', 'spip_articles'), 'statut'); |
|
| 209 | - foreach ($statuts as $s) { |
|
| 210 | - if (autoriser('voir', 'article', 0, array('statut' => $statut_auteur), array('statut' => $s))) { |
|
| 211 | - $auth[$statut_auteur][] = $s; |
|
| 212 | - } |
|
| 213 | - } |
|
| 214 | - } |
|
| 215 | - |
|
| 216 | - return $auth[$statut_auteur]; |
|
| 205 | + static $auth = array(); |
|
| 206 | + if (!isset($auth[$statut_auteur])) { |
|
| 207 | + $auth[$statut_auteur] = array(); |
|
| 208 | + $statuts = array_column(sql_allfetsel('distinct statut', 'spip_articles'), 'statut'); |
|
| 209 | + foreach ($statuts as $s) { |
|
| 210 | + if (autoriser('voir', 'article', 0, array('statut' => $statut_auteur), array('statut' => $s))) { |
|
| 211 | + $auth[$statut_auteur][] = $s; |
|
| 212 | + } |
|
| 213 | + } |
|
| 214 | + } |
|
| 215 | + |
|
| 216 | + return $auth[$statut_auteur]; |
|
| 217 | 217 | } |
| 218 | 218 | |
| 219 | 219 | /** |
@@ -227,38 +227,38 @@ discard block |
||
| 227 | 227 | * @return string |
| 228 | 228 | */ |
| 229 | 229 | function traduire_statut_auteur($statut, $attente = "") { |
| 230 | - $plus = ""; |
|
| 231 | - if ($statut == 'nouveau') { |
|
| 232 | - if ($attente) { |
|
| 233 | - $statut = $attente; |
|
| 234 | - $plus = " (" . _T('info_statut_auteur_a_confirmer') . ")"; |
|
| 235 | - } else { |
|
| 236 | - return _T('info_statut_auteur_a_confirmer'); |
|
| 237 | - } |
|
| 238 | - } |
|
| 239 | - |
|
| 240 | - $recom = array( |
|
| 241 | - "info_administrateurs" => _T('item_administrateur_2'), |
|
| 242 | - "info_redacteurs" => _T('intem_redacteur'), |
|
| 243 | - "info_visiteurs" => _T('item_visiteur'), |
|
| 244 | - '5poubelle' => _T('texte_statut_poubelle'), // bouh |
|
| 245 | - ); |
|
| 246 | - if (isset($recom[$statut])) { |
|
| 247 | - return $recom[$statut] . $plus; |
|
| 248 | - } |
|
| 249 | - |
|
| 250 | - // retrouver directement par le statut sinon |
|
| 251 | - if ($t = array_search($statut, $GLOBALS['liste_des_statuts'])) { |
|
| 252 | - if (isset($recom[$t])) { |
|
| 253 | - return $recom[$t] . $plus; |
|
| 254 | - } |
|
| 255 | - |
|
| 256 | - return _T($t) . $plus; |
|
| 257 | - } |
|
| 258 | - |
|
| 259 | - // si on a pas reussi a le traduire, retournons la chaine telle quelle |
|
| 260 | - // c'est toujours plus informatif que rien du tout |
|
| 261 | - return $statut; |
|
| 230 | + $plus = ""; |
|
| 231 | + if ($statut == 'nouveau') { |
|
| 232 | + if ($attente) { |
|
| 233 | + $statut = $attente; |
|
| 234 | + $plus = " (" . _T('info_statut_auteur_a_confirmer') . ")"; |
|
| 235 | + } else { |
|
| 236 | + return _T('info_statut_auteur_a_confirmer'); |
|
| 237 | + } |
|
| 238 | + } |
|
| 239 | + |
|
| 240 | + $recom = array( |
|
| 241 | + "info_administrateurs" => _T('item_administrateur_2'), |
|
| 242 | + "info_redacteurs" => _T('intem_redacteur'), |
|
| 243 | + "info_visiteurs" => _T('item_visiteur'), |
|
| 244 | + '5poubelle' => _T('texte_statut_poubelle'), // bouh |
|
| 245 | + ); |
|
| 246 | + if (isset($recom[$statut])) { |
|
| 247 | + return $recom[$statut] . $plus; |
|
| 248 | + } |
|
| 249 | + |
|
| 250 | + // retrouver directement par le statut sinon |
|
| 251 | + if ($t = array_search($statut, $GLOBALS['liste_des_statuts'])) { |
|
| 252 | + if (isset($recom[$t])) { |
|
| 253 | + return $recom[$t] . $plus; |
|
| 254 | + } |
|
| 255 | + |
|
| 256 | + return _T($t) . $plus; |
|
| 257 | + } |
|
| 258 | + |
|
| 259 | + // si on a pas reussi a le traduire, retournons la chaine telle quelle |
|
| 260 | + // c'est toujours plus informatif que rien du tout |
|
| 261 | + return $statut; |
|
| 262 | 262 | } |
| 263 | 263 | |
| 264 | 264 | /** |
@@ -269,28 +269,28 @@ discard block |
||
| 269 | 269 | * @return string |
| 270 | 270 | */ |
| 271 | 271 | function afficher_qui_edite($id_objet, $objet) { |
| 272 | - static $qui = array(); |
|
| 273 | - if (isset($qui[$objet][$id_objet])) { |
|
| 274 | - return $qui[$objet][$id_objet]; |
|
| 275 | - } |
|
| 276 | - |
|
| 277 | - if ($GLOBALS['meta']['articles_modif'] == 'non') { |
|
| 278 | - return $qui[$objet][$id_objet] = ''; |
|
| 279 | - } |
|
| 280 | - |
|
| 281 | - include_spip('inc/drapeau_edition'); |
|
| 282 | - $modif = mention_qui_edite($id_objet, $objet); |
|
| 283 | - if (!$modif) { |
|
| 284 | - return $qui[$objet][$id_objet] = ''; |
|
| 285 | - } |
|
| 286 | - |
|
| 287 | - include_spip('base/objets'); |
|
| 288 | - $infos = lister_tables_objets_sql(table_objet_sql($objet)); |
|
| 289 | - if (isset($infos['texte_signale_edition'])) { |
|
| 290 | - return $qui[$objet][$id_objet] = _T($infos['texte_signale_edition'], $modif); |
|
| 291 | - } |
|
| 292 | - |
|
| 293 | - return $qui[$objet][$id_objet] = _T('info_qui_edite', $modif); |
|
| 272 | + static $qui = array(); |
|
| 273 | + if (isset($qui[$objet][$id_objet])) { |
|
| 274 | + return $qui[$objet][$id_objet]; |
|
| 275 | + } |
|
| 276 | + |
|
| 277 | + if ($GLOBALS['meta']['articles_modif'] == 'non') { |
|
| 278 | + return $qui[$objet][$id_objet] = ''; |
|
| 279 | + } |
|
| 280 | + |
|
| 281 | + include_spip('inc/drapeau_edition'); |
|
| 282 | + $modif = mention_qui_edite($id_objet, $objet); |
|
| 283 | + if (!$modif) { |
|
| 284 | + return $qui[$objet][$id_objet] = ''; |
|
| 285 | + } |
|
| 286 | + |
|
| 287 | + include_spip('base/objets'); |
|
| 288 | + $infos = lister_tables_objets_sql(table_objet_sql($objet)); |
|
| 289 | + if (isset($infos['texte_signale_edition'])) { |
|
| 290 | + return $qui[$objet][$id_objet] = _T($infos['texte_signale_edition'], $modif); |
|
| 291 | + } |
|
| 292 | + |
|
| 293 | + return $qui[$objet][$id_objet] = _T('info_qui_edite', $modif); |
|
| 294 | 294 | } |
| 295 | 295 | |
| 296 | 296 | /** |
@@ -308,57 +308,57 @@ discard block |
||
| 308 | 308 | * @return array |
| 309 | 309 | */ |
| 310 | 310 | function auteurs_lister_statuts($quoi = 'tous', $en_base = true) { |
| 311 | - if (!defined('AUTEURS_MIN_REDAC')) { |
|
| 312 | - define('AUTEURS_MIN_REDAC', "0minirezo,1comite,5poubelle"); |
|
| 313 | - } |
|
| 314 | - |
|
| 315 | - switch ($quoi) { |
|
| 316 | - case "redacteurs": |
|
| 317 | - $statut = AUTEURS_MIN_REDAC; |
|
| 318 | - $statut = explode(',', $statut); |
|
| 319 | - if ($en_base) { |
|
| 320 | - $check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut'); |
|
| 321 | - $retire = array_diff($statut, $check); |
|
| 322 | - $statut = array_diff($statut, $retire); |
|
| 323 | - } |
|
| 324 | - |
|
| 325 | - return array_unique($statut); |
|
| 326 | - break; |
|
| 327 | - case "visiteurs": |
|
| 328 | - $statut = array(); |
|
| 329 | - $exclus = AUTEURS_MIN_REDAC; |
|
| 330 | - $exclus = explode(',', $exclus); |
|
| 331 | - if (!$en_base) { |
|
| 332 | - // prendre aussi les statuts de la table des status qui ne sont pas dans le define |
|
| 333 | - $statut = array_diff(array_values($GLOBALS['liste_des_statuts']), $exclus); |
|
| 334 | - } |
|
| 335 | - $s_complement = array_column( |
|
| 336 | - sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $exclus, 'NOT')), |
|
| 337 | - 'statut' |
|
| 338 | - ); |
|
| 339 | - |
|
| 340 | - return array_unique(array_merge($statut, $s_complement)); |
|
| 341 | - break; |
|
| 342 | - default: |
|
| 343 | - case "tous": |
|
| 344 | - $statut = array_values($GLOBALS['liste_des_statuts']); |
|
| 345 | - $s_complement = array_column( |
|
| 346 | - sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut, 'NOT')), |
|
| 347 | - 'statut' |
|
| 348 | - ); |
|
| 349 | - $statut = array_merge($statut, $s_complement); |
|
| 350 | - if ($en_base) { |
|
| 351 | - $check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut'); |
|
| 352 | - $retire = array_diff($statut, $check); |
|
| 353 | - $statut = array_diff($statut, $retire); |
|
| 354 | - } |
|
| 355 | - |
|
| 356 | - return array_unique($statut); |
|
| 357 | - break; |
|
| 358 | - } |
|
| 359 | - |
|
| 360 | - // on arrive jamais ici |
|
| 361 | - return array_values($GLOBALS['liste_des_statuts']); |
|
| 311 | + if (!defined('AUTEURS_MIN_REDAC')) { |
|
| 312 | + define('AUTEURS_MIN_REDAC', "0minirezo,1comite,5poubelle"); |
|
| 313 | + } |
|
| 314 | + |
|
| 315 | + switch ($quoi) { |
|
| 316 | + case "redacteurs": |
|
| 317 | + $statut = AUTEURS_MIN_REDAC; |
|
| 318 | + $statut = explode(',', $statut); |
|
| 319 | + if ($en_base) { |
|
| 320 | + $check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut'); |
|
| 321 | + $retire = array_diff($statut, $check); |
|
| 322 | + $statut = array_diff($statut, $retire); |
|
| 323 | + } |
|
| 324 | + |
|
| 325 | + return array_unique($statut); |
|
| 326 | + break; |
|
| 327 | + case "visiteurs": |
|
| 328 | + $statut = array(); |
|
| 329 | + $exclus = AUTEURS_MIN_REDAC; |
|
| 330 | + $exclus = explode(',', $exclus); |
|
| 331 | + if (!$en_base) { |
|
| 332 | + // prendre aussi les statuts de la table des status qui ne sont pas dans le define |
|
| 333 | + $statut = array_diff(array_values($GLOBALS['liste_des_statuts']), $exclus); |
|
| 334 | + } |
|
| 335 | + $s_complement = array_column( |
|
| 336 | + sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $exclus, 'NOT')), |
|
| 337 | + 'statut' |
|
| 338 | + ); |
|
| 339 | + |
|
| 340 | + return array_unique(array_merge($statut, $s_complement)); |
|
| 341 | + break; |
|
| 342 | + default: |
|
| 343 | + case "tous": |
|
| 344 | + $statut = array_values($GLOBALS['liste_des_statuts']); |
|
| 345 | + $s_complement = array_column( |
|
| 346 | + sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut, 'NOT')), |
|
| 347 | + 'statut' |
|
| 348 | + ); |
|
| 349 | + $statut = array_merge($statut, $s_complement); |
|
| 350 | + if ($en_base) { |
|
| 351 | + $check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut'); |
|
| 352 | + $retire = array_diff($statut, $check); |
|
| 353 | + $statut = array_diff($statut, $retire); |
|
| 354 | + } |
|
| 355 | + |
|
| 356 | + return array_unique($statut); |
|
| 357 | + break; |
|
| 358 | + } |
|
| 359 | + |
|
| 360 | + // on arrive jamais ici |
|
| 361 | + return array_values($GLOBALS['liste_des_statuts']); |
|
| 362 | 362 | } |
| 363 | 363 | |
| 364 | 364 | /** |
@@ -374,28 +374,28 @@ discard block |
||
| 374 | 374 | */ |
| 375 | 375 | function trouver_rubrique_creer_objet($id_rubrique, $objet) { |
| 376 | 376 | |
| 377 | - if (!$id_rubrique and defined('_CHOIX_RUBRIQUE_PAR_DEFAUT') and _CHOIX_RUBRIQUE_PAR_DEFAUT) { |
|
| 378 | - $in = !count($GLOBALS['connect_id_rubrique']) |
|
| 379 | - ? '' |
|
| 380 | - : (" AND " . sql_in('id_rubrique', $GLOBALS['connect_id_rubrique'])); |
|
| 381 | - |
|
| 382 | - // on tente d'abord l'ecriture a la racine dans le cas des rubriques uniquement |
|
| 383 | - if ($objet == 'rubrique') { |
|
| 384 | - $id_rubrique = 0; |
|
| 385 | - } else { |
|
| 386 | - $id_rubrique = sql_getfetsel('id_rubrique', 'spip_rubriques', "id_parent=0$in", '', "id_rubrique DESC", 1); |
|
| 387 | - } |
|
| 388 | - |
|
| 389 | - if (!autoriser("creer{$objet}dans", 'rubrique', $id_rubrique)) { |
|
| 390 | - // manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises |
|
| 391 | - $res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0"); |
|
| 392 | - while (!autoriser("creer{$objet}dans", 'rubrique', $id_rubrique) && $row_rub = sql_fetch($res)) { |
|
| 393 | - $id_rubrique = $row_rub['id_rubrique']; |
|
| 394 | - } |
|
| 395 | - } |
|
| 396 | - } |
|
| 397 | - |
|
| 398 | - return $id_rubrique; |
|
| 377 | + if (!$id_rubrique and defined('_CHOIX_RUBRIQUE_PAR_DEFAUT') and _CHOIX_RUBRIQUE_PAR_DEFAUT) { |
|
| 378 | + $in = !count($GLOBALS['connect_id_rubrique']) |
|
| 379 | + ? '' |
|
| 380 | + : (" AND " . sql_in('id_rubrique', $GLOBALS['connect_id_rubrique'])); |
|
| 381 | + |
|
| 382 | + // on tente d'abord l'ecriture a la racine dans le cas des rubriques uniquement |
|
| 383 | + if ($objet == 'rubrique') { |
|
| 384 | + $id_rubrique = 0; |
|
| 385 | + } else { |
|
| 386 | + $id_rubrique = sql_getfetsel('id_rubrique', 'spip_rubriques', "id_parent=0$in", '', "id_rubrique DESC", 1); |
|
| 387 | + } |
|
| 388 | + |
|
| 389 | + if (!autoriser("creer{$objet}dans", 'rubrique', $id_rubrique)) { |
|
| 390 | + // manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises |
|
| 391 | + $res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0"); |
|
| 392 | + while (!autoriser("creer{$objet}dans", 'rubrique', $id_rubrique) && $row_rub = sql_fetch($res)) { |
|
| 393 | + $id_rubrique = $row_rub['id_rubrique']; |
|
| 394 | + } |
|
| 395 | + } |
|
| 396 | + } |
|
| 397 | + |
|
| 398 | + return $id_rubrique; |
|
| 399 | 399 | } |
| 400 | 400 | |
| 401 | 401 | /** |
@@ -406,12 +406,12 @@ discard block |
||
| 406 | 406 | * @return string |
| 407 | 407 | */ |
| 408 | 408 | function lien_article_virtuel($virtuel) { |
| 409 | - include_spip('inc/lien'); |
|
| 410 | - if (!$virtuel = virtuel_redirige($virtuel)) { |
|
| 411 | - return ''; |
|
| 412 | - } |
|
| 409 | + include_spip('inc/lien'); |
|
| 410 | + if (!$virtuel = virtuel_redirige($virtuel)) { |
|
| 411 | + return ''; |
|
| 412 | + } |
|
| 413 | 413 | |
| 414 | - return propre("[->" . $virtuel . "]"); |
|
| 414 | + return propre("[->" . $virtuel . "]"); |
|
| 415 | 415 | } |
| 416 | 416 | |
| 417 | 417 | |
@@ -434,12 +434,12 @@ discard block |
||
| 434 | 434 | * Code HTML du lien |
| 435 | 435 | */ |
| 436 | 436 | function bouton_spip_rss($op, $args = array(), $lang = '', $title = 'RSS') { |
| 437 | - include_spip('inc/acces'); |
|
| 438 | - $clic = http_img_pack('rss-16.png', 'RSS', '', $title); |
|
| 439 | - $args = param_low_sec($op, $args, $lang, 'rss'); |
|
| 440 | - $url = generer_url_public('rss', $args); |
|
| 437 | + include_spip('inc/acces'); |
|
| 438 | + $clic = http_img_pack('rss-16.png', 'RSS', '', $title); |
|
| 439 | + $args = param_low_sec($op, $args, $lang, 'rss'); |
|
| 440 | + $url = generer_url_public('rss', $args); |
|
| 441 | 441 | |
| 442 | - return "<a style='float: " . $GLOBALS['spip_lang_right'] . ";' href='$url'>$clic</a>"; |
|
| 442 | + return "<a style='float: " . $GLOBALS['spip_lang_right'] . ";' href='$url'>$clic</a>"; |
|
| 443 | 443 | } |
| 444 | 444 | |
| 445 | 445 | |
@@ -451,70 +451,70 @@ discard block |
||
| 451 | 451 | */ |
| 452 | 452 | function alertes_auteur($id_auteur) { |
| 453 | 453 | |
| 454 | - $alertes = array(); |
|
| 455 | - |
|
| 456 | - if (isset($GLOBALS['meta']['message_crash_tables']) |
|
| 457 | - and autoriser('detruire', null, null, $id_auteur) |
|
| 458 | - ) { |
|
| 459 | - include_spip('genie/maintenance'); |
|
| 460 | - if ($msg = message_crash_tables()) { |
|
| 461 | - $alertes[] = $msg; |
|
| 462 | - } |
|
| 463 | - } |
|
| 464 | - |
|
| 465 | - if (isset($GLOBALS['meta']['message_crash_plugins']) |
|
| 466 | - and $GLOBALS['meta']['message_crash_plugins'] |
|
| 467 | - and autoriser('configurer', '_plugins', null, $id_auteur) |
|
| 468 | - and is_array($msg = unserialize($GLOBALS['meta']['message_crash_plugins'])) |
|
| 469 | - ) { |
|
| 470 | - $msg = implode(', ', array_map('joli_repertoire', array_keys($msg))); |
|
| 471 | - $alertes[] = _T('plugins_erreur', array('plugins' => $msg)); |
|
| 472 | - } |
|
| 473 | - |
|
| 474 | - $a = isset($GLOBALS['meta']['message_alertes_auteurs']) ? $GLOBALS['meta']['message_alertes_auteurs'] : ''; |
|
| 475 | - if ($a |
|
| 476 | - and is_array($a = unserialize($a)) |
|
| 477 | - and count($a) |
|
| 478 | - ) { |
|
| 479 | - $update = false; |
|
| 480 | - if (isset($a[$GLOBALS['visiteur_session']['statut']])) { |
|
| 481 | - $alertes = array_merge($alertes, $a[$GLOBALS['visiteur_session']['statut']]); |
|
| 482 | - unset($a[$GLOBALS['visiteur_session']['statut']]); |
|
| 483 | - $update = true; |
|
| 484 | - } |
|
| 485 | - if (isset($a[''])) { |
|
| 486 | - $alertes = array_merge($alertes, $a['']); |
|
| 487 | - unset($a['']); |
|
| 488 | - $update = true; |
|
| 489 | - } |
|
| 490 | - if ($update) { |
|
| 491 | - ecrire_meta("message_alertes_auteurs", serialize($a)); |
|
| 492 | - } |
|
| 493 | - } |
|
| 494 | - |
|
| 495 | - if (isset($GLOBALS['meta']['plugin_erreur_activation']) |
|
| 496 | - and autoriser('configurer', '_plugins', null, $id_auteur) |
|
| 497 | - ) { |
|
| 498 | - include_spip('inc/plugin'); |
|
| 499 | - $alertes[] = plugin_donne_erreurs(); |
|
| 500 | - } |
|
| 501 | - |
|
| 502 | - $alertes = pipeline( |
|
| 503 | - 'alertes_auteur', |
|
| 504 | - array( |
|
| 505 | - 'args' => array( |
|
| 506 | - 'id_auteur' => $id_auteur, |
|
| 507 | - 'exec' => _request('exec'), |
|
| 508 | - ), |
|
| 509 | - 'data' => $alertes |
|
| 510 | - ) |
|
| 511 | - ); |
|
| 512 | - |
|
| 513 | - if ($alertes = array_filter($alertes)) { |
|
| 514 | - return "<div class='wrap-messages-alertes'><div class='messages-alertes'>" . |
|
| 515 | - join(' | ', $alertes) |
|
| 516 | - . "</div></div>"; |
|
| 517 | - } |
|
| 454 | + $alertes = array(); |
|
| 455 | + |
|
| 456 | + if (isset($GLOBALS['meta']['message_crash_tables']) |
|
| 457 | + and autoriser('detruire', null, null, $id_auteur) |
|
| 458 | + ) { |
|
| 459 | + include_spip('genie/maintenance'); |
|
| 460 | + if ($msg = message_crash_tables()) { |
|
| 461 | + $alertes[] = $msg; |
|
| 462 | + } |
|
| 463 | + } |
|
| 464 | + |
|
| 465 | + if (isset($GLOBALS['meta']['message_crash_plugins']) |
|
| 466 | + and $GLOBALS['meta']['message_crash_plugins'] |
|
| 467 | + and autoriser('configurer', '_plugins', null, $id_auteur) |
|
| 468 | + and is_array($msg = unserialize($GLOBALS['meta']['message_crash_plugins'])) |
|
| 469 | + ) { |
|
| 470 | + $msg = implode(', ', array_map('joli_repertoire', array_keys($msg))); |
|
| 471 | + $alertes[] = _T('plugins_erreur', array('plugins' => $msg)); |
|
| 472 | + } |
|
| 473 | + |
|
| 474 | + $a = isset($GLOBALS['meta']['message_alertes_auteurs']) ? $GLOBALS['meta']['message_alertes_auteurs'] : ''; |
|
| 475 | + if ($a |
|
| 476 | + and is_array($a = unserialize($a)) |
|
| 477 | + and count($a) |
|
| 478 | + ) { |
|
| 479 | + $update = false; |
|
| 480 | + if (isset($a[$GLOBALS['visiteur_session']['statut']])) { |
|
| 481 | + $alertes = array_merge($alertes, $a[$GLOBALS['visiteur_session']['statut']]); |
|
| 482 | + unset($a[$GLOBALS['visiteur_session']['statut']]); |
|
| 483 | + $update = true; |
|
| 484 | + } |
|
| 485 | + if (isset($a[''])) { |
|
| 486 | + $alertes = array_merge($alertes, $a['']); |
|
| 487 | + unset($a['']); |
|
| 488 | + $update = true; |
|
| 489 | + } |
|
| 490 | + if ($update) { |
|
| 491 | + ecrire_meta("message_alertes_auteurs", serialize($a)); |
|
| 492 | + } |
|
| 493 | + } |
|
| 494 | + |
|
| 495 | + if (isset($GLOBALS['meta']['plugin_erreur_activation']) |
|
| 496 | + and autoriser('configurer', '_plugins', null, $id_auteur) |
|
| 497 | + ) { |
|
| 498 | + include_spip('inc/plugin'); |
|
| 499 | + $alertes[] = plugin_donne_erreurs(); |
|
| 500 | + } |
|
| 501 | + |
|
| 502 | + $alertes = pipeline( |
|
| 503 | + 'alertes_auteur', |
|
| 504 | + array( |
|
| 505 | + 'args' => array( |
|
| 506 | + 'id_auteur' => $id_auteur, |
|
| 507 | + 'exec' => _request('exec'), |
|
| 508 | + ), |
|
| 509 | + 'data' => $alertes |
|
| 510 | + ) |
|
| 511 | + ); |
|
| 512 | + |
|
| 513 | + if ($alertes = array_filter($alertes)) { |
|
| 514 | + return "<div class='wrap-messages-alertes'><div class='messages-alertes'>" . |
|
| 515 | + join(' | ', $alertes) |
|
| 516 | + . "</div></div>"; |
|
| 517 | + } |
|
| 518 | 518 | } |
| 519 | 519 | |
| 520 | 520 | /** |
@@ -524,9 +524,9 @@ discard block |
||
| 524 | 524 | * @return string |
| 525 | 525 | */ |
| 526 | 526 | function filtre_afficher_enfant_rub_dist($id_rubrique) { |
| 527 | - include_spip('inc/presenter_enfants'); |
|
| 527 | + include_spip('inc/presenter_enfants'); |
|
| 528 | 528 | |
| 529 | - return afficher_enfant_rub(intval($id_rubrique)); |
|
| 529 | + return afficher_enfant_rub(intval($id_rubrique)); |
|
| 530 | 530 | } |
| 531 | 531 | |
| 532 | 532 | /** |
@@ -544,15 +544,15 @@ discard block |
||
| 544 | 544 | * @return string |
| 545 | 545 | */ |
| 546 | 546 | function afficher_plus_info($lien, $titre = "+", $titre_lien = "") { |
| 547 | - $titre = attribut_html($titre); |
|
| 548 | - $icone = "\n<a href='$lien' title='$titre' class='plus_info'>" . |
|
| 549 | - http_img_pack("information-16.png", $titre) . "</a>"; |
|
| 550 | - |
|
| 551 | - if (!$titre_lien) { |
|
| 552 | - return $icone; |
|
| 553 | - } else { |
|
| 554 | - return $icone . "\n<a href='$lien'>$titre_lien</a>"; |
|
| 555 | - } |
|
| 547 | + $titre = attribut_html($titre); |
|
| 548 | + $icone = "\n<a href='$lien' title='$titre' class='plus_info'>" . |
|
| 549 | + http_img_pack("information-16.png", $titre) . "</a>"; |
|
| 550 | + |
|
| 551 | + if (!$titre_lien) { |
|
| 552 | + return $icone; |
|
| 553 | + } else { |
|
| 554 | + return $icone . "\n<a href='$lien'>$titre_lien</a>"; |
|
| 555 | + } |
|
| 556 | 556 | } |
| 557 | 557 | |
| 558 | 558 | |
@@ -571,18 +571,18 @@ discard block |
||
| 571 | 571 | * @return array |
| 572 | 572 | */ |
| 573 | 573 | function lister_objets_lies($objet_source, $objet, $id_objet, $objet_lien) { |
| 574 | - $res = lister_objets_liens($objet_source, $objet, $id_objet, $objet_lien); |
|
| 575 | - if (!count($res)) { |
|
| 576 | - return []; |
|
| 577 | - } |
|
| 578 | - $r = reset($res); |
|
| 579 | - if (isset($r['rang_lien'])) { |
|
| 580 | - $l = array_column($res, 'rang_lien', $objet_source); |
|
| 581 | - asort($l); |
|
| 582 | - $l = array_keys($l); |
|
| 583 | - } else { |
|
| 584 | - $l = array_column($res, $objet_source); |
|
| 585 | - } |
|
| 586 | - return $l; |
|
| 574 | + $res = lister_objets_liens($objet_source, $objet, $id_objet, $objet_lien); |
|
| 575 | + if (!count($res)) { |
|
| 576 | + return []; |
|
| 577 | + } |
|
| 578 | + $r = reset($res); |
|
| 579 | + if (isset($r['rang_lien'])) { |
|
| 580 | + $l = array_column($res, 'rang_lien', $objet_source); |
|
| 581 | + asort($l); |
|
| 582 | + $l = array_keys($l); |
|
| 583 | + } else { |
|
| 584 | + $l = array_column($res, $objet_source); |
|
| 585 | + } |
|
| 586 | + return $l; |
|
| 587 | 587 | } |
| 588 | 588 | |
@@ -17,7 +17,7 @@ discard block |
||
| 17 | 17 | **/ |
| 18 | 18 | |
| 19 | 19 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 20 | - return; |
|
| 20 | + return; |
|
| 21 | 21 | } |
| 22 | 22 | |
| 23 | 23 | /** |
@@ -43,25 +43,25 @@ discard block |
||
| 43 | 43 | * @return string Code HTML |
| 44 | 44 | **/ |
| 45 | 45 | function inc_commencer_page_dist( |
| 46 | - $titre = "", |
|
| 47 | - $rubrique = "accueil", |
|
| 48 | - $sous_rubrique = "accueil", |
|
| 49 | - $id_rubrique = "", |
|
| 50 | - $menu = true, |
|
| 51 | - $minipres = false, |
|
| 52 | - $alertes = true |
|
| 46 | + $titre = "", |
|
| 47 | + $rubrique = "accueil", |
|
| 48 | + $sous_rubrique = "accueil", |
|
| 49 | + $id_rubrique = "", |
|
| 50 | + $menu = true, |
|
| 51 | + $minipres = false, |
|
| 52 | + $alertes = true |
|
| 53 | 53 | ) { |
| 54 | 54 | |
| 55 | - include_spip('inc/headers'); |
|
| 55 | + include_spip('inc/headers'); |
|
| 56 | 56 | |
| 57 | - http_no_cache(); |
|
| 57 | + http_no_cache(); |
|
| 58 | 58 | |
| 59 | - return init_entete($titre, $id_rubrique, $minipres) |
|
| 60 | - . init_body($rubrique, $sous_rubrique, $id_rubrique, $menu) |
|
| 61 | - . "<div id='page'>" |
|
| 62 | - . auteurs_recemment_connectes($GLOBALS['connect_id_auteur']) |
|
| 63 | - . ($alertes ? alertes_auteur($GLOBALS['connect_id_auteur']) : '') |
|
| 64 | - . '<div class="largeur">'; |
|
| 59 | + return init_entete($titre, $id_rubrique, $minipres) |
|
| 60 | + . init_body($rubrique, $sous_rubrique, $id_rubrique, $menu) |
|
| 61 | + . "<div id='page'>" |
|
| 62 | + . auteurs_recemment_connectes($GLOBALS['connect_id_auteur']) |
|
| 63 | + . ($alertes ? alertes_auteur($GLOBALS['connect_id_auteur']) : '') |
|
| 64 | + . '<div class="largeur">'; |
|
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | /** |
@@ -82,21 +82,21 @@ discard block |
||
| 82 | 82 | * Entête du fichier HTML avec le DOCTYPE |
| 83 | 83 | */ |
| 84 | 84 | function init_entete($titre = '', $dummy = 0, $minipres = false) { |
| 85 | - include_spip('inc/texte'); |
|
| 86 | - if (!$nom_site_spip = textebrut(typo($GLOBALS['meta']["nom_site"]))) { |
|
| 87 | - $nom_site_spip = _T('info_mon_site_spip'); |
|
| 88 | - } |
|
| 89 | - |
|
| 90 | - $titre = "[" |
|
| 91 | - . $nom_site_spip |
|
| 92 | - . "]" |
|
| 93 | - . ($titre ? " " . textebrut(typo($titre)) : ""); |
|
| 94 | - |
|
| 95 | - return _DOCTYPE_ECRIRE |
|
| 96 | - . html_lang_attributes() |
|
| 97 | - . "<head>\n" |
|
| 98 | - . init_head($titre, $dummy, $minipres) |
|
| 99 | - . "</head>\n"; |
|
| 85 | + include_spip('inc/texte'); |
|
| 86 | + if (!$nom_site_spip = textebrut(typo($GLOBALS['meta']["nom_site"]))) { |
|
| 87 | + $nom_site_spip = _T('info_mon_site_spip'); |
|
| 88 | + } |
|
| 89 | + |
|
| 90 | + $titre = "[" |
|
| 91 | + . $nom_site_spip |
|
| 92 | + . "]" |
|
| 93 | + . ($titre ? " " . textebrut(typo($titre)) : ""); |
|
| 94 | + |
|
| 95 | + return _DOCTYPE_ECRIRE |
|
| 96 | + . html_lang_attributes() |
|
| 97 | + . "<head>\n" |
|
| 98 | + . init_head($titre, $dummy, $minipres) |
|
| 99 | + . "</head>\n"; |
|
| 100 | 100 | } |
| 101 | 101 | |
| 102 | 102 | /** |
@@ -110,7 +110,7 @@ discard block |
||
| 110 | 110 | * @return string |
| 111 | 111 | */ |
| 112 | 112 | function init_head($titre = '', $dummy = 0, $minipres = false) { |
| 113 | - return recuperer_fond("prive/squelettes/head/dist", array('titre' => $titre, 'minipres' => $minipres ? ' ' : '')); |
|
| 113 | + return recuperer_fond("prive/squelettes/head/dist", array('titre' => $titre, 'minipres' => $minipres ? ' ' : '')); |
|
| 114 | 114 | } |
| 115 | 115 | |
| 116 | 116 | /** |
@@ -132,20 +132,20 @@ discard block |
||
| 132 | 132 | */ |
| 133 | 133 | function init_body($rubrique = 'accueil', $sous_rubrique = 'accueil', $id_rubrique = '', $menu = true) { |
| 134 | 134 | |
| 135 | - $res = pipeline('body_prive', "<body class='" |
|
| 136 | - . init_body_class() . " " . _request('exec') . "'" |
|
| 137 | - . ($GLOBALS['spip_lang_rtl'] ? " dir='rtl'" : "") |
|
| 138 | - . '>'); |
|
| 135 | + $res = pipeline('body_prive', "<body class='" |
|
| 136 | + . init_body_class() . " " . _request('exec') . "'" |
|
| 137 | + . ($GLOBALS['spip_lang_rtl'] ? " dir='rtl'" : "") |
|
| 138 | + . '>'); |
|
| 139 | 139 | |
| 140 | - if (!$menu) { |
|
| 141 | - return $res; |
|
| 142 | - } |
|
| 140 | + if (!$menu) { |
|
| 141 | + return $res; |
|
| 142 | + } |
|
| 143 | 143 | |
| 144 | 144 | |
| 145 | - $bandeau = charger_fonction('bandeau', 'inc'); |
|
| 145 | + $bandeau = charger_fonction('bandeau', 'inc'); |
|
| 146 | 146 | |
| 147 | - return $res |
|
| 148 | - . $bandeau(); |
|
| 147 | + return $res |
|
| 148 | + . $bandeau(); |
|
| 149 | 149 | } |
| 150 | 150 | |
| 151 | 151 | /** |
@@ -157,27 +157,27 @@ discard block |
||
| 157 | 157 | * @return string Classes CSS (séparées par des espaces) |
| 158 | 158 | */ |
| 159 | 159 | function init_body_class() { |
| 160 | - $prefs = isset($GLOBALS['visiteur_session']['prefs']) ? $GLOBALS['visiteur_session']['prefs'] : array(); |
|
| 161 | - |
|
| 162 | - $GLOBALS['spip_display'] = isset($prefs['display']) ? (int) $prefs['display'] : 2; |
|
| 163 | - $spip_display_navigation = isset($prefs['display_navigation']) ? spip_sanitize_classname($prefs['display_navigation']) : 'navigation_avec_icones'; |
|
| 164 | - $spip_display_outils = isset($prefs['display_outils']) |
|
| 165 | - ? ($prefs['display_outils'] ? 'navigation_avec_outils' : 'navigation_sans_outils') |
|
| 166 | - : 'navigation_avec_outils'; |
|
| 167 | - $GLOBALS['spip_ecran'] = isset($_COOKIE['spip_ecran']) ? spip_sanitize_classname($_COOKIE['spip_ecran']) : "etroit"; |
|
| 168 | - |
|
| 169 | - $display_class = array( |
|
| 170 | - 0 => 'icones_img_texte' |
|
| 171 | - /*init*/, |
|
| 172 | - 1 => 'icones_texte', |
|
| 173 | - 2 => 'icones_img_texte', |
|
| 174 | - 3 => 'icones_img' |
|
| 175 | - ); |
|
| 176 | - |
|
| 177 | - $couleur = isset($prefs['couleur']) ? (int) $prefs['couleur'] : 2; |
|
| 178 | - |
|
| 179 | - $classes = $GLOBALS['spip_ecran'] . " spip-theme-colors-$couleur $spip_display_navigation $spip_display_outils " . $display_class[$GLOBALS['spip_display']]; |
|
| 180 | - return spip_sanitize_classname($classes); |
|
| 160 | + $prefs = isset($GLOBALS['visiteur_session']['prefs']) ? $GLOBALS['visiteur_session']['prefs'] : array(); |
|
| 161 | + |
|
| 162 | + $GLOBALS['spip_display'] = isset($prefs['display']) ? (int) $prefs['display'] : 2; |
|
| 163 | + $spip_display_navigation = isset($prefs['display_navigation']) ? spip_sanitize_classname($prefs['display_navigation']) : 'navigation_avec_icones'; |
|
| 164 | + $spip_display_outils = isset($prefs['display_outils']) |
|
| 165 | + ? ($prefs['display_outils'] ? 'navigation_avec_outils' : 'navigation_sans_outils') |
|
| 166 | + : 'navigation_avec_outils'; |
|
| 167 | + $GLOBALS['spip_ecran'] = isset($_COOKIE['spip_ecran']) ? spip_sanitize_classname($_COOKIE['spip_ecran']) : "etroit"; |
|
| 168 | + |
|
| 169 | + $display_class = array( |
|
| 170 | + 0 => 'icones_img_texte' |
|
| 171 | + /*init*/, |
|
| 172 | + 1 => 'icones_texte', |
|
| 173 | + 2 => 'icones_img_texte', |
|
| 174 | + 3 => 'icones_img' |
|
| 175 | + ); |
|
| 176 | + |
|
| 177 | + $couleur = isset($prefs['couleur']) ? (int) $prefs['couleur'] : 2; |
|
| 178 | + |
|
| 179 | + $classes = $GLOBALS['spip_ecran'] . " spip-theme-colors-$couleur $spip_display_navigation $spip_display_outils " . $display_class[$GLOBALS['spip_display']]; |
|
| 180 | + return spip_sanitize_classname($classes); |
|
| 181 | 181 | } |
| 182 | 182 | |
| 183 | 183 | |
@@ -188,5 +188,5 @@ discard block |
||
| 188 | 188 | * @return string |
| 189 | 189 | */ |
| 190 | 190 | function auteurs_recemment_connectes($id_auteur) { |
| 191 | - return recuperer_fond('prive/objets/liste/auteurs_enligne'); |
|
| 191 | + return recuperer_fond('prive/objets/liste/auteurs_enligne'); |
|
| 192 | 192 | } |
@@ -90,7 +90,7 @@ discard block |
||
| 90 | 90 | $titre = "[" |
| 91 | 91 | . $nom_site_spip |
| 92 | 92 | . "]" |
| 93 | - . ($titre ? " " . textebrut(typo($titre)) : ""); |
|
| 93 | + . ($titre ? " ".textebrut(typo($titre)) : ""); |
|
| 94 | 94 | |
| 95 | 95 | return _DOCTYPE_ECRIRE |
| 96 | 96 | . html_lang_attributes() |
@@ -133,7 +133,7 @@ discard block |
||
| 133 | 133 | function init_body($rubrique = 'accueil', $sous_rubrique = 'accueil', $id_rubrique = '', $menu = true) { |
| 134 | 134 | |
| 135 | 135 | $res = pipeline('body_prive', "<body class='" |
| 136 | - . init_body_class() . " " . _request('exec') . "'" |
|
| 136 | + . init_body_class()." "._request('exec')."'" |
|
| 137 | 137 | . ($GLOBALS['spip_lang_rtl'] ? " dir='rtl'" : "") |
| 138 | 138 | . '>'); |
| 139 | 139 | |
@@ -176,7 +176,7 @@ discard block |
||
| 176 | 176 | |
| 177 | 177 | $couleur = isset($prefs['couleur']) ? (int) $prefs['couleur'] : 2; |
| 178 | 178 | |
| 179 | - $classes = $GLOBALS['spip_ecran'] . " spip-theme-colors-$couleur $spip_display_navigation $spip_display_outils " . $display_class[$GLOBALS['spip_display']]; |
|
| 179 | + $classes = $GLOBALS['spip_ecran']." spip-theme-colors-$couleur $spip_display_navigation $spip_display_outils ".$display_class[$GLOBALS['spip_display']]; |
|
| 180 | 180 | return spip_sanitize_classname($classes); |
| 181 | 181 | } |
| 182 | 182 | |