/** * Prepares the form * @param \ride\library\form\FormBuilder $builder * @param array $options * @return null */ public function prepareForm(FormBuilder $builder, array $options) { $translator = $options['translator']; $socialMedia = $this->config->get('social'); $builder->addRow('socialMediaName', 'select', array('label' => $translator->translate('label.social.media.name'), 'options' => array_combine(array_keys($socialMedia), array_keys($socialMedia)), 'widget' => 'select', 'required' => array())); $builder->addRow('accountName', 'string', array('label' => $translator->translate('label.social.media.account.name'), 'required' => array())); }
/** * Disables this cache * @return null */ public function disable() { $io = $this->config->get('cms.node.io.default', 'ini'); if ($io != 'cache') { return; } $io = $this->config->get('cms.node.io.cache'); $this->config->set('cms.node.io.default', $io); $this->config->set('cms.node.io.cache', null); }
/** * Render the social media links. * @param Config $config */ public function indexAction(Config $config) { $socialMedia = $config->get('social'); $values = unserialize($this->properties->getWidgetProperty('social.widgets')); if (!$values) { return; } $data = array('socialMedia' => array(), 'title' => $this->properties->getLocalizedWidgetProperty($this->locale, self::PROPERTY_TITLE)); foreach ($values as $value) { if (isset($value['socialMediaName']) && isset($socialMedia[$value['socialMediaName']])) { $data['socialMedia'][] = array('name' => $value['socialMediaName'], 'url' => $socialMedia[$value['socialMediaName']]['profileUrl'] . $value['accountName']); } } $this->setTemplateView($this->getTemplate(static::TEMPLATE_NAMESPACE . '/social.media.links'), $data); }