/**
  * Function will be called before every other action
  *
  * @return void
  */
 public function initializeAction()
 {
     $this->setPage((int) \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('id'));
     $this->setTsConfig();
     $this->extConf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['moox_news']);
     if (!empty($this->extConf['forceYearFilter'])) {
         $this->setForceYearFilter(1);
     }
     $this->setMailerActive(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('moox_mailer'));
     $this->pageRepository = $this->objectManager->get('TYPO3\\CMS\\Frontend\\Page\\PageRepository');
     $this->backendSession = $this->objectManager->get('DCNGmbH\\MooxNews\\Service\\BackendSessionService');
     parent::initializeAction();
 }
Exemplo n.º 2
0
 /**
  * Set up framework
  *
  * @return void
  */
 public function setUp()
 {
     $this->fixture = new Tx_MooxNews_Controller_NewsController();
     $this->newsRepository = $this->getMock('Tx_MooxNews_Domain_Repository_NewsRepository', array(), array(), '', FALSE);
     $this->fixture->injectNewsRepository($this->newsRepository);
 }
Exemplo n.º 3
0
 /**
  * get filter code
  *
  * @param string $filter
  * @param array $dependDemand	
  * @param string $settings
  * @return void
  */
 public function fetchFilterAction($filter = "", array $dependDemand = NULL, $settings = "")
 {
     $this->isAjaxRequest = true;
     if ($filter != "" && $settings != "") {
         $dependFields = array();
         if (count($dependDemand)) {
             foreach ($dependDemand as $dependField => $dependFieldValue) {
                 $dependFields[\TYPO3\CMS\Core\Utility\GeneralUtility::camelCaseToLowerCaseUnderscored($dependField)] = $dependFieldValue;
             }
         }
         $settings = json_decode($settings, true);
         if (!is_array($this->settings)) {
             $this->settings = array();
         }
         $this->settings = array_merge($this->settings, $settings);
         $demand = \Tx_MooxNews_Controller_NewsController::createDemandObjectFromSettings($this->settings);
         $fieldname = \TYPO3\CMS\Core\Utility\GeneralUtility::camelCaseToLowerCaseUnderscored($filter);
         $field = $GLOBALS['TCA']['tx_mooxnews_domain_model_news']['columns'][$fieldname];
         $items = array();
         if ($field['config']['type'] == 'select') {
             if ($field['config']['foreign_table'] != "") {
                 $itemsFromDb = $this->newsRepository->findExtendedFilterItems($fieldname, $demand->getStoragePage(), $field['config']['foreign_table'], $field['config']['foreign_table_where'], $dependFields);
                 foreach ($itemsFromDb as $item) {
                     $items[$item['uid']] = $item['title'];
                 }
             }
         } else {
             $valuesFromDb = $this->newsRepository->findExtendedFilterUniqueValues($fieldname, $demand->getStoragePage(), $dependFields);
         }
         if ($field['config']['type'] == 'select') {
             if (count($items)) {
                 if (!isset($items['all'])) {
                     if ($field['addToMooxNewsFrontendFilter']['selectAllLabel'] != "") {
                         $selectAllLabel = \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate($field['addToMooxNewsFrontendFilter']['selectAllLabel'], $field['extkey']);
                     } else {
                         $selectAllLabel = "Alle";
                     }
                     $itemsTmp = $items;
                     $items = array();
                     $items["all"] = $selectAllLabel;
                     foreach ($itemsTmp as $key => $value) {
                         $items[$key] = $value;
                     }
                     unset($itemsTmp);
                 }
             }
             $this->view->assign('options', $items);
         } else {
             if ($field['addToMooxNewsFrontendFilter']['selectAllLabel'] != "") {
                 $values['all'] = \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate($field['addToMooxNewsFrontendFilter']['selectAllLabel'], $field['extkey']);
             } else {
                 $values['all'] = "Alle";
             }
             if (count($valuesFromDb)) {
                 $valueCnt = 0;
                 foreach ($valuesFromDb as $value) {
                     if ($value == "empty") {
                         if ($field['addToMooxNewsFrontendFilter']['selectEmptyLabel'] != "") {
                             $valueLabel = \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate($field['addToMooxNewsFrontendFilter']['selectEmptyLabel'], $field['extkey']);
                             $values[$value] = $valueLabel;
                         } else {
                             $valueLabel = "Ohne Wert";
                         }
                     } else {
                         $values[$value] = $value;
                         $valueCnt++;
                     }
                 }
                 $this->view->assign('options', $values);
             }
         }
     } else {
         exit("not allowed");
     }
 }