<?xml version="1.0"?>
<rss version="2.0">
    <channel>
        <title>Gossamer Forum</title>
        <link>http://www.gossamer-threads.com/forum/</link>
        <language>en-us</language>
        <managingEditor>gforum@gossamer-threads.com</managingEditor>
        <pubDate>Sat, 25 May 2013 14:54:08 GMT</pubDate>
        <generator>Gossamer Forum by Gossamer Threads, Inc.</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        <image>
            <url>http://static.gossamer-threads.com/forum/images/gforum-logo.png</url>
            <title>Gossamer Forum</title>
            <link>http://www.gossamer-threads.com/forum/</link>
            <width>50</width>
            <height>50</height>
        </image>
        <item>
            <title>Re: [Andy] ajax rating system</title>
            <link>http://www.gossamer-threads.com/forum/Products_C9/Gossamer_Links_C5/Development%2C_Plugins_and_Globals_F20/Re%3A_%5BAndy%5D_ajax_rating_system_P306011/?page=unread#306011</link>
            <description>Andy,

I still never could get your simple ajax rating to work using the detailed pages.

However, I did translate another program to work the GT:

http://www.masugadesign.com/...jax-star-rating-bar/

Because is all written in php, I had to create a plugin that does the same thing as a global. It still uses php for the backend, I didn&#039;t have time to translate the entire thing, nor it is really necessary.

Steps:

1.) Configure your _config-rating.php to where your Glinks tables are.
2.) Edit the js/rating.js file where it says &amp;quot;http://www.yoursite.com&amp;quot; to your actual site
3.) Edit link.html adding this:


Code:
&amp;lt;%stars($ID)%&amp;gt;

4.) Edit include_common_head.html addign this:


Code:
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; src=&amp;quot; http://www.yoursite.com/js/behavior.js&amp;quot;&amp;gt;&amp;lt;/script &amp;gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot; src=&amp;quot; http://www.yoursite.com/js/rating.js&amp;quot;&amp;gt;&amp;lt;/script &amp;gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot; http://www.yoursite.com/css/default.css &amp;quot; /&amp;gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot; http://www.yoursite.com/css/rating.css &amp;quot; /&amp;gt;
5.) Add this global, it is a direct translation of _drawrating.php



