コード例 #1
0
ファイル: admin_ajax.php プロジェクト: bigfraggle/open-apexx
function nodemoved()
{
    global $apx, $set;
    if (!checkToken()) {
        return;
    }
    if (!$apx->user->has_right('news.catedit') || !$set['news']['subcats']) {
        return;
    }
    $id = (int) $_REQUEST['id'];
    $newparent = (int) $_REQUEST['parentid'];
    $beforeid = (int) $_REQUEST['before'];
    $afterid = (int) $_REQUEST['after'];
    if (!$id) {
        return;
    }
    require_once BASEDIR . 'lib/class.recursivetree.php';
    $tree = new RecursiveTree(PRE . '_news_cat', 'id');
    //In einen Knoten verschieben
    if (!$beforeid && !$afterid) {
        $tree->moveNode($id, $newparent);
    } elseif ($beforeid) {
        $tree->moveNodeBefore($id, $newparent, $beforeid);
    } elseif ($afterid) {
        $tree->moveNodeAfter($id, $newparent, $afterid);
    }
}
コード例 #2
0
ファイル: admin_ajax.php プロジェクト: bigfraggle/open-apexx
function nodemoved()
{
    global $apx, $set, $db;
    if (!checkToken()) {
        return;
    }
    if (!$apx->user->has_right('gallery.edit') || !$set['gallery']['subgals']) {
        return;
    }
    $id = (int) $_REQUEST['id'];
    $newparent = (int) $_REQUEST['parentid'];
    $beforeid = (int) $_REQUEST['before'];
    $afterid = (int) $_REQUEST['after'];
    if (!$id) {
        return;
    }
    require_once BASEDIR . 'lib/class.recursivetree.php';
    $tree = new RecursiveTree(PRE . '_gallery', 'id');
    $update = array();
    $nodeInfo = $tree->getNode($_REQUEST['id']);
    $currentParentId = array_pop($nodeInfo['parents']);
    //Dieser Knoten wird ein Unter-Knoten
    //Übernehme secid vom neuen Parent, password löschen
    if ($newparent) {
        //Parent hat sich geändert => Daten übernehmen
        if ($currentParentId != $newparent) {
            $rootNode = $tree->getNode($newparent, array('secid', 'password', 'restricted'));
            $update['secid'] = $rootNode['secid'];
            $update['password'] = '';
            $update['restricted'] = '';
            //Unter-Galerien des Knotens anpassen
            $childrenIds = $nodeInfo['children'];
            if ($childrenIds) {
                $db->query("\n\t\t\t\t\tUPDATE " . PRE . "_gallery\n\t\t\t\t\tSET secid='" . addslashes($update['secid']) . "', password = '', restricted=0\n\t\t\t\t\tWHERE id IN (" . implode(',', $childrenIds) . ")\n\t\t\t\t");
            }
        }
    } else {
        //Nix zu tun, der Knoten bleibt wie er ist und wird einfach ein Root-Knoten
    }
    //In einen Knoten verschieben
    if (!$beforeid && !$afterid) {
        $tree->moveNode($id, $newparent, $update);
    } elseif ($beforeid) {
        $tree->moveNodeBefore($id, $newparent, $beforeid, $update);
    } elseif ($afterid) {
        $tree->moveNodeAfter($id, $newparent, $afterid, $update);
    }
    //Gallery Updatetime
    setGalleryUpdatetime($currentParentId);
    setGalleryUpdatetime($newparent);
}