I take it this means we should just go ahead and use version 1.3 and stop using 1.2?


(71 replies, posted in News)

Fil1958 wrote:

Some problems with redirect_url when login in

My domain -> http://domain.com/
PunBB base url -> http://domain.com/forum

After login in the redirect url is http://domain.com/forum//forum/index.php

You own 'domain.com'?  Awesome!  How much did it cost to get it? wink

Domain.com is a real domain.  For examples it's recommended to use Example.com, Example.net, and Example.org.

Thanks!  I saw that calendar mod about a year ago and at the time it didn't look like it would work very well as an events calendar, so I forgot about it.  I see now that folks have made improvements to it since then and it looks much better now.  That's great.

I agree -- I don't need "super" features.  I just wanted something to replace the crude events calendar I hacked together for my community site (it's just one table, and it sorts events by date and displays them in list format, with intro text and full body text).  As it's written now only I can add events; I want to let other users add events to it but I don't know anything about security.  I don't have time to learn real (serious) programming, so figured I should just find an app someone else has written.

This (calendar 2.0) is a perfect solution.  Thanks again.

Can anyone recommend a good web-based, community calendar?

* php/mysql (open source is preferable)
* secure, supported with security updates as needed
* coded well according to current standards
* template system for plugging in any site design
* login that can integrate with wordpress/punbb login
* xhtml/css, standards compliant
* streamlined and fast, not bloated
* multiple users, permissions, categories, display options, email notification, rss, etc
* complements other CMSs I like:  punBB, Wordpress, Singapore, phpList

I've found these so far:

It's CGI instead of PHP, and the database is flat files instead of MySQL.  Seems to have all the basic calendar features.  View events in a grid or list format, and by the month, week, 2-week, 3-week, 4-week, or daily level.  Customizable Templates, Flexible Event Definition, User Authentication, Assign Permissions.

View events in grid or flat format, monthly, weekly, daily. Categories, Search, Themes, Recurrent Events, Users and Groups management, Template Configuration.  It sounds good, but it doesn't seem to be supported: last release was 2004-12-24.

SuperCali <<== Looks Good
The feature list looks good and demo is nice and clean.  Only been in development for about a year so it may not be stable and secure; but it's been developed aggresively and it has a following so it's worth considering.  Nested event categories, Multiple moderators and users, Multiple dates for each event, Multiple calendar views, Drop-down venue and contact selection, Javascript to assist data entry, XHTML/CSS output.

PHP Event Calendar
It looks nice and has several basic configuration options.  But it uses text files instead of MySQL for the database.

Most of the usual features, plus Event reminder email subscriptions.  But it doesn't appear to be supported: last release was 2005/7/19, and there's very little activity on the forum.

Lots of features and looks nice.  Cost is $80.  Free basic version and trial advanced version.

http://www.sweetphp.com/nuke/modules.ph … ;script=12
Looks fancy, maybe too fancy.  Cost is $35, but no trial version.

VCalendar <<== Looks Good
Free, open source, and well-supported.  Localization features with Internationalization in English, Russian and German, Dynamic CSS, Annual, monthly, weekly and daily calendar views, Multiple categories, Recurring and all-day events, Role-based user permissions and calendar configuration.

