Vergleich inc/datahandlers/warnings.php - 1.8.3 - 1.8.35

  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))
{
$this->validate_type();

		}
if(array_key_exists('type', $warning))
{
$this->validate_type();

		}

$plugins->run_hooks("datahandler_warnings_validate_warning", $this);


		}

$plugins->run_hooks("datahandler_warnings_validate_warning", $this);


		// We are done validating, return.
$this->set_validated(true);

		// We are done validating, return.
$this->set_validated(true);





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

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

		{
return false;
}


		{
return false;
}


		return true;
}

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

		return true;
}

/**
* 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 314Zeile 290

$wid = (int)$wid;
if($wid <= 0)


$wid = (int)$wid;
if($wid <= 0)

		{
return false;

		{
return false;

		}

$query = $db->simple_select("warnings", "*", "wid='".$wid."'");

		}

$query = $db->simple_select("warnings", "*", "wid='".$wid."'");

Zeile 360Zeile 336
			else
{
$users[$warning['uid']] = $warning['warningpoints']-$warning['points'];

			else
{
$users[$warning['uid']] = $warning['warningpoints']-$warning['points'];

			}

			}

		}

foreach($users as $uid => $warningpoints)

		}

foreach($users as $uid => $warningpoints)

Zeile 369Zeile 345
			{
$warningpoints = 0;
}

			{
$warningpoints = 0;
}





			$updated_user = array(
"warningpoints" => (int)$warningpoints
);

			$updated_user = array(
"warningpoints" => (int)$warningpoints
);

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;



$warning = &$this->data;


Zeile 411Zeile 397
			$query = $db->simple_select("warninglevels", "*", "percentage<={$this->new_warning_level}", array("order_by" => "percentage", "order_dir" => "desc"));
$new_level = $db->fetch_array($query);


			$query = $db->simple_select("warninglevels", "*", "percentage<={$this->new_warning_level}", array("order_by" => "percentage", "order_dir" => "desc"));
$new_level = $db->fetch_array($query);


			if($new_level['lid'])

			if(!empty($new_level) && $new_level['lid'])

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

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

Zeile 478Zeile 464
							}

$new_ban = array(

							}

$new_ban = array(

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

								"uid" => $user['uid'],
"gid" => $action['usergroup'],
"oldgroup" => $user['usergroup'],

								"oldadditionalgroups" => $db->escape_string($user['additionalgroups']),

								"oldadditionalgroups" => $db->escape_string($user['additionalgroups']),

								"olddisplaygroup" => $db->escape_string($user['displaygroup']),

								"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['oldgroup'] = $existing_ban['oldgroup'];

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

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

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

								$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'],
"pid" => (int)$warning['pid'],

			"tid" => (int)$warning['type'],
"pid" => isset($warning['pid']) ? (int)$warning['pid'] : 0,

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

			"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'])