<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[PunBB Forums - PunBB 1.3 extensions]]></title>
		<link>http://punbb.informer.com/forums/</link>
		<description><![CDATA[The most recent topics at PunBB Forums.]]></description>
		<lastBuildDate>Sun, 22 Nov 2009 15:23:12 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[[Extension] OpenID 1.1.0]]></title>
			<link>http://punbb.informer.com/forums/topic/21989/extension-openid-110/new/posts/</link>
			<description><![CDATA[<p>Hello,</p><p>I&#039;m pleased to announce my OpenID extension for PunBB, as requested in <a href="http://punbb.informer.com/forums/topic/14983/openid-support/.">http://punbb.informer.com/forums/topic/ &#133; -support/.</a> It was developed as part of my bachelor thesis. It makes use of JanRain&#039;s PHP OpenID Library 2.1.3 from <a href="http://www.openidenabled.com">http://www.openidenabled.com</a>. Though the library itself claims to support PHP 4, the extension requires PHP 5.2 due to heavy use of object-oriented features. Because of the library being backwards compatible, it triggers some warnings when using PHP 5. I have fixed those in the library shipping with the extension; otherwise, it&#039;s unchanged.</p><p><strong>Features</strong><br /></p><ul><li><p>login using OpenID (more than one OpenID per account is possible, traditional password-based login too)</p></li><li><p>registration using OpenID (both SReg and AX are supported to request attributes)</p></li><li><p>add/remove OpenIDs to/from existing accounts</p></li><li><p>authentication using OpenID to change password/e-mail address (instead of entering old password)</p></li><li><p>update profile information using OpenID (again, using SReg or AX)</p></li><li><p>list of users OpenIDs in profile (private information)</p></li><li><p>administration: user search includes OpenIDs in results</p></li><li><p>administration: search for OpenIDs</p></li><li><p>English and German localisation</p></li></ul><p><strong>Future ideas</strong><br /></p><ul><li><p>OpenID-only accounts: flag indicating if a valid password has been set, if not, hide all password input fields</p></li><li><p>sorting of OpenIDs: allow user to set order or select default OpenID to preselect</p></li></ul><p><strong>Known bugs/limitations</strong><br /></p><ul><li><p>An attacker may learn which OpenIDs are registered and which not: a) upon login only for unregistered OpenIDs attribute requests are send, b) when adding an additional OpenID to an account, before authenticating it is first checked, if it is already registered; should this behaviour be changed to not leak any information?</p></li><li><p>CSRF form: the confirmation form provided by PunBB does not work for OpenID requests (*). However, it should never be displayed as a custom csrf token is added to each request and checked accordingly.</p></li><li><p>Timezone is not requested using AX extension: Might as well be an OP bug, as it could only be confirmed for myopenid.com, the only OP I&#039;m aware of that supports the AX extension. Can you confirm this behaviour using another provider or do you know of any other provider supporting AX?</p></li></ul><p>(*) This seems to be a rather complex issue. OPs may choose GET or POST when answering a request. When choosing POST, the csrf token that PunBB expects is (obviously) missing, so the csrf confirmation form is displayed. When PunBB generates the csrf confirmation form, it produces one hidden field per received POST parameter. But it has to add two more fields, e.g. for the csrf token. These additional fields confuse the security mechanisms of the OpenID library and the request is denied. This is most probably a library limitation and I can see no possibility for a workaround. The library uses php://input to read POST parameters, so there is no chance to remove the additional parameters before making library calls.</p><p><strong>Tested using</strong><br /></p><ul><li><p>PunBB 1.3, 1.3.2, 1.3.4</p></li><li><p>MySQL 5.0, 5.1</p></li><li><p>PostgreSQL 8.3</p></li><li><p>PHP 5.2</p></li></ul><p><strong>Tested providers</strong><br /></p><ul><li><p>PHPMyID</p></li><li><p>claimid.com</p></li><li><p>meinguter.name</p></li><li><p>myid.net</p></li><li><p>myopenid.com</p></li><li><p>openid.claimid.com</p></li><li><p>pip.verisignlabs.com</p></li><li><p>xlogon.net</p></li></ul><p><strong>Changes</strong><br /></p><ul><li><p>1.1.0: login using XRIs, changes to data format in database, some simplified code</p></li><li><p>1.0.4: tested compatibility with PunBB 1.3.0, some minor bugs fixed</p></li><li><p>1.0.3: fixed no/wrong error message displayed when trying to log in with cookies disabled</p></li><li><p>1.0.2: fixed adding of table name prefixes</p></li><li><p>1.0.1: two minor bugs managed to hide on my todo list, fixed in this version</p></li><li><p>1.0.0: first public release</p></li></ul><p><strong>Download</strong><br />Download: <a href="https://dev.asdn.eu/projects/list_files/punbb-openid">https://dev.asdn.eu/projects/list_files/punbb-openid</a><br />Git-Repository: git://git.asdn.eu/punbb-openid</p><p>Please be aware that this is the first public release of this extension. Though I have tested everything I could think of, there may still be some bugs around, including bugs affecting the security, i.e. permitting someone to login without valid authentication etc. Feel free to use it and please report all problems you may encounter.</p><p>Regards,<br />Alexander</p>]]></description>
			<author><![CDATA[dummy@example.com (webmeister)]]></author>
			<pubDate>Sun, 22 Nov 2009 15:23:12 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/21989/extension-openid-110/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Antispam System doesn't work.]]></title>
			<link>http://punbb.informer.com/forums/topic/21401/antispam-system-doesnt-work/new/posts/</link>
			<description><![CDATA[<p>Hello,</p><p>I am new here and I don&#039;t know if I set this topic on the right place.</p><p>I have a question about the Antispam System (CAPTCHA) because it doesn&#039;t work.</p><p>When a new user want to register than he doens&#039;t see the letters which he must typ in to can register, you see only a &#039;&#039;?&quot;.</p><p>I have a Mac and I tryed it with Safari and Firefox and by both in don&#039;t work.</p><p>My English is not so best because I&#039;am dutch, sorry for that.</p><p>Best regards,</p><p>Robboo8</p>]]></description>
			<author><![CDATA[dummy@example.com (vincentlpratte)]]></author>
			<pubDate>Sat, 21 Nov 2009 18:46:07 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/21401/antispam-system-doesnt-work/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[extension release] pm_announcements]]></title>
			<link>http://punbb.informer.com/forums/topic/22542/extension-release-pmannouncements/new/posts/</link>
			<description><![CDATA[<p><strong>ID:</strong> pm_announcements<br /><strong>Title:</strong> Private Message Announcements<br /><strong>Version:</strong> 0.1<br /><strong>Description:</strong> Display an announcement if there are unread private messages.<br /><strong>Download link:</strong> <a href="http://gitorious.org/pm-announcements/trunk/trees/master">http://gitorious.org/pm-announcements/t &#133; ees/master</a></p><p><strong>Depends on:</strong> pun_pm &gt;= 1.2.9</p><p>Feedback is welcome!</p>]]></description>
			<author><![CDATA[dummy@example.com (Switched On)]]></author>
			<pubDate>Fri, 20 Nov 2009 14:52:33 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/22542/extension-release-pmannouncements/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[extension release] pun_move_posts]]></title>
			<link>http://punbb.informer.com/forums/topic/22532/extension-release-punmoveposts/new/posts/</link>
			<description><![CDATA[<p>This is the first release of a new extension pun_move_posts. The extension allows moving selected posts from a topic. </p><p>Links:<br /></p><ul><li><p><a href="http://punbb.informer.com/wiki/punbb13/extensions/pun_move_posts">Wiki page</a></p></li><li><p><a href="http://punbb.informer.com/extensions/pun_move_posts/pun_move_posts.7z">pun_move_posts.7z</a></p></li><li><p><a href="http://punbb.informer.com/extensions/pun_move_posts/pun_move_posts.tgz">pun_move_posts.tgz</a></p></li><li><p><a href="http://punbb.informer.com/extensions/pun_move_posts/pun_move_posts.zip">pun_move_posts.zip</a></p></li><li><p><a href="http://punbb.informer.com/svn/additions/punbb-1.3/extensions/pun_move_posts/">SVN link</a>.</p></li></ul>]]></description>
			<author><![CDATA[dummy@example.com (Gordei4ik)]]></author>
			<pubDate>Fri, 20 Nov 2009 11:41:42 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/22532/extension-release-punmoveposts/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[SpinkBB 1.3 !]]></title>
			<link>http://punbb.informer.com/forums/topic/20860/spinkbb-13/new/posts/</link>
			<description><![CDATA[<p>Hello,<br />sorry for my english, i&#039;m french <img src="http://punbb.informer.com/forums/img/smilies/smile.png" width="15" height="15" alt="smile" />.</p><p>For those who don&#039;t know SpinkBB yet, it is a styles generator for PunBB; a graphic interface whose goal is to colorize your forum easily.<br />Former version : <a href="http://www.jsand.net/spinkbb">http://www.jsand.net/spinkbb</a></p><p>The newer version radically changes its spirit to offer a larger interactive functionning way and evoluated possibilities (import, permanent save, public preview, browsing the whole script, etc.)</p><p>SpinkBB 1.3 beta :<br /><a href="http://spinkbb.jsand.net/punbb">http://spinkbb.jsand.net/punbb</a></p><p>I need some help to :<br />- fully test and precisely report bugs so that we can correct them together<br />- possibly translate this file into other languages</p><p>The languages file :<br /><a href="http://spinkbb.jsand.net/Langues.js">http://spinkbb.jsand.net/Langues.js</a><br />(Display &gt; Encoding &gt; UTF-8 under Firefox, if you see anormal characters)</p><p><a href="http://spinkbb.jsand.net/punbb/index.php?spkPw=34b1cee436c6cdddc58ca999b8a7d23a">Javascript Preview of an example entirely made with SpinkBB</a></p><p>I need your reactions, thanks ...</p>]]></description>
			<author><![CDATA[dummy@example.com (niknak)]]></author>
			<pubDate>Thu, 19 Nov 2009 14:34:07 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/20860/spinkbb-13/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[extension release] pun_attachment]]></title>
			<link>http://punbb.informer.com/forums/topic/21898/extension-release-punattachment/new/posts/</link>
			<description><![CDATA[<p>The pun_attachment extension has been released! This is the first version of the extension. It allows users to attach files to posts. You can find more information about pun_attachment on the extension&#039;s <a href="http://punbb.informer.com/wiki/punbb13/extensions/pun_attachment">Wiki page</a>.<br />Download links:<br /></p><ul><li><p><a href="http://punbb.informer.com/extensions/pun_attachment/pun_attachment.7z">pun_attachment.7z</a></p></li><li><p><a href="http://punbb.informer.com/extensions/pun_attachment/pun_attachment.tgz">pun_attachment.tgz</a></p></li><li><p><a href="http://punbb.informer.com/extensions/pun_attachment/pun_attachment.zip">pun_attachment.zip</a></p></li><li><p><a href="http://punbb.informer.com/svn/additions/punbb-1.3/extensions/pun_attachment/">SVN link</a>.</p></li></ul><p>Of course, you can get it with the help of the pun_repository extension. It would be great for us to get feedback with your suggestion about the extension&#039;s further improvement.</p>]]></description>
			<author><![CDATA[dummy@example.com (rasd123)]]></author>
			<pubDate>Wed, 18 Nov 2009 00:27:16 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/21898/extension-release-punattachment/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[Extension request] Feedburner Feed]]></title>
			<link>http://punbb.informer.com/forums/topic/22527/extension-request-feedburner-feed/new/posts/</link>
			<description><![CDATA[<p>Hello guys<br />Know you the free service <strong>Feedbuner</strong>? I use it for my Wordpress blog and work nice, it&#039;s possible use it for Punbb, with extension?<br />Bye</p>]]></description>
			<author><![CDATA[dummy@example.com (Slavok)]]></author>
			<pubDate>Mon, 16 Nov 2009 12:23:45 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/22527/extension-request-feedburner-feed/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[extension release] pun_admin_broadcast_email]]></title>
			<link>http://punbb.informer.com/forums/topic/22202/extension-release-punadminbroadcastemail/new/posts/</link>
			<description><![CDATA[<p>This is a release of new extension pun_admin_broadcast_email. It is first release of the extension. It is allows administrators to send e-mail messages to groups of users. <br />Links:<br /></p><ul><li><p><a href="http://punbb.informer.com/wiki/punbb13/extensions/pun_admin_broadcast_email">Wiki page</a></p></li><li><p><a href="http://punbb.informer.com/extensions/pun_admin_broadcast_email/pun_admin_broadcast_email.7z">pun_admin_broadcast_email.7z</a></p></li><li><p><a href="http://punbb.informer.com/extensions/pun_admin_broadcast_email/pun_admin_broadcast_email.7z">pun_admin_broadcast_email.tgz</a></p></li><li><p><a href="http://punbb.informer.com/extensions/pun_admin_broadcast_email/pun_admin_broadcast_email.7z">pun_admin_broadcast_email.zip</a></p></li><li><p><a href="http://punbb.informer.com/extensions/pun_admin_broadcast_email/pun_admin_broadcast_email.7z">pun_admin_broadcast_email.zip</a></p></li><li><p><a href="http://punbb.informer.com/svn/additions/punbb-1.3/extensions/pun_admin_broadcast_email/">SVN link</a></p></li></ul><p>It will be great to hear your opinions and suggestions on improvement of the extension.</p>]]></description>
			<author><![CDATA[dummy@example.com (Ishimaru Chiaki)]]></author>
			<pubDate>Sun, 15 Nov 2009 08:24:38 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/22202/extension-release-punadminbroadcastemail/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[Release] Default Avatar]]></title>
			<link>http://punbb.informer.com/forums/topic/20482/release-default-avatar/new/posts/</link>
			<description><![CDATA[<p>Allows the use of a default avatar in case an avatar is not set.</p><p>You can add set your default avatar on <em><strong>Administration » Settings » Features » User Avatars</strong></em></p><p><strong>Download Link:</strong> <a href="http://punbb.informer.com/unofficial/punbb-1.3/extensions/default_avatar/default_avatar.zip">http://punbb.informer.com/unofficial/pu &#133; avatar.zip</a></p><p>If you find any bugs or have any tips, please post them here.</p><p><strong>Updates</strong><br /></p><ul><li><p>1.0: First release</p></li></ul>]]></description>
			<author><![CDATA[dummy@example.com (Audiofeeline)]]></author>
			<pubDate>Sat, 14 Nov 2009 08:08:20 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/20482/release-default-avatar/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[Release] Merge posts]]></title>
			<link>http://punbb.informer.com/forums/topic/21515/release-merge-posts/new/posts/</link>
			<description><![CDATA[<p>Hi.</p><p>Search in forum but this extention dosnt exists (lazy developers! <img src="http://punbb.informer.com/forums/img/smilies/smile.png" width="15" height="15" alt="smile" />) and i made it self.</p><p>This extension merges posts. Example: one user posting after prior own post. Both posts are automatically merged.</p><p>In extensions directory make directory with name merge_posts. In this directory make file manifest.xml with content:<br /></p><div class="codebox"><pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;extension engine=&quot;1.0&quot;&gt;
    &lt;id&gt;merge_posts&lt;/id&gt;
    &lt;title&gt;Merge posts&lt;/title&gt;
    &lt;description&gt;This extension merges posts. Example: one user posting after prior own post. Both posts are automatically merged.&lt;/description&gt;
    &lt;version&gt;1.1&lt;/version&gt;

    &lt;minversion&gt;1.3.2&lt;/minversion&gt;
    &lt;maxtestedon&gt;1.3.2&lt;/maxtestedon&gt;

    &lt;author&gt;lexazloy&lt;/author&gt;

    &lt;hooks&gt;
        &lt;hook id=&quot;fn_add_post_qr_add_post&quot;&gt;&lt;![CDATA[
            function l_plural($int, $array, $noint = false){
                list($banan, $banana, $bananov) = (!is_array($array) ? explode(&#039;/&#039;, $array) : $array);

                $n1 = substr($int, -1);
                $n2 = substr($int, -2);
                $string = $bananov;

                if ($n2 &gt;= 10 and $n2 &lt;= 20)
                    $string = $bananov;
                elseif ($n1 == 1)
                    $string = $banan;
                elseif ($n1 &gt;= 2 and $n1 &lt;= 4)
                    $string = $banana;

                return trim($noint ? $string : $int.&#039; &#039;.$string);
            }

////////////////////////////////////////////////////////////////////////////////

            // http://php.net/datetime/#78025
            function l_ago($second, $len = 3, $plural = array()){
                $plural = array_merge(array(
                    &#039;separator&#039; =&gt; &#039;,&#039;,
                    &#039;seconds&#039; =&gt; &#039;second/seconds/seconds&#039;,
                    &#039;minutes&#039; =&gt; &#039;minute/minutes/minutes&#039;,
                    &#039;hours&#039; =&gt; &#039;hour/hours/hours&#039;,
                    &#039;days&#039; =&gt; &#039;day/days/days&#039;,
                    &#039;weeks&#039; =&gt; &#039;week/weeks/weeks&#039;,
                    &#039;months&#039; =&gt; &#039;month/months/months&#039;,
                    &#039;years&#039; =&gt; &#039;year/years/years&#039;,
                    &#039;ago&#039; =&gt; &#039;ago&#039;,
                    &#039;and&#039; =&gt; &#039;and&#039;
                ), $plural);
                $period = array(
                    &#039;years&#039;   =&gt; 31556926,
                    &#039;months&#039;  =&gt; 2629743,
                    &#039;weeks&#039;   =&gt; 604800,
                    &#039;days&#039;    =&gt; 86400,
                    &#039;hours&#039;   =&gt; 3600,
                    &#039;minutes&#039; =&gt; 60,
                    &#039;seconds&#039; =&gt; 1
                );

                foreach ($period as $k =&gt; $v)
                    if ($second &gt;= $v){
                        $durations = floor($second / $v);
                        $second -= ($durations * $v);
                        $array[] = l_plural($durations, $plural[$k]);
                    }

                if (count($array) &gt; 1){
                    if (count($array) == 2){
                        $result = $array[0].($len != 1 ? &#039; &#039;.$plural[&#039;and&#039;].&#039; &#039;.$array[1] : &#039;&#039;);
                    } elseif (count($array) &lt;= $len){
                        $end = array_pop($array);
                        $result = join($plural[&#039;separator&#039;].&#039; &#039;, $array).&#039; &#039;.$plural[&#039;and&#039;].&#039; &#039;.$end;
                    } else {
                        if ($len = count($result = array_slice($array, 0, $len - 1)))
                            $result = join($plural[&#039;separator&#039;].&#039; &#039;, $result).&#039; &#039;.$plural[&#039;and&#039;].&#039; &#039;.$array[$len];
                        else
                            $result = $array[$len];
                    }
                } else {
                    $result = $array[0];
                }

                return trim($result.&#039; &#039;.$plural[&#039;ago&#039;]);
            }

////////////////////////////////////////////////////////////////////////////////

            $l = array();
            $l[&#039;query&#039;] = array(&#039;SELECT&#039; =&gt; &#039;id, poster_id, posted&#039;, &#039;FROM&#039; =&gt; &#039;posts&#039;, &#039;WHERE&#039; =&gt; &#039;topic_id = &#039;.$post_info[&#039;topic_id&#039;], &#039;ORDER BY&#039; =&gt; &#039;id desc&#039;, &#039;LIMIT&#039; =&gt; 1);

            $l[&#039;post&#039;] = $forum_db-&gt;query_build($l[&#039;query&#039;]) or error(__FILE__, __LINE__);
            $l[&#039;post&#039;] = $forum_db-&gt;fetch_assoc($l[&#039;post&#039;]);

            $l[&#039;ago&#039;] = l_ago((time() - $l[&#039;post&#039;][&#039;posted&#039;]), 3, array(&#039;ago&#039; =&gt; &#039;after&#039;));
            $l[&#039;ago&#039;] = sprintf(&#039;\n\n[i][color=#cccccc]%s:[/color][/i]\n\n&#039;, $l[&#039;ago&#039;]);

            if ($l[&#039;edit&#039;] = ($post_info[&#039;poster_id&#039;] == $l[&#039;post&#039;][&#039;poster_id&#039;]))
                $query = array(
                    &#039;UPDATE&#039; =&gt; &#039;posts&#039;,
                    &#039;WHERE&#039;  =&gt; &#039;id = &#039;.$l[&#039;post&#039;][&#039;id&#039;],
                    &#039;SET&#039;    =&gt; &#039;message = concat(message, &quot;&#039;.$l[&#039;ago&#039;].&#039;&quot;, &quot;&#039;.$forum_db-&gt;escape($post_info[&#039;message&#039;]).&#039;&quot;)&#039;
                );
        ]]&gt;&lt;/hook&gt;

        &lt;hook id=&quot;fn_add_post_qr_get_topic_reply_count&quot;&gt;&lt;![CDATA[
            if ($l[&#039;edit&#039;])
                $new_pid = $l[&#039;post&#039;][&#039;id&#039;];
        ]]&gt;&lt;/hook&gt;
    &lt;/hooks&gt;
&lt;/extension&gt;</code></pre></div><p>P.S. +1 query to database. But very simple and fast query.</p><p><strong>upd:</strong> Alternative from dimka.linux@gmail.com <a href="http://lexa.cutenews.ru/temp/fancy_merge_posts.tar.gz">Fancy Merge Posts</a> (i not found it on forum and upload to my site).</p>]]></description>
			<author><![CDATA[dummy@example.com (rasd123)]]></author>
			<pubDate>Fri, 13 Nov 2009 00:28:54 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/21515/release-merge-posts/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[release] IP Geolocation]]></title>
			<link>http://punbb.informer.com/forums/topic/22482/release-ip-geolocation/new/posts/</link>
			<description><![CDATA[<p>This extension will display the geographic location of users on their profile to administrators. It determines the geographic location based on the users IP address, using the free <a href="http://www.geoplugin.com">geoPlugin</a> web service.</p><p><strong>Changelog</strong></p><ul><li><p><strong>ver 1.2</strong> &quot;Geolocate&quot; link to fetch geolocation of users who registered before the extension was installed.</p></li><li><p><strong>ver 1.1</strong> Uses cURL if available, and includes some other small improvements.</p></li><li><p><strong>ver 1.0</strong> Initial release</p></li></ul><p><strong>Download</strong></p><ul><li><p><a href="http://www.u-d-s.com/resources/punbb/ip_geolocation-1.2.tar.gz">ip_geolocation-1.2.tar.gz</a></p></li><li><p><a href="http://www.u-d-s.com/resources/punbb/ip_geolocation-1.2.zip">ip_geolocation-1.2.zip</a></p></li></ul><p><strong>Screenshots</strong><br />Profile of user before geolocation has been fetched<br /><span class="postimg"><img src="http://www.u-d-s.com/resources/punbb/screenshot1.png" alt="http://www.u-d-s.com/resources/punbb/screenshot1.png" /></span></p><p>Profile of user after geolocating<br /><span class="postimg"><img src="http://www.u-d-s.com/resources/punbb/screenshot2.png" alt="http://www.u-d-s.com/resources/punbb/screenshot2.png" /></span></p>]]></description>
			<author><![CDATA[dummy@example.com (KeyDog)]]></author>
			<pubDate>Wed, 11 Nov 2009 14:29:47 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/22482/release-ip-geolocation/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Gender MOD (And colored in the online list)]]></title>
			<link>http://punbb.informer.com/forums/topic/21972/gender-mod-and-colored-in-the-online-list/new/posts/</link>
			<description><![CDATA[<p>Hello, </p><p>I not find this MOD here but in FluxBB, i have tested and it work in Punbb 1.3.3</p><p>Manifest.xml</p><div class="codebox"><pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;extension engine=&quot;1.0&quot;&gt;
        &lt;id&gt;gender&lt;/id&gt;
        &lt;title&gt;Gender Profile tag&lt;/title&gt;
        &lt;version&gt;1.1.1&lt;/version&gt;
        &lt;description&gt;Adds an option in users profile to select their gender.&lt;/description&gt;
        &lt;author&gt;Gizzmo&lt;/author&gt;
        &lt;minversion&gt;1.3 Beta&lt;/minversion&gt;
        &lt;maxtestedon&gt;1.3 Beta&lt;/maxtestedon&gt;

        &lt;install&gt;&lt;![CDATA[
                $forum_db-&gt;add_field(&#039;users&#039;, &#039;gender&#039;, &#039;TINYINT(1)&#039;, FALSE, &#039;0&#039;);
        ]]&gt;&lt;/install&gt;

        &lt;uninstall&gt;&lt;![CDATA[
                $forum_db-&gt;drop_field(&#039;users&#039;, &#039;gender&#039;);
        ]]&gt;&lt;/uninstall&gt;

        &lt;note type=&quot;install&quot;&gt;If you wish to use your own gender images, just drop them in the /img directory with the filename &#039;gender-#&#039;. Replacing # with 1 for male, 2 for female, and 0 for Unspecified. This extension can determin if its gif, png, or jpg image.&lt;/note&gt;
        
        &lt;hooks&gt;
                &lt;hook id=&quot;pf_start,vt_start&quot;&gt;&lt;![CDATA[
                        // Load the extention language file
                        if (file_exists($ext_info[&#039;path&#039;].&#039;/lang/&#039;.$forum_user[&#039;language&#039;].&#039;.php&#039;))
                                require $ext_info[&#039;path&#039;].&#039;/lang/&#039;.$forum_user[&#039;language&#039;].&#039;.php&#039;;
                        else
                                require $ext_info[&#039;path&#039;].&#039;/lang/English.php&#039;;
                ]]&gt;&lt;/hook&gt;
                &lt;!-- Stored the images in a hook --&gt;
                &lt;hook id=&quot;es_essentials&quot;&gt;&lt;![CDATA[
                        if (isset($_GET[&#039;genderimg&#039;]) &amp;&amp; in_array($_GET[&#039;genderimg&#039;], array(0,1,2)) &amp;&amp; substr($_SERVER[&#039;PHP_SELF&#039;], -9) == &#039;/misc.php&#039;)
                        {
                                $gender = array(
                                        0 =&gt; array(
                                                &#039;type&#039; =&gt; &#039;png&#039;,
                                                &#039;size&#039; =&gt; &#039;3389&#039;,
                                                &#039;code&#039; =&gt; &#039;iVBORw0KGgoAAAANSUhEUgAAAAsAAAAQCAYAAADAvYV+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRB
                                                        yAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFos
                                                        tqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/
                                                        PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAEZ0FNQQAAsY58+1GTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAJYSURBVHjaXJKxSxtRAMa/9+5dvBhJ6hV7Ek7B5sBANdJQinuLS9ssjlK6FPonpEOhQxenSgeXCnEqnQsBQUEQXLTSUgpBY6zJxYqNJXrJS+7u5eWuSwXbb/7BB9/vI0tLS2CMQVVVSCkBAGEYvhwaGnothPC73S5c1yW2bbsM1yKlhBACQoh4NpvVUqmUJoSApmlYXFxUKP6LlBK+7xfW19c/2LYd9no9cM7hOM4F+1ubJYS8opTeZoz5QRAcDw8Pp1VVJc1mE4ZhgHPeYYSQe4ZhfLIsK6nrOjzPQ6vVuh+Px7G5uVnf
                                                        2dk5mJ+ff3h5eXmTxWKxt5OTk8lYLIZqtQoASCaTcBwHGxsb38/Ozl7n8/maEOIX0zTtzujoKCqVCra2tt5IKW/Nzc29MAwDuq6PuK671+l0nkspQROJRG9wcPBqto9CiDXf95FIJBCNRhXTNKHrOqSUYI7j7DmO88g0TViW9TUIAjIxMYFarQbO+W6v18PY2Bi63S6UTCbDgyDImaYZSafTzLIshXOOYrHYsG07HwTBz36/D13XoWQymYN6vf6tWq1Oj4+PG+fn51hZWfl8eHj4lBCySwi5sgoqpRzxPO9xqVQinPN+s9kMj46OblBKHxBC1OvCyMLCwt3Z2dkvuVwOYRiCEIIwDLG8vPy7XC6nIpFI6wpmnud5Jycn/vb2NpmZmVFd1+2XSqWw3W6D0n/fQBljx+Vy+cnq6mqx3W6T09NTpVAovG80Gs9UVe1eh5WpqSlJKf0xMDAQrVQq0/v7+xeEkHeKoqwBCK7DfwYAIUItJx7NfL8AAAAASUVORK5CYII=&#039;
                                        ),
                                        1 =&gt; array(
                                                &#039;type&#039; =&gt; &#039;png&#039;,
                                                &#039;size&#039; =&gt; &#039;3216&#039;,
                                                &#039;code&#039; =&gt; &#039;iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRB
                                                        yAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFos
                                                        tqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/
                                                        PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAEZ0FNQQAAsY58+1GTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAGrSURBVHjaTNC/a1NRGMbx5z335LYliSk2UJqijYaSRSilglB1cBT8A1zF1cnFUSdXcXARHVyU/gWCglkErUUq1lKaIFSFkrT5Qc2999x73nvO6xAFH/hun+mhp60xRARsGQBARBCRe6VpdV98bjPLcM7R8TCKNf4bM0NE4DxVVurlmfrC7AznHoWCwsvX+4H6B0UmMefIrHm+uXv0otuPwY6QpB5plg70X9jQAW4r0FUFGnvnO9XK1EWtFUa/Y8zNlsCWjfa5W54r06vlWnGtUiyAnUec8PUw1Pj09Ve783PQvnRh8UaU
                                                        pFWtlbvbrBXXwlDJ3o8TUgQszpcRJym+tI/eJmn2ZOPNzmeI62vAXTtVCrHdHmDzW/eWy+3CldUzD+u1Cpznhojfm57SD6z10NZyQYhgMksmNQdsrZiMQTqAtVxKU4sgUCAi6CQxH0Yn5nxz6bSkGbcUAY2zVel1h2QS896yAxFBKYLuj5LHW7uH6yvN+XPrq0vwHjjsDaj1cX97HJlnRATQ5F7NLt/a6fRudg56d4hw2TJzFMXvjofRIwK+AwTIBP8ZALAx57XhAY+XAAAAAElFTkSuQmCC&#039;
                                        ),
                                        2 =&gt; array(
                                                &#039;type&#039; =&gt; &#039;png&#039;,
                                                &#039;size&#039; =&gt; &#039;3188&#039;,
                                                &#039;code&#039; =&gt; &#039;iVBORw0KGgoAAAANSUhEUgAAAAgAAAANCAYAAACUwi84AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRB
                                                        yAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFos
                                                        tqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/
                                                        PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAEZ0FNQQAAsY58+1GTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAGPSURBVHjaBME/b9NAHAbg9+5+5yI7dUOIIjKCIIAqEYkBxBKJERYEQkxIzDCA1I8CldhYGSKGdoEFobCUpagqKuoECtj9X8dJHdt35/PxPGz37TakL2/53eCVt+jdc7WDStTXPMre6DP1g6Qv+0vXWx8al8OeCAisBsxUPxck7qY7p095cDFYaVwKe1xylP/myP9k4OcEGlfDnlyQK0SL3oACQj7OkG6evLBFhebN9rvgRggGNqBa1xKMoS4tzEzv2bmFzQ0YY3DKSdKJ2jCT8slC10d4rbXmtIV/JUQR5dBTvUHz6GyV
                                                        PDEI+xc6zdstOADVqUYyOjhSWbHKq8KM0p/J48OPf7+ruIDeKxG//709200fOeFGnCveQYWX5lAtVXllbGlhEt3hxJ5RLc6zX683+2G/udW+34UzDmAA9zj2h+NqtjVZJmttUezn88nohBrLIcEB2c7UmERzJhk4BMZlnD84XouGJjWimhpxtB4Py4PiITwWEwAFiW9o8+7xp+gOAOJt8QUMn+GA/wMAF6LEeXKjdiMAAAAASUVORK5CYII=&#039;
                                        )
                                );

                                header(&quot;Content-type: image/&quot;.$gender[$_GET[&#039;genderimg&#039;]][&#039;type&#039;]);
                                header(&quot;Content-length: &quot;.$gender[$_GET[&#039;genderimg&#039;]][&#039;size&#039;]);
                                die(base64_decode($gender[$_GET[&#039;genderimg&#039;]][&#039;code&#039;]));
                        }
                ]]&gt;&lt;/hook&gt;
&lt;!--
==============================================
                Viewtopic
==============================================
--&gt;
                &lt;hook id=&quot;vt_qr_get_posts&quot;&gt;&lt;![CDATA[
                        $query[&#039;SELECT&#039;] .= &#039;, u.gender&#039;;
                ]]&gt;&lt;/hook&gt;
                &lt;hook id=&quot;vt_row_pre_display&quot;&gt;&lt;![CDATA[
                        if ($forum_config[&#039;o_show_user_info&#039;] == &#039;1&#039; &amp;&amp; $cur_post[&#039;poster_id&#039;] &gt; 1 &amp;&amp; !isset($user_data_cache[$cur_post[&#039;poster_id&#039;]][&#039;author_info&#039;]))
                        {
                                $filetypes = array(&#039;jpg&#039;, &#039;gif&#039;, &#039;png&#039;);
                                foreach ($filetypes as $cur_type)
                                {
                                        $path = &#039;img/gender-&#039;.$cur_post[&#039;gender&#039;].&#039;.&#039;.$cur_type;
                                        
                                        if (file_exists(FORUM_ROOT.$path) &amp;&amp; $img_size = @getimagesize(FORUM_ROOT.$path))
                                        {
                                                $forum_page[&#039;author_info&#039;][&#039;gender&#039;] = &#039;&lt;li&gt;&lt;span&gt;&#039;.$lang_gender[&#039;Gender&#039;].&#039; &lt;img src=&quot;&#039;.$base_url.&#039;/&#039;.$path.&#039;&quot; &#039;.$img_size[3].&#039; alt=&quot;&quot; /&gt;&lt;/span&gt;&lt;/li&gt;&#039;;
                                                break;
                                        }
                                }

                                // if we didnt find a img use the stored one
                                if (!isset($forum_page[&#039;author_ident&#039;][&#039;gender&#039;]))
                                        $forum_page[&#039;author_info&#039;][&#039;gender&#039;] = &#039;&lt;li&gt;&lt;span&gt;&#039;.$lang_gender[&#039;Gender&#039;].&#039; &lt;img src=&quot;&#039;.$base_url.&#039;/misc.php?genderimg=&#039;.$cur_post[&#039;gender&#039;].&#039;&quot; alt=&quot;&quot; /&gt;&lt;/span&gt;&lt;/li&gt;&#039;;
                        }
                ]]&gt;&lt;/hook&gt;
&lt;!--
==============================================
                profile
==============================================
                --&gt;
                &lt;hook id=&quot;pf_change_details_identity_validation&quot;&gt;&lt;![CDATA[
                        $form[&#039;gender&#039;] = $_POST[&#039;form&#039;][&#039;gender&#039;];
                ]]&gt;&lt;/hook&gt;
                &lt;hook id=&quot;pf_change_details_identity_pre_num_posts&quot;&gt;&lt;![CDATA[?&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 select&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_gender[&#039;Gender&#039;]?&gt;&lt;/span&gt;&lt;/label&gt;
                                        &lt;span class=&quot;fld-input&quot;&gt;
                                                &lt;select id=&quot;fld&lt;?php echo $forum_page[&#039;fld_count&#039;] ?&gt;&quot; name=&quot;form[gender]&quot;&gt;
                                                        &lt;option value=&quot;0&quot;&lt;?php if ($user[&#039;gender&#039;] == 0) echo &#039; selected=&quot;selected&quot;&#039; ?&gt;&gt;&lt;?php echo $lang_gender[&#039;Unspecified&#039;]?&gt;&lt;/option&gt;
                                                        &lt;option value=&quot;1&quot;&lt;?php if ($user[&#039;gender&#039;] == 1) echo &#039; selected=&quot;selected&quot;&#039; ?&gt;&gt;&lt;?php echo $lang_gender[&#039;Male&#039;]?&gt;&lt;/option&gt;
                                                        &lt;option value=&quot;2&quot;&lt;?php if ($user[&#039;gender&#039;] == 2) echo &#039; selected=&quot;selected&quot;&#039; ?&gt;&gt;&lt;?php echo $lang_gender[&#039;Female&#039;]?&gt;&lt;/option&gt;
                                                &lt;/select&gt;
                                        &lt;/span&gt;
                                &lt;/div&gt;
                        &lt;/div&gt;
                &lt;?php ]]&gt;&lt;/hook&gt;
                &lt;hook id=&quot;pf_view_details_pre_header_load,pf_change_details_about_pre_header_load&quot;&gt;&lt;![CDATA[
                        $filetypes = array(&#039;jpg&#039;, &#039;gif&#039;, &#039;png&#039;);
                        foreach ($filetypes as $cur_type)
                        {
                                $path = &#039;img/gender-&#039;.$user[&#039;gender&#039;].&#039;.&#039;.$cur_type;
                                
                                if (file_exists(FORUM_ROOT.$path) &amp;&amp; $img_size = @getimagesize(FORUM_ROOT.$path))
                                {
                                        $forum_page[&#039;user_info&#039;][&#039;gender&#039;] = &#039;&lt;li&gt;&lt;span&gt;&#039;.$lang_gender[&#039;Gender&#039;].&#039; &lt;img src=&quot;&#039;.$base_url.&#039;/&#039;.$path.&#039;&quot; &#039;.$img_size[3].&#039; alt=&quot;&quot; /&gt;&lt;/span&gt;&lt;/li&gt;&#039;;
                                        break;
                                }
                        }

                        // if we didnt find a img use the stored one
                        if (!isset($forum_page[&#039;user_info&#039;][&#039;gender&#039;]))
                                $forum_page[&#039;user_info&#039;][&#039;gender&#039;] = &#039;&lt;li&gt;&lt;span&gt;&#039;.$lang_gender[&#039;Gender&#039;].&#039; &lt;img src=&quot;&#039;.$base_url.&#039;/misc.php?genderimg=&#039;.$user[&#039;gender&#039;].&#039;&quot; alt=&quot;&quot; /&gt;&lt;/span&gt;&lt;/li&gt;&#039;;
                ]]&gt;&lt;/hook&gt;
        &lt;/hooks&gt;
&lt;/extension&gt;</code></pre></div><p>And lang/English.php </p><div class="codebox"><pre><code>&lt;?php

// Language definitions used in extensions
$lang_gender = array(

&#039;Unspecified&#039;   =&gt;      &#039;indÃ©terminÃ©&#039;,
&#039;Male&#039;                  =&gt;      &#039;Homme&#039;,
&#039;Female&#039;                =&gt;      &#039;Femme&#039;,
&#039;Gender&#039;                =&gt;      &#039;Sexe :&#039;,

);</code></pre></div><p><strong>I have installed : Improved online list and i want colored in the list male and femelle it&#039;s possible ? </strong></p><p><strong>Thanks<br /></strong></p>]]></description>
			<author><![CDATA[dummy@example.com (N3twork2)]]></author>
			<pubDate>Wed, 11 Nov 2009 08:49:15 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/21972/gender-mod-and-colored-in-the-online-list/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[release] Private Messaging (pun_pm)]]></title>
			<link>http://punbb.informer.com/forums/topic/19620/release-private-messaging-punpm/new/posts/</link>
			<description><![CDATA[<p>New extension Pun Private Messaging (beta) is released. It works on both PunBB 1.3 RC and current dev version. Please, test it.</p><p>Download <a href="http://punbb.informer.com/svn/extensions/trunk/pun_pm">from svn</a> or <a href="http://punbb.informer.com/svn/extensions/trunk/pun_pm.zip">zip</a>.</p><p>Feel free to report bugs or suggest improvements and new features.</p>]]></description>
			<author><![CDATA[dummy@example.com (Parpalak)]]></author>
			<pubDate>Tue, 10 Nov 2009 14:06:49 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/19620/release-private-messaging-punpm/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[extension release] pun_poll]]></title>
			<link>http://punbb.informer.com/forums/topic/20976/extension-release-punpoll/new/posts/</link>
			<description><![CDATA[<p><a href="http://punbb.informer.com/wiki/punbb13/pun_poll">Here</a> is description of the extension.&nbsp; <br />Download links:<br /></p><ul><li><p><a href="http://punbb.informer.com/extensions/pun_poll/pun_poll.7z">pun_poll.7z</a></p></li><li><p><a href="http://punbb.informer.com/extensions/pun_poll/pun_poll.tgz">pun_poll.tgz</a></p></li><li><p><a href="http://punbb.informer.com/extensions/pun_poll/pun_poll.zip">pun_poll.zip</a></p></li><li><p><a href="http://punbb.informer.com/svn/additions/punbb-1.3/extensions/pun_poll">SVN link</a></p></li></ul><p>Or you can download pun_poll with help of pun_repository extension. <br />Feel free to report bugs.</p>]]></description>
			<author><![CDATA[dummy@example.com (Slavok)]]></author>
			<pubDate>Mon, 09 Nov 2009 09:32:42 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/20976/extension-release-punpoll/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[extension release] announcement]]></title>
			<link>http://punbb.informer.com/forums/topic/22450/extension-release-announcement/new/posts/</link>
			<description><![CDATA[<p>Description : the announcement extension allow you to mark topics as an announce, announce topics will be displaying before sticky topics. </p><p>Current version : v0.1</p><p>Download the extension : <a href="http://punbb.valentin-day.net/lib/exe/fetch.php?media=announcement.zip">http://punbb.valentin-day.net/lib/exe/f &#133; cement.zip</a></p>]]></description>
			<author><![CDATA[dummy@example.com (eichsoft)]]></author>
			<pubDate>Fri, 06 Nov 2009 21:08:11 +0000</pubDate>
			<guid>http://punbb.informer.com/forums/topic/22450/extension-release-announcement/new/posts/</guid>
		</item>
	</channel>
</rss>
