[SPIP] ~v3.2.5-->v3.2.7
authorLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Tue, 28 Jan 2020 08:42:48 +0000 (09:42 +0100)
committerLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Tue, 28 Jan 2020 08:42:48 +0000 (09:42 +0100)
17 files changed:
www/CHANGELOG.TXT
www/config/ecran_securite.php
www/ecrire/inc/acces.php
www/ecrire/inc/flock.php
www/ecrire/inc_version.php
www/ecrire/paquet.xml
www/plugins-dist/medias/action/ordonner_liens_documents.php
www/plugins-dist/medias/paquet.xml
www/plugins-dist/mots/paquet.xml
www/plugins-dist/mots/prive/squelettes/contenu/mot.html
www/plugins-dist/svp/inc/svp_decider.php
www/plugins-dist/urls_etendues/paquet.xml
www/plugins-dist/urls_etendues/urls/propres.php
www/squelettes-dist/formulaires/mot_de_passe.html
www/squelettes-dist/formulaires/mot_de_passe.php
www/squelettes-dist/formulaires/oubli.php
www/svn.revision

index 8a396e6..e9a4d67 100644 (file)
@@ -1,3 +1,31 @@
+SPIP-Core spip-3.2.6 -> spip-3.2.7  12 décembre 2019
+-------------------------------------------------------------
+
+r24471 | ben       |  (jeu. 12 déc. 2019) | la 3.2.6 est stable (realet) 
+
+
+SPIP-Core spip-3.2.5 -> spip-3.2.6  10 décembre 2019
+-------------------------------------------------------------
+
+r24399 | cedric    |  (lun. 16 sept. 2019) | Mise a jour de l'ecran de securite
+r24403 | ben       |  (lun. 16 sept. 2019) | SPIP 3.2.5
+r24411 | marcimat  |  (mar. 17 sept. 2019) | Fix #4381 : coquille de priorités d’opérateurs sur un test (Équipement).
+r24420 | cedric    |  (mar. 24 sept. 2019) | 2 constantes _SPIP_VERSION_ID et _SPIP_EXTRA_VERSION pour faciliter les tests de version dans les plugins
+r24421 | cedric    |  (mar. 24 sept. 2019) | coherence du paquet.xml avec inc_version
+r24431 | cedric    |  (ven. 22 nov. 2019) | Fix opcache invalidation sur les mutus qui n'ont pas la fonction opcache_invalidate() (Jean Marie)
+r24440 | bruno     |  (mer. 04 déc. 2019) | des fichiers CACHEDIR.TAG fonctionnelsretour sur https://core.spip.net/projects/spip/repository/revisions/23514ref https://core.spip.net/issues/2346 & https://bford.info/cachedir/
+r24448 | cedric    |  (mer. 04 déc. 2019) | Feu les temps modernes
+
+SPIP-plugins-dist spip-3.2.5 -> spip-3.2.6  10 décembre 2019
+-------------------------------------------------------------
+
+r117876 | cedric    |  (mar. 17 sept. 2019) | Report de r117577 et 117578 : Dans le formulaire d'oubli de mot de passe, ne pas dire si l'email est inscrit sur le site ou non, toujours afficher le meme resultat ​https://core.spip.net/issues/4171
+r117892 | marcimat  |  (mer. 18 sept. 2019) | Ticket #4383 : Bien prendre en compte les nécessite / utilise des paquets.xml qui ont une balise `<spip>` intégrée. [report de r117891]
+r118163 | Cerdic |  (mer. 16 oct. 2019) | Reparer le formulaire de saisie d'un nouveau mot de passe qui ne marchait plus avec les navigateur bases sur webkit/blink : ceux-ci croient reconnaitre le formulaire de login, et preremplissent avec les identifiants enregistres. Du coup faute de mieux ils mettaient le login dans le champ nobot, declenchant un fort peu avenant 'Rien a faire ici' pour les utilisateurs
+r118195 | Cerdic |  (ven. 18 oct. 2019) | Trop de n attire l'attention (dd)
+r118593 | marcimat  |  (mer. 13 nov. 2019) | Report de r118592 : Ne pas transmettre le paramètre "objet" aux listes d’objets dont on a trouvé le squelette, c’est contre productif, particulièrement lorsque ce paramètre peut servir à autre chose, comme dans le plugin albums.
+r118900 | marcimat  |  (mer. 04 déc. 2019) | Rétablir l’ordre un minimum ; on ne tolère aucune manifestation en chaîne. (Alexis Z)
+r118901 | marcimat  |  (mer. 04 déc. 2019) | Version 2.20.31
 
 SPIP-Core spip-3.2.4 -> spip-3.2.5  16 septembre 2019
 -------------------------------------------------------------
