Ejemplo n.º 1
0
# Written and Designed by James Hunt
#
# This file is part of Exponent
#
# Exponent is free software; you can redistribute
# it and/or modify it under the terms of the GNU
# General Public License as published by the Free
# Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# GPL: http://www.gnu.org/licenses/gpl.txt
#
##################################################
if (!defined('EXPONENT')) {
    exit('');
}
if ($user->is_admin == 1 || $user->is_acting_admin == 1) {
    $section = $db->selectObject('section', 'id=' . intval($_GET['id']));
    if ($section) {
        navigationmodule::deleteLevel($section->id);
        $db->delete('section', 'id=' . $section->id);
        $db->decrement('section', 'rank', 1, 'rank > ' . $section->rank . ' AND parent=' . $section->parent);
        expSession::clearAllUsersSessionCache('navigationmodule');
        expHistory::back();
        //		redirect_to($_SERVER['HTTP_REFERER'].'#tab=1');
    } else {
        echo SITE_403_HTML;
    }
} else {
    echo SITE_404_HTML;
}
Ejemplo n.º 2
0
 function deleteLevel($parent)
 {
     global $db;
     $kids = $db->selectObjects('section', 'parent=$parent');
     foreach ($kids as $kid) {
         navigationmodule::deleteLevel($kid->id);
     }
     $secrefs = $db->selectObjects('sectionref', 'section=' . $parent);
     foreach ($secrefs as $secref) {
         $loc = pathos_core_makeLocation($secref->module, $secref->source, $secref->internal);
         pathos_core_decrementLocationReference($loc, $parent);
         foreach ($db->selectObjects('locationref', "module='" . $secref->module . "' AND source='" . $secref->source . "' AND internal='" . $secref->internal . "' AND refcount = 0") as $locref) {
             if (class_exists($locref->module)) {
                 $modclass = $locref->module;
                 $mod = new $modclass();
                 $mod->deleteIn(pathos_core_makeLocation($locref->module, $locref->source, $locref->internal));
             }
         }
         $db->delete('locationref', "module='" . $secref->module . "' AND source='" . $secref->source . "' AND internal='" . $secref->internal . "' AND refcount = 0");
     }
     $db->delete('sectionref', 'section=' . $parent);
     $db->delete('section', 'parent=$parent');
 }
Ejemplo n.º 3
0
 static function deleteLevel($parent)
 {
     global $db;
     $kids = $db->selectObjects('section', 'parent=' . $parent);
     foreach ($kids as $kid) {
         navigationmodule::deleteLevel($kid->id);
     }
     $secrefs = $db->selectObjects('sectionref', 'section=' . $parent);
     foreach ($secrefs as $secref) {
         $loc = expCore::makeLocation($secref->module, $secref->source, $secref->internal);
         expCore::decrementLocationReference($loc, $parent);
         if (class_exists($secref->module)) {
             $modclass = $secref->module;
             //FIXME: more module/controller glue code
             if (expModules::controllerExists($modclass)) {
                 $mod = new $modclass($iloc->src);
                 $mod->delete_instance();
             } else {
                 $mod = new $modclass();
                 $mod->deleteIn($loc);
             }
         }
     }
     $db->delete('sectionref', 'section=' . $parent);
     $db->delete('section', 'parent=' . $parent);
 }