Location: PHPKode > projects > PBBoard > PBBoard_v2.1.4/Upload/modules/warn.module.php
<?php

$CALL_SYSTEM = array();

$CALL_SYSTEM['PM'] 	= 	true;
$CALL_SYSTEM['WARNLOG'] 	= 	true;
$CALL_SYSTEM['SUPERMEMBERLOGS'] 			= 	true;

(!defined('IN_PowerBB')) ? die() : '';

include('common.php');

define('CLASS_NAME','PowerBBWarnMOD');

class PowerBBWarnMOD
{
	function run()
	{
		global $PowerBB;


			if ($PowerBB->_GET['index'])
			{
				$this->_MemberWarnIndex();
			}
			elseif($PowerBB->_GET['start'])
			{
				$this->_MemberWarnStart();
			}



		$PowerBB->functions->GetFooter();
	}



	function _MemberWarnIndex()
	{
		global $PowerBB;
		$PowerBB->_GET['id'] = $PowerBB->functions->CleanVariable($PowerBB->_GET['id'],'intval');

     			if (empty($PowerBB->_GET['id']))
     		{
     			$PowerBB->functions->error($PowerBB->_CONF['template']['lang']['path_not_true']);
     		}
		$PowerBB->functions->ShowHeader();
		// Getting member info
		$MemArr = array();
		$MemArr['where'] = array('id',$PowerBB->_GET['id']);
		$PowerBB->_CONF['member_row'] = $PowerBB->member->GetMemberInfo($MemArr);
		$PowerBB->_CONF['template']['MemberInfo'] = $PowerBB->_CONF['member_row'];
		//////////

		// Getting member group
		$GroupInfo = array();
		$GroupInfo['where'] = array('id',$PowerBB->_CONF['member_row']['usergroup']);
		$PowerBB->_CONF['group_info'] = $PowerBB->group->GetGroupInfo($GroupInfo);
		//////////

		if (!$PowerBB->_CONF['member_permission'])
     	{
     		$PowerBB->functions->error($PowerBB->_CONF['template']['lang']['Visitors_can_not_use_your_warning']);
     	}
		elseif(!$PowerBB->_CONF['rows']['group_info']['send_warning'])
	{
		$PowerBB->functions->error($PowerBB->_CONF['template']['lang']['You_have_no_powers_to_use_this_system']);
	}	elseif(!$PowerBB->_CONF['group_info']['can_warned'])
	{
		$PowerBB->functions->error($PowerBB->_CONF['template']['lang']['You_can_not_notice_this_member']);
	}

     	$PowerBB->template->display('warn_send');
     }


