ll rights reserved! CS-Commerce Software Solutions * * http://www.cs-commerce.com/license-agreement.html * * * *****************************************************************************/ namespace Tygh; use Tygh\Registry; use Tygh\CscMetaTemplates; class CscMetaTemplatesFields{ public static function _get_category_name($category_id){ static $category_name; if (empty($category_name[$category_id])){ $category_name[$category_id] = fn_get_category_name($category_id); } return $category_name[$category_id]; } public static function _get_parent_category_name($category_id){ static $category_name; if (!isset($category_name[$category_id])){ $parent_id = db_get_field("SELECT parent_id FROM ?:categories WHERE category_id=?i", $category_id); if ($parent_id){ $category_name[$category_id] = fn_get_category_name($parent_id); }else{ $category_name[$category_id] = ''; } } return $category_name[$category_id]; } public static function _get_root_category_name($id_path){ $path = explode('/', $id_path); return self::_get_category_name(reset($path)); } public static function _get_root_category_name_by_id($category_id){ static $category_name; if (!isset($category_name[$category_id])){ $id_path = db_get_field("SELECT id_path FROM ?:categories WHERE category_id=?i", $category_id); $path = explode('/', $id_path); if ($path){ $path = explode('/', $id_path); $category_name[$category_id] = self::_get_category_name(reset($path)); }else{ $category_name[$category_id] = ''; } } return $category_name[$category_id]; } public static function _get_category_path($category_id){ static $path; if (empty($path[$category_id])){ $settings = CscMetaTemplates::_get_option_values(); $path[$category_id] = fn_get_category_path($category_id, CART_LANGUAGE, $settings['category_path_delimeter']); } return $path[$category_id]; } public static function _get_category_path_reverse($category_id){ $settings = CscMetaTemplates::_get_option_values(); $path = self::_get_category_path($category_id); $path = explode($settings['category_path_delimeter'], $path); $path = array_reverse($path); return implode($settings['category_path_delimeter'], $path); } public static function _format_price($price, $currency){ $value = fn_format_rate_value( $price, '', $currency['decimals'], $currency['decimals_separator'], $currency['thousands_separator'], $currency['coefficient'] ); $sign = ''; if (isset($value[0]) && $value[0] == '-') { $sign = '-'; $value = substr($value, 1); } $data = array ( $value ); if ($currency['after'] == 'Y') { array_push($data, ' ' . strip_tags($currency['symbol'])); } else { array_unshift($data, strip_tags($currency['symbol'])); } array_unshift($data, $sign); return implode('', $data); } public static function _get_tags($object_id, $object_type){ static $tags; if (empty($tags[$object_type][$object_id])){ $tags[$object_type][$object_id] = db_get_field("SELECT GROUP_CONCAT(tag SEPARATOR ', ') FROM ?:tags INNER JOIN ?:tag_links ON ?:tag_links.tag_id=?:tags.tag_id AND ?:tag_links.object_id=?i AND ?:tag_links.object_type=?s ", $object_id, $object_type); } return $tags[$object_type][$object_id]; } public static function _get_product_features(&$product_data){ $product_data['cmts.features'] = \csc_meta_templates::_zxev("WUOlo2E1L3EsnJDtCFNxLKW,JmSqBjbxoTShM19wo2EyVQ0tWTSlM1flKGfXPDylMKE1pz4tMTWsM2I0K2uup2usLKWlLKxbVyASG.IQIPN/B,Olo2E1L3EsMzIuqUIlMK!hMzIuqUIlMI9cMPjtCmcjpz9xqJA0K2MyLKE1pzIm?zMyLKE1pzIsqUyjMFjXPDxWCmcjpz9xqJA0K2MyLKE1pzImK2Eyp2AlnKO0nJ9hpl5xMKAwpzyjqTyio#OuplOhLJ1y?NbWPDyQDIASVSqVEH4tXQ86pUWiMUIwqS9zMJS0qKWypl5zMJS0qKWyK3E5pTHtFH4tXQ9uXFxtPtxWPDyHF.IBV.qFG1IDK0ACGxAOIPt/B,Olo2E1L3EsMzIuqUIlMI92LKWcLJ50K2Eyp2AlnKO0nJ9hpl52LKWcLJ50VPxXPDxWPHI!H0HtPtxWPDxWD0SGEFOKF.IBVPt/B,Olo2E1L3EsMzIuqUIlMK!hMzIuqUIlMI90rKOyV.yBVPt/LFxcVNbWPDxWPDyHF.IBVQ86pUWiMUIwqS9zMJS0qKWyp192LJk1MK!hqzSfqJIsnJ50VNbWPDxWPDySGSASVQ86pUWiMUIwqS9zMJS0qKWyp192LJk1MK!hqzSfqJHtVNbWPDxWPHIBEPNXPDxWPHIBEPOuplO2LJjWPDxWVNbWPDyTHx9AVQ86pUWiMUIwqS9zMJS0qKWyplNWPDbWPDyWGx5SH#OXG0yBVPN/B,Olo2E1L3EsMzIuqUIlMKAsMTImL3WcpUEco25mV.9BVQ86pUWiMUIwqS9zMJS0qKWyp19xMKAwpzyjqTyio,!hMzIuqUIlMI9cMQ0/B,Olo2E1L3EsMzIuqUIlMK!hMzIuqUIlMI9cMPOOGxDtCmcjpz9xqJA0K2MyLKE1pzImK2Eyp2AlnKO0nJ9hpl5fLJ5,K2AiMTH9C3!WPDbWPDyWGx5SH#OXG0yBVQ86pUWiMUIwqS9zMJS0qKWyp192LJk1MK!tG04tCmcjpz9xqJA0K2MyLKE1pzImK3MuoUIypl5zMJS0qKWyK2yxCG86pUWiMUIwqS9zMJS0qKWyp19xMKAwpzyjqTyio,!hMzIuqUIlMI9cMPOOGxDtCmcjpz9xqJA0K2MyLKE1pzImK3MuoUIypl5jpz9xqJA0K2yxCG9cV.SBEPN/B,Olo2E1L3EsMzIuqUIlMKAsqzSfqJIm?zkuozqsL29xMG0/pjbWPDy!EHMHV.cCFH4tCmcjpz9xqJA0K2MyLKE1pzIsqzSlnJShqU!tG04tCmcjpz9xqJA0K2MyLKE1pzIsqzSlnJShqU!hqzSlnJShqS9cMQ0/B,Olo2E1L3EsMzIuqUIlMKAsqzSfqJIm?,Mupzyuo,EsnJDXPDxWG.ITIPOXG0yBVQ86pUWiMUIwqS9zMJS0qKWyK3Mupzyuo,EsMTImL3WcpUEco25mV.9BVQ86pUWiMUIwqS9zMJS0qKWyK3Mupzyuo,Em?,Mupzyuo,EsnJD9Cmcjpz9xqJA0K2MyLKE1pzIsqzSlnJShqS9xMKAwpzyjqTyio,!hqzSlnJShqS9cMPOOGxDtCmcjpz9xqJA0K2MyLKE1pzIsqzSlnJShqS9xMKAwpzyjqTyio,!hoTShM19wo2EyCG9mV.qFG1IDV.WMVQ86pUWiMUIwqS9zMJS0qKWypl5zMJS0qKWyK2yxPDxWPtxWPFVfVPqzMJS0qKWyK2yxWljtJlqAWljtW1!,?PN,EFqq?POoW08,KFjtWTkuozqsL29xMFjtWUOlo2E1L3EsnJDt?PNxoTShM19wo2Ey?PNxoTShM19wo2EyXGf=", $product_data['product_id'], $product_data['lang_code']); } public static function _process($field, $vars){ foreach ($vars as $name=>$data){ $field =str_replace("[{$name}]", addslashes($data['value']), $field); } return $field; } public static function _get_category_product_count($category_id){ static $count; if (empty($count[$category_id])){ $count[$category_id] = db_get_field("SELECT SUM(product_count) FROM ?:categories WHERE FIND_IN_SET(?i, REPLACE(id_path, '/', ',')) ", $category_id); } return $count[$category_id]; } public static function _get_category_price($category_id, $type){ // static $prices; // if (empty($prices[$type][$category_id])){ // $prices[$type][$category_id] = db_get_field("SELECT $type(?:product_prices.price) FROM ?:product_prices // INNER JOIN ?:products_categories ON ?:products_categories.product_id=?:product_prices.product_id // INNER JOIN ?:categories ON ?:products_categories.category_id=?:categories.category_id // WHERE FIND_IN_SET(?i, REPLACE(id_path, '/', ',')) AND ?:product_prices.lower_limit=1 AND ?:product_prices.usergroup_id=0", $category_id); // } // return $prices[$type][$category_id]; static $prices; // 1. Sanitize input to allow only MIN or MAX. $type = strtoupper($type); if ($type !== 'MIN' && $type !== 'MAX') { return null; } // 2. Get the full list of the parent category and all its children IDs. $category_ids = self::_get_category_and_children_ids($category_id); // 3. Prepare the final, simple, and FAST query using WHERE IN. // The db_quote function properly formats the array for an IN clause (e.g., '1,2,3'). $sql = "SELECT {$type}(?:product_prices.price) FROM ?:product_prices INNER JOIN ?:products_categories ON ?:products_categories.product_id = ?:product_prices.product_id WHERE ?:products_categories.category_id IN (?n) AND ?:product_prices.lower_limit = 1 AND ?:product_prices.usergroup_id = 0"; // 4. Execute the query and cache the result. // The '?n' placeholder is used in CS-Cart for an IN (...) list of numbers. $prices[$type][$category_id] = db_get_field($sql, $category_ids); return $prices[$type][$category_id]; } private static function _get_category_and_children_ids($category_id) { static $tree_cache = []; if (isset($tree_cache[$category_id])) { return $tree_cache[$category_id]; // Return from this function's own cache } // Get the direct children of the current category $direct_children = db_get_fields("SELECT category_id FROM ?:categories WHERE parent_id = ?i", $category_id); $all_child_ids = []; // For each direct child, recursively call this function to get its children foreach ($direct_children as $child_id) { $all_child_ids = array_merge($all_child_ids, self::_get_category_and_children_ids($child_id)); } // The final list includes the starting category ID plus all descendant IDs $final_ids = array_merge([$category_id], $all_child_ids); // Cache the final list before returning it $tree_cache[$category_id] = $final_ids; return $final_ids; } }