Webcalendar <<== Looks Good
Free, open source and well-supported.  Lots of features.  XHTML/CSS compliant, Multi-users, 30 supported languages, View calendars by day, week, month or year, View another user's calendar, View one or more users' calendar via layers on top of your own calendar, Repeating events including support for overriding or deleting (exceptions), Configurable custom event fields, User-configurable preferences for colors, 12/24 time format, Sun/Mon week start, Checks for scheduling conflicts, Email reminders for upcoming events, Email notifications for new/updated/deleted events, Export events to iCalendar, vCalendar or Palm, Import from iCalendar, vCalendar or Palm, Public or private calendars, Users can make their calendar available publicly to anyone with an iCalendar-compliant calendar program (such as Apple's iCal, Mozilla Calendar or Sunbird), Publishing of free/busy schedules (part of the iCalendar standard), RSS support that puts a user's calendar into RSS, Subscribe to "remote" calendars (hosted elsewhere on the net) in either iCalendar or hCalendar formats, User authentication: Web-based, HTTP, LDAP or NIS.

Topic Builder:
build a threaded discussion - topic with replies - from scratch, specifying poster, date posted, etc

If there is such a thing, could it be added to the list?

Would you be willing to write this as a Plugin instead of a Mod?  Aren't plugins easier to install?  If I understand correctly, plugins are easier to install because all you do is upload them into the plugin directory.  With mods you install it by editing files, so every time the forum is upgraded to a new version you have to redo the mod again and it's more work.


(6 replies, posted in PunBB 1.2 discussion)

Oops.  thanks.  yeah, I read that back when I installed the forum, but I forgot.  sorry.

temporary storage string for new passwords and new e-mail addresses

It sounds like they're used when users request a new password or change their email.

Thanks everyone for your help!
And those plugins that guardian34 suggested sound good - I'll have to try them out.


(6 replies, posted in PunBB 1.2 discussion)

Great, then I'll leave 'group_id' as is.  The less work the better.  I suppose it might make a difference if I were to delete users who haven't activated their accounts after a certain amount of time, and use '32000' to select them, but I don't anticipate doing that at the moment.

activate_string and activate_key
What do they do?  On my forum, out of 38 users only 4 users have values for 'activate_string' and 'activate_key'.  2 users are activated/confirmed and have posted, and the other 2 users are not activated/confirmed.

I have some questions about how the php code interacts with the 'users' table.

It looks like new users start out with their group_id='32000', and once they reply to the welcome email and login for the first time, their account is activated and their group_id becomes '4'?

If I register a new user by submitting their email and username through the register form (same as they would), then go into the database via phpMyAdmin and change their group_id from 32000 to 4, will that cause any problems?

The second part of that question is, do I even need to change group_id to 4?  I'm building a new topic by hand (that originated in an email thread) by posting the posts myself, then going into the database and changing the 'poster' from me to the new user who hasn't activated his account yet.  (In the 'posts' table, I edit 'poster', 'poster_id', and 'posted'.)  In the 'users' table I've been editing 'num_posts' and 'group_id'.  Is it OK to leave 'group_id' as 32000 and only edit 'num_posts'?

http://hsv-netcom.com/ , I like that layout.

I have the same question as gezz:  Which image gallery is most punbb-friendly?
Basically, I want something that displays photos well (not sure I even need comments), has code that isn't bloated, downloads quickly, is easy to modify, is easy to integrate into my website's design, etc.

'Gallery' is recommended a lot but it seems to have security problems, so I don't know.  Coppermine sounds possible.  I didn't realize there was a Pun Gallery so I'll have to check that out too.

IdleFire wrote:

Pun Gallery works absolutely fine with Punbb, and I've had no problems at all with it (other than a lack of ability to edit submissions - you can delete but not edit - and the lack of a 'comments' feature, both of which are promised to be things to come).

Anyway, I have it running on http://www.ausphreak.com/gallery.php which is going strong.

Hmm.  http://www.ausphreak.com/gallery/  shows:

Powered by Coppermine Photo Gallery

You decided to stop using Pun Gallery and to use Coppermine instead?

Site -> http://tuckertoday.com/
Forum - > http://tuckertoday.com/forum/
The website is one of those old-fashioned, hand-made, written-in-Notepad sites.  It's php with lots of includes for the template system, menus, etc.

I have to give a Big Thanks to the punbb authors because integration was incredibly easy.  After reading the instructions, it took about a day (as I did other things, so that time "doesn't count") to think and plan what to do.  Then it took only 1-2 hours to change my site's include files slightly -- in order to isolate page layout code from html/body open tags and close tags, then include the code into the punbb folder, and Wa La:  it worked!  You guys made integration so easy I couldn't believe it.  Thank you. smile  Oh, and tweaking the CSS was also incredibly easy -- a Big Thanks to the CSS author as well.

Thanks for writing this mod, fpouget.  You're my hero.

I used to merge topics manually in phpMyAdmin.  I had the 'split-topic' mod, but it didn't merge topics.

faax wrote:

i use rss include on webpage, how to put autors name for topic? there is rss.php code

faax, I answered your question in the other thread:

Rustin wrote:
faax wrote:

how to show poster?


I think he wants it to look similar to like this:

15 Most Recently Active Forum Topics
   1. So now it's wrong to be able t ... :: dbmasters :: Open Discussion
   2. closed caption mistakes             :: dbmasters :: George W.2
   3. chain mail support from Australia :: caddickj :: International Relations

As seen here:

// extern.php - modified for version 1.1.5
// Do something similar in whatever version you're using

// active2 (show recently active topics as 'subject(linked) : poster : forum_name(linked)') (HTML)
// Written by Dean Gardner, modified from the original in the punBB-1.1.5 extern.php file
if ($_GET['action'] == 'active2')
    $order_by = ($_GET['action'] == 'active2') ? 't.last_post' : 't.posted';
    $forum_sql = '';

    // Was a forum ID supplied?
    if (isset($_GET['fid']))
        $fid = intval($_GET['fid']);
        if (!empty($fid))
            $forum_sql = 'f.id='.$fid.' AND ';

    // Should we output this as RSS?
    if (isset($_GET['type']) && strtoupper($_GET['type']) == 'RSS')
        $rss_description = ($_GET['action'] == 'active2') ? $lang_extern['RSS Description Active'] : $lang_extern['RSS Description New'];
        $url_action = ($_GET['action'] == 'active2') ? '&action=new' : '';

        // Send XML/no cache headers
        header('Content-Type: text/xml');
        header('Expires: '.gmdate('D, d M Y H:i:s').' GMT');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');

        // It's time for some syndication!
        echo '<?xml version="1.0" encoding="'.$lang_common['lang_encoding'].'"?>'."\r\n";
        echo '<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">'."\r\n";
        echo '<rss version="0.91">'."\r\n";
        echo '<channel>'."\r\n";
        echo "\t".'<title>'.pun_htmlspecialchars($pun_config['o_board_title']).'</title>'."\r\n";
        echo "\t".'<link>'.$pun_config['o_base_url'].'/</link>'."\r\n";
        echo "\t".'<description>'.pun_htmlspecialchars($rss_description.' '.$pun_config['o_board_title']).'</description>'."\r\n";
        echo "\t".'<language>en-us</language>'."\r\n";

        // Fetch 15 topics
        $result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, f.id AS fid, f.forum_name FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON t.forum_id=f.id WHERE t.moved_to IS NULL AND '.$forum_sql.'f.admmod_only=0 ORDER BY '.$order_by.' DESC LIMIT 15') or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());

        while ($cur_topic = $db->fetch_assoc($result))
            if ($pun_config['o_censoring'] == '1')
                $cur_topic['subject'] = censor_words($cur_topic['subject']);

            echo "\t".'<item>'."\r\n";
            echo "\t\t".'<title>'.pun_htmlspecialchars($cur_topic['subject']).'</title>'."\r\n";
            echo "\t\t".'<link>'.$pun_config['o_base_url'].'/viewtopic.php?id='.$cur_topic['id'].$url_action.'</link>'."\r\n";
            echo "\t\t".'<description><![CDATA['.escape_cdata($lang_extern['Forum'].': <a href="'.$pun_config['o_base_url'].'/viewforum.php?id='.$cur_topic['fid'].'" target="_blank">'.$cur_topic['forum_name'].'</a><br />'."\r\n".$lang_extern['Author'].': '.$cur_topic['poster'].'<br />'."\r\n".$lang_extern['Posted'].': '.date('r', $cur_topic['posted']).'<br />'."\r\n".$lang_extern['Last post'].': '.date('r', $cur_topic['last_post'])).']]></description>'."\r\n";
            echo "\t".'</item>'."\r\n";

        echo '</channel>'."\r\n";
        echo '</rss>';

    // Output regular HTML
        echo '<ol>'."\n";
        $show = intval($_GET['show']);
        if ($show < 1 || $show > 50)
            $show = 15;

        // Fetch $show topics
                $result = $db->query('SELECT t.id, t.subject, t.last_post, t.last_post_id, t.last_poster, t.forum_id, f.forum_name FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON t.forum_id=f.id WHERE t.moved_to IS NULL AND '.$forum_sql.'f.admmod_only=0 ORDER BY '.$order_by.' DESC LIMIT '.$show) or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());

        while ($cur_topic = $db->fetch_assoc($result))
            if ($pun_config['o_censoring'] == '1')
                $cur_topic['subject'] = censor_words($cur_topic['subject']);

            if (pun_strlen($cur_topic['subject']) > $max_subject_length)
                $subject_truncated = trim(substr($cur_topic['subject'], 0, ($max_subject_length-5))).' ...';
                $subject_truncated = $cur_topic['subject'];

            echo '<li><a class="topic" href="'.$pun_config['o_base_url'].'/viewtopic.php?id='.$cur_topic['id'].'&action=new" title="'.pun_htmlspecialchars($cur_topic['subject']).'">'.pun_htmlspecialchars($subject_truncated).'</a> <span class="block"><span class="dots">:: </span><b>'.$cur_topic['last_poster'].'</b> :: <a href="'.$pun_config['o_base_url'].'/viewforum.php?id='.$cur_topic['forum_id'].'">'.$cur_topic['forum_name'].'</a></span></li>'."\n";
        echo '</ol>'."\n";


