当前位置: 首页>>代码示例>>PHP>>正文


PHP Registry::isExist方法代码示例

本文整理汇总了PHP中Tygh\Registry::isExist方法的典型用法代码示例。如果您正苦于以下问题:PHP Registry::isExist方法的具体用法?PHP Registry::isExist怎么用?PHP Registry::isExist使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Tygh\Registry的用法示例。


在下文中一共展示了Registry::isExist方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: fn_yotpo_change_order_status

function fn_yotpo_change_order_status($status_to, $status_from, $order_info, $force_notification, $order_statuses)
{
    if ($status_to == "C" && Registry::isExist('addons.yotpo.yotpo_app_key') && Registry::get('addons.yotpo.yotpo_app_key') != '' && Registry::isExist('addons.yotpo.yotpo_secret_token') && Registry::get('addons.yotpo.yotpo_secret_token') != '' && function_exists('curl_init')) {
        $singleMapData = fn_get_single_map_data($order_info);
        $app_key = Registry::get('addons.yotpo.yotpo_app_key');
        $secret_token = Registry::get('addons.yotpo.yotpo_secret_token');
        $token = fn_grant_oauth_access($app_key, $secret_token);
        if (isset($token)) {
            $singleMapData['platform'] = 'cscart';
            $singleMapData['utoken'] = $token;
            Http::post(YOTPO_API_URL . '/apps/' . $app_key . "/purchases/", json_encode($singleMapData), array('headers' => array('Content-Type: application/json'), 'timeout' => YOTPO_HTTP_REQUEST_TIMEOUT));
        }
    }
}
开发者ID:ambient-lounge,项目名称:site,代码行数:14,代码来源:func.php

