コード例 #1
0
ファイル: Category.php プロジェクト: bklein01/siberian_cms_2
 public function getOptions()
 {
     if (!$this->_options) {
         $option = new Application_Model_Option();
         $this->_options = $option->findAll(array("category_id = ?" => $this->getId()));
     }
     return $this->_options;
 }
コード例 #2
0
 public function findAction()
 {
     $previews = new Preview_Model_Preview();
     $data = array();
     if ($this->getRequest()->getParam("preview_id")) {
         $previews = $previews->findAll(array("aop.preview_id" => $this->getRequest()->getParam("preview_id")));
         $data_tmp = array();
         foreach ($previews as $preview) {
             if ($preview->getlibraryId()) {
                 $images = $preview->findImages();
                 $images_data = array();
                 foreach ($images as $image) {
                     $images_data[] = array("id" => $image->getImageId(), "link" => $image->getlink(), "new" => 0, "to_delete" => 0);
                 }
             }
             if ($preview->getPreviewId()) {
                 $data_tmp[$preview->getLanguageCode()] = array("title" => $preview->getTitle(), "description" => $preview->getDescription(), "language_code" => $preview->getLanguageCode(), "from_database" => 1, "images" => $images_data);
             }
         }
         if (!empty($data_tmp)) {
             $data["previews"] = $data_tmp;
         }
         $data["section_title_one"] = $this->_("Edit the preview");
     } else {
         $data["section_title_one"] = $this->_("Create a new preview");
         $option = new Application_Model_Option();
         $option_list = array();
         $options = $option->findAll(array(), 'position ASC');
         foreach ($options as $option) {
             $option_list[$option->getId()] = $option->getName();
         }
         $data["options"] = $option_list;
     }
     $data["section_title_two"] = $this->_("Preview images");
     $languages = Core_Model_Language::getLanguages();
     $language_list = array();
     foreach ($languages as $language) {
         $language_list[$language->getCode()] = $language->getName();
     }
     $data["languages"] = $language_list;
     $data["current_language"] = Core_Model_Language::getCurrentLanguage();
     $this->_sendHtml($data);
 }
コード例 #3
0
<?php

