<?PHP
{
}
if(isset($_GET['article_name'])) $_GET['article_name'] = str_replace(".html", '', $_GET['article_name']); //навигация
//главная
$max = 10;
@$page = $_GET['page'];
$result = $db->query("SELECT COUNT(*) FROM ".PREFIX."_sarticles WHERE moderated='1'");
$temp = $db->get_array($result);
$posts = $temp[0];
$total = (($posts - 1) / $max) + 1;
if(empty($page) or
$page < 0
) $page = 1; if($page > $total) $page = $total;
$start = $page * $max - $max;
if($start<0) $start = 0;
//категории
$maxc = 10;
@$pagec = $_GET['page'];
$resultс = $db->query("SELECT COUNT(*) FROM ".PREFIX."_sarticles WHERE moderated='1' AND cat_name='".$db->safesql($_GET['cat_name'])."'");
$tempc = $db->get_array($resultс);
$postsc = $tempc[0];
$totalc = (($postsc - 1) / $max) + 1;
if(empty($pagec) or
$pagec < 0
) $pagec = 1; if($pagec > $totalc) $pagec = $totalc;
$startc = $pagec * $maxc - $maxc;
if($startc<0) $startc = 0;
//статья целиком
$getquery = $db->query("SELECT * FROM ".PREFIX."_articles WHERE moderated='1' AND alt_name='".$db->safesql($_GET['article_name'])."' AND cat_name='".$db->safesql($_GET['cat_name'])."'");
//вывод коротких новостей в категории с постраничной навигацией
$scatquery = $db->query("SELECT * FROM ".PREFIX."_sarticles WHERE moderated='1' AND cat_name='".$db->safesql($_GET['cat_name'])."' ORDER BY `id` DESC LIMIT $startc,$maxc");
//вывод коротких новостей с постраничной навигацией
$squery = $db->query("SELECT * FROM ".PREFIX."_sarticles WHERE moderated='1' ORDER BY `id` DESC LIMIT $start,$max");
//full новость
if(!empty($_GET['article_name']) && !empty($_GET['cat_name'])) {
if($db->num_rows($getquery)){
while($data = $db->get_array($getquery)){
$title = $data['title'];
$xcat = $db->get_array($db->query("SELECT * FROM ".PREFIX."_category WHERE alt_name='".$data['cat_name']."'"));
$titlenews .= ''.$data['title'].' » ';
$titles .= ' » <a href="/'.$xcat['alt_name'].'">'.$xcat['name'].'</a> » '.$data['title'].'';
$content .= '
<div class="base btype2">
<div class="heading">
<h3><b><span>'.$data['title'].'</span></b></h3>
</div>
<div class="bci_block"><div class="bci_border"><div class="bci_cont">
<table width="100%" border="0">
<tr height="30px">';
$content .= '<td width="15%" align="left"><strong>Категория:</strong> <a href="/'.$xcat['alt_name'].'">'.$xcat['name'].'</a><div style="float:right;"><strong>Дата:</strong> '.date_smart($data['dates']).'</div></td>';
$content .= '
</tr>
</table>
<table width="100%" border="0">
<tr>
<td background="/template/images/mline.gif" height="1" colspan="2"></td>
</tr>
</table>'.$data['article'].'<br>';
//Теги
if (!empty($data['tags'])) { // Если строка тэгов в базе не пустая, то: $tags = explode(", ", $data['tags']); // Разбиваем строку тэгов на слова $tagscount = count($tags); // Считаем их количество for ($i = 0; $i < $tagscount; $i++) { // Перебираем каждый элемент и присваиваем ему ссылку
$tags[$i] = "<a href=\"/tags/".urlencode($tags[$i])."\">".$tags[$i]."</a>"; }
$tagline = implode(", ", $tags); // Собираем обратно, но уже со ссылками }
$content .= '
<b>Теги</b>: '.$tagline.'</a>
<div style="clear:both;"></div>
<!-- Сохронить -->
<div style="float:right;">
<script type="text/javascript" src="http://vkontakte.ru/js/api/share.js?10" charset="windows-1251"></script>
<script type="text/javascript"><!--
document.write(VK.Share.button(false,{type: "round", text: "Сохранить"}));
--></script></div>
<!-- Like -->
<div style="float:left;">
<div id="vk_like"></div>
<script type="text/javascript">
VK.Widgets.Like("vk_like", {type: "mini"});
</script></div>
';
$content .= '<br></div></div></div>';
$content .= '</div>';
$content .= '
<!-- Коментарии -->
<div id="vk_comments"></div>
<script type="text/javascript">
VK.Widgets.Comments("vk_comments", {limit: 20, width: "960", attach: "*"});
</script>';
}
} else {
$titlenews = 'Ошибка! » ';
$titles = ' » Ошибка!';
$content = <<<HTML
<div class="base btype2">
<div class="heading">
<h3><b><span>Ошибка</span></b></h3>
</div>
<div class="bci_block"><div class="bci_border"><div class="bci_cont">Искомой статьи нет</div></div></div>
</div>
<a href="javascript:history.go(-1)" mce_href="javascript:history.go(-1)">Вернуться</a>
HTML;
}
if( $revert_cache ) $config['allow_cache'] = "no";
}
//short новость в категории
elseif(empty($_GET['article_name']) && !empty($_GET['cat_name'])) {
if($db->num_rows($scatquery)){
while($data = $db->get_array($scatquery)){
$ycat = $db->get_array($db->query("SELECT * FROM ".PREFIX."_category WHERE alt_name='".$data['cat_name']."'"));
$content .= '
<div class="base btype2">
<div class="heading">
<h3><b><span><a href="/'.$data['cat_name'].'/'.$data['alt_name'].'.html">'.$data['title'].'</a></span></b></h3>
</div>
<div class="bci_block"><div class="bci_border"><div class="bci_cont">
<table width="100%" border="0">
<tr height="30px">';
$content .= '<td width="15%" align="left"><strong>Категория:</strong> <a href="/'.$ycat['alt_name'].'">'.$ycat['name'].'</a><div style="float:right;"><strong>Дата:</strong> '.date_smart($data['dates']).'</div></td>';
$content .= '
</tr>
</table>
<table width="100%" border="0">
<tr>
<td background="/template/images/mline.gif" height="1" colspan="2"></td>
</tr>
</table>'.$data['article'].'</div></div></div>';
$content .= '</div>';
}
// Проверяем нужны ли стрелки назад
if ($pagec != 1) $pervpagec = '<a href=/'.$ycat['alt_name'].'/page/1>Первая</a> <a href=/'.$ycat['alt_name'].'/page/'. ($pagec - 1) .'>Предыдущая</a> ';
// Проверяем нужны ли стрелки вперед
if ($pagec != $totalc) $nextpagec = ' <a href=/'.$ycat['alt_name'].'/page/'. ($pagec + 1) .'>Следующая</a> <a href=/'.$ycat['id'].'-'.$ycat['alt_name'].'/page/' .$totalc. '>Последняя</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($pagec - 5 > 0) $page5leftc = ' <a href=/'.$ycat['alt_name'].'/page/'. ($pagec - 5) .'>'. ($pagec - 5) .'</a> ';
if($pagec - 4 > 0) $page4leftc = ' <a href=/'.$ycat['alt_name'].'/page/'. ($pagec - 4) .'>'. ($pagec - 4) .'</a> ';
if($pagec - 3 > 0) $page3leftc = ' <a href=/'.$ycat['alt_name'].'/page/'. ($pagec - 3) .'>'. ($pagec - 3) .'</a> ';
if($pagec - 2 > 0) $page2leftc = ' <a href=/'.$ycat['alt_name'].'/page/'. ($pagec - 2) .'>'. ($pagec - 2) .'</a> ';
if($pagec - 1 > 0) $page1leftc = ' <a href=/'.$ycat['alt_name'].'/page/'. ($pagec - 1) .'>'. ($pagec - 1) .'</a> ';
if($pagec + 5 <= $totalc) $page5rightc = ' <a href=/'.$ycat['alt_name'].'/page/'. ($pagec + 5) .'>'. ($pagec + 5) .'</a>';
if($pagec + 4 <= $totalc) $page4rightc = ' <a href=/'.$ycat['alt_name'].'/page/'. ($pagec + 4) .'>'. ($pagec + 4) .'</a>';
if($pagec + 3 <= $totalc) $page3rightc = ' <a href=/'.$ycat['alt_name'].'/page/'. ($pagec + 3) .'>'. ($pagec + 3) .'</a>';
if($pagec + 2 <= $totalc) $page2rightc = ' <a href=/'.$ycat['alt_name'].'/page/'. ($pagec + 2) .'>'. ($pagec + 2) .'</a>';
if($pagec + 1 <= $totalc) $page1rightc = ' <a href=/'.$ycat['alt_name'].'/page/'. ($pagec + 1) .'>'. ($pagec + 1) .'</a>';
// Вывод меню если страниц больше одной
if ($totalc > 1)
{
$content.= "<div class=\"navigation\" align=\"center\" style=\"margin-bottom:10px; margin-top:10px;\">";
$content.= $pervpagec.$page5leftc.$page4leftc.$page3leftc.$page2leftc.$page1leftc.'<span>'.$pagec.'</span>'.$page1rightc.
$page2rightc.$page3rightc.$page4rightc.$page5rightc.$nextpagec;
$content.= "</div>";
}
} else {
$titlenews = 'Ошибка! » ';
$titles = ' » Ошибка!';
$content = <<<HTML
<div class="base btype2">
<div class="heading">
<h3><b><span>Ошибка</span></b></h3>
</div>
<div class="bci_block"><div class="bci_border"><div class="bci_cont">Категории нет</div></div></div>
</div>
<a href="javascript:history.go(-1)" mce_href="javascript:history.go(-1)">Вернуться</a>
HTML;
}
}
else
{
if($db->num_rows($squery)){
while($data = $db->get_array($squery)){
$ycat = $db->get_array($db->query("SELECT * FROM ".PREFIX."_category WHERE alt_name='".$data['cat_name']."'"));
$content .= '
<div class="base btype2">
<div class="heading">
<h3><b><span><a href="/'.$data['cat_name'].'/'.$data['alt_name'].'.html">'.$data['title'].'</a></span></b></h3>
</div>
<div class="bci_block"><div class="bci_border"><div class="bci_cont">
<table width="100%" border="0">
<tr height="30px">';
$content .= '<td width="15%" align="left"><strong>Категория:</strong> <a href="/'.$ycat['alt_name'].'">'.$ycat['name'].'</a><div style="float:right;"><strong>Дата:</strong> '.date_smart($data['dates']).'</div></td>';
$content .= '
</tr>
</table>
<table width="100%" border="0">
<tr>
<td background="/template/images/mline.gif" height="1" colspan="2"></td>
</tr>
</table>'.$data['article'].'</div></div></div>';
$content .= '</div>';
}
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=/page/1>Первая</a> <a href=/page/'. ($page - 1) .'>Предыдущая</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href=/page/'. ($page + 1) .'>Следующая</a> <a href=/page/' .$total. '>Последняя</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=/page/'. ($page - 5) .'>'. ($page - 5) .'</a> ';
if($page - 4 > 0) $page4left = ' <a href=/page/'. ($page - 4) .'>'. ($page - 4) .'</a> ';
if($page - 3 > 0) $page3left = ' <a href=/page/'. ($page - 3) .'>'. ($page - 3) .'</a> ';
if($page - 2 > 0) $page2left = ' <a href=/page/'. ($page - 2) .'>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = ' <a href=/page/'. ($page - 1) .'>'. ($page - 1) .'</a> ';
if($page + 5 <= $total) $page5right = ' <a href=/page/'. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' <a href=/page/'. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' <a href=/page/'. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' <a href=/page/'. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' <a href=/page/'. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню если страниц больше одной
if ($total > 1)
{
$content.= "<div class=\"navigation\" align=\"center\" style=\"margin-bottom:10px; margin-top:10px;\">";
$content.= $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<span>'.$page.'</span>'.$page1right.
$page2right.$page3right.$page4right.$page5right.$nextpage;
$content.= "</div>";
}
} else {
$titlenews = 'Ошибка! » ';
$titles = ' » Ошибка!';
$content = <<<HTML
<div class="base btype2">
<div class="heading">
<h3><b><span>Ошибка</span></b></h3>
</div>
<div class="bci_block"><div class="bci_border"><div class="bci_cont">Статей нет</div></div></div>
</div>
<a href="javascript:history.go(-1)" mce_href="javascript:history.go(-1)">Вернуться</a>
HTML;
}
}
?>