<?php
if( !defined( "DATALIFEENGINE" ) ) die( "Hacking attempt!" );
//--------------------------------------------------=-=-=-=-=
// Инициализируем категорию
//--------------------------------------------------=-=-=-=-=
if( $Offers->DefinitionCat() )
{
if( $_REQUEST['type'] == "rss" ) include( ENGINE_DIR."/modules/offers/rss.php" );
$OnPage = $Offers->Config['view_cat_on_page'] > 0 ? intval( $Offers->Config['view_cat_on_page'] ) : 1;
//--------------------------------------------------=-=-=-=-=
// Настройка метатитлов
//--------------------------------------------------=-=-=-=-=
$SpeedBarCat = $Offers->SpeedBarCat( $Offers->RequestCat );
$ThreadCatForSql = $Offers->SqlThreadCat( $Offers->RequestCat );
for( $i = count( $SpeedBarCat ); $i > 0; $i-- ) $module['title'][] = $SpeedBarCat[ ( $i - 1 ) ]['title'];
for( $i = count( $SpeedBarCat ); $i > 0; $i-- ) $module['speedbar'][] = "<a href=\"".$SpeedBarCat[ ( $i - 1 ) ]['link']."\">".$SpeedBarCat[ ( $i - 1 ) ]['title']."</a>";
//--------------------------------------------------=-=-=-=-=
// Смотрим, какую папку с шаблонами нам грузить
//--------------------------------------------------=-=-=-=-=
$RowCat = $Offers->DB['category'][ $Offers->RequestCat ];
$Folder = $RowCat['template'] != "" ? totranslit( $RowCat['template'] ) : "default";
$OffersCategory = $RowCat['id'];
//--------------------------------------------------=-=-=-=-=
// Поиск при необходимости
//--------------------------------------------------=-=-=-=-=
if( $_REQUEST['OffersSearch'] == "---" ) $_REQUEST['OffersSearch'] = "";
if( $_REQUEST['offers_type'] == "---" ) $_REQUEST['offers_type'] = "";
if( ( $_REQUEST['OffersSearch'] != "" || $_REQUEST['offers_type'] != "" ) && $Offers->Config['fastsearch_on'] == "on" )
{
if( isset( $_REQUEST['submit_search'] ) ) $_REQUEST['page'] = 1;
$SearchTextForm = $Offers->FilterSearchText( $_REQUEST['OffersSearch'] );
$Story = $db->safesql( $SearchTextForm );
$OffersType = intval( $_REQUEST['offers_type'] );
$PageLink = $Offers->ReturnLinkCategory( $Offers->RequestCat );
$SqlSearch = array();
if( $Story ) $SqlSearch[] = "( `title` LIKE '%{$Story}%' OR `text` LIKE '%{$Story}%' )";
if( $OffersType ) $SqlSearch[] = "`offers_type`='{$OffersType}'";
if( count( $SqlSearch ) > 0 )
{
$SqlSearch = "AND ".implode( " AND ", $SqlSearch );
$NoNewsError = "По вашему запросу ничего не найдено. <a href=\"{$PageLink}\">Отменить поиск</a>";
$SearchText = "По вашему запросу, найдено {posts} объявлений на {total} страницах. <a href=\"{$PageLink}\">Отменить поиск</a>";
$PageLink = "{$PageLink}search/".( $SearchTextForm ? urlencode( htmlspecialchars( $SearchTextForm, ENT_QUOTES, $config['charset'] ) ) : "---" )."/".( $OffersType ? $OffersType : "---" )."/page/{page}";
$SearchInfo = true;
}
else
{
$SqlSearch = "";
}
}
//--------------------------------------------------=-=-=-=-=
// Если нет поиска, то просто выводим объявления категории
//--------------------------------------------------=-=-=-=-=
else
{
$OffersCatMainTemplate = @file_get_contents( $tpl->dir."/offers/{$Folder}/category/main.tpl" );
$OffersCatListTemplate = @file_get_contents( $tpl->dir."/offers/{$Folder}/category/list.tpl" );
$cats = $Offers->GenerateTemplateThreadCat( $OffersCatMainTemplate, $OffersCatListTemplate, $Offers->RequestCat, $Offers->Config['view_cat_max_columns'] );
$PageLink = $Offers->ReturnLinkCategory( $Offers->RequestCat );
$PageLink = "{$PageLink}page/{page}";
$NoNewsError = "Объявленией не обнаружено.";
$SearchInfo = false;
}
if( $Offers->Config['rss_on'] == "yes" )
{
$rssLink = $Offers->ReturnLinkCategory( $Offers->RequestCat );
$rssLink .= $Offers->AltUrl === true ? "rss.xml" : "&type=rss";
}
//--------------------------------------------------=-=-=-=-=
// Генерация объявлений категории и её подкатегорий
//--------------------------------------------------=-=-=-=-=
$order = array();
if( $Offers->Config['echo_post_supervip'] != "no" ) $order[] = "`super_vip_date` DESC";
if( $Offers->Config['echo_post_vip'] != "no" ) $order[] = "`vip_date` DESC";
$order[] = "`date` DESC";
$order = implode( ", ", $order );
$ThreadCatForSql = implode( ",", $ThreadCatForSql );
$NewsList = array(
"template" => "offers/{$Folder}/offers.short.tpl",
"template_nav" => "offers/{$Folder}/navigation.tpl",
"template_info" => "offers/{$Folder}/info.tpl",
"tpl_compile" => "offers_content",
"cashe_folder" => "category/",
"cashe_file" => "cashe_{$Offers->RequestCat}.tmp",
"cache" => $Offers->Config['region_on'] == "on" ? false : true,
"sql_count" => "SELECT COUNT(*) as count FROM ".PREFIX."_offers_post WHERE category IN ({$ThreadCatForSql}) AND approve='1' {$SqlRegion} {$SqlSearch}",
"sql_query" => "SELECT * FROM ".PREFIX."_offers_post WHERE category IN ({$ThreadCatForSql}) AND approve='1' {$SqlRegion} {$SqlSearch} ORDER BY {$order} {limit}",
"num" => $OnPage,
"nav" => $PageLink,
"search_info" => $SearchInfo,
"search_text" => $SearchText,
"no_news_error" => $NoNewsError,
);
require( ENGINE_DIR."/modules/offers/list.post.php" );
// Разрешаем вывод формы поиска
$OffersLoadMainTpl = true;
if( $Offers->Config['fastsearch_on'] != "on" ) $OffersAllowSearch = false;
// Ключевые слова и описание для поисковиков
if( $RowCat['description'] ) $metatags['description'] = stripslashes( $RowCat['description'] );
if( $RowCat['keywords'] ) $metatags['keywords'] = stripslashes( $RowCat['keywords'] );
}
//--------------------------------------------------=-=-=-=-=
// В случае ошибки, выводим информацию
//--------------------------------------------------=-=-=-=-=
else
{
$tpl->Load_Template( "info.tpl" );
$tpl->set( "{title}", "Ошибка" );
$tpl->set( "{error}", "Категория не найдена" );
$tpl->compile( "offers" );
$tpl->clear();
}
?>
Собственно, подгоняю один модуль под себя и мне потребовалось сделать чтобы пост размещался в нескольких категориях, я сделал чтобы в БД записывались ID категории через запятую(1,45,56), собственно все как и положено (ранее записывалась только одна).
Но вот как вывести все это дело на сайт не могу понят, т.е. нужно сделать проверку есть ли этот пост в категории или нет, кто подскажет как?