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; } }
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); } }
/** * 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; }
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; }
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; }