コード例 #1
0
ファイル: hierarchy.php プロジェクト: kostastzo/openeclass
    $node = Database::get()->querySingle("SELECT lft, rgt from hierarchy WHERE id = ?d", $id);
    if ($node !== false) {
        // locate the subtree of the node we want to delete. the subtree contains the node itself
        $subres = Database::get()->queryArray("SELECT id FROM hierarchy WHERE lft BETWEEN ?d AND ?d", intval($node->lft), intval($node->rgt));
        $c = 0;
        // for each subtree node, check if it has belonging children (courses, users)
        foreach ($subres as $subnode) {
            $c += Database::get()->querySingle("SELECT COUNT(*) AS count FROM course_department WHERE department = ?d", intval($subnode->id))->count;
            $c += Database::get()->querySingle("SELECT COUNT(*) AS count FROM user_department WHERE department = ?d", intval($subnode->id))->count;
        }
        if ($c > 0) {
            // The node cannot be deleted
            $tool_content .= "<div class='alert alert-danger'>{$langNodeProErase}<br >{$langNodeNoErase}</div>";
        } else {
            // The node can be deleted
            $tree->deleteNode($id);
            $tool_content .= "<div class='alert alert-success'>{$langNodeErase}</div>";
        }
    }
} elseif (isset($_GET['action']) and $_GET['action'] == 'edit') {
    $id = intval($_REQUEST['id']);
    validateNode($id, isDepartmentAdmin());
    if (isset($_POST['edit'])) {
        // Check for empty fields
        $names = array();
        foreach ($session->active_ui_languages as $key => $langcode) {
            $n = isset($_POST['name-' . $langcode]) ? $_POST['name-' . $langcode] : null;
            if (!empty($n)) {
                $names[$langcode] = $n;
            }
        }