/**
  * @return array
  */
 public function getItems()
 {
     $items = array();
     if ($this->parentForm instanceof form_persistentdocument_form) {
         foreach ($this->parentForm->getRecipientGroupArray() as $recipientGroup) {
             $items[] = new list_Item($recipientGroup->getLabel(), $recipientGroup->getId());
         }
     }
     return $items;
 }
コード例 #2
0
 /**
  * @return form_FormService
  */
 public static function getInstance()
 {
     if (self::$instance === null) {
         self::$instance = self::getServiceClassInstance(get_class());
     }
     return self::$instance;
 }
コード例 #3
0
 /**
  * Entry point of the patch execution.
  */
 public function execute()
 {
     // Update forms.
     $this->executeSQLQuery("create table m_form_doc_baseform  select * from m_form_doc_form");
     $this->executeSQLQuery("create table m_form_doc_baseform_i18n  select * from m_form_doc_form_i18n");
     $this->executeSQLQuery("RENAME TABLE `m_form_doc_form` TO `m_form_doc_form_todelete`;");
     $this->executeSQLQuery("RENAME TABLE `m_form_doc_form_i18n` TO `m_form_doc_form_i18n_todelete`;");
     $newPath = f_util_FileUtils::buildWebeditPath('modules/form/persistentdocument/mail.xml');
     $newModel = generator_PersistentModel::loadModelFromString(f_util_FileUtils::read($newPath), 'form', 'mail');
     $newProp = $newModel->getPropertyByName('acknowledgmentReceiver');
     f_persistentdocument_PersistentProvider::getInstance()->addProperty('form', 'mail', $newProp);
     $newPath = f_util_FileUtils::buildWebeditPath('modules/form/persistentdocument/form.xml');
     $newModel = generator_PersistentModel::loadModelFromString(f_util_FileUtils::read($newPath), 'form', 'form');
     $newProp = $newModel->getPropertyByName('saveResponse');
     f_persistentdocument_PersistentProvider::getInstance()->addProperty('form', 'baseform', $newProp);
     $newPath = f_util_FileUtils::buildWebeditPath('modules/form/persistentdocument/baseform.xml');
     $newModel = generator_PersistentModel::loadModelFromString(f_util_FileUtils::read($newPath), 'form', 'baseform');
     $newProp = $newModel->getPropertyByName('acknowledgment');
     f_persistentdocument_PersistentProvider::getInstance()->addProperty('form', 'baseform', $newProp);
     $newProp = $newModel->getPropertyByName('acknowledgmentNotification');
     f_persistentdocument_PersistentProvider::getInstance()->addProperty('form', 'baseform', $newProp);
     $this->execChangeCommand('compile-documents');
     foreach (form_FormService::getInstance()->createQuery()->find() as $form) {
         $form->setSaveResponse(true);
         $form->save();
     }
     // Update mail fields.
     $newPath = f_util_FileUtils::buildWebeditPath('modules/form/persistentdocument/mail.xml');
     $newModel = generator_PersistentModel::loadModelFromString(f_util_FileUtils::read($newPath), 'form', 'mail');
     $newProp = $newModel->getPropertyByName('initializeWithCurrentUserEmail');
     f_persistentdocument_PersistentProvider::getInstance()->addProperty('form', 'mail', $newProp);
     // Update text fields.
     $newPath = f_util_FileUtils::buildWebeditPath('modules/form/persistentdocument/text.xml');
     $newModel = generator_PersistentModel::loadModelFromString(f_util_FileUtils::read($newPath), 'form', 'text');
     $newProp = $newModel->getPropertyByName('disableAutocorrect');
     f_persistentdocument_PersistentProvider::getInstance()->addProperty('form', 'text', $newProp);
     $newProp = $newModel->getPropertyByName('disableAutocapitalize');
     f_persistentdocument_PersistentProvider::getInstance()->addProperty('form', 'text', $newProp);
     $newProp = $newModel->getPropertyByName('disableAutocomplete');
     f_persistentdocument_PersistentProvider::getInstance()->addProperty('form', 'text', $newProp);
     foreach (form_MailService::getInstance()->createQuery()->find() as $field) {
         $field->setDisableAutocorrect(true);
         $field->setDisableAutocapitalize(true);
         $field->save();
     }
     // Republish all forms.
     $bfs = form_BaseformService::getInstance();
     foreach ($bfs->createQuery()->find() as $form) {
         $bfs->publishIfPossible($form->getId());
     }
     // Create recipientGroupFolder and move all groups in it.
     $folder = form_RecipientGroupFolderService::getInstance()->getFolder();
     $folderId = $folder->getId();
     $rgs = form_RecipientGroupService::getInstance();
     foreach ($rgs->createQuery()->find() as $group) {
         $rgs->moveTo($group, $folderId);
     }
     $this->executeLocalXmlScript('newlist.xml');
     $this->log('If all went OK, you can delete m_form_doc_form_todelete and m_form_doc_form_i18n_todelete tables!');
 }
コード例 #4
0
 /**
  * Mandatory execute method...
  *
  * @param block_BlockContext $context
  * @param block_BlockRequest $request
  */
 public function execute($context, $request)
 {
     FormHelper::addScriptsAndStyles($context);
     $form = $this->getParameter('form');
     $this->setTemplateName('markup/' . $form->getMarkup() . '/Form');
     $this->setAttribute('form', $form);
     $contents = array();
     form_FormService::getInstance()->buildContentsFromRequest($form->getDocumentNode()->getChildren(), $contents, $request, $form);
     $this->setAttribute('elements', $contents);
     if ($this->hasParameter('errors')) {
         $this->setAttribute('errors', $this->getParameter('errors'));
     }
     $this->setAttribute('selfUrl', $_SERVER['REQUEST_URI']);
     if ($request->getParameter(form_FormConstants::BACK_URL_PARAMETER)) {
         $backUrl = $request->getParameter(form_FormConstants::BACK_URL_PARAMETER);
     } else {
         if (isset($_SERVER['HTTP_REFERER'])) {
             $backUrl = $_SERVER['HTTP_REFERER'];
         } else {
             $backUrl = website_WebsiteModuleService::getInstance()->getCurrentWebsite()->getUrl();
         }
     }
     $this->setAttribute("receiverLabels", $this->getParameter("receiverLabels"));
     $this->setAttribute('requestParameters', $request->getParameters());
     $this->setAttribute('backUrl', $backUrl);
     $this->setAttribute('useCaptcha', $form->getDocumentService()->hasToUseCaptcha($form));
     $this->setAttribute('jQueryConditionalElement', $form->getDocumentService()->getJQueryForConditionalElementsOf($form));
 }
コード例 #5
0
 /**
  * @param Context $context
  * @param Request $request
  */
 public function _execute($context, $request)
 {
     $forms = $this->getDocumentInstanceArrayFromRequest($request);
     $responseArchivedCount = 0;
     foreach ($forms as $form) {
         $responseArchivedCount += form_FormService::getInstance()->fileResponses($form);
     }
     if (Framework::isInfoEnabled()) {
         Framework::info('form/ArchiveResponse -> Filed responses : ' . $responseArchivedCount);
     }
     $request->setAttribute('message', $responseArchivedCount);
     return self::getSuccessView();
 }
コード例 #6
0
 /**
  * @return form_persistentdocument_form
  */
 protected function initPersistentDocument()
 {
     return form_FormService::getInstance()->getNewDocumentInstance();
 }
コード例 #7
0
 /**
  * @param block_BlockRequest $request
  */
 protected final function isFormPosted($request)
 {
     return form_FormService::getInstance()->isPostedFormId($this->getFormId(), $request);
 }