Vergleich inc/datahandlers/warnings.php - 1.8.0 - 1.8.20

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 83Zeile 83
		if($user['warningpoints'] >= $mybb->settings['maxwarningpoints'])
{
$this->set_error('error_user_reached_max_warning');

		if($user['warningpoints'] >= $mybb->settings['maxwarningpoints'])
{
$this->set_error('error_user_reached_max_warning');

			return false;
}

return true;
}

/**
* Validate a warning thread.
*
* @return boolean True when valid, false when invalid.
*/
function validate_thread()
{
$warning = &$this->data;

$thread = get_thread($warning['tid']);

if(!$thread['tid'])
{
$this->set_error('error_invalid_post');

 
			return false;
}


			return false;
}


Zeile 115Zeile 95
	* @return boolean True when valid, false when invalid.
*/
function validate_post()

	* @return boolean True when valid, false when invalid.
*/
function validate_post()

	{
$warning = &$this->data;


	{
$warning = &$this->data;


		$post = get_post($warning['pid']);

		$post = get_post($warning['pid']);





		if(!$post['pid'])
{
$this->set_error('error_invalid_post');

		if(!$post['pid'])
{
$this->set_error('error_invalid_post');

			return false;
}

if(!isset($warning['tid']))
{
$warning['tid'] = $post['tid'];
}


			return false;
}







		return true;
}

/**
* Validate a warning notes.

		return true;
}

/**
* Validate a warning notes.

	*
* @return boolean True when valid, false when invalid.

	*
* @return boolean True when valid, false when invalid.

	*/
function validate_notes()
{

	*/
function validate_notes()
{

Zeile 169Zeile 144
			if($given_today >= $mybb->usergroup['maxwarningsday'])
{
$this->set_error('reached_max_warnings_day', array(my_number_format($mybb->usergroup['maxwarningsday'])));

			if($given_today >= $mybb->usergroup['maxwarningsday'])
{
$this->set_error('reached_max_warnings_day', array(my_number_format($mybb->usergroup['maxwarningsday'])));

				return false;
}
}

return true;
}


				return false;
}
}

return true;
}


	/**
* Validate warnings type.
*

	/**
* Validate warnings type.
*

Zeile 253Zeile 228
			}

$warning['points'] = $this->warning_type['points'];

			}

$warning['points'] = $this->warning_type['points'];


$warning['title'] = $warning['expires'] = '';


			$warning['title'] = '';
$warning['expires'] = 0;


			if($this->warning_type['expirationtime'])
{
$warning['expires'] = TIME_NOW+$this->warning_type['expirationtime'];
}

			if($this->warning_type['expirationtime'])
{
$warning['expires'] = TIME_NOW+$this->warning_type['expirationtime'];
}

		}

		}


return true;
}


return true;
}

Zeile 274Zeile 250
		global $plugins;

$warning = &$this->data;

		global $plugins;

$warning = &$this->data;





		// Verify all warning assets.
$this->validate_user();
$this->validate_maximum();
$this->validate_notes();

		// Verify all warning assets.
$this->validate_user();
$this->validate_maximum();
$this->validate_notes();





		if(array_key_exists('pid', $warning))
{
$this->validate_post();

		if(array_key_exists('pid', $warning))
{
$this->validate_post();

			$this->validate_thread();

 
		}
if(array_key_exists('type', $warning))
{

		}
if(array_key_exists('type', $warning))
{

Zeile 296Zeile 271
		$this->set_validated(true);

if(count($this->get_errors()) > 0)

		$this->set_validated(true);

if(count($this->get_errors()) > 0)

		{
return false;
}

		{
return false;
}


return true;
}


return true;
}

Zeile 306Zeile 281
	/**
* Gets a valid warning from the DB engine.
*

	/**
* Gets a valid warning from the DB engine.
*

	* @return mixed array when valid, boolean false when invalid.


	* @param int $wid
* @return array|bool array when valid, boolean false when invalid.

	*/
