/**
  * Application action display page content
  * @param Contentinum\Options\PageOptions $pageOptions Contentinum\Options\PageOptions
  * @param string $defaultRole
  * @param Zend\Permissions\Acl\Acl $acl Zend\Permissions\Acl\Acl
  */
 public function application($pageOptions, $role = null, $acl = null)
 {
     $viewHelperManager = $this->getServiceLocator()->get('viewHelperManager');
     $dateFormat = $viewHelperManager->get('dateFormat');
     $dateFormat->setTimezone("Europa/Berlin")->setLocale("de_DE");
     $variables = array();
     $variables['host'] = $pageOptions->getHost();
     $variables['entries'] = $this->worker->fetchContent($pageOptions->getParams());
     $variables['parameter'] = $pageOptions->getParams();
     return $this->buildView($variables, $pageOptions->template);
 }
 /**
  * Application action display page content
  * @param Contentinum\Options\PageOptions $pageOptions Contentinum\Options\PageOptions
  * @param string $defaultRole
  * @param Zend\Permissions\Acl\Acl $acl Zend\Permissions\Acl\Acl
  */
 public function application($pageOptions, $role = null, $acl = null)
 {
     $viewHelperManager = $this->getServiceLocator()->get('viewHelperManager');
     $dateFormat = $viewHelperManager->get('dateFormat');
     $dateFormat->setTimezone("Europa/Berlin")->setLocale("de_DE");
     $modul = $this->getServiceLocator()->get('contentinum_modul');
     $modul->setPlugins($this->getServiceLocator()->get('contentinum_plugin_keys'));
     $modul->setParams($pageOptions->getParams());
     $modul->setIdentity($this->getIdentity());
     $modul->setAcl($acl);
     $modul->setDefaultRole($role);
     $modul->setUrl($pageOptions->getUrl());
     $modul->setXmlHttpRequest('html');
     $variables = array();
     $variables['pluginstyles'] = $this->getServiceLocator()->get('contentinum_template_plugins');
     $variables['pluginViewHelper'] = $this->getServiceLocator()->get('contentinum_plugin_views');
     $variables['plugins'] = $this->worker->fetchContent($pageOptions->getParams(), $this->params()->fromPost(), $modul);
     $variables['parameter'] = $pageOptions->getParams();
     $variables['xmlHttpRequest'] = 'html';
     $variables['modul'] = $this->worker->getPluginname();
     $variables['url'] = $this->worker->getOrginurl();
     return $this->buildView($variables, $pageOptions->template);
 }
 /**
  * @todo translation
  * 
  * Process action processed a request form
  * @param Contentinum\Options\PageOptions $pageOptions Contentinum\Options\PageOptions
  * @param string $role
  * @param Zend\Permissions\Acl\Acl $acl Zend\Permissions\Acl\Acl
  * @return \Zend\View\Model\ViewModel
  */
 public function process($pageOptions, $role = null, $acl = null)
 {
     $viewHelperManager = $this->getServiceLocator()->get('viewHelperManager');
     $dateFormat = $viewHelperManager->get('dateFormat');
     $dateFormat->setTimezone("Europa/Berlin")->setLocale("de_DE");
     $variables = array();
     $variables['host'] = $pageOptions->getHost();
     $variables['protocol'] = $pageOptions->getProtocol();
     $variables['xmlHttpRequest'] = $this->getXmlHttpRequest();
     $entry = $this->worker->fetchContent($pageOptions->getParams());
     $formFactory = $this->getServiceLocator()->get('recommendation_forms');
     $datas = $this->getRequest()->getPost();
     $form = $formFactory->getForm();
     $form->setInputFilter($form->getInputFilter());
     $form->setData($datas);
     $jsonVar = array();
     if ($form->isValid()) {
         $configuration = $this->getServiceLocator()->get('contentinum_customer');
         /**
          * @var \Contentinum\Model\Sendmail $mail
          */
         $mail = $this->getServiceLocator()->get('contentinum_sendmail');
         $mail->setFormDatas($form->getData());
         $mail->setConfigure($configuration->default->support_mail);
         $mail->sendRecommendation($datas, $entry, $variables);
         $variables['success'] = 'success';
         $jsonVar['success'] = 'Ihre Empfehlung wurde erfolgreich versandt.';
     } else {
         $variables['error'] = array('fields' => $form->getMessages());
         $jsonVar['error'] = array('fields' => $form->getMessages());
     }
     if ($this->getXmlHttpRequest()) {
         echo json_encode($jsonVar);
         exit;
     }
     return $this->buildView($variables, $pageOptions->template);
 }
 /**
  *
  * @param ControllerManager $sl
  * @param Contentinum\Options\PageOptions $pageOptions
  * @param ContentinumComponents\Mapper\Worker $worker
  */
 protected function formFactory($sl, $pageOptions, $worker)
 {
     if (false !== ($formName = $pageOptions->getApp('form'))) {
         if (false !== ($targetEntities = $pageOptions->getApp('targetentities'))) {
             if (is_array($targetEntities) && !empty($targetEntities)) {
                 foreach ($targetEntities as $key => $tEntity) {
                     $worker->addTargetEntities($key, $tEntity);
                 }
             }
         }
         $formFactory = new $formName($worker);
         $decorators = $sl->get($pageOptions->getApp('formdecorators'));
         $decorators = $decorators->default->toArray();
         if (false != ($formAttribs = $pageOptions->getApp('formattributes'))) {
             $decorators['deco-form']['form-attributtes'] = array_merge($decorators['deco-form']['form-attributtes'], $formAttribs);
         }
         $formFactory->setDecorators($decorators);
         $formFactory->setServiceLocator($sl);
         return $formFactory;
     } else {
         return false;
     }
 }