<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.8.0-dev (info@mypapit.net)" -->
<rss version="2.0" >
    <channel>
        <title>Unclassified NewsBoard News</title>
        <description></description>
        <link>http://newsboard.unclassified.de/</link>
        <lastBuildDate>Tue, 18 Jun 2013 07:06:41 GMT</lastBuildDate>
        <generator>FeedCreator 1.8.0-dev (info@mypapit.net)</generator>
        <item>
            <title>&quot;Plus one&quot;-Plugin</title>
            <link>http://newsboard.unclassified.de/forum/thread/1825</link>
            <description><![CDATA[
Quite a while ago I developed a plus one feature for our unb, similar to google's "+1". Since then it's working like a charm.<br />
<br />
For an example see <a href="http://img29.imageshack.us/img29/9337/bildschirmfotoig.png" title="http://img29.imageshack.us/img29/9337/bildschirmfotoig.png">http://img29.imageshack.us/img29/9337/bildschirmfotoig.png</a><br />
<br />
I attached an archive with all necesarry files. Some knowledge about php and stuff will make installing them easier but I tried to provide a simple guide.
]]></description>
            <author> no_email@example.com (t.animal)</author>
            <pubDate>Fri, 06 Apr 2012 18:58:06 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1825</guid>
        </item>
        <item>
            <title>replace #nnn with links to your bugtracker</title>
            <link>http://newsboard.unclassified.de/forum/thread/1794</link>
            <description><![CDATA[
1) Put into unb_lib/plugins/bugtrack.php<br />
2) in admin panel, configure plugin (single text box) to point to your full bugtracker view-issue page url. The ID will be appended.<br />
3) [issue=nnn] or #nnn will be replaced with link to bugtracker.<br />
<br />
<tt>&lt;?php<br />
if (!defined('UNB_RUNNING')) die('Not a UNB environment in ' . basename(__FILE__));<br />
<br />
UnbPluginMeta('Add some generic bugtracker-related functionality');<br />
UnbPluginMeta('unb.stable.1.6 unb.stable.1.6.99', 'version');<br />
UnbPluginMeta('UnbHookBugtrackConfig', 'config');<br />
<br />
if (!UnbPluginEnabled()) return;<br />
<br />
function UnbHookBugtrackConfig(&amp;$data) {<br />
&nbsp;&nbsp;&nbsp; global $UNB;<br />
<br />
&nbsp;&nbsp;&nbsp; if ($data['request'] == 'fields') {<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $field = array();<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $field['fieldtype'] = 'text';<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $field['fieldname'] = 'BugtrackUrl';<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $field['fieldvalue'] = rc('bugtrack_url');<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $field['fieldsize'] = 40;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $field['fieldlength'] = 1000;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $data['fields'][] = $field;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; if ($data['request'] == 'handleform') {<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if (isset($_POST['BugtrackUrl']))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $UNB['ConfigFile']['bugtrack_url'] = $_POST['BugtrackUrl'];<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $data['result'] = true;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; return true;<br />
}<br />
<br />
function UnbHookAddBugtrackTags(&amp;$data) {<br />
&nbsp;&nbsp;&nbsp; global $ABBC;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; $ABBC['Tags']['issue'] = array(<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'htmlopen1'&nbsp; =&gt; "~'&lt;a href=\"" . rc('bugtrack_url') . "'.abbcq('$1').'\"&gt;#$1&lt;/a&gt;'",<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'htmlcont1'&nbsp; =&gt; '', <br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'htmlclose1' =&gt; '',<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'textcont1'&nbsp; =&gt; "\n", <br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'htmlblock'&nbsp; =&gt; true,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'minparam'&nbsp;&nbsp; =&gt; 1,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'maxparam'&nbsp;&nbsp; =&gt; 1,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'openclose'&nbsp; =&gt; false,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'nocase'&nbsp; &nbsp;&nbsp; =&gt; true,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'nested'&nbsp; &nbsp;&nbsp; =&gt; false,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'proccont'&nbsp;&nbsp; =&gt; true,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'subset'&nbsp; &nbsp;&nbsp; =&gt; ABBC_CUSTOM<br />
&nbsp;&nbsp;&nbsp; );<br />
<br />
&nbsp;&nbsp;&nbsp; return true;<br />
}<br />
<br />
function UnbHookBugtrackParser(&amp;$data) {<br />
&nbsp;&nbsp;&nbsp; $msg =&amp; $data['message'];<br />
&nbsp;&nbsp;&nbsp; $msg = preg_replace("/(^|\s)#(\d+)(\s|$)/",<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; '\1[issue=\2]\3',<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $msg);<br />
<br />
&nbsp;&nbsp;&nbsp; return true;<br />
}<br />
<br />
$UNB['_bugtrack_url'] = rc('bugtrack_url', 'http://your.bugtrack.installation/view.php?id=');<br />
<br />
UnbRegisterHook('abbc.userconfig', 'UnbHookAddBugtrackTags');<br />
UnbRegisterHook('post.preparse', 'UnbHookBugtrackParser');<br />
?&gt;<br />
</tt>

]]></description>
            <author> no_email@example.com (elven)</author>
            <pubDate>Fri, 10 Dec 2010 13:15:24 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1794</guid>
        </item>
        <item>
            <title>XMPP notifications plugin</title>
            <link>http://newsboard.unclassified.de/forum/thread/1790</link>
            <description><![CDATA[
i attached the XMPP notifictions plugin I have written for UNB.<br />
The plugin sends notifications of new created threads to all board admins with have a JabberId in their profile. It's using the general Jabber configuration of the board. I wrote this plugin because I want instant notifications of new threads. RSS feeds with polling are no solution.<br />
<br />
I hope its useful for other people as well.<br />
<br />
Alex
]]></description>
            <author> no_email@example.com (gnauck)</author>
            <pubDate>Sat, 30 Oct 2010 19:32:14 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1790</guid>
        </item>
        <item>
            <title>vcal-export for user birthdays (for google calendar, for example)</title>
            <link>http://newsboard.unclassified.de/forum/thread/1785</link>
            <description><![CDATA[
Now, this is just a quick hackjob to get forum user accounts into a dynamic google calendar.&nbsp; There's no configuration and just limited testing, but maybe it's useful to someone.<br />
<br />
<b>icalbday.php</b><br />
<tt>&lt;?php<br />
if (!defined('UNB_RUNNING')) die('Not a UNB environment in ' . basename(__FILE__));<br />
<br />
// Define plug-in meta-data<br />
UnbPluginMeta('Export birthdays in vcal format');<br />
UnbPluginMeta('de en', 'lang');<br />
UnbPluginMeta('unb.stable.1.6 unb.stable.1.6.99', 'version');<br />
<br />
<br />
if (!UnbPluginEnabled()) return;<br />
<br />
function UnbHookICalBDayExportHandleRequest(&amp;$data) {<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; global $UNB;<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if ($data['request'] == 'icalbday') {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $data['include'] = $UNB['LibraryPath'] . 'plugins/icalbday.inc.php';<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $data['handled'] = true;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; return true;<br />
}<br />
<br />
UnbRegisterHook('page.custom.handlerequest', 'UnbHookICalBDayExportHandleRequest');<br />
?&gt;<br />
</tt>
<br />
<b>icalbday.inc.php</b><br />
<tt>&lt;?php<br />
// Calendar plug-in for UNB<br />
<br />
if (!defined('UNB_RUNNING')) die('Not a UNB environment in ' . basename(__FILE__));<br />
<br />
$TP =&amp; $UNB['TP'];<br />
<br />
// Don't index this page for search engines<br />
$TP['headNoIndex'] = true;<br />
<br />
header("content-type: text/calendar; charset=utf-8");<br />
<br />
print("BEGIN:VCALENDAR<br />
VERSION:2.0<br />
CALSCALE:GREGORIAN<br />
METHOD:PUBLISH<br />
X-WR-CALNAME:Birthdays<br />
X-WR-CALDESC:www.link_to_forum<br />
");<br />
<br />
// do the next 10 years<br />
for ($y = 0; $y &lt; 10; $y++) {<br />
&nbsp;&nbsp;&nbsp; $year = (int) date('Y') + $y;<br />
&nbsp;&nbsp;&nbsp; $user = new IUser;<br />
&nbsp;&nbsp;&nbsp; $list = $user-&gt;GetList('BirthDay &gt; 0 and BirthMonth &gt; 0');<br />
&nbsp;&nbsp;&nbsp; if (!$list)<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; continue;<br />
<br />
&nbsp;&nbsp;&nbsp; do {<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $uid = md5($user-&gt;GetID() . "-" . $year);<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $start = sprintf("%d%02d%02d", $year, $user-&gt;GetBirthMonth(), $user-&gt;GetBirthDay());<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $end = $start;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $name = $user-&gt;GetName();<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $age = $year - $user-&gt;GetBirthYear();<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $link = '&lt;a href="http://link_to_forum/user/' . $user-&gt;GetID() . '"&gt;Link&lt;/a&gt;';<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; printf("BEGIN:VEVENT<br />
DTSTART;VALUE=DATE:%s<br />
DTEND;VALUE=DATE:%s<br />
UID:%s<br />
DESCRIPTION:<br />
SUMMARY:Geburtstag von %s (%s) %s<br />
STATUS:CONFIRMED<br />
END:VEVENT<br />
", $start, $end, $uid, $name, $age, $link);<br />
&nbsp;&nbsp;&nbsp; } while ($user-&gt;GetNext());<br />
}<br />
<br />
print("END:VCALENDAR\n");<br />
<br />
// Update page hits statistics<br />
UnbUpdateStat('PageHits', 1);<br />
?&gt;<br />
</tt>
<br />
<b>.htaccess</b><br />
<tt>RewriteRule ^icalbday$ forum.php?req=icalbday&amp;rewrite=$2 [L,QSA]<br />
</tt>
<br />
Provided as-is with no guarantees.<br />
<br />
Add in google calendar by selecting (under Other Calendars) Add -&gt; Import by url. According to the google docs, that get's reloaded periodically (and my access logs agree, about twice a day). Add <a href="http://your_forum_link/icalbday" title="http://your_forum_link/icalbday">http://your_forum_link/icalbday</a> (or the long link with no rewrite rule).
]]></description>
            <author> no_email@example.com (elven)</author>
            <pubDate>Thu, 14 Oct 2010 14:16:50 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1785</guid>
        </item>
        <item>
            <title>Plugin for Piwik web analytics</title>
            <link>http://newsboard.unclassified.de/forum/thread/1745</link>
            <description><![CDATA[
Hi!<br />
<br />
I coded a plugin to track your visitor with the <a href="http://www.piwik.org" title="http://www.piwik.org">Piwik</a> web analytics software.<br />
<br />
Just unzip the attached file to your unb_lib/plugins directory and edit the settings of this plugin.<br />
<br />
Comments are welcome!<br />
<br />
Best regards<br />
Tommy
]]></description>
            <author> no_email@example.com (ding280)</author>
            <pubDate>Sat, 17 Oct 2009 22:11:17 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1745</guid>
        </item>
        <item>
            <title>Google Analytics plug-in</title>
            <link>http://newsboard.unclassified.de/forum/thread/1615</link>
            <description><![CDATA[
Inspired from <a href="http://newsboard.unclassified.de/forum/thread/768" title="http://newsboard.unclassified.de/forum/thread/768">halr9000's plug-in</a> try, I made an easy to use plug-in that uses the new Google Analytics tracking code (ga.js) instead of Urchin one. It also place it (correctly) after the footer of the page instead of the page's head.<br />
<br />
The script is inserted when a code is passed at the config page of the plug-in. If it's empty, script will be omitted.<br />
There is no check about the validity of the Google Analytics code.<br />
Good luck with it.<br />
<br />
Version history:<br />
<ul><li>Version 1.0 [2008-03-28]: First public release.</li></ul>

]]></description>
            <author> no_email@example.com (Saxtus)</author>
            <pubDate>Fri, 28 Mar 2008 11:51:55 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1615</guid>
        </item>
        <item>
            <title>Gentoo ebuilds</title>
            <link>http://newsboard.unclassified.de/forum/thread/1609</link>
            <description><![CDATA[
There is two ebuilds for Gentoo Linux users - one for stable and one for latest development version.<br />
<br />
<b>Languages:</b><br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; Devel version ebuild supports only '<u>ru</u>' language, while others seems to be outdated.<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; Stable version ebuild supports '<u>cs</u> <u>no</u> <u>ru</u> <u>tr</u> <u>zh_CN</u>' languages.<br />
<br />
<b>Uses:</b><br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; Also both ebuild provides '<u>smileys</u>' and '<u>plugins</u>' use-flags with self-explaining names.<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; Only difference is in devel version ebuild - it collects template-depended files from plugins and creates tarballs to unpack in future installed designs. In default designs they installed automatically. Resulting tarballs contains under docs, in '<i>plugins</i>' subdirectory.<br />
<br />
<b>Dependencies:</b><br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; httpd + php. PHP flags unknown, so only <u>pcre</u>, <u>mysql</u>, <u>session</u> currently checked. In no <u>gd</u> support compiled-in, warning about CAPTCHA displayed (in theory - not tested).<br />
<br />
<b>Misc:</b><br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; post-install (for webapp-config) text provided in English and in Russian. If you want to see it in your language - send me a translation, <b>but</b> while '<i>postinst-en.txt</i>' file name hardcoded inside webapp-config binary, it will never appear (as Russian - it made in hope, that future (or, maybe, past) versions of webapp-config will support/had support of this feature).<br />
<br />
<b>eix output:</b><br />
<tt>* www-apps/unb [1]<br />
&nbsp;&nbsp; &nbsp; Available versions:&nbsp; <br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; (1.6.4) 1.6.4<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; (20080305)&nbsp; &nbsp; &nbsp; (~)20080305<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; {linguas_cs linguas_no linguas_ru linguas_tr linguas_zh_CN plugins smileys vhosts}<br />
&nbsp;&nbsp; &nbsp; Installed versions:&nbsp; Version: 1.6.4(1.6.4)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Date:&nbsp; &nbsp; 02:10:45 14.03.2008<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; USE:&nbsp; &nbsp;&nbsp; linguas_ru plugins smileys vhosts -linguas_cs -linguas_no -linguas_tr -linguas_zh_CN<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Version: 20080305(20080305)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Date:&nbsp; &nbsp; 02:09:10 14.03.2008<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; USE:&nbsp; &nbsp;&nbsp; linguas_ru plugins smileys vhosts<br />
&nbsp;&nbsp; &nbsp; Best versions/slot:&nbsp; 1.6.4 (~)20080305<br />
&nbsp;&nbsp; &nbsp; Homepage:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; http://newsboard.unclassified.de<br />
&nbsp;&nbsp; &nbsp; Description:&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Unclassified NewsBoard (UNB) is lightweight, but powerfull open-source bulletin board package.<br />
&nbsp;&nbsp; &nbsp; License:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; GPL-3<br />
</tt>
<br />
You can download both ebuilds in attached tarball, on grab from subversion <a href="https://89.163.78.124/portage/www-apps/unb/" title="https://89.163.78.124/portage/www-apps/unb/">https://89.163.78.124/portage/www-apps/unb/</a><br />
<br />
P.S. All messages in ebuilds written on very bad English (like that message =)), so it will be very good, if someone will check them and correct everything wrong.<br />
P.S.S Great thanks to Yves for providing all needed information.
]]></description>
            <author> no_email@example.com (Night Nord)</author>
            <pubDate>Thu, 13 Mar 2008 23:20:48 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1609</guid>
        </item>
        <item>
            <title>SmilieOverview</title>
            <link>http://newsboard.unclassified.de/forum/thread/1393</link>
            <description><![CDATA[
Very little plugin that creates an overview of all hidden smilies (every smilie is only listed once).<br />
This page will be opened in a Pop-Up by clicking on a link next to the smilies at the posteditor-page.<br />
Clicking on a smilie behaves the same way as in the normal smilie-list.<br />
<br />
install notes:<br />
for using short URL's you have to add this rewrite-rule to the .htacces (in the forums root)<br />
<tt>RewriteRule ^smilie(;(.*))?$ forum.php?req=smilie&amp;rewrite=$2 [L,QSA]</tt>

]]></description>
            <author> no_email@example.com (Rumbelstilzchen)</author>
            <pubDate>Fri, 02 Mar 2007 17:11:08 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1393</guid>
        </item>
        <item>
            <title>Pinwand Plugin</title>
            <link>http://newsboard.unclassified.de/forum/thread/1369</link>
            <description><![CDATA[
OK - here is my release of the Pinwand-Plugin.<br />
Honestly I have to say it is a modification of the pinomat form <a href="http://www.je0.de" title="www.je0.de">www.je0.de</a><br />
<br />
As I cant exactly describe what it is for - have a look at <a href="http://spiritus-erlangen.de/forum/box" title="http://spiritus-erlangen.de/forum/box">http://spiritus-erlangen.de/forum/box</a><br />
<br />
Features:<br />
<ul><li>all pins can be moved with 'drag &amp; drop'</li></ul>
<ul><li>some smilies are supported</li></ul>
<ul><li>the last three pins are in a different colour</li></ul>
<ul><li>many browsers are supported (IE6, IE7, Firefox 1.5 &amp; 2.0, Opera)</li></ul>
<ul><li>sort the pins by the last two days</li></ul>
<ul><li>name of logged in users will be used</li></ul>
<ul><li>some low spam-bot protections</li></ul>
<ul><li>Pins can be deleted by Admins and Mods</li></ul>
<ul><li>easy to install and configure</li></ul>

]]></description>
            <author> no_email@example.com (Rumbelstilzchen)</author>
            <pubDate>Sun, 11 Feb 2007 14:09:41 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1369</guid>
        </item>
        <item>
            <title>Mass-Mailer, Massenmail-Funktion</title>
            <link>http://newsboard.unclassified.de/forum/thread/1326</link>
            <description><![CDATA[
With this plugin it is possible for admins to send a message to the groups they have selected. If some members are in more than one group they only will get it once.<br />
<br />
<s>ToDo:<br />
Some Error-Handling (Message could be sent without recipients or message)</s><br />
<br />
This plugin is tested - but there still could be some errors.<br />
<br />
EDIT: second version 20070117 includes error-Handling<br />
EDIT: version20070304 wrong character-encoding is fixed
]]></description>
            <author> no_email@example.com (Rumbelstilzchen)</author>
            <pubDate>Tue, 16 Jan 2007 11:32:26 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1326</guid>
        </item>
        <item>
            <title>abbc table support</title>
            <link>http://newsboard.unclassified.de/forum/thread/1305</link>
            <description><![CDATA[
file: abbctable.lib.php<br />
<tt>&lt;?php<br />
/* licence: gplv2 */<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; function myabbctablecode($code, $table_width = '*') {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if (!preg_match('/^\d+(%|px)?$/', $table_width, $matches))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $table_width='*';<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $lines = explode("\n", $code);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $rowc = 0;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $table = array();<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $max_num_of_cols = 0;<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $flines = array();<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $keep = "";<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; foreach ($lines as $l) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if (trim($l) == "")<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; continue;<br />
/*&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ($l[-1] == '\\')<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $keep += $l . "\n";<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; else<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $keep = $l;*/<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $keep = $l;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $flines[] = $keep;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; foreach ($flines as $l) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $cols = explode("|", $l);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $row = array();<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $colc = 0;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; foreach ($cols as $c) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $c = trim($c);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $width = "*";<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $span = 1;<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if (preg_match('/^(.*?)(?:;(\d+))?(?:=(\d+(?:%|px)?))?$/', $c, $matches)) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; // Only allow width definitions on the first row<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if (count($table) == 0 &amp;&amp; $matches[3] != "") {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $width = $matches[3];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if (preg_match("/^\d+$/", $width))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $width .= "px";<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if ($matches[2] != "")<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $span = intval($matches[2]);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $c = $matches[1];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $colc += $span;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $row[] = array($width, $c, $span);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if (count($table) == 0)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $max_num_of_cols = $colc;<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $table[] = $row;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $rowc++;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $rowc = 0;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $r = '&lt;table style="border: 1px dashed black; width: '.$table_width.'; overflow: hidden;"&gt;';<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; foreach ($table as $row) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $rowc++;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $r .= '&lt;tr&gt;';<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; // Calculate the total row count of this row<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $total_col_this_row = 0;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; foreach ($row as $cell)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $total_col_this_row += $cell[2];<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $chomp = count($row)-1;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; while ($total_col_this_row != $max_num_of_cols) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; // We cant chop anymore!<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if ($chomp == 0 &amp;&amp; $row[$chomp][2] == 1) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; // Raise error to user<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; return "&lt;b&gt;Fehler in Tabelle: Zeile ".$rowc." hat zuwenig/zuviele Spalten&lt;/b&gt;: ".<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $max_num_of_cols." erwartet, ".$total_col_this_row." gefunden.";<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; // Chomp of spans from the back<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if ($row[$chomp][2] &gt; 1)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $row[$chomp][2] -= 1;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; else<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $chomp -= 1;<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; // Recalculate<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $total_col_this_row = 0;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; foreach ($row as $cell)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $total_col_this_row += $cell[2];<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; foreach ($row as $cell) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $width = $cell[0];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $content = $cell[1];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $span = $cell[2];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $vcol_this_row += $span;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $content = AbbcProc($content);<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; // Hack: Remove leading &lt;br /&gt;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $content = preg_replace('/\r|\n/i', '', $content, 1);<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $r .= '&lt;td colspan="'.$span.'" style="border: 1px dotted grey;text-align: center; width: '.$width.';"&gt;'.$content.'&lt;/td&gt;';<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $r .= '&lt;/tr&gt;';<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $r .= '&lt;/table&gt;';<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; return $r;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; }<br />
<br />
</tt><br />

<br />
file: abbctable.php<br />
<br />
<tt>&lt;?php<br />
/* licence: gplv2 */<br />
<br />
if (!defined('UNB_RUNNING')) die('Not a UNB environment in ' . basename(__FILE__));<br />
<br />
// Define plug-in meta-data<br />
UnbPluginMeta('Add table support to ABBC code tags');<br />
UnbPluginMeta('Bernhard \'elven\' Stoeckner &lt;elven@swordcoast.net&gt;', 'author');<br />
<br />
if (!UnbPluginEnabled()) return;<br />
<br />
include_once(dirname(__FILE__) . '/abbctable.lib.php');<br />
<br />
<br />
function UnbHookAddTableABBC(&amp;$data) {<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $ABBC['Tags']['table'] = array(<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'htmlopen0'&nbsp; =&gt; "~''.",<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'htmlcont0'&nbsp; =&gt; "myabbctablecode('$1').",<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'htmlclose0' =&gt; "''",<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'textcont0'&nbsp; =&gt; '&nbsp; &nbsp; $1',<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'htmlopen1'&nbsp; =&gt; "~''.",<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'htmlcont1'&nbsp; =&gt; "myabbctablecode('$2', '$1').",<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'htmlclose1' =&gt; "''",<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'textcont1'&nbsp; =&gt; '&nbsp; &nbsp; $2',<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'htmlblock'&nbsp; =&gt; true,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'minparam'&nbsp;&nbsp; =&gt; 0,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'maxparam'&nbsp;&nbsp; =&gt; 1,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'openclose'&nbsp; =&gt; true,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'nocase'&nbsp; &nbsp;&nbsp; =&gt; true,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'nested'&nbsp; &nbsp;&nbsp; =&gt; true,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'proccont'&nbsp;&nbsp; =&gt; false,<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; 'subset'&nbsp; &nbsp;&nbsp; =&gt; ABBC_CUSTOM<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; ); <br />
}<br />
<br />
UnbRegisterHook('abbc.userconfig', 'UnbHookAddTableABBC');<br />
<br />
?&gt;<br />
</tt>
<br />
Syntax:<br />
<br />
[ table = width_in_sanitized_css_optional ]<br />
heading 1=width_col_1_optional | heading 2=width_2_opt | heading 3=width_3_opt<br />
<br />
cell 1 | cell 2 | cell 3<br />
[ / table ]<br />
<br />
All width definitions are in pixel (default) or %.<br />
<br />
You can colspan cells by <u>_prefixing_</u> ";n" to the width modifier:&nbsp; heading 1 text;2=80%<br />
<br />
Feedback is appreciated, of course.<br />
<br />
Edit: Example can be seen at <a href="http://forum.silbermarken.de/thread/185" title="http://forum.silbermarken.de/thread/185">http://forum.silbermarken.de/thread/185</a>
]]></description>
            <author> no_email@example.com (elven)</author>
            <pubDate>Wed, 20 Dec 2006 07:39:02 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1305</guid>
        </item>
        <item>
            <title>Show moderators below the forum tagline</title>
            <link>http://newsboard.unclassified.de/forum/thread/1299</link>
            <description><![CDATA[
<tt>&lt;?php<br />
if (!defined('UNB_RUNNING')) die('Not a UNB environment in ' . basename(__FILE__));<br />
<br />
// Define plug-in meta-data<br />
UnbPluginMeta('Show moderators below fora description texts');<br />
// UnbPluginMeta('de en', 'lang');<br />
<br />
if (!UnbPluginEnabled()) return;<br />
<br />
/* ForumId: in<br />
&nbsp;&nbsp; output: out<br />
&nbsp;*/<br />
function UnbShowModForumListPostDesc(&amp;$data) {<br />
//&nbsp; &nbsp; &nbsp; global $UNB_T;<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; // ForumId =&gt; Group that holds moderators-Id<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $assigns = array(<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 5 =&gt; 13, // Kalender<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 8 =&gt; 22, // Bugs<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 14 =&gt; 6, //FAQ<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 19 =&gt; array(array(1)), // Administratives: elven<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 18 =&gt; array(array(1)), // Anmeldung<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 25 =&gt; array(array(1)), // Anfrage<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 7 =&gt; 20, 17 =&gt; 20, 24 =&gt; 20, // Allgemeines<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 20 =&gt; 23, // Handwerk<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 2 =&gt; 21, 3 =&gt; 21, 4 =&gt; 21, 26 =&gt; 21,&nbsp; // Rollenspiel<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 15 =&gt; 17, 21 =&gt; 14, 22 =&gt; 15, 16 =&gt; 16, // Fraktionsfora<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 28 =&gt; array(array(1)), // Staff-Wiki<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; // 11 =&gt; 5, 13 =&gt; 5, 23 =&gt; 5, 29 =&gt; 5, // Staff-Fora<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0 =&gt; 0 // Placeholder<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; );<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $fid = $data['ForumId'];<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if (!$assigns[$fid])<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; return;<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $forum = $data['Forum']; //new IForum($fid);<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if ($forum-&gt;IsCategory())<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; return;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $mods = array();<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if(is_array($assigns[$fid])) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; foreach($assigns[$fid] as $list)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if (is_array($list))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $mods = array_merge($mods, $list);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; else<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $mods = array_merge($mods, UnbGetGroupMembers($list));<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; } else {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $mods = array_merge($mods, UnbGetGroupMembers($assigns[$fid]));<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; sort($mods);<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $out = '';<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $out .= '&lt;br /&gt;';<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; //$out .= '&lt;div style="border-top: 1px solid lightgrey; margin: 4px 0;"&gt;&lt;/div&gt;';<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $out .= '&lt;div style="margin-left: 10px; font-size:0.8em;line-height:120%"&gt;Ansprechpartner: ';<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $mymods = array();<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $names = UnbGetUserNames();<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; foreach($mods as $mod) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $mymods[] = UnbMakeUserLink($mod, $names[$mod]);<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if (count($mods) == 0)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $mymods[] = "&lt;i&gt;Niemand eingetragen&lt;/i&gt;";<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $out .= implode(", ", $mymods);<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $out .= '&lt;/div&gt;';<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $data['output'] .= $out;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; return 1;<br />
}<br />
<br />
UnbRegisterHook("forumlist.postdescription", "UnbShowModForumListPostDesc");<br />
?&gt;<br />
</tt>
<br />
As can be seen <a href="http://forum.silbermarken.de/" title="http://forum.silbermarken.de/">here</a>.<br />
<br />
Configuration is, as for now, without frills.<br />
<br />
Set $assigns to reflect your moderation groups, and use array-arrays to specify userIDs instead of group-IDs.<br />
There are no language files, but could be added with a minimum of fuss.<br />
Change the code to reflect your language. <img src="http://newsboard.unclassified.de/unb_lib/designs/_smile/unb/smile.png" title=":)" alt=":)" style="vertical-align:middle;width:15px;height:15px;" class="smilie" />
]]></description>
            <author> no_email@example.com (elven)</author>
            <pubDate>Sat, 09 Dec 2006 14:57:41 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1299</guid>
        </item>
        <item>
            <title>UNB authentication backend for Django</title>
            <link>http://newsboard.unclassified.de/forum/thread/1231</link>
            <description><![CDATA[
Not a plugin for UNB but for <a href="http://www.djangoproject.com" title="http://www.djangoproject.com">Django</a>, a python web framework. With this backend, Forum users can be authenticated at django driven sites, e.g CMS, galleries, etc. I hope those kinds of Plugins are allowed here.<br />
<br />
<tt>#!/usr/bin/env python<br />
# -*- coding: utf-8 -*-<br />
from django.contrib.auth.models import User, check_password<br />
from django.db import connection<br />
from random import choice<br />
from string import ascii_letters<br />
from md5 import md5<br />
<br />
def make_unb_pw(klartextkennwort, salt=None):<br />
&nbsp;&nbsp;&nbsp; '''erstellt aus dem angegebenen Klartextkennwort einen zum UNB passenden hash'''<br />
&nbsp;&nbsp;&nbsp; if not salt:<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; salt = choice(ascii_letters) + choice(ascii_letters)<br />
&nbsp;&nbsp;&nbsp; passwort_md5 = md5(klartextkennwort).hexdigest()<br />
&nbsp;&nbsp;&nbsp; pwhash = md5(salt+passwort_md5).hexdigest()<br />
&nbsp;&nbsp;&nbsp; return pwhash[0:16] + salt + pwhash[16:]<br />
<br />
def check_unb_pw(klartextkennwort, pwhash):<br />
&nbsp;&nbsp;&nbsp; '''überprüft ob sich aus dem Klartextkennwort der pwhash erzeugen lässt'''<br />
&nbsp;&nbsp;&nbsp; return make_unb_pw(klartextkennwort, pwhash[16:18]) == pwhash <br />
<br />
<br />
class UNBauthbackend:<br />
&nbsp;&nbsp;&nbsp; '''authentifiziert User gegen die Datenbank des Unclassified Newsboards<br />
&nbsp;&nbsp;&nbsp; http://newsboard.unclassified.de<br />
<br />
&nbsp;&nbsp;&nbsp; Übernommen werden nur die Usernamen und Mailadressen. Registrierung<br />
&nbsp;&nbsp;&nbsp; und Änderungen im Profil werden nach wie vor über das Forum gemacht.<br />
&nbsp;&nbsp;&nbsp; Das Passwort wird nach wie vor aus der Forendatenbank geholt'''<br />
&nbsp;&nbsp;&nbsp; def authenticate(self, username=None, password=None):<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; cursor = connection.cursor()<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; (passworthash, email) = cursor.execute('SELECT Password, EMail from unb1_Users where Name = %s', [username]).fetchone()<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if check_unb_pw(password, passworthash):<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; try:<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; user = User.objects.get(username=username)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; except User.DoesNotExist:<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; user = User(username=username, password='aus der unb-db', email=email)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; user.is_staff=False<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; user.is_superuser=False<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; user.save()<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; return user<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; else:<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; return None<br />
<br />
&nbsp;&nbsp;&nbsp; def get_user(self, user_id):<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; try:<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; return User.objects.get(pk=user_id)<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; except User.DoesNotExist:<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; return None</tt>

]]></description>
            <author> no_email@example.com (tiax)</author>
            <pubDate>Sun, 22 Oct 2006 08:48:01 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1231</guid>
        </item>
        <item>
            <title>Google Sitemaps</title>
            <link>http://newsboard.unclassified.de/forum/thread/1162</link>
            <description><![CDATA[
Hi!<br />
<br />
I've created a plugin, which generates sitemaps for Google (and possibly other search engines). Here the content of the README:<br />
<br />
<blockquote class="quote"><div class="quote_inner">== What are Google Sitemaps? ==<br />
<br />
Google Sitemaps are a way to tell Google about all your pages and when they<br />
will change. By that, Google can crawl your site more efficently.<br />
<br />
Read more here: <a href="https://www.google.com/webmasters/sitemaps/docs/en/about.html" title="https://www.google.com/webmasters/sitemaps/docs/en/about.html">https://www.google.com/webmasters/sitemaps/docs/en/about.h…</a><br />
<br />
== What does this package? ==<br />
<br />
This package creates an Google Sitemap for your UNB forum. This sitemap<br />
contains all public readable topics, forums and the front site. Other pages <br />
like user profiles, the register page or custom pages are not included in this <br />
sitemap. <br />
<br />
For now, no priorities are given to the distinct pages.<br />
<br />
== How do I install it? ==<br />
<br />
Just copy all gsitemap.* files to your /unb_lib/plugins/ folder. Then <br />
go to <a href="https://www.google.com/webmasters/sitemaps/" title="https://www.google.com/webmasters/sitemaps/">https://www.google.com/webmasters/sitemaps/</a> and follow the instructions.<br />
You need an Google or Gmail account to use Google Sitemaps, which you can <br />
register for free at that webpage.<br />
<br />
You'll find the URL to your sitemap in the "configuration" for this plugin,<br />
which is available here: Settings -&gt; Plug-ins -&gt; gsitemap Settings.<br />
<br />
Have fun,<br />
<br />
Johannes<br />
</div></blockquote><br />
I've attached my plugin, which I release under the terms of the GNU GPL 2.0 or newer. Comments are welcome (in English or German).<br />
<br />
Johannes
]]></description>
            <author> no_email@example.com (iGEL)</author>
            <pubDate>Fri, 04 Aug 2006 22:54:47 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1162</guid>
        </item>
        <item>
            <title>Layer-ads.de-Ad</title>
            <link>http://newsboard.unclassified.de/forum/thread/1140</link>
            <description><![CDATA[
<tt><span style="color:limegreen"><br />
Plug-in name:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Layer-Ad<br />
Plug-in version:&nbsp; &nbsp; &nbsp; &nbsp; 1.0 (2006-07-03)<br />
Plug-in description:&nbsp; &nbsp; Adds the layer-ads.de-Code to your UNB<br />
Author:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; TimoGoebel<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; mail @ [myusername].name [it's timogoebel btw]<br />
Download:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <a href="http://files.got2be.in/files/layerad-2006-04-03.tar.gz" title="http://files.got2be.in/files/layerad-2006-04-03.tar.gz">layerad-2006-07-03.tar.gz</a><br />
</span></tt><br />
<br />
If you want to (you don't have to, some people don't seem to like layer-ads) display layer-ads.de-Ads on your page, this plug-in gives you an easy way to do so. It comes with a german and english translation.<br />
I have been using it on my page for quite a while, and it didn't seem to cause problems.<br />
Enjoy.<br />
<br />
If you don't have a layer-ads.de-Account, you can get one <a href="http://layer-ads.de/refer.php?12090" title="http://layer-ads.de/refer.php?12090">here</a>.<br />
<br />
<span style="font-size:1.5em; line-height:120%"><b>Screenshots:</b></span><br />
No Screenshots.<br />
<br />
<span style="font-size:1.5em; line-height:120%"><b>Installation instructions:</b></span><br />
<br />
<b>Unzip and copy all files to your UNB plug-in folder (unb_lib/plugins/)!</b><br />
<br />
<span style="font-size:1.5em; line-height:120%"><b>Version history:</b></span><br />
<ul><li>1.0 (2006-07-03)</li></ul>
<ul><ul><li>Intial Version</li></ul></ul>

]]></description>
            <author> no_email@example.com (TimoGoebel)</author>
            <pubDate>Mon, 03 Jul 2006 17:19:56 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1140</guid>
        </item>
        <item>
            <title>Avatar URL admin plugin</title>
            <link>http://newsboard.unclassified.de/forum/thread/1137</link>
            <description><![CDATA[
If you have a centrally managed gallery of people with a naming convention this plugin helps to find people without Avatar and assign them one from the gallery.<br />
<br />
The pugin uses the front part of the email as filename base. Location URL and picture extension can be set in the settings.<br />
<br />
firstname.lastname@example.com =&gt; firstname.lastname.jpg<br />
<br />
<a href="https://intranet/gallery/people/" title="https://intranet/gallery/people/">https://intranet/gallery/people/</a>&lt;emailpart&gt;.jpg<br />
<br />
Other conventions can be adapted by modifying the plugin code (to use the full email for example).<br />
<br />
Code follows in the reply ...<br />
<br />
Thomas.
]]></description>
            <author> no_email@example.com (katzlbt)</author>
            <pubDate>Sun, 02 Jul 2006 15:17:02 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1137</guid>
        </item>
        <item>
            <title>ABBC for WoW Itemstats</title>
            <link>http://newsboard.unclassified.de/forum/thread/1077</link>
            <description><![CDATA[
<tt><span style="color:blue"><br />
Plug-in name:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Itemstats<br />
Plug-in version:&nbsp; &nbsp; &nbsp; &nbsp; 0.1 (16.05.2006)<br />
Plug-in description:&nbsp; &nbsp; Adds a abbc code that generates info popups<br />
Author:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Martin Gelder<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; darkspotinthecorner at gmail dot com<br />
Compatiblity:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; unb.stable.1.6.1.patch.1 (20060219)<br />
Download:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; attachement<br />
</span></tt><br />
<br /><div style="border-top:1px solid #000000; margin:8px 0;"></div>
<br />
This is a conversion of the original ItemStats v1.3.0 over to UNB.<br />
A rewrote a bit of the original code and a lot more html.<br />
<br />
This plugin adds a custom abbcode that generates a html-tooltip with information fetched from an remote database.<br />
<br />
The general features are:<br />
<ul><li>Item stats download from Allakhazam, including item set bonuses.</li></ul>
<ul><li>Databased cached items to speed up the reload time of items, and makes data easily accessible from multiple sources.</li></ul>
<ul><li>Support for local or remote icon cache for items.</li></ul>
<ul><li>Quick and easy to follow instructions on how to install the plugin for UNB.</li></ul>
<ul><li>Easily change the look of your item display with the included stylesheet.</li></ul>
<ul><li>Fairly clean, commented and modular code if you feel like making any changes, or are just curious on how things work.</li></ul>
<br />
The usage in UNB:<br />
<ul><li>New <tt>[item][/item]</tt> abbc which creates item colored links to Allakhazam with mouseover tooltip.</li></ul>
<br />
Comments and feedback are most welcome... <img src="http://newsboard.unclassified.de/unb_lib/designs/_smile/unb/wink.png" title=";-)" alt=";-)" style="vertical-align:middle;width:15px;height:15px;" class="smilie" /><br />
<br /><div style="border-top:1px solid #000000; margin:8px 0;"></div>
<br />
<span style="font-size:1.2em; line-height:120%"><b>Screenshot:</b></span><br />
<br />
<img src="http://img.photobucket.com/albums/v212/DSitC351979/showcase/unb_itemstat_demo_1.png" title="http://img.photobucket.com/albums/v212/DSitC351979/showcase/unb_itemstat_demo_1.png" alt="[Image: http://img.photobucket.com/albums/v212/DSitC351979/showcase/unb_itemstat_demo_1.png]" /><br />
<br /><div style="border-top:1px solid #000000; margin:8px 0;"></div>
<br />
<span style="font-size:1.2em; line-height:120%"><b>Installation instructions:</b></span><br />
<br />
<b>1. Unzip and copy files to your UNB folder:</b><br />
<br />
<ul><li><tt>abbc_itemstats.de.php</tt> to <tt>[UNB root]/unb_lib/plugins/</tt></li></ul>
<ul><li><tt>abbc_itemstats.en.php</tt> to <tt>[UNB root]/unb_lib/plugins/</tt></li></ul>
<ul><li><tt>abbc_itemstats.php</tt> to <tt>[UNB root]/unb_lib/plugins/</tt></li></ul>
<ul><li><tt>itemstats [DIR]</tt> to <tt>[UNB root]/unb_lib/plugins/</tt></li></ul>
<ul><li><tt>css [DIR]</tt> to <tt>[UNB root]/unb_lib/designs/[Your Design]/</tt></li></ul>
<ul><li><tt>img [DIR]</tt> to <tt>[UNB root]/unb_lib/designs/[Your Design]/</tt></li></ul>
<br />
<b>2. Configuration</b><br />
<br />
This plugin uses a database table to cache the data fetched from the remote database. On first use of the new abbcode the plugin will use the IDatabase class object to create this table.<br />
If you don't like the default table name, you can change it prior to installing the plugin. To do so, open the file <tt>itemstats/config.php</tt> and change the definition of the constant <tt>item_cache_table</tt>.<br />
<br />
<b>Note:</b> You don't need to prepend the DB-Prefix since the IDatabase object handles this for you.<br />
<br /><div style="border-top:1px solid #000000; margin:8px 0;"></div>
<br />
<span style="font-size:1.2em; line-height:120%"><b>Upcoming stuff</b></span><br />
<br />
<ul><li>Testing and debugging</li></ul>
<ul><li>Beautification and improvement of the generated (X)HTML</li></ul>
<ul><li>You tell me... <img src="http://newsboard.unclassified.de/unb_lib/designs/_smile/unb/wink.png" title=";-)" alt=";-)" style="vertical-align:middle;width:15px;height:15px;" class="smilie" /></li></ul>
<br /><div style="border-top:1px solid #000000; margin:8px 0;"></div>
<br />
<span style="font-size:1.2em; line-height:120%"><b>Version history:</b></span><br />
<br />
<ul><li>0.1 (16.05.2006)</li></ul>
<ul><ul><li>Intial Version</li></ul></ul>

]]></description>
            <author> no_email@example.com (Dark Spot in the Corner)</author>
            <pubDate>Tue, 16 May 2006 13:29:02 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1077</guid>
        </item>
        <item>
            <title>PDF Plugin</title>
            <link>http://newsboard.unclassified.de/forum/thread/1005</link>
            <description><![CDATA[
<tt><span style="color:limegreen"><br />
Plug-in name:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; PDF<br />
Plug-in version:&nbsp; &nbsp; &nbsp; &nbsp; 1.2 (24.10.2006)<br />
Plug-in description:&nbsp; &nbsp; Adds pdf support to the board environment<br />
Author:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Florian Fiedler<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; flofi_is at web.de<br />
Compatiblity:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; unb.stable.1.6.x<br />
Tested:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; unb.stable.1.6.1 / unb.stable.1.6.2 / unb.stable.1.6.3<br />
Download:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <a href="ftp://ftp.tkozone.de/pdf_plugin_20061024.zip" title="ftp://ftp.tkozone.de/pdf_plugin_20061024.zip">pdf_plugin_20061024.zip</a><br />
</span></tt><br />
<br />
<br />
This plug-in gives you the possibility to create PDF files out of a thread. I like doing this, because the printing of pdf is much easier to handle as the printing of html.<br />
<br />
I changed the creation of PDF files to use utf8_decode and AbbcProc (to plaintext) for to show special chars like ä ö ü right. But maybe some chars won't be displayd right because as I read in the source code reference the AbbcProc to plaintext could be broken. Yves will fix this if he is going to use this function.<br />
<br />
Feel free to give comments and make modifications ...<br />
&nbsp;<br />
<span style="font-size:1.5em; line-height:120%"><b>Screenshots:</b></span><br />
No Screenshots.<br />
<br />
<span style="font-size:1.5em; line-height:120%"><b>Installation instructions:</b></span><br />
<br />
<b>1. Unzip and copy files to your UNB folder as following:</b><br />
<ul><li>pdf.en.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>pdf.de.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>pdf.lib.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>pdf.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>/pdffonts -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>pdf_icon.png -&gt; [UNB root]/unb_lib/designs/modern/img</li></ul>
<br />
<b>2. Configure the plugin:</b><br />
<ul><li>Login with administrator priviledges and go to <i>Settings -&gt; Plug-ins.</i></li></ul>
<ul><li>Click on Settings for the plug-in named pdf.</li></ul>
<ul><li>You could define here a Logo-Image which would be shown on top of the first pdf page.</li></ul>
<ul><li>ATTETNTION: No alpha images are allowed here.</li></ul>
<ul><li>You must define one of the given font types.</li></ul>
<br />
<span style="font-size:1.5em; line-height:120%"><b>Features planned in next releases,</b></span> the most important are first in list<br />
<ul><li>Maybe some cosmetic changes</li></ul>
<ul><li>More sugestions?</li></ul>
<br />
<span style="font-size:1.5em; line-height:120%"><b>Version history:</b></span><br />
<ul><li>1.0 (17.03.2006)</li></ul>
<ul><ul><li>Intial Version</li></ul></ul>
<ul><li>1.1 (14.05.2006)</li></ul>
<ul><ul><li>Now make use of utf8_decode &amp; AbbcProc for to show special chars right.</li></ul></ul>
<ul><ul><li>If no font is selected Arial is used.</li></ul></ul>
<ul><li>1.2 (24.10.2006)</li></ul>
<ul><ul><li>Fix broken PDF Link in Threads</li></ul></ul>
<ul><ul><li>Add utf8_decode for subject</li></ul></ul>
<ul><ul><li>A bit cosmetic</li></ul></ul>

]]></description>
            <author> no_email@example.com (tkoneo)</author>
            <pubDate>Fri, 17 Mar 2006 02:33:33 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1005</guid>
        </item>
        <item>
            <title>Calendar PlugIn</title>
            <link>http://newsboard.unclassified.de/forum/thread/987</link>
            <description><![CDATA[
<tt><span style="color:limegreen"><br />
Plug-in name:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Calendar<br />
Plug-in version:&nbsp; &nbsp; &nbsp; &nbsp; 2.0 (13.05.2006)<br />
Plug-in description:&nbsp; &nbsp; Adds an calendar to the board environment<br />
Author:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Florian Fiedler<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; flofi_is at web.de<br />
Compatiblity:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; unb.stable.1.6.1<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; unb.dev.20060402<br />
Download:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <a href="ftp://ftp.tkozone.de/calendar_plugin_20060513.zip" title="ftp://ftp.tkozone.de/calendar_plugin_20060513.zip">calendar_plugin_20060513.zip</a><br />
</span></tt><br />
<br />
This plug-in gives you a possibility to add a calendar to your board environment. The plug-in is designed to use posts for calendar entrys. Every post started in the calendar will be stored to a admin-defined forum.<br />
<br />
In addition to the calendar plug-in I wrote a customaction so that you can define who is allowed to post to the calendar throu ACL's.<br />
I added birthdays to the calender. Now if a user has entered it's birthday in his profil, the birthday will be shown with an icon and a link to the User's profile in the calendar.<br />
<br />
<span style="color:orange"><b>New:</b></span> I added the possibility to let the calendar plugin create announcements of the upcomming events. These announcements will be added &amp; deleted automatically. I liked this becaus you offen fogett somthing that is stored anywhere in the calendar.<br />
<br />
<span style="color:orange"><b>New:</b></span> In addition to this I wrote a completly new calendar announcement section (You could see on the Screenshot). Where the post of the event of the actuall day is shown complete and for the next 3 days only the topics with date. ( I wrote that, because I get bored of the announcements, but I decided to let the announcement-creation in the source so that you can decide what you want to have on your Board). Both of these (announcement-creation &amp; new announcement section) are confiurable in the config of the PlugIn. By default both are "off".<br />
<br />
<span style="color:orange"><b>New:</b></span> I added an calendar symbol in the thread view. So that you can easily see which threads are published in the calendar.<br />
<br />
Feel free to give comments and make modifications ...<br />
&nbsp;<br />
<span style="font-size:1.5em; line-height:120%"><b>Screenshots:</b></span><br />
<a href="ftp://ftp.tkozone.de/calendar_shot.jpg" title="ftp://ftp.tkozone.de/calendar_shot.jpg"><img src="ftp://ftp.tkozone.de/calendar_shot_small.jpg" title="ftp://ftp.tkozone.de/calendar_shot_small.jpg" alt="[Image: ftp://ftp.tkozone.de/calendar_shot_small.jpg]" /></a><br />
<a href="ftp://ftp.tkozone.de/calendar_new_entry_shot.jpg" title="ftp://ftp.tkozone.de/calendar_new_entry_shot.jpg"><img src="ftp://ftp.tkozone.de/calendar_new_entry_shot_small.jpg" title="ftp://ftp.tkozone.de/calendar_new_entry_shot_small.jpg" alt="[Image: ftp://ftp.tkozone.de/calendar_new_entry_shot_small.jpg]" /></a><br />
<a href="ftp://ftp.tkozone.de/calendar_conf_shot.jpg" title="ftp://ftp.tkozone.de/calendar_conf_shot.jpg"><img src="ftp://ftp.tkozone.de/calendar_conf_shot_small.jpg" title="ftp://ftp.tkozone.de/calendar_conf_shot_small.jpg" alt="[Image: ftp://ftp.tkozone.de/calendar_conf_shot_small.jpg]" /></a><br />
<a href="ftp://ftp.tkozone.de/calendar_announcement_shot.jpg" title="ftp://ftp.tkozone.de/calendar_announcement_shot.jpg"><img src="ftp://ftp.tkozone.de/calendar_announcement_shot_small.jpg" title="ftp://ftp.tkozone.de/calendar_announcement_shot_small.jpg" alt="[Image: ftp://ftp.tkozone.de/calendar_announcement_shot_small.jpg]" /></a><br />
<a href="ftp://ftp.tkozone.de/calendar_symbol_shot.jpg" title="ftp://ftp.tkozone.de/calendar_symbol_shot.jpg"><img src="ftp://ftp.tkozone.de/calendar_symbol_shot_small.jpg" title="ftp://ftp.tkozone.de/calendar_symbol_shot_small.jpg" alt="[Image: ftp://ftp.tkozone.de/calendar_symbol_shot_small.jpg]" /></a><br />
<br />
<span style="font-size:1.5em; line-height:120%"><b>Installation instructions:</b></span><br />
<br />
<b>1. Unzip and copy files to your UNB folder as following:</b><br />
<ul><li>calendar.en.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>calendar.de.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>calendar.inc.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>calendar.lib.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>calendar.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>calendar.html -&gt; [UNB root]/unb_lib/designs/modern/tpl/</li></ul>
<ul><li>calendar_next.png -&gt; [UNB root]/unb_lib/designs/modern/img/</li></ul>
<ul><li>calendar_previous.png -&gt; [UNB root]/unb_lib/designs/modern/img/</li></ul>
<ul><li>nav_calendar.png -&gt; [UNB root]/unb_lib/designs/modern/img/</li></ul>
<ul><li>calendar_link.png -&gt; [UNB root]/unb_lib/designs/modern/img/</li></ul>
<br />
<b>2. Now to the hard part, patch the board files:</b><br />
This is only needed, until Yves would implement my Hook's in his source.<br />
I finished changing everything on my sourcecode to just call Hooks and make nomore changes in the original source code files. This is very important, because everytime a new verion of the board is coming out you have had to repatch the original files. If Yves implements my Hooks in his source there will be no patching anymore. I hope this happens in 1.6.2.<br />
<br />
<ul><li>First of all you should make a backup of your original <i>post.inc.php</i> &amp; <i>main.inc.php</i> placed under [UNB root]/unb_lib</li></ul>
<ul><li>And in the new version, also make a backup of <i>forumlist.html</i> in [UNB root]/unb_lib/designs/modern/tpl/ (this is nessessary for the new calendar announcement section)</li></ul>
<ul><li>Copy <i>post.inc.php.diff</i> &amp; <i>main.inc.php.diff</i> to [UNB root]/unb_lib &amp; <i>forumlist.html.diff</i> to [UNB root]/unb_lib/designs/modern/tpl/</li></ul>
<ul><li>Now patch the files by typing:</li></ul>
<ul><li>cat ./post.inc.php.diff | patch</li></ul>
<ul><li>cat ./main.inc.php.diff | patch</li></ul>
<ul><li>cat ./designs/modern/tpl/forumlist.html.diff | patch</li></ul>
<ul><li>I hope you'll get no rejects (If so, please let me know)</li></ul>
<br />
<b>3. Well, you've done the hard work by now. At this place configure the plugin.</b><br />
<ul><li>Create your forum that will be used as calendar (store). </li></ul>
<ul><li>Write the forum id down.&nbsp; </li></ul>
<ul><li>Login with administrator priviledges and go to <i>Settings -&gt; Plug-ins.</i></li></ul>
<ul><li>Click on Settings for the plug-in named calendar.</li></ul>
<ul><li>Write in the forum id.</li></ul>
<ul><li>At this place you could also install the calendar table, just click "install calendar table automatic"</li></ul>
<ul><li>If the table was installed successfully the checkbox will disapear and another "calendar is installed" will be at this place</li></ul>
<ul><li>You could also delete the calendar table throu the configuration. (Attention: All data of the calender table will be lost)</li></ul>
<ul><li><span style="color:orange"><b>New:</b></span> You could chose if birthdays should be shown in calender</li></ul>
<ul><li><span style="color:orange"><b>New:</b></span> You could chose if you want the calender plugin to create announcements of the upcomming events.</li></ul>
<ul><li><span style="color:orange"><b>New:</b></span> You could chose if you want the new calendar announcement section should be shown on the mainpage.</li></ul>
<br />
<b>5. (Optional) Use htaccess to get nice URLs</b><br />
Add these rows at your htaccess file as last RewriteRule row:<br />
<tt><span style="color:black"># Add custom short URLs here:<br />
RewriteRule ^calendar(<img src="http://newsboard.unclassified.de/unb_lib/designs/_smile/unb/cry.png" title=";(" alt=";(" style="vertical-align:middle;width:15px;height:15px;" class="smilie" />.*))?$ forum.php?req=calendar&amp;rewrite=$2 [L,QSA]<br />
</span></tt><br />
<span style="font-size:1.5em; line-height:120%"><b>Features planned in next releases,</b></span> the most important are first in list<br />
<ul><li>Nothing planned at the moment.</li></ul>
<ul><li>More sugestions?</li></ul>
<br />
<span style="font-size:1.5em; line-height:120%"><b>Version history:</b></span><br />
<ul><li>0.9 (07.03.2006)</li></ul>
<ul><ul><li>Intial Version</li></ul></ul>
<ul><li>1.0 (09.03.2006)</li></ul>
<ul><ul><li>Add table installation throu configuration</li></ul></ul>
<ul><ul><li>Minor bugfixes</li></ul></ul>
<ul><li>1.1 (19.03.2006)</li></ul>
<ul><ul><li>Fixed table creation</li></ul></ul>
<ul><ul><li>Checkbox "calendar table is installed" disabled (much pretier)</li></ul></ul>
<ul><li>1.2 (21.03.2006)</li></ul>
<ul><ul><li>Added birthday's to calenders</li></ul></ul>
<ul><ul><li>Minor bugfixes</li></ul></ul>
<ul><ul><li>post.inc.diff now only contains a hook that I need (Maybe Yves would implement it)</li></ul></ul>
<ul><li>2.0 (13.05.2006)</li></ul>
<ul><ul><li>Really complet rewrite of the source</li></ul></ul>
<ul><ul><li>Fixed the change-date problem</li></ul></ul>
<ul><ul><li>calendar entrys could now be deleted <img src="http://newsboard.unclassified.de/unb_lib/designs/_smile/unb/smile.png" title=":-)" alt=":-)" style="vertical-align:middle;width:15px;height:15px;" class="smilie" /></li></ul></ul>
<ul><ul><li>Add possibility of announcement creation</li></ul></ul>
<ul><ul><li>Add new calendar announcement section on main page</li></ul></ul>
<ul><ul><li>Add calendar symbol for threads which are published in the calendar</li></ul></ul>
<ul><ul><li>Add devel branche support</li></ul></ul>
<ul><ul><li>A lot of minor and major bugfixes</li></ul></ul>

]]></description>
            <author> no_email@example.com (tkoneo)</author>
            <pubDate>Tue, 07 Mar 2006 01:49:47 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/987</guid>
        </item>
        <item>
            <title>Additional scripts</title>
            <link>http://newsboard.unclassified.de/forum/thread/960</link>
            <description><![CDATA[
This is a Plugin to add Javascripts to the head. This comes handy if you want to add <a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html" title="http://www1.chapman.edu/~jipsen/mathml/asciimath.html">ASCIIMathML</a> or my iframe-script (somewhere in the forum) or whatever script you like.<br />
<br />
2006-02-17: This is more or less the initial Version.<br />
2006-02-17: Forgot to delete some debug-stuff.
]]></description>
            <author> no_email@example.com (Morty)</author>
            <pubDate>Fri, 17 Feb 2006 19:17:37 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/960</guid>
        </item>
        <item>
            <title>Info Page</title>
            <link>http://newsboard.unclassified.de/forum/thread/921</link>
            <description><![CDATA[
<span style="color:red"><b>Version upgrading in progress ... please wait until the correct files are in place. Mean time check out <a href="http://www.slotteconsulting.com/files/unb/info/" title="http://www.slotteconsulting.com/files/unb/info/">http://www.slotteconsulting.com/files/unb/info/</a></b></span><br />
<br />
<tt><br />
Plug-in name:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Info Page<br />
Plug-in version:&nbsp; &nbsp; &nbsp; &nbsp; 1.2 (25.6.2006) <br />
Plug-in description:&nbsp; &nbsp; Adds an info page to UNB. <br />
Author:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Kim Slotte, Slotte Consulting<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; kim at slotteconsulting.com<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <a href="http://www.slotteconsulting.com/" title="http://www.slotteconsulting.com/">www.slotteconsulting.com</a><br />
Compatiblity:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; unb.stable.1.6 or later<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; unb.devel.20051221 or later<br />
Download:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <a href="http://www.slotteconsulting.com/files/unb/info/info_20060625.zip" title="http://www.slotteconsulting.com/files/unb/info/info_20060625.zip">info_20060625.zip</a><br />
Credits to:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <a href="http://www.famfamfam.com/" title="http://www.famfamfam.com/">famfamfam.com</a> for the icon used <br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Rumbelstilzchen and H. Humpel for german translation<br />
Licence:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Please include a link back to this page in your credits if you<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; distribute this plug-in as such or as a derivative work.<br />
</tt><br />
This plug-in gives you a possibility to add a separate navigation tab with information about your board. For example information like rules, help files and other useful instructions. The info pages actually consist of posts which you as an administrator have to configure in the board settings. You can configure the order and category in which posts are shown. <br />
<br />
Access rights aren't checked when a post is shown on the info pages.That makes it possible to create and plan your pages in a hidden forum. Hidden in that aspect that ordinary users does not see the threads. You can hide forums and threads in the <a href="http://newsboard.unclassified.de/docs/access" title="http://newsboard.unclassified.de/docs/access">ACL</a>. Administrators and moderators can use info page threads to discuss and plan the content. Only the first post in a thread used is shown as an info page. Additionally you can hide the info page from guests<br />
<br />
Feel free to give comments and make modifications ...<br />
&nbsp;&nbsp;&nbsp; <br />
<span style="font-size:1.4em; line-height:120%"><b>Screenshot, version 1.2</b></span><br />
<a href="http://www.slotteconsulting.com/files/unb/info/info_shot_large.jpg" title="http://www.slotteconsulting.com/files/unb/info/info_shot_large.jpg"><img src="http://www.slotteconsulting.com/files/unb/info/info_shot_small.jpg" title="http://www.slotteconsulting.com/files/unb/info/info_shot_small.jpg" alt="[Image: http://www.slotteconsulting.com/files/unb/info/info_shot_small.jpg]" /></a><br />
<br />
<span style="font-size:1.2em; line-height:120%"><b>Installation instructions</b></span><br />
<br />
<b>1. Unzip and copy files to your UNB folder as following:</b><br />
<ul><li>info.en.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>info.de.php&nbsp; &nbsp; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>info.inc.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>info.php -&gt; [UNB root]/unb_lib/plugins/</li></ul>
<ul><li>info.html -&gt; [UNB root]/unb_lib/designs/modern/tpl</li></ul>
<ul><li>nav_info.png -&gt; [UNB root]/unb_lib/designs/modern/img</li></ul>
<br />
<b>2. Configure the plugin.</b><br />
<ul><li>Create your threads that will be used as info pages. </li></ul>
<ul><li>Write the threads ids down, you'll find them in the URL when you have opened a thread.&nbsp;&nbsp; </li></ul>
<ul><li>Login with administrator priviledges and go to <i>Settings</i> -&gt; <i>Plug-ins</i>.</li></ul>
<ul><li>Click on <i>Settings</i> for the plug-in named info.</li></ul>
<ul><li>Write in the thread and category order.</li></ul> 
<br />
<b>3. (Optional) Use htaccess to get nice URLs</b><br />
Add these rows at your htaccess file as last RewriteRule row:<br />
<tt># Add custom short URLs here:<br />
RewriteRule ^info(;(.*))?$ forum.php?req=info&amp;rewrite=$2 [L,QSA]<br />
</tt>
<br />
<span style="font-size:1.4em; line-height:120%"><b>Features planned in next releases</b></span><br />
<ul><li>Edit post through the info pages </li></ul>
<ul><ul><li>1) with easy link that jumps to editing the source post.</li></ul></ul>
<ul><ul><li>2) editing mode built inside the plug-in</li></ul></ul>
<ul><li>Implement "wiki history" tracking</li></ul>
<ul><ul><li><a href="http://newsboard.unclassified.de/forum/post/5508" title="http://newsboard.unclassified.de/forum/post/5508">Post with references</a> </li></ul></ul>
<ul><li>ACL implementation</li></ul>
<ul><li>Search functionality</li></ul>
<ul><ul><li>Integration with the board search?</li></ul></ul>
<ul><ul><ul><li>some type of type parameter (=info) is needed&nbsp; </li></ul></ul></ul>
<br />
<span style="font-size:1.2em; line-height:120%"><b>Version history</b></span><br />
<ul><li>1.0 RC (30.1.2006)</li></ul>
<ul><ul><li>Initial functional version</li></ul></ul>
<ul><li>1.0 (7.3.2006)</li></ul>
<ul><ul><li>Added icon to navigation link</li></ul></ul>
<ul><ul><li>Devel branch support</li></ul></ul>
<ul><li>1.2 (25.6.2006)</li></ul>
<ul><ul><li>German translation and guest control added to package</li></ul></ul>
<ul><ul><li>Tab header name can be changed in ACL</li></ul></ul>

]]></description>
            <author> no_email@example.com (Einstein)</author>
            <pubDate>Mon, 30 Jan 2006 14:13:11 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/921</guid>
        </item>
        <item>
            <title>About the plug-in gallery</title>
            <link>http://newsboard.unclassified.de/forum/thread/919</link>
            <description><![CDATA[
This is the plug-in gallery, a place to publish plug-ins and other code modifications in a package-like way. There are slightly different rules for this forum:<br />
<br />
<ul><li>One thread should be opened for each plug-in only.</li></ul>
<ul><li>Replies to that thread should strictly be about the plug-in itself, reporting problems or suggesting improvements.</li></ul>
<ul><li>Any more general talk about plug-ins should be directed in the <a href="http://newsboard.unclassified.de/forum/12" title="http://newsboard.unclassified.de/forum/12">parent forum</a>.</li></ul>
<ul><li>Guests are not allowed to start new threads here.</li></ul>
<ul><li>Members are allowed to edit their posts infinitely here. So please make sure you always <b>update the initial post</b> to show the latest version of the download, either by updating an external link or replacing the attached file and updating the version number and release date. A change log would be good, too. A new post should only notify about a new version so that it can be tracked by new posts.</li></ul>

]]></description>
            <author> no_email@example.com (Yves)</author>
            <pubDate>Mon, 30 Jan 2006 11:32:21 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/919</guid>
        </item>
    </channel>
</rss>
