2023-01-23 11:03:31 +01:00

98 lines
3.1 KiB
PHP

<?php
/* ----------------------------------------------------------------------
MyOOS [Shopsystem]
https://www.oos-shop.de
Copyright (c) 2003 - 2019 by the MyOOS Development Team.
----------------------------------------------------------------------
Based on:
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
----------------------------------------------------------------------
Released under the GNU General Public License
---------------------------------------------------------------------- */
/** ensure this file is being included by a parent file */
defined( 'OOS_VALID_MOD' ) OR die( 'Direct Access to this location is not allowed.' );
$aContentBlock = array();
$blocktable = $oostable['block'];
$block_infotable = $oostable['block_info'];
$block_to_page_typetable = $oostable['block_to_page_type'];
$block_sql = "SELECT b.block_id, b.block_side, b.block_status, b.block_file, b.block_type,
b.block_sort_order, b.block_login_flag, b.block_cache, bi.block_name
FROM $blocktable b,
$block_to_page_typetable b2p,
$block_infotable bi
WHERE b.block_status = '1'
AND b.block_id = b2p.block_id
AND bi.block_id = b2p.block_id
AND bi.block_languages_id = '" . intval($nLanguageID) . "'
AND b2p.page_type_id = '" . intval($nPageType) . "'";
if (isset($_SESSION['customer_id'])) {
$block_sql .= " AND ( b.block_login_flag = '0' OR b.block_login_flag = '1')";
} else {
$block_sql .= " AND b.block_login_flag = '0'";
}
$block_sql .= " ORDER BY b.block_side, b.block_sort_order ASC";
$block_result = $dbconn->GetAll($block_sql);
foreach ($block_result as $block) {
$block_heading = $block['block_name'];
$block_file = trim($block['block_file']);
$block_side = $block['block_side'];
if (empty($block_file)) {
continue;
}
if (!empty($block_side)) {
$block_tpl = $sTheme . '/blocks/' . $block_file . '.html';
}
if ( (!empty($block['block_cache'])) && (!empty($block_side)) ) {
if ( (USE_CACHE == 'true') && (!isset($_SESSION)) ) {
$smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT);
}
$bid = trim('oos_' . $block['block_cache'] . '_cache_id');
if (!$smarty->isCached($block_tpl, ${$bid})) {
include_once MYOOS_INCLUDE_PATH . '/includes/blocks/block_' . $block_file . '.php';
}
$block_content = $smarty->fetch($block_tpl, ${$bid});
} else {
include_once MYOOS_INCLUDE_PATH . '/includes/blocks/block_' . $block_file . '.php';
if (!empty($block_side)) {
$block_content = $smarty->fetch($block_tpl);
}
}
if (!empty($block_content)) {
$aContentBlock[] = array(
'side' => $block_side,
'block_content' => $block_content
);
}
}
$n = count($aContentBlock);
for ($i = 0, $n; $i < $n; $i++) {
switch ($aContentBlock[$i]['side']) {
case 'sidebar':
$smarty->append('sidebar', array('content' => $aContentBlock[$i]['block_content']));
break;
default:
break;
}
}
$smarty->setCaching(false);