<?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>Sat, 18 May 2013 14:02:34 GMT</lastBuildDate>
        <generator>FeedCreator 1.8.0-dev (info@mypapit.net)</generator>
        <item>
            <title>How can i add a flash video</title>
            <link>http://newsboard.unclassified.de/forum/thread/1847</link>
            <description><![CDATA[
I am a unclassified's user from china, I want add flash videos. for example from Youtube.<br />
<br />
but I don't know how could i show it......
]]></description>
            <author> no_email@example.com (okami2012)</author>
            <pubDate>Fri, 29 Mar 2013 05:02:47 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1847</guid>
        </item>
        <item>
            <title>Colors group</title>
            <link>http://newsboard.unclassified.de/forum/thread/1844</link>
            <description><![CDATA[
Hello Yves, Different colors for admins/moderators it´s possible?<br />
Admin : color red<br />
Moderators : Green <br />
Thanks you
]]></description>
            <author> no_email@example.com (flo2b)</author>
            <pubDate>Tue, 08 Jan 2013 13:54:50 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1844</guid>
        </item>
        <item>
            <title>Kleinere Fragen</title>
            <link>http://newsboard.unclassified.de/forum/thread/1836</link>
            <description><![CDATA[
Hallo erstmal <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" />,<br />
<br />
ich bin schon vor längerem auf diese Forumsoftware gestoßen aber habe mich damit leider nicht wirklich befasst. Jetzt konnte ich das endlich nachholen und...muss echt sagen: Hut ab! Habe mich mit soweit jedem Forum auseinandergesetzt&nbsp; was es so gibt, sei es WBB, PHPBB, VBuelltin, MYBB, Discuz oder ähnliche. Allerdings gab es bisher immer ein großes problem: Sie wirken zu überladen oder gefallen mir im Gesamtbild nicht. Tja, und da kommt das UNB daher und hat mich sofort überzeugt <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" /> . Keine unnötig lange installation, innerhalb von sekunden ist es einsatzbereit! Das Gesamtpaket stimmt einfach und hat wirklich features die man auch braucht. Ränge fand ich schon immer irgendwie unnötig, außer man ist irgendwie im Team. Dann sollte man sich natürlich schon vom Rest abheben. Daher ist es gut wie UNB das gelöst hat, und dennoch eine möglichkeit gibt seinen eigenen Benutzertitel einzugeben. Auch das Design sieht schön aus bedarf nur einiger kleiner anpassungen meinerseits, das ist wirklich selten. Toll das einem auch kein großes ACP mit tausenden einstellungen vorgesetzt wird, sondern nur das was wirklich nötig ist.<br />
<br />
<br />
Natürlich gibt es ein paar sachen wo ich doch nachfragen muss, da ich das UNB als meine Forensoftware einsetzen möche.<br />
<br />
1. Ist es irgendwie möglich den Foren auf der Hauptseite jeweils eigene Icons zu verpassen? Das heisst bei dem ersten Forum würde ein anderes Icon angezeigt als bei dem zweiten usw.<br />
<br />
2. In einem Beitrag ist oben ja diese Infoleiste welche man ausklappen kann. Da stehen so sachen wie <b>Benutzertitel </b>oder <b>Mitglied seit</b>. Ist es möglich diese dauerhaft ausgeklappt zu lassen? Ich finde persönlich das es so besser aussieht. Habe allerdings keine Einstellung dazu gefunden.<br />
<br />
3. Lassen sich die weissen Boxen auf der Teamseite nach unten hin vergrößern? Weil sofern man einen Avatar hat wird der Text aus der Box heraus gedrängt. Ist zumindest bei mir im Forum so, und ich hab da einen 50 x 50 Avatar als Test.<br />
<br />
Hoffe die Fragen können mir beantwortet werden. Nochmal vielen dank für das erstellen einer so wunderbaren und kompakten Forumsoftware! Werde natürlich auch weiterhin dran bleiben.
]]></description>
            <author> no_email@example.com (EnshroudingDarkness)</author>
            <pubDate>Tue, 20 Nov 2012 13:11:30 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1836</guid>
        </item>
        <item>
            <title>Massive Automated Spam</title>
            <link>http://newsboard.unclassified.de/forum/thread/1821</link>
            <description><![CDATA[
Hi,<br />
<br />
we've been hit by automated spam attacks twice in the recent days. A spammer registered and then posted hundreds of spam messages automated.<br />
<br />
I had to delete the posts from the database as there is no way to <b>remove all posts when deleting a user</b>. This would be a very welcome feature because I do have a few moderators with admin permissions on the board but nobody has access to the database. Maybe just a second button next to the "remove user" button saying "remove user and all his posts".<br />
<br />
The second option I'd like to see is some <b>rate limiting</b>. Looking at the logs, the spammer created one post about every second. Automatically blocking someone who posts in an unreasonable speed would help to keep the amount of spam posts&nbsp; down.<br />
<br />
Andi
]]></description>
            <author> no_email@example.com (splitbrain)</author>
            <pubDate>Sun, 04 Dec 2011 09:13:05 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1821</guid>
        </item>
        <item>
            <title>Captcha on searches?</title>
            <link>http://newsboard.unclassified.de/forum/thread/1783</link>
            <description><![CDATA[
Apparently I have 5,000+ visitors every day, even though actual human visitors are like 1% of that.&nbsp; Bots looping endlessly through the search pages are completely screwing with the stat count and raising bandwidth usage, etc etc.<br />
<br />
Is it possible to easily add a simple 'check here if you're human' checkbox to the search page, so bots are blocked?&nbsp; This sort of simple mechanism completely stopped spam on one of my other sites, so I imagine it'd work well here.
]]></description>
            <author> no_email@example.com (NFG)</author>
            <pubDate>Fri, 13 Aug 2010 07:47:20 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1783</guid>
        </item>
        <item>
            <title>Append thread title to URL?</title>
            <link>http://newsboard.unclassified.de/forum/thread/1782</link>
            <description><![CDATA[
A lot of blog/forum/CMS systems append the current thread title to the URL, and I wonder how hard it'd be to add this to UNB?&nbsp; I would imagine it'd be a throwaway parameter at the end of the URL, like so:<br />
<br />
<tt>http://somesite.com/forum/thread/604/This-is-the-thread-title</tt>
<br />
or<br />
<br />
<tt>http://somesite.com/forum.php?viewthread=604&amp;title=This-is-the-thread-title</tt>
<br />
This would make links to the site much more user-friendly, wouldn't it?<br />
<br />
Is it a fix-every-damned-thing kind of mod, or can it be done simply, perhaps with js?&nbsp; Honestly I have no idea, but it'd be awesome if it was easy.&nbsp; &lt;/useless&gt;
]]></description>
            <author> no_email@example.com (NFG)</author>
            <pubDate>Fri, 13 Aug 2010 07:44:48 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1782</guid>
        </item>
        <item>
            <title>Webkalender mit UNB verknüpfen</title>
            <link>http://newsboard.unclassified.de/forum/thread/1781</link>
            <description><![CDATA[
Hi,<br />
<br />
es gibt ja Scripte für Webkalender wie Sand am Meer. <br />
Meine Frage ist, ob es einen gibt der sich gut mit dem UNB verknüpfen lässt. Ich habe keine große Ahnung von PHP, Datenbanken etc. also sollten keine grundlegenden Änderungen gemacht werden müssen.<br />
<br />
Was ich mir so vorstelle:<br />
<br />
<ul><li>Zugriff auf die DB des Boards, damit man die Nutzerdaten übernehmen kann und sich die Boardnutzer nicht nochmal separat im Kalender registrieren müssen</li></ul>
<ul><li>Termine sollten über mehrere Tage gehen können</li></ul>
<ul><li>Bei Erstellung eines Kalendereintrags soll in einem festgelegten Forum ein Thread erstellt werden. (mit Link auf das Event im Kalender)</li></ul>
<ul><li>Evtl. noch Teilnehmerlisten (Zusage, Absage, Unsicher)</li></ul>
<ul><li>Ein Kalender mit ical-Export wäre toll</li></ul>
<br />
Gibt es da etwas, was ich mit wenigen Handgriffen für meine Bedürfnisse anpassen kann?<br />
Wär toll wenn jemand von euch einen Kalender kennt der mir weiterhilft.<br />
Hab heute schon ne Weile im Internet recherchiert aber in der Unmenge nix brauchbares gefunden.
]]></description>
            <author> no_email@example.com (Dogge)</author>
            <pubDate>Wed, 11 Aug 2010 14:33:09 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1781</guid>
        </item>
        <item>
            <title>Add &quot;Options +FollowSymlinks&quot; to .htaccess</title>
            <link>http://newsboard.unclassified.de/forum/thread/1773</link>
            <description><![CDATA[
Hi,<br />
<br />
I've set-up a test-server for my webpage on localhost, running on OpenSuSE 11.x<br />
<br />
After the need to follow a tutorial to enable mod_rewrite on OpenSuSE, I got it to work on another testpage. It still didn't work for UNB. /var/log/apache2/error_log tells me why:<br />
<tt>[Tue Jun 01 20:29:14 2010] [error] [client ::1] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /srv/www/htdocs/board/forum.php<br />
</tt>
<br />
Well, the only difference between the my working .htaccess for some other directory and the one from UNB was the following line (second one):<br />
<tt>&lt;IfModule mod_rewrite.c&gt;<br />
&nbsp;&nbsp;&nbsp; Options +FollowSymlinks<br />
</tt>
If you insert it, it will just work! I suggest adding it for the next release.<br />
<br />
If it has been left out by purpose, please explain me the reason?
]]></description>
            <author> no_email@example.com (Pompei2)</author>
            <pubDate>Tue, 01 Jun 2010 18:40:42 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1773</guid>
        </item>
        <item>
            <title>RSS feed for categories/forums</title>
            <link>http://newsboard.unclassified.de/forum/thread/1768</link>
            <description><![CDATA[
While you're mucking with this very desirable code, I'd really love to see an RSS feed option for container forums/categories.&nbsp; I have divided my forums into categories with related subforums, and these are different enough from other categories that there's not a lot of crossover interest for my users.<br />
<br />
I might also remind you of the addition I made for single-thread feeds:<br />
<br />
<a href="http://newsboard.unclassified.de/forum/thread/1703" title="http://newsboard.unclassified.de/forum/thread/1703">http://newsboard.unclassified.de/forum/thread/1703</a><br />
<br />
If you're updating code, I'd love to see this in the release version.&nbsp; =)
]]></description>
            <author> no_email@example.com (NFG)</author>
            <pubDate>Tue, 27 Apr 2010 03:22:58 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1768</guid>
        </item>
        <item>
            <title>Watch categories</title>
            <link>http://newsboard.unclassified.de/forum/thread/1766</link>
            <description><![CDATA[
Hi Yves,<br />
<br />
is it possible to extend the 'watch topics' function to categories (in a simple way, i.e. can I just add this to the options menu – in theory they are just forums, aren't they?)<br />
<br />
Cheers, jense
]]></description>
            <author> no_email@example.com (jense)</author>
            <pubDate>Fri, 23 Apr 2010 14:43:09 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1766</guid>
        </item>
        <item>
            <title>Hinweis beim Erstellen eines Thrads</title>
            <link>http://newsboard.unclassified.de/forum/thread/1754</link>
            <description><![CDATA[
Wäre es möglich eine Funktion zu implementieren mit der man Hinweise beim Erstellen eines Threads einblenden könnte?<br />
<br />
Ich denke dabei an folgendes:<br />
<br />
Wenn jemand in einem bestimmten Unterforum einen neuen Thread erstellt wird ein Hinweis (wie z.B. der beim Zitieren) eingeblendet.<br />
<br />
Ich möchte z.B. bei mir im Unterforum Terminkalender beim Erstellen eines neuen Threads einen Hinweis mit Link auf den Thread mit den Richtlinien zur Erstellung eines neuen Events verlinken, da diese häufig ignoriert werden.<br />
<br />
Vielleicht ist es ja auch möglich das durch einen kleinen Eingriff in den Code zu realisieren aber ich kenne mich mit PHP leider NULL aus. <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" />
]]></description>
            <author> no_email@example.com (Dogge)</author>
            <pubDate>Sat, 26 Dec 2009 16:53:45 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1754</guid>
        </item>
        <item>
            <title>Shoutbox fürs UNB Board?</title>
            <link>http://newsboard.unclassified.de/forum/thread/1732</link>
            <description><![CDATA[
Servus zusammen.<br />
<br />
vielleicht gibt es hier schon ein PlugIn dafür, dann hab ich den leider übersehen.<br />
Ich suche die Möglichkeit auf dem UNB Board eine Shoutbox zu implementieren.<br />
<br />
Gibt es schon ein Plugin dafür?<br />
<br />
thx 4 feedback<br />
<br />
mfg<br />
derdanjo
]]></description>
            <author> no_email@example.com (derdanjo)</author>
            <pubDate>Wed, 12 Aug 2009 14:36:33 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1732</guid>
        </item>
        <item>
            <title>Browser- und OS-Stats</title>
            <link>http://newsboard.unclassified.de/forum/thread/1731</link>
            <description><![CDATA[
Hallo Yves,<br />
<br />
da du ja eh die Browser und OS Strings auswertest (s. Logs) wäre es doch bestimmt möglich im Statistikbereich Browser und OS-Statistiken (z.B. als Tortendiagramm) anzuzeigen.<br />
<br />
Ist zwar nicht essentiell wichtig, aber mich würde es interessieren und ich denke dass es bestimmt mehreren Leuten so geht. <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 />
Gruß<br />
Martin
]]></description>
            <author> no_email@example.com (Dogge)</author>
            <pubDate>Sat, 08 Aug 2009 11:50:31 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1731</guid>
        </item>
        <item>
            <title>RSS for one thread - easy?</title>
            <link>http://newsboard.unclassified.de/forum/thread/1703</link>
            <description><![CDATA[
I've got some threads on my forujm that would be useful for people to subscribe to, without having their feeds cluttered up with other, less focused updates.&nbsp; For example, one thread is used for software updates, another for a particularly popular thread about <a href="forum?req=derefer&amp;url=http%3A%2F%2Fnfgworld.com%2Fmb%2Fthread%2F224" title="http://nfgworld.com/mb/thread/224">my neighbors</a>.<br />
<br />
There's not currently a way to subscribe to one specific thread.&nbsp; If I were to guess, a third TYPE would be needed, in addition to type 1 and type 2...&nbsp; <br />
<br />
Has anyone tried to do this?&nbsp; Can anyone offer some suggestions?<br />
<br />
The code in rss.inc.php seems tantalizingly simple, but I thought I'd ask before mucking about.&nbsp; =)
]]></description>
            <author> no_email@example.com (NFG)</author>
            <pubDate>Mon, 30 Mar 2009 11:52:07 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1703</guid>
        </item>
        <item>
            <title>GIT as source code managment</title>
            <link>http://newsboard.unclassified.de/forum/thread/1700</link>
            <description><![CDATA[
Hi,<br />
<br />
i think it would be nice if there where a GIT-repository for the source code of the newsboard.<br />
It make a lot of thinks easyer, for example send in patches and keep the local running version up to date.<br />
<br />
greats David
]]></description>
            <author> no_email@example.com (David)</author>
            <pubDate>Sat, 07 Mar 2009 14:21:58 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1700</guid>
        </item>
        <item>
            <title>Moving miscellaneous MarkUp #4</title>
            <link>http://newsboard.unclassified.de/forum/thread/1698</link>
            <description><![CDATA[
This time for announcements and post or thread lists.&nbsp; Please, find a patch attached (this time in DOS format)...<br />
<br />
I can also send three separate patches that would not appear that huge <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" />
]]></description>
            <author> no_email@example.com (jense)</author>
            <pubDate>Mon, 02 Mar 2009 12:10:48 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1698</guid>
        </item>
        <item>
            <title>Invite codes</title>
            <link>http://newsboard.unclassified.de/forum/thread/1688</link>
            <description><![CDATA[
Hello.<br />
<br />
I added a patch to my board that uses "promo codes" in the registration. <br />
<br />
Here`s why and how it works:<br />
On my board I have a lot of subforums. Each of them is about a single project, website usually. Each of the subforums has it`s own group set up with ACL that allows to view and post to this group. The members group hasn`t got access to any forum.<br />
So now, when someone registers, he/she has no rights granted until someone adds him/her to a group.<br />
<br />
That`s why I added promo codes. While registering, you may enter a "promo code". If the the registration is successful, the promo code is entered and matches one of the groups` promo codes, the user is added to this group automatically,<br />
Now, on every website I can add an invite link to the forum:<br />
<a href="forum?req=derefer&amp;url=http%3A%2F%2Fexample.com%2Fforum%2Fforum.php%3Freq%3Dregister%26code%3Dmy_secret_code_for_project_one" title="http://example.com/forum/forum.php?req=register&amp;code=my_secret_code_for_project_one">http://example.com/forum/forum.…?req=register&amp;code=m…</a><br />
When user registers, he gets access to the specified project-related subforum, without the need of administrator to add him manually. Yeah, I know that there are public groups, but thats not the same. Not anyone can find out the promo code, and giving a special link to register is easier than giving a simple link and a note: "after you register, please edit your profile, find groups and add yourself to Xyzzy group". <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 />
What`s under the hood?<br />
Every group has another field, "promo code". It`s optional. Registration form has this field as well. When user registers, the code is checked against the codes in "GroupNames" table, and if a match is found, the user is added to this group.<br />
For now I am doing a little magic to auto-create the promo codes (I didn`t have time to finish that), but for the registering user it changes nothing.<br />
<br />
Patch attached. Briefly tested, so treat this as an alpha release. Does it have a chance to get to the next board release? Of course it needs to be finished (groupeditor and some configuration option to switch it off). This may be connected with "user invite" registration mode.<br />
I find UNB very easy to modify and patch (and I usually don`t like it in other software), so I`d like to contribute a lot. And if my changes would land in the board`s base code, I wouldn`t have to worry about patching the new releases after upgrade. <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 (puck)</author>
            <pubDate>Sat, 14 Feb 2009 08:28:21 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1688</guid>
        </item>
        <item>
            <title>User Info</title>
            <link>http://newsboard.unclassified.de/forum/thread/1681</link>
            <description><![CDATA[
Hello, if you ever seen IPB 2.3.x you know what I am saying by the request when you hover over Username a drop down box's appears with some information about the user. Also all of IGG.com game forums have a drop down box even so there coded from scratch. In there it shows Joined Date, User ID, #, E-Mail (MSN, Yahoo) that would be cool ^^ something like UNB uses but when you hover over username it drops down by it self and there is no clicking ^^
]]></description>
            <author> no_email@example.com (Miku)</author>
            <pubDate>Sat, 31 Jan 2009 21:09:00 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1681</guid>
        </item>
        <item>
            <title>Export (ODT)</title>
            <link>http://newsboard.unclassified.de/forum/thread/1669</link>
            <description><![CDATA[
Für eine einfache Archivierung eines Forums habe ich mir einen einfachen ODT-Export geschrieben. Es ist nicht perfekt (kein ABBC-Code wird aufgelöst, die Generierung des Inhaltsverzeichnisses muss in OOo angestossen werden) und hat sicher jede Menge Fehler aber vielleicht hilft es jemand weiter.<br />
<br />
(abhängigkeit: odfpy, python-mysqldb)<br />
<tt>#!/usr/bin/env python<br />
# -*- coding: utf-8 -*-<br />
import MySQLdb<br />
from odf.opendocument import OpenDocumentText<br />
from odf.teletype import WhitespaceText<br />
from odf.style import Style, TextProperties, ParagraphProperties<br />
from odf.text import H, P, Span, TableOfContent, TocMark<br />
<br />
<br />
<br />
dbhost = raw_input("db host[127.0.0.1]") or "127.0.0.1"<br />
prefix = raw_input("db prefix[unb_tg]: ") or "unb_tg"<br />
dbuser = raw_input("db user[yvesf]: ") or "yvesf"<br />
dbname = raw_input("db name[%s]: "%dbuser) or dbuser<br />
dbpass = raw_input("Password[]: ") or ""<br />
def debug(str):<br />
&nbsp;&nbsp;&nbsp; print str<br />
def recode(str):<br />
&nbsp;&nbsp;&nbsp; return unicode(str, 'cp1252')<br />
<br />
class Forum(object):<br />
&nbsp;&nbsp;&nbsp; def __init__(self,db):<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.forums = {}<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.db = db<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self._build_forum_tree(node=self.forums,id=0)<br />
<br />
&nbsp;&nbsp;&nbsp; def _build_forum_tree(self,node,id):<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; debug("_build_forum_tree(id=%s)"%id)<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; cur = self.db.cursor()<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; cur.execute("SELECT ID, Parent,Name,Description FROM %s_Forums WHERE Parent = %s ORDER BY SORT" % (prefix,id))<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; for row in cur.fetchall():<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; node[row[0]] = {}<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; self._build_forum_tree(node[row[0]], row[0])<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; cur.close()<br />
<br />
&nbsp;&nbsp;&nbsp; @staticmethod<br />
&nbsp;&nbsp;&nbsp; def get_forum_info(db,forumID):<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; cur = db.cursor()<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; cur.execute("SELECT * FROM %s_Forums WHERE ID = %s" %(prefix,forumID))<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; row = cur.fetchone()<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; return {"ID" : row[0], "Parent" : row[1], "Name" : row[3], "Description" : row[5]}<br />
<br />
class Thread(object):<br />
&nbsp;&nbsp;&nbsp; def __init__(self,db,forumID):<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.db = db<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.forumID = forumID<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.threads = []<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; cur = self.db.cursor()<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; cur.execute("SELECT ID, Forum, FROM_UNIXTIME(LastPostDate), Subject, t.Desc, FROM_UNIXTIME(Date) FROM %s_Threads t WHERE Forum = %s ORDER BY Date" % (prefix,forumID))<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; for row in cur.fetchall():<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; self.threads.append(row)<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; cur.close()<br />
&nbsp;&nbsp;&nbsp; @staticmethod<br />
&nbsp;&nbsp;&nbsp; def get_posts(db,thread_id):<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; cur = db.cursor()<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; cur.execute("""SELECT u.Name, p.Subject, p.Msg, FROM_UNIXTIME(p.Date) <br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; FROM %s_Posts p INNER JOIN %s_Users u <br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; ON u.ID = p.User <br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; WHERE p.Thread = %s""" % (prefix, prefix, thread_id))<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; return cur.fetchall()<br />
<br />
class Document(object):<br />
&nbsp;&nbsp;&nbsp; def __init__(self,db):<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.db = db<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.doc = OpenDocumentText()<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_forum_description = Style(name="Forum Description", family="paragraph")<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_forum_description.addElement(TextProperties(attributes={'fontsize':'16pt'}))<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.doc.styles.addElement(self.st_forum_description)<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; <br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_forum_title = Style(name="Forum Title", family="paragraph")<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_forum_title.addElement(TextProperties(attributes={'fontsize':'23pt','fontweight':'bold'}))<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.doc.styles.addElement(self.st_forum_title)<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_thread_title = Style(name="Thread title", family="paragraph")<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_thread_title.addElement(TextProperties(attributes={'fontsize':'15pt', 'fontweight':'bold'}))<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.doc.styles.addElement(self.st_thread_title)<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_thread_description = Style(name="Thread Description", family="paragraph")<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_thread_description.addElement(TextProperties(attributes={'fontsize':'14pt'}))<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.doc.styles.addElement(self.st_thread_description)<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; <br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_post_header = Style(name="Post Header", family="paragraph")<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_post_header.addElement(TextProperties(attributes={'fontweight':'bold'}))<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.doc.styles.addElement(self.st_post_header)<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_post_body = Style(name="Post Body", family="paragraph")<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_post_body.addElement(TextProperties(attributes={'fontsize':'11pt'}))<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.st_post_body.addElement(ParagraphProperties(attributes={'marginbottom':'1cm', 'margintop':'0.5cm'}))<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.doc.styles.addElement(self.st_post_body)<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.doc.text.addElement(TableOfContent(attributes={'name':'Inhalt'}))<br />
<br />
<br />
<br />
&nbsp;&nbsp;&nbsp; def line_break_escape(self,str):<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; return str.replace(u'\n', u'&lt;text:line-break/&gt;').replace(u'\r', u'&lt;text:line-break/&gt;')<br />
&nbsp;&nbsp;&nbsp; def parse_forum_tree(self,tree,indent=0):<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; for subforum_key in tree.keys():<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; forum = Forum.get_forum_info(self.db,subforum_key)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; p = P(stylename=self.st_forum_title, text=u"%s&gt; Forum %s" % (indent,recode(forum["Name"])))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; p.addElement(TocMark(attributes={'stringvalue':u'%s'%recode(forum["Name"]), 'outlinelevel':'%s'%indent}))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; self.doc.text.addElement(p)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; self.doc.text.addElement(P(stylename=self.st_forum_description, text=u"%s" % (recode(forum["Description"]))))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; for thread in Thread(self.db, subforum_key).threads:<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; p=P(stylename=self.st_thread_title, text=u"Thread: %s" % (recode(thread[3])))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; p.addElement(TocMark(attributes={'stringvalue':u'%s'%recode(thread[3]), 'outlinelevel':(u'%s'%(indent+1))}))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; self.doc.text.addElement(p)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; self.doc.text.addElement(P(stylename=self.st_thread_description, text=u"Beschreibung: %s, Start: %s" % (recode(thread[4]) or u"&lt;leer&gt;",recode(thread[5].__str__()))))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; for post in Thread.get_posts(self.db, thread[0]):<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; self.doc.text.addElement(P(stylename=self.st_post_header, text=u"%s schrieb am %s" % (recode(post[0]), recode(post[3].__str__()))))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; w = WhitespaceText()<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; p = P(stylename=self.st_post_body)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; w.addTextToElement(p, recode(post[2]))<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; self.doc.text.addElement(p)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; print "P",<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; print "T",<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; self.parse_forum_tree(tree[subforum_key],indent+1)<br />
<br />
&nbsp;&nbsp;&nbsp; def save(self,filename):<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; self.doc.save(filename,True)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <br />
con = MySQLdb.connect(<br />
&nbsp;&nbsp;&nbsp; host = dbhost,<br />
&nbsp;&nbsp;&nbsp; db = dbname,<br />
&nbsp;&nbsp;&nbsp; user = dbuser,<br />
&nbsp;&nbsp;&nbsp; passwd = dbpass)<br />
<br />
<br />
f = Forum(con)<br />
doc = Document(con)<br />
doc.parse_forum_tree(f.forums)<br />
doc.save("out")<br />
</tt>

]]></description>
            <author> no_email@example.com (YvesFischer)</author>
            <pubDate>Sun, 16 Nov 2008 16:38:51 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1669</guid>
        </item>
        <item>
            <title>alert when editing as opposed to quoting</title>
            <link>http://newsboard.unclassified.de/forum/thread/1667</link>
            <description><![CDATA[
i'd like to see an alert popup when someone accidentally clicks the <i>'edit'</i> instead of the <i>'quote'</i> button, when replying to a post.&nbsp; as my forum has grown and i've extended the number of admins, i've had several incidents recently where the newly created admins have clicked <i>'edit'</i> instead of&nbsp; <i>'quote'</i> and accidentally modified an existing post.<br />
<br />
i've made the same mistake myself on a few occasions in the past - the <i>'edit'</i> and <i>'quote'</i> buttons are side by side and it's quite easy to click the wrong one, if you're not paying attention. <br />
<br />
i think an added safety feature such as an alert which said <i>"warning: you are about to alter an existing post!"</i> when someone clicked on the <i>'edit'</i> button would help.
]]></description>
            <author> no_email@example.com (madra)</author>
            <pubDate>Mon, 10 Nov 2008 11:44:47 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1667</guid>
        </item>
        <item>
            <title>UNB as a single user  jobs board</title>
            <link>http://newsboard.unclassified.de/forum/thread/1661</link>
            <description><![CDATA[
I have looked through the UNB info a bit.<br />
I was wondering if UNB would be good to use as a job posting board on a friends website.<br />
She wants to be able to post, sort and remove job listings by herself (she is not web savvy at all) (I am guessing she would never have more than about 20 postings max at a time).<br />
<br />
I would need to style it to live inside, and match the main site design.<br />
I was thinking It could be set up with her as the administrator and only authorized user.<br />
But, can you hide or not display all of the login, settings and other tabs at the top?<br />
<br />
So it only displays the topics and post content.&nbsp; site vistors would have no interaction other than to read a topic(ie... job posting) then be directed to email a resume.<br />
<br />
Is this to much of a twist for UNB?<br />
If so can anyone recommend&nbsp; something that might provide this functionality?<br />
<br />
Basically I am trying to set it up so that my un-web savvy friend can post and delete simple job postings on her site.<br />
<br />
I have done something similar to this years ago with active newsboard, but, I was hoping for something PHP based that can be easily CSS styled, that is open sourced.
]]></description>
            <author> no_email@example.com (palnudb)</author>
            <pubDate>Thu, 25 Sep 2008 05:49:30 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1661</guid>
        </item>
        <item>
            <title>printing forum - subforum - post titles in search results</title>
            <link>http://newsboard.unclassified.de/forum/thread/1651</link>
            <description><![CDATA[
Where $query_text is a search string; Mysql connections and closings are omitted:<br />
<br />
<blockquote class="quote"><div class="quote_inner">$select_unb_posts=mysql_query("SELECT ID, Thread, Subject, Msg FROM $unb_posts_table_name WHERE Subject LIKE '%$query_text%' OR Msg LIKE '%$query_text%' AND Subject!='';");<br />
$mysql_num_rows_select_unb_posts=@mysql_num_rows($select_unb_posts);<br />
if ($mysql_num_rows_select_unb_posts &gt; 0) {<br />
&nbsp;&nbsp;&nbsp; while ($mysql_fetch_row_select_unb_posts=@mysql_fetch_row($select_unb_posts)) {<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $select_unb_threads=mysql_query("SELECT Forum FROM $unb_threads_table_name WHERE ID='".$mysql_fetch_row_select_unb_posts[1]."';");<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; $mysql_num_rows_select_unb_threads=@mysql_num_rows($select_unb_threads);<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; echo "&lt;div&gt;&lt;p&gt;";<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if ($mysql_num_rows_select_unb_threads &gt; 0) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; while ($mysql_fetch_row_select_unb_threads=@mysql_fetch_row($select_unb_threads)) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $select_unb_forums=mysql_query("SELECT Parent, Name FROM $unb_forums_table_name WHERE ID='".$mysql_fetch_row_select_unb_threads[0]."';");<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $mysql_num_rows_select_unb_forums=@mysql_num_rows($select_unb_forums);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if ($mysql_num_rows_select_unb_forums &gt; 0) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; while ($mysql_fetch_row_select_unb_forums=@mysql_fetch_row($select_unb_forums)) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $unb_subforum_title=$mysql_fetch_row_select_unb_forums[1];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $select_unb_forums=mysql_query("SELECT Name FROM $unb_forums_table_name WHERE ID='".$mysql_fetch_row_select_unb_forums[0]."' LIMIT 1;");<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $mysql_num_rows_select_unb_forums=@mysql_num_rows($select_unb_forums);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if ($mysql_num_rows_select_unb_forums &gt; 0) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; while ($mysql_fetch_row_select_unb_forums=@mysql_fetch_row($select_unb_forums)) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $unb_forum_title=$mysql_fetch_row_select_unb_forums[0];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if ($unb_forum_title!="") {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; echo $unb_forum_title." - ";<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; if ($unb_subforum_title!="") {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; echo $unb_subforum_title." - ";<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; }<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; }<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; echo $mysql_fetch_row_select_unb_posts[2]."...&lt;/p&gt;&lt;/div&gt;\r\n";<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
</div></blockquote>
]]></description>
            <author> no_email@example.com (englishextra)</author>
            <pubDate>Sat, 16 Aug 2008 12:28:35 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1651</guid>
        </item>
        <item>
            <title>Beiträge löschen trotz gesperrtem Thread</title>
            <link>http://newsboard.unclassified.de/forum/thread/1634</link>
            <description><![CDATA[
Eigentlich ist es meines Erachtens vielleicht fast eine Frechheit, wenn ein Moderator Threads sperrt, in denen sich außer seinen Beiträgen noch weitere Beiträge befinden. Denn mit der Schließung nimmt er diesen Usern die Möglichkeit, ihre Beiträge zu löschen. <br />
<br />
Also sollte doch m.E. ein verantwortungsvoller Moderator einen Thread erst dann schließen, nachdem er alle fremden Beiträge gelöscht hat. Oder gibt es irgend eine Möglichkeit, dass in gesperrten Threads User ihre eigenen Beiträge löschen können?<br />
<br />
Andernfalls muss ich in den Forumsregeln eine vielleicht doch etwas merkwürdige Regel aufnehmen, dass Threads nur dann geschlossen werden dürfen, wenn der Moderator alle (fremden) User-Beiträge gelöscht hat.
]]></description>
            <author> no_email@example.com (dieweltist)</author>
            <pubDate>Thu, 19 Jun 2008 17:41:27 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1634</guid>
        </item>
        <item>
            <title>Jabber with different server and host</title>
            <link>http://newsboard.unclassified.de/forum/thread/1605</link>
            <description><![CDATA[
At present <tt>$jServer</tt> and <tt>$jServerHost</tt> have to be identical (apart from gmail accounts).&nbsp; Can you invent a new <tt>rc</tt>, so that these two can be set to different values, please?
]]></description>
            <author> no_email@example.com (jense)</author>
            <pubDate>Tue, 04 Mar 2008 14:40:41 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1605</guid>
        </item>
        <item>
            <title>Moving miscellaneous MarkUp #3</title>
            <link>http://newsboard.unclassified.de/forum/thread/1583</link>
            <description><![CDATA[
This time in <tt>forumlist.html</tt>:<br />
<tt>@@ -248,16 +248,16 @@<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; {endif}<br />
&nbsp;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; {-- if or $forumlistCount (not $forumlistTopForum)}<br />
-&nbsp; &nbsp; &nbsp;&nbsp; {if and (or $forumlistActionAddForum $forumlistActionAdvanced) (not $threadlistActionAdvanced)}{-- advanced options}<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {if or or $forumlistActionAdvanced $forumlistActionMarkRead $forumlistActionAddForum}<br />
+&nbsp; &nbsp; &nbsp;&nbsp; {if and (or $forumlistActionAddForumLink $forumlistActionAdvanced) (not $threadlistActionAdvanced)}{-- advanced options}<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {if or or $forumlistActionAdvanced $forumlistActionMarkReadLink $forumlistActionAddForumLink}<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;div class="all_forum_actions_bottom"&gt;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {set $div ""}<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {if and $forumlistActionAdvanced (not $threadlistActionAdvanced)}<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {$div}&lt;a href="javascript:nothing()" onclick="setImageId('advanced_link_img_forums', toggleVisIdScroll('advanced_options_forums') == 1, '{<br />
imgurl}arrow_down.png', '{imgurl}arrow_right.png')"&gt;&lt;img {$UNBImage.arrow_down} id="advanced_link_img_forums" /&gt;&nbsp; {tr "advanced options"}&lt;/a&gt;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {set $div " &amp;middot; "}<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {endif}<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {if $forumlistActionMarkRead}{$div}{$forumlistActionMarkRead}{set $div " &amp;middot; "}{endif}<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {if $forumlistActionAddForum}{$div}{$forumlistActionAddForum}{set $div " &amp;middot; "}{endif}<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {if $forumlistActionMarkReadLink}{$div}&lt;a href="{$forumlistActionMarkReadLink}"&gt;&lt;img {$UNBImage.unread} /&gt; {tr "mark all forums read"}&lt;/a&gt;{set $di<br />
v " &amp;middot; "}{endif}<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {if $forumlistActionAddForumLink}{$div}&lt;a href="{$forumlistActionAddForumLink}"&gt;&lt;img {$UNBImage.add} /&gt; {tr "forum.new"}&lt;/a&gt;{set $div " &amp;middot; "<br />
}{endif}<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {endif}<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; {endif}<br />
@@ -275,9 +275,8 @@<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;h1&gt;{tr "forum.advanced options"}&lt;/h1&gt;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;div class="advanced_options_container"&gt;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;div class="advanced_options_content"&gt;<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {$forumlistAdvIgnoreForum}<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {$forumlistAdvHideForum}<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {$forumlistAdvShowHiddenForums}<br />
+{foreach $action in $forumlistActionAdvanced}<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;div class="advanced_option"&gt;&lt;a href="{$action.link}"&gt;{$action.option}&lt;/a&gt;&lt;div class="advanced_subtitle"&gt;{$action.subtitle}&lt;/div&gt;&lt;/div&gt;{endforeach}<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;/div&gt;&lt;!-- advanced_options_content --&gt;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &lt;/div&gt;&lt;!-- advanced_options_container --&gt;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {set $ShadowBottomOffset 0}<br />
</tt>
The relevant changes in <tt>main.inc.php</tt> are<br />
<tt>@@ -1285,11 +1285,11 @@<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $new_forums &amp;&amp;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $forums_count)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $TP['forumlistActionMarkRead'] = '&lt;a href="' . UnbLink('@this', 'id=' . $parent . '&amp;allforumsread=1&amp;timestamp=' . time() . '&amp;key=' . UnbUrlGetKey(<br />
), true) . '"&gt;&lt;img ' . $UNB['Image']['unread'] . ' /&gt; ' . $UNB_T['mark all forums read'] . '&lt;/a&gt;';<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $TP['forumlistActionMarkReadLink'] = UnbLink('@this', 'id=' . $parent . '&amp;allforumsread=1&amp;timestamp=' . time() . '&amp;key=' . UnbUrlGetKey(), true);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if (UnbCheckRights('addforum', $toplevel))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $TP['forumlistActionAddForum'] = '&lt;a href="' . UnbLink('@this', 'id=' . $toplevel . '&amp;addparent=' . $toplevel . '#here', true) . '"&gt;&lt;img ' . $UNB[<br />
'Image']['add'] . ' /&gt; ' . $UNB_T['forum.new'] . '&lt;/a&gt;';<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $TP['forumlistActionAddForumLink'] = UnbLink('@this', 'id=' . $toplevel . '&amp;addparent=' . $toplevel . '#here', true);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if (!$forums_count &amp;&amp; !$toplevel)<br />
@@ -1298,6 +1298,7 @@<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; // advanced options area<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if ($TP['forumlistActionAdvanced'])<br />
&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; $TP['forumlistActionAdvanced'] = array();<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if ($toplevel &gt; 0)<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; &nbsp; &nbsp; &nbsp;&nbsp; $forum = new IForum($toplevel);<br />
@@ -1305,24 +1306,24 @@<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; &nbsp; &nbsp; &nbsp;&nbsp; if ($UNB['LoginUser']-&gt;GetForumFlag($toplevel, UNB_UFF_IGNORE))<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; &nbsp; &nbsp;&nbsp; $TP['forumlistAdvIgnoreForum'] = '&lt;div class="advanced_option"&gt;&lt;a href="' . UnbLink('@this', 'id=' . $toplevel . '&amp;unignor<br />
eforum=' . $toplevel . '&amp;key=' . UnbUrlGetKey(), true) . '"&gt;' . $UNB_T['forum.advanced.unignore'] . '&lt;/a&gt;&lt;div class="advanced_subtitle"&gt;' . $UNB_T['forum.advanced.ignore~<br />
'] . ' ' . $UNB_T['forum.advanced.ignoring'] . '&lt;/div&gt;&lt;/div&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; $TP['forumlistActionAdvanced'][] = array('link' =&gt; UnbLink('@this', 'id=' . $toplevel . '&amp;unignoreforum=' . $toplevel . '&amp;<br />
key=' . UnbUrlGetKey(), true), 'option' =&gt; $UNB_T['forum.advanced.unignore'], 'subtitle' =&gt; $UNB_T['forum.advanced.ignore~'] . ' ' . $UNB_T['forum.advanced.ignoring']);<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; else<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; &nbsp; &nbsp;&nbsp; $TP['forumlistAdvIgnoreForum'] = '&lt;div class="advanced_option"&gt;&lt;a href="' . UnbLink('@this', 'id=' . $toplevel . '&amp;ignoref<br />
orum=' . $toplevel . '&amp;key=' . UnbUrlGetKey(), true) . '"&gt;' . $UNB_T['forum.advanced.ignore'] . '&lt;/a&gt;&lt;div class="advanced_subtitle"&gt;' . $UNB_T['forum.advanced.ignore~'] .<br />
&nbsp;' ' . $UNB_T['forum.advanced.not ignoring'] . '&lt;/div&gt;&lt;/div&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; $TP['forumlistActionAdvanced'][] = array('link' =&gt; UnbLink('@this', 'id=' . $toplevel . '&amp;ignoreforum=' . $toplevel . '&amp;ke<br />
y=' . UnbUrlGetKey(), true), 'option' =&gt; $UNB_T['forum.advanced.ignore'], 'subtitle' =&gt; $UNB_T['forum.advanced.ignore~'] . ' ' . $UNB_T['forum.advanced.not ignoring']);<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; }<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if ($UNB['LoginUser']-&gt;GetForumFlag($toplevel, UNB_UFF_HIDE))<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; &nbsp; &nbsp;&nbsp; $TP['forumlistAdvHideForum'] = '&lt;div class="advanced_option"&gt;&lt;a href="' . UnbLink('@this', 'id=' . $toplevel . '&amp;unhideforum=' . $<br />
toplevel . '&amp;key=' . UnbUrlGetKey(), true) . '"&gt;' . $UNB_T['forum.advanced.unhide'] . '&lt;/a&gt;&lt;div class="advanced_subtitle"&gt;' . $UNB_T['forum.advanced.hide~'] . ' ' . $UNB_<br />
T['forum.advanced.hiding'] . '&lt;/div&gt;&lt;/div&gt;';<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $TP['forumlistActionAdvanced'][] = array('link' =&gt; UnbLink('@this', 'id=' . $toplevel . '&amp;unhideforum=' . $toplevel . '&amp;key=' . Un<br />
bUrlGetKey(), true), 'option' =&gt; $UNB_T['forum.advanced.unhide'], 'subtitle' =&gt; $UNB_T['forum.advanced.hide~'] . ' ' . $UNB_T['forum.advanced.hiding']);<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; else<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; &nbsp; &nbsp;&nbsp; $TP['forumlistAdvHideForum'] = '&lt;div class="advanced_option"&gt;&lt;a href="' . UnbLink('@this', 'id=' . $toplevel . '&amp;hideforum=' . $to<br />
plevel . '&amp;key=' . UnbUrlGetKey(), true) . '"&gt;' . $UNB_T['forum.advanced.hide'] . '&lt;/a&gt;&lt;div class="advanced_subtitle"&gt;' . $UNB_T['forum.advanced.hide~'] . ' ' . $UNB_T['f<br />
orum.advanced.not hiding'] . '&lt;/div&gt;&lt;/div&gt;';<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $TP['forumlistActionAdvanced'][] = array('link' =&gt; UnbLink('@this', 'id=' . $toplevel . '&amp;hideforum=' . $toplevel . '&amp;key=' . UnbU<br />
rlGetKey(), true), 'option' =&gt; $UNB_T['forum.advanced.hide'], 'subtitle' =&gt; $UNB_T['forum.advanced.hide~'] . ' ' . $UNB_T['forum.advanced.not hiding']);<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; }<br />
&nbsp;<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $TP['forumlistAdvShowHiddenForums'] = '&lt;div class="advanced_option"&gt;&lt;a href="' . UnbLink('@this', array('id' =&gt; $toplevel, 'showhidden_f' =&gt; true)<br />
, true) . '"&gt;' . $UNB_T['show hidden forums'] . '&lt;/a&gt;&lt;div class="advanced_subtitle"&gt;' . $UNB_T['show hidden forums~'] . '&lt;/div&gt;&lt;/div&gt;';<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $TP['forumlistActionAdvanced'][] = array('link' =&gt; UnbLink('@this', array('id' =&gt; $toplevel, 'showhidden_f' =&gt; true), true), 'option' =&gt; $UNB_T['s<br />
how hidden forums'], 'subtitle' =&gt; $UNB_T['show hidden forums~']);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;<br />
</tt>
These changes are mark-up neutral in the web pages.
]]></description>
            <author> no_email@example.com (jense)</author>
            <pubDate>Sat, 09 Feb 2008 10:52:54 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1583</guid>
        </item>
        <item>
            <title>Some new template exports</title>
            <link>http://newsboard.unclassified.de/forum/thread/1582</link>
            <description><![CDATA[
I'd appreciate the following variables in templates (<tt>common_out.lib.php</tt>):<br />
<tt>@@ -489,8 +489,10 @@<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['addPreSubject'] = $data['output'];<br />
&nbsp;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['isMoved'] = $thread-&gt;IsMoved();<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['isOwn'] = $flag_own;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['isClosed'] = $thread-&gt;IsClosed();<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['isImportant'] = $thread-&gt;IsImportant();<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['isHot'] = $flag_hot;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if ($jmp_new)<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['linkThread'] = $jmp_new;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; else<br />
</tt>
and<br />
<tt>@@ -2772,10 +2774,11 @@<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $page_count = ceil($count / $perpage);<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; else<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $page_count = 1;<br />
-&nbsp; &nbsp; &nbsp;&nbsp; $UNB['LastPageCount'] = $page_count;<br />
+&nbsp; &nbsp; &nbsp;&nbsp; $UNB['TP']['LastPageCount'] = $page_count;<br />
&nbsp;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if ($page &gt; $page_count) $page = $page_count;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if ($page == -1) $page = $page_count;<br />
+&nbsp; &nbsp; &nbsp;&nbsp; $UNB['TP']['ThisPageCount'] = $page;<br />
&nbsp;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if ($params['##'])<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; {<br />
</tt>
Note: the replacement <tt>$UNB['LastPageCount']</tt> → <tt>$UNB['TP']['LastPageCount']</tt> needs to be done at four additional places.
]]></description>
            <author> no_email@example.com (jense)</author>
            <pubDate>Sat, 09 Feb 2008 10:46:19 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1582</guid>
        </item>
        <item>
            <title>Moving miscellaneous MarkUp #2</title>
            <link>http://newsboard.unclassified.de/forum/thread/1577</link>
            <description><![CDATA[
This time the following patch moves hardcoded markup into the announcelist template.&nbsp; This does not affect any generated markup.<br />
<tt>unb_lib/common_out.lib.php</tt><br />
<tt>@@ -77,13 +77,13 @@<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; !$readonly &amp;&amp;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; UnbCheckRights('editannounce', $forumid))<br />
&nbsp;&nbsp; &nbsp; {<br />
-&nbsp; &nbsp; &nbsp; &nbsp; $TP['announcelistActionNew'] = '&lt;a href="' . UnbLink('@post', 'announce=-1&amp;forum=' . $forumid, true) . '"&gt;&lt;img ' . $UNB['Image']['add'] . ' /&gt; ' . $UNB_T['announcement.new'] . '&lt;/a&gt;';<br />
+&nbsp; &nbsp; &nbsp; &nbsp; $TP['announcelistActionNewLink'] = UnbLink('@post', 'announce=-1&amp;forum=' . $forumid, true);<br />
&nbsp;&nbsp; &nbsp; }<br />
&nbsp;&nbsp; &nbsp; if (!$threadid &amp;&amp;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; !$readonly &amp;&amp;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; $announce-&gt;Count($forumid, $threadid &gt; 0) &gt; $count)<br />
&nbsp;&nbsp; &nbsp; {<br />
-&nbsp; &nbsp; &nbsp; &nbsp; $TP['announcelistActionShowAll'] = '&lt;a href="' . UnbLink('@main', array('id' =&gt; $forumid, 'allannounces' =&gt; true), true) . '"&gt;&lt;img ' . $UNB['Image']['announce'] . ' /&gt; ' . $UNB_T['announcement.show all'] . '&lt;/a&gt;';<br />
+&nbsp; &nbsp; &nbsp; &nbsp; $TP['announcelistActionShowAllLink'] = UnbLink('@main', array('id' =&gt; $forumid, 'allannounces' =&gt; true), true);<br />
&nbsp;&nbsp; &nbsp; }<br />
&nbsp;}<br />
</tt>
<tt>unb_lib/designs/modern/tpl/announcelist.html</tt><br />
<tt>@@ -44,12 +44,12 @@<br />
&nbsp;{if or $announcelistActionNew $announcelistActionShowAll}<br />
&nbsp;&lt;div class="all_announcement_actions_bottom {if not sizeof $announcelist}alone{endif}"&gt;<br />
&nbsp;{set $div ""}<br />
-{if $announcelistActionNew}<br />
-&nbsp; &nbsp; {$div}{$announcelistActionNew}<br />
+{if $announcelistActionNewLink}<br />
+&nbsp; &nbsp; {$div}&lt;a href="{$announcelistActionNewLink}"&gt;&lt;img {$UNBImage.add} /&gt; {tr "announcement.new"}&lt;/a&gt;<br />
&nbsp;&nbsp; &nbsp; {set $div " &amp;#xb7; "}<br />
&nbsp;{endif}<br />
-{if $announcelistActionShowAll}<br />
-&nbsp; &nbsp; {$div}{$announcelistActionShowAll}<br />
+{if $announcelistActionShowAllLink}<br />
+&nbsp; &nbsp; {$div}&lt;a href="{$announcelistActionShowAllLink}"&gt;&lt;img {$UNBImage.announce} /&gt; {tr "announcement.show all"}&lt;/a&gt;<br />
&nbsp;&nbsp; &nbsp; {set $div " &amp;#xb7; "}<br />
&nbsp;{endif}<br />
&nbsp;&lt;/div&gt;<br />
</tt>

]]></description>
            <author> no_email@example.com (jense)</author>
            <pubDate>Mon, 28 Jan 2008 14:19:22 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1577</guid>
        </item>
        <item>
            <title>Search option for open threads.</title>
            <link>http://newsboard.unclassified.de/forum/thread/1574</link>
            <description><![CDATA[
Hi,<br />
<br />
I have read many reports here and looked in this forum but did not find my anwer...<br />
<br />
My questions is:<br />
Is there a way to run a search for open threads only ?<br />
<br />
I am used to close threads when they are solved but when a forum gets larger the 'open threads' are hard to find, it is somewhat time consuming.<br />
<br />
There is a way to use the "Special queries" in the search page, but I would like to see the option for "All open threads"<br />
<br />
I hope you have an answer for me&nbsp; <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" /><br />
<br />
Kind regards,<br />
PaulP.
]]></description>
            <author> no_email@example.com (PaulP)</author>
            <pubDate>Thu, 24 Jan 2008 09:08:57 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1574</guid>
        </item>
        <item>
            <title>HTTP caching</title>
            <link>http://newsboard.unclassified.de/forum/thread/1547</link>
            <description><![CDATA[
I wonder what is the best way to implement some basic caching.&nbsp; Certainly, I'd like to have some (configurable) 'Expires'-time (*).&nbsp; However, there is the problem with authenication <i>et al</i>.&nbsp; So, does anybody know of a viable solution with 'Cache-Control' and a decent fall-back for HTTP/1.0?&nbsp; Maybe, this is already implemented in some other forums software...<br />
<br />
At present, I'd suppose something along the lines 'proxy-revalidate', 'maxage', and 's-maxage' might do it (hm, fall-back?!).&nbsp; Hm, the userID should be probably included into an 'ETag' in order to ensure privacy.<br />
<br />
(*) No, i do not think that a forum page needs to be revalidated every second <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 (jense)</author>
            <pubDate>Thu, 06 Dec 2007 14:13:19 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1547</guid>
        </item>
        <item>
            <title>Moving miscellaneous MarkUp</title>
            <link>http://newsboard.unclassified.de/forum/thread/1511</link>
            <description><![CDATA[
Is there any chance to include fixes such as<br />
[ in <tt>unb_lib/common_post.lib.php</tt> ] <br />
<tt>@@ -220,7 +220,7 @@<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; if ($user-&gt;Load($post-&gt;GetUser()))<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['authorStatus'] = UnbGetUserStatusText($user-&gt;GetID(), '&lt;i&gt;(%s)&lt;/i&gt;', true, false);<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['authorStatus'] = UnbGetUserStatusText($user-&gt;GetID(), '%s', true, false);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['authorTitle'] = t2h($user-&gt;GetTitle());<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['authorMemberSince'] = UnbFriendlyDate($user-&gt;GetRegDate(), 2, 1, true, 1);<br />
&nbsp;<br />
@@ -251,11 +251,11 @@<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; elseif ($post-&gt;GetUser() == 0)<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; {<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['authorStatus'] = UnbGetUserStatusText(0, '&lt;i&gt;(%s)&lt;/i&gt;', true, true);<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['authorStatus'] = UnbGetUserStatusText(0, '%s', true, true);<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; elseif ($post-&gt;GetUser() == -1)<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; {<br />
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['authorStatus'] = UnbGetUserStatusText(-1, '&lt;i&gt;(%s)&lt;/i&gt;', true, true);<br />
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $tpitem['authorStatus'] = UnbGetUserStatusText(-1, '%s', true, true);<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; }<br />
&nbsp;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; if ($show_thread)<br />
</tt>
[ and <tt>unb_lib/designs/modern/tpl/post.html</tt> ]<br />
<tt>@@ -51,7 +51,7 @@<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &lt;img id="post_{$post.num}_moreimg" src="{imgurl}arrow_down.png" alt="" /&gt;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; {$post.authorName}<br />
&nbsp;&lt;/span&gt;<br />
-&lt;span class="post_userinfo"&gt;{--$post.authorOnlineImg}{if $post.authorThreadStarter} &lt;img {$UNBImage.starter} title="{tr "post.thread starter"}" /&gt;{endif} {$post.authorStatus}&lt;/span&gt;<br />
+&lt;span class="post_userinfo"&gt;{--$post.authorOnlineImg}{if $post.authorThreadStarter} &lt;img {$UNBImage.starter} title="{tr "post.thread starter"}" /&gt;{endif} {if $post.authorStatus}&lt;i&gt;({$post.authorStatus})&lt;/i&gt;{endif}&lt;/span&gt;<br />
&nbsp;&lt;span class="post_date"&gt;{$post.date}&lt;/span&gt;<br />
&nbsp;{if $post.numAll}<br />
&nbsp;&lt;span class="post_num"&gt;&lt;a href="{$post.hereLink}"&gt;#{$post.numAll}&lt;/a&gt;&lt;/span&gt;<br />
</tt>
in order to improve the customizability of&nbsp; UNB?
]]></description>
            <author> no_email@example.com (jense)</author>
            <pubDate>Tue, 09 Oct 2007 16:03:59 GMT</pubDate>
            <guid isPermaLink="false">http://newsboard.unclassified.de/1511</guid>
        </item>
    </channel>
</rss>
