Changeset 33216 in spip-zone for _plugins_/gerer_date/200/action


Ignore:
Timestamp:
Nov 24, 2009, 12:08:36 PM (11 years ago)
Author:
yaquoi@…
Message:

mise a jour

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gerer_date/200/action/editer_article.php

    r23100 r33216  
    3434                # ils ont un id = 0-id_auteur
    3535
    36                         sql_updateq("spip_documents_liens", array("id_article" => $id_article), "id_article = ".(0-$id_auteur));
     36                        sql_updateq("spip_documents_liens", array("id_objet" => $id_article), array("id_objet = ".(0-$id_auteur),"objet='article'"));
    3737        }
    3838
     
    125125                'id_secteur' =>  $id_secteur,
    126126                'statut' =>  'prepa',
    127                 'date' => 'NOW()',
     127                'date' => date('Y-m-d H:i:s'),//'NOW()',
    128128                'accepter_forum' =>
    129129                        substr($GLOBALS['meta']['forums_publics'],0,3),
     
    150150        include_spip('inc/modifier');
    151151
    152         $row = sql_fetsel("statut, id_rubrique", "spip_articles", "id_article=$id_article");
     152        //$row = sql_fetsel("statut, id_rubrique", "spip_articles", "id_article=$id_article");
     153        $row = sql_fetsel("statut, date, id_rubrique", "spip_articles", "id_article=$id_article");
    153154        $id_rubrique = $row['id_rubrique'];
    154155        $statut_ancien = $statut = $row['statut'];
     156        //$date_ancienne = $date = $row['date'];
     157        $date_ancienne = $date = $row['date'];
    155158        $champs = array();
    156         $date = $c['date'];
    157 
    158         $s = $c['statut'];
     159       
     160        $d = isset($c['date'])?$c['date']:null;
     161        $s = isset($c['statut'])?$c['statut']:$statut;
    159162
    160163        // cf autorisations dans inc/instituer_article
    161         if ($s AND $s != $statut) {
     164        //if ($s != $statut OR ($d AND $d != $date)) {
     165        if ($s != $statut OR ($d AND $d != $date)) {
    162166                if (autoriser('publierdans', 'rubrique', $id_rubrique))
    163167                        $statut = $champs['statut'] = $s;
     
    169173                // En cas de publication, fixer la date a "maintenant"
    170174                // sauf si $c commande autre chose
    171                 // En cas de proposition d'un article (mais pas depublication), idem MODIF PLUGIN
    172                 if (!$champs['statut'] == 'publie'
    173                 OR (!$champs['statut'] == 'prop'
    174                         AND !in_array($statut_ancien, array('publie', 'prop'))
    175                 )) {
    176                         if (!is_null($date))
    177                                 $champs['date'] = $date;
     175                // En cas de proposition d'un article (mais pas depublication), idem
     176                //modif plugin gerer_date remplace
     177                if ($champs['statut'] == 'publie'
     178                 OR $champs['statut'] == 'prop' OR $champs['statut'] == 'prepa' )
     179                        {
     180                        if (!is_null($d))
     181                                $champs['date'] = $date = $d;
    178182                        else {
    179                                 # on prend la date de MySQL pour eviter un decalage cf. #975
    180                                 $d = sql_fetsel('NOW() AS d');
    181                                 $champs['date'] = $d['d'];
     183                                $champs['date'] = $date;//$date = date('Y-m-d H:i:s');
    182184                        }
    183185                }
     
    205207                        'args' => array(
    206208                                'table' => 'spip_articles',
    207                                 'id_objet' => $id_article
     209                                'id_objet' => $id_article,
     210                                'action'=>'instituer'
    208211                        ),
    209212                        'data' => $champs
     
    234237                        'args' => array(
    235238                                'table' => 'spip_articles',
    236                                 'id_objet' => $id_article
     239                                'id_objet' => $id_article,
     240                                'action'=>'instituer'
    237241                        ),
    238242                        'data' => $champs
     
    243247        if ($notifications = charger_fonction('notifications', 'inc')) {
    244248                $notifications('instituerarticle', $id_article,
    245                         array('statut' => $statut, 'statut_ancien' => $statut_ancien)
     249                        array('statut' => $statut, 'statut_ancien' => $statut_ancien, 'date'=>$date)
    246250                );
    247251        }
     
    276280        if ($cond) {
    277281                include_spip('inc/rubriques');
    278                 calculer_rubriques_if($id_rubrique, $champs, $statut);
     282                $postdate = ($GLOBALS['meta']["post_dates"] == "non" AND isset($champs['date']) AND (strtotime($champs['date']) < time()))?$champs['date']:false;
     283                calculer_rubriques_if($id_rubrique, $champs, $statut, $postdate);
    279284        }
    280285}
Note: See TracChangeset for help on using the changeset viewer.