fix some issues with oop, fixing small bugs and prepare the next steps...

NOTE TO DEVS: have a look at adm/admin_board.php (new config layout)


git-svn-id: file:///svn/phpbb/trunk@4883 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen 2004-05-02 13:06:57 +00:00
parent 67d2ac3667
commit 729c3abd02
58 changed files with 1693 additions and 3073 deletions

View file

@ -104,23 +104,6 @@ if ($mode == 'attach')
if ($submit) if ($submit)
{ {
/*
// Update Extension Group Filesizes
if ($config_name == 'max_filesize')
{
$old_size = (int) $default_config[$config_name];
$new_size = (int) $new[$config_name];
if ($old_size != $new_size)
{
// check for similar value of old_size in Extension Groups. If so, update these values.
$sql = 'UPDATE ' . EXTENSION_GROUPS_TABLE . "
SET max_filesize = $new_size
WHERE max_filesize = $old_size";
$db->sql_query($sql);
}
}
*/
set_config($config_name, $new[$config_name]); set_config($config_name, $new[$config_name]);
if (in_array($config_name, array('max_filesize', 'attachment_quota', 'max_filesize_pm'))) if (in_array($config_name, array('max_filesize', 'attachment_quota', 'max_filesize_pm')))
@ -299,12 +282,13 @@ if ($submit && $mode == 'ext_groups')
if (!sizeof($error)) if (!sizeof($error))
{ {
// Ok, build the update/insert array // Ok, build the update/insert array
$upload_icon = request_var('upload_icon', 'no_image'); $upload_icon = request_var('upload_icon', 'no_image');
$size_select = request_var('size_select', 'b'); $size_select = request_var('size_select', 'b');
$forum_select = request_var('forum_select', false); $forum_select = request_var('forum_select', false);
$allowed_forums = isset($_REQUEST['allowed_forums']) ? array_map('intval', array_values($_REQUEST['allowed_forums'])) : array(); $allowed_forums = isset($_REQUEST['allowed_forums']) ? array_map('intval', array_values($_REQUEST['allowed_forums'])) : array();
$max_filesize = request_var('max_filesize', 0); $allow_in_pm = isset($_REQUEST['allow_in_pm']) ? true : false;
$max_filesize = ($size_select == 'kb') ? round($max_filesize * 1024) : (($size_select == 'mb') ? round($max_filesize * 1048576) : $max_filesize); $max_filesize = request_var('max_filesize', 0);
$max_filesize = ($size_select == 'kb') ? round($max_filesize * 1024) : (($size_select == 'mb') ? round($max_filesize * 1048576) : $max_filesize);
if ($max_filesize == $config['max_filesize']) if ($max_filesize == $config['max_filesize'])
{ {
@ -323,7 +307,8 @@ if ($submit && $mode == 'ext_groups')
'download_mode' => request_var('download_mode', INLINE_LINK), 'download_mode' => request_var('download_mode', INLINE_LINK),
'upload_icon' => ($upload_icon == 'no_image') ? '' : $upload_icon, 'upload_icon' => ($upload_icon == 'no_image') ? '' : $upload_icon,
'max_filesize' => $max_filesize, 'max_filesize' => $max_filesize,
'allowed_forums'=> ($forum_select) ? serialize($allowed_forums) : '' 'allowed_forums'=> ($forum_select) ? serialize($allowed_forums) : '',
'allow_in_pm' => ($allow_in_pm) ? 1 : 0
); );
$sql = ($action == 'add') ? 'INSERT INTO ' . EXTENSION_GROUPS_TABLE . ' ' : 'UPDATE ' . EXTENSION_GROUPS_TABLE . ' SET '; $sql = ($action == 'add') ? 'INSERT INTO ' . EXTENSION_GROUPS_TABLE . ' ' : 'UPDATE ' . EXTENSION_GROUPS_TABLE . ' SET ';
@ -377,7 +362,7 @@ if ($submit && $mode == 'ext_groups')
if ($submit && $mode == 'orphan') if ($submit && $mode == 'orphan')
{ {
$delete_files = array_keys(request_var('delete', '')); $delete_files = array_keys(request_var('delete', ''));
$add_files = array_keys(request_var('add', '')); $add_files = (isset($_REQUEST['add'])) ? array_keys(request_var('add', '')) : array();
$post_ids = request_var('post_id', 0); $post_ids = request_var('post_id', 0);
foreach ($delete_files as $delete) foreach ($delete_files as $delete)
@ -802,6 +787,7 @@ if ($mode == 'ext_groups')
$group_name = request_var('group_name', ''); $group_name = request_var('group_name', '');
$cat_id = 0; $cat_id = 0;
$allow_group = 1; $allow_group = 1;
$allow_in_pm = 1;
$download_mode = 1; $download_mode = 1;
$upload_icon = ''; $upload_icon = '';
$max_filesize = 0; $max_filesize = 0;
@ -838,7 +824,8 @@ if ($mode == 'ext_groups')
$max_filesize = ($max_filesize >= 1048576) ? round($max_filesize / 1048576 * 100) / 100 : (($max_filesize >= 1024) ? round($max_filesize / 1024 * 100) / 100 : $max_filesize); $max_filesize = ($max_filesize >= 1048576) ? round($max_filesize / 1048576 * 100) / 100 : (($max_filesize >= 1024) ? round($max_filesize / 1024 * 100) / 100 : $max_filesize);
$s_allowed = ($allow_group == 1) ? 'checked="checked"' : ''; $s_allowed = ($allow_group) ? ' checked="checked"' : '';
$s_in_pm_allowed = ($allow_in_pm) ? ' checked="checked"' : '';
$filename_list = ''; $filename_list = '';
$no_image_select = false; $no_image_select = false;
@ -926,7 +913,11 @@ if ($mode == 'ext_groups')
</tr> </tr>
<tr> <tr>
<td class="row1" width="35%"><b><?php echo $user->lang['ALLOWED']; ?></b>:</td> <td class="row1" width="35%"><b><?php echo $user->lang['ALLOWED']; ?></b>:</td>
<td class="row2"><input type="checkbox" name="allow_group" value="<?php echo $group_id; ?>" <?php echo $s_allowed; ?> /></td> <td class="row2"><input type="checkbox" name="allow_group" value="<?php echo $group_id; ?>"<?php echo $s_allowed; ?> /></td>
</tr>
<tr>
<td class="row1" width="35%"><b><?php echo $user->lang['ALLOW_IN_PM']; ?></b>:</td>
<td class="row2"><input type="checkbox" name="allow_in_pm" value="1"<?php echo $s_in_pm_allowed; ?> /></td>
</tr> </tr>
<tr> <tr>
<td class="row1" width="35%"><b><?php echo $user->lang['DOWNLOAD_MODE']; ?></b>:</td> <td class="row1" width="35%"><b><?php echo $user->lang['DOWNLOAD_MODE']; ?></b>:</td>
@ -1416,9 +1407,10 @@ function upload_file($post_id, $topic_id, $forum_id, $upload_dir, $filename)
if ($filedata['post_attach'] && !sizeof($filedata['error'])) if ($filedata['post_attach'] && !sizeof($filedata['error']))
{ {
$message_parser->attachment_data = array( $message_parser->attachment_data = array(
'post_id' => $post_id, 'post_msg_id' => $post_id,
'poster_id' => $user->data['user_id'], 'poster_id' => $user->data['user_id'],
'topic_id' => $topic_id, 'topic_id' => $topic_id,
'in_message' => 0,
'physical_filename' => $filedata['destination_filename'], 'physical_filename' => $filedata['destination_filename'],
'real_filename' => $filedata['filename'], 'real_filename' => $filedata['filename'],
'comment' => $message_parser->filename_data['filecomment'], 'comment' => $message_parser->filename_data['filecomment'],
@ -1725,8 +1717,15 @@ function rewrite_extensions()
$extensions[$extension]['upload_icon'] = (string) $row['upload_icon']; $extensions[$extension]['upload_icon'] = (string) $row['upload_icon'];
$extensions[$extension]['max_filesize'] = (int) $row['max_filesize']; $extensions[$extension]['max_filesize'] = (int) $row['max_filesize'];
$allowed_forums = ($row['allowed_forums']) ? unserialize(trim($row['allowed_forums'])) : array();
if ($row['allow_in_pm'])
{
$allowed_forums = array_merge($allowed_forums, array(0));
}
// Store allowed extensions forum wise // Store allowed extensions forum wise
$extensions['_allowed_'][$extension] = (!$row['allowed_forums']) ? 0 : unserialize(trim($row['allowed_forums'])); $extensions['_allowed_'][$extension] = (!sizeof($allowed_forums)) ? 0 : $allowed_forums;
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);

View file

@ -22,6 +22,7 @@ if (!empty($setmodules))
$module['GENERAL']['EMAIL_SETTINGS'] = ($auth->acl_get('a_server')) ? "$filename$SID&amp;mode=email" : ''; $module['GENERAL']['EMAIL_SETTINGS'] = ($auth->acl_get('a_server')) ? "$filename$SID&amp;mode=email" : '';
$module['GENERAL']['LOAD_SETTINGS'] = ($auth->acl_get('a_server')) ? "$filename$SID&amp;mode=load" : ''; $module['GENERAL']['LOAD_SETTINGS'] = ($auth->acl_get('a_server')) ? "$filename$SID&amp;mode=load" : '';
$module['GENERAL']['SERVER_SETTINGS'] = ($auth->acl_get('a_server')) ? "$filename$SID&amp;mode=server" : ''; $module['GENERAL']['SERVER_SETTINGS'] = ($auth->acl_get('a_server')) ? "$filename$SID&amp;mode=server" : '';
$module['GENERAL']['MESSAGE_SETTINGS'] = ($auth->acl_get('a_defaults')) ? "$filename$SID&amp;mode=message" : '';
$module['USER']['KARMA_SETTINGS'] = ($auth->acl_get('a_user')) ? "$filename$SID&amp;mode=karma" : ''; $module['USER']['KARMA_SETTINGS'] = ($auth->acl_get('a_user')) ? "$filename$SID&amp;mode=karma" : '';
return; return;
} }
@ -76,6 +77,10 @@ switch ($mode)
$l_title = 'KARMA_SETTINGS'; $l_title = 'KARMA_SETTINGS';
$which_auth = 'a_user'; $which_auth = 'a_user';
break; break;
case 'message':
$l_title = 'MESSAGE_SETTINGS';
$which_auth = 'a_defaults';
break;
default: default:
return; return;
} }
@ -86,23 +91,12 @@ if (!$auth->acl_get($which_auth))
trigger_error($user->lang['NO_ADMIN']); trigger_error($user->lang['NO_ADMIN']);
} }
// Pull all config data $new = $config;
$sql = 'SELECT * $cfg_array = (isset($_REQUEST['config'])) ? request_var('config', '') : $new;
FROM ' . CONFIG_TABLE;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) foreach ($cfg_array as $config_name => $config_value)
{ {
$config_name = $row['config_name']; $new[$config_name] = $config_value;
$config_value = $row['config_value'];
$default_config[$config_name] = $config_value;
$new[$config_name] = request_var($config_name, $default_config[$config_name]);
if ($config_name == 'bump_interval' && $submit)
{
$new['bump_interval'] = request_var('bump_interval', 2) . request_var('bump_type', 'd');
}
if ($config_name == 'email_function_name') if ($config_name == 'email_function_name')
{ {
@ -111,7 +105,7 @@ while ($row = $db->sql_fetchrow($result))
if ($submit) if ($submit)
{ {
set_config($config_name, $new[$config_name]); set_config($config_name, $config_value);
} }
} }
@ -147,19 +141,19 @@ switch ($mode)
?> ?>
<tr> <tr>
<td class="row1" width="50%"><b><?php echo $user->lang['COOKIE_DOMAIN']; ?>: </b></td> <td class="row1" width="50%"><b><?php echo $user->lang['COOKIE_DOMAIN']; ?>: </b></td>
<td class="row2"><input class="post" type="text" maxlength="255" name="cookie_domain" value="<?php echo $new['cookie_domain']; ?>" /></td> <td class="row2"><input class="post" type="text" maxlength="255" name="config[cookie_domain]" value="<?php echo $new['cookie_domain']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['COOKIE_NAME']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['COOKIE_NAME']; ?>: </b></td>
<td class="row2"><input class="post" type="text" maxlength="16" name="cookie_name" value="<?php echo $new['cookie_name']; ?>" /></td> <td class="row2"><input class="post" type="text" maxlength="16" name="config[cookie_name]" value="<?php echo $new['cookie_name']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['COOKIE_PATH']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['COOKIE_PATH']; ?>: </b></td>
<td class="row2"><input class="post" type="text" maxlength="255" name="cookie_path" value="<?php echo $new['cookie_path']; ?>" /></td> <td class="row2"><input class="post" type="text" maxlength="255" name="config[cookie_p]" value="<?php echo $new['cookie_path']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['COOKIE_SECURE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['COOKIE_SECURE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['COOKIE_SECURE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['COOKIE_SECURE_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="cookie_secure" value="0"<?php echo $cookie_secure_no; ?> /><?php echo $user->lang['DISABLED']; ?>&nbsp;&nbsp;<input type="radio" name="cookie_secure" value="1"<?php echo $cookie_secure_yes; ?> /><?php echo $user->lang['ENABLED']; ?></td> <td class="row2"><input type="radio" name="config[cookie_secure]" value="0"<?php echo $cookie_secure_no; ?> /><?php echo $user->lang['DISABLED']; ?>&nbsp;&nbsp;<input type="radio" name="config[cookie_secure]" value="1"<?php echo $cookie_secure_yes; ?> /><?php echo $user->lang['ENABLED']; ?></td>
</tr> </tr>
<?php <?php
@ -177,35 +171,35 @@ switch ($mode)
?> ?>
<tr> <tr>
<td class="row1" width="50%"><b><?php echo $user->lang['ALLOW_LOCAL']; ?>: </b></td> <td class="row1" width="50%"><b><?php echo $user->lang['ALLOW_LOCAL']; ?>: </b></td>
<td class="row2"><input type="radio" name="allow_avatar_local" value="1"<?php echo $avatars_local_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_avatar_local" value="0"<?php echo $avatars_local_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_avatar_local]" value="1"<?php echo $avatars_local_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_avatar_local]" value="0"<?php echo $avatars_local_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_REMOTE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ALLOW_REMOTE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['ALLOW_REMOTE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ALLOW_REMOTE_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="allow_avatar_remote" value="1"<?php echo $avatars_remote_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_avatar_remote" value="0"<?php echo $avatars_remote_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_avatar_remote]" value="1"<?php echo $avatars_remote_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_avatar_remote]" value="0"<?php echo $avatars_remote_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_UPLOAD']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['ALLOW_UPLOAD']; ?>: </b></td>
<td class="row2"><input type="radio" name="allow_avatar_upload" value="1"<?php echo $avatars_upload_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_avatar_upload" value="0"<?php echo $avatars_upload_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_avatar_upload]" value="1"<?php echo $avatars_upload_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_avatar_upload]" value="0"<?php echo $avatars_upload_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['MAX_FILESIZE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MAX_FILESIZE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['MAX_FILESIZE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MAX_FILESIZE_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="4" maxlength="10" name="avatar_filesize" value="<?php echo $new['avatar_filesize']; ?>" /> Bytes</td> <td class="row2"><input class="post" type="text" size="4" maxlength="10" name="config[avatar_filesize]" value="<?php echo $new['avatar_filesize']; ?>" /> Bytes</td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['MIN_AVATAR_SIZE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MIN_AVATAR_SIZE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['MIN_AVATAR_SIZE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MIN_AVATAR_SIZE_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="3" maxlength="4" name="avatar_min_height" value="<?php echo $new['avatar_min_height']; ?>" /> x <input class="post" type="text" size="3" maxlength="4" name="avatar_min_width" value="<?php echo $new['avatar_min_width']; ?>"></td> <td class="row2"><input class="post" type="text" size="3" maxlength="4" name="config[avatar_min_height]" value="<?php echo $new['avatar_min_height']; ?>" /> x <input class="post" type="text" size="3" maxlength="4" name="config[avatar_min_width]" value="<?php echo $new['avatar_min_width']; ?>"></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['MAX_AVATAR_SIZE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MAX_AVATAR_SIZE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['MAX_AVATAR_SIZE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MAX_AVATAR_SIZE_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="3" maxlength="4" name="avatar_max_height" value="<?php echo $new['avatar_max_height']; ?>" /> x <input class="post" type="text" size="3" maxlength="4" name="avatar_max_width" value="<?php echo $new['avatar_max_width']; ?>"></td> <td class="row2"><input class="post" type="text" size="3" maxlength="4" name="config[avatar_max_height]" value="<?php echo $new['avatar_max_height']; ?>" /> x <input class="post" type="text" size="3" maxlength="4" name="config[avatar_max_width]" value="<?php echo $new['avatar_max_width']; ?>"></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['AVATAR_STORAGE_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['AVATAR_STORAGE_PATH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['AVATAR_STORAGE_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['AVATAR_STORAGE_PATH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="20" maxlength="255" name="avatar_path" value="<?php echo $new['avatar_path']; ?>" /></td> <td class="row2"><input class="post" type="text" size="20" maxlength="255" name="config[avatar_path]" value="<?php echo $new['avatar_path']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['AVATAR_GALLERY_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['AVATAR_GALLERY_PATH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['AVATAR_GALLERY_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['AVATAR_GALLERY_PATH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="20" maxlength="255" name="avatar_gallery_path" value="<?php echo $new['avatar_gallery_path']; ?>" /></td> <td class="row2"><input class="post" type="text" size="20" maxlength="255" name="config[avatar_gallery_path]" value="<?php echo $new['avatar_gallery_path']; ?>" /></td>
</tr> </tr>
<?php <?php
@ -220,7 +214,7 @@ switch ($mode)
$dst_yes = ($new['board_dst']) ? 'checked="checked"' : ''; $dst_yes = ($new['board_dst']) ? 'checked="checked"' : '';
$dst_no = (!$new['board_dst']) ? 'checked="checked"' : ''; $dst_no = (!$new['board_dst']) ? 'checked="checked"' : '';
$yes_no_switches = array('override_user_style', 'allow_topic_notify', 'allow_forum_notify', 'allow_html', 'allow_bbcode', 'allow_smilies', 'allow_sig', 'allow_nocensors', 'allow_namechange', 'allow_attachments', 'allow_pm_attach', 'board_dst'); $yes_no_switches = array('override_user_style', 'allow_privmsg', 'allow_topic_notify', 'allow_forum_notify', 'allow_html', 'allow_bbcode', 'allow_smilies', 'allow_sig', 'allow_nocensors', 'allow_namechange', 'allow_attachments', 'allow_pm_attach', 'board_dst');
foreach ($yes_no_switches as $switch) foreach ($yes_no_switches as $switch)
{ {
@ -232,83 +226,79 @@ switch ($mode)
?> ?>
<tr> <tr>
<td class="row1" width="50%"><b><?php echo $user->lang['DEFAULT_STYLE']; ?></td> <td class="row1" width="50%"><b><?php echo $user->lang['DEFAULT_STYLE']; ?></td>
<td class="row2"><select name="default_style"><?php echo $style_select; ?></select></td> <td class="row2"><select name="config[default_style]"><?php echo $style_select; ?></select></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['OVERRIDE_STYLE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['OVERRIDE_STYLE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['OVERRIDE_STYLE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['OVERRIDE_STYLE_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="override_user_style" value="1" <?php echo $override_user_style_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="override_user_style" value="0" <?php echo $override_user_style_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[override_user_style]" value="1" <?php echo $override_user_style_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[override_user_style]" value="0" <?php echo $override_user_style_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['DEFAULT_LANGUAGE']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['DEFAULT_LANGUAGE']; ?>: </b></td>
<td class="row2"><select name="default_lang"><?php echo $lang_select; ?></select></td> <td class="row2"><select name="config[default_lang]"><?php echo $lang_select; ?></select></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['DEFAULT_DATE_FORMAT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['DEFAULT_DATE_FORMAT_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['DEFAULT_DATE_FORMAT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['DEFAULT_DATE_FORMAT_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" name="default_dateformat" value="<?php echo $new['default_dateformat']; ?>" /></td> <td class="row2"><input class="post" type="text" name="config[default_dateformat]" value="<?php echo $new['default_dateformat']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SYSTEM_TIMEZONE']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['SYSTEM_TIMEZONE']; ?>: </b></td>
<td class="row2"><select name="board_timezone"><?php echo $timezone_select; ?></select></td> <td class="row2"><select name="config[board_timezone]"><?php echo $timezone_select; ?></select></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SYSTEM_DST']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['SYSTEM_DST']; ?>: </b></td>
<td class="row2"><input type="radio" name="board_dst" value="1" <?php echo $board_dst_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="board_dst" value="0" <?php echo $board_dst_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[board_dst]" value="1" <?php echo $board_dst_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[board_dst]" value="0" <?php echo $board_dst_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['BOXES_MAX']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOXES_MAX_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['BOARD_PM']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOARD_PM_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" maxlength="4" size="4" name="pm_max_boxes" value="<?php echo $new['pm_max_boxes']; ?>" /></td> <td class="row2"><input type="radio" name="config[allow_privmsg]" value="1" <?php echo $privmsg_yes; ?> /><?php echo $user->lang['ENABLED']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_privmsg]" value="0" <?php echo $privmsg_no; ?> /><?php echo $user->lang['DISABLED']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['BOXES_LIMIT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOXES_LIMIT_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" maxlength="4" size="4" name="pm_max_msgs" value="<?php echo $new['pm_max_msgs']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_TOPIC_NOTIFY']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['ALLOW_TOPIC_NOTIFY']; ?>: </b></td>
<td class="row2"><input type="radio" name="allow_topic_notify" value="1" <?php echo $topic_notify_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_topic_notify" value="0" <?php echo $topic_notify_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_topic_notify]" value="1" <?php echo $topic_notify_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_topic_notify]" value="0" <?php echo $topic_notify_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_FORUM_NOTIFY']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['ALLOW_FORUM_NOTIFY']; ?>: </b></td>
<td class="row2"><input type="radio" name="allow_forum_notify" value="1" <?php echo $forum_notify_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_forum_notify" value="0" <?php echo $forum_notify_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_forum_notify]" value="1" <?php echo $forum_notify_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_forum_notify]" value="0" <?php echo $forum_notify_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_NAME_CHANGE']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['ALLOW_NAME_CHANGE']; ?>: </b></td>
<td class="row2"><input type="radio" name="allow_namechange" value="1" <?php echo $namechange_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_namechange" value="0" <?php echo $namechange_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_namechange]" value="1" <?php echo $namechange_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_namechange]" value="0" <?php echo $namechange_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_ATTACHMENTS']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['ALLOW_ATTACHMENTS']; ?>: </b></td>
<td class="row2"><input type="radio" name="allow_attachments" value="1" <?php echo $attachments_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_attachments" value="0" <?php echo $attachments_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_attachments]" value="1" <?php echo $attachments_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_attachments]" value="0" <?php echo $attachments_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_PM_ATTACHMENTS']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['ALLOW_PM_ATTACHMENTS']; ?>: </b></td>
<td class="row2"><input type="radio" name="allow_pm_attach" value="1" <?php echo $pm_attach_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_pm_attach" value="0" <?php echo $pm_attach_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_pm_attach]" value="1" <?php echo $pm_attach_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_pm_attach]" value="0" <?php echo $pm_attach_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_HTML']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['ALLOW_HTML']; ?>: </b></td>
<td class="row2"><input type="radio" name="allow_html" value="1" <?php echo $html_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_html" value="0" <?php echo $html_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_html]" value="1" <?php echo $html_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_html]" value="0" <?php echo $html_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOWED_TAGS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ALLOWED_TAGS_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['ALLOWED_TAGS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ALLOWED_TAGS_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="30" maxlength="255" name="allow_html_tags" value="<?php echo $new['allow_html_tags']; ?>" /></td> <td class="row2"><input class="post" type="text" size="30" maxlength="255" name="config[allow_html_tags]" value="<?php echo $new['allow_html_tags']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_BBCODE']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['ALLOW_BBCODE']; ?>: </b></td>
<td class="row2"><input type="radio" name="allow_bbcode" value="1" <?php echo $bbcode_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_bbcode" value="0" <?php echo $bbcode_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_bbcode]" value="1" <?php echo $bbcode_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_bbcode]" value="0" <?php echo $bbcode_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_SMILIES']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['ALLOW_SMILIES']; ?>: </b></td>
<td class="row2"><input type="radio" name="allow_smilies" value="1" <?php echo $smilies_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_smilies" value="0" <?php echo $smilies_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_smilies]" value="1" <?php echo $smilies_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_smilies]" value="0" <?php echo $smilies_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_SIG']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['ALLOW_SIG']; ?>: </b></td>
<td class="row2"><input type="radio" name="allow_sig" value="1" <?php echo $sig_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_sig" value="0" <?php echo $sig_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_sig]" value="1" <?php echo $sig_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_sig]" value="0" <?php echo $sig_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['MAX_SIG_LENGTH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MAX_SIG_LENGTH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['MAX_SIG_LENGTH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MAX_SIG_LENGTH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="5" maxlength="4" name="max_sig_chars" value="<?php echo $new['max_sig_chars']; ?>" /></td> <td class="row2"><input class="post" type="text" size="5" maxlength="4" name="config[max_sig_chars]" value="<?php echo $new['max_sig_chars']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_NO_CENSORS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ALLOW_NO_CENSORS_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['ALLOW_NO_CENSORS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ALLOW_NO_CENSORS_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="allow_nocensors" value="1" <?php echo $nocensors_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_nocensors" value="0" <?php echo $nocensors_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_nocensors]" value="1" <?php echo $nocensors_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_nocensors]" value="0" <?php echo $nocensors_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<?php <?php
@ -316,7 +306,7 @@ switch ($mode)
case 'setting': case 'setting':
$yes_no_switches = array('board_disable', 'enable_confirm', 'coppa_enable', 'privmsg_disable', 'display_last_edited', 'emailreuse'); $yes_no_switches = array('board_disable', 'enable_confirm', 'coppa_enable', 'display_last_edited', 'allow_emailreuse');
foreach ($yes_no_switches as $switch) foreach ($yes_no_switches as $switch)
{ {
@ -330,14 +320,11 @@ switch ($mode)
$activation_admin = ($new['require_activation'] == USER_ACTIVATION_ADMIN) ? 'checked="checked"' : ''; $activation_admin = ($new['require_activation'] == USER_ACTIVATION_ADMIN) ? 'checked="checked"' : '';
$activation_disable = ($new['require_activation'] == USER_ACTIVATION_DISABLE) ? 'checked="checked"' : ''; $activation_disable = ($new['require_activation'] == USER_ACTIVATION_DISABLE) ? 'checked="checked"' : '';
preg_match('#^([0-9]+)([m|h|d])$#', $new['bump_interval'], $match);
$bump_time = $match[1];
$s_bump_type = ''; $s_bump_type = '';
$types = array('m' => 'MINUTES', 'h' => 'HOURS', 'd' => 'DAYS'); $types = array('m' => 'MINUTES', 'h' => 'HOURS', 'd' => 'DAYS');
foreach ($types as $type => $lang) foreach ($types as $type => $lang)
{ {
$selected = ($type == $match[2]) ? 'selected="selected" ' : ''; $selected = ($new['bump_type'] == $type) ? 'selected="selected" ' : '';
$s_bump_type .= '<option value="' . $type . '" ' . $selected . '>' . $user->lang[$lang] . '</option>'; $s_bump_type .= '<option value="' . $type . '" ' . $selected . '>' . $user->lang[$lang] . '</option>';
} }
@ -353,118 +340,114 @@ switch ($mode)
$pass_char_options = ''; $pass_char_options = '';
foreach ($pass_type_ary as $lang => $value) foreach ($pass_type_ary as $lang => $value)
{ {
$selected = ($new['allow_pass_chars'] == $value) ? ' selected="selected"' : ''; $selected = ($new['pass_complex'] == $value) ? ' selected="selected"' : '';
$pass_char_options .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$lang] . '</option>'; $pass_char_options .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$lang] . '</option>';
} }
?> ?>
<tr> <tr>
<td class="row1" width="50%"><b><?php echo $user->lang['SITE_NAME']; ?>: </b></td> <td class="row1" width="50%"><b><?php echo $user->lang['SITE_NAME']; ?>: </b></td>
<td class="row2"><input class="post" type="text" size="40" maxlength="255" name="sitename" value="<?php echo $new['sitename']; ?>" /></td> <td class="row2"><input class="post" type="text" size="40" maxlength="255" name="config[sitename]" value="<?php echo $new['sitename']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SITE_DESC']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['SITE_DESC']; ?>: </b></td>
<td class="row2"><input class="post" type="text" size="40" maxlength="255" name="site_desc" value="<?php echo $new['site_desc']; ?>" /></td> <td class="row2"><input class="post" type="text" size="40" maxlength="255" name="config[site_desc]" value="<?php echo $new['site_desc']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['DISABLE_BOARD']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['DISABLE_BOARD_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['DISABLE_BOARD']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['DISABLE_BOARD_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="board_disable" value="1" <?php echo $board_disable_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="board_disable" value="0" <?php echo $board_disable_no; ?> /> <?php echo $user->lang['NO']; ?><br /><input class="post" type="text" name="board_disable_msg" maxlength="255" size="40" value="<?php echo $new['board_disable_msg']; ?>" /></td> <td class="row2"><input type="radio" name="config[board_disable]" value="1" <?php echo $board_disable_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[board_disable]" value="0" <?php echo $board_disable_no; ?> /> <?php echo $user->lang['NO']; ?><br /><input class="post" type="text" name="config[board_disable_msg]" maxlength="255" size="40" value="<?php echo $new['board_disable_msg']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ACC_ACTIVATION']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ACC_ACTIVATION_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['ACC_ACTIVATION']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ACC_ACTIVATION_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="require_activation" value="<?php echo USER_ACTIVATION_NONE; ?>" <?php echo $activation_none; ?> /> <?php echo $user->lang['ACC_NONE']; ?><?php if ($config['email_enable']) { ?>&nbsp;&nbsp;<input type="radio" name="require_activation" value="<?php echo USER_ACTIVATION_SELF; ?>" <?php echo $activation_user; ?> /> <?php echo $user->lang['ACC_USER']; ?>&nbsp;&nbsp;<input type="radio" name="require_activation" value="<?php echo USER_ACTIVATION_ADMIN; ?>" <?php echo $activation_admin; ?> /> <?php echo $user->lang['ACC_ADMIN']; ?><?php } ?>&nbsp;&nbsp;<input type="radio" name="require_activation" value="<?php echo USER_ACTIVATION_DISABLE; ?>" <?php echo $activation_disable; ?> /> <?php echo $user->lang['ACC_DISABLE']; ?></td> <td class="row2"><input type="radio" name="config[require_activation]" value="<?php echo USER_ACTIVATION_NONE; ?>" <?php echo $activation_none; ?> /> <?php echo $user->lang['ACC_NONE']; ?><?php if ($config['email_enable']) { ?>&nbsp;&nbsp;<input type="radio" name="config[require_activation]" value="<?php echo USER_ACTIVATION_SELF; ?>" <?php echo $activation_user; ?> /> <?php echo $user->lang['ACC_USER']; ?>&nbsp;&nbsp;<input type="radio" name="config[require_activation]" value="<?php echo USER_ACTIVATION_ADMIN; ?>" <?php echo $activation_admin; ?> /> <?php echo $user->lang['ACC_ADMIN']; ?><?php } ?>&nbsp;&nbsp;<input type="radio" name="config[require_activation]" value="<?php echo USER_ACTIVATION_DISABLE; ?>" <?php echo $activation_disable; ?> /> <?php echo $user->lang['ACC_DISABLE']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ENABLE_COPPA']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ENABLE_COPPA_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['ENABLE_COPPA']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ENABLE_COPPA_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="coppa_enable" value="1" <?php echo $enable_confirm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="coppa_enable" value="0" <?php echo $enable_confirm_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[coppa_enable]" value="1" <?php echo $enable_confirm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[coppa_enable]" value="0" <?php echo $enable_confirm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['COPPA_FAX']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['COPPA_FAX']; ?>: </b></td>
<td class="row2"><input class="post" type="text" size="25" maxlength="100" name="coppa_fax" value="<?php echo $new['coppa_fax']; ?>" /></td> <td class="row2"><input class="post" type="text" size="25" maxlength="100" name="config[coppa_fax]" value="<?php echo $new['coppa_fax']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['COPPA_MAIL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['COPPA_MAIL_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['COPPA_MAIL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['COPPA_MAIL_EXPLAIN']; ?></span></td>
<td class="row2"><textarea name="coppa_mail" rows="5" cols="40"><?php echo $new['coppa_mail']; ?></textarea></td> <td class="row2"><textarea name="config[coppa_mail]" rows="5" cols="40"><?php echo $new['coppa_mail']; ?></textarea></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['VISUAL_CONFIRM']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['VISUAL_CONFIRM_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['VISUAL_CONFIRM']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['VISUAL_CONFIRM_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="enable_confirm" value="1"<?php echo $enable_confirm_yes ?> /> <?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="enable_confirm" value="0" <?php echo $enable_confirm_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[enable_confirm]" value="1"<?php echo $enable_confirm_yes ?> /> <?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[enable_confirm]" value="0" <?php echo $enable_confirm_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['REG_LIMIT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['REG_LIMIT_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['REG_LIMIT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['REG_LIMIT_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" maxlength="4" size="4" name="max_reg_attempts" value="<?php echo $new['max_reg_attempts']; ?>" /></td> <td class="row2"><input class="post" type="text" maxlength="4" size="4" name="config[max_reg_attempts]" value="<?php echo $new['max_reg_attempts']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['USERNAME_LENGTH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['USERNAME_LENGTH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['USERNAME_LENGTH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['USERNAME_LENGTH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="3" maxlength="3" name="min_name_chars" value="<?php echo $new['min_name_chars']; ?>" /> <?php echo $user->lang['MIN_CHARS']; ?>&nbsp;&nbsp;<input class="post" type="text" size="3" maxlength="3" name="max_name_chars" value="<?php echo $new['max_name_chars']; ?>" /> <?php echo $user->lang['MAX_CHARS']; ?></td> <td class="row2"><input class="post" type="text" size="3" maxlength="3" name="config[min_name_chars]" value="<?php echo $new['min_name_chars']; ?>" /> <?php echo $user->lang['MIN_CHARS']; ?>&nbsp;&nbsp;<input class="post" type="text" size="3" maxlength="3" name="config[max_name_chars]" value="<?php echo $new['max_name_chars']; ?>" /> <?php echo $user->lang['MAX_CHARS']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['USERNAME_CHARS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['USERNAME_CHARS_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['USERNAME_CHARS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['USERNAME_CHARS_EXPLAIN']; ?></span></td>
<td class="row2"><select name="allow_name_chars"><?php echo $user_char_options; ?></select></td> <td class="row2"><select name="config[allow_name_chars]"><?php echo $user_char_options; ?></select></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['PASSWORD_LENGTH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['PASSWORD_LENGTH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['PASSWORD_LENGTH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['PASSWORD_LENGTH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="3" maxlength="3" name="min_pass_chars" value="<?php echo $new['min_pass_chars']; ?>" /> <?php echo $user->lang['MIN_CHARS']; ?>&nbsp;&nbsp;<input class="post" type="text" size="3" maxlength="3" name="max_pass_chars" value="<?php echo $new['max_pass_chars']; ?>" /> <?php echo $user->lang['MAX_CHARS']; ?></td> <td class="row2"><input class="post" type="text" size="3" maxlength="3" name="config[min_pass_chars]" value="<?php echo $new['min_pass_chars']; ?>" /> <?php echo $user->lang['MIN_CHARS']; ?>&nbsp;&nbsp;<input class="post" type="text" size="3" maxlength="3" name="config[max_pass_chars]" value="<?php echo $new['max_pass_chars']; ?>" /> <?php echo $user->lang['MAX_CHARS']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['PASSWORD_TYPE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['PASSWORD_TYPE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['PASSWORD_TYPE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['PASSWORD_TYPE_EXPLAIN']; ?></span></td>
<td class="row2"><select name="pass_complex"><?php echo $pass_char_options; ?></select></td> <td class="row2"><select name="config[pass_complex]"><?php echo $pass_char_options; ?></select></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['FORCE_PASS_CHANGE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['FORCE_PASS_CHANGE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['FORCE_PASS_CHANGE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['FORCE_PASS_CHANGE_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="3" maxlength="3" name="chg_passforce" value="<?php echo $new['chg_passforce']; ?>" /> <?php echo $user->lang['DAYS']; ?></td> <td class="row2"><input class="post" type="text" size="3" maxlength="3" name="config[chg_passforce]" value="<?php echo $new['chg_passforce']; ?>" /> <?php echo $user->lang['DAYS']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_EMAIL_REUSE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ALLOW_EMAIL_REUSE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['ALLOW_EMAIL_REUSE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ALLOW_EMAIL_REUSE_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="allow_emailreuse" value="1" <?php echo $emailreuse_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="allow_emailreuse" value="0" <?php echo $emailreuse_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[allow_emailreuse]" value="1" <?php echo $emailreuse_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_emailreuse]" value="0" <?php echo $emailreuse_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['BOARD_PM']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOARD_PM_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="privmsg_disable" value="0" <?php echo $privmsg_disable_no; ?> /><?php echo $user->lang['ENABLED']; ?>&nbsp;&nbsp;<input type="radio" name="privmsg_disable" value="1" <?php echo $privmsg_disable_yes; ?> /><?php echo $user->lang['DISABLED']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['EDIT_TIME']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['EDIT_TIME_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['EDIT_TIME']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['EDIT_TIME_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" maxlength="3" size="3" name="edit_time" value="<?php echo $new['edit_time']; ?>" /></td> <td class="row2"><input class="post" type="text" maxlength="3" size="3" name="config[edit_time]" value="<?php echo $new['edit_time']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['DISPLAY_LAST_EDITED']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['DISPLAY_LAST_EDITED_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['DISPLAY_LAST_EDITED']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['DISPLAY_LAST_EDITED_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="display_last_edited" value="1" <?php echo $display_last_edited_yes; ?> /><?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="display_last_edited" value="0" <?php echo $display_last_edited_no; ?> /><?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[display_last_edited]" value="1" <?php echo $display_last_edited_yes; ?> /><?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[display_last_edited]" value="0" <?php echo $display_last_edited_no; ?> /><?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['FLOOD_INTERVAL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['FLOOD_INTERVAL_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['FLOOD_INTERVAL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['FLOOD_INTERVAL_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="3" maxlength="4" name="flood_interval" value="<?php echo $new['flood_interval']; ?>" /></td> <td class="row2"><input class="post" type="text" size="3" maxlength="4" name="config[flood_interval]" value="<?php echo $new['flood_interval']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['BUMP_INTERVAL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BUMP_INTERVAL_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['BUMP_INTERVAL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BUMP_INTERVAL_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="3" maxlength="4" name="bump_interval" value="<?php echo $bump_time ?>" />&nbsp;<select name="bump_type"><?php echo $s_bump_type; ?></select></td> <td class="row2"><input class="post" type="text" size="3" maxlength="4" name="config[bump_interval]" value="<?php echo $new['bump_interval'] ?>" />&nbsp;<select name="config[bump_type]"><?php echo $s_bump_type; ?></select></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['TOPICS_PER_PAGE']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['TOPICS_PER_PAGE']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="topics_per_page" size="3" maxlength="4" value="<?php echo $new['topics_per_page']; ?>" /></td> <td class="row2"><input class="post" type="text" name="config[topics_per_page]" size="3" maxlength="4" value="<?php echo $new['topics_per_page']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['POSTS_PER_PAGE']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['POSTS_PER_PAGE']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="posts_per_page" size="3" maxlength="4" value="<?php echo $new['posts_per_page']; ?>" /></td> <td class="row2"><input class="post" type="text" name="config[posts_per_page]" size="3" maxlength="4" value="<?php echo $new['posts_per_page']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['HOT_THRESHOLD']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['HOT_THRESHOLD']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="hot_threshold" size="3" maxlength="4" value="<?php echo $new['hot_threshold']; ?>" /></td> <td class="row2"><input class="post" type="text" name="config[hot_threshold]" size="3" maxlength="4" value="<?php echo $new['hot_threshold']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['MAX_POLL_OPTIONS']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['MAX_POLL_OPTIONS']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="max_poll_options" size="4" maxlength="4" value="<?php echo $new['max_poll_options']; ?>" /></td> <td class="row2"><input class="post" type="text" name="config[max_poll_options]" size="4" maxlength="4" value="<?php echo $new['max_poll_options']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['CHAR_LIMIT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['CHAR_LIMIT_EXPLAIN']; ?></span</td> <td class="row1"><b><?php echo $user->lang['CHAR_LIMIT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['CHAR_LIMIT_EXPLAIN']; ?></span</td>
<td class="row2"><input class="post" type="text" size="4" maxlength="6" name="max_post_chars" value="<?php echo $new['max_post_chars']; ?>" /></td> <td class="row2"><input class="post" type="text" size="4" maxlength="6" name="config[max_post_chars]" value="<?php echo $new['max_post_chars']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SMILIES_LIMIT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMILIES_LIMIT_EXPLAIN']; ?></span</td> <td class="row1"><b><?php echo $user->lang['SMILIES_LIMIT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMILIES_LIMIT_EXPLAIN']; ?></span</td>
<td class="row2"><input class="post" type="text" size="4" maxlength="4" name="max_post_smilies" value="<?php echo $new['max_post_smilies']; ?>" /></td> <td class="row2"><input class="post" type="text" size="4" maxlength="4" name="config[max_post_smilies]" value="<?php echo $new['max_post_smilies']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['QUOTE_DEPTH_LIMIT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['QUOTE_DEPTH_LIMIT_EXPLAIN']; ?></span</td> <td class="row1"><b><?php echo $user->lang['QUOTE_DEPTH_LIMIT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['QUOTE_DEPTH_LIMIT_EXPLAIN']; ?></span</td>
<td class="row2"><input class="post" type="text" size="4" maxlength="4" name="max_quote_depth" value="<?php echo $new['max_quote_depth']; ?>" /></td> <td class="row2"><input class="post" type="text" size="4" maxlength="4" name="config[max_quote_depth]" value="<?php echo $new['max_quote_depth']; ?>" /></td>
</tr> </tr>
<?php <?php
@ -491,55 +474,55 @@ switch ($mode)
?> ?>
<tr> <tr>
<td class="row1" width="50%"><b><?php echo $user->lang['ENABLE_EMAIL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ENABLE_EMAIL_EXPLAIN']; ?></span></td> <td class="row1" width="50%"><b><?php echo $user->lang['ENABLE_EMAIL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ENABLE_EMAIL_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="email_enable" value="1" <?php echo $email_yes; ?> /> <?php echo $user->lang['ENABLED']; ?>&nbsp;&nbsp;<input type="radio" name="email_enable" value="0" <?php echo $email_no; ?> /> <?php echo $user->lang['DISABLED']; ?></td> <td class="row2"><input type="radio" name="config[email_enable]" value="1" <?php echo $email_yes; ?> /> <?php echo $user->lang['ENABLED']; ?>&nbsp;&nbsp;<input type="radio" name="config[email_enable]" value="0" <?php echo $email_no; ?> /> <?php echo $user->lang['DISABLED']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['BOARD_EMAIL_FORM']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOARD_EMAIL_FORM_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['BOARD_EMAIL_FORM']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOARD_EMAIL_FORM_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="board_email_form" value="1" <?php echo $board_email_form_yes; ?> /> <?php echo $user->lang['ENABLED']; ?>&nbsp;&nbsp;<input type="radio" name="board_email_form" value="0" <?php echo $board_email_form_no; ?> /> <?php echo $user->lang['DISABLED']; ?></td> <td class="row2"><input type="radio" name="config[board_email_form]" value="1" <?php echo $board_email_form_yes; ?> /> <?php echo $user->lang['ENABLED']; ?>&nbsp;&nbsp;<input type="radio" name="config[board_email_form]" value="0" <?php echo $board_email_form_no; ?> /> <?php echo $user->lang['DISABLED']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['EMAIL_FUNCTION_NAME']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['EMAIL_FUNCTION_NAME_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['EMAIL_FUNCTION_NAME']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['EMAIL_FUNCTION_NAME_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="20" maxlength="50" name="email_function_name" value="<?php echo $new['email_function_name']; ?>" /></td> <td class="row2"><input class="post" type="text" size="20" maxlength="50" name="config[email_function_name]" value="<?php echo $new['email_function_name']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['EMAIL_PACKAGE_SIZE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['EMAIL_PACKAGE_SIZE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['EMAIL_PACKAGE_SIZE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['EMAIL_PACKAGE_SIZE_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="5" maxlength="5" name="email_package_size" value="<?php echo $new['email_package_size']; ?>" /></td> <td class="row2"><input class="post" type="text" size="5" maxlength="5" name="config[email_package_size]" value="<?php echo $new['email_package_size']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['CONTACT_EMAIL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['CONTACT_EMAIL_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['CONTACT_EMAIL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['CONTACT_EMAIL_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="25" maxlength="100" name="board_contact" value="<?php echo $new['board_contact']; ?>" /></td> <td class="row2"><input class="post" type="text" size="25" maxlength="100" name="config[board_contact]" value="<?php echo $new['board_contact']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ADMIN_EMAIL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ADMIN_EMAIL_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['ADMIN_EMAIL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ADMIN_EMAIL_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="25" maxlength="100" name="board_email" value="<?php echo $new['board_email']; ?>" /></td> <td class="row2"><input class="post" type="text" size="25" maxlength="100" name="config[board_email]" value="<?php echo $new['board_email']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['EMAIL_SIG']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['EMAIL_SIG_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['EMAIL_SIG']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['EMAIL_SIG_EXPLAIN']; ?></span></td>
<td class="row2"><textarea name="board_email_sig" rows="5" cols="30"><?php echo $new['board_email_sig']; ?></textarea></td> <td class="row2"><textarea name="config[board_email_sig]" rows="5" cols="30"><?php echo $new['board_email_sig']; ?></textarea></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['USE_SMTP']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['USE_SMTP_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['USE_SMTP']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['USE_SMTP_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="smtp_delivery" value="1" <?php echo $smtp_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="smtp_delivery" value="0" <?php echo $smtp_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[smtp_delivery]" value="1" <?php echo $smtp_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[smtp_delivery]" value="0" <?php echo $smtp_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SMTP_SERVER']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['SMTP_SERVER']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="smtp_host" value="<?php echo $new['smtp_host']; ?>" size="25" maxlength="50" /></td> <td class="row2"><input class="post" type="text" name="config[smtp_host]" value="<?php echo $new['smtp_host']; ?>" size="25" maxlength="50" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SMTP_PORT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMTP_PORT_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['SMTP_PORT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMTP_PORT_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" name="smtp_port" value="<?php echo $new['smtp_port']; ?>" size="4" maxlength="5" /></td> <td class="row2"><input class="post" type="text" name="config[smtp_port]" value="<?php echo $new['smtp_port']; ?>" size="4" maxlength="5" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SMTP_AUTH_METHOD']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMTP_AUTH_METHOD_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['SMTP_AUTH_METHOD']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMTP_AUTH_METHOD_EXPLAIN']; ?></span></td>
<td class="row2"><select name="smtp_auth_method"><?php echo $s_smtp_auth_options; ?></select></td> <td class="row2"><select name="config[smtp_auth_method]"><?php echo $s_smtp_auth_options; ?></select></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SMTP_USERNAME']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMTP_USERNAME_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['SMTP_USERNAME']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMTP_USERNAME_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" name="smtp_username" value="<?php echo $new['smtp_username']; ?>" size="25" maxlength="255" /></td> <td class="row2"><input class="post" type="text" name="config[smtp_username]" value="<?php echo $new['smtp_username']; ?>" size="25" maxlength="255" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SMTP_PASSWORD']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMTP_PASSWORD_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['SMTP_PASSWORD']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMTP_PASSWORD_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="password" name="smtp_password" value="<?php echo $new['smtp_password']; ?>" size="25" maxlength="255" /></td> <td class="row2"><input class="post" type="password" name="config[smtp_password]" value="<?php echo $new['smtp_password']; ?>" size="25" maxlength="255" /></td>
</tr> </tr>
<?php <?php
@ -560,43 +543,43 @@ switch ($mode)
?> ?>
<tr> <tr>
<td class="row1" width="50%"><b><?php echo $user->lang['SERVER_NAME']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SERVER_NAME_EXPLAIN']; ?></span></td> <td class="row1" width="50%"><b><?php echo $user->lang['SERVER_NAME']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SERVER_NAME_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" maxlength="255" size="40" name="server_name" value="<?php echo $new['server_name']; ?>" /></td> <td class="row2"><input class="post" type="text" maxlength="255" size="40" name="config[server_name]" value="<?php echo $new['server_name']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SERVER_PORT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SERVER_PORT_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['SERVER_PORT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SERVER_PORT_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" maxlength="5" size="5" name="server_port" value="<?php echo $new['server_port']; ?>" /></td> <td class="row2"><input class="post" type="text" maxlength="5" size="5" name="config[server_port]" value="<?php echo $new['server_port']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SCRIPT_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SCRIPT_PATH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['SCRIPT_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SCRIPT_PATH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" maxlength="255" name="script_path" value="<?php echo $new['script_path']; ?>" /></td> <td class="row2"><input class="post" type="text" maxlength="255" name="config[script_path]" value="<?php echo $new['script_path']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['IP_VALID']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['IP_VALID_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['IP_VALID']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['IP_VALID_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="ip_check" value="4" <?php echo $ip_all; ?> /> <?php echo $user->lang['ALL']; ?>&nbsp;&nbsp;<input type="radio" name="ip_check" value="3" <?php echo $ip_classc; ?> /> <?php echo $user->lang['CLASS_C']; ?>&nbsp;&nbsp;<input type="radio" name="ip_check" value="2" <?php echo $ip_classb; ?> /> <?php echo $user->lang['CLASS_B']; ?>&nbsp;&nbsp;<input type="radio" name="ip_check" value="0" <?php echo $ip_none; ?> /> <?php echo $user->lang['NONE']; ?>&nbsp;&nbsp;</td> <td class="row2"><input type="radio" name="config[ip_check]" value="4" <?php echo $ip_all; ?> /> <?php echo $user->lang['ALL']; ?>&nbsp;&nbsp;<input type="radio" name="config[ip_check]" value="3" <?php echo $ip_classc; ?> /> <?php echo $user->lang['CLASS_C']; ?>&nbsp;&nbsp;<input type="radio" name="config[ip_check]" value="2" <?php echo $ip_classb; ?> /> <?php echo $user->lang['CLASS_B']; ?>&nbsp;&nbsp;<input type="radio" name="config[ip_check]" value="0" <?php echo $ip_none; ?> /> <?php echo $user->lang['NONE']; ?>&nbsp;&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['BROWSER_VALID']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BROWSER_VALID_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['BROWSER_VALID']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BROWSER_VALID_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="browser_check" value="1" <?php echo $browser_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="browser_check" value="0" <?php echo $browser_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[browser_check]" value="1" <?php echo $browser_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[browser_check]" value="0" <?php echo $browser_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ENABLE_GZIP']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['ENABLE_GZIP']; ?>: </b></td>
<td class="row2"><input type="radio" name="gzip_compress" value="1" <?php echo $gzip_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="gzip_compress" value="0" <?php echo $gzip_no; ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[gzip_compress]" value="1" <?php echo $gzip_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[gzip_compress]" value="0" <?php echo $gzip_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SMILIES_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMILIES_PATH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['SMILIES_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SMILIES_PATH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="20" maxlength="255" name="smilies_path" value="<?php echo $new['smilies_path']; ?>" /></td> <td class="row2"><input class="post" type="text" size="20" maxlength="255" name="config[smilies_path]" value="<?php echo $new['smilies_path']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ICONS_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ICONS_PATH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['ICONS_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ICONS_PATH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="20" maxlength="255" name="icons_path" value="<?php echo $new['icons_path']; ?>" /></td> <td class="row2"><input class="post" type="text" size="20" maxlength="255" name="config[icons_path]" value="<?php echo $new['icons_path']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['UPLOAD_ICONS_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['UPLOAD_ICONS_PATH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['UPLOAD_ICONS_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['UPLOAD_ICONS_PATH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="20" maxlength="255" name="upload_icons_path" value="<?php echo $new['upload_icons_path']; ?>" /></td> <td class="row2"><input class="post" type="text" size="20" maxlength="255" name="config[upload_icons_path]" value="<?php echo $new['upload_icons_path']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['RANKS_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['RANKS_PATH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['RANKS_PATH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['RANKS_PATH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="20" maxlength="255" name="ranks_path" value="<?php echo $new['ranks_path']; ?>" /></td> <td class="row2"><input class="post" type="text" size="20" maxlength="255" name="config[ranks_path]" value="<?php echo $new['ranks_path']; ?>" /></td>
</tr> </tr>
<?php <?php
@ -630,75 +613,168 @@ switch ($mode)
?> ?>
<tr> <tr>
<td class="row1" width="50%"><b><?php echo $user->lang['LIMIT_LOAD']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['LIMIT_LOAD_EXPLAIN']; ?></span></td> <td class="row1" width="50%"><b><?php echo $user->lang['LIMIT_LOAD']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['LIMIT_LOAD_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="4" maxlength="4" name="limit_load" value="<?php echo $new['limit_load']; ?>" /></td> <td class="row2"><input class="post" type="text" size="4" maxlength="4" name="config[limit_load]" value="<?php echo $new['limit_load']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SESSION_LENGTH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SESSION_LENGTH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['SESSION_LENGTH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SESSION_LENGTH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" maxlength="5" size="5" name="session_length" value="<?php echo $new['session_length']; ?>" /></td> <td class="row2"><input class="post" type="text" maxlength="5" size="5" name="config[session_length]" value="<?php echo $new['session_length']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['LIMIT_SESSIONS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['LIMIT_SESSIONS_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['LIMIT_SESSIONS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['LIMIT_SESSIONS_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="4" maxlength="4" name="active_sessions" value="<?php echo $new['active_sessions']; ?>" /></td> <td class="row2"><input class="post" type="text" size="4" maxlength="4" name="config[active_sessions]" value="<?php echo $new['active_sessions']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['YES_POST_MARKING']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_POST_MARKING_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['YES_POST_MARKING']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_POST_MARKING_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="load_db_track" value="1"<?php echo $load_db_track_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="load_db_track" value="0" <?php echo $load_db_track_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[load_db_track]" value="1"<?php echo $load_db_track_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[load_db_track]" value="0" <?php echo $load_db_track_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['YES_READ_MARKING']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_READ_MARKING_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['YES_READ_MARKING']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_READ_MARKING_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="load_db_lastread" value="1"<?php echo $load_db_lastread_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="load_db_lastread" value="0" <?php echo $load_db_lastread_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[load_db_lastread]" value="1"<?php echo $load_db_lastread_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[load_db_lastread]" value="0" <?php echo $load_db_lastread_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['YES_ONLINE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_ONLINE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['YES_ONLINE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_ONLINE_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="load_online" value="1"<?php echo $load_online_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="load_online" value="0" <?php echo $load_online_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[load_online]" value="1"<?php echo $load_online_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[load_online]" value="0" <?php echo $load_online_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['YES_ONLINE_TRACK']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_ONLINE_TRACK_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['YES_ONLINE_TRACK']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_ONLINE_TRACK_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="load_onlinetrack" value="1"<?php echo $load_onlinetrack_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="load_onlinetrack" value="0" <?php echo $load_onlinetrack_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[load_onlinetrack]" value="1"<?php echo $load_onlinetrack_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[load_onlinetrack]" value="0" <?php echo $load_onlinetrack_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['ONLINE_LENGTH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ONLINE_LENGTH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['ONLINE_LENGTH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['ONLINE_LENGTH_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="4" maxlength="3" name="load_online_time" value="<?php echo $new['load_online_time']; ?>" /></td> <td class="row2"><input class="post" type="text" size="4" maxlength="3" name="config[load_online_time]" value="<?php echo $new['load_online_time']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['YES_BIRTHDAYS']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['YES_BIRTHDAYS']; ?>: </b></td>
<td class="row2"><input type="radio" name="load_birthdays" value="1"<?php echo $load_birthdays_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="load_birthdays" value="0" <?php echo $load_birthdays_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[load_birthdays]" value="1"<?php echo $load_birthdays_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[load_birthdays]" value="0" <?php echo $load_birthdays_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['YES_MODERATORS']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['YES_MODERATORS']; ?>: </b></td>
<td class="row2"><input type="radio" name="load_moderators" value="1"<?php echo $moderators_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="load_moderators" value="0" <?php echo $moderators_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[load_moderators]" value="1"<?php echo $moderators_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[load_moderators]" value="0" <?php echo $moderators_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['YES_JUMPBOX']; ?>: </b></td> <td class="row1"><b><?php echo $user->lang['YES_JUMPBOX']; ?>: </b></td>
<td class="row2"><input type="radio" name="load_jumpbox" value="1"<?php echo $jumpbox_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="load_jumpbox" value="0" <?php echo $jumpbox_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[load_jumpbox]" value="1"<?php echo $jumpbox_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[load_jumpbox]" value="0" <?php echo $jumpbox_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['YES_SEARCH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_SEARCH_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['YES_SEARCH']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_SEARCH_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="load_search" value="1"<?php echo $search_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="load_search" value="0" <?php echo $search_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[load_search]" value="1"<?php echo $search_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[load_search]" value="0" <?php echo $search_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['SEARCH_INTERVAL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SEARCH_INTERVAL_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['SEARCH_INTERVAL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['SEARCH_INTERVAL_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" size="3" maxlength="4" name="search_interval" value="<?php echo $new['search_interval']; ?>" /></td> <td class="row2"><input class="post" type="text" size="3" maxlength="4" name="config[search_interval]" value="<?php echo $new['search_interval']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['MIN_SEARCH_CHARS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MIN_SEARCH_CHARS_EXPLAIN']; ?></span</td> <td class="row1"><b><?php echo $user->lang['MIN_SEARCH_CHARS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MIN_SEARCH_CHARS_EXPLAIN']; ?></span</td>
<td class="row2"><input class="post" type="text" size="3" maxlength="3" name="min_search_chars" value="<?php echo $new['min_search_chars']; ?>" /></td> <td class="row2"><input class="post" type="text" size="3" maxlength="3" name="config[min_search_chars]" value="<?php echo $new['min_search_chars']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['MAX_SEARCH_CHARS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MAX_SEARCH_CHARS_EXPLAIN']; ?></span</td> <td class="row1"><b><?php echo $user->lang['MAX_SEARCH_CHARS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MAX_SEARCH_CHARS_EXPLAIN']; ?></span</td>
<td class="row2"><input class="post" type="text" size="3" maxlength="3" name="max_search_chars" value="<?php echo $new['max_search_chars']; ?>" /></td> <td class="row2"><input class="post" type="text" size="3" maxlength="3" name="config[max_search_chars]" value="<?php echo $new['max_search_chars']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['YES_SEARCH_UPDATE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_SEARCH_UPDATE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['YES_SEARCH_UPDATE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_SEARCH_UPDATE_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="load_search_upd" value="1"<?php echo $search_update_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="load_search_upd" value="0" <?php echo $search_update_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[load_search_upd]" value="1"<?php echo $search_update_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[load_search_upd]" value="0" <?php echo $search_update_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<!--tr> <!--tr>
<td class="row1"><b><?php echo $user->lang['YES_SEARCH_PHRASE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_SEARCH_PHRASE_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['YES_SEARCH_PHRASE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['YES_SEARCH_PHRASE_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="load_search_phr" value="1"<?php echo $search_phrase_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="load_search_phr" value="0" <?php echo $search_phrase_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[load_search_phr]" value="1"<?php echo $search_phrase_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[load_search_phr]" value="0" <?php echo $search_phrase_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr--> </tr-->
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['RECOMPILE_TEMPLATES']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['RECOMPILE_TEMPLATES_EXPLAIN']; ?></span></td> <td class="row1"><b><?php echo $user->lang['RECOMPILE_TEMPLATES']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['RECOMPILE_TEMPLATES_EXPLAIN']; ?></span></td>
<td class="row2"><input type="radio" name="load_tplcompile" value="1"<?php echo $tplcompile_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="load_tplcompile" value="0" <?php echo $tplcompile_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[load_tplcompile]" value="1"<?php echo $tplcompile_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[load_tplcompile]" value="0" <?php echo $tplcompile_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<?php
break;
case 'message':
$yes_no_switches = array('auth_html_pm', 'auth_bbcode_pm', 'auth_smilies_pm', 'auth_download_pm', 'allow_sig_pm', 'enable_karma_pm', 'auth_report_pm', 'auth_quote_pm', 'print_pm', 'email_pm', 'forward_pm', 'auth_img_pm', 'auth_flash_pm', 'enable_pm_icons', 'allow_mass_pm');
foreach ($yes_no_switches as $switch)
{
$switch_var = str_replace(array('allow_', 'auth_'), array('', ''), $switch);
${$switch_var . '_yes'} = ($new[$switch]) ? ' checked="checked"' : '';
${$switch_var . '_no'} = (!$new[$switch]) ? ' checked="checked"' : '';
}
?>
<tr>
<td class="row1"><b><?php echo $user->lang['BOXES_MAX']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOXES_MAX_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" maxlength="4" size="4" name="config[pm_max_boxes]" value="<?php echo $new['pm_max_boxes']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['BOXES_LIMIT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BOXES_LIMIT_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" maxlength="4" size="4" name="config[pm_max_msgs]" value="<?php echo $new['pm_max_msgs']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['FULL_FOLDER_ACTION']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['FULL_FOLDER_ACTION_EXPLAIN']; ?></span></td>
<td class="row2"><select name="config[full_folder_action]"><option value="1"><?php echo $user->lang['DELETE_OLD_MESSAGES']; ?></option><option value="2"><?php echo $user->lang['HOLD_NEW_MESSAGES']; ?></option></select></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['PM_EDIT_TIME']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['PM_EDIT_TIME_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" maxlength="3" size="3" name="config[pm_edit_time]" value="<?php echo $new['pm_edit_time']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_MASS_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[allow_mass_pm]" value="1" <?php echo $mass_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_mass_pm]" value="0" <?php echo $mass_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_HTML_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[auth_html_pm]" value="1" <?php echo $html_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[auth_html_pm]" value="0" <?php echo $html_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_BBCODE_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[auth_bbcode_pm]" value="1" <?php echo $bbcode_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[auth_bbcode_pm]" value="0" <?php echo $bbcode_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_SMILIES_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[auth_smilies_pm]" value="1" <?php echo $smilies_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[auth_smilies_pm]" value="0" <?php echo $smilies_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['AUTH_DOWNLOAD_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[auth_download_pm]" value="1" <?php echo $download_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[auth_download_pm]" value="0" <?php echo $download_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['ALLOW_SIG_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[allow_sig_pm]" value="1" <?php echo $sig_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[allow_sig_pm]" value="0" <?php echo $sig_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<!-- <tr>
<td class="row1" width="50%"><?php echo $user->lang['ENABLE_KARMA_PM']; ?>: </td>
<td class="row2"><input type="radio" name="config[enable_karma_pm]" value="1"<?php echo $enable_karma_pm_yes ?> /> <?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[enable_karma_pm]" value="0" <?php echo $enable_karma_pm_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>//-->
<tr>
<td class="row1"><b><?php echo $user->lang['AUTH_REPORT_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[auth_report_pm]" value="1" <?php echo $report_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[auth_report_pm]" value="0" <?php echo $report_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['AUTH_QUOTE_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[auth_quote_pm]" value="1" <?php echo $quote_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[auth_quote_pm]" value="0" <?php echo $quote_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['PRINT_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[print_pm]" value="1" <?php echo $print_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[print_pm]" value="0" <?php echo $print_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['EMAIL_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[email_pm]" value="1" <?php echo $email_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[email_pm]" value="0" <?php echo $email_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['FORWARD_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[forward_pm]" value="1" <?php echo $forward_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[forward_pm]" value="0" <?php echo $forward_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['AUTH_IMG_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[auth_img_pm]" value="1" <?php echo $img_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[auth_img_pm]" value="0" <?php echo $img_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['AUTH_FLASH_PM']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[auth_flash_pm]" value="1" <?php echo $flash_pm_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[auth_flash_pm]" value="0" <?php echo $flash_pm_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['ENABLE_PM_ICONS']; ?>: </b></td>
<td class="row2"><input type="radio" name="config[enable_pm_icons]" value="1" <?php echo $enable_pm_icons_yes; ?> /> <?php echo $user->lang['YES']; ?>&nbsp;&nbsp;<input type="radio" name="config[enable_pm_icons]" value="0" <?php echo $enable_pm_icons_no; ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<?php <?php
@ -729,7 +805,7 @@ switch ($mode)
?> ?>
<tr> <tr>
<td class="row1" width="50%"><b><?php echo $user->lang['AUTH_METHOD']; ?>: </b></td> <td class="row1" width="50%"><b><?php echo $user->lang['AUTH_METHOD']; ?>: </b></td>
<td class="row2"><select name="auth_method"><?php echo $auth_select; ?></select></td> <td class="row2"><select name="config[auth_method]"><?php echo $auth_select; ?></select></td>
</tr> </tr>
<?php <?php
@ -769,27 +845,27 @@ switch ($mode)
?> ?>
<tr> <tr>
<td class="row1" width="50%"><?php echo $user->lang['ENABLE_KARMA']; ?>: </td> <td class="row1" width="50%"><?php echo $user->lang['ENABLE_KARMA']; ?>: </td>
<td class="row2"><input type="radio" name="enable_karma" value="1"<?php echo $enable_karma_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="enable_karma" value="0" <?php echo $enable_karma_no ?> /> <?php echo $user->lang['NO']; ?></td> <td class="row2"><input type="radio" name="config[enable_karma]" value="1"<?php echo $enable_karma_yes ?> /><?php echo $user->lang['YES'] ?>&nbsp;&nbsp;<input type="radio" name="config[enable_karma]" value="0" <?php echo $enable_karma_no ?> /> <?php echo $user->lang['NO']; ?></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['MIN_RATINGS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MIN_RATINGS_EXPLAIN']; ?></span</td> <td class="row1"><b><?php echo $user->lang['MIN_RATINGS']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['MIN_RATINGS_EXPLAIN']; ?></span</td>
<td class="row2"><input class="post" type="text" size="3" maxlength="5" name="min_ratings" value="<?php echo $new['min_ratings']; ?>" /></td> <td class="row2"><input class="post" type="text" size="3" maxlength="5" name="config[min_ratings]" value="<?php echo $new['min_ratings']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['KARMA_HIST_WEIGHT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['KARMA_HIST_WEIGHT_EXPLAIN']; ?></span</td> <td class="row1"><b><?php echo $user->lang['KARMA_HIST_WEIGHT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['KARMA_HIST_WEIGHT_EXPLAIN']; ?></span</td>
<td class="row2"><input class="post" type="text" size="3" maxlength="5" name="karma_hist_weight" value="<?php echo $new['karma_hist_weight']; ?>" /></td> <td class="row2"><input class="post" type="text" size="3" maxlength="5" name="config[karma_hist_weight]" value="<?php echo $new['karma_hist_weight']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['KARMA_DAY_WEIGHT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['KARMA_DAY_WEIGHT_EXPLAIN']; ?></span</td> <td class="row1"><b><?php echo $user->lang['KARMA_DAY_WEIGHT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['KARMA_DAY_WEIGHT_EXPLAIN']; ?></span</td>
<td class="row2"><input class="post" type="text" size="3" maxlength="5" name="karma_day_weight" value="<?php echo $new['karma_30_weight']; ?>" /></td> <td class="row2"><input class="post" type="text" size="3" maxlength="5" name="config[karma_day_weight]" value="<?php echo $new['karma_30_weight']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['KARMA_REG_WEIGHT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['KARMA_REG_WEIGHT_EXPLAIN']; ?></span</td> <td class="row1"><b><?php echo $user->lang['KARMA_REG_WEIGHT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['KARMA_REG_WEIGHT_EXPLAIN']; ?></span</td>
<td class="row2"><input class="post" type="text" size="3" maxlength="5" name="karma_reg_weight" value="<?php echo $new['karma_reg_weight']; ?>" /></td> <td class="row2"><input class="post" type="text" size="3" maxlength="5" name="config[karma_reg_weight]" value="<?php echo $new['karma_reg_weight']; ?>" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b><?php echo $user->lang['KARMA_POST_WEIGHT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['KARMA_POST_WEIGHT_EXPLAIN']; ?></span</td> <td class="row1"><b><?php echo $user->lang['KARMA_POST_WEIGHT']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['KARMA_POST_WEIGHT_EXPLAIN']; ?></span</td>
<td class="row2"><input class="post" type="text" size="3" maxlength="5" name="karma_post_weight" value="<?php echo $new['karma_post_weight']; ?>" /></td> <td class="row2"><input class="post" type="text" size="3" maxlength="5" name="config[karma_post_weight]" value="<?php echo $new['karma_post_weight']; ?>" /></td>
</tr> </tr>
<?php <?php

View file

@ -19,7 +19,7 @@ if (!empty($setmodules))
$file_uploads = @ini_get('file_uploads'); $file_uploads = @ini_get('file_uploads');
if (!empty($file_uploads) && $file_uploads !== 0 && strtolower($file_uploads) != 'off' && $auth->acl_get('a_restore')) if (!empty($file_uploads) && $file_uploads !== 0 && strtolower($file_uploads) != 'off' && $auth->acl_get('a_restore'))
{ {
$module['DB']['DB_RESTORE'] = "$filenamex$SID&amp;mode=restore"; $module['DB']['DB_RESTORE'] = "$filename$SID&amp;mode=restore";
} }
return; return;
@ -30,7 +30,7 @@ define('IN_PHPBB', 1);
$phpbb_root_path = '../'; $phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1); $phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx); require('pagestart.' . $phpEx);
include($phpbb_root_path . 'functions_compress.'.$phpEx); include($phpbb_root_path . 'includes/functions_compress.'.$phpEx);
@set_time_limit(1200); @set_time_limit(1200);

View file

@ -1332,28 +1332,27 @@ function delete_forum_content($forum_id)
// Use delete_attachments('topic', $ids, false) here... // Use delete_attachments('topic', $ids, false) here...
// Select then delete all attachments // Select then delete all attachments
$sql = 'SELECT a.physical_filename, a.thumbnail $sql = 'SELECT a.topic_id
FROM ' . POSTS_TABLE . ' p, ' . ATTACHMENTS_TABLE . " a FROM ' . POSTS_TABLE . ' p, ' . ATTACHMENTS_TABLE . " a
WHERE p.forum_id = $forum_id WHERE p.forum_id = $forum_id
AND a.post_id = p.post_id"; AND a.in_message = 0
AND a.topic_id = p.topic_id";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$topic_ids = array();
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
phpbb_unlink($row['physical_filename'], 'file'); $topic_ids[] = $row['topic_id'];
if ($row['thumbnail'])
{
phpbb_unlink($row['physical_filename'], 'thumbnail');
}
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
delete_attachments('topic', $topic_ids, false);
// Delete everything else and thank MySQL for offering multi-table deletion // Delete everything else and thank MySQL for offering multi-table deletion
$tables_ary = array( $tables_ary = array(
SEARCH_MATCH_TABLE => 'wm.post_id', SEARCH_MATCH_TABLE => 'wm.post_id',
RATINGS_TABLE => 'ra.post_id', RATINGS_TABLE => 'ra.post_id',
REPORTS_TABLE => 're.post_id', REPORTS_TABLE => 're.post_id',
ATTACHMENTS_TABLE => 'a.post_id',
TOPICS_WATCH_TABLE => 'tw.topic_id', TOPICS_WATCH_TABLE => 'tw.topic_id',
TOPICS_TRACK_TABLE => 'tt.topic_id', TOPICS_TRACK_TABLE => 'tt.topic_id',
POLL_OPTIONS_TABLE => 'po.post_id', POLL_OPTIONS_TABLE => 'po.post_id',
@ -1391,7 +1390,8 @@ function delete_forum_content($forum_id)
$sql = 'SELECT a.attach_id, a.physical_filename, a.thumbnail $sql = 'SELECT a.attach_id, a.physical_filename, a.thumbnail
FROM ' . POSTS_TABLE . ' p, ' . ATTACHMENTS_TABLE . " a FROM ' . POSTS_TABLE . ' p, ' . ATTACHMENTS_TABLE . " a
WHERE p.forum_id = $forum_id WHERE p.forum_id = $forum_id
AND a.post_id = p.post_id"; AND a.in_message = 0
AND a.post_msg_id = p.post_id";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$attach_ids = array(); $attach_ids = array();

View file

@ -245,12 +245,14 @@ function marklist(match, status)
$group_desc = request_var('group_description', ''); $group_desc = request_var('group_description', '');
$group_type = request_var('group_type', 0); $group_type = request_var('group_type', 0);
$colour = request_var('group_colour', ''); $colour = request_var('group_colour', '');
$rank = request_var('group_rank', 0); $rank = request_var('group_rank', 0);
$data['uploadurl'] = request_var('uploadurl', ''); $data['uploadurl'] = request_var('uploadurl', '');
$data['remotelink'] = request_var('remotelink', ''); $data['remotelink'] = request_var('remotelink', '');
$delete = request_var('delete', ''); $delete = request_var('delete', '');
$receive_pm = isset($_REQUEST['group_receive_pm']) ? 1 : 0;
$message_limit = request_var('group_message_limit', 0);
if (!empty($_FILES['uploadfile']['tmp_name']) || $data['uploadurl'] || $data['remotelink']) if (!empty($_FILES['uploadfile']['tmp_name']) || $data['uploadurl'] || $data['remotelink'])
{ {
@ -293,12 +295,12 @@ function marklist(match, status)
// Only set the rank, colour, etc. if it's changed or if we're adding a new // Only set the rank, colour, etc. if it's changed or if we're adding a new
// group. This prevents existing group members being updated if no changes // group. This prevents existing group members being updated if no changes
// were made. // were made.
foreach (array('rank', 'colour', 'avatar', 'avatar_type', 'avatar_width', 'avatar_height') as $test) foreach (array('rank', 'colour', 'avatar', 'avatar_type', 'avatar_width', 'avatar_height', 'receive_pm', 'message_limit') as $test)
{ {
${'group_' . $test} = ($action == 'add' || (isset($$test) && $$test != ${'group_' . $test})) ? $$test : false; ${'group_' . $test} = ($action == 'add' || (isset($$test) && $$test != ${'group_' . $test})) ? $$test : false;
} }
if (!($error = group_create($group_id, $group_type, $group_name, $group_description, $group_colour, $group_rank, $group_avatar, $group_avatar_type, $group_avatar_width, $group_avatar_height))) if (!($error = group_create($group_id, $group_type, $group_name, $group_description, $group_colour, $group_rank, $group_avatar, $group_avatar_type, $group_avatar_width, $group_avatar_height, $group_receive_pm, $group_message_limit)))
{ {
$message = ($action == 'edit') ? 'GROUP_UPDATED' : 'GROUP_CREATED'; $message = ($action == 'edit') ? 'GROUP_UPDATED' : 'GROUP_CREATED';
trigger_error($message); trigger_error($message);
@ -369,7 +371,7 @@ function marklist(match, status)
function swatch() function swatch()
{ {
window.open('./swatch.<?php echo $phpEx; ?>?form=settings&amp;name=group_colour', '_swatch', 'HEIGHT=115,resizable=yes,scrollbars=no,WIDTH=636'); window.open('./swatch.<?php echo $phpEx; ?>?form=settings&name=group_colour', '_swatch', 'HEIGHT=115,resizable=yes,scrollbars=no,WIDTH=636');
return false; return false;
} }
@ -435,6 +437,14 @@ function swatch()
<tr> <tr>
<th colspan="2"><?php echo $user->lang['GROUP_SETTINGS_SAVE']; ?></th> <th colspan="2"><?php echo $user->lang['GROUP_SETTINGS_SAVE']; ?></th>
</tr> </tr>
<tr>
<td class="row2"><b><?php echo $user->lang['GROUP_RECEIVE_PM']; ?>:</b></td>
<td class="row1" nowrap="nowrap"><input type="checkbox" name="group_receive_pm"<?php echo ($group_receive_pm) ? ' checked="checked"' : ''; ?> /></td>
</tr>
<tr>
<td class="row2"><b><?php echo $user->lang['GROUP_MESSAGE_LIMIT']; ?>:</b></td>
<td class="row1" nowrap="nowrap"><input class="post" type="text" maxlength="4" size="4" name="group_message_limit" value="<?php echo $group_message_limit; ?>" /></td>
</tr>
<tr> <tr>
<td class="row2"><b><?php echo $user->lang['GROUP_COLOR']; ?>:</b><br /><span class="gensmall"><?php echo $user->lang['GROUP_COLOR_EXPLAIN']; ?></span></td> <td class="row2"><b><?php echo $user->lang['GROUP_COLOR']; ?>:</b><br /><span class="gensmall"><?php echo $user->lang['GROUP_COLOR_EXPLAIN']; ?></span></td>
<td class="row1" nowrap="nowrap"><input class="post" type="text" name="group_colour" value="<?php echo (!empty($group_colour)) ? $group_colour : ''; ?>" size="6" maxlength="6" /> &nbsp; [ <a href="<?php echo "swatch.$phpEx"; ?>" onclick="swatch();return false" target="_swatch"><?php echo $user->lang['COLOUR_SWATCH']; ?></a> ]</td> <td class="row1" nowrap="nowrap"><input class="post" type="text" name="group_colour" value="<?php echo (!empty($group_colour)) ? $group_colour : ''; ?>" size="6" maxlength="6" /> &nbsp; [ <a href="<?php echo "swatch.$phpEx"; ?>" onclick="swatch();return false" target="_swatch"><?php echo $user->lang['COLOUR_SWATCH']; ?></a> ]</td>

View file

@ -1320,7 +1320,7 @@ function update_foes()
global $db; global $db;
$perms = array(); $perms = array();
foreach (auth::acl_get_list(false, array('a_', 'm_'), false) as $forum_id => $forum_ary) foreach ($auth->acl_get_list(false, array('a_', 'm_'), false) as $forum_id => $forum_ary)
{ {
foreach ($forum_ary as $auth_option => $user_ary) foreach ($forum_ary as $auth_option => $user_ary)
{ {

View file

@ -36,7 +36,7 @@ define('IN_PHPBB', 1);
$phpbb_root_path = '../'; $phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1); $phpEx = substr(strrchr(__FILE__, '.'), 1);
require('pagestart.' . $phpEx); require('pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.'.$phpEx); include($phpbb_root_path . 'includes/message_parser.'.$phpEx);
// Check permissions // Check permissions
if (!$auth->acl_get('a_search')) if (!$auth->acl_get('a_search'))
@ -48,10 +48,11 @@ if (!$auth->acl_get('a_search'))
if (isset($_POST['start']) || isset($_GET['batchstart'])) if (isset($_POST['start']) || isset($_GET['batchstart']))
{ {
$batchsize = 200; // Process this many posts per batch $batchsize = 200; // Process this many posts per batch
$batchstart = (!isset($_GET['batchstart'])) ? $row['min_post_id'] : $_GET['batchstart']; $batchcount = request_var('batchcount', 1);
$batchcount = (!isset($_GET['batchcount'])) ? 1 : $_GET['batchcount']; $batchstart = request_var('batchstart', 0);
$loopcount = 0; $loopcount = 0;
$batchend = $batchstart + $batchsize;
$fulltext = new fulltext_search();
// Search re-indexing is tough on the server ... so we'll check the load // Search re-indexing is tough on the server ... so we'll check the load
// each loop and if we're on a 1min load of 3 or more we'll re-load the page // each loop and if we're on a 1min load of 3 or more we'll re-load the page
@ -64,12 +65,13 @@ if (isset($_POST['start']) || isset($_GET['batchstart']))
if ($load > 3) if ($load > 3)
{ {
redirect("admin_search.$phpEx$SID&batchstart=$batchstart&batchcount=$batch_count"); redirect("admin_search.$phpEx$SID&batchstart=$batchstart&batchcount=$batchcount");
} }
} }
} }
// Try and load stopword and synonym files /* Try and load stopword and synonym files
// Do this with the mode "admin" and the fulltext class
$stopword_array = array(); $stopword_array = array();
$synonym_array = array(); $synonym_array = array();
@ -95,8 +97,9 @@ if (isset($_POST['start']) || isset($_GET['batchstart']))
} }
closedir($dir); closedir($dir);
*/
if (!isset($_GET['batchstart'])) if (!$batchstart)
{ {
// Take board offline // Take board offline
set_config('board_disable', 1); set_config('board_disable', 1);
@ -109,17 +112,20 @@ if (isset($_POST['start']) || isset($_GET['batchstart']))
// Fetch a batch of posts_text entries // Fetch a batch of posts_text entries
$sql = "SELECT COUNT(*) AS total, MAX(post_id) AS max_post_id, MIN(post_id) AS min_post_id $sql = "SELECT COUNT(*) AS total, MAX(post_id) AS max_post_id, MIN(post_id) AS min_post_id
FROM " . POSTS_TEXT_TABLE; FROM " . POSTS_TABLE;
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result); $row = $db->sql_fetchrow($result);
$totalposts = $row['total']; $totalposts = $row['total'];
$max_post_id = $row['max_post_id']; $max_post_id = $row['max_post_id'];
$batchstart = (!$batchstart) ? $row['min_post_id'] : $batchstart;
$batchend = $batchstart + $batchsize;
$db->sql_freeresult($result); $db->sql_freeresult($result);
$sql = "SELECT * $sql = "SELECT *
FROM " . POSTS_TEXT_TABLE . " FROM " . POSTS_TABLE . "
WHERE post_id WHERE post_id
BETWEEN $batchstart BETWEEN $batchstart
AND $batchend"; AND $batchend";
@ -129,7 +135,9 @@ if (isset($_POST['start']) || isset($_GET['batchstart']))
{ {
do do
{ {
$post_id = $row['post_id']; $mode = 'admin';
$fulltext->add($mode, $row['post_id'], $row['post_text'], $row['post_subject']);
/*$post_id = $row['post_id'];
$search_raw_words = array(); $search_raw_words = array();
$search_raw_words['text'] = split_words(clean_words('post', $row['post_text'], $stopword_array, $synonym_array)); $search_raw_words['text'] = split_words(clean_words('post', $row['post_text'], $stopword_array, $synonym_array));
@ -162,7 +170,7 @@ if (isset($_POST['start']) || isset($_GET['batchstart']))
for($i = 0; $i < count($word); $i++) for($i = 0; $i < count($word); $i++)
{ {
$word_text_sql .= (($word_text_sql != '') ? ', ' : '') . "'" . $word[$i] . "'"; $word_text_sql .= (($word_text_sql != '') ? ', ' : '') . "'" . $db->sql_escape($word[$i]) . "'";
} }
$check_words = array(); $check_words = array();
@ -201,17 +209,17 @@ if (isset($_POST['start']) || isset($_GET['batchstart']))
{ {
case 'mysql': case 'mysql':
case 'mysql4': case 'mysql4':
$value_sql .= (($value_sql != '') ? ', ' : '') . "('" . $word[$i] . "')"; $value_sql .= (($value_sql != '') ? ', ' : '') . "('" . $db->sql_escape($word[$i]) . "')";
break; break;
case 'mssql': case 'mssql':
case 'sqlite': case 'sqlite':
$value_sql .= (($value_sql != '') ? ' UNION ALL ' : '') . "SELECT '" . $word[$i] . "'"; $value_sql .= (($value_sql != '') ? ' UNION ALL ' : '') . "SELECT '" . $db->sql_escape($word[$i]) . "'";
break; break;
default: default:
$sql = 'INSERT INTO ' . SEARCH_WORD_TABLE . " (word_text) $sql = 'INSERT INTO ' . SEARCH_WORD_TABLE . " (word_text)
VALUES ('" . $word[$i] . "')"; VALUES ('" . $db->sql_escape($word[$i]) . "')";
$db->sql_query($sql); $db->sql_query($sql);
break; break;
} }
@ -252,7 +260,7 @@ if (isset($_POST['start']) || isset($_GET['batchstart']))
$db->sql_query($sql); $db->sql_query($sql);
} }
} }
*/
} }
while ($row = $db->sql_fetchrow($result)); while ($row = $db->sql_fetchrow($result));
} }
@ -309,7 +317,7 @@ else if (isset($_POST['cancel']))
} }
else else
{ {
adm_page_header($user->lang['Search_index']); adm_page_header($user->lang['SEARCH_INDEX']);
?> ?>

View file

@ -508,6 +508,7 @@ elseif ($pane == 'right')
view_log('admin', $log_data, $log_count, 5); view_log('admin', $log_data, $log_count, 5);
$row_class = 'row2';
for($i = 0; $i < sizeof($log_data); $i++) for($i = 0; $i < sizeof($log_data); $i++)
{ {
$row_class = ($row_class == 'row1') ? 'row2' : 'row1'; $row_class = ($row_class == 'row1') ? 'row2' : 'row1';

View file

@ -84,7 +84,7 @@ th { background-image: url('images/cellpic3.gif') }
td.cat { background-image: url('images/cellpic1.gif') } td.cat { background-image: url('images/cellpic1.gif') }
//--> //-->
</style> </style>
<title><?php echo $config['sitename'] . ' - ' . $page_title; ?></title> <title><?php echo $config['sitename'] . ' - ' . $sub_title; ?></title>
</head> </head>
<body> <body>

View file

@ -58,12 +58,6 @@ require($phpbb_root_path . 'includes/template.'.$phpEx);
require($phpbb_root_path . 'includes/session.'.$phpEx); require($phpbb_root_path . 'includes/session.'.$phpEx);
require($phpbb_root_path . 'includes/functions.'.$phpEx); require($phpbb_root_path . 'includes/functions.'.$phpEx);
// Warn about install/ directory
if (file_exists('install'))
{
// trigger_error('REMOVE_INSTALL');
}
// User related // User related
define('ANONYMOUS', 1); define('ANONYMOUS', 1);
@ -127,10 +121,12 @@ define('LOG_MOD', 1);
define('LOG_CRITICAL', 2); define('LOG_CRITICAL', 2);
define('LOG_USERS', 3); define('LOG_USERS', 3);
// Private messaging // Private messaging - Do NOT change these values
define('PRIVMSGS_READ_MAIL', 0); define('PRIVMSGS_HOLD_BOX', -4);
define('PRIVMSGS_NEW_MAIL', 1); define('PRIVMSGS_NO_BOX', -3);
define('PRIVMSGS_UNREAD_MAIL', 5); define('PRIVMSGS_OUTBOX', -2);
define('PRIVMSGS_SENTBOX', -1);
define('PRIVMSGS_INBOX', 0);
// Download Modes - Attachments // Download Modes - Attachments
define('INLINE_LINK', 1); define('INLINE_LINK', 1);
@ -142,7 +138,7 @@ define('IMAGE_CAT', 1); // Inline Images
define('WM_CAT', 2); // Windows Media Files - Streaming define('WM_CAT', 2); // Windows Media Files - Streaming
define('RM_CAT', 3); // Real Media Files - Streaming define('RM_CAT', 3); // Real Media Files - Streaming
define('THUMB_CAT', 4); // Not used within the database, only while displaying posts define('THUMB_CAT', 4); // Not used within the database, only while displaying posts
//define('SWF_CAT', 5); // Replaced by [flash] ? or an additional possibility ? //define('SWF_CAT', 5); // Replaced by [flash]? or an additional possibility?
// BBCode UID length // BBCode UID length
define('BBCODE_UID_LEN', 5); define('BBCODE_UID_LEN', 5);
@ -189,7 +185,9 @@ define('MODERATOR_TABLE', $table_prefix.'moderator_cache');
define('MODULES_TABLE', $table_prefix . 'modules'); define('MODULES_TABLE', $table_prefix . 'modules');
define('POSTS_TABLE', $table_prefix.'posts'); define('POSTS_TABLE', $table_prefix.'posts');
define('PRIVMSGS_TABLE', $table_prefix.'privmsgs'); define('PRIVMSGS_TABLE', $table_prefix.'privmsgs');
define('PRIVMSGS_TEXT_TABLE', $table_prefix.'privmsgs_text'); define('PRIVMSGS_TO_TABLE', $table_prefix.'privmsgs_to');
define('PRIVMSGS_FOLDER_TABLE', $table_prefix.'privmsgs_folder');
define('PRIVMSGS_RULES_TABLE', $table_prefix.'privmsgs_rules');
define('RANKS_TABLE', $table_prefix.'ranks'); define('RANKS_TABLE', $table_prefix.'ranks');
define('RATINGS_TABLE', $table_prefix.'ratings'); define('RATINGS_TABLE', $table_prefix.'ratings');
define('REPORTS_TABLE', $table_prefix.'reports'); define('REPORTS_TABLE', $table_prefix.'reports');
@ -288,6 +286,12 @@ if (time() - $config['queue_interval'] >= $config['last_queue_run'] && !defined(
} }
} }
// Warn about install/ directory
if (file_exists('install'))
{
// trigger_error('REMOVE_INSTALL');
}
// Show 'Board is disabled' message // Show 'Board is disabled' message
if ($config['board_disable'] && !defined('IN_ADMIN') && !defined('IN_LOGIN')) if ($config['board_disable'] && !defined('IN_ADMIN') && !defined('IN_LOGIN'))
{ {

View file

@ -31,7 +31,7 @@ if (!$download_id)
trigger_error('NO_ATTACHMENT_SELECTED'); trigger_error('NO_ATTACHMENT_SELECTED');
} }
if (!$config['allow_attachments']) if (!$config['allow_attachments'] && !$config['allow_pm_attach'])
{ {
trigger_error('ATTACHMENT_FUNCTIONALITY_DISABLED'); trigger_error('ATTACHMENT_FUNCTIONALITY_DISABLED');
} }
@ -47,30 +47,47 @@ if (!($attachment = $db->sql_fetchrow($result)))
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
// if ((!$attachment['in_message'] && !$config['allow_attachments']) || ($attachment['in_message'] && !$config['allow_pm_attach']))
$sql = 'SELECT p.forum_id, f.forum_password, f.parent_id
FROM ' . POSTS_TABLE . ' p, ' . FORUMS_TABLE . ' f
WHERE p.post_id = ' . $attachment['post_id'] . '
AND p.forum_id = f.forum_id';
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if ($auth->acl_gets('f_download', 'u_download', $row['forum_id']))
{ {
if ($row['forum_password']) trigger_error('ATTACHMENT_FUNCTIONALITY_DISABLED');
}
$row = array();
if (!$attachment['in_message'])
{
//
$sql = 'SELECT p.forum_id, f.forum_password, f.parent_id
FROM ' . POSTS_TABLE . ' p, ' . FORUMS_TABLE . ' f
WHERE p.post_id = ' . $attachment['post_msg_id'] . '
AND p.forum_id = f.forum_id';
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if ($auth->acl_gets('f_download', 'u_download', $row['forum_id']))
{ {
// Do something else ... ? if ($row['forum_password'])
login_forum_box($row); {
// Do something else ... ?
login_forum_box($row);
}
}
else
{
trigger_error('SORRY_AUTH_VIEW_ATTACH');
} }
} }
else else
{ {
trigger_error('SORRY_AUTH_VIEW_ATTACH'); $row['forum_id'] = 0;
if (!$auth->acl_get('u_pm_download') || !$config['auth_download_pm'])
{
trigger_error('SORRY_AUTH_VIEW_ATTACH');
}
} }
// disallowed ? // disallowed ?
if (extension_allowed($row['forum_id'], $attachment['extension'])) if (!extension_allowed($row['forum_id'], $attachment['extension']))
{ {
trigger_error(sprintf($user->lang['EXTENSION_DISABLED_AFTER_POSTING'], $attachment['extension'])); trigger_error(sprintf($user->lang['EXTENSION_DISABLED_AFTER_POSTING'], $attachment['extension']));
} }

View file

@ -188,7 +188,12 @@ class acm
$this->load(); $this->load();
} }
return (time() > $this->var_expires[$var_name]) ? FALSE : isset($this->vars[$var_name]); if (!isset($this->var_expires[$var_name]))
{
return false;
}
return (time() > $this->var_expires[$var_name]) ? false : isset($this->vars[$var_name]);
} }
} }
@ -225,7 +230,7 @@ class acm
$query = preg_replace('/[\n\r\s\t]+/', ' ', $query); $query = preg_replace('/[\n\r\s\t]+/', ' ', $query);
$query_id = 'Cache id #' . count($this->sql_rowset); $query_id = 'Cache id #' . count($this->sql_rowset);
include($this->cache_dir . 'sql_' . md5($query) . ".$phpEx"); @include($this->cache_dir . 'sql_' . md5($query) . ".$phpEx");
if (!isset($expired)) if (!isset($expired))
{ {
return FALSE; return FALSE;

View file

@ -46,10 +46,8 @@ class bbcode
return $message; return $message;
} }
if (empty($this->bbcode_cache)) // Init those added with a new bbcode_bitfield (already stored codes will not get parsed again)
{ $this->bbcode_cache_init();
$this->bbcode_cache_init();
}
$str = array('search' => array(), 'replace' => array()); $str = array('search' => array(), 'replace' => array());
$preg = array('search' => array(), 'replace' => array()); $preg = array('search' => array(), 'replace' => array());

View file

@ -206,7 +206,7 @@ class sql_db
$query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')'; $query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')';
} }
else if ($query == 'UPDATE') else if ($query == 'UPDATE' || $query == 'SELECT')
{ {
$values = array(); $values = array();
foreach ($assoc_ary as $key => $var) foreach ($assoc_ary as $key => $var)
@ -224,7 +224,7 @@ class sql_db
$values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var"; $values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var";
} }
} }
$query = implode(', ', $values); $query = implode(($query == 'UPDATE') ? ', ' : ' AND ', $values);
} }
return $query; return $query;

View file

@ -68,13 +68,13 @@ function set_config($config_name, $config_value, $is_dynamic = FALSE)
$sql = 'UPDATE ' . CONFIG_TABLE . " $sql = 'UPDATE ' . CONFIG_TABLE . "
SET config_value = '" . $db->sql_escape($config_value) . "' SET config_value = '" . $db->sql_escape($config_value) . "'
WHERE config_name = '$config_name'"; WHERE config_name = '" . $db->sql_escape($config_name) . "'";
$db->sql_query($sql); $db->sql_query($sql);
if (!$db->sql_affectedrows() && !isset($config[$config_name])) if (!$db->sql_affectedrows() && !isset($config[$config_name]))
{ {
$sql = 'INSERT INTO ' . CONFIG_TABLE . " (config_name, config_value) $sql = 'INSERT INTO ' . CONFIG_TABLE . " (config_name, config_value)
VALUES ('$config_name', '" . $db->sql_escape($config_value) . "')"; VALUES ('" . $db->sql_escape($config_name) . "', '" . $db->sql_escape($config_value) . "')";
$db->sql_query($sql); $db->sql_query($sql);
} }
@ -422,6 +422,7 @@ function tz_select($default = '')
{ {
global $sys_timezone, $user; global $sys_timezone, $user;
$tz_select = '';
foreach ($user->lang['tz'] as $offset => $zone) foreach ($user->lang['tz'] as $offset => $zone)
{ {
if (is_numeric($offset)) if (is_numeric($offset))
@ -551,21 +552,25 @@ function markread($mode, $forum_id = 0, $topic_id = 0, $marktime = false)
return; return;
} }
if (!is_array($forum_id))
{
$forum_id = array($forum_id);
}
// Default tracking type // Default tracking type
$type = TRACK_NORMAL; $type = TRACK_NORMAL;
$current_time = ($marktime) ? $marktime : time(); $current_time = ($marktime) ? $marktime : time();
$topic_id = (int) $topic_id;
switch ($mode) switch ($mode)
{ {
case 'mark': case 'mark':
if ($config['load_db_lastread']) if ($config['load_db_lastread'])
{ {
$sql_where = (is_array($forum_id)) ? ' IN (' . implode(', ', array_map('intval', $forum_id)) . ')' : ' = ' . (int) $forum_id;
$sql = 'SELECT forum_id $sql = 'SELECT forum_id
FROM ' . FORUMS_TRACK_TABLE . ' FROM ' . FORUMS_TRACK_TABLE . '
WHERE user_id = ' . $user->data['user_id'] . " WHERE user_id = ' . $user->data['user_id'] . '
AND forum_id $sql_where"; AND forum_id IN (' . implode(', ', array_map('intval', $forum_id)) . ')';
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$sql_update = array(); $sql_update = array();
@ -623,12 +628,10 @@ function markread($mode, $forum_id = 0, $topic_id = 0, $marktime = false)
{ {
$tracking = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? unserialize(stripslashes($_COOKIE[$config['cookie_name'] . '_track'])) : array(); $tracking = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? unserialize(stripslashes($_COOKIE[$config['cookie_name'] . '_track'])) : array();
$forum_id_ary = (!is_array($forum_id)) ? array($forum_id) : $forum_id; foreach ($forum_id as $f_id)
foreach ($forum_id_ary as $forum_id)
{ {
unset($tracking[$forum_id]); unset($tracking[$f_id]);
$tracking[$forum_id][0] = base_convert($current_time - $config['board_startdate'], 10, 36); $tracking[$f_id][0] = base_convert($current_time - $config['board_startdate'], 10, 36);
} }
setcookie($config['cookie_name'] . '_track', serialize($tracking), time() + 31536000, $config['cookie_path'], $config['cookie_domain'], $config['cookie_secure']); setcookie($config['cookie_name'] . '_track', serialize($tracking), time() + 31536000, $config['cookie_path'], $config['cookie_domain'], $config['cookie_secure']);
@ -641,6 +644,8 @@ function markread($mode, $forum_id = 0, $topic_id = 0, $marktime = false)
$type = TRACK_POSTED; $type = TRACK_POSTED;
case 'topic': case 'topic':
$forum_id = (int) $forum_id[0];
// Mark a topic as read // Mark a topic as read
if ($config['load_db_lastread'] || ($config['load_db_track'] && $type == TRACK_POSTED)) if ($config['load_db_lastread'] || ($config['load_db_track'] && $type == TRACK_POSTED))
{ {
@ -668,7 +673,7 @@ function markread($mode, $forum_id = 0, $topic_id = 0, $marktime = false)
{ {
$tracking = unserialize(stripslashes($_COOKIE[$config['cookie_name'] . '_track'])); $tracking = unserialize(stripslashes($_COOKIE[$config['cookie_name'] . '_track']));
// If the cookie grows larger than 3000 characters we will remove // If the cookie grows larger than 2000 characters we will remove
// the smallest value // the smallest value
if (strlen($_COOKIE[$config['cookie_name'] . '_track']) > 2000) if (strlen($_COOKIE[$config['cookie_name'] . '_track']) > 2000)
{ {
@ -906,8 +911,15 @@ function obtain_attach_extensions(&$extensions)
$extensions[$extension]['upload_icon'] = trim($row['upload_icon']); $extensions[$extension]['upload_icon'] = trim($row['upload_icon']);
$extensions[$extension]['max_filesize'] = (int) $row['max_filesize']; $extensions[$extension]['max_filesize'] = (int) $row['max_filesize'];
$allowed_forums = ($row['allowed_forums']) ? unserialize(trim($row['allowed_forums'])) : array();
if ($row['allow_in_pm'])
{
$allowed_forums = array_merge($allowed_forums, array(0));
}
// Store allowed extensions forum wise // Store allowed extensions forum wise
$extensions['_allowed_'][$extension] = (!$row['allowed_forums']) ? 0 : unserialize(trim($row['allowed_forums'])); $extensions['_allowed_'][$extension] = (!sizeof($allowed_forums)) ? 0 : $allowed_forums;
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
@ -967,6 +979,42 @@ function meta_refresh($time, $url)
); );
} }
// Build Confirm box with session id and user id check
function confirm_box($check, $title = '', $url = '', $hidden = '')
{
global $user, $template;
if ($check)
{
$user_id = request_var('user_id', 0);
$session_id = request_var('sess', 0);
if ($user_id != $user->data['user_id'] || $session_id != $user->session_id)
{
return false;
}
return true;
}
$s_hidden_fields = '<input type="hidden" name="user_id" value="' . $user->data['user_id'] . '" /><input type="hidden" name="sess" value="' . $user->session_id . '" />';
page_header($user->lang[$title]);
$template->set_filenames(array(
'body' => 'confirm_body.html')
);
$template->assign_vars(array(
'MESSAGE_TITLE' => $user->lang[$title],
'MESSAGE_TEXT' => $user->lang[$title . '_CONFIRM'],
'S_CONFIRM_ACTION' => $url,
'S_HIDDEN_FIELDS' => $hidden . $s_hidden_fields)
);
page_footer();
}
// Generate login box or verify password // Generate login box or verify password
function login_box($s_action, $s_hidden_fields = '', $login_explain = '', $ucp_login = false) function login_box($s_action, $s_hidden_fields = '', $login_explain = '', $ucp_login = false)
@ -1149,7 +1197,7 @@ function smilie_text($text, $force_option = false)
return ($force_option || !$config['allow_smilies'] || !$user->optionget('viewsmilies')) ? preg_replace('#<!\-\- s(.*?) \-\-><img src="\{SMILE_PATH\}\/.*? \/><!\-\- s\1 \-\->#', '\1', $text) : str_replace('<img src="{SMILE_PATH}', '<img src="' . $phpbb_root_path . $config['smilies_path'], $text); return ($force_option || !$config['allow_smilies'] || !$user->optionget('viewsmilies')) ? preg_replace('#<!\-\- s(.*?) \-\-><img src="\{SMILE_PATH\}\/.*? \/><!\-\- s\1 \-\->#', '\1', $text) : str_replace('<img src="{SMILE_PATH}', '<img src="' . $phpbb_root_path . $config['smilies_path'], $text);
} }
// Check if extension is allowed to be posted within forum X // Check if extension is allowed to be posted within forum X (forum_id 0 == private messaging)
function extension_allowed($forum_id, $extension) function extension_allowed($forum_id, $extension)
{ {
global $extensions; global $extensions;
@ -1160,14 +1208,36 @@ function extension_allowed($forum_id, $extension)
obtain_attach_extensions($extensions); obtain_attach_extensions($extensions);
} }
return (is_array($extensions['_allowed_'][$extension]) && !in_array($forum_id, $extensions['_allowed_'][$extension])) || !isset($extensions['_allowed_'][$extension]); if (!isset($extensions['_allowed_'][$extension]))
{
return false;
}
$check = $extensions['_allowed_'][$extension];
if (is_array($check))
{
// Check for private messaging
if (sizeof($check) == 1 && $check[0] == 0)
{
return true;
}
return (!in_array($forum_id, $check)) ? false : true;
}
else
{
return ($forum_id == 0) ? false : true;
}
return false;
} }
// Error and message handler, call with trigger_error if reqd // Error and message handler, call with trigger_error if reqd
function msg_handler($errno, $msg_text, $errfile, $errline) function msg_handler($errno, $msg_text, $errfile, $errline)
{ {
global $cache, $db, $auth, $template, $config, $user; global $cache, $db, $auth, $template, $config, $user;
global $phpEx, $phpbb_root_path, $starttime; global $phpEx, $phpbb_root_path, $starttime, $display_header;
switch ($errno) switch ($errno)
{ {
@ -1218,6 +1288,8 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
} }
$msg_text = (!empty($user->lang[$msg_text])) ? $user->lang[$msg_text] : $msg_text; $msg_text = (!empty($user->lang[$msg_text])) ? $user->lang[$msg_text] : $msg_text;
$msg_title = (!isset($msg_title)) ? $user->lang['INFORMATION'] : ((!empty($user->lang[$msg_title])) ? $user->lang[$msg_title] : $msg_title);
$display_header = (!isset($display_header)) ? false : (bool) $display_header;
if (defined('IN_ADMIN')) if (defined('IN_ADMIN'))
{ {
@ -1231,7 +1303,7 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
); );
$template->assign_vars(array( $template->assign_vars(array(
'MESSAGE_TITLE' => $msg_title, 'MESSAGE_TITLE' => (isset($msg_title)) ? $msg_title : $user->lang['INFORMATION'],
'MESSAGE_TEXT' => $msg_text) 'MESSAGE_TEXT' => $msg_text)
); );
@ -1410,7 +1482,7 @@ function page_header($page_title = '')
$l_message_new = ($user->data['user_new_privmsg'] == 1) ? $user->lang['NEW_PM'] : $user->lang['NEW_PMS']; $l_message_new = ($user->data['user_new_privmsg'] == 1) ? $user->lang['NEW_PM'] : $user->lang['NEW_PMS'];
$l_privmsgs_text = sprintf($l_message_new, $user->data['user_new_privmsg']); $l_privmsgs_text = sprintf($l_message_new, $user->data['user_new_privmsg']);
if ($user->data['user_last_privmsg'] > $user->data['session_last_visit']) if (!$user->data['user_last_privmsg'] || $user->data['user_last_privmsg'] > $user->data['session_last_visit'])
{ {
$sql = 'UPDATE ' . USERS_TABLE . ' $sql = 'UPDATE ' . USERS_TABLE . '
SET user_last_privmsg = ' . $user->data['session_last_visit'] . ' SET user_last_privmsg = ' . $user->data['session_last_visit'] . '
@ -1430,15 +1502,13 @@ function page_header($page_title = '')
$s_privmsg_new = false; $s_privmsg_new = false;
} }
if ($user->data['user_unread_privmsg']) $l_privmsgs_text_unread = '';
if ($user->data['user_unread_privmsg'] && $user->data['user_unread_privmsg'] != $user->data['user_new_privmsg'])
{ {
$l_message_unread = ($user->data['user_unread_privmsg'] == 1) ? $user->lang['UNREAD_PM'] : $user->lang['UNREAD_PMS']; $l_message_unread = ($user->data['user_unread_privmsg'] == 1) ? $user->lang['UNREAD_PM'] : $user->lang['UNREAD_PMS'];
$l_privmsgs_text_unread = sprintf($l_message_unread, $user->data['user_unread_privmsg']); $l_privmsgs_text_unread = sprintf($l_message_unread, $user->data['user_unread_privmsg']);
} }
else
{
$l_privmsgs_text_unread = $user->lang['NO_UNREAD_PM'];
}
} }
// Which timezone? // Which timezone?
@ -1462,7 +1532,9 @@ function page_header($page_title = '')
'L_INDEX' => $user->lang['FORUM_INDEX'], 'L_INDEX' => $user->lang['FORUM_INDEX'],
'L_ONLINE_EXPLAIN' => $l_online_time, 'L_ONLINE_EXPLAIN' => $l_online_time,
'U_PRIVATEMSGS' => $phpbb_root_path . 'ucp.'.$phpEx.$SID.'&amp;mode=pm&amp;folder=inbox', 'U_PRIVATEMSGS' => "{$phpbb_root_path}ucp.$phpEx$SID&i=pm&mode=" . (($user->data['user_new_privmsg'] || $l_privmsgs_text_unread) ? 'unread' : 'view_messages'),
'U_RETURN_INBOX' => "{$phpbb_root_path}ucp.$phpEx$SID&i=pm&folder=inbox",
'U_POPUP_PM' => "{$phpbb_root_path}ucp.$phpEx$SID&i=pm&mode=popup",
'U_MEMBERLIST' => "{$phpbb_root_path}memberlist.$phpEx$SID", 'U_MEMBERLIST' => "{$phpbb_root_path}memberlist.$phpEx$SID",
'U_VIEWONLINE' => "{$phpbb_root_path}viewonline.$phpEx$SID", 'U_VIEWONLINE' => "{$phpbb_root_path}viewonline.$phpEx$SID",
'U_MEMBERSLIST' => "{$phpbb_root_path}memberlist.$phpEx$SID", 'U_MEMBERSLIST' => "{$phpbb_root_path}memberlist.$phpEx$SID",
@ -1481,7 +1553,7 @@ function page_header($page_title = '')
'S_USER_LOGGED_IN' => ($user->data['user_id'] != ANONYMOUS) ? true : false, 'S_USER_LOGGED_IN' => ($user->data['user_id'] != ANONYMOUS) ? true : false,
'S_USER_PM_POPUP' => $user->optionget('popuppm'), 'S_USER_PM_POPUP' => $user->optionget('popuppm'),
'S_USER_LANG' => $user->data['user_lang'], 'S_USER_LANG' => $user->data['user_lang'],
'S_USER_BROWSER' => $user->data['session_browser'], 'S_USER_BROWSER' => (isset($user->data['session_browser'])) ? $user->data['session_browser'] : $user->lang['UNKNOWN_BROWSER'],
'S_CONTENT_DIRECTION' => $user->lang['DIRECTION'], 'S_CONTENT_DIRECTION' => $user->lang['DIRECTION'],
'S_CONTENT_ENCODING' => $user->lang['ENCODING'], 'S_CONTENT_ENCODING' => $user->lang['ENCODING'],
'S_CONTENT_DIR_LEFT' => $user->lang['LEFT'], 'S_CONTENT_DIR_LEFT' => $user->lang['LEFT'],
@ -1489,9 +1561,9 @@ function page_header($page_title = '')
'S_TIMEZONE' => ($user->data['user_dst'] || ($user->data['user_id'] == ANONYMOUS && $config['board_dst'])) ? sprintf($user->lang['ALL_TIMES'], $user->lang['tz'][$tz], $user->lang['tz']['dst']) : sprintf($user->lang['ALL_TIMES'], $user->lang['tz'][$tz], ''), 'S_TIMEZONE' => ($user->data['user_dst'] || ($user->data['user_id'] == ANONYMOUS && $config['board_dst'])) ? sprintf($user->lang['ALL_TIMES'], $user->lang['tz'][$tz], $user->lang['tz']['dst']) : sprintf($user->lang['ALL_TIMES'], $user->lang['tz'][$tz], ''),
'S_DISPLAY_ONLINE_LIST' => (!empty($config['load_online'])) ? 1 : 0, 'S_DISPLAY_ONLINE_LIST' => (!empty($config['load_online'])) ? 1 : 0,
'S_DISPLAY_SEARCH' => (!empty($config['load_search'])) ? 1 : 0, 'S_DISPLAY_SEARCH' => (!empty($config['load_search'])) ? 1 : 0,
'S_DISPLAY_PM' => (empty($config['privmsg_disable'])) ? 1 : 0, 'S_DISPLAY_PM' => (!empty($config['allow_privmsg'])) ? 1 : 0,
'S_DISPLAY_MEMBERLIST' => (isset($auth)) ? $auth->acl_get('u_viewprofile') : 0, 'S_DISPLAY_MEMBERLIST' => (isset($auth)) ? $auth->acl_get('u_viewprofile') : 0,
'S_NEW_PM' => $s_privmsg_new, 'S_NEW_PM' => ($s_privmsg_new) ? 1 : 0,
'T_THEME_PATH' => "{$phpbb_root_path}styles/" . $user->theme['primary']['theme_path'] . '/theme', 'T_THEME_PATH' => "{$phpbb_root_path}styles/" . $user->theme['primary']['theme_path'] . '/theme',
'T_TEMPLATE_PATH' => "{$phpbb_root_path}styles/" . $user->theme['primary']['template_path'] . '/template', 'T_TEMPLATE_PATH' => "{$phpbb_root_path}styles/" . $user->theme['primary']['template_path'] . '/template',

View file

@ -292,7 +292,8 @@ function move_posts($post_ids, $topic_id, $auto_sync = TRUE)
$sql = 'UPDATE ' . ATTACHMENTS_TABLE . " $sql = 'UPDATE ' . ATTACHMENTS_TABLE . "
SET topic_id = $topic_id SET topic_id = $topic_id
WHERE post_id IN (" . implode(', ', $post_ids) . ')'; AND in_message = 0
WHERE post_msg_id IN (" . implode(', ', $post_ids) . ')';
$db->sql_query($sql); $db->sql_query($sql);
if ($auto_sync) if ($auto_sync)
@ -490,14 +491,14 @@ function delete_attachments($mode, $ids, $resync = TRUE)
return false; return false;
} }
$sql_id = ($mode == 'user') ? 'poster_id' : (($mode == 'post') ? 'post_id' : (($mode == 'topic') ? 'topic_id' : 'attach_id')); $sql_id = ($mode == 'user') ? 'poster_id' : (($mode == 'post') ? 'post_msg_id' : (($mode == 'topic') ? 'topic_id' : 'attach_id'));
$post_ids = $topic_ids = $physical = array(); $post_ids = $topic_ids = $physical = array();
// Collect post and topics ids for later use // Collect post and topics ids for later use
if ($mode == 'attach' || $mode == 'user' || ($mode == 'topic' && $resync)) if ($mode == 'attach' || $mode == 'user' || ($mode == 'topic' && $resync))
{ {
$sql = 'SELECT post_id, topic_id, physical_filename, thumbnail, filesize $sql = 'SELECT post_msg_id as post_id, topic_id, physical_filename, thumbnail, filesize
FROM ' . ATTACHMENTS_TABLE . ' FROM ' . ATTACHMENTS_TABLE . '
WHERE ' . $sql_id . ' IN (' . implode(', ', $ids) . ')'; WHERE ' . $sql_id . ' IN (' . implode(', ', $ids) . ')';
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
@ -515,7 +516,8 @@ function delete_attachments($mode, $ids, $resync = TRUE)
{ {
$sql = 'SELECT topic_id, physical_filename, thumbnail, filesize $sql = 'SELECT topic_id, physical_filename, thumbnail, filesize
FROM ' . ATTACHMENTS_TABLE . ' FROM ' . ATTACHMENTS_TABLE . '
WHERE post_id IN (' . implode(', ', $ids) . ')'; WHERE post_msg_id IN (' . implode(', ', $ids) . ')
AND in_message = 0';
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
@ -581,14 +583,15 @@ function delete_attachments($mode, $ids, $resync = TRUE)
{ {
$remaining = array(); $remaining = array();
$sql = 'SELECT post_id $sql = 'SELECT post_msg_id
FROM ' . ATTACHMENTS_TABLE . ' FROM ' . ATTACHMENTS_TABLE . '
WHERE post_id IN (' . implode(', ', $post_ids) . ')'; WHERE post_msg_id IN (' . implode(', ', $post_ids) . ')
AND in_message = 0';
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$remaining[] = $row['post_id']; $remaining[] = $row['post_msg_id'];
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
@ -599,6 +602,28 @@ function delete_attachments($mode, $ids, $resync = TRUE)
SET post_attachment = 0 SET post_attachment = 0
WHERE post_id IN (' . implode(', ', $unset_ids) . ')'); WHERE post_id IN (' . implode(', ', $unset_ids) . ')');
} }
$remaining = array();
$sql = 'SELECT post_msg_id
FROM ' . ATTACHMENTS_TABLE . '
WHERE post_msg_id IN (' . implode(', ', $post_ids) . ')
AND in_message = 1';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$remaining[] = $row['post_msg_id'];
}
$db->sql_freeresult($result);
$unset_ids = array_diff($post_ids, $remaining);
if (sizeof($unset_ids))
{
$db->sql_query('UPDATE ' . PRIVMSGS_TABLE . '
SET message_attachment = 0
WHERE msg_id IN (' . implode(', ', $unset_ids) . ')');
}
} }
} }

View file

@ -32,7 +32,7 @@ function display_forums($root_data = '', $display_moderators = TRUE)
} }
// Display list of active topics for this category? // Display list of active topics for this category?
$show_active = ($root_data['forum_flags'] & 16) ? true : false; $show_active = (isset($root_data['forum_flags']) && $root_data['forum_flags'] & 16) ? true : false;
if ($config['load_db_lastread'] && $user->data['user_id'] != ANONYMOUS) if ($config['load_db_lastread'] && $user->data['user_id'] != ANONYMOUS)
{ {
@ -353,6 +353,7 @@ function display_attachments($forum_id, $blockname, $attachment_data, &$update_c
$attachment_tpl = array(); $attachment_tpl = array();
// Generate Template // Generate Template
// TODO: secondary template
$template_filename = $phpbb_root_path . 'styles/' . $user->theme['primary']['template_path'] . '/template/attachment.html'; $template_filename = $phpbb_root_path . 'styles/' . $user->theme['primary']['template_path'] . '/template/attachment.html';
if (!($fp = @fopen($template_filename, 'rb'))) if (!($fp = @fopen($template_filename, 'rb')))
{ {
@ -411,7 +412,7 @@ function display_attachments($forum_id, $blockname, $attachment_data, &$update_c
$denied = false; $denied = false;
if (extension_allowed($forum_id, $attachment['extension'])) if (!extension_allowed($forum_id, $attachment['extension']))
{ {
$denied = true; $denied = true;

View file

@ -19,19 +19,21 @@ function generate_smilies($mode, $forum_id)
if ($mode == 'window') if ($mode == 'window')
{ {
if (!$forum_id && !$topic_id) if ($forum_id)
{ {
trigger_error('NO_TOPIC'); $sql = 'SELECT forum_style
FROM ' . FORUMS_TABLE . "
WHERE forum_id = $forum_id";
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$user->setup('posting', (int) $row['forum_style']);
}
else
{
$user->setup('posting');
} }
$sql = 'SELECT forum_style
FROM ' . FORUMS_TABLE . "
WHERE forum_id = $forum_id";
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$user->setup('posting', (int) $row['forum_style']);
page_header($user->lang['SMILIES']); page_header($user->lang['SMILIES']);
@ -89,22 +91,27 @@ function generate_smilies($mode, $forum_id)
} }
// Format text to be displayed - from viewtopic.php - centralizing this would be nice ;) // Format text to be displayed - from viewtopic.php - centralizing this would be nice ;)
function format_display(&$message, &$signature, $uid, $siguid, $html, $bbcode, $url, $smilies, $sig) function format_display(&$message, &$signature, $uid, $siguid, $enable_html, $enable_bbcode, $enable_url, $enable_smilies, $enable_sig, $bbcode = '')
{ {
global $auth, $forum_id, $config, $user, $bbcode, $phpbb_root_path; global $auth, $forum_id, $config, $user, $phpbb_root_path;
if (!$bbcode)
{
global $bbcode;
}
// Second parse bbcode here // Second parse bbcode here
$bbcode->bbcode_second_pass($message, $uid); $bbcode->bbcode_second_pass($message, $uid);
// If we allow users to disable display of emoticons we'll need an appropriate // If we allow users to disable display of emoticons we'll need an appropriate
// check and preg_replace here // check and preg_replace here
$message = smilie_text($message, !$smilies); $message = smilie_text($message, !$enbale_smilies);
// Replace naughty words such as farty pants // Replace naughty words such as farty pants
$message = str_replace("\n", '<br />', censor_text($message)); $message = str_replace("\n", '<br />', censor_text($message));
// Signature // Signature
if ($sig && $config['allow_sig'] && $signature && $auth->acl_get('f_sigs', $forum_id)) if ($enable_sig && $config['allow_sig'] && $signature && $auth->acl_get('f_sigs', $forum_id))
{ {
$signature = trim($signature); $signature = trim($signature);
@ -162,7 +169,7 @@ function update_last_post_information($type, $id)
} }
// Upload Attachment - filedata is generated here // Upload Attachment - filedata is generated here
function upload_attachment($forum_id, $filename, $local = false, $local_storage = '') function upload_attachment($forum_id, $filename, $local = false, $local_storage = '', $is_message = false)
{ {
global $auth, $user, $config, $db; global $auth, $user, $config, $db;
@ -188,14 +195,17 @@ function upload_attachment($forum_id, $filename, $local = false, $local_storage
obtain_attach_extensions($extensions); obtain_attach_extensions($extensions);
// Check Extension // Check Extension
if (extension_allowed($forum_id, $filedata['extension'])) if (!extension_allowed($forum_id, $filedata['extension']))
{ {
$filedata['error'][] = sprintf($user->lang['DISALLOWED_EXTENSION'], $filedata['extension']); $filedata['error'][] = sprintf($user->lang['DISALLOWED_EXTENSION'], $filedata['extension']);
$filedata['post_attach'] = false; $filedata['post_attach'] = false;
return $filedata; return $filedata;
} }
$allowed_filesize = ($extensions[$filedata['extension']]['max_filesize'] != 0) ? $extensions[$filedata['extension']]['max_filesize'] : $config['max_filesize']; $cfg = array();
$cfg['max_filesize'] = ($is_message) ? $config['max_filesize_pm'] : $config['max_filesize'];
$allowed_filesize = ($extensions[$filedata['extension']]['max_filesize'] != 0) ? $extensions[$filedata['extension']]['max_filesize'] : $cfg['max_filesize'];
$cat_id = $extensions[$filedata['extension']]['display_cat']; $cat_id = $extensions[$filedata['extension']]['display_cat'];
// check Filename // check Filename
@ -253,7 +263,7 @@ function upload_attachment($forum_id, $filename, $local = false, $local_storage
} }
} }
// TODO - Check Free Disk Space - need testing under windows [commented out] // TODO - Check Free Disk Space - need testing under windows
if ($free_space = disk_free_space($config['upload_dir'])) if ($free_space = disk_free_space($config['upload_dir']))
{ {
if ($free_space <= $filedata['filesize']) if ($free_space <= $filedata['filesize'])
@ -508,14 +518,14 @@ function create_thumbnail($source, $new_file, $mimetype)
// //
// DECODE TEXT -> This will/should be handled by bbcode.php eventually // DECODE TEXT -> This will/should be handled by bbcode.php eventually
function decode_text(&$message, $bbcode_uid) function decode_text(&$message, $bbcode_uid = '')
{ {
global $config; global $config;
$server_protocol = ($config['cookie_secure']) ? 'https://' : 'http://'; $server_protocol = ($config['cookie_secure']) ? 'https://' : 'http://';
$server_port = ($config['server_port'] <> 80) ? ':' . trim($config['server_port']) . '/' : '/'; $server_port = ($config['server_port'] <> 80) ? ':' . trim($config['server_port']) . '/' : '/';
$search = array( $match = array(
'<br />', '<br />',
"[/*:m:$bbcode_uid]", "[/*:m:$bbcode_uid]",
":u:$bbcode_uid", ":u:$bbcode_uid",
@ -531,7 +541,7 @@ function decode_text(&$message, $bbcode_uid)
'' ''
); );
$message = ($bbcode_uid) ? str_replace($search, $replace, $message) : str_replace('<br />', "\n", $message); $message = ($bbcode_uid) ? str_replace($match, $replace, $message) : str_replace('<br />', "\n", $message);
$match = array( $match = array(
'#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#', '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
@ -569,4 +579,286 @@ function decode_text(&$message, $bbcode_uid)
return; return;
} }
// Temp Function - strtolower - borrowed from php.net
function phpbb_strtolower($string)
{
$new_string = '';
for ($i = 0; $i < strlen($string); $i++)
{
if (ord(substr($string, $i, 1)) > 0xa0)
{
$new_string .= strtolower(substr($string, $i, 2));
$i++;
}
else
{
$new_string .= strtolower($string{$i});
}
}
return $new_string;
}
function posting_gen_topic_icons($mode, $icon_id)
{
global $phpbb_root_path, $config, $template;
// Grab icons
$icons = array();
obtain_icons($icons);
if (sizeof($icons))
{
foreach ($icons as $id => $data)
{
if ($data['display'])
{
$template->assign_block_vars('topic_icon', array(
'ICON_ID' => $id,
'ICON_IMG' => $phpbb_root_path . $config['icons_path'] . '/' . $data['img'],
'ICON_WIDTH' => $data['width'],
'ICON_HEIGHT' => $data['height'],
'S_ICON_CHECKED' => ($id == $icon_id && $mode != 'reply') ? ' checked="checked"' : '')
);
}
}
return true;
}
return false;
}
function posting_gen_inline_attachments($message_parser)
{
global $template;
if (sizeof($message_parser->attachment_data))
{
$s_inline_attachment_options = '';
foreach ($message_parser->attachment_data as $i => $attachment)
{
$s_inline_attachment_options .= '<option value="' . $i . '">' . $attachment['real_filename'] . '</option>';
}
$template->assign_var('S_INLINE_ATTACHMENT_OPTIONS', $s_inline_attachment_options);
return true;
}
return false;
}
function posting_gen_topic_types($forum_id, $cur_topic_type = POST_NORMAL)
{
global $auth, $user, $template;
$toggle = false;
$topic_types = array(
'sticky' => array('const' => POST_STICKY, 'lang' => 'POST_STICKY'),
'announce' => array('const' => POST_ANNOUNCE, 'lang' => 'POST_ANNOUNCEMENT'),
'global' => array('const' => POST_GLOBAL, 'lang' => 'POST_GLOBAL')
);
$topic_type_array = array();
foreach ($topic_types as $auth_key => $topic_value)
{
// Temp - we do not have a special post global announcement permission
$auth_key = ($auth_key == 'global') ? 'announce' : $auth_key;
if ($auth->acl_get('f_' . $auth_key, $forum_id))
{
$toggle = true;
$topic_type_array[] = array(
'VALUE' => $topic_value['const'],
'S_CHECKED' => ($cur_topic_type == $topic_value['const'] || ($forum_id == 0 && $topic_value['const'] == POST_GLOBAL)) ? ' checked="checked"' : '',
'L_TOPIC_TYPE' => $user->lang[$topic_value['lang']]
);
}
}
if ($toggle)
{
$topic_type_array = array_merge(array(0 => array(
'VALUE' => POST_NORMAL,
'S_CHECKED' => ($topic_type == POST_NORMAL) ? ' checked="checked"' : '',
'L_TOPIC_TYPE' => $user->lang['POST_NORMAL'])),
$topic_type_array
);
foreach ($topic_type_array as $array)
{
$template->assign_block_vars('topic_type', $array);
}
$template->assign_vars(array(
'S_TOPIC_TYPE_STICKY' => ($auth->acl_get('f_sticky', $forum_id)),
'S_TOPIC_TYPE_ANNOUNCE' => ($auth->acl_get('f_announce', $forum_id)))
);
}
return $toggle;
}
function posting_gen_attachment_entry($message_parser)
{
global $template, $config, $phpbb_root_path, $SID, $phpEx;
$template->assign_vars(array(
'S_SHOW_ATTACH_BOX' => true)
);
if (sizeof($message_parser->attachment_data))
{
$template->assign_vars(array(
'S_HAS_ATTACHMENTS' => true)
);
$count = 0;
foreach ($message_parser->attachment_data as $attach_row)
{
$hidden = '';
$attach_row['real_filename'] = stripslashes($attach_row['real_filename']);
foreach ($attach_row as $key => $value)
{
$hidden .= '<input type="hidden" name="attachment_data[' . $count . '][' . $key . ']" value="' . $value . '" />';
}
$download_link = (!$attach_row['attach_id']) ? $config['upload_dir'] . '/' . $attach_row['physical_filename'] : $phpbb_root_path . "download.$phpEx$SID&id=" . intval($attach_row['attach_id']);
$template->assign_block_vars('attach_row', array(
'FILENAME' => $attach_row['real_filename'],
'ATTACH_FILENAME' => $attach_row['physical_filename'],
'FILE_COMMENT' => $attach_row['comment'],
'ATTACH_ID' => $attach_row['attach_id'],
'ASSOC_INDEX' => $count,
'U_VIEW_ATTACHMENT' => $download_link,
'S_HIDDEN' => $hidden)
);
$count++;
}
}
$template->assign_vars(array(
'FILE_COMMENT' => $message_parser->filename_data['filecomment'],
'FILESIZE' => $config['max_filesize'],
'FILENAME' => $message_parser->filename_data['filename'])
);
return sizeof($message_parser->attachment_data);
}
// Load Drafts
function load_drafts($topic_id = 0, $forum_id = 0, $id = 0)
{
global $user, $db, $template, $phpEx, $SID, $auth;
// Only those fitting into this forum...
if ($forum_id || $topic_id)
{
$sql = 'SELECT d.draft_id, d.topic_id, d.forum_id, d.draft_subject, d.save_time, f.forum_name
FROM ' . DRAFTS_TABLE . ' d, ' . FORUMS_TABLE . ' f
WHERE d.user_id = ' . $user->data['user_id'] . '
AND f.forum_id = d.forum_id ' .
(($forum_id) ? " AND f.forum_id = $forum_id" : '') . '
ORDER BY d.save_time DESC';
}
else
{
$sql = 'SELECT *
FROM ' . DRAFTS_TABLE . '
WHERE user_id = ' . $user->data['user_id'] . '
AND forum_id = 0
AND topic_id = 0
ORDER BY save_time DESC';
}
$result = $db->sql_query($sql);
$draftrows = $topic_ids = array();
while ($row = $db->sql_fetchrow($result))
{
if ($row['topic_id'])
{
$topic_ids[] = (int) $row['topic_id'];
}
$draftrows[] = $row;
}
$db->sql_freeresult($result);
if (sizeof($topic_ids))
{
$sql = 'SELECT topic_id, forum_id, topic_title
FROM ' . TOPICS_TABLE . '
WHERE topic_id IN (' . implode(',', array_unique($topic_ids)) . ')';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$topic_rows[$row['topic_id']] = $row;
}
$db->sql_freeresult($result);
}
unset($topic_ids);
if (sizeof($draftrows))
{
$row_count = 0;
$template->assign_var('S_SHOW_DRAFTS', true);
foreach ($draftrows as $draft)
{
$link_topic = $link_forum = $link_pm = false;
$insert_url = $view_url = $title = '';
if (isset($topic_rows[$draft['topic_id']]) && $auth->acl_get('f_read', $topic_rows[$draft['topic_id']]['forum_id']))
{
$link_topic = true;
$view_url = "viewtopic.$phpEx$SID&amp;f=" . $topic_rows[$draft['topic_id']]['forum_id'] . "&amp;t=" . $draft['topic_id'];
$title = $topic_rows[$draft['topic_id']]['topic_title'];
$insert_url = "posting.$phpEx$SID&amp;f=" . $topic_rows[$draft['topic_id']]['forum_id'] . '&amp;t=' . $draft['topic_id'] . '&amp;mode=reply&amp;d=' . $draft['draft_id'];
}
else if ($auth->acl_get('f_read', $draft['forum_id']))
{
$link_forum = true;
$view_url = "viewforum.$phpEx$SID&amp;f=" . $draft['forum_id'];
$title = $draft['forum_name'];
$insert_url = "posting.$phpEx$SID&amp;f=" . $draft['forum_id'] . '&amp;mode=post&amp;d=' . $draft['draft_id'];
}
else
{
$link_pm = true;
$insert_url = "ucp.$phpEx$SID&amp;i=$id&amp;mode=compose&amp;d=" . $draft['draft_id'];
}
$template->assign_block_vars('draftrow', array(
'DRAFT_ID' => $draft['draft_id'],
'DATE' => $user->format_date($draft['save_time']),
'DRAFT_SUBJECT' => $draft['draft_subject'],
'TITLE' => $title,
'U_VIEW' => $view_url,
'U_INSERT' => $insert_url,
'S_ROW_COUNT' => $row_count++,
'S_LINK_PM' => $link_pm,
'S_LINK_TOPIC' => $link_topic,
'S_LINK_FORUM' => $link_forum)
);
}
}
}
?> ?>

View file

@ -1114,7 +1114,7 @@ function group_create($group_id, $type, $name, $desc)
'group_type' => (int) $type, 'group_type' => (int) $type,
); );
$attribute_ary = array('group_colour' => 'string', 'group_rank' => 'int', 'group_avatar' => 'string', 'group_avatar_type' => 'int', 'group_avatar_width' => 'int', 'group_avatar_height' => 'int'); $attribute_ary = array('group_colour' => 'string', 'group_rank' => 'int', 'group_avatar' => 'string', 'group_avatar_type' => 'int', 'group_avatar_width' => 'int', 'group_avatar_height' => 'int', 'group_receive_pm' => 'int', 'group_message_limit' => 'int');
$i = 4; $i = 4;
foreach ($attribute_ary as $attribute => $type) foreach ($attribute_ary as $attribute => $type)

View file

@ -134,11 +134,10 @@ class parse_message
$server_protocol = ( $config['cookie_secure'] ) ? 'https://' : 'http://'; $server_protocol = ( $config['cookie_secure'] ) ? 'https://' : 'http://';
$server_port = ( $config['server_port'] <> 80 ) ? ':' . trim($config['server_port']) . '/' : '/'; $server_port = ( $config['server_port'] <> 80 ) ? ':' . trim($config['server_port']) . '/' : '/';
$match = array(); $match = $replace = array();
$replace = array();
// relative urls for this board // relative urls for this board
$match[] = '#(^|[\n ])' . $server_protocol . trim($config['server_name']) . $server_port . preg_replace('/^\/?(.*?)(\/)?$/', '$1', trim($config['script_path'])) . '(?:/[^ \t\n\r<"\']*)?)#i'; $match[] = '#((^|[\n ])' . $server_protocol . trim($config['server_name']) . $server_port . preg_replace('/^\/?(.*?)(\/)?$/', '$1', trim($config['script_path'])) . '(?:/[^ \t\n\r<"\']*)?)#i';
$replace[] = '<!-- l --><a href="$1" target="_blank">$1</a><!-- l -->'; $replace[] = '<!-- l --><a href="$1" target="_blank">$1</a><!-- l -->';
// matches a xxxx://aaaaa.bbb.cccc. ... // matches a xxxx://aaaaa.bbb.cccc. ...
@ -291,6 +290,7 @@ class parse_message
} }
} }
// Hardcode inline attachments [ia]
function bbcode_attachment($stx, $in) function bbcode_attachment($stx, $in)
{ {
$out = '[attachment=' . $stx . ':' . $this->bbcode_uid . ']<!-- ia' . $stx . ' -->' . $in . '<!-- ia' . $stx . ' -->[/attachment:' . $this->bbcode_uid . ']'; $out = '[attachment=' . $stx . ':' . $this->bbcode_uid . ']<!-- ia' . $stx . ' -->' . $in . '<!-- ia' . $stx . ' -->[/attachment:' . $this->bbcode_uid . ']';
@ -704,14 +704,14 @@ class parse_message
} }
// Parse Attachments // Parse Attachments
function parse_attachments($mode, $post_id, $submit, $preview, $refresh) function parse_attachments($mode, $post_id, $submit, $preview, $refresh, $is_message = false)
{ {
global $config, $auth, $user, $forum_id; global $config, $auth, $user, $forum_id;
global $_FILES, $_POST; global $_FILES, $_POST;
$error = array(); $error = array();
$num_attachments = count($this->attachment_data); $num_attachments = sizeof($this->attachment_data);
$this->filename_data['filecomment'] = preg_replace('#&amp;(\#[0-9]+;)#', '&\1', request_var('filecomment', '')); $this->filename_data['filecomment'] = preg_replace('#&amp;(\#[0-9]+;)#', '&\1', request_var('filecomment', ''));
$this->filename_data['filename'] = ($_FILES['fileupload']['name'] != 'none') ? trim($_FILES['fileupload']['name']) : ''; $this->filename_data['filename'] = ($_FILES['fileupload']['name'] != 'none') ? trim($_FILES['fileupload']['name']) : '';
@ -719,15 +719,19 @@ class parse_message
$delete_file = (isset($_POST['delete_file'])); $delete_file = (isset($_POST['delete_file']));
$edit_comment = (isset($_POST['edit_comment'])); $edit_comment = (isset($_POST['edit_comment']));
$cfg = array();
$cfg['max_attachments'] = ($is_message) ? $config['max_attachments_pm'] : $config['max_attachments'];
$forum_id = ($is_message) ? 0 : $forum_id;
if ($submit && in_array($mode, array('post', 'reply', 'quote', 'edit')) && $this->filename_data['filename']) if ($submit && in_array($mode, array('post', 'reply', 'quote', 'edit')) && $this->filename_data['filename'])
{ {
if ($num_attachments < $config['max_attachments'] || $auth->acl_gets('m_', 'a_')) if ($num_attachments < $cfg['max_attachments'] || $auth->acl_gets('m_', 'a_'))
{ {
$filedata = upload_attachment($forum_id, $this->filename_data['filename']); $filedata = upload_attachment($forum_id, $this->filename_data['filename'], false, '', $is_message);
$error = $filedata['error']; $error = $filedata['error'];
if ($filedata['post_attach'] && !count($error)) if ($filedata['post_attach'] && !sizeof($error))
{ {
$new_entry = array( $new_entry = array(
'physical_filename' => $filedata['destination_filename'], 'physical_filename' => $filedata['destination_filename'],
@ -759,7 +763,7 @@ class parse_message
} }
else else
{ {
$error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $config['max_attachments']); $error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $cfg['max_attachments']);
} }
} }
@ -805,9 +809,9 @@ class parse_message
if (($add_file || $preview) && $this->filename_data['filename']) if (($add_file || $preview) && $this->filename_data['filename'])
{ {
if ($num_attachments < $config['max_attachments'] || $auth->acl_gets('m_', 'a_')) if ($num_attachments < $cfg['max_attachments'] || $auth->acl_gets('m_', 'a_'))
{ {
$filedata = upload_attachment($forum_id, $this->filename_data['filename']); $filedata = upload_attachment($forum_id, $this->filename_data['filename'], false, '', $is_message);
$error = array_merge($error, $filedata['error']); $error = array_merge($error, $filedata['error']);
@ -832,7 +836,7 @@ class parse_message
} }
else else
{ {
$error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $config['max_attachments']); $error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $cfg['max_attachments']);
} }
} }
} }
@ -844,6 +848,35 @@ class parse_message
} }
} }
// Get Attachment Data
function get_submitted_attachment_data()
{
global $_FILES, $_POST;
$this->filename_data['filecomment'] = preg_replace('#&amp;(\#[0-9]+;)#', '&\1', request_var('filecomment', ''));
$this->filename_data['filename'] = ($_FILES['fileupload']['name'] != 'none') ? trim($_FILES['fileupload']['name']) : '';
$this->attachment_data = (isset($_POST['attachment_data'])) ? $_POST['attachment_data'] : array();
//
$data_prepare = array('physical_filename' => 's', 'real_filename' => 's', 'comment' => 's', 'extension' => 's', 'mimetype' => 's',
'filesize' => 'i', 'filetime' => 'i', 'attach_id' => 'i', 'thumbnail' => 'i');
foreach ($this->attachment_data as $pos => $var_ary)
{
foreach ($data_prepare as $var => $type)
{
if ($type == 's')
{
$this->attachment_data[$pos][$var] = htmlspecialchars(trim(stripslashes(preg_replace(array("#[ \xFF]{2,}#s", "#[\r\n]{2,}#s"), array(' ', "\n"), $this->attachment_data[$pos][$var]))));
}
else
{
$this->attachment_data[$pos][$var] = (int) $this->attachment_data[$pos][$var];
}
}
}
}
// Parse Poll // Parse Poll
function parse_poll(&$poll, $poll_data) function parse_poll(&$poll, $poll_data)
{ {

View file

@ -420,7 +420,7 @@ class template
default: default:
$this->compile_var_tags($blocks[0][$curr_tb]); $this->compile_var_tags($blocks[0][$curr_tb]);
$trim_check = trim($blocks[0][$curr_tb]); $trim_check = trim($blocks[0][$curr_tb]);
$compile_blocks[] = (!$do_not_echo) ? ((!empty($trim_check)) ? $blocks[0][$curr_tb] : '') : ((!empty($trim_check)) ? $blocks[0][$curr_tb] : ''); $compile_blocks[] = (!$no_echo) ? ((!empty($trim_check)) ? $blocks[0][$curr_tb] : '') : ((!empty($trim_check)) ? $blocks[0][$curr_tb] : '');
break; break;
} }
} }
@ -644,7 +644,7 @@ class template
function compile_tag_define($tag_args, $op) function compile_tag_define($tag_args, $op)
{ {
preg_match('#^(([a-z0-9\-_]+?\.)+?)?\$([A-Z][A-Z0-9_\-]*?) = (\'?)(.*?)(\'?)$#', $tag_args, $match); preg_match('#^(([a-z0-9\-_]+?\.)+?)?\$([A-Z][A-Z0-9_\-]*?) = (\'?)(.*?)(\'?)$#', $tag_args, $match);
if (empty($match[3]) || empty($match[5])) if (empty($match[3]) || empty($match[5]))
{ {

View file

@ -107,7 +107,7 @@ class ucp_attachments extends module
$view_topic = "{$phpbb_root_path}viewtopic.$phpEx$SID&amp;t=" . $row['topic_id'] . '&amp;p=' . $row['post_id'] . '#' . $row['post_id']; $view_topic = "{$phpbb_root_path}viewtopic.$phpEx$SID&amp;t=" . $row['topic_id'] . '&amp;p=' . $row['post_id'] . '#' . $row['post_id'];
$template->assign_block_vars('attachrow', array( $template->assign_block_vars('attachrow', array(
'ROW_NUMBER' => $i + ($start + 1), 'ROW_NUMBER' => $row_count + ($start + 1),
'FILENAME' => $row['real_filename'], 'FILENAME' => $row['real_filename'],
'COMMENT' => str_replace("\n", '<br />', $row['comment']), 'COMMENT' => str_replace("\n", '<br />', $row['comment']),
'EXTENSION' => $row['extension'], 'EXTENSION' => $row['extension'],

View file

@ -502,6 +502,11 @@ class ucp_main extends module
break; break;
case 'drafts': case 'drafts':
global $ucp;
$pm_drafts = ($ucp->name == 'pm') ? true : false;
$user->add_lang('posting');
$edit = (isset($_REQUEST['edit'])) ? true : false; $edit = (isset($_REQUEST['edit'])) ? true : false;
$submit = (isset($_POST['submit'])) ? true : false; $submit = (isset($_POST['submit'])) ? true : false;
@ -558,12 +563,24 @@ class ucp_main extends module
} }
} }
$sql = 'SELECT d.*, f.forum_name if (!$pm_drafts)
FROM ' . DRAFTS_TABLE . ' d, ' . FORUMS_TABLE . ' f {
WHERE d.user_id = ' . $user->data['user_id'] . ' ' . $sql = 'SELECT d.*, f.forum_name
(($edit) ? "AND d.draft_id = $draft_id" : '') . ' FROM ' . DRAFTS_TABLE . ' d, ' . FORUMS_TABLE . ' f
AND f.forum_id = d.forum_id WHERE d.user_id = ' . $user->data['user_id'] . ' ' .
ORDER BY save_time DESC'; (($edit) ? "AND d.draft_id = $draft_id" : '') . '
AND f.forum_id = d.forum_id
ORDER BY d.save_time DESC';
}
else
{
$sql = 'SELECT * FROM ' . DRAFTS_TABLE . '
WHERE user_id = ' . $user->data['user_id'] . ' ' .
(($edit) ? "AND draft_id = $draft_id" : '') . '
AND forum_id = 0
AND topic_id = 0
ORDER BY save_time DESC';
}
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$draftrows = $topic_ids = array(); $draftrows = $topic_ids = array();
@ -598,7 +615,7 @@ class ucp_main extends module
$row_count = 0; $row_count = 0;
foreach ($draftrows as $draft) foreach ($draftrows as $draft)
{ {
$link_topic = $link_forum = 0; $link_topic = $link_forum = $link_pm = false;
$insert_url = $view_url = $title = ''; $insert_url = $view_url = $title = '';
if (isset($topic_rows[$draft['topic_id']]) && $auth->acl_get('f_read', $topic_rows[$draft['topic_id']]['forum_id'])) if (isset($topic_rows[$draft['topic_id']]) && $auth->acl_get('f_read', $topic_rows[$draft['topic_id']]['forum_id']))
@ -617,6 +634,11 @@ class ucp_main extends module
$insert_url = "posting.$phpEx$SID&amp;f=" . $draft['forum_id'] . '&amp;mode=post&amp;d=' . $draft['draft_id']; $insert_url = "posting.$phpEx$SID&amp;f=" . $draft['forum_id'] . '&amp;mode=post&amp;d=' . $draft['draft_id'];
} }
else if ($pm_drafts)
{
$link_pm = true;
$insert_url = "ucp.$phpEx$SID&amp;i=$id&amp;mode=compose&amp;d=" . $draft['draft_id'];
}
$template_row = array( $template_row = array(
'DATE' => $user->format_date($draft['save_time']), 'DATE' => $user->format_date($draft['save_time']),
@ -635,6 +657,7 @@ class ucp_main extends module
'S_ROW_COUNT' => $row_count++, 'S_ROW_COUNT' => $row_count++,
'S_LINK_TOPIC' => $link_topic, 'S_LINK_TOPIC' => $link_topic,
'S_LINK_FORUM' => $link_forum, 'S_LINK_FORUM' => $link_forum,
'S_LINK_PM' => $link_pm,
'S_HIDDEN_FIELDS' => $s_hidden_fields 'S_HIDDEN_FIELDS' => $s_hidden_fields
); );
@ -643,7 +666,7 @@ class ucp_main extends module
if (!$edit) if (!$edit)
{ {
$template->assign_vars('S_DRAFT_ROWS', $row_count); $template->assign_var('S_DRAFT_ROWS', $row_count);
} }
break; break;

File diff suppressed because it is too large Load diff

View file

@ -125,7 +125,7 @@ class ucp_profile extends module
if ($config['require_activation'] == USER_ACTIVATION_ADMIN) if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
{ {
// Grab an array of user_id's with a_user permissions // Grab an array of user_id's with a_user permissions
$admin_ary = auth::acl_get_list(false, 'a_user', false); $admin_ary = $auth->acl_get_list(false, 'a_user', false);
$sql = 'SELECT user_id, username, user_email, user_jabber, user_notify_type $sql = 'SELECT user_id, username, user_email, user_jabber, user_notify_type
FROM ' . USERS_TABLE . ' FROM ' . USERS_TABLE . '

View file

@ -200,7 +200,7 @@ class ucp_register extends module
if (sizeof($cp_data)) if (sizeof($cp_data))
{ {
$cp_data['user_id'] = (int) $user_id; $cp_data['user_id'] = (int) $user_id;
$sql = 'INSERT INTO ' CUSTOM_PROFILE_DATA . ' ' . $db->sql_build_array('INSERT', $cp->build_insert_sql_array($cp_data)); $sql = 'INSERT INTO ' . CUSTOM_PROFILE_DATA . ' ' . $db->sql_build_array('INSERT', $cp->build_insert_sql_array($cp_data));
$db->sql_query($sql); $db->sql_query($sql);
} }
@ -281,7 +281,7 @@ class ucp_register extends module
{ {
// Grab an array of user_id's with a_user permissions ... these users // Grab an array of user_id's with a_user permissions ... these users
// can activate a user // can activate a user
$admin_ary = auth::acl_get_list(false, 'a_user', false); $admin_ary = $auth->acl_get_list(false, 'a_user', false);
$sql = 'SELECT user_id, username, user_email, user_jabber, user_notify_type $sql = 'SELECT user_id, username, user_email, user_jabber, user_notify_type
FROM ' . USERS_TABLE . ' FROM ' . USERS_TABLE . '

View file

@ -93,7 +93,7 @@ class ucp_zebra extends module
if ($mode == 'foes') if ($mode == 'foes')
{ {
$perms = array(); $perms = array();
foreach (auth::acl_get_list($user_id_ary, array('a_', 'm_')) as $forum_id => $forum_ary) foreach ($auth->acl_get_list($user_id_ary, array('a_', 'm_')) as $forum_id => $forum_ary)
{ {
foreach ($forum_ary as $auth_option => $user_ary) foreach ($forum_ary as $auth_option => $user_ary)
{ {

View file

@ -85,7 +85,7 @@ $template->assign_vars(array(
'FORUM_NEW_IMG' => $user->img('forum_new', 'NEW_POSTS'), 'FORUM_NEW_IMG' => $user->img('forum_new', 'NEW_POSTS'),
'FORUM_LOCKED_IMG' => $user->img('forum_locked', 'NO_NEW_POSTS_LOCKED'), 'FORUM_LOCKED_IMG' => $user->img('forum_locked', 'NO_NEW_POSTS_LOCKED'),
'S_LOGIN_ACTION' => "ucp.php?$SID&amp;mode=login", 'S_LOGIN_ACTION' => "ucp.$phpEx$SID&amp;mode=login",
'S_DISPLAY_BIRTHDAY_LIST' => ($config['load_birthdays']) ? true : false, 'S_DISPLAY_BIRTHDAY_LIST' => ($config['load_birthdays']) ? true : false,
'U_MARK_FORUMS' => "index.$phpEx$SID&amp;mark=forums") 'U_MARK_FORUMS' => "index.$phpEx$SID&amp;mark=forums")

View file

@ -7,8 +7,9 @@
# Table: phpbb_attachments # Table: phpbb_attachments
CREATE TABLE phpbb_attachments ( CREATE TABLE phpbb_attachments (
attach_id mediumint(8) UNSIGNED NOT NULL auto_increment, attach_id mediumint(8) UNSIGNED NOT NULL auto_increment,
post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, post_msg_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
in_message tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
poster_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, poster_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
physical_filename varchar(255) NOT NULL, physical_filename varchar(255) NOT NULL,
real_filename varchar(255) NOT NULL, real_filename varchar(255) NOT NULL,
@ -172,6 +173,7 @@ CREATE TABLE phpbb_extension_groups (
upload_icon varchar(100) DEFAULT '' NOT NULL, upload_icon varchar(100) DEFAULT '' NOT NULL,
max_filesize int(20) DEFAULT '0' NOT NULL, max_filesize int(20) DEFAULT '0' NOT NULL,
allowed_forums text NOT NULL, allowed_forums text NOT NULL,
allow_in_pm tinyint(1) DEFAULT '0' NOT NULL,
PRIMARY KEY (group_id) PRIMARY KEY (group_id)
); );
@ -251,7 +253,8 @@ CREATE TABLE phpbb_groups (
group_rank smallint(5) DEFAULT '-1' NOT NULL, group_rank smallint(5) DEFAULT '-1' NOT NULL,
group_colour varchar(6) DEFAULT '' NOT NULL, group_colour varchar(6) DEFAULT '' NOT NULL,
group_sig_chars mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, group_sig_chars mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
group_pm_limit mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, group_receive_pm tinyint(1) DEFAULT '0' NOT NULL,
group_message_limit mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
group_chgpass smallint(6) DEFAULT '0' NOT NULL, group_chgpass smallint(6) DEFAULT '0' NOT NULL,
group_description varchar(255) DEFAULT '' NOT NULL, group_description varchar(255) DEFAULT '' NOT NULL,
group_legend tinyint(1) DEFAULT '1' NOT NULL, group_legend tinyint(1) DEFAULT '1' NOT NULL,
@ -387,25 +390,6 @@ CREATE TABLE phpbb_posts (
); );
# Table: 'phpbb_privmsgs' # Table: 'phpbb_privmsgs'
CREATE TABLE phpbb_privmsgs (
privmsgs_id mediumint(8) UNSIGNED NOT NULL auto_increment,
privmsgs_attachment tinyint(1) DEFAULT '0' NOT NULL,
privmsgs_type tinyint(4) DEFAULT '0' NOT NULL,
privmsgs_subject varchar(60) DEFAULT '0' NOT NULL,
privmsgs_from_userid mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
privmsgs_to_userid mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
privmsgs_date int(11) DEFAULT '0' NOT NULL,
privmsgs_ip varchar(40) NOT NULL,
privmsgs_enable_bbcode tinyint(1) DEFAULT '1' NOT NULL,
privmsgs_enable_html tinyint(1) DEFAULT '0' NOT NULL,
privmsgs_enable_smilies tinyint(1) DEFAULT '1' NOT NULL,
privmsgs_attach_sig tinyint(1) DEFAULT '1' NOT NULL,
privmsgs_text text,
privmsgs_bbcode_uid varchar(10) DEFAULT '0' NOT NULL,
PRIMARY KEY (privmsgs_id),
KEY privmsgs_from_userid (privmsgs_from_userid),
KEY privmsgs_to_userid (privmsgs_to_userid)
);
# Table: 'phpbb_profile_fields' # Table: 'phpbb_profile_fields'
CREATE TABLE phpbb_profile_fields ( CREATE TABLE phpbb_profile_fields (
@ -489,6 +473,7 @@ CREATE TABLE phpbb_reports (
report_id smallint(5) UNSIGNED NOT NULL auto_increment, report_id smallint(5) UNSIGNED NOT NULL auto_increment,
reason_id smallint(5) UNSIGNED DEFAULT '0' NOT NULL, reason_id smallint(5) UNSIGNED DEFAULT '0' NOT NULL,
post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
msg_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
user_notify tinyint(1) DEFAULT '0' NOT NULL, user_notify tinyint(1) DEFAULT '0' NOT NULL,
report_time int(10) UNSIGNED DEFAULT '0' NOT NULL, report_time int(10) UNSIGNED DEFAULT '0' NOT NULL,
@ -758,16 +743,6 @@ CREATE TABLE phpbb_topics_watch (
KEY notify_status (notify_status) KEY notify_status (notify_status)
); );
# Table: 'phpbb_ucp_modules'
CREATE TABLE phpbb_ucp_modules (
module_id mediumint(8) DEFAULT '0' AUTO_INCREMENT NOT NULL,
module_title varchar(50) NOT NULL,
module_filename varchar(50) NOT NULL,
module_order mediumint(4) DEFAULT '0' NOT NULL,
KEY module_order (module_order),
PRIMARY KEY (module_id)
);
# Table: 'phpbb_user_group' # Table: 'phpbb_user_group'
CREATE TABLE phpbb_user_group ( CREATE TABLE phpbb_user_group (
group_id mediumint(8) DEFAULT '0' NOT NULL, group_id mediumint(8) DEFAULT '0' NOT NULL,
@ -810,6 +785,8 @@ CREATE TABLE phpbb_users (
user_new_privmsg tinyint(4) UNSIGNED DEFAULT '0' NOT NULL, user_new_privmsg tinyint(4) UNSIGNED DEFAULT '0' NOT NULL,
user_unread_privmsg tinyint(4) UNSIGNED DEFAULT '0' NOT NULL, user_unread_privmsg tinyint(4) UNSIGNED DEFAULT '0' NOT NULL,
user_last_privmsg int(11) DEFAULT '0' NOT NULL, user_last_privmsg int(11) DEFAULT '0' NOT NULL,
user_message_rules tinyint(1) UNSIGNED DEFAULT '0' NOT NULL,
user_full_folder int(11) DEFAULT '-3' NOT NULL,
user_emailtime int(11) DEFAULT '0' NOT NULL, user_emailtime int(11) DEFAULT '0' NOT NULL,
user_sortby_type varchar(1) DEFAULT '' NOT NULL, user_sortby_type varchar(1) DEFAULT '' NOT NULL,
user_sortby_dir varchar(1) DEFAULT '' NOT NULL, user_sortby_dir varchar(1) DEFAULT '' NOT NULL,

View file

@ -53,7 +53,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('icons_path','image
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_icons_path','images/upload_icons'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_icons_path','images/upload_icons');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('ranks_path','images/ranks'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('ranks_path','images/ranks');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('email_enable','1'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('email_enable','1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('privmsg_disable','0'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_privmsg','1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('gzip_compress','0'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('gzip_compress','0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_name', ''); INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_name', '');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_port', ''); INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_port', '');
@ -87,8 +87,6 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sig_chars','25
INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_poll_options','10'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_poll_options','10');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('min_search_chars','3'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('min_search_chars','3');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_search_chars','10'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_search_chars','10');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('pm_max_boxes','4');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('pm_max_msgs','50');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('edit_time','0'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('edit_time','0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('display_last_edited', '1'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('display_last_edited', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_sig','Thanks, The Management'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_sig','Thanks, The Management');
@ -145,6 +143,25 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('img_link_height','
INSERT INTO phpbb_config (config_name, config_value) VALUES ('img_create_thumbnail','0'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('img_create_thumbnail','0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('img_min_thumb_filesize','12000'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('img_min_thumb_filesize','12000');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('img_imagick', ''); INSERT INTO phpbb_config (config_name, config_value) VALUES ('img_imagick', '');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('pm_max_boxes', '4');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('pm_max_msgs', '50');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('auth_html_pm', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('auth_bbcode_pm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('auth_smilies_pm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('auth_download_pm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_sig_pm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_karma_pm', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('auth_report_pm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('auth_quote_pm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('print_pm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('email_pm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('forward_pm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('auth_img_pm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('auth_flash_pm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_pm_icons', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('pm_edit_time', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_mass_pm', '1');
INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('record_online_users', '0', 1); INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('record_online_users', '0', 1);
INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('record_online_date', '0', 1); INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('record_online_date', '0', 1);
INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('newest_user_id', '2', 1); INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('newest_user_id', '2', 1);
@ -263,6 +280,20 @@ INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_savedrafts',
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_download', 1); INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_download', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_attach', 1); INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_attach', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_attach', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_html', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_bbcode', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_smilies', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_download', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_sig', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_report', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_edit', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_printpm', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_emailpm', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_forward', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_delete', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_img', 1);
INSERT INTO phpbb_auth_options (auth_option, is_global) VALUES ('u_pm_flash', 1);
# MSSQL IDENTITY phpbb_styles ON # # MSSQL IDENTITY phpbb_styles ON #
@ -377,12 +408,13 @@ INSERT INTO phpbb_bots (bot_id, bot_active, bot_name, user_id, bot_agent, bot_ip
# MSSQL IDENTITY phpbb_modules OFF # # MSSQL IDENTITY phpbb_modules OFF #
# -- Modules # -- Modules
INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('mcp', 'MAIN', 'main', 1, 1, 'front\r\nforum_view\r\ntopic_view\r\npost_details', '');
INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'MAIN', 'main', 1, 1, 'front\r\nsubscribed\r\ndrafts', ''); INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'MAIN', 'main', 1, 1, 'front\r\nsubscribed\r\ndrafts', '');
INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'PROFILE', 'profile', 2, 1, 'profile_info\r\nreg_details\r\nsignature\r\navatar', ''); INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'PM', 'pm', 2, 1, 'view_messages\r\ncompose\r\nunread\r\ndrafts\r\noptions', 'cfg_allow_privmsg');
INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'PREFS', 'prefs', 3, 1, 'personal\r\nview\r\npost', ''); INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'PROFILE', 'profile', 3, 1, 'profile_info\r\nreg_details\r\nsignature\r\navatar', '');
INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'ZEBRA', 'zebra', 4, 1, 'friends\r\nfoes', ''); INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'PREFS', 'prefs', 4, 1, 'personal\r\nview\r\npost', '');
INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'ATTACHMENTS', 'attachments', 5, 1, '', 'acl_u_attach && cfg_allow_attachments'); INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'ZEBRA', 'zebra', 5, 1, 'friends\r\nfoes', '');
INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'ATTACHMENTS', 'attachments', 6, 1, '', 'acl_u_attach && cfg_allow_attachments');
INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('mcp', 'MAIN', 'main', 1, 1, 'front\r\nforum_view\r\ntopic_view\r\npost_details', '');
INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('mcp', 'QUEUE', 'queue', 2, 1, 'unapproved_topics\r\nunapproved_posts', 'acl_m_approve'); INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('mcp', 'QUEUE', 'queue', 2, 1, 'unapproved_topics\r\nunapproved_posts', 'acl_m_approve');
# MSSQL IDENTITY phpbb_modules OFF # # MSSQL IDENTITY phpbb_modules OFF #

View file

@ -55,6 +55,7 @@ $lang += array(
'BOARD_DEFAULTS' => 'Board Defaults', 'BOARD_DEFAULTS' => 'Board Defaults',
'BOARD_SETTINGS' => 'Board Settings', 'BOARD_SETTINGS' => 'Board Settings',
'COOKIE_SETTINGS' => 'Cookie Settings', 'COOKIE_SETTINGS' => 'Cookie Settings',
'MESSAGE_SETTINGS' => 'Message Settings',
'EMAIL_SETTINGS' => 'Email Settings', 'EMAIL_SETTINGS' => 'Email Settings',
'MASS_EMAIL' => 'Mass Email', 'MASS_EMAIL' => 'Mass Email',
'SERVER_SETTINGS' => 'Server Settings', 'SERVER_SETTINGS' => 'Server Settings',
@ -500,7 +501,22 @@ $lang += array(
'acl_u_search' => 'Can search board', 'acl_u_search' => 'Can search board',
'acl_u_savedrafts' => 'Can save drafts', 'acl_u_savedrafts' => 'Can save drafts',
'acl_u_download' => 'Can download files', 'acl_u_download' => 'Can download files',
'acl_u_attach' => 'Can attach files' 'acl_u_attach' => 'Can attach files',
'acl_u_pm_attach' => 'Can attach files in private messages',
'acl_u_pm_html' => 'Can post HTML in private messages',
'acl_u_pm_bbcode' => 'Can post BBCode in private messages',
'acl_u_pm_smilies' => 'Can post smilies in private messages',
'acl_u_pm_download' => 'Can download files in private messages',
'acl_u_pm_sig' => 'Can use signature in private messages',
'acl_u_pm_report' => 'Can report private messages',
'acl_u_pm_edit' => 'Can edit own private messages',
'acl_u_pm_printpm' => 'Can print private messages',
'acl_u_pm_emailpm' => 'Can email private messages',
'acl_u_pm_forward' => 'Can forward private messages',
'acl_u_pm_delete' => 'Can remove private messages from own folder',
'acl_u_pm_img' => 'Can post images in private messages',
'acl_u_pm_flash' => 'Can post Flash in private messages'
); );
// User pruning // User pruning
@ -584,6 +600,14 @@ $lang += array(
'ERR_JAB_PASSFAIL' => 'Password update failed, %s', 'ERR_JAB_PASSFAIL' => 'Password update failed, %s',
); );
// Message Settings
$lang += array(
'BOXES_MAX' => 'Max private message folders',
'BOXES_MAX_EXPLAIN' => 'By default users may create this many personal folders for private messages..',
'BOXES_LIMIT' => 'Max private messages per box',
'BOXES_LIMIT_EXPLAIN' => 'Users may receive no more than this many messages in each of their private message boxes or zero for unlimited messages.',
);
// Cookie settings // Cookie settings
$lang += array( $lang += array(
'COOKIE_SETTINGS_EXPLAIN' => 'These details define the data used to send cookies to your users browsers. In most cases the default values for the cookie settings should be sufficient. If you do need to change any do so with care, incorrect settings can prevent users logging in.', 'COOKIE_SETTINGS_EXPLAIN' => 'These details define the data used to send cookies to your users browsers. In most cases the default values for the cookie settings should be sufficient. If you do need to change any do so with care, incorrect settings can prevent users logging in.',
@ -803,10 +827,6 @@ $lang += array(
'DEFAULT_DATE_FORMAT_EXPLAIN'=> 'The date format is the same as the PHP date function.', 'DEFAULT_DATE_FORMAT_EXPLAIN'=> 'The date format is the same as the PHP date function.',
'SYSTEM_TIMEZONE' => 'System Timezone', 'SYSTEM_TIMEZONE' => 'System Timezone',
'SYSTEM_DST' => 'Enable Daylight Savings Time', 'SYSTEM_DST' => 'Enable Daylight Savings Time',
'BOXES_MAX' => 'Max private message folders',
'BOXES_MAX_EXPLAIN' => 'By default users may create this many personal folders for private messages..',
'BOXES_LIMIT' => 'Max private messages per box',
'BOXES_LIMIT_EXPLAIN' => 'Users may receive no more than this many messages in each of their private message boxes or zero for unlimited messages.',
'ALLOW_TOPIC_NOTIFY' => 'Allow Topic Watching', 'ALLOW_TOPIC_NOTIFY' => 'Allow Topic Watching',
'ALLOW_FORUM_NOTIFY' => 'Allow Forum Watching', 'ALLOW_FORUM_NOTIFY' => 'Allow Forum Watching',
'ALLOW_NAME_CHANGE' => 'Allow Username changes', 'ALLOW_NAME_CHANGE' => 'Allow Username changes',
@ -824,7 +844,7 @@ $lang += array(
'MAX_SIG_LENGTH' => 'Maximum signature length', 'MAX_SIG_LENGTH' => 'Maximum signature length',
'MAX_SIG_LENGTH_EXPLAIN' => 'Maximum number of characters in user signatures.', 'MAX_SIG_LENGTH_EXPLAIN' => 'Maximum number of characters in user signatures.',
'ALLOW_NO_CENSORS' => 'Allow Disable of Censors', 'ALLOW_NO_CENSORS' => 'Allow Disable of Censors',
'ALLOW_NO_CENSORS_EXPLAINS' => 'User can disable word censoring.', 'ALLOW_NO_CENSORS_EXPLAIN' => 'User can disable word censoring.',
); );
// Karma settings // Karma settings
@ -854,6 +874,7 @@ $lang += array(
// Forum admin // Forum admin
$lang += array( $lang += array(
'FORUM_ADMIN' => 'Forum Administration',
'FORUM_ADMIN_EXPLAIN' => 'In phpBB 2.2 there are no categories, everything is forum based. Each forum can have an unlimited number of sub-forums and you can determine whether each may be posted to or not (i.e. whether it acts like an old category). Here you can add, edit, delete, lock, unlock individual forums as well as set certain additional controls. If your posts and topics have got out of sync you can also resynchronise a forum.', 'FORUM_ADMIN_EXPLAIN' => 'In phpBB 2.2 there are no categories, everything is forum based. Each forum can have an unlimited number of sub-forums and you can determine whether each may be posted to or not (i.e. whether it acts like an old category). Here you can add, edit, delete, lock, unlock individual forums as well as set certain additional controls. If your posts and topics have got out of sync you can also resynchronise a forum.',
'FORUM_EDIT_EXPLAIN' => 'The form below will allow you to customise this forum. Please note that moderation and post count controls are set via forum permissions for each user or usergroup.', 'FORUM_EDIT_EXPLAIN' => 'The form below will allow you to customise this forum. Please note that moderation and post count controls are set via forum permissions for each user or usergroup.',
'FORUM_DELETE' => 'Delete Forum', 'FORUM_DELETE' => 'Delete Forum',
@ -1759,6 +1780,7 @@ $lang += array(
'EXTENSION_GROUP_DELETED' => 'Extension Group successfully deleted', 'EXTENSION_GROUP_DELETED' => 'Extension Group successfully deleted',
'ALLOWED_FORUMS' => 'Allowed Forums', 'ALLOWED_FORUMS' => 'Allowed Forums',
'ALLOWED_FORUMS_EXPLAIN' => 'Able to post the assigned extensions at the following forums', 'ALLOWED_FORUMS_EXPLAIN' => 'Able to post the assigned extensions at the following forums',
'ALLOW_IN_PM' => 'Allowed in private messaging',
'ALLOW_ALL_FORUMS' => 'Allow All Forums', 'ALLOW_ALL_FORUMS' => 'Allow All Forums',
'ALLOW_SELECTED_FORUMS' => 'Only Forums selected below', 'ALLOW_SELECTED_FORUMS' => 'Only Forums selected below',

View file

@ -46,9 +46,11 @@ $lang += array(
'ACP' => 'Administration Control Panel', 'ACP' => 'Administration Control Panel',
'ACTIVE_ERROR' => 'You have specified an inactive username. Please activate your account and try again. If you continue to have problems please contact a board administrator.', 'ACTIVE_ERROR' => 'You have specified an inactive username. Please activate your account and try again. If you continue to have problems please contact a board administrator.',
'ALLOWED' => 'Allowed', 'ALLOWED' => 'Allowed',
'ALL_MESSAGES' => 'All Messages',
'ALL_POSTS' => 'All Posts', 'ALL_POSTS' => 'All Posts',
'ALL_TIMES' => 'All times are %s %s', 'ALL_TIMES' => 'All times are %s %s',
'ALL_TOPICS' => 'All Topics', 'ALL_TOPICS' => 'All Topics',
'AND' => 'And',
'ARE_WATCHING_FORUM' => 'You have subscribed to receive updates on this forum', 'ARE_WATCHING_FORUM' => 'You have subscribed to receive updates on this forum',
'ARE_WATCHING_TOPIC' => 'You have subscribed to receive updates on this topic.', 'ARE_WATCHING_TOPIC' => 'You have subscribed to receive updates on this topic.',
'ASCENDING' => 'Ascending', 'ASCENDING' => 'Ascending',
@ -72,13 +74,17 @@ $lang += array(
'BYTES' => 'Bytes', 'BYTES' => 'Bytes',
'CANCEL' => 'Cancel', 'CANCEL' => 'Cancel',
'CLICK_VIEW_PRIVMSG' => 'Click %sHere%s to visit your Inbox',
'CONFIRM' => 'Confirm', 'CONFIRM' => 'Confirm',
'CONGRATULATIONS' => 'Congratulations to', 'CONGRATULATIONS' => 'Congratulations to',
'CURRENT_TIME' => 'The time is %s', 'CURRENT_TIME' => 'The time is %s',
'DAY' => 'Day', 'DAY' => 'Day',
'DAYS' => 'Days',
'DELETE' => 'Delete', 'DELETE' => 'Delete',
'DESCENDING' => 'Descending', 'DESCENDING' => 'Descending',
'DISABLED' => 'Disabled',
'DISPLAY_MESSAGES' => 'Display messages from previous',
'DISPLAY_POSTS' => 'Display posts from previous', 'DISPLAY_POSTS' => 'Display posts from previous',
'DISPLAY_TOPICS' => 'Display topics from previous', 'DISPLAY_TOPICS' => 'Display topics from previous',
'DOWNLOADED' => 'Downloaded', 'DOWNLOADED' => 'Downloaded',
@ -89,6 +95,8 @@ $lang += array(
'EMAIL' => 'Email', 'EMAIL' => 'Email',
'EMAIL_ADDRESS' => 'Email address', 'EMAIL_ADDRESS' => 'Email address',
'EMPTY_SUBJECT' => 'You must specify a subject when posting a new topic.', 'EMPTY_SUBJECT' => 'You must specify a subject when posting a new topic.',
'ENABLED' => 'Enabled',
'EXTENSION' => 'Extension',
'EXTENSION_DISABLED_AFTER_POSTING' => 'The extension <b>%s</b> has been deactivated and can no longer be displayed', 'EXTENSION_DISABLED_AFTER_POSTING' => 'The extension <b>%s</b> has been deactivated and can no longer be displayed',
'FAQ' => 'FAQ', 'FAQ' => 'FAQ',
@ -96,6 +104,7 @@ $lang += array(
'FILESIZE' => 'Filesize', 'FILESIZE' => 'Filesize',
'FILE_COMMENT' => 'File comment', 'FILE_COMMENT' => 'File comment',
'FIND_USERNAME' => 'Find a member', 'FIND_USERNAME' => 'Find a member',
'FOLDER' => 'Folder',
'FORGOT_PASS' => 'I forgot my password', 'FORGOT_PASS' => 'I forgot my password',
'FORUM' => 'Forum', 'FORUM' => 'Forum',
'FORUMS_MARKED' => 'All forums have been marked read', 'FORUMS_MARKED' => 'All forums have been marked read',
@ -136,7 +145,9 @@ $lang += array(
'HOURS' => 'Hours', 'HOURS' => 'Hours',
'ICQ_STATUS' => 'ICQ Status', 'ICQ_STATUS' => 'ICQ Status',
'IF' => 'If',
'INDEX' => 'Index page', 'INDEX' => 'Index page',
'INFORMATION' => 'Information',
'INTERESTS' => 'Interests', 'INTERESTS' => 'Interests',
'INVALID_EMAIL_LOG' => '<b>%s</b> possibly an invalid email address?', 'INVALID_EMAIL_LOG' => '<b>%s</b> possibly an invalid email address?',
'IP' => 'IP', 'IP' => 'IP',
@ -174,6 +185,7 @@ $lang += array(
'LOCK_POST_EXPLAIN' => 'Prevent editing', 'LOCK_POST_EXPLAIN' => 'Prevent editing',
'LOCK_TOPIC' => 'Lock Topic', 'LOCK_TOPIC' => 'Lock Topic',
'LOGIN' => 'Login', 'LOGIN' => 'Login',
'LOGIN_CHECK_PM' => 'Log in to check your private messages',
'LOGIN_ERROR' => 'You have specified an incorrect username or password. Please check them both and try again. If you continue to have problems please contact a board administrator.', 'LOGIN_ERROR' => 'You have specified an incorrect username or password. Please check them both and try again. If you continue to have problems please contact a board administrator.',
'LOGIN_FORUM' => 'To view or post in this forum you must enter a password.', 'LOGIN_FORUM' => 'To view or post in this forum you must enter a password.',
'LOGIN_INFO' => 'In order to login you must be registered. Registering takes only a few seconds but gives you increased capabilies. The board administrator may also grant additional permissions to registered users. Before you login please ensure you are familiar with our terms of use and related policies. Please ensure you read any forum rules as you navigate around the board.', 'LOGIN_INFO' => 'In order to login you must be registered. Registering takes only a few seconds but gives you increased capabilies. The board administrator may also grant additional permissions to registered users. Before you login please ensure you are familiar with our terms of use and related policies. Please ensure you read any forum rules as you navigate around the board.',
@ -199,6 +211,8 @@ $lang += array(
'MOVE' => 'Move', 'MOVE' => 'Move',
'NEWEST_USER' => 'Our newest member <b>%s%s%s</b>', 'NEWEST_USER' => 'Our newest member <b>%s%s%s</b>',
'NEW_MESSAGE' => 'New Message',
'NEW_MESSAGES' => 'New Messages',
'NEW_PM' => '<b>%d</b> new message', 'NEW_PM' => '<b>%d</b> new message',
'NEW_PMS' => '<b>%d</b> new messages', 'NEW_PMS' => '<b>%d</b> new messages',
'NEW_POST' => 'New post', 'NEW_POST' => 'New post',
@ -213,6 +227,8 @@ $lang += array(
'NO_FORUMS' => 'This board has no forums', 'NO_FORUMS' => 'This board has no forums',
'NO_GROUP' => 'The requested usergroup does not exist.', 'NO_GROUP' => 'The requested usergroup does not exist.',
'NO_MEMBERS' => 'No members found for this search criteria', 'NO_MEMBERS' => 'No members found for this search criteria',
'NO_MESSAGES' => 'No Messages',
'NO_NEW_MESSAGES' => 'No new messages',
'NO_NEW_PM' => '<b>0</b> new messages', 'NO_NEW_PM' => '<b>0</b> new messages',
'NO_NEW_POSTS' => 'No new posts', 'NO_NEW_POSTS' => 'No new posts',
'NO_POSTS' => 'No Posts', 'NO_POSTS' => 'No Posts',
@ -245,6 +261,9 @@ $lang += array(
'PREVIEW' => 'Preview', 'PREVIEW' => 'Preview',
'PREVIOUS' => 'Previous', 'PREVIOUS' => 'Previous',
'PRIVACY' => 'Privacy Policy', 'PRIVACY' => 'Privacy Policy',
'PRIVATE_MESSAGE' => 'Private Message',
'PRIVATE_MESSAGES' => 'Private Messages',
'PRIVATE_MESSAGING' => 'Private Messaging',
'PROFILE' => 'User Control Panel', 'PROFILE' => 'User Control Panel',
'READING_FORUM' => 'Viewing topics in %s', 'READING_FORUM' => 'Viewing topics in %s',
@ -311,6 +330,7 @@ $lang += array(
'SUBMIT' => 'Submit', 'SUBMIT' => 'Submit',
'TERMS_USE' => 'Terms of Use', 'TERMS_USE' => 'Terms of Use',
'TIME' => 'Time',
'TOO_LONG_USER_PASSWORD' => 'The password you entered is too long.', 'TOO_LONG_USER_PASSWORD' => 'The password you entered is too long.',
'TOO_MANY_VOTE_OPTIONS' => 'You have tried to vote for too many options.', 'TOO_MANY_VOTE_OPTIONS' => 'You have tried to vote for too many options.',
'TOO_SHORT_NEW_PASSWORD' => 'The password you entered is too short.', 'TOO_SHORT_NEW_PASSWORD' => 'The password you entered is too short.',
@ -334,12 +354,15 @@ $lang += array(
'TOTAL_USERS_OTHER' => 'Total members <b>%d</b>', 'TOTAL_USERS_OTHER' => 'Total members <b>%d</b>',
'TOTAL_USERS_ZERO' => 'Total members <b>0</b>', 'TOTAL_USERS_ZERO' => 'Total members <b>0</b>',
'UNKNOWN_BROWSER' => 'Unknown Browser',
'UNMARK_ALL' => 'Unmark all', 'UNMARK_ALL' => 'Unmark all',
'UNREAD_MESSAGES' => 'Unread Messages',
'UNREAD_PM' => '<b>%d</b> unread message', 'UNREAD_PM' => '<b>%d</b> unread message',
'UNREAD_PMS' => '<b>%d</b> unread messages', 'UNREAD_PMS' => '<b>%d</b> unread messages',
'URL_REDIRECT' => 'If your browser does not support meta redirection please click %sHERE%s to be redirected.', 'URL_REDIRECT' => 'If your browser does not support meta redirection please click %sHERE%s to be redirected.',
'USERGROUPS' => 'Groups', 'USERGROUPS' => 'Groups',
'USERNAME' => 'Username', 'USERNAME' => 'Username',
'USERNAMES' => 'Usernames',
'USER_POST' => '%d Post', 'USER_POST' => '%d Post',
'USER_POSTS' => '%d Posts', 'USER_POSTS' => '%d Posts',
@ -368,6 +391,9 @@ $lang += array(
'YEAR' => 'Year', 'YEAR' => 'Year',
'YES' => 'Yes', 'YES' => 'Yes',
'YOU_LAST_VISIT' => 'Last visit on %s', 'YOU_LAST_VISIT' => 'Last visit on %s',
'YOU_NEW_PM' => 'A new private message is waiting for you in your Inbox',
'YOU_NEW_PMS' => 'New private messages are waiting for you in your Inbox',
'YOU_NO_NEW_PM' => 'No new private messages are waiting for you',
'datetime' => array( 'datetime' => array(
'Sunday' => 'Sunday', 'Sunday' => 'Sunday',
@ -467,8 +493,6 @@ $unused = array(
'CANNOT_SPLIT_FIRST_POST' => 'You cannot split the first post of a topic', 'CANNOT_SPLIT_FIRST_POST' => 'You cannot split the first post of a topic',
'CONTACT' => 'Contact', 'CONTACT' => 'Contact',
'Cannot_send_privmsg' => 'Sorry but the administrator has prevented you from sending private messages', 'Cannot_send_privmsg' => 'Sorry but the administrator has prevented you from sending private messages',
'Click_return_inbox' => 'Click %sHere%s to return to your Inbox',
'Click_view_privmsg' => 'Click %sHere%s to visit your Inbox',
'Confirm_delete_pm' => 'Are you sure you want to delete this message?', 'Confirm_delete_pm' => 'Are you sure you want to delete this message?',
'Confirm_delete_pms' => 'Are you sure you want to delete these messages?', 'Confirm_delete_pms' => 'Are you sure you want to delete these messages?',
'Confirm_unsub' => 'Are you sure you want to unsubscribe from this group?', 'Confirm_unsub' => 'Are you sure you want to unsubscribe from this group?',
@ -477,7 +501,6 @@ $unused = array(
'Could_not_anon_user' => 'You cannot make Anonymous a group member', 'Could_not_anon_user' => 'You cannot make Anonymous a group member',
'Current_memberships' => 'Current memberships', 'Current_memberships' => 'Current memberships',
'DESCRIPTION' => 'Description', 'DESCRIPTION' => 'Description',
'DISABLED' => 'Disabled',
'DOWNLOAD' => 'Download', 'DOWNLOAD' => 'Download',
'Date' => 'Date', 'Date' => 'Date',
'Delete_all' => 'Delete All', 'Delete_all' => 'Delete All',
@ -488,11 +511,8 @@ $unused = array(
'Display_messages' => 'Display messages from previous', 'Display_messages' => 'Display messages from previous',
'EDIT_OWN_POSTS' => 'Sorry but you can only edit your own posts.', 'EDIT_OWN_POSTS' => 'Sorry but you can only edit your own posts.',
'EMAIL_TAKEN_EMAIL' => 'The email address you specified is already in use, please select an alternative.', 'EMAIL_TAKEN_EMAIL' => 'The email address you specified is already in use, please select an alternative.',
'ENABLED' => 'Enabled',
'ERROR' => 'Error', 'ERROR' => 'Error',
'EXTENSION' => 'Extension',
'Edit_message' => 'Edit private message', 'Edit_message' => 'Edit private message',
'Edit_pm' => 'Edit message',
'Find' => 'Find', 'Find' => 'Find',
'Flag' => 'Flag', 'Flag' => 'Flag',
'From' => 'From', 'From' => 'From',
@ -549,12 +569,6 @@ $unused = array(
'POST_TOPIC_LOCKED' => 'Topic is locked', 'POST_TOPIC_LOCKED' => 'Topic is locked',
'Pending_members' => 'Pending Members', 'Pending_members' => 'Pending Members',
'Pending_this_group' => 'Your membership of this group is pending', 'Pending_this_group' => 'Your membership of this group is pending',
'Post_new_pm' => 'Post message',
'Post_quote_pm' => 'Quote message',
'Post_reply_pm' => 'Reply to message',
'Private_Message' => 'Private Message',
'Private_Messages' => 'Private Messages',
'Private_Messaging' => 'Private Messaging',
'RATING' => 'Rating', 'RATING' => 'Rating',
'READING_GLOBAL_ANNOUNCE' => 'Reading global announcement', 'READING_GLOBAL_ANNOUNCE' => 'Reading global announcement',
'REPLYING_GLOBAL_ANNOUNCE' => 'Replying to global announcement', 'REPLYING_GLOBAL_ANNOUNCE' => 'Replying to global announcement',
@ -580,13 +594,10 @@ $unused = array(
'Send_a_new_message' => 'Send a new private message', 'Send_a_new_message' => 'Send a new private message',
'Send_a_reply' => 'Reply to a private message', 'Send_a_reply' => 'Reply to a private message',
'Sent' => 'Sent', 'Sent' => 'Sent',
'Sentbox' => 'Sentbox',
'Sentbox_size' => 'Your Sentbox is %d%% full', 'Sentbox_size' => 'Your Sentbox is %d%% full',
'Subscribe' => 'Subscribe',
'This_closed_group' => 'This is a closed group, no more users accepted', 'This_closed_group' => 'This is a closed group, no more users accepted',
'This_hidden_group' => 'This is a hidden group, automatic user addition is not allowed', 'This_hidden_group' => 'This is a hidden group, automatic user addition is not allowed',
'This_open_group' => 'This is an open group, click to request membership', 'This_open_group' => 'This is an open group, click to request membership',
'To' => 'To',
'To_long_subject' => 'The subject is too long it must be 60 characters or less.', 'To_long_subject' => 'The subject is too long it must be 60 characters or less.',
'UNREAD_NO_PM' => 'You have no unread private messages', 'UNREAD_NO_PM' => 'You have no unread private messages',
'UNWATCHED_FORUMS' => 'You are no longer watching the selected forums.', 'UNWATCHED_FORUMS' => 'You are no longer watching the selected forums.',
@ -595,16 +606,10 @@ $unused = array(
'UPDATE' => 'Update', 'UPDATE' => 'Update',
'USERS' => 'Users', 'USERS' => 'Users',
'USER_OFFLINE' => 'Offline', 'USER_OFFLINE' => 'Offline',
'Unread_message' => 'Unread message',
'Unsub_success' => 'You have been un-subscribed from this group.', 'Unsub_success' => 'You have been un-subscribed from this group.',
'Unsubscribe' => 'Unsubscribe',
'User_is_member_group' => 'User is already a member of this group', 'User_is_member_group' => 'User is already a member of this group',
'VIEWING_MESSAGES' => 'Viewing Private Messages', 'VIEWING_MESSAGES' => 'Viewing Private Messages',
'View_Information' => 'View Information', 'View_Information' => 'View Information'
'View_forum' => 'View Forum',
'YOU_NEW_PM' => 'A new private message is waiting for you in your Inbox',
'YOU_NEW_PMS' => 'New private messages are waiting for you in your Inbox',
'YOU_NO_NEW_PM' => 'No new private messages are waiting for you',
); );

View file

@ -3,10 +3,14 @@ Charset: iso-8859-1
Hello {USERNAME}, Hello {USERNAME},
You have received a new private message to your account on "{SITENAME}" and you have requested that you be notified on this event. You can view your new message by clicking on the following link: You have received a new private message from "{AUTHOR_NAME}" to your account on "{SITENAME}" with the following subject:
{SUBJECT}
You can view your new message by clicking on the following link:
{U_INBOX} {U_INBOX}
Remember that you can always choose not to be notified of new messages by changing the appropriate setting in your profile. You have requested that you be notified on this event, remember that you can always choose not to be notified of new messages by changing the appropriate setting in your profile.
{EMAIL_SIG} {EMAIL_SIG}

View file

@ -148,7 +148,6 @@ $lang += array(
'SPLIT_TOPIC_EXPLAIN' => 'Using the form below you can split a topic in two, either by selecting the posts individually or by splitting at a selected post', 'SPLIT_TOPIC_EXPLAIN' => 'Using the form below you can split a topic in two, either by selecting the posts individually or by splitting at a selected post',
'THIS_POST_IP' => 'IP for this post', 'THIS_POST_IP' => 'IP for this post',
'TIME' => 'Time',
'TOPICS_APPROVED_SUCCESS' => 'The selected topics have been approved', 'TOPICS_APPROVED_SUCCESS' => 'The selected topics have been approved',
'TOPICS_DELETED_SUCCESS'=> 'The selected topics have been successfully removed from the database', 'TOPICS_DELETED_SUCCESS'=> 'The selected topics have been successfully removed from the database',
'TOPICS_FORKED_SUCCESS' => 'The selected topics have been copied successfully', 'TOPICS_FORKED_SUCCESS' => 'The selected topics have been copied successfully',

View file

@ -71,8 +71,10 @@ $lang += array(
'DAYS' => 'Days', 'DAYS' => 'Days',
'DELETE_FILE' => 'Delete File', 'DELETE_FILE' => 'Delete File',
'DELETE_MESSAGE' => 'Delete Message', 'DELETE_MESSAGE' => 'Delete Message',
'DELETE_MESSAGE_CONFIRM' => 'Are you sure you want to delete this message?',
'DELETE_OWN_POSTS' => 'Sorry but you can only delete your own posts.', 'DELETE_OWN_POSTS' => 'Sorry but you can only delete your own posts.',
'DELETE_POST' => 'Delete', 'DELETE_POST' => 'Delete',
'DELETE_POST_CONFIRM' => 'Are you sure you want to delete this message?',
'DELETE_POST_WARN' => 'Once deleted the post cannot be recovered', 'DELETE_POST_WARN' => 'Once deleted the post cannot be recovered',
'DISABLE_BBCODE' => 'Disable BBCode', 'DISABLE_BBCODE' => 'Disable BBCode',
'DISABLE_HTML' => 'Disable HTML', 'DISABLE_HTML' => 'Disable HTML',
@ -107,7 +109,6 @@ $lang += array(
'IMAGES_ARE_OFF' => '[img] is <u>OFF</u>', 'IMAGES_ARE_OFF' => '[img] is <u>OFF</u>',
'IMAGES_ARE_ON' => '[img] is <u>ON</u>', 'IMAGES_ARE_ON' => '[img] is <u>ON</u>',
'INFORMATION' => 'Information',
'INVALID_FILENAME' => '%s is an invalid filename', 'INVALID_FILENAME' => '%s is an invalid filename',
'KARMA_LEVEL' => 'Karma Level', 'KARMA_LEVEL' => 'Karma Level',
@ -117,6 +118,7 @@ $lang += array(
'LOAD_DRAFT_EXPLAIN' => 'Here you are able to select the draft you want to continue writing. Your current post will be canceled, all current post contents will be deleted. View, edit and delete drafts within your User Control Panel.', 'LOAD_DRAFT_EXPLAIN' => 'Here you are able to select the draft you want to continue writing. Your current post will be canceled, all current post contents will be deleted. View, edit and delete drafts within your User Control Panel.',
'MESSAGE_BODY_EXPLAIN' => 'Enter your message here, it may contain no more than <b>%d</b> characters.', 'MESSAGE_BODY_EXPLAIN' => 'Enter your message here, it may contain no more than <b>%d</b> characters.',
'MESSAGE_DELETED' => 'Your message has been deleted successfully',
'MORE_EMOTICONS' => 'View more Emoticons', 'MORE_EMOTICONS' => 'View more Emoticons',
'NOTIFY_REPLY' => 'Send me an email when a reply is posted', 'NOTIFY_REPLY' => 'Send me an email when a reply is posted',

View file

@ -33,10 +33,15 @@ $lang += array(
'ACCOUNT_COPPA' => 'Your account has been created but has to be approved, please check your email for details.', 'ACCOUNT_COPPA' => 'Your account has been created but has to be approved, please check your email for details.',
'ACCOUNT_INACTIVE' => 'Your account has been created. However, this forum requires account activation, an activation key has been sent to the email address you provided. Please check your email for further information', 'ACCOUNT_INACTIVE' => 'Your account has been created. However, this forum requires account activation, an activation key has been sent to the email address you provided. Please check your email for further information',
'ACCOUNT_INACTIVE_ADMIN' => 'Your account has been created. However, this forum requires account activation by the administrator. An email has been sent to them and you will be informed when your account has been activated', 'ACCOUNT_INACTIVE_ADMIN' => 'Your account has been created. However, this forum requires account activation by the administrator. An email has been sent to them and you will be informed when your account has been activated',
'ADD' => 'Add',
'ADD_BCC' => 'Add [Bcc]',
'ADD_FOES' => 'Add new foes', 'ADD_FOES' => 'Add new foes',
'ADD_FOES_EXPLAIN' => 'You may enter several usernames each on a different line', 'ADD_FOES_EXPLAIN' => 'You may enter several usernames each on a different line',
'ADD_FOLDER' => 'Add Folder',
'ADD_FRIENDS' => 'Add new friends', 'ADD_FRIENDS' => 'Add new friends',
'ADD_FRIENDS_EXPLAIN' => 'You may enter several usernames each on a different line', 'ADD_FRIENDS_EXPLAIN' => 'You may enter several usernames each on a different line',
'ADD_NEW_RULE' => 'Add new Rule',
'ADD_TO' => 'Add [To]',
'ADMIN_EMAIL' => 'Administrators can email me information', 'ADMIN_EMAIL' => 'Administrators can email me information',
'AGREE' => 'I agree to these terms', 'AGREE' => 'I agree to these terms',
'ALLOW_PM' => 'Allow users to send you private messages', 'ALLOW_PM' => 'Allow users to send you private messages',
@ -61,6 +66,7 @@ $lang += array(
'CHANGE_PASSWORD' => 'Change password', 'CHANGE_PASSWORD' => 'Change password',
'CHANGE_PASSWORD_EXPLAIN' => 'Must be between %1$d and %2$d characters.', 'CHANGE_PASSWORD_EXPLAIN' => 'Must be between %1$d and %2$d characters.',
'CLICK_RETURN_FOLDER' => 'Click %1$sHere%2$s to return to your "%3$s" Folder',
'CONFIRMATION' => 'Confirmation of registration', 'CONFIRMATION' => 'Confirmation of registration',
'CONFIRM_CODE' => 'Confirmation code', 'CONFIRM_CODE' => 'Confirmation code',
'CONFIRM_CODE_EXPLAIN' => 'Enter the code exactly as you see it in the image, it is case sensitive, zero has a diagonal line through it.', 'CONFIRM_CODE_EXPLAIN' => 'Enter the code exactly as you see it in the image, it is case sensitive, zero has a diagonal line through it.',
@ -75,6 +81,7 @@ $lang += array(
'COPPA_BIRTHDAY' => 'To continue with the registration procedure please tell us when you were born.', 'COPPA_BIRTHDAY' => 'To continue with the registration procedure please tell us when you were born.',
'COPPA_COMPLIANCE' => 'COPPA Compliance', 'COPPA_COMPLIANCE' => 'COPPA Compliance',
'COPPA_EXPLAIN' => 'Please note that clicking submit will create your account. However it cannot be activated until a parent or guardian approves your registration. You will be emailed a copy of the necessary form with details of where to send it.', 'COPPA_EXPLAIN' => 'Please note that clicking submit will create your account. However it cannot be activated until a parent or guardian approves your registration. You will be emailed a copy of the necessary form with details of where to send it.',
'CREATE_FOLDER' => 'Add Folder...',
'CURRENT_IMAGE' => 'Current Image', 'CURRENT_IMAGE' => 'Current Image',
'CURRENT_PASSWORD' => 'Current password', 'CURRENT_PASSWORD' => 'Current password',
'CURRENT_PASSWORD_EXPLAIN' => 'You must confirm your current password if you wish to change it, alter your email address or username.', 'CURRENT_PASSWORD_EXPLAIN' => 'You must confirm your current password if you wish to change it, alter your email address or username.',
@ -85,9 +92,12 @@ $lang += array(
'DEFAULT_HTML' => 'Enable HTML by default', 'DEFAULT_HTML' => 'Enable HTML by default',
'DEFAULT_NOTIFY' => 'Notify me upon replies by default', 'DEFAULT_NOTIFY' => 'Notify me upon replies by default',
'DEFAULT_SMILE' => 'Enable smilies by default', 'DEFAULT_SMILE' => 'Enable smilies by default',
'DEFINED_RULES' => 'Defined Rules',
'DELETE_ALL' => 'Delete all', 'DELETE_ALL' => 'Delete all',
'DELETE_AVATAR' => 'Delete Image', 'DELETE_AVATAR' => 'Delete Image',
'DELETE_MARKED' => 'Delete Marked', 'DELETE_MARKED' => 'Delete Marked',
'DELETE_RULE' => 'Delete Rule',
'DELETE_RULE_CONFIRM' => 'Are you sure you want to delete this rule?',
'DISABLE_CENSORS' => 'Enable Word censoring', 'DISABLE_CENSORS' => 'Enable Word censoring',
'DISPLAY_GALLERY' => 'Display gallery', 'DISPLAY_GALLERY' => 'Display gallery',
'DOWNLOADS' => 'Downloads', 'DOWNLOADS' => 'Downloads',
@ -99,9 +109,16 @@ $lang += array(
'EMAIL_REMIND' => 'This must be the email address you supplied when registering.', 'EMAIL_REMIND' => 'This must be the email address you supplied when registering.',
'EMPTY_DRAFT' => 'You must enter a message to submit your changes', 'EMPTY_DRAFT' => 'You must enter a message to submit your changes',
'EMPTY_DRAFT_TITLE' => 'You must enter a draft title', 'EMPTY_DRAFT_TITLE' => 'You must enter a draft title',
'EXPORT_AS_XML' => 'Export as XML',
'EXPORT_AS_CSV' => 'Export as CSV',
'EXPORT_AS_TXT' => 'Export as TXT',
'EXPORT_AS_MSG' => 'Export as MSG',
'FOES_EXPLAIN' => 'Foes are users which will be ignored by default. Posts by these users will not be fully visible and personal messages will not be permitted. Please note that you cannot ignore moderators or administrators.', 'FOES_EXPLAIN' => 'Foes are users which will be ignored by default. Posts by these users will not be fully visible and personal messages will not be permitted. Please note that you cannot ignore moderators or administrators.',
'FOES_UPDATED' => 'Your foes list has been updated successfully', 'FOES_UPDATED' => 'Your foes list has been updated successfully',
'FOLDER_MESSAGE_STATUS' => '%1$d from %2$d messages stored',
'FOLDER_STATUS_MSG' => 'Folder is %1$d%% full (%2$d from %3$d messages stored)',
'FORWARD_PM' => 'Forward PM',
'FRIENDS' => 'Friends', 'FRIENDS' => 'Friends',
'FRIENDS_EXPLAIN' => 'Friends enable you quick access to members you communicate with frequently. If the template has relevant support any posts made by a friend may be highlighted.', 'FRIENDS_EXPLAIN' => 'Friends enable you quick access to members you communicate with frequently. If the template has relevant support any posts made by a friend may be highlighted.',
'FRIENDS_OFFLINE' => 'Offline', 'FRIENDS_OFFLINE' => 'Offline',
@ -120,6 +137,12 @@ $lang += array(
'LOGIN_REDIRECT' => 'You have been successfully logged in.', 'LOGIN_REDIRECT' => 'You have been successfully logged in.',
'LOGOUT_REDIRECT' => 'You have been successfully logged out.', 'LOGOUT_REDIRECT' => 'You have been successfully logged out.',
'MARK_IMPORTANT' => 'Mark as Important',
'MARKED_MESSAGE' => 'Marked Message',
'MESSAGE_COLOURS' => 'Message Colours',
'MESSAGE_FROM_FOE' => 'Message from foe',
'MESSAGE_FROM_FRIEND' => 'Message from friend',
'MESSAGE_HISTORY' => 'Message History',
'MINIMUM_KARMA' => 'Minimum User Karma', 'MINIMUM_KARMA' => 'Minimum User Karma',
'MINIMUM_KARMA_EXPLAIN' => 'Posts by users with Karma less than this will be ignored.', 'MINIMUM_KARMA_EXPLAIN' => 'Posts by users with Karma less than this will be ignored.',
@ -134,27 +157,56 @@ $lang += array(
'NOTIFY_METHOD_IM' => 'Jabber only', 'NOTIFY_METHOD_IM' => 'Jabber only',
'NOTIFY_ON_PM' => 'Email me on new private messages', 'NOTIFY_ON_PM' => 'Email me on new private messages',
'NOT_AGREE' => 'I do not agree to these terms', 'NOT_AGREE' => 'I do not agree to these terms',
'NOT_ENOUGH_SPACE_FOLDER' => 'The Destination Folder "%s" seems to be full. The requested action has not been taken.',
'NOT_MOVED_MESSAGE' => 'You have 1 private message currently on hold because of full folder.',
'NOT_MOVED_MESSAGES' => 'You have %d private messages currently on hold because of full folder.',
'NO_FOES' => 'No foes currently defined', 'NO_FOES' => 'No foes currently defined',
'NO_FRIENDS' => 'No friends currently defined', 'NO_FRIENDS' => 'No friends currently defined',
'NO_FRIENDS_OFFLINE' => 'No friends offline', 'NO_FRIENDS_OFFLINE' => 'No friends offline',
'NO_FRIENDS_ONLINE' => 'No friends online', 'NO_FRIENDS_ONLINE' => 'No friends online',
'NO_NEWER_PM' => 'No newer messages',
'NO_OLDER_PM' => 'No older messages',
'NO_RECIPIENT' => 'No recipient defined',
'NO_RULES_DEFINED' => 'No rules defined',
'NO_SAVED_DRAFTS' => 'No drafts saved',
'NO_WATCHED_FORUMS' => 'You are not watching any forums.', 'NO_WATCHED_FORUMS' => 'You are not watching any forums.',
'NO_WATCHED_TOPICS' => 'You are not watching any topics.', 'NO_WATCHED_TOPICS' => 'You are not watching any topics.',
'PASSWORD_ACTIVATED' => 'Your new password has been activated', 'PASSWORD_ACTIVATED' => 'Your new password has been activated',
'PASSWORD_UPDATED' => 'Your password has been sent successfully to your original email address.', 'PASSWORD_UPDATED' => 'Your password has been sent successfully to your original email address.',
'PM_DISABLED' => 'Private messaging has been disabled on this board', 'PM_DISABLED' => 'Private messaging has been disabled on this board',
'PM_ICON' => 'PM Icon',
'PM_INBOX' => 'Inbox',
'PM_OUTBOX' => 'Outbox',
'PM_SENTBOX' => 'Sentbox',
'PM_TO' => 'Send To',
'POPUP_ON_PM' => 'Pop up window on new private message', 'POPUP_ON_PM' => 'Pop up window on new private message',
'POST_EDIT_PM' => 'Edit message',
'POST_FORWARD_PM' => 'Forward message',
'POST_NEW_PM' => 'Post message',
'POST_PM_LOCKED' => 'Private Messaging is locked',
'POST_QUOTE_PM' => 'Quote message',
'POST_REPLY_PM' => 'Reply to message',
'PRINT_PM' => 'Print View',
'PREFERENCES_UPDATED' => 'Your preferences have been updated.', 'PREFERENCES_UPDATED' => 'Your preferences have been updated.',
'PROFILE_INFO_NOTICE' => 'Please note that this information will be viewable to other members. Be careful when including any personal details. Any fields marked with a * must be completed.', 'PROFILE_INFO_NOTICE' => 'Please note that this information will be viewable to other members. Be careful when including any personal details. Any fields marked with a * must be completed.',
'PROFILE_UPDATED' => 'Your profile has been updated.', 'PROFILE_UPDATED' => 'Your profile has been updated.',
'RECIPIENT' => 'Recipient',
'RECIPIENTS' => 'Recipients',
'REGISTRATION' => 'Registration', 'REGISTRATION' => 'Registration',
'RELEASE_MESSAGES' => 'Click %sHere%s to release the on-hold messages, they will be re-sorted into the appropiate folder if enough space is made available.',
'REMOVE_ADDRESS' => 'Remove address',
'REMOVE_FOLDER' => 'Remove folder',
'REPLIED_MESSAGE' => 'Replied to Message',
'REPORTED_MESSAGE' => 'Reported Message',
'RETURN_PAGE' => 'Click %sHere%s to return to the previous page', 'RETURN_PAGE' => 'Click %sHere%s to return to the previous page',
'RETURN_UCP' => 'Click %sHere%s to return to the User Control Panel', 'RETURN_UCP' => 'Click %sHere%s to return to the User Control Panel',
'RULE_DELETED' => 'Rule successfully removed',
'SEARCH_YOUR_POSTS' => 'Show your posts', 'SEARCH_YOUR_POSTS' => 'Show your posts',
'SEND_PASSWORD' => 'Send password', 'SEND_PASSWORD' => 'Send password',
'SENT_AT' => 'Sent At',
'SHOW_EMAIL' => 'Users can contact me by email', 'SHOW_EMAIL' => 'Users can contact me by email',
'SIGNATURE_EXPLAIN' => 'This is a block of text that can be added to posts you make. There is a %d character limit', 'SIGNATURE_EXPLAIN' => 'This is a block of text that can be added to posts you make. There is a %d character limit',
'SIGNATURE_PREVIEW' => 'Your signature will appear like this in posts', 'SIGNATURE_PREVIEW' => 'Your signature will appear like this in posts',
@ -168,38 +220,48 @@ $lang += array(
'SORT_SIZE' => 'Filesize', 'SORT_SIZE' => 'Filesize',
'TIMEZONE' => 'Timezone', 'TIMEZONE' => 'Timezone',
'TO' => 'To',
'TOO_MANY_RECIPIENTS' => 'Too many recipients',
'TOO_MANY_REGISTERS' => 'You have exceeded the maximum number of registration attempts for this session. Please try again later.', 'TOO_MANY_REGISTERS' => 'You have exceeded the maximum number of registration attempts for this session. Please try again later.',
'UCP' => 'User Control Panel', 'UCP' => 'User Control Panel',
'UCP_ADMIN_ACTIVATE' => 'Please note that you will need to enter a valid email address before your account is activated. The administrator will review your account and if approved you will an email at the address you specified.', 'UCP_ADMIN_ACTIVATE' => 'Please note that you will need to enter a valid email address before your account is activated. The administrator will review your account and if approved you will an email at the address you specified.',
'UCP_AGREEMENT' => 'While the administrators and moderators of this forum will attempt to remove or edit any generally objectionable material as quickly as possible, it is impossible to review every message. Therefore you acknowledge that all posts made to these forums express the views and opinions of the author and not the administrators, moderators or webmaster (except for posts by these people) and hence will not be held liable.<br /><br />You agree not to post any abusive, obscene, vulgar, slanderous, hateful, threatening, sexually-orientated or any other material that may violate any applicable laws. Doing so may lead to you being immediately and permanently banned (and your service provider being informed). The IP address of all posts is recorded to aid in enforcing these conditions. You agree that the webmaster, administrator and moderators of this forum have the right to remove, edit, move or close any topic at any time should they see fit. As a user you agree to any information you have entered above being stored in a database. While this information will not be disclosed to any third party without your consent the webmaster, administrator and moderators cannot be held responsible for any hacking attempt that may lead to the data being compromised.<br /><br />This forum system uses cookies to store information on your local computer. These cookies do not contain any of the information you have entered above, they serve only to improve your viewing pleasure. The email address is used only for confirming your registration details and password (and for sending new passwords should you forget your current one).<br /><br />By clicking Register below you agree to be bound by these conditions.', 'UCP_AGREEMENT' => 'While the administrators and moderators of this forum will attempt to remove or edit any generally objectionable material as quickly as possible, it is impossible to review every message. Therefore you acknowledge that all posts made to these forums express the views and opinions of the author and not the administrators, moderators or webmaster (except for posts by these people) and hence will not be held liable.<br /><br />You agree not to post any abusive, obscene, vulgar, slanderous, hateful, threatening, sexually-orientated or any other material that may violate any applicable laws. Doing so may lead to you being immediately and permanently banned (and your service provider being informed). The IP address of all posts is recorded to aid in enforcing these conditions. You agree that the webmaster, administrator and moderators of this forum have the right to remove, edit, move or close any topic at any time should they see fit. As a user you agree to any information you have entered above being stored in a database. While this information will not be disclosed to any third party without your consent the webmaster, administrator and moderators cannot be held responsible for any hacking attempt that may lead to the data being compromised.<br /><br />This forum system uses cookies to store information on your local computer. These cookies do not contain any of the information you have entered above, they serve only to improve your viewing pleasure. The email address is used only for confirming your registration details and password (and for sending new passwords should you forget your current one).<br /><br />By clicking Register below you agree to be bound by these conditions.',
'UCP_AIM' => 'AOL Instant Messenger', 'UCP_AIM' => 'AOL Instant Messenger',
'UCP_AVATAR' => 'Your avatar',
'UCP_COPPA_BEFORE' => 'Before %s', 'UCP_COPPA_BEFORE' => 'Before %s',
'UCP_COPPA_ON_AFTER' => 'On or After %s', 'UCP_COPPA_ON_AFTER' => 'On or After %s',
'UCP_DRAFTS' => 'Saved drafts',
'UCP_EMAIL_ACTIVATE' => 'Please note that you will need to enter a valid email address before your account is activated. You will recieve an email at the address you provide that contains an account activation link.', 'UCP_EMAIL_ACTIVATE' => 'Please note that you will need to enter a valid email address before your account is activated. You will recieve an email at the address you provide that contains an account activation link.',
'UCP_FOES' => 'Foes',
'UCP_FRIENDS' => 'Friends',
'UCP_FRONT' => 'Front page',
'UCP_ICQ' => 'ICQ Number', 'UCP_ICQ' => 'ICQ Number',
'UCP_JABBER' => 'Jabber Address', 'UCP_JABBER' => 'Jabber Address',
'UCP_MAIN' => 'Overview', 'UCP_MAIN' => 'Overview',
'UCP_MAIN_DRAFTS' => 'Saved drafts',
'UCP_MAIN_FRONT' => 'Front page',
'UCP_MAIN_SUBSCRIBED' => 'Subscribed',
'UCP_MSNM' => 'MSN Messenger', 'UCP_MSNM' => 'MSN Messenger',
'UCP_NO_ATTACHMENTS' => 'You have posted no files', 'UCP_NO_ATTACHMENTS' => 'You have posted no files',
'UCP_OPTIONS' => 'Options',
'UCP_PERSONAL' => 'Personal Settings',
'UCP_POST' => 'Posting Messages',
'UCP_PREFS' => 'Preferences', 'UCP_PREFS' => 'Preferences',
'UCP_PREFS_PERSONAL' => 'Personal Settings',
'UCP_PREFS_POST' => 'Posting Messages',
'UCP_PREFS_VIEW' => 'Viewing Posts',
'UCP_PM' => 'Private Messages',
'UCP_PM_COMPOSE' => 'Compose Message',
'UCP_PM_DRAFTS' => 'PM Drafts',
'UCP_PM_OPTIONS' => 'Options',
'UCP_PM_UNREAD' => 'Unread Messages',
'UCP_PM_VIEW_MESSAGES' => 'View Messages',
'UCP_PROFILE' => 'Profile', 'UCP_PROFILE' => 'Profile',
'UCP_PROFILE_INFO' => 'Your Profile', 'UCP_PROFILE_AVATAR' => 'Your avatar',
'UCP_REG_DETAILS' => 'Registration details', 'UCP_PROFILE_PROFILE_INFO' => 'Your Profile',
'UCP_SIGNATURE' => 'Your signature', 'UCP_PROFILE_REG_DETAILS' => 'Registration details',
'UCP_VIEW' => 'Viewing Posts', 'UCP_PROFILE_SIGNATURE' => 'Your signature',
'UCP_WATCHED' => 'Watched items', 'UCP_WATCHED' => 'Watched items',
'UCP_WELCOME' => 'Welcome to the User Control Panel. From here you can monitor, view and update your profile, preferences, subscribed forums and topics. You can also send messages to other users (if permitted). Please ensure you read any announcements before continuing.', 'UCP_WELCOME' => 'Welcome to the User Control Panel. From here you can monitor, view and update your profile, preferences, subscribed forums and topics. You can also send messages to other users (if permitted). Please ensure you read any announcements before continuing.',
'UCP_YIM' => 'Yahoo Messenger', 'UCP_YIM' => 'Yahoo Messenger',
'UCP_ZEBRA' => 'Friends and Foes', 'UCP_ZEBRA' => 'Friends and Foes',
'UCP_ZEBRA_FOES' => 'Foes',
'UCP_ZEBRA_FRIENDS' => 'Friends',
'UNKNOWN_FOLDER' => 'Unknown Folder',
'UNREAD_MESSAGES' => 'Unread Messages',
'UNWATCH_MARKED' => 'Unwatch marked', 'UNWATCH_MARKED' => 'Unwatch marked',
'UPLOAD_AVATAR_FILE' => 'Upload from your machine', 'UPLOAD_AVATAR_FILE' => 'Upload from your machine',
'UPLOAD_AVATAR_URL' => 'Upload from a URL', 'UPLOAD_AVATAR_URL' => 'Upload from a URL',
@ -213,6 +275,13 @@ $lang += array(
'VIEW_EDIT' => 'View/Edit', 'VIEW_EDIT' => 'View/Edit',
'VIEW_FLASH' => 'Display Flash animations', 'VIEW_FLASH' => 'Display Flash animations',
'VIEW_IMAGES' => 'Display Images within posts', 'VIEW_IMAGES' => 'Display Images within posts',
'VIEW_NEXT_HISTORY' => 'Next PM in history',
'VIEW_NEXT_PM' => 'Next PM',
'VIEW_PM' => 'View Message',
'VIEW_PM_MESSAGE' => '1 Message',
'VIEW_PM_MESSAGES' => '%d Messages',
'VIEW_PREVIOUS_HISTORY' => 'Previous PM in history',
'VIEW_PREVIOUS_PM' => 'Previous PM',
'VIEW_SIGS' => 'Display Signatures', 'VIEW_SIGS' => 'Display Signatures',
'VIEW_SMILIES' => 'Display Smileys as images', 'VIEW_SMILIES' => 'Display Smileys as images',
'VIEW_TOPICS_DAYS' => 'Display topics from previous days', 'VIEW_TOPICS_DAYS' => 'Display topics from previous days',
@ -230,6 +299,38 @@ $lang += array(
'YOUR_FRIENDS_EXPLAIN' => 'To remove usernames select them and click submit', 'YOUR_FRIENDS_EXPLAIN' => 'To remove usernames select them and click submit',
'YOUR_KARMA' => 'Your Karma level', 'YOUR_KARMA' => 'Your Karma level',
'YOUR_WARNINGS' => 'Your Warning level', 'YOUR_WARNINGS' => 'Your Warning level',
'PM_ACTION' => array(
'PLACE_INTO_FOLDER' => 'Place into folder',
'MARK_AS_READ' => 'Mark as read',
'MARK_AS_IMPORTANT' => 'Mark Message',
'DELETE_MESSAGE' => 'Delete Message'
),
'PM_CHECK' => array(
'SUBJECT' => 'Subject',
'SENDER' => 'Sender',
'MESSAGE' => 'Message',
'STATUS' => 'Message Status',
'TO' => 'Sent To'
),
'PM_RULE' => array(
'IS_LIKE' => 'Is Like',
'IS_NOT_LIKE' => 'Is Not Like',
'IS' => 'Is',
'IS_NOT' => 'Is Not',
'BEGINS_WITH' => 'Begins with',
'ENDS_WITH' => 'Ends with',
'IS_FRIEND' => 'Is Friend',
'IS_FOE' => 'Is Foe',
'IS_USER' => 'Is User',
'IS_GROUP' => 'Is In Usergroup',
'ANSWERED' => 'Answered',
'FORWARDED' => 'Forwarded',
'REPORTED' => 'Reported',
'TO_GROUP' => 'Usergroup',
'TO_ME' => 'Me'
)
); );
?> ?>

View file

@ -28,6 +28,7 @@ if (empty($lang) || !is_array($lang))
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine // in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang += array( $lang += array(
'ACTIVE_TOPICS' => 'Active Topics',
'ANNOUNCEMENTS' => 'Announcements', 'ANNOUNCEMENTS' => 'Announcements',
'LOGIN_NOTIFY_FORUM' => 'You have been notified about this forum, please login to view it.', 'LOGIN_NOTIFY_FORUM' => 'You have been notified about this forum, please login to view it.',
@ -44,6 +45,7 @@ $lang += array(
'TOPICS_MARKED' => 'The topics for this forum have now been marked read', 'TOPICS_MARKED' => 'The topics for this forum have now been marked read',
'VIEW_FORUM' => 'View Forum',
'VIEW_FORUM_TOPIC' => '1 Topic', 'VIEW_FORUM_TOPIC' => '1 Topic',
'VIEW_FORUM_TOPICS' => '%d Topics', 'VIEW_FORUM_TOPICS' => '%d Topics',
); );

View file

@ -24,7 +24,7 @@ include($phpbb_root_path . 'common.'.$phpEx);
// Start session management // Start session management
$user->start(); $user->start();
$auth->acl($user->data); $auth->acl($user->data);
$user->setup(); $user->setup('memberlist');
// Grab data // Grab data
$mode = request_var('mode', ''); $mode = request_var('mode', '');
@ -38,7 +38,7 @@ switch ($mode)
break; break;
default: default:
// Can this user view profiles/memberslist? // Can this user view profiles/memberlist?
if (!$auth->acl_gets('u_viewprofile', 'a_user', 'a_useradd', 'a_userdel')) if (!$auth->acl_gets('u_viewprofile', 'a_user', 'a_useradd', 'a_userdel'))
{ {
if ($user->data['user_id'] != ANONYMOUS) if ($user->data['user_id'] != ANONYMOUS)
@ -69,7 +69,7 @@ switch ($mode)
{ {
case 'leaders': case 'leaders':
// Display a listing of board admins, moderators? // Display a listing of board admins, moderators?
$user_ary = auth::acl_get_list(false, array('a_', 'm_'), false); $user_ary = $auth->acl_get_list(false, array('a_', 'm_'), false);
$user_id_ary = array(); $user_id_ary = array();
foreach ($user_ary as $forum_id => $forum_ary) foreach ($user_ary as $forum_id => $forum_ary)
@ -127,6 +127,10 @@ switch ($mode)
$s_select = (@extension_loaded('xml')) ? 'S_SEND_JABBER' : 'S_NO_SEND_JABBER'; $s_select = (@extension_loaded('xml')) ? 'S_SEND_JABBER' : 'S_NO_SEND_JABBER';
$s_action = "memberlist.$phpEx$SID&amp;mode=contact&amp;action=$action&amp;u=$user_id"; $s_action = "memberlist.$phpEx$SID&amp;mode=contact&amp;action=$action&amp;u=$user_id";
break; break;
default:
$sql_field = '';
break;
} }
// Grab relevant data // Grab relevant data
@ -746,7 +750,7 @@ switch ($mode)
'S_USERNAME_OPTIONS' => $username_list, 'S_USERNAME_OPTIONS' => $username_list,
'S_JOINED_TIME_OPTIONS' => $s_find_join_time, 'S_JOINED_TIME_OPTIONS' => $s_find_join_time,
'S_ACTIVE_TIME_OPTIONS' => $s_find_active_time, 'S_ACTIVE_TIME_OPTIONS' => $s_find_active_time,
'S_SEARCH_ACTION' => "memberslist.$phpEx$SID&amp;mode=searchuser&amp;field=$field") 'S_SEARCH_ACTION' => "memberlist.$phpEx$SID&amp;mode=searchuser&amp;form=$form&amp;field=$field")
); );
} }

View file

@ -49,7 +49,7 @@ $current_time = time();
// Was cancel pressed? If so then redirect to the appropriate page // Was cancel pressed? If so then redirect to the appropriate page
if ($cancel || $current_time - $lastclick < 2) if ($cancel || ($current_time - $lastclick < 2 && !$refresh))
{ {
$redirect = ($post_id) ? "viewtopic.$phpEx$SID&p=$post_id#$post_id" : (($topic_id) ? "viewtopic.$phpEx$SID&t=$topic_id" : (($forum_id) ? "viewforum.$phpEx$SID&f=$forum_id" : "index.$phpEx$SID")); $redirect = ($post_id) ? "viewtopic.$phpEx$SID&p=$post_id#$post_id" : (($topic_id) ? "viewtopic.$phpEx$SID&t=$topic_id" : (($forum_id) ? "viewforum.$phpEx$SID&f=$forum_id" : "index.$phpEx$SID"));
redirect($redirect); redirect($redirect);
@ -102,9 +102,16 @@ switch ($mode)
break; break;
case 'smilies': case 'smilies':
$sql = '';
generate_smilies('window', $forum_id); generate_smilies('window', $forum_id);
break; break;
case 'popup':
$sql = 'SELECT forum_style
FROM ' . FORUMS_TABLE . '
WHERE forum_id = ' . $forum_id;
break;
default: default:
$sql = ''; $sql = '';
trigger_error('NO_POST_MODE'); trigger_error('NO_POST_MODE');
@ -117,13 +124,20 @@ if ($sql)
extract($db->sql_fetchrow($result)); extract($db->sql_fetchrow($result));
$db->sql_freeresult($result); $db->sql_freeresult($result);
$quote_username = ($username) ? $username : ((isset($post_username)) ? $post_username : ''); if ($mode == 'popup')
{
upload_popup($forum_style);
exit;
}
$quote_username = (isset($username)) ? $username : ((isset($post_username)) ? $post_username : '');
$forum_id = (int) $forum_id; $forum_id = (int) $forum_id;
$topic_id = (int) $topic_id; $topic_id = (int) $topic_id;
$post_id = (int) $post_id; $post_id = (int) $post_id;
$icon_id = 0;
$post_edit_locked = (int) $post_edit_locked; $post_edit_locked = (isset($post_edit_locked)) ? (int) $post_edit_locked : 0;
$user->setup(array('posting', 'mcp'), $forum_style); $user->setup(array('posting', 'mcp'), $forum_style);
@ -138,10 +152,11 @@ if ($sql)
unset($forum_info); unset($forum_info);
} }
$post_subject = (in_array($mode, array('quote', 'edit', 'delete'))) ? $post_subject : $topic_title; $post_subject = (in_array($mode, array('quote', 'edit', 'delete'))) ? $post_subject : ((isset($topic_title)) ? $topic_title : '');
$topic_time_limit = ($topic_time_limit) ? $topic_time_limit / 86400 : $topic_time_limit; $topic_time_limit = (isset($topic_time_limit)) ? (($topic_time_limit) ? (int) $topic_time_limit / 86400 : (int) $topic_time_limit) : 0;
$poll_length = ($poll_length) ? $poll_length / 86400 : $poll_length; $poll_length = (isset($poll_length)) ? (($poll_length) ? (int) $poll_length / 86400 : (int) $poll_length) : 0;
$poll_start = (isset($poll_start)) ? (int) $poll_start : 0;
$poll_options = array(); $poll_options = array();
// Get Poll Data // Get Poll Data
@ -162,33 +177,14 @@ if ($sql)
$message_parser = new parse_message(); $message_parser = new parse_message();
$message_parser->get_submitted_attachment_data();
$message_parser->filename_data['filecomment'] = preg_replace('#&amp;(\#[0-9]+;)#', '&\1', request_var('filecomment', ''));
$message_parser->filename_data['filename'] = ($_FILES['fileupload']['name'] != 'none') ? trim($_FILES['fileupload']['name']) : '';
// Get Attachment Data
$message_parser->attachment_data = (isset($_POST['attachment_data'])) ? $_POST['attachment_data'] : array();
//
foreach ($message_parser->attachment_data as $pos => $var_ary)
{
prepare_data($message_parser->attachment_data[$pos]['physical_filename'], true);
prepare_data($message_parser->attachment_data[$pos]['comment'], true);
prepare_data($message_parser->attachment_data[$pos]['real_filename'], true);
prepare_data($message_parser->attachment_data[$pos]['extension'], true);
prepare_data($message_parser->attachment_data[$pos]['mimetype'], true);
$message_parser->attachment_data[$pos]['filesize'] = (int) $message_parser->attachment_data[$pos]['filesize'];
$message_parser->attachment_data[$pos]['filetime'] = (int) $message_parser->attachment_data[$pos]['filetime'];
$message_parser->attachment_data[$pos]['attach_id'] = (int) $message_parser->attachment_data[$pos]['attach_id'];
$message_parser->attachment_data[$pos]['thumbnail'] = (int) $message_parser->attachment_data[$pos]['thumbnail'];
}
if ($post_attachment && !$submit && !$refresh && !$preview && $mode == 'edit') if ($post_attachment && !$submit && !$refresh && !$preview && $mode == 'edit')
{ {
$sql = 'SELECT attach_id, physical_filename, comment, real_filename, extension, mimetype, filesize, filetime, thumbnail $sql = 'SELECT attach_id, physical_filename, comment, real_filename, extension, mimetype, filesize, filetime, thumbnail
FROM ' . ATTACHMENTS_TABLE . " FROM ' . ATTACHMENTS_TABLE . "
WHERE post_id = $post_id WHERE post_msg_id = $post_id
AND in_message = 0
ORDER BY filetime " . ((!$config['display_order']) ? 'DESC' : 'ASC'); ORDER BY filetime " . ((!$config['display_order']) ? 'DESC' : 'ASC');
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
@ -233,6 +229,7 @@ if ($sql)
{ {
$drafts = true; $drafts = true;
} }
$db->sql_freeresult($result);
} }
} }
@ -271,26 +268,25 @@ if (($forum_status == ITEM_LOCKED || $topic_status == ITEM_LOCKED) && !$auth->ac
} }
// Can we edit this post? // Can we edit this post?
if (($mode == 'edit' || $mode == 'delete') && !$auth->acl_get('m_edit', $forum_id) && $config['edit_time'] && $post_time < $current_time - $config['edit_time']) if ($mode == 'edit' && !$preview && !$refresh && !$submit)
{ {
trigger_error('CANNOT_EDIT_TIME'); if (!($post_time > time() - $config['edit_time'] || !$config['edit_time']))
{
trigger_error('CANNOT_EDIT_TIME');
}
} }
// Do we want to edit our post ? // Do we want to edit our post ?
if ($mode == 'edit' && !$auth->acl_get('m_edit', $forum_id) && $user->data['user_id'] != $poster_id) if ($mode == 'edit' && !$auth->acl_get('m_edit', $forum_id) && ($user->data['user_id'] != $poster_id || $post_edit_locked))
{ {
if ($post_edit_locked)
{
trigger_error('CANNOT_EDIT_POST_LOCKED');
}
trigger_error('USER_CANNOT_EDIT'); trigger_error('USER_CANNOT_EDIT');
} }
// Is edit posting locked ?
if ($mode == 'edit' && $post_edit_locked && !$auth->acl_get('m_', $forum_id))
{
trigger_error('CANNOT_EDIT_POST_LOCKED');
}
if ($mode == 'edit') if ($mode == 'edit')
{ {
$message_parser->bbcode_uid = $bbcode_uid; $message_parser->bbcode_uid = $bbcode_uid;
@ -597,6 +593,7 @@ if ($submit || $preview || $refresh)
{ {
$last_post_time = $row['last_post_time']; $last_post_time = $row['last_post_time'];
} }
$db->sql_freeresult($result);
} }
if ($last_post_time) if ($last_post_time)
@ -606,7 +603,6 @@ if ($submit || $preview || $refresh)
$error[] = $user->lang['FLOOD_ERROR']; $error[] = $user->lang['FLOOD_ERROR'];
} }
} }
$db->sql_freeresult($result);
} }
// Validate username // Validate username
@ -788,7 +784,7 @@ if (!sizeof($error) && $preview)
{ {
$post_time = ($mode == 'edit') ? $post_time : $current_time; $post_time = ($mode == 'edit') ? $post_time : $current_time;
$preview_subject = censor_text($preview_subject); $preview_subject = censor_text($subject);
$preview_signature = ($mode == 'edit') ? $user_sig : $user->data['user_sig']; $preview_signature = ($mode == 'edit') ? $user_sig : $user->data['user_sig'];
$preview_signature_uid = ($mode == 'edit') ? $user_sig_bbcode_uid : $user->data['user_sig_bbcode_uid']; $preview_signature_uid = ($mode == 'edit') ? $user_sig_bbcode_uid : $user->data['user_sig_bbcode_uid'];
@ -877,95 +873,20 @@ generate_smilies('inline', $forum_id);
$s_topic_icons = false; $s_topic_icons = false;
if ($enable_icons) if ($enable_icons)
{ {
// Grab icons $s_topic_icons = posting_gen_topic_icons($mode, $icon_id);
$icons = array();
obtain_icons($icons);
if (sizeof($icons))
{
foreach ($icons as $id => $data)
{
if ($data['display'])
{
$template->assign_block_vars('topic_icon', array(
'ICON_ID' => $id,
'ICON_IMG' => $phpbb_root_path . $config['icons_path'] . '/' . $data['img'],
'ICON_WIDTH' => $data['width'],
'ICON_HEIGHT' => $data['height'],
'S_ICON_CHECKED' => ($id == $icon_id && $mode != 'reply') ? ' checked="checked"' : '')
);
}
}
$s_topic_icons = true;
}
} }
// Generate inline attachment select box // Generate inline attachment select box
if (sizeof($message_parser->attachment_data)) posting_gen_inline_attachments($message_parser);
{
$s_inline_attachment_options = '';
foreach ($message_parser->attachment_data as $i => $attachment)
{
$s_inline_attachment_options .= '<option value="' . $i . '">' . $attachment['real_filename'] . '</option>';
}
$template->assign_var('S_INLINE_ATTACHMENT_OPTIONS', $s_inline_attachment_options);
}
// Topic type selection ... only for first post in topic. // Topic type selection ... only for first post in topic.
$topic_type_toggle = false; $topic_type_toggle = false;
if ($mode == 'post' || ($mode == 'edit' && $post_id == $topic_first_post_id)) if ($mode == 'post' || ($mode == 'edit' && $post_id == $topic_first_post_id))
{ {
$topic_types = array( $topic_type_toggle = posting_gen_topic_types($forum_id, $topic_type);
'sticky' => array('const' => POST_STICKY, 'lang' => 'POST_STICKY'),
'announce' => array('const' => POST_ANNOUNCE, 'lang' => 'POST_ANNOUNCEMENT'),
'global' => array('const' => POST_GLOBAL, 'lang' => 'POST_GLOBAL')
);
$topic_type_array = array();
foreach ($topic_types as $auth_key => $topic_value)
{
// Temp - we do not have a special post global announcement permission
$auth_key = ($auth_key == 'global') ? 'announce' : $auth_key;
if ($auth->acl_get('f_' . $auth_key, $forum_id))
{
$topic_type_toggle = true;
$topic_type_array[] = array(
'VALUE' => $topic_value['const'],
'S_CHECKED' => ($topic_type == $topic_value['const'] || ($forum_id == 0 && $topic_value['const'] == POST_GLOBAL)) ? ' checked="checked"' : '',
'L_TOPIC_TYPE' => $user->lang[$topic_value['lang']]
);
}
}
if ($topic_type_toggle)
{
$topic_type_array = array_merge(array(0 => array(
'VALUE' => POST_NORMAL,
'S_CHECKED' => ($topic_type == POST_NORMAL) ? ' checked="checked"' : '',
'L_TOPIC_TYPE' => $user->lang['POST_NORMAL'])),
$topic_type_array
);
foreach ($topic_type_array as $array)
{
$template->assign_block_vars('topic_type', $array);
}
$template->assign_vars(array(
'S_TOPIC_TYPE_STICKY' => ($auth->acl_get('f_sticky', $forum_id)),
'S_TOPIC_TYPE_ANNOUNCE' => ($auth->acl_get('f_announce', $forum_id)))
);
}
} }
$html_checked = (isset($enable_html)) ? !$enable_html : (($config['allow_html']) ? !$user->optionget('html') : 1); $html_checked = (isset($enable_html)) ? !$enable_html : (($config['allow_html']) ? !$user->optionget('html') : 1);
$bbcode_checked = (isset($enable_bbcode)) ? !$enable_bbcode : (($config['allow_bbcode']) ? !$user->optionget('bbcode') : 1); $bbcode_checked = (isset($enable_bbcode)) ? !$enable_bbcode : (($config['allow_bbcode']) ? !$user->optionget('bbcode') : 1);
$smilies_checked = (isset($enable_smilies)) ? !$enable_smilies : (($config['allow_smilies']) ? !$user->optionget('smile') : 1); $smilies_checked = (isset($enable_smilies)) ? !$enable_smilies : (($config['allow_smilies']) ? !$user->optionget('smile') : 1);
@ -1012,7 +933,7 @@ $s_hidden_fields .= '<input type="hidden" name="lastclick" value="' . $current_t
$s_hidden_fields .= (isset($check_value)) ? '<input type="hidden" name="status_switch" value="' . $check_value . '" />' : ''; $s_hidden_fields .= (isset($check_value)) ? '<input type="hidden" name="status_switch" value="' . $check_value . '" />' : '';
$s_hidden_fields .= ($draft_id || isset($_REQUEST['draft_loaded'])) ? '<input type="hidden" name="draft_loaded" value="' . ((isset($_REQUEST['draft_loaded'])) ? intval($_REQUEST['draft_loaded']) : $draft_id) . '" />' : ''; $s_hidden_fields .= ($draft_id || isset($_REQUEST['draft_loaded'])) ? '<input type="hidden" name="draft_loaded" value="' . ((isset($_REQUEST['draft_loaded'])) ? intval($_REQUEST['draft_loaded']) : $draft_id) . '" />' : '';
$form_enctype = (@ini_get('file_uploads') == '0' || strtolower(@ini_get('file_uploads')) == 'off' || @ini_get('file_uploads') == '0' || !$config['allow_attachments'] || !$auth->acl_gets('f_attach', 'u_attach', $forum_id)) ? '' : 'enctype="multipart/form-data"'; $form_enctype = (@ini_get('file_uploads') == '0' || strtolower(@ini_get('file_uploads')) == 'off' || @ini_get('file_uploads') == '0' || !$config['allow_attachments'] || !$auth->acl_gets('f_attach', 'u_attach', $forum_id)) ? '' : ' enctype="multipart/form-data"';
// Start assigning vars for main posting page ... // Start assigning vars for main posting page ...
$template->assign_vars(array( $template->assign_vars(array(
@ -1043,7 +964,9 @@ $template->assign_vars(array(
'U_VIEW_FORUM' => "viewforum.$phpEx$SID&amp;f=" . $forum_id, 'U_VIEW_FORUM' => "viewforum.$phpEx$SID&amp;f=" . $forum_id,
'U_VIEWTOPIC' => ($mode != 'post') ? "viewtopic.$phpEx$SID&amp;$forum_id&amp;t=$topic_id" : '', 'U_VIEWTOPIC' => ($mode != 'post') ? "viewtopic.$phpEx$SID&amp;$forum_id&amp;t=$topic_id" : '',
'U_PROGRESS_BAR' => "posting.$phpEx$SID&mode=popup",
'S_CLOSE_PROGRESS_WINDOW' => isset($_POST['add_file']),
'S_DISPLAY_PREVIEW' => ($preview && !sizeof($error)), 'S_DISPLAY_PREVIEW' => ($preview && !sizeof($error)),
'S_EDIT_POST' => ($mode == 'edit'), 'S_EDIT_POST' => ($mode == 'edit'),
'S_EDIT_REASON' => ($mode == 'edit' && $user->data['user_id'] != $poster_id), 'S_EDIT_REASON' => ($mode == 'edit' && $user->data['user_id'] != $poster_id),
@ -1099,49 +1022,7 @@ else if ($mode == 'edit' && $poll_last_vote && ($auth->acl_get('f_poll', $forum_
// Attachment entry // Attachment entry
if ($auth->acl_gets('f_attach', 'u_attach', $forum_id) && $config['allow_attachments'] && $form_enctype) if ($auth->acl_gets('f_attach', 'u_attach', $forum_id) && $config['allow_attachments'] && $form_enctype)
{ {
$template->assign_vars(array( posting_gen_attachment_entry($message_parser);
'S_SHOW_ATTACH_BOX' => true)
);
if (sizeof($message_parser->attachment_data))
{
$template->assign_vars(array(
'S_HAS_ATTACHMENTS' => true)
);
$count = 0;
foreach ($message_parser->attachment_data as $attach_row)
{
$hidden = '';
$attach_row['real_filename'] = stripslashes($attach_row['real_filename']);
foreach ($attach_row as $key => $value)
{
$hidden .= '<input type="hidden" name="attachment_data[' . $count . '][' . $key . ']" value="' . $value . '" />';
}
$download_link = (!$attach_row['attach_id']) ? $config['upload_dir'] . '/' . $attach_row['physical_filename'] : $phpbb_root_path . "download.$phpEx$SID&id=" . intval($attach_row['attach_id']);
$template->assign_block_vars('attach_row', array(
'FILENAME' => $attach_row['real_filename'],
'ATTACH_FILENAME' => $attach_row['physical_filename'],
'FILE_COMMENT' => $attach_row['comment'],
'ATTACH_ID' => $attach_row['attach_id'],
'ASSOC_INDEX' => $count,
'U_VIEW_ATTACHMENT' => $download_link,
'S_HIDDEN' => $hidden)
);
$count++;
}
}
$template->assign_vars(array(
'FILE_COMMENT' => $message_parser->filename_data['filecomment'],
'FILESIZE' => $config['max_filesize'],
'FILENAME' => $message_parser->filename_data['filename'])
);
} }
// Output page ... // Output page ...
@ -1280,7 +1161,7 @@ function user_notification($mode, $subject, $topic_title, $forum_name, $forum_id
// Now, we have to do a little step before really sending, we need to distinguish our users a little bit. ;) // Now, we have to do a little step before really sending, we need to distinguish our users a little bit. ;)
$email_users = $delete_ids = $update_notification = array(); $msg_users = $delete_ids = $update_notification = array();
foreach ($notify_rows as $user_id => $row) foreach ($notify_rows as $user_id => $row)
{ {
if (!$row['allowed'] || !trim($row['user_email'])) if (!$row['allowed'] || !trim($row['user_email']))
@ -1314,7 +1195,7 @@ function user_notification($mode, $subject, $topic_title, $forum_name, $forum_id
$msg_list_ary[$row['template']][$pos]['name'] = $row['username']; $msg_list_ary[$row['template']][$pos]['name'] = $row['username'];
$msg_list_ary[$row['template']][$pos]['lang'] = $row['user_lang']; $msg_list_ary[$row['template']][$pos]['lang'] = $row['user_lang'];
} }
unset($email_users); unset($msg_users);
foreach ($msg_list_ary as $email_template => $email_list) foreach ($msg_list_ary as $email_template => $email_list)
{ {
@ -1343,7 +1224,7 @@ function user_notification($mode, $subject, $topic_title, $forum_name, $forum_id
$messenger->reset(); $messenger->reset();
} }
} }
unset($email_list_ary); unset($msg_list_ary);
if ($messenger->queue) if ($messenger->queue)
{ {
@ -1452,7 +1333,7 @@ function topic_review($topic_id, $forum_id, $mode = 'topic_review', $cur_post_id
$message = censor_text($message); $message = censor_text($message);
$template->assign_block_vars($mode . '_row', array( $template->assign_block_vars($mode . '_row', array(
'KARMA_IMG' => '<img src="images/karma' . $row['user_karma'] . '.gif" alt="' . $user->lang['KARMA_LEVEL'] . ': ' . $user->lang['KARMA'][$row['user_karma']] . '" title="' . $user->lang['KARMA_LEVEL'] . ': ' . $user->lang['KARMA'][$row['user_karma']] . '" />', 'KARMA_IMG' => ($config['enable_karma']) ? $user->img('karma_center', $user->lang['KARMA'][$row['user_karma']], false, (int) $row['user_karma']) : '',
'POSTER_NAME' => $poster, 'POSTER_NAME' => $poster,
'POST_SUBJECT' => $post_subject, 'POST_SUBJECT' => $post_subject,
'MINI_POST_IMG' => $user->img('icon_post', $user->lang['POST']), 'MINI_POST_IMG' => $user->img('icon_post', $user->lang['POST']),
@ -1477,27 +1358,6 @@ function topic_review($topic_id, $forum_id, $mode = 'topic_review', $cur_post_id
} }
// Temp Function - strtolower - borrowed from php.net
function phpbb_strtolower($string)
{
$new_string = '';
for ($i = 0; $i < strlen($string); $i++)
{
if (ord(substr($string, $i, 1)) > 0xa0)
{
$new_string .= strtolower(substr($string, $i, 2));
$i++;
}
else
{
$new_string .= strtolower($string{$i});
}
}
return $new_string;
}
// Delete Post // Delete Post
function delete_post($mode, $post_id, $topic_id, $forum_id, $data) function delete_post($mode, $post_id, $topic_id, $forum_id, $data)
{ {
@ -1966,8 +1826,9 @@ function submit_post($mode, $message, $subject, $username, $topic_type, $bbcode_
{ {
// insert attachment into db // insert attachment into db
$attach_sql = array( $attach_sql = array(
'post_id' => $data['post_id'], 'post_msg_id' => $data['post_id'],
'topic_id' => $data['topic_id'], 'topic_id' => $data['topic_id'],
'in_message' => 0,
'poster_id' => $poster_id, 'poster_id' => $poster_id,
'physical_filename' => $attach_row['physical_filename'], 'physical_filename' => $attach_row['physical_filename'],
'real_filename' => $attach_row['real_filename'], 'real_filename' => $attach_row['real_filename'],
@ -2130,106 +1991,21 @@ function submit_post($mode, $message, $subject, $username, $topic_type, $bbcode_
trigger_error($message); trigger_error($message);
} }
// Load Drafts function upload_popup($forum_style)
function load_drafts($topic_id = 0, $forum_id = 0)
{ {
global $user, $db, $template, $phpEx, $SID, $auth; global $template, $user;
// Only those fitting into this forum... $user->setup('posting', $forum_style);
$sql = 'SELECT d.draft_id, d.topic_id, d.forum_id, d.draft_subject, d.save_time, f.forum_name
FROM ' . DRAFTS_TABLE . ' d, ' . FORUMS_TABLE . ' f
WHERE d.user_id = ' . $user->data['user_id'] . '
AND f.forum_id = d.forum_id ' .
(($forum_id) ? " AND f.forum_id = $forum_id" : '') . '
ORDER BY save_time DESC';
$result = $db->sql_query($sql);
$draftrows = $topic_ids = array(); page_header('PROGRESS_BAR');
while ($row = $db->sql_fetchrow($result)) $template->set_filenames(array(
{ 'popup' => 'posting_progress_bar.html')
if ($row['topic_id']) );
{
$topic_ids[] = (int) $row['topic_id'];
}
$draftrows[] = $row;
}
$db->sql_freeresult($result);
if (sizeof($topic_ids)) $template->display('popup');
{
$sql = 'SELECT topic_id, forum_id, topic_title
FROM ' . TOPICS_TABLE . '
WHERE topic_id IN (' . implode(',', array_unique($topic_ids)) . ')';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$topic_rows[$row['topic_id']] = $row;
}
$db->sql_freeresult($result);
}
unset($topic_ids);
if (sizeof($draftrows))
{
$row_count = 0;
$template->assign_var('S_SHOW_DRAFTS', true);
foreach ($draftrows as $draft)
{
$link_topic = $link_forum = 0;
$insert_url = $view_url = $title = '';
if (isset($topic_rows[$draft['topic_id']]) && $auth->acl_get('f_read', $topic_rows[$draft['topic_id']]['forum_id']))
{
$link_topic = true;
$view_url = "viewtopic.$phpEx$SID&amp;f=" . $topic_rows[$draft['topic_id']]['forum_id'] . "&amp;t=" . $draft['topic_id'];
$title = ($draft['topic_id'] == $topic_id && $topic_id) ? $user->lang['CURRENT_TOPIC'] : $topic_rows[$draft['topic_id']]['topic_title'];
$insert_url = "posting.$phpEx$SID&amp;f=" . $topic_rows[$draft['topic_id']]['forum_id'] . '&amp;t=' . $draft['topic_id'] . '&amp;mode=reply&amp;d=' . $draft['draft_id'];
}
else if ($auth->acl_get('f_read', $draft['forum_id']))
{
$link_forum = true;
$view_url = "viewforum.$phpEx$SID&amp;f=" . $draft['forum_id'];
$title = $draft['forum_name'];
$insert_url = "posting.$phpEx$SID&amp;f=" . $draft['forum_id'] . '&amp;mode=post&amp;d=' . $draft['draft_id'];
}
$template->assign_block_vars('draftrow', array(
'DRAFT_ID' => $draft['draft_id'],
'DATE' => $user->format_date($draft['save_time']),
'DRAFT_SUBJECT' => $draft['draft_subject'],
'TITLE' => $title,
'U_VIEW' => $view_url,
'U_INSERT' => $insert_url,
'S_ROW_COUNT' => $row_count++,
'S_LINK_TOPIC' => $link_topic,
'S_LINK_FORUM' => $link_forum)
);
}
}
} }
function prepare_data(&$variable, $change = false)
{
if (!$change)
{
// return htmlspecialchars(trim(str_replace(array('\\\'', '\\"', '\\0', '\\\\'), array('\'', '"', '\0', '\\'), $variable)));
return htmlspecialchars(trim(stripslashes(preg_replace(array("#[ \xFF]{2,}#s", "#[\r\n]{2,}#s"), array(' ', "\n"), $variable))));
}
// $variable = htmlspecialchars(trim(str_replace(array('\\\'', '\\"', '\\0', '\\\\'), array('\'', '"', '\0', '\\'), $variable)));
$variable = htmlspecialchars(trim(stripslashes(preg_replace(array("#[ \xFF]{2,}#s", "#[\r\n]{2,}#s"), array(' ', "\n"), $variable))));
}
// //
// FUNCTIONS // FUNCTIONS
// --------- // ---------

View file

@ -22,50 +22,79 @@ $auth->acl($user->data);
$user->setup('mcp'); $user->setup('mcp');
// var definitions // var definitions
$post_id = (!empty($_REQUEST['p'])) ? intval($_REQUEST['p']) : 0; $post_id = request_var('p', 0);
$reason_id = (!empty($_REQUEST['reason_id'])) ? intval($_REQUEST['reason_id']) : 0; $msg_id = request_var('pm', 0);
$user_notify = (!empty($_REQUEST['notify']) && $user->data['user_id'] != ANONYMOUS) ? TRUE : FALSE; $reason_id = request_var('reason_id', 0);
$report_text = (!empty($_REQUEST['report_text'])) ? htmlspecialchars(stripslashes($_REQUEST['report_text'])) : ''; $user_notify= (!empty($_REQUEST['notify']) && $user->data['user_id'] != ANONYMOUS) ? true : false;
$report_text= request_var('report_text', '');
if (!$post_id && !$msg_id)
{
trigger_error('NO_MODE');
}
$redirect_url = ($post_id) ? "{$phpbb_root_path}viewtopic.$phpEx$SID&p=$post_id#$post_id" : "{$phpbb_root_path}ucp.$phpEx$SID&i=pm&mode=view_messages&action=view_message&p=$msg_id";
// Has the report been cancelled? // Has the report been cancelled?
if (isset($_POST['cancel'])) if (isset($_POST['cancel']))
{ {
redirect("viewtopic.$phpEx$SID&p=$post_id#$post_id"); redirect($redirect_url);
} }
// Grab all relevant data // Grab all relevant data
$sql = 'SELECT f.*, t.*, p.* if ($post_id)
FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE . " f {
WHERE p.post_id = $post_id $sql = 'SELECT f.*, t.*, p.*
AND p.topic_id = t.topic_id FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE . " f
AND p.forum_id = f.forum_id"; WHERE p.post_id = $post_id
AND p.topic_id = t.topic_id
AND p.forum_id = f.forum_id";
}
else
{
// Only the user itself is able to report his Private Messages
$sql = 'SELECT p.*, t.*
FROM ' . PRIVMSGS_TABLE . ' p, ' . PRIVMSGS_TO_TABLE . " t
WHERE t.msg_id = $msg_id
AND t.user_id = " . $user->data['user_id'] . '
AND t.msg_id = p.msg_id';
}
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
if (!($forum_data = $db->sql_fetchrow($result))) if (!($report_data = $db->sql_fetchrow($result)))
{ {
trigger_error($user->lang['POST_NOT_EXIST']); trigger_error($user->lang['POST_NOT_EXIST']);
} }
$forum_id = $forum_data['forum_id']; if ($post_id)
$topic_id = $forum_data['topic_id'];
// Check required permissions
$acl_check_ary = array('f_list' => 'POST_NOT_EXIST', 'f_read' => 'USER_CANNOT_READ', 'f_report' => 'USER_CANNOT_REPORT');
foreach ($acl_check_ary as $acl => $error)
{ {
if (!$auth->acl_get($acl, $forum_id)) $forum_id = $report_data['forum_id'];
$topic_id = $report_data['topic_id'];
// Check required permissions
$acl_check_ary = array('f_list' => 'POST_NOT_EXIST', 'f_read' => 'USER_CANNOT_READ', 'f_report' => 'USER_CANNOT_REPORT');
foreach ($acl_check_ary as $acl => $error)
{ {
trigger_error($error); if (!$auth->acl_get($acl, $forum_id))
{
trigger_error($error);
}
}
unset($acl_check_ary);
}
else
{
if (!$config['auth_report_pm'] || !$auth->acl_get('u_pm_report'))
{
trigger_error('USER_CANNOT_REPORT');
} }
} }
unset($acl_check_ary);
// Check if the post has already been reported by this user // Check if the post has already been reported by this user
$sql = 'SELECT * $sql = 'SELECT *
FROM ' . REPORTS_TABLE . " FROM ' . REPORTS_TABLE . '
WHERE post_id = $post_id WHERE ' . (($post_id) ? "post_id = $post_id" : "msg_id = $msg_id") . '
AND user_id = " . $user->data['user_id']; AND user_id = ' . $user->data['user_id'];
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result)) if ($row = $db->sql_fetchrow($result))
@ -86,9 +115,7 @@ if ($row = $db->sql_fetchrow($result))
} }
else else
{ {
$return_topic = '<br /><br />' . sprintf($user->lang['RETURN_TOPIC'], "<a href=\"viewtopic.$phpEx$SID&amp;p=$post_id#$post_id\">", '</a>'); trigger_error($user->lang['ALREADY_REPORTED'] . '<br /><br />' . sprintf($user->lang[(($post_id) ? 'RETURN_TOPIC' : 'RETURN_MESSAGE')], '<a href="' . $redirect_url . '">', '</a>'));
trigger_error($user->lang['ALREADY_REPORTED'] . $return_topic);
} }
} }
else else
@ -99,24 +126,25 @@ else
// Has the report been confirmed? // Has the report been confirmed?
if (!empty($_POST['reason_id'])) if (!empty($_POST['reason_id']))
{ {
$sql = 'SELECT reason_title $sql = 'SELECT reason_name
FROM ' . REASONS_TABLE . " FROM ' . REASONS_TABLE . "
WHERE reason_id = $reason_id"; WHERE reason_id = $reason_id";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
if (!($row = $db->sql_fetchrow($result)) || (!$report_text && $row['reason_title'] == 'other')) if (!($row = $db->sql_fetchrow($result)) || (!$report_text && $row['reason_name'] == 'other'))
{ {
trigger_error('EMPTY_REPORT'); trigger_error('EMPTY_REPORT');
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
$sql_ary = array( $sql_ary = array(
'reason_id' => (int) $reason_id, 'reason_id' => (int) $reason_id,
'post_id' => (int) $post_id, 'post_id' => (int) $post_id,
'user_id' => (int) $user->data['user_id'], 'msg_id' => (int) $msg_id,
'user_notify' => (int) $user_notify, 'user_id' => (int) $user->data['user_id'],
'report_time' => (int) time(), 'user_notify' => (int) $user_notify,
'report_text' => (string) $report_text 'report_time' => (int) time(),
'report_text' => (string) $report_text
); );
if ($report_id) if ($report_id)
@ -133,27 +161,54 @@ if (!empty($_POST['reason_id']))
$db->sql_query($sql); $db->sql_query($sql);
} }
if (!$row['post_reported']) if ($post_id)
{ {
$sql = 'UPDATE ' . POSTS_TABLE . ' if (!$row['post_reported'])
SET post_reported = 1 {
WHERE post_id = ' . $post_id; $sql = 'UPDATE ' . POSTS_TABLE . '
$db->sql_query($sql); SET post_reported = 1
WHERE post_id = ' . $post_id;
$db->sql_query($sql);
}
if (!$row['topic_reported'])
{
$sql = 'UPDATE ' . TOPICS_TABLE . '
SET topic_reported = 1
WHERE topic_id = ' . $topic_id;
$db->sql_query($sql);
}
}
else
{
if (!$row['message_reported'])
{
$sql = 'UPDATE ' . PRIVMSGS_TABLE . "
SET message_reported = 1
WHERE msg_id = $msg_id";
$db->sql_query($sql);
}
} }
if (!$row['topic_reported']) meta_refresh(3, $redirect_url);
{
$sql = 'UPDATE ' . TOPICS_TABLE . '
SET topic_reported = 1
WHERE topic_id = ' . $topic_id;
$db->sql_query($sql);
}
meta_refresh(3, "viewtopic.$phpEx$SID&amp;p=$post_id#$post_id"); $message = $user->lang[(($post_id) ? 'POST' : 'MESSAGE') . '_REPORTED_SUCCESS'] . '<br /><br />' . sprintf($user->lang[(($post_id) ? 'RETURN_TOPIC' : 'RETURN_MESSAGE')], '<a href="' . $redirect_url . '">', '</a>');
$message = $user->lang['POST_REPORTED_SUCCESS'] . '<br /><br />' . sprintf($user->lang['RETURN_TOPIC'], "<a href=\"viewtopic.$phpEx$SID&amp;p=$post_id#$post_id\">", '</a>');
trigger_error($message); trigger_error($message);
// Which moderators are responsible for private messages? ;)
/*
$db->sql_query('INSERT INTO ' . PRIVMSGS_TO_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'msg_id' => (int) $msg_id,
'user_id' => (int) $moderator_id,
'author_id' => (int) $row['author_id'],
'folder_id' => PRIVMSGS_NO_BOX,
'new' => 1,
'unread' => 1,
'forwarded' => 0,
'reported' => 1)
);
*/
// TODO: warn moderators or something ;) // TODO: warn moderators or something ;)
} }
@ -166,11 +221,11 @@ $result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$row['reason_title'] = strtoupper($row['reason_title']); $row['reason_name'] = strtoupper($row['reason_name']);
$reason_title = (!empty($user->lang['report_reasons']['TITLE'][$row['reason_title']])) ? $user->lang['report_reasons']['TITLE'][$row['reason_title']] : ucwords(str_replace('_', ' ', $row['reason_title'])); $reason_title = (!empty($user->lang['report_reasons']['TITLE'][$row['reason_name']])) ? $user->lang['report_reasons']['TITLE'][$row['reason_name']] : ucwords(str_replace('_', ' ', $row['reason_name']));
$reason_desc = (!empty($user->lang['report_reasons']['DESCRIPTION'][$row['reason_title']])) ? $user->lang['report_reasons']['DESCRIPTION'][$row['reason_title']] : $row['reason_desc']; $reason_desc = (!empty($user->lang['report_reasons']['DESCRIPTION'][$row['reason_name']])) ? $user->lang['report_reasons']['DESCRIPTION'][$row['reason_name']] : $row['reason_desc'];
$template->assign_block_vars('reason', array( $template->assign_block_vars('reason', array(
'ID' => $row['reason_id'], 'ID' => $row['reason_id'],
@ -180,17 +235,20 @@ while ($row = $db->sql_fetchrow($result))
)); ));
} }
$u_report = ($post_id) ? "p=$post_id" : "pm=$msg_id";
$template->assign_vars(array( $template->assign_vars(array(
'REPORT_TEXT' => $report_text, 'REPORT_TEXT' => $report_text,
'S_REPORT_ACTION' => "report.$phpEx$SID&amp;p=$post_id" . (($report_id) ? "&amp;report_id=$report_id" : ''), 'S_REPORT_ACTION' => "report.$phpEx$SID&amp;$u_report" . (($report_id) ? "&amp;report_id=$report_id" : ''),
'S_NOTIFY' => (!empty($user_notify)) ? TRUE : FALSE, 'S_NOTIFY' => (!empty($user_notify)) ? TRUE : FALSE,
'S_CAN_NOTIFY' => ($user->data['user_id'] == ANONYMOUS) ? FALSE : TRUE 'S_CAN_NOTIFY' => ($user->data['user_id'] == ANONYMOUS) ? FALSE : TRUE)
)); );
generate_forum_nav($forum_data);
if ($post_id)
{
generate_forum_nav($report_data);
}
// Start output of page // Start output of page
page_header($user->lang['REPORT_TO_ADMIN']); page_header($user->lang['REPORT_TO_ADMIN']);

View file

@ -358,3 +358,4 @@ function colorPalette(dir, width, height)
} }
document.writeln('</table>'); document.writeln('</table>');
} }

View file

@ -2,7 +2,7 @@
<!-- $Id$ --> <!-- $Id$ -->
<table class="tablebg" cellspacing="1"> <table class="tablebg" cellspacing="1" width="100%">
<tr> <tr>
<td class="cat" colspan="5" align="right"><a class="nav" href="{U_MARK_FORUMS}">{L_MARK_FORUMS_READ}</a>&nbsp;</td> <td class="cat" colspan="5" align="right"><a class="nav" href="{U_MARK_FORUMS}">{L_MARK_FORUMS_READ}</a>&nbsp;</td>
</tr> </tr>

View file

@ -15,6 +15,7 @@ function insert_marked(users)
insert_user(users[i].value); insert_user(users[i].value);
} }
} }
self.close();
} }
function marklist(status) function marklist(status)

View file

@ -7,23 +7,25 @@
<meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Style-Type" content="text/css" />
{META} {META}
<title>{SITENAME} :: {PAGE_TITLE}</title> <title>{SITENAME} :: {PAGE_TITLE}</title>
<!-- IF T_STYLESHEET_LINK --> <!-- IF T_STYLESHEET_LINK -->
<link rel="stylesheet" href="{T_STYLESHEET_LINK}" type="text/css" /> <link rel="stylesheet" href="{T_STYLESHEET_LINK}" type="text/css" />
<!-- ELSE --> <!-- ELSE -->
<style type="text/css"> <style type="text/css">
<!-- <!--
{T_THEME_DATA} {T_THEME_DATA}
//--> //-->
</style> </style>
<!-- ENDIF --> <!-- ENDIF -->
<script language="Javascript" type="text/javascript"> <script language="Javascript" type="text/javascript">
<!-- <!--
<!-- IF S_USER_PM_POPUP --> <!-- IF S_USER_PM_POPUP -->
if ({S_NEW_PM}) if ({S_NEW_PM})
{ {
window.open('{U_PRIVATEMSGS}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); window.open('{U_POPUP_PM}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');
} }
<!-- ENDIF --> <!-- ENDIF -->
function popup(url, width, height) function popup(url, width, height)
@ -61,7 +63,7 @@ function jumpto()
<div id="menubar"><table width="100%" cellspacing="0"> <div id="menubar"><table width="100%" cellspacing="0">
<tr> <tr>
<td class="genmed"><a href="{U_LOGIN_LOGOUT}"><img src="{T_THEME_PATH}/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" /> {L_LOGIN_LOGOUT}</a>&nbsp;<!-- IF S_USER_LOGGED_IN --><!-- IF S_DISPLAY_PM --> &nbsp;<a href="{U_PRIVATEMSGS}"><img src="{T_THEME_PATH}/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" /> {PRIVATE_MESSAGE_INFO}</a><!-- ENDIF --><!-- ELSE --> &nbsp;<a href="{U_REGISTER}"><img src="{T_THEME_PATH}/images/icon_mini_register.gif" width="12" height="13" border="0" alt="{L_REGISTER}" /> {L_REGISTER}</a><!-- ENDIF --></td> <td class="genmed"><a href="{U_LOGIN_LOGOUT}"><img src="{T_THEME_PATH}/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" /> {L_LOGIN_LOGOUT}</a>&nbsp;<!-- IF S_USER_LOGGED_IN --><!-- IF S_DISPLAY_PM --> &nbsp;<a href="{U_PRIVATEMSGS}"><img src="{T_THEME_PATH}/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" /> {PRIVATE_MESSAGE_INFO}<!-- IF PRIVATE_MESSAGE_INFO_UNREAD -->, {PRIVATE_MESSAGE_INFO_UNREAD}<!-- ENDIF --></a><!-- ENDIF --><!-- ELSE --> &nbsp;<a href="{U_REGISTER}"><img src="{T_THEME_PATH}/images/icon_mini_register.gif" width="12" height="13" border="0" alt="{L_REGISTER}" /> {L_REGISTER}</a><!-- ENDIF --></td>
<td class="genmed" align="right"><a href="{U_FAQ}"><img src="{T_THEME_PATH}/images/icon_mini_faq.gif" width="12" height="13" border="0" alt="{L_FAQ}" /> {L_FAQ}</a><!-- IF S_DISPLAY_SEARCH -->&nbsp; &nbsp;<a href="{U_SEARCH}"><img src="{T_THEME_PATH}/images/icon_mini_search.gif" width="12" height="13" border="0" alt="{L_SEARCH}" /> {L_SEARCH}</a><!-- ENDIF --><!-- IF S_DISPLAY_MEMBERLIST -->&nbsp; &nbsp;<a href="{U_MEMBERLIST}"><img src="{T_THEME_PATH}/images/icon_mini_members.gif" width="12" height="13" border="0" alt="{L_MEMBERLIST}" /> {L_MEMBERLIST}</a><!-- ENDIF -->&nbsp; &nbsp;<a href="{U_GROUP_CP}"><img src="{T_THEME_PATH}/images/icon_mini_groups.gif" width="12" height="13" border="0" alt="{L_USERGROUPS}" /> {L_USERGROUPS}</a><!-- IF S_USER_LOGGED_IN -->&nbsp; &nbsp;<a href="{U_PROFILE}"><img src="{T_THEME_PATH}/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" /> {L_PROFILE}</a><!-- ENDIF --></td> <td class="genmed" align="right"><a href="{U_FAQ}"><img src="{T_THEME_PATH}/images/icon_mini_faq.gif" width="12" height="13" border="0" alt="{L_FAQ}" /> {L_FAQ}</a><!-- IF S_DISPLAY_SEARCH -->&nbsp; &nbsp;<a href="{U_SEARCH}"><img src="{T_THEME_PATH}/images/icon_mini_search.gif" width="12" height="13" border="0" alt="{L_SEARCH}" /> {L_SEARCH}</a><!-- ENDIF --><!-- IF S_DISPLAY_MEMBERLIST -->&nbsp; &nbsp;<a href="{U_MEMBERLIST}"><img src="{T_THEME_PATH}/images/icon_mini_members.gif" width="12" height="13" border="0" alt="{L_MEMBERLIST}" /> {L_MEMBERLIST}</a><!-- ENDIF -->&nbsp; &nbsp;<a href="{U_GROUP_CP}"><img src="{T_THEME_PATH}/images/icon_mini_groups.gif" width="12" height="13" border="0" alt="{L_USERGROUPS}" /> {L_USERGROUPS}</a><!-- IF S_USER_LOGGED_IN -->&nbsp; &nbsp;<a href="{U_PROFILE}"><img src="{T_THEME_PATH}/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" /> {L_PROFILE}</a><!-- ENDIF --></td>
</tr> </tr>
</table></div> </table></div>

View file

@ -1,5 +1,23 @@
<!-- $Id$ --> <!-- $Id$ -->
<script language="javascript" type="text/javascript">
<!--
function popup_progress_bar()
{
close_waitscreen = 0;
window.open('{U_PROGRESS_BAR}', '_upload', 'HEIGHT=200,resizable=yes,scrollbars=no,WIDTH=400');
}
//-->
</script>
<!-- IF S_CLOSE_PROGRESS_WINDOW -->
<script language="javascript" type="text/javascript">
<!--
close_waitscreen = 1;
//-->
</script>
<!-- ENDIF -->
<tr> <tr>
<th colspan="2" height="28">{L_ADD_ATTACHMENT}</th> <th colspan="2" height="28">{L_ADD_ATTACHMENT}</th>
</tr> </tr>
@ -9,7 +27,7 @@
<tr> <tr>
<td class="row1"><b class="genmed">{L_FILENAME}</b></td> <td class="row1"><b class="genmed">{L_FILENAME}</b></td>
<td class="row2"><input class="post" type="file" name="fileupload" size="40" maxlength="{FILESIZE}" value="{FILENAME}" class="btnlite" /></td> <td class="row2"><input type="file" name="fileupload" size="40" maxlength="{FILESIZE}" value="{FILENAME}" class="btnlite" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1"><b class="genmed">{L_FILE_COMMENT}</b></td> <td class="row1"><b class="genmed">{L_FILE_COMMENT}</b></td>
@ -18,7 +36,7 @@
<td><textarea class="post" name="filecomment" rows="3" cols="35" wrap="virtual" size=40>{FILE_COMMENT}</textarea>&nbsp;</td> <td><textarea class="post" name="filecomment" rows="3" cols="35" wrap="virtual" size=40>{FILE_COMMENT}</textarea>&nbsp;</td>
<td valign="top"><table border="0" cellspacing="4" cellpadding="0"> <td valign="top"><table border="0" cellspacing="4" cellpadding="0">
<tr> <tr>
<td><input class="btnlite" type="submit" style="width:150px" name="add_file" value="{L_ADD_FILE}" /></td> <td><input class="btnlite" type="submit" style="width:150px" name="add_file" value="{L_ADD_FILE}" onclick="javascript:popup_progress_bar();" /></td>
</tr></table> </tr></table>
</td> </td>
</tr></table> </tr></table>

View file

@ -1,4 +1,8 @@
<!-- INCLUDE overall_header.html --> <!-- IF S_PRIVMSGS -->
<!-- INCLUDE ucp_header.html -->
<!-- ELSE -->
<!-- INCLUDE overall_header.html -->
<!-- ENDIF -->
<!-- $Id$ --> <!-- $Id$ -->
@ -43,18 +47,19 @@ function checkForm()
</script> </script>
<script language="javascript" type="text/javascript" src="styles/subSilver/template/editor.js"></script> <script language="javascript" type="text/javascript" src="styles/subSilver/template/editor.js"></script>
<!-- IF S_FORUM_RULES --> <!-- IF S_FORUM_RULES -->
<p class="forumrules"> <p class="forumrules">
<!-- IF U_FORUM_RULES --> <!-- IF U_FORUM_RULES -->
<a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a> <a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
<!-- ELSE --> <!-- ELSE -->
{L_FORUM_RULES} {L_FORUM_RULES}
<!-- ENDIF --> <!-- ENDIF -->
</p> </p>
<br clear="all" /> <br clear="all" />
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF not S_PRIVMSGS -->
<div id="pageheader"> <div id="pageheader">
<h2><!-- IF TOPIC_TITLE --><a class="titles" href="{U_VIEWTOPIC}">{TOPIC_TITLE}</a><!-- ELSE --><a class="titles" href="{U_VIEW_FORUM}" title="{FORUM_DESC}">{FORUM_NAME}</a><!-- ENDIF --></h2> <h2><!-- IF TOPIC_TITLE --><a class="titles" href="{U_VIEWTOPIC}">{TOPIC_TITLE}</a><!-- ELSE --><a class="titles" href="{U_VIEW_FORUM}" title="{FORUM_DESC}">{FORUM_NAME}</a><!-- ENDIF --></h2>
@ -67,109 +72,138 @@ function checkForm()
</div> </div>
<br clear="all" /><br /> <br clear="all" /><br />
<!-- ENDIF -->
<form action="{S_POST_ACTION}" method="post" name="post" onsubmit="return checkForm(this)"{S_FORM_ENCTYPE}> <!-- IF not S_SHOW_PM_BOX -->
<form action="{S_POST_ACTION}" method="post" name="post"{S_FORM_ENCTYPE}>
<!-- ENDIF -->
<!-- IF S_DRAFT_LOADED --> <!-- IF S_DRAFT_LOADED -->
<table class="tablebg" width="100%" cellspacing="1"> <table class="tablebg" width="100%" cellspacing="1">
<tr> <tr>
<th align="center">{L_INFORMATION}</th> <th align="center">{L_INFORMATION}</th>
</tr> </tr>
<tr> <tr>
<td class="row1" align="center"><span class="gen">{L_DRAFT_LOADED}</span></td> <td class="row1" align="center"><span class="gen">{L_DRAFT_LOADED}</span></td>
</tr> </tr>
</table> </table>
<br clear="all" /> <br clear="all" />
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_SHOW_DRAFTS --> <!-- IF S_SHOW_DRAFTS -->
<table class="tablebg" width="100%" cellspacing="1"> <table class="tablebg" width="100%" cellspacing="1">
<tr> <tr>
<th colspan="3" align="center">{L_LOAD_DRAFT}</th> <th colspan="3" align="center">{L_LOAD_DRAFT}</th>
</tr> </tr>
<tr> <tr>
<td class="row1" colspan="3" align="center"><span class="gen">{L_LOAD_DRAFT_EXPLAIN}</span></td> <td class="row1" colspan="3" align="center"><span class="gen">{L_LOAD_DRAFT_EXPLAIN}</span></td>
</tr> </tr>
<tr> <tr>
<th>{L_SAVE_DATE}</th> <th>{L_SAVE_DATE}</th>
<th>{L_DRAFT_TITLE}</th> <th>{L_DRAFT_TITLE}</th>
<th>{L_OPTIONS}</th> <th>{L_OPTIONS}</th>
</tr> </tr>
<!-- BEGIN draftrow --> <!-- BEGIN draftrow -->
<!-- IF draftrow.S_ROW_COUNT is even --> <!-- IF draftrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<tr class="row1">
<!-- ELSE -->
<tr class="row2">
<!-- ENDIF -->
<td class="postdetails">{draftrow.DATE}</td> <td class="postdetails" style="padding: 4px;">{draftrow.DATE}</td>
<td><b class="gen">{draftrow.DRAFT_SUBJECT}</b><!-- IF draftrow.S_LINK_TOPIC --><br /><span class="gensmall">{L_TOPIC}: <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a></span><!-- ELSEIF draftrow.S_LINK_FORUM --><br /><span class="gensmall">{L_FORUM}: <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a></span><!-- ELSE --><br /><span class="gensmall">{L_NO_TOPIC_FORUM}</span><!-- ENDIF --></td> <td style="padding: 4px;"><b class="gen">{draftrow.DRAFT_SUBJECT}</b>
<td align="center"><span class="gen"><a href="{draftrow.U_INSERT}">{L_LOAD_DRAFT}</a></td> <!-- IF draftrow.S_LINK_TOPIC --><br /><span class="gensmall">{L_TOPIC}: <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a></span>
</tr> <!-- ELSEIF draftrow.S_LINK_FORUM --><br /><span class="gensmall">{L_FORUM}: <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a></span>
<!-- END draftrow --> <!-- ELSEIF draftrow.S_LINK_PM --><br /><span class="gensmall">{L_PRIVATE_MESSAGE}</span>
</table> <!-- ELSE --><br /><span class="gensmall">{L_NO_TOPIC_FORUM}</span><!-- ENDIF -->
</td>
<td style="padding: 4px;" align="center"><span class="gen"><a href="{draftrow.U_INSERT}">{L_LOAD_DRAFT}</a></td>
</tr>
<!-- END draftrow -->
</table>
<br clear="all" /> <br clear="all" />
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_POST_REVIEW --><!-- INCLUDE posting_review.html --><!-- ENDIF --> <!-- IF S_POST_REVIEW --><!-- INCLUDE posting_review.html --><!-- ENDIF -->
<!-- IF S_UNGLOBALISE -->
<table class="tablebg" width="100%" cellspacing="1">
<tr>
<th>{L_MOVE}</th>
</tr>
<tr>
<td class="spacer" colspan="2"><img src="images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
<tr>
<td class="row2" align="center"><span class="gen">{L_UNGLOBALISE_EXPLAIN}<br /><br />{L_SELECT_DESTINATION_FORUM}&nbsp;&nbsp;</span><select name="to_forum_id">{S_FORUM_SELECT}</select><br /><br /><input class="btnmain" type="submit" name="post" value="{L_CONFIRM}" />&nbsp;&nbsp; <input class="btnlite" type="submit" name="cancel_unglobalise" value="{L_CANCEL}" /></td>
</tr>
</table>
<br clear="all" />
<!-- ENDIF -->
<!-- IF S_DISPLAY_PREVIEW --><!-- INCLUDE posting_preview.html --><!-- ENDIF --> <!-- IF S_DISPLAY_PREVIEW --><!-- INCLUDE posting_preview.html --><!-- ENDIF -->
<!-- IF not S_PRIVMSGS and S_UNGLOBALISE -->
<table class="tablebg" width="100%" cellspacing="1">
<tr>
<th>{L_MOVE}</th>
</tr>
<tr>
<td class="spacer" colspan="2"><img src="images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
<tr>
<td class="row2" align="center"><span class="gen">{L_UNGLOBALISE_EXPLAIN}<br /><br />{L_SELECT_DESTINATION_FORUM}&nbsp;&nbsp;</span><select name="to_forum_id">{S_FORUM_SELECT}</select><br /><br /><input class="btnmain" type="submit" name="post" value="{L_CONFIRM}" />&nbsp;&nbsp; <input class="btnlite" type="submit" name="cancel_unglobalise" value="{L_CANCEL}" /></td>
</tr>
</table>
<br clear="all" />
<!-- ENDIF -->
<table class="tablebg" width="100%" cellspacing="1"> <table class="tablebg" width="100%" cellspacing="1">
<tr> <tr>
<th colspan="2"><b>{L_POST_A}</b></th> <th colspan="2"><b>{L_POST_A}</b></th>
</tr> </tr>
<!-- IF ERROR --> <!-- IF ERROR -->
<tr> <tr>
<td class="row2" colspan="2" align="center"><span class="genmed" style="color:red">{ERROR}</span></td> <td class="row2" colspan="2" align="center"><span class="genmed" style="color:red">{ERROR}</span></td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_DELETE_ALLOWED --> <!-- IF S_DELETE_ALLOWED -->
<tr> <tr>
<td class="row1"><b class="genmed">{L_DELETE_POST}:</b></td> <td class="row1"><b class="genmed">{L_DELETE_POST}:</b></td>
<td class="row2"><input type="checkbox" name="delete" /> <span class="gensmall">[ {L_DELETE_POST_WARN} ]</span></td> <td class="row2"><input type="checkbox" name="delete" /> <span class="gensmall">[ {L_DELETE_POST_WARN} ]</span></td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_SHOW_TOPIC_ICONS --> <!-- IF S_SHOW_TOPIC_ICONS -->
<tr> <tr>
<td class="row1"><b class="genmed">{L_ICON}:</b></td> <td class="row1"><b class="genmed">{L_ICON}:</b></td>
<td class="row2"><table width="100%" cellspacing="0" cellpadding="0" border="0"> <td class="row2"><table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr> <tr>
<td><input type="radio" name="icon" value="1" checked="checked" /><span class="genmed">{L_NONE}</span> <!-- BEGIN topic_icon --><input type="radio" name="icon" value="{topic_icon.ICON_ID}"{topic_icon.S_ICON_CHECKED} /><img src="{topic_icon.ICON_IMG}" width="{topic_icon.ICON_WIDTH}" height="{topic_icon.ICON_HEIGHT}" alt="" title="" hspace="2" vspace="2" /> <!-- END topic_icon --></td> <td><input type="radio" name="icon" value="0" checked="checked" /><span class="genmed">{L_NONE}</span> <!-- BEGIN topic_icon --><input type="radio" name="icon" value="{topic_icon.ICON_ID}"{topic_icon.S_ICON_CHECKED} /><img src="{topic_icon.ICON_IMG}" width="{topic_icon.ICON_WIDTH}" height="{topic_icon.ICON_HEIGHT}" alt="" title="" hspace="2" vspace="2" /> <!-- END topic_icon --></td>
</tr> </tr>
</table></td> </table></td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_DISPLAY_USERNAME --> <!-- IF not S_PRIVMSGS and S_DISPLAY_USERNAME -->
<tr> <tr>
<td class="row1"><b class="genmed">{L_USERNAME}:</b></td> <td class="row1"><b class="genmed">{L_USERNAME}:</b></td>
<td class="row2"><input class="post" type="text" tabindex="1" name="username" size="25" maxlength="25" value="{USERNAME}" /></td> <td class="row2"><input class="post" type="text" tabindex="1" name="username" size="25" maxlength="25" value="{USERNAME}" /></td>
</tr> </tr>
<!-- ENDIF -->
<!-- IF S_PRIVMSGS -->
<tr>
<td class="row1"><b class="genmed">{L_TO}:</b></td>
<td class="row2">
<!-- BEGIN to_recipient -->
<span class="genmed">
<a href="{to_recipient.U_VIEW}"><!-- IF to_recipient.COLOUR --><b style="color:#{to_recipient.COLOUR}"><!-- ELSE --><b<!-- IF to_recipient.IS_GROUP --> class="blue"<!-- ENDIF -->><!-- ENDIF -->{to_recipient.NAME}</b></a>&nbsp;</span><!-- IF not S_EDIT_POST --><input class="post" type="submit" name="remove_{to_recipient.TYPE}[{to_recipient.UG_ID}]" value="Remove" />&nbsp;<!-- ENDIF -->
<!-- BEGINELSE -->
<span class="genmed">{L_NONE}</span>
<!-- END to_recipient -->
</td>
</tr>
<tr>
<td class="row1"><b class="genmed">{L_BCC}:</b></td>
<td class="row2">
<!-- BEGIN bcc_recipient -->
<span class="genmed">
<a href="{bcc_recipient.U_VIEW}"><!-- IF bcc_recipient.COLOUR --><b style="color:#{bcc_recipient.COLOUR}"><!-- ELSE --><b<!-- IF bcc_recipient.IS_GROUP --> class="blue"<!-- ENDIF -->><!-- ENDIF -->{bcc_recipient.NAME}</b></a>&nbsp;</span><!-- IF not S_EDIT_POST --><input class="post" type="submit" name="remove_{bcc_recipient.TYPE}[{bcc_recipient.UG_ID}]" value="Remove" />&nbsp;<!-- ENDIF -->
<!-- BEGINELSE -->
<span class="genmed">{L_NONE}</span>
<!-- END bcc_recipient -->
</td>
</tr>
{S_HIDDEN_ADDRESS_FIELD}
<!-- ENDIF --> <!-- ENDIF -->
<tr> <tr>
@ -186,9 +220,9 @@ function checkForm()
</tr> </tr>
<!-- IF S_SHOW_EMOTICON_LINK --> <!-- IF S_SHOW_EMOTICON_LINK -->
<tr> <tr>
<td align="center"><a class="nav" href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_phpbbsmilies', 'HEIGHT=350,resizable=yes,scrollbars=yes,WIDTH=300');return false;" target="_phpbbsmilies">{L_MORE_EMOTICONS}</a></td> <td align="center"><a class="nav" href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_phpbbsmilies', 'HEIGHT=350,resizable=yes,scrollbars=yes,WIDTH=300');return false;" target="_phpbbsmilies">{L_MORE_EMOTICONS}</a></td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
</table></td> </table></td>
@ -236,13 +270,15 @@ function checkForm()
</tr> </tr>
</table></td> </table></td>
</tr> </tr>
<!-- IF S_INLINE_ATTACHMENT_OPTIONS --> <!-- IF S_INLINE_ATTACHMENT_OPTIONS -->
<tr> <tr>
<td class="row1"><b class="genmed">{L_ATTACHMENTS}:</b></td> <td class="row1"><b class="genmed">{L_ATTACHMENTS}:</b></td>
<td class="row2"><select name="attachments">{S_INLINE_ATTACHMENT_OPTIONS}</select>&nbsp;<input type="button" class="btnbbcode" accesskey="a" value="{L_PLACE_INLINE}" name="attachinline" onclick="attach_inline();" /> <td class="row2"><select name="attachments">{S_INLINE_ATTACHMENT_OPTIONS}</select>&nbsp;<input type="button" class="btnbbcode" accesskey="a" value="{L_PLACE_INLINE}" name="attachinline" onclick="attach_inline();" />
</td> </td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
<tr> <tr>
<td class="row1" valign="top"><b class="genmed">{L_OPTIONS}:</b><br /><table cellspacing="2" cellpadding="0" border="0"> <td class="row1" valign="top"><b class="genmed">{L_OPTIONS}:</b><br /><table cellspacing="2" cellpadding="0" border="0">
<tr> <tr>
@ -263,24 +299,24 @@ function checkForm()
</table></td> </table></td>
<td class="row2"><table cellpadding="1"> <td class="row2"><table cellpadding="1">
<!-- IF S_HTML_ALLOWED --> <!-- IF S_HTML_ALLOWED -->
<tr> <tr>
<td><input type="checkbox" name="disable_html"{S_HTML_CHECKED} /></td> <td><input type="checkbox" name="disable_html"{S_HTML_CHECKED} /></td>
<td class="gen">{L_DISABLE_HTML}</td> <td class="gen">{L_DISABLE_HTML}</td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_BBCODE_ALLOWED --> <!-- IF S_BBCODE_ALLOWED -->
<tr> <tr>
<td><input type="checkbox" name="disable_bbcode"{S_BBCODE_CHECKED} /></td> <td><input type="checkbox" name="disable_bbcode"{S_BBCODE_CHECKED} /></td>
<td class="gen">{L_DISABLE_BBCODE}</td> <td class="gen">{L_DISABLE_BBCODE}</td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_SMILIES_ALLOWED --> <!-- IF S_SMILIES_ALLOWED -->
<tr> <tr>
<td><input type="checkbox" name="disable_smilies"{S_SMILIES_CHECKED} /></td> <td><input type="checkbox" name="disable_smilies"{S_SMILIES_CHECKED} /></td>
<td class="gen">{L_DISABLE_SMILIES}</td> <td class="gen">{L_DISABLE_SMILIES}</td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
<tr> <tr>
@ -289,37 +325,40 @@ function checkForm()
</tr> </tr>
<!-- IF S_SIG_ALLOWED --> <!-- IF S_SIG_ALLOWED -->
<tr> <tr>
<td><input type="checkbox" name="attach_sig"{S_SIGNATURE_CHECKED} /></td> <td><input type="checkbox" name="attach_sig"{S_SIGNATURE_CHECKED} /></td>
<td class="gen">{L_ATTACH_SIG}</td> <td class="gen">{L_ATTACH_SIG}</td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_NOTIFY_ALLOWED --> <!-- IF S_NOTIFY_ALLOWED -->
<tr> <tr>
<td><input type="checkbox" name="notify"{S_NOTIFY_CHECKED} /></td> <td><input type="checkbox" name="notify"{S_NOTIFY_CHECKED} /></td>
<td class="gen">{L_NOTIFY_REPLY}</td> <td class="gen">{L_NOTIFY_REPLY}</td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_LOCK_TOPIC_ALLOWED --> <!-- IF not S_PRIVMSGS -->
<tr> <!-- IF S_LOCK_TOPIC_ALLOWED -->
<td><input type="checkbox" name="lock_topic"{S_LOCK_TOPIC_CHECKED} /></td> <tr>
<td class="gen">{L_LOCK_TOPIC}</td> <td><input type="checkbox" name="lock_topic"{S_LOCK_TOPIC_CHECKED} /></td>
</tr> <td class="gen">{L_LOCK_TOPIC}</td>
<!-- ENDIF --> </tr>
<!-- IF S_LOCK_POST_ALLOWED --> <!-- ENDIF -->
<tr>
<td><input type="checkbox" name="lock_post"{S_LOCK_POST_CHECKED} /></td>
<td class="gen">{L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]</td>
</tr>
<!-- ENDIF -->
<!-- IF S_TYPE_TOGGLE --> <!-- IF S_LOCK_POST_ALLOWED -->
<tr> <tr>
<td>&nbsp;</td> <td><input type="checkbox" name="lock_post"{S_LOCK_POST_CHECKED} /></td>
<td class="gen"><!-- IF S_EDIT_POST -->{L_CHANGE_TOPIC_TO}<!-- ELSE -->{L_POST_TOPIC_AS}<!-- ENDIF -->: <!-- BEGIN topic_type --><input type="radio" name="topic_type" value="{topic_type.VALUE}"{topic_type.S_CHECKED} />{topic_type.L_TOPIC_TYPE}&nbsp;&nbsp;<!-- END topic_type --></td> <td class="gen">{L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]</td>
</tr> </tr>
<!-- ENDIF -->
<!-- IF S_TYPE_TOGGLE -->
<tr>
<td>&nbsp;</td>
<td class="gen"><!-- IF S_EDIT_POST -->{L_CHANGE_TOPIC_TO}<!-- ELSE -->{L_POST_TOPIC_AS}<!-- ENDIF -->: <!-- BEGIN topic_type --><input type="radio" name="topic_type" value="{topic_type.VALUE}"{topic_type.S_CHECKED} />{topic_type.L_TOPIC_TYPE}&nbsp;&nbsp;<!-- END topic_type --></td>
</tr>
<!-- ENDIF -->
<!-- ENDIF --> <!-- ENDIF -->
</table></td> </table></td>
</tr> </tr>
@ -332,10 +371,10 @@ function checkForm()
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_EDIT_REASON --> <!-- IF S_EDIT_REASON -->
<tr> <tr>
<td class="row1" valign="top"><b class="genmed">{L_EDIT_REASON}:</b></td> <td class="row1" valign="top"><b class="genmed">{L_EDIT_REASON}:</b></td>
<td class="row2"><input class="post" type="text" name="edit_reason" size="50" maxlength="100" value="{EDIT_REASON}" /></td> <td class="row2"><input class="post" type="text" name="edit_reason" size="50" maxlength="100" value="{EDIT_REASON}" /></td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_SHOW_ATTACH_BOX or S_SHOW_POLL_BOX --> <!-- IF S_SHOW_ATTACH_BOX or S_SHOW_POLL_BOX -->
@ -347,13 +386,14 @@ function checkForm()
<!-- IF S_SHOW_ATTACH_BOX --><!-- INCLUDE posting_attach_body.html --><!-- ENDIF --> <!-- IF S_SHOW_ATTACH_BOX --><!-- INCLUDE posting_attach_body.html --><!-- ENDIF -->
<!-- IF S_SHOW_POLL_BOX --> <!-- IF S_SHOW_POLL_BOX -->
<!-- INCLUDE posting_poll_body.html --> <!-- INCLUDE posting_poll_body.html -->
<!-- ELSEIF S_POLL_DELETE --> <!-- ELSEIF S_POLL_DELETE -->
<tr> <tr>
<td class="row1"><span class="genmed"><b>{L_POLL_DELETE}:</b></span></td> <td class="row1"><span class="genmed"><b>{L_POLL_DELETE}:</b></span></td>
<td class="row2"><input type="checkbox" name="poll_delete" /></td> <td class="row2"><input type="checkbox" name="poll_delete" /></td>
</tr> </tr>
<!-- ENDIF --> <!-- ENDIF -->
<tr> <tr>
<td class="cat" colspan="2" align="center">{S_HIDDEN_FIELDS}<input class="btnlite" type="submit" tabindex="5" name="preview" value="{L_PREVIEW}" />&nbsp; <input class="btnmain" type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" /><!-- IF S_SAVE_ALLOWED -->&nbsp; <input class="btnlite" type="submit" accesskey="k" tabindex="8" name="save" value="{L_SAVE}" /><!-- ENDIF --><!-- IF S_HAS_DRAFTS -->&nbsp; <input class="btnlite" type="submit" accesskey="d" tabindex="9" name="load" value="{L_LOAD}" /><!-- ENDIF -->&nbsp; <input class="btnlite" type="submit" accesskey="c" tabindex="7" name="cancel" value="{L_CANCEL}" /></td> <td class="cat" colspan="2" align="center">{S_HIDDEN_FIELDS}<input class="btnlite" type="submit" tabindex="5" name="preview" value="{L_PREVIEW}" />&nbsp; <input class="btnmain" type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" /><!-- IF S_SAVE_ALLOWED -->&nbsp; <input class="btnlite" type="submit" accesskey="k" tabindex="8" name="save" value="{L_SAVE}" /><!-- ENDIF --><!-- IF S_HAS_DRAFTS -->&nbsp; <input class="btnlite" type="submit" accesskey="d" tabindex="9" name="load" value="{L_LOAD}" /><!-- ENDIF -->&nbsp; <input class="btnlite" type="submit" accesskey="c" tabindex="7" name="cancel" value="{L_CANCEL}" /></td>
</tr> </tr>
@ -363,34 +403,41 @@ function checkForm()
<!-- IF S_DISPLAY_REVIEW --><!-- INCLUDE posting_topic_review.html --><!-- ENDIF --> <!-- IF S_DISPLAY_REVIEW --><!-- INCLUDE posting_topic_review.html --><!-- ENDIF -->
<table class="tablebg" width="100%" cellspacing="1"> <!-- IF S_PRIVMSGS -->
<tr> </form>
<td class="row1"><div class="nav" style="float:left"><a href="{U_INDEX}">{L_INDEX}</a><!-- BEGIN navlinks --> &#187; <a href="{navlinks.U_VIEW_FORUM}">{navlinks.FORUM_NAME}</a><!-- END navlinks --></div><div class="gensmall" style="float:right">{S_TIMEZONE}</div></td>
</tr>
</table>
</form> <br clear="all" />
<!-- IF S_DISPLAY_ONLINE_LIST --> <!-- INCLUDE ucp_footer.html -->
<br clear="all" /> <!-- ELSE -->
<table class="tablebg" width="100%" cellspacing="1">
<tr>
<td class="row1"><div class="nav" style="float:left"><a href="{U_INDEX}">{L_INDEX}</a><!-- BEGIN navlinks --> &#187; <a href="{navlinks.U_VIEW_FORUM}">{navlinks.FORUM_NAME}</a><!-- END navlinks --></div><div class="gensmall" style="float:right">{S_TIMEZONE}</div></td>
</tr>
</table>
<table class="tablebg" width="100%" cellspacing="1"> </form>
<tr>
<td class="cat"><span class="cattitle">{L_WHO_IS_ONLINE}</span></td> <!-- IF S_DISPLAY_ONLINE_LIST -->
</tr> <br clear="all" />
<tr>
<td class="row1"><span class="gensmall">{LOGGED_IN_USER_LIST}</span></td> <table class="tablebg" width="100%" cellspacing="1">
</tr> <tr>
</table> <td class="cat"><span class="cattitle">{L_WHO_IS_ONLINE}</span></td>
</tr>
<tr>
<td class="row1"><span class="gensmall">{LOGGED_IN_USER_LIST}</span></td>
</tr>
</table>
<!-- ENDIF -->
<br clear="all" />
<table width="100%" cellspacing="1">
<tr>
<td align="right"><!-- INCLUDE jumpbox.html --></td>
</tr>
</table>
<!-- INCLUDE overall_footer.html -->
<!-- ENDIF --> <!-- ENDIF -->
<br clear="all" />
<table width="100%" cellspacing="1">
<tr>
<td align="right"><!-- INCLUDE jumpbox.html --></td>
</tr>
</table>
<!-- INCLUDE overall_footer.html -->

View file

@ -0,0 +1,43 @@
<script language="javascript" type="text/javascript">
<!--
function close_popup()
{
if (opener != null)
{
if (opener.close_waitscreen != null)
{
if (opener.close_waitscreen == 1)
{
opener.close_waitscreen = 0;
self.close();
return 0;
}
}
}
setTimeout("close_popup()", 1000);
return 0;
}
//-->
</script>
<!-- INCLUDE simple_header.html -->
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="4">
<tr>
<td valign="top" class="row1" align="center"><br /><span class="gen">{L_UPLOAD_IN_PROGRESS}</span><br /><br /><img src="./images/upload.gif" width="280" height="16" align="center" /><br /><br /><span class="genmed"><a href="javascript:window.close();">{L_CLOSE_WINDOW}</a></span><br /><br /></td>
</tr>
</table>
</td>
</tr>
</table>
<!-- INCLUDE simple_footer.html -->
<script language="javascript" type="text/javascript">
<!--
close_popup();
//-->
</script>

View file

@ -2,6 +2,7 @@
<!-- $Id$ --> <!-- $Id$ -->
<form method="post" action="{S_REPORT_ACTION}" name="report">
<table class="tablebg" width="100%" cellspacing="1"> <table class="tablebg" width="100%" cellspacing="1">
<tr> <tr>
<th colspan="2">{L_REPORT_POST}</th> <th colspan="2">{L_REPORT_POST}</th>
@ -27,6 +28,7 @@
<td class="cat" colspan="2" align="center"><input type="submit" name="submit" class="btnmain" value="{L_SUBMIT}" />&nbsp;<input type="submit" name="cancel" class="btnlite" value="{L_CANCEL}"></td> <td class="cat" colspan="2" align="center"><input type="submit" name="submit" class="btnmain" value="{L_SUBMIT}" />&nbsp;<input type="submit" name="cancel" class="btnlite" value="{L_CANCEL}"></td>
</tr> </tr>
</table> </table>
</form>
<br clear="all" /> <br clear="all" />

View file

@ -41,12 +41,7 @@
<!-- END attachrow --> <!-- END attachrow -->
<tr> <tr>
<td class="cat" colspan="6"><table width="100%" cellspacing="0" cellpadding="0" border="0"> <td class="cat" colspan="6"><div style="float:left"><span class="gensmall">{L_SORT_BY}: </span><select name="sk">{S_SORT_OPTIONS}</select> <select name="sd">{S_ORDER_SELECT}</select>&nbsp;<input class="btnlite" type="submit" name="sort" value="{L_SORT}" /></div><div style="float:right"><input class="btnlite" type="submit" name="delete" value="{L_DELETE_MARKED}" />&nbsp;</div></td>
<tr>
<td width="100%" align="center"><span class="gensmall">{L_SORT_BY}: </span><select name="sk">{S_SORT_OPTIONS}</select> <select name="sd">{S_ORDER_SELECT}</select>&nbsp;<input class="btnlite" type="submit" name="sort" value="{L_SORT}" /></td>
<td align="right"><input class="btnlite" type="submit" name="delete" value="{L_DELETE_MARKED}" />&nbsp;</td>
</tr>
</table></td>
</tr> </tr>
</table> </table>

View file

@ -32,7 +32,12 @@
<!-- IF draftrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF --> <!-- IF draftrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td class="postdetails" style="padding: 4px;">{draftrow.DATE}</td> <td class="postdetails" style="padding: 4px;">{draftrow.DATE}</td>
<td style="padding: 4px;"><b class="gen">{draftrow.DRAFT_SUBJECT}</b><!-- IF draftrow.S_LINK_TOPIC --><br /><span class="gensmall">{L_TOPIC}: <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a></span><!-- ELSEIF draftrow.S_LINK_FORUM --><br /><span class="gensmall">{L_FORUM}: <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a></span><!-- ELSE --><br /><span class="gensmall">{L_NO_TOPIC_FORUM}</span><!-- ENDIF --></td> <td style="padding: 4px;"><b class="gen">{draftrow.DRAFT_SUBJECT}</b>
<!-- IF draftrow.S_LINK_TOPIC --><br /><span class="gensmall">{L_TOPIC}: <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a></span>
<!-- ELSEIF draftrow.S_LINK_FORUM --><br /><span class="gensmall">{L_FORUM}: <a href="{draftrow.U_VIEW}">{draftrow.TITLE}</a></span>
<!-- ELSEIF draftrow.S_LINK_PM --><br /><span class="gensmall">{L_PRIVATE_MESSAGE}</span>
<!-- ELSE --><br /><span class="gensmall">{L_NO_TOPIC_FORUM}</span><!-- ENDIF -->
</td>
<td style="padding: 4px;" align="center"><span class="gen"><!-- IF draftrow.U_INSERT --><a href="{draftrow.U_INSERT}">{L_LOAD_DRAFT}</a><br /><!-- ENDIF --><a href="{draftrow.U_VIEW_EDIT}">{L_VIEW_EDIT}</a></td> <td style="padding: 4px;" align="center"><span class="gen"><!-- IF draftrow.U_INSERT --><a href="{draftrow.U_INSERT}">{L_LOAD_DRAFT}</a><br /><!-- ENDIF --><a href="{draftrow.U_VIEW_EDIT}">{L_VIEW_EDIT}</a></td>
<td style="padding: 4px;" align="center"><input type="checkbox" name="d[{draftrow.DRAFT_ID}]" /></td> <td style="padding: 4px;" align="center"><input type="checkbox" name="d[{draftrow.DRAFT_ID}]" /></td>
</tr> </tr>

View file

@ -1,120 +0,0 @@
<script language="Javascript" type="text/javascript">
//
// Should really check the browser to stop this whining ...
//
function select_switch(status)
{
for (i = 0; i < document.privmsg_list.length; i++)
{
document.privmsg_list.elements[i].checked = status;
}
}
</script>
<table border="0" cellspacing="0" cellpadding="0" align="center" width="100%">
<tr>
<td valign="top" align="center" width="100%">
<table height="40" cellspacing="2" cellpadding="2" border="0">
<tr valign="middle">
<td>{INBOX_IMG}</td>
<td><span class="cattitle">{INBOX} &nbsp;</span></td>
<td>{SENTBOX_IMG}</td>
<td><span class="cattitle">{SENTBOX} &nbsp;</span></td>
<td>{OUTBOX_IMG}</td>
<td><span class="cattitle">{OUTBOX} &nbsp;</span></td>
<td>{SAVEBOX_IMG}</td>
<td><span class="cattitle">{SAVEBOX} &nbsp;</span></td>
</tr>
</table>
</td>
<td align="right">
<!-- BEGIN switch_box_size_notice -->
<table width="175" cellspacing="1" cellpadding="2" border="0" class="bodyline">
<tr>
<td colspan="3" width="100%" class="row1" nowrap="nowrap"><span class="gensmall">{BOX_SIZE_STATUS}</span></td>
</tr>
<tr>
<td colspan="3" width="100%" class="row2">
<table cellspacing="0" cellpadding="1" border="0">
<tr>
<td bgcolor="{T_TD_COLOR2}"><img src="templates/subSilver/images/spacer.gif" width="{INBOX_LIMIT_IMG_WIDTH}" height="8" alt="{INBOX_LIMIT_PERCENT}" /></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="33%" class="row1"><span class="gensmall">0%</span></td>
<td width="34%" align="center" class="row1"><span class="gensmall">50%</span></td>
<td width="33%" align="right" class="row1"><span class="gensmall">100%</span></td>
</tr>
</table>
<!-- END switch_box_size_notice -->
</td>
</tr>
</table>
<br clear="all" />
<form method="post" name="privmsg_list" action="{S_PRIVMSGS_ACTION}">
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td align="left" valign="middle">{POST_PM_IMG}</td>
<td align="left" width="100%">&nbsp;<span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
<td align="right" nowrap="nowrap"><span class="gensmall">{L_DISPLAY_MESSAGES}:
<select name="msgdays">{S_SELECT_MSG_DAYS}
</select>
<input type="submit" value="{L_GO}" name="submit_msgdays" class="btnlite" />
</span></td>
</tr>
</table>
<table border="0" cellpadding="3" cellspacing="1" width="100%" class="forumline">
<tr>
<th width="5%" height="25" class="thCornerL" nowrap="nowrap">&nbsp;{L_FLAG}&nbsp;</th>
<th width="55%" class="thTop" nowrap="nowrap">&nbsp;{L_SUBJECT}&nbsp;</th>
<th width="20%" class="thTop" nowrap="nowrap">&nbsp;{L_FROM_OR_TO}&nbsp;</th>
<th width="15%" class="thTop" nowrap="nowrap">&nbsp;{L_DATE}&nbsp;</th>
<th width="5%" class="thCornerR" nowrap="nowrap">&nbsp;{L_MARK}&nbsp;</th>
</tr>
<!-- BEGIN listrow -->
<tr>
<td class="{listrow.ROW_CLASS}" width="5%" align="center" valign="middle"><img src="{listrow.PRIVMSG_FOLDER_IMG}" width="19" height="18" alt="{listrow.L_PRIVMSG_FOLDER_ALT}" title="{listrow.L_PRIVMSG_FOLDER_ALT}" /></td>
<td width="55%" valign="middle" class="{listrow.ROW_CLASS}"><span class="topictitle">&nbsp;<a href="{listrow.U_READ}" class="topictitle">{listrow.SUBJECT}</a></span></td>
<td width="20%" valign="middle" align="center" class="{listrow.ROW_CLASS}"><span class="name">&nbsp;<a href="{listrow.U_FROM_USER_PROFILE}" class="name">{listrow.FROM}</a></span></td>
<td width="15%" align="center" valign="middle" class="{listrow.ROW_CLASS}"><span class="postdetails">{listrow.DATE}</span></td>
<td width="5%" align="center" valign="middle" class="{listrow.ROW_CLASS}"><span class="postdetails">
<input type="checkbox" name="mark[]2" value="{listrow.S_MARK_ID}" />
</span></td>
</tr>
<!-- END listrow -->
<!-- BEGIN switch_no_messages -->
<tr>
<td class="row1" colspan="5" align="center" valign="middle"><span class="gen">{L_NO_MESSAGES}</span></td>
</tr>
<!-- END switch_no_messages -->
<tr>
<td class="catBottom" colspan="5" height="28" align="right"> {S_HIDDEN_FIELDS}
<input type="submit" name="save" value="{L_SAVE_MARKED}" class="btnmain" />
&nbsp;
<input type="submit" name="delete" value="{L_DELETE_MARKED}" class="btnlite" />
&nbsp;
<input type="submit" name="deleteall" value="{L_DELETE_ALL}" class="btnlite" />
</td>
</tr>
</table>
<table width="100%" cellspacing="2" border="0" align="center" cellpadding="2">
<tr>
<td align="left" valign="middle"><span class="nav">{POST_PM_IMG}</span></td>
<td align="left" valign="middle" width="100%"><span class="nav">{PAGE_NUMBER}</span></td>
<td align="right" valign="top" nowrap="nowrap"><b><span class="gensmall"><a href="javascript:select_switch(true);" class="gensmall">{L_MARK_ALL}</a> :: <a href="javascript:select_switch(false);" class="gensmall">{L_UNMARK_ALL}</a></span></b><br /><span class="nav">{PAGINATION}<br /></span><span class="gensmall">{S_TIMEZONE}</span></td>
</tr>
</table>
</form>
<table width="100%" border="0">
<tr>
<td align="right" valign="top">{JUMPBOX}</td>
</tr>
</table>

View file

@ -1,22 +1,25 @@
<!-- INCLUDE simple_header.html -->
<script language="javascript" type="text/javascript"> <script language="javascript" type="text/javascript">
<!-- <!--
function jump_to_inbox() function jump_to_inbox()
{ {
opener.document.location.href = "{U_PRIVATEMSGS}"; opener.document.location.href = "{U_RETURN_INBOX}";
window.close(); window.close();
} }
//--> //-->
</script> </script>
<table width="100%" border="0" cellspacing="0" cellpadding="10"> <table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr> <tr>
<td> <td>
<table width="100%" border="0" cellspacing="1" cellpadding="4" class="forumline"> <table width="100%" border="0" cellspacing="1" cellpadding="4">
<tr> <tr>
<td valign="top" class="row1" align="center"><br /><span class="gen">{L_MESSAGE}</span><br /><br /><span class="genmed"><a href="javascript:window.close();" class="genmed">{L_CLOSE_WINDOW}</a></span><br /><br /></td> <td valign="top" class="row1" align="center"><br /><span class="gen">{MESSAGE}</span><br /><br /><span class="genmed"><a href="javascript:window.close();">{L_CLOSE_WINDOW}</a></span><br /><br /></td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
</table> </table>
<!-- INCLUDE simple_footer.html -->

View file

@ -1,27 +0,0 @@
<table border="0" cellpadding="4" cellspacing="1" width="100%" class="forumline">
<tr>
<th height="25" class="thHead" colspan="2">{L_PREVIEW}</th>
</tr>
<tr>
<td class="row2"><span class="genmed">{L_FROM}:</span></td>
<td width="100%" class="row2"><span class="genmed">{MESSAGE_FROM}</span></td>
</tr>
<tr>
<td class="row2"><span class="genmed">{L_TO}:</span></td>
<td width="100%" class="row2"><span class="genmed">{MESSAGE_TO}</span></td>
</tr>
<tr>
<td class="row2"><span class="genmed">{L_POSTED}:</span></td>
<td width="100%" class="row2"><span class="genmed">{POST_DATE}</span></td>
</tr>
<tr>
<td class="row2"><span class="genmed">{L_SUBJECT}:</span></td>
<td width="100%" class="row2"><span class="genmed">{POST_SUBJECT}</span></td>
</tr>
<tr>
<td valign="top" colspan="2" class="row1"><span class="postbody">{MESSAGE}</span></td>
</tr>
</table>
<br clear="all" />

View file

@ -1,86 +0,0 @@
<table cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td valign="middle">{INBOX_IMG}</td>
<td valign="middle"><span class="cattitle">{INBOX} &nbsp;</span></td>
<td valign="middle">{SENTBOX_IMG}</td>
<td valign="middle"><span class="cattitle">{SENTBOX} &nbsp;</span></td>
<td valign="middle">{OUTBOX_IMG}</td>
<td valign="middle"><span class="cattitle">{OUTBOX} &nbsp;</span></td>
<td valign="middle">{SAVEBOX_IMG}</td>
<td valign="middle"><span class="cattitle">{SAVEBOX}</span></td>
</tr>
</table>
<br clear="all" />
<form method="post" action="{S_PRIVMSGS_ACTION}">
<table width="100%" cellspacing="2" cellpadding="2" border="0">
<tr>
<td valign="middle">{REPLY_PM_IMG}</td>
<td width="100%"><span class="nav">&nbsp;<a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
</tr>
</table>
<table border="0" cellpadding="4" cellspacing="1" width="100%" class="forumline">
<tr>
<th colspan="3" class="thHead" nowrap="nowrap">{BOX_NAME} :: {L_MESSAGE}</th>
</tr>
<tr>
<td class="row2"><span class="genmed">{L_FROM}:</span></td>
<td width="100%" class="row2" colspan="2"><span class="genmed">{MESSAGE_FROM}</span></td>
</tr>
<tr>
<td class="row2"><span class="genmed">{L_TO}:</span></td>
<td width="100%" class="row2" colspan="2"><span class="genmed">{MESSAGE_TO}</span></td>
</tr>
<tr>
<td class="row2"><span class="genmed">{L_POSTED}:</span></td>
<td width="100%" class="row2" colspan="2"><span class="genmed">{POST_DATE}</span></td>
</tr>
<tr>
<td class="row2"><span class="genmed">{L_SUBJECT}:</span></td>
<td width="100%" class="row2"><span class="genmed">{POST_SUBJECT}</span></td>
<td nowrap="nowrap" class="row2" align="right"> {QUOTE_PM_IMG} {EDIT_PM_IMG}</td>
</tr>
<tr>
<td valign="top" colspan="3" class="row1"><span class="postbody">{MESSAGE}</span></td>
</tr>
<tr>
<td width="78%" height="28" valign="bottom" colspan="3" class="row1">
<table cellspacing="0" cellpadding="0" border="0" height="18">
<tr>
<td valign="middle" nowrap="nowrap">{PROFILE_IMG} {PM_IMG} {EMAIL_IMG}
{WWW_IMG} {AIM_IMG} {YIM_IMG} {MSN_IMG}</td><td>&nbsp;</td><td valign="top" nowrap="nowrap"><script language="JavaScript" type="text/javascript"><!--
if ( navigator.userAgent.toLowerCase().indexOf('mozilla') != -1 && navigator.userAgent.indexOf('5.') == -1 )
document.write('{ICQ_IMG}');
else
document.write('<div style="position:relative"><div style="position:absolute">{ICQ_IMG}</div><div style="position:absolute;left:3px">{ICQ_STATUS_IMG}</div></div>');
//--></script><noscript>{ICQ_IMG}</noscript></td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="catBottom" colspan="3" height="28" align="right"> {S_HIDDEN_FIELDS}
<input type="submit" name="save" value="{L_SAVE_MSG}" class="btnlite" />
&nbsp;
<input type="submit" name="delete" value="{L_DELETE_MSG}" class="btnlite" />
</td>
</tr>
</table>
<table width="100%" cellspacing="2" border="0" align="center" cellpadding="2">
<tr>
<td>{REPLY_PM_IMG}</td>
<td align="right" valign="top"><span class="gensmall">{S_TIMEZONE}</span></td>
</tr>
</table>
</form>
<table width="100%" cellspacing="2" border="0" align="center" cellpadding="2">
<tr>
<td valign="top" align="right"><span class="gensmall">{JUMPBOX}</span></td>
</tr>
</table>

View file

@ -17,7 +17,7 @@
<!-- IF S_DISPLAY_ACTIVE --> <!-- IF S_DISPLAY_ACTIVE -->
<table class="tablebg" width="100%" cellspacing="1"> <table class="tablebg" width="100%" cellspacing="1">
<tr> <tr>
<td class="cat" colspan="<!-- IF S_TOPIC_ICONS -->7<!-- ELSE -->6<!-- ENDIF -->"><span class="nav">Active Topics</span></td> <td class="cat" colspan="<!-- IF S_TOPIC_ICONS -->7<!-- ELSE -->6<!-- ENDIF -->"><span class="nav">{L_ACTIVE_TOPICS}</span></td>
</tr> </tr>
<tr> <tr>

View file

@ -59,14 +59,14 @@ class module
ORDER BY module_order ASC"; ORDER BY module_order ASC";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$i = 0;
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
// Authorisation is required for the basic module // Authorisation is required for the basic module
if ($row['module_acl']) if ($row['module_acl'])
{ {
$is_auth = false; $is_auth = false;
eval('$is_auth = (' . preg_replace(array('#acl_([a-z_]+)#e', '#cfg_([a-z_]+)#e'), array('(int) $auth->acl_get("\\1")', '(int) $config["\\1"]'), trim($row['module_acl'])) . ');');
eval('$is_auth = (' . preg_replace(array('#acl_([a-z_]+)#e', '#cfg_([a-z_]+)#e'), array('$auth->acl_get("\\1")', '$config["\\1"]'), $row['module_acl']) . ');');
// The user is not authorised to use this module, skip it // The user is not authorised to use this module, skip it
if (!$is_auth) if (!$is_auth)
@ -78,8 +78,9 @@ class module
$selected = ($row['module_filename'] == $selected_mod || $row['module_id'] == $selected_mod || (!$selected_mod && !$i)) ? true : false; $selected = ($row['module_filename'] == $selected_mod || $row['module_id'] == $selected_mod || (!$selected_mod && !$i)) ? true : false;
// Get the localised lang string if available, or make up our own otherwise // Get the localised lang string if available, or make up our own otherwise
$module_lang = strtoupper($module_type) . '_' . $row['module_title'];
$template->assign_block_vars($module_type . '_section', array( $template->assign_block_vars($module_type . '_section', array(
'L_TITLE' => (isset($user->lang[strtoupper($module_type) . '_' . $row['module_title']])) ? $user->lang[strtoupper($module_type) . '_' . $row['module_title']] : ucfirst(str_replace('_', ' ', strtolower($row['module_title']))), 'L_TITLE' => (isset($user->lang[$module_lang])) ? $user->lang[$module_lang] : ucfirst(str_replace('_', ' ', strtolower($row['module_title']))),
'S_SELECTED' => $selected, 'S_SELECTED' => $selected,
'U_TITLE' => $module_url . '&amp;i=' . $row['module_id']) 'U_TITLE' => $module_url . '&amp;i=' . $row['module_id'])
); );
@ -115,8 +116,10 @@ class module
$selected = ($submodule_title == $selected_submod || (!$selected_submod && !$j)) ? true : false; $selected = ($submodule_title == $selected_submod || (!$selected_submod && !$j)) ? true : false;
// Get the localised lang string if available, or make up our own otherwise // Get the localised lang string if available, or make up our own otherwise
$module_lang = strtoupper($module_type . '_' . $module_name . '_' . $submodule_title);
$template->assign_block_vars("{$module_type}_section.{$module_type}_subsection", array( $template->assign_block_vars("{$module_type}_section.{$module_type}_subsection", array(
'L_TITLE' => (isset($user->lang[strtoupper($module_type) . '_' . strtoupper($submodule_title)])) ? $user->lang[strtoupper($module_type) . '_' . strtoupper($submodule_title)] : ucfirst(str_replace('_', ' ', strtolower($submodule_title))), 'L_TITLE' => (isset($user->lang[$module_lang])) ? $user->lang[$module_lang] : ucfirst(str_replace('_', ' ', strtolower($module_lang))),
'S_SELECTED' => $selected, 'S_SELECTED' => $selected,
'U_TITLE' => $module_url . '&amp;i=' . $module_id . '&amp;mode=' . $submodule_title 'U_TITLE' => $module_url . '&amp;i=' . $module_id . '&amp;mode=' . $submodule_title
)); ));
@ -317,11 +320,39 @@ while ($row = $db->sql_fetchrow($result))
$template->assign_block_vars("friends_{$which}", array( $template->assign_block_vars("friends_{$which}", array(
'U_PROFILE' => "memberlist.$phpEx$SID&amp;mode=viewprofile&amp;u=" . $row['user_id'], 'U_PROFILE' => "memberlist.$phpEx$SID&amp;mode=viewprofile&amp;u=" . $row['user_id'],
'USER_ID' => $row['user_id'],
'USERNAME' => $row['username']) 'USERNAME' => $row['username'])
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
// Output PM_TO box if message composing
if ($mode == 'compose' && $_REQUEST['action'] != 'edit')
{
if ($config['allow_mass_pm'])
{
$sql = 'SELECT group_id, group_name, group_type
FROM ' . GROUPS_TABLE . '
WHERE group_type NOT IN (' . GROUP_HIDDEN . ', ' . GROUP_CLOSED . ')
AND group_receive_pm = 1
ORDER BY group_type DESC';
$result = $db->sql_query($sql);
$group_options = '';
while ($row = $db->sql_fetchrow($result))
{
$group_options .= '<option' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="blue"' : '') . ' value="' . $row['group_id'] . '">' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>';
}
$db->sql_freeresult($result);
}
$template->assign_vars(array(
'S_SHOW_PM_BOX' => true,
'S_ALLOW_MASS_PM' => ($config['allow_mass_pm']),
'S_GROUP_OPTIONS' => ($config['allow_mass_pm']) ? $group_options : '',
'U_SEARCH_USER' => "{$phpbb_root_path}memberlist.$phpEx$SID&amp;mode=searchuser&amp;form=post&amp;field=username_list")
);
}
// Instantiate module system and generate list of available modules // Instantiate module system and generate list of available modules
$ucp->create('ucp', "ucp.$phpEx$SID", $module, $mode); $ucp->create('ucp', "ucp.$phpEx$SID", $module, $mode);

View file

@ -200,8 +200,8 @@ if ($forum_data['forum_type'] == FORUM_POST || ($forum_data['forum_flags'] & 16)
$sort_by_text = array('a' => $user->lang['AUTHOR'], 't' => $user->lang['POST_TIME'], 'r' => $user->lang['REPLIES'], 's' => $user->lang['SUBJECT'], 'v' => $user->lang['VIEWS']); $sort_by_text = array('a' => $user->lang['AUTHOR'], 't' => $user->lang['POST_TIME'], 'r' => $user->lang['REPLIES'], 's' => $user->lang['SUBJECT'], 'v' => $user->lang['VIEWS']);
$sort_by_sql = array('a' => 't.topic_first_poster_name', 't' => 't.topic_last_post_time', 'r' => 't.topic_replies', 's' => 't.topic_title', 'v' => 't.topic_views'); $sort_by_sql = array('a' => 't.topic_first_poster_name', 't' => 't.topic_last_post_time', 'r' => 't.topic_replies', 's' => 't.topic_title', 'v' => 't.topic_views');
$s_limit_days = $s_sort_key = $s_sort_dir = ''; $s_limit_days = $s_sort_key = $s_sort_dir = $u_sort_param = '';
gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir); gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir, $u_sort_param);
// Limit topics to certain time frame, obtain correct topic count // Limit topics to certain time frame, obtain correct topic count
if ($sort_days) if ($sort_days)
@ -241,7 +241,7 @@ if ($forum_data['forum_type'] == FORUM_POST || ($forum_data['forum_flags'] & 16)
$post_alt = ($forum_data['forum_status'] == ITEM_LOCKED) ? $user->lang['FORUM_LOCKED'] : $user->lang['POST_NEW_TOPIC']; $post_alt = ($forum_data['forum_status'] == ITEM_LOCKED) ? $user->lang['FORUM_LOCKED'] : $user->lang['POST_NEW_TOPIC'];
$template->assign_vars(array( $template->assign_vars(array(
'PAGINATION' => generate_pagination("viewforum.$phpEx$SID&amp;f=$forum_id&amp;st=$sort_days&amp;sk=$sort_key&amp;sd=$sort_dir", $topics_count, $config['topics_per_page'], $start), 'PAGINATION' => generate_pagination("viewforum.$phpEx$SID&amp;f=$forum_id&amp;$u_sort_param", $topics_count, $config['topics_per_page'], $start),
'PAGE_NUMBER' => on_page($topics_count, $config['topics_per_page'], $start), 'PAGE_NUMBER' => on_page($topics_count, $config['topics_per_page'], $start),
'TOTAL_TOPICS' => ($forum_data['forum_flags'] & 16) ? false : (($topics_count == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $topics_count)), 'TOTAL_TOPICS' => ($forum_data['forum_flags'] & 16) ? false : (($topics_count == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $topics_count)),
'MODERATORS' => (!empty($moderators[$forum_id])) ? implode(', ', $moderators[$forum_id]) : '', 'MODERATORS' => (!empty($moderators[$forum_id])) ? implode(', ', $moderators[$forum_id]) : '',
@ -270,13 +270,13 @@ if ($forum_data['forum_type'] == FORUM_POST || ($forum_data['forum_flags'] & 16)
'S_SELECT_SORT_DAYS' => $s_limit_days, 'S_SELECT_SORT_DAYS' => $s_limit_days,
'S_TOPIC_ICONS' => ($forum_data['forum_type'] == FORUM_CAT && $forum_data['forum_flags'] & 16) ? max($active_forum_ary['enable_icons']) : (($forum_data['enable_icons']) ? true : false), 'S_TOPIC_ICONS' => ($forum_data['forum_type'] == FORUM_CAT && $forum_data['forum_flags'] & 16) ? max($active_forum_ary['enable_icons']) : (($forum_data['enable_icons']) ? true : false),
'S_WATCH_FORUM' => $s_watching_forum, 'S_WATCH_FORUM' => $s_watching_forum,
'S_FORUM_ACTION' => "viewforum.$phpExx$SIDx&amp;f=$forum_id&amp;start=$start", 'S_FORUM_ACTION' => "viewforum.$phpEx$SID&amp;f=$forum_id&amp;start=$start",
'S_DISPLAY_SEARCHBOX' => ($auth->acl_get('f_search', $forum_id)) ? true : false, 'S_DISPLAY_SEARCHBOX' => ($auth->acl_get('f_search', $forum_id)) ? true : false,
'S_SEARCHBOX_ACTION' => "search.$phpEx$SID&amp;f[]=$forum_id", 'S_SEARCHBOX_ACTION' => "search.$phpEx$SID&amp;f[]=$forum_id",
'U_MCP' => ($auth->acl_gets('m_', $forum_id)) ? "mcp.$phpEx?sid=$user->session_id&amp;f=$forum_id&amp;mode=forum_view" : '', 'U_MCP' => ($auth->acl_gets('m_', $forum_id)) ? "mcp.$phpEx?sid=$user->session_id&amp;f=$forum_id&amp;mode=forum_view" : '',
'U_POST_NEW_TOPIC' => "posting.$phpEx$SID&amp;mode=post&amp;f=$forum_id", 'U_POST_NEW_TOPIC' => "posting.$phpEx$SID&amp;mode=post&amp;f=$forum_id",
'U_VIEW_FORUM' => "viewforum.$phpEx$SID&amp;f=$forum_id&amp;sk=$sort_key&amp;sd=$sort_dir&amp;st=$sort_days&amp;start=$start", 'U_VIEW_FORUM' => "viewforum.$phpEx$SID&amp;f=$forum_id&amp;$u_sort_param&amp;start=$start",
'U_MARK_TOPICS' => "viewforum.$phpEx$SID&amp;f=$forum_id&amp;mark=topics") 'U_MARK_TOPICS' => "viewforum.$phpEx$SID&amp;f=$forum_id&amp;mark=topics")
); );
@ -342,6 +342,7 @@ if ($forum_data['forum_type'] == FORUM_POST || ($forum_data['forum_flags'] & 16)
// Obtain other topics // Obtain other topics
// $sql_rownum = (SQL_LAYER != 'oracle') ? '' : ', ROWNUM rnum '; // $sql_rownum = (SQL_LAYER != 'oracle') ? '' : ', ROWNUM rnum ';
$sql_rownum = '';
$sql_where = ($forum_data['forum_type'] == FORUM_POST) ? "= $forum_id" : 'IN (' . implode(', ', $active_forum_ary['forum_id']) . ')'; $sql_where = ($forum_data['forum_type'] == FORUM_POST) ? "= $forum_id" : 'IN (' . implode(', ', $active_forum_ary['forum_id']) . ')';
$sql = "SELECT t.* $sql_select$sql_rownum $sql = "SELECT t.* $sql_select$sql_rownum
FROM $sql_from FROM $sql_from
@ -576,7 +577,7 @@ if ($forum_data['forum_type'] == FORUM_POST || ($forum_data['forum_flags'] & 16)
} }
} }
unset($rowset[$key]); unset($rowset[$topic_id]);
} }
} }

View file

@ -553,7 +553,7 @@ if (!empty($poll_start))
(($poll_length != 0 && $poll_start + $poll_length > time()) || $poll_length == 0) && (($poll_length != 0 && $poll_start + $poll_length > time()) || $poll_length == 0) &&
$topic_status != ITEM_LOCKED && $topic_status != ITEM_LOCKED &&
$forum_status != ITEM_LOCKED) ? true : false; $forum_status != ITEM_LOCKED) ? true : false;
$s_display_results = (!$s_can_vote || ($s_can_vote && $voted_id) || $view = 'viewpoll') ? true : false; $s_display_results = (!$s_can_vote || ($s_can_vote && $voted_id) || $view == 'viewpoll') ? true : false;
if ($update && $s_can_vote) if ($update && $s_can_vote)
{ {
@ -861,7 +861,6 @@ while ($row = $db->sql_fetchrow($result))
'avatar' => '', 'avatar' => '',
'profile' => "memberlist.$phpEx$SID&amp;mode=viewprofile&amp;u=$poster_id", 'profile' => "memberlist.$phpEx$SID&amp;mode=viewprofile&amp;u=$poster_id",
'pm' => "ucp.$phpEx$SID&amp;i=pm&amp;action=send&amp;u=$poster_id",
'www' => $row['user_website'], 'www' => $row['user_website'],
'aim' => ($row['user_aim']) ? "memberlist.$phpEx$SID&amp;mode=contact&amp;action=aim&amp;u=$poster_id" : '', 'aim' => ($row['user_aim']) ? "memberlist.$phpEx$SID&amp;mode=contact&amp;action=aim&amp;u=$poster_id" : '',
'msn' => ($row['user_msnm']) ? "memberlist.$phpEx$SID&amp;mode=contact&amp;action=msnm&amp;u=$poster_id" : '', 'msn' => ($row['user_msnm']) ? "memberlist.$phpEx$SID&amp;mode=contact&amp;action=msnm&amp;u=$poster_id" : '',
@ -957,13 +956,14 @@ if (count($attach_list))
$sql = 'SELECT * $sql = 'SELECT *
FROM ' . ATTACHMENTS_TABLE . ' FROM ' . ATTACHMENTS_TABLE . '
WHERE post_id IN (' . implode(', ', $attach_list) . ') WHERE post_msg_id IN (' . implode(', ', $attach_list) . ')
ORDER BY filetime ' . ((!$config['display_order']) ? 'DESC' : 'ASC') . ', post_id ASC'; AND in_message = 0
ORDER BY filetime ' . ((!$config['display_order']) ? 'DESC' : 'ASC') . ', post_msg_id ASC';
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$attachments[$row['post_id']][] = $row; $attachments[$row['post_msg_id']][] = $row;
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
@ -979,11 +979,11 @@ if (count($attach_list))
if (count($rowset) != $total_posts) if (count($rowset) != $total_posts)
{ {
// Not all posts are displayed so we query the db to find if there's any attachment for this topic // Not all posts are displayed so we query the db to find if there's any attachment for this topic
$sql = 'SELECT a.post_id $sql = 'SELECT a.post_msg_id as post_id
FROM ' . ATTACHMENTS_TABLE . ' a, ' . POSTS_TABLE . " p FROM ' . ATTACHMENTS_TABLE . ' a, ' . POSTS_TABLE . " p
WHERE p.topic_id = $topic_id WHERE p.topic_id = $topic_id
AND p.post_approved = 1 AND p.post_approved = 1
AND p.post_id = a.post_id"; AND p.topic_id = a.topic_id";
$result = $db->sql_query_limit($sql, 1); $result = $db->sql_query_limit($sql, 1);
if (!$db->sql_fetchrow($result)) if (!$db->sql_fetchrow($result))
@ -1240,7 +1240,7 @@ for ($i = 0; $i < count($post_list); ++$i)
'U_PROFILE' => $user_cache[$poster_id]['profile'], 'U_PROFILE' => $user_cache[$poster_id]['profile'],
'U_SEARCH' => $user_cache[$poster_id]['search'], 'U_SEARCH' => $user_cache[$poster_id]['search'],
'U_PM' => $user_cache[$poster_id]['pm'], 'U_PM' => "{$phpbb_root_path}ucp.$phpEx$SID&amp;i=pm&amp;mode=compose&amp;action=quote&amp;q=1&amp;p=" . $row['post_id'],
'U_EMAIL' => $user_cache[$poster_id]['email'], 'U_EMAIL' => $user_cache[$poster_id]['email'],
'U_WWW' => $user_cache[$poster_id]['www'], 'U_WWW' => $user_cache[$poster_id]['www'],
'U_ICQ' => $user_cache[$poster_id]['icq'], 'U_ICQ' => $user_cache[$poster_id]['icq'],