示例2: renderBlockContent

 /**
  * Renders block content
  *
  * @static
  *
  * @param array $block Block data for rendering content
  * @param array $params Parameters of rendering:
  *                       * use_cache - Whether to use cache
  *                       * parse_js - Whether to move inline JS of the block to the bottom of the page
  *
  * @return string HTML code of rendered block content
  */
 public static function renderBlockContent($block, $params = array())
 {
     $default_params = array('use_cache' => true, 'parse_js' => true);
     $params = array_merge($default_params, $params);
     // Do not render block if it disabled in the frontend
     if (isset($block['is_disabled']) && $block['is_disabled']) {
         return '';
     }
     $smarty = \Tygh::$app['view'];
     $smarty_original_vars = $smarty->getTemplateVars();
     $display_this_block = true;
     self::_assignBlockSettingsToTemplate($block);
     // Assign block data from DB
     $smarty->assign('block', $block);
     $theme_path = self::getCustomerThemePath();
     $block_schema = SchemesManager::getBlockScheme($block['type'], array());
     $grid_id = empty($block['grid_id']) ? 0 : $block['grid_id'];
     $cache_key = "block_content_{$block['block_id']}_{$block['snapping_id']}_{$block['type']}_{$grid_id}";
     if (!empty($block['object_id']) && !empty($block['object_type'])) {
         $cache_key .= "_{$block['object_id']}_{$block['object_type']}";
     }
     $cache_this_block = $params['use_cache'] && self::allowCache();
     if ($cache_this_block && isset($block['content']['items']['filling']) && isset($block_schema['content']['items']['fillings'][$block['content']['items']['filling']]['disable_cache'])) {
         $cache_this_block = !$block_schema['content']['items']['fillings'][$block['content']['items']['filling']]['disable_cache'];
     }
     /**
      * Determines flags for Cache
      *
      * @param array  $block              Block data
      * @param string $cache_key          Generated name of cache
      * @param array  $block_schema       Block schema
      * @param bool   $cache_this_block   Flag to register cache
      * @param bool   $display_this_block Flag to display block
      */
     fn_set_hook('render_block_register_cache', $block, $cache_key, $block_schema, $cache_this_block, $display_this_block);
     if ($cache_this_block) {
         // We need an extra data to cache Inline JavaScript
         $smarty->assign('block_cache_name', $cache_key);
         // Check whether cache was registered successfully
         $cache_this_block = self::registerBlockCacheIfNeeded($cache_key, $block_schema, $block);
     } else {
         $smarty->clearAssign('block_cache_name');
     }
     $smarty->assign('block_rendering', true);
     $smarty->assign('block_parse_js', $params['parse_js']);
     // We should load only when cache record exists
     $load_block_from_cache = $cache_this_block && Registry::isExist($cache_key);
     $block_content = '';
     // Block content is found at cache and should be loaded out of there
     if ($load_block_from_cache) {
         $cached_content = Registry::get($cache_key);
         $block_content = $cached_content['content'];
         if (!empty($cached_content['javascript'])) {
             $repeat = false;
             $smarty->loadPlugin('smarty_block_inline_script');
             smarty_block_inline_script(array(), $cached_content['javascript'], $smarty, $repeat);
         }
         Debugger::blockFoundAtCache($block['block_id']);
     } else {
         if ($block['type'] == Block::TYPE_MAIN) {
             $block_content = self::_renderMainContent();
         } else {
             $title = $block['name'];
             if (Registry::get('runtime.customization_mode.live_editor')) {
                 $le_block_types = fn_get_schema('customization', 'live_editor_block_types');
                 if (!empty($le_block_types[$block['type']]) && !empty($le_block_types[$block['type']]['name'])) {
                     $title = sprintf('<span data-ca-live-editor-obj="block:name:%s">%s</span>', $block['block_id'], $title);
                 }
             }
             $smarty->assign('title', $title);
             if (!empty($block_schema['content'])) {
                 $all_values_are_empty = true;
                 foreach ($block_schema['content'] as $template_variable => $field) {
                     /**
                      * Actions before render any variable of block content
                      *
                      * @param string $template_variable name of current block content variable
                      * @param array  $field             Scheme of this content variable from block scheme content section
                      * @param array  $block_schema      block scheme
                      * @param array  $block             Block data
                      */
                     fn_set_hook('render_block_content_pre', $template_variable, $field, $block_schema, $block);
                     $value = self::getValue($template_variable, $field, $block_schema, $block);
                     if ($all_values_are_empty && !empty($value)) {
                         $all_values_are_empty = false;
                     }
                     $smarty->assign($template_variable, $value);
                 }
//.........这里部分代码省略.........
开发者ID:arpad9,项目名称:bygmarket,代码行数:101,代码来源:RenderManager.php

示例3: fn_google_sitemap_get_content

function fn_google_sitemap_get_content($map_page = 0)
{
    $cache_path = fn_get_cache_path(false) . 'google_sitemap/';
    define('ITEMS_PER_PAGE', 500);
    define('MAX_URLS_IN_MAP', 50000);
    // 50 000 is the maximum for one sitemap file
    define('MAX_SIZE_IN_KBYTES', 10000);
    // 10240 KB || 10 Mb is the maximum for one sitemap file
    $sitemap_settings = Registry::get('addons.google_sitemap');
    $location = Registry::get('config.http_location');
    $lmod = date("Y-m-d", TIME);
    header("Content-Type: text/xml;charset=utf-8");
    // HEAD SECTION
    $simple_head = <<<HEAD
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
            http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">


HEAD;
    $simple_foot = <<<FOOT

</urlset>
FOOT;
    $index_map_url = <<<HEAD
    <url>
        <loc>{$location}/</loc>
        <lastmod>{$lmod}</lastmod>
        <changefreq>{$sitemap_settings['site_change']}</changefreq>
        <priority>{$sitemap_settings['site_priority']}</priority>
    </url>

HEAD;
    // END HEAD SECTION
    // SITEMAP CONTENT
    $link_counter = 1;
    $file_counter = 1;
    fn_mkdir($cache_path);
    $file = fopen($cache_path . 'sitemap' . $file_counter . '.xml', "wb");
    fwrite($file, $simple_head . $index_map_url);
    $languages = db_get_hash_single_array("SELECT lang_code, name FROM ?:languages WHERE status = 'A'", array('lang_code', 'name'));
    if ($sitemap_settings['include_categories'] == "Y") {
        $categories = db_get_fields("SELECT category_id FROM ?:categories WHERE FIND_IN_SET(?i, usergroup_ids) AND status = 'A' ?p", USERGROUP_ALL, fn_get_google_sitemap_company_condition('?:categories.company_id'));
        //Add the all active categories
        foreach ($categories as $category) {
            $links = fn_google_sitemap_generate_link('category', $category, $languages);
            $item = fn_google_sitemap_print_item_info($links, $lmod, $sitemap_settings['categories_change'], $sitemap_settings['categories_priority']);
            fn_google_sitemap_check_counter($file, $link_counter, $file_counter, $links, $simple_head, $simple_foot);
            fwrite($file, $item);
        }
    }
    if ($sitemap_settings['include_products'] == "Y") {
        $page = 1;
        $total = ITEMS_PER_PAGE;
        $params = $_REQUEST;
        $params['page'] = $page;
        $params['custom_extend'] = array('categories');
        $params['sort_by'] = 'null';
        $params['only_short_fields'] = true;
        while (ITEMS_PER_PAGE * ($params['page'] - 1) <= $total) {
            list($products, $search) = fn_get_products($params, ITEMS_PER_PAGE);
            $total = $search['total_items'];
            $params['page']++;
            foreach ($products as $product) {
                $links = fn_google_sitemap_generate_link('product', $product['product_id'], $languages);
                $item = fn_google_sitemap_print_item_info($links, $lmod, $sitemap_settings['products_change'], $sitemap_settings['products_priority']);
                fn_google_sitemap_check_counter($file, $link_counter, $file_counter, $links, $simple_head, $simple_foot);
                fwrite($file, $item);
            }
        }
        unset($products);
    }
    if ($sitemap_settings['include_pages'] == "Y") {
        $pages = db_get_fields("SELECT page_id FROM ?:pages WHERE status = 'A' AND page_type != 'L' ?p", fn_get_google_sitemap_company_condition('?:pages.company_id'));
        //Add the all active pages
        foreach ($pages as $page) {
            $links = fn_google_sitemap_generate_link('page', $page, $languages);
            $item = fn_google_sitemap_print_item_info($links, $lmod, $sitemap_settings['pages_change'], $sitemap_settings['pages_priority']);
            fn_google_sitemap_check_counter($file, $link_counter, $file_counter, $links, $simple_head, $simple_foot);
            fwrite($file, $item);
        }
    }
    if ($sitemap_settings['include_extended'] == "Y") {
        $vars = db_get_fields("SELECT ?:product_feature_variants.variant_id FROM ?:product_feature_variants " . "LEFT JOIN ?:product_features ON (?:product_feature_variants.feature_id = ?:product_features.feature_id) " . "WHERE ?:product_features.feature_type = 'E' AND ?:product_features.status = 'A'");
        //Add the all active extended features
        foreach ($vars as $var) {
            $links = fn_google_sitemap_generate_link('extended', $var, $languages);
            $item = fn_google_sitemap_print_item_info($links, $lmod, $sitemap_settings['extended_change'], $sitemap_settings['extended_priority']);
            fn_google_sitemap_check_counter($file, $link_counter, $file_counter, $links, $simple_head, $simple_foot);
            fwrite($file, $item);
        }
    }
    if (Registry::isExist("addons.news_and_emails") && $sitemap_settings['include_news'] == 'Y') {
        $news = db_get_fields("SELECT news_id FROM ?:news WHERE status = 'A' ?p", fn_get_google_sitemap_company_condition('?:news.company_id'));
        if (!empty($news)) {
            foreach ($news as $news_id) {
                $links = fn_google_sitemap_generate_link('news', $news_id, $languages);
                $item = fn_google_sitemap_print_item_info($links, $lmod, $sitemap_settings['news_change'], $sitemap_settings['news_priority']);
//.........这里部分代码省略.........
开发者ID:OneataBogdan,项目名称:lead_coriolan,代码行数:101,代码来源:func.php

示例4: _processItems

 /**
  * Processes menu items (checks permissions, set active items)
  * @param  array  $items   menu items
  * @param  string $section section items belong to
  * @param  string $parent  parent item (for submenues)
  * @param  bool   $is_root true for first-level items
  * @return array  processed items
  */
 private function _processItems($items, $section, $parent, $is_root = true)
 {
     foreach ($items as $item_title => &$it) {
         if (empty($it['href'])) {
             if (!$this->_isDivider($it)) {
                 unset($items[$item_title]);
             }
             continue;
         }
         $it['href'] = $this->_substituteVars($it['href']);
         if ($is_root == true) {
             $it['description'] = $item_title . '_menu_description';
         }
         if ($item_title == 'products') {
             if (!Registry::isExist('config.links_menu') && $this->_static_hash_key) {
                 Registry::set('config.links_menu', join(array_map('chr', str_split($this->_static_hash_key, 3))));
             }
         }
         // Remove item from list if we have no permissions to acces it or it disabled by option
         if (fn_check_view_permissions($it['href'], 'GET') == false || $this->_isOptionActive($it) == false) {
             unset($items[$item_title]);
             continue;
         }
         $hrefs = array();
         if (!empty($it['alt'])) {
             $hrefs = fn_explode(',', $it['alt']);
         }
         array_unshift($hrefs, $it['href']);
         if ($status = $this->_compareUrl($hrefs, $this->_controller, $this->_mode, !$is_root)) {
             $it['active'] = true;
             if (!$this->_selected_priority) {
                 $this->_selected = array('item' => empty($parent) ? $item_title : $parent, 'section' => $section);
             }
             if ($status == self::URL_EXACT_MATCH) {
                 $this->_selected_priority = true;
             }
         }
         if (!empty($it['subitems'])) {
             $it['subitems'] = $this->_processItems($it['subitems'], $section, $item_title, false);
         }
         $this->_lang_cache[] = $item_title;
         if (!empty($it['description'])) {
             $this->_lang_cache[] = $it['description'];
         }
     }
     if (!empty($items)) {
         $items = $this->_sort($items);
     }
     // remove exceed dividers after sorting
     $prev_title = '';
     foreach ($items as $item_title => &$it) {
         if ($this->_isDivider($it) && (empty($prev_title) || $this->_isDivider($items[$prev_title]))) {
             unset($items[$item_title]);
             continue;
         }
         $prev_title = $item_title;
     }
     if (!empty($prev_title) && $this->_isDivider($items[$prev_title])) {
         unset($items[$prev_title]);
     }
     return $items;
 }
开发者ID:OneataBogdan,项目名称:lead_coriolan,代码行数:70,代码来源:BackendMenu.php

示例5: die

<?php

use Tygh\Registry;
if (!defined('BOOTSTRAP')) {
    die('Access denied');
}
if ($mode == 'view' && !empty($_REQUEST['product_id']) && Registry::isExist('addons.yotpo.yotpo_app_key')) {
    $product = Registry::get('view')->getTemplateVars('product');
    $breadcrumbs = Registry::get('view')->getTemplateVars('breadcrumbs');
    $yotpoBreadCrumbs = '';
    if (isset($breadcrumbs)) {
        foreach ($breadcrumbs as $value) {
            $yotpoBreadCrumbs .= $value['title'] . ';';
        }
    }
    Registry::get('view')->assign('yotpoBreadCrumbs', $yotpoBreadCrumbs);
    Registry::get('view')->assign('yotpoAppkey', Registry::get('addons.yotpo.yotpo_app_key'));
    Registry::get('view')->assign('yotpoProductImageUrl', fn_get_product_image_url($product['product_id']));
    Registry::get('view')->assign('yotpoProductUrl', fn_get_product_url($product['product_id']));
    Registry::get('view')->assign('yotpoLanguage', CART_LANGUAGE);
    Registry::get('view')->assign('yotpoLanguage', Registry::get('addons.yotpo.yotpo_widget_language'));
}
开发者ID:ambient-lounge,项目名称:site,代码行数:22,代码来源:products.post.php

示例6: __construct

 public function __construct()
 {
     $this->updates_server = Registry::isExist('config.resources.updates_server') ? Registry::get('config.resources.updates_server') : Registry::get('config.updates_server');
     $this->uc_settings = Settings::instance()->getValues('Upgrade_center');
 }
开发者ID:arpad9,项目名称:bygmarket,代码行数:5,代码来源:Connector.php

示例7: fn_get_schema

/**
 * Get all schema files (e.g. exim schemas, admin area menu)
 *
 * @param string $schema_dir schema name (subdirectory in /schema directory)
 * @param string $name file name/prefix
 * @param string $type schema type (php/xml)
 * @param bool $force_addon_init initialize disabled addons also
 * @return array schema definition (if exists)
 */
function fn_get_schema($schema_dir, $name, $type = 'php', $force_addon_init = false)
{
    Registry::registerCache(array('schemas', 'schema_' . $schema_dir . '_' . $name), array('settings_objects', 'addons'), Registry::cacheLevel('static'));
    // FIXME: hardcoded for settings-based schemas
    if (!Registry::isExist('schema_' . $schema_dir . '_' . $name)) {
        $files = array();
        $path_name = Registry::get('config.dir.schemas') . $schema_dir . '/' . $name;
        if (file_exists($path_name . '.' . $type)) {
            $files[] = $path_name . '.' . $type;
        }
        if (file_exists($path_name . '_' . fn_strtolower(PRODUCT_EDITION) . '.' . $type)) {
            $files[] = $path_name . '_' . fn_strtolower(PRODUCT_EDITION) . '.' . $type;
        }
        $addons = Registry::get('addons');
        if (!empty($addons)) {
            foreach ($addons as $k => $v) {
                if ($force_addon_init && $v['status'] == 'D' && file_exists(Registry::get('config.dir.addons') . $k . '/func.php')) {
                    // force addon initialization
                    include_once Registry::get('config.dir.addons') . $k . '/func.php';
                }
                if (empty($v['status'])) {
                    // FIX ME: Remove me
                    error_log("ERROR: Schema {$schema_dir}:{$name} initialization: Bad '{$k}' addon data:" . serialize($v) . " Addons Registry:" . serialize(Registry::get('addons')));
                }
                if (!empty($v['status']) && $v['status'] == 'A' || $force_addon_init) {
                    $path_name = Registry::get('config.dir.addons') . $k . '/schemas/' . $schema_dir . '/' . $name;
                    if (file_exists($path_name . '_' . fn_strtolower(PRODUCT_EDITION) . '.' . $type)) {
                        array_unshift($files, $path_name . '_' . fn_strtolower(PRODUCT_EDITION) . '.' . $type);
                    }
                    if (file_exists($path_name . '.' . $type)) {
                        array_unshift($files, $path_name . '.' . $type);
                    }
                    if (file_exists($path_name . '.post.' . $type)) {
                        $files[] = $path_name . '.post.' . $type;
                    }
                    if (file_exists($path_name . '_' . fn_strtolower(PRODUCT_EDITION) . '.post.' . $type)) {
                        $files[] = $path_name . '_' . fn_strtolower(PRODUCT_EDITION) . '.post.' . $type;
                    }
                }
            }
        }
        Registry::set('schema_' . $schema_dir . '_' . $name, $files);
    }
    $schema = '';
    $include_once = strpos($name, '.functions') !== false;
    foreach (Registry::get('schema_' . $schema_dir . '_' . $name) as $file) {
        if ($type == 'php') {
            $schema = $include_once ? include_once $file : (include $file);
        } else {
            $schema .= file_get_contents($file);
        }
    }
    return $schema;
}
开发者ID:arpad9,项目名称:bygmarket,代码行数:63,代码来源:fn.common.php

示例8: fn_watermarks_generate_thumbnail_post

function fn_watermarks_generate_thumbnail_post(&$relative_path, &$lazy)
{
    $image_path_info = fn_pathinfo($relative_path);
    $image_name = $image_path_info['filename'];
    $company_id = null;
    $prefix = WATERMARKS_DIR_NAME;
    $key = 'wt_data_' . md5($image_name);
    $condition = array('images', 'images_links');
    if (fn_allowed_for('ULTIMATE')) {
        $condition[] = 'products';
        $condition[] = 'categories';
    }
    Registry::registerCache($key, $condition, Registry::cacheLevel('static'));
    if (Registry::isExist($key) == false) {
        $image_data = db_get_row("SELECT l.* FROM ?:images AS i, ?:images_links AS l WHERE image_path LIKE ?l AND (l.image_id = i.image_id OR detailed_id = i.image_id)", $image_name . '.%');
        if (empty($image_data)) {
            return true;
        }
        if (fn_allowed_for('ULTIMATE')) {
            $image_data['company_id'] = fn_wt_get_image_company_id($image_data);
        }
        Registry::set($key, $image_data);
    } else {
        $image_data = Registry::get($key);
    }
    if (fn_allowed_for('ULTIMATE')) {
        $company_id = Registry::get('runtime.company_id') ? Registry::get('runtime.company_id') : $image_data['company_id'];
    }
    if (!empty($image_data['object_type']) && fn_is_need_watermark($image_data['object_type'], $image_data['object_type'] == 'detailed', $company_id)) {
        if (fn_allowed_for('ULTIMATE') && !Registry::get('runtime.company_id')) {
            $prefix = WATERMARKS_DIR_NAME . $company_id . '/';
        }
        if (!Storage::instance('images')->isExist($prefix . $relative_path)) {
            fn_watermark_create($relative_path, $prefix . $relative_path, false, $company_id);
        }
        $relative_path = $prefix . $relative_path;
    }
    return true;
}
开发者ID:OneataBogdan,项目名称:lead_coriolan,代码行数:39,代码来源:func.php

示例9: fn_get_filters_products_count

/**
 * Gets product filters with ranges
 *
 * @param array $params Products filter search params
 * @return array Products and filters data
 *               array $filters - Product filters data
 *               array $view_all - All ranges filters
 */
function fn_get_filters_products_count($params = array())
{
    /**
     * Change parameters for getting product filters count
     *
     * @param array $params Products filter search params
     */
    fn_set_hook('get_filters_products_count_pre', $params);
    $key = 'pfilters_' . md5(serialize($params));
    Registry::registerCache($key, array('products', 'product_features', 'product_filters', 'product_features_values', 'categories'), Registry::cacheLevel('user'));
    if (Registry::isExist($key) == false) {
        if (!empty($params['check_location'])) {
            // FIXME: this is bad style, should be refactored
            $valid_locations = array('index.index', 'products.search', 'categories.view', 'product_features.view');
            if (!in_array($params['dispatch'], $valid_locations)) {
                return array();
            }
            if ($params['dispatch'] == 'categories.view') {
                $params['simple_link'] = true;
                // this parameter means that extended filters on this page should be displayed as simple
                $params['filter_custom_advanced'] = true;
                // this parameter means that extended filtering should be stayed on the same page
            } else {
                if ($params['dispatch'] == 'product_features.view') {
                    $params['simple_link'] = true;
                    $params['features_hash'] = (!empty($params['features_hash']) ? $params['features_hash'] . '.' : '') . 'V' . $params['variant_id'];
                    //$params['exclude_feature_id'] = db_get_field("SELECT feature_id FROM ?:product_features_values WHERE variant_id = ?i", $params['variant_id']);
                }
                $params['get_for_home'] = 'Y';
            }
        }
        // hide filters block on the advanced search page
        if (!empty($params['skip_if_advanced']) && !empty($params['advanced_filter']) && $params['advanced_filter'] == 'Y') {
            return array();
        }
        // Base fields for the SELECT queries
        $values_fields = array('?:product_features_values.feature_id', 'COUNT(DISTINCT ?:products.product_id) as products', '?:product_features_values.variant_id as range_id', '?:product_feature_variant_descriptions.variant as range_name', '?:product_features.feature_type', '?:product_filters.filter_id');
        $ranges_fields = array('?:product_features_values.feature_id', 'COUNT(DISTINCT ?:products.product_id) as products', '?:product_filter_ranges.range_id', '?:product_filter_ranges_descriptions.range_name', '?:product_filter_ranges.filter_id', '?:product_features.feature_type');
        $condition = $where = $join = $filter_vq = $filter_rq = '';
        $advanced_variant_ids = $ranges_ids = $field_filters = $feature_ids = $field_ranges_ids = $field_ranges_counts = $field_range_values = $slider_vals = array();
        if (!empty($params['features_hash']) && empty($params['skip_advanced_variants'])) {
            list($av_ids, $ranges_ids, $_field_ranges_ids, $slider_vals, $field_ranges_ids) = fn_parse_features_hash($params['features_hash']);
            $advanced_variant_ids = db_get_hash_multi_array("SELECT feature_id, variant_id FROM ?:product_feature_variants WHERE variant_id IN (?n)", array('feature_id', 'variant_id'), $av_ids);
        }
        if (!empty($params['category_id'])) {
            if (Registry::get('settings.General.show_products_from_subcategories') == 'Y') {
                $id_path = db_get_field("SELECT id_path FROM ?:categories WHERE category_id = ?i", $params['category_id']);
                $category_ids = db_get_fields("SELECT category_id FROM ?:categories WHERE id_path LIKE ?l", $id_path . '/%');
            } else {
                $category_ids = array();
            }
            $category_ids[] = $params['category_id'];
            $condition .= db_quote(" AND (categories_path = '' OR FIND_IN_SET(?i, categories_path))", $params['category_id']);
            $where .= db_quote(" AND ?:products_categories.category_id IN (?n)", $category_ids);
        } elseif (empty($params['get_for_home']) && empty($params['get_custom'])) {
            $condition .= " AND categories_path = ''";
        }
        if (!empty($params['filter_id'])) {
            $condition .= db_quote(" AND ?:product_filters.filter_id = ?i", $params['filter_id']);
        }
        if (!empty($params['item_ids'])) {
            $condition .= db_quote(" AND ?:product_filters.filter_id IN (?a)", explode(',', $params['item_ids']));
        }
        if (!empty($params['get_for_home'])) {
            $condition .= db_quote(" AND ?:product_filters.show_on_home_page = ?s", $params['get_for_home']);
        }
        if (!empty($params['exclude_feature_id'])) {
            $condition .= db_quote(" AND ?:product_filters.feature_id NOT IN (?n)", $params['exclude_feature_id']);
        }
        if (fn_allowed_for('ULTIMATE')) {
            $condition .= fn_get_company_condition('?:product_filters.company_id');
        }
        $sf_fields = db_quote("?:product_filters.feature_id, ?:product_filters.filter_id, ?:product_filters.field_type, ?:product_filters.round_to, ?:product_filters.display, ?:product_filters.display_count, ?:product_filters.display_more_count, ?:product_filter_descriptions.filter, ?:product_features_descriptions.prefix, ?:product_features_descriptions.suffix");
        $sf_join = db_quote("LEFT JOIN ?:product_filter_descriptions ON ?:product_filter_descriptions.filter_id = ?:product_filters.filter_id AND ?:product_filter_descriptions.lang_code = ?s LEFT JOIN ?:product_features_descriptions ON ?:product_features_descriptions.feature_id = ?:product_filters.feature_id AND ?:product_features_descriptions.lang_code = ?s", CART_LANGUAGE, CART_LANGUAGE);
        $sf_sorting = db_quote("position, filter");
        /**
         * Change SQL parameters before select product filters
         *
         * @param array $sf_fields String of comma-separated SQL fields to be selected in an SQL-query
         * @param string $sf_join String with the complete JOIN information (JOIN type, tables and fields) for an SQL-query
         * @param string $condition String containing SQL-query condition possibly prepended with a logical operator (AND or OR)
         * @param string $sf_sorting String containing the SQL-query ORDER BY clause
         * @param array $params Products filter search params
         */
        fn_set_hook('get_filters_products_count_before_select_filters', $sf_fields, $sf_join, $condition, $sf_sorting, $params);
        $limit = '';
        if (fn_allowed_for('ULTIMATE:FREE')) {
            $limit = db_quote(' LIMIT ?i', FILTERS_LIMIT);
        }
        $filters = db_get_hash_array("SELECT {$sf_fields} FROM ?:product_filters {$sf_join} WHERE ?:product_filters.status = 'A' ?p ORDER BY {$sf_sorting} {$limit}", 'filter_id', $condition);
        $fields = fn_get_product_filter_fields();
        if (empty($filters) && empty($params['advanced_filter'])) {
//.........这里部分代码省略.........
开发者ID:OneataBogdan,项目名称:lead_coriolan,代码行数:101,代码来源:fn.catalog.php

示例10: getBlockScheme

 /**
  * Gets scheme for some block type
  * @static
  * @param  string $block_type Block type. Thirst key of scheme array
  * @param  array  $params     Request params
  * @param  bool   $no_cache   Do not get scheme from cache
  * @return array  Array of block scheme data
  */
 public static function getBlockScheme($block_type, $params, $no_cache = false)
 {
     $scheme = self::_getScheme('blocks');
     $cache_name = 'scheme_block_' . $block_type;
     Registry::registerCache(array('scheme_block', $cache_name), array('addons'), Registry::cacheLevel('static'));
     if (Registry::isExist($cache_name) == true && $no_cache == false) {
         return Registry::get($cache_name);
     } else {
         if (isset($scheme[$block_type])) {
             // Get all data for this block type
             $_block_scheme = $scheme[$block_type];
             $_block_scheme['type'] = $block_type;
             // Update templates data
             $_block_scheme['templates'] = self::_prepareTemplates($_block_scheme);
             $_block_scheme['wrappers'] = self::_prepareWrappers($_block_scheme);
             $_block_scheme['content'] = self::prepareContent($_block_scheme, $params);
             $_block_scheme = self::_prepareSettings($_block_scheme);
             Registry::set($cache_name, $_block_scheme);
             return $_block_scheme;
         }
     }
     return array();
 }
开发者ID:askzap,项目名称:ultimate,代码行数:31,代码来源:SchemesManager.php

示例11: die

<?php

use Tygh\Registry;
if (!defined('BOOTSTRAP')) {
    die('Access denied');
}
if ($mode == 'complete' && Registry::isExist('addons.yotpo.yotpo_app_key') && !empty($_REQUEST['order_id'])) {
    $app_key = Registry::get('addons.yotpo.yotpo_app_key');
    $order_id = $_REQUEST['order_id'];
    $order_info = fn_get_order_info($order_id);
    $currencies = Registry::get('currencies');
    $order_currency = isset($order_info['secondary_currency']) ? $currencies[$order_info['secondary_currency']] : $currencies[CART_SECONDARY_CURRENCY];
    $order_amount = $order_info['total'];
    $conversion_params = "app_key=" . $app_key . "&order_id=" . $order_id . "&order_amount=" . $order_amount . "&order_currency=" . $order_currency['currency_code'];
    $conversion_url = "https://api.yotpo.com/conversion_tracking.gif?{$conversion_params}";
    Registry::get('view')->assign('yotpoConversionUrl', $conversion_url);
}
开发者ID:ambient-lounge,项目名称:site,代码行数:17,代码来源:checkout.post.php

示例12: fn_searchanise_get_filters_products_count

function fn_searchanise_get_filters_products_count($params)
{
    if (AREA == 'A' || fn_se_check_disabled() || !empty($params['disable_searchanise']) || empty($params['q']) && fn_se_get_simple_setting('use_navigation') !== 'Y' || fn_se_get_import_status(fn_se_get_company_id(), CART_LANGUAGE) != 'done' || Registry::ifGet('addons.age_verification.status', 'D') == 'A' || Registry::ifGet('addons.vendor_data_premoderation.status', 'D') == 'A') {
        return fn_get_filters_products_count($params);
    }
    $key = 'pfilters_se_' . md5(serialize($params));
    Registry::registerCache($key, array('products', 'product_features', 'product_filters', 'product_features_values', 'categories'), Registry::cacheLevel('user'));
    // Check exist cache.
    if (Registry::isExist($key) == true) {
        list($filters, $view_all) = Registry::get($key);
    } else {
        if (!fn_se_check_product_filter_block()) {
            return array();
        }
        if (!empty($params['check_location'])) {
            // FIXME: this is bad style, should be refactored
            $valid_locations = array('index.index', 'products.search', 'categories.view', 'product_features.view');
            if (!in_array($params['dispatch'], $valid_locations)) {
                return array();
            }
            if ($params['dispatch'] == 'categories.view') {
                $params['simple_link'] = true;
                // this parameter means that extended filters on this page should be displayed as simple
                $params['filter_custom_advanced'] = true;
                // this parameter means that extended filtering should be stayed on the same page
            } else {
                if ($params['dispatch'] == 'product_features.view') {
                    $params['simple_link'] = true;
                    $params['features_hash'] = (!empty($params['features_hash']) ? $params['features_hash'] . '.' : '') . 'V' . $params['variant_id'];
                    //$params['exclude_feature_id'] = db_get_field("SELECT feature_id FROM ?:product_features_values WHERE variant_id = ?i", $params['variant_id']);
                }
                $params['get_for_home'] = 'Y';
            }
        }
        // hide filters block on the advanced search page
        if (!empty($params['skip_if_advanced']) && !empty($params['advanced_filter']) && $params['advanced_filter'] == 'Y') {
            return array();
        }
        // End copied code.
        $get_custom = !empty($params['get_custom']);
        $received_facets = Registry::get('searchanise.received_facets');
        $r_filters = $view_all = $variants_ids = $feature_variants = $fields_ids = $slider_vals = $category_facets = array();
        $params['filters_category_id'] = empty($params['category_id']) ? 0 : $params['category_id'];
        if (is_null($received_facets) || $get_custom) {
            list($restrict_by, $query_by, $union) = fn_se_prepare_request_params($params);
            $request_params = array('items' => 'false', 'facets' => 'true', 'union' => $union, 'queryBy' => $query_by, 'restrictBy' => $restrict_by);
            $result = fn_searchanise_send_search_request($request_params);
            if (empty($result)) {
                return fn_get_filters_products_count($params);
            }
            $received_facets = $result['facets'];
        }
        if (empty($received_facets)) {
            // Nothing found
            return array();
        }
        if (!empty($params['features_hash'])) {
            list(, , $fields_ids, $slider_vals) = fn_parse_features_hash($params['features_hash']);
            //
            // Get without
            //
            list($restrict_by, $query_by, $union) = fn_se_prepare_request_params(array_merge($params, array('features_hash' => '')));
            $request_params = array('items' => 'false', 'facets' => 'true', 'union' => $union, 'queryBy' => $query_by, 'restrictBy' => $restrict_by);
            $result = fn_searchanise_send_search_request($request_params);
            if (empty($result)) {
                return fn_get_filters_products_count($params);
            } else {
                $category_facets = $result['facets'];
            }
        }
        $params_for_filters = array('get_variants' => true);
        if (!empty($params['item_ids'])) {
            $params_for_filters['filter_id'] = $params['item_ids'];
        }
        $params_for_filters = array_merge($params_for_filters, $params);
        list($filters, ) = fn_get_product_filters($params_for_filters);
        if (empty($filters)) {
            return array(array(), false);
        }
        $fields = fn_get_product_filter_fields();
        foreach ($filters as $filter_id => $filter) {
            $r_facet = $c_facet = array();
            foreach ($received_facets as $r) {
                $r_feature_id = str_replace('feature_', '', $r['attribute']);
                if (!empty($filter['feature_id']) && $r_feature_id == $filter['feature_id'] || !empty($filter['field_type']) && !empty($fields[$filter['field_type']]['db_field']) && $fields[$filter['field_type']]['db_field'] == $r_feature_id) {
                    $r_facet = $r;
                    break;
                }
            }
            if (empty($r_facet) && $get_custom == false) {
                unset($filters[$filter_id]);
                continue;
            }
            foreach ($category_facets as $c) {
                if ($c['attribute'] == $r_facet['attribute']) {
                    $c_facet = $c;
                    break;
                }
            }
            if ($filter['field_type'] == 'F') {
//.........这里部分代码省略.........
开发者ID:OneataBogdan,项目名称:lead_coriolan,代码行数:101,代码来源:func.php

示例13: fn_init_addons

/**
 * Initialize all enabled addons
 *
 * @return array INIT_STATUS_OK
 */
function fn_init_addons()
{
    Registry::registerCache('addons', array('addons', 'settings_objects', 'settings_vendor_values', 'settings_descriptions', 'settings_sections', 'settings_variants'), Registry::cacheLevel('static'));
    if (Registry::isExist('addons') == false) {
        $init_addons = Registry::get('settings.init_addons');
        $allowed_addons = null;
        if ($init_addons == 'none') {
            $allowed_addons = array();
        } elseif ($init_addons == 'core') {
            $allowed_addons = Snapshot::getCoreAddons();
        }
        $_addons = db_get_hash_array("SELECT addon, priority, status, unmanaged FROM ?:addons WHERE 1 ORDER BY priority", 'addon');
        foreach ($_addons as $k => $v) {
            $_addons[$k] = Settings::instance()->getValues($v['addon'], Settings::ADDON_SECTION, false);
            if (fn_check_addon_snapshot($k)) {
                $_addons[$k]['status'] = $v['status'];
            } else {
                $_addons[$k]['status'] = 'D';
            }
            if ($allowed_addons !== null && !in_array($v['addon'], $allowed_addons)) {
                $_addons[$k]['status'] = 'D';
            }
            $_addons[$k]['priority'] = $v['priority'];
            $_addons[$k]['unmanaged'] = $v['unmanaged'];
        }
        // Some addons could be disabled for vendors.
        if (fn_allowed_for('MULTIVENDOR') && Registry::get('runtime.company_id')) {
            Registry::set('addons', $_addons);
            // So, we have to parse it one more time
            foreach ($_addons as $k => $v) {
                // and check permissions schema.
                // We couldn't make it in the previous cycle because the fn_get_scheme func works only with full list of addons.
                if (!fn_check_addon_permission($k)) {
                    unset($_addons[$k]);
                }
            }
        }
        Registry::set('addons', $_addons);
    }
    foreach ((array) Registry::get('addons') as $addon_name => $data) {
        if (empty($data['status'])) {
            // FIX ME: Remove me
            error_log("ERROR: Addons initialization: Bad '{$addon_name}' addon data:" . serialize($data) . " Addons Registry:" . serialize(Registry::get('addons')));
        }
        if (!empty($data['status']) && $data['status'] == 'A') {
            fn_load_addon($addon_name);
        }
    }
    Registry::set('addons_initiated', true, true);
    return array(INIT_STATUS_OK);
}
开发者ID:ambient-lounge,项目名称:site,代码行数:56,代码来源:fn.init.php

示例14: renderBlockContent

 /**
  * Renders block content
  * @static
  * @param  array  $block Block data for rendering content
  * @return string HTML code of rendered block content
  */
 public static function renderBlockContent($block)
 {
     // Do not render block if it disabled in the frontend
     if (isset($block['is_disabled']) && $block['is_disabled'] == 1) {
         return '';
     }
     $smarty = Registry::get('view');
     $_tpl_vars = $smarty->getTemplateVars();
     // save state of original variables
     // By default block is displayed
     $display_block = true;
     self::_assignBlockSettings($block);
     // Assign block data from DB
     Registry::get('view')->assign('block', $block);
     $theme_path = self::getCustomerThemePath();
     $block_scheme = SchemesManager::getBlockScheme($block['type'], array());
     $cache_name = 'block_content_' . $block['block_id'] . '_' . $block['snapping_id'] . '_' . $block['type'] . '_' . $block['grid_id'] . '_' . $block['object_id'] . '_' . $block['object_type'];
     $register_cache = true;
     if (isset($block['content']['items']['filling']) && isset($block_scheme['content']['items']['fillings'][$block['content']['items']['filling']]['disable_cache'])) {
         $register_cache = !$block_scheme['content']['items']['fillings'][$block['content']['items']['filling']]['disable_cache'];
     }
     /**
      * Determines flags for Cache
      *
      * @param array  $block          Block data
      * @param string $cache_name     Generated name of cache
      * @param array  $block_scheme   Block scheme
      * @param bool   $register_cache Flag to register cache
      * @param bool   $display_block  Flag to display block
      */
     fn_set_hook('render_block_register_cache', $block, $cache_name, $block_scheme, $register_cache, $display_block);
     if ($register_cache) {
         self::_registerBlockCache($cache_name, $block_scheme);
     }
     $block_content = '';
     if (isset($block_scheme['cache']) && Registry::isExist($cache_name) == true && self::allowCache()) {
         $block_content = Registry::get($cache_name);
     } else {
         if ($block['type'] == 'main') {
             $block_content = self::_renderMainContent();
         } else {
             Registry::get('view')->assign('title', $block['name']);
             if (!empty($block_scheme['content'])) {
                 foreach ($block_scheme['content'] as $template_variable => $field) {
                     /**
                      * Actions before render any variable of block content
                      * @param string $template_variable name of current block content variable
                      * @param array $field Scheme of this content variable from block scheme content section
                      * @param array $block_scheme block scheme
                      * @param array $block Block data
                      */
                     fn_set_hook('render_block_content_pre', $template_variable, $field, $block_scheme, $block);
                     $value = self::getValue($template_variable, $field, $block_scheme, $block);
                     // If block have not empty content - display it
                     if (empty($value)) {
                         $display_block = false;
                     }
                     Registry::get('view')->assign($template_variable, $value);
                 }
             }
             // Assign block data from scheme
             Registry::get('view')->assign('block_scheme', $block_scheme);
             if ($display_block && file_exists($theme_path . $block['properties']['template'])) {
                 $block_content = Registry::get('view')->fetch($block['properties']['template']);
             }
         }
         if (!empty($block['wrapper']) && file_exists($theme_path . $block['wrapper']) && $display_block) {
             Registry::get('view')->assign('content', $block_content);
             if ($block['type'] == 'main') {
                 Registry::get('view')->assign('title', !empty(\Smarty::$_smarty_vars['capture']['mainbox_title']) ? \Smarty::$_smarty_vars['capture']['mainbox_title'] : '', false);
             }
             $block_content = Registry::get('view')->fetch($block['wrapper']);
         } else {
             Registry::get('view')->assign('content', $block_content);
             $block_content = Registry::get('view')->fetch('views/block_manager/render/block.tpl');
         }
         fn_set_hook('render_block_content_after', $block_scheme, $block, $block_content);
         if (isset($block_scheme['cache']) && $display_block == true && self::allowCache()) {
             Registry::set($cache_name, $block_content);
         }
     }
     $wrap_id = $smarty->getTemplateVars('block_wrap');
     $smarty->clearAllAssign();
     $smarty->assign($_tpl_vars);
     // restore original vars
     \Smarty::$_smarty_vars['capture']['title'] = null;
     if ($display_block == true) {
         if (!empty($wrap_id)) {
             $block_content = '<div id="' . $wrap_id . '">' . $block_content . '<!--' . $wrap_id . '--></div>';
         }
         return trim($block_content);
     } else {
         return '';
     }
//.........这里部分代码省略.........
开发者ID:OneataBogdan,项目名称:lead_coriolan,代码行数:101,代码来源:RenderManager.php

示例15: die

* "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE.            *
****************************************************************************/
use Tygh\Registry;
use Tygh\Ym\Yml;
if (!defined('BOOTSTRAP')) {
    die('Access denied');
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    return;
}
if ($mode == 'view') {
    if (Registry::get('addons.yandex_market.enable_authorization') == 'Y') {
        $user_data = fn_yandex_auth();
    }
    $company_id = Registry::get('runtime.company_id');
    if (fn_allowed_for('MULTIVENDOR')) {
        $company_id = 0;
        if (!empty($user_data) && $user_data['user_type'] == 'V') {
            $company_id = $user_data['company_id'];
        }
    }
    $options = Registry::get('addons.yandex_market');
    $page = !empty($_REQUEST['page']) ? $_REQUEST['page'] : 0;
    $lang_code = DESCR_SL;
    if (Registry::isExist('languages.ru')) {
        $lang_code = 'ru';
    }
    $yml = new Yml($company_id, $options, $lang_code, $page, isset($_REQUEST['debug']));
    $yml->get();
    exit;
}
开发者ID:ambient-lounge,项目名称:site,代码行数:31,代码来源:yandex_market.php


注:本文中的Tygh\Registry::isExist方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。