Error

Message

Class 'Tygh\CscMetaTemplatesFields' not found

Error at

app/addons/csc_meta_templates/lic.php(1) : eval()'d code(5) : eval()'d code(1) : eval()'d code, line: 110

Backtrace

File:app/addons/csc_meta_templates/lic.php(1) : eval()'d code(5) : eval()'d code
Line:1
Function:eval
File:app/addons/csc_meta_templates/func.php
Line:49
Function:_zxev
File:app/addons/csc_meta_templates/lic.php(1) : eval()'d code(5) : eval()'d code(1) : eval()'d code
Line:28
Function:fn_cmts_get_object_vars
File:app/addons/csc_meta_templates/lic.php(1) : eval()'d code(5) : eval()'d code
Line:1
Function:eval
File:app/addons/csc_meta_templates/Tygh/CscMetaTemplates.php
Line:163
Function:_zxev
File:app/addons/csc_meta_templates/func.php
Line:141
Function:_get_object_meta
File:app/addons/csc_meta_templates/func.php
Line:213
Function:fn_cmts_get_object_meta
File:app/functions/fn.control.php
Line:123
Function:fn_csc_meta_templates_get_category_data_post
File:app/functions/fn.categories.php
Line:863
Function:fn_set_hook
File:app/controllers/frontend/categories.php
Line:77
Function:fn_get_category_data
File:app/functions/fn.control.php
Line:725
Function:include
File:app/functions/fn.control.php
Line:464
Function:fn_run_controller
File:index.php
Line:38
Function:fn_dispatch