public function __construct() { parent::__construct('settingsForm'); $themes = new Selectbox('themeList'); $themes->setRequired(); $themes->setLabel(OW::getLanguage()->text('profileprogressbar', 'theme_label')); $plugin = OW::getPluginManager()->getPlugin('profileprogressbar'); $dirIterator = new RecursiveDirectoryIterator($plugin->getStaticDir() . 'css' . DS); $interator = new RecursiveIteratorIterator($dirIterator); $themesList = array(); foreach ($interator as $file) { if ($file->getFilename() == '.') { continue; } if (!$file->isDir() && pathinfo($file->getPathname(), PATHINFO_EXTENSION) == 'css') { $themeName = substr($file->getFilename(), 0, strrpos($file->getFilename(), '.')); if (file_exists($plugin->getStaticDir() . 'img' . DS . $themeName . DS . 'background.png') && file_exists($plugin->getStaticDir() . 'img' . DS . $themeName . DS . 'complete.png')) { $themesList[$themeName] = ucfirst($themeName); } } } asort($themesList); $themes->setOptions($themesList); $themes->setValue(OW::getConfig()->getValue('profileprogressbar', 'theme')); $this->addElement($themes); $validator = new SelectboxValidator($themesList); $themes->addValidator($validator); $submit = new Submit('save'); $submit->setValue(OW::getLanguage()->text('profileprogressbar', 'save_settings')); $this->addElement($submit); }
public function __construct($name) { parent::__construct($name); $lang = OW::getLanguage(); $period = new TextField('period'); $period->setRequired(true); $period->setLabel($lang->text('ocsaffiliates', 'settings_timeout')); $this->addElement($period); $status = new Selectbox('status'); $status->setRequired(true); $status->setHasInvitation(false); $options = array('active' => $lang->text('ocsaffiliates', 'status_active'), 'unverified' => $lang->text('ocsaffiliates', 'status_unverified')); $status->addOptions($options); $status->setLabel($lang->text('ocsaffiliates', 'settings_status')); $this->addElement($status); $clickAmount = new TextField('clickAmount'); $clickAmount->setRequired(true); $clickAmount->setLabel($lang->text('ocsaffiliates', 'settings_click_amount')); $clickAmount->addValidator(new FloatValidator()); $this->addElement($clickAmount); $regAmount = new TextField('regAmount'); $regAmount->setRequired(true); $regAmount->setLabel($lang->text('ocsaffiliates', 'settings_reg_amount')); $regAmount->addValidator(new FloatValidator()); $this->addElement($regAmount); $saleCommission = new Selectbox('saleCommission'); $saleCommission->setRequired(true); $options = array('amount' => $lang->text('ocsaffiliates', 'commission_amount'), 'percent' => $lang->text('ocsaffiliates', 'commission_percent')); $saleCommission->addOptions($options); $saleCommission->setLabel($lang->text('ocsaffiliates', 'settings_sale_commission')); $this->addElement($saleCommission); $saleAmount = new TextField('saleAmount'); $saleAmount->setLabel($lang->text('ocsaffiliates', 'settings_sale_amount')); $saleAmount->addValidator(new FloatValidator()); $this->addElement($saleAmount); $salePercent = new TextField('salePercent'); $salePercent->setLabel($lang->text('ocsaffiliates', 'settings_sale_percent')); $salePercent->addValidator(new FloatValidator()); $this->addElement($salePercent); $showRates = new CheckboxField('showRates'); $showRates->setLabel($lang->text('ocsaffiliates', 'show_rates')); $this->addElement($showRates); $allowBanners = new CheckboxField('allowBanners'); $allowBanners->setLabel($lang->text('ocsaffiliates', 'allow_banners')); $this->addElement($allowBanners); $terms = new CheckboxField('terms'); $terms->setLabel($lang->text('ocsaffiliates', 'enable_terms')); $this->addElement($terms); $submit = new Submit('save'); $submit->setLabel($lang->text('ocsaffiliates', 'save')); $this->addElement($submit); }
public function fillAccountType($params) { if (!OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } $user = OW::getUser()->getUserObject(); $accountType = BOL_QuestionService::getInstance()->findAccountTypeByName($user->accountType); if (!empty($accountType)) { throw new Redirect404Exception(); } $event = new OW_Event(OW_EventManager::ON_BEFORE_USER_COMPLETE_ACCOUNT_TYPE, array('user' => $user)); OW::getEventManager()->trigger($event); $accounts = $this->getAccountTypes(); if (count($accounts) == 1) { $accountTypeList = array_keys($accounts); $firstAccountType = reset($accountTypeList); $accountType = BOL_QuestionService::getInstance()->findAccountTypeByName($firstAccountType); if ($accountType) { $user->accountType = $firstAccountType; BOL_UserService::getInstance()->saveOrUpdate($user); //BOL_PreferenceService::getInstance()->savePreferenceValue('profile_details_update_stamp', time(), $user->getId()); $this->redirect(OW::getRouter()->urlForRoute('base_default_index')); } } $form = new Form('accountTypeForm'); $joinAccountType = new Selectbox('accountType'); $joinAccountType->setLabel(OW::getLanguage()->text('base', 'questions_question_account_type_label')); $joinAccountType->setRequired(); $joinAccountType->setOptions($accounts); $joinAccountType->setHasInvitation(false); $form->addElement($joinAccountType); $submit = new Submit('submit'); $submit->addAttribute('class', 'ow_button ow_ic_save'); $submit->setValue(OW::getLanguage()->text('base', 'continue_button')); $form->addElement($submit); if (OW::getRequest()->isPost()) { if ($form->isValid($_POST)) { $data = $form->getValues(); $this->saveRequiredQuestionsData($data, $user->id); } } else { OW::getDocument()->addOnloadScript(" OW.info(" . json_encode(OW::getLanguage()->text('base', 'complete_profile_info')) . ") "); } $this->addForm($form); }
public function __construct($name, $mode) { parent::__construct($name); $this->setAction(OW::getRouter()->urlForRoute('ocsaffiliates.action_edit')); $this->setAjax(); $lang = OW::getLanguage(); $idField = new HiddenField('affiliateId'); $this->addElement($idField); $modeField = new HiddenField('mode'); $modeField->setValue($mode); $this->addElement($modeField); if ($mode == 'admin') { $emailVerified = new CheckboxField('emailVerified'); $emailVerified->setLabel($lang->text('ocsaffiliates', 'email_verified')); $this->addElement($emailVerified); $status = new Selectbox('status'); $status->setLabel($lang->text('ocsaffiliates', 'status')); $status->setHasInvitation(false); $status->setRequired(true); $options = array('active' => $lang->text('ocsaffiliates', 'status_active'), 'unverified' => $lang->text('ocsaffiliates', 'status_unverified')); $status->setOptions($options); $this->addElement($status); } $affName = new TextField('name'); $affName->setRequired(true); $affName->setLabel($lang->text('ocsaffiliates', 'affiliate_name')); $this->addElement($affName); $email = new TextField('email'); $email->setRequired(true); $email->setLabel($lang->text('ocsaffiliates', 'email')); $email->addValidator(new EmailValidator()); $this->addElement($email); $password = new PasswordField('password'); $password->setLabel($lang->text('ocsaffiliates', 'password')); $this->addElement($password); $payment = new Textarea('payment'); $payment->setRequired(true); $payment->setLabel($lang->text('ocsaffiliates', 'payment_details')); $this->addElement($payment); $submit = new Submit('save'); $submit->setValue($lang->text('ocsaffiliates', 'edit')); $this->addElement($submit); $this->bindJsFunction(Form::BIND_SUCCESS, "function(data){\n if ( !data.result ) {\n OW.error(data.error);\n }\n else {\n document.location.reload();\n }\n }"); }
public function index() { $language = OW::getLanguage(); $config = OW::getConfig(); $adminForm = new Form('adminForm'); $element = new Selectbox('actionMember'); $element->setLabel($language->text('grouprss', 'action_member_label')); $element->setDescription($language->text('grouprss', 'action_member_desc')); $element->setValue($config->getValue('grouprss', 'actionMember')); $element->setRequired(); $element->addOption('admin', $language->text('grouprss', 'site_admin')); $element->addOption('owner', $language->text('grouprss', 'group_owner')); $element->addOption('both', $language->text('grouprss', 'both_admin_owner')); $adminForm->addElement($element); $element = new Selectbox('postLocation'); $element->setLabel($language->text('grouprss', 'post_location_label')); $element->setDescription($language->text('grouprss', 'post_location_desc')); $element->setValue($config->getValue('grouprss', 'postLocation')); $element->setRequired(); $element->addOption('wall', $language->text('grouprss', 'wall_location')); $element->addOption('newsfeed', $language->text('grouprss', 'newsfeed_location')); $adminForm->addElement($element); $element = new CheckboxField('disablePosting'); $element->setLabel($language->text('grouprss', 'disable_posting_label')); $element->setDescription($language->text('grouprss', 'disable_posting_desc')); $element->setValue($config->getValue('grouprss', 'disablePosting')); $adminForm->addElement($element); $element = new Submit('saveSettings'); $element->setValue(OW::getLanguage()->text('grouprss', 'admin_save_settings')); $adminForm->addElement($element); if (OW::getRequest()->isPost()) { if ($adminForm->isValid($_POST)) { $values = $adminForm->getValues(); $config->saveConfig('grouprss', 'actionMember', $values['actionMember']); $config->saveConfig('grouprss', 'postLocation', $values['postLocation']); $config->saveConfig('grouprss', 'disablePosting', $values['disablePosting']); GROUPRSS_BOL_FeedService::getInstance()->addAllGroupFeed(); //OW::getFeedback()->info($language->text('grouprss', 'user_save_success')); } } $this->addForm($adminForm); }
public function __construct($typeId) { parent::__construct('edit-membership-form'); $lang = OW::getLanguage(); $typeField = new HiddenField('type'); $typeField->setValue($typeId); $typeField->setRequired(true); $this->addElement($typeField); $type = MEMBERSHIP_BOL_MembershipService::getInstance()->findTypeById($typeId); $rolesField = new Selectbox('role'); $roles = MEMBERSHIP_BOL_MembershipService::getInstance()->getRolesAvailableForMembership(); foreach ($roles as $role) { $options[$role->id] = $lang->text('base', 'authorization_role_' . $role->name); } if (count($options)) { $rolesField->setOptions($options); } $rolesField->setRequired(true)->setValue($type->roleId)->setLabel($lang->text('membership', 'select_role')); $this->addElement($rolesField); // submit $submit = new Submit('update'); $submit->setValue($lang->text('admin', 'save_btn_label')); $this->addElement($submit); }
public function __construct($controller) { parent::__construct('MainSearchForm'); $this->controller = $controller; $questionService = BOL_QuestionService::getInstance(); $language = OW::getLanguage(); $this->setId('MainSearchForm'); $submit = new Submit(self::SUBMIT_NAME); $submit->setValue(OW::getLanguage()->text('base', 'user_search_submit_button_label')); $this->addElement($submit); $questionData = OW::getSession()->get(self::FORM_SESSEION_VAR); if ($questionData === null) { $questionData = array(); } $accounts = $this->getAccountTypes(); $accountList = array(); $accountList[BOL_QuestionService::ALL_ACCOUNT_TYPES] = OW::getLanguage()->text('base', 'questions_account_type_' . BOL_QuestionService::ALL_ACCOUNT_TYPES); foreach ($accounts as $key => $account) { $accountList[$key] = $account; } $keys = array_keys($accountList); $this->accountType = $keys[0]; if (isset($questionData['accountType']) && in_array($questionData['accountType'], $keys)) { $this->accountType = $questionData['accountType']; } if (count($accounts) > 1) { $this->displayAccountType = true; $accountType = new Selectbox('accountType'); $accountType->setLabel(OW::getLanguage()->text('base', 'questions_question_account_type_label')); $accountType->setRequired(); $accountType->setOptions($accountList); $accountType->setValue($this->accountType); $accountType->setHasInvitation(false); $this->addElement($accountType); } $questions = $questionService->findSearchQuestionsForAccountType($this->accountType); $mainSearchQuestion = array(); $questionNameList = array(); foreach ($questions as $key => $question) { $sectionName = $question['sectionName']; $mainSearchQuestion[$sectionName][] = $question; $questionNameList[] = $question['name']; $questions[$key]['required'] = '0'; } $questionValueList = $questionService->findQuestionsValuesByQuestionNameList($questionNameList); $this->addQuestions($questions, $questionValueList, $questionData); $controller->assign('questionList', $mainSearchQuestion); $controller->assign('displayAccountType', $this->displayAccountType); }
public function index() { $language = OW::getLanguage(); $config = OW::getConfig(); $adminForm = new Form('adminForm'); $element = new TextField('allowedFileSize'); $element->setRequired(true); $element->setValue($config->getValue('ivideo', 'allowedFileSize')); $element->setLabel($language->text('ivideo', 'admin_allowed_file_size')); $element->setDescription($language->text('ivideo', 'admin_allowed_file_size_desc')); $validator = new FloatValidator(1); $validator->setErrorMessage($language->text('ivideo', 'admin_invalid_number_error')); $element->addValidator($validator); $adminForm->addElement($element); $element = new Multiselect('allowedExtensions'); $element->setRequired(true); $element->setValue(explode(",", $config->getValue('ivideo', 'allowedExtensions'))); $element->setLabel($language->text('ivideo', 'admin_allowed_extension')); $element->setDescription($language->text('ivideo', 'admin_allowed_extension_desc')); $element->addOption('mp4', 'MP4'); $element->addOption('flv', 'FLV'); $element->addOption('avi', 'AVI'); $element->addOption('wmv', 'WMV'); $element->addOption('swf', 'SWF'); $element->addOption('mov', 'MOV'); $element->addOption('mpg', 'MPG'); $element->addOption('3g2', '3G2'); $element->addOption('ram', 'RAM'); $element->setSize(6); $adminForm->addElement($element); $element = new TextField('videosPerRow'); $element->setValue($config->getValue('ivideo', 'videosPerRow')); $element->setLabel($language->text('ivideo', 'admin_videos_per_row')); $element->setDescription($language->text('ivideo', 'admin_videos_per_row_desc')); $validator = new IntValidator(); $validator->setErrorMessage($language->text('ivideo', 'admin_invalid_number_error')); $element->addValidator($validator); $adminForm->addElement($element); $element = new TextField('videoPreviewWidth'); $element->setValue($config->getValue('ivideo', 'videoPreviewWidth')); $element->setLabel($language->text('ivideo', 'admin_video_preview_size')); $element->setDescription($language->text('ivideo', 'admin_video_preview_size_desc')); $validator = new IntValidator(); $validator->setErrorMessage($language->text('ivideo', 'admin_invalid_number_error')); $element->addValidator($validator); $adminForm->addElement($element); $element = new TextField('videoPreviewHeight'); $element->setValue($config->getValue('ivideo', 'videoPreviewHeight')); $element->setLabel($language->text('ivideo', 'admin_video_preview_height')); $validator = new IntValidator(); $validator->setErrorMessage($language->text('ivideo', 'admin_invalid_number_error')); $element->addValidator($validator); $adminForm->addElement($element); $element = new TextField('videoWidth'); $element->setValue($config->getValue('ivideo', 'videoWidth')); $element->setLabel($language->text('ivideo', 'admin_video_size')); $element->setDescription($language->text('ivideo', 'admin_video_size_desc')); $validator = new IntValidator(); $validator->setErrorMessage($language->text('ivideo', 'admin_invalid_number_error')); $element->addValidator($validator); $adminForm->addElement($element); $element = new TextField('videoHeight'); $element->setValue($config->getValue('ivideo', 'videoHeight')); $element->setLabel($language->text('ivideo', 'admin_video_height')); $validator = new IntValidator(); $validator->setErrorMessage($language->text('ivideo', 'admin_invalid_number_error')); $element->addValidator($validator); $adminForm->addElement($element); $element = new Selectbox('videoApproval'); $element->setRequired(true); $element->setValue($config->getValue('ivideo', 'videoApproval')); $element->setLabel($language->text('ivideo', 'admin_video_approval')); $element->addOption('auto', $language->text('ivideo', 'auto_approve')); $element->addOption('admin', $language->text('ivideo', 'admin_approve')); $element->setDescription($language->text('ivideo', 'admin_video_approval_desc')); $adminForm->addElement($element); $element = new Selectbox('theme'); $element->setRequired(true); $element->setValue($config->getValue('ivideo', 'theme')); $element->setLabel($language->text('ivideo', 'admin_video_theme')); $element->addOption('baseTheme', $language->text('ivideo', 'baseTheme')); $element->addOption('classicTheme', $language->text('ivideo', 'classicTheme')); $element->addOption('fancyTheme', $language->text('ivideo', 'fancyTheme')); $element->addOption('listTheme', $language->text('ivideo', 'listTheme')); $element->setDescription($language->text('ivideo', 'admin_video_theme_desc')); $adminForm->addElement($element); $element = new TextField('resultsPerPage'); $element->setRequired(true); $element->setLabel($language->text('ivideo', 'admin_results_per_page')); $element->setDescription($language->text('ivideo', 'admin_results_per_page_desc')); $element->setValue($config->getValue('ivideo', 'resultsPerPage')); $adminForm->addElement($element); $element = new TextField('ffmpegPath'); $element->setLabel($language->text('ivideo', 'admin_ffmpeg_path')); $element->setDescription($language->text('ivideo', 'admin_ffmpeg_path_desc')); $element->setValue($config->getValue('ivideo', 'ffmpegPath')); $adminForm->addElement($element); $element = new CheckboxField('makeUploaderMain'); $element->setLabel($language->text('ivideo', 'admin_make_uploader_main')); $element->setDescription($language->text('ivideo', 'admin_make_uploader_main_desc')); $element->setValue($config->getValue('ivideo', 'makeUploaderMain')); $adminForm->addElement($element); $element = new Submit('saveSettings'); $element->setValue(OW::getLanguage()->text('ivideo', 'admin_save_settings')); $adminForm->addElement($element); if (OW::getRequest()->isPost()) { if ($adminForm->isValid($_POST)) { $values = $adminForm->getValues(); $config->saveConfig('ivideo', 'allowedFileSize', $values['allowedFileSize']); $config->saveConfig('ivideo', 'allowedExtensions', implode(",", $values['allowedExtensions'])); $config->saveConfig('ivideo', 'videoWidth', $values['videoWidth']); $config->saveConfig('ivideo', 'videoHeight', $values['videoHeight']); $config->saveConfig('ivideo', 'videoPreviewWidth', $values['videoPreviewWidth']); $config->saveConfig('ivideo', 'videoPreviewHeight', $values['videoPreviewHeight']); $config->saveConfig('ivideo', 'resultsPerPage', $values['resultsPerPage']); $config->saveConfig('ivideo', 'videoApproval', $values['videoApproval']); $config->saveConfig('ivideo', 'theme', $values['theme']); $config->saveConfig('ivideo', 'videosPerRow', $values['videosPerRow']); $config->saveConfig('ivideo', 'makeUploaderMain', $values['makeUploaderMain']); $config->saveConfig('ivideo', 'ffmpegPath', $values['ffmpegPath']); OW::getFeedback()->info($language->text('ivideo', 'user_save_success')); } } $this->addForm($adminForm); }
function __construct($prefixes, $language, $isDevMode = false) { parent::__construct('form'); $languageService = BOL_LanguageService::getInstance(); $this->setAjax(true); $this->setAction(OW::getRouter()->urlFor('ADMIN_CTRL_Languages', 'ajaxAddKey')); $this->setMethod('post'); $languageHidden = new HiddenField('language'); $languageHidden->setValue($language->getId()); $this->addElement($languageHidden); $keyTextField = new TextField('key'); $keyTextField->setLabel(OW::getLanguage()->text('admin', 'add_key_form_lbl_key')); $this->addElement($keyTextField->setRequired(ADMIN_CTRL_Languages::isDevMode())); $prefixSelectBox = new Selectbox('prefix'); if (!empty($_GET['prefix']) && strlen($_GET['prefix']) > 0) { $prefixSelectBox->setValue($_GET['prefix']); } $options = array(); foreach ($prefixes as $prefix) { $options["{$prefix->getPrefix()}"] = $prefix->getLabel(); } $prefixSelectBox->setOptions($options)->setLabel(OW::getLanguage()->text('admin', 'section')); $this->addElement($prefixSelectBox->setRequired(ADMIN_CTRL_Languages::isDevMode())); $valueTextArea = new Textarea('value'); $this->addElement($valueTextArea->setRequired(true)->setLabel(OW::getLanguage()->text('admin', 'add_key_form_lbl_val', array('label' => $language->getLabel(), 'tag' => $language->getTag())))); $submit = new Submit('submit'); $submit->setValue(OW::getLanguage()->text('admin', 'add_key_form_lbl_add')); if (!OW::getRequest()->isAjax()) { OW::getDocument()->addOnloadScript("owForms['{$this->getName()}'].bind('success', function(json){\n\t\t\t\tswitch( json['result'] ){\n\t\t\t\t\tcase 'success':\n\t\t\t\t\t\tlocation.reload();\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'dublicate':\n\t\t\t\t\t\tOW.info('" . OW::getLanguage()->text('admin', 'msg_dublicate_key') . "');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});"); } $this->addElement($submit); }
protected function addGenderQuestions($controller, $accounts, $questionValueList, $questionData) { $controller->assign('displayGender', false); $controller->assign('displayAccountType', false); if (count($accounts) > 1) { $controller->assign('displayAccountType', true); if (!OW::getUser()->isAuthenticated()) { $controller->assign('displayGender', true); $sex = new Selectbox('sex'); $sex->setLabel(BOL_QuestionService::getInstance()->getQuestionLang('sex')); $sex->setRequired(); $sex->setHasInvitation(false); //$accountType->setHasInvitation(false); $this->setFieldOptions($sex, 'sex', $questionValueList['sex']); if (!empty($questionData['sex'])) { $sex->setValue($questionData['sex']); } $this->addElement($sex); } else { $sexData = BOL_QuestionService::getInstance()->getQuestionData(array(OW::getUser()->getId()), array('sex')); if (!empty($sexData[OW::getUser()->getId()]['sex'])) { $sex = new HiddenField('sex'); $sex->setValue($sexData[OW::getUser()->getId()]['sex']); $this->addElement($sex); } } $matchSex = new Selectbox('match_sex'); $matchSex->setLabel(BOL_QuestionService::getInstance()->getQuestionLang('match_sex')); $matchSex->setRequired(); $matchSex->setHasInvitation(false); //$accountType->setHasInvitation(false); $this->setFieldOptions($matchSex, 'match_sex', $questionValueList['sex']); if (!empty($questionData['match_sex'])) { $matchSex->setValue($questionData['match_sex']); } $this->addElement($matchSex); } }
public function manage($params) { $groupId = (int) $params['groupId']; if (empty($groupId)) { throw new Redirect404Exception(); } $service = GROUPS_BOL_Service::getInstance(); $feedService = GROUPRSS_BOL_FeedService::getInstance(); $language = OW::getLanguage(); $config = OW::getConfig(); $userId = OW::getUser()->getId(); $groupDto = $service->findGroupById($groupId); if ($groupDto === null) { throw new Redirect404Exception(); } $whoCanAdd = $config->getValue('grouprss', 'actionMember'); if ($whoCanAdd == 'admin' && !OW::getUser()->isAdmin()) { throw new Redirect404Exception(); } $mypaths = explode("/", UTIL_Url::selfUrl()); $groupId = strtolower(end($mypaths)); if ($groupId == 'customize') { $groupId = strtolower(prev($mypaths)); } if ($whoCanAdd == 'creator' && $feedService->getGroupCreater($groupId) !== $userId) { throw new Redirect404Exception(); } if ($whoCanAdd == 'both') { if (!OW::getUser()->isAdmin() && $feedService->getGroupCreater($groupId) !== $userId) { throw new Redirect404Exception(); } } $userList = $service->findGroupUserIdList($groupId); $userService = BOL_UserService::getInstance(); $feedService = GROUPRSS_BOL_FeedService::getInstance(); $newForm = new Form('newForm'); $element = new Selectbox('feedUser'); $element->setLabel($language->text('grouprss', 'newsfeed_user')); $element->setRequired(); foreach ($userList as $key => $user) { $element->addOption($user, $userService->getDisplayName($user)); } $newForm->addElement($element); $element = new TextField('feedUrl'); $element->setRequired(true); $validator = new UrlValidator(); $validator->setErrorMessage($language->text('grouprss', 'invalid_feed_url')); $element->addValidator($validator); $element->setLabel($language->text('grouprss', 'new_feed_url')); $newForm->addElement($element); $element = new TextField('feedCount'); $element->setValue("2"); $element->setRequired(); $element->setLabel(OW::getLanguage()->text('grouprss', 'user_feed_count')); $validator = new IntValidator(1, 50); $validator->setErrorMessage(OW::getLanguage()->text('grouprss', 'invalid_feed_count_error')); $element->addValidator($validator); $newForm->addElement($element); $element = new Submit('addFeed'); $element->setValue(OW::getLanguage()->text('grouprss', 'add_new_feed')); $newForm->addElement($element); if (OW::getRequest()->isPost()) { if ($newForm->isValid($_POST)) { $values = $newForm->getValues(); $userId = $values['feedUser']; $feedUrl = $values['feedUrl']; $feedCount = $values['feedCount']; if ($feedService->isDuplicate($groupId, $feedUrl)) { OW::getFeedback()->error($language->text('grouprss', 'add_feed_duplicate_error')); } else { $feedService->addFeed($groupId, $userId, $feedUrl, $feedCount); OW::getFeedback()->info($language->text('grouprss', 'add_feed_success')); GROUPRSS_BOL_FeedService::getInstance()->addAllGroupFeed(); } } } $this->addForm($newForm); $allFeeds = $feedService->findByGroup($groupId); $feedDetails = array(); $deleteFeeds = array(); foreach ($allFeeds as $feed) { $feedDetails[$feed->id]['feedID'] = $feed->id; $feedDetails[$feed->id]['groupID'] = $feed->groupId; $feedDetails[$feed->id]['userID'] = $feed->userId; $feedDetails[$feed->id]['userName'] = $userService->getDisplayName($feed->userId); $feedDetails[$feed->id]['userURL'] = $userService->getUserUrl($feed->userId); $feedDetails[$feed->id]['feedURL'] = $feed->feedUrl; $feedDetails[$feed->id]['feedCount'] = $feed->feedCount; $feedDetails[$feed->id]['timestamp'] = $feed->timestamp; $deleteFeeds[$feed->id] = OW::getRouter()->urlFor(__CLASS__, 'delete', array('id' => $feed->id, 'groupId' => $groupId)); } $this->assign('feedDetails', $feedDetails); $this->assign('deleteFeeds', $deleteFeeds); OW::getDocument()->addStyleSheet(OW::getPluginManager()->getPlugin('grouprss')->getStaticCssUrl() . 'style.css'); OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('grouprss')->getStaticJsUrl() . 'jquery.tablesorter.min.js'); $this->setPageHeading(OW::getLanguage()->text('grouprss', 'manage_settings_title')); $this->setPageTitle(OW::getLanguage()->text('grouprss', 'manage_settings_title')); $this->setPageHeadingIconClass('ow_ic_gear_wheel'); }
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); }
public function index() { $this->setPageTitle(OW::getLanguage()->text('contactus', 'index_page_title')); $this->setPageHeading(OW::getLanguage()->text('contactus', 'index_page_heading')); $contactEmails = array(); $contacts = CONTACTUS_BOL_Service::getInstance()->getDepartmentList(); foreach ($contacts as $contact) { /* @var $contact CONTACTUS_BOL_Department */ $contactEmails[$contact->id]['label'] = CONTACTUS_BOL_Service::getInstance()->getDepartmentLabel($contact->id); $contactEmails[$contact->id]['email'] = $contact->email; } $form = new Form('contact_form'); $fieldTo = new Selectbox('to'); foreach ($contactEmails as $id => $value) { $fieldTo->addOption($id, $value['label']); } $fieldTo->setRequired(); $fieldTo->setHasInvitation(false); $fieldTo->setLabel($this->text('contactus', 'form_label_to')); $form->addElement($fieldTo); $fieldFrom = new TextField('from'); $fieldFrom->setLabel($this->text('contactus', 'form_label_from')); $fieldFrom->setRequired(); $fieldFrom->addValidator(new EmailValidator()); if (ow::getUser()->isAuthenticated()) { $fieldFrom->setValue(OW::getUser()->getEmail()); } $form->addElement($fieldFrom); $fieldSubject = new TextField('subject'); $fieldSubject->setLabel($this->text('contactus', 'form_label_subject')); $fieldSubject->setRequired(); $form->addElement($fieldSubject); $fieldMessage = new Textarea('message'); $fieldMessage->setLabel($this->text('contactus', 'form_label_message')); $fieldMessage->setRequired(); $form->addElement($fieldMessage); $fieldCaptcha = new CaptchaField('captcha'); $fieldCaptcha->setLabel($this->text('contactus', 'form_label_captcha')); $form->addElement($fieldCaptcha); $submit = new Submit('send'); $submit->setValue($this->text('contactus', 'form_label_submit')); $form->addElement($submit); $this->addForm($form); if (OW::getRequest()->isPost()) { if ($form->isValid($_POST)) { $data = $form->getValues(); if (!array_key_exists($data['to'], $contactEmails)) { OW::getFeedback()->error($this->text('contactus', 'no_department')); return; } $mail = OW::getMailer()->createMail(); $mail->addRecipientEmail($contactEmails[$data['to']]['email']); $mail->setSender($data['from']); $mail->setSenderSuffix(false); $mail->setSubject($data['subject']); $mail->setTextContent($data['message']); OW::getMailer()->addToQueue($mail); OW::getSession()->set('contactus.dept', $contactEmails[$data['to']]['label']); $this->redirectToAction('sent'); } } }
/** * Class constructor * */ public function __construct($maxUploadMaxFilesize) { parent::__construct('userSettingsForm'); $this->setEnctype("multipart/form-data"); $language = OW::getLanguage(); // avatar size Field $avatarSize = new TextField('avatarSize'); $avatarSize->setRequired(true); $validator = new IntValidator(40, 150); $validator->setErrorMessage($language->text('admin', 'user_settings_avatar_size_error', array('max' => 150))); $avatarSize->addValidator($validator); $this->addElement($avatarSize->setLabel($language->text('admin', 'user_settings_avatar_size_label'))); // big avatar size Field $bigAvatarSize = new TextField('bigAvatarSize'); $bigAvatarSize->setRequired(true); $validator = new IntValidator(150, 250); $validator->setErrorMessage($language->text('admin', 'user_settings_big_avatar_size_error', array('max' => 250))); $bigAvatarSize->addValidator($validator); $this->addElement($bigAvatarSize->setLabel($language->text('admin', 'user_settings_big_avatar_size_label'))); // --- avatar max size $maxUploadMaxFilesizeValidator = new FloatValidator(0, $maxUploadMaxFilesize); $maxUploadMaxFilesizeValidator->setErrorMessage($language->text('admin', 'settings_max_upload_size_error')); $avatarMaxUploadSize = new TextField('avatar_max_upload_size'); $avatarMaxUploadSize->setLabel($language->text('admin', 'input_settings_avatar_max_upload_size_label')); $avatarMaxUploadSize->addValidator($maxUploadMaxFilesizeValidator); $this->addElement($avatarMaxUploadSize); // --- avatar max size if (!defined('OW_PLUGIN_XP')) { // confirm Email $confirmEmail = new CheckboxField('confirmEmail'); $confirmEmail->setValue(OW::getConfig()->getValue('base', 'confirm_email')); $this->addElement($confirmEmail->setLabel($language->text('admin', 'user_settings_confirm_email'))); } // display name Field $displayNameField = new Selectbox('displayName'); $displayNameField->setRequired(true); $questions = array('username' => $language->text('base', 'questions_question_username_label'), 'realname' => $language->text('base', 'questions_question_realname_label')); $displayNameField->setHasInvitation(false); $displayNameField->setOptions($questions); $this->addElement($displayNameField->setLabel($language->text('admin', 'user_settings_display_name'))); $avatar = new FileField('avatar'); $this->addElement($avatar); $bigAvatar = new FileField('bigAvatar'); $this->addElement($bigAvatar); // -- $joinConfigField = new Selectbox('join_display_photo_upload'); $options = array(BOL_UserService::CONFIG_JOIN_DISPLAY_PHOTO_UPLOAD => $language->text('base', 'config_join_display_photo_upload_display_label'), BOL_UserService::CONFIG_JOIN_DISPLAY_AND_SET_REQUIRED_PHOTO_UPLOAD => $language->text('base', 'config_join_display_photo_upload_display_and_require_label'), BOL_UserService::CONFIG_JOIN_NOT_DISPLAY_PHOTO_UPLOAD => $language->text('base', 'config_join_display_photo_upload_not_display_label')); $joinConfigField->addOptions($options); $joinConfigField->setHasInvitation(false); $joinConfigField->setValue(OW::getConfig()->getValue('base', 'join_display_photo_upload')); $this->addElement($joinConfigField); // -- $joinConfigField = new CheckboxField('join_display_terms_of_use'); $joinConfigField->setValue(OW::getConfig()->getValue('base', 'join_display_terms_of_use')); $this->addElement($joinConfigField); //--- privacy -----/// $config = OW::getConfig(); $baseConfigs = $config->getValues('base'); $userApprove = new CheckboxField('user_approve'); $userApprove->setLabel($language->text('admin', 'permissions_index_user_approve')); $this->addElement($userApprove); $whoCanJoin = new RadioField('who_can_join'); $whoCanJoin->addOptions(array('1' => $language->text('admin', 'permissions_index_anyone_can_join'), '2' => $language->text('admin', 'permissions_index_by_invitation_only_can_join'))); $whoCanJoin->setLabel($language->text('admin', 'permissions_index_who_can_join')); $this->addElement($whoCanJoin); $whoCanInvite = new RadioField('who_can_invite'); $whoCanInvite->addOptions(array('1' => $language->text('admin', 'permissions_index_all_users_can_invate'), '2' => $language->text('admin', 'permissions_index_admin_only_can_invate'))); $whoCanInvite->setLabel($language->text('admin', 'permissions_index_who_can_invite')); $this->addElement($whoCanInvite); $guestsCanView = new RadioField('guests_can_view'); $guestsCanView->addOptions(array('1' => $language->text('admin', 'permissions_index_yes'), '2' => $language->text('admin', 'permissions_index_no'), '3' => $language->text('admin', 'permissions_index_with_password'))); $guestsCanView->setLabel($language->text('admin', 'permissions_index_guests_can_view_site')); $guestsCanView->setDescription($language->text('admin', 'permissions_idex_if_not_yes_will_override_settings')); $this->addElement($guestsCanView); $password = new TextField('password'); $password->setHasInvitation(true); if ($baseConfigs['guests_can_view'] == 3) { $password->setInvitation($language->text('admin', 'change_password')); } else { $password->setInvitation($language->text('admin', 'add_password')); } $this->addElement($password); // --- // //-- profile questions --// $userViewPresentationnew = new CheckboxField("user_view_presentation"); $userViewPresentationnew->setLabel($language->text('base', 'questions_config_user_view_presentation_label')); $userViewPresentationnew->setDescription($language->text('base', 'questions_config_user_view_presentation_description')); $this->addElement($userViewPresentationnew); // --- // // submit $submit = new Submit('save'); $submit->setValue($language->text('admin', 'save_btn_label')); $this->addElement($submit); }
public function settings() { $language = OW::getLanguage(); $config = OW::getConfig(); $adminForm = new Form('adminForm'); $element = new TextField('introWidth'); $element->setValue($config->getValue('sitetour', 'introWidth')); $element->setLabel($language->text('sitetour', 'intro_width')); $element->setRequired(); $element->addValidator(new IntValidator(1)); $adminForm->addElement($element); $element = new TextField('guidePos'); $element->setValue($config->getValue('sitetour', 'guidePos')); $element->setLabel($language->text('sitetour', 'guide_pos')); $element->setRequired(); $element->addValidator(new IntValidator(1)); $adminForm->addElement($element); $element = new TextField('guideColor'); $element->setValue($config->getValue('sitetour', 'guideColor')); $element->setLabel($language->text('sitetour', 'guide_color')); $element->setId('colorBox'); $adminForm->addElement($element); $element = new CheckboxField('enableForGuests'); $element->setValue($config->getValue('sitetour', 'enableForGuests')); $element->setLabel($language->text('sitetour', 'enable_for_guests')); $adminForm->addElement($element); $element = new CheckboxField('enableRTL'); $element->setValue($config->getValue('sitetour', 'enableRTL')); $element->setLabel($language->text('sitetour', 'enable_rtl')); $adminForm->addElement($element); $element = new Selectbox('exitOnEsc'); $element->addOptions(array('true' => $language->text('sitetour', 'enabled'), 'false' => $language->text('sitetour', 'disabled'))); $element->setValue($config->getValue('sitetour', 'exitOnEsc')); $element->setLabel($language->text('sitetour', 'exit_esc')); $element->setRequired(); $adminForm->addElement($element); $element = new Selectbox('exitOnOverlayClick'); $element->addOptions(array('true' => $language->text('sitetour', 'enabled'), 'false' => $language->text('sitetour', 'disabled'))); $element->setValue($config->getValue('sitetour', 'exitOnOverlayClick')); $element->setLabel($language->text('sitetour', 'exit_overlay_click')); $element->setRequired(); $adminForm->addElement($element); $element = new Selectbox('showStepNumbers'); $element->addOptions(array('true' => $language->text('sitetour', 'enabled'), 'false' => $language->text('sitetour', 'disabled'))); $element->setValue($config->getValue('sitetour', 'showStepNumbers')); $element->setLabel($language->text('sitetour', 'show_step_numbers')); $element->setRequired(); $adminForm->addElement($element); $element = new Selectbox('keyboardNavigation'); $element->addOptions(array('true' => $language->text('sitetour', 'enabled'), 'false' => $language->text('sitetour', 'disabled'))); $element->setValue($config->getValue('sitetour', 'keyboardNavigation')); $element->setLabel($language->text('sitetour', 'keyboard_navigation')); $element->setRequired(); $adminForm->addElement($element); $element = new Selectbox('showButtons'); $element->addOptions(array('true' => $language->text('sitetour', 'enabled'), 'false' => $language->text('sitetour', 'disabled'))); $element->setValue($config->getValue('sitetour', 'showButtons')); $element->setLabel($language->text('sitetour', 'show_buttons')); $element->setRequired(); $adminForm->addElement($element); $element = new Selectbox('showBullets'); $element->addOptions(array('true' => $language->text('sitetour', 'enabled'), 'false' => $language->text('sitetour', 'disabled'))); $element->setValue($config->getValue('sitetour', 'showBullets')); $element->setLabel($language->text('sitetour', 'show_bullets')); $element->setRequired(); $adminForm->addElement($element); $element = new Submit('saveSettings'); $element->setValue($language->text('sitetour', 'admin_save_settings')); $adminForm->addElement($element); if (OW::getRequest()->isPost()) { if ($adminForm->isValid($_POST)) { $values = $adminForm->getValues(); $config->saveConfig('sitetour', 'enableForGuests', $values['enableForGuests']); $config->saveConfig('sitetour', 'enableRTL', $values['enableRTL']); $config->saveConfig('sitetour', 'exitOnEsc', $values['exitOnEsc']); $config->saveConfig('sitetour', 'exitOnOverlayClick', $values['exitOnOverlayClick']); $config->saveConfig('sitetour', 'showStepNumbers', $values['showStepNumbers']); $config->saveConfig('sitetour', 'keyboardNavigation', $values['keyboardNavigation']); $config->saveConfig('sitetour', 'showButtons', $values['showButtons']); $config->saveConfig('sitetour', 'showBullets', $values['showBullets']); $config->saveConfig('sitetour', 'introWidth', $values['introWidth']); $config->saveConfig('sitetour', 'guideColor', $values['guideColor']); $config->saveConfig('sitetour', 'guidePos', $values['guidePos']); OW::getFeedback()->info($language->text('sitetour', 'user_save_success')); } } $this->addForm($adminForm); OW::getDocument()->addStyleSheet(OW::getPluginManager()->getPlugin('sitetour')->getStaticCssUrl() . 'spectrum.css'); OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('sitetour')->getStaticJsUrl() . 'spectrum.js'); $this->setPageHeading(OW::getLanguage()->text('sitetour', 'admin_settings_title')); $this->setPageTitle(OW::getLanguage()->text('sitetour', 'admin_settings_title')); $this->setPageHeadingIconClass('ow_ic_gear_wheel'); }
public function edit($params) { if (!isset($params['questionId'])) { throw new Redirect404Exception(); } $questionId = (int) @$params['questionId']; if (empty($questionId)) { throw new Redirect404Exception(); } $this->addContentMenu(); $this->contentMenu->getElement('qst_index')->setActive(true); $editQuestion = $this->questionService->findQuestionById($questionId); $parent = $editQuestion->parent; $parentIsset = false; if (!empty($parent)) { $parentDto = $this->questionService->findQuestionByName($parent); $parentIsset = !empty($parentDto) ? true : false; if ($parentIsset) { $this->assign('parentUrl', OW::getRouter()->urlFor('ADMIN_CTRL_Questions', 'edit', array("questionId" => $parentDto->id))); $this->assign('parentLabel', $this->questionService->getQuestionLang($parentDto->name)); } } $this->assign('parentIsset', $parentIsset); if ($editQuestion === null) { throw new Redirect404Exception(); } $this->assign('question', $editQuestion); //$editQuestionToAccountType = $this->questionService->findAccountTypeByQuestionName( $editQuestion->name ); // get available account types from DB /* @var BOL_QuestionService $this->questionService */ $accountTypes = $this->questionService->findAllAccountTypes(); $serviceLang = BOL_LanguageService::getInstance(); $language = OW::getLanguage(); $currentLanguageId = OW::getLanguage()->getCurrentId(); $accounts = array(BOL_QuestionService::ALL_ACCOUNT_TYPES => $language->text('base', 'questions_account_type_all')); /* @var $value BOL_QuestionAccount */ foreach ($accountTypes as $value) { $accounts[$value->name] = $language->text('base', 'questions_account_type_' . $value->name); } $sections = $this->questionService->findAllSections(); // need to hide sections select box if (empty($section)) { $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'); } $presentations = array(); $presentationsLabel = array(); $presentationList = $this->questionService->getPresentations(); if ($editQuestion->name != 'password') { unset($presentationList[BOL_QuestionService::QUESTION_PRESENTATION_PASSWORD]); } foreach ($presentationList as $presentationKey => $presentation) { if ($presentationList[$editQuestion->presentation] == $presentation) { $presentations[$presentationKey] = $presentationKey; //TODO add langs with presentation labels $presentationsLabel[$presentationKey] = $language->text('base', 'questions_question_presentation_' . $presentationKey . '_label'); } } $presentation = $editQuestion->presentation; if (OW::getSession()->isKeySet(self::EDIT_QUESTION_SESSION_VAR)) { $session = OW::getSession()->get(self::EDIT_QUESTION_SESSION_VAR); if (isset($session['qst_answer_type']) && isset($presentations[$session['qst_answer_type']])) { $presentation = $presentations[$session['qst_answer_type']]; } } if (isset($_POST['qst_answer_type']) && isset($presentations[$_POST['qst_answer_type']])) { $presentation = $presentations[$_POST['qst_answer_type']]; } //$this->addForm(new LanguageValueEditForm( 'base', 'questions_question_' . ($editQuestion->id) . '_label', $this ) ); //-- ------------------------------------- //-- add question values form creating //-- ------------------------------------- $questionValues = $this->questionService->findQuestionValues($editQuestion->name); $this->assign('questionValues', $questionValues); //add field values form $addQuestionValuesForm = new AddValuesForm($questionId); $addQuestionValuesForm->setAction($this->ajaxResponderUrl); $this->addForm($addQuestionValuesForm); //-- ------------------------------------- //-- edit field form creating //-- ------------------------------------- $editForm = new Form('qst_edit_form'); $editForm->setId('qst_edit_form'); $disableActionList = array('disable_account_type' => false, 'disable_answer_type' => false, 'disable_presentation' => false, 'disable_column_count' => false, 'disable_display_config' => false, 'disable_required' => false, 'disable_on_join' => false, 'disable_on_view' => false, 'disable_on_search' => false, 'disable_on_edit' => false); $event = new OW_Event('admin.disable_fields_on_edit_profile_question', array('questionDto' => $editQuestion), $disableActionList); OW::getEventManager()->trigger($event); $disableActionList = $event->getData(); if (count($accountTypes) > 1) { $qstAccountType = new Selectbox('qst_account_type'); $qstAccountType->setLabel($language->text('admin', 'questions_for_account_type_label')); $qstAccountType->setDescription($language->text('admin', 'questions_for_account_type_description')); $qstAccountType->setOptions($accounts); $qstAccountType->setValue(BOL_QuestionService::ALL_ACCOUNT_TYPES); $qstAccountType->setHasInvitation(false); if ($editQuestion->accountTypeName !== null) { $qstAccountType->setValue($editQuestion->accountTypeName); } if ($editQuestion->base == 1) { $qstAccountType->addAttribute('disabled', 'disabled'); } else { if ($disableActionList['disable_account_type']) { $qstAnswerType->setRequired(false); $qstAccountType->addAttribute('disabled', 'disabled'); } } $editForm->addElement($qstAccountType); } if (!empty($sectionsArray)) { $qstSection = new Selectbox('qst_section'); $qstSection->setLabel($language->text('admin', 'questions_question_section_label')); $qstSection->setOptions($sectionsArray); $qstSection->setValue($editQuestion->sectionName); $qstSection->setHasInvitation(false); $editForm->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->setValue($presentation); $qstAnswerType->setRequired(); $qstAnswerType->setHasInvitation(false); if ($parentIsset) { $qstAnswerType->setValue($parentDto->columnCount); $qstAnswerType->addAttribute('disabled', 'disabled'); } if ((int) $editQuestion->base === 1 || count($presentations) <= 1 || $parentIsset || $disableActionList['disable_answer_type']) { $qstAnswerType->setRequired(false); $qstAnswerType->addAttribute('disabled', 'disabled'); } $editForm->addElement($qstAnswerType); $columnCountPresentation = array(BOL_QuestionService::QUESTION_PRESENTATION_MULTICHECKBOX, BOL_QuestionService::QUESTION_PRESENTATION_RADIO); if (in_array($presentation, $columnCountPresentation)) { $qstColumnCount = new Selectbox('qst_column_count'); $qstColumnCount->addAttribute('class', $qstColumnCount->getName()); $qstColumnCount->setLabel($language->text('admin', 'questions_columns_count_label')); $qstColumnCount->setRequired(); $qstColumnCount->setOptions($this->qstColumnCountValues); $qstColumnCount->setValue($editQuestion->columnCount); $parentIsset = !empty($parentDto) ? true : false; if ($parentIsset) { $qstColumnCount->setValue($parentDto->columnCount); $qstColumnCount->addAttribute('disabled', 'disabled'); $qstColumnCount->setRequired(false); } else { if ($disableActionList['disable_column_count']) { $qstAnswerType->setRequired(false); $qstAnswerType->addAttribute('disabled', 'disabled'); } } $editForm->addElement($qstColumnCount); } $presentationConfigList = BOL_QuestionService::getInstance()->getConfigList($presentation); $presentationConfigValues = json_decode($editQuestion->custom, true); if ($editQuestion->name !== 'joinStamp' && !$disableActionList['disable_display_config']) { foreach ($presentationConfigList as $config) { $className = $config->presentationClass; /* @var $qstConfig OW_FormElement */ $qstConfig = new $className($config->name); $qstConfig->setLabel($language->text('admin', 'questions_config_' . $config->name . '_label')); if (!empty($config->description)) { $qstConfig->setDescription($config->description); } if (isset($presentationConfigValues[$config->name])) { $qstConfig->setValue($presentationConfigValues[$config->name]); } $editForm->addElement($qstConfig); } } $qstRequired = new CheckboxField('qst_required'); $qstRequired->setLabel($language->text('admin', 'questions_required_label')); $qstRequired->setDescription($language->text('admin', 'questions_required_description')); $qstRequired->setValue((bool) $editQuestion->required); if ((int) $editQuestion->base === 1 || $disableActionList['disable_required']) { $qstRequired->addAttribute('disabled', 'disabled'); } $editForm->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')); $qstOnSignUp->setValue((bool) $editQuestion->onJoin); if ((int) $editQuestion->base === 1 || $disableActionList['disable_on_join']) { $qstOnSignUp->addAttribute('disabled', 'disabled'); } $editForm->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')); $qstOnEdit->setValue((bool) $editQuestion->onEdit); $description = $language->text('admin', 'questions_on_edit_description'); if ($editQuestion->name === 'username') { $qstOnEdit->setDescription($language->text('admin', 'questions_on_edit_description') . "<br/><br/>" . $language->text('admin', 'questions_edit_username_warning')); } else { if ((int) $editQuestion->base === 1 || $disableActionList['disable_on_edit']) { $qstOnEdit->addAttribute('disabled', 'disabled'); } } $editForm->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')); $qstOnView->setValue((bool) $editQuestion->onView); if ((int) $editQuestion->base === 1 && $editQuestion->name !== 'joinStamp' || $disableActionList['disable_on_view']) { $qstOnView->addAttribute('disabled', 'disabled'); } $editForm->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')); $qstOnSearch->setValue((bool) $editQuestion->onSearch); if ((int) $editQuestion->base === 1 && $editQuestion->name != 'username' || $parentIsset || $disableActionList['disable_on_search']) { $qstOnSearch->addAttribute('disabled', 'disabled'); } $editForm->addElement($qstOnSearch); $qstSubmit = new Submit('qst_submit'); $qstSubmit->addAttribute('class', 'ow_button ow_ic_save'); $qstSubmit->setValue($language->text('admin', 'btn_label_edit')); $editForm->addElement($qstSubmit); if (OW::getSession()->isKeySet(self::EDIT_QUESTION_SESSION_VAR)) { $editForm->setValues(OW::getSession()->get(self::EDIT_QUESTION_SESSION_VAR)); OW::getSession()->delete(self::EDIT_QUESTION_SESSION_VAR); } $this->addForm($editForm); if (OW_Request::getInstance()->isPost()) { if ((isset($_POST['qst_submit_and_add']) || isset($_POST['qst_submit'])) && $editForm->isValid($_POST)) { OW::getSession()->delete(self::EDIT_QUESTION_SESSION_VAR); $updated = false; $data = $editForm->getValues(); $elements = $editForm->getElements(); foreach ($elements as $element) { if (!$element->getAttribute('disabled')) { switch ($element->getName()) { case 'qst_required': $editQuestion->required = isset($_POST['qst_required']) ? 1 : 0; break; case 'qst_on_sign_up': $editQuestion->onJoin = isset($_POST['qst_on_sign_up']) ? 1 : 0; break; case 'qst_on_edit': $editQuestion->onEdit = isset($_POST['qst_on_edit']) ? 1 : 0; break; case 'qst_on_search': $editQuestion->onSearch = isset($_POST['qst_on_search']) ? 1 : 0; break; case 'qst_on_view': $editQuestion->onView = isset($_POST['qst_on_view']) ? 1 : 0; break; case 'qst_answer_type': $editQuestion->presentation = htmlspecialchars($data['qst_answer_type']); break; case 'qst_column_count': $editQuestion->columnCount = htmlspecialchars($data['qst_column_count']); break; case 'qst_section': if (!empty($data['qst_section'])) { $section = $this->questionService->findSectionBySectionName(htmlspecialchars(trim($data['qst_section']))); $sectionName = null; if (isset($section)) { $sectionName = $section->name; } if ($editQuestion->sectionName !== $sectionName) { $editQuestion->sectionName = $sectionName; $editQuestion->sortOrder = (int) BOL_QuestionService::getInstance()->findLastQuestionOrder($editQuestion->sectionName) + 1; } } break; case 'qst_account_type': if ($data['qst_account_type'] !== null) { $editQuestion->accountTypeName = htmlspecialchars(trim($data['qst_account_type'])); if ($editQuestion->accountTypeName === BOL_QuestionService::ALL_ACCOUNT_TYPES) { $editQuestion->accountTypeName = null; } } break; } } } if (!$disableActionList['disable_display_config']) { // save question configs $configs = array(); foreach ($presentationConfigList as $config) { if (isset($data[$config->name])) { $configs[$config->name] = $data[$config->name]; } } $editQuestion->custom = json_encode($configs); } $this->questionService->saveOrUpdateQuestion($editQuestion); if (OW::getDbo()->getAffectedRows() > 0) { $updated = true; $list = $this->questionService->findQuestionChildren($editQuestion->name); /* @var BOL_Question $child */ foreach ($list as $child) { $child->columnCount = $editQuestion->columnCount; $this->questionService->saveOrUpdateQuestion($child); } } //update question values sort if (isset($_POST['question_values_order'])) { $valuesOrder = json_decode($_POST['question_values_order'], true); if (isset($valuesOrder) && count($valuesOrder) > 0 && is_array($valuesOrder)) { foreach ($questionValues as $questionValue) { if (isset($valuesOrder[$questionValue->value])) { $questionValue->sortOrder = (int) $valuesOrder[$questionValue->value]; } $this->questionService->saveOrUpdateQuestionValue($questionValue); if (OW::getDbo()->getAffectedRows() > 0) { $updated = true; } } } } if ($updated) { OW::getFeedback()->info($language->text('admin', 'questions_update_question_message')); } else { OW::getFeedback()->info($language->text('admin', 'questions_question_was_not_updated_message')); } //exit; $this->redirect(OW::getRouter()->urlFor('ADMIN_CTRL_Questions', 'index')); } $editForm->setValues($_POST); OW::getSession()->set(self::EDIT_QUESTION_SESSION_VAR, $_POST); //OW::getFeedback()->error($language->text('admin', 'questions_question_was_not_updated_message')); $this->redirect(); } $types = array(); foreach ($this->questionService->getPresentations() as $presentation => $type) { if ($type === 'select') { $types[] = $presentation; } } $questionLabel = $this->questionService->getQuestionLang($editQuestion->name); $questionDescription = $this->questionService->getQuestionDescriptionLang($editQuestion->name); $noValue = $language->text('admin', 'questions_empty_lang_value'); $questionLabel = mb_strlen(trim($questionLabel)) == 0 || $questionLabel == ' ' ? $noValue : $questionLabel; $questionDescription = mb_strlen(trim($questionDescription)) == 0 || $questionDescription == ' ' ? $noValue : $questionDescription; $this->assign('questionLabel', $questionLabel); $this->assign('questionDescription', $questionDescription); $language->addKeyForJs('admin', 'questions_empty_lang_value'); $language->addKeyForJs('admin', 'questions_edit_question_name_title'); $language->addKeyForJs('admin', 'questions_edit_question_description_title'); $language->addKeyForJs('admin', 'questions_edit_question_value_title'); $language->addKeyForJs('admin', 'questions_edit_delete_value_confirm_message'); $fields = array(); foreach ($editForm->getElements() as $element) { if (!$element instanceof HiddenField) { $fields[$element->getName()] = $element->getName(); } } $this->assign('formData', $fields); $script = ' window.editQuestion = new editQuestion(' . json_encode(array('types' => $types, 'ajaxResponderUrl' => $this->ajaxResponderUrl)) . '); '; OW::getDocument()->addOnloadScript($script); $jsDir = OW::getPluginManager()->getPlugin("admin")->getStaticJsUrl(); $baseJsDir = OW::getPluginManager()->getPlugin("base")->getStaticJsUrl(); OW::getDocument()->addScript($jsDir . "questions.js"); OW::getDocument()->addScript($baseJsDir . "jquery-ui.min.js"); }
public function __construct($videoId) { parent::__construct('videoEditForm'); $language = OW::getLanguage(); $videoIdField = new HiddenField('id'); $videoIdField->setRequired(true); $this->addElement($videoIdField); $titleField = new TextField('name'); $titleField->addValidator(new StringValidator(1, 128)); $titleField->setRequired(true); $this->addElement($titleField->setLabel($language->text('ivideo', 'upload_video_name'))); $descField = new WysiwygTextarea('description'); $this->addElement($descField->setLabel($language->text('ivideo', 'upload_video_desc'))); $element = new Selectbox('category'); $element->setRequired(true); $element->setLabel($language->text('ivideo', 'admin_video_category')); foreach (IVIDEO_BOL_CategoryDao::getInstance()->findAll() as $category) { $element->addOption($category->id, $category->name); } $this->addElement($element); $entityTags = BOL_TagService::getInstance()->findEntityTags($videoId, 'ivideo-video'); if ($entityTags) { $tags = array(); foreach ($entityTags as $entityTag) { $tags[] = $entityTag->label; } $tagsField = new TagsField('tags', $tags); } else { $tagsField = new TagsField('tags'); } $this->addElement($tagsField->setLabel($language->text('ivideo', 'tags_field_label'))); $submit = new Submit('edit'); $submit->setValue($language->text('ivideo', 'button_edit_label')); $this->addElement($submit); }
public function __construct($assignedMemberships) { parent::__construct('add-membership-form'); $this->assignedMemberships = $assignedMemberships; $lang = OW::getLanguage(); $accTypeField = new HiddenField('accType'); $accTypeField->setRequired(true); $this->addElement($accTypeField); $rolesField = new Selectbox('role'); $roles = MEMBERSHIP_BOL_MembershipService::getInstance()->getRolesAvailableForMembership($this->assignedMemberships); $options = array(); foreach ($roles as $role) { $options[$role->id] = $lang->text('base', 'authorization_role_' . $role->name); } if (count($options)) { $rolesField->setOptions($options); } $rolesField->setRequired(true)->setLabel($lang->text('membership', 'select_role')); $this->addElement($rolesField); $periodField = new TextField('period'); $periodField->setRequired(true); $periodField->addValidator(new IntValidator(1, 100000)); $this->addElement($periodField); $priceField = new TextField('price'); $priceField->setRequired(true); $priceField->addValidator(new FloatValidator(0, 1000000)); $this->addElement($priceField); $recurringField = new CheckboxField('isRecurring'); $this->addElement($recurringField); // submit $submit = new Submit('save'); $submit->setValue($lang->text('membership', 'add_btn')); $this->addElement($submit); }
/** * Class constructor * */ public function __construct() { parent::__construct('configSaveForm'); $language = OW::getLanguage(); // baseSwf_url Field $baseSwf_urlField = new TextField('baseSwf_url'); $baseSwf_urlField->addAttribute('readonly', 'readonly'); $this->addElement($baseSwf_urlField->setLabel($language->text('vwvc', 'baseSwf_url'))); // server Field $serverField = new TextField('server'); $serverField->setRequired(true); $this->addElement($serverField->setLabel($language->text('vwvc', 'server'))); // serverAMF Field $serverAMFField = new TextField('serverAMF'); $serverAMFField->setRequired(true); $this->addElement($serverAMFField->setLabel($language->text('vwvc', 'serverAMF'))); // serverRTMFP Field $serverRTMFPField = new TextField('serverRTMFP'); $serverRTMFPField->setRequired(true); $this->addElement($serverRTMFPField->setLabel($language->text('vwvc', 'serverRTMFP'))); // select box for certain parameters $par = array('0' => 'no', '1' => 'yes'); $par1 = array('1' => 'yes', '0' => 'no'); // enableRTMP Field $enableRTMPField = new Selectbox('enableRTMP'); $enableRTMPField->addOptions($par1); $enableRTMPField->setRequired(); $enableRTMPField->setHasInvitation(false); $this->addElement($enableRTMPField->setLabel($language->text('vwvc', 'enableRTMP'))); // enableP2P Field $enableP2PField = new Selectbox('enableP2P'); $enableP2PField->addOptions($par); $enableP2PField->setRequired(); $enableP2PField->setHasInvitation(false); $this->addElement($enableP2PField->setLabel($language->text('vwvc', 'enableP2P'))); // supportRTMP Field $supportRTMPField = new Selectbox('supportRTMP'); $supportRTMPField->addOptions($par1); $supportRTMPField->setRequired(); $supportRTMPField->setHasInvitation(false); $this->addElement($supportRTMPField->setLabel($language->text('vwvc', 'supportRTMP'))); // supportP2P Field $supportP2PField = new Selectbox('supportP2P'); $supportP2PField->addOptions($par1); $supportP2PField->setRequired(); $supportP2PField->setHasInvitation(false); $this->addElement($supportP2PField->setLabel($language->text('vwvc', 'supportP2P'))); // alwaysRTMP Field $alwaysRTMPField = new Selectbox('alwaysRTMP'); $alwaysRTMPField->addOptions($par); $alwaysRTMPField->setRequired(); $alwaysRTMPField->setHasInvitation(false); $this->addElement($alwaysRTMPField->setLabel($language->text('vwvc', 'alwaysRTMP'))); // alwaysP2P Field $alwaysP2PField = new Selectbox('alwaysP2P'); $alwaysP2PField->addOptions($par); $alwaysP2PField->setRequired(); $alwaysP2PField->setHasInvitation(false); $this->addElement($alwaysP2PField->setLabel($language->text('vwvc', 'alwaysP2P'))); // videoCodec Field $videoCodecField = new TextField('videoCodec'); $videoCodecField->setRequired(true); $this->addElement($videoCodecField->setLabel($language->text('vwvc', 'videoCodec'))); // codecLevel Field $codecLevelField = new TextField('codecLevel'); $codecLevelField->setRequired(true); $this->addElement($codecLevelField->setLabel($language->text('vwvc', 'codecLevel'))); // codecProfile Field $codecProfileArr = array('main' => 'main', 'baseline' => 'baseline'); $codecProfileField = new Selectbox('codecProfile'); $codecProfileField->addOptions($codecProfileArr); $codecProfileField->setRequired(); $codecProfileField->setHasInvitation(false); $this->addElement($codecProfileField->setLabel($language->text('vwvc', 'codecProfile'))); // soundCodec Field $soundCodecArr = array('Speex' => 'Speex', 'Nellymoser' => 'Nellymoser'); $soundCodecField = new Selectbox('soundCodec'); $soundCodecField->addOptions($soundCodecArr); $soundCodecField->setRequired(); $soundCodecField->setHasInvitation(false); $this->addElement($soundCodecField->setLabel($language->text('vwvc', 'soundCodec'))); // p2pGroup Field $p2pGroupField = new TextField('p2pGroup'); $p2pGroupField->setRequired(true); $this->addElement($p2pGroupField->setLabel($language->text('vwvc', 'p2pGroup'))); // camMaxBandwidth Field $camMaxBandwidthField = new TextField('camMaxBandwidth'); $camMaxBandwidthField->setRequired(true); $this->addElement($camMaxBandwidthField->setLabel($language->text('vwvc', 'camMaxBandwidth'))); // bufferLive Field $bufferLiveField = new TextField('bufferLive'); $bufferLiveField->setRequired(true); $this->addElement($bufferLiveField->setLabel($language->text('vwvc', 'bufferLive'))); // bufferFull Field $bufferFullField = new TextField('bufferFull'); $bufferFullField->setRequired(true); $this->addElement($bufferFullField->setLabel($language->text('vwvc', 'bufferFull'))); // bufferLivePlayback Field $bufferLivePlaybackField = new TextField('bufferLivePlayback'); $bufferLivePlaybackField->setRequired(true); $this->addElement($bufferLivePlaybackField->setLabel($language->text('vwvc', 'bufferLivePlayback'))); // bufferFullPlayback Field $bufferFullPlaybackField = new TextField('bufferFullPlayback'); $bufferFullPlaybackField->setRequired(true); $this->addElement($bufferFullPlaybackField->setLabel($language->text('vwvc', 'bufferFullPlayback'))); // disableBandwidthDetection Field $disableBandwidthDetectionField = new Selectbox('disableBandwidthDetection'); $disableBandwidthDetectionField->addOptions($par); $disableBandwidthDetectionField->setRequired(); $disableBandwidthDetectionField->setHasInvitation(false); $this->addElement($disableBandwidthDetectionField->setLabel($language->text('vwvc', 'disableBandwidthDetection'))); // disableUploadDetection Field $disableUploadDetectionField = new Selectbox('disableUploadDetection'); $disableUploadDetectionField->addOptions($par); $disableUploadDetectionField->setRequired(); $disableUploadDetectionField->setHasInvitation(false); $this->addElement($disableUploadDetectionField->setLabel($language->text('vwvc', 'disableUploadDetection'))); // limitByBandwidth Field $limitByBandwidthField = new Selectbox('limitByBandwidth'); $limitByBandwidthField->addOptions($par); $limitByBandwidthField->setRequired(); $limitByBandwidthField->setHasInvitation(false); $this->addElement($limitByBandwidthField->setLabel($language->text('vwvc', 'limitByBandwidth'))); // ws_ads Field $ws_adsField = new TextField('ws_ads'); $ws_adsField->setRequired(true); $this->addElement($ws_adsField->setLabel($language->text('vwvc', 'ws_ads'))); // adsTimeout Field $adsTimeoutField = new TextField('adsTimeout'); $adsTimeoutField->setRequired(true); $this->addElement($adsTimeoutField->setLabel($language->text('vwvc', 'adsTimeout'))); // adsInterval Field $adsIntervalField = new TextField('adsInterval'); $adsIntervalField->setRequired(true); $this->addElement($adsIntervalField->setLabel($language->text('vwvc', 'adsInterval'))); // statusInterval Field $statusIntervalField = new TextField('statusInterval'); $statusIntervalField->setRequired(true); $this->addElement($statusIntervalField->setLabel($language->text('vwvc', 'statusInterval'))); // availability Field $availabilityField = new TextField('availability'); $availabilityField->setRequired(true); $this->addElement($availabilityField->setLabel($language->text('vwvc', 'availability'))); // status Field $statusBox = array('approved' => 'approved', 'pending' => 'pending'); $statusField = new Selectbox('status'); $statusField->addOptions($statusBox); $statusField->setRequired(); $statusField->setHasInvitation(false); $this->addElement($statusField->setLabel($language->text('vwvc', 'status'))); // who can create room Field $memberBox = array('all' => 'all', 'member' => 'member list'); $memberField = new Selectbox('member'); $memberField->addOptions($memberBox); $memberField->setRequired(); $memberField->setHasInvitation(false); $this->addElement($memberField->setLabel($language->text('vwvc', 'member'))); // member_list Field $member_listField = new Textarea('member_list'); $userService = BOL_UserService::getInstance(); $user = $userService->findUserById(OW::getUser()->getId()); $username = $user->getUsername(); $member_listField->setValue($username); $this->addElement($member_listField->setLabel($language->text('vwvc', 'member_list'))); // submit $submit = new Submit('save'); $submit->setValue($language->text('vwvc', 'btn_edit')); $this->addElement($submit); }
protected function init(array $accounts) { if ($this->displayAccountType) { $joinAccountType = new Selectbox('accountType'); $joinAccountType->setLabel(OW::getLanguage()->text('base', 'questions_question_account_type_label')); $joinAccountType->setRequired(); $joinAccountType->setOptions($accounts); $joinAccountType->setValue($this->accountType); $joinAccountType->setHasInvitation(false); $this->addElement($joinAccountType); } }
public function __construct() { parent::__construct('moneybookers-config-form'); $language = OW::getLanguage(); $billingService = BOL_BillingService::getInstance(); $gwKey = OCSBILLINGMONEYBOOKERS_CLASS_MoneybookersAdapter::GATEWAY_KEY; $merchantId = new TextField('merchantId'); $merchantId->setValue($billingService->getGatewayConfigValue($gwKey, 'merchantId')); $merchantId->setRequired(true); $merchantId->setLabel($language->text('ocsbillingmoneybookers', 'merchant_id')); $this->addElement($merchantId); $merchantEmail = new TextField('merchantEmail'); $merchantEmail->setValue($billingService->getGatewayConfigValue($gwKey, 'merchantEmail')); $merchantEmail->setRequired(true); $merchantEmail->setLabel($language->text('ocsbillingmoneybookers', 'merchant_email')); $this->addElement($merchantEmail); $secret = new TextField('secret'); $secret->setValue($billingService->getGatewayConfigValue($gwKey, 'secret')); $secret->setRequired(true); $secret->setLabel($language->text('ocsbillingmoneybookers', 'secret')); $this->addElement($secret); $sandboxMode = new CheckboxField('sandboxMode'); $sandboxMode->setValue($billingService->getGatewayConfigValue($gwKey, 'sandboxMode')); $sandboxMode->setLabel($language->text('ocsbillingmoneybookers', 'sandbox_mode')); $this->addElement($sandboxMode); $desc = new TextField('recipientDescription'); $desc->setValue($billingService->getGatewayConfigValue($gwKey, 'recipientDescription')); $desc->setLabel($language->text('ocsbillingmoneybookers', 'recipient_description')); $this->addElement($desc); $lang = new Selectbox('language'); $lang->setLabel($language->text('ocsbillingmoneybookers', 'language')); $lang->addOptions(array('EN' => 'EN', 'DE' => 'DE', 'ES' => 'ES', 'FR' => 'FR', 'IT' => 'IT', 'PL' => 'PL', 'GR' => 'GR', 'RO' => 'PO', 'RU' => 'RU', 'TR' => 'TR', 'CN' => 'CN', 'CZ' => 'CZ', 'NL' => 'NL', 'DA' => 'DA', 'SV' => 'SV', 'FI' => 'FI')); $lang->setRequired(true); $lang->setValue($billingService->getGatewayConfigValue($gwKey, 'language')); $this->addElement($lang); // submit $submit = new Submit('save'); $submit->setValue($language->text('ocsbillingmoneybookers', 'btn_save')); $this->addElement($submit); }
public function index($params) { $adminMode = false; $oneAccountType = false; $viewerId = OW::getUser()->getId(); if (!OW::getUser()->isAuthenticated() || $viewerId === null) { throw new AuthenticateException(); } if (!empty($params['userId']) && $params['userId'] != $viewerId) { if (OW::getUser()->isAdmin() || OW::getUser()->isAuthorized('base')) { $adminMode = true; $userId = (int) $params['userId']; $user = BOL_UserService::getInstance()->findUserById($userId); if (empty($user) || BOL_AuthorizationService::getInstance()->isSuperModerator($userId)) { throw new Redirect404Exception(); } $editUserId = $userId; } else { throw new Redirect403Exception(); } } else { $editUserId = $viewerId; $changePassword = new BASE_CMP_ChangePassword(); $this->addComponent("changePassword", $changePassword); $contentMenu = new BASE_CMP_DashboardContentMenu(); $contentMenu->getElement('profile_edit')->setActive(true); $this->addComponent('contentMenu', $contentMenu); $user = OW::getUser()->getUserObject(); //BOL_UserService::getInstance()->findUserById($editUserId); } $accountType = $user->accountType; // dispaly account type if (OW::getUser()->isAdmin() || OW::getUser()->isAuthorized('base')) { $accountType = !empty($_GET['accountType']) ? $_GET['accountType'] : $user->accountType; // get available account types from DB $accountTypes = BOL_QuestionService::getInstance()->findAllAccountTypes(); $accounts = array(); if (count($accountTypes) > 1) { /* @var $value BOL_QuestionAccount */ foreach ($accountTypes as $key => $value) { $accounts[$value->name] = OW::getLanguage()->text('base', 'questions_account_type_' . $value->name); } if (!in_array($accountType, array_keys($accounts))) { if (in_array($user->accountType, array_keys($accounts))) { $accountType = $user->accountType; } else { $accountType = BOL_QuestionService::getInstance()->getDefaultAccountType()->name; } } $editAccountType = new Selectbox('accountType'); $editAccountType->setId('accountType'); $editAccountType->setLabel(OW::getLanguage()->text('base', 'questions_question_account_type_label')); $editAccountType->setRequired(); $editAccountType->setOptions($accounts); $editAccountType->setHasInvitation(false); } else { $accountType = BOL_QuestionService::getInstance()->getDefaultAccountType()->name; } } $language = OW::getLanguage(); $this->setPageHeading($language->text('base', 'edit_index')); $this->setPageHeadingIconClass('ow_ic_user'); // -- Edit form -- $editForm = new EditQuestionForm('editForm', $editUserId); $editForm->setId('editForm'); $this->assign('displayAccountType', false); // dispaly account type if (!empty($editAccountType)) { $editAccountType->setValue($accountType); $editForm->addElement($editAccountType); OW::getDocument()->addOnloadScript(" \$('#accountType').change(function() {\n\n var form = \$(\"<form method='get'><input type='text' name='accountType' value='\" + \$(this).val() + \"' /></form>\");\n \$('body').append(form);\n \$(form).submit();\n\n } ); "); $this->assign('displayAccountType', true); } $editSubmit = new Submit('editSubmit'); $editSubmit->addAttribute('class', 'ow_button ow_ic_save'); $editSubmit->setValue($language->text('base', 'edit_button')); $editForm->addElement($editSubmit); $questions = $this->questionService->findEditQuestionsForAccountType($accountType); $section = null; $questionArray = array(); $questionNameList = array(); // echo '<pre>'; // print_r($questions); // echo '</pre>'; $userData = BOL_QuestionService::getInstance()->getQuestionData(array($editUserId), array(HAMMU_DB_IM_USING_HAMMU_AS_KEY)); $im_using_hammu_as = $userData[$editUserId][HAMMU_DB_IM_USING_HAMMU_AS_KEY]; foreach ($questions as $sort => $question) { if ($section !== $question['sectionName']) { $section = $question['sectionName']; } $questionArray[$section][$sort] = $questions[$sort]; $questionNameList[] = $questions[$sort]['name']; } echo "user->" . $editUserId; $this->assign('questionArray', $questionArray); $questionData = $this->questionService->getQuestionData(array($editUserId), $questionNameList); $questionValues = $this->questionService->findQuestionsValuesByQuestionNameList($questionNameList); $editForm->addQuestions($questions, $questionValues, !empty($questionData[$editUserId]) ? $questionData[$editUserId] : array()); if (OW::getRequest()->isPost() && isset($_POST['editSubmit'])) { if ($editForm->isValid($_POST)) { $data = $editForm->getValues(); foreach ($questionArray as $section) { foreach ($section as $key => $question) { switch ($question['presentation']) { case 'multicheckbox': if (is_array($data[$question['name']])) { $data[$question['name']] = array_sum($data[$question['name']]); } else { $data[$question['name']] = 0; } break; } } } // save user data if (!empty($user->id)) { if ($this->questionService->saveQuestionsData($data, $user->id)) { if (!$adminMode) { $event = new OW_Event(OW_EventManager::ON_USER_EDIT, array('userId' => $user->id, 'method' => 'native')); OW::getEventManager()->trigger($event); OW::getFeedback()->info($language->text('base', 'edit_successfull_edit')); $this->redirect(); } else { $event = new OW_Event(OW_EventManager::ON_USER_EDIT_BY_ADMIN, array('userId' => $user->id)); OW::getEventManager()->trigger($event); OW::getFeedback()->info($language->text('base', 'edit_successfull_edit')); $this->redirect(OW::getRouter()->urlForRoute('base_user_profile', array('username' => BOL_UserService::getInstance()->getUserName($editUserId)))); } } else { OW::getFeedback()->info($language->text('base', 'edit_edit_error')); } } else { OW::getFeedback()->info($language->text('base', 'edit_edit_error')); } } } $this->addForm($editForm); $this->assign('unregisterProfileUrl', OW::getRouter()->urlForRoute('base_delete_user')); $language->addKeyForJs('base', 'join_error_username_not_valid'); $language->addKeyForJs('base', 'join_error_username_already_exist'); $language->addKeyForJs('base', 'join_error_email_not_valid'); $language->addKeyForJs('base', 'join_error_email_already_exist'); $language->addKeyForJs('base', 'join_error_password_not_valid'); $language->addKeyForJs('base', 'join_error_password_too_short'); $language->addKeyForJs('base', 'join_error_password_too_long'); //include js $onLoadJs = " window.edit = new OW_BaseFieldValidators( " . json_encode(array('formName' => $editForm->getName(), 'responderUrl' => OW::getRouter()->urlFor("BASE_CTRL_Edit", "ajaxResponder"))) . ",\n " . UTIL_Validator::EMAIL_PATTERN . ", " . UTIL_Validator::USER_NAME_PATTERN . ", " . $editUserId . " ); "; $this->assign('isAdmin', OW::getUser()->isAdmin()); OW::getDocument()->addOnloadScript($onLoadJs); $jsDir = OW::getPluginManager()->getPlugin("base")->getStaticJsUrl(); OW::getDocument()->addScript($jsDir . "base_field_validators.js"); if (!$adminMode) { $editSynchronizeHook = OW::getRegistry()->getArray(self::EDIT_SYNCHRONIZE_HOOK); if (!empty($editSynchronizeHook)) { $content = array(); foreach ($editSynchronizeHook as $function) { $result = call_user_func($function); if (trim($result)) { $content[] = $result; } } $content = array_filter($content, 'trim'); if (!empty($content)) { $this->assign('editSynchronizeHook', $content); } } } }
/** * Class constructor * */ public function __construct($clipId) { parent::__construct('vwvcEditForm'); $language = OW::getLanguage(); // clip id field $clipIdField = new HiddenField('id'); $clipIdField->setRequired(true); $this->addElement($clipIdField); // select box for permission $permArr0 = array('1' => 'moderators', '3' => 'none', '2' => 'owner', '0' => 'all'); $permArr1 = array('0' => 'all', '3' => 'none', '2' => 'owner', '1' => 'moderators'); // room_name Field $room_nameField = new TextField('room_name'); $sValidator = new StringValidator(1, 22); $room_nameField->addValidator($sValidator); $room_nameField->setRequired(true); $this->addElement($room_nameField->setLabel($language->text('vwvc', 'room_name'))); // Description Field $descriptionField = new Textarea('description'); $this->addElement($descriptionField->setLabel($language->text('vwvc', 'description'))); // welcome Field $welcomeField = new Textarea('welcome'); $welcomeField->setValue($language->text('vwvc', 'welcome_default')); $this->addElement($welcomeField->setLabel($language->text('vwvc', 'welcome'))); // resolution Field $resolutionArr = array('320x240' => '320x240', '160x120' => '160x120', '176x144' => '176x144', '352x288' => '352x288', '640x480' => '640x480'); $resolutionField = new Selectbox('resolution'); $resolutionField->addOptions($resolutionArr); $resolutionField->setRequired(); $resolutionField->setHasInvitation(false); $this->addElement($resolutionField->setLabel($language->text('vwvc', 'resolution'))); // camera_fps Field $camera_fpsArr = array('10' => '10', '12' => '12', '20' => '20', '25' => '25', '30' => '30'); $camera_fpsField = new Selectbox('camera_fps'); $camera_fpsField->addOptions($camera_fpsArr); $camera_fpsField->setRequired(); $camera_fpsField->setHasInvitation(false); $this->addElement($camera_fpsField->setLabel($language->text('vwvc', 'camera_fps'))); // Microphone Rate Field $microphone_rateArr = array('11' => '11', '22' => '22', '44' => '44', '48' => '48'); $microphone_rateField = new Selectbox('microphone_rate'); $microphone_rateField->addOptions($microphone_rateArr); $microphone_rateField->setRequired(); $microphone_rateField->setHasInvitation(false); $this->addElement($microphone_rateField->setLabel($language->text('vwvc', 'microphone_rate'))); // soundQuality Field $soundQualityField = new TextField('soundQuality'); $soundQualityField->setRequired(true); $this->addElement($soundQualityField->setLabel($language->text('vwvc', 'soundQuality'))); // Bandwidth Field $bandwidthField = new TextField('bandwidth'); $bandwidthField->setRequired(true); $bandwidthField->setValue(40960); $this->addElement($bandwidthField->setLabel($language->text('vwvc', 'bandwidth'))); // verbose_level Field $verbose_levelArr = array('2' => 'warning/recoverable failure', '0' => 'nothing', '1' => 'failure', '3' => 'success', '4' => 'action'); $verbose_levelField = new Selectbox('verbose_level'); $verbose_levelField->addOptions($verbose_levelArr); $verbose_levelField->setRequired(); $verbose_levelField->setHasInvitation(false); $this->addElement($verbose_levelField->setLabel($language->text('vwvc', 'verbose_level'))); // Background url Field $background_urlField = new TextField('background_url'); $this->addElement($background_urlField->setLabel($language->text('vwvc', 'background_url'))); // Layout Code Field $layout_codeField = new Textarea('layout_code'); $this->addElement($layout_codeField->setLabel($language->text('vwvc', 'layout_code'))); // Fill window Field $fill_windowField = new Selectbox('fill_window'); $fill_windowField->addOptions($permArr0); $fill_windowField->setRequired(); $fill_windowField->setHasInvitation(false); $this->addElement($fill_windowField->setLabel($language->text('vwvc', 'fill_window'))); // FloodProtection Field $flood_protectionField = new TextField('flood_protection'); $flood_protectionField->setValue(3); $this->addElement($flood_protectionField->setLabel($language->text('vwvc', 'flood_protection'))); // Filter regex Field $filter_regexField = new TextField('filter_regex'); $filter_regexField->setValue('(?i)(f**k|c**t)(?-i)'); $this->addElement($filter_regexField->setLabel($language->text('vwvc', 'filter_regex'))); // Filter replace Field $filter_replaceField = new TextField('filter_replace'); $filter_replaceField->setValue('**'); $this->addElement($filter_replaceField->setLabel($language->text('vwvc', 'filter_replace'))); // Show Camera Settings Field $show_camera_settingsField = new Selectbox('show_camera_settings'); $show_camera_settingsField->addOptions($permArr1); $show_camera_settingsField->setRequired(); $show_camera_settingsField->setHasInvitation(false); $this->addElement($show_camera_settingsField->setLabel($language->text('vwvc', 'show_camera_settings'))); // Advanced Camera Settings Field $advanced_camera_settingsField = new Selectbox('advanced_camera_settings'); $advanced_camera_settingsField->addOptions($permArr1); $advanced_camera_settingsField->setRequired(); $advanced_camera_settingsField->setHasInvitation(false); $this->addElement($advanced_camera_settingsField->setLabel($language->text('vwvc', 'advanced_camera_settings'))); // Configure Source Field $configure_sourceField = new Selectbox('configure_source'); $configure_sourceField->addOptions($permArr1); $configure_sourceField->setRequired(); $configure_sourceField->setHasInvitation(false); $this->addElement($configure_sourceField->setLabel($language->text('vwvc', 'configure_source'))); // Disable Video Field $disable_videoField = new Selectbox('disable_video'); $disable_videoField->addOptions($permArr1); $disable_videoField->setRequired(); $disable_videoField->setHasInvitation(false); $this->addElement($disable_videoField->setLabel($language->text('vwvc', 'disable_video'))); // disable_sound Field $disable_soundField = new Selectbox('disable_sound'); $disable_soundField->addOptions($permArr1); $disable_soundField->setRequired(); $disable_soundField->setHasInvitation(false); $this->addElement($disable_soundField->setLabel($language->text('vwvc', 'disable_sound'))); // panel Files Field $panel_filesField = new Selectbox('panel_files'); $panel_filesField->addOptions($permArr1); $panel_filesField->setRequired(); $panel_filesField->setHasInvitation(false); $this->addElement($panel_filesField->setLabel($language->text('vwvc', 'panel_files'))); // panel rooms Field $panel_roomsField = new Selectbox('panel_rooms'); $panel_roomsField->addOptions($permArr1); $panel_roomsField->setRequired(); $panel_roomsField->setHasInvitation(false); $this->addElement($panel_roomsField->setLabel($language->text('vwvc', 'panel_rooms'))); // panel users Field $panel_usersField = new Selectbox('panel_users'); $panel_usersField->addOptions($permArr1); $panel_usersField->setRequired(); $panel_usersField->setHasInvitation(false); $this->addElement($panel_usersField->setLabel($language->text('vwvc', 'panel_users'))); // File Upload Field $file_uploadField = new Selectbox('file_upload'); $file_uploadField->addOptions($permArr1); $file_uploadField->setRequired(); $file_uploadField->setHasInvitation(false); $this->addElement($file_uploadField->setLabel($language->text('vwvc', 'file_upload'))); // file_delete Field $file_deleteField = new Selectbox('file_delete'); $file_deleteField->addOptions($permArr0); $file_deleteField->setRequired(); $file_deleteField->setHasInvitation(false); $this->addElement($file_deleteField->setLabel($language->text('vwvc', 'file_delete'))); // Tutorial Field $tutorialField = new Selectbox('tutorial'); $tutorialField->addOptions($permArr1); $tutorialField->setRequired(); $tutorialField->setHasInvitation(false); $this->addElement($tutorialField->setLabel($language->text('vwvc', 'tutorial'))); // Auto View Cameras Field $auto_view_camerasField = new Selectbox('auto_view_cameras'); $auto_view_camerasField->addOptions($permArr1); $auto_view_camerasField->setRequired(); $auto_view_camerasField->setHasInvitation(false); $this->addElement($auto_view_camerasField->setLabel($language->text('vwvc', 'auto_view_cameras'))); // Show Timer Field $show_timerField = new Selectbox('show_timer'); $show_timerField->addOptions($permArr1); $show_timerField->setRequired(); $show_timerField->setHasInvitation(false); $this->addElement($show_timerField->setLabel($language->text('vwvc', 'show_timer'))); // writeText Field $write_textField = new Selectbox('write_text'); $write_textField->addOptions($permArr1); $write_textField->setRequired(); $write_textField->setHasInvitation(false); $this->addElement($write_textField->setLabel($language->text('vwvc', 'write_text'))); // regularWatch Field $regular_watchField = new Selectbox('regular_watch'); $regular_watchField->addOptions($permArr1); $regular_watchField->setRequired(); $regular_watchField->setHasInvitation(false); $this->addElement($regular_watchField->setLabel($language->text('vwvc', 'regular_watch'))); // newWatch Field $new_watchField = new Selectbox('new_watch'); $new_watchField->addOptions($permArr1); $new_watchField->setRequired(); $new_watchField->setHasInvitation(false); $this->addElement($new_watchField->setLabel($language->text('vwvc', 'new_watch'))); // privateTextchat Field $private_textchatField = new Selectbox('private_textchat'); $private_textchatField->addOptions($permArr1); $private_textchatField->setRequired(); $private_textchatField->setHasInvitation(false); $this->addElement($private_textchatField->setLabel($language->text('vwvc', 'private_textchat'))); // user_list Field $user_listField = new Textarea('user_list'); $this->addElement($user_listField->setLabel($language->text('vwvc', 'user_list'))); // moderator_list Field $moderator_listField = new Textarea('moderator_list'); $userService = BOL_UserService::getInstance(); $user = $userService->findUserById(OW::getUser()->getId()); $username = $user->getUsername(); $moderator_listField->setValue($username); $this->addElement($moderator_listField->setLabel($language->text('vwvc', 'moderator_list'))); // administrator Field $administratorField = new Selectbox('administrator'); $administratorField->addOptions($permArr0); $administratorField->setRequired(); $administratorField->setHasInvitation(false); $this->addElement($administratorField->setLabel($language->text('vwvc', 'administrator'))); // clean_up Field $clean_upField = new TextField('clean_up'); $clean_upField->setValue(0); $this->addElement($clean_upField->setLabel($language->text('vwvc', 'clean_up'))); $entityTags = BOL_TagService::getInstance()->findEntityTags($clipId, 'vwvc'); if ($entityTags) { $tags = array(); foreach ($entityTags as $entityTag) { $tags[] = $entityTag->label; } $tagsField = new TagsField('tags', $tags); } else { $tagsField = new TagsField('tags'); } $this->addElement($tagsField->setLabel($language->text('vwvc', 'tags'))); $submit = new Submit('edit'); $submit->setValue($language->text('vwvc', 'btn_edit')); $this->addElement($submit); }
public function transfer() { if (!OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } if (!OW::getUser()->isAuthorized('credits', 'send')) { $this->setTemplate(OW::getPluginManager()->getPlugin('base')->getCtrlViewDir() . 'authorization_failed.html'); return; } $language = OW::getLanguage(); $config = OW::getConfig(); $userId = OW::getUser()->getId(); $userCredits = USERCREDITS_BOL_CreditsService::getInstance()->getCreditsBalance($userId); $this->assign('userCredits', $userCredits); $form = new Form('creditForm'); $element = new Selectbox('receiveUser'); $element->setRequired(true); $element->setLabel($language->text('credits', 'credit_receive_user')); $usersList = CREDITS_BOL_Service::getInstance()->getUserFriends($userId); $element->addOptions($usersList); $form->addElement($element); $element = new TextField('creditPoint'); $element->setRequired(true); $element->setLabel($language->text('credits', 'credits_to_send')); $element->addAttribute("style", "width: 100px;"); $validator = new IntValidator(1, $userCredits); $validator->setErrorMessage($language->text('credits', 'credit_value_error')); $element->addValidator($validator); $form->addElement($element); $element = new Submit('sendCredit'); $element->setValue($language->text('credits', 'send_credits')); $form->addElement($element); if (OW::getRequest()->isPost()) { if ($form->isValid($_POST)) { $values = $form->getValues(); $receiveUser = $values['receiveUser']; $creditValue = (int) $values['creditPoint']; if (CREDITS_BOL_Service::getInstance()->transferCredits($userId, $receiveUser, $creditValue)) { OW::getFeedback()->info($language->text('credits', 'credit_transfer_ok')); $this->redirect(OW::getRouter()->urlForRoute('credits_transfer')); } else { OW::getFeedback()->error($language->text('credits', 'credit_transfer_fail')); } } } $this->addForm($form); $this->setPageHeading($language->text('credits', 'transfer_credits_label')); $this->setPageTitle($language->text('credits', 'transfer_credits_label')); $this->setPageHeadingIconClass('ow_ic_gear_wheel'); }
/** * @param OW_ActionController $controller */ public function __construct($controller) { parent::__construct('MainSearchForm'); $this->controller = $controller; $questionService = BOL_QuestionService::getInstance(); $this->setId('MainSearchForm'); $submit = new Submit(self::SUBMIT_NAME); $submit->setValue(OW::getLanguage()->text('base', 'user_search_submit_button_label')); $this->addElement($submit); $questionData = OW::getSession()->get(self::FORM_SESSEION_VAR); if ($questionData === null) { $questionData = array(); if (OW::getUser()->isAuthenticated()) { $data = BOL_QuestionService::getInstance()->getQuestionData(array(OW::getUser()->getId()), array('match_sex')); $questionData['match_sex'] = $data[OW::getUser()->getId()]['match_sex']; $questionData['googlemap_location']['distance'] = 50; OW::getSession()->set(self::FORM_SESSEION_VAR, $questionData); } } if (!empty($questionData['match_sex'])) { if (is_array($questionData['match_sex'])) { $questionData['match_sex'] = array_shift($questionData['match_sex']); } else { for ($i = 0; $i < 31; $i++) { if (pow(2, $i) & $questionData['match_sex']) { $questionData['match_sex'] = pow(2, $i); break; } } } } $accounts = $this->getAccountTypes(); $accountList = array(); foreach ($accounts as $key => $account) { $accountList[$key] = $account; } $keys = array_keys($accountList); $this->accountType = $keys[0]; $this->matchSexValue = USEARCH_BOL_Service::getInstance()->getGenderByAccounType($this->accountType); if (isset($questionData['match_sex'])) { $accountType = USEARCH_BOL_Service::getInstance()->getAccounTypeByGender($questionData['match_sex']); if (!empty($accountType)) { $this->accountType = $accountType; $this->matchSexValue = $questionData['match_sex']; } } $questions = $questionService->findSearchQuestionsForAccountType($this->accountType); $mainSearchQuestion = array(); $questionNameList = array('sex' => 'sex', 'match_sex' => 'match_sex'); foreach ($questions as $key => $question) { $sectionName = $question['sectionName']; $questionNameList[] = $question['name']; $isRequired = in_array($question['name'], array('googlemap_location', 'match_sex')) ? 1 : 0; $questions[$key]['required'] = $isRequired; if ($question['name'] == 'sex' || $question['name'] == 'match_sex') { unset($questions[$key]); } else { $mainSearchQuestion[$sectionName][] = $question; } } $questionValueList = $questionService->findQuestionsValuesByQuestionNameList($questionNameList); $controller->assign('displayGender', false); if (count($accounts) > 1) { $this->displayAccountType = true; if (!OW::getUser()->isAuthenticated()) { $controller->assign('displayGender', true); $sex = new Selectbox('sex'); $sex->setLabel(BOL_QuestionService::getInstance()->getQuestionLang('sex')); $sex->setRequired(); $sex->setHasInvitation(false); //$accountType->setHasInvitation(false); $this->setFieldOptions($sex, 'sex', $questionValueList['sex']); if (!empty($questionData['sex'])) { $sex->setValue($questionData['sex']); } $this->addElement($sex); } else { $sexData = BOL_QuestionService::getInstance()->getQuestionData(array(OW::getUser()->getId()), array('sex')); if (!empty($sexData[OW::getUser()->getId()]['sex'])) { $sex = new HiddenField('sex'); $sex->setValue($sexData[OW::getUser()->getId()]['sex']); $this->addElement($sex); } } $matchSex = new Selectbox('match_sex'); $matchSex->setLabel(BOL_QuestionService::getInstance()->getQuestionLang('match_sex')); $matchSex->setRequired(); $matchSex->setHasInvitation(false); //$accountType->setHasInvitation(false); $this->setFieldOptions($matchSex, 'match_sex', $questionValueList['sex']); if (!empty($questionData['match_sex'])) { $matchSex->setValue($questionData['match_sex']); } $this->addElement($matchSex); } $this->addQuestions($questions, $questionValueList, $questionData); $locationField = $this->getElement('googlemap_location'); if ($locationField) { $value = $locationField->getValue(); if (empty($value['json'])) { $locationField->setDistance(50); } } $controller->assign('questionList', $mainSearchQuestion); $controller->assign('displayAccountType', $this->displayAccountType); // 'online' field $onlineField = new CheckboxField('online'); if (!empty($questionData) && is_array($questionData) && array_key_exists('online', $questionData)) { $onlineField->setValue($questionData['online']); } $onlineField->setLabel(OW::getLanguage()->text('usearch', 'online_only')); $this->addElement($onlineField); // if ( OW::getPluginManager()->isPluginActive('photo') ) // { // with photo $withPhoto = new CheckboxField('with_photo'); if (!empty($questionData) && is_array($questionData) && array_key_exists('with_photo', $questionData)) { $withPhoto->setValue($questionData['with_photo']); } $withPhoto->setLabel(OW::getLanguage()->text('usearch', 'with_photo')); $this->addElement($withPhoto); // } }
public function index($params) { $adminMode = false; $viewerId = OW::getUser()->getId(); if (!OW::getUser()->isAuthenticated() || $viewerId === null) { throw new AuthenticateException(); } if (!empty($params['userId']) && $params['userId'] != $viewerId) { if (OW::getUser()->isAdmin() || OW::getUser()->isAuthorized('base')) { $adminMode = true; $userId = (int) $params['userId']; $user = BOL_UserService::getInstance()->findUserById($userId); if (empty($user) || BOL_AuthorizationService::getInstance()->isSuperModerator($userId)) { throw new Redirect404Exception(); } $editUserId = $userId; } else { throw new Redirect403Exception(); } } else { $editUserId = $viewerId; $changePassword = new BASE_CMP_ChangePassword(); $this->addComponent("changePassword", $changePassword); $contentMenu = new BASE_CMP_DashboardContentMenu(); $contentMenu->getElement('profile_edit')->setActive(true); $this->addComponent('contentMenu', $contentMenu); $user = OW::getUser()->getUserObject(); //BOL_UserService::getInstance()->findUserById($editUserId); } $changeList = BOL_PreferenceService::getInstance()->getPreferenceValue(self::PREFERENCE_LIST_OF_CHANGES, $editUserId); if (empty($changeList)) { $changeList = '[]'; } $this->assign('changeList', json_decode($changeList, true)); $isEditedUserModerator = BOL_AuthorizationService::getInstance()->isModerator($editUserId) || BOL_AuthorizationService::getInstance()->isSuperModerator($editUserId); $accountType = $user->accountType; // dispaly account type if (OW::getUser()->isAdmin() || OW::getUser()->isAuthorized('base')) { $accountType = !empty($_GET['accountType']) ? $_GET['accountType'] : $user->accountType; // get available account types from DB $accountTypes = BOL_QuestionService::getInstance()->findAllAccountTypes(); $accounts = array(); if (count($accountTypes) > 1) { /* @var $value BOL_QuestionAccount */ foreach ($accountTypes as $key => $value) { $accounts[$value->name] = OW::getLanguage()->text('base', 'questions_account_type_' . $value->name); } if (!in_array($accountType, array_keys($accounts))) { if (in_array($user->accountType, array_keys($accounts))) { $accountType = $user->accountType; } else { $accountType = BOL_QuestionService::getInstance()->getDefaultAccountType()->name; } } $editAccountType = new Selectbox('accountType'); $editAccountType->setId('accountType'); $editAccountType->setLabel(OW::getLanguage()->text('base', 'questions_question_account_type_label')); $editAccountType->setRequired(); $editAccountType->setOptions($accounts); $editAccountType->setHasInvitation(false); } else { $accountType = BOL_QuestionService::getInstance()->getDefaultAccountType()->name; } } $language = OW::getLanguage(); $this->setPageHeading($language->text('base', 'edit_index')); $this->setPageHeadingIconClass('ow_ic_user'); // -- Edit form -- $editForm = new EditQuestionForm('editForm', $editUserId); $editForm->setId('editForm'); $this->assign('displayAccountType', false); // dispaly account type if (!empty($editAccountType)) { $editAccountType->setValue($accountType); $editForm->addElement($editAccountType); OW::getDocument()->addOnloadScript(" \$('#accountType').change(function() {\n \n var form = \$(\"<form method='get'><input type='text' name='accountType' value='\" + \$(this).val() + \"' /></form>\");\n \$('body').append(form);\n \$(form).submit();\n\n } ); "); $this->assign('displayAccountType', true); } $userId = !empty($params['userId']) ? $params['userId'] : $viewerId; // add avatar field $editAvatar = OW::getClassInstance("BASE_CLASS_AvatarField", 'avatar', false); $editAvatar->setLabel(OW::getLanguage()->text('base', 'questions_question_user_photo_label')); $editAvatar->setValue(BOL_AvatarService::getInstance()->getAvatarUrl($userId, 1, null, true, false)); $displayPhotoUpload = OW::getConfig()->getValue('base', 'join_display_photo_upload'); // add the required avatar validator if ($displayPhotoUpload == BOL_UserService::CONFIG_JOIN_DISPLAY_AND_SET_REQUIRED_PHOTO_UPLOAD) { $avatarValidator = OW::getClassInstance("BASE_CLASS_AvatarFieldValidator", true, $userId); $editAvatar->addValidator($avatarValidator); } $editForm->addElement($editAvatar); $isUserApproved = BOL_UserService::getInstance()->isApproved($editUserId); $this->assign('isUserApproved', $isUserApproved); // add submit button $editSubmit = new Submit('editSubmit'); $editSubmit->addAttribute('class', 'ow_button ow_ic_save'); $editSubmit->setValue($language->text('base', 'edit_button')); if ($adminMode && !$isUserApproved) { $editSubmit->setName('saveAndApprove'); $editSubmit->setValue($language->text('base', 'save_and_approve')); // TODO: remove if (!$isEditedUserModerator) { // add delete button $script = UTIL_JsGenerator::newInstance()->jQueryEvent('input.delete_user_by_moderator', 'click', 'OW.Users.deleteUser(e.data.userId, e.data.callbackUrl, false);', array('e'), array('userId' => $userId, 'callbackUrl' => OW::getRouter()->urlForRoute('base_member_dashboard'))); OW::getDocument()->addOnloadScript($script); } } $editForm->addElement($editSubmit); // prepare question list $questions = $this->questionService->findEditQuestionsForAccountType($accountType); $section = null; $questionArray = array(); $questionNameList = array(); foreach ($questions as $sort => $question) { if ($section !== $question['sectionName']) { $section = $question['sectionName']; } $questionArray[$section][$sort] = $questions[$sort]; $questionNameList[] = $questions[$sort]['name']; } $this->assign('questionArray', $questionArray); $questionData = $this->questionService->getQuestionData(array($editUserId), $questionNameList); $questionValues = $this->questionService->findQuestionsValuesByQuestionNameList($questionNameList); // add question to form $editForm->addQuestions($questions, $questionValues, !empty($questionData[$editUserId]) ? $questionData[$editUserId] : array()); // process form if (OW::getRequest()->isPost()) { if (isset($_POST['editSubmit']) || isset($_POST['saveAndApprove'])) { $this->process($editForm, $user->id, $questionArray, $adminMode); } } $this->addForm($editForm); $deleteUrl = OW::getRouter()->urlForRoute('base_delete_user'); $this->assign('unregisterProfileUrl', $deleteUrl); // add langs to js $language->addKeyForJs('base', 'join_error_username_not_valid'); $language->addKeyForJs('base', 'join_error_username_already_exist'); $language->addKeyForJs('base', 'join_error_email_not_valid'); $language->addKeyForJs('base', 'join_error_email_already_exist'); $language->addKeyForJs('base', 'join_error_password_not_valid'); $language->addKeyForJs('base', 'join_error_password_too_short'); $language->addKeyForJs('base', 'join_error_password_too_long'); //include js $onLoadJs = " window.edit = new OW_BaseFieldValidators( " . json_encode(array('formName' => $editForm->getName(), 'responderUrl' => OW::getRouter()->urlFor("BASE_CTRL_Edit", "ajaxResponder"))) . ",\n " . UTIL_Validator::EMAIL_PATTERN . ", " . UTIL_Validator::USER_NAME_PATTERN . ", " . $editUserId . " ); "; $this->assign('isAdmin', OW::getUser()->isAdmin()); $this->assign('isEditedUserModerator', $isEditedUserModerator); $this->assign('adminMode', $adminMode); $approveEnabled = OW::getConfig()->getValue('base', 'mandatory_user_approve'); $this->assign('approveEnabled', $approveEnabled); OW::getDocument()->addOnloadScript(' $("input.write_message_button").click( function() { OW.ajaxFloatBox("BASE_CMP_SendMessageToEmail", [' . (int) $editUserId . '], { title: ' . json_encode($language->text('base', 'send_message_to_email')) . ', width:600 }); } ); '); OW::getDocument()->addOnloadScript($onLoadJs); $jsDir = OW::getPluginManager()->getPlugin("base")->getStaticJsUrl(); OW::getDocument()->addScript($jsDir . "base_field_validators.js"); if (!$adminMode) { $editSynchronizeHook = OW::getRegistry()->getArray(self::EDIT_SYNCHRONIZE_HOOK); if (!empty($editSynchronizeHook)) { $content = array(); foreach ($editSynchronizeHook as $function) { $result = call_user_func($function); if (trim($result)) { $content[] = $result; } } $content = array_filter($content, 'trim'); if (!empty($content)) { $this->assign('editSynchronizeHook', $content); } } } }
/** * Class constructor * */ public function __construct($clipId) { parent::__construct('vwlsEditForm'); $language = OW::getLanguage(); // clip id field $clipIdField = new HiddenField('id'); $clipIdField->setRequired(true); $this->addElement($clipIdField); // select box for broadcasting $arr1 = array('1' => 'yes', '0' => 'no'); $arr0 = array('0' => 'no', '1' => 'yes'); // select box for permission $permArr0 = array('1' => 'moderators', '3' => 'none', '2' => 'owner', '0' => 'all'); $permArr1 = array('0' => 'all', '3' => 'none', '2' => 'owner', '1' => 'moderators'); $permArr2 = array('3' => 'none', '2' => 'owner', '1' => 'moderators', '0' => 'all'); // room_name Field $generated = base_convert(time() - 1224000000 . rand(0, 10), 10, 36); $room_nameField = new TextField('room_name'); $sValidator = new StringValidator(1, 22); $room_nameField->addValidator($sValidator); $room_nameField->setRequired(true); $room_nameField->setValue($generated); $this->addElement($room_nameField->setLabel($language->text('vwls', 'room_name'))); // Description Field $descriptionField = new Textarea('description'); $this->addElement($descriptionField->setLabel($language->text('vwls', 'description'))); // Room limit Field $room_limitField = new TextField('room_limit'); $room_limitField->setRequired(false); $room_limitField->setValue(0); $this->addElement($room_limitField->setLabel($language->text('vwls', 'room_limit'))); // Show Camera Settings Field $show_camera_settingsField = new Selectbox('show_camera_settings'); $show_camera_settingsField->addOptions($arr1); $show_camera_settingsField->setRequired(); $show_camera_settingsField->setHasInvitation(false); $this->addElement($show_camera_settingsField->setLabel($language->text('vwls', 'show_camera_settings'))); // Advanced Camera Settings Field $advanced_camera_settingsField = new Selectbox('advanced_camera_settings'); $advanced_camera_settingsField->addOptions($arr1); $advanced_camera_settingsField->setRequired(); $advanced_camera_settingsField->setHasInvitation(false); $this->addElement($advanced_camera_settingsField->setLabel($language->text('vwls', 'advanced_camera_settings'))); // Configure Source Field $configure_sourceField = new Selectbox('configure_source'); $configure_sourceField->addOptions($arr1); $configure_sourceField->setRequired(); $configure_sourceField->setHasInvitation(false); $this->addElement($configure_sourceField->setLabel($language->text('vwls', 'configure_source'))); // user_list Field $user_listField = new Textarea('user_list'); $this->addElement($user_listField->setLabel($language->text('vwls', 'user_list'))); // moderator_list Field $moderator_listField = new Textarea('moderator_list'); $userService = BOL_UserService::getInstance(); $user = $userService->findUserById(OW::getUser()->getId()); $username = $user->getUsername(); $moderator_listField->setValue($username); $this->addElement($moderator_listField->setLabel($language->text('vwls', 'moderator_list'))); // administrator Field /** $administratorField = new Selectbox('administrator'); $administratorField->addOptions($permArr0); $administratorField->setRequired(); $administratorField->setHasInvitation(false); $this->addElement($administratorField->setLabel($language->text('vwls', 'administrator'))); */ // clean_up Field $clean_upField = new TextField('clean_up'); $clean_upField->setValue(0); $this->addElement($clean_upField->setLabel($language->text('vwls', 'clean_up'))); // Broadcasting // welcome Field $welcomeField = new Textarea('welcome'); $welcomeField->setValue($language->text('vwls', 'welcome_default')); $this->addElement($welcomeField->setLabel($language->text('vwls', 'welcome'))); // Only video Field $only_videoField = new Selectbox('only_video'); $only_videoField->addOptions($arr0); $only_videoField->setRequired(); $only_videoField->setHasInvitation(false); $this->addElement($only_videoField->setLabel($language->text('vwls', 'only_video'))); // No Video Field $no_videoField = new Selectbox('no_video'); $no_videoField->addOptions($arr0); $no_videoField->setRequired(); $no_videoField->setHasInvitation(false); $this->addElement($no_videoField->setLabel($language->text('vwls', 'no_video'))); // No Embeds Field $no_embedsField = new Selectbox('no_embeds'); $no_embedsField->addOptions($arr0); $no_embedsField->setRequired(); $no_embedsField->setHasInvitation(false); $this->addElement($no_embedsField->setLabel($language->text('vwls', 'no_embeds'))); // Show Timer Field $show_timerField = new Selectbox('show_timer'); $show_timerField->addOptions($arr1); $show_timerField->setRequired(); $show_timerField->setHasInvitation(false); $this->addElement($show_timerField->setLabel($language->text('vwls', 'show_timer'))); // writeText Field $write_textField = new Selectbox('write_text'); $write_textField->addOptions($arr1); $write_textField->setRequired(); $write_textField->setHasInvitation(false); $this->addElement($write_textField->setLabel($language->text('vwls', 'write_text'))); // resolution Field $resolutionArr = array('320x240' => '320x240', '160x120' => '160x120', '176x144' => '176x144', '352x288' => '352x288', '640x480' => '640x480'); $resolutionField = new Selectbox('resolution'); $resolutionField->addOptions($resolutionArr); $resolutionField->setRequired(); $resolutionField->setHasInvitation(false); $this->addElement($resolutionField->setLabel($language->text('vwls', 'resolution'))); // camera_fps Field $camera_fpsArr = array('10' => '10', '12' => '12', '20' => '20', '25' => '25', '30' => '30'); $camera_fpsField = new Selectbox('camera_fps'); $camera_fpsField->addOptions($camera_fpsArr); $camera_fpsField->setRequired(); $camera_fpsField->setHasInvitation(false); $this->addElement($camera_fpsField->setLabel($language->text('vwls', 'camera_fps'))); // Microphone Rate Field $microphone_rateArr = array('11' => '11', '22' => '22', '44' => '44', '48' => '48'); $microphone_rateField = new Selectbox('microphone_rate'); $microphone_rateField->addOptions($microphone_rateArr); $microphone_rateField->setRequired(); $microphone_rateField->setHasInvitation(false); $this->addElement($microphone_rateField->setLabel($language->text('vwls', 'microphone_rate'))); // soundQuality Field $soundQualityField = new TextField('soundQuality'); $soundQualityField->setRequired(true); $this->addElement($soundQualityField->setLabel($language->text('vwls', 'soundQuality'))); // Bandwidth Field $bandwidthField = new TextField('bandwidth'); $bandwidthField->setRequired(true); $bandwidthField->setValue(40960); $this->addElement($bandwidthField->setLabel($language->text('vwls', 'bandwidth'))); // FloodProtection Field $flood_protectionField = new TextField('flood_protection'); $flood_protectionField->setValue(3); $this->addElement($flood_protectionField->setLabel($language->text('vwls', 'flood_protection'))); // verbose_level Field $verbose_levelArr = array('2' => 'warning/recoverable failure', '0' => 'nothing', '1' => 'failure', '3' => 'success', '4' => 'action'); $verbose_levelField = new Selectbox('verbose_level'); $verbose_levelField->addOptions($verbose_levelArr); $verbose_levelField->setRequired(); $verbose_levelField->setHasInvitation(false); $this->addElement($verbose_levelField->setLabel($language->text('vwls', 'verbose_level'))); // Label Color Field $label_colorField = new TextField('label_color'); $label_colorField->setValue('FFFFFF'); $this->addElement($label_colorField->setLabel($language->text('vwls', 'label_color'))); // privateTextchat Field $private_textchatField = new Selectbox('private_textchat'); $private_textchatField->addOptions($arr1); $private_textchatField->setRequired(); $private_textchatField->setHasInvitation(false); $this->addElement($private_textchatField->setLabel($language->text('vwls', 'private_textchat'))); // Layout Code Field $layout_codeField = new Textarea('layout_code'); $this->addElement($layout_codeField->setLabel($language->text('vwls', 'layout_code'))); // Fill window Field $fill_windowField = new Selectbox('fill_window'); $fill_windowField->addOptions($arr1); $fill_windowField->setRequired(); $fill_windowField->setHasInvitation(false); $this->addElement($fill_windowField->setLabel($language->text('vwls', 'fill_window'))); // Video / Watch // welcome Field $welcome2Field = new Textarea('welcome2'); $welcome2Field->setValue($language->text('vwls', 'welcome_default2')); $this->addElement($welcome2Field->setLabel($language->text('vwls', 'welcome2'))); // Offline message Field $offline_messageField = new Textarea('offline_message'); $this->addElement($offline_messageField->setLabel($language->text('vwls', 'offline_message'))); // FloodProtection2 Field $flood_protection2Field = new TextField('flood_protection2'); $flood_protection2Field->setValue(3); $this->addElement($flood_protection2Field->setLabel($language->text('vwls', 'flood_protection2'))); // Filter regex Field $filter_regexField = new TextField('filter_regex'); $filter_regexField->setValue('(?i)(f**k|c**t)(?-i)'); $this->addElement($filter_regexField->setLabel($language->text('vwls', 'filter_regex'))); // Filter replace Field $filter_replaceField = new TextField('filter_replace'); $filter_replaceField->setValue('**'); $this->addElement($filter_replaceField->setLabel($language->text('vwls', 'filter_replace'))); // Layout Code2 Field $layout_code2Field = new Textarea('layout_code2'); $this->addElement($layout_code2Field->setLabel($language->text('vwls', 'layout_code2'))); // Fill window2 Field $fill_window2Field = new Selectbox('fill_window2'); $fill_window2Field->addOptions($permArr0); $fill_window2Field->setRequired(); $fill_window2Field->setHasInvitation(false); $this->addElement($fill_window2Field->setLabel($language->text('vwls', 'fill_window2'))); // writeText2 Field $write_text2Field = new Selectbox('write_text2'); $write_text2Field->addOptions($permArr1); $write_text2Field->setRequired(); $write_text2Field->setHasInvitation(false); $this->addElement($write_text2Field->setLabel($language->text('vwls', 'write_text2'))); // Enable Video Field $enable_videoField = new Selectbox('enable_video'); $enable_videoField->addOptions($permArr1); $enable_videoField->setRequired(); $enable_videoField->setHasInvitation(false); $this->addElement($enable_videoField->setLabel($language->text('vwls', 'enable_video'))); // Enable chat Field $enable_chatField = new Selectbox('enable_chat'); $enable_chatField->addOptions($permArr1); $enable_chatField->setRequired(); $enable_chatField->setHasInvitation(false); $this->addElement($enable_chatField->setLabel($language->text('vwls', 'enable_chat'))); // Enable users Field $enable_usersField = new Selectbox('enable_users'); $enable_usersField->addOptions($permArr1); $enable_usersField->setRequired(); $enable_usersField->setHasInvitation(false); $this->addElement($enable_usersField->setLabel($language->text('vwls', 'enable_users'))); $entityTags = BOL_TagService::getInstance()->findEntityTags($clipId, 'vwls'); if ($entityTags) { $tags = array(); foreach ($entityTags as $entityTag) { $tags[] = $entityTag->label; } $tagsField = new TagsField('tags', $tags); } else { $tagsField = new TagsField('tags'); } $this->addElement($tagsField->setLabel($language->text('vwls', 'tags'))); $submit = new Submit('edit'); $submit->setValue($language->text('vwls', 'btn_edit')); $this->addElement($submit); }
public function __construct($controller) { parent::__construct('joinForm'); $this->setId('joinForm'); $stamp = OW::getSession()->get(self::SESSION_START_STAMP); if (empty($stamp)) { OW::getSession()->set(self::SESSION_START_STAMP, time()); } unset($stamp); $this->checkSession(); $stepCount = 1; $joinSubmitLabel = ""; // get available account types from DB $accounts = $this->getAccountTypes(); $joinData = OW::getSession()->get(self::SESSION_JOIN_DATA); if (!isset($joinData) || !is_array($joinData)) { $joinData = array(); } $accountsKeys = array_keys($accounts); $this->accountType = $accountsKeys[0]; if (isset($joinData['accountType'])) { $this->accountType = trim($joinData['accountType']); } $step = $this->getStep(); if (count($accounts) > 1) { $this->stepCount = 2; switch ($step) { case 1: $this->displayAccountType = true; $joinSubmitLabel = OW::getLanguage()->text('base', 'join_submit_button_continue'); break; case 2: $this->isLastStep = true; $joinSubmitLabel = OW::getLanguage()->text('base', 'join_submit_button_join'); break; } } else { $this->isLastStep = true; $joinSubmitLabel = OW::getLanguage()->text('base', 'join_submit_button_join'); } $joinSubmit = new Submit('joinSubmit'); $joinSubmit->addAttribute('class', 'ow_button ow_ic_submit'); $joinSubmit->setValue($joinSubmitLabel); $this->addElement($joinSubmit); if ($this->displayAccountType) { $joinAccountType = new Selectbox('accountType'); $joinAccountType->setLabel(OW::getLanguage()->text('base', 'questions_question_account_type_label')); $joinAccountType->setRequired(); $joinAccountType->setOptions($accounts); $joinAccountType->setValue($this->accountType); $joinAccountType->setHasInvitation(false); $this->addElement($joinAccountType); } $this->getQuestions(); $section = null; //$this->questionListBySection = array(); $questionNameList = array(); $this->sortedQuestionsList = array(); foreach ($this->questions as $sort => $question) { if ((string) $question['base'] === '0' && $step === 2 || $step === 1) { if ($section !== $question['sectionName']) { $section = $question['sectionName']; } //$this->questionListBySection[$section][] = $this->questions[$sort]; $questionNameList[] = $this->questions[$sort]['name']; $this->sortedQuestionsList[] = $this->questions[$sort]; } } $this->questionValuesList = BOL_QuestionService::getInstance()->findQuestionsValuesByQuestionNameList($questionNameList); $this->addFakeQuestions(); $this->addQuestions($this->sortedQuestionsList, $this->questionValuesList, $this->updateJoinData()); $this->setQuestionsLabel(); $this->addClassToBaseQuestions(); if ($this->isLastStep) { $this->addLastStepQuestions($controller); } $controller->assign('step', $step); $controller->assign('questionArray', $this->questionListBySection); $controller->assign('displayAccountType', $this->displayAccountType); $controller->assign('isLastStep', $this->isLastStep); }
public function __construct($controller) { parent::__construct('QuickSearchForm'); $this->questionService = BOL_QuestionService::getInstance(); $this->searchService = USEARCH_BOL_Service::getInstance(); $lang = OW::getLanguage(); $this->setAjax(true); $this->setAction(OW::getRouter()->urlForRoute('usearch.quick_search_action')); $this->setAjaxResetOnSuccess(false); $questionNameList = $this->searchService->getQuickSerchQuestionNames(); $questionValueList = $this->questionService->findQuestionsValuesByQuestionNameList($questionNameList); $sessionData = OW::getSession()->get(self::FORM_SESSEION_VAR); if ($sessionData === null) { $sessionData = array(); if (OW::getUser()->isAuthenticated()) { $data = BOL_QuestionService::getInstance()->getQuestionData(array(OW::getUser()->getId()), array('sex', 'match_sex')); if (!empty($data[OW::getUser()->getId()]['sex'])) { $sessionData['sex'] = $data[OW::getUser()->getId()]['sex']; } if (!empty($data[OW::getUser()->getId()]['match_sex'])) { for ($i = 0; $i < 31; $i++) { if (pow(2, $i) & $data[OW::getUser()->getId()]['match_sex']) { $sessionData['match_sex'] = pow(2, $i); break; } } } $sessionData['googlemap_location']['distance'] = 50; OW::getSession()->set(self::FORM_SESSEION_VAR, $sessionData); } } if (!empty($sessionData['match_sex'])) { if (is_array($sessionData['match_sex'])) { $sessionData['match_sex'] = array_shift($sessionData['match_sex']); } else { for ($i = 0; $i < 31; $i++) { if (pow(2, $i) & $sessionData['match_sex']) { $sessionData['match_sex'] = pow(2, $i); break; } } } } /* ------------------------- */ $questionDtoList = BOL_QuestionService::getInstance()->findQuestionByNameList($questionNameList); $questions = array(); $questionList = array(); $orderedQuestionList = array(); /* @var $question BOL_Question */ foreach ($questionDtoList as $key => $question) { $dataList = (array) $question; $questions[$question->name] = $dataList; $isRequired = in_array($question->name, array('googlemap_location', 'match_sex')) ? 1 : 0; $questions[$question->name]['required'] = $isRequired; if ($question->name == 'sex' || $question->name == 'match_sex') { unset($questions[$question->name]); } else { $questionList[$question->name] = $dataList; } } foreach ($questionNameList as $questionName) { if (!empty($questionDtoList[$questionName])) { $orderedQuestionList[] = $questionDtoList[$questionName]; } } $controller->assign('displayGender', false); $accounts = $this->getAccountTypes(); $this->addQuestions($questions, $questionValueList, array()); $locationField = $this->getElement('googlemap_location'); if ($locationField) { $value = $locationField->getValue(); if (empty($value['distance'])) { $locationField->setDistance(50); } } if (count($accounts) > 1) { $this->displayAccountType = true; $controller->assign('displayGender', true); $sex = new Selectbox('sex'); $sex->setLabel(BOL_QuestionService::getInstance()->getQuestionLang('sex')); $sex->setHasInvitation(false); $sex->setRequired(); //$accountType->setHasInvitation(false); $this->setFieldOptions($sex, 'sex', $questionValueList['sex']); if (!empty($sessionData['sex'])) { $sex->setValue($sessionData['sex']); } $this->addElement($sex); $matchSex = new Selectbox('match_sex'); $matchSex->setLabel(BOL_QuestionService::getInstance()->getQuestionLang('match_sex')); $matchSex->setRequired(); $matchSex->setHasInvitation(false); //$accountType->setHasInvitation(false); $this->setFieldOptions($matchSex, 'match_sex', $questionValueList['sex']); if (!empty($sessionData['match_sex']) && !is_array($sessionData['match_sex'])) { $matchSex->setValue($sessionData['match_sex']); } $this->addElement($matchSex); } $controller->assign('questionList', $orderedQuestionList); $controller->assign('displayAccountType', $this->displayAccountType); // 'online' field $onlineField = new CheckboxField('online'); if (is_array($sessionData) && array_key_exists('online', $sessionData)) { $onlineField->setValue((int) $sessionData['online']); } $onlineField->setLabel($lang->text('usearch', 'online_only')); $this->addElement($onlineField); // if ( OW::getPluginManager()->isPluginActive('photo') ) // { // with photo $withPhoto = new CheckboxField('with_photo'); if (is_array($sessionData) && array_key_exists('with_photo', $sessionData)) { $withPhoto->setValue((int) $sessionData['with_photo']); } $withPhoto->setLabel($lang->text('usearch', 'with_photo')); $this->addElement($withPhoto); // } // submit $submit = new Submit('search'); $submit->setValue(OW::getLanguage()->text('base', 'user_search_submit_button_label')); $this->addElement($submit); $this->bindJsFunction(Form::BIND_SUCCESS, "function(data){\n if ( data.result ) {\n document.location.href = data.url;\n }\n else {\n OW.warning(data.error);\n }\n }"); }
/** * Class constructor * */ public function __construct($maxUploadMaxFilesize) { parent::__construct('userSettingsForm'); $this->setEnctype("multipart/form-data"); $language = OW::getLanguage(); // avatar size Field $avatarSize = new TextField('avatarSize'); $avatarSize->setRequired(true); $validator = new IntValidator(40, 150); $validator->setErrorMessage($language->text('admin', 'user_settings_avatar_size_error', array('max' => 150))); $avatarSize->addValidator($validator); $this->addElement($avatarSize->setLabel($language->text('admin', 'user_settings_avatar_size_label'))); // big avatar size Field $bigAvatarSize = new TextField('bigAvatarSize'); $bigAvatarSize->setRequired(true); $validator = new IntValidator(150, 250); $validator->setErrorMessage($language->text('admin', 'user_settings_big_avatar_size_error', array('max' => 250))); $bigAvatarSize->addValidator($validator); $this->addElement($bigAvatarSize->setLabel($language->text('admin', 'user_settings_big_avatar_size_label'))); // --- avatar max size $maxUploadMaxFilesizeValidator = new FloatValidator(0, $maxUploadMaxFilesize); $maxUploadMaxFilesizeValidator->setErrorMessage($language->text('admin', 'settings_max_upload_size_error')); $avatarMaxUploadSize = new TextField('avatar_max_upload_size'); $avatarMaxUploadSize->setLabel($language->text('admin', 'input_settings_avatar_max_upload_size_label')); $avatarMaxUploadSize->addValidator($maxUploadMaxFilesizeValidator); $this->addElement($avatarMaxUploadSize); // --- avatar max size if (!defined('OW_PLUGIN_XP')) { // confirm Email $confirmEmail = new CheckboxField('confirmEmail'); $confirmEmail->setValue(OW::getConfig()->getValue('base', 'confirm_email')); $this->addElement($confirmEmail->setLabel($language->text('admin', 'user_settings_confirm_email'))); } // display name Field $displayNameField = new Selectbox('displayName'); $displayNameField->setRequired(true); $questions = array('username' => $language->text('base', 'questions_question_username_label'), 'realname' => $language->text('base', 'questions_question_realname_label')); $displayNameField->setHasInvitation(false); $displayNameField->setOptions($questions); $this->addElement($displayNameField->setLabel($language->text('admin', 'user_settings_display_name'))); $avatar = new FileField('avatar'); $this->addElement($avatar); $bigAvatar = new FileField('bigAvatar'); $this->addElement($bigAvatar); // -- $joinConfigField = new Selectbox('join_display_photo_upload'); $options = array(BOL_UserService::CONFIG_JOIN_DISPLAY_PHOTO_UPLOAD => $language->text('base', 'config_join_display_photo_upload_display_label'), BOL_UserService::CONFIG_JOIN_DISPLAY_AND_SET_REQUIRED_PHOTO_UPLOAD => $language->text('base', 'config_join_display_photo_upload_display_and_require_label'), BOL_UserService::CONFIG_JOIN_NOT_DISPLAY_PHOTO_UPLOAD => $language->text('base', 'config_join_display_photo_upload_not_display_label')); $joinConfigField->addOptions($options); $joinConfigField->setHasInvitation(false); $joinConfigField->setValue(OW::getConfig()->getValue('base', 'join_display_photo_upload')); $this->addElement($joinConfigField); // -- $joinConfigField = new CheckboxField('join_display_terms_of_use'); $joinConfigField->setValue(OW::getConfig()->getValue('base', 'join_display_terms_of_use')); $this->addElement($joinConfigField); // submit $submit = new Submit('save'); $submit->setValue($language->text('admin', 'save_btn_label')); $this->addElement($submit); }