CVE-2011-10006 (published 2024-04-08T13:15Z)

A vulnerability was found in GamerZ WP-PostRatings up to 1.64. It has been classified as problematic. This affects an unknown part of the file wp-postratings.php. The manipulation leads to cross site scripting. It is possible to initiate the attack remotely. Upgrading to version 1.65 is able to address this issue. The identifier of the patch is 6182a5682b12369ced0becd3b505439ce2eb8132. It is recommended to upgrade the affected component. The identifier VDB-259629 was assigned to this vulnerability.


Weakness information:
cwe_id: CWE-79
cwe_name: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
description: The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
extended_description: 
            Cross-site scripting (XSS) vulnerabilities occur when:
            
               Untrusted data enters a web application, typically from a web request.
               The web application dynamically generates a web page that contains this untrusted data.
               During page generation, the application does not prevent the data from containing content that is executable by a web browser, such as JavaScript, HTML tags, HTML attributes, mouse events, Flash, ActiveX, etc.
               A victim visits the generated web page through a web browser, which contains malicious script that was injected using the untrusted data.
               Since the script comes from a web page that was sent by the web server, the victim's web browser executes the malicious script in the context of the web server's domain.
               This effectively violates the intention of the web browser's same-origin policy, which states that scripts in one domain should not be able to access resources or run code in a different domain.
            
            There are three main kinds of XSS:
            
               
                  Type 1: Reflected XSS (or Non-Persistent) - 
         			The server reads data directly from the HTTP request and reflects it back in the HTTP response. Reflected XSS exploits occur when an attacker causes a victim to supply dangerous content to a vulnerable web application, which is then reflected back to the victim and executed by the web browser. The most common mechanism for delivering malicious content is to include it as a parameter in a URL that is posted publicly or e-mailed directly to the victim. URLs constructed in this manner constitute the core of many phishing schemes, whereby an attacker convinces a victim to visit a URL that refers to a vulnerable site. After the site reflects the attacker's content back to the victim, the content is executed by the victim's browser.
               
                  Type 2: Stored XSS (or Persistent) - 
               The application stores dangerous data in a database, message forum, visitor log, or other trusted data store. At a later time, the dangerous data is subsequently read back into the application and included in dynamic content. From an attacker's perspective, the optimal place to inject malicious content is in an area that is displayed to either many users or particularly interesting users. Interesting users typically have elevated privileges in the application or interact with sensitive data that is valuable to the attacker. If one of these users executes malicious content, the attacker may be able to perform privileged operations on behalf of the user or gain access to sensitive data belonging to the user. For example, the attacker might inject XSS into a log message, which might not be handled properly when an administrator views the logs.
            
               
                  Type 0: DOM-Based XSS - 
               In DOM-based XSS, the client performs the injection of XSS into the page; in the other types, the server performs the injection. DOM-based XSS generally involves server-controlled, trusted script that is sent to the client, such as Javascript that performs sanity checks on a form before the user submits it. If the server-supplied script processes user-supplied data and then injects it back into the web page (such as with dynamic HTML), then DOM-based XSS is possible.
            
            
            Once the malicious script is injected, the attacker can perform a variety of malicious activities. The attacker could transfer private information, such as cookies that may include session information, from the victim's machine to the attacker. The attacker could send malicious requests to a web site on behalf of the victim, which could be especially dangerous to the site if the victim has administrator privileges to manage that site. Phishing attacks could be used to emulate trusted web sites and trick the victim into entering a password, allowing the attacker to compromise the victim's account on that web site. Finally, the script could exploit a vulnerability in the web browser itself possibly taking over the victim's machine, sometimes referred to as "drive-by hacking."
            In many cases, the attack can be launched without the victim even being aware of it. Even with careful users, attackers frequently use a variety of methods to encode the malicious portion of the attack, such as URL encoding or Unicode, so the request looks less suspicious.
         
         

Fix information:
repo_url: https://github.com/wp-plugins/wp-postratings
commit_details: repo_url: https://github.com/wp-plugins/wp-postratings
author: GamerZ
author_date: 2011-02-17 09:38:25+00:00
msg: WP-PostRatings 2.61. Fixes XSS. Thanks dd32

