示例#1
0
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);
}