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();
            } ');
    }
Example #2
0
 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;
 }
Example #3
0
 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'));
 }
Example #4
0
 /**
  * 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);
 }
Example #5
0
 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));
 }
Example #6
0
 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);
 }
Example #7
0
 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'));
             }
         }
     }
 }
Example #8
0
 /**
  * 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);
 }
Example #9
0
 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);
 }
Example #10
0
 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");
 }
Example #11
0
    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));
    }
Example #12
0
 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);
 }
Example #13
0
 /**
  * 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();
     }
 }
Example #14
0
 /**
  * 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);
 }
Example #15
0
 /**
  * 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);
 }
Example #16
0
 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');
 }
Example #17
0
 /**
  * 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);
 }
Example #18
0
 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;
 }
Example #19
0
 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);
 }
Example #20
0
 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");
 }