Vergleich reputation.php - 1.6.5 - 1.6.17

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 6Zeile 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 76Zeile 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 99Zeile 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 115Zeile 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 183Zeile 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 199Zeile 225

$db->update_query("users", array('reputation' => intval($reputation_value)), "uid='{$uid}'");
eval("\$error = \"".$templates->get("reputation_deleted")."\";");


$db->update_query("users", array('reputation' => intval($reputation_value)), "uid='{$uid}'");
eval("\$error = \"".$templates->get("reputation_deleted")."\";");

		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 214Zeile 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 225Zeile 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 346Zeile 372
		$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 434Zeile 460
	$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 445Zeile 470
// 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)
{
// Reputation page is a part of a profile
error_no_permission();

	if($mybb->usergroup['canviewprofiles'] == 0)
{
// Reputation page is a part of a profile
error_no_permission();

	}

$lang->nav_profile = $lang->sprintf($lang->nav_profile, $user['username']);
$lang->reputation_report = $lang->sprintf($lang->reputation_report, $user['username']);

// Format the user name using the group username style
$username = format_name($user['username'], $user['usergroup'], $user['displaygroup']);


	}








	// Set display group to their user group if they don't have a display group.
if(!$user['displaygroup'])
{
$user['displaygroup'] = $user['usergroup'];

	// Set display group to their user group if they don't have a display group.
if(!$user['displaygroup'])
{
$user['displaygroup'] = $user['usergroup'];

	}

	}


// Fetch display group properties.


// Fetch display group properties.

 
	$displaygroupfields = array('title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image', 'usereputationsystem');

	$display_group = usergroup_displaygroup($user['displaygroup']);

	$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->reputation_report = $lang->sprintf($lang->reputation_report, $user['username']);

// Format the user name using the group username style
$username = format_name($user['username'], $user['usergroup'], $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 564Zeile 591
	$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 634Zeile 661
			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 646Zeile 673
	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 668Zeile 695

// 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 690Zeile 717
		$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 723Zeile 750
		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 771Zeile 798
		$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 798Zeile 825
			"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 814Zeile 842
	{
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);