tangra logo
   
[ class tree: tangra_lib ] [ index: tangra_lib ] [ all elements ]
 

Source for file tangra_module_deleter.class.php

Documentation is available at tangra_module_deleter.class.php

  1. <?php
  2.  
  3. // $Id$
  4.  
  5. /**
  6.  * Contains class Tangra_Module_Deleter
  7.  *
  8.  * @package  tangra_lib
  9.  * @subpackage  modules_manager
  10.  */
  11.  
  12. /**
  13.  *
  14.  */
  15. require_once(TANGRA_MAIN_DIR.'modules_manager/tangra_module_dbc.class.php');
  16. /**
  17.  *
  18.  */
  19. require_once(TANGRA_MAIN_DIR.'modules_manager/tangra_module_release_deleter.class.php');
  20.  
  21. /**
  22.  * Tangra_Module_Deleter
  23.  *
  24.  * Used to delete module its related objects as releases
  25.  *
  26.  * @package  tangra_lib
  27.  * @subpackage  modules_manager
  28.  */
  29.     /**
  30.      * Deletes module its releases
  31.      *
  32.      * @param DB_Connection $dbc 
  33.      * @param integer $module_id 
  34.      * @return boolean Returns true on success, on failure - false
  35.      */
  36.     public static function delete_cascade(DB_Connection $dbc$module_id{
  37.         tangra_if_not_int_throw_e($module_id);
  38.  
  39.         $ret false;
  40.  
  41.         $module new Tangra_Module_DBC();
  42.         if ($module->load_by_id($dbc$module_id)) {
  43.             $sql "select id from tmod_releases where module = $module_id";
  44.             $rez $dbc->execute($sql);
  45.             while ($rez_obj $rez->fetch_object()) {
  46.                 Tangra_Module_Release_Deleter::delete_cascade($dbc$rez_obj->ID);
  47.             }
  48.  
  49.             Tangra_Module_DBC::delete($dbc$module_id);
  50.             $ret true;
  51.         }
  52.  
  53.         return $ret;
  54.     }
  55. }