 function _MemberWarnStart()
	{
		global $PowerBB;

		$PowerBB->functions->ShowHeader();

 			if (empty($PowerBB->_GET['id']))
     		{
     			$PowerBB->functions->error($PowerBB->_CONF['template']['lang']['path_not_true']);
     		}
		if (empty($PowerBB->_POST['text']))
		{
			$PowerBB->functions->error($PowerBB->_CONF['template']['lang']['Please_enter_the_reason_for_warning_this_member']);
		}
		// Getting member info
		$MemArr = array();
		$MemArr['where'] = array('id',$PowerBB->_GET['id']);
		$PowerBB->_CONF['member_row'] = $PowerBB->member->GetMemberInfo($MemArr);
		///////
		$StartArr = array();
		$StartArr['field'] = array();

		$StartArr['field']['warnings'] 	= 	$PowerBB->_CONF['member_row']['warnings']+1;
		$StartArr['where'] =	array('id',$PowerBB->_GET['id']);

		$Warn = $PowerBB->member->UpdateMember($StartArr);


		if ($Warn)
		{
					$PowerBB->_POST['text'] 	= 	$PowerBB->functions->CleanVariable($PowerBB->_POST['text'],'sql');
				$StartArr = array();
				$StartArr['field'] = array();
				$StartArr['field']['unread_pm'] 	= 	$PowerBB->_CONF['member_row']['unread_pm']+1;
				$StartArr['where'] =	array('id',$PowerBB->_GET['id']);
				$Update = $PowerBB->member->UpdateMember($StartArr);
				//////////
				$MsgArr 	= 	array();
				$MsgArr['get_id']=	true;
				$MsgArr['field']	=	array();
				$MsgArr['field']['user_from'] 	= 	$PowerBB->_CONF['rows']['member_row']['username'];
				$MsgArr['field']['user_to'] 	= 	$PowerBB->_CONF['member_row']['username'];
				$MsgArr['field']['title'] 		= 	$PowerBB->_CONF['template']['lang']['Warning'];
				$MsgArr['field']['text'] 		= 	$PowerBB->_POST['text'];
				$MsgArr['field']['date'] 		= 	date('Y-m-d', $PowerBB->_CONF['now']);
				$MsgArr['field']['icon'] 		= 	'look/images/icons/i1.gif';
				$MsgArr['field']['folder'] 		= 	'inbox';
				$Send = $PowerBB->pm->InsertMassege($MsgArr);
				$LogArr = array();
				$LogArr['field'] = array();
				$LogArr['field']['warn_from'] = $PowerBB->_CONF['rows']['member_row']['username'];
				$LogArr['field']['warn_to'] = $PowerBB->_CONF['member_row']['username'];
				$LogArr['field']['warn_text'] = $PowerBB->_POST['text'];
				$LogArr['field'] ['warn_date'] = date('Y-m-d', $PowerBB->_CONF['now']);
				$LogInsert = $PowerBB->warnlog->Insert($LogArr);

                 //  if warning number More The number of warnings suspended Member
				if ($PowerBB->_CONF['member_row']['warnings'] >= $PowerBB->_CONF['info_row']['warning_number_to_ban']-1)
				{
					$GrpArr 			= 	array();
					$GrpArr['where'] 	= 	array('id','6');

					$GroupInfo = $PowerBB->group->GetGroupInfo($GrpArr);

					$MemArr 			= 	array();
					$MemArr['where'] 	= 	array('id',$PowerBB->_GET['id']);

					$MemInfo = $PowerBB->member->GetMemberInfo($MemArr);

					$style = $GroupInfo['username_style'];
					$username_style_cache = str_replace('[username]',$MemInfo['username'],$style);


					$BandArr = array();
					$BandArr['field'] = array();

					$BandArr['field']['usergroup'] 	= 	'6';
		            $BandArr['field']['username_style_cache'] 		= 	$username_style_cache;
					$BandArr['field']['user_title'] 	= 	$PowerBB->_CONF['template']['lang']['suspended'];
					$BandArr['where'] =	array('id',$PowerBB->_GET['id']);

					$Band = $PowerBB->member->UpdateMember($BandArr);

				 if ($Band)
				 {
			        $SmLogsArr 			= 	array();
					$SmLogsArr['field']	=	array();

					$SmLogsArr['field']['username'] 	= 	$PowerBB->_CONF['rows']['member_row']['username'];
					$SmLogsArr['field']['edit_action'] 	= 	$PowerBB->_CONF['template']['lang']['Warning_by'] . $PowerBB->_CONF['member_row']['username'];
					$SmLogsArr['field']['subject_title']= 	$PowerBB->_CONF['template']['lang']['suspended_by'];
					$SmLogsArr['field']['subject_id'] 	= 	$PowerBB->_GET['id'];
					$SmLogsArr['field']['edit_date'] 	= 	date("d/m/Y", $PowerBB->_CONF['now']);

					$insert = $PowerBB->supermemberlogs->InsertSupermemberlogs($SmLogsArr);
                 }
				}

			$PowerBB->functions->msg($PowerBB->_CONF['template']['lang']['Was_warning_member_successfully']);
			$PowerBB->functions->redirect('index.php');
		}
		else
		{
			$PowerBB->functions->msg($PowerBB->_CONF['template']['lang']['There_was_an_error_no_warning_Member']);
		}
	}
}

?>
Return current item: PBBoard