index 773f203..b471156 100644 (file)
@@ -5,7 +5,7 @@
  * ------------------
  */
 
-define('_ECRAN_SECURITE', '1.3.12'); // 2019-09-16
+define('_ECRAN_SECURITE', '1.3.13'); // 2019-12-04
 
 /*
  * Documentation : http://www.spip.net/fr_article4200.html
@@ -335,6 +335,13 @@ and $_REQUEST['action'] == 'configurer') {
                }
        }
 }
+if (isset($_REQUEST['action'])
+and $_REQUEST['action'] == 'ordonner_liens_documents'
+and isset($_REQUEST['ordre'])
+and is_string($_REQUEST['ordre'])){
+       $ecran_securite_raison = "ordre a la chaine";
+}
+
 
 /*
  * Bloque les requêtes contenant %00 (manipulation d'include)
index 084e743..bc493e5 100644 (file)
@@ -415,7 +415,7 @@ function verifier_htaccess($rep, $force = false) {
 function gerer_htaccess() {
        // Cette variable de configuration peut etre posee par un plugin
        // par exemple acces_restreint
-       $f = isset($GLOBALS['meta']['creer_htaccess']) and ($GLOBALS['meta']['creer_htaccess'] === 'oui');
+       $f = (isset($GLOBALS['meta']['creer_htaccess']) and ($GLOBALS['meta']['creer_htaccess'] === 'oui'));
        $dirs = sql_allfetsel('extension', 'spip_types_documents');
        $dirs[] = array('extension' => 'distant');
        foreach ($dirs as $e) {
index dada718..58afbf9 100644 (file)
@@ -470,6 +470,9 @@ function spip_clear_opcode_cache($filepath) {
                if (!$invalidate and !defined('_spip_attend_invalidation_opcode_cache')) {
                        define('_spip_attend_invalidation_opcode_cache',true);
                }
+       } elseif (!defined('_spip_attend_invalidation_opcode_cache')) {
+               // n'agira que si opcache est effectivement actif (il semble qu'on a pas toujours la fonction opcache_invalidate)
+               define('_spip_attend_invalidation_opcode_cache',true);
        }
        // APC.
        if (function_exists('apc_delete_file')) {
@@ -503,7 +506,7 @@ 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 ($duree = intval(@ini_get('opcache.revalidate_freq')) or $duree = 2)
                and defined('_spip_attend_invalidation_opcode_cache') // des invalidations ont echouees
        ) {
                $wait = $duree + 1;
index 41ef1c3..9988342 100644 (file)
@@ -372,7 +372,12 @@ $liste_des_authentifications = array(
 // 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.5";
+// le _SPIP_VERSION_ID est un nombre entier représentant le numéro de version (2 chiffres pour chaque 03 + 02 + 06 = 30206
+// le _SPIP_EXTRA_VERSION sert à repérer les version dev, beta etc. Pour une version stable il est vide.
+$spip_version_branche = "3.2.7";
+define('_SPIP_VERSION_ID', 30207);
+define('_SPIP_EXTRA_VERSION', '');
+
 // 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");
index 6e81f73..f9a073b 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="spip"
        categorie="outil"
-       version="3.2.5"
+       version="3.2.7"
        etat="stable"
        compatibilite="];["
        schema="23375"
index a1be046..79f35a0 100644 (file)
@@ -28,13 +28,13 @@ function action_ordonner_liens_dist() {
        $objet = objet_type(_request('objet_source'));
 
        // objet lié
-       $objet_lie = _request('objet_lie');
+       $objet_lie = objet_type(_request('objet_lie'));
        $id_objet_lie = intval(_request('id_objet_lie'));
 
        // ordre des éléments
        $ordre = _request('ordre');
 
-       if (!$objet or !$objet_lie or !$id_objet_lie OR !$ordre or !objet_associable($objet)) {
+       if (!$objet or !$objet_lie or !$id_objet_lie or !$ordre or !is_array($ordre) or !objet_associable($objet)) {
                return envoyer_json_erreur(_T('medias:erreur_objet_absent') . ' ' . _T('medias:erreur_deplacement_impossible'));
        }
 
index d0b89f0..19d00f1 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="medias"
        categorie="multimedia"
-       version="2.20.30"
+       version="2.20.31"
        etat="stable"
        compatibilite="[3.2.0;3.2.*]"
        logo="prive/themes/spip/images/portfolio-32.png"
index 3a44963..12c8601 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="mots"
        categorie="edition"
-       version="2.8.7"
+       version="2.8.8"
        etat="stable"
        compatibilite="[3.2.0;3.2.*]"
        logo="prive/themes/spip/images/mot-32.png"
index 24c0d66..3d561a0 100644 (file)
@@ -20,8 +20,9 @@
 <BOUCLE_autresobjets(spip_mots_liens){id_mot}{objet !IN article,rubrique}{fusion objet}{par objet}>
        #SET{table,#OBJET|table_objet}
        [(#SET{titre,[#OBJET:info_(#GET{table})_liees_mot]})]
-       [(#SET{liste,#VAL{prive/objets/liste/#GET{table}}|trouver_fond|?{#GET{table},objets_lies_mot}})]
-       <INCLURE{fond=prive/objets/liste/#GET{liste},objet,id_mot,ajax,env} />
+       [(#SET{exists,#VAL{prive/objets/liste/#GET{table}}|trouver_fond})]
+       [(#GET{exists}|oui)<INCLURE{fond=prive/objets/liste/#GET{table},id_mot,ajax,env} />]
+       [(#GET{exists}|non)<INCLURE{fond=prive/objets/liste/objets_lies_mot,objet,id_mot,ajax,env} />]
 </BOUCLE_autresobjets>
 </div>
 
index 37543a3..3ef11f8 100644 (file)
@@ -346,7 +346,7 @@ class Decideur {
                                        unset($d[$cle][0]);
                                        foreach ($d[$cle] as $version => $dependences) {
                                                if (svp_verifier_compatibilite_spip($version)) {
-                                                       $dep = array_merge($dep[0], $dependences);
+                                                       $dep[0] = array_merge($dep[0], $dependences);
                                                }
                                        }
                                        $d[$cle] = $dep;
index dcaf819..c4e495a 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="urls"
        categorie="statistique"
-       version="2.1.8"
+       version="2.1.9"
        etat="stable"
        compatibilite="[3.2.0;3.2.*]"
        logo="prive/themes/spip/images/url-32.png"
index 2700d72..e4b16bb 100644 (file)
@@ -467,7 +467,7 @@ function urls_propres_dist($i, $entite, $args = '', $ancre = '') {
                                if (_MARQUEUR_URL) {
                                        $fmarqueur = @array_flip(unserialize(_MARQUEUR_URL));
                                        preg_match(',^([+][-]|[-+@_]),', $url_propre, $regs);
-                                       $objet = $regs ? substr($fmarqueur[$regs[1]], 0, n - 1) : 'article';
+                                       $objet = ($regs ? substr($fmarqueur[$regs[1]], 0, -1) : 'article');
                                        $contexte['erreur'] = _T(
                                                ($objet == 'rubrique' or $objet == 'breve')
                                                        ? 'public:aucune_' . $objet
index 6a5d338..7c64530 100644 (file)
@@ -5,6 +5,11 @@
 <form id="oubli_form" action="[(#ENV{action})]" method="post">
        [(#REM) activer le traitement auto et dispatch sur charger/verifier/traiter]
        #ACTION_FORMULAIRE
+       [(#REM) Pour contenter les navigateurs smarts qui pensent reconnaitre un formulaire de login ]
+       <p style="display: none;">
+               <label for="login"><:antispam_champ_vide:></label>
+               <input type="text" class="text" name="login" id="login" value="#ENV{login}" size="10" />
+       </p>
        <fieldset>
                <legend><:pass_nouveau_pass:></legend>
                <div class="editer-groupe">
index 2e0821b..65412a5 100644 (file)
@@ -65,6 +65,10 @@ function formulaires_mot_de_passe_charger_dist($id_auteur = null, $jeton = null)
                $valeurs['editable'] = false; // pas de saisie
        }
        $valeurs['oubli'] = '';
+       // le champ login n'est pas utilise, mais il est destine aux navigateurs smarts
+       // qui veulent remplir le formulaire avec login/mot de passe
+       // et qui sinon remplissent le champ nobot (autocomplete=off n'est pas une option, certains navigateurs l'ignorant)
+       $valeurs['login'] = '';
        $valeurs['nobot'] = '';
 
        return $valeurs;
@@ -102,6 +106,10 @@ function formulaires_mot_de_passe_verifier_dist($id_auteur = null, $jeton = null
        if (_request('nobot')) {
                $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
        }
+       // precaution
+       if (_request('login')) {
+               set_request('login');
+       }
 
        return $erreurs;
 }
index dacfe0c..1d7b74e 100644 (file)
@@ -24,7 +24,8 @@ function formulaires_oubli_charger_dist() {
 // https://code.spip.net/@message_oubli
 function message_oubli($email, $param) {
        $r = formulaires_oubli_mail($email);
-       if (is_array($r) and $r[1]) {
+       
+       if (is_array($r) and $r[1] and $r[1]['statut'] !== '5poubelle' and $r[1]['pass'] !== '') {
                include_spip('inc/texte'); # pour corriger_typo
 
                include_spip('action/inscrire_auteur');
@@ -43,11 +44,9 @@ function message_oubli($email, $param) {
                );
                include_spip('inc/notifications');
                notifications_envoyer_mails($email, $msg);
-
-               return _T('pass_recevoir_mail');
        }
 
-       return _T('pass_erreur_probleme_technique');
+       return _T('pass_recevoir_mail');
 }
 
 // la saisie a ete validee, on peut agir
@@ -81,9 +80,9 @@ function formulaires_oubli_verifier_dist() {
                $erreurs['oubli'] = $r;
        } else {
                if (!$r[1]) {
-                       $erreurs['oubli'] = _T('pass_erreur_non_enregistre', array('email_oubli' => spip_htmlspecialchars($email)));
+                       spip_log("demande de reinitialisation de mot de passe pour $email non enregistre sur le site", "oubli");
                } elseif ($r[1]['statut'] == '5poubelle' or $r[1]['pass'] == '') {
-                       $erreurs['oubli'] = _T('pass_erreur_acces_refuse');
+                       spip_log("demande de reinitialisation de mot de passe pour $email sans acces (poubelle ou pass vide)", "oubli");
                }
        }
 
index 1ddafd2..4a82b4b 100644 (file)
@@ -1,10 +1,10 @@
 <svn_revision>
 <text_version>
-Origine: svn://trac.rezo.net/spip/tags/spip-3.2.5
-Revision: 24404
-Dernier commit: 2019-09-16 14:02:37 +0200 
+Origine: svn://trac.rezo.net/spip/tags/spip-3.2.7
+Revision: 24473
+Dernier commit: 2019-12-12 11:11:42 +0100 
 </text_version>
-<origine>svn://trac.rezo.net/spip/tags/spip-3.2.5</origine>
-<revision>24404</revision>
-<commit>2019-09-16 14:02:37 +0200 </commit>
+<origine>svn://trac.rezo.net/spip/tags/spip-3.2.7</origine>
+<revision>24473</revision>
+<commit>2019-12-12 11:11:42 +0100 </commit>
 </svn_revision>
\ No newline at end of file