From a00619b812393cf73d1c188af7961af820d36185 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sun, 20 Sep 2009 20:59:18 -0700 Subject: * Move the captured field into the exif module where it is created and populated. * Create a new API event get_sort_fields that allows modules to contribute new sort fields that they manage. the only condition is that the module needs to add it to the item table. * Changed g2_import to call this api to get the allowable sort fields * Changed album::get_edit_form to call this new api to get the available sort fields Partial fix for ticket #627, as the Capture date is not available until the exif module is installed. --- modules/exif/helpers/exif_event.php | 4 ++++ modules/exif/helpers/exif_installer.php | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'modules/exif/helpers') diff --git a/modules/exif/helpers/exif_event.php b/modules/exif/helpers/exif_event.php index 826ec959..c5c48bdc 100644 --- a/modules/exif/helpers/exif_event.php +++ b/modules/exif/helpers/exif_event.php @@ -27,4 +27,8 @@ class exif_event_Core { static function item_deleted($item) { Database::instance()->delete("exif_records", array("item_id" => $item->id)); } + + static function get_sort_fields($sort_order) { + $sort_order->fields["captured"] = t("Date captured"); + } } diff --git a/modules/exif/helpers/exif_installer.php b/modules/exif/helpers/exif_installer.php index 66226061..b826224a 100644 --- a/modules/exif/helpers/exif_installer.php +++ b/modules/exif/helpers/exif_installer.php @@ -29,6 +29,12 @@ class exif_installer { PRIMARY KEY (`id`), KEY(`item_id`)) DEFAULT CHARSET=utf8;"); + + + $item_fields = $db->list_fields("items"); + if (empty($item_fields["captured"])) { + $db->query("ALTER TABLE {items} ADD COLUMN `captured` int(9) default NULL"); + } module::set_version("exif", 1); } @@ -41,6 +47,8 @@ class exif_installer { } static function uninstall() { - Database::instance()->query("DROP TABLE IF EXISTS {exif_records};"); + $db = Database::instance(); + $db->query("DROP TABLE IF EXISTS {exif_records};"); + $db->query("ALTER TABLE {items} DROP COLUMN `captured`"); } } -- cgit v1.2.3