<?xml version="1.0"?>
<!DOCTYPE modification SYSTEM "http://www.simplemachines.org/xml/modification">
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	ATTENTION: If you are trying to install this manually, you should try
	the package manager.  If it will not work for you, please take a look
	at the following for information on this format:
		http://www.simplemachines.org/redirect/manual_mod_install
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<!-- 
	This file will handle upgrading GPBP from 1.1.3 to 2.0. 
	Successive upgrades are required.
-->
<modification xmlns="http://www.simplemachines.org/xml/modification" xmlns:smf="http://www.simplemachines.org/">
	<id>OutofOrder:GoodPostBadPost</id>
	<version>2.0.3</version>
	<file name="$sourcedir/Admin.php" error="fatal">
		<operation>
			<search position="before"><![CDATA[					'function' => 'GPBP_Manage',]]></search>
			<add><![CDATA[
					'permission' => array('manage_gpbp'),
					'subsections' => array(
						'basic' => array($txt['gpbp_managearea_basic']),
						'advanced' => array($txt['gpbp_managearea_advanced']),
						'tools' => array($txt['gpbp_managearea_tools']),
					),]]></add>
		</operation>
	</file>

	<file name="$sourcedir/BoardIndex.php" error="fatal">
		<operation>
			<search position="after"><![CDATA[	$context['page_title'] = sprintf($txt['forum_index'], $context['forum_name']);
}]]></search>
			<add><![CDATA[	// GPBP: Load Best topics of the week?
	if (!empty($modSettings['gpbp_show_best_topics']))
	{
		require_once($sourcedir . '/GoodPostBadPost.php');
		$context['gpbp_best_topics'] = gpbp_getBestTopics();
	}

]]></add>
		</operation>
	</file>

	<file name="$sourcedir/Display.php" error="fatal">
		<operation>
			<search position="replace"><![CDATA[if (! WIRELESS)
	{
		// Load the cascade style sheet for GP/BP elements. If the theme doesn't have its own gpbp.css, it will use the one in the default theme.
		loadTemplate(false, array('gpbp'), false);
		// Pre-load the GPBP images to smoothen up AJAX (which prevents making the user nervous) 
		$context['html_headers'] .= '
<script type="text/javascript" language="Javascript" src="' . $settings['default_theme_url'] . '/scripts/gpbp.js?1_1"></script>
<script type="text/javascript">
img_gpbp_up=new Image;img_gpbp_up.src="' . $settings['theme_url'] . '/images/gpbp_arrow_up.gif";img_gpbp_up_lit=new Image;img_gpbp_up_lit.src="' . $settings['theme_url'] . '/images/gpbp_arrow_up_lit.gif";img_gpbp_down=new Image;img_gpbp_down.src="' . $settings['theme_url'] . '/images/gpbp_arrow_down.gif";img_gpbp_down_lit=new Image;img_gpbp_down_lit.src="' . $settings['theme_url'] . '/images/gpbp_arrow_down_lit.gif";
</script>';
	}]]></search>
			<add><![CDATA[if (! WIRELESS)
	{
		// Load the cascade style sheet for GP/BP elements. If the theme doesn't have its own gpbp.css, it will use the one in the default theme.
		loadTemplate(false, array('gpbp'), false);
		$gpbp_set = $modSettings['gpbp_button_set'];
		$gpbp_ext = empty($gpbp_set) ? 'gif' : 'png';
		// Pre-load the GPBP images to smoothen up AJAX and prevent making the user nervous. 
		$context['html_headers'] .= '
<script type="text/javascript" language="Javascript" src="' . $settings['default_theme_url'] . '/scripts/gpbp.js?2_0"></script>
<script type="text/javascript">
img_gpbp_up=new Image;img_gpbp_up.src="' . $settings['images_url'] . '/gpbp'.$gpbp_set.'_arrow_up.'.$gpbp_ext.'";img_gpbp_up_lit=new Image;img_gpbp_up_lit.src="' . $settings['images_url'] . '/gpbp'.$gpbp_set.'_arrow_up_lit.'.$gpbp_ext.'";img_gpbp_down=new Image;img_gpbp_down.src="' . $settings['images_url'] . '/gpbp'.$gpbp_set.'_arrow_down.'.$gpbp_ext.'";img_gpbp_down_lit=new Image;img_gpbp_down_lit.src="' . $settings['images_url'] . '/gpbp'.$gpbp_set.'_arrow_down_lit.'.$gpbp_ext.'";
</script>
<style type="text/css">
.gpbp_voted_up {
	background: transparent top left url(' . $settings['images_url'] . '/gpbp'.$gpbp_set.'_arrow_up_lit.'.$gpbp_ext.') no-repeat;
}
.gpbp_voted_down {
	background: transparent top left url(' . $settings['images_url'] . '/gpbp'.$gpbp_set.'_arrow_down_lit.'.$gpbp_ext.') no-repeat;
}
</style>';
	}]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA['reveal_bad_post' => 'gpbp_reveal',]]></search>
			<add><![CDATA[
		'reveal_voterslist' => 'gpbp_voterslist',]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA[$context['can_vote_gpbp'] &= !$context['user']['is_guest']]]></search>
			<add><![CDATA[ && $modSettings['gpbp_post_count_limit'] <= $user_info['posts'];
	$context['reveal_voterslist'] &= ! empty($modSettings['gpbp_voters_list_limit'])]]></add>
		</operation>
	</file>

	<file name="$sourcedir/ManagePermissions.php" error="fatal">
		<operation>
			<search position="before"><![CDATA['gpbp_reveal' => array(false, 'gpbp', 'gpbp'),]]></search>
			<add><![CDATA[
			'gpbp_voterslist' => array(false, 'gpbp', 'gpbp'),]]></add>
		</operation>
	</file>

	<file name="$themedir/Display.template.php" error="fatal">
		<operation>
			<search position="after"><![CDATA[			$gpbp_badPost = $message['gpbp_score'] <= $modSettings['gpbp_hide_threshold'];]]></search>
			<add><![CDATA[			// Prepare the GP/BP button set.
			$gpbp_set = $modSettings['gpbp_button_set'];
			$gpbp_ext = empty($gpbp_set) ? 'gif' : 'png';
]]></add>
		</operation>

		<operation>
			<search position="replace"><![CDATA[// Good Post/Bad Post score and voting.]]></search>
			<add><![CDATA[// Good Post/Bad Post score, voting and voters list retrieval.]]></add>
		</operation>

		<operation>
			<search position="replace"><![CDATA[if ($context['can_vote_gpbp'] && !$ignoring && $message['member']['id'] != $context['user']['id'])
			{
				echo '
									<a onclick="oVotePost.vote(\'down\', \'', $message['id'], '\', \'', $context['session_id'], '\'); return false" href="', $scripturl, '?action=gpbp;sa=down;msg=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], ';board=', $context['this_board'], ';topic=', $context['current_topic'], '"><img class="gpbp_vote_img" id="gpbp_vote_down_', $message['id'], '" src="', $settings['images_url'], '/gpbp_arrow_down', $message['gpbp_img']['down']['lit_suffix'], '.gif" alt="', $txt[ $message['gpbp_img']['down']['alt'] ], '" title="', $txt[ $message['gpbp_img']['down']['title'] ], '" /></a>
									<a onclick="oVotePost.vote(\'up\', \'', $message['id'], '\', \'', $context['session_id'], '\'); return false" href="', $scripturl, '?action=gpbp;sa=up;msg=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], ';board=', $context['this_board'], ';topic=', $context['current_topic'], '"><img class="gpbp_vote_img" id="gpbp_vote_up_', $message['id'], '" src="', $settings['images_url'], '/gpbp_arrow_up', $message['gpbp_img']['up']['lit_suffix'], '.gif" alt="', $txt[ $message['gpbp_img']['up']['alt'] ], '" title="', $txt[ $message['gpbp_img']['up']['title'] ], '" /></a>';
			}]]></search>
			<add><![CDATA[if (!$ignoring)
			{
				if ($context['can_vote_gpbp'] && $message['member']['id'] != $context['user']['id'])
				{
					// Should we not display the voting down button?
					if (empty($modSettings['gpbp_disable_negative_voting']))
						echo '
									<a onclick="oVotePost.vote(\'down\', \'', $message['id'], '\'); return false" href="', $scripturl, '?action=gpbp;sa=down;msg=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], ';board=', $context['current_board'], ';topic=', $context['current_topic'], '"><img class="gpbp_vote_img" id="gpbp_vote_down_', $message['id'], '" src="', $settings['images_url'], '/gpbp', $gpbp_set, '_arrow_down', $message['gpbp_img']['down']['lit_suffix'], '.', $gpbp_ext, '" alt="', $txt[ $message['gpbp_img']['down']['alt'] ], '" title="', $txt[ $message['gpbp_img']['down']['title'] ], '" /></a>';
					echo '
									<a onclick="oVotePost.vote(\'up\', \'', $message['id'], '\'); return false" href="', $scripturl, '?action=gpbp;sa=up;msg=', $message['id'], ';', $context['session_var'], '=', $context['session_id'], ';board=', $context['current_board'], ';topic=', $context['current_topic'], '"><img class="gpbp_vote_img" id="gpbp_vote_up_', $message['id'], '" src="', $settings['images_url'], '/gpbp', $gpbp_set, '_arrow_up', $message['gpbp_img']['up']['lit_suffix'], '.', $gpbp_ext, '" alt="', $txt[ $message['gpbp_img']['up']['alt'] ], '" title="', $txt[ $message['gpbp_img']['up']['title'] ], '" /></a>';
				}
				if ($context['reveal_voterslist'])
					echo '
										<a class="gpbp_voterslist" id="gpbp_voterslist_', $message['id'], '" onclick="oVotePost.voterslist(\'', $message['id'], '\'); return false"><img class="gpbp_vote_img" src="', $settings['images_url'], '/gpbp_voterslist.gif" alt="', $txt['gpbp_show_voters'], '" title="', $txt['gpbp_show_voters'], '" /></a>
										<select onchange="gpbp_toProfile(\'gpbp_voters_select_', $message['id'], '\')" class="gpbp_voterslist_select" id="gpbp_voters_select_', $message['id'], '"><option value="0" selected="selected">', $txt['gpbp_voters_list'], '</option></select>';
			}]]></add>
		</operation>

		<operation>
			<search position="replace"><![CDATA[var oVotePost = new PostVoting({
		sSessionVar: "', $context['session_var'], '",
		iBoard: ', $context['this_board'], ',
		iTopic: ', $context['current_topic'], ',
		sVoteDownAlt: "', $txt['gpbp_vote_down'], '",
		sVoteUpAlt: "', $txt['gpbp_vote_up'], '",
		sVotedDownAlt: "', $txt['gpbp_voted_down_alt'], '",
		sVotedUpAlt: "', $txt['gpbp_voted_up_alt'], '",
		sVotedDown: "', $txt['gpbp_voted_down'], '",
		sToVoteDown: "', $txt['gpbp_to_vote_down'], '",
		sVotedUp: "', $txt['gpbp_voted_up'], '",
		sToVoteUp: "', $txt['gpbp_to_vote_up'], '",
		sScriptUrl: "', $scripturl, '",
		sImagesUrl: "', $settings['images_url'], '"
	});]]></search>
			<add><![CDATA[var oVotePost = new PostVoting({
		sSessionVar: "', $context['session_var'], '",
		sSessionId: "', $context['session_id'], '",
		iBoard: ', $context['this_board'], ',
		iTopic: ', $context['current_topic'], ',
		sButtonSet: "', $gpbp_set,'",
		sVoteDownAlt: "', $txt['gpbp_vote_down'], '",
		sVoteUpAlt: "', $txt['gpbp_vote_up'], '",
		sVotedDownAlt: "', $txt['gpbp_voted_down_alt'], '",
		sVotedUpAlt: "', $txt['gpbp_voted_up_alt'], '",
		sVotedDown: "', $txt['gpbp_voted_down'], '",
		sToVoteDown: "', $txt['gpbp_to_vote_down'], '",
		sVotedUp: "', $txt['gpbp_voted_up'], '",
		sToVoteUp: "', $txt['gpbp_to_vote_up'], '",
		sNoVoters: "', $txt['gpbp_no_voters'], '",
		sScriptUrl: "', $scripturl, '",
		sImagesUrl: "', $settings['images_url'], '"
	});]]></add>
		</operation>
	</file>

	<file name="$languagedir/Modifications.english.php" error="skip">
		<operation>
			<search position="replace"><![CDATA[$txt['permissionhelp_gpbp_manage'] = 'This permission includes changing general GP/BP settings; choosing which boards will support this mod.';]]></search>
			<add><![CDATA[$txt['permissionhelp_gpbp_manage'] = 'This permission includes changing general GP/BP settings; choosing which boards will support this mod. <strong>Have in mind that it allows to configure this mod for the full board list.</strong>';]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA[$txt['cannot_gpbp_reveal'] = 'You can not have access to posts hidden by general voting.';]]></search>
			<add><![CDATA[
$txt['permissionname_gpbp_voterslist'] = 'Reveal post voters';
$txt['permissionhelp_gpbp_voterslist'] = 'Allows the user to view the list of members who voted together with their chosen vote.';
$txt['cannot_gpbp_voterslist'] = 'You can not have access to voters lists.';]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA[$txt['gpbp_manage'] = 'Good Post/Bad Post';]]></search>
			<add><![CDATA[
$txt['gpbp_managearea_basic'] = 'Basic settings';
$txt['gpbp_managearea_basic_desc'] = 'Below are the main Good Post/Bad Post settings.';
$txt['gpbp_managearea_advanced'] = 'Advanced configuration';
$txt['gpbp_managearea_advanced_desc'] = 'Here are some configurations that add more depth to the mod.';
$txt['gpbp_managearea_tools'] = 'GPBP Tools';
$txt['gpbp_managearea_tools_desc'] = 'Use these tools to quickly review voting behaviour, manually change votes and edit user\'s Respect values and post scores.<br /><strong>Note:</strong> You need to submit a search before being able to operate on votes.';]]></add>
		</operation>

		<operation>
			<search position="after"><![CDATA[
$txt['gpbp_enable_boards'] = 'Enable GP/BP on these boards';]]></search>
			<add><![CDATA[$txt['gpbp_affected_boards'] = 'Affected boards';]]></add>
		</operation>

		<operation>
			<search position="replace"><![CDATA[$txt['gpbp_display_stats_desc'] = 'Choose whether or not to display the <strong>Top 10 Post Voters</strong> list and <strong>10 Most Respected</strong> users.';]]></search>
			<add><![CDATA[$txt['gpbp_display_stats_desc'] = 'Check if you want to display the <strong>Top 10 Post Voters</strong> list and <strong>10 Most Respected</strong> users.';
$txt['gpbp_show_best_topics'] = 'Display "Messages of the week":';
$txt['gpbp_show_best_topics_desc'] = 'Choose the amount of messages to list in the <strong>Info center</strong> at the board index, including the most voted messages of the past few days.<br /><strong>Choose 0 to disable this option.</strong>';
$txt['gpbp_button_set'] = 'Button set to display in posts:';
$txt['gpbp_button_set_desc'] = 'You can choose different styles of voting buttons.';]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA[$txt['gpbp_users_choice_none_desc'] = 'Check this to allow displaying Bad Posts as normal posts. Unchecking this does not override any chosen options, so you still have to edit the member theme options to disable it completely.';]]></search>
			<add><![CDATA[
$txt['gpbp_voters_list_limit'] = 'Amount of members to display in post voters list:';
$txt['gpbp_voters_list_limit_desc'] = 'Members beyond this number will not appear in the list (sorted alphabetically).<br /> <strong>Choose 0 to disable lists displaying</strong>.<br /> <strong>Note:</strong> list display only works with Javascript-enabled browsers.';
$txt['gpbp_disable_negative_voting'] = 'Disable negative voting?';
$txt['gpbp_disable_negative_voting_desc'] = 'Check this if you want members <strong>to only vote up</strong>.';
$txt['gpbp_post_count_limit'] = 'Restrict voting to members with at least this many forum posts:';
$txt['gpbp_post_count_limit_desc'] = 'Change this number if you want to force a minimum post count before being able to vote on posts.<br />Choose zero to disable post count restriction.';
$txt['gpbp_vote_search'] = 'GPBP Vote Search';
$txt['gpbp_vote_search_filters'] = 'Use these filters to start a custom vote search. Empty values will be ignored.';
$txt['gpbp_vote_search_filter_by'] = 'Filter by...';
$txt['gpbp_vote_search_topic_id'] = 'Topic ID:';
$txt['gpbp_vote_search_msg_id'] = 'Message ID:';
$txt['gpbp_vote_search_poster_name'] = 'Poster\'s name:';
$txt['gpbp_vote_search_voter_name'] = 'Voter\'s name:';
$txt['gpbp_vote_search_score'] = 'Score:';
$txt['gpbp_vote_search_any_score'] = 'Any score.';
$txt['gpbp_vote_list'] = 'Vote list';
$txt['gpbp_vote_list_showing'] = 'Showing %s of %s total votes.';
$txt['gpbp_vote_list_poster'] = 'Poster';
$txt['gpbp_vote_list_voter'] = 'Voter';
$txt['gpbp_vote_list_vote'] = 'Vote';
$txt['gpbp_vote_list_check'] = 'Click here to (un)check all votes.';
$txt['gpbp_vote_list_deleted'] = 'Deleted?';
$txt['gpbp_vote_list_mdeleted'] = 'Deleted.';
$txt['gpbp_vote_list_account_deleted'] = 'Account #%s deleted.';
$txt['gpbp_vote_list_subject'] = 'Topic subject:';
$txt['gpbp_vote_list_topic_deleted'] = 'Topic deleted?';
$txt['gpbp_vote_list_no_votes'] = 'There are no votes to show.';
$txt['gpbp_votes_deleted_s'] = '%s vote was deleted.';
$txt['gpbp_votes_reversed_s'] = '%s vote was reversed.';
$txt['gpbp_votes_deleted'] = '%s votes were deleted.';
$txt['gpbp_votes_reversed'] = '%s votes were reversed.';
$txt['gpbp_votes_delete'] = 'Delete';
$txt['gpbp_votes_reverse'] = 'Reverse the scores of';
$txt['gpbp_votes_all_checked'] = 'all checked votes.';
$txt['gpbp_votes_also_update'] = 'Also update Respect of affected posters.';
$txt['gpbp_filtered_edit'] = 'Edit all the filtered results at once';
$txt['gpbp_filtered_edit_desc'] = 'Use the following form if you want to edit all search results at once when there are many of them. <em>If you are only going to edit a few votes, then use the above tool instead.</em>';
$txt['gpbp_filtered_delete'] = 'Delete all of the searched votes.';
$txt['gpbp_filtered_reverse'] = 'Reverse the scores of all of the searched votes.';
$txt['gpbp_filtered_confirm'] = 'Are you sure you want to edit all %s searched votes?';
$txt['gpbp_votes_deleted_filter'] = '%s votes were deleted. %s member(s) needed Respect update. %s message(s) needed score update.';
$txt['gpbp_votes_reversed_filter'] = '%s votes were reversed. %s member(s) needed Respect update. %s message(s) needed score update.';
$txt['gpbp_respect_success'] = 'Respect was changed for %s.';
$txt['gpbp_respect_not_needed'] = 'You did not choose a different Respect value. No change was needed.';
$txt['gpbp_score_success'] = 'Score updated for post #%s';
$txt['gpbp_orphaned_title'] = 'Orphaned votes cleanup';
$txt['gpbp_orphaned_desc'] = 'Delete orphaned votes (votes of deleted messages) from the database. Respect from members won\'t be affected by this, but statistics from the Stats page will (Top 10 Post Voters, 10 Most Respected).';
$txt['gpbp_orphaned_report'] = 'There are <b>%s</b> orphaned votes.';
$txt['gpbp_orphaned_go'] = 'Clean orphaned votes.';
$txt['gpbp_orphaned_success'] = '%s votes were deleted.';
// Managing area errors.
$txt['gpbp_names_not_found'] = 'The names you submitted weren\'t found in the memberlist.';
$txt['gpbp_voter_not_found'] = 'The voter\'s name you submitted was not found in the memberlist.';
$txt['gpbp_poster_not_found'] = 'The poster\'s name you submitted was not found in the memberlist.';
$txt['gpbp_vote_not_sent'] = 'No vote was selected, please try again.';
$txt['gpbp_filter_edit_needed'] = 'No action chosen to take on all search results, please go back and try again.';
$txt['gpbp_chosenmember_not_found'] = 'The member name you entered does not exist. Please check and try again.';
$txt['gpbp_message_not_found'] = 'The ID you entered does not belong to an existing message.';]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA[$txt['gpbp_msg_own_voted'] = 'Sorry, you can\'t vote on your own posts.';]]></search>
			<add><![CDATA[
$txt['gpbp_can_not_vote_down'] = 'Sorry, you can\'t vote posts down.';
$txt['gpbp_must_fill_field'] = 'You must at least fill one field in.';]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA[$txt['gpbp_most_respected'] = '10 Most Respected';]]></search>
			<add><![CDATA[
$txt['gpbp_show_voters'] = 'Show voters';
$txt['gpbp_voters_list'] = 'Voters list:';
$txt['gpbp_no_voters'] = 'No one has voted.';
// The following strings are meant to be used in "Respect was/was not updated" below.
$txt['gpbp_was'] = 'was';
$txt['gpbp_was_not'] = 'was not';
// Moderation log
$txt['modlog_ac_gpbp_deleted_votes'] = 'GP/BP: Deleted {amount} post vote(s). Respect <strong>{respect}</strong> updated.';
$txt['modlog_ac_gpbp_reversed_votes'] = 'GP/BP: Reversed {amount} post vote(s). Respect <strong>{respect}</strong> updated.';
$txt['modlog_ac_gpbp_score_updated'] = 'GP/BP: Changed score to {score} for post #{msg}';
$txt['modlog_ac_gpbp_respect_updated'] = 'GP/BP: Changed Respect to {respect} for member {membername}';
$txt['modlog_ac_gpbp_clean_orphaned'] = 'GP/BP: Cleaned {orphaned} orphaned votes.';
$txt['modlog_ac_gpbp_basic_settings'] = 'GP/BP: Updated Basic settings.';
$txt['modlog_ac_gpbp_boards'] = 'GP/BP: Updated affected board list.';
$txt['modlog_ac_gpbp_advanced_settings'] = 'GP/BP: Updated Advanced settings.';
// End of Good Post / Bad Post strings.]]></add>
		</operation>
	</file>

	<file name="$languagedir/Modifications.english-utf8.php" error="skip">
		<operation>
			<search position="replace"><![CDATA[$txt['permissionhelp_gpbp_manage'] = 'This permission includes changing general GP/BP settings; choosing which boards will support this mod.';]]></search>
			<add><![CDATA[$txt['permissionhelp_gpbp_manage'] = 'This permission includes changing general GP/BP settings; choosing which boards will support this mod. <strong>Have in mind that it allows to configure this mod for the full board list.</strong>';]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA[$txt['cannot_gpbp_reveal'] = 'You can not have access to posts hidden by general voting.';]]></search>
			<add><![CDATA[
$txt['permissionname_gpbp_voterslist'] = 'Reveal post voters';
$txt['permissionhelp_gpbp_voterslist'] = 'Allows the user to view the list of members who voted together with their chosen vote.';
$txt['cannot_gpbp_voterslist'] = 'You can not have access to voters lists.';]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA[$txt['gpbp_manage'] = 'Good Post/Bad Post';]]></search>
			<add><![CDATA[
$txt['gpbp_managearea_basic'] = 'Basic settings';
$txt['gpbp_managearea_basic_desc'] = 'Below are the main Good Post/Bad Post settings.';
$txt['gpbp_managearea_advanced'] = 'Advanced configuration';
$txt['gpbp_managearea_advanced_desc'] = 'Here are some configurations that add more depth to the mod.';
$txt['gpbp_managearea_tools'] = 'GPBP Tools';
$txt['gpbp_managearea_tools_desc'] = 'Use these tools to quickly review voting behaviour, manually change votes and edit user\'s Respect values and post scores.<br /><strong>Note:</strong> You need to submit a search before being able to operate on votes.';]]></add>
		</operation>

		<operation>
			<search position="after"><![CDATA[
$txt['gpbp_enable_boards'] = 'Enable GP/BP on these boards';]]></search>
			<add><![CDATA[$txt['gpbp_affected_boards'] = 'Affected boards';]]></add>
		</operation>

		<operation>
			<search position="replace"><![CDATA[$txt['gpbp_display_stats_desc'] = 'Choose whether or not to display the <strong>Top 10 Post Voters</strong> list and <strong>10 Most Respected</strong> users.';]]></search>
			<add><![CDATA[$txt['gpbp_display_stats_desc'] = 'Check if you want to display the <strong>Top 10 Post Voters</strong> list and <strong>10 Most Respected</strong> users.';
$txt['gpbp_show_best_topics'] = 'Display "Messages of the week":';
$txt['gpbp_show_best_topics_desc'] = 'Choose the amount of messages to list in the <strong>Info center</strong> at the board index, including the most voted messages of the past few days.<br /><strong>Choose 0 to disable this option.</strong>';
$txt['gpbp_button_set'] = 'Button set to display in posts:';
$txt['gpbp_button_set_desc'] = 'You can choose different styles of voting buttons.';]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA[$txt['gpbp_users_choice_none_desc'] = 'Check this to allow displaying Bad Posts as normal posts. Unchecking this does not override any chosen options, so you still have to edit the member theme options to disable it completely.';]]></search>
			<add><![CDATA[
$txt['gpbp_voters_list_limit'] = 'Amount of members to display in post voters list:';
$txt['gpbp_voters_list_limit_desc'] = 'Members beyond this number will not appear in the list (sorted alphabetically).<br /> <strong>Choose 0 to disable lists displaying</strong>.<br /> <strong>Note:</strong> list display only works with Javascript-enabled browsers.';
$txt['gpbp_disable_negative_voting'] = 'Disable negative voting?';
$txt['gpbp_disable_negative_voting_desc'] = 'Check this if you want members <strong>to only vote up</strong>.';
$txt['gpbp_post_count_limit'] = 'Restrict voting to members with at least this many forum posts:';
$txt['gpbp_post_count_limit_desc'] = 'Change this number if you want to force a minimum post count before being able to vote on posts.<br />Choose zero to disable post count restriction.';
$txt['gpbp_vote_search'] = 'GPBP Vote Search';
$txt['gpbp_vote_search_filters'] = 'Use these filters to start a custom vote search. Empty values will be ignored.';
$txt['gpbp_vote_search_filter_by'] = 'Filter by...';
$txt['gpbp_vote_search_topic_id'] = 'Topic ID:';
$txt['gpbp_vote_search_msg_id'] = 'Message ID:';
$txt['gpbp_vote_search_poster_name'] = 'Poster\'s name:';
$txt['gpbp_vote_search_voter_name'] = 'Voter\'s name:';
$txt['gpbp_vote_search_score'] = 'Score:';
$txt['gpbp_vote_search_any_score'] = 'Any score.';
$txt['gpbp_vote_list'] = 'Vote list';
$txt['gpbp_vote_list_showing'] = 'Showing %s of %s total votes.';
$txt['gpbp_vote_list_poster'] = 'Poster';
$txt['gpbp_vote_list_voter'] = 'Voter';
$txt['gpbp_vote_list_vote'] = 'Vote';
$txt['gpbp_vote_list_check'] = 'Click here to (un)check all votes.';
$txt['gpbp_vote_list_deleted'] = 'Deleted?';
$txt['gpbp_vote_list_mdeleted'] = 'Deleted.';
$txt['gpbp_vote_list_account_deleted'] = 'Account #%s deleted.';
$txt['gpbp_vote_list_subject'] = 'Topic subject:';
$txt['gpbp_vote_list_topic_deleted'] = 'Topic deleted?';
$txt['gpbp_vote_list_no_votes'] = 'There are no votes to show.';
$txt['gpbp_votes_deleted_s'] = '%s vote was deleted.';
$txt['gpbp_votes_reversed_s'] = '%s vote was reversed.';
$txt['gpbp_votes_deleted'] = '%s votes were deleted.';
$txt['gpbp_votes_reversed'] = '%s votes were reversed.';
$txt['gpbp_votes_delete'] = 'Delete';
$txt['gpbp_votes_reverse'] = 'Reverse the scores of';
$txt['gpbp_votes_all_checked'] = 'all checked votes.';
$txt['gpbp_votes_also_update'] = 'Also update Respect of affected posters.';
$txt['gpbp_filtered_edit'] = 'Edit all the filtered results at once';
$txt['gpbp_filtered_edit_desc'] = 'Use the following form if you want to edit all search results at once when there are many of them. <em>If you are only going to edit a few votes, then use the above tool instead.</em>';
$txt['gpbp_filtered_delete'] = 'Delete all of the searched votes.';
$txt['gpbp_filtered_reverse'] = 'Reverse the scores of all of the searched votes.';
$txt['gpbp_filtered_confirm'] = 'Are you sure you want to edit all %s searched votes?';
$txt['gpbp_votes_deleted_filter'] = '%s votes were deleted. %s member(s) needed Respect update. %s message(s) needed score update.';
$txt['gpbp_votes_reversed_filter'] = '%s votes were reversed. %s member(s) needed Respect update. %s message(s) needed score update.';
$txt['gpbp_respect_success'] = 'Respect was changed for %s.';
$txt['gpbp_respect_not_needed'] = 'You did not choose a different Respect value. No change was needed.';
$txt['gpbp_score_success'] = 'Score updated for post #%s';
$txt['gpbp_orphaned_title'] = 'Orphaned votes cleanup';
$txt['gpbp_orphaned_desc'] = 'Delete orphaned votes (votes of deleted messages) from the database. Respect from members won\'t be affected by this, but statistics from the Stats page will (Top 10 Post Voters, 10 Most Respected).';
$txt['gpbp_orphaned_report'] = 'There are <b>%s</b> orphaned votes.';
$txt['gpbp_orphaned_go'] = 'Clean orphaned votes.';
$txt['gpbp_orphaned_success'] = '%s votes were deleted.';
// Managing area errors.
$txt['gpbp_names_not_found'] = 'The names you submitted weren\'t found in the memberlist.';
$txt['gpbp_voter_not_found'] = 'The voter\'s name you submitted was not found in the memberlist.';
$txt['gpbp_poster_not_found'] = 'The poster\'s name you submitted was not found in the memberlist.';
$txt['gpbp_vote_not_sent'] = 'No vote was selected, please try again.';
$txt['gpbp_filter_edit_needed'] = 'No action chosen to take on all search results, please go back and try again.';
$txt['gpbp_chosenmember_not_found'] = 'The member name you entered does not exist. Please check and try again.';
$txt['gpbp_message_not_found'] = 'The ID you entered does not belong to an existing message.';]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA[$txt['gpbp_msg_own_voted'] = 'Sorry, you can\'t vote on your own posts.';]]></search>
			<add><![CDATA[
$txt['gpbp_can_not_vote_down'] = 'Sorry, you can\'t vote posts down.';
$txt['gpbp_must_fill_field'] = 'You must at least fill one field in.';]]></add>
		</operation>

		<operation>
			<search position="before"><![CDATA[$txt['gpbp_most_respected'] = '10 Most Respected';]]></search>
			<add><![CDATA[
$txt['gpbp_show_voters'] = 'Show voters';
$txt['gpbp_voters_list'] = 'Voters list:';
$txt['gpbp_no_voters'] = 'No one has voted.';
// The following strings are meant to be used in "Respect was/was not updated" below.
$txt['gpbp_was'] = 'was';
$txt['gpbp_was_not'] = 'was not';
// Moderation log
$txt['modlog_ac_gpbp_deleted_votes'] = 'GP/BP: Deleted {amount} post vote(s). Respect <strong>{respect}</strong> updated.';
$txt['modlog_ac_gpbp_reversed_votes'] = 'GP/BP: Reversed {amount} post vote(s). Respect <strong>{respect}</strong> updated.';
$txt['modlog_ac_gpbp_score_updated'] = 'GP/BP: Changed score to {score} for post #{msg}';
$txt['modlog_ac_gpbp_respect_updated'] = 'GP/BP: Changed Respect to {respect} for member {membername}';
$txt['modlog_ac_gpbp_clean_orphaned'] = 'GP/BP: Cleaned {orphaned} orphaned votes.';
$txt['modlog_ac_gpbp_basic_settings'] = 'GP/BP: Updated Basic settings.';
$txt['modlog_ac_gpbp_boards'] = 'GP/BP: Updated affected board list.';
$txt['modlog_ac_gpbp_advanced_settings'] = 'GP/BP: Updated Advanced settings.';
// End of Good Post / Bad Post strings.]]></add>
		</operation>
	</file>
</modification>
