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
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.