Changeset 67235 in spip-zone


Ignore:
Timestamp:
Oct 29, 2012, 10:49:01 AM (7 years ago)
Author:
cedric@…
Message:

Ajouter un DEFAULT sur 'permanent' et 'champs' car peut poser problème sur certains sites SQLite migrés depuis mySQL (qui ont attrapés au passage une clause NOT NULL)

Gerer le 'permanent' dans le sens inverse : on tag 'non' quand c'est une revision fusionnable, et rien sinon (le cas le plus courant), et on teste l'absence de 'non' pour forcer la creation d'une nouvelle revision. Cela évite de peupler la base pour rien, et evite des bugs après réparation de base sur le permanent problematique

Location:
_core_/branches/spip-3.0/plugins/revisions
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _core_/branches/spip-3.0/plugins/revisions/base/revisions.php

    r66950 r67235  
    4848                "id_auteur"     => "VARCHAR(23) DEFAULT '' NOT NULL", # stocke aussi IP(v6)
    4949                "titre_version" => "text DEFAULT '' NOT NULL",
    50                 "permanent"     => "char(3)",
    51                 "champs"        => "text");
     50                "permanent"     => "char(3) DEFAULT '' NOT NULL",
     51                "champs"        => "text DEFAULT '' NOT NULL"
     52        );
    5253
    5354        $spip_versions_key = array (
  • _core_/branches/spip-3.0/plugins/revisions/inc/revisions.php

    r63531 r67235  
    417417        // definie, on enregistre alors le numero IP
    418418        $str_auteur = intval($id_auteur) ? intval($id_auteur) : $GLOBALS['ip'];
    419         $permanent = empty($titre_version) ? 'non' : 'oui';
     419        // si pas de titre dans cette version, la marquer 'non' permanente,
     420        // et elle pourra etre fusionnee avec une revision ulterieure dans un delai < _INTERVALLE_REVISIONS
     421        // permet de fusionner plusieurs editions consecutives champs par champs avec les crayons
     422        $permanent = empty($titre_version) ? 'non' : '';
    420423
    421424        // Detruire les tentatives d'archivages non abouties en 1 heure
     
    468471                $champs_old = $row['champs'];
    469472                if ($row['id_auteur']!= $str_auteur
    470                 OR $row['permanent']=='oui'
    471                 OR strtotime($row['date']) < (time()-_INTERVALLE_REVISIONS)) {
     473                  OR $row['permanent']!='non'
     474                  OR strtotime($row['date']) < (time()-_INTERVALLE_REVISIONS)) {
    472475                        spip_log(strtotime($row['date']), 'revisions');
    473476                        spip_log(time(), 'revisions');
  • _core_/branches/spip-3.0/plugins/revisions/paquet.xml

    r66950 r67235  
    66        compatibilite="[3.0.0;3.0.*]"
    77        logo="prive/themes/spip/images/revision-32.png"
    8         schema="1.1.3"
     8        schema="1.1.4"
    99>       
    1010
  • _core_/branches/spip-3.0/plugins/revisions/revisions_administrations.php

    r66950 r67235  
    7676                array('sql_alter',"TABLE spip_versions ADD INDEX objet (objet)")
    7777        );
     78        $maj['1.1.4'] = array(
     79                array('sql_alter',"TABLE spip_versions CHANGE permanent permanent char(3) DEFAULT '' NOT NULL"),
     80                array('sql_alter',"TABLE spip_versions CHANGE champs champs text DEFAULT '' NOT NULL"),
     81        );
    7882
    7983
Note: See TracChangeset for help on using the changeset viewer.