Esempio n. 1
0
 public function run($binded_id = false)
 {
     if (!$this->request->isAjax()) {
         cmsCore::error404();
     }
     if (!$binded_id) {
         cmsCore::error404();
     }
     $template = cmsTemplate::getInstance();
     $widgets_model = cmsCore::getModel('widgets');
     $widget = $widgets_model->getWidgetBinding($binded_id);
     cmsCore::loadWidgetLanguage($widget['name'], $widget['controller']);
     $form = cmsCore::getWidgetOptionsForm($widget['name'], $widget['controller'], $widget['options']);
     return $template->render('widgets_settings', array('form' => $form, 'widget' => $widget, 'errors' => false));
 }
Esempio n. 2
0
 public function __construct($widget)
 {
     $this->name = $widget['name'];
     $this->controller = $widget['controller'];
     $form = cmsCore::getWidgetOptionsForm($this->name, $this->controller, $widget['options']);
     $data = $form->parse(new cmsRequest($widget), true);
     foreach ($data as $field => $value) {
         $this->{$field} = $value;
     }
     $this->css_class = $widget['class'];
     $this->css_class_title = empty($widget['class_title']) ? '' : $widget['class_title'];
     $this->css_class_wrap = empty($widget['class_wrap']) ? '' : $widget['class_wrap'];
     $this->links = $widget['links'];
     $this->position = $widget['position'];
     $this->template = $this->name;
     if (!empty($widget['tpl_wrap'])) {
         $this->setWrapper($widget['tpl_wrap']);
     }
     if (!empty($widget['tpl_body'])) {
         $this->setTemplate($widget['tpl_body']);
     }
 }
Esempio n. 3
0
 public function run()
 {
     if (!$this->request->isAjax()) {
         cmsCore::error404();
     }
     $widget_id = $this->request->get('widget_id', 0);
     $page_id = $this->request->get('page_id', 0);
     $position = $this->request->get('position', '');
     $template = $this->request->get('template', '');
     $tpls = cmsCore::getTemplates();
     if (!$template || !in_array($template, $tpls)) {
         $template = cmsConfig::get('template');
     }
     $widgets_model = cmsCore::getModel('widgets');
     $widget = $widgets_model->getWidget($widget_id);
     $binded_id = $widgets_model->addWidgetBinding($widget, $page_id, $position, $template);
     $bind_widget = $widgets_model->getWidgetBinding($binded_id);
     cmsCore::loadWidgetLanguage($bind_widget['name'], $bind_widget['controller']);
     $form = cmsCore::getWidgetOptionsForm($bind_widget['name'], $bind_widget['controller'], false, $bind_widget['template']);
     $data = $form->parse(new cmsRequest($bind_widget));
     $widgets_model->updateWidgetBinding($binded_id, $data);
     $this->cms_template->renderJSON(array('error' => !(bool) $binded_id, 'id' => $binded_id));
 }
Esempio n. 4
0
 public function run()
 {
     if (!$this->request->isAjax()) {
         cmsCore::error404();
     }
     if (!$this->request->has('id')) {
         cmsCore::error404();
     }
     $template = cmsTemplate::getInstance();
     $widgets_model = cmsCore::getModel('widgets');
     $widget_id = $this->request->get('id');
     $widget = $widgets_model->getWidgetBinding($widget_id);
     cmsCore::loadWidgetLanguage($widget['name'], $widget['controller']);
     $form = cmsCore::getWidgetOptionsForm($widget['name'], $widget['controller'], false);
     $widget = $form->parse($this->request, true);
     $errors = $form->validate($this, $widget);
     if (!$errors) {
         $widgets_model->updateWidgetBinding($widget_id, $widget);
         $template->renderJSON(array('errors' => false, 'callback' => 'widgetUpdated'));
     }
     if ($errors) {
         $template->renderJSON(array('errors' => $errors));
     }
 }