summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/controllers/move.php2
-rw-r--r--core/controllers/quick.php2
-rw-r--r--core/helpers/core.php49
-rw-r--r--core/helpers/item.php69
-rw-r--r--core/helpers/movie.php2
-rw-r--r--core/helpers/photo.php2
-rw-r--r--modules/organize/helpers/organize_task.php4
7 files changed, 75 insertions, 55 deletions
diff --git a/core/controllers/move.php b/core/controllers/move.php
index 19e4bfe2..94e9df7c 100644
--- a/core/controllers/move.php
+++ b/core/controllers/move.php
@@ -33,7 +33,7 @@ class Move_Controller extends Controller {
$source = ORM::factory("item", $source_id);
$target = ORM::factory("item", $this->input->post("target_id"));
- core::move_item($source, $target);
+ item::move($source, $target);
print json_encode(
array("result" => "success",
diff --git a/core/controllers/quick.php b/core/controllers/quick.php
index 0f1a3244..9382786e 100644
--- a/core/controllers/quick.php
+++ b/core/controllers/quick.php
@@ -82,7 +82,7 @@ class Quick_Controller extends Controller {
public function make_album_cover($id) {
access::verify_csrf();
- core::make_album_cover(ORM::factory("item", $id));
+ item::make_album_cover(ORM::factory("item", $id));
print json_encode(array("result" => "success"));
}
diff --git a/core/helpers/core.php b/core/helpers/core.php
index 944db71f..5e5a12a7 100644
--- a/core/helpers/core.php
+++ b/core/helpers/core.php
@@ -27,53 +27,4 @@ class core_Core {
Router::$method = "index";
}
}
-
- static function move_item($source, $target) {
- access::required("edit", $source);
- access::required("edit", $target);
-
- $parent = $source->parent();
- if ($parent->album_cover_item_id == $source->id) {
- if ($parent->children_count() > 1) {
- foreach ($parent->children(2) as $child) {
- if ($child->id != $source->id) {
- $new_cover_item = $child;
- break;
- }
- }
- core::make_album_cover($new_cover_item);
- } else {
- core::remove_album_cover($parent);
- }
- }
-
- $source->move_to($target);
-
- // If the target has no cover item, make this it.
- if ($target->album_cover_item_id == null) {
- core::make_album_cover($source);
- }
- }
-
- function make_album_cover($item) {
- $parent = $item->parent();
- access::required("edit", $parent);
-
- $parent->album_cover_item_id = $item->is_album() ? $item->album_cover_item_id : $item->id;
- $parent->thumb_dirty = 1;
- $parent->save();
- graphics::generate($parent);
- }
-
- function remove_album_cover($album) {
- access::required("edit", $album);
- @unlink($album->thumb_path());
-
- $album->album_cover_item_id = null;
- $album->thumb_width = 0;
- $album->thumb_height = 0;
- $album->thumb_dirty = 1;
- $album->save();
- graphics::generate($album);
- }
} \ No newline at end of file
diff --git a/core/helpers/item.php b/core/helpers/item.php
new file mode 100644
index 00000000..f5dd2cc2
--- /dev/null
+++ b/core/helpers/item.php
@@ -0,0 +1,69 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Gallery - a web based photo album viewer and editor
+ * Copyright (C) 2000-2008 Bharat Mediratta
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+class item_Core {
+ static function move($source, $target) {
+ access::required("edit", $source);
+ access::required("edit", $target);
+
+ $parent = $source->parent();
+ if ($parent->album_cover_item_id == $source->id) {
+ if ($parent->children_count() > 1) {
+ foreach ($parent->children(2) as $child) {
+ if ($child->id != $source->id) {
+ $new_cover_item = $child;
+ break;
+ }
+ }
+ item::make_album_cover($new_cover_item);
+ } else {
+ item::remove_album_cover($parent);
+ }
+ }
+
+ $source->move_to($target);
+
+ // If the target has no cover item, make this it.
+ if ($target->album_cover_item_id == null) {
+ item::make_album_cover($source);
+ }
+ }
+
+ function make_album_cover($item) {
+ $parent = $item->parent();
+ access::required("edit", $parent);
+
+ $parent->album_cover_item_id = $item->is_album() ? $item->album_cover_item_id : $item->id;
+ $parent->thumb_dirty = 1;
+ $parent->save();
+ graphics::generate($parent);
+ }
+
+ function remove_album_cover($album) {
+ access::required("edit", $album);
+ @unlink($album->thumb_path());
+
+ $album->album_cover_item_id = null;
+ $album->thumb_width = 0;
+ $album->thumb_height = 0;
+ $album->thumb_dirty = 1;
+ $album->save();
+ graphics::generate($album);
+ }
+} \ No newline at end of file
diff --git a/core/helpers/movie.php b/core/helpers/movie.php
index 328429fe..30e4e995 100644
--- a/core/helpers/movie.php
+++ b/core/helpers/movie.php
@@ -94,7 +94,7 @@ class movie_Core {
// If the parent has no cover item, make this it.
if ($parent->album_cover_item_id == null) {
- core::make_album_cover($movie);
+ item::make_album_cover($movie);
}
return $movie;
diff --git a/core/helpers/photo.php b/core/helpers/photo.php
index 0677b7e1..c086393e 100644
--- a/core/helpers/photo.php
+++ b/core/helpers/photo.php
@@ -98,7 +98,7 @@ class photo_Core {
// If the parent has no cover item, make this it.
if ($parent->album_cover_item_id == null) {
- core::make_album_cover($photo);
+ item::make_album_cover($photo);
}
return $photo;
diff --git a/modules/organize/helpers/organize_task.php b/modules/organize/helpers/organize_task.php
index 22a9b744..57b622c5 100644
--- a/modules/organize/helpers/organize_task.php
+++ b/modules/organize/helpers/organize_task.php
@@ -38,7 +38,7 @@ class organize_task_Core {
switch ($taskType) {
case "move":
$source = ORM::factory("item", $id);
- core::move_item($source, $target);
+ item::move($source, $target);
break;
case "rearrange":
Database::instance()
@@ -53,7 +53,7 @@ class organize_task_Core {
}
break;
case "albumCover":
- core::make_album_cover(ORM::factory("item", $id));
+ item::make_album_cover(ORM::factory("item", $id));
break;
case "delete":
$item = ORM::factory("item", $id);