Example #1
0
 protected function init($params = array())
 {
     $accountTypes = $this->questionService->findAllAccountTypes();
     $serviceLang = BOL_LanguageService::getInstance();
     $language = OW::getLanguage();
     $currentLanguageId = OW::getLanguage()->getCurrentId();
     $accounts = array();
     /* @var $value BOL_QuestionAccount */
     foreach ($accountTypes as $value) {
         $accounts[$value->name] = $this->questionService->getAccountTypeLang($value->name);
     }
     $sections = $this->questionService->findSortedSectionList();
     // need to hide sections select box
     if (empty($sections)) {
         $this->assign('no_sections', true);
     }
     $sectionsArray = array();
     /* @var $section BOL_QuestionSection */
     foreach ($sections as $section) {
         $sectionsArray[$section->name] = $language->text('base', 'questions_section_' . $section->name . '_label');
     }
     $event = new OW_Event('base.question.add_question_form.on_get_available_sections', $sectionsArray, $sectionsArray);
     OW::getEventManager()->trigger($event);
     $sectionsArray = $event->getData();
     $presentationList = array_keys($this->presentations2types);
     $presentations = array();
     $presentationsLabel = array();
     foreach ($presentationList as $item) {
         $presentations[$item] = $item;
         $presentationsLabel[$item] = $language->text('base', 'questions_question_presentation_' . $item . '_label');
     }
     $presentation = $presentationList[0];
     if (isset($_POST['qst_answer_type']) && isset($presentations[$_POST['qst_answer_type']])) {
         $presentation = $presentations[$_POST['qst_answer_type']];
     }
     $qstName = new TextField('qst_name');
     $qstName->setLabel($language->text('admin', 'questions_question_name_label'));
     //$qstName->addValidator(new StringValidator(0, 24000));
     $qstName->setRequired();
     $this->addElement($qstName);
     $qstName = new TextField('qst_description');
     $qstName->setLabel($language->text('admin', 'questions_question_description_label'));
     //$qstName->addValidator(new StringValidator(0, 24000));
     $this->addElement($qstName);
     if (count($accountTypes) > 1) {
         $qstAccountType = new CheckboxGroup('qst_account_type');
         $qstAccountType->setLabel($language->text('admin', 'questions_for_account_type_label'));
         $qstAccountType->setRequired();
         $qstAccountType->setDescription($language->text('admin', 'questions_for_account_type_description'));
         $qstAccountType->setOptions($accounts);
         $this->addElement($qstAccountType);
     }
     if (!empty($sectionsArray)) {
         $qstSection = new Selectbox('qst_section');
         $qstSection->setLabel($language->text('admin', 'questions_question_section_label'));
         $qstSection->setOptions($sectionsArray);
         $qstSection->setHasInvitation(false);
         $this->addElement($qstSection);
     }
     $qstAnswerType = new Selectbox('qst_answer_type');
     $qstAnswerType->setLabel($language->text('admin', 'questions_answer_type_label'));
     $qstAnswerType->addAttribute('class', $qstAnswerType->getName());
     $qstAnswerType->setOptions($presentationsLabel);
     $qstAnswerType->setRequired();
     $qstAnswerType->setHasInvitation(false);
     $qstAnswerType->setValue($presentation);
     $this->addElement($qstAnswerType);
     //        if ( $displayPossibleValues )
     //        {
     $qstPossibleValues = new addValueField('qst_possible_values');
     //$qstPossibleValues->addAttribute('class', $qstPossibleValues->getName());
     $qstPossibleValues->setLabel($language->text('admin', 'questions_possible_values_label'));
     $qstPossibleValues->setDescription($language->text('admin', 'questions_possible_values_description'));
     //$qstPossibleValues->setValue( array( '1' => 'aaa', '2' => 'bbbb', '4' => 'ccc' ) );
     $this->addElement($qstPossibleValues);
     //        }
     $configList = $this->questionConfigs;
     foreach ($configList as $config) {
         $className = $config->presentationClass;
         /* @var $qstConfig OW_FormElement */
         $qstConfig = OW::getClassInstance($className, $config->name);
         $qstConfig->setLabel($language->text('admin', 'questions_config_' . $config->name . '_label'));
         if (!empty($config->description)) {
             $qstConfig->setDescription($config->description);
         }
         $this->addElement($qstConfig);
     }
     $qstColumnCount = new Selectbox('qst_column_count');
     $qstColumnCount->addAttribute('class', $qstColumnCount->getName());
     $qstColumnCount->setLabel($language->text('admin', 'questions_columns_count_label'));
     $qstColumnCount->setOptions($this->qstColumnCountValues);
     $qstColumnCount->setValue(1);
     $this->addElement($qstColumnCount);
     $qstRequired = new CheckboxField('qst_required');
     $qstRequired->setLabel($language->text('admin', 'questions_required_label'));
     $qstRequired->setDescription($language->text('admin', 'questions_required_description'));
     $this->addElement($qstRequired);
     $qstOnSignUp = new CheckboxField('qst_on_sign_up');
     $qstOnSignUp->setLabel($language->text('admin', 'questions_on_sing_up_label'));
     $qstOnSignUp->setDescription($language->text('admin', 'questions_on_sing_up_description'));
     $this->addElement($qstOnSignUp);
     $qstOnEdit = new CheckboxField('qst_on_edit');
     $qstOnEdit->setLabel($language->text('admin', 'questions_on_edit_label'));
     $qstOnEdit->setDescription($language->text('admin', 'questions_on_edit_description'));
     $this->addElement($qstOnEdit);
     $qstOnView = new CheckboxField('qst_on_view');
     $qstOnView->setLabel($language->text('admin', 'questions_on_view_label'));
     $qstOnView->setDescription($language->text('admin', 'questions_on_view_description'));
     $this->addElement($qstOnView);
     $qstOnSearch = new CheckboxField('qst_on_search');
     $qstOnSearch->setLabel($language->text('admin', 'questions_on_search_label'));
     $qstOnSearch->setDescription($language->text('admin', 'questions_on_search_description'));
     $this->addElement($qstOnSearch);
     $qstSubmit = new Submit('qst_submit');
     $qstSubmit->setValue($language->text('admin', 'save_btn_label'));
     $qstSubmit->addAttribute('class', 'ow_button ow_ic_save');
     $this->addElement($qstSubmit);
     $this->addElement($qstSubmit);
 }
