summaryrefslogtreecommitdiff
path: root/modules/gallery/controllers/movies.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery/controllers/movies.php')
-rw-r--r--modules/gallery/controllers/movies.php38
1 files changed, 23 insertions, 15 deletions
diff --git a/modules/gallery/controllers/movies.php b/modules/gallery/controllers/movies.php
index 2d429910..b5785ecf 100644
--- a/modules/gallery/controllers/movies.php
+++ b/modules/gallery/controllers/movies.php
@@ -76,26 +76,34 @@ class Movies_Controller extends Items_Controller {
if ($form->edit_item->filename->value != $movie->name ||
$form->edit_item->slug->value != $movie->slug) {
// Make sure that there's not a name or slug conflict
- $errors = item::check_for_conflicts(
- $movie, $form->edit_item->filename->value, $form->edit_item->slug->value);
-
- if (!empty($errors["name_conflict"])) {
- $form->edit_item->filename->add_error("name_conflict", 1);
- }
- if (!empty($errors["slug_conflict"])) {
- $form->edit_item->slug->add_error("slug_conflict", 1);
+ if ($row = db::build()
+ ->select(array("name", "slug"))
+ ->from("items")
+ ->where("parent_id", "=", $movie->parent_id)
+ ->where("id", "<>", $movie->id)
+ ->and_open()
+ ->where("name", "=", $form->edit_item->filename->value)
+ ->or_where("slug", "=", $form->edit_item->slug->value)
+ ->close()
+ ->execute()
+ ->current()) {
+ if ($row->name == $form->edit_item->filename->value) {
+ $form->edit_item->filename->add_error("name_conflict", 1);
+ }
+ if ($row->slug == $form->edit_item->slug->value) {
+ $form->edit_item->slug->add_error("slug_conflict", 1);
+ }
+ $valid = false;
}
- $valid = empty($errors);
}
}
if ($valid) {
- $new_values = array("title" => $form->edit_item->title->value,
- "description" => $form->edit_item->description->value,
- "name" => $form->edit_item->filename->value,
- "slug" => $form->edit_item->slug->value);
- item::update($movie, $new_values);
-
+ $movie->title = $form->edit_item->title->value;
+ $movie->description = $form->edit_item->description->value;
+ $movie->slug = $form->edit_item->slug->value;
+ $movie->rename($form->edit_item->filename->value);
+ $movie->save();
module::event("item_edit_form_completed", $movie, $form);
log::success("content", "Updated movie", "<a href=\"{$movie->url()}\">view</a>");