Inheritance: extends Gc\Core\Object
Exemple #1
0
 /**
  * Render addthis widget
  *
  * @param string $identifier Widget identifier
  * @param string $title      Title used for addthis share
  * @param string $url        Url used for addthis share
  *
  * @return string
  */
 public function __invoke($identifier, $title = '', $url = '')
 {
     if (!is_array($this->config['widgets'])) {
         return;
     }
     foreach ($this->config['widgets'] as $widget) {
         if ($identifier == $widget['identifier']) {
             $data = $widget;
             break;
         }
     }
     if (empty($data)) {
         return;
     }
     $styles = $this->addthis->getDefaultStyles();
     $document = $this->getServiceLocator()->get('CurrentDocument');
     if (!empty($document)) {
         if (empty($url)) {
             $url = $document->getUrl(true);
         }
         if (empty($title)) {
             $title = $document->getName();
         }
     }
     $options = array();
     $addthisIdentifier = 'addthis:url="' . $url . '" ';
     $addthisIdentifier .= 'addthis:title="' . $title . '"';
     if ($data['settings'] == 'custom_string') {
         $buttons = preg_replace('/<\\s*div\\s*/', '<div %1$s ', $data['custom_string']);
     } elseif (isset($styles[$data['settings']])) {
         if (!empty($data['chosen_list'])) {
             if ($data['settings'] == 'large_toolbox') {
                 $options['size'] = '32';
             } elseif ($data['settings'] == 'small_toolbox') {
                 $options['size'] = '16';
             }
             $options['type'] = $data['settings'];
             $options['services'] = $data['chosen_list'];
             $buttons = $this->customToolbox($options, $addthisIdentifier);
         } else {
             $buttons = $styles[$data['settings']]['src'];
         }
     } else {
         return;
     }
     $content = sprintf($buttons, $addthisIdentifier);
     $content .= $this->getConfig();
     return $content;
 }
Exemple #2
0
 /**
  * Save configuration
  *
  * @return mixed
  */
 public function configAction()
 {
     $this->form->prepareConfig();
     $postData = $this->getRequest()->getPost()->toArray();
     $this->form->setData($postData);
     if ($this->getRequest()->isPost()) {
         if ($this->form->isValid()) {
             $data = $this->form->getData();
             if (!empty($data['config']['username']) and !empty($data['config']['password']) and !empty($data['config']['profile_id'])) {
                 $data['config']['valide_credential'] = true;
             }
             $data['config']['valide_credential'] = false;
             $this->model->setConfig($data);
             $this->flashMessenger()->addSuccessMessage('Configuration saved');
             return $this->redirect()->toRoute('module/social/addthis');
         }
     }
     $this->flashMessenger()->addErrorMessage('Cannot saved configuration');
     $this->useFlashMessenger();
     return $this->forward()->dispatch('AddThisController', array('action' => 'index', 'isForwarded' => 'config'));
 }