git-svn-id: https://plugins.svn.wordpress.org/wp-postratings/trunk@346740 b8457f37-d9ea-0310-8a92-e5e31aec5664
repository: repo_url: https://github.com/wp-plugins/wp-postratings
repo_name: wp-plugins/wp-postratings
description: WordPress.org Plugin Mirror
repo_language: PHP
owner: wp-plugins
file_changes: filename: readme.html
change_type: ModificationType.DELETE
diff: @@ -1,931 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>	
-	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
-	<title>WP-PostRatings 1.60 Readme</title>
-	<style type="text/css" media="screen">
-		/* Default Style */
-		BODY {
-			font-family: Verdana, Arial;
-			font-size: 12px;
-			color: #000000;
-			background: #FFFFFF;
-		}
-		P {
-			padding-left: 10px;
-		}
-		BLOCKQUOTE {
-			margin: 10px 20px 0px 20px;
-			padding: 10px;
-			border: 1px solid #8d8d8d;
-			background-color: #f5f5f5;
-			overflow: auto;
-		}
-		LI {
-			margin-top: 20px;
-		}
-		UL LI UL LI {
-			margin-top: 10px;
-		}
-		A, A:active, A:link, A:visited {
-			color: #2d3a4c;
-			text-decoration: none;
-		}
-		A:hover {
-			color: #5577a5;
-			text-decoration: underline;
-		}
-		/* Place Holder Style */
-		#Container {
-			width: 780px;
-			margin-left: auto;
-			margin-right: auto; 
-		}
-		#Content {
-			background-color: #fafafa;
-			border: 1px solid #a2b6cb;
-			padding: 10px;
-			margin-top: -13px;
-		}
-		/* Title Style */
-		#Title {
-			font-family: Verdana, Arial;
-			font-size: 22px;
-			font-weight: bold;
-			color: #389aff;
-			border-bottom: 1px solid #389aff;
-			margin-bottom: 10px;
-		}
-		.SubTitle {
-			font-family: Verdana, Arial;
-			font-size: 18px;
-			font-weight: bold;
-			color: #5b87b4;
-		}
-		.SubSubTitle {
-			font-family: Verdana, Arial;
-			font-size: 14px;
-			font-weight: bold;
-			color: #73a4d6;
-		}
-		/* Tabs */
-		UL#Tabs {
-			font-family: Verdana, Arial;
-			font-size: 12px;
-			font-weight: bold;
-			list-style-type: none;
-			padding-bottom: 28px;
-			border-bottom: 1px solid #a2b6cb;
-			margin-bottom: 12px;
-			z-index: 1;
-		}
-		#Tabs LI.Tab {
-			float: right;
-			height: 25px;
-			background-color: #deedfb;
-			margin: 2px 0px 0px 5px;
-			border: 1px solid #a2b6cb;
-		}
-		#Tabs LI.Tab A {
-			float: left;
-			display: block;
-			color: #666666;
-			text-decoration: none;
-			padding: 5px;
-		}
-		#Tabs LI.Tab A:hover {
-			background-color: #bfe0fe;
-			border-bottom: 1px solid #bfe0fe;
-		}
-		/* Selected Tab */
-		#Tabs LI.SelectedTab {
-			float: right;
-			height: 25px;
-			background-color: #fafafa;
-			margin: 2px 0px 0px 5px;
-			border-top: 1px solid #a2b6cb;
-			border-right: 1px solid #a2b6cb;
-			border-bottom: 1px solid #fafafa;
-			border-left: 1px solid #a2b6cb;
-		}
-		#Tabs LI.SelectedTab A {
-			float: left;
-			display: block;
-			color: #666666;
-			text-decoration: none;
-			padding: 5px;
-			cursor: default;
-		}
-		/* Copyright */
-		#Copyright {
-			text-align: center;
-		}
-	</style>
-	<script type="text/javascript">
-	/* <![CDATA[*/
-		// Index Page
-		function index() {
-			// Tab
-			document.getElementById('IndexTab').className = 'SelectedTab';
-			document.getElementById('ChangelogTab').className = 'Tab';
-			document.getElementById('InstallTab').className = 'Tab';
-			document.getElementById('UpgradeTab').className = 'Tab';
-			document.getElementById('UsageTab').className = 'Tab';
-			// Page
-			document.getElementById('Index').style.display= 'block';
-			document.getElementById('Changelog').style.display = 'none';
-			document.getElementById('Install').style.display = 'none';
-			document.getElementById('Upgrade').style.display = 'none';
-			document.getElementById('Usage').style.display = 'none';
-		}
-		// Changelog Page
-		function changelog() {
-			// Tab
-			document.getElementById('IndexTab').className = 'Tab';
-			document.getElementById('ChangelogTab').className = 'SelectedTab';
-			document.getElementById('InstallTab').className = 'Tab';
-			document.getElementById('UpgradeTab').className = 'Tab';
-			document.getElementById('UsageTab').className = 'Tab';
-			// Page
-			document.getElementById('Index').style.display = 'none';
-			document.getElementById('Changelog').style.display = 'block';
-			document.getElementById('Install').style.display = 'none';
-			document.getElementById('Upgrade').style.display = 'none';
-			document.getElementById('Usage').style.display = 'none';
-		}
-		// Installation Page
-		function install() {
-			// Tab
-			document.getElementById('IndexTab').className = 'Tab';
-			document.getElementById('ChangelogTab').className = 'Tab';
-			document.getElementById('InstallTab').className = 'SelectedTab';
-			document.getElementById('UpgradeTab').className = 'Tab';
-			document.getElementById('UsageTab').className = 'Tab';
-			// Page
-			document.getElementById('Index').style.display= 'none';
-			document.getElementById('Changelog').style.display = 'none';
-			document.getElementById('Install').style.display = 'block';
-			document.getElementById('Upgrade').style.display = 'none';
-			document.getElementById('Usage').style.display = 'none';
-		}
-		// Upgrade Page
-		function upgrade() {
-			// Tab
-			document.getElementById('IndexTab').className = 'Tab';
-			document.getElementById('ChangelogTab').className = 'Tab';
-			document.getElementById('InstallTab').className = 'Tab';
-			document.getElementById('UpgradeTab').className = 'SelectedTab';
-			document.getElementById('UsageTab').className = 'Tab';
-			// Page
-			document.getElementById('Index').style.display= 'none';
-			document.getElementById('Changelog').style.display = 'none';
-			document.getElementById('Install').style.display = 'none';
-			document.getElementById('Upgrade').style.display = 'block';
-			document.getElementById('Usage').style.display = 'none';
-		}
-		// Usage Page
-		function usage() {
-			// Tab
-			document.getElementById('IndexTab').className = 'Tab';
-			document.getElementById('ChangelogTab').className = 'Tab';
-			document.getElementById('InstallTab').className = 'Tab';
-			document.getElementById('UpgradeTab').className = 'Tab';
-			document.getElementById('UsageTab').className = 'SelectedTab';
-			// Page
-			document.getElementById('Index').style.display= 'none';
-			document.getElementById('Changelog').style.display = 'none';
-			document.getElementById('Install').style.display = 'none';
-			document.getElementById('Upgrade').style.display = 'none';
-			document.getElementById('Usage').style.display = 'block';
-		}
-	/* ]]> */
-	</script>
-</head>
-<body>
-<div id="Container">
-	<!-- Title -->
-	<div id="Title">WP-PostRatings 1.60&nbsp;&nbsp;&nbsp;<span style="color: #aaaaaa;">Readme</span></div>
-
-	<!-- Tabs -->
-	<ul id="Tabs">
-		<li id="UsageTab" class="Tab"><a href="#Usage" onclick="usage(); return false;" title="Usage Instructions">Usage</a></li>
-		<li id="UpgradeTab" class="Tab"><a href="#Upgrade" onclick="upgrade(); return false;" title="Upgrade Instructions">Upgrade</a></li>
-		<li id="InstallTab" class="Tab"><a href="#Installation" onclick="install(); return false;" title="Installation Instructions">Installation</a></li>
-		<li id="ChangelogTab" class="Tab"><a href="#Changelog" onclick="changelog(); return false;" title="Changelog">Changelog</a></li>
-		<li id="IndexTab" class="SelectedTab"><a href="#Index" onclick="index(); return false;" title="Index Instructions">Index</a></li>
-	</ul>
-
-	<!-- Content -->
-	<div id="Content">
-		<!-- Index -->
-		<div id="Index">
-			<div class="SubTitle">&raquo; Index</div>
-			<div class="SubSubTitle">Plugin Information</div>
-			<p>
-				<strong>Author:</strong><br />
-				<strong>&raquo;</strong> Lester 'GaMerZ' Chan
-			</p>
-			<p>
-				<strong>Website:</strong><br />
-				<strong>&raquo;</strong> <a href="http://lesterchan.net/" title="http://lesterchan.net/">http://lesterchan.net/</a>
-			</p>
-			<p>
-				<strong>Features:</strong><br />
-				<strong>&raquo;</strong> Adds an AJAX rating system for your WordPress blog's post/page.
-			</p>
-			<p>
-				<strong>Download:</strong><br />
-				<strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-postratings.1.60.zip" title="http://downloads.wordpress.org/plugin/wp-postratings.1.60.zip">WP-PostRatings 1.60 For WordPress 2.8.x</a><br />
-				<strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-postratings.1.40.zip" title="http://downloads.wordpress.org/plugin/wp-postratings.1.40.zip">WP-PostRatings 1.40 For WordPress 2.7.x</a><br />
-				<strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-postratings.1.31.zip" title="http://downloads.wordpress.org/plugin/wp-postratings.1.31.zip">WP-PostRatings 1.31 For WordPress 2.5.x And 2.6.x</a><br />
-				<strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-postratings.1.20.zip" title="http://downloads.wordpress.org/plugin/wp-postratings.1.20.zip">WP-PostRatings 1.20 For WordPress 2.3.x</a><br />
-				<strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-postratings.1.11.zip" title="http://downloads.wordpress.org/plugin/wp-postratings.1.11.zip">WP-PostRatings 1.11 For WordPress 2.1.x And 2.2.x</a><br />
-				<strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-postratings.1.05.zip" title="http://downloads.wordpress.org/plugin/wp-postratings.1.05.zip">WP-PostRatings 1.05 For WordPress 2.0.x</a><br />
-				<strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-postratings.1.03wp1.52.zip" title="http://downloads.wordpress.org/plugin/wp-postratings.1.03wp1.52.zip">WP-PostRatings 1.03 For WordPress 1.5.2</a>
-			</p>
-			<p>
-				<strong>Screenshots:</strong><br />
-				<strong>&raquo;</strong> <a href="http://lesterchan.net/wordpress/screenshots/browse/wp-postratings/" title="http://lesterchan.net/wordpress/screenshots/browse/wp-postratings/">http://lesterchan.net/wordpress/screenshots/browse/wp-postratings/</a>
-			</p>
-			<p>
-				<strong>Demo:</strong><br />
-				<strong>&raquo;</strong> <a href="http://lesterchan.net/wordpress/" title="http://lesterchan.net/wordpress/">http://lesterchan.net/wordpress/</a>
-			</p>
-			<p>
-				<strong>Development:</strong><br />
-				<strong>&raquo;</strong> <a href="http://dev.wp-plugins.org/browser/wp-postratings/" title="http://dev.wp-plugins.org/browser/wp-postratings/">http://dev.wp-plugins.org/browser/wp-postratings/</a>
-			</p>
-			<p>
-				<strong>Translations:</strong><br />
-				<strong>&raquo;</strong> <a href="http://dev.wp-plugins.org/browser/wp-postratings/i18n/" title="http://dev.wp-plugins.org/browser/wp-postratings/i18n/">http://dev.wp-plugins.org/browser/wp-postratings/i18n/</a>
-			</p>
-			<p>
-				<strong>Support Forums:</strong><br />
-				<strong>&raquo;</strong> <a href="http://forums.lesterchan.net/index.php?board=17.0" title="http://forums.lesterchan.net/index.php?board=17.0">http://forums.lesterchan.net/index.php?board=17.0</a>
-			</p>
-			<p>
-				<strong>Credits:</strong><br />
-				<strong>&raquo;</strong> Icons courtesy of <a href="http://www.famfamfam.com/" title="http://www.famfamfam.com/">FamFamFam</a> and <a href="http://www.everaldo.com/" title="http://www.everaldo.com/">Everaldo</a>.<br />
-				<strong>&raquo;</strong> __ngetext() by <a href="http://hweia.ru/" title="http://hweia.ru/">Anna Ozeritskaya</a>.<br />
-				<strong>&raquo;</strong> Right To Left Language Support by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a>.
-			</p>
-			<p>
-				<strong>Note:</strong><br />
-				<strong>&raquo;</strong> The <strong>Changelog</strong>, <strong>Installation</strong>, <strong>Upgrade</strong>, <strong>Usage</strong> Tab at the top of the page.
-			</p>
-			<p>
-				<strong>Donations:</strong><br />
-				<strong>&raquo;</strong> I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks as my school allowance, I will really appericiate it. If not feel free to use it without any obligations. Thank You. My Paypal account is 
-				<script type="text/javascript">
-					/* <![CDATA[*/
-					document.write(' <strong>lesterchan@gmail.com</strong>.');
-					/* ]]> */
-				</script>
-			</p>
-		</div>
-
-		<!-- Changelog -->
-		<div id="Changelog" style="display: none;">
-			<div class="SubTitle">&raquo; Changelog</div>
-			<ul>
-				<li>
-					<strong>Version 1.60 (01-12-2009)</strong>
-					<ul>
-						<li>FIXED: Removed Global $post</li>
-					</ul>
-				</li>
-				<li>
-					<strong>Version 1.50 (15-06-2009)</strong>
-					<ul>
-						<li>NEW: Works For WordPress 2.8 Only</li>
-						<li>NEW: Javascript Now Placed At The Footer</li>
-						<li>NEW: Uses jQuery Instead Of tw-sack</li>
-						<li>NEW: Minified Javascript Instead Of Packed Javascript</li>
-						<li>NEW: Renamed postratings-admin-js-packed.js To postratings-admin-js.js</li>
-						<li>NEW: Renamed postratings-admin-js.js To postratings-admin-js.dev.js</li>
-						<li>NEW: Renamed postratings-js-packed.js To postratings-js.js</li>
-						<li>NEW: Renamed postratings-js.js To postratings-js.dev.js</li>
-						<li>NEW: Translate Javascript Variables Using wp_localize_script()</li>
-						<li>NEW: Added In Most Rated & Highest Rated Pages To WP-Stats</li>
-						<li>NEW: Added get_highest_score(), get_highest_score_category(), get_highest_score_range(), get_highest_score_range_category()</li>
-						<li>NEW: Use _n() Instead Of __ngettext() And _n_noop() Instead Of __ngettext_noop()</li>
-						<li>NEW: Uses New Widget Class From WordPress</li>
-						<li>NEW: Merge Widget Code To wp-postratings.php And Remove wp-postratings-widget.php</li>
-						<li>NEW: get_highest_rated_tag() And get_lowest_rated_tag()</li>
-						<li>FIXED: Uses $_SERVER['PHP_SELF'] With plugin_basename(__FILE__) Instead Of Just $_SERVER['REQUEST_URI']</li>
-						<li>FIXED: Ensure That Post Is Not A Revision</li>
-						<li>FIXED: Missing + Sign For Thumbs Up/Down Ratings If Score Is Positive</li>
-						<li>FIXED: Logged By Username Now Shows Ratings Results To Users Who Did Not Login</li>
-						<li>FIXED: Multiple Loops Filtered Not Cleared</li>
-					</ul>
-				</li>
-				<li>
-					<strong>Version 1.40 (12-12-2008)</strong>
-					<ul>
-						<li>NEW: Works For WordPress 2.7 Only</li>
-						<li>NEW: Load Admin JS And CSS Only In WP-PostRatings Admin Pages</li>
-						<li>NEW: Added postratings-admin-css.css For WP-PostRatings Admin CSS Styles</li>
-						<li>NEW: Allow The Usage Of PNG Icons Or GIF Icons. See Usage Tab.<li>
-						<li>NEW: Added get_lowest_rated_range() Function</li>
-						<li>NEW: Right To Left Language Support by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
-						<li>NEW: Added "postratings-css-rtl.css" by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
-						<li>NEW: Added 3 Functions For Creating HTML Code Of Rating Images by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
-						<li>NEW: Call postratings_textdomain() In create_ratinglogs_table() and process_ratings() by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
-						<li>NEW: Replaced Template Variable Calculations With expand_ratings_template() by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
-						<li>NEW: Added Filter expand_ratings_template For Localizing Digits by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
-						<li>NEW: Uses wp_register_style(), wp_print_styles(), plugins_url() And site_url()</li>
-						<li>FIXED: SSL Support</li>
-					</ul>
-				</li>
-				<li>
-					<strong>Version 1.31 (16-07-2008)</strong>
-					<ul>
-						<li>NEW: Works For WordPress 2.6</li>
-						<li>NEW: Renamed GET Variables sortby To r_sortby And orderby To r_orderby</li>
-						<li>NEW: Renamed postratings-admin-js.php To postratings-admin-js.js and Move The Dynamic Javascript Variables To The PHP Pages</li>
-						<li>NEW: Renamed postratings-js.php To postratings-js.js and Move The Dynamic Javascript Variables To The PHP Pages</li>
-						<li>NEW: Uses postratings-js-packed.js And postratings-admin-js-packed.js</li>
-						<li>NEW: When Displaying The Ratings Given By Comment Author, It Check Against Cookie As Well As IP</li>
-						<li>NEW: Better Translation Using __ngetext() by <a href="http://hweia.ru/" title="http://hweia.ru/">Anna Ozeritskaya</a></li>
-						<li>FIXED: MYSQL Charset Issue Should Be Solved</li>
-						<li>FIXED: Removed WP-Cache Compatibility As It Is Not Tested</li>
-						<li>FIXED: Able To Use r_sortby And r_orderby in query_posts()</li>
-					</ul>
-				</li>
-				<li>
-					<strong>Version 1.30 (01-06-2008)</strong>
-					<ul>
-						<li>NEW: Works For WordPress 2.5 Only</li>
-						<li>NEW: Removed 'postratings-usage.php'</li>
-						<li>NEW: Uses ShortCode API</li>
-						<li>NEW: Splitted Templates From PostRating Options Into Its Own File, 'postratings-templates.php'</li>
-						<li>NEW: Able To Display The Ratings Given By Comment Author When Displaying Comments</li>
-						<li>NEW: WP-PostRatings Will Load 'postratings-css.css' Inside Your Theme Directory If It Exists. If Not, It Will Just Load The Default 'postratings-css.css' By WP-PostRatings</li>
-						<li>NEW: Use number_format_i18n() Instead Of number_format()</li>
-						<li>NEW: Added Get Most/Highest Rated Post Within A Given Time Range Function</li>
-						<li>NEW: Added Get Most/Highest Rated Post By Category ID Within A Given Time Range Function</li>
-						<li>NEW: Added get_lowest_rated() Function</li>
-						<li>NEW: Added get_lowest_rated_category() Function</li>
-						<li>NEW: Added get_most_rated_category() Function</li>
-						<li>NEW: Get Most Rated Is Now Under The Templates</li>
-						<li>NEW: Minimum Votes Options/Parameters Added To get_lowest_rated(), get_lowest_rated_category(), get_highest_rated(), get_highest_rated_category(), get_most_rated() and get_most_rated_category() Functions</li>
-						<li>NEW: Uses /wp-postratings/ Folder Instead Of /postratings/</li>
-						<li>NEW: Uses wp-postratings.php Instead Of postratings.php</li>
-						<li>NEW: Move WP-PostRatings Stats Out Of postratings.php Into postrating-stats.php</li>
-						<li>FIXED: Thumbs Up/Down Post Should Get Sorted By Score Instead Of Average</li>
-						<li>FIXED: Increased The Length Of The Input Box For Individual Rating Value</li>
-						<li>FIXED: Manage Ratings Does Not Display "Numbers" Style Rating</li>
-						<li>FIXED: %POST_EXCERPT% Variable Is Sometimes Empty</li>
-					</ul>
-				</li>
-				<li>
-					<strong>Version 1.20 (01-10-2007)</strong>
-					<ul>
-						<li>NEW: Works For WordPress 2.3 Only</li>
-						<li>NEW: Ability To Embed [ratings=1] Into Post/Excerpt, Where 1 Is The ID Of The Post/Page Ratings You Want To Display</li>
-						<li>NEW: Ability To Embed [ratings_results=1] Into Post/Excerpt, Where 1 Is The ID Of The Post/Page Ratings Results You Want To Display</li>
-						<li>NEW: Ability To Support Mutiple Categories For get_highest_rated_category(). By: <a href="http://pomoti.com">Dirceu P. Junior</a></li>
-						<li>NEW: Ability To Embed [ratings] Into Excerpt</li>
-						<li>NEW: Added Template For No Permission To Rate</li>
-						<li>NEW: Ability To Filter Logs By Post ID, User and Rating</li>
-						<li>NEW: Added heart, heart_crystal, plusminus, plusminus_crystal, stars_crystal, thumbs, tickcross, tickcross_crystal and updown_crystal Rating Styles</li>
-						<li>NEW: Supports Up/Down Or Thumbs Up/Thumbs Down Rating</li>
-						<li>NEW: Supports Custom Image For Individual Rating Scale</li>
-						<li>NEW: WP-Cache Compatible By <a href="http://forums.lesterchan.net/index.php/topic,227.0.html">Nir Aides</a></li>
-						<li>NEW: Highest Rated Widge And Most Rated Widget Added</li>
-						<li>NEW: Ability To Uninstall WP-PostRatings</li>
-						<li>NEW: Uses WP-Stats Filter To Add Stats Into WP-Stats Page</li>
-						<li>FIXED: Some Translation Bug In postrating-usage.php</li>
-					</ul>
-				</li>
-				<li>
-					<strong>Version 1.11 (01-06-2007)</strong>
-					<ul>
-						<li>NEW: Ratings Custom Fields Will Automatically Be Created With The Creation Of Each New Post/Page</li>
-						<li>NEW: Added AJAX Style Option: "Show Loading Image With Text"</li>
-						<li>NEW: Added AJAX Style Option: "Show Fading In And Fading Out Of Ratings"</li>
-						<li>NEW: Removed Ratings From Feed If Ratings Is Embedded Into The Post Using [ratings]</li>
-						<li>FIXED: Wrong URL For Page Under Top Rated/Highest Posts Listing</li>
-						<li>FIXED: Next/Previous Paging Bug In WP-Admin -> Manage Ratings</li>
-						<li>FIXED: Sort Most Rated Posts By Number Of Voters Followed By Post Average Ratings</li>
-					</ul>
-				</li>
-				<li>
-					<strong>Version 1.10 (01-02-2007)</strong>
-					<ul>
-						<li>NEW: Works For WordPress 2.1 Only</li>
-						<li>NEW: Renamed postratings-js.js To postratings-js.php To Enable PHP Parsing</li>
-						<li>NEW: Added Function To Get Highest Rated Post By Category ID</li>
-					</ul>
-				</li>
-				<li>
-					<strong>Version 1.05 (02-01-2007)</strong>
-					<ul>
-						<li>NEW: Added The Ability For Each Rating Star To Have Its Own Text</li>
-						<li>NEW: Highest Rated Post Is Now In The Templates For Easy Modification</li>
-						<li>NEW: Usage Instructions Is Also Included Within The Plugin Itself</li>
-						<li>NEW: Able To Delete Ratings Logs And Data By Post IDs</li>
-						<li>NEW: Able To Uninstall WP-PostRatings</li>
-						<li>NEW: Localization WP-PostRatings</li>
-						<li>FIXED: snippet_text() Function Missing</li>
-						<li>FIXED: AJAX Not Working On Servers Running On PHP CGI</li>
-						<li>FIXED: Highest Rated Post Is Now Based On The Ratings Followed By The Number Of Votes</li>
-						<li>FIXED: Added Some Default Styles To postratings-css.css To Ensure That WP-PostRatings Does Not Break</li>
-					</ul>
-				</li>	
-				<li>
-					<strong>Version 1.04 (01-10-2006)</strong>
-					<ul>
-						<li>NEW: Ability To Logged By UserName</li>
-						<li>NEW: get_highest_rated_sidebar(); To Display The Highest Rated Post On The Sidebar</li>
-						<li>NEW: Added CSS Class 'post-ratings-image' To All IMG Tags</li>
-						<li>FIXED: If Site URL Doesn't Match WP Option's Site URL, WP-PostRatings Will Not Work</li>
-					</ul>
-				</li>	
-				<li>
-					<strong>Version 1.03 (01-07-2006)</strong>
-					<ul>
-						<li>NEW: Total Rating Votes Stats And Total Rating Users Stats Function Added</li>
-						<li>FIXED: Ratings Not Working On Physical Pages That Is Integrated Into WordPress</li>
-						<li>FIXED: Modified Get Most/Highest Rated Post Function</li>
-						<li>FIXED: Search Bots Unable To Index Site</li>
-					</ul>
-				</li>	
-				<li>
-					<strong>Version 1.02a (07-06-2006)</strong>
-					<ul>
-						<li>FIXED: AJAX Not Working In Opera Browser</li>
-					</ul>
-				</li>
-				<li>
-					<strong>Version 1.02 (01-06-2006)</strong>
-					<ul>
-						<li>NEW: Fading In/Put Effect After You Rate A Post</li>
-						<li>NEW: Rating Voting And Rating Results Are On The Same Image</li>
-						<li>NEW: Added Rating Option For Logging Method</li>
-						<li>NEW: Added Rating Option For Who Can Rate</li>
-						<li>NEW: Added Rating Results Image To Get Highest Rated Stats</li>
-						<li>NEW: Rating Administration Panel And The Code That WP-PostRatings Generated Is XHTML 1.0 Transitional</li>
-					</ul>
-				</li>
-				<li>
-					<strong>Version 1.01 (01-04-2006)</strong>
-					<ul>
-						<li>NEW: AJAX Voting</li>
-						<li>FIXED: Block Search Bots From Voting</li>
-						<li>FIXED: Hard Coded Table Name In Ratings Stats</li>
-					</ul>
-				</li>
-				<li>
-					<strong>Version 1.00 (01-03-2006)</strong>
-					<ul>
-						<li>NEW: Initial Release</li>
-					</ul>
-				</li>
-			</ul>
-		</div>
-
-		<!-- Installation Instructions -->
-		<div id="Install" style="display: none;">
-			<div class="SubTitle">&raquo; Installation Instructions</div>
-			<ol>
-				<li>
-					Open <strong>wp-content/plugins</strong> Folder
-				</li>
-				<li>
-					Put:
-					<blockquote>Folder: wp-postratings</blockquote>
-				</li>
-				<li>
-					<strong>Activate</strong> WP-PostRatings Plugin
-				</li>
-				<li>
-					Refer To <strong>Usage</strong> For Further Instructions
-				</li>
-			</ol>
-		</div>
-
-		<!-- Upgrade Instructions -->	
-		<div id="Upgrade" style="display: none;">
-			<div class="SubTitle">&raquo; Upgrade Instructions</div>
-			<div class="SubSubTitle">From v1.0x To v1.60</div>
-			<ol>
-				<li>
-					<strong>Deactivate</strong> WP-PostRatings Plugin
-				</li>
-				<li>
-					<strong>Deactivate</strong> WP-PostRatings Widget Plugin
-				</li>
-				<li>
-					Open <strong>wp-content/plugins</strong> Folder
-				</li>
-				<li>
-					Put/Overwrite:
-					<blockquote>Folder: wp-postratings</blockquote>
-				</li>
-				<li>
-					Delete this folder if exists:
-					<blockquote>
-						Folder: postratings
-					</blockquote>
-				</li>
-				<li>
-					Open <strong>wp-content/plugins/wp-postratings</strong> Folder
-				</li>
-				<li>
-					Delete these files if exists:
-					<blockquote>
-						File: postratings-admin-js.php<br />
-						File: postratings-js.php
-						File: wp-postratings-widget.php
-					</blockquote>
-				</li>
-				<li>
-					<strong>Activate</strong> WP-PostRatings Plugin
-				</li>
-				<li>
-					Go to '<strong>WP-Admin -> Ratings -> Ratings Templates</strong>' and restore all the template variables to <strong>Default</strong>
-				</li>
-				<li>
-					Go to '<strong>WP-Admin -> Appearance -> Widgets</strong>' and re-add the Ratings Widget
-				</li>
-				<li>
-					Refer To <strong>Usage</strong> For Further Instructions
-				</li>
-			</ol>
-		</div>
-
-		<!-- Usage Instructions -->	
-		<div id="Usage" style="display: none;">
-			<div class="SubTitle">&raquo; Usage Instructions</div>
-			<div class="SubSubTitle">General Usage</div>
-			<ol>
-				<li>
-					Open <strong>wp-content/themes/&lt;YOUR THEME NAME&gt;/index.php</strong>
-					<p>You may place it in <strong>archive.php</strong>, <strong>single.php</strong>, <strong>post.php</strong> or <strong>page.php</strong> also.</p>
-				</li>
-				<li>
-					Find:
-					<blockquote>
-						&lt;?php while (have_posts()) : the_post(); ?&gt;
-					</blockquote>
-				</li>
-				<li>
-					Add Anywhere Below It (The Place You Want The Ratings To Show):
-					<blockquote>
-						&lt;?php if(function_exists('the_ratings')) { the_ratings(); } ?&gt;
-					</blockquote>
-					<p>If you DO NOT want the ratings to appear in every post/page, DO NOT use the code above. Just type in <strong>[ratings]</strong> into the selected post/page content and it will embed ratings into that post/page only.</p>
-					<p>If you want to embed other <strong>post ratings</strong>, use <strong>[ratings id="1"]</strong>, where <strong>1</strong> is the ID of the post/page ratings that you want to display.</p>
-					<p>If you want to embed other <strong>post ratings results</strong>, use <strong>[ratings id="1" results="true"]</strong>, where <strong>1</strong> is the ID of the post/page ratings results that you want to display.</p>
-				</li>
-			</ol>
-			<div class="SubSubTitle">Displaying Comment Author Ratings</div>
-			<ol>
-				<li>
-					Open <strong>wp-content/plugins/wp-postratings/wp-postratings.php</strong>
-				</li>
-				<li>
-					Find:
-					<blockquote>
-						//add_filter('comment_text', 'comment_author_ratings_filter');
-					</blockquote>
-				</li>
-				<li>
-					Replace:
-					<blockquote>
-						add_filter('comment_text', 'comment_author_ratings_filter');
-					</blockquote>
-				</li>
-			</ol>
-			<div class="SubSubTitle">Note</div>
-			<ul>
-				<li>
-					To use PNG images instead of GIF images:
-					<ol>
-						<li>
-							Open <strong>wp-content/plugins/wp-postratings/wp-postratings.php</strong>
-						</li>
-						<li>
-							Find:
-							<blockquote>
-								define('RATINGS_IMG_EXT', 'gif');<br />
-								//define('RATINGS_IMG_EXT', 'png');
-							</blockquote>
-						</li>
-						<li>
-							Replace:
-							<blockquote>
-								//define('RATINGS_IMG_EXT', 'gif');<br />
-								define('RATINGS_IMG_EXT', 'png');
-							</blockquote>
-						</li>
-					</ol>
-				</li>
-				<li>
-					WP-PostRatings will load '<strong>postratings-css.css</strong>' from your theme's directory if it exists.
-					<ul>
-						<li>If it doesn't exists, it will just load the default 'postratings-css.css' that comes with WP-PostRatings.</li>
-						<li>This will allow you to upgrade WP-PostRatings without worrying about overwriting your ratings styles that you have created.</li>
-					</ul>
-				</li>
-			</ul>
-			<div class="SubSubTitle">Ratings Stats (With Widgets)</div>
-			<ol>
-				<li>
-					Go to '<strong>WP-Admin -> Appearance -> Widgets</strong>'
-				</li>
-				<li>
-					The widget name is <strong>Ratings</strong>.
-				</li>
-			</ol>
-			<div class="SubSubTitle">Ratings Stats (Outside WP Loop)</div>
-			<ul>
-				<li>
-					To Display <strong>Lowest Rated Post</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_lowest_rated')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_lowest_rated(); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_lowest_rated('both', 0, 10)</p>
-					<p>The value <strong>'both'</strong> will display both the lowest rated posts and pages.</p>
-					<p>If you want to display the lowest rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the lowest rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>0</strong> refers to the minimum votes required before the post get shown.</p>
-					<p>The value <strong>10</strong> will display only the top 10 lowest rated posts/pages.</p>
-				</li>
-					<li>
-					To Display <strong>Lowest Rated Post By Tag</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_lowest_rated_tag')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_lowest_rated_tag(TAG_ID); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_lowest_rated_tag(TAG_ID, 'both', 0, 10)</p>
-					<p>Replace <strong>TAG_ID</strong> will your tag ID. If you want it to span several categories, replace <strong>TAG_ID</strong> with <strong>array(1, 2)</strong> where <strong>1</strong> and <strong>2</strong> are your categories ID.</p>
-					<p>The value <strong>'both'</strong> will display both the lowest rated posts and pages.</p>
-					<p>If you want to display the lowest rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the lowest rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>0</strong> refers to the minimum votes required before the post get shown.</p>
-					<p>The value <strong>10</strong> will display only the top 10 lowest rated posts/pages.</p>
-				</li>
-				<li>
-					To Display <strong>Lowest Rated Post In A Category</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_lowest_rated_category')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_lowest_rated_category(CATEGORY_ID); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_lowest_rated_category(CATEGORY_ID, 'both', 0, 10)</p>
-					<p>Replace <strong>CATEGORY_ID</strong> will your category ID. If you want it to span several categories, replace <strong>CATEGORY_ID</strong> with <strong>array(1, 2)</strong> where <strong>1</strong> and <strong>2</strong> are your categories ID.</p>
-					<p>The value <strong>'both'</strong> will display both the lowest rated posts and pages.</p>
-					<p>If you want to display the lowest rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the lowest rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>0</strong> refers to the minimum votes required before the post get shown.</p>
-					<p>The value <strong>10</strong> will display only the top 10 lowest rated posts/pages.</p>
-				</li>
-				<li>
-					To Display <strong>Highest Rated Post</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_highest_rated')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_highest_rated(); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_highest_rated('both', 0, 10)</p>
-					<p>The value <strong>'both'</strong> will display both the highest rated posts and pages.</p>
-					<p>If you want to display the highest rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the highest rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>0</strong> refers to the minimum votes required before the post get shown.</p>
-					<p>The value <strong>10</strong> will display only the top 10 highest rated posts/pages.</p>
-				</li>
-				<li>
-					To Display <strong>Highest Rated Post By Tag</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_highest_rated_tag')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_highest_rated_tag(TAG_ID); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_highest_rated_tag(TAG_ID, 'both', 0, 10)</p>
-					<p>Replace <strong>TAG_ID</strong> will your tag ID. If you want it to span several categories, replace <strong>TAG_ID</strong> with <strong>array(1, 2)</strong> where <strong>1</strong> and <strong>2</strong> are your categories ID.</p>
-					<p>The value <strong>'both'</strong> will display both the highest rated posts and pages.</p>					
-					<p>If you want to display the highest rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the highest rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>0</strong> refers to the minimum votes required before the post get shown.</p>
-					<p>The value <strong>10</strong> will display only the top 10 highest rated posts/pages.</p>
-				</li>
-				<li>
-					To Display <strong>Highest Rated Post In A Category</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_highest_rated_category')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_highest_rated_category(CATEGORY_ID); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_highest_rated_category(CATEGORY_ID, 'both', 0, 10)</p>
-					<p>Replace <strong>CATEGORY_ID</strong> will your category ID. If you want it to span several categories, replace <strong>CATEGORY_ID</strong> with <strong>array(1, 2)</strong> where <strong>1</strong> and <strong>2</strong> are your categories ID.</p>
-					<p>The value <strong>'both'</strong> will display both the highest rated posts and pages.</p>					
-					<p>If you want to display the highest rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the highest rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>0</strong> refers to the minimum votes required before the post get shown.</p>
-					<p>The value <strong>10</strong> will display only the top 10 highest rated posts/pages.</p>
-				</li>
-				<li>
-					To Display <strong>Highest Rated Post Within A Given Period</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_highest_rated_range')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_highest_rated_range('1 day'); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_highest_rated_range('1 day', 'both', 10)</p>
-					<p>The value <strong>'1 day'</strong> will be the range that you want. You can use <strong>'2 days'</strong>, <strong>'1 month'</strong>, etc.</p>
-					<p>The value <strong>'both'</strong> will display both the most rated posts and pages.</p>
-					<p>If you want to display the most rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the most rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>10</strong> will display only the top 10 most rated posts/pages.</p>
-				</li>
-				<li>
-					To Display <strong>Most Rated Post</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_most_rated')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_most_rated(); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_most_rated('both', 0, 10)</p>
-					<p>The value <strong>'both'</strong> will display both the most rated posts and pages.</p>
-					<p>If you want to display the most rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the most rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>0</strong> refers to the minimum votes required before the post get shown.</p>
-					<p>The value <strong>10</strong> will display only the top 10 most rated posts/pages.</p>
-				</li>
-				<li>
-					To Display <strong>Most Rated Post In A Category</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_most_rated_category')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_most_rated_category(CATEGORY_ID); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_most_rated_category(CATEGORY_ID, 'both', 0, 10)</p>
-					<p>Replace <strong>CATEGORY_ID</strong> will your category ID. If you want it to span several categories, replace <strong>CATEGORY_ID</strong> with <strong>array(1, 2)</strong> where <strong>1</strong> and <strong>2</strong> are your categories ID.</p>
-					<p>The value <strong>'both'</strong> will display both the most rated posts and pages.</p>
-					<p>If you want to display the most rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the most rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>0</strong> refers to the minimum votes required before the post get shown.</p>
-					<p>The value <strong>10</strong> will display only the top 10 most rated posts/pages.</p>
-				</li>
-				<li>
-					To Display <strong>Most Rated Post Within A Given Period</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_most_rated_range')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_most_rated_range('1 day'); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_most_rated_range('1 day', 'both', 10)</p>
-					<p>The value <strong>'1 day'</strong> will be the range that you want. You can use <strong>'2 days'</strong>, <strong>'1 month'</strong>, etc.</p>
-					<p>The value <strong>'both'</strong> will display both the most rated posts and pages.</p>
-					<p>If you want to display the most rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the most rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>10</strong> will display only the top 10 most rated posts/pages.</p>
-				</li>
-				<li>
-					To Display <strong>Highest Score Post</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_highest_score')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_highest_score(); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_highest_score('both', 0, 10)</p>
-					<p>The value <strong>'both'</strong> will display both the most rated posts and pages.</p>
-					<p>If you want to display the most rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the most rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>0</strong> refers to the minimum votes required before the post get shown.</p>
-					<p>The value <strong>10</strong> will display only the top 10 most rated posts/pages.</p>
-				</li>
-				<li>
-					To Display <strong>Highest Score Post In A Category</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_highest_score_category')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_highest_score_category(CATEGORY_ID); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_highest_score_category(CATEGORY_ID, 'both', 0, 10)</p>
-					<p>Replace <strong>CATEGORY_ID</strong> will your category ID. If you want it to span several categories, replace <strong>CATEGORY_ID</strong> with <strong>array(1, 2)</strong> where <strong>1</strong> and <strong>2</strong> are your categories ID.</p>
-					<p>The value <strong>'both'</strong> will display both the most rated posts and pages.</p>
-					<p>If you want to display the most rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the most rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>0</strong> refers to the minimum votes required before the post get shown.</p>
-					<p>The value <strong>10</strong> will display only the top 10 most rated posts/pages.</p>
-				</li>
-				<li>
-					To Display <strong>Highest Score Post Within A Given Period</strong>
-				</li>
-				<li>
-					Use:
-					<blockquote>
-						&lt;?php if (function_exists('get_highest_score_range')): ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
-						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php get_highest_score_range('1 day'); ?&gt;<br />
-						&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
-						&lt;?php endif; ?&gt;
-					</blockquote>
-					<p>Default: get_highest_score_range('1 day', 'both', 10)</p>
-					<p>The value <strong>'1 day'</strong> will be the range that you want. You can use <strong>'2 days'</strong>, <strong>'1 month'</strong>, etc.</p>
-					<p>The value <strong>'both'</strong> will display both the most rated posts and pages.</p>
-					<p>If you want to display the most rated posts only, replace 'both' with <strong>'post'</strong>.</p>
-					<p>If you want to display the most rated pages only, replace 'both' with <strong>'page'</strong>.</p>
-					<p>The value <strong>10</strong> will display only the top 10 most rated posts/pages.</p>
-				</li>
-				<li>
-					To Sort <strong>Highest/Lowest Rated Posts</strong>
-				</li>
-				<li>
-					You can use:
-					<blockquote>
-						&lt;?php query_posts($query_string.'&r_sortby=highest_rated&amp;r_orderby=desc') ?&gt;
-					</blockquote>
-					<p>Or pass in the variables to the URL:</p>
-					<blockquote>
-						http://yoursite.com/?r_sortby=highest_rated&amp;r_orderby=desc
-					</blockquote>
-					<p>You can replace <strong>desc</strong> with <strong>asc</strong> if you want the lowest rated posts.</p>
-				</li>
-				<li>
-					To Sort <strong>Most/Least Rated Posts</strong>
-				</li>
-				<li>
-					You can use:
-					<blockquote>
-						&lt;?php query_posts($query_string.'&r_sortby=most_rated&amp;r_orderby=desc') ?&gt;
-					</blockquote>
-					<p>Or pass in the variables to the URL:</p>
-					<blockquote>
-						http://yoursite.com/?r_sortby=most_rated&amp;r_orderby=desc
-					</blockquote>
-					<p>You can replace <strong>desc</strong> with <strong>asc</strong> if you want the least rated posts.</p>
-				</li>
-			</ul>
-		</div>
-	</div>
-</div>
-<p id="Copyright">WP-PostRatings 1.60<br />Copyright &copy; 2009 Lester 'GaMerZ' Chan. All Rights Reserved.</p>
-</body>
-</html>
\ No newline at end of file

