- encoding (utf8)
- eof_ending (saut le ligne en fin de fichier)
- elseif (pas else if)
- function_call_space (espaces sur fonctions)
- function_declaration (pareil)
- function_typehint_space (pareil)
Les balises admettent comme premier argument une url de redirection, comme second un login (pour préremplir le formulaire).
2 pertes de compatibilité (peu utilisées) :
- l'écriture [(#LOGIN_PUBLIC|spip.php?page=sommaire)] n'est plus prise en compe, et est à remplacer par [(#LOGIN_PUBLIC{#URL_PAGE{sommaire}})]
- l'écriture [(#LOGIN_PUBLIC{#LOGIN})] est à remplacer par [(#LOGIN_PUBLIC{#SELF, #LOGIN})] ou [(#LOGIN_PUBLIC{#ENV{url}, #LOGIN})]
(#LOGIN_PRIVE est affecté de la même façon)
Nota:
-------
Il y a essentiellement 2 différences entre les 2 balises #LOGIN_PUBLIC et #LOGIN_PRIVE :
- en absence d'argument d'url, la première retourne sur la page en cours, alors que la seconde envoie sur la partie privée
- #LOGIN_PRIVE impose d'avoir l'autorisation pour entrer dans l'interface privé, même si l'url transmise dirige vers une page publique.
syntaxe #FORMULAIRE_LOGIN{url,login,prive}
les #LOGIN_PUBLIC et #LOGIN_PRIVE sont conserves et mappes sur #FORMULAIRE_LOGIN
auth_xx est appelee avec login,pass,passmd5,passmd5next pour eviter les request sauvage (mais les _request marcheront encore car pas de changement des input sur les md5)
il faut verifier que le login ldap reste fonctionnel
cas de d'authent http reste a traiter, et l'absence de cookie acceptee par le navigateur aussi
Sur les forums par abonnement, le rendu change un peu : on ne presente plus le formulaire de login, mais un texte avec trois boutons (login) (inscription) (rappel de passe)
Sur les autres forums, formulaire libre comme avant, mais avec un bouton d connexion
Petit plus : quand on quitte une page de forum, on enregistre le message en cours dans un cookie, et on le restitue quand on revient (plugin jquery.cookie.js)
ATTENTION: $auteur_session ne garantit plus une authentification, ce n'est plus qu'une identification : pour la securite il faut tester auteur_session[statut]
En prévision des portages utilisant cette réprésentation, l'interface s'enrichit de la fonction {{{sql_quote}}}, qui s'ajoute à celles définies dans [10707] [10667], [10433], [10131], [10146], [10154] et [10113]
{{{
quote => fonction d'abstraction de la citation d'une constante SQL
}}}
Pour MySQL et PG, cette fonction est donc équivalente à {{{_q()}}} qui reste disponible, mais doit être considérée comme obsolète. Le présent dépôt a été obtenu par le script ci-dessous, dont on peut faire usage pour ses extensions personnelles:
{{{
for i in $(grep -l '_q(' [bigpeau]*/*p)
do
sed 's/_q(/sql_quote(/g' $i > x
mv x $i
done
}}}
Un ajustement manuel a été nécessaire pour le critère "=", le compilateur testant si le code qu'il a produit contient la fonction de citation.
Le multi-base exclut d'avoir des fonctions dans les fichiers de configuration, aussi la fonction '''spip_connect_ldap''' devient une fonction dans les sources de SPIP, assez proche de spip_connect: elle prend en argument optionnel le nom d'un serveur, inclut son fichier de configuration censé établir la connexion et retourne Vrai si elle a réussi, Faux sinon. Elle remplace donc la globale booléenne {{{ldap_present}}} qui était incompatible avec le multi-serveur.
Le fichier habituel config/connect.php indique à présent qu'une connexion LDAP est nécessaire par l'intermédiaire d'un 7e argument (optionnel) à '''spip_connect_db'''. En conséquence, le numéro de version de ce fichier (indiqué par '''spip_connect_version''') passe à 0.7.
La description d'un serveur dans le tableau '''$connexions''' possède à présent un index supplémentaire, {{{ldap}}}, indiquant le nom du fichier établissant la connexion, donc indiquant l'adresse, le port, la base etc. Ce fichier est supposé toujours dans le répertoire _DIR_CONNECT.
Le code gérant un compte LDAP général en plus d'un compte particulier ne semblait plus opérationnel dans ce contexte et a donc été retiré. Si quelqu'un a une configuration comme ça, on reviendra sur ce choix. En attendant, cette simplification devrait aider à trouver une solution pour AD.
En conséquence, l'annonce de [9852] est modifiée: '''spip_fetch_array''' est remplacée par '''sql_fetch'''. Rien de modifié en revanche en ce qui concerne le fait que spip_fetch_array avec un deuxième argument égal à SPIP_NUM n'a pas d'équivalent et doit être réécrit si on éviter le recours à vieilles_def.php.
Dépot obtenu par le script suivant:
{{{
grep -v '// http://doc.spip.org/@spip_abstract_' base/abstract_sql.php > b
mv b base/abstract_sql.php
for i in $(grep -l "spip_abstract_" */*p|grep -v vieilles_def)
do
sed "s/spip_abstract_/sql_/g" $i > x; mv x $i
done
}}}
et intervention manuelle sur vieilles_def.php.
afficher le message erreur de mot de passe meme pour une autre langue que celle du site (c'etait casse)
passe l'alea par defaut a 12h, et supprime la case de 'rester connecte' si c'est inferieur
- version_svn_courante est principalement appelée par une balise utilisé dans le squelette d'en-tete standard, elle passe donc inc/filtres
- http_href et sa bardée de paramètres ne sont vraiment utilisées que dans inc/agenda; elle y migre après recopie de ces utilisations réduites ailleurs.
Et remplacement de l'utilisation de http_wrapper par une classe CSS déjà là, mais il faudrait en faire les déclarer toutes pour pouvoir l'évacuer complètement.
- introduction de la constante _SPIP_ECRIRE_SCRIPT qui est vide par defaut mais est mis à index.php si le serveur est connu pour ne pas faire ça;
- remplacement de tous les _DIR_RESTREINT et ./ utilisé comme URL par un appel à génerer_url_ecrire sans argument (plus les double cas particulier du cookie de correspondance qui veut une adresse absolue sans http:// devant).
toute la fonctionalite image_reduire dans filtres_images
image_ratio passe en vieilles_def par precaution, mais je crois pas que grand monde l'utilisait en direct"
Le test du renouvellement de l'alea passe dans le fichier inc/meta pour eviter de le refaire à chaque fabrication d'action dans un meme script (des tonnes dans le cas des pages avec tranche_requete ou lorsque les documents associés sont légions).