Ejemplo n.º 1
0
    $_SESSION["bigtree_admin"]["post_max_hit"] = true;
    BigTree::redirect($_SERVER["HTTP_REFERER"]);
}
$admin->requireLevel(1);
$item = $admin->getSetting($_POST["id"]);
if ($item["system"] || $item["locked"] && $admin->Level < 2) {
    $admin->growl("Settings", "Access Denied", "error");
} else {
    $bigtree["crops"] = array();
    $bigtree["errors"] = array();
    $bigtree["post_data"] = $_POST;
    $bigtree["file_data"] = BigTree::parsedFilesArray();
    // Pretend like we're a normal field
    $field = array("type" => $item["type"], "title" => $item["title"], "key" => "value", "options" => json_decode($item["options"], true), "ignore" => false, "input" => $bigtree["post_data"]["value"], "file_input" => $bigtree["file_data"]["value"]);
    // Process the input
    $output = BigTreeAdmin::processField($field);
    if (!is_null($output)) {
        $admin->updateSettingValue($_POST["id"], $output);
    }
    $admin->growl("Settings", "Updated Setting");
}
$_SESSION["bigtree_admin"]["form_data"] = array("page" => true, "return_link" => ADMIN_ROOT . "settings/", "edit_link" => ADMIN_ROOT . "settings/edit/" . $_POST["id"] . "/", "errors" => $bigtree["errors"]);
// Track resource allocation
$admin->allocateResources("settings", $_POST["id"]);
if (count($bigtree["crops"])) {
    $_SESSION["bigtree_admin"]["form_data"]["crop_key"] = $cms->cacheUnique("org.bigtreecms.crops", $bigtree["crops"]);
    BigTree::redirect(ADMIN_ROOT . "settings/crop/");
} elseif (count($bigtree["errors"])) {
    BigTree::redirect(ADMIN_ROOT . "settings/error/");
}
BigTree::redirect(ADMIN_ROOT . "settings/");