A lightweight forum engine written in PHP. Repository is now obsolete and read-only. http://www.pioder.pl/uforum.html
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

191 lines
5.9 KiB

<?php
/**
* @package uForum
* @file warns.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/misc_functions.php');
require('./includes/classes/class_topic.php');
require('./includes/classes/class_posting.php');
require('./includes/classes/class_forum.php');
require('./includes/classes/secure.php');
require('./lngs/'.DefaultLang().'/main.php');
$start = TimeGeneration();
SessDelInvalid();
SessRegister();
SessDeleteOld();
foreach ($_POST as $name => $value)
{
if ($forum_config['use_censorlist'])
{
$_POST[$name] = Secure::UseCensorlist($value);
}
}
if (!$forum_config['allow_warns'])
{
message_forum($lng['warns_disabled'],'index.php');
}
$default_skin = ViewSkinName();
switch(trim($_GET['mode']))
{
case 'add':
{
$uid = intval($_GET['id']);
if (User::RankAdminMod($_SESSION['uid'])=='0')
{
message_forum($lng['is_no_mod'],'warns.php?mode=view&amp;id='.$uid);
}
$msg ='./skins/'.$default_skin.'/blank.tpl';
if ((isset($_POST['textedit'])) and (isset($_POST['value'])))
{
if (($_POST['textedit'] !="" ) and (strlen($_POST['textedit'])>10))
{
if ((strpos($_POST['value'],'+')!==false) or (strpos($_POST['value'],'-')!==false))
{
if ($_POST['value'] == '+')
{
if (User::UserInformation($_GET['id'],'rank')>0)
{
message_forum($lng['cannot_add_warn_am'],'warns.php?mode=view&amp;id='.$_GET['id']);
}
}
$_POST['textedit'] = Secure::TagsReplace($_POST['textedit']);
User::UserAddWarn($_GET['id'],$_POST['value'] ,addslashes(strip_tags($_POST['textedit'])));
$stop = TimeGeneration();
message_forum($lng['warn_is_added'],'warns.php?mode=view&amp;id='.$_GET['id']);
}
else
{
$message = $lng['werror_1'];
$msg = './skins/'.$default_skin.'/post_error_body.tpl';
}
}
else
{
$message = $lng['perror_1'];
$msg = './skins/'.$default_skin.'/post_error_body.tpl';
}
}
else
{
$_POST['textedit']='';
$_POST['value']='';
}
$nick_name = User::UserInformation($_GET['id'],'nick');
if($nick_name=='')
{
message_forum($lng['no_user'],'index.php');
}
//add skin variables
$skin = array(
'f_id'=>$_GET['id'],
'smiles'=>Post::SmilesShow(),
'action'=>'warns.php?mode=add&amp;id='.$_GET['id'],
//labels
'lsmiles'=>$lng['smiles'],
'lmsg'=>$lng['motive'],
'ladd'=>$lng['add'],
'ldelete'=>$lng['delete'],
'lsave'=>$lng['save'],
'lvalue'=>$lng['value'],
'lreset'=>$lng['reset'],
'lwarn'=>$lng['warn'],
'lall_warns'=>$lng['all_warns'],
'queries'=>ShowQueries($start, TimeGeneration())
);
$skin = array_push_assoc($skin, GenerateHeader($lng['add_warn'].': '.$nick_name,'<a href="warns.php?mode=add&amp;id='.$uid.'" class="navigator">'.$lng['add_warn'].': '.$nick_name));
if(User::UserInformation($_SESSION['uid'],'rank')=='2')
{
$skin['pa_link']='<a href="admin/index.php" class="fsmall"><b>'.$lng['pa_link'].'</b></a>';
}
else
{
$skin['pa_link']='';
}
require('./skins/'.$default_skin.'/overall_header.tpl');
require('./skins/'.$default_skin.'/warns_add_body.tpl');
require('./skins/'.$default_skin.'/overall_footer.tpl');
break;
}
case 'view':
{
$uid = $_GET['id'];
$sql = "SELECT `u_id`, `nick` FROM `".USERS_TABLE."` WHERE `u_id`='$uid'";
$query = DataBase::sql_query($sql,GENERAL,'Could not obtain user information');
$user = DataBase::fetch($query);
if ($user['u_id']=='')
{
message_forum($lng['no_user'],'index.php');
}
//add skin variables
$skin = array(
'lvalue' => $lng['value'],
'lmotive' => $lng['motive']
);
$skin = array_push_assoc($skin, GenerateHeader($lng['show_warns'].': '.$user['nick'], '<a href="warns.php?mode=view&amp;id='.$uid.'" class="navigator">'.$lng['show_warns'].': '.$user['nick']));
require('./skins/'.$default_skin.'/overall_header.tpl');
require('./skins/'.$default_skin.'/warns_view_body.tpl');
$sql = "SELECT * FROM `".WARNINGS_TABLE."` WHERE `u_id`='$uid'";
$query = DataBase::sql_query($sql,GENERAL,'Could not obtain user warns information');
$result = DataBase::num_rows($query);
$warns_count = 0;
while($item = DataBase::fetch($query))
{
$skin = array(
'value'=>$item['value'],
'motive'=>$item['motive']
);
require('./skins/'.$default_skin.'/warns_view_item_body.tpl');
$warns_count = ($item['value']=='+') ? $warns_count + 1 : $warns_count -1;
}
$stop = TimeGeneration();
$skin = array(
'lall_warns'=>$lng['all_warns'],
'all_warns'=>($warns_count>0) ? '<span class="fstandard" style="color: "red"><b>'.($warns_count*10).'%</b></span>' : '<span class="fstandard" style="color: green"><b>'.$warns_count.'%</b></span>',
'queries'=>ShowQueries($start, $stop)
);
$user_rank = ($_SESSION['uid']>0) ? RANK : 0;
if ($user_rank>0)
{
$skin['add']='<td width="128"><a href="warns.php?mode=add&amp;id='.$uid.'" class="fstandard"><b><u>'.$lng['add_warn'].'</u></b></a></td>';
}
else
{
$skin['add']='';
}
if ($result>0)
{
$skin['no_elements']='';
}
else
{
$skin['no_elements']='<tr><td width="'.TABLES_WIDTH.'" colspan="2" class="fitem"><p class="fstandard" align="center">'.$lng['no_elements'].'!</p></td></tr>';
}
require('./skins/'.$default_skin.'/warns_view_end_body.tpl');
require('./skins/'.$default_skin.'/overall_footer.tpl');
break;
}
default:
{
$stop = TimeGeneration();
message_forum($lng['invalidmode'],'index.php');
break;
}
}
?>