@milkiway Well, there's always a way, but this would differ from forum to forum (which means you can't write "universal" script), so I guess no programmer would do it here...

But if it's only 60 messages you could do it manually... smile

(I presume by "existing PunBB forum" you mean forum with some users, posts and so... If not you can of course use my script)  smile

KeyDog wrote:

If you know a way to get our own queryable

Well, it's not problem smile

With the SQL table structure you used in this post. (BTW, not really sure - what's in table "type"?)

This will do smile
http://keydog.info/index.php?url_spam=http://example.com/example
[code=php]<?php
if(isset($_GET['url_spam']) && !empty($_GET['url_spam'])) {
    $url = mysql_real_escape_string(urldecode($_GET['url_spam'])); //protection against SQL injection + encoding for national domains
    $q = mysql_query("SELECT keyword, position, type FROM spamurls WHERE url = '$url'");
    while($z = mysql_fetch_array($q)) {
        echo json_encode($z);
    }
}
[/code]

Which will output something you can easily decode with [code=php]json_decode()[/code] smile

KeyDog wrote:

why aren't we using normal string functions to cut everything out of the url tags till we reach http

Because I was lazy to implement it... big_smile (It's planned for next version wink)

48 pages... really?  big_smile neutral

Without article is imo best choice. But I'm thinking... this is "just" slogan, so there shouldn't be capitals, should it? As well, I think that slogan shouldn't contain the PunBB in it (it looks quite strange, when you see PunBB 2 times there hmm)

So... this is how would I prefer it:

PunBB Forums
Lightweight PHP-based forum

106

(4 replies, posted in PunBB 1.3 extensions)

PunBB automatically compares extension version installed with version which is in manifest.xml, so just update version number and edit <install>

This is for example pun_pm's <install>
[code=php]
// Setup main table
if (!$forum_db->table_exists('pun_pm_messages'))
{
    $schema = array(
        'FIELDS'            => array(
            'id'                => array(
                'datatype'        => 'SERIAL',
                'allow_null'    => false
            ),
            'sender_id'            => array(
                'datatype'        => 'INT(10) UNSIGNED',
                'allow_null'    => false,
                'default'        => '0'
            ),
            'receiver_id'        => array(
                'datatype'        => 'INT(10) UNSIGNED',
                'allow_null'    => true
            ),
            'lastedited_at'        => array(
                'datatype'        => 'INT(10) UNSIGNED',
                'allow_null'    => false,
                'default'        => '0'
            ),
            'read_at'            => array(
                'datatype'        => 'INT(10) UNSIGNED',
                'allow_null'    => false,
                'default'        => '0'
            ),
            'subject'            => array(
                'datatype'        => 'VARCHAR(255)',
                'allow_null'    => false,
                'default'        => '\'\''
            ),
            'body'                => array(
                'datatype'        => 'TEXT',
                'allow_null'    => false
            ),
            'status'            => array(
                'datatype'        => 'VARCHAR(9)',
                'allow_null'    => false,
                'default'        => '\'draft\'',
            ),
            'deleted_by_sender'    => array(
                'datatype'        => 'TINYINT(1)',
                'allow_null'    => false,
                'default'        => '0'
            ),
            'deleted_by_receiver'=> array(
                'datatype'        => 'TINYINT(1)',
                'allow_null'    => false,
                'default'        => '0'
            )
        ),
        'PRIMARY KEY'    => array('id'),
        'INDEXES'        => array(
            'sender_id_idx'        => array('sender_id'),
            'receiver_id_idx'    => array('receiver_id'),
        )
    );

    $forum_db->create_table('pun_pm_messages', $schema);
}
else if (defined('EXT_CUR_VERSION') && version_compare(EXT_CUR_VERSION, '1.1b2', '<')) {
    $forum_db->add_field('pun_pm_messages', 'lastedited_at_new', 'INT(10) UNSIGNED', false, '0');
    $forum_db->add_field('pun_pm_messages', 'read_at_new', 'INT(10) UNSIGNED', false, '0');

    $forum_db->query('UPDATE '.$forum_db->prefix.'pun_pm_messages SET lastedited_at_new = UNIX_TIMESTAMP(lastedited_at)');
    $forum_db->query('UPDATE '.$forum_db->prefix.'pun_pm_messages SET read_at_new = UNIX_TIMESTAMP(read_at)');

    $forum_db->drop_field('pun_pm_messages', 'lastedited_at');
    $forum_db->drop_field('pun_pm_messages', 'read_at');

    $forum_db->query('ALTER TABLE '.$forum_db->prefix.'pun_pm_messages
        CHANGE lastedited_at_new lastedited_at INT(10) UNSIGNED NOT NULL DEFAULT 0,
        CHANGE read_at_new read_at INT(10) UNSIGNED NOT NULL DEFAULT 0,
        MODIFY status VARCHAR(9) NOT NULL DEFAULT \'draft\'') or error(__FILE__, __LINE__);
}

// Add extension options to the config table
if (!isset($forum_config['o_pun_pm_inbox_size']))
{
    $query = array(
        'INSERT'    => 'conf_name, conf_value',
        'INTO'        => 'config',
        'VALUES'    => '\'o_pun_pm_inbox_size\', \'100\''
    );
    $forum_db->query_build($query) or error(__FILE__, __LINE__);
}

if (!isset($forum_config['o_pun_pm_outbox_size']))
{
    $query = array(
        'INSERT'    => 'conf_name, conf_value',
        'INTO'        => 'config',
        'VALUES'    => '\'o_pun_pm_outbox_size\', \'100\''
    );
    $forum_db->query_build($query) or error(__FILE__, __LINE__);
}

if (!isset($forum_config['o_pun_pm_show_new_count']))
{
    $query = array(
        'INSERT'    => 'conf_name, conf_value',
        'INTO'        => 'config',
        'VALUES'    => '\'o_pun_pm_show_new_count\', \'1\''
    );
    $forum_db->query_build($query) or error(__FILE__, __LINE__);
}

if (!isset($forum_config['o_pun_pm_show_global_link']))
{
    $query = array(
        'INSERT'    => 'conf_name, conf_value',
        'INTO'        => 'config',
        'VALUES'    => '\'o_pun_pm_show_global_link\', \'1\''
    );
    $forum_db->query_build($query) or error(__FILE__, __LINE__);
}

// Field for cache
if (!$forum_db->field_exists('users', 'pun_pm_new_messages'))
    $forum_db->add_field('users', 'pun_pm_new_messages', 'INT(10)', true);

// User options
if (!$forum_db->field_exists('users', 'pun_pm_long_subject'))
    $forum_db->add_field('users', 'pun_pm_long_subject', 'TINYINT(1)', false, 1);
[/code]

107

(3 replies, posted in PunBB show off)

Nice colors and interestingly aimed topic. I think I'll definitely check this forum more thoroughly smile

Hi, this topic should help  smile

TomeOne wrote:

He only had the URL in the website part of his profile's contact info.

True, forgot about controlling website in user's info. I should add it in 0.5

TomeOne wrote:

Would be useful if the table showed the person's username instead of replacing it with "DELETED."

I'll think about that smile)

According to this discussion this code could work...

[code=sql]REPAIR TABLE tablename USE_FRM;[/code]

111

(5 replies, posted in PunBB 1.3 extensions)

kiejr wrote:

Maybe even Admins should be able to see who really posts

You can recognize it from IPs smile

BTW, if you want to change only colors you can do it purely in CSS. Oxygen_cs.css, lines 360+

[code=css]/* Status indicators
----------------------------------------------------------------*/

.brd .main-content .main-item .icon {
    border-color: #EDF1F5 #DDE0E4 #C6CBD3 #BABFC6;
    }

.brd .main-content .redirect .icon {
    border-color: #f4f4f4 #f4f4f4 #f4f4f4 #f4f4f4;
    }

.brd .main-content .sticky .icon {
    border-color: #D7E5F3 #C3CFDC #9FB3C7 #90A2B4;
    }

.brd .main-content .closed .icon {
    border-color: #ACACAC #979797 #898989 #7A7A7A;
    }

.brd .main-content .sticky .closed .icon {
    border-color: #D7E5F3 #C3CFDC #898989 #7A7A7A;
    }

.brd .main-content .new .icon {
    border-color: #2B75AD #235E8C #1F537B #266799;
    }
[/code]

kiejr wrote:

Some people say it's space, but I've used 48.16MB out of 50000MB on my server.  hmm

It is possible, that you have a lot of space for files, but not so much for db. As well, I googled this post, which indicates, that it could be caused by your hosting upgrading MySQL db.... Anyway, write your hosting support wink

114

(2 replies, posted in PunBB 1.3 troubleshooting)

Hi,

check this Wiki page (you can find there how to programme logging form and some other useful things).

For handling cookies I suggest study function cookie_login in ./include/functions.php or actually better way would IMO be to include ./include/common.php to your files so you can use all PunBB functions (including the cookie_login, so you have all info about user in $forum_user).

BTW, cg for that smile

bajdec wrote:

I'm 14 years old.
I've got my own-programmed porta

Unfortunately, it seems that bots nowadays can parse Javascript (what they couldn't few years back hmm), so imo this isn't the best solution. As well, this means, that users with disallowed javascript (and many people do, cause of security reasons) would have problems...  neutral

116

(13 replies, posted in PunBB 1.3 troubleshooting)

That "white space" is your's forum title in white color on white background.

You can change it in oxygen_cs.css, row 305
[code=css]#brd-head a, #brd-head a:link, #brd-head a:visited {
color:#FFFFFF;
}[/code]

The Style generator could help you with customising colors too  smile

@KeyDog Actually there's easier (and better) way to do that with forum's function, but well, for this I need API key, so it means I have to programme something for Administrators to insert the key to forum's config and they would have to register to SFS.com and generate their API key... and frankly - I don't have time/mood for doing that sad

But, well if someone's little bit bored, feel free to programme that - I think you could for example use hook aba_add_edit_ban_qr_add_ban and add IP to SFS database (function get_remote_file() should do the trick), if the $ban_message is "spambot" or something like that.

ollyno1uk wrote:

Have you done any other extensions at all? If so, do you have a list? It is nice to see someone still active around here!

*cough*If so, we'd appreciate if you'd add it to the Wiki btw wink*cough*

120

(14 replies, posted in PunBB 1.3 extensions)

@Gujjerji110 Still working  smile

121

(14 replies, posted in PunBB 1.3 extensions)

8k84 wrote:

One thing though: silencing should also work from "User's profile - Administration" page, as banning does.

Yea, I could look do that smile

Ok, so here we got new version of Url checker (v4.0). Its new functionality is to automatically delete users, that try to enter "spamming url" and have less then 5 posts. I've been thinking a lot about that, and I think there's no need to add enable/disable option to administration.

As well, this version contains new .csv (2010-08-24) file, which contains URLs only (for better performance while searching the file).

TODO for version 0.5:
We should figure out how to "canonize" URLs (no spaces, "/" at the end...) and how to rid of duplicates in .csv file neutral
As well, I could try out how would MySQL table instead of .csv perform

Unfortunately there's plenty of sites like tinyurl, and doing preview for each of them would be... quite hard. Actually the better way would imo be to persuade tinyurl (and other sites) founder to crosscheck url on their side. I believe they use something like that already for sites infected with viruses smile

124

(2 replies, posted in Feature requests)

I'm not even sure, whether I've seen this functionality on any other board. IMO this isn't that "needed" feature, that should be in core smile

Actually this seems more like broken spambot  big_smile