public $per_page = 20; function setGallery($gallery) { $this->gallery = $gallery; } function getImage($id, $draft=false) { $model = $this->getModel('image'); $q = $model->createQuery(); $q->filter('id', $id); if (!$draft) { $q->filter('published', true); $q->filter('locked', false); } $q->joinOnField('version'); $q->joinOnField('folder'); $image = $model->find($q); if (!$image || !$image->version) { return null; } if (!$image->version) { return null; } if (!$draft && !$image->gallery->isPublic()) { return null; } return $image; } function getImageData($image) { $data = array(); $version = $image->version; if ($image && $version) { $data['title'] = $image->title; $data['description'] = $image->description; $data['small_src'] = $image->small_src; $data['small_x'] = $version->small_x; $data['small_y'] = $version->small_y; $data['medium_src'] = $image->medium_src; $data['medium_x'] = $version->medium_x; $data['medium_y'] = $version->medium_y; $data['normal_src'] = $image->normal_src; $data['normal_x'] = $version->normal_x; $data['normal_y'] = $version->normal_y; $data['is_raw'] = $version->is_raw; } return $data; } function getGalleryData($gallery, $image) { $data = array(); $data['title'] = $gallery->title; $data['description'] = $gallery->description; $img = $this->getImageData($image); $img = $this->setImageDataSize($img); $data['src'] = $img['src']; $data['width'] = $img['width']; $data['height'] = $img['height']; return $data; } function getBestSize($x, $y) { if ($x <= $this->small_x && $y <= $this->small_y) { $size = 'small'; } elseif ($x <= $this->medium_x && $y <= $this->medium_y) { $size = 'medium'; } else { $size = 'normal'; } return $size; } function setImageDataSize($data, $size=null, $x=null, $y = null) { $url = isset($data['url']) ? $data['url'] : ''; switch($size) { case 'small': $data['src'] = $url.$data['small_src']; $data['width'] = $data['small_x']; $data['height'] = $data['small_y']; break; case 'medium': $data['src'] = $url.$data['medium_src']; $data['width'] = $data['medium_x']; $data['height'] = $data['medium_y']; break; case 'normal': case 'large': $data['src'] = $url.$data['normal_src']; $data['width'] = $data['normal_x']; $data['height'] = $data['normal_y']; break; default: if ($data['is_raw']) { $data['src'] = $url.$data['normal_src']; $data['width'] = $data['normal_x']; $data['height'] = $data['normal_y']; } else { $data['src'] = $url.$data['medium_src']; $data['width'] = $data['medium_x']; $data['height'] = $data['medium_y']; } } if ($x || $y) { if ($x / $y < $data['width'] / $data['height']) { // limited by width $data['height'] = $data['height'] * $x / $data['width']; $data['width'] = $x; } else { // limited by height $data['width'] = $data['width'] * $y / $data['height']; $data['height'] = $y; } } return $data; } function getGallery($id, $draft=false) { $model = $this->getModel('gallery'); $q = $model->createQuery(); $q->filter('id', $id); if (!$draft) { $q->filter('published', true); $q->filter('locked', false); } $gallery = $model->find($q); if (!$gallery) { return null; } if (!$draft && !$gallery->isPublic()) { return null; } return $gallery; } function getGalleryByDir($dir, $draft=false) { $parts = explode('/', $dir); if (!$parts) { return null; } $id = array_pop($parts); $model = $this->getModel('gallery'); $q = $model->createQuery(); $q->filter('id', $id); if (!$draft) { $q->filter('published', true); $q->filter('locked', false); } $gallery = $model->find($q); if (!$gallery) { return null; } if (!$draft && !$gallery->isPublic()) { return null; } return $gallery; } function addSelectedImage($image) { if ($this->selected_images === null) { $this->selected_images = array(); } foreach ($this->selected_images as $i) { if ($i->id == $image->id) { return; } } $this->selected_images[] = $image; } function addSelectedGallery($gallery) { if ($this->selected_galleries === null) { $this->selected_galleries = array(); } foreach ($this->selected_galleries as $i) { if ($i->id == $gallery->id) { return; } } $this->selected_galleries[] = $gallery; } function addUnknownImage($id) { if ($this->unknown_images === null) { $this->unknown_images = array(); } if (in_array($id, $this->unknown_images)) { return; } $this->unknown_images[] = $id; } function addUnknownGallery($id) { if ($this->unknown_galleries === null) { $this->unknown_galleries = array(); } if (in_array($id, $this->unknown_galleries)) { return; } $this->unknown_galleries[] = $id; } function getAdminRights() { return array('admin'); } private $_is_admin = null; function isAdmin() { if ($this->_is_admin === null) { $admin = false; foreach ($this->getAdminRights() as $rights) { if ($this->User->grant($rights)) { $admin = true; break; } } $this->_is_admin = $admin; } return $this->_is_admin; } function adminImagesBrowseable() { return true; } function adminGalleriesBrowseable() { if ($this->isAdmin()) { return true; } return false; } function logEvent($action, $object, $id=null, $path=null, $label=null, $url=null) { $this->Context->logEvent('images', $action, $object, $id, $path, $label, $url); } function logCardEvent($action, $card, $no_url=false) { $url = ''; if (!$no_url) { $url = $this->Node->path .'cards/view?id='. $card->id; } $this->logEvent($action, 'card', $card->id, null, $card->from_address .' > '. $card->to_address, $url); } } ?>
Šis puslapis išspausdintas iš Latgalos turizmo informacijos portalo
LT: http://visitlatgale.com/lt/images/gallery?id=279

» Krāslava » Objekti

Piedrujas taka Daugavas krastā

2007 Latgalos regiono plėtros agentūra