/** * @test */ public function findByUidsReturnsCorrectCountForString() { $uidArray = array(); $uidArray[]=$this->testDatabase>createRecord('tx_powermail_domain_model_forms',array()); $uidArray[]=$this->testDatabase>createRecord('tx_powermail_domain_model_forms',array()); $uidArray[]=$this->testDatabase>createRecord('tx_powermail_domain_model_forms',array()); $uidArray[]=$this->testDatabase>createRecord('tx_powermail_domain_model_forms',array()); $uidArray[]=$this->testDatabase>createRecord('tx_powermail_domain_model_forms',array()); $this->assertSame(5,$this->fixture->findByUids(implode(',',$uidArray))->count()); }
/** * Validation of given Params * * @param $params * @return bool */ public function isValid($params) { $gp = t3lib_div::_GP('tx_powermail_pi1'); $formUid = $gp['form']; $form = $this->formsRepository->findByUid($formUid); if (!method_exists($form, 'getPages')) { return $this->isValid; } foreach ($form->getPages() as $page) { // every page in current form foreach ($page->getFields() as $field) { // every field in current page // if not a mandatory field if (!$field->getMandatory()) { continue; } // set error if (is_array($params[$field->getUid()])) { $empty = 1; foreach ($params[$field->getUid()] as $value) { if (strlen($value)) { $empty = 0; break; } } if ($empty) { $this->addError('mandatory', $field->getUid()); $this->isValid = false; } } else { if (!strlen($params[$field->getUid()])) { $this->addError('mandatory', $field->getUid()); $this->isValid = false; } } } } return $this->isValid; }
/** * Returns the pages * * @return Tx_Extbase_Persistence_ObjectStorage<Tx_Powermail_Domain_Model_Pages> $pages */ public function getPages() { // if elementbrowser instead of IRRE (sorting workarround) $confArr = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['powermail']); if ($confArr['replaceIrreWithElementBrowser']) { $formSorting = t3lib_div::trimExplode(',', $this->formsRepository->getPagesValue($this->uid), 1); $formSorting = array_flip($formSorting); $pageArray = array(); foreach ($this->pages as $page) { $pageArray[$formSorting[$page->getUid()]] = $page; } ksort($pageArray); return $pageArray; } return $this->pages; }
/** * action show form for creating new mails * * @return void */ public function formAction() { if (!isset($this->settings['main']['form']) || !$this->settings['main']['form']) { return; } // get forms $forms = $this->formsRepository->findByUids($this->settings['main']['form']); $this->signalSlotDispatcher->dispatch(__CLASS__, __FUNCTION__ . 'BeforeRenderView', array($forms, $this)); $this->view->assign('forms', $forms); $this->view->assign('messageClass', $this->messageClass); $this->view->assign('action', ($this->settings['main']['confirmation'] ? 'confirmation' : 'create')); // open session if (method_exists($forms->getFirst(), 'getUid')) { Tx_Powermail_Utility_Div::saveFormStartInSession($forms->getFirst()->getUid()); } }
public function checkEvent($params, $obj) { $this->initializeAction(); $frameworkConfiguration = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK, 'woehrlSeminare', 'Eventlist'); //~ t3lib_utility_Debug::debug($params, 'addInformation: params: '); $gp = t3lib_div::_GP('tx_powermail_pi1'); $formUid = $gp['form']; $form = $this->formsRepository->findByUid($formUid); if (!method_exists($form, 'getPages')) { return $this->isValid = FALSE; } foreach ($form->getPages() as $page) { // every page in current form foreach ($page->getFields() as $field) { // every field in current page switch ($field->getMarker()) { case 'action': $action = $params[$field->getUid()]; break; case 'editcode': $editcode = $params[$field->getUid()]; break; case 'event': $formIdEvent = $field->getUid(); $eventId = $params[$formIdEvent]; break; case 'eventtitle': $formIdEventtitle = $field->getUid(); break; } } } //~ t3lib_utility_Debug::debug($editcode, 'checkEvent: editcode... '); switch ($action) { case 'delete': //~ $subscriber = $this->subscriberRepository->findAllByFeuser($frameworkConfiguration['persistence']['storagePid'])->getFirst(); $subscriber = $this->subscriberRepository->findAllByEditcode($editcode, $frameworkConfiguration['persistence']['storagePid'])->getFirst(); if (empty($subscriber)) { t3lib_utility_Debug::debug($subscriber, 'checkEvent: NO subscriber found... '); $obj->isValid = FALSE; // we have to use the language labels of powermail :-( // --> for validationerror_validation: $obj->setError('validation', $idEventTitle); break; } //~ t3lib_utility_Debug::debug($subscriber, 'saveSubscription: delete... '); $event = $this->eventRepository->findByUid($eventId); if (empty($event)) { $obj->isValid = FALSE; // we have to use the language labels of powermail :-( // --> for validationerror_validation: $obj->setError('validation', $idEventTitle); break; } $event->removeSubscriber($subscriber); break; case 'new': if ($eventId > 0) { $event = $this->eventRepository->findByUid($eventId); // limit reached already --> overbooked if (count($event->getSubscribers()) >= $event->getMaxSubscriber()) { $obj->isValid = FALSE; // we have to use the language labels of powermail :-( // --> for validationerror_validation: $obj->setError('validation', $idEventTitle); } } break; default: return; } return; //~ t3lib_utility_Debug::debug($eventId , 'checkEvent: eventId'); if ($eventId > 0) { $event = $this->eventRepository->findByUid($eventId); // limit reached already --> overbooked if (count($event->getSubscribers()) >= $event->getMaxSubscriber()) { $obj->isValid = FALSE; // we have to use the language labels of powermail :-( // --> for validationerror_validation: $obj->setError('validation', $idEventTitle); } } return; }
/** * Checks if given form has a captcha */ protected function formHasCaptcha() { $gp = t3lib_div::_GP('tx_powermail_pi1'); $formUid = $gp['form']; $form = $this->formsRepository->hasCaptcha($formUid); return count($form); }