programming_language: unknown
filename: readme.txt
change_type: ModificationType.MODIFY
diff: @@ -1,29 +1,484 @@
 === WP-PostRatings ===
 Contributors: GamerZ
 Donate link: http://lesterchan.net/wordpress
-Tags: ban, ratings, rating, postratings, postrating, vote, digg, ajax, post
+Tags: ratings, rating, postratings, postrating, vote, digg, ajax, post
 Requires at least: 2.8
-Stable tag: 1.50
+Tested up to: 3.0.4
+Stable tag: trunk
 
 Adds an AJAX rating system for your WordPress blog's post/page.
 
 == Description ==
 
-All the information (general, changelog, installation, upgrade, usage) you need about this plugin can be found here: [WP-PostRatings Readme](http://lesterchan.net/wordpress/readme/wp-postratings.html "WP-PostRatings Readme").
-It is the exact same readme.html is included in the ZIP package.
+= Previous Versions =
+* [WP-PostRatings 1.40 For WordPress 2.7.x](http://downloads.wordpress.org/plugin/wp-postratings.1.40.zip "WP-PostRatings 1.40 For WordPress 2.7.x")
+* [WP-PostRatings 1.31 For WordPress 2.5.x And 2.6.x](http://downloads.wordpress.org/plugin/wp-postratings.1.31.zip "WP-PostRatings 1.31 For WordPress 2.5.x And 2.6.x")
+* [WP-PostRatings 1.20 For WordPress 2.3.x](http://downloads.wordpress.org/plugin/wp-postratings.1.20.zip "WP-PostRatings 1.20 For WordPress 2.3.x")</a>
+* [WP-PostRatings 1.11 For WordPress 2.1.x And 2.2.x](http://downloads.wordpress.org/plugin/wp-postratings.1.11.zip "WP-PostRatings 1.11 For WordPress 2.1.x And 2.2.x")
+* [WP-PostRatings 1.05 For WordPress 2.0.x](http://downloads.wordpress.org/plugin/wp-postratings.1.05.zip "WP-PostRatings 1.05 For WordPress 2.0.x")
+* [WP-PostRatings 1.03 For WordPress 1.5.2](http://downloads.wordpress.org/plugin/wp-postratings.1.03wp1.52.zip "WP-PostRatings 1.03 For WordPress 1.5.2")
 
-== Development Blog ==
+= Development =
+* [http://dev.wp-plugins.org/browser/wp-postratings/](http://dev.wp-plugins.org/browser/wp-postratings/ "http://dev.wp-plugins.org/browser/wp-postratings/")
 
-[GaMerZ WordPress Plugins Development Blog](http://lesterchan.net/wordpress/ "GaMerZ WordPress Plugins Development Blog")
+= Translations =
+* [http://dev.wp-plugins.org/browser/wp-postratings/i18n/](http://dev.wp-plugins.org/browser/wp-postratings/i18n/ "http://dev.wp-plugins.org/browser/wp-postratings/i18n/")
+
+= Support Forums =
+* [http://forums.lesterchan.net/index.php?board=17.0](http://forums.lesterchan.net/index.php?board=17.0 "http://forums.lesterchan.net/index.php?board=17.0")
+
+= Credits =
+* Icons courtesy of [FamFamFam](http://www.famfamfam.com/ "FamFamFam") and [Everaldo](http://www.everaldo.com "Everaldo")
+* __ngetext() by [Anna Ozeritskaya](http://hweia.ru/ "Anna Ozeritskaya")
+* Right To Left Language Support by [Kambiz R. Khojasteh](http://persian-programming.com/ "Kambiz R. Khojasteh")
+
+= Donations =
+* I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appericiate it. If not feel free to use it without any obligations.
+
+== Changelog ==
+= Version 1.61 (17-02-2011) =
+* FIXED: XSS Vulnerability. Thanks Dion Hulse aka dd32
+* FIXED: Removed Global $post
+
+= Version 1.50 (15-06-2009) =
+* NEW: Works For WordPress 2.8 Only
+* NEW: Javascript Now Placed At The Footer
+* NEW: Uses jQuery Instead Of tw-sack
+* NEW: Minified Javascript Instead Of Packed Javascript
+* NEW: Renamed postratings-admin-js-packed.js To postratings-admin-js.js
+* NEW: Renamed postratings-admin-js.js To postratings-admin-js.dev.js
+* NEW: Renamed postratings-js-packed.js To postratings-js.js
+* NEW: Renamed postratings-js.js To postratings-js.dev.js
+* NEW: Translate Javascript Variables Using wp_localize_script()
+* NEW: Added In Most Rated & Highest Rated Pages To WP-Stats
+* NEW: Added get_highest_score(), get_highest_score_category(), get_highest_score_range(), get_highest_score_range_category()
+* NEW: Use _n() Instead Of __ngettext() And _n_noop() Instead Of __ngettext_noop()
+* NEW: Uses New Widget Class From WordPress
+* NEW: Merge Widget Code To wp-postratings.php And Remove wp-postratings-widget.php
+* NEW: get_highest_rated_tag() And get_lowest_rated_tag()
+* FIXED: Uses $_SERVER['PHP_SELF'] With plugin_basename(__FILE__) Instead Of Just $_SERVER['REQUEST_URI']
+* FIXED: Ensure That Post Is Not A Revision
+* FIXED: Missing + Sign For Thumbs Up/Down Ratings If Score Is Positive
+* FIXED: Logged By Username Now Shows Ratings Results To Users Who Did Not Login
+* FIXED: Multiple Loops Filtered Not Cleared
+
+= Version 1.40 (12-12-2008) =
+* NEW: Works For WordPress 2.7 Only
+* NEW: Load Admin JS And CSS Only In WP-PostRatings Admin Pages
+* NEW: Added postratings-admin-css.css For WP-PostRatings Admin CSS Styles
+* NEW: Allow The Usage Of PNG Icons Or GIF Icons. See Usage Tab.* 
+* NEW: Added get_lowest_rated_range() Function
+* NEW: Right To Left Language Support by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a>
+* NEW: Added "postratings-css-rtl.css" by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a>
+* NEW: Added 3 Functions For Creating HTML Code Of Rating Images by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a>
+* NEW: Call postratings_textdomain() In create_ratinglogs_table() and process_ratings() by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a>
+* NEW: Replaced Template Variable Calculations With expand_ratings_template() by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a>
+* NEW: Added Filter expand_ratings_template For Localizing Digits by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a>
+* NEW: Uses wp_register_style(), wp_print_styles(), plugins_url() And site_url()
+* FIXED: SSL Support
+
+= Version 1.31 (16-07-2008) =
+* NEW: Works For WordPress 2.6
+* NEW: Renamed GET Variables sortby To r_sortby And orderby To r_orderby
+* NEW: Renamed postratings-admin-js.php To postratings-admin-js.js and Move The Dynamic Javascript Variables To The PHP Pages
+* NEW: Renamed postratings-js.php To postratings-js.js and Move The Dynamic Javascript Variables To The PHP Pages
+* NEW: Uses postratings-js-packed.js And postratings-admin-js-packed.js
+* NEW: When Displaying The Ratings Given By Comment Author, It Check Against Cookie As Well As IP
+* NEW: Better Translation Using __ngetext() by <a href="http://hweia.ru/" title="http://hweia.ru/">Anna Ozeritskaya</a>
+* FIXED: MYSQL Charset Issue Should Be Solved
+* FIXED: Removed WP-Cache Compatibility As It Is Not Tested
+* FIXED: Able To Use r_sortby And r_orderby in query_posts()
+
+= Version 1.30 (01-06-2008) =
+* NEW: Works For WordPress 2.5 Only
+* NEW: Removed 'postratings-usage.php'
+* NEW: Uses ShortCode API
+* NEW: Splitted Templates From PostRating Options Into Its Own File, 'postratings-templates.php'
+* NEW: Able To Display The Ratings Given By Comment Author When Displaying Comments
+* NEW: WP-PostRatings Will Load 'postratings-css.css' Inside Your Theme Directory If It Exists. If Not, It Will Just Load The Default 'postratings-css.css' By WP-PostRatings
+* NEW: Use number_format_i18n() Instead Of number_format()
+* NEW: Added Get Most/Highest Rated Post Within A Given Time Range Function
+* NEW: Added Get Most/Highest Rated Post By Category ID Within A Given Time Range Function
+* NEW: Added get_lowest_rated() Function
+* NEW: Added get_lowest_rated_category() Function
+* NEW: Added get_most_rated_category() Function
+* NEW: Get Most Rated Is Now Under The Templates
+* NEW: Minimum Votes Options/Parameters Added To get_lowest_rated(), get_lowest_rated_category(), get_highest_rated(), get_highest_rated_category(), get_most_rated() and get_most_rated_category() Functions
+* NEW: Uses /wp-postratings/ Folder Instead Of /postratings/
+* NEW: Uses wp-postratings.php Instead Of postratings.php
+* NEW: Move WP-PostRatings Stats Out Of postratings.php Into postrating-stats.php
+* FIXED: Thumbs Up/Down Post Should Get Sorted By Score Instead Of Average
+* FIXED: Increased The Length Of The Input Box For Individual Rating Value
+* FIXED: Manage Ratings Does Not Display "Numbers" Style Rating
+* FIXED: %POST_EXCERPT% Variable Is Sometimes Empty
+
+= Version 1.20 (01-10-2007) =
+* NEW: Works For WordPress 2.3 Only
+* NEW: Ability To Embed [ratings=1] Into Post/Excerpt, Where 1 Is The ID Of The Post/Page Ratings You Want To Display
+* NEW: Ability To Embed [ratings_results=1] Into Post/Excerpt, Where 1 Is The ID Of The Post/Page Ratings Results You Want To Display
+* NEW: Ability To Support Mutiple Categories For get_highest_rated_category(). By: <a href="http://pomoti.com">Dirceu P. Junior</a>
+* NEW: Ability To Embed [ratings] Into Excerpt
+* NEW: Added Template For No Permission To Rate
+* NEW: Ability To Filter Logs By Post ID, User and Rating
+* NEW: Added heart, heart_crystal, plusminus, plusminus_crystal, stars_crystal, thumbs, tickcross, tickcross_crystal and updown_crystal Rating Styles
+* NEW: Supports Up/Down Or Thumbs Up/Thumbs Down Rating
+* NEW: Supports Custom Image For Individual Rating Scale
+* NEW: WP-Cache Compatible By <a href="http://forums.lesterchan.net/index.php/topic,227.0.html">Nir Aides</a>
+* NEW: Highest Rated Widge And Most Rated Widget Added
+* NEW: Ability To Uninstall WP-PostRatings
+* NEW: Uses WP-Stats Filter To Add Stats Into WP-Stats Page
+* FIXED: Some Translation Bug In postrating-usage.php
+
+= Version 1.11 (01-06-2007) =
+* NEW: Ratings Custom Fields Will Automatically Be Created With The Creation Of Each New Post/Page
+* NEW: Added AJAX Style Option: "Show Loading Image With Text"
+* NEW: Added AJAX Style Option: "Show Fading In And Fading Out Of Ratings"
+* NEW: Removed Ratings From Feed If Ratings Is Embedded Into The Post Using [ratings]
+* FIXED: Wrong URL For Page Under Top Rated/Highest Posts Listing
+* FIXED: Next/Previous Paging Bug In WP-Admin -> Manage Ratings
+* FIXED: Sort Most Rated Posts By Number Of Voters Followed By Post Average Ratings
+
+= Version 1.10 (01-02-2007) =
+* NEW: Works For WordPress 2.1 Only
+* NEW: Renamed postratings-js.js To postratings-js.php To Enable PHP Parsing
+* NEW: Added Function To Get Highest Rated Post By Category ID
+
+= Version 1.05 (02-01-2007) =
+* NEW: Added The Ability For Each Rating Star To Have Its Own Text
+* NEW: Highest Rated Post Is Now In The Templates For Easy Modification
+* NEW: Usage Instructions Is Also Included Within The Plugin Itself
+* NEW: Able To Delete Ratings Logs And Data By Post IDs
+* NEW: Able To Uninstall WP-PostRatings
+* NEW: Localization WP-PostRatings
+* FIXED: snippet_text() Function Missing
+* FIXED: AJAX Not Working On Servers Running On PHP CGI
+* FIXED: Highest Rated Post Is Now Based On The Ratings Followed By The Number Of Votes
+* FIXED: Added Some Default Styles To postratings-css.css To Ensure That WP-PostRatings Does Not Break
+
+= Version 1.04 (01-10-2006) =
+* NEW: Ability To Logged By UserName
+* NEW: get_highest_rated_sidebar(); To Display The Highest Rated Post On The Sidebar
+* NEW: Added CSS Class 'post-ratings-image' To All IMG Tags
+* FIXED: If Site URL Doesn't Match WP Option's Site URL, WP-PostRatings Will Not Work
+
+= Version 1.03 (01-07-2006) =
+* NEW: Total Rating Votes Stats And Total Rating Users Stats Function Added
+* FIXED: Ratings Not Working On Physical Pages That Is Integrated Into WordPress
+* FIXED: Modified Get Most/Highest Rated Post Function
+* FIXED: Search Bots Unable To Index Site
+
+= Version 1.02a (07-06-2006) =
+* FIXED: AJAX Not Working In Opera Browser
+
+= Version 1.02 (01-06-2006) =
+* NEW: Fading In/Put Effect After You Rate A Post
+* NEW: Rating Voting And Rating Results Are On The Same Image
+* NEW: Added Rating Option For Logging Method
+* NEW: Added Rating Option For Who Can Rate
+* NEW: Added Rating Results Image To Get Highest Rated Stats
+* NEW: Rating Administration Panel And The Code That WP-PostRatings Generated Is XHTML 1.0 Transitional
+
+= Version 1.01 (01-04-2006) =
+* NEW: AJAX Voting
+* FIXED: Block Search Bots From Voting
+* FIXED: Hard Coded Table Name In Ratings Stats
+
+= Version 1.00 (01-03-2006) =
+* NEW: Initial Release
 
 == Installation ==
 
-[WP-PostRatings Readme](http://lesterchan.net/wordpress/readme/wp-postratings.html "WP-PostRatings Readme") (Installation Tab)
+1. Open `wp-content/plugins` Folder
+2. Put: `Folder: wp-PostRatings`
+3. Activate `WP-PostRatings` Plugin
+4. Go to `WP-Admin -> Ratings`
+
+= Usage =
+1. Open `wp-content/themes/<YOUR THEME NAME>/index.php`
+	You may place it in archive.php, single.php, post.php or page.php also.
+2. Find: `<?php while (have_posts()) : the_post(); ?>`
+3. Add Anywhere Below It (The Place You Want The Ratings To Show):
+	`<?php if(function_exists('the_ratings')) { the_ratings(); } ?>`
+
+* If you DO NOT want the ratings to appear in every post/page, DO NOT use the code above. Just type in `[ratings]` into the selected post/page content and it will embed ratings into that post/page only.
+* If you want to embed other post ratings use `[ratings id="1"]`, where 1 is the ID of the post/page ratings that you want to display.
+* If you want to embed other post ratings results, use `[ratings id="1" results="true"]`, where 1 is the ID of the post/page ratings results that you want to display.
+
+
+== Upgrading ==
+
+1. Deactivate `WP-PostRatings` Plugin
+2. Open `wp-content/plugins` Folder
+3. Put/Overwrite: `Folder: wp-postratings`
+4. Activate `WP-PostRatings` Plugin
+5. Go to `WP-Admin -> Ratings -> Ratings Templates` and restore all the template variables to `Default`
+6. Go to `WP-Admin -> Appearance -> Widgets` and re-add the Ratings Widget
+	
+== Upgrade Notice ==
+
+N/A
 
 == Screenshots ==
 
-[WP-PostRatings Screenshots](http://lesterchan.net/wordpress/screenshots/browse/wp-postratings/ "WP-PostRatings Screenshots")
+1. Admin - Ratings Log Bottom
+2. Admin - Ratings Log Top
+3. Admin - Ratings Options
+4. Admin - Ratings Templates
+5. Ratings
+6. Ratings Hover
 
 == Frequently Asked Questions ==
 
-[WP-PostRatings Support Forums](http://forums.lesterchan.net/index.php?board=17.0 "WP-PostRatings Support Forums")
+= How To Display Comment Author Ratings? =
+1. Open `wp-content/plugins/wp-postratings/wp-postratings.php`
+2. Find: `//add_filter('comment_text', 'comment_author_ratings_filter');`
+3. Replace: `add_filter('comment_text', 'comment_author_ratings_filter');`
+
+= How To use PNG images instead of GIF images =
+1. Open `wp-content/plugins/wp-postratings/wp-postratings.php`
+2. Find:
+<code>
+define('RATINGS_IMG_EXT', 'gif');
+//define('RATINGS_IMG_EXT', 'png');
+</code>
+3. Replace:
+<code>
+//define('RATINGS_IMG_EXT', 'gif');
+define('RATINGS_IMG_EXT', 'png');
+</code>
+
+= How Does WP-PostRatings Load CSS? = 
+* WP-PostRatings will load `postratings-css.css` from your theme's directory if it exists.
+* If it doesn't exists, it will just load the default 'postratings-css.css' that comes with WP-PostRatings.
+* This will allow you to upgrade WP-PostRatings without worrying about overwriting your ratings styles that you have created.
+
+= How To Use Ratings Stats With Widgets? =
+1. Go to `WP-Admin -> Appearance -> Widgets`
+2. The widget name is Ratings.
+
+= How To Use Ratings Stats Outside WP Loop? =
+
+= To Display Lowest Rated Post =
+* Use:
+<code>
+<?php if (function_exists('get_lowest_rated')): ?>
+	<ul>
+		<?php get_lowest_rated(); ?>
+	</ul>
+<?php endif; ?>
+</code>
+* Default: get_lowest_rated('both', 0, 10)
+* The value 'both' will display both the lowest rated posts and pages.
+* If you want to display the lowest rated posts only, replace 'both' with 'post'.
+* If you want to display the lowest rated pages only, replace 'both' with 'page'.
+* The value 0 refers to the minimum votes required before the post get shown.
+* The value 10 will display only the top 10 lowest rated posts/pages.
+
+= To Display Lowest Rated Post By Tag =
+* Use:
+<code>
+<?php if (function_exists('get_lowest_rated_tag')): ?>
+	<ul>
+		<?php get_lowest_rated_tag(TAG_ID); ?>
+	</ul>
+<?php endif; ?>
+</code>
+* Default: get_lowest_rated_tag(TAG_ID, 'both', 0, 10)
+* Replace TAG_ID will your tag ID. If you want it to span several categories, replace TAG_ID with array(1, 2) where 1 and 2 are your categories ID.
+* The value 'both' will display both the lowest rated posts and pages.
+* If you want to display the lowest rated posts only, replace 'both' with 'post'.
+* If you want to display the lowest rated pages only, replace 'both' with 'page'.
+* The value 0 refers to the minimum votes required before the post get shown.
+* The value 10 will display only the top 10 lowest rated posts/pages.
+
+= To Display Lowest Rated Post In A Category = 
+* Use:
+<code>
+<?php if (function_exists('get_lowest_rated_category')): ?>
+	<ul>
+		<?php get_lowest_rated_category(CATEGORY_ID); ?>
+	</ul>
+<?php endif; ?>
+</code>
+* Default: get_lowest_rated_category(CATEGORY_ID, 'both', 0, 10)
+* Replace CATEGORY_ID will your category ID. If you want it to span several categories, replace CATEGORY_ID with array(1, 2) where 1 and 2 are your categories ID.
+* The value 'both' will display both the lowest rated posts and pages.
+* If you want to display the lowest rated posts only, replace 'both' with 'post'.
+* If you want to display the lowest rated pages only, replace 'both' with 'page'.
+* The value 0 refers to the minimum votes required before the post get shown.
+* The value 10 will display only the top 10 lowest rated posts/pages.
+		
+= To Display Highest Rated Post =				
+* Use:
+<code>
+<?php if (function_exists('get_highest_rated')): ?>
+	<ul>
+		<?php get_highest_rated(); ?>
+	</ul>
+<?php endif; ?>
+</code>
+* Default: get_highest_rated('both', 0, 10)
+* The value 'both' will display both the highest rated posts and pages.
+* If you want to display the highest rated posts only, replace 'both' with 'post'.
+* If you want to display the highest rated pages only, replace 'both' with 'page'.
+* The value 0 refers to the minimum votes required before the post get shown.
+* The value 10 will display only the top 10 highest rated posts/pages.
+
+= To Display Highest Rated Post By Tag =
+* Use:
+<code>
+<?php if (function_exists('get_highest_rated_tag')): ?>
+	<ul>
+		<?php get_highest_rated_tag(TAG_ID); ?>
+	</ul>
+<?php endif; ?>
+</code>
+* Default: get_highest_rated_tag(TAG_ID, 'both', 0, 10)
+* Replace TAG_ID will your tag ID. If you want it to span several categories, replace TAG_ID with array(1, 2) where 1 and 2 are your categories ID.
+* The value 'both' will display both the highest rated posts and pages.					
+* If you want to display the highest rated posts only, replace 'both' with 'post'.
+* If you want to display the highest rated pages only, replace 'both' with 'page'.
+* The value 0 refers to the minimum votes required before the post get shown.
+* The value 10 will display only the top 10 highest rated posts/pages.
+		
+= To Display Highest Rated Post In A Category -
+* Use:					
+<code>
+<?php if (function_exists('get_highest_rated_category')): ?>
+	<ul>
+		<?php get_highest_rated_category(CATEGORY_ID); ?>
+	</ul>
+<?php endif; ?>
+</code>
+* Default: get_highest_rated_category(CATEGORY_ID, 'both', 0, 10)
+* Replace CATEGORY_ID will your category ID. If you want it to span several categories, replace CATEGORY_ID with array(1, 2) where 1 and 2 are your categories ID.
+* The value 'both' will display both the highest rated posts and pages.					
+* If you want to display the highest rated posts only, replace 'both' with 'post'.
+* If you want to display the highest rated pages only, replace 'both' with 'page'.
+* The value 0 refers to the minimum votes required before the post get shown.
+* The value 10 will display only the top 10 highest rated posts/pages.
+
+= To Display Highest Rated Post Within A Given Period =
+* Use:
+<code>					
+<?php if (function_exists('get_highest_rated_range')): ?>
+	<ul>
+		<?php get_highest_rated_range('1 day'); ?>
+	</ul>
+<?php endif; ?>				
+</code>
+* Default: get_highest_rated_range('1 day', 'both', 10)
+* The value '1 day' will be the range that you want. You can use '2 days', '1 month', etc.
+* The value 'both' will display both the most rated posts and pages.
+* If you want to display the most rated posts only, replace 'both' with 'post'.
+* If you want to display the most rated pages only, replace 'both' with 'page'.
+* The value 10 will display only the top 10 most rated posts/pages.
+
+= To Display Most Rated Post =
+* Use:
+<code>
+<?php if (function_exists('get_most_rated')): ?>
+	<ul>
+		<?php get_most_rated(); ?>
+	</ul>
+<?php endif; ?>
+</code>		
+* Default: get_most_rated('both', 0, 10)
+* The value 'both' will display both the most rated posts and pages.
+* If you want to display the most rated posts only, replace 'both' with 'post'.
+* If you want to display the most rated pages only, replace 'both' with 'page'.
+* The value 0 refers to the minimum votes required before the post get shown.
+* The value 10 will display only the top 10 most rated posts/pages.
+
+= To Display Most Rated Post In A Category =				
+* Use:
+<code>
+<?php if (function_exists('get_most_rated_category')): ?>
+	<ul>
+		<?php get_most_rated_category(CATEGORY_ID); ?>
+	</ul>
+<?php endif; ?>
+</code>				
+* Default: get_most_rated_category(CATEGORY_ID, 'both', 0, 10)
+* Replace CATEGORY_ID will your category ID. If you want it to span several categories, replace CATEGORY_ID with array(1, 2) where 1 and 2 are your categories ID.
+* The value 'both' will display both the most rated posts and pages.
+* If you want to display the most rated posts only, replace 'both' with 'post'.
+* If you want to display the most rated pages only, replace 'both' with 'page'.
+* The value 0 refers to the minimum votes required before the post get shown.
+* The value 10 will display only the top 10 most rated posts/pages.
+
+= To Display Most Rated Post Within A Given Period =				
+* Use:
+<code>
+<?php if (function_exists('get_most_rated_range')): ?>
+	<ul>
+		<?php get_most_rated_range('1 day'); ?>
+	</ul>
+<?php endif; ?>
+</code>
+* Default: get_most_rated_range('1 day', 'both', 10)
+* The value '1 day' will be the range that you want. You can use '2 days', '1 month', etc.
+* The value 'both' will display both the most rated posts and pages.
+* If you want to display the most rated posts only, replace 'both' with 'post'.
+* If you want to display the most rated pages only, replace 'both' with 'page'.
+* The value 10 will display only the top 10 most rated posts/pages.
+
+= To Display Highest Score Post =				
+* Use:
+<code>
+<?php if (function_exists('get_highest_score')): ?>
+	<ul>
+		<?php get_highest_score(); ?>
+	</ul>
+<?php endif; ?>
+</code>
+* Default: get_highest_score('both', 0, 10)
+* The value 'both' will display both the most rated posts and pages.
+* If you want to display the most rated posts only, replace 'both' with 'post'.
+* If you want to display the most rated pages only, replace 'both' with 'page'.
+* The value 0 refers to the minimum votes required before the post get shown.
+* The value 10 will display only the top 10 most rated posts/pages.
+	
+= To Display Highest Score Post In A Category =
+* Use:
+<code>				
+<?php if (function_exists('get_highest_score_category')): ?>
+	<ul>
+		<?php get_highest_score_category(CATEGORY_ID); ?>
+	</ul>
+<?php endif; ?>
+</code>	
+* Default: get_highest_score_category(CATEGORY_ID, 'both', 0, 10)
+* Replace CATEGORY_ID will your category ID. If you want it to span several categories, replace CATEGORY_ID with array(1, 2) where 1 and 2 are your categories ID.
+* The value 'both' will display both the most rated posts and pages.
+* If you want to display the most rated posts only, replace 'both' with 'post'.
+* If you want to display the most rated pages only, replace 'both' with 'page'.
+* The value 0 refers to the minimum votes required before the post get shown.
+* The value 10 will display only the top 10 most rated posts/pages.
+				
+				
+= To Display Highest Score Post Within A Given Period =
+* Use:
+<code>
+<?php if (function_exists('get_highest_score_range')): ?>
+	<ul>
+		<?php get_highest_score_range('1 day'); ?>
+	</ul>
+<?php endif; ?>
+</code>
+* Default: get_highest_score_range('1 day', 'both', 10)
+* The value '1 day' will be the range that you want. You can use '2 days', '1 month', etc.
+* The value 'both' will display both the most rated posts and pages.
+* If you want to display the most rated posts only, replace 'both' with 'post'.
+* If you want to display the most rated pages only, replace 'both' with 'page'.
+* The value 10 will display only the top 10 most rated posts/pages.
+				
+= To Sort Highest/Lowest Rated Posts =
+* You can use: `<?php query_posts($query_string.'&r_sortby=highest_rated&amp;r_orderby=desc') ?>`
+* Or pass in the variables to the URL: `http://yoursite.com/?r_sortby=highest_rated&amp;r_orderby=desc`
+* You can replace desc with asc if you want the lowest rated posts.
+
+= To Sort Most/Least Rated Posts =
+* You can use: `<?php query_posts($query_string.'&r_sortby=most_rated&amp;r_orderby=desc') ?>`
+* Or pass in the variables to the URL: `http://yoursite.com/?r_sortby=most_rated&amp;r_orderby=desc`	
+* You can replace desc with asc if you want the least rated posts.
\ No newline at end of file

programming_language: Markdown
repo_url: https://github.com/wp-plugins/wp-postratings
commit_details: repo_url: https://github.com/wp-plugins/wp-postratings
author: GamerZ
author_date: 2011-02-17 09:03:00+00:00
msg: Fixed XSS + Increment version number

git-svn-id: https://plugins.svn.wordpress.org/wp-postratings/trunk@346735 b8457f37-d9ea-0310-8a92-e5e31aec5664
repository: repo_url: https://github.com/wp-plugins/wp-postratings
repo_name: wp-plugins/wp-postratings
description: WordPress.org Plugin Mirror
repo_language: PHP
owner: wp-plugins
file_changes: filename: postratings-admin-ajax.php
change_type: ModificationType.MODIFY
diff: @@ -2,7 +2,7 @@
 /*
 +----------------------------------------------------------------+
 |																							|
-|	WordPress 2.8 Plugin: WP-PostRatings 1.60								|
+|	WordPress 2.8 Plugin: WP-PostRatings 1.61								|
 |	Copyright (c) 2009 Lester "GaMerZ" Chan									|
 |																							|
 |	File Written By:																	|

programming_language: PHP
filename: postratings-admin-css.css
change_type: ModificationType.MODIFY
diff: @@ -1,7 +1,7 @@
 /*
 +----------------------------------------------------------------+
 |																							|
-|	WordPress 2.8 Plugin: WP-PostRatings 1.60								|
+|	WordPress 2.8 Plugin: WP-PostRatings 1.61								|
 |	Copyright (c) 2009 Lester "GaMerZ" Chan									|
 |																							|
 |	File Written By:																	|

programming_language: R
filename: postratings-admin-js.dev.js
change_type: ModificationType.MODIFY
diff: @@ -1,7 +1,7 @@
 /*
 +----------------------------------------------------------------+
 |																							|
-|	WordPress 2.8 Plugin: WP-PostRatings 1.60								|
+|	WordPress 2.8 Plugin: WP-PostRatings 1.61								|
 |	Copyright (c) 2009 Lester "GaMerZ" Chan									|
 |																							|
 |	File Written By:																	|

programming_language: R
filename: postratings-css-rtl.css
change_type: ModificationType.MODIFY
diff: @@ -1,7 +1,7 @@
 /*
 +----------------------------------------------------------------+
 |																							|
-|	WordPress 2.8 Plugin: WP-PostRatings 1.60								|
+|	WordPress 2.8 Plugin: WP-PostRatings 1.61								|
 |	Copyright (c) 2009 Lester "GaMerZ" Chan									|
 |																							|
 |	File Written By:																	|

programming_language: R
filename: postratings-css.css
change_type: ModificationType.MODIFY
diff: @@ -1,7 +1,7 @@
 /*
 +----------------------------------------------------------------+
 |																							|
-|	WordPress 2.8 Plugin: WP-PostRatings 1.60								|
+|	WordPress 2.8 Plugin: WP-PostRatings 1.61								|
 |	Copyright (c) 2009 Lester "GaMerZ" Chan									|
 |																							|
 |	File Written By:																	|

programming_language: PowerShell
filename: postratings-js.dev.js
change_type: ModificationType.MODIFY
diff: @@ -1,7 +1,7 @@
 /*
 +----------------------------------------------------------------+
 |																							|
-|	WordPress 2.8 Plugin: WP-PostRatings 1.60								|
+|	WordPress 2.8 Plugin: WP-PostRatings 1.61								|
 |	Copyright (c) 2009 Lester "GaMerZ" Chan									|
 |																							|
 |	File Written By:																	|

programming_language: JavaScript
filename: postratings-manager.php
change_type: ModificationType.MODIFY
diff: @@ -2,7 +2,7 @@
 /*
 +----------------------------------------------------------------+
 |																							|
-|	WordPress 2.8 Plugin: WP-PostRatings 1.60								|
+|	WordPress 2.8 Plugin: WP-PostRatings 1.61								|
 |	Copyright (c) 2009 Lester "GaMerZ" Chan									|
 |																							|
 |	File Written By:																	|

programming_language: PHP
filename: postratings-options.php
change_type: ModificationType.MODIFY
diff: @@ -2,7 +2,7 @@
 /*
 +----------------------------------------------------------------+
 |																							|
-|	WordPress 2.8 Plugin: WP-PostRatings 1.60								|
+|	WordPress 2.8 Plugin: WP-PostRatings 1.61								|
 |	Copyright (c) 2009 Lester "GaMerZ" Chan									|
 |																							|
 |	File Written By:																	|

programming_language: PHP
filename: postratings-stats.php
change_type: ModificationType.MODIFY
diff: @@ -2,7 +2,7 @@
 /*
 +----------------------------------------------------------------+
 |																							|
-|	WordPress 2.8 Plugin: WP-PostRatings 1.60								|
+|	WordPress 2.8 Plugin: WP-PostRatings 1.61								|
 |	Copyright (c) 2009 Lester "GaMerZ" Chan									|
 |																							|
 |	File Written By:																	|

programming_language: PHP
filename: postratings-templates.php
change_type: ModificationType.MODIFY
diff: @@ -2,7 +2,7 @@
 /*
 +----------------------------------------------------------------+
 |																							|
-|	WordPress 2.8 Plugin: WP-PostRatings 1.60								|
+|	WordPress 2.8 Plugin: WP-PostRatings 1.61								|
 |	Copyright (c) 2009 Lester "GaMerZ" Chan									|
 |																							|
 |	File Written By:																	|

programming_language: PHP
filename: postratings-uninstall.php
change_type: ModificationType.MODIFY
diff: @@ -2,7 +2,7 @@
 /*
 +----------------------------------------------------------------+
 |																							|
-|	WordPress 2.8 Plugin: WP-PostRatings 1.60								|
+|	WordPress 2.8 Plugin: WP-PostRatings 1.61								|
 |	Copyright (c) 2009 Lester "GaMerZ" Chan									|
 |																							|
 |	File Written By:																	|

programming_language: PHP
filename: wp-postratings.php
change_type: ModificationType.MODIFY
diff: @@ -3,7 +3,7 @@
 Plugin Name: WP-PostRatings
 Plugin URI: http://lesterchan.net/portfolio/programming/php/
 Description: Adds an AJAX rating system for your WordPress blog's post/page.
-Version: 1.60
+Version: 1.61
 Author: Lester 'GaMerZ' Chan
 Author URI: http://lesterchan.net
 */
@@ -739,8 +739,7 @@ if(strpos(get_option('stats_url'), $_SERVER['REQUEST_URI']) || strpos($_SERVER['
 	add_filter('wp_stats_page_plugins', 'postratings_page_general_stats');
 	add_filter('wp_stats_page_most', 'postratings_page_most_stats');
 }
-if ($_SERVER['PHP_SELF'] == @links_add_base_url("/", $_SERVER['HTTP_REFERER'])) 
-        return;
+
 
 ### Function: Add WP-PostRatings General Stats To WP-Stats Page Options
 function postratings_page_admin_general_stats($content) {

programming_language: PHP