Code:
sub {
use Links qw/$DB/;
my ($id, $static) = @_;
my $db = $DB-&amp;gt;table(&amp;quot;Links&amp;quot;);
my $results = $db-&amp;gt;select({ID =&amp;gt; $id})-&amp;gt;fetchrow_hashref();
my $units = 5;
my $rating_unitwidth = 30;
my $ip = $ENV{REMOTE_ADDR};

my $count = $results-&amp;gt;{Votes};
my $current_rating = $results-&amp;gt;{Rating};

my $tense = ($count==1) ? &amp;quot;vote&amp;quot; : &amp;quot;votes&amp;quot;;

if ($results-&amp;gt;{Votes} &amp;lt; 1) {
$count = 0;
} else {
$count=$results-&amp;gt;{Votes};
}
my $voted = $db-&amp;gt;do(&amp;quot;SELECT used_ips WHERE used_ips LIKE &#039;%&amp;quot;.$ip.&amp;quot;%&#039; AND ID=&#039;&amp;quot;.$id.&amp;quot;&#039; &amp;quot;);
my $rating_width = ($count &amp;gt; 0) ? ($current_rating/$count)*$rating_unitwidth : 0;
my $rating1 = ($count &amp;gt; 0) ? $current_rating/$count : 0;
my $rating2 = ($count &amp;gt; 0) ? $current_rating/$count : 0;

if ($static) {
my $static_rater;
$static_rater .= &amp;quot;\n&amp;quot;.&#039;&amp;lt;div class=&amp;quot;ratingblock&amp;quot;&amp;gt;&#039;;
$static_rater .= &#039;&amp;lt;div id=&amp;quot;unit_long&#039;.$id.&#039;&amp;quot;&amp;gt;&#039;;
$static_rater .= &#039;&amp;lt;ul id=&amp;quot;unit_ul&#039;.$id.&#039;&amp;quot; class=&amp;quot;unit-rating&amp;quot; style=&amp;quot;width:&#039;.$rating_unitwidth*$units.&#039;px;&amp;quot;&amp;gt;&#039;;
$static_rater .= &#039;&amp;lt;li class=&amp;quot;current-rating&amp;quot; style=&amp;quot;width:&#039;.$rating_width.&#039;px;&amp;quot;&amp;gt;Currently &#039;.$rating2.&#039;/&#039;.$units.&#039;&amp;lt;/li&amp;gt;&#039;;
$static_rater .= &#039;&amp;lt;/ul&amp;gt;&#039;;
$static_rater .= &#039;&amp;lt;p class=&amp;quot;static&amp;quot;&amp;gt;&#039;.$id.&#039;. Rating: &amp;lt;strong&amp;gt; &#039;.$rating1.&#039;&amp;lt;/strong&amp;gt;/&#039;.$units.&#039; (&#039;.$count.&#039; &#039;.$tense.&#039; cast) &amp;lt;em&amp;gt;This is \&#039;static\&#039;.&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;&#039;;
$static_rater .= &#039;&amp;lt;/div&amp;gt;&#039;;
$static_rater .= &#039;&amp;lt;/div&amp;gt;&#039;.&amp;quot;\n\n&amp;quot;;
return join(&amp;quot;\n&amp;quot;, $static_rater);
} else {
my $rater =&#039;&#039;;
$rater.=&#039;&amp;lt;div class=&amp;quot;ratingblock&amp;quot;&amp;gt;&#039;;
$rater.=&#039;&amp;lt;div id=&amp;quot;unit_long&#039;.$id.&#039;&amp;quot;&amp;gt;&#039;;
$rater.=&#039; &amp;lt;ul id=&amp;quot;unit_ul&#039;.$id.&#039;&amp;quot; class=&amp;quot;unit-rating&amp;quot; style=&amp;quot;width:&#039;.$rating_unitwidth*$units.&#039;px;&amp;quot;&amp;gt;&#039;;
$rater.=&#039; &amp;lt;li class=&amp;quot;current-rating&amp;quot; style=&amp;quot;width:&#039;.$rating_width.&#039;px;&amp;quot;&amp;gt;Currently &#039;.$rating2.&#039;/&#039;.$units.&#039;&amp;lt;/li&amp;gt;&#039;;
my $ncount;
for ($ncount = 1; $ncount &amp;lt;= $units; $ncount++) {
if(!$voted) {
$rater.=&#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot; http://www.yoursite.com/...amp;amp;c=&#039;.$units.&#039; &amp;quot; title=&amp;quot;&#039;.$ncount.&#039; out of &#039;.$units.&#039;&amp;quot; class=&amp;quot;r&#039;.$ncount.&#039;-unit rater&amp;quot; rel=&amp;quot;nofollow&amp;quot;&amp;gt;&#039;.$ncount.&#039;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&#039;;
}
}
$ncount=0;
$rater.=&#039; &amp;lt;/ul&amp;gt;&#039;;
$rater.=&#039; &amp;lt;p&#039;;
if($voted){ $rater.=&#039; class=&amp;quot;voted&amp;quot;&#039;; }
$rater.=&#039;&amp;gt;Rating: &amp;lt;strong&amp;gt; &#039;.$rating1.&#039;&amp;lt;/strong&amp;gt;/&#039;.$units.&#039; (&#039;.$count.&#039; &#039;.$tense.&#039; cast)&#039;;
$rater.=&#039; &amp;lt;/p&amp;gt;&#039;;
$rater.=&#039;&amp;lt;/div&amp;gt;&#039;;
$rater.=&#039;&amp;lt;/div&amp;gt;&#039;;
return $rater;
}
}

- don&#039;t forget to change yoursite.com here as well

6.) upload the 3 folders to your root directory (httpdocs, public_html) whatever, unless you plan 2 change the code later

I believe that is everything. If anyone has any suggestions, improvements, or ideas for the script, let me know!






Good luck!</description>
            <guid>8ffb1ac7b9c72e72f84bbad57ee7bbc1</guid>
            <pubDate>May 29, 2009, 11:34 AM</pubDate>
        </item>
    </channel>
</rss>
