//Zion WebEngine Content Plugin 6.9.30
//Отображение контента
//если есть закешированные данные о контенте, то не считываем данные из базы
if (isset($GLOBALS['contentcash'][$params['id']]))
//берём из кеша
$content = $GLOBALS['contentcash'][$params['id']];
else
//считываем данные из базы
$content = db::ReadRecord(content::$tablename,$params['id']);
//если удалось получить данные
if ($content)
{
//обновляем кеш контента
$GLOBALS['contentcash'][$params['id']] = $content;
//если есть закешированные данные о шаблоне, то не считываем данные из базы
if (isset($GLOBALS['templatecash'][$content['template']]))
//берём из кеша
$template = $GLOBALS['templatecash'][$content['template']];
else
//считываем данные из базы
$template = db::ReadRecord(template::$tablename,$content['template']);
if ($template)
//обновляем кеш шаблона
$GLOBALS['templatecash'][$content['template']] = $template;
//если есть закешированные данные о свойстве контента, то не считываем данные из базы
if (isset($GLOBALS['contentpropcash'][$params['id']][$params['value']]))
//возвращаем значение из кеша
$echo .= $GLOBALS['contentpropcash'][$params['id']][$params['value']];
else
{
$elType = substr_count($params['value'],'_');
if (!$elType)
{
//если нужны данные контента
//обновляем кеш
$GLOBALS['contentpropcash'][$params['id']][$params['value']] = $content[$params['value']];
//отображаем значение из обновлённого кеша
$echo .= $GLOBALS['contentpropcash'][$params['id']][$params['value']];
}
else
{
//если нужны данные элемента
if ($elType == 1)
{
//для уникального элемента
list($class,$prop) = explode('_',$params['value']);
$id = $class;
$element['element'] = 'element';
$showIt = $prop; //это значение нужно отобразить
}
elseif ($elType == 2)
{
//для обычного элемента
list($class,$id,$prop) = explode('_',$params['value']);
$element['element'] = $class;
$showIt = $prop; //это значение нужно отобразить
}
//готовим параметры для класса из контента
$element['id'] = $id;
foreach($content as $key => $value)
{
if ($elType == 1)
{
//для уникального элемента
if (substr_count($key, $class.'_'.$prop))
{
$element[$prop] = $value;
}
}
elseif ($elType == 2)
{
//для уникального элемента
if (substr_count($key, $element['element'].'_'.$element['id'].'_'))
{
list(,,$prop) = explode('_',$key);
$element[$prop] = $value;
}
}
}
//добавляем параметры для класса из шаблона
foreach($template as $key => $value)
{
if ($elType == 1)
{
//для уникального элемента
if (substr_count($key, 'element_'.$element['id'].'_'))
{
list(,$id,$prop) = explode('_',$key);
//проверяем то ли это (1X или 1XYZ может сойти за 1)
if ($id == $element['id'])
$element[$prop] = $value;
}
}
elseif ($elType == 2)
{
//для обычного элемента
if (substr_count($key, '_'.$element['id']))
{
list($prop,$id) = explode('_',$key);
//проверяем то ли это (1X или 1XYZ может сойти за 1)
if ($id == $element['id'])
$element[$prop] = $value;
}
}
}
//обновляем кеш
$GLOBALS['contentpropcash'][$params['id']][$params['value']] = $class::Show($showIt,$element);
//отображаем значение из обновлённого кеша
$echo .= $GLOBALS['contentpropcash'][$params['id']][$params['value']];
}
}
}
else
$_SESSION['we_notes'][] = 'Запрошенная контентная единица '.$params['id'].' не найдена';
//делаем замены
$echo = okwp_Replace($echo,$params['id']);
?>
//Zion WebEngine Content Plugin 6.9.30
//Отображение контента
//если есть закешированные данные о контенте, то не считываем данные из базы
if (isset($GLOBALS['contentcash'][$params['id']]))
//берём из кеша
$content = $GLOBALS['contentcash'][$params['id']];
else
//считываем данные из базы
$content = db::ReadRecord(content::$tablename,$params['id']);
//если удалось получить данные
if ($content)
{
//обновляем кеш контента
$GLOBALS['contentcash'][$params['id']] = $content;
//если есть закешированные данные о шаблоне, то не считываем данные из базы
if (isset($GLOBALS['templatecash'][$content['template']]))
//берём из кеша
$template = $GLOBALS['templatecash'][$content['template']];
else
//считываем данные из базы
$template = db::ReadRecord(template::$tablename,$content['template']);
if ($template)
//обновляем кеш шаблона
$GLOBALS['templatecash'][$content['template']] = $template;
//если есть закешированные данные о свойстве контента, то не считываем данные из базы
if (isset($GLOBALS['contentpropcash'][$params['id']][$params['value']]))
//возвращаем значение из кеша
$echo .= $GLOBALS['contentpropcash'][$params['id']][$params['value']];
else
{
$elType = substr_count($params['value'],'_');
if (!$elType)
{
//если нужны данные контента
//обновляем кеш
$GLOBALS['contentpropcash'][$params['id']][$params['value']] = $content[$params['value']];
//отображаем значение из обновлённого кеша
$echo .= $GLOBALS['contentpropcash'][$params['id']][$params['value']];
}
else
{
//если нужны данные элемента
if ($elType == 1)
{
//для уникального элемента
list($class,$prop) = explode('_',$params['value']);
$id = $class;
$element['element'] = 'element';
$showIt = $prop; //это значение нужно отобразить
}
elseif ($elType == 2)
{
//для обычного элемента
list($class,$id,$prop) = explode('_',$params['value']);
$element['element'] = $class;
$showIt = $prop; //это значение нужно отобразить
}
//готовим параметры для класса из контента
$element['id'] = $id;
foreach($content as $key => $value)
{
if ($elType == 1)
{
//для уникального элемента
if (substr_count($key, $class.'_'.$prop))
{
$element[$prop] = $value;
}
}
elseif ($elType == 2)
{
//для уникального элемента
if (substr_count($key, $element['element'].'_'.$element['id'].'_'))
{
list(,,$prop) = explode('_',$key);
$element[$prop] = $value;
}
}
}
//добавляем параметры для класса из шаблона
foreach($template as $key => $value)
{
if ($elType == 1)
{
//для уникального элемента
if (substr_count($key, 'element_'.$element['id'].'_'))
{
list(,$id,$prop) = explode('_',$key);
//проверяем то ли это (1X или 1XYZ может сойти за 1)
if ($id == $element['id'])
$element[$prop] = $value;
}
}
elseif ($elType == 2)
{
//для обычного элемента
if (substr_count($key, '_'.$element['id']))
{
list($prop,$id) = explode('_',$key);
//проверяем то ли это (1X или 1XYZ может сойти за 1)
if ($id == $element['id'])
$element[$prop] = $value;
}
}
}
//обновляем кеш
$GLOBALS['contentpropcash'][$params['id']][$params['value']] = $class::Show($showIt,$element);
//отображаем значение из обновлённого кеша
$echo .= $GLOBALS['contentpropcash'][$params['id']][$params['value']];
}
}
}
else
$_SESSION['we_notes'][] = 'Запрошенная контентная единица '.$params['id'].' не найдена';
//делаем замены
$echo = okwp_Replace($echo,$params['id']);
?>