function deleteportalcategory($ids) { global $_G; if (empty($ids)) { return false; } if (!is_array($ids) && $_G['cache']['portalcategory'][$ids]['upid'] == 0) { @(require_once libfile('function/delete')); deletedomain(intval($ids), 'channel'); } if (!is_array($ids)) { $ids = array($ids); } require_once libfile('class/blockpermission'); require_once libfile('class/portalcategory'); $tplpermission =& template_permission::instance(); $templates = array(); foreach ($ids as $id) { $templates[] = 'portal/list_' . $id; $templates[] = 'portal/view_' . $id; } $tplpermission->delete_allperm_by_tplname($templates); $categorypermission =& portal_category::instance(); $categorypermission->delete_allperm_by_catid($ids); C::t('portal_category')->delete($ids); C::t('common_nav')->delete_by_type_identifier(4, $ids); $tpls = $defaultindex = array(); foreach ($ids as $id) { $defaultindex[] = $_G['cache']['portalcategory'][$id]['caturl']; $tpls[] = 'portal/list_' . $id; $tpls[] = 'portal/view_' . $id; } if (in_array($_G['setting']['defaultindex'], $defaultindex)) { C::t('common_setting')->update('defaultindex', ''); } C::t('common_diy_data')->delete($tpls, NULL); C::t('common_template_block')->delete_by_targettplname($tpls); }
function deleteportalcategory($ids) { global $_G; if (empty($ids)) { return false; } if (!is_array($ids) && $_G['cache']['portalcategory'][$ids]['upid'] == 0) { @(require_once libfile('function/delete')); deletedomain(intval($ids), 'channel'); } if (!is_array($ids)) { $ids = array($ids); } require_once libfile('class/blockpermission'); require_once libfile('class/portalcategory'); $tplpermission =& template_permission::instance(); $templates = array(); foreach ($ids as $id) { $templates[] = 'portal/list_' . $id; } $tplpermission->delete_allperm_by_tplname($templates); $categorypermission =& portal_category::instance(); $categorypermission->delete_allperm_by_catid($ids); DB::delete('portal_category', "catid IN (" . dimplode($ids) . ")"); DB::delete('common_nav', "`type`='4' AND identifier IN (" . dimplode($ids) . ")"); $tpls = $defaultindex = array(); foreach ($ids as $id) { $defaultindex[] = $_G['cache']['portalcategory'][$id]['caturl']; $tpls[] = 'portal/list_' . $id; @unlink(DISCUZ_ROOT . './data/diy/portal/list_' . $id . '.htm'); @unlink(DISCUZ_ROOT . './data/diy/portal/list_' . $id . '.htm.bak'); @unlink(DISCUZ_ROOT . './data/diy/portal/list_' . $id . '_diy_preview.htm'); } if (in_array($_G['setting']['defaultindex'], $defaultindex)) { DB::insert('common_setting', array('skey' => 'defaultindex', 'svalue' => ''), 0, 1); } $wheresql = "targettplname IN (" . dimplode($tpls) . ")"; DB::delete('common_diy_data', $wheresql); DB::delete('common_template_block', $wheresql); }