CHMOD your cache directory (and avatar directory while you're at it) so the script has permissions to write to those folders.


(2 replies, posted in Feature requests)

You will have to make a Swedish version of the language files, as there is no official Swedish version available.

For reference, here is the official english language pack that comes with PunBB:

If you do not know PHP, simply change the text in the quotes after the "=>"s to the Swedish. If you have any other questions, ask.


(3 replies, posted in PunBB 1.3 troubleshooting)

If you have extensions enabled, disable them one at a time to see if one in particular is causing the problem.

Reset your theme to the default to see if that's the problem.


(3 replies, posted in PunBB 1.3 troubleshooting)

Did you install the colored usergroups extension? Pretty sure that was causing similar issues, not sure if was resolved.

This extension allows you to have a custom favicon (the little icon in the address bar of your browser to the left of the address) defined for your forum. Normally, you can just put the "favicon.ico" file in the root of your web directory, however sometimes you want to have multiple favicons on different parts of your site.

For example: (see the white favicon at the root of the domain) (see the dark favicon specified with this extension in a sub-folder of the domain)

To use, simply install this extension and look on the main settings page of your administrative control panel:

Just put the full URL of the favicon you want to use there, and save changes. It should instantly update, but sometimes you have to restart your browser (since they cache favicons).

For more information on favicons:

As always, please comment on how I can improve my code if you notice anything wrong! (although I hope it's all right tongue)

DOWNLOAD v1.0.3:


(151 replies, posted in PunBB 1.3 extensions)

It would be nice to have a hook in/around line 182 of help.php:

    // Display the smiley set
    if (!defined('FORUM_PARSER_LOADED'))
        require FORUM_ROOT.'include/parser.php';

    $smiley_groups = array();

    foreach ($smilies as $smiley_text => $smiley_img)
        $smiley_groups[$smiley_img][] = $smiley_text;

    foreach ($smiley_groups as $smiley_img => $smiley_texts)
        echo "\t\t\t\t".'<p>'.implode(' '.$lang_common['and'].' ', $smiley_texts).' <span>'.$lang_help['produces'].'</span> <img src="'.$base_url.'/img/smilies/'.$smiley_img.'" width="15" height="15" alt="'.$smiley_texts[0].'" /></p>'."\n";

Why: For example, I have bypassed the smiley parser (through an extension) to make it easier to add custom smilies, so this code that depends on an array of $img=>$text breaks because through a hook in the parser I replace the contents of the smilies array with a different layout.

The reason I am requesting this hook is so I can change the format of the smilies help page to be something similar to this:

They're stored in the DB- however, I don't have a working copy of the 1.2 branch so I can't tell you what table they're in. Probably in the config table?


(3 replies, posted in PunBB 1.3 additions)

Are you asking how to add a custom BBCode that renders an icon? I'm not 100% clear.

My board is a small private community, and we use the features of additional navlinks (at the bottom of the "settings page" in administration) to link to some pages we'd rather keep private. Therefore, I wrote this very small, simple extension.

All it does is hide any additional navlinks in the main navigation bar from people viewing your forum who are not logged in. There are no config options, just upload and enable it and it should work.

I'm not sure how many people will find it useful, but I figured I would share since I had not seen another solution to it.



(8 replies, posted in News)

I don't think I have the skills yet to really make solid contributions, but I'm really glad to see that you guys are a) not dead and b) moving towards a more open source development solution!

Custom Smilies & Smiley Gallery

This mod replaces the built-in smiley parser with one that is backed from a database. It also create a page displays all of the smilies you have in the database.

You can see an example here.

There is currently no admin interface because I do not know how to make one sad But I am still working on it. Smilies must be inserted directly into the database. For help doing this I will explain the schema of the 2 tables this extention creates:

table custom_smilies_categories

  • id - a unique id number assigned to the category

  • category_name - a descriptive name for the category

table custom_smilies

  • category - the id number (see above) of the category this smiley belongs to

  • replace_text - the text that this smiley replaces in a parsed string

  • alt_text - some text to show when you hover over the smiley in a parsed string

  • smiley_file - the name of the smiley's graphic. This is relative to img/smilies/, so for example, if your smiley is called "happy.gif" and it's in the img/smilies folder, just make this value "happy.gif".

If you are using the BBCode bar, the smilies will be automatically hidden. Perhaps I should replace that with just a link to the smilies page?

Anyway, if there is futher interest, I will continue to work on this, otherwise it suits my needs. This is my first extension, so if anyone has any commentary about how bad the code is and how to make it better, I'd be glad to hear it smile. And of course, suggestions are always welcome.

Download: - version 1.0

EDIT: Was missing a comma in the installer, fixed that!

Doop, it turns out you have to use the 'e' flag on the pattern string!

Alright, I'm trying to write an extension that adds a BBCode that will function like this:


And will parse the tag into some information pulled from ISBNDB about the book. I have a function that takes an ISBN# and returns a string with all the markup for what the tag should be replaced with, however, I'm not sure how to implement it.

In parser.php on line 713, we see something like:

$replace[] = 'handle_img_tag(\'$1$3\', true)';

This to me looks like a function call to the "handle_img_tag()" method. However, in my manifest.xml, if I do something similar like:

$replace[] = 'getBookInfoByISBN(\'$1\')';

I just get that output as a string, not as the actual result of the function call... (the function is definitely there, I require_once the file it's in in an earlier hook).

Any ideas on how to make a BBCode replace with the return value of a method as opposed to some static string?

So I just upgraded to 1.3.4 and I really like the new features, however I miss the old 1.2.x theme. It was really compact and simplistic, as opposed to the 1.3.x theme which is just... very Web 2.0 looking. Not that that's bad. It's just... big.

Anyway, what I'm wondering is if there's an easy way to port over the 1.2.x theme to 1.3.x. If there's simple way to do it, I suppose I can create something using the style generator, but if there's a simpler solution I'd rather go for that first.