Пример #1
0
    // We have an existing module entry we're saving a change to.
    if ($edit_id) {
        BigTreeAutoModule::submitChange($bigtree["module"]["id"], $table, $edit_id, $item, $many_to_many, $tags);
        $admin->growl($bigtree["module"]["name"], "Saved " . $bigtree["form"]["title"] . " Draft");
        // It's a new entry, so we create a pending item.
    } else {
        $edit_id = "p" . BigTreeAutoModule::createPendingItem($bigtree["module"]["id"], $table, $item, $many_to_many, $tags);
        $admin->growl($bigtree["module"]["name"], "Created " . $bigtree["form"]["title"] . " Draft");
    }
    // We're a publisher and we want to publish
} elseif ($bigtree["access_level"] == "p" && $data_action == "publish") {
    // If we have an edit_id we're modifying something that exists.
    if ($edit_id) {
        // If the edit id starts with a "p" it's a pending entry we're publishing.
        if (substr($edit_id, 0, 1) == "p") {
            $edit_id = BigTreeAutoModule::publishPendingItem($table, substr($edit_id, 1), $item, $many_to_many, $tags);
            $admin->growl($bigtree["module"]["name"], "Updated & Published " . $bigtree["form"]["title"]);
            $did_publish = true;
            // Otherwise we're updating something that is already published
        } else {
            BigTreeAutoModule::updateItem($table, $edit_id, $item, $many_to_many, $tags);
            $admin->growl($bigtree["module"]["name"], "Updated " . $bigtree["form"]["title"]);
            $did_publish = true;
        }
        // We're creating a new published entry.
    } else {
        $edit_id = BigTreeAutoModule::createItem($table, $item, $many_to_many, $tags);
        $admin->growl($bigtree["module"]["name"], "Created " . $bigtree["form"]["title"]);
        $did_publish = true;
    }
}
Пример #2
0
    $permission_level = $admin->getAccessLevel($admin->getModule($change["module"]), $data["item"], $change["table"]);
} else {
    if ($change["item_id"]) {
        $permission_level = $admin->getPageAccessLevel($item_id);
    } else {
        $f = $admin->getPendingChange($change["id"]);
        $permission_level = $admin->getPageAccessLevel($f["changes"]["parent"]);
    }
}
// If they're not a publisher, they have no business here.
if ($permission_level != "p") {
    die("Permission denied.");
}
$change["changes"] = BigTreeAutoModule::sanitizeData($change["table"], $change["changes"]);
// This is an update to an existing entry.
if (!is_null($change["item_id"])) {
    if ($change["table"] == "bigtree_pages") {
        $page_data = $cms->getPendingPage($change["item_id"]);
        $admin->updatePage($change["item_id"], $page_data);
    } else {
        BigTreeAutoModule::updateItem($change["table"], $change["item_id"], $change["changes"], $change["mtm_changes"], $change["tags_changes"]);
    }
    // It's a new entry, let's publish it.
} else {
    if ($change["table"] == "bigtree_pages") {
        $page = $admin->createPage($change["changes"]);
        $admin->deletePendingChange($change["id"]);
    } else {
        BigTreeAutoModule::publishPendingItem($change["table"], $change["id"], $change["changes"], $change["mtm_changes"], $change["tags_changes"]);
    }
}