Example #2
0
 public function index()
 {
     $language = OW::getLanguage();
     $config = OW::getConfig();
     $adminForm = new Form('adminForm');
     $element = new Selectbox('itemApproval');
     $element->setRequired(true);
     $element->setValue($config->getValue('eventx', 'itemApproval'));
     $element->setLabel($language->text('eventx', 'admin_event_approval'));
     $element->addOption('auto', $language->text('eventx', 'auto_approve'));
     $element->addOption('admin', $language->text('eventx', 'admin_approve'));
     $adminForm->addElement($element);
     $element = new CheckboxGroup('eventDelete');
     $element->setRequired(true);
     $element->setColumnCount(3);
     $element->setValue(explode(",", $config->getValue('eventx', 'eventDelete')));
     $element->setLabel($language->text('eventx', 'admin_event_delete'));
     $element->addOption(1, $language->text('eventx', 'admin'));
     $element->addOption(2, $language->text('eventx', 'moderator'));
     $element->addOption(3, $language->text('eventx', 'creator_del'));
     $adminForm->addElement($element);
     $element = new TextField('resultsPerPage');
     $element->setRequired(true);
     $element->setLabel($language->text('eventx', 'admin_results_per_page'));
     $element->setValue($config->getValue('eventx', 'resultsPerPage'));
     $validator = new IntValidator(1);
     $validator->setErrorMessage($language->text('eventx', 'invalid_numeric_format'));
     $element->addValidator($validator);
     $adminForm->addElement($element);
     $element = new TextField('mapWidth');
     $element->setRequired(true);
     $element->setValue($config->getValue('eventx', 'mapWidth'));
     $validator = new IntValidator(0);
     $validator->setErrorMessage($language->text('eventx', 'invalid_numeric_format'));
     $element->addValidator($validator);
     $adminForm->addElement($element);
     $element = new TextField('mapHeight');
     $element->setRequired(true);
     $element->setValue($config->getValue('eventx', 'mapHeight'));
     $validator = new IntValidator(0);
     $validator->setErrorMessage($language->text('eventx', 'invalid_numeric_format'));
     $element->addValidator($validator);
     $adminForm->addElement($element);
     $element = new CheckboxField('enableCategoryList');
     $element->setLabel($language->text('eventx', 'admin_enable_category_listing'));
     $element->setValue($config->getValue('eventx', 'enableCategoryList'));
     $adminForm->addElement($element);
     $element = new CheckboxField('enableCalendar');
     $element->setLabel($language->text('eventx', 'admin_enable_calendar'));
     $element->setValue($config->getValue('eventx', 'enableCalendar'));
     $adminForm->addElement($element);
     $element = new CheckboxField('enableTagsList');
     $element->setLabel($language->text('eventx', 'admin_enable_tag_listing'));
     $element->setValue($config->getValue('eventx', 'enableTagsList'));
     $adminForm->addElement($element);
     $element = new CheckboxField('enableMultiCategories');
     $element->setLabel($language->text('eventx', 'enable_multi_categories'));
     $element->setValue($config->getValue('eventx', 'enableMultiCategories'));
     $adminForm->addElement($element);
     $element = new CheckboxField('enable3DTagCloud');
     $element->setLabel($language->text('eventx', 'enable_3d_cloud_categories'));
     $element->setValue($config->getValue('eventx', 'enable3DTagCloud'));
     $adminForm->addElement($element);
     $element = new CheckboxField('enableMapSuggestion');
     $element->setLabel($language->text('eventx', 'enable_map_suggestion'));
     $element->setValue($config->getValue('eventx', 'enableMapSuggestion'));
     $adminForm->addElement($element);
     $element = new Submit('saveSettings');
     $element->setValue(OW::getLanguage()->text('eventx', 'admin_save_settings'));
     $adminForm->addElement($element);
     if (OW::getRequest()->isPost()) {
         if ($adminForm->isValid($_POST)) {
             $values = $adminForm->getValues();
             $config->saveConfig('eventx', 'resultsPerPage', $values['resultsPerPage']);
             $config->saveConfig('eventx', 'itemApproval', $values['itemApproval']);
             $config->saveConfig('eventx', 'enableCategoryList', $values['enableCategoryList']);
             $config->saveConfig('eventx', 'enableMultiCategories', $values['enableMultiCategories']);
             $config->saveConfig('eventx', 'enable3DTagCloud', $values['enable3DTagCloud']);
             $config->saveConfig('eventx', 'enableMapSuggestion', $values['enableMapSuggestion']);
             $config->saveConfig('eventx', 'mapWidth', $values['mapWidth']);
             $config->saveConfig('eventx', 'mapHeight', $values['mapHeight']);
             $config->saveConfig('eventx', 'eventDelete', implode(",", $values['eventDelete']));
             $config->saveConfig('eventx', 'enableTagsList', $values['enableTagsList']);
             $config->saveConfig('eventx', 'enableCalendar', $values['enableCalendar']);
             OW::getFeedback()->info($language->text('eventx', 'user_save_success'));
             $this->redirect(OW::getRouter()->urlForRoute('eventx_admin_index'));
         }
     }
     $this->addForm($adminForm);
 }