示例#1
0
     if (!current_user_can('edit_theme_options')) {
         die('-1');
     }
     unset($_POST['savewidgets'], $_POST['action'], ${$_POST}['gantry_action']);
     if (!isset($_POST['override_id']) || !isset($_POST['override_name'])) {
         return 'error';
     }
     $override_id = $_POST['override_id'];
     $override_name = $_POST['override_name'];
     if ($override_id == 0) {
         $new_override_id = count($override_catalog) > 0 ? max(array_keys($override_catalog)) + 1 : 1;
         $override_id = $new_override_id;
     }
     $override_catalog = gantry_get_override_catalog($gantry->templateName);
     $override_catalog[$override_id] = $override_name;
     gantry_udpate_override_catalog($override_catalog);
     echo "success";
     break;
 case 'widgets-order':
     check_ajax_referer('save-sidebar-widgets', 'savewidgets');
     if (!current_user_can('edit_theme_options')) {
         die('-1');
     }
     unset($_POST['savewidgets'], $_POST['action'], ${$_POST}['gantry_action']);
     if (!isset($_POST['override_id'])) {
         return "error - no override id";
     }
     $override_id = $_POST['override_id'];
     // save widgets order for all sidebars
     if (is_array($_POST['sidebars'])) {
         $sidebars = array();
示例#2
0
function gantry_delete_override()
{
    global $gantry;
    // enable theme settings for lower level users, but with limitations
    if (!current_user_can('switch_themes')) {
        wp_die(_g('You are not authorised to perform this operation.', $gantry->get('template_full_name', 'Gantry Template') . _g('Settings')));
    }
    // clean the cache
    gantry_import('core.utilities.gantrycache');
    $cache = GantryCache::getInstance();
    $cache->clear('gantry', 'gantry');
    $form_option_name = $gantry->templateName . '-template-options';
    if (!array_key_exists('override_id', $_GET)) {
        wp_redirect(admin_url('admin.php?page=gantry-theme-settings'));
        return;
    }
    // get the overrides catalog
    $override_id = $_GET['override_id'];
    $override_catalog = gantry_get_override_catalog($gantry->templateName);
    if (!array_key_exists($override_id, $override_catalog)) {
        gantry_set_admin_message('gantry-theme-settings', _g("Unable to find override to delete!"));
        wp_redirect(admin_url('admin.php?page=gantry-theme-settings'));
        return;
    }
    $override_name = $override_catalog[$override_id];
    unset($override_catalog[$override_id]);
    gantry_udpate_override_catalog($override_catalog);
    // get the base override name
    $override_option_name = $gantry->templateName . '-template-options-override-' . $override_id;
    delete_option($override_option_name);
    $override_option_name = $gantry->templateName . '-template-options-override-assignments-' . $override_id;
    delete_option($override_option_name);
    $override_option_name = $gantry->templateName . '-template-options-override-sidebar-' . $override_id;
    delete_option($override_option_name);
    $override_option_name = $gantry->templateName . '-template-options-override-widgets-' . $override_id;
    delete_option($override_option_name);
    gantry_set_admin_message('gantry-theme-settings', sprintf(_g("%s has been removed."), $override_name));
    $redirect_url = admin_url('admin.php?page=gantry-theme-settings');
    if (isset($_GET['from']) && $_GET['from'] == 'widgets') {
        $redirect_url = admin_url('widgets.php');
    }
    wp_redirect($redirect_url);
}