Zeile 6 | Zeile 6 |
---|
* Website: http://mybb.com * License: http://mybb.com/about/license *
|
* Website: http://mybb.com * License: http://mybb.com/about/license *
|
* $Id: reputation.php 5628 2011-10-06 08:24:24Z Tomm $
| * $Id$
|
*/
define("IN_MYBB", 1); define('THIS_SCRIPT', 'reputation.php');
|
*/
define("IN_MYBB", 1); define('THIS_SCRIPT', 'reputation.php');
|
$templatelist = 'reputation_addlink,reputation_no_votes,reputation,reputation_add_error,reputation_deleted,reputation_added,reputation_add,reputation_vote,multipage_page_current,multipage_page,multipage_nextpage,multipage';
| $templatelist = 'reputation_addlink,reputation_no_votes,reputation,reputation_add_error,reputation_deleted,reputation_added,reputation_add,reputation_vote,multipage_page_current,multipage_page,multipage_nextpage,multipage,multipage_prevpage,multipage_start,multipage_end';
|
require_once "./global.php";
require_once MYBB_ROOT."inc/class_parser.php";
| require_once "./global.php";
require_once MYBB_ROOT."inc/class_parser.php";
|
Zeile 76 | Zeile 76 |
---|
output_page($error); exit; }
|
output_page($error); exit; }
|
|
|
// If a post has been given but post ratings have been disabled, set the post to 0. This will mean all subsequent code will think no post was given. if($mybb->input['pid'] != 0 && $mybb->settings['postrep'] != 1)
|
// If a post has been given but post ratings have been disabled, set the post to 0. This will mean all subsequent code will think no post was given. if($mybb->input['pid'] != 0 && $mybb->settings['postrep'] != 1)
|
{
| {
|
$mybb->input['pid'] = 0; }
|
$mybb->input['pid'] = 0; }
|
|
|
// Check if this user has reached their "maximum reputations per day" quota if($mybb->usergroup['maxreputationsday'] != 0 && ($mybb->input['action'] != "do_add" || ($mybb->input['action'] == "do_add" && !$mybb->input['delete']))) { $timesearch = TIME_NOW - (60 * 60 * 24); $query = $db->simple_select("reputation", "*", "adduid='".$mybb->user['uid']."' AND dateline>'$timesearch'");
|
// Check if this user has reached their "maximum reputations per day" quota if($mybb->usergroup['maxreputationsday'] != 0 && ($mybb->input['action'] != "do_add" || ($mybb->input['action'] == "do_add" && !$mybb->input['delete']))) { $timesearch = TIME_NOW - (60 * 60 * 24); $query = $db->simple_select("reputation", "*", "adduid='".$mybb->user['uid']."' AND dateline>'$timesearch'");
|
$numtoday = $db->num_rows($query);
| $numtoday = $db->num_rows($query);
|
// Reached the quota - error. if($numtoday >= $mybb->usergroup['maxreputationsday']) {
| // Reached the quota - error. if($numtoday >= $mybb->usergroup['maxreputationsday']) {
|
Zeile 99 | Zeile 99 |
---|
exit; } }
|
exit; } }
|
|
|
// Is the user giving too much reputation to another? if($mybb->usergroup['maxreputationsperuser'] != 0 && ($mybb->input['action'] != "do_add" || ($mybb->input['action'] == "do_add" && !$mybb->input['delete']))) {
| // Is the user giving too much reputation to another? if($mybb->usergroup['maxreputationsperuser'] != 0 && ($mybb->input['action'] != "do_add" || ($mybb->input['action'] == "do_add" && !$mybb->input['delete']))) {
|
Zeile 115 | Zeile 115 |
---|
exit; } }
|
exit; } }
|
|
|
if($mybb->input['pid']) { // Make sure that this post exists, and that the author of the post we're giving this reputation for corresponds with the user the rep is being given to. $post = get_post($mybb->input['pid']);
|
if($mybb->input['pid']) { // Make sure that this post exists, and that the author of the post we're giving this reputation for corresponds with the user the rep is being given to. $post = get_post($mybb->input['pid']);
|
if($uid != $post['uid']) { $mybb->input['pid'] = 0; } else // We have the correct post, but has the user given too much reputation to another in the same thread? if($mybb->usergroup['maxreputationsperthread'] != 0 && ($mybb->input['action'] != "do_add" || ($mybb->input['action'] == "do_add" && !$mybb->input['delete']))) { $timesearch = TIME_NOW - (60 * 60 * 24); $query = $db->query(" SELECT COUNT(p.pid) AS posts FROM ".TABLE_PREFIX."reputation r LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid = r.pid) WHERE r.uid = '{$uid}' AND r.adduid = '{$mybb->user['uid']}' AND p.tid = '{$post['tid']}' AND r.dateline > '{$timesearch}' ");
$numtoday = $db->fetch_field($query, 'posts');
if($numtoday >= $mybb->usergroup['maxreputationsperthread'])
| if($post) { $thread = get_thread($post['tid']); $forum = get_forum($thread['fid']); $forumpermissions = forum_permissions($forum['fid']); // Post doesn't belong to that user or isn't visible if($uid != $post['uid'] || ($post['visible'] == 0 && !is_moderator($fid)) || $post['visible'] < 0) { $mybb->input['pid'] = 0; } // Thread isn't visible elseif(($thread['visible'] == 0 && !is_moderator($forum['fid'])) || $thread['visible'] < 0) { $mybb->input['pid'] = 0; } // Current user can't see the forum elseif($forumpermissions['canview'] == 0 || $forumpermissions['canpostreplys'] == 0 || $mybb->user['suspendposting'] == 1) { $mybb->input['pid'] = 0; } // Current user can't see that thread elseif(isset($forumpermissions['canonlyviewownthreads']) && $forumpermissions['canonlyviewownthreads'] == 1 && $thread['uid'] != $mybb->user['uid']) { $mybb->input['pid'] = 0; } else // We have the correct post, but has the user given too much reputation to another in the same thread? if($mybb->usergroup['maxreputationsperthread'] != 0 && ($mybb->input['action'] != "do_add" || ($mybb->input['action'] == "do_add" && !$mybb->input['delete'])))
|
{
|
{
|
$message = $lang->add_maxperthread; eval("\$error = \"".$templates->get("reputation_add_error")."\";"); output_page($error); exit;
| $timesearch = TIME_NOW - (60 * 60 * 24); $query = $db->query(" SELECT COUNT(p.pid) AS posts FROM ".TABLE_PREFIX."reputation r LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid = r.pid) WHERE r.uid = '{$uid}' AND r.adduid = '{$mybb->user['uid']}' AND p.tid = '{$post['tid']}' AND r.dateline > '{$timesearch}' ");
$numtoday = $db->fetch_field($query, 'posts');
if($numtoday >= $mybb->usergroup['maxreputationsperthread']) { $message = $lang->add_maxperthread; eval("\$error = \"".$templates->get("reputation_add_error")."\";"); output_page($error); exit; }
|
}
|
}
|
| } else { $mybb->input['pid'] = 0;
|
} }
// Fetch the existing reputation for this user given by our current user if there is one. // If multiple reputations is allowed, then this isn't needed if($mybb->settings['multirep'] != 1 && $mybb->input['pid'] == 0)
|
} }
// Fetch the existing reputation for this user given by our current user if there is one. // If multiple reputations is allowed, then this isn't needed if($mybb->settings['multirep'] != 1 && $mybb->input['pid'] == 0)
|
{
| {
|
$query = $db->simple_select("reputation", "*", "adduid='".$mybb->user['uid']."' AND uid='{$uid}' AND pid='0'"); $existing_reputation = $db->fetch_array($query); $rid = $existing_reputation['rid'];
| $query = $db->simple_select("reputation", "*", "adduid='".$mybb->user['uid']."' AND uid='{$uid}' AND pid='0'"); $existing_reputation = $db->fetch_array($query); $rid = $existing_reputation['rid'];
|
Zeile 183 | Zeile 209 |
---|
{ error_no_permission(); }
|
{ error_no_permission(); }
|
|
|
if($mybb->input['pid'] != 0)
|
if($mybb->input['pid'] != 0)
|
{
| {
|
$db->delete_query("reputation", "uid='{$uid}' AND adduid='".$mybb->user['uid']."' AND pid = '".intval($mybb->input['pid'])."'"); } else
| $db->delete_query("reputation", "uid='{$uid}' AND adduid='".$mybb->user['uid']."' AND pid = '".intval($mybb->input['pid'])."'"); } else
|
Zeile 202 | Zeile 228 |
---|
output_page($error); exit; }
|
output_page($error); exit; }
|
|
|
if($mybb->input['pid'] == 0) { $mybb->input['comments'] = trim($mybb->input['comments']); // Trim whitespace to check for length
| if($mybb->input['pid'] == 0) { $mybb->input['comments'] = trim($mybb->input['comments']); // Trim whitespace to check for length
|
Zeile 214 | Zeile 240 |
---|
output_page($error); exit; }
|
output_page($error); exit; }
|
}
| }
|
// The power for the reputation they specified was invalid. if($reputation > $mybb->usergroup['reputationpower'] || !is_numeric($mybb->input['reputation'])) {
| // The power for the reputation they specified was invalid. if($reputation > $mybb->usergroup['reputationpower'] || !is_numeric($mybb->input['reputation'])) {
|
Zeile 225 | Zeile 251 |
---|
output_page($error); exit; }
|
output_page($error); exit; }
|
|
|
// The user is trying to give a negative reputation, but negative reps have been disabled. if($mybb->input['reputation'] < 0 && $mybb->settings['negrep'] != 1) {
| // The user is trying to give a negative reputation, but negative reps have been disabled. if($mybb->input['reputation'] < 0 && $mybb->settings['negrep'] != 1) {
|
Zeile 246 | Zeile 272 |
---|
exit; }
|
exit; }
|
// This user is trying to give a positive reputation, but positive reps have been disabled. if($mybb->input['reputation'] > 0 && $mybb->settings['posrep'] != 1) { $show_back = 1; $message = $lang->add_positive_disabled; eval("\$error = \"".$templates->get("reputation_add_error")."\";"); output_page($error); exit; }
| // This user is trying to give a positive reputation, but positive reps have been disabled. if($mybb->input['reputation'] > 0 && $mybb->settings['posrep'] != 1) { $show_back = 1; $message = $lang->add_positive_disabled; eval("\$error = \"".$templates->get("reputation_add_error")."\";"); output_page($error); exit; }
|
// The length of the comment is too long if(my_strlen($mybb->input['comments']) > $mybb->settings['maxreplength']) {
| // The length of the comment is too long if(my_strlen($mybb->input['comments']) > $mybb->settings['maxreplength']) {
|
Zeile 265 | Zeile 291 |
---|
output_page($error); exit; }
|
output_page($error); exit; }
|
| $mybb->input['comments'] = utf8_handle_4byte_string($mybb->input['comments']);
|
// Build array of reputation data. $reputation = array(
| // Build array of reputation data. $reputation = array(
|
Zeile 346 | Zeile 374 |
---|
$delete_button = ''; } $lang->user_comments = $lang->sprintf($lang->user_comments, $user['username']);
|
$delete_button = ''; } $lang->user_comments = $lang->sprintf($lang->user_comments, $user['username']);
|
|
|
if($mybb->input['pid']) { $post_rep_info = $lang->sprintf($lang->add_reputation_to_post, $user['username']);
| if($mybb->input['pid']) { $post_rep_info = $lang->sprintf($lang->add_reputation_to_post, $user['username']);
|
Zeile 434 | Zeile 462 |
---|
$reputation_value = $db->fetch_field($query, "reputation_count");
// Create moderator log
|
$reputation_value = $db->fetch_field($query, "reputation_count");
// Create moderator log
|
$rep_remove = build_profile_link($existing_reputation['username'], $existing_reputation['adduid']); log_moderator_action(array("uid" => $user['uid'], "username" => $user['username']), $lang->sprintf($lang->delete_reputation_log, $rep_remove));
| log_moderator_action(array("uid" => $user['uid'], "username" => $user['username']), $lang->sprintf($lang->delete_reputation_log, $existing_reputation['username'], $existing_reputation['adduid']));
|
$db->update_query("users", array('reputation' => intval($reputation_value)), "uid='{$uid}'");
| $db->update_query("users", array('reputation' => intval($reputation_value)), "uid='{$uid}'");
|
Zeile 445 | Zeile 472 |
---|
// Otherwise, show a listing of reputations for the given user. if(!$mybb->input['action']) {
|
// Otherwise, show a listing of reputations for the given user. if(!$mybb->input['action']) {
|
if($user_permissions['usereputationsystem'] != 1) { error($lang->reputations_disabled_group); }
| |
if($mybb->usergroup['canviewprofiles'] == 0)
|
if($mybb->usergroup['canviewprofiles'] == 0)
|
{
| {
|
// Reputation page is a part of a profile error_no_permission();
|
// Reputation page is a part of a profile error_no_permission();
|
| }
// Fetch display group properties. $displaygroupfields = array('title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image', 'usereputationsystem'); $display_group = usergroup_displaygroup($user['displaygroup']);
if($user_permissions['usereputationsystem'] != 1 || $display_group['title'] && $display_group['usereputationsystem'] == 0) { // Group has reputation disabled or user has a display group that has reputation disabled error($lang->reputations_disabled_group);
|
}
$lang->nav_profile = $lang->sprintf($lang->nav_profile, $user['username']);
| }
$lang->nav_profile = $lang->sprintf($lang->nav_profile, $user['username']);
|
Zeile 467 | Zeile 499 |
---|
{ $user['displaygroup'] = $user['usergroup']; }
|
{ $user['displaygroup'] = $user['usergroup']; }
|
// Fetch display group properties. $display_group = usergroup_displaygroup($user['displaygroup']);
| |
// This user has a custom user title if(trim($user['usertitle']) != '')
| // This user has a custom user title if(trim($user['usertitle']) != '')
|
Zeile 564 | Zeile 593 |
---|
$query = $db->simple_select("reputation", "SUM(reputation) AS reputation, COUNT(rid) AS total_reputation", "uid = '".$user['uid']."'"); $reputation = $db->fetch_array($query);
|
$query = $db->simple_select("reputation", "SUM(reputation) AS reputation, COUNT(rid) AS total_reputation", "uid = '".$user['uid']."'"); $reputation = $db->fetch_array($query);
|
$sync_reputation = $reputation['reputation'];
| $sync_reputation = intval($reputation['reputation']);
|
$total_reputation = $reputation['total_reputation'];
if($sync_reputation != $user['reputation'])
| $total_reputation = $reputation['total_reputation'];
if($sync_reputation != $user['reputation'])
|
Zeile 634 | Zeile 663 |
---|
if($reputation_vote['dateline'] >= $last_month) { $neutral_month++;
|
if($reputation_vote['dateline'] >= $last_month) { $neutral_month++;
|
}
| }
|
if($reputation_vote['dateline'] >= $last_6months) { $neutral_6months++;
| if($reputation_vote['dateline'] >= $last_6months) { $neutral_6months++;
|
Zeile 646 | Zeile 675 |
---|
if($user['reputation'] < 0) { $total_class = "_minus";
|
if($user['reputation'] < 0) { $total_class = "_minus";
|
}
| }
|
elseif($user['reputation'] > 0) { $total_class = "_plus";
| elseif($user['reputation'] > 0) { $total_class = "_plus";
|
Zeile 668 | Zeile 697 |
---|
// Is negative reputation disabled? If so, tell the user if($mybb->settings['negrep'] == 0)
|
// Is negative reputation disabled? If so, tell the user if($mybb->settings['negrep'] == 0)
|
{
| {
|
$neg_rep_info = $lang->neg_rep_disabled; }
| $neg_rep_info = $lang->neg_rep_disabled; }
|
Zeile 690 | Zeile 719 |
---|
$pages = $reputation_count / $mybb->settings['repsperpage']; $pages = ceil($pages); if($page > $pages)
|
$pages = $reputation_count / $mybb->settings['repsperpage']; $pages = ceil($pages); if($page > $pages)
|
{
| {
|
$start = 0; $page = 1; }
| $start = 0; $page = 1; }
|
Zeile 723 | Zeile 752 |
---|
if($reputation_vote['adduid'] == 0) { $reputation_vote['user_reputation'] = 0;
|
if($reputation_vote['adduid'] == 0) { $reputation_vote['user_reputation'] = 0;
|
}
| }
|
$reputation_vote['user_reputation'] = get_reputation($reputation_vote['user_reputation'], $reputation_vote['adduid']);
// Format the username of this poster if(!$reputation_vote['username'])
|
$reputation_vote['user_reputation'] = get_reputation($reputation_vote['user_reputation'], $reputation_vote['adduid']);
// Format the username of this poster if(!$reputation_vote['username'])
|
{
| {
|
$reputation_vote['username'] = $lang->na; $reputation_vote['user_reputation'] = '';
|
$reputation_vote['username'] = $lang->na; $reputation_vote['user_reputation'] = '';
|
} else {
| } else {
|
$reputation_vote['username'] = format_name($reputation_vote['username'], $reputation_vote['user_usergroup'], $reputation_vote['user_displaygroup']); $reputation_vote['username'] = build_profile_link($reputation_vote['username'], $reputation_vote['uid']); $reputation_vote['user_reputation'] = "({$reputation_vote['user_reputation']})";
| $reputation_vote['username'] = format_name($reputation_vote['username'], $reputation_vote['user_usergroup'], $reputation_vote['user_displaygroup']); $reputation_vote['username'] = build_profile_link($reputation_vote['username'], $reputation_vote['uid']); $reputation_vote['user_reputation'] = "({$reputation_vote['user_reputation']})";
|
Zeile 771 | Zeile 800 |
---|
$last_updated_date = my_date($mybb->settings['dateformat'], $reputation_vote['dateline']); $last_updated_time = my_date($mybb->settings['timeformat'], $reputation_vote['dateline']); $last_updated = $lang->sprintf($lang->last_updated, $last_updated_date, $last_updated_time);
|
$last_updated_date = my_date($mybb->settings['dateformat'], $reputation_vote['dateline']); $last_updated_time = my_date($mybb->settings['timeformat'], $reputation_vote['dateline']); $last_updated = $lang->sprintf($lang->last_updated, $last_updated_date, $last_updated_time);
|
|
|
// Is this rating specific to a post? if($reputation_vote['pid'] && $reputation_vote['post_link'])
|
// Is this rating specific to a post? if($reputation_vote['pid'] && $reputation_vote['post_link'])
|
{
| {
|
$link = "<a href=\"".get_post_link($reputation_vote['pid'])."#pid{$reputation_vote['pid']}\">{$lang->postrep_post}".$reputation_vote['pid']."</a>"; $postrep_given = $lang->sprintf($lang->postrep_given, $link);
|
$link = "<a href=\"".get_post_link($reputation_vote['pid'])."#pid{$reputation_vote['pid']}\">{$lang->postrep_post}".$reputation_vote['pid']."</a>"; $postrep_given = $lang->sprintf($lang->postrep_given, $link);
|
} else {
| } else {
|
$postrep_given = ''; }
| $postrep_given = ''; }
|
Zeile 798 | Zeile 827 |
---|
"allow_html" => 0, "allow_mycode" => 0, "allow_smilies" => 1,
|
"allow_html" => 0, "allow_mycode" => 0, "allow_smilies" => 1,
|
"allow_imgcode" => 0
| "allow_imgcode" => 0, "filter_badwords" => 1
|
);
$reputation_vote['comments'] = $parser->parse_message($reputation_vote['comments'], $reputation_parser);
| );
$reputation_vote['comments'] = $parser->parse_message($reputation_vote['comments'], $reputation_parser);
|
Zeile 814 | Zeile 844 |
---|
{ eval("\$reputation_votes = \"".$templates->get("reputation_no_votes")."\";"); }
|
{ eval("\$reputation_votes = \"".$templates->get("reputation_no_votes")."\";"); }
|
|
|
$plugins->run_hooks("reputation_end"); eval("\$reputation = \"".$templates->get("reputation")."\";"); output_page($reputation);
| $plugins->run_hooks("reputation_end"); eval("\$reputation = \"".$templates->get("reputation")."\";"); output_page($reputation);
|