public function __construct() { parent::__construct(); $language = OW::getLanguage(); $serviceLang = BOL_LanguageService::getInstance(); $addSectionForm = new Form('qst_add_section_form'); $addSectionForm->setAjax(); $addSectionForm->setAjaxResetOnSuccess(true); $addSectionForm->setAction(OW::getRouter()->urlFor("ADMIN_CTRL_Questions", "ajaxResponder")); $input = new HiddenField('command'); $input->setValue('addSection'); $addSectionForm->addElement($input); $qstSectionName = new TextField('section_name'); $qstSectionName->addAttribute('class', 'ow_text'); $qstSectionName->addAttribute('style', 'width: auto;'); $qstSectionName->setRequired(); $qstSectionName->setLabel($language->text('admin', 'questions_new_section_label')); $addSectionForm->addElement($qstSectionName); $this->addForm($addSectionForm); $addSectionForm->bindJsFunction('success', ' function (result) { if ( result.result ) { OW.info(result.message); } else { OW.error(result.message); } window.location.reload(); } '); }
public function render() { $name = $this->getName(); $hidden = new HiddenField($name, $this->getValue()); $id = $this->getId(); $hidden->addAttribute("id", $id); $ret = $hidden->render(); if ($this->storedFieldSet === false) { $this->addSearchField($this->storedField); $this->storedFieldSet = true; } $object = array("model" => $this->model->package, "format" => "json", "fields" => $this->searchFields, "limit" => 20, "conditions" => "", "and_conditions" => $this->andConditions); $jsonSearchFields = array_reverse($this->searchFields); $object = base64_encode(serialize($object)); $path = Application::$prefix . "/lib/models/urlaccess.php?object={$object}"; $fields = urlencode(json_encode($jsonSearchFields)); $text = new TextField(); $text->addAttribute("onkeyup", "fapiUpdateSearchField('{$id}','{$path}','{$fields}',this," . ($this->boldFirst ? "true" : "false") . ",'{$this->onChangeAttribute}')"); $text->addAttribute("autocomplete", "off"); if ($this->getValue() != "") { $data = $this->model[$this->getValue()]; for ($i = 2; $i < count($jsonSearchFields); $i++) { $val .= $data[0][$jsonSearchFields[$i]] . " "; } $text->setValue($val); } $text->setId($id . "_search_entry"); $ret .= $text->render(); $ret .= "<div class='fapi-popup' id='{$id}_search_area'></div>"; return $ret; }
public function __construct() { parent::__construct('add-album'); $this->setAjax(); $this->setAjaxResetOnSuccess(FALSE); $this->setAction(OW::getRouter()->urlFor('PHOTO_CTRL_Photo', 'ajaxResponder')); $ajaxFunc = new HiddenField('ajaxFunc'); $ajaxFunc->setValue('ajaxMoveToAlbum'); $ajaxFunc->setRequired(); $this->addElement($ajaxFunc); $fromAlbum = new HiddenField('from-album'); $fromAlbum->setRequired(); $fromAlbum->addValidator(new PHOTO_CLASS_AlbumOwnerValidator()); $this->addElement($fromAlbum); $toAlbum = new HiddenField('to-album'); $this->addElement($toAlbum); $photos = new HiddenField('photos'); $photos->setRequired(); $this->albumPhotosValidator = new AlbumPhotosValidator(); $photos->addValidator($this->albumPhotosValidator); $this->addElement($photos); $albumName = new TextField('album-name'); $albumName->setRequired(); $albumName->addValidator(new PHOTO_CLASS_AlbumNameValidator(FALSE)); $albumName->setHasInvitation(TRUE); $albumName->setInvitation(OW::getLanguage()->text('photo', 'album_name')); $albumName->addAttribute('class', 'ow_smallmargin'); $this->addElement($albumName); $desc = new Textarea('desc'); $desc->setHasInvitation(TRUE); $desc->setInvitation(OW::getLanguage()->text('photo', 'album_desc')); $this->addElement($desc); $this->addElement(new Submit('add')); }
/** * Class constructor */ public function __construct($providerName) { parent::__construct('provider-config-form'); $this->setAjax(true); $this->bindJsFunction(Form::BIND_SUCCESS, 'function(data){if( data.result ){OW.info(data.message);setTimeout(function(){location.reload();}, 1000);}else{OW.error(data.message);}}'); $this->setAction(OW::getRouter()->urlForRoute('ynsocialconnect-admin-ajaxUpdateProfileQuestion')); $language = OW::getLanguage(); $service = YNSOCIALCONNECT_BOL_ServicesService::getInstance(); $questionDtoList = $service->getOWQuestionDtoList($providerName); $aliases = $service->findAliasList($providerName); $options = $service->getServiceFields($providerName); foreach ($questionDtoList as $question) { $new_element = new Selectbox('alias[' . $question->name . ']'); foreach ($options as $option) { $new_element->addOption($option->name, $option->label); } $new_element->setValue(empty($aliases[$question->name]) ? '' : $aliases[$question->name]); $this->addElement($new_element); } $hidden = new TextField('providerName'); $hidden->addAttribute('type', 'hidden'); $hidden->setValue($providerName); $this->addElement($hidden); $submit = new Submit('edit'); $submit->setValue($language->text('ynsocialconnect', 'save_btn_label')); $this->addElement($submit); }
public function __construct($albumId) { parent::__construct(self::FORM_NAME); $album = PHOTO_BOL_PhotoAlbumService::getInstance()->findAlbumById($albumId); $this->setAction(OW::getRouter()->urlForRoute('photo.ajax_update_photo')); $this->setAjax(true); $this->setAjaxResetOnSuccess(false); $albumIdField = new HiddenField(self::ELEMENT_ALBUM_ID); $albumIdField->setValue($album->id); $albumIdField->setRequired(); $albumIdField->addValidator(new PHOTO_CLASS_AlbumOwnerValidator()); $this->addElement($albumIdField); $albumNameField = new TextField(self::ELEMENT_ALBUM_NAME); $albumNameField->setValue($album->name); $albumNameField->setRequired(); if ($album->name != trim(OW::getLanguage()->text('photo', 'newsfeed_album'))) { $albumNameField->addValidator(new PHOTO_CLASS_AlbumNameValidator(true, null, $album->name)); } $albumNameField->addAttribute('class', 'ow_photo_album_name_input'); $this->addElement($albumNameField); $desc = new Textarea(self::ELEMENT_DESC); $desc->setValue(!empty($album->description) ? $album->description : NULL); $desc->setHasInvitation(TRUE); $desc->setInvitation(OW::getLanguage()->text('photo', 'describe_photo')); $desc->addAttribute('class', 'ow_photo_album_description_textarea'); $this->addElement($desc); $this->triggerReady(array('albumId' => $albumId)); }
public function __construct($albumId) { parent::__construct('albumEditForm'); $album = PHOTO_BOL_PhotoAlbumService::getInstance()->findAlbumById($albumId); $this->setAction(OW::getRouter()->urlForRoute('photo.ajax_update_photo')); $this->setAjax(TRUE); $this->setAjaxResetOnSuccess(FALSE); $albumIdField = new HiddenField('album-id'); $albumIdField->setValue($album->id); $albumIdField->setRequired(); $albumIdField->addValidator(new PHOTO_CLASS_AlbumOwnerValidator()); $this->addElement($albumIdField); $albumNameField = new TextField('albumName'); $albumNameField->setValue($album->name); $albumNameField->setRequired(); if ($album->name != trim(OW::getLanguage()->text('photo', 'newsfeed_album'))) { $albumNameField->addValidator(new PHOTO_CLASS_AlbumNameValidator(TRUE, NULL, $album->name)); } $albumNameField->addAttribute('class', 'ow_photo_album_name_input'); $this->addElement($albumNameField); $desc = new Textarea('desc'); $desc->setValue(!empty($album->description) ? $album->description : NULL); $desc->setHasInvitation(TRUE); $desc->setInvitation(OW::getLanguage()->text('photo', 'describe_photo')); $desc->addAttribute('class', 'ow_photo_album_description_textarea'); $this->addElement($desc); }
public function index($params = array()) { $userService = BOL_UserService::getInstance(); $language = OW::getLanguage(); $this->setPageHeading($language->text('admin', 'restrictedusernames')); $this->setPageHeadingIconClass('ow_ic_script'); $restrictedUsernamesForm = new Form('restrictedUsernamesForm'); $restrictedUsernamesForm->setId('restrictedUsernamesForm'); $username = new TextField('restrictedUsername'); $username->addAttribute('class', 'ow_text'); $username->addAttribute('style', 'width: auto;'); $username->setRequired(); $username->setLabel($language->text('admin', 'restrictedusernames_username_label')); $restrictedUsernamesForm->addElement($username); $submit = new Submit('addUsername'); $submit->addAttribute('class', 'ow_button'); $submit->setValue($language->text('admin', 'restrictedusernames_add_username_button')); $restrictedUsernamesForm->addElement($submit); $this->addForm($restrictedUsernamesForm); $this->assign('restricted_list', $this->userService->getRestrictedUsernameList()); if (OW::getRequest()->isPost()) { if ($restrictedUsernamesForm->isValid($_POST)) { $data = $restrictedUsernamesForm->getValues(); $username = $this->userService->getRestrictedUsername($data['restrictedUsername']); if (empty($username)) { $username = new BOL_RestrictedUsernames(); $username->setRestrictedUsername($data['restrictedUsername']); $this->userService->addRestrictedUsername($username); OW::getFeedback()->info($language->text('admin', 'restrictedusernames_username_added')); $this->redirect(); } else { OW::getFeedback()->warning($language->text('admin', 'restrictedusernames_username_already_exists')); } } } }
/** * Constructor. * * @param array $itemsList */ public function __construct($langId) { parent::__construct(); $this->service = BOL_LanguageService::getInstance(); if (empty($langId)) { $this->setVisible(false); return; } $languageDto = $this->service->findById($langId); if ($languageDto === null) { $this->setVisible(false); return; } $language = OW::getLanguage(); $form = new Form('lang_edit'); $form->setAjax(); $form->setAction(OW::getRouter()->urlFor('ADMIN_CTRL_Languages', 'langEditFormResponder')); $form->setAjaxResetOnSuccess(false); $labelTextField = new TextField('label'); $labelTextField->setLabel($language->text('admin', 'clone_form_lbl_label')); $labelTextField->setDescription($language->text('admin', 'clone_form_descr_label')); $labelTextField->setRequired(); $labelTextField->setValue($languageDto->getLabel()); $form->addElement($labelTextField); $tagTextField = new TextField('tag'); $tagTextField->setLabel($language->text('admin', 'clone_form_lbl_tag')); $tagTextField->setDescription($language->text('admin', 'clone_form_descr_tag')); $tagTextField->setRequired(); $tagTextField->setValue($languageDto->getTag()); if ($languageDto->getTag() == 'en') { $tagTextField->addAttribute('disabled', 'disabled'); } $form->addElement($tagTextField); $rtl = new CheckboxField('rtl'); $rtl->setLabel($language->text('admin', 'lang_edit_form_rtl_label')); $rtl->setDescription($language->text('admin', 'lang_edit_form_rtl_desc')); $rtl->setValue((bool) $languageDto->getRtl()); $form->addElement($rtl); $hiddenField = new HiddenField('langId'); $hiddenField->setValue($languageDto->getId()); $form->addElement($hiddenField); $submit = new Submit('submit'); $submit->setValue($language->text('admin', 'btn_label_edit')); $form->addElement($submit); $form->bindJsFunction(Form::BIND_SUCCESS, "function(data){if(data.result){OW.info(data.message);setTimeout(function(){window.location.reload();}, 1000);}else{OW.error(data.message);}}"); $this->addForm($form); }
public function __construct($photoId = NULL) { parent::__construct('photo-edit-form'); $this->setAjax(TRUE); $this->setAction(OW::getRouter()->urlFor('PHOTO_CTRL_Photo', 'ajaxUpdatePhoto')); $this->bindJsFunction('success', 'function( data ) { OW.trigger("photo.afterPhotoEdit", data); }'); $photo = PHOTO_BOL_PhotoService::getInstance()->findPhotoById($photoId); $album = PHOTO_BOL_PhotoAlbumService::getInstance()->findAlbumById($photo->albumId); $photoIdField = new HiddenField('photoId'); $photoIdField->setRequired(TRUE); $photoIdField->setValue($photo->id); $photoIdField->addValidator(new PHOTO_CLASS_PhotoOwnerValidator()); $this->addElement($photoIdField); $albumField = new TextField('album'); $albumField->setId('ajax-upload-album'); $albumField->setRequired(); $albumField->setValue($album->name); $albumField->setLabel(OW::getLanguage()->text('photo', 'create_album')); $albumField->addAttribute('class', 'ow_dropdown_btn ow_inputready ow_cursor_pointer'); $albumField->addAttribute('autocomplete', 'off'); $albumField->addAttribute('readonly'); $this->addElement($albumField); $albumNameField = new TextField('album-name'); $albumNameField->setRequired(); $albumNameField->setValue($album->name); $albumNameField->addValidator(new PHOTO_CLASS_AlbumNameValidator(FALSE, NULL, $album->name)); $albumNameField->setHasInvitation(TRUE); $albumNameField->setInvitation(OW::getLanguage()->text('photo', 'album_name')); $albumNameField->addAttribute('class', 'ow_smallmargin invitation'); $this->addElement($albumNameField); $desc = new Textarea('description'); $desc->setHasInvitation(TRUE); $desc->setInvitation(OW::getLanguage()->text('photo', 'album_desc')); $this->addElement($desc); $photoDesc = new PHOTO_CLASS_HashtagFormElement('photo-desc'); $photoDesc->setValue($photo->description); $photoDesc->setLabel(OW::getLanguage()->text('photo', 'album_desc')); $this->addElement($photoDesc); $submit = new Submit('edit'); $submit->setValue(OW::getLanguage()->text('photo', 'btn_edit')); $this->addElement($submit); }
public function index($params = array()) { $userService = BOL_UserService::getInstance(); $language = OW::getLanguage(); $this->setPageHeading($language->text('admin', 'massmailing')); $this->setPageHeadingIconClass('ow_ic_script'); $massMailingForm = new Form('massMailingForm'); $massMailingForm->setId('massMailingForm'); $rolesList = BOL_AuthorizationService::getInstance()->getRoleList(); $userRoles = new CheckboxGroup('userRoles'); $userRoles->setLabel($language->text('admin', 'massmailing_user_roles_label')); foreach ($rolesList as $role) { if ($role->name != 'guest') { $userRoles->addOption($role->name, $language->text('base', 'authorization_role_' . $role->name)); } } $massMailingForm->addElement($userRoles); $emailFormat = new Selectbox('emailFormat'); $emailFormat->setLabel($language->text('admin', 'massmailing_email_format_label')); $emailFormat->setOptions(array(self::EMAIL_FORMAT_TEXT => $language->text('admin', 'massmailing_email_format_text'), self::EMAIL_FORMAT_HTML => $language->text('admin', 'massmailing_email_format_html'))); $emailFormat->setValue(self::EMAIL_FORMAT_TEXT); $emailFormat->setHasInvitation(false); if (!empty($_POST['emailFormat'])) { $emailFormat->setValue($_POST['emailFormat']); } $massMailingForm->addElement($emailFormat); $subject = new TextField('subject'); $subject->addAttribute('class', 'ow_text'); $subject->addAttribute('style', 'width: auto;'); $subject->setRequired(); $subject->setLabel($language->text('admin', 'massmailing_subject_label')); if (!empty($_POST['subject'])) { $subject->setValue($_POST['subject']); } $massMailingForm->addElement($subject); $body = new Textarea('body'); if ($emailFormat->getValue() == self::EMAIL_FORMAT_HTML) { $body = new WysiwygTextarea('body'); $body->forceAddButtons(array(BOL_TextFormatService::WS_BTN_IMAGE, BOL_TextFormatService::WS_BTN_HTML)); } $body->addAttribute('class', 'ow_text'); $body->addAttribute('style', 'width: auto;'); $body->setRequired(); $body->setLabel($language->text('admin', 'massmailing_body_label')); if (!empty($_POST['body'])) { $body->setValue($_POST['body']); } $massMailingForm->addElement($body); $submit = new Submit('startMailing'); $submit->addAttribute('class', 'ow_button'); $submit->setValue($language->text('admin', 'massmailing_start_mailing_button')); $massMailingForm->addElement($submit); $this->addForm($massMailingForm); $ignoreUnsubscribe = false; $isActive = true; if (defined('OW_PLUGIN_XP')) { $massMailingTimestamp = OW::getConfig()->getValue('admin', 'mass_mailing_timestamp'); $timeout = $massMailingTimestamp + 60 * 60 * 24 - time(); if ($timeout > 0) { $isActive = false; $this->assign('expireText', $language->text('admin', 'massmailing_expire_text', array('hours' => (int) ceil($timeout / (60 * 60))))); } } $this->assign('isActive', $isActive); $total = $userService->findMassMailingUserCount($ignoreUnsubscribe); if (OW::getRequest()->isPost() && $isActive && isset($_POST['startMailing'])) { if ($massMailingForm->isValid($_POST)) { $data = $massMailingForm->getValues(); $start = 0; $count = self::MAILS_ARRAY_MAX_RECORDS; $mailCount = 0; $total = $userService->findMassMailingUserCount($ignoreUnsubscribe, $data['userRoles']); while ($start < $total) { $result = $this->userService->findMassMailingUsers($start, $count, $ignoreUnsubscribe, $data['userRoles']); $mails = array(); $userIdList = array(); foreach ($result as $user) { $userIdList[] = $user->id; } $displayNameList = $this->userService->getDisplayNamesForList($userIdList); $event = new BASE_CLASS_EventCollector('base.add_global_lang_keys'); OW::getEventManager()->trigger($event); $vars = call_user_func_array('array_merge', $event->getData()); foreach ($result as $key => $user) { $vars['user_email'] = $user->email; $mail = OW::getMailer()->createMail(); $mail->addRecipientEmail($user->email); $vars['user_name'] = $displayNameList[$user->id]; $code = md5($user->username . $user->password); $link = OW::getRouter()->urlForRoute('base_massmailing_unsubscribe', array('id' => $user->id, 'code' => $code)); $subjectText = UTIL_String::replaceVars($data['subject'], $vars); $mail->setSubject($subjectText); if ($data['emailFormat'] === self::EMAIL_FORMAT_HTML) { $htmlContent = UTIL_String::replaceVars($data['body'], $vars); $htmlContent .= $language->text('admin', 'massmailing_unsubscribe_link_html', array('link' => $link)); $mail->setHtmlContent($htmlContent); $textContent = preg_replace("/\\<br\\s*[\\/]?\\s*\\>/", "\n", $htmlContent); $textContent = strip_tags($textContent); $mail->setTextContent($textContent); } else { $textContent = UTIL_String::replaceVars($data['body'], $vars); $textContent .= "\n\n" . $language->text('admin', 'massmailing_unsubscribe_link_text', array('link' => $link)); $mail->setTextContent($textContent); } $mails[] = $mail; $mailCount++; } $start += $count; //printVar($mails); OW::getMailer()->addListToQueue($mails); } OW::getFeedback()->info($language->text('admin', 'massmailing_send_mails_message', array('count' => $mailCount))); if (defined('OW_PLUGIN_XP')) { OW::getConfig()->saveConfig('admin', 'mass_mailing_timestamp', time()); } $this->redirect(); } } $this->assign('userCount', $total); $language->addKeyForJs('admin', 'questions_empty_lang_value'); $language->addKeyForJs('admin', 'massmailing_total_members'); $script = ' window.massMailing = new MassMailing(\'' . $this->ajaxResponderUrl . '\'); '; OW::getDocument()->addOnloadScript($script); $jsDir = OW::getPluginManager()->getPlugin("admin")->getStaticJsUrl(); OW::getDocument()->addScript($jsDir . "mass_mailing.js"); }
public function __construct($entityType, $entityId, $albumId = null, $albumName = null, $albumDescription = null, $url = null, $data = null) { parent::__construct(self::FORM_NAME); $this->setAjax(true); $this->setAjaxResetOnSuccess(false); $this->setAction(OW::getRouter()->urlForRoute('photo.ajax_upload_submit')); $this->bindJsFunction(self::BIND_SUCCESS, UTIL_JsGenerator::composeJsString('function( data ) { if ( data ) { if ( !data.result ) { if ( data.msg ) { OW.error(data.msg); } else { OW.getLanguageText("photo", "photo_upload_error"); } } else { var url = {$url}; if ( url ) { window.location.href = url; } else if ( data.url ) { window.location.href = data.url; } } } else { OW.error("Server error"); } }', array('url' => $url))); $language = OW::getLanguage(); $albumField = new TextField(self::ELEMENT_ALBUM); $albumField->setRequired(); $albumField->addAttribute(FormElement::ATTR_CLASS, 'ow_dropdown_btn ow_inputready ow_cursor_pointer'); $albumField->addAttribute('autocomplete', 'off'); $albumField->addAttribute(FormElement::ATTR_READONLY); $albumNameField = new TextField(self::ELEMENT_ALBUM_NAME); $albumNameField->setRequired(); $albumNameField->addValidator(new PHOTO_CLASS_AlbumNameValidator(false)); $albumNameField->addAttribute('placeholder', $language->text('photo', 'album_name')); $this->addElement($albumNameField); $desc = new Textarea(self::ELEMENT_DESCRIPTION); $desc->addAttribute('placeholder', $language->text('photo', 'album_desc')); $desc->setValue(!empty($albumDescription) ? $albumDescription : null); $this->addElement($desc); $userId = OW::getUser()->getId(); $albumService = PHOTO_BOL_PhotoAlbumService::getInstance(); if (!empty($albumId) && ($album = $albumService->findAlbumById($albumId)) !== null && $album->userId == $userId && !$albumService->isNewsfeedAlbum($album)) { $albumField->setValue($album->name); $albumNameField->setValue($album->name); } elseif (!empty($albumName)) { $albumField->setValue($albumName); $albumNameField->setValue($albumName); } else { $event = OW::getEventManager()->trigger(new BASE_CLASS_EventCollector(PHOTO_CLASS_EventHandler::EVENT_SUGGEST_DEFAULT_ALBUM, array('userId' => $userId, 'entityType' => $entityType, 'entityId' => $entityId))); $eventData = $event->getData(); if (!empty($eventData)) { $value = array_shift($eventData); $albumField->setValue($value); $albumNameField->setValue($value); } else { $albumField->setValue($language->text('photo', 'choose_existing_or_create')); } } $this->addElement($albumField); $submit = new Submit('submit'); $submit->addAttribute('class', 'ow_ic_submit ow_positive'); $this->addElement($submit); $this->triggerReady(array('entityType' => $entityType, 'entityId' => $entityId, 'albumId' => $albumId, 'albumName' => $albumName, 'albumDescription' => $albumDescription, 'url' => $url, 'data' => $data)); }
public function __construct($entityType, $entityId, $albumId = NULL, $albumName = NULL, $albumDescription = NULL, $url = NULL) { parent::__construct('ajax-upload'); $this->setAjax(TRUE); $this->setAjaxResetOnSuccess(FALSE); $this->setAction(OW::getRouter()->urlForRoute('photo.ajax_upload_submit')); $this->bindJsFunction('success', UTIL_JsGenerator::composeJsString('function( data ) { if ( data ) { if ( !data.result ) { if ( data.msg ) { OW.error(data.msg); } else { OW.getLanguageText("photo", "photo_upload_error"); } } else { var url = {$url}; if ( url ) { window.location.href = url; } else if ( data.url ) { window.location.href = data.url; } } } else { OW.error("Server error"); } }', array('url' => $url))); $language = OW::getLanguage(); $albumField = new TextField('album'); $albumField->setRequired(); $albumField->addAttribute('class', 'ow_dropdown_btn ow_inputready ow_cursor_pointer'); $albumField->addAttribute('autocomplete', 'off'); $albumField->addAttribute('readonly'); $albumNameField = new TextField('album-name'); $albumNameField->setRequired(); $albumNameField->addValidator(new PHOTO_CLASS_AlbumNameValidator(FALSE)); $albumNameField->addAttribute('class', 'ow_smallmargin invitation'); $this->addElement($albumNameField); $desc = new Textarea('description'); $desc->addAttribute('class', 'invitation'); if (!empty($albumDescription)) { $desc->setValue($albumDescription); } else { $desc->setValue($language->text('photo', 'album_desc')); } $this->addElement($desc); $userId = OW::getUser()->getId(); if (!empty($albumId) && ($album = PHOTO_BOL_PhotoAlbumService::getInstance()->findAlbumById($albumId, $userId)) !== NULL && $album->userId == $userId && $album->name != trim(OW::getLanguage()->text('photo', 'newsfeed_album'))) { $albumField->setValue($album->name); $albumNameField->setValue($album->name); } elseif (!empty($albumName)) { $albumField->setValue($albumName); $albumNameField->setValue($albumName); } else { $event = new BASE_CLASS_EventCollector(PHOTO_CLASS_EventHandler::EVENT_SUGGEST_DEFAULT_ALBUM, array('userId' => $userId, 'entityType' => $entityType, 'entityId' => $entityId)); OW::getEventManager()->trigger($event); $data = $event->getData(); if (!empty($data)) { $albumField->setValue($data[0]); $albumNameField->setValue($data[0]); } else { $albumField->setValue($language->text('photo', 'choose_existing_or_create')); $albumNameField->setValue($language->text('photo', 'album_name')); } } $this->addElement($albumField); $submit = new Submit('submit'); $submit->addAttribute('class', 'ow_ic_submit ow_positive'); $this->addElement($submit); }
/** * Class constructor * */ public function __construct(MAILBOX_CMP_NewMessage $component = null) { $language = OW::getLanguage(); parent::__construct('mailbox-new-message-form'); $this->setId('mailbox-new-message-form'); $this->setAjax(true); $this->setAjaxResetOnSuccess(false); $this->setAction(OW::getRouter()->urlFor('MAILBOX_CTRL_Ajax', 'newMessage')); $this->setEmptyElementsErrorMessage(''); $this->setEnctype('multipart/form-data'); $subject = new TextField('subject'); // $subject->setHasInvitation(true); // $subject->setInvitation($language->text('mailbox', 'subject')); $subject->addAttribute('placeholder', $language->text('mailbox', 'subject')); $requiredValidator = new RequiredValidator(); $requiredValidator->setErrorMessage($language->text('mailbox', 'subject_is_required')); $subject->addValidator($requiredValidator); $validatorSubject = new StringValidator(1, 2048); $validatorSubject->setErrorMessage($language->text('mailbox', 'message_too_long_error', array('maxLength' => 2048))); $subject->addValidator($validatorSubject); $this->addElement($subject); $validator = new StringValidator(1, MAILBOX_BOL_AjaxService::MAX_MESSAGE_TEXT_LENGTH); $validator->setErrorMessage($language->text('mailbox', 'message_too_long_error', array('maxLength' => MAILBOX_BOL_AjaxService::MAX_MESSAGE_TEXT_LENGTH))); $textarea = OW::getClassInstance("MAILBOX_CLASS_Textarea", "message"); /* @var $textarea MAILBOX_CLASS_Textarea */ $textarea->addValidator($validator); $textarea->setCustomBodyClass("mailbox"); // $textarea->setHasInvitation(true); // $textarea->setInvitation($language->text('mailbox', 'message_invitation')); $textarea->addAttribute('placeholder', $language->text('mailbox', 'message_invitation')); $requiredValidator = new RequiredValidator(); $requiredValidator->setErrorMessage($language->text('mailbox', 'chat_message_empty')); $textarea->addValidator($requiredValidator); $this->addElement($textarea); $user = OW::getClassInstance("MAILBOX_CLASS_UserField", "opponentId"); /* @var $user MAILBOX_CLASS_UserField */ // $user->setHasInvitation(true); // $user->setInvitation($language->text('mailbox', 'to')); $requiredValidator = new RequiredValidator(); $requiredValidator->setErrorMessage($language->text('mailbox', 'recipient_is_required')); $user->addValidator($requiredValidator); $this->addElement($user); if (OW::getSession()->isKeySet('mailbox.new_message_form_attachments_uid')) { $uidValue = OW::getSession()->get('mailbox.new_message_form_attachments_uid'); } else { $uidValue = UTIL_HtmlTag::generateAutoId('mailbox_new_message'); OW::getSession()->set('mailbox.new_message_form_attachments_uid', $uidValue); } $uid = new HiddenField('uid'); $uid->setValue($uidValue); $this->addElement($uid); $configs = OW::getConfig()->getValues('mailbox'); if (!empty($configs['enable_attachments']) && !empty($component)) { $attachmentCmp = new BASE_CLASS_FileAttachment('mailbox', $uidValue); $attachmentCmp->setInputSelector('#newMessageWindowAttachmentsBtn'); $component->addComponent('attachments', $attachmentCmp); } $submit = new Submit("send"); $submit->setValue($language->text('mailbox', 'send_button')); $this->addElement($submit); if (!OW::getRequest()->isAjax()) { $this->initStatic(); } }
/** * Class constructor * */ public function __construct($maxUploadFileSize) { parent::__construct('configSaveForm'); $language = OW::getLanguage(); $configs = OW::getConfig()->getValues('mailbox'); $element = new CheckboxField('enableAttachments'); $element->setValue($configs['enable_attachments']); $this->addElement($element); $element = new TextField('uploadMaxFileSize'); $element->addAttribute('style', 'width:30px'); /* if ( !$configs['enable_attachments'] ) { $element->addAttribute('disabled', 'disabled'); } */ $validator = new FloatValidator(0, $maxUploadFileSize); $validator->setErrorMessage($language->text('admin', 'settings_max_upload_size_error')); $element->addValidator($validator); $element->setValue((double) $configs['upload_max_file_size']); $this->addElement($element); // submit $submit = new Submit('save'); $submit->setValue($language->text('base', 'edit_button')); $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); }
public function send(array $params = null) { if (!OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } $receiveUser = $params['id']; if (!OW::getUser()->isAuthorized('credits', 'send') || !OW::getAuthorization()->isUserAuthorized($receiveUser, 'credits', 'receive') || !isset($params['id'])) { $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); $this->assign('receiveUserName', BOL_UserService::getInstance()->getDisplayName($receiveUser)); $form = new Form('creditForm'); $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(); $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'); }
/** * Class constructor * */ public function __construct() { parent::__construct('configSaveForm'); $language = OW::getLanguage(); // select box for permission $arr1 = array('1' => 'yes', '0' => 'no'); // Record path Field $record_limitPath = new TextField('record_path'); $record_limitPath->setRequired(false); $this->addElement($record_limitPath->setLabel($language->text('vwvr', 'record_path'))); // Record limit Field $record_limitField = new TextField('record_limit'); $record_limitField->setRequired(false); $this->addElement($record_limitField->setLabel($language->text('vwvr', 'record_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('vwvr', '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('vwvr', 'advanced_camera_settings'))); // 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('vwvr', '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('vwvr', '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('vwvr', 'microphone_rate'))); // Bandwidth Field $bandwidthField = new TextField('bandwidth'); $bandwidthField->setRequired(true); $this->addElement($bandwidthField->setLabel($language->text('vwvr', 'bandwidth'))); // Layout Code Field $layout_codeField = new Textarea('layout_code'); $this->addElement($layout_codeField->setLabel($language->text('vwvr', '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('vwvr', 'fill_window'))); // baseSwf_url Field $baseSwf_urlField = new TextField('baseSwf_url'); $baseSwf_urlField->addAttribute('readonly', 'readonly'); $this->addElement($baseSwf_urlField->setLabel($language->text('vwvr', 'baseSwf_url'))); // server Field $serverField = new TextField('server'); $serverField->setRequired(true); $this->addElement($serverField->setLabel($language->text('vwvr', 'server'))); // serverAMF Field $serverAMFField = new TextField('serverAMF'); $serverAMFField->setRequired(true); $this->addElement($serverAMFField->setLabel($language->text('vwvr', 'serverAMF'))); // videoCodec Field $videoCodecField = new TextField('videoCodec'); $videoCodecField->setRequired(true); $this->addElement($videoCodecField->setLabel($language->text('vwvr', 'videoCodec'))); // codecLevel Field $codecLevelField = new TextField('codecLevel'); $codecLevelField->setRequired(true); $this->addElement($codecLevelField->setLabel($language->text('vwvr', 'codecLevel'))); // soundQuality Field $soundQualityField = new TextField('soundQuality'); $soundQualityField->setRequired(true); $this->addElement($soundQualityField->setLabel($language->text('vwvr', 'soundQuality'))); // 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('vwvr', '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('vwvr', 'soundCodec'))); // camMaxBandwidth Field $camMaxBandwidthField = new TextField('camMaxBandwidth'); $camMaxBandwidthField->setRequired(true); $this->addElement($camMaxBandwidthField->setLabel($language->text('vwvr', 'camMaxBandwidth'))); // bufferLive Field $bufferLiveField = new TextField('bufferLive'); $bufferLiveField->setRequired(true); $this->addElement($bufferLiveField->setLabel($language->text('vwvr', 'bufferLive'))); // bufferFull Field $bufferFullField = new TextField('bufferFull'); $bufferFullField->setRequired(true); $this->addElement($bufferFullField->setLabel($language->text('vwvr', 'bufferFull'))); // bufferLivePlayback Field $bufferLivePlaybackField = new TextField('bufferLivePlayback'); $bufferLivePlaybackField->setRequired(true); $this->addElement($bufferLivePlaybackField->setLabel($language->text('vwvr', 'bufferLivePlayback'))); // bufferFullPlayback Field $bufferFullPlaybackField = new TextField('bufferFullPlayback'); $bufferFullPlaybackField->setRequired(true); $this->addElement($bufferFullPlaybackField->setLabel($language->text('vwvr', 'bufferFullPlayback'))); // availability Field $availabilityField = new TextField('availability'); $availabilityField->setRequired(true); $this->addElement($availabilityField->setLabel($language->text('vwvr', '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('vwvr', '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('vwvr', '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('vwvr', 'member_list'))); // submit $submit = new Submit('save'); $submit->setValue($language->text('vwvr', 'btn_edit')); $this->addElement($submit); }
protected function renderHeader() { $searchFunction = $this->name . "Search()"; $table = "<table class='tapi-table' id='{$this->name}'>"; //Render Headers $table .= "<thead><tr>"; //$table .= "<td><input type='checkbox' onchange=\"wyf.tapi.checkToggle('$this->name',this)\"></td>"; foreach ($this->headers as $i => $header) { $table .= "<td onclick=\"wyf.tapi.sort('" . $this->name . "','" . $this->tableData["rawFields"][$i + 1] . "')\">\n {$header}\n </td>"; } if ($this->useInlineOperations) { $table .= "<td>Operations</td>"; } $table .= "</tr>"; //Render search fields $table .= "<tr id='tapi-{$this->name}-search' class='tapi-search-row' >"; foreach ($this->headers as $i => $header) { $table .= "<td>"; //if(count(explode(",",$this->fields[$i]))==1) //{ switch ($this->fields[$i + 1]["type"]) { case "string": case "text": $text = new TextField(); $text->setId($this->fields[$i + 1]["name"]); $text->addAttribute("onkeyup", $searchFunction); $table .= $text->render(); $name = $this->fields[$i + 1]["name"]; // veeery dirty code @todo clean this up small //$this->searchScript .= "if($('#$name').val()!='') conditions = (conditions==''?'':conditions+' AND ')+ \"lower('\" + $('#$name').val() +\"') in lower({$this->tableData["rawFields"][$i+1]}))>0\";\n"; $this->searchScript .= "if(\$('#{$name}').val()!='') { conditions = (conditions==''?'':conditions+' AND ')+ \"lower({$this->tableData["rawFields"][$i + 1]}::varchar) like ?\"; boundData.push('%'+\$('#{$name}').val().toLowerCase()+'%');}\n"; break; /*case "reference": $text = new TextField(); $text->setId($this->fields[$i]["name"]); $text->addAttribute("onkeyup",$searchFunction); $table .= $text->render(); $modelInfo = Model::resolvePath($this->fields[$i]["reference"]); $model = Model::load($modelInfo["model"]); $fieldName = $model->database.".".$this->fields[$i]["referenceValue"]; $this->searchScript .= "if($('#{$this->fields[$i]["name"]}').val()!='') condition += escape('$fieldName='+$('#{$fields[$i]["name"]}').val()+',');"; break; $list = new ModelSearchField($fields[$i]["reference"],$fields[$i]["referenceValue"]); $list->boldFirst = false; $list->setId($fields[$i]["name"]); $list->addAttribute("onChange",$searchFunction); $table .= $list->render(); $modelInfo = Model::resolvePath($fields[$i]["reference"]); $model = Model::load($modelInfo["model"]); $fieldName = $model->database.".".$field[$i]["name"]; $this->searchScript .= "if($('#{$field["name"]}').val()!='') condition += escape('$fieldName='+$('#{$field["name"]}').val()+',');"; break;*/ /*case "enum": $list = new SelectionList(); foreach($fields[$i]["options"] as $value => $label) { $list->addOption($label,$value); } $list->setId($fields[$i]["name"]); $table.=$list->render(); break; case "integer": case "double": $options = Element::create("SelectionList")-> addOption("Equals",0)-> addOption("Greater than",1)-> addOption("Less than",2); $text = new TextField(); $text->setId($fields[$i]["name"]); $table .= $options->render().$text->render(); break; case "date": $date = new DateField(); $date->setId($fields[$i]["name"]); $table .= $date->render(); break; case "boolean": $options = Element::create("SelectionList")-> addOption("Yes",1)->addOption("No",0); $options->setId($fields[$i]["name"]); $table .= $options->render(); break;*/ } //} /*else { $text = new TextField(); $text->setId("concat_field_$i"); $text->addAttribute("onkeyup",$searchFunction); $table .= $text->render(); $name = addslashes($this->model->datastore->concatenate(explode(",",$this->fields[$i]))); $this->searchScript .= "if($('#concat_field_$i').val()!='') condition += escape('$name='+$('#concat_field_$i').val()+',');"; }*/ $table .= "</td>"; } if ($this->useInlineOperations) { $table .= "<td><input class='fapi-button' type='button' value='Search' onclick='{$searchFunction}'/></td></tr></thead>"; } //Render Data $table .= "<tbody id='tbody'>"; return $table; }
public function __construct() { parent::__construct('usearch_general_settings'); $language = OW::getLanguage(); $config = OW::getConfig()->getValues('usearch'); $element = new CheckboxField('latest_activity'); $element->setValue($config['order_latest_activity']); $element->setLabel($language->text('usearch', 'order_latest_activity')); $this->addElement($element); $element = new CheckboxField('recently_joined'); $element->setLabel($language->text('usearch', 'order_recently_joined')); $element->setValue($config['order_recently_joined']); $this->addElement($element); $element = new CheckboxField('match_compatibitity'); $element->setLabel($language->text('usearch', 'order_match_compatibitity')); $element->setValue($config['order_match_compatibitity']); $this->addElement($element); $element = new CheckboxField('distance'); $element->setLabel($language->text('usearch', 'order_distance')); $element->setValue($config['order_distance']); $this->addElement($element); $element = new TextField('hide_user_activity_after'); $element->setRequired(true); $element->addAttribute('style', 'width:50px'); $validator = new IntValidator(1, 10000); $element->addValidator($validator); $element->setValue((int) $config['hide_user_activity_after']); $this->addElement($element->setLabel($language->text('usearch', 'hide_user_activity'))); $submit = new Submit('save'); $submit->setValue($language->text('usearch', 'save')); $this->addElement($submit); }
public function index($params = array()) { $this->addContentMenu(); $accountType = null; if (isset($_GET['accountType'])) { OW::getSession()->set(self::SESSION_VAR_ACCIUNT_TYPE, trim($_GET['accountType'])); } if (OW::getSession()->get(self::SESSION_VAR_ACCIUNT_TYPE)) { $accountType = OW::getSession()->get(self::SESSION_VAR_ACCIUNT_TYPE); } $serviceLang = BOL_LanguageService::getInstance(); $language = OW::getLanguage(); $currentLanguageId = OW::getLanguage()->getCurrentId(); // get available account types from DB $accountTypes = $this->questionService->findAllAccountTypesWithQuestionsCount(); /* @var $value BOL_QuestionAccount */ foreach ($accountTypes as $key => $value) { $accounts[$value['name']] = $language->text('base', 'questions_account_type_' . $value['name']); } $accountsKeys = array_keys($accounts); $accountType = !isset($accountType) || !in_array($accountType, $accountsKeys) ? $accountsKeys[0] : $accountType; // -- Select account type form -- $accountTypeSelectForm = new Form('qst_account_type_select_form'); $accountTypeSelectForm->setMethod(Form::METHOD_GET); $qstAccountType = new Selectbox('accountType'); $qstAccountType->addAttribute('id', 'qst_account_type_select'); $qstAccountType->setLabel($language->text('admin', 'questions_account_type_label')); $qstAccountType->setOptions($accounts); $qstAccountType->setValue($accountType); $qstAccountType->setHasInvitation(false); $accountTypeSelectForm->addElement($qstAccountType); $this->addForm($accountTypeSelectForm); $script = ' $("#qst_account_type_select").change( function(){ $(this).parents("form:eq(0)").submit(); } ); '; OW::getDocument()->addOnloadScript($script); $this->assign('accountTypes', $accountTypes); $this->assign('editAccountTypeUrl', OW::getRouter()->urlFor('ADMIN_CTRL_Questions', 'editAccountType')); $addSectionForm = new Form('qst_add_section_form'); $qstSectionName = new TextField('section_name'); $qstSectionName->addAttribute('class', 'ow_text'); $qstSectionName->addAttribute('style', 'width: auto;'); $qstSectionName->setRequired(); $qstSectionName->setLabel($language->text('admin', 'questions_new_section_label')); $addSectionForm->addElement($qstSectionName); if (OW::getRequest()->isPost() && isset($_POST['section_name'])) { if ($addSectionForm->isValid($_POST)) { $data = $addSectionForm->getValues(); $questionSection = new BOL_QuestionSection(); $questionSection->name = md5(uniqid()); $questionSection->sortOrder = $this->questionService->findLastSectionOrder() + 1; $this->questionService->saveOrUpdateSection($questionSection); $this->questionService->updateQuestionsEditStamp(); $serviceLang->addValue($currentLanguageId, 'base', 'questions_section_' . $questionSection->name . '_label', htmlspecialchars($data['section_name'])); if (OW::getDbo()->getAffectedRows() > 0) { OW::getFeedback()->info($language->text('admin', 'questions_section_was_added')); } $this->redirect(OW::getRequest()->getRequestUri()); } } $this->addForm($addSectionForm); // -- Get all section, questions and question values -- $questions = $this->questionService->findAllQuestionsWithSectionForAccountType($accountType); $section = null; $questionArray = array(); $questionNameList = array(); $sectionDeleteUrlList = array(); $parentList = array(); foreach ($questions as $sort => $question) { if ($section !== $question['sectionName']) { $section = $question['sectionName']; $sectionDeleteUrlList[$section] = OW::getRouter()->urlFor('ADMIN_CTRL_Questions', 'deleteSection', array("sectionName" => $section)); $questionArray[$section] = array(); } if (isset($questions[$sort]['id'])) { $questionArray[$section][$sort] = $questions[$sort]; $questionArray[$section][$sort]['questionEditUrl'] = OW::getRouter()->urlFor('ADMIN_CTRL_Questions', 'edit', array("questionId" => $questions[$sort]['id'])); $questionArray[$section][$sort]['questionDeleteUrl'] = OW::getRouter()->urlFor('ADMIN_CTRL_Questions', 'deleteQuestion', array("questionId" => $questions[$sort]['id'])); if (!empty($question['parent'])) { $parent = $this->questionService->findQuestionByName($question['parent']); if (!empty($parent)) { $questionArray[$section][$sort]['parentUrl'] = OW::getRouter()->urlFor('ADMIN_CTRL_Questions', 'edit', array("questionId" => $parent->id)); $questionArray[$section][$sort]['parentLabel'] = $this->questionService->getQuestionLang($parent->name); $parentList[$question['parent']][] = array('name' => $question['name'], 'editUrl' => $questionArray[$section][$sort]['questionEditUrl']); } else { $questionArray[$section][$sort]['parent'] = ''; } } $questionNameList[] = $questions[$sort]['name']; } } foreach ($questions as $sort => $question) { $text = $language->text('admin', 'questions_delete_question_confirmation'); if (array_key_exists($question['name'], $parentList)) { $questionStringList = array(); foreach ($parentList[$question['name']] as $child) { $questionStringList[] = BOL_QuestionService::getInstance()->getQuestionLang($child['name']); } $text = $language->text('admin', 'questions_delete_question_parent_confirmation', array('questions' => implode(', ', $questionStringList))); } $text = json_encode($text); OW::getDocument()->addOnloadScript("OW.registerLanguageKey('admin', 'questions_delete_question_confirmation_" . (int) $question['id'] . "', {$text});"); } $questionValues = $this->questionService->findQuestionsValuesByQuestionNameList($questionNameList); $this->assign('questionsBySections', $questionArray); $this->assign('questionValues', $questionValues); $this->assign('sectionDeleteUrlList', $sectionDeleteUrlList); $language->addKeyForJs('admin', 'questions_delete_section_confirmation'); $script = ' window.indexQuest = new indexQuestions( ' . json_encode(array('questionAddUrl' => OW::getRouter()->urlFor("ADMIN_CTRL_Questions", "add"), 'ajaxResponderUrl' => $this->ajaxResponderUrl)) . ' )'; //' . json_encode( array( 'questionEditUrl' => $questionEditUrl ) ) . ' ); '; OW::getDocument()->addOnloadScript($script); $jsDir = OW::getPluginManager()->getPlugin("admin")->getStaticJsUrl(); OW::getDocument()->addScript($jsDir . "questions.js"); $baseJsDir = OW::getPluginManager()->getPlugin("base")->getStaticJsUrl(); OW::getDocument()->addScript($baseJsDir . "jquery-ui.min.js"); }