Changeset 76980 in spip-zone


Ignore:
Timestamp:
Oct 5, 2013, 11:15:14 AM (6 years ago)
Author:
kent1@…
Message:

Amélioration de la fonction de suppression de module

On supprime tout, pas simplement les objets correspondants

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/trad-lang/trunk/inc/tradlang_supprimer_module.php

    r75953 r76980  
    33if (!defined("_ECRIRE_INC_VERSION")) return;
    44
     5/**
     6 * Fonction de suppression de module
     7 *
     8 * @param int $id_tradlang_module
     9 *      Identifiant numérique du module à supprimer
     10 * @return bool
     11 */
    512function inc_tradlang_supprimer_module($id_tradlang_module){
    6         if(intval($id_tradlang_module)){
    7                 $module = sql_getfetsel('module','spip_tradlang_modules','id_tradlang_module='.intval($id_tradlang_module));
     13        if(intval($id_tradlang_module) > 0){
     14                /**
     15                 * Le module existe-t-il ?
     16                 */
     17                $module = sql_getfetsel('id_tradlang_module','spip_tradlang_modules','id_tradlang_module='.intval($id_tradlang_module));
    818                if($module){
    9                         $traductions = sql_delete('spip_tradlangs','module='.sql_quote($module));
    10                         sql_delete('spip_tradlang_modules','module='.sql_quote($module));
    11                         sql_delete('spip_tradlangs_bilans','module='.sql_quote($module));
    12                         return $traductions;
    13                 }else{
     19                        /**
     20                         * Suppression des versions des chaines de langue
     21                         */
     22                        $tradlangs = sql_allfetsel('id_tradlang','spip_tradlangs','id_tradlang_module='.intval($module));
     23                        $tradlangs_supprimer = array();
     24                        foreach($tradlangs as $tradlang){
     25                                $tradlangs_supprimer[] = $tradlang['id_tradlang'];
     26                        }
     27                        if(count($tradlangs_supprimer)){
     28                                sql_delete('spip_versions','objet="tradlang" AND '.sql_in('id_objet',$tradlangs_supprimer));
     29                                sql_delete('spip_versions_fragments','objet="tradlang" AND '.sql_in('id_objet',$tradlangs_supprimer));
     30                        }
     31                        /**
     32                         * Suppression des chaines de langue, du module et des bilans
     33                         */
     34                        sql_delete('spip_tradlangs','id_tradlang_module='.intval($module));
     35                        sql_delete('spip_tradlang_modules','id_tradlang_module='.intval($module));
     36                        sql_delete('spip_tradlangs_bilans','id_tradlang_module='.intval($module));
     37                        /**
     38                         * Suppression des versions du module
     39                         */
     40                        sql_delete('spip_versions_fragments','objet="tradlang_module" AND id_objet='.intval($module));
     41                        sql_delete('spip_versions','objet="tradlang_module" AND id_objet='.intval($module));
     42                        return true;
     43                }else
    1444                        return false;
    15                 }
    16         }else{
     45        }else
    1746                return false;
    18         }
    1947       
    2048}
Note: See TracChangeset for help on using the changeset viewer.