<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[PunBB Forums — [Extension] "Thanks" feature aka Pun_Karma]]></title>
		<link>https://punbb.informer.com/forums/topic/24748/extension-thanks-feature-aka-punkarma/</link>
		<atom:link href="https://punbb.informer.com/forums/feed/rss/topic/24748/" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in [Extension] "Thanks" feature aka Pun_Karma.]]></description>
		<lastBuildDate>Mon, 26 Jun 2017 23:59:12 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/157260/#p157260</link>
			<description><![CDATA[<p>This extension <a href="http://punbb.ru/topic4217-reliz-reputatsiya.html">Reputation</a>.</p>]]></description>
			<author><![CDATA[null@example.com (sempai)]]></author>
			<pubDate>Mon, 26 Jun 2017 23:59:12 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/157260/#p157260</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/157259/#p157259</link>
			<description><![CDATA[<p>Thank you, no way to put a little text to say why we like or dislike ?<br />I&#039;ve seen <a href="http://punbb.ru">http://punbb.ru</a> uses something like that, what&#039;s the extension ?<br />An example we can see all +1 on the profile and reasons why : <br /><a href="http://punbb.ru/reputation_view-1560.html">http://punbb.ru/reputation_view-1560.html</a></p>]]></description>
			<author><![CDATA[null@example.com (zetrader)]]></author>
			<pubDate>Mon, 26 Jun 2017 23:45:51 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/157259/#p157259</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/157258/#p157258</link>
			<description><![CDATA[<p>Try this [url=https://[[punbb.info]]/t-815.html]Rating[/url].</p>]]></description>
			<author><![CDATA[null@example.com (sempai)]]></author>
			<pubDate>Mon, 26 Jun 2017 23:29:54 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/157258/#p157258</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/157257/#p157257</link>
			<description><![CDATA[<p>Hello, any version of &quot;pun karma&quot; for punbb 1.4.4 ?</p>]]></description>
			<author><![CDATA[null@example.com (zetrader)]]></author>
			<pubDate>Mon, 26 Jun 2017 23:25:22 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/157257/#p157257</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/156343/#p156343</link>
			<description><![CDATA[<p>I get this warning in Version 1.4.4</p><p>Warning: number_format() expects parameter 1 to be double, string given in .. ../include/functions.php on line 420</p>]]></description>
			<author><![CDATA[null@example.com (dimoe)]]></author>
			<pubDate>Mon, 05 Sep 2016 14:39:28 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/156343/#p156343</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/147388/#p147388</link>
			<description><![CDATA[<p>Can I stop guest on even clicking on karma option, cos it shows the karma icons to them as hyperlinks, i dont want that.</p>]]></description>
			<author><![CDATA[null@example.com (wilco)]]></author>
			<pubDate>Sun, 16 Dec 2012 16:00:18 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/147388/#p147388</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/147383/#p147383</link>
			<description><![CDATA[<p>How do I allow guest to see karma and post karma.</p>]]></description>
			<author><![CDATA[null@example.com (wilco)]]></author>
			<pubDate>Sat, 15 Dec 2012 13:12:55 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/147383/#p147383</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/145632/#p145632</link>
			<description><![CDATA[<p>My edit doesn&#039;t work right, you mean? Or the extension overall?</p>]]></description>
			<author><![CDATA[null@example.com (kyle921)]]></author>
			<pubDate>Thu, 05 Jul 2012 15:33:21 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/145632/#p145632</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/145555/#p145555</link>
			<description><![CDATA[<p>It seems to doesn&#039;t work with friendly url.<br />Well it doesn&#039;t work after all :&lt;. On localhost everything goes all right, but on my forum while I&#039;m trying to click + or - it redirect me to post without changing anything.</p>]]></description>
			<author><![CDATA[null@example.com (Kushi)]]></author>
			<pubDate>Wed, 27 Jun 2012 16:31:00 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/145555/#p145555</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/145303/#p145303</link>
			<description><![CDATA[<p>nice idea</p>]]></description>
			<author><![CDATA[null@example.com (ferd0us)]]></author>
			<pubDate>Thu, 14 Jun 2012 10:55:48 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/145303/#p145303</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/145145/#p145145</link>
			<description><![CDATA[<p>I noticed a problem with this plugin. The coding for alt-text on mouse hover (for the thumb and cancel icons) was a bit off.&nbsp; Around line 245 of the manifest.xml, there was an alt=&quot;...&quot; tag on an image, but that image was being blocked by the link overlaying it (in Google Chrome at least). So, I moved the alt=&quot;...&quot; tag to the link in the form of &lt;a href=&quot;link here&quot; TITLE=&quot;alt text here&quot;&gt; and deleted alt=&quot;...&quot; tag from the image.&nbsp; </p><p>This was done for the thumbs up, thumbs down, and cancel icons.&nbsp; For the lazy, here&#039;s the full file for you to copy and paste.&nbsp; I was going to use a spoiler tag, but I forgot they&#039;re not available without an extension. <img src="https://punbb.informer.com/forums/img/smilies/tongue.png" width="15" height="15" alt="tongue" />&nbsp; Anyway:</p><div class="codebox"><pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;!DOCTYPE extension SYSTEM &quot;ext-1.0.dtd&quot;&gt;

&lt;!--
/**
 * Adds karma/reputation to posts.
 *
 * @copyright (C) 2008-2009 PunBB
 * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
 * @package pun_karma
 */
--&gt;

&lt;extension engine=&quot;1.0&quot;&gt;
    &lt;id&gt;pun_karma&lt;/id&gt;
    &lt;title&gt;Post karma&lt;/title&gt;
    &lt;version&gt;1.1.3&lt;/version&gt;
    &lt;description&gt;Adds karma/reputation to posts with additional Icons.&lt;/description&gt;
    &lt;author&gt;PunBB Development Team&lt;/author&gt;
    &lt;minversion&gt;1.3&lt;/minversion&gt;
    &lt;maxtestedon&gt;1.4.1&lt;/maxtestedon&gt;

    &lt;install&gt;&lt;![CDATA[
if (!$forum_db-&gt;table_exists(&#039;pun_karma&#039;))
{
    $schema = array(
        &#039;FIELDS&#039;    =&gt; array(
            &#039;user_id&#039;    =&gt;    array(
                &#039;datatype&#039;        =&gt; &#039;INT(10) UNSIGNED&#039;,
                &#039;allow_null&#039;    =&gt; false
            ),
            &#039;post_id&#039;    =&gt;    array(
                &#039;datatype&#039;        =&gt; &#039;INT(10) UNSIGNED&#039;,
                &#039;allow_null&#039;    =&gt; false
            ),
            &#039;mark&#039; =&gt; array(
                &#039;datatype&#039;        =&gt; &#039;TINYINT(1)&#039;,
                &#039;allow_null&#039;    =&gt; false
            ),
            &#039;updated_at&#039;    =&gt;    array(
                &#039;datatype&#039;        =&gt; &#039;INT(10) UNSIGNED&#039;,
                &#039;allow_null&#039;    =&gt; false
            )
        ),
        &#039;PRIMARY KEY&#039;    =&gt; array(&#039;user_id&#039;, &#039;post_id&#039;),
        &#039;INDEXES&#039;        =&gt; array(&#039;karmapost_idx&#039; =&gt; array(&#039;post_id&#039;))
    );
    $forum_db-&gt;create_table(&#039;pun_karma&#039;, $schema);
}

$forum_db-&gt;add_field(&#039;posts&#039;, &#039;karma&#039;, &#039;INT(10)&#039;, TRUE);
$forum_db-&gt;add_field(&#039;users&#039;, &#039;karma&#039;, &#039;INT(10)&#039;, TRUE);

//Upgrading
if (defined(&#039;EXT_CUR_VERSION&#039;) &amp;&amp; version_compare(EXT_CUR_VERSION, &#039;1.0&#039;, &#039;&lt;=&#039;))
{
    @set_time_limit(0);
    $pun_karma_query = array(
        &#039;SELECT&#039;    =&gt;    &#039;poster_id, SUM(mark) AS user_karma&#039;,
        &#039;FROM&#039;        =&gt;    $forum_db-&gt;prefix.&#039;posts AS p, &#039;.$forum_db-&gt;prefix.&#039;pun_karma AS pk&#039;,
        &#039;WHERE&#039;        =&gt;    &#039;p.id = pk.post_id&#039;,
        &#039;GROUP BY&#039;    =&gt;    &#039;poster_id&#039;,
        &#039;PARAMS&#039;    =&gt;    array(
            &#039;NO_PREFIX&#039;    =&gt;    true
        )
    );
    $pun_karma_res = $forum_db-&gt;query_build($pun_karma_query) or error(__FILE__, __LINE__);

    if ($forum_db-&gt;num_rows($pun_karma_res) &gt; 0)
    {
        while ($cur_karma = $forum_db-&gt;fetch_assoc($pun_karma_res))
        {
            $pun_karma_update_query = array(
                &#039;UPDATE&#039;    =&gt;    &#039;users&#039;,
                &#039;SET&#039;        =&gt;    &#039;karma = &#039;.$cur_karma[&#039;user_karma&#039;],
                &#039;WHERE&#039;        =&gt;    &#039;id = &#039;.$cur_karma[&#039;poster_id&#039;]
            );
            $forum_db-&gt;query_build($pun_karma_update_query) or error(__FILE__, __LINE__);
        }
    }
}

// Add extension options to the config table
$pun_karma_config = array(
    &#039;o_pun_karma_minus_cancel&#039;            =&gt; &#039;0&#039;,
    &#039;o_pun_karma_minus_interval&#039;        =&gt; &#039;2&#039;,
    &#039;o_pun_karma_plus_interval&#039;            =&gt; &#039;2&#039;
);

foreach ($pun_karma_config as $conf_name =&gt; $conf_value)
{
    if (!array_key_exists($conf_name, $forum_config))
    {
        $query = array(
            &#039;INSERT&#039;    =&gt; &#039;conf_name, conf_value&#039;,
            &#039;INTO&#039;        =&gt; &#039;config&#039;,
            &#039;VALUES&#039;    =&gt; &#039;\&#039;&#039;.$conf_name.&#039;\&#039;, \&#039;&#039;.$conf_value.&#039;\&#039;&#039;
        );

        $forum_db-&gt;query_build($query) or error(__FILE__, __LINE__);
    }
}
    ]]&gt;&lt;/install&gt;

    &lt;uninstall&gt;&lt;![CDATA[
$forum_db-&gt;drop_table(&#039;pun_karma&#039;);
$forum_db-&gt;drop_field(&#039;posts&#039;, &#039;karma&#039;);
$forum_db-&gt;drop_field(&#039;users&#039;, &#039;karma&#039;);
$query = array(
    &#039;DELETE&#039;    =&gt;    &#039;config&#039;,
    &#039;WHERE&#039;        =&gt;    &#039;conf_name IN (\&#039;o_pun_karma_minus_cancel\&#039;, \&#039;o_pun_karma_minus_interval\&#039;, \&#039;o_pun_karma_plus_interval\&#039;)&#039;
);
$forum_db-&gt;query_build($query) or error(__FILE__, __LINE__);
    ]]&gt;&lt;/uninstall&gt;

    &lt;hooks&gt;
        &lt;hook id=&quot;hd_head&quot;&gt;&lt;![CDATA[
if (FORUM_PAGE == &#039;viewtopic&#039;)
    $forum_head[&#039;style_karma&#039;] = &#039;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;screen&quot; href=&quot;&#039;.$ext_info[&#039;url&#039;].&#039;/styles.css&quot; /&gt;&#039;;
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;re_rewrite_rules&quot;&gt;&lt;![CDATA[
$forum_rewrite_rules[&#039;/^post[\/_-]([0-9]+)[\/_-]karma(plus|minus|cancel)[\/_-]([a-z0-9]+)(\.html?|\/)?$/i&#039;] = &#039;viewtopic.php?pid=$1&amp;karma$2&amp;csrf_token=$3&#039;;
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;vt_qr_get_posts&quot;&gt;&lt;![CDATA[
$query[&#039;SELECT&#039;] .= &#039;, p.karma AS post_karma, u.karma AS user_karma&#039;;
$pun_karma_posts = array();
$pun_karma_authors = array();
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;vt_row_pre_post_actions_merge&quot;&gt;&lt;![CDATA[
if (!is_null($cur_post[&#039;user_karma&#039;]) &amp;&amp; !isset($user_data_cache[$cur_post[&#039;poster_id&#039;]][&#039;author_info&#039;]))
    $forum_page[&#039;author_info&#039;][&#039;karma&#039;] = &#039;&lt;li&gt;&lt;span&gt;&#039;.$lang_pun_karma[&#039;User Karma&#039;].&#039; &lt;strong&gt;&#039;.forum_number_format($cur_post[&#039;user_karma&#039;]).&#039;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&#039;;
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;vt_modify_topic_info&quot;&gt;&lt;![CDATA[
//Including lang file
if (file_exists($ext_info[&#039;path&#039;].&#039;/lang/&#039;.$forum_user[&#039;language&#039;].&#039;/&#039;.$ext_info[&#039;id&#039;].&#039;.php&#039;))
    require $ext_info[&#039;path&#039;].&#039;/lang/&#039;.$forum_user[&#039;language&#039;].&#039;/&#039;.$ext_info[&#039;id&#039;].&#039;.php&#039;;
else
    require $ext_info[&#039;path&#039;].&#039;/lang/English/&#039;.$ext_info[&#039;id&#039;].&#039;.php&#039;;
require $ext_info[&#039;path&#039;].&#039;/url/&#039;.$forum_config[&#039;o_sef&#039;].&#039;/forum_urls.php&#039;;
require $ext_info[&#039;path&#039;].&#039;/functions.php&#039;;
if (!$forum_user[&#039;is_guest&#039;] &amp;&amp; (isset($_GET[&#039;karmaplus&#039;]) || isset($_GET[&#039;karmaminus&#039;]) || isset($_GET[&#039;karmacancel&#039;])))
{
    //Check if user tries to vote for his own post
    $pun_karma_query = array(
        &#039;SELECT&#039;    =&gt; &#039;1&#039;,
        &#039;FROM&#039;        =&gt; &#039;posts&#039;,
        &#039;WHERE&#039;        =&gt; &#039;poster_id = &#039;.$forum_user[&#039;id&#039;].&#039; AND id = &#039;.$pid
    );
    $result = $forum_db-&gt;query_build($pun_karma_query) or error(__FILE__, __LINE__);
    if ($forum_db-&gt;num_rows($result) &gt; 0)
        message($lang_pun_karma[&#039;Vote error&#039;]);

    if (isset($_GET[&#039;karmaplus&#039;]))
    {
        if (!isset($_GET[&#039;csrf_token&#039;]) || ($_GET[&#039;csrf_token&#039;] != generate_form_token(&#039;karmaplus&#039;.$pid)))
            csrf_confirm_form();
        $pun_karma_query = array(
            &#039;SELECT&#039;    =&gt;    &#039;MAX(updated_at)&#039;,
            &#039;FROM&#039;        =&gt;    &#039;pun_karma&#039;,
            &#039;WHERE&#039;        =&gt;    &#039;user_id = &#039;.$forum_user[&#039;id&#039;].&#039; AND mark = 1&#039;
        );
        $pun_karma_result = $forum_db-&gt;query_build($pun_karma_query) or error(__FILE__, __LINE__);
        if ($forum_db-&gt;num_rows($pun_karma_result) &gt; 0)
        {
            list($updated_at) = $forum_db-&gt;fetch_row($pun_karma_result);
            if ((time() - $updated_at) &lt; $forum_config[&#039;o_pun_karma_plus_interval&#039;] * 60 &amp;&amp; (time() - $updated_at) &gt;= 0)
                message(sprintf($lang_pun_karma[&#039;Plus interval rest&#039;], $forum_config[&#039;o_pun_karma_plus_interval&#039;]));
        }
        karma_plus($pid);
    }
    else if (isset($_GET[&#039;karmaminus&#039;]))
    {
        if (!isset($_GET[&#039;csrf_token&#039;]) || ($_GET[&#039;csrf_token&#039;] != generate_form_token(&#039;karmaminus&#039;.$pid)))
            csrf_confirm_form();
        $pun_karma_query = array(
            &#039;SELECT&#039;    =&gt;    &#039;MAX(updated_at)&#039;,
            &#039;FROM&#039;        =&gt;    &#039;pun_karma&#039;,
            &#039;WHERE&#039;        =&gt;    &#039;user_id = &#039;.$forum_user[&#039;id&#039;].&#039; AND mark = -1&#039;
        );
        $pun_karma_result = $forum_db-&gt;query_build($pun_karma_query) or error(__FILE__, __LINE__);
        if ($forum_db-&gt;num_rows($pun_karma_result) &gt; 0)
        {
            list($updated_at) = $forum_db-&gt;fetch_row($pun_karma_result);
            if ((time() - $updated_at) &lt; $forum_config[&#039;o_pun_karma_minus_interval&#039;] * 60 &amp;&amp; (time() - $updated_at) &gt;= 0)
                message(sprintf($lang_pun_karma[&#039;Minus interval rest&#039;], $forum_config[&#039;o_pun_karma_minus_interval&#039;]));
        }
        karma_minus($pid);
    }
    else if (isset($_GET[&#039;karmacancel&#039;]))
    {
        if (!isset($_GET[&#039;csrf_token&#039;]) || ($_GET[&#039;csrf_token&#039;] != generate_form_token(&#039;karmacancel&#039;.$pid)))
            csrf_confirm_form();
        karma_cancel($pid);
    }
}
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;aop_features_pre_header_load&quot;&gt;&lt;![CDATA[
//Including lang file
if (file_exists($ext_info[&#039;path&#039;].&#039;/lang/&#039;.$forum_user[&#039;language&#039;].&#039;/&#039;.$ext_info[&#039;id&#039;].&#039;.php&#039;))
    require $ext_info[&#039;path&#039;].&#039;/lang/&#039;.$forum_user[&#039;language&#039;].&#039;/&#039;.$ext_info[&#039;id&#039;].&#039;.php&#039;;
else
    require $ext_info[&#039;path&#039;].&#039;/lang/English/&#039;.$ext_info[&#039;id&#039;].&#039;.php&#039;;
require $ext_info[&#039;path&#039;].&#039;/url/&#039;.$forum_config[&#039;o_sef&#039;].&#039;/forum_urls.php&#039;;
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;vt_post_loop_start&quot;&gt;&lt;![CDATA[
$pun_karma_posts[$cur_post[&#039;id&#039;]] = $cur_post[&#039;post_karma&#039;];
$pun_karma_authors[$cur_post[&#039;id&#039;]] = $cur_post[&#039;poster_id&#039;];
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;vt_row_pre_display&quot;&gt;&lt;![CDATA[
$forum_page[&#039;post_options&#039;][&#039;karma&#039;] = &#039;&lt;p class=&quot;post-karma&quot;&gt;&#039;.$cur_post[&#039;id&#039;].&#039;&lt;/p&gt;&#039;;
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;vt_end&quot;&gt;&lt;![CDATA[
$pun_karma_query = array(
    &#039;SELECT&#039;    =&gt;    &#039;post_id&#039;,
    &#039;FROM&#039;        =&gt;    &#039;pun_karma&#039;,
    &#039;WHERE&#039;        =&gt;    &#039;user_id = &#039;.$forum_user[&#039;id&#039;].&#039; AND post_id IN (&#039;.implode(&#039;,&#039;, array_keys($pun_karma_posts)).&#039;)&#039;
);
$pun_karma_result = $forum_db-&gt;query_build($pun_karma_query) or error(__FILE__, __LINE__);

$user_karma_posts = array();
if ($forum_db-&gt;num_rows($pun_karma_result) &gt; 0)
{
    while ($cur_id = $forum_db-&gt;fetch_assoc($pun_karma_result))
        $user_karma_posts[] = $cur_id[&#039;post_id&#039;];
}

$buffer = forum_trim(ob_get_contents());
$karma_matches = array();
preg_match_all(&#039;~&lt;p class=&quot;post-karma&quot;&gt;([0-9]+)&lt;/p&gt;~&#039;, $buffer, $karma_matches);
foreach ($karma_matches[0] as $match_index =&gt; $match_string)
{
    $post_karma = &#039;&#039;;
    if (!is_null($pun_karma_posts[$karma_matches[1][$match_index]]))
        $post_karma = &#039;&lt;strong&gt;&#039;.($pun_karma_posts[$karma_matches[1][$match_index]] === &#039;0&#039; ? &#039;0&#039; : ($pun_karma_posts[$karma_matches[1][$match_index]] &gt; 0 ? &#039;+&#039; : &#039;&amp;minus;&#039;).abs($pun_karma_posts[$karma_matches[1][$match_index]])).&#039;&lt;/strong&gt;&#039;;
    //Is user author of post?
    if ($pun_karma_authors[$karma_matches[1][$match_index]] == $forum_user[&#039;id&#039;])
        $post_karma = &#039;&lt;p class=&quot;post-karma&quot;&gt;&#039;.$post_karma.&#039;&lt;/p&gt;&#039;;
    else
    {
        //User vote for this post?
        if (in_array($karma_matches[1][$match_index], $user_karma_posts))
            $post_karma = &#039;&lt;p class=&quot;post-karma&quot;&gt;&#039;.$post_karma.&#039; &lt;a href=&quot;&#039;.forum_link($forum_url[&#039;karmacancel&#039;], array($karma_matches[1][$match_index], generate_form_token(&#039;karmacancel&#039;.$karma_matches[1][$match_index]))).&#039;&quot; TITLE=&quot;&#039;.$lang_pun_karma[&#039;Alt cancel&#039;].&#039;&quot;&gt;&lt;img src=&quot;&#039;.$ext_info[&#039;url&#039;].&#039;/icons/cancel.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#039;;
        else
            $post_karma = &#039;&lt;p class=&quot;post-karma&quot;&gt;&lt;a href=&quot;&#039;.forum_link($forum_url[&#039;karmaplus&#039;], array($karma_matches[1][$match_index], generate_form_token(&#039;karmaplus&#039;.$karma_matches[1][$match_index]))).&#039;&quot; TITLE=&quot;&#039;.$lang_pun_karma[&#039;Alt thumbs up&#039;].&#039;&quot; &gt;&lt;img src=&quot;&#039;.$ext_info[&#039;url&#039;].&#039;/icons/rate_yes.png&quot; /&gt;&lt;/a&gt; &#039;.$post_karma.($forum_config[&#039;o_pun_karma_minus_cancel&#039;] == &#039;0&#039; ? &#039; &lt;a href=&quot;&#039;.forum_link($forum_url[&#039;karmaminus&#039;], array($karma_matches[1][$match_index], generate_form_token(&#039;karmaminus&#039;.$karma_matches[1][$match_index]))).&#039;&quot; TITLE=&quot;&#039;.$lang_pun_karma[&#039;Alt thumbs down&#039;].&#039;&quot; &gt;&lt;img src=&quot;&#039;.$ext_info[&#039;url&#039;].&#039;/icons/rate_no.png&quot; /&gt;&lt;/a&gt;&#039; : &#039;&#039;).&#039;&lt;/p&gt;&#039;;
    }
    $buffer = str_replace($match_string, $post_karma, $buffer);
}
$tpl_main = str_replace(&#039;&lt;!-- forum_main --&gt;&#039;, $buffer, $tpl_main);
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;aop_features_validation&quot;&gt;&lt;![CDATA[
if (!isset($form[&#039;pun_karma_minus_cancel&#039;]) || $form[&#039;pun_karma_minus_cancel&#039;] != &#039;1&#039;)
    $form[&#039;pun_karma_minus_cancel&#039;] = &#039;0&#039;;
if (!isset($form[&#039;pun_karma_plus_interval&#039;]))
    $form[&#039;pun_karma_plus_interval&#039;] = 2;
else
    $form[&#039;pun_karma_plus_interval&#039;] = intval($form[&#039;pun_karma_plus_interval&#039;]);
if (!isset($form[&#039;pun_karma_minus_interval&#039;]))
    $form[&#039;pun_karma_minus_interval&#039;] = 2;
else
    $form[&#039;pun_karma_minus_interval&#039;] = intval($form[&#039;pun_karma_minus_interval&#039;]);
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;aop_features_avatars_fieldset_end&quot;&gt;&lt;![CDATA[

$forum_page[&#039;group_count&#039;] = $forum_page[&#039;item_count&#039;] = 0;

?&gt;
&lt;div class=&quot;content-head&quot;&gt;
    &lt;h2 class=&quot;hn&quot;&gt;&lt;span&gt;&lt;?php echo $lang_pun_karma[&#039;Karma features&#039;] ?&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;fieldset class=&quot;frm-group group&lt;?php echo ++$forum_page[&#039;group_count&#039;] ?&gt;&quot;&gt;
    &lt;legend class=&quot;group-legend&quot;&gt;&lt;span&gt;&lt;?php echo $lang_pun_karma[&#039;Karma legend&#039;] ?&gt;&lt;/span&gt;&lt;/legend&gt;
    &lt;div class=&quot;sf-set set&lt;?php echo ++$forum_page[&#039;item_count&#039;] ?&gt;&quot;&gt;
        &lt;div class=&quot;sf-box checkbox&quot;&gt;
            &lt;span class=&quot;fld-input&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;fld&lt;?php echo ++$forum_page[&#039;fld_count&#039;] ?&gt;&quot; name=&quot;form[pun_karma_minus_cancel]&quot; value=&quot;1&quot;&lt;?php if ($forum_config[&#039;o_pun_karma_minus_cancel&#039;] == &#039;1&#039;) echo &#039; checked=&quot;checked&quot;&#039; ?&gt; /&gt;&lt;/span&gt;
            &lt;label for=&quot;fld&lt;?php echo $forum_page[&#039;fld_count&#039;] ?&gt;&quot;&gt;&lt;span&gt;&lt;?php echo $lang_pun_karma[&#039;Disable minus&#039;] ?&gt;&lt;/span&gt; &lt;?php echo $lang_pun_karma[&#039;Disable minus info&#039;] ?&gt;&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;sf-set set&lt;?php echo ++$forum_page[&#039;item_count&#039;] ?&gt;&quot;&gt;
        &lt;div class=&quot;sf-box text&quot;&gt;
            &lt;label for=&quot;fld&lt;?php echo ++$forum_page[&#039;fld_count&#039;] ?&gt;&quot;&gt;&lt;span&gt;&lt;?php echo $lang_pun_karma[&#039;Plus interval&#039;] ?&gt;&lt;/span&gt;&lt;small&gt;&lt;?php echo $lang_pun_karma[&#039;Plus interval info&#039;] ?&gt;&lt;/small&gt;&lt;/label&gt;&lt;br /&gt;
            &lt;span class=&quot;fld-input&quot;&gt;&lt;input type=&quot;text&quot; id=&quot;fld&lt;?php echo $forum_page[&#039;fld_count&#039;] ?&gt;&quot; name=&quot;form[pun_karma_plus_interval]&quot; size=&quot;6&quot; maxlength=&quot;6&quot; value=&quot;&lt;?php echo $forum_config[&#039;o_pun_karma_plus_interval&#039;] ?&gt;&quot; /&gt;&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;sf-set set&lt;?php echo ++$forum_page[&#039;item_count&#039;] ?&gt;&quot;&gt;
        &lt;div class=&quot;sf-box text&quot;&gt;
            &lt;label for=&quot;fld&lt;?php echo ++$forum_page[&#039;fld_count&#039;] ?&gt;&quot;&gt;&lt;span&gt;&lt;?php echo $lang_pun_karma[&#039;Minus interval&#039;] ?&gt;&lt;/span&gt;&lt;small&gt;&lt;?php echo $lang_pun_karma[&#039;Minus interval info&#039;] ?&gt;&lt;/small&gt;&lt;/label&gt;&lt;br /&gt;
            &lt;span class=&quot;fld-input&quot;&gt;&lt;input type=&quot;text&quot; id=&quot;fld&lt;?php echo $forum_page[&#039;fld_count&#039;] ?&gt;&quot; name=&quot;form[pun_karma_minus_interval]&quot; size=&quot;6&quot; maxlength=&quot;6&quot; value=&quot;&lt;?php echo $forum_config[&#039;o_pun_karma_minus_interval&#039;] ?&gt;&quot; /&gt;&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/fieldset&gt;
&lt;?php

        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;fn_delete_topic_end&quot;&gt;&lt;![CDATA[
if (!empty($post_ids))
{
    $query = array(
        &#039;DELETE&#039;    =&gt;    &#039;pun_karma&#039;,
        &#039;WHERE&#039;        =&gt;    &#039;post_id IN(&#039;.implode(&#039;,&#039;, $post_ids).&#039;)&#039;
    );
    $forum_db-&gt;query_build($query) or error(__FILE__, __LINE__);
}
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;fn_delete_post_end&quot;&gt;&lt;![CDATA[
$query = array(
    &#039;DELETE&#039;    =&gt;    &#039;pun_karma&#039;,
    &#039;WHERE&#039;        =&gt;    &#039;post_id = &#039;.$post_id
);
$forum_db-&gt;query_build($query) or error(__FILE__, __LINE__);
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;mr_confirm_delete_posts_pre_redirect&quot;&gt;&lt;![CDATA[
if (!empty($posts))
{
    $query = array(
        &#039;DELETE&#039;    =&gt;    &#039;pun_karma&#039;,
        &#039;WHERE&#039;        =&gt;    &#039;post_id IN(&#039;.implode(&#039;,&#039;, $posts).&#039;)&#039;
    );
    $forum_db-&gt;query_build($query) or error(__FILE__, __LINE__);
}
        ]]&gt;&lt;/hook&gt;
        &lt;hook id=&quot;mr_confirm_delete_topics_pre_redirect&quot;&gt;&lt;![CDATA[
if (!empty($post_ids))
{
    $query = array(
        &#039;DELETE&#039;    =&gt;    &#039;pun_karma&#039;,
        &#039;WHERE&#039;        =&gt;    &#039;post_id IN(&#039;.implode(&#039;,&#039;, $post_ids).&#039;)&#039;
    );
    $forum_db-&gt;query_build($query) or error(__FILE__, __LINE__);
}
        ]]&gt;&lt;/hook&gt;
    &lt;/hooks&gt;
&lt;/extension&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (kyle921)]]></author>
			<pubDate>Mon, 04 Jun 2012 20:16:33 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/145145/#p145145</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/142802/#p142802</link>
			<description><![CDATA[<p>thanks <br />this will complete my forum</p><p>Regards</p>]]></description>
			<author><![CDATA[null@example.com (vphat28)]]></author>
			<pubDate>Mon, 26 Dec 2011 17:56:42 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/142802/#p142802</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/142719/#p142719</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://keydogbb.info/img/thumbsup.png" alt="http://keydogbb.info/img/thumbsup.png" /></span></p><p>The extension pun_karma also lets you have only thumbs up (so as not to offend any posters) - in admin/settings/features....</p>]]></description>
			<author><![CDATA[null@example.com (KeyDog)]]></author>
			<pubDate>Fri, 23 Dec 2011 13:22:20 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/142719/#p142719</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/142649/#p142649</link>
			<description><![CDATA[<p>Here&#039;s the pun_karma extension (beta for 1.4.1):<br /><a href="http://www.mediafire.com/?4ms95pwpt24b4a3">pun_karma</a> (with large thumbs)</p><p>Works on a test forum I have...</p><br /><p>This is an additional version with different icons;<br /><a href="http://www.mediafire.com/?x0fl3wzf60f0ff3">pun_karma</a> (smaller thumbs in green or red box)</p><p><span class="postimg"><img src="http://keydogbb.info/img/thumbs.png" alt="http://keydogbb.info/img/thumbs.png" /></span></p><p><span class="postimg"><img src="http://keydogbb.info/img/thumbs2.png" alt="http://keydogbb.info/img/thumbs2.png" /></span></p>]]></description>
			<author><![CDATA[null@example.com (KeyDog)]]></author>
			<pubDate>Wed, 21 Dec 2011 11:10:16 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/142649/#p142649</guid>
		</item>
		<item>
			<title><![CDATA[[Extension] "Thanks" feature aka Pun_Karma]]></title>
			<link>https://punbb.informer.com/forums/post/142648/#p142648</link>
			<description><![CDATA[<p>I think that if punbb have this feature this would be perfect.</p><p>People always want to say thanks and love to hear it.</p><p>Thanks and Best Regards</p>]]></description>
			<author><![CDATA[null@example.com (vphat28)]]></author>
			<pubDate>Wed, 21 Dec 2011 10:39:32 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/142648/#p142648</guid>
		</item>
	</channel>
</rss>
