本文整理汇总了PHP中PHOTO_BOL_PhotoAlbumService::findAlbumById方法的典型用法代码示例。如果您正苦于以下问题:PHP PHOTO_BOL_PhotoAlbumService::findAlbumById方法的具体用法?PHP PHOTO_BOL_PhotoAlbumService::findAlbumById怎么用?PHP PHOTO_BOL_PhotoAlbumService::findAlbumById使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHOTO_BOL_PhotoAlbumService
的用法示例。
在下文中一共展示了PHOTO_BOL_PhotoAlbumService::findAlbumById方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPhotosContent
/**
* Method acts as ajax responder. Calls methods using ajax
*
* @return JSON encoded string
*
*/
public function getPhotosContent()
{
if (empty($_GET['photo_id']) || !$_GET['photo_id']) {
throw new Redirect404Exception();
exit;
}
$userId = OW::getUser()->getId();
$photoId = (int) $_GET['photo_id'];
$photo = $this->photoService->findPhotoById($photoId);
if (!$photo) {
exit(json_encode(array('result' => 'error')));
}
// is moderator
$moderatorMode = OW::getUser()->isAuthorized('photo');
$userId = OW::getUser()->getId();
$contentOwner = $this->photoService->findPhotoOwner($photoId);
$ownerMode = $contentOwner == $userId;
$canView = true;
$message = '';
if (!$ownerMode && !OW::getUser()->isAuthorized('photo', 'view')) {
$canView = false;
$message = OW::getLanguage()->text('base', 'authorization_failed_feedback');
}
$album = $this->photoAlbumService->findAlbumById($photo->albumId);
$ownerName = BOL_UserService::getInstance()->getUserName($album->userId);
$photoCount = $this->photoAlbumService->countAlbumPhotos($photo->albumId);
$photos = $this->photoService->getAlbumPhotos($photo->albumId, 1, $photoCount);
foreach ($photos as $item) {
$photosList[] = array('photo_id' => $item['id'], 'thumb' => $item['url'], 'src' => $this->photoService->getPhotoUrl($item['id']), 'active' => $item['id'] == $_GET['photo_id'], 'title' => '', 'description' => '');
}
//var_dump($photos);die;
exit(json_encode(array('photos' => $photosList, 'count' => $photoCount, 'album_title' => $album->name, 'album_href' => OW::getRouter()->urlForRoute('photo_user_album', array('user' => $ownerName, 'album' => $photo->albumId)), 'owner_title' => BOL_UserService::getInstance()->getDisplayName($album->userId), 'owner_href' => BOL_UserService::getInstance()->getUserUrl($album->userId), 'authorized' => $ownerMode || $moderatorMode || OW::getUser()->isAuthorized('photo', 'view'), 'message' => $message)));
}
示例2: view
public function view(array $params)
{
if (!isset($params['id']) || !($photoId = (int) $params['id'])) {
throw new Redirect404Exception();
}
$lang = OW::getLanguage();
$photo = $this->photoService->findPhotoById($photoId);
if (!$photo) {
throw new Redirect404Exception();
}
$album = $this->photoAlbumService->findAlbumById($photo->albumId);
$this->assign('album', $album);
$ownerName = BOL_UserService::getInstance()->getUserName($album->userId);
$albumUrl = OW::getRouter()->urlForRoute('photo_user_album', array('album' => $album->id, 'user' => $ownerName));
$this->assign('albumUrl', $albumUrl);
// is owner
$contentOwner = $this->photoService->findPhotoOwner($photo->id);
$userId = OW::getUser()->getId();
$ownerMode = $contentOwner == $userId;
$this->assign('ownerMode', $ownerMode);
// is moderator
$modPermissions = OW::getUser()->isAuthorized('photo');
$this->assign('moderatorMode', $modPermissions);
$this->assign('url', $this->photoService->getPhotoUrl($photo->id, false, $photo->hash));
if (!$ownerMode && !$modPermissions && !OW::getUser()->isAuthorized('photo', 'view')) {
$status = BOL_AuthorizationService::getInstance()->getActionStatus('photo', 'view');
$this->assign('authError', $status['msg']);
return;
}
// permissions check
if (!$ownerMode && !$modPermissions) {
$privacyParams = array('action' => 'photo_view_album', 'ownerId' => $contentOwner, 'viewerId' => $userId);
$event = new OW_Event('privacy_check_permission', $privacyParams);
OW::getEventManager()->trigger($event);
}
$photo->description = UTIL_HtmlTag::autoLink($photo->description);
$this->assign('photo', $photo);
$fullsizeUrl = (int) OW::getConfig()->getValue('photo', 'store_fullsize') && $photo->hasFullsize ? $this->photoService->getPhotoFullsizeUrl($photo->id, $photo->hash) : null;
$this->assign('fullsizeUrl', $fullsizeUrl);
$this->assign('nextPhoto', $this->photoService->getNextPhotoId($photo->albumId, $photo->id));
$this->assign('previousPhoto', $this->photoService->getPreviousPhotoId($photo->albumId, $photo->id));
$photoCount = $this->photoAlbumService->countAlbumPhotos($photo->albumId);
$this->assign('photoCount', $photoCount);
$photoIndex = $this->photoService->getPhotoIndex($photo->albumId, $photo->id);
$this->assign('photoIndex', $photoIndex);
$avatar = BOL_AvatarService::getInstance()->getDataForUserAvatars(array($contentOwner), true, true, true, false);
$this->assign('avatar', $avatar[$contentOwner]);
$cmtParams = new BASE_CommentsParams('photo', 'photo_comments');
$cmtParams->setEntityId($photo->id);
$cmtParams->setOwnerId($contentOwner);
$cmtParams->setDisplayType(BASE_CommentsParams::DISPLAY_TYPE_BOTTOM_FORM_WITH_FULL_LIST);
$photoCmts = new BASE_MCMP_Comments($cmtParams);
$this->addComponent('comments', $photoCmts);
OW::getDocument()->setHeading($album->name);
$description = strip_tags($photo->description);
$description = mb_strlen($description) ? $description : $photo->id;
OW::getDocument()->setTitle($lang->text('photo', 'meta_title_photo_view', array('title' => $description)));
}
示例3: onBeforePhotoDelete
public function onBeforePhotoDelete(OW_Event $event)
{
$params = $event->getParams();
$photoId = $params['id'];
if ($photoId) {
$photo = $this->photoService->findPhotoById($photoId);
$album = $this->albumService->findAlbumById($photo->albumId);
if ($photo->uploadKey) {
$remainingList = $this->photoService->getPhotoListByUploadKey($photo->uploadKey, array($photo->id));
$this->photoService->triggerNewsfeedEventOnMultiplePhotosAdd($remainingList, $album->userId, $album);
}
}
}
示例4: onBeforePhotoMove
public function onBeforePhotoMove(OW_Event $event)
{
$params = $event->getParams();
if (empty($params['fromAlbum']) || empty($params['photoIdList'])) {
return;
}
$fromAlbum = $this->albumService->findAlbumById($params['fromAlbum']);
$fromAlbumLastPhoto = PHOTO_BOL_PhotoDao::getInstance()->getLastPhoto($params['fromAlbum']);
$toAlbum = $this->albumService->findAlbumById($params['toAlbum']);
$toAlbumLastPhoto = PHOTO_BOL_PhotoDao::getInstance()->getLastPhoto($params['toAlbum']);
if ($fromAlbumLastPhoto) {
$this->photoService->feedDeleteItem('photo_comments', $fromAlbumLastPhoto->id);
$this->photoService->feedDeleteItem('multiple_photo_upload', $fromAlbumLastPhoto->uploadKey);
}
if ($toAlbumLastPhoto) {
$this->photoService->feedDeleteItem('photo_comments', $toAlbumLastPhoto->id);
$this->photoService->feedDeleteItem('multiple_photo_upload', $toAlbumLastPhoto->uploadKey);
}
if (empty($params['toAlbum'])) {
$photoIdList = PHOTO_BOL_PhotoDao::getInstance()->findPhotoIdListByAlbumId($fromAlbum->id);
$count = count($photoIdList);
$user = BOL_UserService::getInstance()->findUserById($fromAlbum->userId);
$albumUrl = OW::getRouter()->urlForRoute('photo.user_photos', array('user' => $user->username));
$event = new OW_Event('feed.action', array('pluginKey' => 'photo', 'entityType' => $count === 1 ? 'photo_comments' : 'multiple_photo_upload', 'entityId' => $fromAlbumLastPhoto->uploadKey, 'userId' => $user->id), array('photoIdList' => $photoIdList, 'string' => array('key' => 'photo+feed_move_photo_descriptions', 'vars' => array('number' => $count, 'albumUrl' => $albumUrl)), 'features' => array('likes'), 'content' => '', 'view' => array('iconClass' => 'ow_ic_picture')));
OW::getEventManager()->trigger($event);
} else {
$fromPhotoIdList = PHOTO_BOL_PhotoDao::getInstance()->findPhotoIdListByAlbumId($fromAlbum->id, $params['photoIdList']);
if (empty($fromPhotoIdList)) {
$photo = $this->photoService->findPhotoById($params['photoIdList'][0]);
$this->photoService->feedDeleteItem('photo_comments', $photo->id);
$this->photoService->feedDeleteItem('photo_comments', $photo->uploadKey);
$this->photoService->feedDeleteItem('multiple_photo_upload', $photo->uploadKey);
} else {
$fromCount = count($fromPhotoIdList);
$fromEntityType = $fromCount === 1 ? 'photo_comments' : 'multiple_photo_upload';
$fromAlbumUrl = OW::getRouter()->urlForRoute('photo_user_album', array('user' => BOL_UserService::getInstance()->getUserName($fromAlbum->userId), 'album' => $fromAlbum->id));
$event = new OW_Event('feed.action', array('pluginKey' => 'photo', 'entityType' => $fromEntityType, 'entityId' => $fromAlbumLastPhoto->uploadKey, 'userId' => $fromAlbum->userId), array('photoIdList' => $fromPhotoIdList, 'string' => array('key' => 'photo+feed_multiple_descriptions', 'vars' => array('number' => $fromCount, 'albumUrl' => $fromAlbumUrl, 'albumName' => $fromAlbum->name)), 'features' => array('likes'), 'content' => '', 'view' => array('iconClass' => 'ow_ic_picture')));
OW::getEventManager()->trigger($event);
}
if ($toAlbumLastPhoto) {
$toPhotoIdList = array_merge(PHOTO_BOL_PhotoDao::getInstance()->findPhotoIdListByAlbumId($toAlbum->id), $params['photoIdList']);
$toAlbumUrl = OW::getRouter()->urlForRoute('photo_user_album', array('user' => BOL_UserService::getInstance()->getUserName($toAlbum->userId), 'album' => $toAlbum->id));
$event = new OW_Event('feed.action', array('pluginKey' => 'photo', 'entityType' => 'multiple_photo_upload', 'entityId' => $toAlbumLastPhoto->uploadKey, 'userId' => $toAlbum->userId), array('photoIdList' => $toPhotoIdList, 'string' => array('key' => 'photo+feed_multiple_descriptions', 'vars' => array('number' => count($toPhotoIdList), 'albumUrl' => $toAlbumUrl, 'albumName' => $toAlbum->name)), 'features' => array('likes'), 'content' => '', 'view' => array('iconClass' => 'ow_ic_picture')));
OW::getEventManager()->trigger($event);
}
}
}
示例5: ajaxDeletePhotoAlbum
/**
* Deletes photo album
*
* @param array $params
* @return array
*/
public function ajaxDeletePhotoAlbum(array $params)
{
$albumId = $params['albumId'];
$lang = OW::getLanguage();
$album = $this->photoAlbumService->findAlbumById($albumId);
if ($album) {
// check permissions
$canEdit = OW::getUser()->isAuthorized('photo', 'upload', $album->userId);
$canModerate = OW::getUser()->isAuthorized('photo');
$authorized = $canEdit || $canModerate;
if ($authorized) {
$delResult = $this->photoAlbumService->deleteAlbum($albumId);
if ($delResult) {
$url = OW_Router::getInstance()->urlForRoute('photo_user_albums', array('user' => BOL_UserService::getInstance()->getUserName($album->userId)));
return array('result' => true, 'msg' => $lang->text('photo', 'album_deleted'), 'url' => $url);
}
} else {
$url = OW_Router::getInstance()->urlForRoute('photo_user_album', array('user' => BOL_UserService::getInstance()->getUserName($album->userId), 'album' => $album->id));
return array('result' => false, 'error' => $lang->text('photo', 'album_delete_not_allowed'), 'url' => $url);
}
}
return array('result' => false);
}
示例6: __construct
/**
* Class constructor
*
* @param string $listType
* @param int $count
* @param string $tag
*/
public function __construct(array $params)
{
parent::__construct();
$photoId = $params['photoId'];
$config = OW::getConfig();
$lang = OW::getLanguage();
$this->photoService = PHOTO_BOL_PhotoService::getInstance();
$this->photoAlbumService = PHOTO_BOL_PhotoAlbumService::getInstance();
$photo = $this->photoService->findPhotoById($photoId);
$album = $this->photoAlbumService->findAlbumById($photo->albumId);
$this->assign('album', $album);
// is owner
$contentOwner = $this->photoService->findPhotoOwner($photo->id);
$userId = OW::getUser()->getId();
$ownerMode = $contentOwner == $userId;
$this->assign('ownerMode', $ownerMode);
// is moderator
$modPermissions = OW::getUser()->isAuthorized('photo');
$this->assign('moderatorMode', $modPermissions);
$canView = true;
if (!$ownerMode && !$modPermissions && !OW::getUser()->isAuthorized('photo', 'view')) {
$canView = false;
}
$this->assign('canView', $canView);
$cmtParams = new BASE_CommentsParams('photo', 'photo_comments');
$cmtParams->setEntityId($photo->id);
$cmtParams->setOwnerId($contentOwner);
$cmtParams->setDisplayType(BASE_CommentsParams::DISPLAY_TYPE_BOTTOM_FORM_WITH_FULL_LIST);
$photoCmts = new BASE_CMP_Comments($cmtParams);
$this->addComponent('comments', $photoCmts);
$photoRates = new BASE_CMP_Rate('photo', 'photo_rates', $photo->id, $contentOwner);
$this->addComponent('rate', $photoRates);
$photoTags = new BASE_CMP_EntityTagCloud('photo');
$photoTags->setEntityId($photo->id);
$photoTags->setRouteName('view_tagged_photo_list');
$this->addComponent('tags', $photoTags);
$description = $photo->description;
$photo->description = UTIL_HtmlTag::autoLink($photo->description);
$this->assign('photo', $photo);
$this->assign('url', $this->photoService->getPhotoUrl($photo->id, false, $photo->hash));
$this->assign('ownerName', BOL_UserService::getInstance()->getUserName($album->userId));
$is_featured = PHOTO_BOL_PhotoFeaturedService::getInstance()->isFeatured($photo->id);
if ((int) $config->getValue('photo', 'store_fullsize') && $photo->hasFullsize) {
$this->assign('fullsizeUrl', $this->photoService->getPhotoFullsizeUrl($photo->id, $photo->hash));
} else {
$this->assign('fullsizeUrl', null);
}
$action = new BASE_ContextAction();
$action->setKey('photo-moderate');
$context = new BASE_CMP_ContextAction();
$context->addAction($action);
$contextEvent = new BASE_CLASS_EventCollector('photo.collect_photo_context_actions', array('photoId' => $photoId, 'photoDto' => $photo));
OW::getEventManager()->trigger($contextEvent);
foreach ($contextEvent->getData() as $contextAction) {
$action = new BASE_ContextAction();
$action->setKey(empty($contextAction['key']) ? uniqid() : $contextAction['key']);
$action->setParentKey('photo-moderate');
$action->setLabel($contextAction['label']);
if (!empty($contextAction['id'])) {
$action->setId($contextAction['id']);
}
if (!empty($contextAction['order'])) {
$action->setOrder($contextAction['order']);
}
if (!empty($contextAction['class'])) {
$action->setClass($contextAction['class']);
}
if (!empty($contextAction['url'])) {
$action->setUrl($contextAction['url']);
}
$attributes = empty($contextAction['attributes']) ? array() : $contextAction['attributes'];
foreach ($attributes as $key => $value) {
$action->addAttribute($key, $value);
}
$context->addAction($action);
}
if ($userId && !$ownerMode) {
$action = new BASE_ContextAction();
$action->setKey('flag');
$action->setParentKey('photo-moderate');
$action->setLabel($lang->text('base', 'flag'));
$action->setId('btn-photo-flag');
$action->addAttribute('rel', $photoId);
$action->addAttribute('url', OW::getRouter()->urlForRoute('view_photo', array('id' => $photo->id)));
$context->addAction($action);
}
if ($ownerMode || $modPermissions) {
$action = new BASE_ContextAction();
$action->setKey('edit');
$action->setParentKey('photo-moderate');
$action->setLabel($lang->text('base', 'edit'));
$action->setId('btn-photo-edit');
$action->addAttribute('rel', $photoId);
//.........这里部分代码省略.........
示例7: userAlbum
/**
* Controller action for user album
*
* @param array $params
*/
public function userAlbum(array $params)
{
if (!isset($params['user']) || !strlen($user = trim($params['user']))) {
throw new Redirect404Exception();
}
if (!isset($params['album']) || !($albumId = (int) $params['album'])) {
throw new Redirect404Exception();
}
// is owner
$userDto = BOL_UserService::getInstance()->findByUsername($user);
if ($userDto) {
$ownerMode = $userDto->id == OW::getUser()->getId();
} else {
$ownerMode = false;
}
// is moderator
$modPermissions = OW::getUser()->isAuthorized('photo');
if (!OW::getUser()->isAuthorized('photo', 'view') && !$modPermissions && !$ownerMode) {
$this->setTemplate(OW::getPluginManager()->getPlugin('base')->getCtrlViewDir() . 'authorization_failed.html');
return;
}
$page = !empty($_GET['page']) && (int) $_GET['page'] ? abs((int) $_GET['page']) : 1;
$config = OW::getConfig();
$photoPerPage = $config->getValue('photo', 'photos_per_page');
$album = $this->photoAlbumService->findAlbumById($albumId);
if (!$album) {
throw new Redirect404Exception();
return;
}
$this->assign('album', $album);
// permissions check
if (!$ownerMode && !$modPermissions) {
$privacyParams = array('action' => 'photo_view_album', 'ownerId' => $album->userId, 'viewerId' => OW::getUser()->getId());
$event = new OW_Event('privacy_check_permission', $privacyParams);
OW::getEventManager()->trigger($event);
}
$this->assign('userName', BOL_UserService::getInstance()->getUserName($album->userId));
$displayName = BOL_UserService::getInstance()->getDisplayName($album->userId);
$this->assign('displayName', $displayName);
$photos = $this->photoService->getAlbumPhotos($albumId, $page, $photoPerPage);
$aPhotos = array();
if ($photos) {
$userIds = array();
foreach ($photos as $photo) {
$photo['fullurl'] = $this->photoService->getPhotoUrl($photo['id']);
$photo['comments_count'] = BOL_CommentService::getInstance()->findCommentCount('photo_comments', $photo['id']);
$aPhotos[] = $photo;
}
}
$this->assign('photos', $aPhotos);
$total = $this->photoAlbumService->countAlbumPhotos($albumId);
$this->assign('total', $total);
$lastUpdated = $this->photoAlbumService->getAlbumUpdateTime($albumId);
$this->assign('lastUpdate', $lastUpdated);
$this->assign('widthConfig', $config->getValue('photo', 'preview_image_width'));
$this->assign('heightConfig', $config->getValue('photo', 'preview_image_height'));
// Paging
$pages = (int) ceil($total / $photoPerPage);
$paging = new BASE_CMP_Paging($page, $pages, $photoPerPage);
$this->assign('paging', $paging->render());
OW::getDocument()->setHeading($album->name . ' <span class="ow_small">' . OW::getLanguage()->text('photo', 'photos_in_album', array('total' => $total)) . '</span>');
OW::getDocument()->setHeadingIconClass('ow_ic_picture');
// check permissions
$canEdit = OW::getUser()->isAuthorized('photo', 'upload', $album->userId);
$canModerate = OW::getUser()->isAuthorized('photo');
$authorized = $canEdit || $canModerate;
$this->assign('authorized', $canEdit || $canModerate);
$this->assign('canUpload', $canEdit);
$lang = OW::getLanguage();
if ($authorized) {
$albumEditForm = new albumEditForm();
$albumEditForm->getElement('albumName')->setValue($album->name);
$albumEditForm->getElement('category')->setValue($album->category_id);
$albumEditForm->getElement('id')->setValue($album->id);
$this->addForm($albumEditForm);
OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('photo')->getStaticJsUrl() . 'album.js');
if (OW::getRequest()->isPost() && $albumEditForm->isValid($_POST)) {
$res = $albumEditForm->process();
if ($res['result']) {
OW::getFeedback()->info($lang->text('photo', 'photo_album_updated'));
$this->redirect();
}
}
$lang->addKeyForJs('photo', 'confirm_delete_album');
$lang->addKeyForJs('photo', 'edit_album');
$objParams = array('ajaxResponder' => OW::getRouter()->urlFor('PHOTO_CTRL_Photo', 'ajaxResponder'), 'albumId' => $albumId, 'uploadUrl' => OW::getRouter()->urlForRoute('photo_upload_album', array('album' => $album->id)));
$script = "\$(document).ready(function(){\n var album = new photoAlbum( " . json_encode($objParams) . ");\n }); ";
OW::getDocument()->addOnloadScript($script);
}
OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('advancedphoto')->getStaticJsUrl() . 'hap.min.js');
$script = '
//var hap = new hap();
hap.initialize({request_url: "", max_width: 220});
';
OW::getDocument()->addOnloadScript($script);
//.........这里部分代码省略.........