function get($wid)
{

	*/
function get($wid)
{

Zeile 386Zeile 362
	*/
function update_user($method='insert')
{

	*/
function update_user($method='insert')
{

		global $db, $mybb, $lang;











		global $db, $mybb, $lang, $cache, $groupscache;

if($mybb->settings['maxwarningpoints'] < 1)
{
$mybb->settings['maxwarningpoints'] = 10;
}

if(!is_array($groupscache))
{
$groupscache = $cache->read("usergroups");
}


$warning = &$this->data;

$user = get_user($warning['uid']);


$warning = &$this->data;

$user = get_user($warning['uid']);





		if($method == 'insert')
{
// Build warning level & ensure it doesn't go over 100.
$current_level = round($user['warningpoints']/$mybb->settings['maxwarningpoints']*100);
$this->new_warning_level = round(($user['warningpoints']+$warning['points'])/$mybb->settings['maxwarningpoints']*100);
if($this->new_warning_level > 100)

		if($method == 'insert')
{
// Build warning level & ensure it doesn't go over 100.
$current_level = round($user['warningpoints']/$mybb->settings['maxwarningpoints']*100);
$this->new_warning_level = round(($user['warningpoints']+$warning['points'])/$mybb->settings['maxwarningpoints']*100);
if($this->new_warning_level > 100)

			{

			{

				$this->new_warning_level = 100;
}

				$this->new_warning_level = 100;
}





			// Update user
$this->updated_user = array(
"warningpoints" => $user['warningpoints']+$warning['points']

			// Update user
$this->updated_user = array(
"warningpoints" => $user['warningpoints']+$warning['points']

Zeile 415Zeile 401
			{
$expiration = 0;
$action = my_unserialize($new_level['action']);

			{
$expiration = 0;
$action = my_unserialize($new_level['action']);





				if($action['length'] > 0)
{
$expiration = TIME_NOW+$action['length'];

				if($action['length'] > 0)
{
$expiration = TIME_NOW+$action['length'];

Zeile 450Zeile 436
									if($date == '---')
{
continue;

									if($date == '---')
{
continue;

									}


									}


									$time = 0;
list($day, $month, $year) = explode('-', $date);
if($day > 0)

									$time = 0;
list($day, $month, $year) = explode('-', $date);
if($day > 0)

Zeile 474Zeile 460
										$bantime = $date;
break;
}

										$bantime = $date;
break;
}

								}
}

								}
}


$new_ban = array(


$new_ban = array(

								"uid" => (int)$user['uid'],
"gid" => $db->escape_string($action['usergroup']),
"oldgroup" => $db->escape_string($user['usergroup']),
"oldadditionalgroups" => $db->escape_string($user['additionalgroups']),
"olddisplaygroup" => $db->escape_string($user['displaygroup']),

								"uid" => $user['uid'],
"gid" => $action['usergroup'],
"oldgroup" => $user['usergroup'],
"oldadditionalgroups" => $user['additionalgroups'],
"olddisplaygroup" => $user['displaygroup'],

								"admin" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"bantime" => $db->escape_string($bantime),

								"admin" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"bantime" => $db->escape_string($bantime),

Zeile 494Zeile 480
							{
$db->delete_query("banned", "uid='{$user['uid']}' AND gid='{$action['usergroup']}'");
// Override new ban details with old group info

							{
$db->delete_query("banned", "uid='{$user['uid']}' AND gid='{$action['usergroup']}'");
// Override new ban details with old group info

								$new_ban['oldgroup'] = $db->escape_string($existing_ban['oldgroup']);
$new_ban['oldadditionalgroups'] = $db->escape_string($existing_ban['oldadditionalgroups']);
$new_ban['olddisplaygroup'] = $db->escape_string($existing_ban['olddisplaygroup']);

								$new_ban['oldgroup'] = $existing_ban['oldgroup'];
$new_ban['oldadditionalgroups'] = $existing_ban['oldadditionalgroups'];
$new_ban['olddisplaygroup'] = $existing_ban['olddisplaygroup'];

							}

$period = $lang->expiration_never;

							}

$period = $lang->expiration_never;

Zeile 513Zeile 499

$db->insert_query("banned", $new_ban);
$this->updated_user['usergroup'] = $action['usergroup'];


$db->insert_query("banned", $new_ban);
$this->updated_user['usergroup'] = $action['usergroup'];

							$this->updated_user['additionalgroups'] = $this->updated_user['displaygroup'] = "";


							$this->updated_user['additionalgroups'] = '';
$this->updated_user['displaygroup'] = 0;

						}
break;
// Suspend posting privileges

						}
break;
// Suspend posting privileges

Zeile 605Zeile 592
							{
case 1: // Ban
// we'll have to resort to letting the admin/mod remove the ban manually, since there's an issue if stacked bans are in force...

							{
case 1: // Ban
// we'll have to resort to letting the admin/mod remove the ban manually, since there's an issue if stacked bans are in force...

									continue;

									continue 2;

								case 2: // Revoke posting
$current_expiry_field = 'suspensiontime';
$current_inforce_field = 'suspendposting';

								case 2: // Revoke posting
$current_expiry_field = 'suspensiontime';
$current_inforce_field = 'suspendposting';

Zeile 696Zeile 683

$this->write_warning_data = array(
"uid" => (int)$warning['uid'],


$this->write_warning_data = array(
"uid" => (int)$warning['uid'],

			"tid" => (int)$warning['tid'],

			"tid" => (int)$warning['type'],

			"pid" => (int)$warning['pid'],
"title" => $db->escape_string($warning['title']),
"points" => (int)$warning['points'],
"dateline" => TIME_NOW,

			"pid" => (int)$warning['pid'],
"title" => $db->escape_string($warning['title']),
"points" => (int)$warning['points'],
"dateline" => TIME_NOW,

			"issuedby" => (int)$mybb->user['uid'],
"expires" => $db->escape_string($warning['expires']),

			"issuedby" => $mybb->user['uid'],
"expires" => (int)$warning['expires'],

			"expired" => 0,
"revokereason" => '',
"notes" => $db->escape_string($warning['notes'])

			"expired" => 0,
"revokereason" => '',
"notes" => $db->escape_string($warning['notes'])