Example #1
0
 /**
  * Class constructor
  */
 public function __construct($photoId)
 {
     parent::__construct('photo-edit-form');
     $this->setAjax(true);
     $this->setAction(OW::getRouter()->urlFor('PHOTO_CTRL_Photo', 'ajaxUpdatePhoto'));
     $language = OW::getLanguage();
     $photo = PHOTO_BOL_PhotoService::getInstance()->findPhotoById($photoId);
     $album = PHOTO_BOL_PhotoAlbumService::getInstance()->findAlbumById($photo->albumId);
     $userId = OW::getUser()->getId();
     // photo id field
     $photoIdField = new HiddenField('id');
     $photoIdField->setRequired(true);
     $this->addElement($photoIdField);
     // photo album Field
     $albumField = new SuggestField('album');
     $responderUrl = OW::getRouter()->urlFor('PHOTO_CTRL_Upload', 'suggestAlbum', array('userId' => $userId));
     $albumField->setResponderUrl($responderUrl);
     if ($album) {
         $albumField->setValue($album->name);
     }
     $albumField->setRequired(true);
     $albumField->setLabel($language->text('photo', 'album'));
     $this->addElement($albumField);
     // description Field
     $descField = new WysiwygTextarea('description', null, false);
     $descField->setId("photo-desc-area");
     $this->addElement($descField->setLabel($language->text('photo', 'description')));
     $tags = array();
     $entityTags = BOL_TagService::getInstance()->findEntityTags($photo->id, 'photo');
     if ($entityTags) {
         $tags = array();
         foreach ($entityTags as $entityTag) {
             $tags[] = $entityTag->label;
         }
         $tagsField = new TagsInputField('tags');
         $tagsField->setValue($tags);
     } else {
         $tagsField = new TagsInputField('tags');
     }
     $this->addElement($tagsField->setLabel($language->text('photo', 'tags')));
     $submit = new Submit('edit');
     $submit->setValue($language->text('photo', 'btn_edit'));
     $this->addElement($submit);
 }
Example #2
0
 /**
  * Generates add forum form
  * 
  * @param string $action
  * @return Form
  */
 private function generateAddForumForm($action)
 {
     $language = OW::getLanguage();
     $form = new Form('add-forum-form');
     $form->setAction($action);
     $groupName = new TextField('group-name');
     $groupName->setRequired(true);
     $sValidator = new StringValidator(1, 255);
     $sValidator->setErrorMessage($language->text('forum', 'chars_limit_exceeded', array('limit' => 255)));
     $groupName->addValidator($sValidator);
     $form->addElement($groupName);
     $sectionField = new SuggestField('section');
     $sectionField->setRequired(true);
     $sectionField->setMinChars(1);
     $responderUrl = OW::getRouter()->urlFor('FORUM_CTRL_Customize', 'suggestSection');
     $sectionField->setResponderUrl($responderUrl);
     $firstSection = FORUM_BOL_ForumService::getInstance()->getFirstSection();
     if ($firstSection) {
         $sectionField->setValue($firstSection->name);
     }
     $form->addElement($sectionField->setLabel($language->text('forum', 'section')));
     $description = new Textarea('description');
     $description->setRequired(true);
     $sValidator = new StringValidator(1, 50000);
     $sValidator->setErrorMessage($language->text('forum', 'chars_limit_exceeded', array('limit' => 50000)));
     $description->addValidator($sValidator);
     $form->addElement($description);
     $isPrivate = new CheckboxField('is-private');
     $form->addElement($isPrivate);
     $roles = new CheckboxGroup('roles');
     $authService = BOL_AuthorizationService::getInstance();
     $roleList = $authService->getRoleList();
     $options = array();
     foreach ($roleList as $role) {
         $options[$role->id] = $authService->getRoleLabel($role->name);
     }
     $roles->addOptions($options);
     $roles->setColumnCount(2);
     $form->addElement($roles);
     $submit = new Submit('add');
     $submit->setValue($language->text('forum', 'add_new_forum_submit'));
     $form->addElement($submit);
     $form->setAjax(true);
     return $form;
 }
Example #3
0
 public function __construct($list, $entityType, $entityId, $albumSuggestRsp)
 {
     parent::__construct('photoSubmitForm');
     $language = OW::getLanguage();
     // album suggest Field
     $albumField = new SuggestField('album');
     $albumField->setRequired(true);
     $albumField->setMinChars(1);
     // description Field
     $descField = new Textarea('description');
     $this->addElement($descField->setLabel($language->text('photo', 'description')));
     if (count($list) == 1) {
         $tagsField = new TagsInputField('tags');
         $this->addElement($tagsField->setLabel($language->text('photo', 'tags')));
     }
     $userId = OW::getUser()->getId();
     // collect default album names
     $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]);
     }
     $albumField->setResponderUrl($albumSuggestRsp);
     $albumField->setLabel($language->text('photo', 'album'));
     $this->addElement($albumField);
     $submit = new Submit('submit');
     $this->addElement($submit);
 }