diff options
Diffstat (limited to 'modules/gallery/controllers')
| -rw-r--r-- | modules/gallery/controllers/albums.php | 42 | ||||
| -rw-r--r-- | modules/gallery/controllers/movies.php | 38 | ||||
| -rw-r--r-- | modules/gallery/controllers/photos.php | 41 | 
3 files changed, 48 insertions, 73 deletions
diff --git a/modules/gallery/controllers/albums.php b/modules/gallery/controllers/albums.php index 3c1a0adf..feaea76d 100644 --- a/modules/gallery/controllers/albums.php +++ b/modules/gallery/controllers/albums.php @@ -131,40 +131,32 @@ class Albums_Controller extends Items_Controller {            $form->edit_item->dirname->value != $album->name ||            $form->edit_item->slug->value != $album->slug) {          // Make sure that there's not a conflict -        if ($row = Database::instance() -            ->select(array("name", "slug")) -            ->from("items") -            ->where("parent_id", $album->parent_id) -            ->where("id <>", $album->id) -            ->open_paren() -            ->where("name", $form->edit_item->dirname->value) -            ->orwhere("slug", $form->edit_item->slug->value) -            ->close_paren() -            ->get() -            ->current()) { -          if ($row->name == $form->edit_item->dirname->value) { -            $form->edit_item->dirname->add_error("name_conflict", 1); -          } -          if ($row->slug == $form->edit_item->slug->value) { -            $form->edit_item->slug->add_error("slug_conflict", 1); -          } -          $valid = false; +        $errors = item::check_for_conflicts( +          $album, $form->edit_item->dirname->value, $form->edit_item->slug->value); + +        if (!empty($errors["name_conflict"])) { +          $form->edit_item->dirname->add_error("name_conflict", 1); +        } +        if (!empty($errors["slug_conflict"])) { +          $form->edit_item->slug->add_error("slug_conflict", 1);          } +        $valid = empty($errors);        }      }      if ($valid) {        $watching_album = $album->url() != ($location = parse_url(request::referrer(), PHP_URL_PATH)); -      $album->title = $form->edit_item->title->value; -      $album->description = $form->edit_item->description->value; -      $album->sort_column = $form->edit_item->sort_order->column->value; -      $album->sort_order = $form->edit_item->sort_order->direction->value; +      $new_values = array("title" => $form->edit_item->title->value, +                          "description" => $form->edit_item->description->value, +                          "sort_column" => $form->edit_item->sort_order->column->value, +                          "sort_order" => $form->edit_item->sort_order->direction->value, +                          "slug" => $form->edit_item->slug->value);        if ($album->id != 1) { -        $album->rename($form->edit_item->dirname->value); +        $new_values["name"] = $form->edit_item->dirname->value;        } -      $album->slug = $form->edit_item->slug->value; -      $album->save(); +      item::update($album, $new_values); +        module::event("item_edit_form_completed", $album, $form);        log::success("content", "Updated album", "<a href=\"albums/$album->id\">view</a>"); diff --git a/modules/gallery/controllers/movies.php b/modules/gallery/controllers/movies.php index 575b2b60..4e0916b3 100644 --- a/modules/gallery/controllers/movies.php +++ b/modules/gallery/controllers/movies.php @@ -76,34 +76,26 @@ 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 -        if ($row = Database::instance() -            ->select(array("name", "slug")) -            ->from("items") -            ->where("parent_id", $movie->parent_id) -            ->where("id <>", $movie->id) -            ->open_paren() -            ->where("name", $form->edit_item->filename->value) -            ->orwhere("slug", $form->edit_item->slug->value) -            ->close_paren() -            ->get() -            ->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; +        $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);          } +        $valid = empty($errors);        }      }      if ($valid) { -      $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(); +      $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); +        module::event("item_edit_form_completed", $movie, $form);        log::success("content", "Updated movie", "<a href=\"{$movie->url()}\">view</a>"); diff --git a/modules/gallery/controllers/photos.php b/modules/gallery/controllers/photos.php index ba4cfb83..455ac25c 100644 --- a/modules/gallery/controllers/photos.php +++ b/modules/gallery/controllers/photos.php @@ -76,42 +76,33 @@ class Photos_Controller extends Items_Controller {        if ($form->edit_item->filename->value != $photo->name ||            $form->edit_item->slug->value != $photo->slug) {          // Make sure that there's not a name or slug conflict -        if ($row = Database::instance() -            ->select(array("name", "slug")) -            ->from("items") -            ->where("parent_id", $photo->parent_id) -            ->where("id <>", $photo->id) -            ->open_paren() -            ->where("name", $form->edit_item->filename->value) -            ->orwhere("slug", $form->edit_item->slug->value) -            ->close_paren() -            ->get() -            ->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; +        $errors = item::check_for_conflicts( +          $photo, $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);          } +        $valid = empty($errors);        }      }      if ($valid) {        $watching_album = $photo->url() != ($location = parse_url(request::referrer(), PHP_URL_PATH)); -      $photo->title = $form->edit_item->title->value; -      $photo->description = $form->edit_item->description->value; -      $photo->slug = $form->edit_item->slug->value; -      $photo->rename($form->edit_item->filename->value); -      $photo->save(); +      $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($photo, $new_values); +        module::event("item_edit_form_completed", $photo, $form);        log::success("content", "Updated photo", "<a href=\"{$photo->url()}\">view</a>");        message::success( -                       t("Saved photo %photo_title", -                         array("photo_title" => html::purify($photo->title)))); +        t("Saved photo %photo_title", array("photo_title" => html::purify($photo->title))));        print json_encode(          array("result" => "success",  | 
