\n";
$sort_by = [
'datestamp' => "news_datestamp",
'subject' => "news_subject",
'author' => "news_name",
];
$order_by = [
'0' => ' DESC',
'1' => ' ASC',
];
$sortby = !empty(Search_Engine::get_param('sort')) ? "ORDER BY ".$sort_by[Search_Engine::get_param('sort')].$order_by[Search_Engine::get_param('order')] : '';
$limit = (Search_Engine::get_param('stype') != "all" ? " LIMIT ".Search_Engine::get_param('rowstart').",10" : '');
$date_search = (Search_Engine::get_param('datelimit') != 0 ? ' AND news_datestamp>='.(TIME - Search_Engine::get_param('datelimit')) : '');
switch (Search_Engine::get_param('fields')) {
case 2:
Search_Engine::search_column('news_subject', 'news');
Search_Engine::search_column('news_news', 'news');
Search_Engine::search_column('news_extended', 'news');
break;
case 1:
Search_Engine::search_column('news_news', 'news');
Search_Engine::search_column('news_extended', 'news');
break;
default:
Search_Engine::search_column('news_subject', 'news');
}
if (!empty(Search_Engine::get_param('search_param'))) {
$rows = dbcount("(news_id)", DB_NEWS, (multilang_table("NS") ? in_group('news_language', LANGUAGE)." AND " : "").groupaccess('news_visibility')." AND ".Search_Engine::search_conditions('news')." AND (news_start='0'||news_start<=NOW()) AND (news_end='0'||news_end>=NOW()) ".$date_search, Search_Engine::get_param('search_param'));
} else {
$rows = 0;
}
if ($rows != 0) {
require_once INFUSIONS.'news/classes/autoloader.php';
$item_count = "".$rows." ".($rows == 1 ? $locale['n401'] : $locale['n402'])." ".$locale['522']."
\n";
$result = dbquery("SELECT tn.*, nc.*, tu.user_id, tu.user_name, tu.user_status,
ni.news_image, ni.news_image_t1, ni.news_image_t2
FROM ".DB_NEWS." tn
LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
LEFT JOIN ".DB_NEWS_CATS." nc ON tn.news_cat=nc.news_cat_id
LEFT JOIN ".DB_NEWS_IMAGES." ni ON ni.news_id=tn.news_id AND tn.news_image_front_default=ni.news_image_id
".(multilang_table("NS") ? "WHERE ".in_group('tn.news_language', LANGUAGE)." AND " : "WHERE ").groupaccess('news_visibility')."
AND (news_start='0'||news_start<=NOW())
AND (news_end='0'||news_end>=NOW()) AND ".Search_Engine::search_conditions('news').$date_search.$sortby.$limit
, Search_Engine::get_param('search_param')
);
$search_result = '';
while ($data = dbarray($result)) {
$text_all = $data['news_news']." ".$data['news_extended'];
$text_all = Search_Engine::search_striphtmlbbcodes($text_all);
$text_frag = Search_Engine::search_textfrag($text_all);
$subj_c = Search_Engine::search_stringscount($data['news_subject']);
$text_c = Search_Engine::search_stringscount($data['news_news']);
$text_c2 = Search_Engine::search_stringscount($data['news_extended']);
$context = "