* @link http://www.pioder.pl/ * @license see LICENSE.txt **/ define('IN_uF', true); //include files require('./config.php'); require('./includes/constants.php'); require('./includes/db.php'); require('./includes/errors.php'); //connect to database DataBase::db_connect(); require('./includes/sessions.php'); require('./includes/classes/class_user.php'); require('./common.php'); require('./includes/misc_functions.php'); require('./includes/classes/class_forum.php'); require('./includes/classes/class_topic.php'); require('./includes/classes/secure.php'); $default_lang = DefaultLang(); require('./lngs/'.$default_lang.'/main.php'); $start = TimeGeneration(); $default_skin = ViewSkinName(); SessDelInvalid(); SessRegister(); SessDeleteOld(); if (!isset($_GET['content'])) { header('Location: search.php?content=posts'); } // //generate output pages // if ($_SESSION['uid']>0) { $limiter = $userdata['limit_ftid']; } else { $limiter = $forum_config['limit_ftid']; } if ($_GET['content'] == 'userposts' || $_GET['content'] == 'lastposts') { if (isset($_GET['page'])&&($_GET['page']!=1)) { if (!is_numeric($_GET['page'])) { die('Hacking attempt'); } $value = ($_GET['page']-1)*$limiter; $limit = 'LIMIT '.$value . ', '.$limiter; $page = $_GET['page']; } else { $limit = 'LIMIT 0, '.$limiter; $page=1; } } else { if (isset($_POST['page'])&&($_POST['page']!=1)) { if (!is_numeric($_POST['page'])) { die('Hacking attempt'); } $value = ($_POST['page']-1)*$limiter; $limit = 'LIMIT '.$value . ', '.$limiter; $page = $_POST['page']; } else { $limit = 'LIMIT 0, '.$limiter; $page=1; } } // //end generating pages // if ((isset($_POST['keywords'])) || ($_GET['content']=='lastposts') || ($_GET['content']=='userposts')) { $errors = true; switch($_GET['content']) { case 'lastposts': { if ($_SESSION['uid']>0) { $time = $_SERVER['REQUEST_TIME']-129600; $sql = "SELECT COUNT(`t_id`) as `cnt` FROM ".TOPICS_TABLE." WHERE lastpost_time>$time"; $count = DataBase::fetch(DataBase::sql_query($sql,GENERAL,'Could not obtain count amout of topics')); $count = $count['cnt']; $count = ceil($count / $limiter); if ($count==0) { $count +=1; } if(isset($_GET['page']) && ($_GET['page']>$count)) { message_forum($lng['invalidpage'],'index.php'); } $sql = "SELECT ".TOPICS_TABLE.".*, ".USERS_TABLE.".*, ".TOPICS_TABLE.".posts AS posts FROM ".TOPICS_TABLE." LEFT JOIN ".USERS_TABLE." ON ".TOPICS_TABLE.".author = ".USERS_TABLE.".u_id WHERE lastpost_time>$time ORDER BY `sticky` DESC, `lastpost_time` DESC $limit"; $errors = false; $window_title = $lng['showlastposts']; $navigator_title = ''.$lng['showlastposts']; break; } else { message_forum($lng['youarenotlogd'],'login.php?mode=login'); break; } } case 'userposts': { if (isset($_GET['u'])) { $count = DataBase::fetch(DataBase::sql_query("SELECT COUNT(`t_id`) as `t_id` FROM ".TOPICS_TABLE." WHERE `author`='".intval($_GET['u'])."'",GENERAL,'Could not obtain count amout of topics')); $count = $count['t_id']; $count = ceil($count / $limiter); if ($count==0) { $count +=1; } if(isset($_GET['page']) && ($_GET['page']>$count)) { message_forum($lng['invalidpage'],'index.php'); } $sql = "SELECT ".TOPICS_TABLE.".*, ".USERS_TABLE.".* FROM ".TOPICS_TABLE." LEFT JOIN ".USERS_TABLE." ON ".TOPICS_TABLE.".author = ".USERS_TABLE.".u_id WHERE `u_id`='".intval($_GET['u'])."' ORDER BY `sticky` DESC, `lastpost_time` DESC $limit;"; $errors = false; $window_title = $lng['view_user_topics']; $navigator_title = ''.$lng['view_user_topics']; break; } else { message_forum($lng['no_user'],'index.php'); break; } } case 'posts': { if(strlen(trim($_POST['keywords']))>=3) { $keyword = explode(' ', strip_tags(addslashes($_POST['keywords']))); $like_where = ' `text` LIKE \'%'.$keyword[0].'%\''; for($i=1; $i$count)) { message_forum($lng['invalidpage'],'index.php'); } $sql = "SELECT ".TOPICS_TABLE.".*, ".USERS_TABLE.".*, ".POSTS_TABLE.".*, ".TOPICS_TABLE.".posts AS posts FROM ".TOPICS_TABLE." LEFT JOIN ".USERS_TABLE." ON ".TOPICS_TABLE.".author = ".USERS_TABLE.".u_id LEFT JOIN ".POSTS_TABLE." ON ".POSTS_TABLE.".t_id = ".TOPICS_TABLE.".t_id WHERE $like_where ORDER BY `sticky` DESC, `lastpost_time` DESC $limit;"; $window_title = $lng['search_results']; $navigator_title = ''.$lng['search_results']; $errors = false; } else { message_forum($lng['too_short_keywords'],'search.php?content=posts'); } break; } } if (!$errors) { //add skin variables $skin = array( 'lposts'=>$lng['posts'], 'llastposts'=>$lng['lastpost'], 'lposts'=>$lng['posts'], 'lauthor'=>$lng['author'], 'llastpost'=>$lng['lastpost'], 'ltopicname'=>$lng['ltopicname'], 'lang'=> $default_lang ); $skin = array_push_assoc($skin,GenerateHeader($window_title,$navigator_title)); require('./skins/'.$default_skin.'/overall_header.tpl'); require('./skins/'.$default_skin.'/forum_body.tpl'); $query = DataBase::sql_query($sql,GENERAL, 'Could not obtain topics information'); $value = DataBase::num_rows($query); if ($value>0) { $isset_topics = array(); while($record = DataBase::fetch($query)) { if (!in_array($record['t_id'], $isset_topics)) { $last_post = explode(':', $record['lastpost']); $skin = array( 't_id'=>$record['t_id'], 'fname'=>($record['sticky']=='1') ? ''.$lng['sticky'].''.$record['name'] : $record['name'], 'author'=>Topic::TopicAuthor($record['author']), 'new_post'=>Topic::LastPostImg(), 'tposts'=>$record['posts'], 'lastpost'=>Topic::LastPostInTopic($record['t_id']) ); require('./skins/'.$default_skin.'/forum_forum_add.tpl'); array_push($isset_topics, $record['t_id']); } } } else { echo '

'.$lng['nopost'].'!

'; } $skin = array( 'option_pages' => ListPages($page, $count), 'lwith' => $lng['with'], 'lpage' => $lng['page'], 'lpages' => $count, ); if ($_GET['content']=='posts') { $skin['keywords'] = $_POST['keywords']; } require('./skins/'.$default_skin.'/search_end_body.tpl'); } } else { $skin = array( 'mainpage'=>$lng['lsearch'], 'lsubmit'=>$lng['search'], 'lreset'=>$lng['reset'], 'insert_keywords'=>$lng['insert_keywords'] ); $window_title = $lng['lsearch']; $navigator_title = '
'.$lng['lsearch']; $skin = array_push_assoc($skin,GenerateHeader($window_title,$navigator_title)); require('./skins/'.$default_skin.'/overall_header.tpl'); require('./skins/'.$default_skin.'/search_body.tpl'); } if ($_SESSION['uid']>0) { if(RANK=='2') { $skin['pa_link']=''.$lng['pa_link'].''; } else { $skin['pa_link']=''; } } else { $skin['pa_link']=''; } $stop = TimeGeneration(); $skin['queries'] = ShowQueries($start, $stop); require('./skins/'.$default_skin.'/overall_footer.tpl'); ?>