本文整理汇总了PHP中PHOTO_BOL_PhotoService::getPhotoPath方法的典型用法代码示例。如果您正苦于以下问题:PHP PHOTO_BOL_PhotoService::getPhotoPath方法的具体用法?PHP PHOTO_BOL_PhotoService::getPhotoPath怎么用?PHP PHOTO_BOL_PhotoService::getPhotoPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHOTO_BOL_PhotoService
的用法示例。
在下文中一共展示了PHOTO_BOL_PhotoService::getPhotoPath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: download
public function download(array $params)
{
$config = OW::getConfig();
$canDownload = $config->getValue('gphotoviewer', 'can_users_to_download_photos');
if (!$canDownload) {
throw new Redirect404Exception();
}
if (!isset($params['id']) || !($photoId = (int) $params['id'])) {
throw new Redirect404Exception();
}
$photo = $this->photoService->findPhotoById($photoId);
if (!$photo) {
throw new Redirect404Exception();
}
$canView = true;
if (!$ownerMode && !$modPermissions && !OW::getUser()->isAuthorized('photo', 'view')) {
$canView = false;
throw new Redirect404Exception();
}
if ((int) BOL_PluginService::getInstance()->findPluginByKey('photo')->build > 6272) {
$url = $this->photoService->getPhotoPath($photo->id, $photo->hash);
} else {
$url = $this->photoService->getPhotoPath($photo->id);
}
if (file_exists($url) && is_readable($url)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($url));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($url));
ob_clean();
flush();
readfile($url);
exit;
} else {
throw new Redirect404Exception();
}
exit;
}
示例2: getPhotoForAvatar
public function getPhotoForAvatar(OW_Event $e)
{
$params = $e->getParams();
if ($params['entityType'] == 'photo_album') {
$id = $params['id'];
$photo = $this->photoService->findPhotoById($id);
if ($photo) {
$type = (bool) $photo->hasFullsize ? PHOTO_BOL_PhotoService::TYPE_ORIGINAL : PHOTO_BOL_PhotoService::TYPE_MAIN;
$data = array('url' => $this->photoService->getPhotoUrlByType($photo->id, $type, $photo->hash, $photo->dimension), 'path' => $this->photoService->getPhotoPath($photo->id, $photo->hash, $type));
$e->setData($data);
return $data;
}
}
}