$media_library = new Media_Model_Library();
$media_library->setName("Code Scan")->save();
$icon_id = null;
$files_icon = new DirectoryIterator(Core_Model_Directory::getBasePathTo("images/library/code_scan"));
foreach ($files_icon as $file) {
    if ($file->isDot()) {
        continue;
    }
    $icon = new Media_Model_Library_Image();
    $icon_data = array("library_id" => $media_library->getId(), "link" => "/code_scan/" . $file->getFilename(), "can_be_colorized" => 1);
    $icon->setData($icon_data)->save();
    if ($icon_id == null) {
        $icon_id = $icon->getId();
    }
}
$option = new Application_Model_Option();
$all_options = $option->findAll("", "position DESC");
$option_data = array("code" => "code_scan", "name" => "Code Scan", "model" => "Codescan_Model_Codescan", "library_id" => $media_library->getId(), "icon_id" => $icon_id, "desktop_uri" => "codescan/application/", "mobile_uri" => "codescan/mobile_view/", "position" => $all_options[0]->getPosition() + 10);
$option->setData($option_data)->save();
コード例 #4
0
}
foreach ($categories_designs as $category_code => $design_codes) {
    $categories_designs_data = array("category_id" => $category_ids[$category_code]);
    foreach ($design_codes as $design_code) {
        $categories_designs_data["design_id"] = $design_ids[$design_code];
        $this->_db->insert("template_design_category", $categories_designs_data);
    }
}
// Assigning features to designs
$design_codes = array("dj" => array("newswall" => array("icon" => "/newswall/newswall2.png"), "music_gallery" => array("name" => "Playlists"), "push_notification" => array("name" => "Messages", "icon" => "/push_notifications/push2.png"), "image_gallery" => array("icon" => "/images/image5.png"), "facebook" => array(), "calendar" => array("icon" => "/calendar/calendar2.png"), "video_gallery" => array("icon" => "/videos/video2.png"), "custom_page" => array("name" => "About me"), "booking" => array("icon" => "/booking/booking4.png")), "fairground" => array("fanwall" => array("icon" => "/../../images/templates/fairground/icons/fanwall.png"), "loyalty" => array("name" => "Loyalty", "icon" => "/loyalty/loyalty4.png"), "social_gaming" => array("icon" => "/contest/contest4.png"), "discount" => array("name" => "Coupons", "icon" => "/discount/discount5.png"), "calendar" => array("icon" => "/calendar/calendar2.png"), "image_gallery" => array("icon" => "/images/image7.png"), "push_notification" => array("name" => "Push", "icon" => "/push_notifications/push3.png"), "video_gallery" => array(), "newswall" => array("name" => "News"), "facebook" => array()), "pizza" => array("m_commerce" => array("name" => "Orders"), "loyalty" => array("name" => "Loyalty"), "social_gaming" => array(), "discount" => array(), "facebook" => array(), "contact" => array()));
foreach ($design_codes as $design_code => $option_codes) {
    foreach ($option_codes as $option_code => $option_infos) {
        $design = new Template_Model_Design();
        $design->find($design_code, "code");
        $option = new Application_Model_Option();
        $options = $option->findAll(array("code IN (?)" => $option_code));
        foreach ($options as $option) {
            $icon_id = NULL;
            if (isset($option_infos["icon"])) {
                $icon = new Media_Model_Library_Image();
                $icon->find($option_infos["icon"], "link");
                if (!$icon->getData()) {
                    $icon->setLibraryId($option->getLibraryId())->setLink($option_infos["icon"])->setOptionId($option->getId())->setCanBeColorized(1)->setPosition(0)->save();
                }
                $icon_id = $icon->getId();
            }
            $data = array("design_id" => $design->getId(), "option_id" => $option->getId(), "option_tabbar_name" => isset($option_infos["name"]) ? $option_infos["name"] : NULL, "option_icon" => $icon_id, "option_background_image" => isset($option_infos["background_image"]) ? $option_infos["background_image"] : NULL);
            $design_content = new Template_Model_Design_Content();
            $design_content->setData($data)->save();
        }
    }
コード例 #5
0
<?php

$this->query("\n      CREATE TABLE `acl_resource` (\n          `resource_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n          `parent_id` int(11) unsigned DEFAULT NULL,\n          `code` varchar(50) COLLATE utf8_unicode_ci NOT NULL,\n          `label` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n          `url` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,\n          PRIMARY KEY (resource_id)\n      ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n");
$this->query("\n      CREATE TABLE `acl_role` (\n        `role_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n        `code` varchar(50) COLLATE utf8_unicode_ci NOT NULL,\n        `label` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n        PRIMARY KEY(role_id)\n      ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n");
$this->query("\n    INSERT INTO `acl_role` (`code`, `label`) VALUES ('Admin', 'Administrator : full access');\n");
$this->query("\n      CREATE TABLE `acl_resource_role` (\n        `resource_id` int(11) unsigned NOT NULL,\n        `role_id` int(11) unsigned NOT NULL,\n        PRIMARY KEY(resource_id,role_id)\n      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n");
$this->query("\n      ALTER TABLE `acl_resource_role`\n          ADD CONSTRAINT `FK_RESOURCE_ROLE_RESOURCE_ID` FOREIGN KEY (`resource_id`) REFERENCES `acl_resource` (`resource_id`) ON DELETE CASCADE ON UPDATE CASCADE,\n          ADD CONSTRAINT `FK_RESOURCE_ROLE_ROLE_ID` FOREIGN KEY (`role_id`) REFERENCES `acl_role` (`role_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n");
$this->query("\n    ALTER TABLE `admin` \n        ADD `role_id` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `parent_id`, \n        ADD INDEX (`role_id`);\n");
$resource_data = array(array("code" => "application", "label" => "Manage applications", "children" => array(array("code" => "application_create", "label" => "Create an application", "url" => "admin/application/createpost"), array("code" => "application_delete", "label" => "Delete an application", "url" => "admin/application/delete"))), array("code" => "editor", "label" => "Access the application editor", "children" => array(array("code" => "editor_design", "label" => "Access the Design tab", "url" => "application/customization_design_style/edit"), array("code" => "editor_colors", "label" => "Access the Colors tab", "url" => "application/customization_design_colors/edit"), array("code" => "editor_features", "label" => "Access the Features tab", "url" => "application/customization_features/list"), array("code" => "editor_application", "label" => "Access the Application tab", "url" => "application/customization_publication_app/index"), array("code" => "editor_publication", "label" => "Access the Publication tab", "url" => "application/customization_publication_infos/index"), array("code" => "editor_settings", "label" => "Access the settings from the editor", "children" => array(array("code" => "editor_settings_tc", "label" => "Access the Terms & Conditions tab", "url" => "application/settings_tc/*"), array("code" => "editor_settings_facebook", "label" => "Access the Facebook tab", "url" => "application/settings_facebook/*"), array("code" => "editor_settings_domain", "label" => "Access the Domain tab", "url" => "application/settings_domain/*"))))), array("code" => "admin_access_management", "label" => "Manage the editor users", "url" => "admin/access_management/*"), array("code" => "analytics", "label" => "Analytics page", "url" => "application/settings_facebook/*"), array("code" => "promote", "label" => "Promote page", "url" => "application/promote/*"), array("code" => "users", "label" => "Users page", "url" => "customer/application/list"), array("code" => "support", "label" => "Support"));
if (Siberian_Version::TYPE == "PE") {
    $resource_data[] = array("code" => "sales_invoice", "label" => "List, open and print the invoices", "url" => "sales/admin_invoice/*");
}
$option = new Application_Model_Option();
$options = $option->findAll();
$features_resources = array("code" => "feature", "label" => "Features", "children" => array());
foreach ($options as $option) {
    $features_resources["children"][] = array("code" => "feature_" . $option->getCode(), "label" => $option->getname(), "url" => $option->getDesktopUri() . "*");
}
$resource_data[] = $features_resources;
foreach ($resource_data as $data) {
    $resource = new Acl_Model_Resource();
    $resource->setData($data)->save();
    if (!empty($data["children"])) {
        foreach ($data["children"] as $child_resource) {
            $child = new Acl_Model_Resource();
            $child->setData($child_resource)->setParentId($resource->getId())->save();
            if (!empty($child_resource["children"])) {
                foreach ($child_resource["children"] as $child_child_resource) {
                    $child_child = new Acl_Model_Resource();
                    $child_child->setData($child_child_resource)->setParentId($child->getId())->save();
                }
コード例 #6
0
<?php

$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");
$categories = array(array("code" => "social", "name" => "Social", "icon" => "icon-share", "position" => 10, "features" => array("newswall", "fanwall", "social_gaming", "facebook")), array("code" => "media", "name" => "Media", "icon" => "icon-play", "position" => 20, "features" => array("image_gallery", "video_gallery", "music_gallery", "radio", "rss_feed")), array("code" => "contact", "name" => "Contact", "icon" => "icon-phone", "position" => 30, "features" => array("contact", "push_notification", "inapp_messages", "topic", "booking", "form")), array("code" => "monetization", "name" => "Monetization", "icon" => "icon-money", "position" => 40, "features" => array("m_commerce", "discount", "catalog", "set_meal", "loyalty", "qr_discount")), array("code" => "customization", "name" => "Customization", "icon" => "icon-edit", "position" => 50, "features" => array("custom_page", "source_code")), array("code" => "integration", "name" => "Integration", "icon" => "icon-globe", "position" => 60, "features" => array("weblink_mono", "weblink_multi", "wordpress", "magento", "woocommerce", "volusion", "shopify", "prestashop")), array("code" => "events", "name" => "Events", "icon" => "icon-calendar", "position" => 70, "features" => array("calendar")), array("code" => "misc", "name" => "Misc", "icon" => "icon-code", "position" => 80, "features" => array("folder", "padlock", "places", "code_scan")));
$this->query("ALTER TABLE `application_option` ADD `category_id` INT(11) UNSIGNED NOT NULL AFTER `option_id`;");
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));
    }
}
$option = new Application_Model_Option();
$options = $option->findAll(array("uncategorized" => new Zend_Db_Expr("category_id = 0")));
if ($options->count() > 0) {
    $category = new Application_Model_Option_Category();
    $category->setData(array("code" => "other", "name" => "Other", "icon" => "icon-circle", "position" => 1000))->save();
    $this->_db->update("application_option", array("category_id" => $category->getId()), array("category_id = ?" => "0"));
}
$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");