$this->query("\n\n CREATE TABLE `application_option` (\n `option_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `category_id` INT(11) UNSIGNED NOT NULL,\n `library_id` int(11) unsigned NOT NULL,\n `icon_id` int(11) NOT NULL,\n `code` varchar(20) NOT NULL,\n `name` varchar(25) NOT NULL,\n `model` varchar(100) NOT NULL,\n `desktop_uri` varchar(100) NOT NULL,\n `mobile_uri` varchar(100) NOT NULL,\n `mobile_view_uri` varchar(100) NULL DEFAULT NULL,\n `mobile_view_uri_parameter` varchar(100) NULL DEFAULT NULL,\n `only_once` tinyint(1) NOT NULL DEFAULT '0',\n `is_ajax` tinyint(1) NOT NULL DEFAULT '1',\n `position` tinyint(1) unsigned NOT NULL DEFAULT '0',\n `social_sharing_is_available` TINYINT(1) NOT NULL DEFAULT 0,\n PRIMARY KEY (`option_id`),\n KEY `KEY_LIBRARY_ID` (`library_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n\n"); $this->query("\n CREATE TABLE `application_option_value` (\n `value_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `app_id` INT(11) UNSIGNED NOT NULL,\n `option_id` int(11) unsigned NOT NULL,\n `layout_id` int(11) unsigned NOT NULL DEFAULT '1',\n `icon_id` int(11) DEFAULT NULL,\n `folder_id` int(11) unsigned DEFAULT NULL,\n `folder_category_id` int(11) unsigned DEFAULT NULL,\n `folder_category_position` int(11) unsigned DEFAULT NULL,\n `tabbar_name` varchar(30) DEFAULT NULL,\n `icon` varchar(255) DEFAULT NULL,\n `background_image` varchar(255) DEFAULT NULL,\n `is_visible` tinyint(1) NOT NULL DEFAULT '1',\n `position` tinyint(1) unsigned NOT NULL DEFAULT '0',\n `is_active` tinyint(1) unsigned NOT NULL DEFAULT '0',\n `social_sharing_is_active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,\n PRIMARY KEY (`value_id`),\n KEY `KEY_APP_ID` (`app_id`),\n KEY `KEY_OPTION_ID` (`option_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n"); $this->query("\n CREATE TABLE IF NOT EXISTS `application_admin` (\n `app_id` INT(11) UNSIGNED NOT NULL,\n `admin_id` INT(11) UNSIGNED NOT NULL,\n `is_allowed_to_add_pages` TINYINT(1) NOT NULL DEFAULT 1,\n PRIMARY KEY (`app_id`,`admin_id`),\n KEY `sign_id_idxfk` (`admin_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n"); $this->query("\n CREATE TABLE `application_device` (\n `device_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,\n `app_id` INT(11) UNSIGNED NOT NULL,\n `type_id` TINYINT(11) UNSIGNED NOT NULL,\n `status_id` TINYINT(11) UNSIGNED NULL DEFAULT 1,\n `admob_id` VARCHAR(50) NULL DEFAULT NULL,\n `admob_type` enum('banner','interstitial') NOT NULL DEFAULT 'banner',\n `version` VARCHAR(10) NOT NULL DEFAULT '0.0.1',\n `developer_account_username` VARCHAR(255) NULL DEFAULT NULL,\n `developer_account_password` VARCHAR(255) NULL DEFAULT NULL,\n `use_our_developer_account` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,\n `store_url` VARCHAR(255) NULL DEFAULT NULL,\n `store_pass` VARCHAR(10) NULL DEFAULT NULL,\n `store_app_id` VARCHAR(150) NULL DEFAULT NULL,\n `banner_store_label` VARCHAR(150) NULL DEFAULT NULL,\n `banner_store_price` VARCHAR(150) NULL DEFAULT NULL,\n `key_pass` VARCHAR(10) NULL DEFAULT NULL,\n `alias` VARCHAR(50) NULL DEFAULT NULL,\n PRIMARY KEY (`device_id`),\n KEY `KEY_APP_ID` (`app_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n"); $this->query("\n CREATE TABLE `application_option_layout` (\n `layout_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,\n `code` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,\n `option_id` INT(11) UNSIGNED NOT NULL,\n `name` VARCHAR(50) NOT NULL,\n `preview` VARCHAR(255) NOT NULL,\n `position` TINYINT(1) NOT NULL DEFAULT 1,\n PRIMARY KEY (`layout_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n"); $this->query("\n CREATE TABLE `application_tc` (\n `tc_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,\n `app_id` INT(11) UNSIGNED NOT NULL,\n `type` VARCHAR(50) NOT NULL,\n `text` LONGTEXT NULL DEFAULT NULL,\n `created_at` datetime NOT NULL,\n `updated_at` datetime NOT NULL,\n PRIMARY KEY (`tc_id`),\n INDEX `IDX_TC_APPLICATION_APP_ID` (`app_id`),\n UNIQUE `UNIQUE_TC_APPLICATION_APP_ID_TYPE` (`app_id`, `type`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n"); $this->query("\n CREATE TABLE `application_acl_option` (\n `application_acl_option_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `app_id` int(11) unsigned NOT NULL,\n `admin_id` int(11) unsigned NOT NULL,\n `value_id` int(11) unsigned NOT NULL,\n `resource_code` varchar(50) COLLATE utf8_unicode_ci NOT NULL,\n PRIMARY KEY (`application_acl_option_id`),\n KEY value_id (`value_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n"); $this->query("\n CREATE TABLE `application_option_category` (\n `category_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,\n `code` VARCHAR(50) NOT NULL DEFAULT 1,\n `name` VARCHAR(50) NOT NULL,\n `icon` VARCHAR(255) NOT NULL,\n `position` TINYINT(1) NOT NULL DEFAULT 1,\n `created_at` datetime NOT NULL,\n `updated_at` datetime NOT NULL,\n PRIMARY KEY (`category_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n"); $this->query("\n ALTER TABLE application_acl_option\n ADD CONSTRAINT FK_APPLICATION_ACL_OPTION_VALUE_ID\n FOREIGN KEY (value_id) REFERENCES application_option_value (value_id) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("ALTER TABLE `application` ADD `key` VARCHAR(20) NOT NULL AFTER `bundle_id`;"); $this->query("ALTER TABLE `application` ADD UNIQUE `UNIQUE_APPLICATION_KEY` (`key`);"); $this->query("\n ALTER TABLE `application_option_value`\n ADD FOREIGN KEY (`app_id`) REFERENCES `application` (`app_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("\n ALTER TABLE `application_option_value`\n ADD FOREIGN KEY `FK_OPTION_ID` (`option_id`) REFERENCES `application_option` (`option_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("\n ALTER TABLE `application_admin`\n ADD FOREIGN KEY `FK_APPLICATION_APP_ID` (`app_id`) REFERENCES `application` (`app_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("\n ALTER TABLE `application_device`\n ADD CONSTRAINT `APPLICATION_DEVICE_APP_ID`\n FOREIGN KEY (`app_id`) REFERENCES `application` (`app_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("\n ALTER TABLE `application_tc`\n ADD CONSTRAINT `FK_APPLICATION_TC_APP_ID`\n FOREIGN KEY (`app_id`) REFERENCES `application` (`app_id`) ON UPDATE CASCADE ON DELETE CASCADE;\n"); $this->query("\n ALTER TABLE `application_option`\n ADD CONSTRAINT `FK_APPLICATION_OPTION_CATEGORY_ID`\n FOREIGN KEY (`category_id`) REFERENCES `application_option_category` (`category_id`) ON UPDATE CASCADE ON DELETE CASCADE;\n"); $this->query("ALTER TABLE `log` ADD FOREIGN KEY `FK_APPLICATION_APPLICATION_ID` (app_id) references `application` (`app_id`) ON UPDATE CASCADE ON DELETE CASCADE;"); $datas = array(array('name' => 'Layout 1', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_ALWAYS, 'code' => 'layout_1', 'preview' => '/customization/layout/homepage/layout_1.png', 'use_more_button' => 1, 'use_horizontal_scroll' => 0, 'number_of_displayed_icons' => 5, 'position' => "bottom", "order" => 1, "is_active" => 1), array('name' => 'Layout 2', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_HOMEPAGE, 'code' => 'layout_2', 'preview' => '/customization/layout/homepage/layout_2.png', 'use_more_button' => 1, 'use_horizontal_scroll' => 0, 'number_of_displayed_icons' => 10, 'position' => "bottom", "order" => 2, "is_active" => 1), array('name' => 'Layout 3', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_HOMEPAGE, 'code' => 'layout_3', 'preview' => '/customization/layout/homepage/layout_3.png', 'use_more_button' => 0, 'use_horizontal_scroll' => 0, 'number_of_displayed_icons' => null, 'position' => "bottom", "order" => 3, "is_active" => 1), array('name' => 'Layout 4', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_HOMEPAGE, 'code' => 'layout_4', 'preview' => '/customization/layout/homepage/layout_4.png', 'use_more_button' => 0, 'use_horizontal_scroll' => 0, 'number_of_displayed_icons' => null, 'position' => "bottom", "order" => 4, "is_active" => 1), array('name' => 'Layout 5', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_HOMEPAGE, 'code' => 'layout_5', 'preview' => '/customization/layout/homepage/layout_5.png', 'use_more_button' => 0, 'use_horizontal_scroll' => 0, 'number_of_displayed_icons' => null, 'position' => "bottom", "order" => 5, "is_active" => 1), array('name' => 'Layout 6', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_HOMEPAGE, 'code' => 'layout_6', 'preview' => '/customization/layout/homepage/layout_6.png', 'use_more_button' => 0, 'use_horizontal_scroll' => 0, 'number_of_displayed_icons' => null, 'position' => "bottom", "order" => 6, "is_active" => 1), array('name' => 'Layout 7', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_HOMEPAGE, 'code' => 'layout_7', 'preview' => '/customization/layout/homepage/layout_7.png', 'use_more_button' => 0, 'use_horizontal_scroll' => 0, 'number_of_displayed_icons' => null, 'position' => "bottom", "order" => 7, "is_active" => 1), array('name' => 'Layout 8', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_HOMEPAGE, 'code' => 'layout_8', 'preview' => '/customization/layout/homepage/layout_8.png', 'use_more_button' => 0, 'use_horizontal_scroll' => 0, 'number_of_displayed_icons' => null, 'position' => "bottom", "order" => 8, "is_active" => 0), array('name' => 'Layout 9', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_TOGGLE, 'code' => 'layout_9', 'preview' => '/customization/layout/homepage/layout_9.png', 'use_more_button' => 0, 'use_horizontal_scroll' => 0, 'number_of_displayed_icons' => null, 'position' => "left", "order" => 9, "is_active" => 1), array('name' => 'Layout 3 - Horizontal', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_HOMEPAGE, 'code' => 'layout_3_h', 'preview' => '/customization/layout/homepage/layout_3-h.png', 'use_more_button' => 0, 'use_horizontal_scroll' => 0, "number_of_displayed_icons" => 6, 'position' => "bottom", "order" => 10, "is_active" => 1), array('name' => 'Layout 4 - Horizontal', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_HOMEPAGE, 'code' => 'layout_4_h', 'preview' => '/customization/layout/homepage/layout_4-h.png', 'use_more_button' => 0, 'use_horizontal_scroll' => 1, "number_of_displayed_icons" => 6, 'position' => "bottom", "order" => 11, "is_active" => 1), array('name' => 'Layout 5 - Horizontal', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_HOMEPAGE, 'code' => 'layout_5_h', 'preview' => '/customization/layout/homepage/layout_5-h.png', 'use_more_button' => 0, 'use_horizontal_scroll' => 1, "number_of_displayed_icons" => 4, 'position' => "bottom", "order" => 12, "is_active" => 1), array('name' => 'Layout 10', 'visibility' => Application_Model_Layout_Homepage::VISIBILITY_HOMEPAGE, 'code' => 'layout_10', 'preview' => '/customization/layout/homepage/layout_10.png', 'use_more_button' => 1, 'use_horizontal_scroll' => 0, 'number_of_displayed_icons' => 5, 'position' => 'bottom', "order" => 13, "is_active" => 1)); foreach ($datas as $data) { $layout = new Application_Model_Layout_Homepage(); $layout->setData($data)->save(); } $categories = array(array("code" => "social", "name" => "Social", "icon" => "icon-share", "position" => 10), array("code" => "media", "name" => "Media", "icon" => "icon-play", "position" => 20), array("code" => "contact", "name" => "Contact", "icon" => "icon-phone", "position" => 30), array("code" => "monetization", "name" => "Monetization", "icon" => "icon-money", "position" => 40), array("code" => "customization", "name" => "Customization", "icon" => "icon-edit", "position" => 50), array("code" => "integration", "name" => "Integration", "icon" => "icon-globe", "position" => 60), array("code" => "events", "name" => "Events", "icon" => "icon-calendar", "position" => 70), array("code" => "misc", "name" => "Misc", "icon" => "icon-code", "position" => 80)); foreach ($categories as $category_data) { $category = new Application_Model_Option_Category(); $category->setData($category_data)->save(); foreach ($category_data["features"] as $feature_code) { $this->_db->update("application_option", array("category_id" => $category->getId()), array("code = ?" => $feature_code)); } }
<?php $this->query("\n ALTER TABLE `application_layout_homepage`\n ADD `code` VARCHAR(10) NOT NULL AFTER `layout_id`;\n"); $layout = new Application_Model_Layout_Homepage(); $layouts = $layout->findAll(); foreach ($layouts as $key => $layout) { $layout->setCode("layout_" . $key)->setName("Layout " . $key)->save(); } $layout = new Application_Model_Layout_Homepage(); $layout->setData(array('code' => 'layout_8', 'name' => 'Layout 8', 'preview' => '/customization/layout/homepage/layout_8.png', 'use_more_button' => 0, 'position' => 80))->save();