public function getBlocks() { if (is_null($this->_blocks) and $this->getId()) { $block = new Cms_Model_Application_Block(); $this->_blocks = $block->findByPage($this->getId()); } else { $this->_blocks = array(); } return $this->_blocks; }
public function createDummyContents($option_value, $design, $category) { $option = new Application_Model_Option(); $option->find($option_value->getOptionId()); $dummy_content_xml = $this->_getDummyXml($design, $category); if ($option->getCode() == 'places' && $dummy_content_xml->places) { foreach ($dummy_content_xml->places->children() as $content) { $this->unsData(); $blocks = array(); $i = 1; foreach ($content->block as $block_content) { $block = new Cms_Model_Application_Block(); $block->find((string) $block_content->type, "type"); $data = (array) $block_content; if ($block_content->image_url) { $data['image_url'] = (array) $block_content->image_url; $data['image_fullsize_url'] = (array) $block_content->image_fullsize_url; } $data["block_id"] = $block->getId(); $blocks[$i++] = $data; } $this->addData((array) $content->content)->setBlock($blocks)->setValueId($option_value->getId())->save(); } } else { $blocks = array(); $i = 1; foreach ($dummy_content_xml->blocks->children() as $content) { $block = new Cms_Model_Application_Block(); $block->find((string) $content->type, "type"); $data = (array) $content; if ($content->image_url) { $data['image_url'] = (array) $content->image_url; $data['image_fullsize_url'] = (array) $content->image_fullsize_url; } $data["block_id"] = $block->getId(); $blocks[$i++] = $data; } $this->setValueId($option_value->getId())->setBlock($blocks)->save(); } }
$this->query("\n CREATE TABLE `cms_application_page_block_text` (\n `text_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `value_id` int(11) unsigned NOT NULL,\n `content` text COLLATE utf8_unicode_ci NOT NULL,\n `image` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,\n `size` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,\n `alignment` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,\n `layout_id` tinyint(1) unsigned NOT NULL,\n PRIMARY KEY (`text_id`),\n KEY `KEY_VALUE_ID` (`value_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n\n CREATE TABLE `cms_application_page_block_video` (\n `video_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `value_id` int(11) unsigned NOT NULL,\n `type_id` enum('link','youtube','podcast') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'link',\n `description` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n `image` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,\n PRIMARY KEY (`video_id`),\n KEY `FK_CMS_APPLICATION_PAGE_BLOCK_VALUE_ID` (`value_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n"); $this->query("\n CREATE TABLE `cms_application_page_block_video_link` (\n `video_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `link` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n `description` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n `image` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,\n PRIMARY KEY (`video_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n\n CREATE TABLE `cms_application_page_block_video_podcast` (\n `video_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `search` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n `link` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n PRIMARY KEY (`video_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n"); $this->query("\n CREATE TABLE `cms_application_page_block_video_youtube` (\n `video_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `search` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n `youtube` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n PRIMARY KEY (`video_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n\n CREATE TABLE `cms_application_page_block_button` (\n `button_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,\n `value_id` INT(11) UNSIGNED NOT NULL,\n `type_id` ENUM('link','phone') NOT NULL DEFAULT 'phone',\n `content` VARCHAR(256) NULL DEFAULT NULL,\n PRIMARY KEY (`button_id`),\n KEY `KEY_VALUE_ID` (`value_id`)\n ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n"); $this->query("\n ALTER TABLE `cms_application_page`\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 `cms_application_page_block_address`\n ADD FOREIGN KEY `FK_VALUE_ID` (`value_id`) REFERENCES `cms_application_page_block` (`value_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("\n ALTER TABLE `cms_application_page_block_image`\n ADD FOREIGN KEY `FK_VALUE_ID` (`value_id`) REFERENCES `cms_application_page_block` (`value_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("\n ALTER TABLE `cms_application_page_block_text`\n ADD FOREIGN KEY `FK_VALUE_ID` (`value_id`) REFERENCES `cms_application_page_block` (`value_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("\n ALTER TABLE `cms_application_page_block_video`\n ADD FOREIGN KEY `FK_VALUE_ID` (`value_id`) REFERENCES `cms_application_page_block` (`value_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("\n ALTER TABLE `cms_application_page_block_video_link`\n ADD FOREIGN KEY `FK_VIDEO_ID` (`video_id`) REFERENCES `cms_application_page_block_video` (`video_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("\n ALTER TABLE `cms_application_page_block_video_podcast`\n ADD FOREIGN KEY `FK_VIDEO_ID` (`video_id`) REFERENCES `cms_application_page_block_video` (`video_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $this->query("\n ALTER TABLE `cms_application_page_block_video_youtube`\n ADD FOREIGN KEY `FK_VIDEO_ID` (`video_id`) REFERENCES `cms_application_page_block_video` (`video_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n"); $library = new Media_Model_Library(); $library->setName('Custom Page')->save(); $icon_paths = array('/custom_page/custom1.png', '/loyalty/loyalty6.png', '/newswall/newswall1.png', '/newswall/newswall2.png', '/newswall/newswall3.png', '/newswall/newswall4.png', '/push_notifications/push1.png', '/push_notifications/push2.png', '/catalog/catalog6.png', '/catalog/catalog8.png', '/catalog/catalog9.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' => 'custom_page', 'name' => 'Custom Page', 'model' => 'Cms_Model_Application_Page', 'desktop_uri' => 'cms/application_page/', 'mobile_uri' => 'cms/mobile_page_view/', 'only_once' => 0, 'is_ajax' => 1, 'position' => 70, 'social_sharing_is_available' => 1); $option = new Application_Model_Option(); $option->setData($datas)->save(); $datas = array(array('type' => 'text', 'position' => 1, 'icon' => 'icon-file-alt', 'title' => 'Text', 'template' => 'cms/application/page/edit/block/text.phtml', 'mobile_template' => 'cms/page/%s/view/block/text.phtml'), array('type' => 'image', 'position' => 2, 'icon' => 'icon-picture', 'title' => 'Image', 'template' => 'cms/application/page/edit/block/image.phtml', 'mobile_template' => 'cms/page/%s/view/block/image.phtml'), array('type' => 'video', 'position' => 3, 'icon' => 'icon-facetime-video', 'title' => 'Video', 'template' => 'cms/application/page/edit/block/video.phtml', 'mobile_template' => 'cms/page/%s/view/block/video.phtml'), array('type' => 'address', 'position' => 4, 'icon' => 'icon-location-arrow', 'title' => 'Address', 'template' => 'cms/application/page/edit/block/address.phtml', 'mobile_template' => 'cms/page/%s/view/block/address.phtml'), array('type' => 'button', 'position' => 5, 'icon' => 'icon-barcode', 'title' => 'Button', 'template' => 'cms/application/page/edit/block/button.phtml', 'mobile_template' => 'cms/page/%s/view/block/button.phtml')); foreach ($datas as $data) { $block = new Cms_Model_Application_Block(); $block->setData($data)->save(); }
public function addblockAction() { if ($datas = $this->getRequest()->getPost()) { try { $position = $this->getRequest()->getParam('position'); if (empty($datas['block_id'])) { throw new Exception($this->_('An error occurred during process. Please try again later.')); } if (empty($position)) { throw new Exception($this->_('An error occurred during process. Please try again later.')); } $block = new Cms_Model_Application_Block(); $block->find($datas['block_id']); if (!$block->getId()) { throw new Exception($this->_('An error occurred during process. Please try again later.')); } $html = array('success' => 1); $html['layout'] = $this->getLayout()->addPartial('row', 'admin_view_default', $block->getTemplate())->setCurrentBlock($block)->setCurrentOptionValue($this->getCurrentOptionValue())->setPosition($position)->toHtml(); } catch (Exception $e) { $html = array('message' => $e->getMessage(), 'message_button' => 1, 'message_loader' => 1); } $this->getLayout()->setHtml(Zend_Json::encode($html)); } }