query("CREATE TABLE IF NOT EXISTS {pear_album_views} ( `id` int(9) NOT NULL auto_increment, `album_id` int(9) NOT NULL, `view_mode` varchar(64) NOT NULL, PRIMARY KEY (`id`)) DEFAULT CHARSET=utf8;"); if (!$item->is_album()){ return; } else { $pearsettings = $form->edit_item->group("pear4gallery")->label("Pear settings" . $item->id); $record = ORM::factory("pear_album_view")->where("album_id", "=", $item->id)->find(); if ($record->loaded()) { $pearsettings->dropdown("view_mode") ->label(t("View Mode")) ->options(array("grid" => t("Grid (Default)"), "mosaic" => t("Mosaic"), "carousel" => t("Carousel"))) ->selected($record->view_mode); } else { $pearsettings->dropdown("view_mode") ->label(t("View Mode")) ->options(array("grid" => t("Grid (Default)"), "mosaic" => t("Mosaic"), "carousel" => t("Carousel"))) ->selected("grid"); } } } static function item_edit_form_completed($item, $form) { if (!$item->is_album()){ return; } $view_mode = $form->edit_item->pear4gallery->view_mode->value; if (!(($view_mode == "mosaic") || ($view_mode == "carousel"))) { db::build() ->delete("pear_album_views") ->where("album_id", "=", $item->id) ->execute(); } else { $record = ORM::factory("pear_album_view")->where("album_id", "=", $item->id)->find(); if (!$record->loaded()) { $record->album_id = $item->id; } $record->view_mode = $view_mode; $record->save(); } } }