static function initBasketProducts($language, $isReset) { $db = Database::instance(); //if it's a reset request, empty the tables if ($isReset) { $db->query("DELETE FROM {bp_postage_bands}"); $db->query("DELETE FROM {bp_products}"); $db->query("DELETE FROM {bp_product_overrides}"); $db->query("DELETE FROM {bp_item_products}"); } //Add postage_bands if the table is empty $postage_band = ORM::factory("bp_postage_band")->where("id", "=", 1)->find(); if (!$postage_band->loaded()) { //========================== // SETTINGS FOR ENGLISH if ($language == "en_US" or $language == "en_UK") { // name, fixed cost, per item cost, is download bp_postage_band::create("No posting cost", 0, 0, false); bp_postage_band::create("Default posting cost", 2, 0, false); bp_postage_band::create("Posting by e-mail (free)", 0, 0, true); } elseif ($language == "nl_NL") { // name, fixed cost, per item cost, is download bp_postage_band::create("Geen verzendkosten", 0, 0, false); bp_postage_band::create("Standaard verzendkosten", 2, 0, false); bp_postage_band::create("Verzending via e-mail (gratis)", 0, 0, true); } } //Add products if the table is empty $product = ORM::factory("bp_product")->where("id", "=", 1)->find(); if (!$product->loaded()) { //========================== // SETTINGS FOR ENGLISH if ($language == "en_US" or $language == "en_UK") { //get posting band id for mail $postage = ORM::factory("bp_postage_band")->where("name", "=", "Default posting cost")->find(); // name, cost, descr, postageband id bp_product::create("4x6", 6, "Print 4x6 inch glossy", $postage->id); bp_product::create("8x10", 9, "Print 8x10 inch glossy", $postage->id); //get posting band id for e-mail $postage = ORM::factory("bp_postage_band")->where("name", "=", "Posting by e-mail (free)")->find(); bp_product::create("Original", 10, "Original high resolution photo file", $postage->id); } elseif ($language == "nl_NL") { //get posting band id for mail $postage = ORM::factory("bp_postage_band")->where("name", "=", "Standaard verzendkosten")->find(); // name, cost, descr, postageband id bp_product::create("13x18", 6, "Afdruk 13x18 cm glanzend", $postage->id); bp_product::create("20x30", 9, "Afdruk 20x30 cm glanzend", $postage->id); //get posting band id for e-mail $postage = ORM::factory("bp_postage_band")->where("name", "=", "Verzending via e-mail (gratis)")->find(); bp_product::create("Origineel", 10, "Originele fotobestand in hoge resolutie", $postage->id); } } }
public function add_postage_band() { access::verify_csrf(); $form = bp_postage_band::get_add_form_admin(); $valid = $form->validate(); $name = $form->add_postage->inputs["name"]->value; $postage = ORM::factory("bp_postage_band")->where("name", "=", $name)->find(); if ($postage->loaded()) { $form->add_postage->inputs["name"]->add_error("in_use", 1); $valid = false; } if ($valid) { $postage = bp_postage_band::create($name, $form->add_postage->flat_rate->value, $form->add_postage->per_item->value, $form->add_postage->via_download->checked); $postage->save(); message::success(t("Created postage band %postage_name", array("postage_name" => html::clean($postage->name)))); print json::reply(array("result" => "success")); } else { print $form; } }