Changeset 75894 in spip-zone


Ignore:
Timestamp:
Sep 16, 2013, 7:55:47 AM (6 years ago)
Author:
kent1@…
Message:

Performance :

  • On évite un appel à objet_info car on a déjà ces informations un peu plus haut
  • On évite une requète sql également car on a aussi ces informations plus haut
  • On ne lance l'update du statut que lorsque celui ci a changé
File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/trad-lang/trunk/action/editer_tradlang.php

    r75884 r75894  
    1111        // si id_tradlang n'est pas un nombre, c'est une creation
    1212        // mais on verifie qu'on a toutes les donnees qu'il faut.
    13         if (!$id_tradlang = intval($arg)) {
     13        if (!$id_tradlang = intval($arg))
    1414                return false;
    15         }
    1615
    1716        // Enregistre l'envoi dans la BD
     
    4039         */
    4140        $infos_tradlang = sql_fetsel('*','spip_tradlangs','id_tradlang='.intval($id_tradlang));
    42        
     41
    4342        $modifie = false;
    44         foreach(objet_info('tradlang','champs_editables') as $champ){
    45                 if($c[$champ] != $infos_tradlang[$champ]){
     43        foreach($c as $champ => $valeur){
     44                if($valeur != $infos_tradlang[$champ]){
    4645                        $modifie = true;
    4746                        break;
     
    5150        if($modifie && ($GLOBALS['visiteur_session']['id_auteur'] > 0)){
    5251                $traducteurs = array();
    53                 $traducteur = sql_getfetsel('traducteur','spip_tradlangs','id_tradlang='.intval($id_tradlang));
    54                 if($traducteur){
    55                         $traducteurs = array_map('trim',explode(',',$traducteur));
    56                 }
     52                if($infos_tradlang['traducteur'])
     53                        $traducteurs = array_map('trim',explode(',',$infos_tradlang['traducteur']));
    5754                if(!in_array($GLOBALS['visiteur_session']['id_auteur'],$traducteurs)){
    5855                        $traducteurs[] = $GLOBALS['visiteur_session']['id_auteur'];
     
    7168        }
    7269       
    73         if($statut = (in_array(_request('statut'),array('NEW','MODIF','OK','RELIRE'))) ? _request('statut') : $c['statut'])
     70        if(($statut = (in_array(_request('statut'),array('NEW','MODIF','OK','RELIRE'))) ? _request('statut') : $c['statut']) && ($statut != $infos_tradlang['statut']))
    7471                sql_updateq('spip_tradlangs',array('statut' => $statut),'id_tradlang='.intval($id_tradlang));
    7572       
Note: See TracChangeset for help on using the changeset viewer.