Changeset 65420 in spip-zone


Ignore:
Timestamp:
Aug 31, 2012, 1:12:07 PM (7 years ago)
Author:
maieul@…
Message:

une clef primaire ne peut avoir un champ null

Location:
_plugins_/a2a/branches/type
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/a2a/branches/type/a2a_administrations.php

    r65419 r65420  
    1717        $maj['0.6.0'] = array(array('a2a_maj_060'));
    1818        $maj['0.7.0'] = array(array('a2a_maj_070'));
    19         $maj['0.8.0'] = array(array('a2a_maj_080'));
    2019        $maj['0.9.0'] = array(array('a2a_maj_090'));
    2120        include_spip('base/upgrade');
     
    4039}       
    4140
    42 function a2a_maj_080(){
    43         sql_update("spip_articles_lies",array('type_liaison'=>'NULL'),"type_liaison=''");
    44         sql_alter("TABLE spip_articles_lies CHANGE type_liaison type_liaison  VARCHAR(25) DEFAULT NULL");
    45        
    46 }       
    4741function a2a_maj_090(){
    4842        sql_alter("TABLE spip_articles_lies DROP PRIMARY KEY");
  • _plugins_/a2a/branches/type/action/a2a.php

    r65417 r65420  
    3131        include_spip('inc/utils');
    3232
    33         $contexte = array();
     33
    3434       
    3535        $rang = sql_getfetsel('rang', 'spip_articles_lies', 'id_article=' . sql_quote($id_article) . 'AND id_article_lie=' . sql_quote($id_article_cible) . 'AND type_liaison=' . sql_quote($type_liaison));
     
    4141                sql_update('spip_articles_lies', array('rang' => sql_quote(--$r["rang"])), 'id_article=' . sql_quote($r["id_article"]) . 'AND id_article_lie=' . sql_quote($r["id_article_lie"]));
    4242        }
    43         if ($type_liaison){
    44                 sql_delete('spip_articles_lies',  array(
    45                         'id_article = ' . sql_quote($id_article),
    46                         'id_article_lie = ' . sql_quote($id_article_cible),
    47                         'type_liaison=' . sql_quote($type_liaison)
    48                         ));
    49         }
    50         else{
    51                                 sql_delete('spip_articles_lies',  array(
    52                         'id_article = ' . sql_quote($id_article),
    53                         'id_article_lie = ' . sql_quote($id_article_cible),
    54                         'type_liaison IS NULL'
    55                         ));
    56         }
     43        sql_delete('spip_articles_lies',  array(
     44                'id_article = ' . sql_quote($id_article),
     45                'id_article_lie = ' . sql_quote($id_article_cible),
     46                'type_liaison=' . sql_quote($type_liaison)
     47                ));
    5748        if($type == 'both'){
    5849                $rang = sql_getfetsel('rang', 'spip_articles_lies', 'id_article=' . sql_quote($id_article_cible) . 'AND id_article_lie=' . sql_quote($id_article)  . ' AND type_liaison=' . sql_quote($type_liaison));
     
    6455                        sql_update('spip_articles_lies', array('rang' => sql_quote(--$r["rang"])), 'id_article=' . sql_quote($r["id_article"]) . 'AND id_article_lie=' . sql_quote($r["id_article_lie"]));
    6556                }
    66                 if ($type_liaison){
    67                         sql_delete('spip_articles_lies',  array(
    68                                 'id_article = ' . sql_quote($id_article_cible),
    69                                 'id_article_lie = ' . sql_quote($id_article),
    70                                 'type_liaison=' . sql_quote($type_liaison)
    71                                 ));
    72                 }
    73                 else{
    74                         sql_delete('spip_articles_lies',  array(
    75                                 'id_article = ' . sql_quote($id_article_cible),
    76                                 'id_article_lie = ' . sql_quote($id_article),
    77                                 'type_liaison IS NULL'
    78                                 ));
    79                 }
     57                sql_delete('spip_articles_lies',  array(
     58                        'id_article = ' . sql_quote($id_article_cible),
     59                        'id_article_lie = ' . sql_quote($id_article),
     60                        'type_liaison=' . sql_quote($type_liaison)
     61                        ));
    8062        }
    8163        return true;
     
    9072        if ($type_modif == "plus"){
    9173                        //on recupere le rang de l'article à modifier
    92                         if ($type_liaison){
    93                                 $rang = sql_getfetsel('rang', 'spip_articles_lies', 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison=' . sql_quote($type_liaison));
    94                         }
    95                         else{
    96                                 $rang = sql_getfetsel('rang', 'spip_articles_lies', 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison IS NULL');
    97                         }
     74                        $rang = sql_getfetsel('rang', 'spip_articles_lies', 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison=' . sql_quote($type_liaison));
    9875                        //on intervertit le rang de l'article suivant
    9976                        sql_update('spip_articles_lies', array('rang' => $rang), 'id_article=' . sql_quote($id_article) . ' AND rang=' . sql_quote($rang + 1));
    10077                        //on met à jour le rang de l'article à modifier
    101                         if ($type_liaison){
    102                                 sql_update('spip_articles_lies', array('rang' => ++$rang), 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison=' . sql_quote($type_liaison));
    103                         }
    104                         else{
    105                                 sql_update('spip_articles_lies', array('rang' => ++$rang), 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison IS NULL');
    106                         }
     78                        sql_update('spip_articles_lies', array('rang' => ++$rang), 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison=' . sql_quote($type_liaison));
     79               
    10780        }
    10881        if ($type_modif == "moins"){
    109                         //on recupere le rang de l'article à modifier
    110                         if ($type_liaison){
    111                                 $rang = sql_getfetsel('rang', 'spip_articles_lies', 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison=' . sql_quote($type_liaison));
    112                         }
    113                         else{
    114                                 $rang = sql_getfetsel('rang', 'spip_articles_lies', 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison IS NULL');
    115                                
    116                         }
     82                        $rang = sql_getfetsel('rang', 'spip_articles_lies', 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison=' . sql_quote($type_liaison));
    11783                        //on intervertit le rang de l'article précédent
    11884                        sql_update('spip_articles_lies', array('rang' => $rang), 'id_article=' . sql_quote($id_article) . ' AND rang=' . sql_quote($rang - 1));
    11985                        //on met à jour le rang de l'article à modifier
    120                         if ($type_liaison){
    121                                 sql_update('spip_articles_lies', array('rang' => --$rang), 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison=' . sql_quote($type_liaison));
    122                         }
    123                         else{
    124                                 sql_update('spip_articles_lies', array('rang' => --$rang), 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison IS NULL');
    125                         }
     86                        sql_update('spip_articles_lies', array('rang' => --$rang), 'id_article=' . sql_quote($id_article) . ' AND id_article_lie=' . sql_quote($id_article_cible) . ' AND type_liaison=' . sql_quote($type_liaison));
    12687        }
    12788       
  • _plugins_/a2a/branches/type/base/a2a.php

    r65419 r65420  
    2020                "id_article_lie"        => "bigint(21) NOT NULL",
    2121                "rang"  => "bigint(21) NOT NULL DEFAULT '0'",
    22                 "type_liaison" => "varchar(25) DEFAULT NULL",
     22                "type_liaison" => "varchar(25)",
    2323        );
    2424       
  • _plugins_/a2a/branches/type/formulaires/ajoute_a2a.php

    r65417 r65420  
    3939function a2a_lier_article($id_article_cible, $id_article_source, $type=null, $type_liaison=''){
    4040        include_spip('inc/config');
     41        if (!$type_liaison){
     42                $wheretype='type_liaison IS NULL';
     43        }
     44        else {
     45                'type_liaison='.$type_liaison;
     46        }
    4147        //on verifie que cet article n'est pas deja lie
    4248        if (
     
    5561                sql_countsel('spip_articles_lies', array(
    5662                'id_article=' . sql_quote($id_article_source),
    57                 'id_article_lie=' . sql_quote($id_article_cible),'type_liaison='.$type_liaison))
     63                'id_article_lie=' . sql_quote($id_article_cible),$wheretype))
    5864                ))
    5965                ){
     66                       
    6067                        //on recupere le rang le plus haut pour definir celui de l'article a lier
    6168                        $rang = sql_getfetsel('MAX(rang)', 'spip_articles_lies', 'id_article='. sql_quote($id_article_source));
    6269                        //on ajoute le lien vers l'article
    63                         if ($type_liaison)
     70               
    6471                        sql_insertq('spip_articles_lies', array(
    6572                                'id_article' => $id_article_source,
     
    6875                                'type_liaison' => $type_liaison,
    6976                                ));
    70                         else
    71                                 sql_insertq('spip_articles_lies', array(
    72                                 'id_article' => $id_article_source,
    73                                 'id_article_lie' => $id_article_cible,
    74                                 'rang' => ++$rang
    75                                 ));
    76                                
    7777        }
    7878        if(($type == 'both') && !sql_countsel('spip_articles_lies', array(
Note: See TracChangeset for help on using the changeset viewer.