<?php
|
|
/**
|
|
* @package uForum
|
|
* @file groups.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
|
|
include('./config.php');
|
|
include('./includes/constants.php');
|
|
include('./includes/db.php');
|
|
include('./includes/errors.php');
|
|
//connect to database
|
|
DataBase::db_connect();
|
|
include('./includes/sessions.php');
|
|
include('./includes/classes/class_user.php');
|
|
include('./common.php');
|
|
include('./includes/misc_functions.php');
|
|
include('./includes/classes/class_topic.php');
|
|
include('./includes/classes/secure.php');
|
|
include('./lngs/'.DefaultLang().'/main.php');
|
|
SessDelInvalid();
|
|
SessRegister();
|
|
SessDeleteOld();
|
|
$start = TimeGeneration();
|
|
foreach ($_POST as $name => $value)
|
|
{
|
|
if ($forum_config['use_censorlist'])
|
|
{
|
|
$_POST[$name] = Secure::UseCensorlist($value);
|
|
}
|
|
}
|
|
if(isset($_GET['mode']))
|
|
{
|
|
switch($_GET['mode'])
|
|
{
|
|
case 'view':
|
|
{
|
|
$start = TimeGeneration();
|
|
$default_skin = ViewSkinName();
|
|
$gid = addslashes(strip_tags($_GET['id']));
|
|
if ((isset($_POST['nick']))and ($_POST['nick']!=''))
|
|
{
|
|
if($_POST['nick']!='')
|
|
{
|
|
$uid =User::UserIdByNick($_POST['nick']);
|
|
Secure::user_exists($uid);
|
|
User::AddToGroup($uid, $gid);
|
|
message_forum($lng['useraddedtogroup'],'groups.php?mode=view&id='.$gid);
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
}
|
|
elseif ((isset($_POST['delnick']))and ($_POST['delnick']!=''))
|
|
{
|
|
$uid =User::UserIdByNick($_POST['delnick']);
|
|
Secure::user_exists($uid);
|
|
User::DeleteFromGroup($uid, $gid);
|
|
message_forum($lng['userdeletedforgroup'],'groups.php?mode=view&id='.$gid);
|
|
}
|
|
else
|
|
{
|
|
$_POST['nick']='';
|
|
$_POST['delnick']='';
|
|
}
|
|
$bool = ($gid == 'mods') ? true : ($gid == 'admins') ? true : false;
|
|
if (!$bool)
|
|
{
|
|
$sql = "SELECT `g_id`, `name`, `desc`, `m_id` FROM `".GROUPS_TABLE."` WHERE `g_id`='$gid'";
|
|
$group = DataBase::fetch(DataBase::sql_query($sql, GENERAL, 'Could not obtain groups information.'));
|
|
if ($group['g_id']=='')
|
|
{
|
|
message_forum($lng['no_group'], 'groups.php');
|
|
}
|
|
}
|
|
if ($gid == 'admins')
|
|
{
|
|
$group['name'] = $lng['admins'];
|
|
$group['desc'] = $lng['admins_desc'];
|
|
}
|
|
if ($gid == 'mods')
|
|
{
|
|
$group['name'] = $lng['mods'];
|
|
$group['desc'] = $lng['mods_desc'];
|
|
}
|
|
unset($tmp);
|
|
$skin = GenerateHeader($lng['showgroup'].': '.$group['name'], '</a>> <a href="groups.php?mode=view&id='.$group['g_id'].'" class="navigator">'.$lng['showgroup'].': '.$group['name']);
|
|
include('./skins/'.$default_skin.'/overall_header.tpl');
|
|
$skin = array(
|
|
'moderate'=>(is_numeric($gid)) ? IfModGroup($group['m_id']) : '',
|
|
'name'=>$group['name'],
|
|
'desc'=>$group['desc'],
|
|
'lregdate'=>$lng['luregister'],
|
|
'llastvisit'=>$lng['lulastvisit'],
|
|
'lposts'=>$lng['posts'],
|
|
'luname'=>$lng['user_name'],
|
|
'g_id'=>$group['g_id']
|
|
);
|
|
include('./skins/'.$default_skin.'/group_view_head_body.tpl');
|
|
if ($gid == 'admins') { $rnk = 2; } else {$rnk = 1;}
|
|
if (is_numeric($gid))
|
|
{
|
|
$sql = "SELECT ".USERS_GROUP_TABLE.".*, ".USERS_TABLE.".* FROM `".USERS_GROUP_TABLE."` LEFT JOIN ".USERS_TABLE." ON ".USERS_TABLE.".u_id =".USERS_GROUP_TABLE.".u_id WHERE `g_id`='$gid'";
|
|
}
|
|
else
|
|
{
|
|
$sql = "SELECT * FROM ".USERS_TABLE." WHERE `rank` = '$rnk'";
|
|
}
|
|
$query = DataBase::sql_query($sql, GENERAL, 'Could not obtain users in groups information.');
|
|
$amout = DataBase::num_rows($query);
|
|
if ($amout>0)
|
|
{
|
|
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']
|
|
);
|
|
include('./skins/'.$default_skin.'/users_item_add_body.tpl');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo '<tr><td width="100%" colspan="8" height="19" class="fitem"><p class="fstandard" align="center">'.$lng['no_elements'].'!</p></td></tr>';
|
|
}
|
|
echo '</table>';
|
|
$stop = TimeGeneration();
|
|
$skin['queries'] = ShowQueries($start, $stop);
|
|
include('./skins/'.$default_skin.'/overall_footer.tpl');
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
message_forum($lng['invalidmode'],'groups.php');
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$default_skin = ViewSkinName();
|
|
|
|
$skin = GenerateHeader($lng['lgroups'], '</a>> <a href="groups.php" class="navigator">'.$lng['lgroups']);
|
|
include('./skins/'.$default_skin.'/overall_header.tpl');
|
|
$special_groups[] = array('admins', $lng['admins'], $lng['admins_desc']);
|
|
$special_groups[] = array('mods', $lng['mods'], $lng['mods_desc']);
|
|
$i = 0;
|
|
while($i<2)
|
|
{
|
|
$color = ($i==0) ? $forum_config['color_admin'] : $forum_config['color_mod'];
|
|
$skin = array (
|
|
'g_id'=>$special_groups[$i][0],
|
|
'name' => '<span style="color: '.$color.'">'.$special_groups[$i][1].'</span>',
|
|
'desc' =>$special_groups[$i][2]
|
|
);
|
|
include('./skins/'.$default_skin.'/group_add_body.tpl');
|
|
$i++;
|
|
}
|
|
echo '<br />';
|
|
|
|
$sql = "SELECT `g_id`, `name`, `desc` FROM `".GROUPS_TABLE."` ORDER BY `sort`";
|
|
$query = DataBase::sql_query($sql, GENERAL, 'Could not obtain groups information.');
|
|
if (DataBase::num_rows($query)>0)
|
|
{
|
|
while($item = DataBase::fetch($query))
|
|
{
|
|
$skin = array(
|
|
'g_id'=>$item['g_id'],
|
|
'name'=>$item['name'],
|
|
'desc'=>$item['desc']
|
|
);
|
|
include('./skins/'.$default_skin.'/group_add_body.tpl');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo '<table class="maintable"><tr><td width="'.TABLES_WIDTH.'" colspan="8"
|
|
height="19" class="fitem"><p class="fstandard" align="center">'.$lng['no_groups'].'!</p></td></tr></table>';
|
|
}
|
|
$stop = TimeGeneration();
|
|
$skin['queries'] = ShowQueries($start, $stop);
|
|
include('./skins/'.$default_skin.'/overall_footer.tpl');
|
|
}
|
|
?>
|