$this->query("\n CREATE TABLE `promotion` (\n `promotion_id` int(11) NOT NULL AUTO_INCREMENT,\n `value_id` int(11) unsigned NOT NULL,\n `title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n `picture` VARCHAR(255) NULL DEFAULT NULL,\n `description` text COLLATE utf8_unicode_ci NOT NULL,\n `conditions` varchar(100) COLLATE utf8_unicode_ci NOT NULL,\n `is_unique` tinyint(1) NOT NULL DEFAULT '0',\n `end_at` date DEFAULT NULL,\n `force_validation` tinyint(1) unsigned NOT NULL DEFAULT '0',\n `is_active` tinyint(1) NOT NULL DEFAULT '1',\n `condition_type` varchar(9) COLLATE utf8_unicode_ci DEFAULT NULL,\n `condition_number_of_points` tinyint(2) DEFAULT NULL,\n `condition_period_number` tinyint(2) DEFAULT NULL,\n `condition_period_type` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,\n `is_shared` tinyint(1) NOT NULL DEFAULT '0',\n `owner` tinyint(1) NOT NULL DEFAULT '1',\n `unlock_by` enum('account', 'qrcode') NOT NULL DEFAULT 'account',\n `unlock_code` VARCHAR(10) NULL DEFAULT NULL,\n `created_at` datetime NOT NULL,\n `updated_at` datetime NOT NULL,\n PRIMARY KEY (`promotion_id`),\n KEY `KEY_VALUE_ID` (`value_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n\n CREATE TABLE `promotion_customer` (\n `promotion_customer_id` int(11) NOT NULL AUTO_INCREMENT,\n `promotion_id` int(11) NOT NULL,\n `pos_id` int(11) DEFAULT NULL,\n `customer_id` int(11) UNSIGNED NOT NULL,\n `is_used` tinyint(1) unsigned NOT NULL DEFAULT '0',\n `number_of_error` tinyint(1) unsigned NOT NULL DEFAULT '0',\n `created_at` datetime NOT NULL,\n `last_error` datetime DEFAULT NULL,\n PRIMARY KEY (`promotion_customer_id`),\n KEY `KEY_PROMOTION_ID` (`promotion_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n"); $this->query("\n ALTER TABLE `promotion`\n ADD FOREIGN KEY `FK_VALUE_ID` (`value_id`) REFERENCES `application_option_value` (`value_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("\n ALTER TABLE `promotion_customer`\n ADD FOREIGN KEY `FK_PROMOTION_ID` (`promotion_id`) REFERENCES `promotion` (`promotion_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $library = new Media_Model_Library(); $library->setName('Discount')->save(); $icon_paths = array('/discount/discount1.png', '/discount/discount2.png', '/discount/discount3.png', '/discount/discount4.png', '/discount/discount5.png', '/loyalty/loyalty6.png'); $icon_id = 0; foreach ($icon_paths as $key => $icon_path) { $datas = array('library_id' => $library->getId(), 'link' => $icon_path, 'can_be_colorized' => 1); $image = new Media_Model_Library_Image(); $image->setData($datas)->save(); if ($key == 0) { $icon_id = $image->getId(); } } $datas = array('library_id' => $library->getId(), 'icon_id' => $icon_id, 'code' => 'discount', 'name' => 'Discount', 'model' => 'Promotion_Model_Promotion', 'desktop_uri' => 'promotion/application/', 'mobile_uri' => "promotion/mobile_list/", 'only_once' => 0, 'is_ajax' => 1, 'position' => 20, 'social_sharing_is_available' => 1); $option = new Application_Model_Option(); $option->setData($datas)->save(); $layouts = array(array("code" => 1, "option_id" => $option->getId(), "name" => "Layout 1", "preview" => "/customization/layout/promotion/layout-1.png", "position" => 1), array("code" => 2, "option_id" => $option->getId(), "name" => "Layout 2", "preview" => "/customization/layout/promotion/layout-2.png", "position" => 2)); foreach ($layouts as $data) { $this->_db->insert("application_option_layout", $data); } $media_library = new Media_Model_Library(); $media_library->find("Code Scan", "name"); $last_icon = count($media_library->getIcons()) - 1; $icons = $media_library->getIcons(); $icon_id = $icons[$last_icon]->getId(); $option = new Application_Model_Option(); $all_options = $option->findAll("", "position DESC"); $option_data = array("code" => "qr_discount", "name" => "QR Coupons", "model" => "Promotion_Model_Promotion", "library_id" => $media_library->getId(), "icon_id" => $icon_id, "desktop_uri" => "promotion/application/", "mobile_uri" => "promotion/mobile_list/", "position" => 25); $option->setData($option_data)->save();
$library = new Media_Model_Library(); if (!$catalog_option->getId()) { $library->setName('Set Meal')->save(); $icon_paths = array('/catalog/catalog1.png', '/catalog/catalog2.png', '/catalog/catalog3.png', '/catalog/catalog4.png', '/catalog/catalog5.png', '/catalog/catalog6.png', '/catalog/catalog7.png', '/promotion/discount4.png', '/catalog/catalog8.png', '/catalog/catalog9.png', '/catalog/catalog10.png', '/catalog/catalog11.png'); $icon_id = 0; foreach ($icon_paths as $key => $icon_path) { $datas = array('library_id' => $library->getId(), 'link' => $icon_path, 'can_be_colorized' => 1); $image = new Media_Model_Library_Image(); $image->setData($datas)->save(); if ($key == 0) { $icon_id = $image->getId(); } } } else { $library->find($catalog_option->getLibraryId()); $icons = $library->getIcons(); $icons->next(); $icon_id = $icons->current()->getId(); } $datas = array('category_id' => $category->getId(), 'library_id' => $library->getId(), 'icon_id' => $icon_id, 'code' => 'set_meal', 'name' => 'Set Meal', 'model' => 'Catalog_Model_Product', 'desktop_uri' => 'catalog/application_menu/', 'mobile_uri' => 'catalog/mobile_setmeal_list/', "mobile_view_uri" => "catalog/mobile_setmeal_view/", "mobile_view_uri_parameter" => "set_meal_id", 'only_once' => 0, 'is_ajax' => 1, 'position' => 35, 'social_sharing_is_available' => 1); $option = new Application_Model_Option(); $option->setData($datas)->save(); $set_meal_value_id = $option->getId(); $layout_data = array(array("value_id" => $catalog_value_id, "image_path" => "/customization/layout/catalog"), array("value_id" => $set_meal_value_id, "image_path" => "/customization/layout/set-meal")); foreach ($layout_data as $data) { $layouts = array(); $option = new Application_Model_Option(); $option->find($data["value_id"]); foreach (array(1, 2, 3) as $layout_code) { $layouts[] = array("code" => $layout_code, "option_id" => $option->getId(), "name" => "Layout {$layout_code}", "preview" => "{$data["image_path"]}/layout-{$layout_code}.png", "position" => $layout_code); }