PDA

View Full Version : help needed


forumas
07-17-2006, 11:20 AM
When my users register free forum with " " or "-" in forum name,
they'we got for example these message...

phpBB : critical error

Could not query config information

DEBUG MODE

SQL Error : 1146 Table 'posphp2.Computer' doesn't exist

SELECT * FROM Computer Labs_config

Line : 256
File : common.php


sto the adress should be www.domain.com/omputer labs/
the same problem is when adress is www.domain.com/omputer-labs/

how can I disable !_" !"#$%&/(()==?:;., characters in forum names...

BMR777
07-17-2006, 01:10 PM
Well, Derek has already said that spaces cause an error when installing forums. It's a known bug I believe. This is the first i am hearing about "-" causing problems but maybe Derek knows more about this.

For now I would if I were you make a note to your members that they cannot put those characters in their forums.

BMR777

Derek
07-17-2006, 01:29 PM
This should do it...

Open new_forum.php

Find:

if (empty($_POST['tos']))
{
print_error_message($lang['terms_of_service_not_checked_error']);
}


Add Under:

$_POST['accessname'] = trim($_POST['accessname']);
$_POST['accessname'] = str_replace(' ', '_', $_POST['accessname']);
$_POST['accessname'] = str_replace('!', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('"', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('\'', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('/', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('@', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('#', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('$', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('%', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('^', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('&', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('*', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('(', '', $_POST['accessname']);
$_POST['accessname'] = str_replace(')', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('-', '_', $_POST['accessname']);
$_POST['accessname'] = str_replace('?', '', $_POST['accessname']);
$_POST['accessname'] = str_replace(',', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('.', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('<', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('>', '', $_POST['accessname']);
$_POST['accessname'] = str_replace(':', '', $_POST['accessname']);
$_POST['accessname'] = str_replace(';', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('{', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('}', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('|', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('=', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('+', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('`', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('~', '', $_POST['accessname']);
$_POST['accessname'] = str_replace('[', '', $_POST['accessname']);
$_POST['accessname'] = str_replace(']', '', $_POST['accessname']);


Close and Save new_forum.php.

Let me know if you have any problems with it.

Thanks,
Derek

forumas
07-17-2006, 05:03 PM
nice job derek

Derek
07-17-2006, 05:09 PM
Thanks, so it's working?

Derek

1zodiac
07-18-2006, 08:31 AM
it doesn't replace in the activation email.

Derek
07-18-2006, 10:44 AM
Ok I will take a look.

Derek

Derek
07-18-2006, 10:47 AM
What does it show up as in the email?

Thanks,
Derek

1zodiac
07-18-2006, 06:54 PM
sign up a:a, in the email you'll get:

Hello a:a,

A free phpBB forum hosting account has been created, per your request
at http://www.domain.com/

If you did not create it, then you can simply ignore this email as
the account won't be activated unless you click the link below.

Here are the details of the account...

Access Name: fads:fads
Forum Name: fads
Forum Administrator Username: fads
Password: fads
Email: email@email.com


To activate your forum, please click the link below.

http://www....accessname=a:a&key...


if there is a space,there will be a break in the link.
if it is removed,it will activate.

Derek
07-18-2006, 08:04 PM
Ok, I'll take a look and fix it.

Derek

Derek
07-18-2006, 08:27 PM
Ok, here is the fix...

Open new_forum.php.

Find:

if ($setting['verify_email_address'] == 1)
{


Add Under:

$accessname = trim($_POST['accessname']);
$accessname = str_replace(' ', '_', $accessname);
$accessname = str_replace('!', '', $accessname);
$accessname = str_replace('"', '', $accessname);
$accessname = str_replace('\'', '', $accessname);
$accessname = str_replace('/', '', $accessname);
$accessname = str_replace('@', '', $accessname);
$accessname = str_replace('#', '', $accessname);
$accessname = str_replace('$', '', $accessname);
$accessname = str_replace('%', '', $accessname);
$accessname = str_replace('^', '', $accessname);
$accessname = str_replace('&', '', $accessname);
$accessname = str_replace('*', '', $accessname);
$accessname = str_replace('(', '', $accessname);
$accessname = str_replace(')', '', $accessname);
$accessname = str_replace('-', '_', $accessname);
$accessname = str_replace('?', '', $accessname);
$accessname = str_replace(',', '', $accessname);
$accessname = str_replace('.', '', $accessname);
$accessname = str_replace('<', '', $accessname);
$accessname = str_replace('>', '', $accessname);
$accessname = str_replace(':', '', $accessname);
$accessname = str_replace(';', '', $accessname);
$accessname = str_replace('{', '', $accessname);
$accessname = str_replace('}', '', $accessname);
$accessname = str_replace('|', '', $accessname);
$accessname = str_replace('=', '', $accessname);
$accessname = str_replace('+', '', $accessname);
$accessname = str_replace('`', '', $accessname);
$accessname = str_replace('~', '', $accessname);
$accessname = str_replace('[', '', $accessname);
$accessname = str_replace(']', '', $accessname);


Close and Save new_forum.php.

Open language/lang_english/lang_nbs_multi-forums_phpbb.php.

Find:

$lang['verify_email_message'] = 'Hello ' . $_POST['accessname'] . ',
A free phpBB forum hosting account has been created, per your request at http://' . $setting['domain'].$setting['path'] . 'new_forum.php.
A user from {ipaddress} created the account. If you did not create it, then you can simply ignore this email as the account won\'t be activated unless you click the link below.
Here are the details of the account...
Access Name: ' . $_POST['accessname'] . '
Forum Name: ' . $_POST['forumname'] . '
Forum Description: ' . $_POST['forumdescription'] . '
Forum Administrator Username: ' . $_POST['adminuser'] . '
Password: ' . $_POST['adminpass'] . '
Email: ' . $_POST['adminemail'] . '

To activate your forum, please click the link below.
http://' . $setting['domain'].$setting['path'] . 'new_forum.php?do=activate&accessname=' . $_POST['accessname'] . '&key={act_key}

' . $setting['email_signature'];


Replace With:

$lang['verify_email_message'] = 'Hello {accessname},
A free phpBB forum hosting account has been created, per your request at http://' . $setting['domain'].$setting['path'] . 'new_forum.php.
A user from {ipaddress} created the account. If you did not create it, then you can simply ignore this email as the account won\'t be activated unless you click the link below.
Here are the details of the account...
Access Name: {accessname}
Forum Name: ' . $_POST['forumname'] . '
Forum Description: ' . $_POST['forumdescription'] . '
Forum Administrator Username: ' . $_POST['adminuser'] . '
Password: ' . $_POST['adminpass'] . '
Email: ' . $_POST['adminemail'] . '

To activate your forum, please click the link below.
http://' . $setting['domain'].$setting['path'] . 'new_forum.php?do=activate&accessname={accessname}&key={act_key}

' . $setting['email_signature'];


Close and Save language/lang_english/lang_nbs_multi-forums_phpbb.php.

Derek