diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2009-02-08 02:21:28 +0000 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-02-08 02:21:28 +0000 |
commit | 1fc2307faba7f280e9251de54504122a1dcb187e (patch) | |
tree | 3354dbca31ed92b50f0894deefe5154a0d0c7484 /core/helpers | |
parent | 7ebbe189d4a6955532fb17f4cb9466115279ca35 (diff) |
rollback r20001-r19998, r19995. This may require a reinstall
Diffstat (limited to 'core/helpers')
-rw-r--r-- | core/helpers/MY_url.php | 8 | ||||
-rw-r--r-- | core/helpers/album.php | 27 | ||||
-rw-r--r-- | core/helpers/core_installer.php | 1 | ||||
-rw-r--r-- | core/helpers/photo.php | 33 |
4 files changed, 22 insertions, 47 deletions
diff --git a/core/helpers/MY_url.php b/core/helpers/MY_url.php index c5f2d16c..dd3682df 100644 --- a/core/helpers/MY_url.php +++ b/core/helpers/MY_url.php @@ -19,9 +19,9 @@ */ class url extends url_Core { static function site($uri, $protocol=false) { - $parts = explode("/", $uri, 3); - if ($parts[0] == "albums" || $parts[0] == "photos") { - $uri = ORM::factory("item", empty($parts[1]) ? 1 : $parts[1])->relative_path(); + list($controller, $arg1, $args) = explode("/", $uri, 3); + if ($controller == "albums" || $controller == "photos") { + $uri = ORM::factory("item", $arg1)->relative_path(); } return parent::site($uri, $protocol); } @@ -33,7 +33,7 @@ class url extends url_Core { $count = count(Router::$segments); foreach (ORM::factory("item") - ->where("path", Router::$segments[$count - 1]) + ->where("name", Router::$segments[$count - 1]) ->where("level", $count + 1) ->find_all() as $match) { if ($match->relative_path() == Router::$current_uri) { diff --git a/core/helpers/album.php b/core/helpers/album.php index b19a003d..c45b9bd8 100644 --- a/core/helpers/album.php +++ b/core/helpers/album.php @@ -30,41 +30,28 @@ class album_Core { * @param string $name the name of this new album (it will become the directory name on disk) * @param integer $title the title of the new album * @param string $description (optional) the longer description of this album - * @param string $path (optional) the name to use as the filesystem path component - * @param integer $owner_id(optional) explicitly set the owner of this album * @return Item_Model */ - static function create($parent, $name, $title, $description=null, $path=null, $owner_id=null) { + static function create($parent, $name, $title, $description=null, $owner_id=null) { if (!$parent->loaded || !$parent->is_album()) { throw new Exception("@todo INVALID_PARENT"); } - // Randomize the name if there's a conflict - $name_count = ORM::factory("item") - ->where("parent_id", $parent->id) - ->where("name", $name) - ->count_all(); - $name = $name_count == 0 ? $name : sprintf("%s_%03d", $name, $name_count); - - $path = !empty($path) ? $path : preg_replace("/[^A-Za-z0-9\.\-_]/", "_", $name); - - // Randomize the path if there's a conflict - $path_count = ORM::factory("item") - ->where("parent_id", $parent->id) - ->where("path", $path) - ->count_all(); - $path = $path_count == 0 ? $path : sprintf("%s_%03d", $path, $path_count); - $album = ORM::factory("item"); $album->type = "album"; $album->title = $title; $album->description = $description; $album->name = $name; - $album->path = $path; $album->owner_id = $owner_id; $album->thumb_dirty = 1; $album->resize_dirty = 1; + while (ORM::factory("item") + ->where("parent_id", $parent->id) + ->where("name", $album->name) + ->find()->id) { + $album->name = "{$name}-" . rand(); + } $album = $album->add_to_parent($parent); mkdir($album->file_path()); diff --git a/core/helpers/core_installer.php b/core/helpers/core_installer.php index eacb08eb..24b9e993 100644 --- a/core/helpers/core_installer.php +++ b/core/helpers/core_installer.php @@ -63,7 +63,6 @@ class core_installer { `level` int(9) NOT NULL, `mime_type` varchar(64) default NULL, `name` varchar(255) default NULL, - `path` varchar(255) default NULL, `owner_id` int(9) default NULL, `parent_id` int(9) NOT NULL, `resize_height` int(9) default NULL, diff --git a/core/helpers/photo.php b/core/helpers/photo.php index 1b087bd1..349e8760 100644 --- a/core/helpers/photo.php +++ b/core/helpers/photo.php @@ -31,12 +31,10 @@ class photo_Core { * @param string $name the filename to use for this photo in the album * @param integer $title the title of the new photo * @param string $description (optional) the longer description of this photo - * @param string $path (optional) the name to use as the file system path component - * @param integer $owner_id(optional) explicitly set the owner of this photo * @return Item_Model */ - static function create($parent, $filename, $name, $title, $description=null, $path=null, - $owner_id=null) { + static function create($parent, $filename, $name, $title, + $description=null, $owner_id=null) { if (!$parent->loaded || !$parent->is_album()) { throw new Exception("@todo INVALID_PARENT"); } @@ -56,29 +54,11 @@ class photo_Core { $name .= "." . $pi["extension"]; } - // Randomize the name if there's a conflict - $name_count = ORM::factory("item") - ->where("parent_id", $parent->id) - ->where("name", $name) - ->count_all(); - $name = $name_count == 0 ? $name : - sprintf("%s_%03d.%s", $pi["filename"], $name_count, $pi["extension"]); - - $path = !empty($path) ? $path : preg_replace("/[^A-Za-z0-9\.\-_]/", "_", $name); - - // Randomize the path if there's a conflict - $path_count = ORM::factory("item") - ->where("parent_id", $parent->id) - ->where("path", $path) - ->count_all(); - $path = $path_count == 0 ? $path : sprintf("%s_%03d", $path, $path_count); - $photo = ORM::factory("item"); $photo->type = "photo"; $photo->title = $title; $photo->description = $description; $photo->name = $name; - $photo->path = $path; $photo->owner_id = $owner_id; $photo->width = $image_info[0]; $photo->height = $image_info[1]; @@ -86,6 +66,15 @@ class photo_Core { $photo->thumb_dirty = 1; $photo->resize_dirty = 1; + // Randomize the name if there's a conflict + while (ORM::Factory("item") + ->where("parent_id", $parent->id) + ->where("name", $photo->name) + ->find()->id) { + // @todo Improve this. Random numbers are not user friendly + $photo->name = rand() . "." . $pi["extension"]; + } + // This saves the photo $photo->add_to_parent($parent); copy($filename, $photo->file_path()); |