예제 #1
0
 public function initFloatbox(OW_Event $event)
 {
     static $isInitialized = FALSE;
     if ($isInitialized) {
         return;
     }
     $params = $event->getParams();
     $layout = !empty($params['layout']) && in_array($params['layout'], array('page', 'floatbox')) ? $params['layout'] : 'floatbox';
     $document = OW::getDocument();
     $plugin = OW::getPluginManager()->getPlugin('photo');
     $document->addStyleSheet($plugin->getStaticCssUrl() . 'photo_floatbox.css');
     $document->addScript(OW::getPluginManager()->getPlugin('base')->getStaticJsUrl() . 'jquery-ui.min.js');
     $document->addScript($plugin->getStaticJsUrl() . 'slider.min.js', 'text/javascript', 1000000);
     $document->addScript($plugin->getStaticJsUrl() . 'photo.js');
     $language = OW::getLanguage();
     $language->addKeyForJs('photo', 'tb_edit_photo');
     $language->addKeyForJs('photo', 'confirm_delete');
     $language->addKeyForJs('photo', 'mark_featured');
     $language->addKeyForJs('photo', 'remove_from_featured');
     $language->addKeyForJs('photo', 'rating_total');
     $language->addKeyForJs('photo', 'rating_your');
     $language->addKeyForJs('photo', 'of');
     $language->addKeyForJs('photo', 'album');
     $language->addKeyForJs('base', 'rate_cmp_owner_cant_rate_error_message');
     $language->addKeyForJs('base', 'rate_cmp_auth_error_message');
     $language->addKeyForJs('photo', 'slideshow_interval');
     $language->addKeyForJs('photo', 'pending_approval');
     $viewEvent = new OW_Event(self::EVENT_GET_PHOTO_VIEW_STATUS, $params);
     OW::getEventManager()->trigger($viewEvent);
     $photoViewStatus = $viewEvent->getData();
     $document->addScriptDeclarationBeforeIncludes(UTIL_JsGenerator::composeJsString('
             ;window.photoViewParams = Object.defineProperties({}, {
                 ajaxResponder:{value: {$ajaxResponder}, enumerable: true},
                 rateUserId: {value: {$rateUserId}, enumerable: true},
                 layout: {value: {$layout}, enumerable: true},
                 isClassic: {value: {$isClassic}, enumerable: true},
                 urlHome: {value: {$urlHome}, enumerable: true},
                 isDisabled: {value: {$isDisabled}, enumerable: true},
                 isEnableFullscreen: {value: {$isEnableFullscreen}, enumerable: true}
             });', array('ajaxResponder' => OW::getRouter()->urlFor('PHOTO_CTRL_Photo', 'ajaxResponder'), 'rateUserId' => OW::getUser()->getId(), 'layout' => $layout, 'isClassic' => (bool) OW::getConfig()->getValue('photo', 'photo_view_classic'), 'urlHome' => OW_URL_HOME, 'isDisabled' => empty($photoViewStatus['available']), 'isEnableFullscreen' => (bool) OW::getConfig()->getValue('photo', 'store_fullsize'))));
     $document->addOnloadScript(';window.photoView.init();');
     $cmp = new PHOTO_CMP_PhotoFloatbox($layout, $photoViewStatus);
     $document->appendBody($cmp->render());
     $isInitialized = TRUE;
 }
예제 #2
0
파일: photo.php 프로젝트: vazahat/dudex
 private function prepareMarkup($photoId)
 {
     $cmp = new PHOTO_CMP_PhotoFloatbox(array('photoId' => $photoId));
     /* @var $document OW_AjaxDocument */
     $document = OW::getDocument();
     $markup = array();
     $markup['id'] = (int) $photoId;
     $markup['html'] = $cmp->render();
     $onloadScript = $document->getOnloadScript();
     if (!empty($onloadScript)) {
         $markup['onloadScript'] = $onloadScript;
     }
     $scriptFiles = $document->getScripts();
     if (!empty($scriptFiles)) {
         $markup['scriptFiles'] = $scriptFiles;
     }
     $css = $document->getStyleDeclarations();
     if (!empty($css)) {
         $markup['css'] = $css;
     }
     $cssFiles = $document->getStyleSheets();
     if (!empty($cssFiles)) {
         $markup['cssFiles'] = $cssFiles;
     }
     return $markup;
 }