diff --git a/3.0/modules/item_links/helpers/item_links_event.php b/3.0/modules/item_links/helpers/item_links_event.php new file mode 100644 index 00000000..12cc94a1 --- /dev/null +++ b/3.0/modules/item_links/helpers/item_links_event.php @@ -0,0 +1,58 @@ +where("item_id", "=", $item->id) + ->find_all(); + + $existing_url = ""; + if (count($item_url) > 0) { + $existing_url = $item_url[0]->url; + } + $form->edit_item + ->input("item_links_url") + ->label(t("Redirect to URL:")) + ->value($existing_url); + } + + static function item_deleted($item) { + // Whenever an item is deleted, delete any corresponding data. + db::build()->delete("item_links")->where("item_id", "=", $item->id)->execute(); + } + + static function item_edit_form_completed($item, $form) { + // Update the database with any changes to the item_links field. + $record = ORM::factory("item_link")->where("item_id", "=", $item->id)->find(); + + if ($form->edit_item->item_links_url->value != "") { + if (!$record->loaded()) { + $record->item_id = $item->id; + } + $record->url = $form->edit_item->item_links_url->value; + $record->save(); + } else { + db::build()->delete("item_links")->where("item_id", "=", $item->id)->execute(); + } + } +} diff --git a/3.0/modules/item_links/helpers/item_links_installer.php b/3.0/modules/item_links/helpers/item_links_installer.php new file mode 100644 index 00000000..f9d34d98 --- /dev/null +++ b/3.0/modules/item_links/helpers/item_links_installer.php @@ -0,0 +1,34 @@ +query("CREATE TABLE IF NOT EXISTS {item_links} ( + `id` int(9) NOT NULL auto_increment, + `item_id` int(9) NOT NULL, + `url` text default NULL, + PRIMARY KEY (`id`), + KEY(`item_id`, `id`)) + DEFAULT CHARSET=utf8;"); + + // Set the module's version number. + module::set_version("item_links", 1); + } +} diff --git a/3.0/modules/item_links/helpers/item_links_theme.php b/3.0/modules/item_links/helpers/item_links_theme.php new file mode 100644 index 00000000..fbfcbb45 --- /dev/null +++ b/3.0/modules/item_links/helpers/item_links_theme.php @@ -0,0 +1,34 @@ +item()) { + $item_url = ORM::factory("item_link") + ->where("item_id", "=", $theme->item->id) + ->find_all(); + if (count($item_url) > 0) { + url::redirect($item_url[0]->url); + } + } + return; + } +} diff --git a/3.0/modules/item_links/models/item_link.php b/3.0/modules/item_links/models/item_link.php new file mode 100644 index 00000000..65335e27 --- /dev/null +++ b/3.0/modules/item_links/models/item_link.php @@ -0,0 +1,21 @@ +where("item_id", "=", $item->id) + ->find_all(); + + $existing_url = ""; + if (count($item_url) > 0) { + $existing_url = $item_url[0]->url; + } + $form->edit_item + ->input("item_links_url") + ->label(t("Redirect to URL:")) + ->value($existing_url); + } + + static function item_deleted($item) { + // Whenever an item is deleted, delete any corresponding data. + db::build()->delete("item_links")->where("item_id", "=", $item->id)->execute(); + } + + static function item_edit_form_completed($item, $form) { + // Update the database with any changes to the item_links field. + $record = ORM::factory("item_link")->where("item_id", "=", $item->id)->find(); + + if ($form->edit_item->item_links_url->value != "") { + if (!$record->loaded()) { + $record->item_id = $item->id; + } + $record->url = $form->edit_item->item_links_url->value; + $record->save(); + } else { + db::build()->delete("item_links")->where("item_id", "=", $item->id)->execute(); + } + } +} diff --git a/3.1/modules/item_links/helpers/item_links_installer.php b/3.1/modules/item_links/helpers/item_links_installer.php new file mode 100644 index 00000000..f9d34d98 --- /dev/null +++ b/3.1/modules/item_links/helpers/item_links_installer.php @@ -0,0 +1,34 @@ +query("CREATE TABLE IF NOT EXISTS {item_links} ( + `id` int(9) NOT NULL auto_increment, + `item_id` int(9) NOT NULL, + `url` text default NULL, + PRIMARY KEY (`id`), + KEY(`item_id`, `id`)) + DEFAULT CHARSET=utf8;"); + + // Set the module's version number. + module::set_version("item_links", 1); + } +} diff --git a/3.1/modules/item_links/helpers/item_links_theme.php b/3.1/modules/item_links/helpers/item_links_theme.php new file mode 100644 index 00000000..fbfcbb45 --- /dev/null +++ b/3.1/modules/item_links/helpers/item_links_theme.php @@ -0,0 +1,34 @@ +item()) { + $item_url = ORM::factory("item_link") + ->where("item_id", "=", $theme->item->id) + ->find_all(); + if (count($item_url) > 0) { + url::redirect($item_url[0]->url); + } + } + return; + } +} diff --git a/3.1/modules/item_links/models/item_link.php b/3.1/modules/item_links/models/item_link.php new file mode 100644 index 00000000..65335e27 --- /dev/null +++ b/3.1/modules/item_links/models/item_link.php @@ -0,0 +1,21 @@ +