Changeset 76974 in spip-zone


Ignore:
Timestamp:
Oct 5, 2013, 10:44:05 AM (6 years ago)
Author:
kent1@…
Message:

Action de suppression d'une langue d'un module

  • Si les arguments passés à l'action ne sont pas bons => return false;
  • On supprime les versions des items de langues et leurs fragments
File:
1 edited

Legend:

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

    r75953 r76974  
    1515        $arg = $securiser_action();
    1616       
    17         if (!preg_match(",^(\w+)\/(\w+)$,", $arg, $r))
     17        if (!preg_match(",^(\w+)\/(\w+)$,", $arg, $r)){
    1818                spip_log("action_tradlang_creer_langue_cible $arg pas compris","tradlang");
    19        
     19                return false;
     20        }
    2021        $id_tradlang_module = intval($r[1]);
    2122        $lang_cible = $r[2];
     
    2324        include_spip('inc/autoriser');
    2425        if($lang_cible && intval($id_tradlang_module) && autoriser('modifier','tradlang') && !sql_countsel('spip_tradlangs','id_tradlang_module='.intval($id_tradlang_module).' AND lang='.sql_quote($lang_cible).' AND statut="0K"')){
     26                /**
     27                 * Suppression des versions
     28                 */
     29                $tradlangs = sql_allfetsel('id_tradlang','spip_tradlangs','id_tradlang_module='.intval($id_tradlang_module).' AND lang='.sql_quote($lang_cible));
     30                $tradlangs_supprimer = array();
     31                foreach($tradlangs as  $tradlang){
     32                        $tradlangs_supprimer[] = $tradlang['id_tradlang'];
     33                }
     34                if(count($tradlangs_supprimer)){
     35                        sql_delete('spip_versions','objet="tradlang" AND '.sql_in('id_objet',$tradlangs_supprimer));
     36                        sql_delete('spip_versions_fragments','objet="tradlang" AND '.sql_in('id_objet',$tradlangs_supprimer));
     37                }
     38                /**
     39                 * Suppression des chaînes de langue
     40                 */
    2541                sql_delete('spip_tradlangs','id_tradlang_module='.intval($id_tradlang_module).' AND lang='.sql_quote($lang_cible));
     42                /**
     43                 * Suppression des bilans de cette langue
     44                 */
    2645                sql_delete('spip_tradlangs_bilans','id_tradlang_module='.intval($id_tradlang_module).' AND lang='.sql_quote($lang_cible));
    2746                include_spip('inc/invalideur');
Note: See TracChangeset for help on using the changeset viewer.