Is Move Post 1.1.1 stable now?  Are any revisions or updates planned for the near future?  Is it OK to go ahead and install it now (I'd prefer to install it once and leave it alone for a few months if possible)?


(15 replies, posted in Feature requests)

Arvid wrote:

Yeah. Split and merge topics should definately be built in. These are really basic stuff and quite frankly i can't see how you're supposed to be able to moderate a forum without it.

This is pretty much what's keeping me from switching to PunBB.

pogenwurst wrote:
detuned wrote:
IdleFire wrote:


any word on this yet?

I dunno, will this work for you: Move Post?

Hmm, sounds familiar.  Where have I heard that before?  wink  It sounds like Move Post 1.1.1 is the official recommendation, then.  Thanks!


(17 replies, posted in PunBB 1.2 show off)

Jansson wrote:
Nemstudio wrote:

Sorry but what's the 1.1 look? wink

http://www.google.se/search?q=punbb+1.1.5 smile

http://forum.freesquid.org/ -  Version: 1.1.5, and proud of it. wink

The mod doesn't update forum counts?  It would need to update the `_forums` table, `_topics` table, and `_posts` table, wouldn't it?


(71 replies, posted in News)

Smartys wrote:

What makes you assume he kept his copy of PunBB somewhere? tongue

lol that's good

Here's what may be a stupid question.  With 1.2.11, auto-registration by the scripts will still happen, but there can only be a maximum of 1 per hour?  Or did I misunderstand?

'Merge posts'
This mod allows to merge your message with last message in a topic if it was yours

Thanks, that's close but not exactly what I'm looking for.  As an admin I'd like to be able to merge any topics, not just ones that I post myself.  I think 'Move Post 1.1.1' will do the trick.

3. That's what Version 1.2.11 was for.

I thought Version 1.2.11 only prevents a flood of automated registrations - that it still allows the first registration but after that no more are allowed from the same IP for an hour.  So the automated registrations would still happen, just not as much.  Or did I misunderstand?

1. Which mod should be used for splitting posts off into a new topic?  In other words, which is the current version of the 'split-topic' mod?
2. Is there a mod for merging 2 topics into 1 topic?
3. Are automated registration scripts a problem?  Should I use something to make sure only humans register, like image verification or a simple question like, "what color is an orange?"

OK, I see the answer to the first 2 questions (I assume 'Move Post 1.1.1' is the one to use).  Sorry, I was impatient and missed it the first time reading your list:

How do I add additional post moderation controls? http://punbb.org/forums/viewtopic.php?id=8101

http://www.punres.org/files/projects/pr … 9/mod.html
http://punbb.org/forums/viewtopic.php?pid=63385 - Move Post 1.1.1 (I saw this earlier and guessed it was the one to use but wasn't sure)


(4 replies, posted in Programming)

Good stuff.  I need to save this link for quick reference.  Thanks, Smartys.

us2.php.net/manual/en/function.nl2br.php wrote:

Note:  Starting with PHP 4.0.5, nl2br() is now XHTML compliant. All versions before 4.0.5 will return string with '<br>' inserted before newlines instead of '<br />'.

My version of MySQL is 4.0.17, but it still inserts '<br>'.  That's strange -- I thought it was supposed to be XHTML compliant.  I'll just add another line to replace the '<br>'s as well as the '<br />'s, to make the code forward-compatible.

Something like this, then, I suppose:

$full_copy = $row[full_copy];
$full_copy = nl2br($full_copy);
$full_copy = preg_replace('#<br />\s*?<br />(?!\s*<br />)#i', "</p>\n<p>", $full_copy);
echo $full_copy;