public function __construct($listType, $count, $exclude = null, $albumId = null) { parent::__construct(); $this->photoService = PHOTO_BOL_PhotoService::getInstance(); $this->photoAlbumService = PHOTO_BOL_PhotoAlbumService::getInstance(); $checkPrivacy = !OW::getUser()->isAuthorized('photo'); if ($albumId) { $photos = $this->photoService->getAlbumPhotos($albumId, 1, $count, $exclude); } else { $photos = $this->photoService->findPhotoList($listType, 1, $count, $checkPrivacy, $exclude); } $this->assign('photos', $photos); foreach ($photos as $photo) { array_push($exclude, $photo['id']); } if ($albumId) { $loadMore = $this->photoAlbumService->countAlbumPhotos($albumId, $exclude); } else { $loadMore = $this->photoService->countPhotos($listType, $checkPrivacy, $exclude); } if (!$loadMore) { $script = "OWM.trigger('photo.hide_load_more', {});"; OW::getDocument()->addOnloadScript($script); } }
/** * Class constructor * * @param string $listType * @param int $count * @param string $tag */ public function __construct(array $params) { parent::__construct(); $listType = $params['type']; $count = isset($params['count']) ? $params['count'] : 5; $this->photoService = PHOTO_BOL_PhotoService::getInstance(); $page = !empty($_GET['page']) && (int) $_GET['page'] ? abs((int) $_GET['page']) : 1; $config = OW::getConfig(); $photosPerPage = $config->getValue('photo', 'photos_per_page'); if (isset($params['tag']) && strlen($tag = $params['tag'])) { $photos = $this->photoService->findTaggedPhotos($tag, $page, $photosPerPage); $records = $this->photoService->countTaggedPhotos($tag); } else { $checkPrivacy = $listType == 'latest' && !OW::getUser()->isAuthorized('photo'); $photos = $this->photoService->findPhotoList($listType, $page, $photosPerPage, $checkPrivacy); $records = $this->photoService->countPhotos($listType, $checkPrivacy); } if ($photos) { $userIds = array(); foreach ($photos as $photo) { if (!in_array($photo['userId'], $userIds)) { array_push($userIds, $photo['userId']); } } $names = BOL_UserService::getInstance()->getDisplayNamesForList($userIds); $this->assign('names', $names); $usernames = BOL_UserService::getInstance()->getUserNamesForList($userIds); $this->assign('usernames', $usernames); // Paging $pages = (int) ceil($records / $photosPerPage); $paging = new BASE_CMP_Paging($page, $pages, 10); $this->addComponent('paging', $paging); $this->assign('photos', $photos); $this->assign('no_content', false); } else { $this->assign('no_content', true); } $this->assign('listType', $listType); $this->assign('widthConfig', $config->getValue('photo', 'preview_image_width')); $this->assign('heightConfig', $config->getValue('photo', 'preview_image_height')); $this->assign('count', $count); OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('base')->getStaticJsUrl() . 'jquery.bbq.min.js'); OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('photo')->getStaticJsUrl() . 'photo.js'); OW::getLanguage()->addKeyForJs('photo', 'tb_edit_photo'); OW::getLanguage()->addKeyForJs('photo', 'confirm_delete'); OW::getLanguage()->addKeyForJs('photo', 'mark_featured'); OW::getLanguage()->addKeyForJs('photo', 'remove_from_featured'); $objParams = array('ajaxResponder' => OW::getRouter()->urlFor('PHOTO_CTRL_Photo', 'ajaxResponder'), 'fbResponder' => OW::getRouter()->urlForRoute('photo.floatbox')); $script = '$("div.ow_photo_list_item_thumb a").on("click", function(e){ e.preventDefault(); var photo_id = $(this).attr("rel"); if ( !window.photoViewObj ) { window.photoViewObj = new photoView(' . json_encode($objParams) . '); } window.photoViewObj.setId(photo_id); }); $(window).bind( "hashchange", function(e) { var photo_id = $.bbq.getState("view-photo"); if ( photo_id != undefined ) { if ( window.photoFBLoading ) { return; } window.photoViewObj.showPhotoCmp(photo_id); } });'; OW::getDocument()->addOnloadScript($script); }
/** * Class constructor * * @param string $listType * @param int $count * @param string $tag */ public function __construct(array $params) { parent::__construct(); $listType = $params['listType']; $this->assign('listType', $listType); $this->assign('idPrefix', $params['idPrefix']); $this->assign('format', isset($params['format']) ? $params['format'] : ''); $this->photoService = PHOTO_BOL_PhotoService::getInstance(); $this->advancePhotoService = ADVANCEDPHOTO_BOL_PhotoService::getInstance(); $page = !empty($_GET['page']) && (int) $_GET['page'] ? abs((int) $_GET['page']) : 1; $config = OW::getConfig(); $photosPerPage = $config->getValue('photo', 'photos_per_page'); $result = array(); $photos = array(); if (isset($params['tag']) && strlen($tag = $params['tag'])) { $photos = $this->photoService->findTaggedPhotos($tag, $page, $photosPerPage); $records = $this->photoService->countTaggedPhotos($tag); } else { if (is_numeric($listType)) { $checkPrivacy = !OW::getUser()->isAuthorized('photo'); $photos = $this->advancePhotoService->getPhotoListCategory($listType, $page, $photosPerPage, $checkPrivacy); $records = $this->advancePhotoService->countPhotoListCategory($listType, $checkPrivacy); } else { if ($listType == 'featured') { $checkPrivacy = false; $photosPerPage = OW::getConfig()->getValue('advancedphoto', 'photofeature_per_page'); $photos = $this->advancePhotoService->findPhotoList($listType, $page, $photosPerPage, $checkPrivacy); $records = $this->advancePhotoService->countPhotosFeature($listType, $checkPrivacy); } else { //echo $listType;die; $checkPrivacy = $listType == 'latest' && !OW::getUser()->isAuthorized('photo'); $photos = $this->photoService->findPhotoList($listType, $page, $photosPerPage, $checkPrivacy); $records = $this->photoService->countPhotos($listType, $checkPrivacy); } } } $aPhotos = array(); if ($photos) { $userIds = array(); foreach ($photos as $photo) { if (!in_array($photo['userId'], $userIds)) { array_push($userIds, $photo['userId']); } $photo['url'] = $this->photoService->getPhotoUrl($photo['id']); $album = PHOTO_BOL_PhotoAlbumService::getInstance()->findAlbumById($photo['albumId']); $ownerName = BOL_UserService::getInstance()->getUserName($album->userId); $photo['album_title'] = $album->name; $photo['album_href'] = OW::getRouter()->urlForRoute('photo_user_album', array('user' => $ownerName, 'album' => $album->id)); $aPhotos[] = $photo; } $names = BOL_UserService::getInstance()->getDisplayNamesForList($userIds); $this->assign('names', $names); $usernames = BOL_UserService::getInstance()->getUserNamesForList($userIds); $this->assign('usernames', $usernames); // Paging $pages = (int) ceil($records / $photosPerPage); ADVANCEDPHOTO_CTRL_Photo::$isNext = $result['isNext'] = $isNext = $pages > $page ? true : false; ADVANCEDPHOTO_CTRL_Photo::$item_count = $result['item_count'] = count($aPhotos); $this->assign('photos', $aPhotos); $this->assign('no_content', false); } else { $this->assign('no_content', true); } if (OW::getPluginManager()->isPluginActive('gphotoviewer')) { $script = "PhotoViewer.bindPhotoViewer();"; OW::getDocument()->addOnloadScript($script); } else { $objParams = array('ajaxResponder' => OW::getRouter()->urlFor('PHOTO_CTRL_Photo', 'ajaxResponder'), 'fbResponder' => OW::getRouter()->urlForRoute('photo.floatbox')); OW::getLanguage()->addKeyForJs('photo', 'tb_edit_photo'); OW::getLanguage()->addKeyForJs('photo', 'confirm_delete'); OW::getLanguage()->addKeyForJs('photo', 'mark_featured'); OW::getLanguage()->addKeyForJs('photo', 'remove_from_featured'); $script = '$("div.photo a").on("click", function(e){ e.preventDefault(); var photo_id = $(this).attr("rel"); if ( !window.photoViewObj ) { window.photoViewObj = new photoView(' . json_encode($objParams) . '); } window.photoViewObj.setId(photo_id); }); '; OW::getDocument()->addOnloadScript($script); } }