file_path(), PATHINFO_EXTENSION)); gallery_graphics::rotate($item->file_path(), $tmpfile, array("degrees" => $degrees), $item); $item->set_data_file($tmpfile); $item->save(); } if (Input::instance()->get("page_type") == "collection") { json::reply( array("src" => $item->thumb_url(), "width" => $item->thumb_width, "height" => $item->thumb_height)); } else { json::reply( array("src" => $item->resize_url(), "width" => $item->resize_width, "height" => $item->resize_height)); } } public function make_album_cover($id) { access::verify_csrf(); $item = model_cache::get("item", $id); access::required("view", $item); access::required("view", $item->parent()); access::required("edit", $item->parent()); $msg = t("Made %title this album's cover", array("title" => html::purify($item->title))); item::make_album_cover($item); message::success($msg); json::reply(array("result" => "success", "reload" => 1)); } public function form_delete($id) { $item = model_cache::get("item", $id); access::required("view", $item); access::required("edit", $item); $v = new View("quick_delete_confirm.html"); $v->item = $item; $v->form = item::get_delete_form($item); print $v; } public function delete($id) { access::verify_csrf(); $item = model_cache::get("item", $id); access::required("view", $item); access::required("edit", $item); if ($item->is_album()) { $msg = t("Deleted album %title", array("title" => html::purify($item->title))); } else { $msg = t("Deleted photo %title", array("title" => html::purify($item->title))); } $parent = $item->parent(); if ($item->is_album()) { // Album delete will trigger deletes for all children. Do this in a batch so that we can be // smart about notifications, album cover updates, etc. batch::start(); $item->delete(); batch::stop(); } else { $item->delete(); } message::success($msg); $from_id = Input::instance()->get("from_id"); if (Input::instance()->get("page_type") == "collection" && $from_id != $id /* deleted the item we were viewing */) { json::reply(array("result" => "success", "reload" => 1)); } else { json::reply(array("result" => "success", "location" => $parent->url())); } } public function form_edit($id) { $item = model_cache::get("item", $id); access::required("view", $item); access::required("edit", $item); switch ($item->type) { case "album": $form = album::get_edit_form($item); break; case "photo": $form = photo::get_edit_form($item); break; case "movie": $form = movie::get_edit_form($item); break; } // Pass on the source item where this form was generated, so we have an idea where to return to. $form->hidden("from_id")->value((int)Input::instance()->get("from_id", 0)); print $form; } }