diff options
Diffstat (limited to 'lib/album.php')
-rw-r--r-- | lib/album.php | 243 |
1 files changed, 0 insertions, 243 deletions
diff --git a/lib/album.php b/lib/album.php deleted file mode 100644 index e178acd5d..000000000 --- a/lib/album.php +++ /dev/null @@ -1,243 +0,0 @@ -<?php -/** - * Tidypics Album class - * - * @package TidypicsAlbum - */ - - -class TidypicsAlbum extends ElggObject { - protected function initialise_attributes() { - parent::initialise_attributes(); - - $this->attributes['subtype'] = "album"; - } - - public function __construct($guid = null) { - parent::__construct($guid); - } - - /** - * Delete album - * - * @return bool - */ - public function delete() { - - $this->deleteImages(); - $this->deleteAlbumDir(); - - return parent::delete(); - } - - /** - * Get an array of image objects - * - * @param int $limit - * @param int $offset - * @return array - */ - public function getImages($limit, $offset=0) { - $imageList = $this->getImageList(); - if ($offset > count($imageList)) { - return array(); - } - - $imageList = array_slice($imageList, $offset, $limit); - - $images = array(); - foreach ($imageList as $guid) { - $images[] = get_entity($guid); - } - return $images; - } - - /** - * View a list of images - * - * @param int $limit - * @param int $offset - * @return string - */ - public function viewImages($limit, $offset=0) { - $images = $this->getImages($limit, $offset); - if (count($images) == 0) { - return ''; - } - - $count = $this->getSize(); - - return elgg_view_entity_list($images, $count, $offset, $limit, false, false, true); - } - - /** - * Get the GUID of the album cover - * - * @return int - */ - public function getCoverImageGuid() { - if ($this->getSize() == 0) { - return 0; - } - - $guid = $this->cover; - $imageList = $this->getImageList(); - if (!in_array($guid, $imageList)) { - // select random photo to be cover - $index = array_rand($imageList, 1); - $guid = $imageList[$index]; - $this->cover = $guid; - } - return $guid; - } - - /** - * Set the GUID for the album cover - * - * @param int $guid - * @return bool - */ - public function setCoverImageGuid($guid) { - $imageList = $this->getImageList(); - if (!in_array($guid, $imageList)) { - return false; - } - $this->cover = $guid; - return true; - } - - /** - * Get the number of photos in the album - * - * @return int - */ - public function getSize() { - return count($this->getImageList()); - } - - /** - * Returns an order list of image guids - * - * @return array - */ - public function getImageList() { - $listString = $this->orderedImages; - if (!$listString) { - return array(); - } - $list = unserialize($listString); - return $list; - } - - /** - * Sets the album image order - * - * @param array $list An indexed array of image guids - */ - public function setImageList($list) { - $listString = serialize($list); - $this->orderedImages = $listString; - } - - /** - * Add new images to the front of the image list - * - * @param array $list An indexed array of image guids - */ - public function prependImageList($list) { - $currentList = $this->getImageList(); - $list = array_merge($list, $currentList); - $this->setImageList($list); - } - - /** - * Get the GUID of the image before the current one - * - * @param int $currentGuid - * @return int - */ - public function getPreviousImageGuid($currentGuid) { - $imageList = $this->getImageList(); - $key = array_search($currentGuid, $imageList); - if ($key === FALSE) { - return 0; - } - $key--; - if ($key < 0) { - return 0; - } - return $imageList[$key]; - } - - /** - * Get the GUID of the image after the current one - * - * @param int $currentGuid - * @return int - */ - public function getNextImageGuid($currentGuid) { - $imageList = $this->getImageList(); - $key = array_search($currentGuid, $imageList); - if ($key === FALSE) { - return 0; - } - $key++; - if ($key >= count($imageList)) { - return 0; - } - return $imageList[$key]; - } - - /** - * Remove an image from the album list - * - * @param int $imageGuid - * @return bool - */ - public function removeImage($imageGuid) { - $imageList = $this->getImageList(); - $key = array_search($imageGuid, $imageList); - if ($key === FALSE) { - return FALSE; - } - - unset($imageList[$key]); - $this->setImageList($imageList); - - return TRUE; - } - - protected function deleteImages() { - // get all the images from this album as long as less than 999 images - $images = elgg_get_entities(array( - "type=" => "object", - "subtype" => "image", - "container_guid" => $this->guid, - "limit" => ELGG_ENTITIES_NO_VALUE, - )); - if ($images) { - foreach ($images as $image) { - if ($image) { - $image->delete(); - } - } - } - } - - protected function deleteAlbumDir() { - $tmpfile = new ElggFile(); - $tmpfile->setFilename('image/' . $this->guid . '/._tmp_del_tidypics_album_'); - $tmpfile->subtype = 'image'; - $tmpfile->owner_guid = $this->owner_guid; - $tmpfile->container_guid = $this->guid; - $tmpfile->open("write"); - $tmpfile->write(''); - $tmpfile->close(); - $tmpfile->save(); - $albumdir = eregi_replace('/._tmp_del_tidypics_album_', '', $tmpfile->getFilenameOnFilestore()); - $tmpfile->delete(); - if (is_dir($albumdir)) { - rmdir($albumdir); - } - } -} |