Zeile 68 | Zeile 68 |
---|
$user = get_user($warning['uid']);
|
$user = get_user($warning['uid']);
|
if(!$user['uid'])
| if(!$user)
|
{ $this->set_error('error_invalid_user'); return false;
| { $this->set_error('error_invalid_user'); return false;
|
Zeile 83 | Zeile 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 115 | Zeile 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'])
| if(!$post)
|
{ $this->set_error('error_invalid_post');
|
{ $this->set_error('error_invalid_post');
|
return false; }
if(!isset($warning['tid'])) { $warning['tid'] = $post['tid']; }
return true;
| return false; }
return true;
|
}
/** * Validate a warning notes.
|
}
/** * Validate a warning notes.
|
* * @return boolean True when valid, false when invalid. */
| * * @return boolean True when valid, false when invalid. */
|
function validate_notes() { $warning = &$this->data;
| function validate_notes() { $warning = &$this->data;
|
Zeile 169 | Zeile 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. * * @return boolean True when valid, false when invalid.
| * Validate warnings type. * * @return boolean True when valid, false when invalid.
|
Zeile 253 | Zeile 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 274 | Zeile 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 314 | Zeile 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 360 | Zeile 336 |
---|
else { $users[$warning['uid']] = $warning['warningpoints']-$warning['points'];
|
else { $users[$warning['uid']] = $warning['warningpoints']-$warning['points'];
|
}
| }
|
}
foreach($users as $uid => $warningpoints) { if($warningpoints < 0)
|
}
foreach($users as $uid => $warningpoints) { if($warningpoints < 0)
|
{
| {
|
$warningpoints = 0; }
| $warningpoints = 0; }
|
Zeile 386 | Zeile 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 411 | Zeile 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']);
if($action['length'] > 0)
|
{ $expiration = 0; $action = my_unserialize($new_level['action']);
if($action['length'] > 0)
|
{
| {
|
$expiration = TIME_NOW+$action['length']; }
| $expiration = TIME_NOW+$action['length']; }
|
Zeile 478 | Zeile 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 494 | Zeile 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 513 | Zeile 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 605 | Zeile 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 696 | Zeile 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'])
|