<?php
							 | 
						|
								/** 
							 | 
						|
								* @package	uForum 
							 | 
						|
								* @file		users.php
							 | 
						|
								* @version	$Id$ 
							 | 
						|
								* @copyright	2007-2010 (c) PioDer <[email protected]>
							 | 
						|
								* @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/classes/class_topic.php');
							 | 
						|
								require('./includes/misc_functions.php');
							 | 
						|
								require('./includes/classes/class_forum.php');
							 | 
						|
								$start = TimeGeneration();
							 | 
						|
								require('./lngs/'.DefaultLang().'/main.php');
							 | 
						|
								SessDelInvalid();	
							 | 
						|
								SessRegister();
							 | 
						|
								SessDeleteOld();
							 | 
						|
								$default_skin = ViewSkinName();	
							 | 
						|
								//
							 | 
						|
								//generate output pages
							 | 
						|
								//
							 | 
						|
								if ($_SESSION['uid']>0)
							 | 
						|
								{
							 | 
						|
									$limiter = User::UserInformation($_SESSION['uid'], 'limit_users');
							 | 
						|
								}
							 | 
						|
								else
							 | 
						|
								{
							 | 
						|
									$limiter = $forum_config['limit_users'];
							 | 
						|
								}
							 | 
						|
								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;
							 | 
						|
								}
							 | 
						|
								$count = DataBase::fetch(DataBase::sql_query("SELECT COUNT(`u_id`) as `u_id` 
							 | 
						|
								FROM ".USERS_TABLE,GENERAL,'Could not obtain count amout of users'));
							 | 
						|
								$count = $count['u_id'] -1;
							 | 
						|
								$count = ceil($count / $limiter);
							 | 
						|
								if(isset($_GET['page']) && ($_GET['page']>$count))
							 | 
						|
								{
							 | 
						|
									message_forum($lng['invalidpage'],'index.php');
							 | 
						|
								}
							 | 
						|
								//
							 | 
						|
								//end generating pages
							 | 
						|
								//
							 | 
						|
								if (isset($_COOKIE['users_desc'], $_POST['desc']))
							 | 
						|
								{
							 | 
						|
									unset($_COOKIE['users_desc']);
							 | 
						|
								}
							 | 
						|
								if (isset($_POST['sort'],$_COOKIE['users_sort']))
							 | 
						|
								{
							 | 
						|
									unset($_COOKIE['users_sort']);
							 | 
						|
								}
							 | 
						|
								if (!isset($_COOKIE['users_desc']))
							 | 
						|
								{
							 | 
						|
									if (isset($_POST['desc']))
							 | 
						|
									{
							 | 
						|
								   		switch($_POST['desc'])
							 | 
						|
								   		{
							 | 
						|
								       			case 'yes':
							 | 
						|
								       			{
							 | 
						|
									           		@setcookie('users_desc','desc',$_SERVER['REQUEST_TIME']+3600);
							 | 
						|
												$_COOKIE['users_desc'] = 'desc';
							 | 
						|
												$desc = 'DESC';	
							 | 
						|
												break;
							 | 
						|
											}
							 | 
						|
											case 'no':
							 | 
						|
											{
							 | 
						|
									    			@setcookie('users_desc','no',$_SERVER['REQUEST_TIME']+3600);
							 | 
						|
												$_COOKIE['users_desc'] = 'no';
							 | 
						|
												$desc = '';
							 | 
						|
												break;
							 | 
						|
											}
							 | 
						|
										}
							 | 
						|
									}
							 | 
						|
									else
							 | 
						|
									{
							 | 
						|
								   		@setcookie('users_desc','no',$_SERVER['REQUEST_TIME']+3600);
							 | 
						|
										$_COOKIE['users_desc'] = 'no';
							 | 
						|
										$desc = '';
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								else
							 | 
						|
								{
							 | 
						|
								  	$desc = ($_COOKIE['users_desc']=='desc') ? 'DESC' : '';
							 | 
						|
								}
							 | 
						|
								if (!isset($_COOKIE['users_sort']))
							 | 
						|
								{
							 | 
						|
									if (isset($_POST['sort']))
							 | 
						|
									{
							 | 
						|
								   		switch($_POST['sort'])
							 | 
						|
								   		{
							 | 
						|
								       			case 'regdate':
							 | 
						|
											{
							 | 
						|
												@setcookie('users_sort','regdate',$_SERVER['REQUEST_TIME']+3600);
							 | 
						|
												$_COOKIE['users_sort'] = 'regdate';
							 | 
						|
												break;	
							 | 
						|
											}
							 | 
						|
											case 'lastvisit':
							 | 
						|
											{
							 | 
						|
												@setcookie('users_sort','lastvisit',$_SERVER['REQUEST_TIME']+3600);
							 | 
						|
												$_COOKIE['users_sort'] = 'lastvisit';
							 | 
						|
												break;	
							 | 
						|
											}
							 | 
						|
											case 'uname':
							 | 
						|
											{
							 | 
						|
												@setcookie('users_sort','uname',$_SERVER['REQUEST_TIME']+3600);
							 | 
						|
												$_COOKIE['users_sort'] = 'uname';
							 | 
						|
												break;	
							 | 
						|
											}
							 | 
						|
											case 'posts':
							 | 
						|
											{
							 | 
						|
												@setcookie('users_sort','posts',$_SERVER['REQUEST_TIME']+3600);
							 | 
						|
												$_COOKIE['users_sort'] = 'posts';
							 | 
						|
												break;	
							 | 
						|
											}	
							 | 
						|
										}
							 | 
						|
									}
							 | 
						|
									else
							 | 
						|
									{
							 | 
						|
										@setcookie('users_sort','regdate',$_SERVER['REQUEST_TIME']+3600);
							 | 
						|
										$_COOKIE['users_sort'] = 'regdate';
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								//add skin variables
							 | 
						|
								$skin = array(
							 | 
						|
								'ldesc' => $lng['desc'],
							 | 
						|
								'desc_yes_option'=>(($_COOKIE['users_desc']=='desc') || ((isset ($_POST['desc'])) && ($_POST['desc']=='yes'))) ? 'selected="selected"' : '',
							 | 
						|
								'desc_no_option'=>(($_COOKIE['users_desc']=='no') || ((isset ($_POST['desc'])) && ($_POST['desc']=='no'))) ? 'selected="selected"' : '',
							 | 
						|
								'regdate_option'=>(($_COOKIE['users_sort']=='regdate') || ((isset ($_POST['sort'])) && ($_POST['sort']=='posts'))) ? 'selected="selected"' : '',
							 | 
						|
								'lastvisit_option'=>(($_COOKIE['users_sort']=='lastvisit') || ((isset ($_POST['sort'])) && ($_POST['sort']=='lastvisit'))) ? 'selected="selected"' : '',
							 | 
						|
								'posts_option'=>(($_COOKIE['users_sort']=='posts') || ((isset ($_POST['sort'])) && ($_POST['sort']=='posts'))) ? 'selected="selected"' : '',
							 | 
						|
								'uname_option'=>(($_COOKIE['users_sort']=='uname') || ((isset ($_POST['sort'])) && ($_POST['sort']=='uname'))) ? 'selected="selected"' : '',
							 | 
						|
								'lselectusers'=>$lng['sort_u_by'],
							 | 
						|
								'ltitle'=>$lng['lusers'],
							 | 
						|
								'lyes'=>$lng['yes'],
							 | 
						|
								'lno'=>$lng['no'],
							 | 
						|
								'lregdate'=>$lng['luregister'],
							 | 
						|
								'llastvisit'=>$lng['lulastvisit'],
							 | 
						|
								'lposts'=>$lng['posts'],
							 | 
						|
								'luname'=>$lng['user_name'],
							 | 
						|
								'lgo'=>$lng['lgo']
							 | 
						|
								);
							 | 
						|
								$skin = array_push_assoc($skin, GenerateHeader($lng['lusers'], '<a href="users.php" class="navigator">'.$lng['lusers']));
							 | 
						|
								//do it!
							 | 
						|
								require('./skins/'.$default_skin.'/overall_header.tpl');
							 | 
						|
								require('./skins/'.$default_skin.'/users_body.tpl');
							 | 
						|
								switch($_COOKIE['users_sort'])
							 | 
						|
								{
							 | 
						|
									case 'regdate':
							 | 
						|
									{
							 | 
						|
										$sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `regdate` $desc $limit;";
							 | 
						|
										break;	
							 | 
						|
									}
							 | 
						|
									case 'lastvisit':
							 | 
						|
									{
							 | 
						|
										$sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `lastvisit` $desc $limit;";
							 | 
						|
										break;	
							 | 
						|
									}
							 | 
						|
									case 'uname':
							 | 
						|
									{
							 | 
						|
										$sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `nick` $desc $limit;";
							 | 
						|
										break;	
							 | 
						|
									}
							 | 
						|
									case 'posts':
							 | 
						|
									{
							 | 
						|
										$sql = "SELECT `u_id`,`nick`, `rank`, `regdate`, `lastvisit`, `posts` FROM `".USERS_TABLE."` WHERE `u_id`>0 ORDER BY `posts` $desc $limit;";
							 | 
						|
										break;	
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								$query = DataBase::sql_query($sql,CRITICAL,'Could not obtain user information.');
							 | 
						|
								while($result = DataBase::fetch($query))
							 | 
						|
								{
							 | 
						|
									$skin = array(
							 | 
						|
									'id'=>$result['u_id'],
							 | 
						|
									'uname'=>Topic::UserName($result['nick'], $result['rank']),
							 | 
						|
									'regdate'=>date('d-m-Y, G:i',$result['regdate']),
							 | 
						|
									'lastvisit'=>($result['lastvisit']!='0') ? date('d-m-Y, G:i',$result['lastvisit']) : $lng['never'],
							 | 
						|
									'posts'=>$result['posts']
							 | 
						|
									);
							 | 
						|
										require('./skins/'.$default_skin.'/users_item_add_body.tpl');
							 | 
						|
								}
							 | 
						|
								$skin = array(
							 | 
						|
								'option_pages'=>ListPages($page, $count),
							 | 
						|
								'lwith'=>$lng['with'],
							 | 
						|
								'lpage'=>$lng['page'],
							 | 
						|
								'lpages'=>$count
							 | 
						|
								);
							 | 
						|
								require('./skins/'.$default_skin.'/users_end_body.tpl');
							 | 
						|
								if($_SESSION['uid']>0)
							 | 
						|
								{
							 | 
						|
									if(RANK==2)
							 | 
						|
									{
							 | 
						|
										$skin['pa_link']='<a href="admin/index.php" class="fsmall"><b>'.$lng['pa_link'].'</b></a>';
							 | 
						|
									}
							 | 
						|
									else
							 | 
						|
									{
							 | 
						|
										$skin['pa_link']='';
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								else
							 | 
						|
								{
							 | 
						|
									$skin['pa_link']=''; 
							 | 
						|
								}
							 | 
						|
								$stop = TimeGeneration();
							 | 
						|
								$skin['queries'] =  ShowQueries($start, $stop);
							 | 
						|
								require('./skins/'.$default_skin.'/overall_footer.tpl');
							 | 
						|
								?>
							 |