Beispiel #1
0
 public static function verifyClass($class, XenForo_DataWriter $dw, $fieldName = false)
 {
     $widgetRenderer = WidgetFramework_Core::getRenderer($class);
     if (empty($widgetRenderer)) {
         $dw->error(new XenForo_Phrase('wf_invalid_widget_renderer_x', array('renderer' => $class)), $fieldName);
     } else {
         return true;
     }
 }
Beispiel #2
0
 public function renderHtml()
 {
     $widget =& $this->_params['widget'];
     if (!empty($widget['class'])) {
         $renderer = WidgetFramework_Core::getRenderer($widget['class'], false);
     } else {
         $renderer = WidgetFramework_Core::getRenderer('WidgetFramework_WidgetRenderer_None', false);
     }
     if ($renderer) {
         $renderer->renderOptions($this->_renderer, $this->_params);
     }
 }
Beispiel #3
0
 /**
  * Save input data either to portal table or WF table depending on whether it is content or sidebar targeted.
  * @param $widgetId
  * @param $dwInput
  * @param $options
  * @param $input
  * @return bool
  */
 public function saveWidget($widgetId, $dwInput, $options, $input)
 {
     $flagGoBackToEdit = false;
     $dw = XenForo_DataWriter::create('WidgetFramework_DataWriter_Widget');
     if ($widgetId) {
         $dw->setExistingData($widgetId);
     }
     $dw->bulkSet($dwInput);
     if ($options == $dwInput['class']) {
         // process options now
         $renderer = WidgetFramework_Core::getRenderer($dwInput['class']);
         $widgetOptions = $renderer->parseOptionsInput($input, $dw->getMergedData());
         $dw->set('options', $widgetOptions);
     } else {
         // skip options, mark to redirect later
         $flagGoBackToEdit = true;
     }
     $dw->save();
     return $flagGoBackToEdit;
 }
Beispiel #4
0
 protected function _getRenderersList()
 {
     $renderers = WidgetFramework_Core::getRenderers();
     $options = array();
     foreach ($renderers as $renderer) {
         $options[] = array('value' => $renderer, 'label' => WidgetFramework_Core::getRenderer($renderer)->getName());
     }
     usort($options, create_function('$a, $b', 'return $a["label"] > $b["label"];'));
     return $options;
 }
 protected function _getRenderersList()
 {
     $renderers = WidgetFramework_Core::getRenderers();
     $options = array();
     foreach ($renderers as $renderer) {
         $rendererObj = WidgetFramework_Core::getRenderer($renderer);
         $options[] = array('value' => $renderer, 'label' => $rendererObj->getName(), 'is_hidden' => $rendererObj->isHidden());
     }
     usort($options, array('WidgetFramework_Helper_Sort', 'rendererLabels'));
     return $options;
 }
Beispiel #6
0
 public function renderHtml()
 {
     $renderer = WidgetFramework_Core::getRenderer($this->_params['class']);
     $renderer->renderOptions($this->_renderer, $this->_params);
 }
 public function prepareWidget(array &$widget)
 {
     if (empty($widget)) {
         return $widget;
     }
     $renderer = WidgetFramework_Core::getRenderer($widget['class'], false);
     if ($renderer) {
         $widget['renderer'] =& $renderer;
         $widget['rendererName'] = $renderer->getName();
         $configuration = $renderer->getConfiguration();
         $options =& $configuration['options'];
         foreach ($options as $optionKey => $optionType) {
             if (!isset($widget['options'][$optionKey])) {
                 $widget['options'][$optionKey] = '';
             }
         }
     } else {
         $widget['rendererName'] = new XenForo_Phrase('wf_unknown_renderer', array('class' => $widget['class']));
         $widget['rendererNotFound'] = true;
         $widget['active'] = false;
     }
     return $widget;
 }