--- /dev/null
+
+SPIP-Core spip-3.2.1 -> spip-3.2.2 18 janvier 2019
+-------------------------------------------------------------
+
+r23927 | booz | (mer. 28 févr. 2018) | Report de [23926] ; voir aussi https://core.spip.net/issues/3924
+r23939 | ben | (mer. 14 mars 2018) | 3.2.1 PARTEZ !
+r23950 | cedric | (ven. 16 mars 2018) | Up ecran securite pour valider_xml encore
+r23960 | erational | (lun. 26 mars 2018) | Bonne année 2018
+r23962 | marcimat | (mar. 27 mars 2018) | report de r23961 : Suite de r23646 sur le calcul du token de prévisu.Il se trouve que ça ne fonctionnait pas avec les URLs Page ou simples, car le paramètre var_mode était mal nettoyé pour calculer le token (on ajoutait &var_mode au lieu de &var_mode).Ça ne se voyait pas avec les autres types d’URLs.Merci Jack31 du signalement.
+r23969 | cedric | (mer. 18 avril 2018) | Report de r23968 : cet espace ajoute a tort par r22569 casse l'affichage des tags dans les articles syndiques de l'espace prive
+r23972 | Nicod | (ven. 04 mai 2018) | Report de r23971 pour SPIP 3.2 : nouveaux habits pour la minipres
+r23974 | Nicod | (sam. 05 mai 2018) | Report de r23973 : Ajustements pour la phase d'installation
+r23988 | ben | (mar. 15 mai 2018) | Dites 33 ! prendre en compte un protocole plus long que d'habitude pour les urls maSuperAppli:// ... On passe de 7 à 33 ce qui devrait largement convenir https://core.spip.net/issues/4135
+r23992 | b_b | (mer. 30 mai 2018) | report de r23991
+r23995 | Nicod | (mer. 06 juin 2018) | Report de r23994 : Compacter un peu les marges pour diminuer la hauteur des fenêtres minipres
+r23999 | cedric | (mar. 12 juin 2018) | intval ici, c'est pas plus mal
+r24003 | b_b | (jeu. 14 juin 2018) | report de r24002Fix #4137 : réparer le critère par hasard sur les boucles dataqui ne fonctionnait plus suite à r23364 / merci marcimat choubidou pour la solution :)
+r24005 | b_b | (ven. 15 juin 2018) | report de r24004Fix #4151 : passer l'id_groupe en paramètre lors de la "création rapide" d'un mot depuis une page mot... en passant id_groupe dans le contexte du bandeaupatch temporaire en attendant que #3844 soit réglé
+r24007 | marcimat | (sam. 23 juin 2018) | Éviter une notice PHP si cette constante _UPGRADE_TIME_OUT a été préalablement déclarée.
+r24012 | cedric | (ven. 29 juin 2018) | Retablir le support des sockets dans connect.php que le passage a mysqli avait casse (syntaxe differente entre mysql_connect() et mysqli_connect())
+r24013 | cedric | (ven. 29 juin 2018) | complement de r24012 pour la connexion en mysqli par socket : il faut mettre null dans le port, fournir login et pass et le host peut etre 'localhost'
+r24018 | cedric | (mar. 03 juil. 2018) | Fix #4157 : les inconsistances de PHP nous avaient enduit en erreur. On croyait bien faire en explicitant tls:// comme protocole pour l'ouverture des sockets, grave erreur cela limitait a SSLv1.0.Il faut revenir a ssl:// pour avoir une negociation sans limite du protocole crypto et donv pouvoir acceder a TLSv1.1 ou TLSv1.2 pour les serveurs qui ne supportent que cela les autres etant non securises
+r24028 | rasta | (mar. 17 juil. 2018) | Backport de r24027 : Mieux y voir dans tous les cas dans les inclure, parce que des fois c'est rendu illisible.
+r24032 | booz | (mer. 01 août 2018) | report de [24029], [24030] et [24031]
+r24034 | cedric | (jeu. 02 août 2018) | Report de r24033 : Appel du cron non bloquant :L'appel du cron de secours via une image background bloque certains scripts JS le temps que le cron s'execute, ce qui peut etre genantOn modernise via un appel en JS+xhr simple (pas grave si ne marche pas sur des vieux navigateurs) et un <noscript> avec l'ancien code en fallback
+r24039 | b_b | (mer. 15 août 2018) | report de r24038Fix #4167 : éviter d'afficher le script de redirection js quand le form de login est utilisé en ajax avec le mode parano
+r24052 | Nicod | (sam. 08 sept. 2018) | Report de c24051Si on a un logo d'auteur, on l'affiche à côté de l'input var_login et on réduit un peu la largeur de celui ci, pour que le logo soit aligné à droite.
+r24054 | Nicod | (sam. 08 sept. 2018) | Un logo carré de 48px, affiché dans un cercle.
+r24058 | b_b | (sam. 15 sept. 2018) | report de r24057Fix #4043 : table debug-nav en partie masquée
+r24068 | cedric | (mer. 26 sept. 2018) | Report de r24067 : Fix #4153 : enregistrer la session sur disque apres le login et avant la redirection si besoin
+r24070 | cedric | (mer. 26 sept. 2018) | Report de r24069 : Fix #4144 : si on fait un session_set() dans mes_fonctions.php il ne faut pas que ca fasse planter par appel de autoriser() alors meme qu'on vient deja de inc/autoriser-> on deplace l'inclusion du fichier mes_fonctions.php apres la declaration de la fonction autoriser() ce qui ne permet plus de la surcharger dans mes_fonctions.php, mais c'st un cas d'usage rarrissime
+r24072 | cedric | (jeu. 27 sept. 2018) | Report de r24071 : Fix #4131 : une constante _COUPER_SUITE pour definir la suite par defaut de |couper, et si _INTRODUCTION_SUITE n'est pas definie c'est la valeur par defaut de couper ou _COUPER_SUITE qui sera utilisee
+r24073 | cedric | (jeu. 27 sept. 2018) | Report de r24064 : https://core.spip.net/issues/4166 : quand la globale filtrer_javascript vaut -1 (mode parano) il faut aussi proteger le html suspect dans l'espace public
+r24074 | cedric | (jeu. 27 sept. 2018) | Report de r24065 : https://core.spip.net/issues/4168 : echapper les : qui sont dans une url renvoyee par #SELF
+r24075 | cedric | (jeu. 27 sept. 2018) | Report de r24050 : debut de solution pour #4173 mais il manque les tests unitaires pour verifier que ca marche bien
+r24076 | cedric | (jeu. 27 sept. 2018) | Report de r24062 : fix protocole_verifier (copier-coller abusif)
+r24077 | cedric | (jeu. 27 sept. 2018) | Report de r24063 : debug fonction valider_url_distante() https://core.spip.net/issues/4173
+r24082 | cedric | (jeu. 27 sept. 2018) | Report de r24081 : ecriture des fichiers php compiles des plugins : on ne les ecrits que si le contenu change, pour optimiser la gestion du cache et des invalidations
+r24084 | cedric | (jeu. 27 sept. 2018) | Report de r24083 : #4107 : gerer proprement les cas ou opcache_invalidate() ne peut pas invalider un cache opcode et dans ce cas uniquement temporiser les hits via spip_attend_invalidation_opcode_cache avant installation des plugins, en lui passant toutefois la date du fichier php compile le plus recent pour limiter au maximum les risques d'attente
+r24086 | cedric | (ven. 28 sept. 2018) | Report de r24085 : Fix #4086 : detection des exceptions au proxy, prendre en compte les domaines parents ce qui permet de placer une exception sur une extension ou un domaine et qui s'appliquera a tous les sous, sous-sous, sous-sous-sous-domaines etc...
+r24088 | cedric | (ven. 28 sept. 2018) | Report de r24087 : #4086 : on revient sur r24085 qui avait mal interprete la spec existante
+r24090 | cedric | (ven. 28 sept. 2018) | Report de r24089 : Fix #4077 : ameliorer la detection d'Apache mais pas de miracle en php-fpm seule la signature presente dans marche, donc si on la supprime il faut ajouter le define
+r24092 | cedric | (ven. 28 sept. 2018) | Report de r24091 : Fix #4062 : eviter un indefini
+r24095 | cedric | (ven. 28 sept. 2018) | Report de r24094 : Fix #4046 : eviter des indefinies
+r24103 | erational | (sam. 29 sept. 2018) | report de r24102 : #4178 Habiller la class .attention comme une notice
+r24110 | cedric | (sam. 29 sept. 2018) | Report de r24109 : Fix #3564 : en statut propose c'est la date de publi de l'article qu'on regle
+r24116 | erational | (lun. 01 oct. 2018) | report de r24115 : #4185 pas de text-align:justify pour l'accessiblité (RealET)
+r24120 | b_b | (dim. 07 oct. 2018) | report de r24119
+r24124 | b_b | (sam. 13 oct. 2018) | report de r24123
+r24128 | cedric | (ven. 19 oct. 2018) | des scories historiques sur le formulaire de login le rendait un peu disgracieux et pas super fonctionnel en mode ajax, avec double message de redirection + quand on allait sur la page de login en etant connecte on avait un lien 'par ici...' au lieu d'une redirection directs plus efficace
+r24132 | cedric | (jeu. 25 oct. 2018) | Report de r24131 : la fonction echapper_html_suspect() peut etre surchargee par une fonction inc_echapper_html_suspect_dist() dans un plugin, pour traiter specifiquement certains use case
+r24136 | fil | (mer. 31 oct. 2018) | 1.3.8, report de http://core.spip.org/projects/spip/repository/revisions/24134 + http://core.spip.org/projects/spip/repository/revisions/24135
+r24137 | fil | (mer. 31 oct. 2018) | alphabetique
+r24144 | booz | (mar. 06 nov. 2018) | report de [24143]
+r24148 | b_b | (jeu. 15 nov. 2018) | report de r24147
+r24153 | cedric | (mar. 04 déc. 2018) | Report de r24152 : Quand on fait une requete http/https sur un port non standard il faut suffixer le host envoye dans l'entete tcp, sinon le $[SERVER_PORT] n'est pas renseigne a l'arrivee(fix le fait qu'on avait un resultat different entre un curl http://localhost:8888/ et un recuperer_url() sur la meme url)
+r24156 | cedric | (mer. 05 déc. 2018) | Report de r24155 : pour certaines API il est vital d'etre a la racine du site, et pas dans un sous repertoire. On permet donc d'utiliser indifferement un . ou un / dans les URLs d'appel aux APIex : https://site/offline.api.sw.js
+r24159 | cedric | (mer. 05 déc. 2018) | Report de r24158 : Suite de r24152 : quand le cron est sur un port non standard il faut ajouter le port au host envoye en TCP pour que le SERVER_PORT soit bien renseigne a l'arrivee (localhost:8888 dans mon cas)
+r24163 | marcimat | (mar. 11 déc. 2018) | Ticket #4245 : Correction empêchant la création de certains répertoires, s’ils ont un souligné final dans leur nom.Lorsque la constante _CREER_DIR_PLAT n’est pas définie, ne pas supprimer les soulignés finaux des répertoires.À l’inverse, par contre le faire aussi pour $subdir si la constante est là (sinon, on a une incohérence entre les appels `sous_repertoire('a/b_')` et `sous_repertoire('a', 'b_')`.Note: on ne gèrera plus ce vieux _CREER_DIR_PLAT à partir de SPIP 3.3-dev.Corrige, entre autres un bug dans le plugin Bigup empêchant la réception de certains fichiers.
+r24168 | fil | (lun. 17 déc. 2018) | bugfix: liens_ouvrants() n'ouvrait plus que le premier lien du texte(bug introduit par https://core.spip.net/projects/spip/repository/revisions/23162/diff/spip/ecrire/inc/filtres.php)report de [24167]
+r24169 | rasta | (lun. 17 déc. 2018) | Bug d'édition des dates, les statuts sont mouvants puisque API de déclaration, mais l'autorisation contenait en dur uniquement le statut publie. Du coup impossible d'éditer si autre chose de déclaré. On utilise donc la liste réelle si elle existe, sinon l'ancien truc en dur.
+r24172 | cedric | (dim. 23 déc. 2018) | Report de r24171 : Comme plus haut en ligne 494, si on recupere le contenu de l'URL par un moyen detourne, il faut mettre un status 200 et ne pas le laisser vide (Arno*)
+r24181 | cedric | (lun. 07 janv. 2019) | Un .gitignore qui fait le job
+r24185 | marcimat | (lun. 07 janv. 2019) | Ticket #4258 : Éviter une notice si la constante _SPIP_SELECT_RUBRIQUES a été préalablement définie (6ril).Report de 63e5a2dee et d827ffd5f
+r24190 | cedric | (mer. 09 janv. 2019) | le futur c'est maintenant
+r24194 | marcimat | (jeu. 10 janv. 2019) | Ticket #4222 : Report oublié de r21880 pour id_table_objet() sur tables non SPIP. (RealET)
+r24199 | cedric | (mer. 16 janv. 2019) | eviter d'envoyer un header invalide qui fait planter apache+php-fpm si jamais on fait un define('_HEADER_COMPOSED_BY','') (mod_apache ignorait silencieusement le probleme)
+
+SPIP-plugins-dist spip-3.2.1 -> spip-3.2.2 18 janvier 2019
+-------------------------------------------------------------
+
+r109454 | booz | (lun. 12 mars 2018) | z+1 (franck)
+r109645 | Teddy | (ven. 23 mars 2018) | Report de r109644 : Ne pas envoyer la chaine traduite ici. C'est label_champ() qui s'en occupera.
+r109648 | Teddy | (ven. 23 mars 2018) | Report de r109647 : Pouvoir cibler une révision d'un type d'objet précis en CSS.
+r109743 | tcharlss | (sam. 31 mars 2018) | Report de r109742
+r109751 | Francky | (dim. 01 avril 2018) | Bonne année aussi aux plugins-dist :-D
+r109762 | tcharlss | (dim. 01 avril 2018) | revert de r109743 en attendant des retours
+r109768 | b_b | (lun. 02 avril 2018) | report de r109767Fix #4122 : correction chemin lib swf suite à r103728
+r109861 | cedric | (mar. 10 avril 2018) | Report de r109860 : Mise a jour de CSSTidy
+r109873 | real3t | (mer. 11 avril 2018) | Report de r109871 : r107073 avait cassé le traitement des expression régulières dans les query (ex : Google). ==> Il est bien possible que ça remette un notice (Marcimat ?)
+r109886 | fil | (jeu. 12 avril 2018) | la recherche par mots-clés doit donner le ou les mots demandés en tete de liste ; on peut donner les mots séparés par des virgules
+r110340 | erational | (mar. 22 mai 2018) | Ajout d'un espace pour éviter que l'icône touche le texte
+r110473 | marcimat | (ven. 01 juin 2018) | Coquille dans r104339 : ce header est un morceau de debug qui ne devrait pas y être.
+r110686 | real3t | (ven. 15 juin 2018) | fixes #3976 : Pouvoir revenir au mot clef nouvellement créé au lieu du comportement dérogatoire natif consistant à revenir à la page où était le bouton de création du mot.Dans mes_options.php :if (!defined('_MOTS_CREATION_RETOUR_MOT_CREE')) define('_MOTS_CREATION_RETOUR_MOT_CREE', true);
+r111042 | b_b | (lun. 09 juil. 2018) | version 1.2.4 : report de r111041maj des libs fullcalendar (3.9.0) et moment (2.22.2)
+r111484 | marcimat | (mer. 05 sept. 2018) | Report de r111483 Compat PHP 7 et coquille…
+r111601 | b_b | (sam. 15 sept. 2018) | report de r111600version 2.8.6 : réparer l'affichage du portfolio sur les groupes de motsFix #4172 groupemots n'est pas un surnom de groupe_mots
+r111604 | b_b | (dim. 16 sept. 2018) | report de r111603
+r111608 | b_b | (dim. 16 sept. 2018) | report de r111607
+r111696 | cedric | (mer. 26 sept. 2018) | Report de r111695 : Fix https://core.spip.net/issues/4132 : une fonction escape/unescape avec de la croute pour echapper sans risque ni failure et ne pas casser le code JS qu'on compresse
+r111705 | cedric | (jeu. 27 sept. 2018) | Report de r111703 : Fix https://core.spip.net/issues/4127 : ne pas creer une revision vide lors de la creation d'un objet a cause de l'association auteur automatique
+r111706 | cedric | (jeu. 27 sept. 2018) | Report de r111704 : Fix https://core.spip.net/issues/3566 et suite de r99883 : on peut maintenant activer la fonction recuperer_version_complete() grace a r111705
+r111710 | cedric | (jeu. 27 sept. 2018) | Report de r111709 : Mise a jour de SafeHTML pour le support de HTML5 notamment
+r111711 | cedric | (jeu. 27 sept. 2018) | Report de r111690 : https://core.spip.net/issues/4166 : quand la globale filtrer_javascript vaut -1 (mode parano) il faut aussi proteger le html suspect dans l'espace public
+r111712 | cedric | (jeu. 27 sept. 2018) | Report de r111695 : Fix https://core.spip.net/issues/4132 : une fonction escape/unescape avec de la croute pour echapper sans risque ni failure et ne pas casser le code JS qu'on compresse
+r111713 | cedric | (jeu. 27 sept. 2018) | Report de r111687 : https://core.spip.net/issues/4173 : ne pas permettre d'acceder a des URLs locales du serveur via l'upload de documents distants
+r111715 | cedric | (jeu. 27 sept. 2018) | Report de r109644 : Fix #4116 : Ne pas envoyer la chaine traduite ici. C'est label_champ() qui s'en occupera.
+r111719 | cedric | (jeu. 27 sept. 2018) | Report de r111718 : Fix https://core.spip.net/issues/4114 : utiliser l'argument de la fonction et pas une constante pour le dossier de deballage
+r111723 | cedric | (jeu. 27 sept. 2018) | Report de r111721 : Complement de http://core.spip.org/projects/spip/repository/revisions/24083
+r111750 | cedric | (ven. 28 sept. 2018) | Report de r109858 : Ticket #3991 : préserver les ressources encodées en base64. Lorsqu'une valeur est égale à zéro (ex 0px), s'assurer qu'il s'agit d'une unité avant de retirer celle-ci (une chaîne encodée en base64 peut également contenir des parties '0px')
+r111751 | marcimat | (ven. 28 sept. 2018) | Report de r111741 : Ticket https://core.spip.net/issues/4085 : On met une clé d’index sur le champ url.
+r111766 | cedric | (sam. 29 sept. 2018) | Maj de CSSTidy en v1.6.3
+r111779 | cedric | (sam. 29 sept. 2018) | Report de r111776 : https://core.spip.net/issues/3987 : preserver les commentaires des credits dans les CSS minifiees
+r111780 | cedric | (sam. 29 sept. 2018) | Report de r111778 : Fix https://core.spip.net/issues/3987 : ne pas supprimer les commentaires de credit/licence commençant par un \! lors de la minification CSS
+r111789 | real3t | (sam. 29 sept. 2018) | Avec l'aide de Marcimat, up de la lib de 1.1.14 vers 1.1.15 (https://github.com/markitup/1.x/blob/master/CHANGELOG.md)
+r111927 | tcharlss | (mar. 09 oct. 2018) | Report de r111914
+r112159 | real3t | (mer. 24 oct. 2018) | [Medias] Report de r112158Ergonomie : quand on supprime un ou plusieurs documents, ne pas scroller tout en haut de la liste, mais au contraire, rester sur place pour pouvoir continuer là où on était.
+r112229 | peetdu | (mer. 31 oct. 2018) | Report de r112160 : permettre de surcharger la constante _BOUTON_MODE_IMAGE
+r112231 | booz | (mer. 31 oct. 2018) | affichage des stats plus lisible avec des stats au dessus de 100 000 visites.
+r112232 | booz | (mer. 31 oct. 2018) | affichage des stats plus lisible avec des stats au dessus de 100 000 visites. (oups)
+r112283 | booz | (ven. 02 nov. 2018) | ajout duckduckgo
+r112327 | booz | (lun. 05 nov. 2018) | adapter aux visites > 100 000 + report de [107993]
+r112331 | booz | (lun. 05 nov. 2018) | report de [112330]
+r112357 | booz | (mer. 07 nov. 2018) | report de [112346]
+r112359 | booz | (mer. 07 nov. 2018) | report de [112358]
+r112453 | peetdu | (ven. 16 nov. 2018) | Simplification du squelette grâce au critère {‘inter’} (voir https://www.spip.net/fr_article900.html?var_mode=calcul#Affichage-entre-les-resultats)
+r112456 | b_b | (ven. 16 nov. 2018) | version 1.8.3 : report de r112455
+r113162 | Francky | (dim. 30 déc. 2018) | Mise à jour de la lib getid en version 1.9.16, nous étions en 1.9.14https://github.com/JamesHeinrich/getID3/blob/master/changelog.txt
+r113165 | Francky | (dim. 30 déc. 2018) | Oubli de faire un z+1 pour la peine
+r113345 | Francky | (mer. 09 janv. 2019) | Le futur, c'est aussi maintenant ici :-)
+r113382 | Francky | (sam. 12 janv. 2019) | restait un bonne année à faire en spip 3.2
\ No newline at end of file
* ------------------
*/
-define('_ECRAN_SECURITE', '1.3.6'); // 2018-03-16
+define('_ECRAN_SECURITE', '1.3.8'); // 2018-10-31
/*
* Documentation : http://www.spip.net/fr_article4200.html
if (!defined('_IS_BOT')){
define('_IS_BOT',
isset($_SERVER['HTTP_USER_AGENT'])
- and preg_match(
- // mots generiques
- ',bot|slurp|crawler|spider|webvac|yandex|'
- // MSIE 6.0 est un botnet 99,9% du temps, on traite donc ce USER_AGENT comme un bot
- . 'MSIE 6\.0|'
- // UA plus cibles
- . '200please|80legs|a6-indexer|aboundex|accoona|addthis|adressendeutschland|alexa|altavista|analyticsseo|archive|aspseek|baidu|begunadvertising|bingpreview|bloglines|browsershots|bubing|butterfly|changedetection|charlotte|chilkat|china|coccoc|crowsnest|dataminr|daumoa|dlweb|ec2linkfinder|estyle|ezooms|facebookexternalhit|facebookplatform|fairshare|feedfetcher|feedfetcher-google|feedly|fetch|flipboardproxy|genieo|google|grapeshot|hatena-useragent|head|hosttracker|hubspot|ia_archiver|ichiro|iltrovatore-setaccio|immediatenet|ina|infegyatlas|infohelfer|instapaper|jabse|james|kumkie|linkdex|linkfluence|linkwalker|litefinder|loadimpactpageanalyzer|luminate|lycos|lycosa|mediapartners-google|msai|najdi|netcraftsurveyagent|netestate|netseer|nuhk|panscient|parsijoo|plukkie|proximic|qirina|qualidator|rambler|readability|sbsearch|scooter|scrapy|scrubby|scrubbybloglines|shareaholic|shopwiki|sistrix|sitechecker|siteexplorer|sogou|special_archiver|speedy|spinn3r|spreadtrum|steeler|subscriber|suma|superdownloads|svenska-webbsido|teoma|thumbshots|tineye|trendiction|tweetedtimes|tweetmeme|uaslinkchecker|undrip|unwindfetchor|vedma|vkshare|vm|wch|webalta|webcookies|webthumbnail|wesee|wise-guys|woko|wotbox|y!j-bri|y!j-bro|y!j-brw|y!j-bsc|yahoo|yahoo!|yahooysmcm|yats|yeti|zeerch'
- . ',i', (string)$_SERVER['HTTP_USER_AGENT'])
+ and preg_match(','
+ . implode ('|', array(
+ // mots generiques
+ 'bot',
+ 'slurp',
+ 'crawler',
+ 'spider',
+ 'webvac',
+ 'yandex',
+ 'MSIE 6\.0', // botnet 99,9% du temps
+ // UA plus cibles
+ '200please',
+ '80legs',
+ 'a6-indexer',
+ 'aboundex',
+ 'accoona',
+ 'addthis',
+ 'adressendeutschland',
+ 'alexa',
+ 'altavista',
+ 'analyticsseo',
+ 'archive',
+ 'aspseek',
+ 'baidu',
+ 'begunadvertising',
+ 'bingpreview',
+ 'bloglines',
+ 'browsershots',
+ 'bubing',
+ 'butterfly',
+ 'changedetection',
+ 'charlotte',
+ 'chilkat',
+ 'china',
+ 'coccoc',
+ 'crowsnest',
+ 'dataminr',
+ 'daumoa',
+ 'dlweb',
+ 'ec2linkfinder',
+ 'estyle',
+ 'ezooms',
+ 'facebookexternalhit',
+ 'facebookplatform',
+ 'fairshare',
+ 'feedfetcher',
+ 'feedfetcher-google',
+ 'feedly',
+ 'fetch',
+ 'flipboardproxy',
+ 'genieo',
+ 'google',
+ 'grapeshot',
+ 'hatena-useragent',
+ 'head',
+ 'hosttracker',
+ 'hubspot',
+ 'ia_archiver',
+ 'ichiro',
+ 'iltrovatore-setaccio',
+ 'immediatenet',
+ 'ina',
+ 'infegyatlas',
+ 'infohelfer',
+ 'instapaper',
+ 'jabse',
+ 'james',
+ 'kumkie',
+ 'linkdex',
+ 'linkfluence',
+ 'linkwalker',
+ 'litefinder',
+ 'loadimpactpageanalyzer',
+ 'luminate',
+ 'lycos',
+ 'lycosa',
+ 'mediapartners-google',
+ 'msai',
+ 'najdi',
+ 'netcraftsurveyagent',
+ 'netestate',
+ 'netseer',
+ 'nuhk',
+ 'owlin',
+ 'panscient',
+ 'parsijoo',
+ 'plukkie',
+ 'proximic',
+ 'qirina',
+ 'qualidator',
+ 'rambler',
+ 'readability',
+ 'sbsearch',
+ 'scooter',
+ 'scrapy',
+ 'scrubby',
+ 'scrubbybloglines',
+ 'shareaholic',
+ 'shopwiki',
+ 'sistrix',
+ 'sitechecker',
+ 'siteexplorer',
+ 'sogou',
+ 'special_archiver',
+ 'speedy',
+ 'spinn3r',
+ 'spreadtrum',
+ 'steeler',
+ 'subscriber',
+ 'suma',
+ 'superdownloads',
+ 'svenska-webbsido',
+ 'teoma',
+ 'thumbshots',
+ 'tineye',
+ 'trendiction',
+ 'tweetedtimes',
+ 'tweetmeme',
+ 'uaslinkchecker',
+ 'undrip',
+ 'unwindfetchor',
+ 'vedma',
+ 'vkshare',
+ 'vm',
+ 'wch',
+ 'webalta',
+ 'webcookies',
+ 'webthumbnail',
+ 'wesee',
+ 'wise-guys',
+ 'woko',
+ 'wotbox',
+ 'y!j-bri',
+ 'y!j-bro',
+ 'y!j-brw',
+ 'y!j-bsc',
+ 'yahoo',
+ 'yahoo!',
+ 'yahooysmcm',
+ 'yats',
+ 'yeti',
+ 'zeerch'
+ )) . ',i',
+ (string)$_SERVER['HTTP_USER_AGENT'])
);
}
if (!defined('_IS_BOT_FRIEND')){
define('_IS_BOT_FRIEND',
isset($_SERVER['HTTP_USER_AGENT'])
- and preg_match(','
- // UA plus cibles
- . 'facebookexternalhit'
- . ',i', (string)$_SERVER['HTTP_USER_AGENT'])
+ and preg_match(',' . implode ('|', array(
+ 'facebookexternalhit',
+ 'flipboardproxy'
+ )) . ',i',
+ (string)$_SERVER['HTTP_USER_AGENT'])
);
}
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
}
// on peut tomber sur un jeton compose uniquement de chiffres, il faut forcer le $type pour sql_quote pour eviter de planter
- $desc = sql_fetsel('*', 'spip_auteurs', "cookie_oubli=" . sql_quote($jeton, $serveur, 'string'));
+ $desc = sql_fetsel('*', 'spip_auteurs', "cookie_oubli=" . sql_quote($jeton, '', 'string'));
return $desc;
}
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
$status = '302';
if ($url) {
if ($var_mode) {
- $url = parametre_url($url, 'var_mode', $var_mode);
+ $url = parametre_url($url, 'var_mode', $var_mode, '&');
}
if ($var_mode == 'preview'
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/* *************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
return $tables[$serveur];
}
+
+/**
+ * Retourne la liste des tables SQL, Spip ou autres
+ *
+ * Cette liste n'est calculée qu'une fois par serveur pour l'ensemble du hit
+ *
+ * @param string $serveur
+ * Nom du fichier de connexion à la base de données
+ * @return array
+ * Couples (nom de la table SQL => même nom)
+ **/
+function lister_toutes_tables($serveur){
+ static $tables = array();
+ if (!isset($tables[$serveur])){
+ $tables[$serveur] = array();
+ if (!function_exists("sql_alltable"))
+ include_spip("base/abstract_sql");
+ $ts = sql_alltable('%',$serveur); // toutes les tables
+ foreach ($ts as $t){
+ $tables[$serveur][$t] = $t;
+ }
+ }
+ return $tables[$serveur];
+}
+
/**
* Retrouve le nom d'objet à partir de la table
*
}
$ts = lister_tables_spip($serveur);
- if (in_array($t, $ts)) {
+ if (
+ in_array($t, $ts)
+ or in_array($t, lister_toutes_tables($serveur))
+ ){
$desc = $trouver_table($t, $serveur);
if (isset($desc['key']['PRIMARY KEY'])) {
return $desc['key']['PRIMARY KEY'];
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
$done = true;
}
-/**
- * Durée en secondes pour relancer les scripts de mises à jour, x secondes
- * avant que la durée d'exécution du script provoque un timeout
- *
- * @var int
- **/
-define('_UPGRADE_TIME_OUT', 20);
+if (!defined('_UPGRADE_TIME_OUT')) {
+ /**
+ * Durée en secondes pour relancer les scripts de mises à jour, x secondes
+ * avant que la durée d'exécution du script provoque un timeout
+ *
+ * @var int
+ **/
+ define('_UPGRADE_TIME_OUT', 20);
+}
/**
* Gestion des mises à jour de SPIP et des plugins
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
$new = actualise_plugins_actifs();
if ($new and _request('actualise') < 2) {
include_spip('inc/headers');
+ if (isset($GLOBALS['fichier_php_compile_recent'])) {
+ // attendre eventuellement l'invalidation du cache opcode
+ spip_attend_invalidation_opcode_cache($GLOBALS['fichier_php_compile_recent']);
+ }
redirige_par_entete(parametre_url(self(), 'actualise', _request('actualise') + 1, '&'));
} else {
admin_plug_args(_request('voir'), _request('erreur'), _request('format'));
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/** statuts associables a des rubriques (separes par des virgules) */
defined('_STATUT_AUTEUR_RUBRIQUE') || define('_STATUT_AUTEUR_RUBRIQUE', _ADMINS_RESTREINTS ? '0minirezo' : '');
-// mes_fonctions peut aussi declarer des autorisations, donc il faut donc le charger
-if ($f = find_in_path('mes_fonctions.php')) {
- global $dossier_squelettes;
- include_once(_ROOT_CWD . $f);
-}
-
if (!function_exists('autoriser')) {
/**
}
+// mes_fonctions peut aussi declarer des autorisations, il faut donc le charger
+// mais apres la fonction autoriser()
+if ($f = find_in_path('mes_fonctions.php')) {
+ global $dossier_squelettes;
+ include_once(_ROOT_CWD . $f);
+}
+
+
/**
* Autoriser une action
*
* @return bool true s'il a le droit, false sinon
**/
function autoriser_dater_dist($faire, $type, $id, $qui, $opt) {
+ $table = table_objet($type);
+ $trouver_table = charger_fonction('trouver_table', 'base');
+ $desc = $trouver_table($table);
+ if (!$desc) {
+ return false;
+ }
+
if (!isset($opt['statut'])) {
- $table = table_objet($type);
- $trouver_table = charger_fonction('trouver_table', 'base');
- $desc = $trouver_table($table);
- if (!$desc) {
- return false;
- }
if (isset($desc['field']['statut'])) {
$statut = sql_getfetsel('statut', $desc['table'], id_table_objet($type) . '=' . intval($id));
} else {
} else {
$statut = $opt['statut'];
}
-
- if ($statut == 'publie'
- or ($statut == 'prop' and $type == 'article' and $GLOBALS['meta']['post_dates'] == 'non')) {
+
+ // Liste des statuts publiés pour cet objet
+ if (isset($desc['statut'][0]['publie'])) {
+ $statuts_publies = explode(',', $desc['statut'][0]['publie']);
+ }
+ // Sinon en dur le statut "publie"
+ else {
+ $statuts_publies = array('publie');
+ }
+
+ if (
+ in_array($statut, $statuts_publies)
+ // Ou cas particulier géré en dur ici pour les articles
+ or ($statut == 'prop' and $type == 'article' and $GLOBALS['meta']['post_dates'] == 'non')
+ ) {
return autoriser('modifier', $type, $id);
}
return sql_allfetsel(
'id_auteur',
'spip_auteurs_liens',
- "objet='article' AND id_objet=$id_article" . ($cond ? " AND $cond" : '')
+ "objet='article' AND id_objet=" . intval($id_article) . ($cond ? " AND $cond" : '')
);
}
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
if (isset($row['id_secteur'])) {
$contexte['id_secteur'] = $row['id_secteur'];
}
+ } elseif (isset($row['id_groupe'])) {
+ // TODO supprimer ce bloc quand https://core.spip.net/issues/3844 sera réalisé
+ $contexte['id_groupe'] = $row['id_groupe'];
}
}
}
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
return;
}
-define('_SPIP_SELECT_RUBRIQUES', 20); /* mettre 100000 pour desactiver ajax */
-
+if (!defined('_SPIP_SELECT_RUBRIQUES')) {
+ /**
+ * @var int Nombre de rubriques maximum du sélecteur de rubriques.
+ * Au delà, on bascule sur un sélecteur ajax.
+ * mettre 100000 pour desactiver ajax
+ */
+ define('_SPIP_SELECT_RUBRIQUES', 20);
+}
/**
* Sélecteur de rubriques pour l'espace privé
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* - Titre du tableau (si une seule colonne)
**/
function analyse_csv($t) {
+
+ // Quel est le séparateur ?
$virg = substr_count($t, ',');
$pvirg = substr_count($t, ';');
$tab = substr_count($t, "\t");
$hs = ';';
$virg = $pvirg;
}
- if ($tab > $virg) {
+ // un certain nombre de tab => le séparateur est tab
+ if ($tab > $virg / 10) {
$sep = "\t";
$hs = "\t";
}
-
- $t = preg_replace('/\r?\n/', "\n",
- preg_replace('/[\r\n]+/', "\n", $t));
+
// un separateur suivi de 3 guillemets attention !
- // attention au ; suceptible d'etre confondu avec un separateur
+ // attention au ; ou , suceptible d'etre confondu avec un separateur
// on substitue un # et on remplacera a la fin
$t = preg_replace("/([\n$sep])\"\"\"/", '\\1""#', $t);
$t = str_replace('""', '"#', $t);
foreach ($r[0] as $cell) {
$t = str_replace($cell,
str_replace($sep, $hs,
- str_replace("\n", "<br />",
+ str_replace("\n", "``**``", // échapper les saut de lignes, on les remettra après.
substr($cell, 1, -1))),
$t);
}
+
+ $t = preg_replace('/\r?\n/', "\n",
+ preg_replace('/[\r\n]+/', "\n", $t));
+
list($entete, $corps) = explode("\n", $t, 2);
$caption = '';
// sauter la ligne de tete formee seulement de separateurs
$lignes[$k] = substr($v, 0, -1);
}
}
-
+
foreach ($lignes as &$l) {
+ $l = str_replace('"#','"',$l);
+ $l = str_replace('``**``',"\n",$l);
$l = explode($sep, $l);
}
-
+
return array(explode($sep, $entete), $lignes, $caption);
}
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
return $local;
}
+/**
+ * Valider qu'une URL d'un document distant est bien distante
+ * et pas une url localhost qui permet d'avoir des infos sur le serveur
+ * inspiree de https://core.trac.wordpress.org/browser/trunk/src/wp-includes/http.php?rev=36435#L500
+ *
+ * @param string $url
+ * @param array $known_hosts
+ * url/hosts externes connus et acceptes
+ * @return false|string
+ * url ou false en cas d'echec
+ */
+function valider_url_distante($url, $known_hosts = array()) {
+ if (!function_exists('protocole_verifier')){
+ include_spip('inc/filtres_mini');
+ }
+
+ if (!protocole_verifier($url, array('http', 'https'))) {
+ return false;
+ }
+
+ $parsed_url = parse_url($url);
+ if (!$parsed_url or empty($parsed_url['host']) ) {
+ return false;
+ }
+
+ if (isset($parsed_url['user']) or isset($parsed_url['pass'])) {
+ return false;
+ }
+
+ if (false !== strpbrk($parsed_url['host'], ':#?[]')) {
+ return false;
+ }
+
+ if (!is_array($known_hosts)) {
+ $known_hosts = array($known_hosts);
+ }
+ $known_hosts[] = $GLOBALS['meta']['adresse_site'];
+ $known_hosts[] = url_de_base();
+ $known_hosts = pipeline('declarer_hosts_distants', $known_hosts);
+
+ $is_known_host = false;
+ foreach ($known_hosts as $known_host) {
+ $parse_known = parse_url($known_host);
+ if ($parse_known
+ and strtolower($parse_known['host']) === strtolower($parsed_url['host'])) {
+ $is_known_host = true;
+ break;
+ }
+ }
+
+ if (!$is_known_host) {
+ $host = trim($parsed_url['host'], '.');
+ if (preg_match('#^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$#', $host)) {
+ $ip = $host;
+ } else {
+ $ip = gethostbyname($host);
+ if ($ip === $host) {
+ // Error condition for gethostbyname()
+ $ip = false;
+ }
+ }
+ if ($ip) {
+ $parts = array_map('intval', explode( '.', $ip ));
+ if (127 === $parts[0] or 10 === $parts[0] or 0 === $parts[0]
+ or ( 172 === $parts[0] and 16 <= $parts[1] and 31 >= $parts[1] )
+ or ( 192 === $parts[0] && 168 === $parts[1] )
+ ) {
+ return false;
+ }
+ }
+ }
+
+ if (empty($parsed_url['port'])) {
+ return $url;
+ }
+
+ $port = $parsed_url['port'];
+ if ($port === 80 or $port === 443 or $port === 8080) {
+ return $url;
+ }
+
+ if ($is_known_host) {
+ foreach ($known_hosts as $known_host) {
+ $parse_known = parse_url($known_host);
+ if ($parse_known
+ and !empty($parse_known['port'])
+ and strtolower($parse_known['host']) === strtolower($parsed_url['host'])
+ and $parse_known['port'] == $port) {
+ return $url;
+ }
+ }
+ }
+
+ return false;
+}
+
/**
* Preparer les donnes pour un POST
* si $donnees est une chaine
$result['page'] = &$res;
$result['length'] = strlen($result['page']);
}
+ $result['status'] = 200; // on a reussi, donc !
}
if (!$result['page']) {
return $result;
if (is_null($http_proxy)) {
$http_proxy = isset($GLOBALS['meta']['http_proxy']) ? $GLOBALS['meta']['http_proxy'] : null;
}
+ // rien a faire si pas de proxy :)
+ if (is_null($http_proxy) or !$http_proxy = trim($http_proxy)) {
+ return '';
+ }
+
if (is_null($http_noproxy)) {
$http_noproxy = isset($GLOBALS['meta']['http_noproxy']) ? $GLOBALS['meta']['http_noproxy'] : null;
}
+ // si pas d'exception, on retourne le proxy
+ if (is_null($http_noproxy) or !$http_noproxy = trim($http_noproxy)) {
+ return $http_proxy;
+ }
+
+ // si le host ou l'un des domaines parents est dans $http_noproxy on fait exception
+ // $http_noproxy peut contenir plusieurs domaines separes par des espaces ou retour ligne
+ $http_noproxy = str_replace("\n", " ", $http_noproxy);
+ $http_noproxy = str_replace("\r", " ", $http_noproxy);
+ $http_noproxy = " $http_noproxy ";
+ $domain = $host;
+ // si le domaine exact www.example.org est dans les exceptions
+ if (strpos($http_noproxy, " $domain ") !== false)
+ return '';
+
+ while (strpos($domain, '.') !== false) {
+ $domain = explode('.', $domain);
+ array_shift($domain);
+ $domain = implode('.', $domain);
+
+ // ou si un domaine parent commencant par un . est dans les exceptions (indiquant qu'il couvre tous les sous-domaines)
+ if (strpos($http_noproxy, " .$domain ") !== false) {
+ return '';
+ }
+ }
- $domain = substr($host, strpos($host, '.'));
-
- return ($http_proxy
- and (strpos(" $http_noproxy ", " $host ") === false
- and (strpos(" $http_noproxy ", " $domain ") === false)))
- ? $http_proxy : '';
+ // ok c'est pas une exception
+ return $http_proxy;
}
$scheme = 'http';
$noproxy = '';
} elseif ($t['scheme'] == 'https') {
- $scheme = 'tls';
- $noproxy = 'tls://';
+ $scheme = 'ssl';
+ $noproxy = 'ssl://';
if (!isset($t['port']) || !($port = $t['port'])) {
$t['port'] = 443;
}
$connect = '';
if ($http_proxy) {
- if (defined('_PROXY_HTTPS_VIA_CONNECT') and $scheme == 'tls') {
+ if (defined('_PROXY_HTTPS_VIA_CONNECT') and in_array($scheme , array('tls','ssl'))) {
$path_host = (!$user ? '' : "$user@") . $host . (($port != 80) ? ":$port" : '');
$connect = 'CONNECT ' . $path_host . " $vers\r\n"
. "Host: $path_host\r\n"
. "Proxy-Connection: Keep-Alive\r\n";
} else {
- $path = (($scheme == 'tls') ? 'https://' : "$scheme://")
+ $path = (in_array($scheme , array('tls','ssl')) ? 'https://' : "$scheme://")
. (!$user ? '' : "$user@")
. "$host" . (($port != 80) ? ":$port" : '') . $path;
}
$site = isset($GLOBALS['meta']['adresse_site']) ? $GLOBALS['meta']['adresse_site'] : '';
+ $host_port = $host;
+ if ($port != (in_array($scheme , array('tls','ssl')) ? 443 : 80)) {
+ $host_port .= ":$port";
+ }
$req = "$method $path $vers\r\n"
- . "Host: $host\r\n"
+ . "Host: $host_port\r\n"
. 'User-Agent: ' . _INC_DISTANT_USER_AGENT . "\r\n"
. ($refuse_gz ? '' : ('Accept-Encoding: ' . _INC_DISTANT_CONTENT_ENCODING . "\r\n"))
. (!$site ? '' : "Referer: $site/$referer\r\n")
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
**/
function liens_ouvrants($texte) {
if (preg_match_all(",(<a\s+[^>]*https?://[^>]*class=[\"']spip_(out|url)\b[^>]+>),imsS",
- $texte, $liens, PREG_SET_ORDER)) {
+ $texte, $liens, PREG_PATTERN_ORDER)) {
foreach ($liens[0] as $a) {
$rel = 'noopener noreferrer ' . extraire_attribut($a, 'rel');
$ablank = inserer_attribut($a, 'rel', $rel);
* @param string $rels Attribut `rel` à capturer (ou plusieurs séparés par des virgules)
* @return string Liens trouvés
**/
-function afficher_tags($tags, $rels = 'tag, directory') {
+function afficher_tags($tags, $rels = 'tag,directory') {
$s = array();
foreach (extraire_balises($tags, 'a') as $tag) {
$rel = extraire_attribut($tag, 'rel');
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/* *************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
if (preg_match(',^(mailto|javascript|data|tel|callto|file|ftp):,iS', $lien)) {
return $lien;
}
- if (preg_match(';^((?:[a-z]{3,7}:)?//.*?)(/.*)?$;iS', $lien, $r)) {
+ if (preg_match(';^((?:[a-z]{3,33}:)?//.*?)(/.*)?$;iS', $lien, $r)) {
$r = array_pad($r, 3, null);
return $r[1] . resolve_path($r[2]);
return preg_replace(';^[a-z]{3,7}://;i', '//', $url_absolue);
}
+/**
+ * Verifier qu'une url est absolue et que son protocole est bien parmi une liste autorisee
+ * @param string $url_absolue
+ * @param array $protocoles_autorises
+ * @return bool
+ */
+function protocole_verifier($url_absolue, $protocoles_autorises = array('http','https')) {
+
+ if (preg_match(';^([a-z]{3,7})://;i', $url_absolue, $m)) {
+ $protocole = $m[1];
+ if (in_array($protocole, $protocoles_autorises)
+ or in_array(strtolower($protocole), array_map('strtolower', $protocoles_autorises))) {
+ return true;
+ }
+ }
+ return false;
+}
+
/**
* Transforme les URLs relatives en URLs absolues
*
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
// Zend OPcache
if (function_exists('opcache_invalidate')) {
- opcache_invalidate($filepath, true);
+ $invalidate = @opcache_invalidate($filepath, true);
+ // si l'invalidation a echoue lever un flag
+ if (!$invalidate and !defined('_spip_attend_invalidation_opcode_cache')) {
+ define('_spip_attend_invalidation_opcode_cache',true);
+ }
}
// APC.
if (function_exists('apc_delete_file')) {
* @link http://wiki.mikejung.biz/PHP_OPcache
*
*/
-function spip_attend_invalidation_opcode_cache() {
+function spip_attend_invalidation_opcode_cache($timestamp = null) {
if (function_exists('opcache_get_configuration')
and @ini_get('opcache.enable')
and @ini_get('opcache.validate_timestamps')
and $duree = @ini_get('opcache.revalidate_freq')
+ and defined('_spip_attend_invalidation_opcode_cache') // des invalidations ont echouees
) {
- spip_log('Probleme de configuration opcache.revalidate_freq '. $duree .'s', _LOG_INFO_IMPORTANTE);
- sleep($duree + 1);
+ $wait = $duree + 1;
+ if ($timestamp) {
+ $wait -= (time() - $timestamp);
+ if ($wait<0) {
+ $wait = 0;
+ }
+ }
+ spip_log('Probleme de configuration opcache.revalidate_freq '. $duree .'s : on attend '.$wait.'s', _LOG_INFO_IMPORTANTE);
+ if ($wait) {
+ sleep($duree + 1);
+ }
}
}
$base = str_replace("//", "/", $base);
# suppr le dernier caractere si c'est un / ou un _
- $base = rtrim($base, '/_');
+ $base = rtrim($base, '/');
+ if (_CREER_DIR_PLAT) {
+ $base = rtrim($base, '_');
+ }
if (!strlen($subdir)) {
$n = strrpos($base, "/");
} else {
$base .= '/';
$subdir = str_replace("/", "", $subdir);
+ if (_CREER_DIR_PLAT) {
+ $subdir = rtrim($subdir, '_');
+ }
}
$baseaff = $nobase ? '' : $base;
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
// Il n'y a que sous Apache que setcookie puis redirection fonctionne
include_spip('inc/cookie');
- if ((!$equiv and !spip_cookie_envoye()) or ((strncmp("Apache", $_SERVER['SERVER_SOFTWARE'],
- 6) == 0) or defined('_SERVER_APACHE'))
+ if ((!$equiv and !spip_cookie_envoye()) or (
+ (strncmp("Apache", $_SERVER['SERVER_SOFTWARE'], 6) == 0)
+ or (stripos($_SERVER['SERVER_SIGNATURE'], 'Apache') !== false)
+ or function_exists('apache_getenv')
+ or defined('_SERVER_APACHE')
+ )
) {
@header("Location: " . $url);
$equiv = "";
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
// generer le fichier _CACHE_PIPELINE
pipeline_precompile($prepend_code);
- // attendre eventuellement l'invalidation du cache opcode
- spip_attend_invalidation_opcode_cache();
-
if (spip_connect()) {
// lancer et initialiser les nouveaux crons !
include_spip('inc/genie');
* @uses plugins_installer_dist()
**/
function plugin_installes_meta() {
+ if (isset($GLOBALS['fichier_php_compile_recent'])) {
+ // attendre eventuellement l'invalidation du cache opcode
+ spip_attend_invalidation_opcode_cache($GLOBALS['fichier_php_compile_recent']);
+ }
+
$installer_plugins = charger_fonction('installer', 'plugins');
$meta_plug_installes = array();
foreach (unserialize($GLOBALS['meta']['plugin']) as $prefix => $resume) {
* Commentaire : code écrit en tout début de fichier, après la balise PHP ouvrante
**/
function ecrire_fichier_php($nom, $contenu, $comment = '') {
- ecrire_fichier($nom,
- '<' . '?php' . "\n" . $comment . "\nif (defined('_ECRIRE_INC_VERSION')) {\n" . $contenu . "}\n?" . '>');
+ if (!isset($GLOBALS['fichier_php_compile_recent'])) {
+ $GLOBALS['fichier_php_compile_recent'] = 0;
+ }
+
+ $contenu = '<' . '?php' . "\n" . $comment . "\nif (defined('_ECRIRE_INC_VERSION')) {\n" . $contenu . "}\n?" . '>';
+ // si un fichier existe deja on verifie que son contenu change avant de l'ecraser
+ // si pas de modif on ne touche pas au fichier initial
+ if (file_exists($nom)) {
+ if (substr($nom, -4) == '.php') {
+ $fichier_tmp = substr($nom, 0, -4) . '.tmp.php';
+ }
+ else {
+ $fichier_tmp = $nom . '.tmp';
+ }
+ file_put_contents($fichier_tmp, $contenu);
+ if(md5_file($nom) == md5_file($fichier_tmp)) {
+ $GLOBALS['fichier_php_compile_recent'] = max($GLOBALS['fichier_php_compile_recent'], filemtime($nom));
+ @unlink($fichier_tmp);
+ return;
+ }
+ @unlink($fichier_tmp);
+ }
+ ecrire_fichier($nom, $contenu);
+ $GLOBALS['fichier_php_compile_recent'] = max($GLOBALS['fichier_php_compile_recent'], filemtime($nom));
+ spip_clear_opcode_cache(realpath($nom));
}
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
$errno, $errstr, 1);
if ($fp) {
+ $host_sent = $parts['host'];
+ if (isset($parts['port']) and $parts['port'] !== $port) {
+ $host_sent .= ':' . $parts['port'];
+ }
$timeout = 200; // ms
stream_set_timeout($fp, 0, $timeout * 1000);
$query = $parts['path'] . ($parts['query'] ? "?" . $parts['query'] : "");
$out = "GET " . $query . " HTTP/1.1\r\n";
- $out .= "Host: " . $parts['host'] . "\r\n";
+ $out .= "Host: " . $host_sent . "\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
spip_timer('read');
return $texte;
}
- // en derniere solution, on insere une image background dans la page
- $texte = '<!-- SPIP-CRON --><div style="background-image: url(\'' .
- generer_url_action('cron') .
- '\');"></div>';
+ // en derniere solution, on insere un appel xhr non bloquant ou une image background dans la page si pas de JS
+ $url_cron = generer_url_action('cron');
+ $texte = '<!-- SPIP-CRON -->'
+ . "<script>setTimeout(function(){var xo = new XMLHttpRequest();xo.open('GET', '$url_cron', true);xo.send('');},100);</script>"
+ . "<noscript><div style=\"background-image: url('$url_cron');\"></div></noscript>";
return $texte;
}
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
if (!isset($auteur['date_session'])) {
$auteur['date_session'] = time();
}
- if (isset($auteur['prefs']) and is_string($auteur['prefs'])) {
- $auteur['prefs'] = unserialize($auteur['prefs']);
+ if (isset($auteur['prefs'])
+ and is_string($auteur['prefs'])
+ and $prefs = @unserialize($auteur['prefs'])) {
+ $auteur['prefs'] = $prefs;
}
$fichier_session = "";
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
// Dans l'espace prive on se mefie de tout contenu dangereux
// https://core.spip.net/issues/3371
- if (isset($env['espace_prive']) and $env['espace_prive']) {
+ // et aussi dans l'espace public si la globale filtrer_javascript = -1
+ // https://core.spip.net/issues/4166
+ if ($GLOBALS['filtrer_javascript'] == -1
+ or (isset($env['espace_prive']) and $env['espace_prive'] and $GLOBALS['filtrer_javascript']<=0)) {
$letexte = echapper_html_suspect($letexte);
}
return strval($t);
}
+ // Dans l'espace prive on se mefie de tout contenu dangereux
+ // avant echappement des balises <html>
+ // https://core.spip.net/issues/3371
+ // et aussi dans l'espace public si la globale filtrer_javascript = -1
+ // https://core.spip.net/issues/4166
+ if ($interdire_script
+ or $GLOBALS['filtrer_javascript'] == -1
+ or (isset($env['espace_prive']) and $env['espace_prive'] and $GLOBALS['filtrer_javascript']<=0)
+ or (isset($env['wysiwyg']) and $env['wysiwyg'] and $GLOBALS['filtrer_javascript']<=0)) {
+ $t = echapper_html_suspect($t, false);
+ }
$t = echappe_html($t);
$t = expanser_liens($t, $connect, $env);
$t = traiter_raccourcis($t);
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* @return string
* Texte coupé
**/
-function couper($texte, $taille = 50, $suite = ' (...)') {
+function couper($texte, $taille = 50, $suite = null) {
if (!($length = strlen($texte)) or $taille <= 0) {
return '';
}
$long = spip_substr($texte, 0, max($taille - 4, 1));
$u = $GLOBALS['meta']['pcre_u'];
$court = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
+ if (is_null($suite)) {
+ $suite = (defined('_COUPER_SUITE') ? _COUPER_SUITE : ' (...)');
+ }
$points = $suite;
// trop court ? ne pas faire de (...)
* @return string
*/
function echapper_html_suspect($texte, $strict=true) {
- if (!$texte
- or strpos($texte, '<') === false or strpos($texte, '=') === false) {
+ static $echapper_html_suspect;
+ if (!$texte or !is_string($texte)) {
+ return $texte;
+ }
+
+ if (!isset($echapper_html_suspect)) {
+ $echapper_html_suspect = charger_fonction('echapper_html_suspect', 'inc', true);
+ }
+ // si fonction personalisee, on delegue
+ if ($echapper_html_suspect) {
+ return $echapper_html_suspect($texte, $strict);
+ }
+
+ if (strpos($texte, '<') === false
+ or strpos($texte, '=') === false) {
return $texte;
}
+
// quand c'est du texte qui passe par propre on est plus coulant tant qu'il y a pas d'attribut du type onxxx=
// car sinon on declenche sur les modeles ou ressources
if (!$strict and
if (!function_exists('attribut_html')) {
include_spip('inc/filtres');
}
- $texte = "<mark title='".attribut_html(_T('erreur_contenu_suspect'))."'>⚠️</mark> ".$texte;
+ $texte = "<mark class='danger-js' title='".attribut_html(_T('erreur_contenu_suspect'))."'>⚠️</mark> ".$texte;
}
return $texte;
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
include_spip('inc/filtres_mini');
$url = spip_htmlspecialchars($url);
- $url = str_replace(array("'", '"', '<', '[', ']'), array('%27', '%22', '%3C', '%5B', '%5D'), $url);
+ $url = str_replace(array("'", '"', '<', '[', ']', ':'), array('%27', '%22', '%3C', '%5B', '%5D', '%3A'), $url);
// & ?
if ($amp != '&') {
if (isset($GLOBALS['meta']['adresse_site'])) {
$uri_ref = parse_url($GLOBALS['meta']['adresse_site']);
- $uri_ref = $uri_ref['path'] . '/';
+ $uri_ref = (isset($uri_ref['path']) ? $uri_ref['path'] : '') . '/';
} else {
$uri_ref = "";
}
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
// pour specifier les versions de SPIP necessaires
// il faut s'en tenir a un nombre de decimales fixe
// ex : 2.0.0, 2.0.0-dev, 2.0.0-beta, 2.0.0-beta2
-$spip_version_branche = "3.2.1";
+$spip_version_branche = "3.2.2";
// cette version dev accepte tous les plugins compatible avec la version ci-dessous
// a supprimer en phase beta/rc/release
#define('_DEV_VERSION_SPIP_COMPAT',"3.1.3");
if (!defined('_HEADER_COMPOSED_BY')) {
define('_HEADER_COMPOSED_BY', "Composed-By: SPIP");
}
-if (!headers_sent()) {
+if (!headers_sent() and _HEADER_COMPOSED_BY) {
header("Vary: Cookie, Accept-Encoding");
if (!isset($GLOBALS['spip_header_silencieux']) or !$GLOBALS['spip_header_silencieux']) {
include_spip('inc/filtres_mini');
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
}
} # {par hasard}
else {
- if ($r[1] == 'alea') {
+ if ($r[1] == 'hasard') {
$k = array_keys($this->tableau);
shuffle($k);
$v = array();
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
<paquet
prefix="spip"
categorie="outil"
- version="3.2.1"
+ version="3.2.2"
etat="stable"
compatibilite="];["
schema="23375"
<pipeline nom="calculer_rubriques" action="" />
<pipeline nom="configurer_liste_metas" action="" />
<pipeline nom="compter_contributions_auteur" action="" />
+ <pipeline nom="declarer_hosts_distants" action="" />
<pipeline nom="declarer_filtres_squelettes" action="" />
<pipeline nom="declarer_tables_interfaces" action="" />
<pipeline nom="declarer_tables_objets_sql" action="" />
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
}
if (!defined('_CONTEXTE_IGNORE_VARIABLES')) {
- define('_CONTEXTE_IGNORE_VARIABLES', "/(^var_|^PHPSESSID$)/");
+ define('_CONTEXTE_IGNORE_VARIABLES', "/(^var_|^PHPSESSID$|^fbclid$|^utm_)/");
}
// http://code.spip.net/@assembler
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
$notes('', 'depiler');
}
- if (is_null($suite)) {
- $suite = (defined('_INTRODUCTION_SUITE') ? _INTRODUCTION_SUITE : ' (...)');
+ if (is_null($suite) and defined('_INTRODUCTION_SUITE')) {
+ $suite = _INTRODUCTION_SUITE;
}
$texte = couper($texte, $longueur, $suite);
// comme on a coupe il faut repasser la typo (on a perdu les insecables)
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/* *************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2018 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/* *************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/* *************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
# APIs
# http://site/xmlrpc.api
# http://site/atom.api/articles/1234
+# https://site/offline.api.sw.js
-RewriteRule ^([\w]+)\.api(/(.*))?$ spip.php?action=api_$1&arg=$3 [QSA,L]
+RewriteRule ^([\w]+)\.api([/.](.*))?$ spip.php?action=api_$1&arg=$3 [QSA,L]
# Fin des APIs
###
/**************************************************************************/
/* SPIP, Systeme de publication pour l'internet */
/* */
-/* Copyright (c) 2001-2017 */
+/* Copyright (c) 2001-2019 */
/* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James */
/* */
/* Ce programme est un logiciel libre distribue sous licence GNU/GPL. */
/**************************************************************************/
/* SPIP, Systeme de publication pour l'internet */
/* */
-/* Copyright (c) 2001-2017 */
+/* Copyright (c) 2001-2019 */
/* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James */
/* */
/* Ce programme est un logiciel libre distribue sous licence GNU/GPL. */
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
#HTTP_HEADER{Content-type:text/html;charset=#ENV{charset}}
-[(#LOGO_AUTEUR||image_reduire{40,*})]
+[(#LOGO_AUTEUR|image_passe_partout{48,48}|image_recadre{48,48})]
[(#REM) ce fichier est utilise par inc/identifier_login, pour l'identification ajax des auteurs dans le formulaire de login]
\ No newline at end of file
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
#ACTION_FORMULAIRE
<fieldset>
<legend><:form_forum_identifiants:></legend>
- [<span id="spip_logo_auteur">(#ENV*{_logo,''})</span>]
<div class="editer-groupe">
<div class="editer editer_login obligatoire[(#ENV**{erreurs}|table_valeur{var_login}|oui)erreur]">
<label for="var_login"><:login_login2:></label>[
<span class="erreur_message">(#ENV**{erreurs}|table_valeur{var_login})</span>
- ]<input type='text' class='text' name='var_login' id='var_login' value="[(#ENV**{var_login})]" size='40'[(#HTML5) required='required' autofocus='autofocus'] autocapitalize="off" autocorrect="off" />
+ ]<input type='text' class='text [(#ENV*{_logo}|oui)avec_spip_logo_auteur]' name='var_login' id='var_login' value="[(#ENV**{var_login})]" size='40'[(#HTML5) required='required' autofocus='autofocus'] autocapitalize="off" autocorrect="off" />[
+ <span id="spip_logo_auteur">(#ENV*{_logo,''})</span>]
</div>
<div class="editer editer_password obligatoire[(#ENV**{erreurs}|table_valeur{password}|oui)erreur]">
<label for="password"><:login_pass2:></label>[
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
// Si on est connecte, appeler traiter()
// et lancer la redirection si besoin
- if (!$valeurs['editable'] and $loge) {
+ if (!$valeurs['editable'] and $loge and _request('formulaire_action')!=='login') {
$traiter = charger_fonction('traiter', 'formulaires/login');
$res = $traiter($cible, $login, $prive);
$valeurs = array_merge($valeurs, $res);
if (isset($res['redirect']) and $res['redirect']) {
include_spip('inc/headers');
# preparer un lien pour quand redirige_formulaire ne fonctionne pas
- $m = redirige_formulaire($res['redirect']);
+ $m = redirige_formulaire($res['redirect'], '', 'ajaxform');
$valeurs['_deja_loge'] = inserer_attribut(
'<a>' . _T('login_par_ici') . "</a>$m",
'href',
// Si on est connecte, envoyer vers la destination
if ($cible and ($cible != self('&')) and ($cible != self())) {
- if (!headers_sent() and !isset($_GET['var_mode'])) {
- include_spip('inc/headers');
- $res['redirect'] = $cible;
- } else {
- $res['message_ok'] = inserer_attribut(
- '<a>' . _T('login_par_ici') . '</a>',
- 'href',
- $cible
- );
- }
+ $res['redirect'] = $cible;
+ $res['message_ok'] = inserer_attribut(
+ '<a>' . _T('login_par_ici') . '</a>',
+ 'href',
+ $cible
+ );
+ }
+
+ // avant de rediriger il faut mettre a jour les sessions sur le disque si on a charge une session
+ if (function_exists('terminer_actualiser_sessions')) {
+ terminer_actualiser_sessions();
}
return $res;
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
<td class='langue'></td>
<td class='date secondaire'>[(#DATE|affdate_jourcourt)]</td>
<td class='id'>[(#AUTORISER{modifier,rubrique,#ID_RUBRIQUE}|?{
- <a href="[(#URL_ECRIRE{rubriques_edit,id_rubrique=#ID_RUBRIQUE})]" title="<:icone_modifier_rubrique|attribut_html:>">#ID_RUBRIQUE</a>,
+ <a href="[(#URL_ECRIRE{rubrique_edit,id_rubrique=#ID_RUBRIQUE})]" title="<:icone_modifier_rubrique|attribut_html:>">#ID_RUBRIQUE</a>,
#ID_RUBRIQUE
})]</td>
</tr>
title="<:info_numero_abbreviation|attribut_html:> #ID_RUBRIQUE">[(#RANG). ]#TITRE</a></td>
<td class='date secondaire'>[(#DATE|affdate_jourcourt)]</td>
<td class='id'>[(#AUTORISER{modifier,rubrique,#ID_RUBRIQUE}|?{
- <a href="[(#URL_ECRIRE{rubriques_edit,id_rubrique=#ID_RUBRIQUE})]" title="<:icone_modifier_rubrique|attribut_html:>">#ID_RUBRIQUE</a>,
+ <a href="[(#URL_ECRIRE{rubrique_edit,id_rubrique=#ID_RUBRIQUE})]" title="<:icone_modifier_rubrique|attribut_html:>">#ID_RUBRIQUE</a>,
#ID_RUBRIQUE
})]</td>
<td class='action'><button type="submit" class="button link delete" name="supprimer_lien[rubrique-#ID_RUBRIQUE-#OBJET-#ID_OBJET]" value="X"><:lien_retirer_rubrique:> [(#CHEMIN_IMAGE{supprimer-12.png}|balise_img{'X'})]</button></td>
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
border-bottom:2px solid #FEFF7F !important;
background:url(images/fond-inclure.png) repeat top left !important;
}
-.inclure_blocs > h6 {background:#FEFF7F;color:#000000;margin:0;padding:2px;margin-bottom:2px;font-family: Courier, "Courier New", monospace;font-size: 0.8em;}
+.inclure_blocs > h6 {
+ background: #FEFF7F;
+ color: #000000;
+ margin: 0;
+ padding: 2px;
+ margin-bottom: 2px;
+ clear: both;
+ font-family: monospace;
+ font-size: 0.66rem;
+ line-height: 1;
+ text-align: left;
+ letter-spacing: normal;
+ text-transform: none;
+}
.inclure_blocs > h6:hover,
.inclure_blocs.hover {
background-color: #FDFF1F !important;
}
-#debug-nav {position:absolute;top:90px;right:10px;width:200px;border:0; background:#f0d9d9; padding:20px; filter:alpha(opacity=90); -moz-opacity:0.9; opacity: 0.90; z-index: 1000; text-align: left; font-family: Verdana, Geneva, sans-serif; font-size: 12px; }
-#debug-nav caption {background:red;color:#fff;font-size:1.3em;font-weight:bold;padding:7px;}
+#debug-nav {position:absolute;top:90px;right:10px;width:200px;border:0; background:#f0d9d9; padding:20px; filter:alpha(opacity=90); -moz-opacity:0.9; opacity: 0.90; z-index: 9999; text-align: left; font-family: Verdana, Geneva, sans-serif; font-size: 12px; }
+#debug-nav caption {background:red;color:#fff;font-size:1.3em;font-weight:bold;padding:7px;margin-bottom:0;}
#debug-nav td,#debug-nav th {border-collapse: collapse;border:1px solid #999;}
#debug-nav th {background:#000;color:#fff;font-weight:bold;border-color:#333;}
[<h2 class='soustitre #EDIT{soustitre}'>(#SOUSTITRE)</h2>]
],simple fiche_objet})]
[(#REM|changer_typo)]
+#SET{options,#ARRAY}
+[(#STATUT|=={prop}|oui)[(#SET{options,[(#ARRAY{label_date,<:texte_date_publication_objet:>})]})] ]
<div class="ajax">
- #FORMULAIRE_DATER{article,#ID_ARTICLE}
+ #FORMULAIRE_DATER{article,#ID_ARTICLE,'',#GET{options}}
</div>
<div class="ajax">
.formulaire_spip .editer .explication a {}
/* Remarques importantes */
-.formulaire_spip .attention { display: block; margin-bottom: #ENV{margin-bottom}; font-weight: normal; }
-
+.formulaire_spip .attention { display: block; margin-bottom: #ENV{margin-bottom}; font-weight: normal; color: #514721; background-color:#FFF6BF; padding: 5px;}
.formulaire_spip input.submit,
input[type="submit"],input[type="reset"] {font-size: inherit;}
/* Date picker */
-#ui-datepicker-div {z-index: 1001 !important;}
+#ui-datepicker-div {z-index: 10000 !important;}
/*
---------------------------------------------- */
html { font-size: 100%; } /* Cf.: http://pompage.net/pompe/definir-des-tailles-de-polices-en-CSS/ */
body { font: .75em/1.5em Verdana, Geneva, sans-serif; color: #222; }
+*, *:before, *:after { box-sizing: border-box; }
input, textarea, select { font-size: 100%; font-family: inherit; }
h1 { margin: 0 auto 1.5em auto; font-size: 1.3em; font-weight: bold; color: #db1762; text-align: center; }
h2 { margin: 0 0 1.5em 0; font-size: 1.2em; font-weight: normal; }
h3 { margin: 0 auto 1.5em auto; font-size: 1em; font-weight: bold; }
-p,.p { display: block; margin: 0 0 1.5em 0; }
+p { display: block; margin: 0 0 1.5em 0; }
img, .spip_logo { margin: 0; padding: 0; border: 0; }
strong, b { font-weight: bold; }
/* LAYOUT / Disposition a l'ecran
---------------------------------------------- */
-body { padding: 5%; }
-
-#minipres { position: relative; margin: 0 auto; padding: 20px; background: #fff repeat; }
-.quitter_fenetre { position: absolute; right: 20px; top: 20px; }
-.quitter_fenetre a { display: block; width: 20px; height: 20px; background: url(images/fermer-16.png) no-repeat right center; color: #fff; text-indent: -999em; }
+html, body { height: 100%; }
+#minipres { position: relative; margin: 0 auto; background: #fff repeat; }
+.quitter_fenetre { position: absolute; right: 1.5em; top: 1.5em; }
+.quitter_fenetre a { display: block; width: 1.5em; height: 1.5em; background: url(images/fermer-16.png) no-repeat right center; color: #fff; text-indent: -999em; }
@media (min-width: 640px) {
-#minipres { width: 540px; border: 1px solid #eee;
--webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px;
--webkit-box-shadow: 0 0 20px #666; -moz-box-shadow: 0 0 20px #666; box-shadow: 0 0 20px #666; }
+ body { display: flex; padding: 2em; }
+ #minipres { margin: auto; width: 580px;border: 1px solid #DB1762;border-radius: 8px;padding: 2em 2em 1.5em 2em;overflow: hidden;}
+ #minipres h1 {margin-top: -2em;margin-left: -2em;margin-right: -2em;padding: 0.8em;font-size: 1.1em;color: white;background: #DB1762;}
}
-
@media (max-width: 640px) {
-body { padding: 5% 1%; }
-#minipres { width: auto; background: transparent; }
-fieldset { border-radius: 10px; }
-#etapes, #infos_etapes { display: none; }
+ body {padding: 1.5em;}
+ #minipres {width: auto;max-width: 25em;background: transparent;}
+ #etapes, #infos_etapes {display: none;}
}
@media screen and (max-width:640px) and (orientation: landscape) {
-body { -webkit-text-size-adjust: 70%; }
+ body { -webkit-text-size-adjust: 70%; }
}
/* Formulaires
---------------------------------------------- */
-.formulaire_spip { clear: both; margin-bottom: 20px; padding: 0; background: none; border: 0; text-align: left; }
-.formulaire_spip form { margin: 0; padding: 0; } /* Bug IE/Win */
-.boutons { margin: 20px 0; text-align: right; }
+.formo,
+input.text,
+input.password, select { display: block; margin-bottom: 0.5em; background: #F8F8F9 center bottom; padding: 4px; border: 1px solid #BEBEBF; border-radius: 3px; font-size: 1.2em; width: 100%; height: 2.5em; }
+button, input[type=submit] { color: white;background: #DB1762;border: none;border-radius: 4px;padding: 8px 1em;font-size: 1.2em;font-weight: bold;}
+button:hover, input[type=submit]:hover,
+button:focus, input[type=submit]:focus { background: #881644; }
+
+.formulaire_spip { clear: both; margin-bottom: 1.5em; padding: 0; background: none; border: 0; text-align: left; }
+.formulaire_spip form { margin: 0; padding: 0; }
.formulaire_spip fieldset,
fieldset,
-.fieldset { margin: 0 0 20px; padding: 20px; padding-bottom: 1px; background: #fff; border: 1px solid #ccc; border-radius: 3px; text-align: left; }
-legend { font-weight: bold; color: #333; } /* Preciser la couleur des legend pour IE/Win */
-label {}
+.fieldset { margin: 0 0 1em 0; padding: 0 1em 0.5em 1em; background: #FFFFFF; border: 1px solid #CCCCCC; border-radius: 4px; text-align: left; }
+legend { font-weight: bold; color: #333; padding: 0.5em; } /* Preciser la couleur des legend pour IE/Win */
+label {display: inline-block; margin-bottom: .5em;}
+input[type=radio],input[type=checkbox] {display: inline-block; margin-right: 0.75em; margin-bottom: .5em;}
.formulaire_spip fieldset ul { margin: 0; padding: 0; list-style: none; }
-.formulaire_spip fieldset ul li { clear: both; margin: 0 0 20px; padding: 0; }
+.formulaire_spip fieldset ul li { clear: both; margin: 0 0 1.5em; padding: 0; }
.formulaire_spip fieldset ul li label,
.formulaire_spip fieldset ul li .erreur_message,
.formulaire_spip fieldset ul li .details { display: block; width: auto; margin: 0; }
-.formo,
-input.text,
-input.password { width: 50%; display: block; margin-bottom: 20px; background: #f8f8f9 center bottom; padding: 4px; border: 1px inset; border-radius: 3px; }
-.formo,
-input.text,
-input.password,
-select { font-size: 120%; }
-
.formulaire_spip .choix label { display: inline; font-weight: normal; }
.formulaire_spip .choix input.radio,
.formulaire_spip .choix input.checkbox { width: auto; }
+.boutons { margin-top: 1.5em; text-align: right; }
+
/* erreur */
.formulaire_spip fieldset ul li.erreur {}
.formulaire_spip fieldset ul li.erreur input { border-color: red; background-color: #fcc; }
.reponse_formulaire,
.erreur_message { font-weight: bold; color: red; }
-
-.reponse_formulaire.reponse_formulaire_ok { border: 2px solid; font-weight: normal; padding: 10px; margin-bottom: 20px; color: #264409; border-color: #c6d880; background-color: #e6efc2; }
-
+.reponse_formulaire.reponse_formulaire_ok {border: 2px solid #C6D880;font-weight: normal;padding: 0.8em;margin-bottom: 1.5em;color: #264409;background-color: #E6EFC2;}
/* Habillage (en vrac)
---------------------------------------------- */
-.petit-centre { width: 300px; margin: auto; margin-bottom: 20px; text-align: center; }
-.petit-centre .logo { margin-bottom: 20px; }
+.petit-centre { width: 300px; margin: auto; margin-bottom: 1.5em; text-align: center; }
+.petit-centre .logo { margin-bottom: 1.5em; }
.toile_foncee { background: #777; }
#etapes span.encours { background: url(images/etape-encours.gif) center no-repeat; }
#etapes span.todo { background: url(images/etape-todo.gif) center no-repeat; }
-#infos_etapes { height: 63px; overflow: hidden; margin: 0; padding: 0; padding-left: 10px; background: #8c8c8c url(images/degrade-etapes-clair-left.gif) no-repeat right top; text-align: left; list-style: none; }
+#infos_etapes { display: flex; height: 63px; overflow: hidden; margin: 0; padding: 0; padding-left: 10px; background: #8c8c8c url(images/degrade-etapes-clair-left.gif) no-repeat right top; text-align: left; list-style: none; }
#infos_etapes.infos_etape_4 { background-image: url(images/degrade-etapes-rose-left.gif); background-color: #db1762; }
-#infos_etapes li { float: left; margin-left: -28px; padding-left: 29px; background: url(images/degrade-etapes-fonce-left.gif) no-repeat left top; color: #555; text-align: left; font-size: .9em; line-height: 1.05em; }
-#infos_etapes li .fond { width: 105px; height: 69px; padding-right: 25px; padding-top: 10px; background: url(images/degrade-etapes-fonce-left.gif) no-repeat -30px top; }
+#infos_etapes li { max-width: 160px; margin-left: -28px; padding-left: 29px; background: url(images/degrade-etapes-fonce-left.gif) no-repeat left top; color: #555; text-align: left; font-size: .9em; line-height: 1.05em; }
+#infos_etapes li .fond { height: 69px; padding-right: 25px; padding-top: 10px; background: url(images/degrade-etapes-fonce-left.gif) no-repeat -2em top; }
#infos_etapes li em {float:left;position:absolute;top:-1000px;}
#infos_etapes li span.numero_etape { float: left; display: block; height: 50px; margin-left: -10px; padding: 7px 3px 0 3px; font-weight: bold; font-size: 3em; }
#infos_etapes li.on { background-image: url(images/degrade-etapes-rose-left.gif); color: #fff; font-weight: bold; }
/* installation des plugins */
.error,
.success,
-.notice {border:2px solid; font-weight: normal;padding:10px;margin-bottom:20px;}
+.notice {border:2px solid; font-weight: normal;padding:0.8em;margin-bottom:1.5em;}
.success {color: #264409;border-color: #c6d880;background-color:#e6efc2;}
.error {color: #8a1f11;border-color: #fbc2c4;background-color:#fbe3e4;}
.notice {color: #514721;border-color: #ffd324;background-color:#fff6bf;}
.install-plugins {position:relative;margin-bottom: 0;}
.install-plugins.success + .install-plugins.success {margin-top: 0;border-top: 0;}
.install-plugins.error + .install-plugins.error {margin-top: 0;border-top: 0;}
-.install-plugins .result {display:block;position:absolute;top:10px;right:10px;font-weight:bold;}
+.install-plugins .result {display:block;position:absolute;top:0.8em;right:0.8em;font-weight:bold;}
.install-plugins .success {display: none;} /* ne pas afficher les installations ok mais seulement les echecs */
/* Page de login
---------------------------------------------- */
.page_login { text-align: center; }
-.page_login #minipres { width: 30em; }
-.page_login #minipres h3 { margin: 0; }
-.page_login .formulaire_menu_lang { text-align: center; }
-.page_login .formulaire_menu_lang label { display: none; }
-.page_login .formulaire_menu_lang select { display: inline; }
+@media (min-width: 640px) {
+ .page_login #minipres {width: 30em;}
+}
+.page_login #minipres h3 {text-align: center;}
+.page_login .formulaire_menu_lang {text-align: center;}
+.page_login .formulaire_menu_lang label {display: none;}
+.page_login .formulaire_menu_lang select {display: inline;}
.page_login .formulaire_menu_lang .boutons,
-.page_login .formulaire_menu_lang input.submit { display: inline; }
-.page_login .formulaire_login { clear: both; text-align: left; }
-.page_login .formulaire_login fieldset { clear: both; margin: 0; padding: 0 50px; background: none; border: 0; }
-.page_login .formulaire_login fieldset legend { display: none; }
-.page_login .formulaire_login fieldset #spip_logo_auteur { float: rigth; margin-right: -50px; }
-.page_login .formulaire_login fieldset #spip_logo_auteur img { margin-top: 1.5em; }
-.page_login .formulaire_login fieldset .editer-groupe { float: left; }
-.page_login .formulaire_login fieldset .editer-groupe .editer { margin: 0; padding-bottom: 10px; }
-.page_login .formulaire_login fieldset .editer-groupe .editer input.text,
-.page_login .formulaire_login fieldset .editer-groupe .editer input.password { display: inline; width: 90%; margin: 0; font-size: 140%; }
-.page_login .boutons { margin: 20px auto 20px; text-align: center; font-size: 130%; }
-.page_login .retour { clear: both; margin: 0 0 15px 0; }
+.page_login .formulaire_menu_lang input.submit {display: inline;}
+.page_login fieldset { clear: both; margin: 0; padding: 0; background: none; border: 0;}
+.page_login fieldset legend { display: none; }
+.page_login .editer-groupe { width: 100%; }
+.page_login .editer_password .details { margin-top: 0.5em; }
+.page_login .editer_password p { margin-bottom: 0; }
+.page_login .boutons { margin: 1.5em auto 1.5em; text-align: center; }
+.page_login .retour { clear: both; margin: 0 0 1.5em 0; }
.page_login .generator { margin: 0; }
+#pass_securise img { display: none; }
+.editer_password p { margin-top: 1em; }
+/* logo de l'auteur */
+.page_login .editer_login label { display: block; }
+.page_login #spip_logo_auteur { display: inline-block; vertical-align: middle; }
+.page_login #spip_logo_auteur img { border-radius: 50%; }
+.page_login input[name=var_login]:not(:last-child) { display: inline-block; /* fallback */ width: 82%; width: calc(100% - 54px); }
/* Couleurs des liens
---------------------------------------------- */
.lat #documents_joints .item {-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
.fiche_objet #wysiwyg {padding: 0}
-#wysiwyg .champ,.preview {font-size: 1.2em;line-height: 145%;font-family: Cambria, Georgia, 'Times New Roman', Times, serif;text-align: justify;text-justify:newspaper;-moz-hyphens:auto;-webkit-hyphens:auto;-khtml-hyphens:auto;-ms-hyphens:auto;-o-hyphens:auto;hyphens:auto;}
+#wysiwyg .champ,.preview {font-size: 1.2em;line-height: 145%;font-family: Cambria, Georgia, 'Times New Roman', Times, serif;-moz-hyphens:auto;-webkit-hyphens:auto;-khtml-hyphens:auto;-ms-hyphens:auto;-o-hyphens:auto;hyphens:auto;}
#wysiwyg .champ .label, #wysiwyg .champ label {text-align: #GET{left};}
#wysiwyg p,.preview p {margin: 0.8em 0;}
#wysiwyg h3.spip, .preview h3.spip {margin-top: 2.5em;margin-bottom: 1.8em;font-family: 'Lucida Grande', Tahoma, Ubuntu, Arial, Verdana, sans-serif;font-weight: normal;}
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2017 *
+ * Copyright (c) 2001-2018 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
<svn_revision>
<text_version>
-Origine: svn://trac.rezo.net/spip/tags/spip-3.2.1
-Revision: 23954
-Dernier commit: 2018-03-16 11:39:46 +0100
+Origine: svn://trac.rezo.net/spip/tags/spip-3.2.2
+Revision: 24202
+Dernier commit: 2019-01-18 15:44:20 +0100
</text_version>
-<origine>svn://trac.rezo.net/spip/tags/spip-3.2.1</origine>
-<revision>23954</revision>
-<commit>2018-03-16 11:39:46 +0100 </commit>
+<origine>svn://trac.rezo.net/spip/tags/spip-3.2.2</origine>
+<revision>24202</revision>
+<commit>2019-01-18 15:44:20 +0100 </commit>
</svn_revision>
\ No newline at end of file