Beispiel #1
0
 public static function doRegister(ThemeWidget $themeWidget)
 {
     $widgetClass = WidgetsFacade::widgetClass($themeWidget->name);
     if (!empty($widgetClass) && class_exists($widgetClass)) {
         $params = empty($themeWidget) ? [] : $themeWidget->params;
         $widget = new $widgetClass($params);
         $widget->setThemeWidget($themeWidget);
         $widget->register();
     }
 }
Beispiel #2
0
 public function update(Request $request)
 {
     $themeWidget = ThemeWidget::findOrFail($request->input('id'));
     $widgetClass = WidgetsFacade::widgetClass($themeWidget->name);
     if (empty($widgetClass) || !class_exists($widgetClass)) {
         abort(404);
     }
     $params = empty($themeWidget) ? [] : $themeWidget->params;
     $widget = new $widgetClass($params);
     $widget->setThemeWidget($themeWidget);
     $redirect = redirect(adminUrl('widgets/{id}/edit', ['id' => $themeWidget->id]));
     $htmlInputs = $this->htmlInputs($request);
     $emptyHtmlInputs = empty($htmlInputs);
     $data = [];
     foreach ($widget->fields() as $field) {
         $value = $request->input($field, '');
         if (!$emptyHtmlInputs && array_key_exists($field, $htmlInputs)) {
             $value = clean($value, $htmlInputs[$field]);
         }
         $data[$field] = $value;
     }
     $validator = Validator::make($data, $widget->validationRules());
     if ($validator->fails()) {
         return $redirect->withInput()->withErrors($validator);
     }
     $translatable = $widget->isTranslatable();
     $localizedData = [];
     if ($translatable) {
         $this->validateMultipleLocaleData($request, $widget->localizedFields(), $widget->localizedValidationRules(), $localizedData, $successes, $fails, $old);
         if (count($successes) <= 0 && count($fails) > 0) {
             return $redirect->withInput()->withErrors($fails[0]);
         }
     }
     $save = $widget->update($data, $localizedData);
     if ($save !== true) {
         return $redirect->withInput()->withErrors($save);
     }
     return $redirect;
 }
Beispiel #3
0
 protected function registerWidgets($is_auth = false)
 {
     WidgetsFacade::register();
 }
Beispiel #4
0
function placeholder($name, $before = '', $after = '', $default = '')
{
    return WidgetsFacade::display($name, $before, $after, $default);
}