/** * Плагин для смарти. * Позволяет получать дату с возможностью склонения * формы слова и поддержкой мультиязычноти. * * Список ключей параметров: * date* [string] * format* [string] * declination* [int] * now* [int] Количество секунд, в течении которых событие имеет статус "Только что" * day* [string] Указывает на необходимость замены "Сегодня", "Вчера", "Завтра". * В указанном формате 'day' будет заменено на соответствующее значение. * minutes_back* [int] Количество минут, в течении которых событие имеет статус "... минут назад" * hours_back* [int] Количество часов, в течении которых событие имеет статус "... часов назад" * tz* [float] Временная зона * notz* [bool] Не учитывать зону * * (* - параметр является необязательным) * * @param array $aParams * @param Smarty $oSmarty * * @return string */ function smarty_function_date_format($aParams, &$oSmarty) { $sFormatDefault = 'd F Y, H:i'; // формат даты по умолчанию $iDeclinationDefault = 1; // индекс склонения по умолчанию /** * Текущая дата и сдвиг времени для пользователя */ $iTz = false; if (!isset($aParams['notz'])) { if (isset($aParams['tz'])) { $iTz = $aParams['tz']; } if ($iTz === false) { if (($oUserCurrent = E::ModuleUser()->GetUserCurrent()) && $oUserCurrent->getSettingsTimezone()) { $iTz = $oUserCurrent->getSettingsTimezone(); } } } if ($iTz !== false) { $iDiff = (date('I') + $iTz - (strtotime(date('Y-m-d H:i:s')) - strtotime(gmdate('Y-m-d H:i:s'))) / 3600) * 3600; } else { $iDiff = 0; // пользователю показываем время от зоны из основного конфига } $iNow = time() + $iDiff; /** * Определяем дату */ $sDate = empty($aParams['date']) ? time() : $aParams['date']; $iDeclination = !isset($aParams['declination']) ? $iDeclinationDefault : $aParams['declination']; $sFormat = empty($aParams['format']) ? $sFormatDefault : $aParams['format']; /** * Если указан другой язык, подгружаем его */ if (isset($aParams['lang']) && $aParams['lang'] != E::ModuleLang()->GetLang()) { E::ModuleLang()->SetLang($aParams['lang']); } $aMonth = E::ModuleLang()->Get('month_array'); $iDate = preg_match("/^\\d+\$/", $sDate) ? $sDate : strtotime($sDate); $iDate += $iDiff; /** * Если указана необходимость выполнять проверку на NOW */ if (isset($aParams['now'])) { if ($iDate + $aParams['now'] > $iNow) { return E::ModuleLang()->Get('date_now'); } } /** * Если указана необходимость на проверку minutes back */ if (isset($aParams['minutes_back'])) { require_once 'modifier.declension.php'; $iTimeDelta = round(($iNow - $iDate) / 60); if ($iTimeDelta < $aParams['minutes_back']) { return $iTimeDelta != 0 ? smarty_modifier_declension($iTimeDelta, E::ModuleLang()->Get('date_minutes_back', array('minutes' => $iTimeDelta)), E::ModuleLang()->GetLang()) : E::ModuleLang()->Get('date_minutes_back_less'); } } /** * Если указана необходимость на проверку minutes back */ if (isset($aParams['hours_back'])) { require_once 'modifier.declension.php'; $iTimeDelta = round(($iNow - $iDate) / (60 * 60)); if ($iTimeDelta < $aParams['hours_back']) { return $iTimeDelta != 0 ? smarty_modifier_declension($iTimeDelta, E::ModuleLang()->Get('date_hours_back', array('hours' => $iTimeDelta)), E::ModuleLang()->GetLang()) : E::ModuleLang()->Get('date_hours_back_less'); } } /** * Если указана необходимость автоподстановки "Сегодня", "Вчера", "Завтра". */ if (isset($aParams['day']) && $aParams['day']) { switch (date('Y-m-d', $iDate)) { /** * Если дата совпадает с сегодняшней */ case date('Y-m-d'): $sDay = E::ModuleLang()->Get('date_today'); break; /** * Если дата совпадает со вчерашней */ /** * Если дата совпадает со вчерашней */ case date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - 1, date("Y"))): $sDay = E::ModuleLang()->Get('date_yesterday'); break; /** * Если дата совпадает с завтрашней */ /** * Если дата совпадает с завтрашней */ case date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") + 1, date("Y"))): $sDay = E::ModuleLang()->Get('date_tomorrow'); break; default: $sDay = null; } if ($sDay) { $sFormat = str_replace("day", preg_replace("#(\\w{1})#", '\\\\${1}', $sDay), $aParams['day']); return date($sFormat, $iDate); } } /** * Определяем нужное текстовое значение названия месяца */ $iMonth = date("n", $iDate); $sMonth = isset($aMonth[$iMonth]) ? $aMonth[$iMonth] : ""; /** * Если не найден индекс склонения, берем склонене по умолчанию. * Если индекс по умолчанию также не определен, берем первое значение в массиве. */ if (is_array($sMonth)) { $sMonth = isset($sMonth[$iDeclination]) ? $sMonth[$iDeclination] : $sMonth[$iDeclinationDefault]; } $sFormat = preg_replace("~(?<!\\\\)F~U", preg_replace('~(\\w{1})~u', '\\\\${1}', $sMonth), $sFormat); return date($sFormat, $iDate); }
/** * Плагин для смарти. * Позволяет получать дату с возможностью склонения * формы слова и поддержкой мультиязычноти. * * Список ключей параметров: * date* [string] * format* [string] * declination* [int] * now* [int] Количество секунд, в течении которых событие имеет статус "Только что" * day* [string] Указывает на необходимость замены "Сегодня", "Вчера", "Завтра". * В указанном формате 'day' будет заменено на соответствующее значение. * minutes_back* [int] Количество минут, в течении которых событие имеет статус "... минут назад" * hours_back* [int] Количество часов, в течении которых событие имеет статус "... часов назад" * * (* - параметр является необязательным) * * @param array $aParams * @param Smarty $oSmarty * @return string */ function smarty_function_date_format($aParams, &$oSmarty) { $sFormatDefault = "d F Y, H:i"; // формат даты по умолчанию $iDeclinationDefault = 1; // индекс склонения по умолчанию /** * Определяем дату */ $sDate = empty($aParams['date']) ? time() : $aParams['date']; $iDeclination = !isset($aParams['declination']) ? $iDeclinationDefault : $aParams['declination']; $sFormat = empty($aParams['format']) ? $sFormatDefault : $aParams['format']; require_once Config::Get('path.root.engine') . '/classes/Engine.class.php'; $oEngine = Engine::getInstance(); /** * Если указан другой язык, подгружаем его */ if (isset($aParams['lang']) and $aParams['lang'] != $oEngine->Lang_GetLang()) { $oEngine->Lang_SetLang($aParams['lang']); } $aMonth = $oEngine->Lang_Get('month_array'); $iDate = preg_match("/^\\d+\$/", $sDate) ? $sDate : strtotime($sDate); /** * Если указана необходимость выполнять проверку на NOW */ if (isset($aParams['now'])) { if ($iDate + $aParams['now'] > time()) { return $oEngine->Lang_Get('date_now'); } } /** * Если указана необходимость на проверку minutes back */ if (isset($aParams['minutes_back'])) { require_once 'modifier.declension.php'; $iTimeDelta = round((time() - $iDate) / 60); if ($iTimeDelta < $aParams['minutes_back']) { return $iTimeDelta != 0 ? smarty_modifier_declension($iTimeDelta, $oEngine->Lang_Get('date_minutes_back', array('minutes' => $iTimeDelta)), $oEngine->Lang_GetLang()) : $oEngine->Lang_Get('date_minutes_back_less'); } } /** * Если указана необходимость на проверку minutes back */ if (isset($aParams['hours_back'])) { require_once 'modifier.declension.php'; $iTimeDelta = round((time() - $iDate) / (60 * 60)); if ($iTimeDelta < $aParams['hours_back']) { return $iTimeDelta != 0 ? smarty_modifier_declension($iTimeDelta, $oEngine->Lang_Get('date_hours_back', array('hours' => $iTimeDelta)), $oEngine->Lang_GetLang()) : $oEngine->Lang_Get('date_hours_back_less'); } } /** * Если указана необходимость автоподстановки "Сегодня", "Вчера", "Завтра". */ if (isset($aParams['day']) and $aParams['day']) { switch (date('Y-m-d', $iDate)) { /** * Если дата совпадает с сегодняшней */ case date('Y-m-d'): $sDay = $oEngine->Lang_Get('date_today'); break; /** * Если дата совпадает со вчерашней */ /** * Если дата совпадает со вчерашней */ case date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - 1, date("Y"))): $sDay = $oEngine->Lang_Get('date_yesterday'); break; /** * Если дата совпадает с завтрашней */ /** * Если дата совпадает с завтрашней */ case date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") + 1, date("Y"))): $sDay = $oEngine->Lang_Get('date_tomorrow'); break; default: $sDay = null; } if ($sDay) { $sFormat = str_replace("day", $sDay, $aParams['day']); return date($sFormat, $iDate); } } /** * Определяем нужное текстовое значение названия месяца */ $iMonth = date("n", $iDate); $sMonth = isset($aMonth[$iMonth]) ? $aMonth[$iMonth] : ""; /** * Если не найден индекс склонения, берем склонене по умолчанию. * Если индекс по умолчанию также не определен, берем первое значение в массиве. */ if (is_array($sMonth)) { $sMonth = isset($sMonth[$iDeclination]) ? $sMonth[$iDeclination] : $sMonth[$iDeclinationDefault]; } $sFormat = preg_replace("~(?<!\\\\)F~U", preg_replace('~(\\w{1})~u', '\\\\${1}', $sMonth), $sFormat); return date($sFormat, $iDate); }
/** * Smarty datespent modifier plugin * * Type: modifier<br> * Name: datespent<br> * Purpose: datespent * @author battazo * @param string * @param string * @param interger * @param interger * @param string * @param string */ function smarty_modifier_datespent($sDatetime, $getTime = false) { //get datetime if (!$sDatetime) { return false; } $date = Func::parse_datetime($sDatetime); //get now datetime static $now; if (!isset($now)) { $now = date('Y,m,d,H,i,s'); } $nowdt = array(); list($nowdt['year'], $nowdt['month'], $nowdt['day'], $nowdt['hour'], $nowdt['min'], $nowdt['sec']) = explode(',', $now); //дата позже текущей if ($nowdt['year'] < $date['year']) { return ''; } //since $since = array(); foreach ($nowdt as $k => $v) { $since[$k] = $nowdt[$k] - $date[$k]; } $tmp = array(0 => array('sec', 60, 'секунда;секунды;секунд'), 1 => array('min', 60, 'минута;минуты;минут'), 2 => array('hour', 24, 'час;часа;часов'), 3 => array('day', 30, 'день;дня;дней'), 4 => array('month', 12, 'месяц;месяца;месяцев'), 5 => array('year', 0, 'год;года;лет')); // if(!function_exists('calcsince')) // { // function calcsince($i, $minus = false) // { // global $tmp, $date, $nowdt, $since; // $key = $tmp[$i][0]; // if ($minus) { // --$nowdt[$key]; // if ($nowdt[$key] == $date[$key]) { // $since[$key] = $nowdt[$key] - $date[$key]; // } // } // $minus = false; // if ($nowdt[$key] < $date[$key]) { // $since[$key] = $tmp[$i][1] + $nowdt[$key] - $date[$key]; // $minus = true; // } // if(++$i > 5) return; // calcsince($tmp, $date, $nowdt, $since, $i, $minus); // } // } // calcsince(0); $minus = false; //seconds if ($minus) { $nowdt['sec']--; if ($nowdt['sec'] == $date['sec']) { $since['sec'] = $nowdt['sec'] - $date['sec']; } } $minus = false; if ($nowdt['sec'] < $date['sec']) { $since['sec'] = 60 + $nowdt['sec'] - $date['sec']; $minus = true; } //minutes if ($minus) { $nowdt['min']--; if ($nowdt['min'] == $date['min']) { $since['min'] = $nowdt['min'] - $date['min']; } else { $since['min']--; } } $minus = false; if ($nowdt['min'] < $date['min']) { $since['min'] = 60 + $nowdt['min'] - $date['min']; $minus = true; } //hours -------------------------------------- if ($minus) { $nowdt['hour']--; if ($nowdt['hour'] == $date['hour']) { $since['hour'] = $nowdt['hour'] - $date['hour']; } } $minus = false; if ($nowdt['hour'] < $date['hour']) { $since['hour'] = 24 + $nowdt['hour'] - $date['hour']; $minus = true; } //days --------------------------------------- if ($minus) { $nowdt['day']--; if ($nowdt['day'] == $date['day']) { $since['day'] = $nowdt['day'] - $date['day']; } else { $since['day']--; } } $minus = false; if ($nowdt['day'] < $date['day']) { $since['day'] = 30 + $nowdt['day'] - $date['day']; $minus = true; } //months ------------------------------------- if ($minus) { $nowdt['month']--; if ($nowdt['month'] == $date['month']) { $since['month'] = $nowdt['month'] - $date['month']; } } $minus = false; if ($nowdt['month'] < $date['month']) { $since['month'] = 30 + $nowdt['month'] - $date['month']; $minus = true; } //years if ($minus) { $nowdt['year']--; if ($nowdt['year'] == $date['year']) { $since['year'] = $nowdt['year'] - $date['year']; } } $minus = false; if ($nowdt['year'] < $date['year']) { $since['year'] = 0 + $nowdt['year'] - $date['year']; $minus = true; } // debug($since); // // $dateDiff = time() - strtotime($sDatetime, 0); // $since2 = array(); // $since2['day'] = floor($dateDiff/86400); $dateDiff = $dateDiff % 86400; // $since2['hour'] = floor($dateDiff/3600); $dateDiff = $dateDiff % 3600; // $since2['min'] = floor($dateDiff/60); $dateDiff = $dateDiff % 60; // $since2['sec'] = $dateDiff; // // debug($since2); $sResult = ''; do { //разница в год и более (5лет [5месяцев]) if ($since['year']) { $sResult .= $since['year'] . ' ' . smarty_modifier_declension($since['year'], $tmp[5][2], false); if ($since['month']) { $sResult .= ' ' . $since['month'] . ' ' . smarty_modifier_declension($since['month'], $tmp[4][2], false); } break; } //разница в месяц и больше (5месяцев [5дней]) if ($since['month']) { $sResult .= $since['month'] . ' ' . smarty_modifier_declension($since['month'], $tmp[4][2], false); if ($since['day']) { $sResult .= ' ' . $since['day'] . ' ' . smarty_modifier_declension($since['day'], $tmp[3][2], false); } break; } //разница в день и больше (5дней [5часов] [5минут]) if ($since['day']) { $sResult .= $since['day'] . ' ' . smarty_modifier_declension($since['day'], $tmp[3][2], false); if ($since['hour'] > 0) { $sResult .= ' ' . $since['hour'] . ' ' . smarty_modifier_declension($since['hour'], $tmp[2][2], false); //if($since['min']) // $sResult .= ' '.$since['min'].' '.smarty_modifier_declension($since['min'],$tmp[1][2], false); } break; } //разница в час и больше (5часов [5минут]) if ($since['hour']) { $sResult .= $since['hour'] . ' ' . smarty_modifier_declension($since['hour'], $tmp[2][2], false); if ($since['min']) { $sResult .= ' ' . $since['min'] . ' ' . smarty_modifier_declension($since['min'], $tmp[1][2], false); } break; } //разница в минуту и меньше (5минут 5секунд) if ($since['min'] > 3) { $sResult = $since['min'] . ' ' . smarty_modifier_declension($since['min'], $tmp[1][2], false); } else { $sResult = 'сейчас'; } } while (false); return $sResult; }
function content_5684d6cb444e21_44640408($_smarty_tpl) { if (!is_callable('smarty_modifier_declension')) { include '/var/www/bunker//engine/modules/viewer/plugs/modifier.declension.php'; } if (!is_callable('smarty_function_router')) { include '/var/www/bunker//engine/modules/viewer/plugs/function.router.php'; } if ($_smarty_tpl->tpl_vars['oTopic']->value) { ?> <?php $_smarty_tpl->tpl_vars["oBlog"] = new Smarty_variable($_smarty_tpl->tpl_vars['oTopic']->value->getBlog(), null, 0); ?> <?php if ($_smarty_tpl->tpl_vars['oBlog']->value->getType() != 'personal') { ?> <section class="block block-type-blog"> <header class="block-header"> <h3><a href="<?php echo $_smarty_tpl->tpl_vars['oBlog']->value->getUrlFull(); ?> "><?php echo htmlspecialchars($_smarty_tpl->tpl_vars['oBlog']->value->getTitle(), ENT_QUOTES, 'UTF-8', true); ?> </a></h3> </header> <div class="block-content"> <span id="blog_user_count_<?php echo $_smarty_tpl->tpl_vars['oBlog']->value->getId(); ?> "><?php echo $_smarty_tpl->tpl_vars['oBlog']->value->getCountUser(); ?> </span> <?php echo smarty_modifier_declension($_smarty_tpl->tpl_vars['oBlog']->value->getCountUser(), $_smarty_tpl->tpl_vars['aLang']->value['reader_declension'], 'russian'); ?> <br /> <?php echo $_smarty_tpl->tpl_vars['oBlog']->value->getCountTopic(); ?> <?php echo smarty_modifier_declension($_smarty_tpl->tpl_vars['oBlog']->value->getCountTopic(), $_smarty_tpl->tpl_vars['aLang']->value['topic_declension'], 'russian'); ?> <br /> <br /> <?php if ($_smarty_tpl->tpl_vars['oUserCurrent']->value && $_smarty_tpl->tpl_vars['oUserCurrent']->value->getId() != $_smarty_tpl->tpl_vars['oBlog']->value->getOwnerId()) { ?> <button type="submit" class="button button-primary <?php if ($_smarty_tpl->tpl_vars['oBlog']->value->getUserIsJoin()) { ?> active<?php } ?> " id="blog-join" data-only-text="1" onclick="ls.blog.toggleJoin(this,<?php echo $_smarty_tpl->tpl_vars['oBlog']->value->getId(); ?> ); return false;"><?php if ($_smarty_tpl->tpl_vars['oBlog']->value->getUserIsJoin()) { echo $_smarty_tpl->tpl_vars['aLang']->value['blog_leave']; } else { echo $_smarty_tpl->tpl_vars['aLang']->value['blog_join']; } ?> </button> <?php } ?> <a href="<?php echo smarty_function_router(array('page' => 'rss'), $_smarty_tpl); ?> blog/<?php echo $_smarty_tpl->tpl_vars['oBlog']->value->getUrl(); ?> /" class="rss">RSS</a> </div> </section> <?php } } }
function content_5577f7814f34e6_65079724($_smarty_tpl) { if (!is_callable('smarty_function_router')) { include '/home/vxeeuesn/public_html/_sokol/engine/modules/viewer/plugs/function.router.php'; } if (!is_callable('smarty_modifier_declension')) { include '/home/vxeeuesn/public_html/_sokol/engine/modules/viewer/plugs/modifier.declension.php'; } if (!is_callable('smarty_function_hook')) { include '/home/vxeeuesn/public_html/_sokol/engine/modules/viewer/plugs/function.hook.php'; } ?> <div class="modal modal-write" id="modal_write"> <header class="modal-header"> <a href="#" class="close jqmClose"></a> </header> <div class="modal-content"><ul class="write-list"><?php if ($_smarty_tpl->tpl_vars['iUserCurrentCountTopicDraft']->value) { ?> <li class="write-item-type-draft"><a href="<?php echo smarty_function_router(array('page' => 'topic'), $_smarty_tpl); ?> saved/" class="write-item-image"></a><a href="<?php echo smarty_function_router(array('page' => 'topic'), $_smarty_tpl); ?> saved/" class="write-item-link"><?php echo $_smarty_tpl->tpl_vars['iUserCurrentCountTopicDraft']->value; ?> <?php echo smarty_modifier_declension($_smarty_tpl->tpl_vars['iUserCurrentCountTopicDraft']->value, $_smarty_tpl->tpl_vars['aLang']->value['draft_declension'], 'russian'); ?> </a></li><?php } ?> <li class="write-item-type-topic"><a href="<?php echo smarty_function_router(array('page' => 'topic'), $_smarty_tpl); ?> add" class="write-item-image"></a><a href="<?php echo smarty_function_router(array('page' => 'topic'), $_smarty_tpl); ?> add" class="write-item-link"><?php echo $_smarty_tpl->tpl_vars['aLang']->value['block_create_topic_topic']; ?> </a></li><li class="write-item-type-blog"><a href="<?php echo smarty_function_router(array('page' => 'blog'), $_smarty_tpl); ?> add" class="write-item-image"></a><a href="<?php echo smarty_function_router(array('page' => 'blog'), $_smarty_tpl); ?> add" class="write-item-link"><?php echo $_smarty_tpl->tpl_vars['aLang']->value['block_create_blog']; ?> </a></li><li class="write-item-type-message"><a href="<?php echo smarty_function_router(array('page' => 'talk'), $_smarty_tpl); ?> add" class="write-item-image"></a><a href="<?php echo smarty_function_router(array('page' => 'talk'), $_smarty_tpl); ?> add" class="write-item-link"><?php echo $_smarty_tpl->tpl_vars['aLang']->value['block_create_talk']; ?> </a></li><?php echo smarty_function_hook(array('run' => 'write_item', 'isPopup' => true), $_smarty_tpl); ?> </ul></div> </div> <?php }
function content_5684d6cb647bc7_02769927($_smarty_tpl) { if (!is_callable('smarty_modifier_truncate')) { include '/var/www/bunker/engine/lib/external/Smarty/libs/plugins/modifier.truncate.php'; } if (!is_callable('smarty_function_router')) { include '/var/www/bunker//engine/modules/viewer/plugs/function.router.php'; } if (!is_callable('smarty_function_date_format')) { include '/var/www/bunker//engine/modules/viewer/plugs/function.date_format.php'; } if (!is_callable('smarty_modifier_declension')) { include '/var/www/bunker//engine/modules/viewer/plugs/modifier.declension.php'; } ?> <ul class="item-list"> <?php $_smarty_tpl->tpl_vars['oComment'] = new Smarty_Variable(); $_smarty_tpl->tpl_vars['oComment']->_loop = false; $_from = $_smarty_tpl->tpl_vars['aComments']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array'); } foreach ($_from as $_smarty_tpl->tpl_vars['oComment']->key => $_smarty_tpl->tpl_vars['oComment']->value) { $_smarty_tpl->tpl_vars['oComment']->_loop = true; ?> <?php $_smarty_tpl->tpl_vars["oUser"] = new Smarty_variable($_smarty_tpl->tpl_vars['oComment']->value->getUser(), null, 0); ?> <?php $_smarty_tpl->tpl_vars["oTopic"] = new Smarty_variable($_smarty_tpl->tpl_vars['oComment']->value->getTarget(), null, 0); ?> <?php $_smarty_tpl->tpl_vars["oBlog"] = new Smarty_variable($_smarty_tpl->tpl_vars['oTopic']->value->getBlog(), null, 0); ?> <li class="js-title-comment" title="<?php echo htmlspecialchars(smarty_modifier_truncate(trim(preg_replace('!<[^>]*?>!', ' ', $_smarty_tpl->tpl_vars['oComment']->value->getText())), 100, '...'), ENT_QUOTES, 'UTF-8', true); ?> "> <a href="<?php echo $_smarty_tpl->tpl_vars['oUser']->value->getUserWebPath(); ?> " class="author"><?php echo $_smarty_tpl->tpl_vars['oUser']->value->getLogin(); ?> </a> в <a href="<?php echo $_smarty_tpl->tpl_vars['oBlog']->value->getUrlFull(); ?> " class="blog-name"><?php echo htmlspecialchars($_smarty_tpl->tpl_vars['oBlog']->value->getTitle(), ENT_QUOTES, 'UTF-8', true); ?> </a>:<br> <a href="<?php if ($_smarty_tpl->tpl_vars['oConfig']->value->GetValue('module.comment.nested_per_page')) { echo smarty_function_router(array('page' => 'comments'), $_smarty_tpl); } else { echo $_smarty_tpl->tpl_vars['oTopic']->value->getUrl(); ?> #comment<?php } echo $_smarty_tpl->tpl_vars['oComment']->value->getId(); ?> "><?php echo htmlspecialchars($_smarty_tpl->tpl_vars['oTopic']->value->getTitle(), ENT_QUOTES, 'UTF-8', true); ?> </a> <p> <time datetime="<?php echo smarty_function_date_format(array('date' => $_smarty_tpl->tpl_vars['oComment']->value->getDate(), 'format' => 'c'), $_smarty_tpl); ?> "><?php echo smarty_function_date_format(array('date' => $_smarty_tpl->tpl_vars['oComment']->value->getDate(), 'hours_back' => "12", 'minutes_back' => "60", 'now' => "60", 'day' => "day H:i", 'format' => "j F Y, H:i"), $_smarty_tpl); ?> </time> | <?php echo $_smarty_tpl->tpl_vars['oTopic']->value->getCountComment(); ?> <?php echo smarty_modifier_declension($_smarty_tpl->tpl_vars['oTopic']->value->getCountComment(), $_smarty_tpl->tpl_vars['aLang']->value['comment_declension'], 'russian'); ?> </p> </li> <?php } ?> </ul> <footer> <a href="<?php echo smarty_function_router(array('page' => 'comments'), $_smarty_tpl); ?> "><?php echo $_smarty_tpl->tpl_vars['aLang']->value['block_stream_comments_all']; ?> </a> | <a href="<?php echo smarty_function_router(array('page' => 'rss'), $_smarty_tpl); ?> allcomments/">RSS</a> </footer><?php }