diff --git a/modules/gallery/helpers/gallery_installer.php b/modules/gallery/helpers/gallery_installer.php index 2322110e88..12031ccb02 100644 --- a/modules/gallery/helpers/gallery_installer.php +++ b/modules/gallery/helpers/gallery_installer.php @@ -102,16 +102,6 @@ static function install() { KEY `weight` (`weight` DESC)) ENGINE=InnoDB DEFAULT CHARSET=utf8;"); - $db->query("DELIMITER | - CREATE TRIGGER setweight BEFORE INSERT ON {items} - FOR EACH ROW BEGIN - DECLARE new_weight int(9); - SELECT weight+1 FROM {items} - ORDER BY weight LIMIT 1 INTO new_weight; - SET NEW.weight = new_weight; - END;| - DELIMITER ;"); - $db->query("CREATE TABLE {logs} ( `id` int(9) NOT NULL auto_increment, `category` varchar(64) default NULL, diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php index 481b22bc4a..dcbee991a8 100644 --- a/modules/gallery/models/item.php +++ b/modules/gallery/models/item.php @@ -350,21 +350,9 @@ public function save() { if (!empty($this->changed) && $this->changed != array("view_count" => "view_count")) { $this->updated = time(); if (!$this->loaded) { - try { $this->created = $this->updated; - Kohana::log("error", "get Weight"); - $weight = ORM::factory("item") - ->select("weight") - ->orderby("weight", "DESC") - ->limit(1) - ->find_all() - ->current()->weight; - Kohana::log("error", "Weight: $weight"); - $this->weight = $weight + 1; - } catch (Exception $e) { - Kohana::log("error", $e->__toString()); - throw $e; - } + $r = ORM::factory("item")->select("MAX(weight) as max_weight")->find(); + $this->weight = $r->max_weight + 1; } else { $send_event = 1; }