コード例 #1
0
/**
 * Execute admin callback function
 */
function widget_callback_admin($widget, $sidebar)
{
    $widget = get_widget_details($widget, $sidebar);
    $adminCallback = $widget['callback_admin'];
    if (!$adminCallback) {
        $adminCallback = $widget['options']['callback_admin'];
    }
    if ($adminCallback) {
        if (function_exists($adminCallback)) {
            return $adminCallback($widget);
        }
    }
}
コード例 #2
0
ファイル: widgets.php プロジェクト: yukisky/clipbucket
            assign('sidebar', has_sidebar($sideBarId));
            assign('widget', get_widget_details(post('fetch-widget'), $sideBarId));
            $template = fetch('/blocks/widget-form.html', LAYOUT);
            echo json_encode(array('status' => 'success', 'data' => $template));
        } else {
            echo json_encode(array('status' => 'success', 'data' => 'sidebar-saved'));
        }
        break;
    case "update-widget":
        $sideBarId = mysql_clean(post('sidebar_id'));
        $widgetId = mysql_clean(post('widget_id'));
        if (!$sideBarId || !$widgetId) {
            exit(json_encode(array('error' => 'yes', 'data' => 'invalid widget')));
        }
        $themeConfigs = config($Cbucket->template . '-options');
        $themeConfigs = json_decode($themeConfigs, true);
        $themeWidgets = $themeConfigs['widgets'];
        $configs = post('configs');
        $themeWidgets[$sideBarId][$widgetId]['configs'] = $configs;
        $themeConfigs['widgets'] = $themeWidgets;
        $themeConfigs = json_encode($themeConfigs);
        config($Cbucket->template . '-options', $themeConfigs);
        echo json_encode(array('status' => 'success', 'data' => array('a' => 'b')));
        break;
    case 'fetch-widget-form':
        $widgetId = post('widget_id');
        $sideBarId = post('sidebar_id');
        assign('widget', get_widget_details($widgetId, $sideBarId));
        assign('sidebar', has_sidebar($sideBarId));
        echo Fetch(LAYOUT . '/blocks/widget-form.html');
}