Пример #1
0
        }
    }
    foreach ($fields as $key => $field) {
        if (!$old_view["fields"][$key]) {
            $keys_match = false;
        }
    }
    // Check actions
    if (count($old_view["actions"]) != count($actions)) {
        $keys_match = false;
    }
    // Check preview field
    if (!$old_view["preview_url"] && $preview_url || $old_view["preview_url"] && !$preview_url) {
        $keys_match = false;
    }
    if (!$keys_match || $old_view["type"] == "searchable" && $type != "searchable" || $type == "searchable" && $old_view["type"] != "searchable") {
        foreach ($fields as $key => $field) {
            unset($fields[$key]["width"]);
        }
    }
    // Let's update the view and clear its cache
    $admin->updateModuleView(end($bigtree["path"]), $title, $description, $table, $type, $options, $fields, $actions, $related_form, $preview_url);
    BigTreeAutoModule::clearCache(end($bigtree["path"]));
    $action = $admin->getModuleActionForView(end($bigtree["path"]));
    $admin->growl("Developer", "Updated View");
    if ($_POST["return_page"]) {
        BigTree::redirect($_POST["return_page"]);
    } else {
        BigTree::redirect(DEVELOPER_ROOT . "modules/edit/" . $action["module"] . "/");
    }
}
Пример #2
0
 function updateModule($id, $name, $group, $class, $permissions, $icon)
 {
     // If this has a permissions table, wipe that table's view cache
     if ($permissions["table"]) {
         BigTreeAutoModule::clearCache($permissions["table"]);
     }
     $id = sqlescape($id);
     $name = sqlescape(BigTree::safeEncode($name));
     $group = $group ? "'" . sqlescape($group) . "'" : "NULL";
     $class = sqlescape($class);
     $permissions = BigTree::json($permissions, true);
     $icon = sqlescape($icon);
     sqlquery("UPDATE bigtree_modules SET name = '{$name}', `group` = {$group}, class = '{$class}', icon = '{$icon}', `gbp` = '{$permissions}' WHERE id = '{$id}'");
     $this->track("bigtree_modules", $id, "updated");
     // Remove cached class list.
     unlink(SERVER_ROOT . "cache/bigtree-module-class-list.json");
 }
Пример #3
0
<?php

// Grab View Data
$view = BigTreeAutoModule::getView($_POST["view"]);
$module = $admin->getModule(BigTreeAutoModule::getModuleForView($view));
$access_level = $admin->getAccessLevel($module);
$table = $view["table"];
if ($access_level == "p") {
    parse_str($_POST["sort"]);
    foreach ($row as $position => $id) {
        if (is_numeric($id)) {
            sqlquery("UPDATE `{$table}` SET position = '" . (count($row) - $position) . "' WHERE id = '" . sqlescape($id) . "'");
            BigTreeAutoModule::recacheItem($id, $table);
        } else {
            BigTreeAutoModule::updatePendingItemField(substr($id, 1), "position", count($row) - $position);
            BigTreeAutoModule::recacheItem(substr($id, 1), $table, true);
        }
    }
}
// Find any view that uses this table for grouping and wipe its view cache
$dependant = BigTreeAutoModule::getDependantViews($table);
foreach ($dependant as $v) {
    BigTreeAutoModule::clearCache($v["table"]);
}