Пример #1
0
 public function __construct($userId)
 {
     parent::__construct();
     $data = OW::getEventManager()->call("photo.entity_albums_find", array("entityType" => "user", "entityId" => $userId));
     $albums = empty($data["albums"]) ? array() : $data["albums"];
     $source = BOL_PreferenceService::getInstance()->getPreferenceValue("pcgallery_source", $userId);
     $this->assign("source", $source == "album" ? "album" : "all");
     $selectedAlbum = BOL_PreferenceService::getInstance()->getPreferenceValue("pcgallery_album", $userId);
     $form = new Form("pcGallerySettings");
     $form->setEmptyElementsErrorMessage(null);
     $form->setAction(OW::getRouter()->urlFor("PCGALLERY_CTRL_Gallery", "saveSettings"));
     $element = new HiddenField("userId");
     $element->setValue($userId);
     $form->addElement($element);
     $element = new Selectbox("album");
     $element->setHasInvitation(true);
     $element->setInvitation(OW::getLanguage()->text("pcgallery", "settings_album_invitation"));
     $validator = new PCGALLERY_AlbumValidator();
     $element->addValidator($validator);
     $albumsPhotoCount = array();
     foreach ($albums as $album) {
         $element->addOption($album["id"], $album["name"] . " ({$album["photoCount"]})");
         $albumsPhotoCount[$album["id"]] = $album["photoCount"];
         if ($album["id"] == $selectedAlbum) {
             $element->setValue($album["id"]);
         }
     }
     OW::getDocument()->addOnloadScript(UTIL_JsGenerator::composeJsString('window.pcgallery_settingsAlbumCounts = {$albumsCount};', array("albumsCount" => $albumsPhotoCount)));
     $element->setLabel(OW::getLanguage()->text("pcgallery", "source_album_label"));
     $form->addElement($element);
     $submit = new Submit("save");
     $submit->setValue(OW::getLanguage()->text("pcgallery", "save_settings_btn_label"));
     $form->addElement($submit);
     $this->addForm($form);
 }
Пример #2
0
 public function __construct()
 {
     parent::__construct('bookmarks_settings');
     $language = OW::getLanguage();
     $this->setAjax();
     $this->setAjaxResetOnSuccess(FALSE);
     $this->setAction(OW::getRouter()->urlForRoute('bookmarks.admin'));
     $this->bindJsFunction('success', 'function()
     {
         OW.info("' . $language->text('bookmarks', 'settings_saved') . '");
     }');
     $notifyIntervalConfigVal = OW::getConfig()->getValue('bookmarks', 'notify_interval');
     $notifyIntervalVal = array(0 => $language->text('bookmarks', 'remainderinterval_dont_send'), 10 => $language->text('bookmarks', 'remainderinterval_10'), 20 => $language->text('bookmarks', 'remainderinterval_20'), 30 => $language->text('bookmarks', 'remainderinterval_30'));
     $notifyInterval = new Selectbox('notify_interval');
     $notifyInterval->addValidator(new BookmarkSelectboxValidator($notifyIntervalVal));
     $notifyInterval->setOptions($notifyIntervalVal);
     $notifyInterval->setValue($notifyIntervalConfigVal);
     $notifyInterval->setLabel($language->text('bookmarks', 'notify_interval_label'));
     $notifyInterval->setDescription($language->text('bookmarks', 'notify_interval_desc'));
     $notifyInterval->setHasInvitation(FALSE);
     $this->addElement($notifyInterval);
     $submit = new Submit('save');
     $submit->setValue($language->text('bookmarks', 'submit_label'));
     $this->addElement($submit);
 }