예제 #1
0
파일: main.module.php 프로젝트: rigidus/ea
 function delete($page_id = false, $dump = true)
 {
     if (!$page_id) {
         $page_id = params::get('page_id');
     }
     if ($page_id == 1) {
         return false;
     }
     db::table('pages');
     db::where('page_id', $page_id);
     db::limit(1);
     $page = db::assoc();
     if ($page['page_child'] == '1') {
         return false;
     }
     if ($dump) {
         trash::tables('pages', 'pages_content', 'pages_versions');
         trash::conf('pages', 'blocks', 'menus');
         trash::dump();
     }
     $parent = $page['page_parent'];
     if ($parent != 0) {
         db::table('pages');
         db::where('page_parent', $parent);
         db::select();
         if (db::rows() == 1) {
             db::table('pages');
             db::where('page_id', $parent);
             db::update('page_child', '0');
         }
     }
     db::table('menus_points');
     db::where('site_id', $page['site_id']);
     db::where('point_link', $page['page_folder']);
     db::delete();
     db::table('pages');
     db::where('page_id', $page_id);
     db::delete();
     db::table('pages_content');
     db::where('page_id', $page_id);
     db::delete();
     db::table('pages_versions');
     db::where('page_id', $page_id);
     db::delete();
     conf::delete('pages', $page_id);
     conf::deleteFrom('blocks', 'pages', $page_id);
     conf::deleteFrom('menus', 'pages', $page_id);
     db::table('pages_files');
     db::where('page_id', $page_id);
     $r = db::select();
     while ($a = mysql_fetch_assoc($r)) {
         self::deleteFilesFileForce($a);
     }
 }