Merge commit 'release-3.0-RC1'
BIN
phpBB/adm/images/arrow_left.gif
Normal file
After Width: | Height: | Size: 111 B |
BIN
phpBB/adm/images/arrow_right.gif
Normal file
After Width: | Height: | Size: 111 B |
BIN
phpBB/adm/images/arrow_up.gif
Normal file
After Width: | Height: | Size: 113 B |
BIN
phpBB/adm/images/bg_button.gif
Normal file
After Width: | Height: | Size: 182 B |
BIN
phpBB/adm/images/bg_header.jpg
Normal file
After Width: | Height: | Size: 385 B |
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 778 B After Width: | Height: | Size: 541 B |
BIN
phpBB/adm/images/bg_tabs_alt1.gif
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
phpBB/adm/images/bg_tabs_alt2.gif
Normal file
After Width: | Height: | Size: 420 B |
BIN
phpBB/adm/images/corners_left.gif
Normal file
After Width: | Height: | Size: 796 B |
BIN
phpBB/adm/images/corners_left2.gif
Normal file
After Width: | Height: | Size: 55 B |
BIN
phpBB/adm/images/corners_right.gif
Normal file
After Width: | Height: | Size: 175 B |
BIN
phpBB/adm/images/corners_right2.gif
Normal file
After Width: | Height: | Size: 56 B |
Before Width: | Height: | Size: 677 B After Width: | Height: | Size: 688 B |
Before Width: | Height: | Size: 714 B After Width: | Height: | Size: 734 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 673 B After Width: | Height: | Size: 707 B |
Before Width: | Height: | Size: 333 B |
Before Width: | Height: | Size: 344 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 705 B After Width: | Height: | Size: 751 B |
BIN
phpBB/adm/images/innerbox_bg.gif
Normal file
After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
phpBB/adm/images/toggle.gif
Normal file
After Width: | Height: | Size: 788 B |
|
@ -10,8 +10,8 @@
|
|||
|
||||
/**
|
||||
*/
|
||||
define('IN_PHPBB', 1);
|
||||
define('ADMIN_START', 1);
|
||||
define('IN_PHPBB', true);
|
||||
define('ADMIN_START', true);
|
||||
define('NEED_SID', true);
|
||||
|
||||
// Include files
|
||||
|
@ -63,9 +63,6 @@ $template->assign_var('T_TEMPLATE_PATH', $phpbb_admin_path . 'style');
|
|||
// the acp template is never stored in the database
|
||||
$user->theme['template_storedb'] = false;
|
||||
|
||||
// Force pagination seperation for admin style
|
||||
$user->theme['pagination_sep'] = '';
|
||||
|
||||
// Instantiate new module
|
||||
$module = new p_master();
|
||||
|
||||
|
@ -253,8 +250,7 @@ function h_radio($name, &$input_ary, $input_default = false, $id = false, $key =
|
|||
foreach ($input_ary as $value => $title)
|
||||
{
|
||||
$selected = ($input_default !== false && $value == $input_default) ? ' checked="checked"' : '';
|
||||
$html .= ($html) ? ' ' : '';
|
||||
$html .= '<input type="radio" name="' . $name . '"' . (($id && !$id_assigned) ? ' id="' . $id . '"' : '') . ' value="' . $value . '"' . $selected . (($key) ? ' accesskey="' . $key . '"' : '') . ' class="radio" /> ' . $user->lang[$title];
|
||||
$html .= '<label><input type="radio" name="' . $name . '"' . (($id && !$id_assigned) ? ' id="' . $id . '"' : '') . ' value="' . $value . '"' . $selected . (($key) ? ' accesskey="' . $key . '"' : '') . ' class="radio" /> ' . $user->lang[$title] . '</label>';
|
||||
$id_assigned = true;
|
||||
}
|
||||
|
||||
|
@ -302,10 +298,10 @@ function build_cfg_template($tpl_type, $key, &$new, $config_key, $vars)
|
|||
$tpl_type_cond = explode('_', $tpl_type[1]);
|
||||
$type_no = ($tpl_type_cond[0] == 'disabled' || $tpl_type_cond[0] == 'enabled') ? false : true;
|
||||
|
||||
$tpl_no = '<input type="radio" name="' . $name . '" value="0"' . $key_no . ' class="radio" /> ' . (($type_no) ? $user->lang['NO'] : $user->lang['DISABLED']);
|
||||
$tpl_yes = '<input type="radio" id="' . $key . '" name="' . $name . '" value="1"' . $key_yes . ' class="radio" /> ' . (($type_no) ? $user->lang['YES'] : $user->lang['ENABLED']);
|
||||
$tpl_no = '<label><input type="radio" name="' . $name . '" value="0"' . $key_no . ' class="radio" /> ' . (($type_no) ? $user->lang['NO'] : $user->lang['DISABLED']) . '</label>';
|
||||
$tpl_yes = '<label><input type="radio" id="' . $key . '" name="' . $name . '" value="1"' . $key_yes . ' class="radio" /> ' . (($type_no) ? $user->lang['YES'] : $user->lang['ENABLED']) . '</label>';
|
||||
|
||||
$tpl = ($tpl_type_cond[0] == 'yes' || $tpl_type_cond[0] == 'enabled') ? $tpl_yes . ' ' . $tpl_no : $tpl_no . ' ' . $tpl_yes;
|
||||
$tpl = ($tpl_type_cond[0] == 'yes' || $tpl_type_cond[0] == 'enabled') ? $tpl_yes . $tpl_no : $tpl_no . $tpl_yes;
|
||||
break;
|
||||
|
||||
case 'select':
|
||||
|
@ -486,12 +482,12 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
|
|||
$error[] = sprintf($user->lang['DIRECTORY_NOT_DIR'], $cfg_array[$config_name]);
|
||||
}
|
||||
|
||||
// Check if the path is writeable
|
||||
// Check if the path is writable
|
||||
if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath')
|
||||
{
|
||||
if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !is_writeable($phpbb_root_path . $cfg_array[$config_name]))
|
||||
if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !@is_writable($phpbb_root_path . $cfg_array[$config_name]))
|
||||
{
|
||||
$error[] = sprintf($user->lang['DIRECTORY_NOT_WRITEABLE'], $cfg_array[$config_name]);
|
||||
$error[] = sprintf($user->lang['DIRECTORY_NOT_WRITABLE'], $cfg_array[$config_name]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -83,7 +83,8 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="exclude">{L_IP_EXCLUDE}:</label><br /><span>{L_EXCLUDE_ENTERED_IP}</span></dt>
|
||||
<dd><input type="radio" id="exclude" name="ipexclude" value="1" class="radio" /> {L_YES} <input type="radio" name="ipexclude" value="0" checked="checked" class="radio" /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" id="exclude" name="ipexclude" value="1" class="radio" /> {L_YES}</label>
|
||||
<label><input type="radio" name="ipexclude" value="0" checked="checked" class="radio" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
|
@ -205,7 +206,8 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="allowed_forums">{L_ALLOWED_FORUMS}:</label><br /><span>{L_ALLOWED_FORUMS_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" id="allowed_forums" class="radio" name="forum_select" value="0"<!-- IF not S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_ALL_FORUMS} <input type="radio" class="radio" name="forum_select" value="1"<!-- IF S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_SELECTED_FORUMS}</dd>
|
||||
<dd><label><input type="radio" id="allowed_forums" class="radio" name="forum_select" value="0"<!-- IF not S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_ALL_FORUMS}</label>
|
||||
<label><input type="radio" class="radio" name="forum_select" value="1"<!-- IF S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_SELECTED_FORUMS}</label></dd>
|
||||
<dd><select name="allowed_forums[]" multiple="multiple" size="8">{S_FORUM_ID_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
|
||||
|
@ -241,8 +243,10 @@
|
|||
<!-- ENDIF -->
|
||||
<tr>
|
||||
<td><strong>{groups.GROUP_NAME}</strong>
|
||||
<!-- IF groups.S_GROUP_ALLOWED and not groups.S_ALLOWED_IN_PM --><br /><span>» {L_NOT_ALLOWED_IN_PM}</span><!-- ENDIF -->
|
||||
<!-- IF groups.S_ALLOWED_IN_PM and not groups.S_GROUP_ALLOWED --><br /><span>» {L_ONLY_ALLOWED_IN_PM}</span><!-- ENDIF -->
|
||||
<!-- IF groups.S_GROUP_ALLOWED and not groups.S_ALLOWED_IN_PM --><br /><span>» {L_NOT_ALLOWED_IN_PM}</span>
|
||||
<!-- ELSEIF groups.S_ALLOWED_IN_PM and not groups.S_GROUP_ALLOWED --><br /><span>» {L_ONLY_ALLOWED_IN_PM}</span>
|
||||
<!-- ELSEIF not groups.S_GROUP_ALLOWED and not groups.S_ALLOWED_IN_PM --><br /><span>» {L_NOT_ALLOWED_IN_PM_POST}</span>
|
||||
<!-- ELSE --><br /><span>» {L_ALLOWED_IN_PM_POST}</span><!-- ENDIF -->
|
||||
</td>
|
||||
<td>{groups.CATEGORY}</td>
|
||||
<td align="center" valign="middle" style="white-space: nowrap;"> <a href="{groups.U_EDIT}">{ICON_EDIT}</a> <a href="{groups.U_DELETE}">{ICON_DELETE}</a> </td>
|
||||
|
@ -304,7 +308,7 @@
|
|||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<tr>
|
||||
<td><b>{extensions.EXTENSION}</b></td>
|
||||
<td><strong>{extensions.EXTENSION}</strong></td>
|
||||
<td>{extensions.GROUP_OPTIONS}</td>
|
||||
<td><input type="checkbox" class="radio" name="extension_id_list[]" value="{extensions.EXTENSION_ID}" /><input type="hidden" name="extension_change_list[]" value="{extensions.EXTENSION_ID}" /></td>
|
||||
</tr>
|
||||
|
@ -344,7 +348,7 @@
|
|||
<td><a href="{orphan.U_FILE}">{orphan.REAL_FILENAME}</a></td>
|
||||
<td>{orphan.FILETIME}</td>
|
||||
<td>{orphan.FILESIZE}</td>
|
||||
<td><b>ID: </b><input type="text" name="post_id[{orphan.ATTACH_ID}]" size="7" maxlength="10" value="{orphan.POST_ID}" /></td>
|
||||
<td><strong>{L_ATTACH_ID}: </strong><input type="text" name="post_id[{orphan.ATTACH_ID}]" size="7" maxlength="10" value="{orphan.POST_ID}" /></td>
|
||||
<td><input type="checkbox" class="radio" name="add[{orphan.ATTACH_ID}]" /></td>
|
||||
<td><input type="checkbox" class="radio" name="delete[{orphan.ATTACH_ID}]" /></td>
|
||||
</tr>
|
||||
|
|
|
@ -50,20 +50,21 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="banlength">{L_BAN_LENGTH}:</label></dt>
|
||||
<dd><select name="banlength" id="banlength">{S_BAN_END_OPTIONS}</select></dd>
|
||||
<dd><input type="text" name="banlengthother" maxlength="10" /> (YYYY-MM-DD)</dd>
|
||||
<dd><label for="banlength"><select name="banlength" id="banlength" onchange="if(this.value==-1){document.getElementById('banlengthother').style.display = 'block';}else{document.getElementById('banlengthother').style.display='none';}">{S_BAN_END_OPTIONS}</select></label></dd>
|
||||
<dd id="banlengthother" style="display: none;"><label><input type="text" name="banlengthother" class="inputbox" /><br /><span>{L_YEAR_MONTH_DAY}</span></label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="banexclude">{L_BAN_EXCLUDE}:</label><br /><span>{L_BAN_EXCLUDE_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" name="banexclude" value="1" class="radio" /> {L_YES} <input type="radio" name="banexclude" id="banexclude" value="0" checked="checked" class="radio" /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" name="banexclude" value="1" class="radio" /> {L_YES}</label>
|
||||
<label><input type="radio" name="banexclude" id="banexclude" value="0" checked="checked" class="radio" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="banreason">{L_BAN_REASON}:</label></dt>
|
||||
<dd><input name="banreason" type="text" id="banreason" class="medium" maxlength="3000" /></dd>
|
||||
<dd><input name="banreason" type="text" class="text medium" maxlength="3000" id="banreason" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="bangivereason">{L_BAN_GIVE_REASON}:</label></dt>
|
||||
<dd><input name="bangivereason" type="text" id="bangivereason" class="medium" maxlength="3000" /></dd>
|
||||
<dd><input name="bangivereason" type="text" class="text medium" maxlength="3000" id="bangivereason" /></dd>
|
||||
</dl>
|
||||
|
||||
<p class="submit-buttons">
|
||||
|
@ -88,15 +89,15 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="unbanlength">{L_BAN_LENGTH}:</label></dt>
|
||||
<dd><input style="border: 0px;" type="text" name="unbanlength" id="unbanlength" class="full" disabled="disabled" /></dd>
|
||||
<dd><input style="border: 0;" type="text" class="text full" disabled="disabled" name="unbanlength" id="unbanlength" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="unbanreason">{L_BAN_REASON}:</label></dt>
|
||||
<dd><input style="border: 0px;" type="text" name="unbanreason" id="unbanreason" class="full" disabled="disabled" /></dd>
|
||||
<dd><input style="border: 0;" type="text" class="text full" disabled="disabled" name="unbanreason" id="unbanreason" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="unbangivereason">{L_BAN_GIVE_REASON}:</label></dt>
|
||||
<dd><input style="border: 0px;" type="text" name="unbangivereason" id="unbangivereason" class="full" disabled="disabled" /></dd>
|
||||
<dd><input style="border: 0;" type="text" class="text full" disabled="disabled" name="unbangivereason" id="unbangivereason" /></dd>
|
||||
</dl>
|
||||
|
||||
<p class="submit-buttons">
|
||||
|
|
|
@ -6,34 +6,63 @@
|
|||
|
||||
<p>{L_ACP_VC_SETTINGS_EXPLAIN}</p>
|
||||
|
||||
|
||||
<form id="acp_captcha" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_GENERAL_OPTIONS}</legend>
|
||||
<legend>{L_GENERAL_OPTIONS}</legend>
|
||||
|
||||
<dl>
|
||||
<dt><label for="enable_confirm">{L_VISUAL_CONFIRM_REG}:</label><br /><span>{L_VISUAL_CONFIRM_REG_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" id="enable_confirm" name="enable_confirm" value="1"<!-- IF REG_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED} <input type="radio" class="radio" name="enable_confirm" value="0"<!-- IF not REG_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="enable_confirm" name="enable_confirm" value="1"<!-- IF REG_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
|
||||
<label><input type="radio" class="radio" name="enable_confirm" value="0"<!-- IF not REG_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="enable_post_confirm">{L_VISUAL_CONFIRM_POST}:</label><br /><span>{L_VISUAL_CONFIRM_POST_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" id="enable_post_confirm" name="enable_post_confirm" value="1"<!-- IF POST_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED} <input type="radio" class="radio" name="enable_post_confirm" value="0"<!-- IF not POST_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="enable_post_confirm" name="enable_post_confirm" value="1"<!-- IF POST_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
|
||||
<label><input type="radio" class="radio" name="enable_post_confirm" value="0"<!-- IF not POST_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label></dd>
|
||||
</dl>
|
||||
<!-- IF GD -->
|
||||
<dl>
|
||||
<dt><label for="captcha_gd">{L_CAPTCHA_GD}:</label><br /><span>{L_CAPTCHA_GD_EXPLAIN}</span></dt>
|
||||
<dd><input id="captcha_gd" name="captcha_gd" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD --> checked="checked"<!-- ENDIF --> /> {L_YES} <input name="captcha_gd" value="0" class="radio" type="radio"<!-- IF not CAPTCHA_GD --> checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input id="captcha_gd" name="captcha_gd" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input name="captcha_gd" value="0" class="radio" type="radio"<!-- IF not CAPTCHA_GD --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="captcha_gd_noise">{L_CAPTCHA_GD_NOISE}:</label><br /><span>{L_CAPTCHA_GD_NOISE_EXPLAIN}</span></dt>
|
||||
<dd><input id="captcha_gd_noise" name="captcha_gd_noise" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD_NOISE --> checked="checked"<!-- ENDIF --> /> {L_YES} <input name="captcha_gd_noise" value="0" class="radio" type="radio"<!-- IF not CAPTCHA_GD_NOISE --> checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dt><label for="captcha_gd_foreground_noise">{L_CAPTCHA_GD_FOREGROUND_NOISE}:</label><br /><span>{L_CAPTCHA_GD_FOREGROUND_NOISE_EXPLAIN}</span></dt>
|
||||
<dd><label><input id="captcha_gd_foreground_noise" name="captcha_gd_foreground_noise" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD_FOREGROUND_NOISE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input name="captcha_gd_foreground_noise" value="0" class="radio" type="radio"<!-- IF not CAPTCHA_GD_FOREGROUND_NOISE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="captcha_gd_x_grid">{L_CAPTCHA_GD_X_GRID}:</label><br /><span>{L_CAPTCHA_GD_X_GRID_EXPLAIN}</span></dt>
|
||||
<dd><input id="captcha_gd_x_grid" name="captcha_gd_x_grid" value="{CAPTCHA_GD_X_GRID}" type="text" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="captcha_gd_y_grid">{L_CAPTCHA_GD_Y_GRID}:</label><br /><span>{L_CAPTCHA_GD_Y_GRID_EXPLAIN}</span></dt>
|
||||
<dd><input id="captcha_gd_y_grid" name="captcha_gd_y_grid" value="{CAPTCHA_GD_Y_GRID}" type="text" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>{L_PREVIEW}</legend>
|
||||
<!-- IF PREVIEW -->
|
||||
<div class="successbox">
|
||||
<h3>{L_WARNING}</h3>
|
||||
<p>{L_CAPTCHA_PREVIEW_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="captcha_preview">{L_PREVIEW}:</label><br /><span>{L_CAPTCHA_PREVIEW_EXPLAIN}</span></dt>
|
||||
<dd><img src="{CAPTCHA_PREVIEW}" alt="{L_PREVIEW}" <!-- IF CAPTCHA_GD_PREVIEWED -->width="360" height="96"<!-- ELSE --> width="320" height="50"<!-- ENDIF --> id="captcha_preview" /></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
<input class="button2" type="submit" id="preview" name="preview" value="{L_PREVIEW}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
|
|
@ -54,17 +54,21 @@
|
|||
<legend>{L_BACKUP_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="type">{L_BACKUP_TYPE}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="type" value="full" id="type" checked="checked" /> {L_FULL_BACKUP} <input type="radio" name="type" class="radio" value="structure" /> {L_STRUCTURE_ONLY} <input type="radio" class="radio" name="type" value="data" /> {L_DATA_ONLY}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="type" value="full" id="type" checked="checked" /> {L_FULL_BACKUP}</label>
|
||||
<label><input type="radio" name="type" class="radio" value="structure" /> {L_STRUCTURE_ONLY}</label>
|
||||
<label><input type="radio" class="radio" name="type" value="data" /> {L_DATA_ONLY}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="method">{L_FILE_TYPE}:</label></dt>
|
||||
<dd><!-- BEGIN methods -->
|
||||
<input name="method"<!-- IF methods.S_FIRST_ROW --> id="method" checked="checked"<!-- ENDIF --> type="radio" class="radio" value="{methods.TYPE}" /> {methods.TYPE}
|
||||
<label><input name="method"<!-- IF methods.S_FIRST_ROW --> id="method" checked="checked"<!-- ENDIF --> type="radio" class="radio" value="{methods.TYPE}" /> {methods.TYPE}</label>
|
||||
<!-- END methods --></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="where">{L_ACTION}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="where" value="store_and_download" id="where" checked="checked" /> {L_STORE_AND_DOWNLOAD} <input type="radio" class="radio" name="where" value="store" /> {L_STORE_LOCAL} <input type="radio" class="radio" name="where" value="download" /> {L_DOWNLOAD}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="where" value="store_and_download" id="where" checked="checked" /> {L_STORE_AND_DOWNLOAD}</label>
|
||||
<label><input type="radio" class="radio" name="where" value="store" /> {L_STORE_LOCAL}</label>
|
||||
<label><input type="radio" class="radio" name="where" value="download" /> {L_DOWNLOAD}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="table">{L_TABLE_SELECT}:</label></dt>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<legend>{L_ADD_DISALLOW_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label for="user">{L_USERNAME}:</label><br /><span>{L_ADD_DISALLOW_EXPLAIN}</span></dt>
|
||||
<dd><input id="user" type="text" name="disallowed_user" class="medium" maxlength="255" /></dd>
|
||||
<dd><input id="user" type="text" class="text medium" maxlength="255" name="disallowed_user" /></dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
|
|
|
@ -120,8 +120,8 @@
|
|||
<div id="type_actions">
|
||||
<dl>
|
||||
<dt><label for="type_action">{L_DECIDE_MOVE_DELETE_CONTENT}:</label></dt>
|
||||
<dd><input type="radio" class="radio" id="type_action" name="type_action" value="delete" checked="checked" /> {L_DELETE_ALL_POSTS}</dd>
|
||||
<!-- IF S_MOVE_FORUM_OPTIONS --><dd><input type="radio" class="radio" name="type_action" value="move" /> {L_MOVE_POSTS_TO} <select name="to_forum_id">{S_MOVE_FORUM_OPTIONS}</select></dd><!-- ENDIF -->
|
||||
<dd><label><input type="radio" class="radio" id="type_action" name="type_action" value="delete" checked="checked" /> {L_DELETE_ALL_POSTS}</label></dd>
|
||||
<!-- IF S_MOVE_FORUM_OPTIONS --><dd><label><input type="radio" class="radio" name="type_action" value="move" /> {L_MOVE_POSTS_TO}</label> <select name="to_forum_id">{S_MOVE_FORUM_OPTIONS}</select></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
@ -130,9 +130,9 @@
|
|||
<dl>
|
||||
<dt><label for="action_subforums">{L_DECIDE_MOVE_DELETE_SUBFORUMS}:</label></dt>
|
||||
<!-- IF S_FORUMS_LIST -->
|
||||
<dd><input type="radio" class="radio" name="action_subforums" value="move" checked="checked" /> {L_MOVE_SUBFORUMS_TO} <select name="subforums_to_id">{S_FORUMS_LIST}</select></dd>
|
||||
<dd><label><input type="radio" class="radio" id="action_subforums" name="action_subforums" value="move" checked="checked" /> {L_MOVE_SUBFORUMS_TO}</label> <select name="subforums_to_id">{S_FORUMS_LIST}</select></dd>
|
||||
<!-- ELSE -->
|
||||
<dd><input type="radio" class="radio" id="action_subforums" name="action_subforums" value="delete" checked="checked" /> {L_DELETE_SUBFORUMS}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="action_subforums" name="action_subforums" value="delete" checked="checked" /> {L_DELETE_SUBFORUMS}</label></dd>
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
</div>
|
||||
|
@ -143,16 +143,18 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="forum_name">{L_FORUM_NAME}:</label></dt>
|
||||
<dd><input class="medium" type="text" id="forum_name" name="forum_name" value="{FORUM_NAME}" maxlength="255" /></dd>
|
||||
<dd><input class="text medium" type="text" id="forum_name" name="forum_name" value="{FORUM_NAME}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="forum_desc">{L_FORUM_DESC}:</label><br /><span>{L_FORUM_DESC_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="forum_desc" name="forum_desc" rows="5" cols="45" maxlength="255">{FORUM_DESC}</textarea></dd>
|
||||
<dd><input type="checkbox" class="radio" name="desc_parse_bbcode"<!-- IF S_DESC_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE} <input type="checkbox" class="radio" name="desc_parse_smilies"<!-- IF S_DESC_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES} <input type="checkbox" class="radio" name="desc_parse_urls"<!-- IF S_DESC_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</dd>
|
||||
<dd><textarea id="forum_desc" name="forum_desc" rows="5" cols="45">{FORUM_DESC}</textarea></dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="desc_parse_bbcode"<!-- IF S_DESC_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE}</label>
|
||||
<label><input type="checkbox" class="radio" name="desc_parse_smilies"<!-- IF S_DESC_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
|
||||
<label><input type="checkbox" class="radio" name="desc_parse_urls"<!-- IF S_DESC_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="forum_image">{L_FORUM_IMAGE}:</label><br /><span>{L_FORUM_IMAGE_EXPLAIN}</span></dt>
|
||||
<dd><input class="medium" type="text" id="forum_image" name="forum_image" value="{FORUM_IMAGE}" maxlength="255" /></dd>
|
||||
<dd><input class="text medium" type="text" id="forum_image" name="forum_image" value="{FORUM_IMAGE}" maxlength="255" /></dd>
|
||||
<!-- IF FORUM_IMAGE_SRC -->
|
||||
<dd><img src="{FORUM_IMAGE_SRC}" alt="{L_FORUM_IMAGE}" /></dd>
|
||||
<!-- ENDIF -->
|
||||
|
@ -180,7 +182,8 @@
|
|||
<legend>{L_GENERAL_FORUM_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="display_active">{L_DISPLAY_ACTIVE_TOPICS}:</label><br /><span>{L_DISPLAY_ACTIVE_TOPICS_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="display_active" value="1"<!-- IF S_DISPLAY_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="display_active" value="0"<!-- IF not S_DISPLAY_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="display_active" value="1"<!-- IF S_DISPLAY_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="display_active" value="0"<!-- IF not S_DISPLAY_ACTIVE_TOPICS --> id="display_active" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
@ -194,23 +197,28 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="display_on_index">{L_LIST_INDEX}:</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="display_on_index" value="0"<!-- IF not S_DISPLAY_ON_INDEX --> id="display_on_index" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="display_on_index" value="0"<!-- IF not S_DISPLAY_ON_INDEX --> id="display_on_index" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="enable_post_review">{L_ENABLE_POST_REVIEW}:</label><br /><span>{L_ENABLE_POST_REVIEW_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="enable_post_review" value="1"<!-- IF S_ENABLE_POST_REVIEW --> id="enable_post_review" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="enable_post_review" value="0"<!-- IF not S_ENABLE_POST_REVIEW --> id="enable_post_review" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="enable_post_review" value="1"<!-- IF S_ENABLE_POST_REVIEW --> id="enable_post_review" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="enable_post_review" value="0"<!-- IF not S_ENABLE_POST_REVIEW --> id="enable_post_review" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="enable_indexing">{L_ENABLE_INDEXING}:</label><br /><span>{L_ENABLE_INDEXING_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="enable_indexing" value="1"<!-- IF S_ENABLE_INDEXING --> id="enable_indexing" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="enable_indexing" value="0"<!-- IF not S_ENABLE_INDEXING --> id="enable_indexing" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="enable_indexing" value="1"<!-- IF S_ENABLE_INDEXING --> id="enable_indexing" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="enable_indexing" value="0"<!-- IF not S_ENABLE_INDEXING --> id="enable_indexing" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="enable_icons">{L_ENABLE_TOPIC_ICONS}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="enable_icons" value="1"<!-- IF S_TOPIC_ICONS --> id="enable_icons" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="enable_icons" value="0"<!-- IF not S_TOPIC_ICONS --> id="enable_icons" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="enable_icons" value="1"<!-- IF S_TOPIC_ICONS --> id="enable_icons" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="enable_icons" value="0"<!-- IF not S_TOPIC_ICONS --> id="enable_icons" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="display_recent">{L_ENABLE_RECENT}:</label><br /><span>{L_ENABLE_RECENT_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="display_recent" value="1"<!-- IF S_DISPLAY_ACTIVE_TOPICS --> id="display_recent" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="display_recent" value="0"<!-- IF not S_DISPLAY_ACTIVE_TOPICS --> id="display_recent" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="display_recent" value="1"<!-- IF S_DISPLAY_ACTIVE_TOPICS --> id="display_recent" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="display_recent" value="0"<!-- IF not S_DISPLAY_ACTIVE_TOPICS --> id="display_recent" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="topics_per_page">{L_FORUM_TOPICS_PAGE}:</label><br /><span>{L_FORUM_TOPICS_PAGE_EXPLAIN}</span></dt>
|
||||
|
@ -222,7 +230,8 @@
|
|||
<legend>{L_FORUM_PRUNE_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="enable_prune">{L_FORUM_AUTO_PRUNE}:</label><br /><span>{L_FORUM_AUTO_PRUNE_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="enable_prune" value="1"<!-- IF S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="enable_prune" value="0"<!-- IF not S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="enable_prune" value="1"<!-- IF S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="enable_prune" value="0"<!-- IF not S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="prune_freq">{L_AUTO_PRUNE_FREQ}:</label><br /><span>{L_AUTO_PRUNE_FREQ_EXPLAIN}</span></dt>
|
||||
|
@ -238,15 +247,18 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="prune_old_polls">{L_PRUNE_OLD_POLLS}:</label><br /><span>{L_PRUNE_OLD_POLLS_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="prune_old_polls" value="1"<!-- IF S_PRUNE_OLD_POLLS --> id="prune_old_polls" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="prune_old_polls" value="0"<!-- IF not S_PRUNE_OLD_POLLS --> id="prune_old_polls" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="prune_old_polls" value="1"<!-- IF S_PRUNE_OLD_POLLS --> id="prune_old_polls" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="prune_old_polls" value="0"<!-- IF not S_PRUNE_OLD_POLLS --> id="prune_old_polls" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="prune_announce">{L_PRUNE_ANNOUNCEMENTS}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="prune_announce" value="1"<!-- IF S_PRUNE_ANNOUNCE --> id="prune_announce" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="prune_announce" value="0"<!-- IF not S_PRUNE_ANNOUNCE --> id="prune_announce" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="prune_announce" value="1"<!-- IF S_PRUNE_ANNOUNCE --> id="prune_announce" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="prune_announce" value="0"<!-- IF not S_PRUNE_ANNOUNCE --> id="prune_announce" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="prune_sticky">{L_PRUNE_STICKY}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="prune_sticky" value="1"<!-- IF S_PRUNE_STICKY --> id="prune_sticky" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="prune_sticky" value="0"<!-- IF not S_PRUNE_STICKY --> id="prune_sticky" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="prune_sticky" value="1"<!-- IF S_PRUNE_STICKY --> id="prune_sticky" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="prune_sticky" value="0"<!-- IF not S_PRUNE_STICKY --> id="prune_sticky" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
@ -256,15 +268,17 @@
|
|||
<legend>{L_GENERAL_FORUM_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="link_display_on_index">{L_LIST_INDEX}:</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="link_display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="link_display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="link_display_on_index" value="0"<!-- IF not S_DISPLAY_ON_INDEX --> id="link_display_on_index" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="link_display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="link_display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="link_display_on_index" value="0"<!-- IF not S_DISPLAY_ON_INDEX --> id="link_display_on_index" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="forum_link">{L_FORUM_LINK}:</label><br /><span>{L_FORUM_LINK_EXPLAIN}</span></dt>
|
||||
<dd><input class="medium" type="text" id="forum_link" name="forum_link" value="{FORUM_DATA_LINK}" maxlength="255" /></dd>
|
||||
<dd><input class="text medium" type="text" id="forum_link" name="forum_link" value="{FORUM_DATA_LINK}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="forum_link_track">{L_FORUM_LINK_TRACK}:</label><br /><span>{L_FORUM_LINK_TRACK_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="forum_link_track" value="1"<!-- IF S_FORUM_LINK_TRACK --> id="forum_link_track" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="forum_link_track" value="0"<!-- IF not S_FORUM_LINK_TRACK --> id="forum_link_track" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="forum_link_track" value="1"<!-- IF S_FORUM_LINK_TRACK --> id="forum_link_track" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="forum_link_track" value="0"<!-- IF not S_FORUM_LINK_TRACK --> id="forum_link_track" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
@ -274,7 +288,7 @@
|
|||
<legend>{L_FORUM_RULES}</legend>
|
||||
<dl>
|
||||
<dt><label for="forum_rules_link">{L_FORUM_RULES_LINK}:</label><br /><span>{L_FORUM_RULES_LINK_EXPLAIN}</span></dt>
|
||||
<dd><input class="medium" type="text" id="forum_rules_link" name="forum_rules_link" value="{FORUM_RULES_LINK}" maxlength="255" /></dd>
|
||||
<dd><input class="text medium" type="text" id="forum_rules_link" name="forum_rules_link" value="{FORUM_RULES_LINK}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<!-- IF FORUM_RULES_PREVIEW -->
|
||||
<dl>
|
||||
|
@ -285,7 +299,9 @@
|
|||
<dl>
|
||||
<dt><label for="forum_rules">{L_FORUM_RULES}:</label><br /><span>{L_FORUM_RULES_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="forum_rules" name="forum_rules" rows="4" cols="70">{FORUM_RULES_PLAIN}</textarea></dd>
|
||||
<dd><input type="checkbox" class="radio" name="rules_parse_bbcode"<!-- IF S_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE} <input type="checkbox" class="radio" name="rules_parse_smilies"<!-- IF S_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES} <input type="checkbox" class="radio" name="rules_parse_urls"<!-- IF S_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="rules_parse_bbcode"<!-- IF S_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE}</label>
|
||||
<label><input type="checkbox" class="radio" name="rules_parse_smilies"<!-- IF S_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
|
||||
<label><input type="checkbox" class="radio" name="rules_parse_urls"<!-- IF S_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
@ -319,23 +335,23 @@
|
|||
<legend>{L_FORUM_DELETE}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_FORUM_NAME}:</label></dt>
|
||||
<dd><b>{FORUM_NAME}</b></dd>
|
||||
<dd><strong>{FORUM_NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF S_FORUM_POST -->
|
||||
<dl>
|
||||
<dt><label for="delete_action">{L_ACTION}:</label></dt>
|
||||
<dd><input type="radio" class="radio" id="delete_action" name="action_posts" value="delete" checked="checked" /> {L_DELETE_ALL_POSTS}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="delete_action" name="action_posts" value="delete" checked="checked" /> {L_DELETE_ALL_POSTS}</label></dd>
|
||||
<!-- IF S_MOVE_FORUM_OPTIONS -->
|
||||
<dd><input type="radio" class="radio" name="action_posts" value="move" /> {L_MOVE_POSTS_TO} <select name="posts_to_id">{S_MOVE_FORUM_OPTIONS}</select></dd>
|
||||
<dd><label><input type="radio" class="radio" name="action_posts" value="move" /> {L_MOVE_POSTS_TO}</label> <select name="posts_to_id">{S_MOVE_FORUM_OPTIONS}</select></dd>
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_HAS_SUBFORUMS -->
|
||||
<dl>
|
||||
<dt><label for="sub_delete_action">{L_ACTION}:</label></dt>
|
||||
<dd><input type="radio" class="radio" id="sub_delete_action" name="action_subforums" value="delete" checked="checked" /> {L_DELETE_SUBFORUMS}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="sub_delete_action" name="action_subforums" value="delete" checked="checked" /> {L_DELETE_SUBFORUMS}</label></dd>
|
||||
<!-- IF S_FORUMS_LIST -->
|
||||
<dd><input type="radio" class="radio" name="action_subforums" value="move" /> {L_MOVE_SUBFORUMS_TO} <select name="subforums_to_id">{S_FORUMS_LIST}</select></dd>
|
||||
<dd><label><input type="radio" class="radio" name="action_subforums" value="move" /> {L_MOVE_SUBFORUMS_TO}</label> <select name="subforums_to_id">{S_FORUMS_LIST}</select></dd>
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
|
@ -413,12 +429,12 @@
|
|||
<tbody>
|
||||
<!-- BEGIN forums -->
|
||||
<tr>
|
||||
<td style="width: 5%;">{forums.FOLDER_IMAGE}</td>
|
||||
<td style="width: 5%; text-align: center;">{forums.FOLDER_IMAGE}</td>
|
||||
<td>
|
||||
<!-- IF forums.FORUM_IMAGE --><div style="float: left; margin-right: 5px;">{forums.FORUM_IMAGE}</div><!-- ENDIF -->
|
||||
<strong><!-- IF forums.S_FORUM_LINK -->{forums.FORUM_NAME}<!-- ELSE --><a href="{forums.U_FORUM}">{forums.FORUM_NAME}</a><!-- ENDIF --></strong>
|
||||
<!-- IF forums.FORUM_DESCRIPTION --><br /><span>{forums.FORUM_DESCRIPTION}</span><!-- ENDIF -->
|
||||
<!-- IF forums.S_FORUM_POST --><br /><br /><span>{L_TOPICS}: <b>{forums.FORUM_TOPICS}</b> / {L_POSTS}: <b>{forums.FORUM_POSTS}</b></span><!-- ENDIF -->
|
||||
<!-- IF forums.S_FORUM_POST --><br /><br /><span>{L_TOPICS}: <strong>{forums.FORUM_TOPICS}</strong> / {L_POSTS}: <b>{forums.FORUM_POSTS}</b></span><!-- ENDIF -->
|
||||
</td>
|
||||
<td style="vertical-align: top; width: 100px; text-align: right; white-space: nowrap;">
|
||||
<!-- IF forums.S_FIRST_ROW && not forums.S_LAST_ROW -->
|
||||
|
|
|
@ -23,21 +23,23 @@
|
|||
<legend>{L_GROUP_DETAILS}</legend>
|
||||
<dl>
|
||||
<dt><label<!-- IF not S_SPECIAL_GROUP --> for="group_name"<!-- ENDIF -->>{L_GROUP_NAME}:</label></dt>
|
||||
<dd><!-- IF S_SPECIAL_GROUP --><b>{GROUP_NAME}</b><!-- ENDIF --><input name="group_name" type="<!-- IF S_SPECIAL_GROUP -->hidden<!-- ELSE -->text<!-- ENDIF -->" id="group_name" value="{GROUP_INTERNAL_NAME}" /></dd>
|
||||
<dd><!-- IF S_SPECIAL_GROUP --><strong>{GROUP_NAME}</strong><!-- ENDIF --><input name="group_name" type="<!-- IF S_SPECIAL_GROUP -->hidden<!-- ELSE -->text<!-- ENDIF -->" id="group_name" value="{GROUP_INTERNAL_NAME}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="group_desc">{L_GROUP_DESC}:</label></dt>
|
||||
<dd><textarea id="group_desc" name="group_desc" rows="5" cols="45">{GROUP_DESC}</textarea></dd>
|
||||
<dd><input type="checkbox" class="radio" name="desc_parse_bbcode"<!-- IF S_DESC_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE} <input type="checkbox" class="radio" name="desc_parse_smilies"<!-- IF S_DESC_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES} <input type="checkbox" class="radio" name="desc_parse_urls"<!-- IF S_DESC_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="desc_parse_bbcode"<!-- IF S_DESC_BBCODE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_BBCODE}</label>
|
||||
<label><input type="checkbox" class="radio" name="desc_parse_smilies"<!-- IF S_DESC_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
|
||||
<label><input type="checkbox" class="radio" name="desc_parse_urls"<!-- IF S_DESC_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
|
||||
</dl>
|
||||
<!-- IF not S_SPECIAL_GROUP -->
|
||||
<dl>
|
||||
<dt><label for="group_type">{L_GROUP_TYPE}:</label><br /><span>{L_GROUP_TYPE_EXPLAIN}</span></dt>
|
||||
<dd>
|
||||
<input name="group_type" type="radio" class="radio" id="group_type" value="{GROUP_TYPE_FREE}"{GROUP_FREE} /> {L_GROUP_OPEN}
|
||||
<input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_OPEN}"{GROUP_OPEN} /> {L_GROUP_REQUEST}
|
||||
<input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_CLOSED}"{GROUP_CLOSED} /> {L_GROUP_CLOSED}
|
||||
<input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_HIDDEN}"{GROUP_HIDDEN} /> {L_GROUP_HIDDEN}
|
||||
<label><input name="group_type" type="radio" class="radio" id="group_type" value="{GROUP_TYPE_FREE}"{GROUP_FREE} /> {L_GROUP_OPEN}</label>
|
||||
<label><input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_OPEN}"{GROUP_OPEN} /> {L_GROUP_REQUEST}</label>
|
||||
<label><input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_CLOSED}"{GROUP_CLOSED} /> {L_GROUP_CLOSED}</label>
|
||||
<label><input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_HIDDEN}"{GROUP_HIDDEN} /> {L_GROUP_HIDDEN}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- ELSE -->
|
||||
|
@ -65,7 +67,7 @@
|
|||
<dd><input name="group_legend" type="checkbox" class="radio" id="group_legend"{GROUP_LEGEND} /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="group_receive_pm">{L_GROUP_RECEIVE_PM}:</label></dt>
|
||||
<dt><label for="group_receive_pm">{L_GROUP_RECEIVE_PM}:</label><br /><span>{L_GROUP_RECEIVE_PM_EXPLAIN}</span></dt>
|
||||
<dd><input name="group_receive_pm" type="checkbox" class="radio" id="group_receive_pm"{GROUP_RECEIVE_PM} /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
|
@ -87,7 +89,7 @@
|
|||
<dl>
|
||||
<dt><label>{L_CURRENT_IMAGE}:</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd>{AVATAR_IMAGE}</dd>
|
||||
<dd><input type="checkbox" class="radio" name="delete" /> <span>{L_DELETE_AVATAR}</span></dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="delete" /> {L_DELETE_AVATAR}</label></dd>
|
||||
</dl>
|
||||
<!-- IF not S_IN_AVATAR_GALLERY -->
|
||||
<!-- IF S_CAN_UPLOAD -->
|
||||
|
@ -106,7 +108,7 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="width">{L_LINK_REMOTE_SIZE}:</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
|
||||
<dd><input name="width" type="text" id="width" size="3" value="{GROUP_AVATAR_WIDTH}" /> <span>px X </span> <input type="text" name="height" size="3" value="{GROUP_AVATAR_HEIGHT}" /> <span>px</span></dd>
|
||||
<dd><input name="width" type="text" id="width" size="3" value="{AVATAR_WIDTH}" /> <span>px X </span> <input type="text" name="height" size="3" value="{AVATAR_HEIGHT}" /> <span>px</span></dd>
|
||||
</dl>
|
||||
<!-- IF S_DISPLAY_GALLERY -->
|
||||
<dl>
|
||||
|
@ -182,7 +184,7 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="row3" colspan="5"><b>{L_GROUP_LEAD}</b></td>
|
||||
<td class="row3" colspan="5"><strong>{L_GROUP_LEAD}</strong></td>
|
||||
</tr>
|
||||
<!-- BEGIN leader -->
|
||||
<!-- IF leader.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
|
@ -198,12 +200,12 @@
|
|||
</tr>
|
||||
<!-- END leader -->
|
||||
<tr>
|
||||
<td class="row3" colspan="5"><b>{L_GROUP_APPROVED}</b></td>
|
||||
<td class="row3" colspan="5"><strong>{L_GROUP_APPROVED}</strong></td>
|
||||
</tr>
|
||||
<!-- BEGIN member -->
|
||||
<!-- IF member.S_PENDING -->
|
||||
<tr>
|
||||
<td class="row3" colspan="5"><b>{L_GROUP_PENDING}</b></td>
|
||||
<td class="row3" colspan="5"><strong>{L_GROUP_PENDING}</strong></td>
|
||||
</tr>
|
||||
<!-- ELSE -->
|
||||
<!-- IF member.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
|
@ -241,11 +243,13 @@
|
|||
<legend>{L_ADD_USERS}</legend>
|
||||
<dl>
|
||||
<dt><label for="leader">{L_USER_GROUP_LEADER}:</label></dt>
|
||||
<dd><input name="leader" type="radio" class="radio" value="1" /> {L_YES} <input name="leader" type="radio" class="radio" id="leader" value="0" checked="checked" /> {L_NO}</dd>
|
||||
<dd><label><input name="leader" type="radio" class="radio" value="1" /> {L_YES}</label>
|
||||
<label><input name="leader" type="radio" class="radio" id="leader" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="default">{L_USER_GROUP_DEFAULT}:</label><br /><span>{L_USER_GROUP_DEFAULT_EXPLAIN}</span></dt>
|
||||
<dd><input name="default" type="radio" class="radio" value="1" /> {L_YES} <input name="default" type="radio" class="radio" id="default" value="0" checked="checked" /> {L_NO}</dd>
|
||||
<dd><label><input name="default" type="radio" class="radio" value="1" /> {L_YES}</label>
|
||||
<label><input name="default" type="radio" class="radio" id="default" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="usernames">{L_USERNAME}:</label><br /><span>{L_USERNAMES_EXPLAIN}</span></dt>
|
||||
|
|
|
@ -4,6 +4,43 @@
|
|||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
<!-- IF S_ADD_CODE -->
|
||||
<script type="text/javascript" defer="defer">
|
||||
<!--
|
||||
|
||||
var smiley = Array();
|
||||
<!-- BEGIN smile -->
|
||||
smiley['{smile.SMILEY_URL}'] = Array();
|
||||
smiley['{smile.SMILEY_URL}']['code'] = '{smile.CODE}';
|
||||
smiley['{smile.SMILEY_URL}']['emotion'] = '{smile.EMOTION}';
|
||||
smiley['{smile.SMILEY_URL}']['width'] = {smile.WIDTH};
|
||||
smiley['{smile.SMILEY_URL}']['height'] = {smile.HEIGHT};
|
||||
smiley['{smile.SMILEY_URL}']['order'] = {smile.ORDER};
|
||||
<!-- END smile -->
|
||||
|
||||
function update_image(newimage)
|
||||
{
|
||||
var use_element = smiley[newimage];
|
||||
|
||||
document.getElementById('add_image_src').src = '{PHPBB_ROOT_PATH}{IMG_PATH}/' + newimage;
|
||||
document.getElementById('add_code').value = use_element['code'];
|
||||
document.getElementById('add_emotion').value = use_element['emotion'];
|
||||
document.getElementById('add_width').value = use_element['width'];
|
||||
document.getElementById('add_height').value = use_element['height'];
|
||||
|
||||
element = document.getElementById('add_order');
|
||||
for (var i = 0; i < element.length; i++)
|
||||
{
|
||||
if (element.options[i].value == use_element['order'])
|
||||
{
|
||||
document.getElementById('add_order').options.selectedIndex = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<a href="{U_BACK}" style="float: right">« {L_BACK}</a>
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
@ -20,6 +57,7 @@
|
|||
<tr>
|
||||
<th colspan="{COLSPAN}">{L_CONFIG}</th>
|
||||
</tr>
|
||||
<!-- IF .items or S_ADD_CODE -->
|
||||
<tr class="row3">
|
||||
<td>{L_URL}</td>
|
||||
<td>{L_LOCATION}</td>
|
||||
|
@ -45,11 +83,11 @@
|
|||
<td style="text-align: center;"><img src="{items.IMG_SRC}" alt="" title="" /><input type="hidden" name="image[{items.IMG}]" value="1" /></td>
|
||||
<td style="vertical-align: top;">[{items.IMG}]</td>
|
||||
<!-- IF S_SMILIES -->
|
||||
<td><input class="post" type="text" name="code[{items.IMG}]" value="{items.CODE}" size="10" maxlength="50" /></td>
|
||||
<td><input class="post" type="text" name="emotion[{items.IMG}]" value="{items.EMOTION}" size="10" maxlength="50" /></td>
|
||||
<td><input class="text post" type="text" name="code[{items.IMG}]" value="{items.CODE}" size="10" maxlength="50" /></td>
|
||||
<td><input class="text post" type="text" name="emotion[{items.IMG}]" value="{items.EMOTION}" size="10" maxlength="50" /></td>
|
||||
<!-- ENDIF -->
|
||||
<td><input class="post" type="text" size="3" name="width[{items.IMG}]" value="{items.WIDTH}" /></td>
|
||||
<td><input class="post" type="text" size="3" name="height[{items.IMG}]" value="{items.HEIGHT}" /></td>
|
||||
<td><input class="text post" type="text" size="3" name="width[{items.IMG}]" value="{items.WIDTH}" /></td>
|
||||
<td><input class="text post" type="text" size="3" name="height[{items.IMG}]" value="{items.HEIGHT}" /></td>
|
||||
<td>
|
||||
<input type="checkbox" class="radio" name="display_on_posting[{items.IMG}]"{items.POSTING_CHECKED} />
|
||||
<!-- IF items.S_ID -->
|
||||
|
@ -64,6 +102,27 @@
|
|||
<!-- ENDIF -->
|
||||
</tr>
|
||||
<!-- END items -->
|
||||
<!-- IF S_ADD_CODE -->
|
||||
<tr>
|
||||
<th colspan="{COLSPAN}">{L_ADD_SMILEY_CODE}</th>
|
||||
</tr>
|
||||
<tr class="row1">
|
||||
<td style="text-align: center;"><select name="add_image" id="add_image" onchange="update_image(this.options[selectedIndex].value);">{S_IMG_OPTIONS}</select></td>
|
||||
<td style="vertical-align: top;"><img src="{IMG_SRC}" id="add_image_src" alt="" title="" /></td>
|
||||
<td><input class="text post" type="text" name="add_code" id="add_code" value="{CODE}" size="10" maxlength="50" /></td>
|
||||
<td><input class="text post" type="text" name="add_emotion" id="add_emotion" value="{EMOTION}" size="10" maxlength="50" /></td>
|
||||
<td><input class="text post" type="text" size="3" name="add_width" id="add_width" value="{WIDTH}" /></td>
|
||||
<td><input class="text post" type="text" size="3" name="add_height" id="add_height" value="{HEIGHT}" /></td>
|
||||
<td><input type="checkbox" class="radio" name="add_display_on_posting" checked="checked" /></td>
|
||||
<td><select name="add_order" id="add_order">{S_ADD_ORDER_LIST}</select></td>
|
||||
<td><input type="checkbox" class="radio" name="add_additional_code" value="1" /></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
<tr class="row3">
|
||||
<td colspan="{COLSPAN}">{L_NO_ICONS}</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@ -71,6 +130,7 @@
|
|||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
</p>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
@ -97,7 +157,9 @@
|
|||
<dd><select id="pak" name="pak">{S_PAK_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dt><label for="current">{L_CURRENT}</label><br /><span>{L_CURRENT_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" id="current" name="current" value="keep" checked="checked" /> {L_KEEP_ALL} <input type="radio" class="radio" name="current" value="replace" /> {L_REPLACE_MATCHES} <input type="radio" class="radio" name="current" value="delete" /> {L_DELETE_ALL} </dd>
|
||||
<dd><label><input type="radio" class="radio" id="current" name="current" value="keep" checked="checked" /> {L_KEEP_ALL}</label>
|
||||
<label><input type="radio" class="radio" name="current" value="replace" /> {L_REPLACE_MATCHES}</label>
|
||||
<label><input type="radio" class="radio" name="current" value="delete" /> {L_DELETE_ALL}</label></dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
<legend>{L_ACP_JABBER_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="jab_enable">{L_JAB_ENABLE}:</label><br /><span>{L_JAB_ENABLE_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" id="jab_enable" name="jab_enable" value="1"<!-- IF JAB_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED} <input type="radio" class="radio" name="jab_enable" value="0"<!-- IF not JAB_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="jab_enable" name="jab_enable" value="1"<!-- IF JAB_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
|
||||
<label><input type="radio" class="radio" name="jab_enable" value="0"<!-- IF not JAB_ENABLE --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="jab_host">{L_JAB_SERVER}:</label><br /><span>{L_JAB_SERVER_EXPLAIN}</span></dt>
|
||||
|
@ -46,11 +47,11 @@
|
|||
<dd><input type="text" id="jab_package_size" name="jab_package_size" value="{JAB_PACKAGE_SIZE}" maxlength="5" size="5" /></dd>
|
||||
</dl>
|
||||
|
||||
<p class="submit-buttons">
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
</p>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
|
|
@ -116,16 +116,16 @@
|
|||
<select name="language_file">{S_LANG_OPTIONS}</select> <input type="submit" class="button2" name="change" value="{L_SELECT}" />
|
||||
</fieldset>
|
||||
|
||||
<br /><br /><br />
|
||||
<p> <br /> </p>
|
||||
|
||||
|
||||
<!-- DIRTY DIRTY DIRTY IE -->
|
||||
<!--[if lt IE 8]>
|
||||
<style type="text/css">
|
||||
input.langvalue, textarea.langvalue {
|
||||
width: 450px;
|
||||
}
|
||||
</style>
|
||||
< ![endif]-->
|
||||
<![endif]-->
|
||||
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
|
@ -156,9 +156,6 @@
|
|||
<!-- ELSE -->
|
||||
{TPL}
|
||||
<!-- ENDIF -->
|
||||
<tr>
|
||||
<td class="row3" colspan="3" style="text-align: right;"><!-- IF ALLOW_UPLOAD --> {L_UPLOAD_METHOD}: <!-- BEGIN buttons--><input type="radio" class="radio" value="{buttons.VALUE}" name="method" /> {buttons.VALUE} <!-- END buttons --><input type="submit" name="upload_file" class="button2" value="{L_SUBMIT_AND_UPLOAD}" /><!-- ENDIF --></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row3" colspan="3" style="text-align: right;"><input type="submit" name="download_file" class="button2" value="{L_SUBMIT_AND_DOWNLOAD}" /> <input type="submit" name="submit_file" class="button2" value="{L_SUBMIT}" /></td>
|
||||
</tr>
|
||||
|
|
|
@ -35,67 +35,107 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>{L_NUMBER_POSTS}: </td>
|
||||
<td><b>{TOTAL_POSTS}</b></td>
|
||||
<td><strong>{TOTAL_POSTS}</strong></td>
|
||||
<td>{L_POSTS_PER_DAY}: </td>
|
||||
<td><b>{POSTS_PER_DAY}</b></td>
|
||||
<td><strong>{POSTS_PER_DAY}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_NUMBER_TOPICS}: </td>
|
||||
<td><b>{TOTAL_TOPICS}</b></td>
|
||||
<td><strong>{TOTAL_TOPICS}</strong></td>
|
||||
<td>{L_TOPICS_PER_DAY}: </td>
|
||||
<td><b>{TOPICS_PER_DAY}</b></td>
|
||||
<td><strong>{TOPICS_PER_DAY}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_NUMBER_USERS}: </td>
|
||||
<td><b>{TOTAL_USERS}</b></td>
|
||||
<td><strong>{TOTAL_USERS}</strong></td>
|
||||
<td>{L_USERS_PER_DAY}: </td>
|
||||
<td><b>{USERS_PER_DAY}</b></td>
|
||||
<td><strong>{USERS_PER_DAY}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_NUMBER_FILES}: </td>
|
||||
<td><b>{TOTAL_FILES}</b></td>
|
||||
<td><strong>{TOTAL_FILES}</strong></td>
|
||||
<td>{L_FILES_PER_DAY}: </td>
|
||||
<td><b>{FILES_PER_DAY}</b></td>
|
||||
<td><strong>{FILES_PER_DAY}</strong></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td>{L_BOARD_STARTED}: </td>
|
||||
<td><b>{START_DATE}</b></td>
|
||||
<td><strong>{START_DATE}</strong></td>
|
||||
<td>{L_AVATAR_DIR_SIZE}: </td>
|
||||
<td><b>{AVATAR_DIR_SIZE}</b></td>
|
||||
<td><strong>{AVATAR_DIR_SIZE}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_DATABASE_SIZE}: </td>
|
||||
<td><b>{DBSIZE}</b></td>
|
||||
<td><strong>{DBSIZE}</strong></td>
|
||||
<td>{L_UPLOAD_DIR_SIZE}: </td>
|
||||
<td><b>{UPLOAD_DIR_SIZE}</b></td>
|
||||
<td><strong>{UPLOAD_DIR_SIZE}</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_DATABASE_SERVER_INFO}: </td>
|
||||
<td><b>{DATABASE_INFO}</b></td>
|
||||
<td><strong>{DATABASE_INFO}</strong></td>
|
||||
<td>{L_GZIP_COMPRESSION}: </td>
|
||||
<td><b>{GZIP_COMPRESSION}</b></td>
|
||||
<td><strong>{GZIP_COMPRESSION}</strong></td>
|
||||
</tr>
|
||||
<!-- IF S_TOTAL_ORPHAN -->
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td>{L_NUMBER_ORPHAN}: </td>
|
||||
<td><b>{TOTAL_ORPHAN}</b></td>
|
||||
<td><strong>{TOTAL_ORPHAN}</strong></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- IF S_ACTION_OPTIONS -->
|
||||
<form id="stats" method="post" action="{U_ACTION}">
|
||||
<fieldset class="quick">
|
||||
<select name="action">{S_ACTION_OPTIONS}</select>
|
||||
<fieldset>
|
||||
<legend>{L_STATISTIC_RESYNC_OPTIONS}</legend>
|
||||
|
||||
<input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<form id="action_online_form" method="post" action="{U_ACTION}">
|
||||
<dl>
|
||||
<dt><label for="action_online">{L_RESET_ONLINE}</label><br /><span> </span></dt>
|
||||
<dd><input type="hidden" name="action" value="online" /><input class="button2" type="submit" id="action_online" name="action_online" value="{L_RUN}" /></dd>
|
||||
</dl>
|
||||
</form>
|
||||
|
||||
<form id="action_date_form" method="post" action="{U_ACTION}">
|
||||
<dl>
|
||||
<dt><label for="action_date">{L_RESET_DATE}</label><br /><span> </span></dt>
|
||||
<dd><input type="hidden" name="action" value="date" /><input class="button2" type="submit" id="action_date" name="action_date" value="{L_RUN}" /></dd>
|
||||
</dl>
|
||||
</form>
|
||||
|
||||
<form id="action_stats_form" method="post" action="{U_ACTION}">
|
||||
<dl>
|
||||
<dt><label for="action_stats">{L_RESYNC_STATS}</label><br /><span>{L_RESYNC_STATS_EXPLAIN}</span></dt>
|
||||
<dd><input type="hidden" name="action" value="stats" /><input class="button2" type="submit" id="action_stats" name="action_stats" value="{L_RUN}" /></dd>
|
||||
</dl>
|
||||
</form>
|
||||
|
||||
<form id="action_user_form" method="post" action="{U_ACTION}">
|
||||
<dl>
|
||||
<dt><label for="action_user">{L_RESYNC_POSTCOUNTS}</label><br /><span>{L_RESYNC_POSTCOUNTS_EXPLAIN}</span></dt>
|
||||
<dd><input type="hidden" name="action" value="user" /><input class="button2" type="submit" id="action_user" name="action_user" value="{L_RUN}" /></dd>
|
||||
</dl>
|
||||
</form>
|
||||
|
||||
<form id="action_db_track_form" method="post" action="{U_ACTION}">
|
||||
<dl>
|
||||
<dt><label for="action_db_track">{L_RESYNC_POST_MARKING}</label><br /><span>{L_RESYNC_POST_MARKING_EXPLAIN}</span></dt>
|
||||
<dd><input type="hidden" name="action" value="db_track" /><input class="button2" type="submit" id="action_db_track" name="action_db_track" value="{L_RUN}" /></dd>
|
||||
</dl>
|
||||
</form>
|
||||
|
||||
<!-- IF S_FOUNDER -->
|
||||
<form id="action_purge_cache_form" method="post" action="{U_ACTION}">
|
||||
<dl>
|
||||
<dt><label for="action_purge_cache">{L_PURGE_CACHE}</label><br /><span>{L_PURGE_CACHE_EXPLAIN}</span></dt>
|
||||
<dd><input type="hidden" name="action" value="purge_cache" /><input class="button2" type="submit" id="action_purge_cache" name="action_purge_cache" value="{L_RUN}" /></dd>
|
||||
</dl>
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .log -->
|
||||
|
@ -103,6 +143,8 @@
|
|||
|
||||
<p>{L_ADMIN_LOG_INDEX_EXPLAIN}</p>
|
||||
|
||||
<div style="text-align: right;"><a href="{U_ADMIN_LOG}">» {L_VIEW_ADMIN_LOG}</a></div>
|
||||
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
|
@ -126,7 +168,6 @@
|
|||
</table>
|
||||
|
||||
<br />
|
||||
<div style="text-align: right;"><a href="{U_ADMIN_LOG}">» {L_VIEW_ADMIN_LOG}</a></div>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
<dl>
|
||||
<dt><label for="module_langname">{L_MODULE_LANGNAME}:</label><br />
|
||||
<span>{L_MODULE_LANGNAME_EXPLAIN}</span></dt>
|
||||
<dd><input name="module_langname" type="text" id="module_langname" value="{MODULE_LANGNAME}" class="medium" /></dd>
|
||||
<dd><input name="module_langname" type="text" class="text medium" id="module_langname" value="{MODULE_LANGNAME}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_type">{L_MODULE_TYPE}:</label></dt>
|
||||
|
@ -89,13 +89,13 @@
|
|||
<dl>
|
||||
<dt><label for="module_enabled">{L_MODULE_ENABLED}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="module_enabled" id="module_enabled" value="1"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="module_enabled" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
<label><input type="radio" class="radio" name="module_enabled" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<div id="modoptions"<!-- IF S_IS_CAT --> style="display: none;"<!-- ENDIF -->>
|
||||
<dl>
|
||||
<dt><label for="module_display">{L_MODULE_DISPLAYED}:</label><br /><span>{L_MODULE_DISPLAYED_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="module_display" id="module_display" value="1"<!-- IF MODULE_DISPLAY --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="module_display" value="0"<!-- IF not MODULE_DISPLAY --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
<label><input type="radio" class="radio" name="module_display" value="0"<!-- IF not MODULE_DISPLAY --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_basename">{L_CHOOSE_MODULE}:</label><br />
|
||||
|
@ -147,7 +147,7 @@
|
|||
<tbody>
|
||||
<!-- BEGIN modules -->
|
||||
<tr>
|
||||
<td style="width: 5%;">{modules.MODULE_IMAGE}</td>
|
||||
<td style="width: 5%; text-align: center;">{modules.MODULE_IMAGE}</td>
|
||||
<td><a href="{modules.U_MODULE}">{modules.MODULE_TITLE}</a><!-- IF not modules.MODULE_DISPLAYED --> <span class="small">[{L_HIDDEN_MODULE}]</span><!-- ENDIF --></td>
|
||||
<td style="width: 15%; white-space: nowrap; text-align: center; vertical-align: middle;"> <!-- IF modules.MODULE_ENABLED --><a href="{modules.U_DISABLE}">{L_DISABLE}</a><!-- ELSE --><a href="{modules.U_ENABLE}">{L_ENABLE}</a><!-- ENDIF --> </td>
|
||||
<td style="width:90px; white-space: nowrap; text-align: right; vertical-align: middle;">
|
||||
|
|
|
@ -64,56 +64,52 @@
|
|||
|
||||
<h1>{L_ACL_TYPE}</h1>
|
||||
|
||||
<fieldset class="quick">
|
||||
<a href="#" onclick="mark_options('advanced00', 'y'); init_colours('00'); return false;">{L_ALL_YES}</a> • <a href="#" onclick="mark_options('advanced00', 'n'); init_colours('00'); return false;">{L_ALL_NEVER}</a> • <a href="#" onclick="mark_options('advanced00', 'u'); init_colours('00'); return false;">{L_ALL_NO}</a>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="perm nolegend">
|
||||
|
||||
<div id="advanced00">
|
||||
<div class="perm_cat">
|
||||
<div class="permissions-category">
|
||||
<ul>
|
||||
<!-- BEGIN auth -->
|
||||
<!-- IF auth.S_YES -->
|
||||
<li class="perm_preset_yes<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
|
||||
<li class="permissions-preset-yes<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
|
||||
<!-- ELSEIF auth.S_NEVER -->
|
||||
<li class="perm_preset_never<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
|
||||
<li class="permissions-preset-never<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
|
||||
<!-- ELSEIF auth.S_NO -->
|
||||
<li class="perm_preset_no<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
|
||||
<li class="permissions-preset-no<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
|
||||
<!-- ELSE -->
|
||||
<li class="perm_preset_custom<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
|
||||
<li class="permissions-preset-custom<!-- IF auth.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab00{auth.S_ROW_COUNT}">
|
||||
<!-- ENDIF -->
|
||||
<a href="#" onclick="swap_options('0','0','{auth.S_ROW_COUNT}'); return false;"><span class="tabbg"><span class="colour"></span>{auth.CAT_NAME}</span></a></li>
|
||||
<!-- END auth -->
|
||||
</ul>
|
||||
</div>
|
||||
<!-- BEGIN auth -->
|
||||
<div class="perm_panel" id="options00{auth.S_ROW_COUNT}"<!-- IF auth.S_FIRST_ROW --><!-- ELSE --> style="display: none;"<!-- ENDIF -->>
|
||||
<div class="permissions-panel" id="options00{auth.S_ROW_COUNT}"<!-- IF auth.S_FIRST_ROW --><!-- ELSE --> style="display: none;"<!-- ENDIF -->>
|
||||
<span class="corners-top"><span></span></span>
|
||||
<div class="tablewrap">
|
||||
<table id="table00{auth.S_ROW_COUNT}" cellspacing="1">
|
||||
<colgroup>
|
||||
<col class="permissions_name" />
|
||||
<col class="permissions_yes" />
|
||||
<col class="permissions_no" />
|
||||
<col class="permissions_never" />
|
||||
<col class="permissions-name" />
|
||||
<col class="permissions-yes" />
|
||||
<col class="permissions-no" />
|
||||
<col class="permissions-never" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="name" scope="col"><strong>{L_ACL_SETTING}</strong></th>
|
||||
<th class="value" scope="col"><a href="#" onclick="mark_options('options00{auth.S_ROW_COUNT}', 'y'); set_colours('00{auth.S_ROW_COUNT}', false, 'yes'); return false;">{L_ACL_YES}</a></th>
|
||||
<th class="value" scope="col"><a href="#" onclick="mark_options('options00{auth.S_ROW_COUNT}', 'u'); set_colours('00{auth.S_ROW_COUNT}', false, 'no'); return false;">{L_ACL_NO}</a></th>
|
||||
<th class="value" scope="col"><a href="#" onclick="mark_options('options00{auth.S_ROW_COUNT}', 'n'); set_colours('00{auth.S_ROW_COUNT}', false, 'never'); return false;">{L_ACL_NEVER}</a></th>
|
||||
<th class="value permissions-yes" scope="col"><a href="#" onclick="mark_options('options00{auth.S_ROW_COUNT}', 'y'); set_colours('00{auth.S_ROW_COUNT}', false, 'yes'); return false;">{L_ACL_YES}</a></th>
|
||||
<th class="value permissions-no" scope="col"><a href="#" onclick="mark_options('options00{auth.S_ROW_COUNT}', 'u'); set_colours('00{auth.S_ROW_COUNT}', false, 'no'); return false;">{L_ACL_NO}</a></th>
|
||||
<th class="value permissions-never" scope="col"><a href="#" onclick="mark_options('options00{auth.S_ROW_COUNT}', 'n'); set_colours('00{auth.S_ROW_COUNT}', false, 'never'); return false;">{L_ACL_NEVER}</a></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN mask -->
|
||||
<!-- IF auth.mask.S_ROW_COUNT is even --><tr class="row4"><!-- ELSE --><tr class="row3"><!-- ENDIF -->
|
||||
<th class="permission_name<!-- IF auth.mask.S_ROW_COUNT is even --> row4<!-- ELSE --> row3<!-- ENDIF -->">{auth.mask.PERMISSION}</th>
|
||||
<th class="permissions-name<!-- IF auth.mask.S_ROW_COUNT is even --> row4<!-- ELSE --> row3<!-- ENDIF -->">{auth.mask.PERMISSION}</th>
|
||||
|
||||
<td><label for="{auth.mask.FIELD_NAME}_y"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting[{auth.mask.FIELD_NAME}]_y" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_YES --> checked="checked"<!-- ENDIF --> value="1" /></label></td>
|
||||
<td><label for="{auth.mask.FIELD_NAME}_u"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting[{auth.mask.FIELD_NAME}]_u" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_NO --> checked="checked"<!-- ENDIF --> value="-1" /></label></td>
|
||||
<td><label for="{auth.mask.FIELD_NAME}_n"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting[{auth.mask.FIELD_NAME}]_n" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_NEVER --> checked="checked"<!-- ENDIF --> value="0" /></label></td>
|
||||
<td class="permissions-yes"><label for="{auth.mask.FIELD_NAME}_y"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting[{auth.mask.FIELD_NAME}]_y" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_YES --> checked="checked"<!-- ENDIF --> value="1" /></label></td>
|
||||
<td class="permissions-no"><label for="{auth.mask.FIELD_NAME}_u"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting[{auth.mask.FIELD_NAME}]_u" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_NO --> checked="checked"<!-- ENDIF --> value="-1" /></label></td>
|
||||
<td class="permissions-never"><label for="{auth.mask.FIELD_NAME}_n"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting[{auth.mask.FIELD_NAME}]_n" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_NEVER --> checked="checked"<!-- ENDIF --> value="0" /></label></td>
|
||||
</tr>
|
||||
<!-- END mask -->
|
||||
</tbody>
|
||||
|
@ -154,7 +150,7 @@
|
|||
<tbody>
|
||||
<!-- BEGIN roles -->
|
||||
<tr>
|
||||
<td style="vertical-align: top;"><b>{roles.ROLE_NAME}</b>
|
||||
<td style="vertical-align: top;"><strong>{roles.ROLE_NAME}</strong>
|
||||
<!-- IF roles.ROLE_DESCRIPTION --><br /><span>{roles.ROLE_DESCRIPTION}</span><!-- ENDIF -->
|
||||
</td>
|
||||
<td style="width: 30%; text-align: center; vertical-align: top; white-space: nowrap;"><!-- IF roles.U_DISPLAY_ITEMS --><a href="{roles.U_DISPLAY_ITEMS}">{L_VIEW_ASSIGNED_ITEMS}</a><!-- ELSE -->{L_VIEW_ASSIGNED_ITEMS}<!-- ENDIF --></td>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<p>{L_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_FORUM_NAMES -->
|
||||
<p><b>{L_FORUMS}:</b> {FORUM_NAMES}</p>
|
||||
<p><strong>{L_FORUMS}:</strong> {FORUM_NAMES}</p>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_SELECT_FORUM -->
|
||||
|
@ -30,13 +30,14 @@
|
|||
<dl>
|
||||
<dt><label for="forum">{L_LOOK_UP_FORUM}:</label></dt>
|
||||
<dd><select id="forum" name="forum_id[]"<!-- IF S_FORUM_MULTIPLE --> multiple="multiple"<!-- ENDIF --> size="10">{S_FORUM_OPTIONS}</select></dd>
|
||||
<!-- IF S_FORUM_ALL --><dd><input type="checkbox" class="radio" name="all_forums" value="1" /> {L_ALL_FORUMS}</dd><!-- ENDIF -->
|
||||
<!-- IF S_FORUM_ALL --><dd><label><input type="checkbox" class="radio" name="all_forums" value="1" /> {L_ALL_FORUMS}</label></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<p class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
|
||||
</p>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
@ -52,11 +53,12 @@
|
|||
<dt><label for="sforum">{L_LOOK_UP_FORUM}:</label></dt>
|
||||
<dd><select id="sforum" name="subforum_id">{S_SUBFORUM_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<p class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
|
||||
</p>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
@ -71,15 +73,15 @@
|
|||
<legend>{L_LOOK_UP_USER}</legend>
|
||||
<dl>
|
||||
<dt><label for="username">{L_FIND_USERNAME}:</label></dt>
|
||||
<dd><input class="medium" type="text" id="username" name="username[]" /></dd>
|
||||
<dd><input class="text medium" type="text" id="username" name="username[]" /></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd class="full" style="text-align: left;"><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</dd>
|
||||
<dd class="full" style="text-align: left;"><label><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<p class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
|
||||
</p>
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
@ -94,11 +96,12 @@
|
|||
<dt><label for="group">{L_LOOK_UP_GROUP}:</label></dt>
|
||||
<dd><select name="group_id[]" id="group">{S_GROUP_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<p class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
|
||||
</p>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
@ -106,7 +109,7 @@
|
|||
<!-- ELSEIF S_SELECT_USERGROUP -->
|
||||
|
||||
<div style="float: left; width: 48%;">
|
||||
|
||||
|
||||
<!-- IF S_CAN_SELECT_USER -->
|
||||
|
||||
<h1>{L_USERS}</h1>
|
||||
|
@ -117,7 +120,7 @@
|
|||
<legend>{L_MANAGE_USERS}</legend>
|
||||
<dl>
|
||||
<dd class="full"><select style="width: 100%;" name="user_id[]" multiple="multiple" size="5">{S_DEFINED_USER_OPTIONS}</select></dd>
|
||||
<!-- IF S_ALLOW_ALL_SELECT --><dd class="full" style="text-align: right;"><input type="checkbox" class="radio" name="all_users" value="1" /> {L_ALL_USERS}</dd><!-- ENDIF -->
|
||||
<!-- IF S_ALLOW_ALL_SELECT --><dd class="full" style="text-align: right;"><label><input type="checkbox" class="radio" name="all_users" value="1" /> {L_ALL_USERS}</label></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
@ -129,13 +132,13 @@
|
|||
</form>
|
||||
|
||||
<form id="add_user" method="post" action="{U_ACTION}">
|
||||
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ADD_USERS}</legend>
|
||||
<p>{L_USERNAMES_EXPLAIN}</p>
|
||||
<dl>
|
||||
<dd class="full"><textarea id="username" name="usernames" rows="5" cols="5" style="width: 100%; height: 60px;"></textarea></dd>
|
||||
<dd class="full" style="text-align: left;"><div style="float: right;">[ <a href="{U_FIND_USERNAME}" onclick="find_username(); return false;">{L_FIND_USERNAME}</a> ]</div><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</dd>
|
||||
<dd class="full" style="text-align: left;"><div style="float: right;">[ <a href="{U_FIND_USERNAME}" onclick="find_username(); return false;">{L_FIND_USERNAME}</a> ]</div><label><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
@ -162,7 +165,7 @@
|
|||
<legend>{L_MANAGE_GROUPS}</legend>
|
||||
<dl>
|
||||
<dd class="full"><select style="width: 100%;" name="group_id[]" multiple="multiple" size="5">{S_DEFINED_GROUP_OPTIONS}</select></dd>
|
||||
<!-- IF S_ALLOW_ALL_SELECT --><dd class="full" style="text-align: right;"><input type="checkbox" class="radio" name="all_groups" value="1" /> {L_ALL_GROUPS}</dd><!-- ENDIF -->
|
||||
<!-- IF S_ALLOW_ALL_SELECT --><dd class="full" style="text-align: right;"><label><input type="checkbox" class="radio" name="all_groups" value="1" /> {L_ALL_GROUPS}</label></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
@ -223,7 +226,7 @@
|
|||
<dt><label for="username">{L_FIND_USERNAME}:</label></dt>
|
||||
<dd><input type="text" id="username" name="username[]" /></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd class="full" style="text-align: left;"><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</dd>
|
||||
<dd class="full" style="text-align: left;"><label><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
@ -287,7 +290,7 @@
|
|||
<p>{L_ACL_VIEW_EXPLAIN}</p>
|
||||
|
||||
<fieldset class="quick">
|
||||
<b>» {L_PERMISSION_TYPE}</b>
|
||||
<strong>» {L_PERMISSION_TYPE}</strong>
|
||||
</fieldset>
|
||||
|
||||
<!-- INCLUDE permission_mask.html -->
|
||||
|
@ -303,7 +306,7 @@
|
|||
<br />
|
||||
|
||||
<fieldset class="quick" style="float: right;">
|
||||
<b>» {L_PERMISSION_TYPE}</b>
|
||||
<strong>» {L_PERMISSION_TYPE}</strong>
|
||||
</fieldset>
|
||||
|
||||
<!-- IF S_PERMISSION_DROPDOWN -->
|
||||
|
@ -325,11 +328,11 @@
|
|||
<script type="text/javascript" src="style/tooltip.js"></script>
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
window.onload = function(){enable_tooltips_select('set_permissions', '{LA_ROLE_DESCRIPTION}', 'role')};
|
||||
window.onload = function(){enable_tooltips_select('set-permissions', '{LA_ROLE_DESCRIPTION}', 'role')};
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<form id="set_permissions" method="post" action="{U_ACTION}">
|
||||
<form id="set-permissions" method="post" action="{U_ACTION}">
|
||||
|
||||
{S_HIDDEN_FIELDS}
|
||||
|
||||
|
@ -339,7 +342,7 @@
|
|||
|
||||
<fieldset class="quick" style="float: right;">
|
||||
<input class="button1" type="submit" name="action[apply_all_permissions]" value="{L_APPLY_ALL_PERMISSIONS}" />
|
||||
<input class="button2" type="button" name="cancel" value="{L_RESET}" onclick="document.forms['set_permissions'].reset(); init_colours(active_pmask + active_fmask);" />
|
||||
<input class="button2" type="button" name="cancel" value="{L_RESET}" onclick="document.forms['set-permissions'].reset(); init_colours(active_pmask + active_fmask);" />
|
||||
</fieldset>
|
||||
|
||||
<br /><br />
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<legend>{L_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_FIELD_TYPE}:</label><br /><span>{L_FIELD_TYPE_EXPLAIN}</span></dt>
|
||||
<dd><b>{FIELD_TYPE}</b></dd>
|
||||
<dd><strong>{FIELD_TYPE}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF S_EDIT_MODE -->
|
||||
<dl>
|
||||
|
@ -35,12 +35,13 @@
|
|||
<!-- ELSE -->
|
||||
<dl>
|
||||
<dt><label for="field_ident">{L_FIELD_IDENT}:</label><br /><span>{L_FIELD_IDENT_EXPLAIN}</span></dt>
|
||||
<dd><input class="medium" type="text" id="field_ident" name="field_ident" value="{FIELD_IDENT}" /></dd>
|
||||
<dd><input class="text medium" type="text" id="field_ident" name="field_ident" value="{FIELD_IDENT}" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="field_no_view">{L_DISPLAY_PROFILE_FIELD}:</label><br /><span>{L_DISPLAY_PROFILE_FIELD_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" id="field_no_view" name="field_no_view" value="0"<!-- IF not S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="field_no_view" value="1"<!-- IF S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="field_no_view" name="field_no_view" value="0"<!-- IF not S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="field_no_view" value="1"<!-- IF S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
@ -74,7 +75,7 @@
|
|||
<legend>{L_LANG_SPECIFIC}</legend>
|
||||
<dl>
|
||||
<dt><label for="lang_name">{L_USER_FIELD_NAME}:</label></dt>
|
||||
<dd><input class="medium" type="text" id="lang_name" name="lang_name" value="{LANG_NAME}" /></dd>
|
||||
<dd><input class="text medium" type="text" id="lang_name" name="lang_name" value="{LANG_NAME}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="lang_explain">{L_FIELD_DESCRIPTION}:</label><br /><span>{L_FIELD_DESCRIPTION_EXPLAIN}</span></dt>
|
||||
|
@ -83,7 +84,7 @@
|
|||
<!-- IF S_TEXT or S_STRING -->
|
||||
<dl>
|
||||
<dt><label for="lang_default_value">{L_DEFAULT_VALUE}:</label><br /><span>{L_DEFAULT_VALUE_EXPLAIN}</span></dt>
|
||||
<dd><!-- IF S_STRING --><input class="medium" type="text" id="lang_default_value" name="lang_default_value" value="{LANG_DEFAULT_VALUE}" /><!-- ELSE --><textarea id="lang_default_value" name="lang_default_value" rows="5" cols="80">{LANG_DEFAULT_VALUE}</textarea><!-- ENDIF --></dd>
|
||||
<dd><!-- IF S_STRING --><input class="text medium" type="text" id="lang_default_value" name="lang_default_value" value="{LANG_DEFAULT_VALUE}" /><!-- ELSE --><textarea id="lang_default_value" name="lang_default_value" rows="5" cols="80">{LANG_DEFAULT_VALUE}</textarea><!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_BOOL or S_DROPDOWN -->
|
||||
|
@ -212,7 +213,7 @@
|
|||
<form id="profile_fields" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="small" type="text" name="field_ident" /> <select name="field_type">{S_TYPE_OPTIONS}</select>
|
||||
<input class="text small" type="text" name="field_ident" /> <select name="field_type">{S_TYPE_OPTIONS}</select>
|
||||
<input class="button1" type="submit" name="submit" value="{L_CREATE_NEW_FIELD}" />
|
||||
<input type="hidden" name="create" value="1" />
|
||||
</fieldset>
|
||||
|
|
|
@ -41,8 +41,11 @@
|
|||
|
||||
<fieldset>
|
||||
<legend>{L_SELECT_FORUM}</legend>
|
||||
<p>{L_LOOK_UP_FORUMS_EXPLAIN}</p>
|
||||
<dl>
|
||||
<dd class="full"><select name="f[]" multiple="multiple" size="5">{S_FORUM_OPTIONS}</select></dd>
|
||||
<dt><label for="forum">{L_LOOK_UP_FORUM}:</label></dt>
|
||||
<dd><select name="f[]" multiple="multiple" size="5">{S_FORUM_OPTIONS}</select></dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="all_forums" value="1" /> {L_ALL_FORUMS}</label></dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
|
@ -78,15 +81,18 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="polls">{L_PRUNE_OLD_POLLS}:</label><br /><span>{L_PRUNE_OLD_POLLS_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="prune_old_polls" value="1" /> {L_YES} <input type="radio" class="radio" id="polls" name="prune_old_polls" value="0" checked="checked" /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="prune_old_polls" value="1" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" id="polls" name="prune_old_polls" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="announce">{L_PRUNE_ANNOUNCEMENTS}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="prune_announce" value="1" /> {L_YES} <input type="radio" class="radio" id="announce" name="prune_announce" value="0" checked="checked" /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="prune_announce" value="1" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" id="announce" name="prune_announce" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="sticky">{L_PRUNE_STICKY}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="prune_sticky" value="1" /> {L_YES} <input type="radio" class="radio" id="sticky" name="prune_sticky" value="0" checked="checked" /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="prune_sticky" value="1" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" id="sticky" name="prune_sticky" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
|
|
|
@ -37,11 +37,13 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="deleteposts">{L_DELETE_USER_POSTS}:</label><br /><span>{L_DELETE_USER_POSTS_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="deleteposts" value="1" /> {L_YES} <input type="radio" class="radio" id="deleteposts" name="deleteposts" value="0" checked="checked" /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="deleteposts" value="1" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" id="deleteposts" name="deleteposts" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="deactivate">{L_DEACTIVATE_DELETE}:</label><br /><span>{L_DEACTIVATE_DELETE_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="action" value="delete" /> {L_DELETE_USERS} <input type="radio" class="radio" id="deactivate" name="action" value="deactivate" checked="checked" /> {L_DEACTIVATE}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="action" value="delete" /> {L_DELETE_USERS}</label>
|
||||
<label><input type="radio" class="radio" id="deactivate" name="action" value="deactivate" checked="checked" /> {L_DEACTIVATE}</label></dd>
|
||||
</dl>
|
||||
|
||||
<p class="submit-buttons">
|
||||
|
|
|
@ -35,7 +35,8 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="special_rank">{L_RANK_SPECIAL}:</label></dt>
|
||||
<dd><input onchange="dE('posts', -1)" type="radio" class="radio" name="special_rank" value="1" id="special_rank"<!-- IF S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> />{L_YES} <input onchange="dE('posts', 1)" type="radio" class="radio" name="special_rank" value="0"<!-- IF not S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input onchange="dE('posts', -1)" type="radio" class="radio" name="special_rank" value="1" id="special_rank"<!-- IF S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input onchange="dE('posts', 1)" type="radio" class="radio" name="special_rank" value="0"<!-- IF not S_SPECIAL_RANK --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<!-- IF S_SPECIAL_RANK --><div id="posts" style="display: none;"><!-- ELSE --><div id="posts"><!-- ENDIF -->
|
||||
<dl>
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
<legend>{L_GENERAL_SEARCH_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="load_search">{L_YES_SEARCH}:</label><br /><span>{L_YES_SEARCH_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" id="load_search" name="config[load_search]" value="1"<!-- IF S_YES_SEARCH --> checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="config[load_search]" value="0"<!-- IF not S_YES_SEARCH --> checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="load_search" name="config[load_search]" value="1"<!-- IF S_YES_SEARCH --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="config[load_search]" value="0"<!-- IF not S_YES_SEARCH --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="search_interval">{L_SEARCH_INTERVAL}:</label><br /><span>{L_SEARCH_INTERVAL_EXPLAIN}</span></dt>
|
||||
|
@ -80,14 +81,20 @@
|
|||
|
||||
<h1>{L_ACP_SEARCH_INDEX}</h1>
|
||||
|
||||
<p>{L_ACP_SEARCH_INDEX_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_CONTINUE_INDEXING -->
|
||||
<a href="{U_CONTINUE_INDEXING}" onclick="popup_progress_bar('{S_CONTINUE_INDEXING}');">{L_CONTINUE}</a>
|
||||
|
||||
<p>{L_CONTINUE_EXPLAIN}</p>
|
||||
|
||||
<form id="acp_search_continue" method="post" action="{U_CONTINUE_INDEXING}">
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
<input class="button1" type="submit" id="continue" name="continue" value="{L_CONTINUE}" onclick="popup_progress_bar('{S_CONTINUE_INDEXING}');" />
|
||||
<input class="button2" type="submit" id="cancel" name="cancel" value="{L_CANCEL}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ELSE -->
|
||||
|
||||
<p>{L_ACP_SEARCH_INDEX_EXPLAIN}</p>
|
||||
|
||||
<!-- BEGIN backend -->
|
||||
|
||||
<!-- IF backend.S_STATS -->
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<legend>{L_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_NAME}:</label></dt>
|
||||
<dd><b>{NAME}</b></dd>
|
||||
<dd><strong>{NAME}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="new_id">{L_REPLACE}:</label><br /><span>{L_REPLACE_EXPLAIN}</span></dt>
|
||||
|
@ -100,7 +100,8 @@
|
|||
</dl>
|
||||
<dl>
|
||||
<dt><label for="imgsize">{L_INCLUDE_DIMENSIONS}:</label><br /><span>{L_DIMENSIONS_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="imgsize" id="imgsize" value="1"<!-- IF IMAGE_SIZE --> checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="imgsize" value="0"<!-- IF not IMAGE_SIZE --> checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="imgsize" id="imgsize" value="1"<!-- IF IMAGE_SIZE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="imgsize" value="0"<!-- IF not IMAGE_SIZE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
@ -140,243 +141,90 @@
|
|||
//-->
|
||||
</script>
|
||||
|
||||
<!-- IF S_EDIT_TEMPLATE -->
|
||||
<a href="{U_BACK}" style="float: right">« {L_BACK}</a>
|
||||
|
||||
<a href="{U_BACK}" style="float: right">« {L_BACK}</a>
|
||||
<h1>{L_EDIT}</h1>
|
||||
|
||||
<h1>{L_EDIT_TEMPLATE}</h1>
|
||||
<p>{L_EDIT_EXPLAIN}</p>
|
||||
|
||||
<p>{L_EDIT_TEMPLATE_EXPLAIN}</p>
|
||||
<p>{L_SELECTED}: <strong>{SELECTED_TEMPLATE}</strong></p>
|
||||
|
||||
<p>{L_SELECTED_TEMPLATE}: <b>{SELECTED_TEMPLATE}</b></p>
|
||||
<form id="acp_styles" method="post" action="{U_ACTION}">
|
||||
|
||||
<form id="acp_styles" method="post" action="{U_ACTION}">
|
||||
<!-- IF S_EDIT_TEMPLATE or (S_EDIT_THEME and not S_THEME_IN_DB) -->
|
||||
<fieldset>
|
||||
<legend>{L_SELECT}</legend>
|
||||
<dl>
|
||||
<dt><label for="template_file">{L_FILE}:</label></dt>
|
||||
<dd><select id="template_file" name="template_file" onchange="if (this.options[this.selectedIndex].value != '') this.form.submit();">{S_TEMPLATES}</select> <input class="button2" type="submit" value="{L_SELECT}" /></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_SELECT_TEMPLATE}</legend>
|
||||
<dl>
|
||||
<dt><label for="template_file">{L_TEMPLATE_FILE}:</label></dt>
|
||||
<dd><select id="template_file" name="template_file" onchange="if (this.options[this.selectedIndex].value != '') this.form.submit();">{S_TEMPLATES}</select> <input class="button2" type="submit" value="{L_SELECT}" /></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- IF TEMPLATE_FILE -->
|
||||
<script type="text/javascript" defer="defer">
|
||||
<!--
|
||||
|
||||
function change_editor_height(height)
|
||||
{
|
||||
editor = document.getElementById('template_data');
|
||||
editor.rows = Math.max(5, Math.min(height, 999));
|
||||
|
||||
append_text_rows('acp_styles', height);
|
||||
append_text_rows('acp_template', height);
|
||||
}
|
||||
|
||||
function append_text_rows(form_name, value)
|
||||
{
|
||||
url = document.getElementById(form_name).action;
|
||||
var_start = url.indexOf('&text_rows=');
|
||||
if (var_start == -1)
|
||||
{
|
||||
document.getElementById(form_name).action = url + "&text_rows=" + value;
|
||||
}
|
||||
else
|
||||
{
|
||||
url_start = url.substring(0, var_start + 1);
|
||||
var_end = url.substring(var_start + 1).indexOf('&');
|
||||
if (var_end == -1)
|
||||
{
|
||||
document.getElementById(form_name).action = url_start + "text_rows=" + value;
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById(form_name).action = url_start + url.substring(var_end + var_start + 2) + "&text_rows=" + value;
|
||||
}
|
||||
}
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<form id="acp_template" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_TEMPLATE_EDITOR}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_SELECTED_TEMPLATE_FILE}:</label></dt>
|
||||
<dd>{TEMPLATE_FILE}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="text_rows">{L_TEMPLATE_EDITOR_HEIGHT}:</label></dt>
|
||||
<dd><input id="text_rows" type="text" maxlength="3" value="{TEXT_ROWS}" /> <input class="button2" type="button" name="update" onclick="change_editor_height(this.form.text_rows.value);" value="{L_UPDATE}" /></dd>
|
||||
</dl>
|
||||
<textarea id="template_data" name="template_data" style="font-family:'Courier New', monospace;font-size:9pt;line-height:125%;width:100%;" cols="80" rows="{TEXT_ROWS}">{TEMPLATE_DATA}</textarea>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input class="button1" id="save" type="submit" name="save" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- ELSEIF S_EDIT_THEME -->
|
||||
|
||||
<script type="text/javascript">
|
||||
<!-- IF TEMPLATE_FILE or (S_EDIT_THEME and S_THEME_IN_DB) -->
|
||||
<script type="text/javascript" defer="defer">
|
||||
<!--
|
||||
|
||||
function change_editor_height(height)
|
||||
{
|
||||
editor = document.getElementById('css_data');
|
||||
editor = document.getElementById('template_data');
|
||||
editor.rows = Math.max(5, Math.min(height, 999));
|
||||
|
||||
append_text_rows('acp_styles', height);
|
||||
append_text_rows('acp_theme', height);
|
||||
append_text_rows('acp_custom_class', height);
|
||||
append_text_rows('acp_template', height);
|
||||
}
|
||||
|
||||
function append_text_rows(form_name, value)
|
||||
{
|
||||
url = document.getElementById(form_name).action;
|
||||
var_start = url.indexOf('&text_rows=');
|
||||
if (var_start == -1)
|
||||
{
|
||||
document.getElementById(form_name).action = url + "&text_rows=" + value;
|
||||
}
|
||||
else
|
||||
{
|
||||
url_start = url.substring(0, var_start + 1);
|
||||
var_end = url.substring(var_start + 1).indexOf('&');
|
||||
if (var_end == -1)
|
||||
{
|
||||
document.getElementById(form_name).action = url_start + "text_rows=" + value;
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById(form_name).action = url_start + url.substring(var_end + var_start + 2) + "&text_rows=" + value;
|
||||
}
|
||||
}
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<a href="{U_BACK}" style="float: right">« {L_BACK}</a>
|
||||
|
||||
<h1>{L_EDIT_THEME}</h1>
|
||||
|
||||
<p>{L_EDIT_THEME_EXPLAIN}</p>
|
||||
|
||||
<p>{L_SELECTED_THEME}: <strong>{SELECTED_THEME}</strong></p>
|
||||
|
||||
<!-- IF S_SHOWCSS -->
|
||||
<h3>{L_SHOW_CSS_NOTE}</h3>
|
||||
<p>{L_SHOW_CSS_EXPLAIN}</p>
|
||||
<!-- ENDIF -->
|
||||
<form id="acp_styles" method="post" action="{U_ACTION}">
|
||||
<form id="acp_template" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_SELECT_CLASS}</legend>
|
||||
<legend>{L_EDITOR}</legend>
|
||||
<!-- IF S_EDIT_TEMPLATE or (S_EDIT_THEME and not S_THEME_IN_DB) -->
|
||||
<dl>
|
||||
<dt><label for="css_class">{L_SELECT_CLASS}:</label></dt>
|
||||
<dd><select id="css_class" name="css_class" onchange="if (this.options[this.selectedIndex].value != '') this.form.submit();">{S_CLASSES}</select></dd>
|
||||
<dd><input class="button1" type="submit" id="select_class" name="select_class" value="{L_SELECT}" /></dd>
|
||||
<dt><label>{L_SELECTED_FILE}:</label></dt>
|
||||
<dd>{TEMPLATE_FILE}</dd>
|
||||
</dl>
|
||||
<!-- IF S_CLASS -->
|
||||
<dl>
|
||||
<dt><label>{L_SELECTED_CLASS}:</label></dt>
|
||||
<dd>{S_CLASS}</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="text_rows">{L_EDITOR_HEIGHT}:</label></dt>
|
||||
<dd><input id="text_rows" type="text" maxlength="3" value="{TEXT_ROWS}" /> <input class="button2" type="button" name="update" onclick="change_editor_height(this.form.text_rows.value);" value="{L_UPDATE}" /></dd>
|
||||
</dl>
|
||||
<textarea id="template_data" name="template_data" style="font-family:'Courier New', monospace;font-size:9pt;line-height:125%;width:100%;" cols="80" rows="{TEXT_ROWS}">{TEMPLATE_DATA}</textarea>
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- IF S_CLASS -->
|
||||
|
||||
<form id="acp_theme" method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- IF S_SHOWCSS -->
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_THEME_EDITOR}</legend>
|
||||
<dl>
|
||||
<dt><label for="text_rows">{L_THEME_EDITOR_HEIGHT}:</label></dt>
|
||||
<dd><input id="text_rows" type="text" maxlength="3" value="{TEXT_ROWS}" /> <input class="button1" type="button" name="update" onclick="change_editor_height(this.form.text_rows.value);" value="{L_UPDATE}" /></dd>
|
||||
</dl>
|
||||
<textarea id="css_data" name="css_data" style="font-family:'Courier New', monospace;font-size:9pt;line-height:125%;width:100%;" cols="80" rows="{TEXT_ROWS}">{CSS_DATA}</textarea>
|
||||
</fieldset>
|
||||
|
||||
<!-- ELSE -->
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_BACKGROUND}</legend>
|
||||
<dl>
|
||||
<dt><label for="background_color">{L_BACKGROUND_COLOUR}:</label><br /><span>{L_CSS_COLOUR_EXPLAIN}</span></dt>
|
||||
<dd><input id="background_color" name="background_color" type="text" value="{BACKGROUND_COLOR}" size="6" /> <span>[ <a href="#" onclick="swatch('background_color'); return false">{L_COLOUR_SWATCH}</a> ]</span></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="backround_image">{L_BACKGROUND_IMAGE}:</label></dt>
|
||||
<dd><select id="background_image" name="background_image">{S_BACKGROUND_IMAGE}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="background_repeat">{L_BACKGROUND_REPEAT}:</label></dt>
|
||||
<dd><select id="background_repeat" name="background_repeat">{S_BACKGROUND_REPEAT}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_FOREGROUND}</legend>
|
||||
<dl>
|
||||
<dt><label for="color">{L_FONT_COLOUR}:</label><br /><span>{L_CSS_COLOUR_EXPLAIN}</span></dt>
|
||||
<dd><input id="color" name="color" type="text" value="{COLOR}" size="6" /> <span>[ <a href="#" onclick="swatch('color'); return false">{L_COLOUR_SWATCH}</a> ]</span></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="font_family">{L_FONT_FACE}:</label><br /><span>{L_FONT_FACE_EXPLAIN}</span></dt>
|
||||
<dd><input id="font_family" name="font_family" type="text" value="{FONT_FAMILY}" size="40" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="font_size">{L_FONT_SIZE}:</label></dt>
|
||||
<dd><input id="font_size" name="font_size" type="text" value="{FONT_SIZE}" size="5" maxlength="5" /> <select id="font_size_unit" name="font_size_unit">{S_FONT_SIZE_UNITS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="font_weight">{L_BOLD}:</label></dt>
|
||||
<dd><input id="font_weight" type="radio" class="radio" name="font_weight" value="bold"<!-- IF FONT_WEIGHT eq "bold" --> checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="font_weight" value="none"<!-- IF FONT_WEIGHT eq "none" --> checked="checked"<!-- ENDIF --> /> {L_NO} <input type="radio" class="radio" name="font_weight" value=""<!-- IF not FONT_WEIGHT --> checked="checked"<!-- ENDIF --> /> {L_UNSET}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="font_style">{L_ITALIC}:</label></dt>
|
||||
<dd><input id="font_style" type="radio" class="radio" name="font_style" value="italic"<!-- IF FONT_STYLE eq "italic" --> checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="font_style" value="none"<!-- IF FONT_STYLE eq "none" --> checked="checked"<!-- ENDIF --> /> {L_NO} <input type="radio" class="radio" name="font_style" value=""<!-- IF not FONT_STYLE --> checked="checked"<!-- ENDIF --> /> {L_UNSET}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="text_decoration">{L_UNDERLINE}:</label></dt>
|
||||
<dd><input id="text_decoration" type="radio" class="radio" name="text_decoration" value="underline"<!-- IF TEXT_DECORATION eq "underline" --> checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="text_decoration" value="none"<!-- IF TEXT_DECORATION eq "none" --> checked="checked"<!-- ENDIF --> /> {L_NO} <input type="radio" class="radio" name="text_decoration" value=""<!-- IF not TEXT_DECORATION --> checked="checked"<!-- ENDIF --> /> {L_UNSET}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="line_height">{L_LINE_SPACING}</label></dt>
|
||||
<dd><input id="line_height" name="line_height" type="text" value="{LINE_HEIGHT}" size="3" maxlength="3" /> <select id="line_height_unit" name="line_height_unit">{S_LINE_HEIGHT_UNITS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<!-- IF S_SHOWCSS -->
|
||||
<input class="button2" type="submit" id="hidecss" name="hidecss" value="{L_HIDE_CSS}" />
|
||||
<!-- ELSE -->
|
||||
<input class="button2" type="submit" id="showcss" name="showcss" value="{L_SHOW_CSS}" />
|
||||
<!-- ENDIF -->
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<br />
|
||||
<h1>{L_CUSTOM_CLASS}</h1>
|
||||
|
||||
<p>{L_CUSTOM_CLASS_EXPLAIN}</p>
|
||||
|
||||
<form id="acp_custom_class" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_CUSTOM_CLASS}</legend>
|
||||
<dl>
|
||||
<dt><label for="custom_class">{L_CSS_CLASS_NAME}:</label></dt>
|
||||
<dd><input id="custom_class" name="custom_class" type="text" value="" maxlength="40" size="40" /></dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
<input class="button1" type="submit" id="add_custom" name="add_custom" value="{L_SUBMIT}" />
|
||||
</p>
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input class="button1" id="save" type="submit" name="save" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- ELSEIF S_CACHE -->
|
||||
|
@ -460,25 +308,29 @@
|
|||
<legend>{L_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_NAME}:</label></dt>
|
||||
<dd><b>{NAME}</b></dd>
|
||||
<dd><strong>{NAME}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF S_STYLE -->
|
||||
<dl>
|
||||
<dt><label for="inc_template">{L_INCLUDE_TEMPLATE}:</label></dt>
|
||||
<dd><input type="radio" class="radio" id="inc_template" name="inc_template" value="1" checked="checked" /> {L_YES} <input type="radio" class="radio" name="inc_template" value="0" /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="inc_template" name="inc_template" value="1" checked="checked" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="inc_template" value="0" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="inc_theme">{L_INCLUDE_THEME}:</label></dt>
|
||||
<dd><input type="radio" class="radio" id="inc_theme" name="inc_theme" value="1" checked="checked" /> {L_YES} <input type="radio" class="radio" name="inc_theme" value="0" /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="inc_theme" name="inc_theme" value="1" checked="checked" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="inc_theme" value="0" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="inc_imageset">{L_INCLUDE_IMAGESET}:</label></dt>
|
||||
<dd><input type="radio" class="radio" id="inc_imageset" name="inc_imageset" value="1" checked="checked" /> {L_YES} <input type="radio" class="radio" name="inc_imageset" value="0" /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="inc_imageset" name="inc_imageset" value="1" checked="checked" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="inc_imageset" value="0" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="store">{L_DOWNLOAD_STORE}:</label><br /><span>{L_DOWNLOAD_STORE_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" id="store" name="store" value="1" checked="checked" /> {L_EXPORT_STORE} <input type="radio" class="radio" name="store" value="0" /> {L_EXPORT_DOWNLOAD}</dd>
|
||||
<dd><label><input type="radio" class="radio" id="store" name="store" value="1" checked="checked" /> {L_EXPORT_STORE}</label>
|
||||
<label><input type="radio" class="radio" name="store" value="0" /> {L_EXPORT_DOWNLOAD}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="format">{L_ARCHIVE_FORMAT}:</label></dt>
|
||||
|
@ -512,7 +364,7 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="row3" colspan="{$COLSPAN}"><b>{L_INSTALLED}</b></td>
|
||||
<td class="row3" colspan="{$COLSPAN}"><strong>{L_INSTALLED}</strong></td>
|
||||
</tr>
|
||||
<!-- BEGIN installed -->
|
||||
<tr>
|
||||
|
@ -532,9 +384,10 @@
|
|||
| <a href="{installed.U_PREVIEW}">{L_PREVIEW}</a>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END installed -->
|
||||
<tr>
|
||||
<td class="row3" colspan="{$COLSPAN}"><b>{L_UNINSTALLED}</b></td>
|
||||
<td class="row3" colspan="{$COLSPAN}"><strong>{L_UNINSTALLED}</strong></td>
|
||||
</tr>
|
||||
<!-- IF not .uninstalled -->
|
||||
<tr>
|
||||
|
@ -543,7 +396,7 @@
|
|||
<!-- ENDIF -->
|
||||
<!-- BEGIN uninstalled -->
|
||||
<tr>
|
||||
<td<!-- IF S_STYLE --> colspan="2"<!-- ENDIF -->><b>{uninstalled.NAME}</b><br /><span>{L_COPYRIGHT}: {uninstalled.COPYRIGHT}</span></td>
|
||||
<td<!-- IF S_STYLE --> colspan="2"<!-- ENDIF -->><strong>{uninstalled.NAME}</strong><br /><span>{L_COPYRIGHT}: {uninstalled.COPYRIGHT}</span></td>
|
||||
<td style="text-align: center;" colspan="2"><a href="{uninstalled.U_INSTALL}">{L_INSTALL}</a></td>
|
||||
</tr>
|
||||
<!-- END uninstalled -->
|
||||
|
@ -605,7 +458,8 @@
|
|||
<!-- IF S_TEMPLATE or S_THEME -->
|
||||
<dl>
|
||||
<dt><label for="store_db">{L_LOCATION}:</label><br /><span>{L_LOCATION_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="store_db" value="0"<!-- IF not S_STORE_DB --> id="store_db" checked="checked"<!-- ENDIF --> /> {L_STORE_FILESYSTEM} <input type="radio" class="radio" name="store_db" value="1"<!-- IF S_STORE_DB --> id="store_db" checked="checked"<!-- ENDIF --> /> {L_STORE_DATABASE}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="store_db" value="0"<!-- IF not S_STORE_DB --> id="store_db" checked="checked"<!-- ENDIF --> /> {L_STORE_FILESYSTEM}</label>
|
||||
<label><input type="radio" class="radio" name="store_db" value="1"<!-- IF S_STORE_DB --> id="store_db" checked="checked"<!-- ENDIF --> /> {L_STORE_DATABASE}</label></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_STYLE -->
|
||||
|
@ -615,12 +469,14 @@
|
|||
<legend>{L_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="style_active">{L_STYLE_ACTIVE}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="style_active" value="1"<!-- IF S_STYLE_ACTIVE --> id="style_active" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="style_active" value="0"<!-- IF not S_STYLE_ACTIVE --> id="style_active" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="style_active" value="1"<!-- IF S_STYLE_ACTIVE --> id="style_active" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="style_active" value="0"<!-- IF not S_STYLE_ACTIVE --> id="style_active" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<!-- IF not S_STYLE_DEFAULT -->
|
||||
<dl>
|
||||
<dt><label for="style_default">{L_STYLE_DEFAULT}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="style_default" value="1" /> {L_YES} <input type="radio" class="radio" id="style_default" name="style_default" value="0" checked="checked" /> {L_NO}</dd>
|
||||
<dd><label><input type="radio" class="radio" name="style_default" value="1" /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" id="style_default" name="style_default" value="0" checked="checked" /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
|
|
|
@ -22,11 +22,11 @@
|
|||
<legend></legend>
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_VERSION}</label></dt>
|
||||
<dd><b>{CURRENT_VERSION}</b></dd>
|
||||
<dd><strong>{CURRENT_VERSION}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_LATEST_VERSION}</label></dt>
|
||||
<dd><b>{LATEST_VERSION}</b></dd>
|
||||
<dd><strong>{LATEST_VERSION}</strong></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
|
|
@ -14,9 +14,9 @@
|
|||
<legend>{L_SELECT_USER}</legend>
|
||||
<dl>
|
||||
<dt><label for="username">{L_FIND_USERNAME}:</label></dt>
|
||||
<dd><input class="medium" type="text" id="username" name="username" /></dd>
|
||||
<dd><input class="text medium" type="text" id="username" name="username" /></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd class="full" style="text-align: left;"><input type="checkbox" class="radio" id="anonymous" name="u" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</dd>
|
||||
<dd class="full" style="text-align: left;"><label><input type="checkbox" class="radio" id="anonymous" name="u" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
|
@ -54,7 +54,7 @@
|
|||
|
||||
<a href="{U_BACK}" style="float: right">« {L_BACK}</a>
|
||||
|
||||
<h1>{L_USER_ADMIN}</h1>
|
||||
<h1>{L_USER_ADMIN} :: {MANAGED_USERNAME}</h1>
|
||||
|
||||
<p>{L_USER_ADMIN_EXPLAIN}</p>
|
||||
|
||||
|
@ -77,449 +77,23 @@
|
|||
|
||||
<!-- IF S_OVERVIEW -->
|
||||
|
||||
<form id="user_overview" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_USER_OVERVIEW}</legend>
|
||||
<dl>
|
||||
<dt><label for="user">{L_USERNAME}:</label><br /><span>{L_NAME_CHARS_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="user" name="user" value="{USER}" /></dd>
|
||||
<!-- IF U_SWITCH_PERMISSIONS --><dd>[ <a href="{U_SWITCH_PERMISSIONS}">{L_USE_PERMISSIONS}</a> ]</dd><!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- IF S_USER_INACTIVE -->
|
||||
<dl>
|
||||
<dt><label>{L_USER_IS_INACTIVE}:</label></dt>
|
||||
<dd><strong>{USER_INACTIVE_REASON}</strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label>{L_REGISTERED}:</label></dt>
|
||||
<dd><strong>{USER_REGISTERED}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF S_USER_IP -->
|
||||
<dl>
|
||||
<dt><label>{L_REGISTERED_IP}:</label></dt>
|
||||
<dd><a href="{U_SHOW_IP}">{REGISTERED_IP}</a></dd>
|
||||
<dd>[ <a href="#" onclick="window.open('{U_WHOIS}', '_whois', 'height=500, resizable=yes, scrollbars=yes, width=700'); return false;">{L_WHOIS}</a> ]</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label>{L_LAST_ACTIVE}:</label></dt>
|
||||
<dd><strong>{USER_LASTACTIVE}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_POSTS}:</label></dt>
|
||||
<dd><strong>{USER_POSTS}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_WARNINGS}:</label></dt>
|
||||
<dd><strong>{USER_WARNINGS}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="user_founder">{L_FOUNDER}:</label><br /><span>{L_FOUNDER_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="user_founder" value="1"<!-- IF S_USER_FOUNDER --> id="user_founder" checked="checked"<!-- ENDIF --><!-- IF not S_FOUNDER --> disabled="disabled"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="user_founder" value="0"<!-- IF not S_USER_FOUNDER --> id="user_founder" checked="checked"<!-- ENDIF --><!-- IF not S_FOUNDER --> disabled="disabled"<!-- ENDIF --> /> {L_NO} </dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="user_email">{L_EMAIL}:</label></dt>
|
||||
<dd><input class="medium" type="text" id="user_email" name="user_email" value="{USER_EMAIL}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="email_confirm">{L_CONFIRM_EMAIL}:</label><br /><span>{L_CONFIRM_EMAIL_EXPLAIN}</span></dt>
|
||||
<dd><input class="medium" type="text" id="email_confirm" name="email_confirm" value="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="user_password">{L_NEW_PASSWORD}:</label><br /><span>{L_CHANGE_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="user_password" name="user_password" value="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="password_confirm">{L_CONFIRM_PASSWORD}:</label><br /><span>{L_CONFIRM_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="password_confirm" name="password_confirm" value="" /></dd>
|
||||
</dl>
|
||||
<!-- IF not S_USER_FOUNDER or S_FOUNDER -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_USER_TOOLS}</legend>
|
||||
<dl>
|
||||
<dt><label for="quicktools">{L_QUICK_TOOLS}:</label></dt>
|
||||
<dd><select id="quicktools" name="action">{S_ACTION_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- IF not S_OWN_ACCOUNT -->
|
||||
<dl>
|
||||
<dt><label for="delete_user">{L_DELETE_USER}:</label><br /><span>{L_DELETE_USER_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" name="delete" value="1" /></dd>
|
||||
<dd><select id="delete_user" name="delete_type"><option value="retain">{L_RETAIN_POSTS}</option><option value="remove">{L_DELETE_POSTS}</option></select></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- INCLUDE acp_users_overview.html -->
|
||||
|
||||
<!-- ELSEIF S_FEEDBACK -->
|
||||
|
||||
<form id="list" method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .log -->
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_REPORT_BY}</th>
|
||||
<th>{L_IP}</th>
|
||||
<th>{L_TIME}</th>
|
||||
<th>{L_FEEDBACK}</th>
|
||||
<th>{L_MARK}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN log -->
|
||||
<!-- IF log.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
|
||||
<td>{log.USERNAME}</td>
|
||||
<td style="text-align: center;">{log.IP}</td>
|
||||
<td style="text-align: center;">{log.DATE}</td>
|
||||
<td>
|
||||
{log.ACTION}
|
||||
<!-- IF log.DATA --><br />» <span class="gensmall">[ {log.DATA} ]</span><!-- ENDIF -->
|
||||
</td>
|
||||
<td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{log.ID}" /></td>
|
||||
</tr>
|
||||
<!-- END log -->
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- ELSE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_NO_ENTRIES}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset class="display-options">
|
||||
{L_DISPLAY_LOG}: {S_LIMIT_DAYS} {L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}
|
||||
<input class="button2" type="submit" value="{L_GO}" name="sort" />
|
||||
</fieldset>
|
||||
<hr />
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_CLEARLOGS -->
|
||||
<fieldset class="quick">
|
||||
<input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
|
||||
<input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />
|
||||
<p class="small"><a href="#" onclick="marklist('list', 'mark', true);">{L_MARK_ALL}</a> • <a href="#" onclick="marklist('list', 'mark', false);">{L_UNMARK_ALL}</a></p>
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<h1>{L_ADD_FEEDBACK}</h1>
|
||||
|
||||
<p>{L_ADD_FEEDBACK_EXPLAIN}</p>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_USER_FEEDBACK}</legend>
|
||||
<dl>
|
||||
<dd class="full"><textarea name="message" id="message" rows="10" cols="76"></textarea></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- INCLUDE acp_users_feedback.html -->
|
||||
|
||||
<!-- ELSEIF S_PROFILE -->
|
||||
|
||||
<form id="user_profile" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_USER_PROFILE}</legend>
|
||||
<dl>
|
||||
<dt><label for="icq">{L_UCP_ICQ}:</label></dt>
|
||||
<dd><input type="text" id="icq" name="icq" value="{ICQ}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="aim">{L_UCP_AIM}:</label></dt>
|
||||
<dd><input type="text" id="aim" name="aim" value="{AIM}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="msn">{L_UCP_MSNM}:</label></dt>
|
||||
<dd><input type="text" id="msn" name="msn" value="{MSN}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="yim">{L_UCP_YIM}:</label></dt>
|
||||
<dd><input type="text" id="yim" name="yim" value="{YIM}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="jabber">{L_UCP_JABBER}:</label></dt>
|
||||
<dd><input type="text" id="jabber" name="jabber" value="{JABBER}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="website">{L_WEBSITE}:</label></dt>
|
||||
<dd><input type="text" id="website" name="website" value="{WEBSITE}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="location">{L_LOCATION}:</label></dt>
|
||||
<dd><input type="text" id="location" name="location" value="{LOCATION}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="occupation">{L_OCCUPATION}:</label></dt>
|
||||
<dd><textarea id="occupation" name="occupation" rows="3" cols="30">{OCCUPATION}</textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="interests">{L_INTERESTS}:</label></dt>
|
||||
<dd><textarea id="interests" name="interests" rows="3" cols="30">{INTERESTS}</textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="birthday">{L_BIRTHDAY}:</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
|
||||
<dd>{L_DAY}: <select id="birthday" name="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select> {L_MONTH}: <select name="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select> {L_YEAR}: <select name="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<!-- IF .profile_fields -->
|
||||
<fieldset>
|
||||
<legend>{L_USER_CUSTOM_PROFILE_FIELDS}</legend>
|
||||
<!-- BEGIN profile_fields -->
|
||||
<dl>
|
||||
<dt><label>{profile_fields.LANG_NAME}:</label><!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{profile_fields.FIELD}</dd>
|
||||
<!-- IF profile_fields.ERROR -->
|
||||
<dd><span class="small" style="color: red;">{profile_fields.ERROR}</span></dd>
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- END profile_fields -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- INCLUDE acp_users_profile.html -->
|
||||
|
||||
<!-- ELSEIF S_PREFS -->
|
||||
|
||||
<form id="user_prefs" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_PERSONAL}</legend>
|
||||
<dl>
|
||||
<dt><label for="viewemail">{L_SHOW_EMAIL}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="viewemail" value="1"<!-- IF VIEW_EMAIL --> id="viewemail" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="viewemail" value="0"<!-- IF not VIEW_EMAIL --> id="viewemail" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="massemail">{L_ADMIN_EMAIL}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="massemail" value="1"<!-- IF MASS_EMAIL --> id="massemail" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="massemail" value="0"<!-- IF not MASS_EMAIL --> id="massemail" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="allowpm">{L_ALLOW_PM}:</label><br /><span>{L_ALLOW_PM_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="allowpm" value="1"<!-- IF ALLOW_PM --> id="allowpm" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="allowpm" value="0"<!-- IF not ALLOW_PM --> id="allowpm" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="hideonline">{L_HIDE_ONLINE}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="hideonline" value="1"<!-- IF HIDE_ONLINE --> id="hideonline" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="hideonline" value="0"<!-- IF not HIDE_ONLINE --> id="hideonline" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="notifymethod">{L_NOTIFY_METHOD}:</label><br /><span>{L_NOTIFY_METHOD_EXPLAIN}</span></dt>
|
||||
<dd><input type="radio" class="radio" name="notifymethod" value="0"<!-- IF NOTIFY_EMAIL --> id="notifymethod" checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_EMAIL} <input type="radio" class="radio" name="notifymethod" value="1"<!-- IF NOTIFY_IM --> id="notifymethod" checked="checked"<!-- ENDIF --><!-- IF S_JABBER_DISABLED --> disabled="disabled"<!-- ENDIF --> /> {L_NOTIFY_METHOD_IM} <input type="radio" class="radio" name="notifymethod" value="2"<!-- IF NOTIFY_BOTH --> id="notifymethod" checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_BOTH}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="notifypm">{L_NOTIFY_ON_PM}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="notifypm" value="1"<!-- IF NOTIFY_PM --> id="notifypm" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="notifypm" value="0"<!-- IF not NOTIFY_PM --> id="notifypm" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="popuppm">{L_POPUP_ON_PM}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="popuppm" value="1"<!-- IF POPUP_PM --> id="popuppm" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="popuppm" value="0"<!-- IF not POPUP_PM --> id="popuppm" checked="checked"<!-- ENDIF --> />{L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="lang">{L_BOARD_LANGUAGE}:</label></dt>
|
||||
<dd><select id="lang" name="lang">{S_LANG_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="style">{L_BOARD_STYLE}:</label></dt>
|
||||
<dd><select id="style" name="style">{S_STYLE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="tz">{L_BOARD_TIMEZONE}:</label></dt>
|
||||
<dd><select id="tz" name="tz" style="width: 100%;">{S_TZ_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="dst">{L_BOARD_DST}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="dst" value="1"<!-- IF DST --> id="dst" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="dst" value="0"<!-- IF not DST --> id="dst" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="dateoptions">{L_BOARD_DATE_FORMAT}:</label><br /><span>{L_BOARD_DATE_FORMAT_EXPLAIN}</span></dt>
|
||||
<dd><select name="dateoptions" id="dateoptions" onchange="if(this.value=='custom'){dE('custom_date',1);}else{dE('custom_date',-1);} if (this.value == 'custom') { document.getElementById('dateformat').value = '{A_DEFAULT_DATEFORMAT}'; } else { document.getElementById('dateformat').value = this.value; }">{S_DATEFORMAT_OPTIONS}</select></dd>
|
||||
<dd><div id="custom_date"<!-- IF not S_CUSTOM_DATEFORMAT --> style="display:none;"<!-- ENDIF -->><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" /></div></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_POST}</legend>
|
||||
<dl>
|
||||
<dt><label for="bbcode">{L_DEFAULT_BBCODE}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="bbcode" value="1"<!-- IF BBCODE --> id="bbcode" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="bbcode" value="0"<!-- IF not BBCODE --> id="bbcode" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="smilies">{L_DEFAULT_SMILIES}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="smilies" value="1"<!-- IF SMILIES --> id="smilies" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="smilies" value="0"<!-- IF not SMILIES --> id="smilies" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="sig">{L_DEFAULT_ADD_SIG}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="sig" value="1"<!-- IF ATTACH_SIG --> id="sig" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="sig" value="0"<!-- IF not ATTACH_SIG --> id="sig" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="notify">{L_DEFAULT_NOTIFY}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="notify" value="1"<!-- IF NOTIFY --> id="notify" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="notify" value="0"<!-- IF not NOTIFY --> id="notify" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_VIEW}</legend>
|
||||
<dl>
|
||||
<dt><label for="view_images">{L_VIEW_IMAGES}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="view_images" value="1"<!-- IF VIEW_IMAGES --> id="view_images" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="view_images" value="0"<!-- IF not VIEW_IMAGES --> id="view_images" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_flash">{L_VIEW_FLASH}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="view_flash" value="1"<!-- IF VIEW_FLASH --> id="view_flash" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="view_flash" value="0"<!-- IF not VIEW_FLASH --> id="view_flash" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_smilies">{L_VIEW_SMILIES}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="view_smilies" value="1"<!-- IF VIEW_SMILIES --> id="view_smilies" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="view_smilies" value="0"<!-- IF not VIEW_SMILIES --> id="view_smilies" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_sigs">{L_VIEW_SIGS}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="view_sigs" value="1"<!-- IF VIEW_SIGS --> id="view_sigs" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="view_sigs" value="0"<!-- IF not VIEW_SIGS --> id="view_sigss" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_avatars">{L_VIEW_AVATARS}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="view_avatars" value="1"<!-- IF VIEW_AVATARS --> id="view_avatars" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="view_avatars" value="0"<!-- IF not VIEW_AVATARS --> id="view_avatars" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_wordcensor">{L_DISABLE_CENSORS}:</label></dt>
|
||||
<dd><input type="radio" class="radio" name="view_wordcensor" value="1"<!-- IF VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_YES} <input type="radio" class="radio" name="view_wordcensor" value="0"<!-- IF not VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_NO}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_DAYS}:</label></dt>
|
||||
<dd>{S_TOPIC_SORT_DAYS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_KEY}:</label></dt>
|
||||
<dd>{S_TOPIC_SORT_KEY}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_DIR}:</label></dt>
|
||||
<dd>{S_TOPIC_SORT_DIR}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_DAYS}:</label></dt>
|
||||
<dd>{S_POST_SORT_DAYS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_KEY}:</label></dt>
|
||||
<dd>{S_POST_SORT_KEY}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_DIR}:</label></dt>
|
||||
<dd>{S_POST_SORT_DIR}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- INCLUDE acp_users_prefs.html -->
|
||||
|
||||
<!-- ELSEIF S_AVATAR -->
|
||||
|
||||
<form id="avatar_settings" method="post" action="{U_ACTION}"<!-- IF S_CAN_UPLOAD --> enctype="multipart/form-data"<!-- ENDIF -->>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_USER_AVATAR}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_IMAGE}:</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd>{AVATAR_IMAGE}</dd>
|
||||
<dd><input type="checkbox" class="radio" name="delete" /> <span>{L_DELETE_AVATAR}</span></dd>
|
||||
</dl>
|
||||
<!-- IF not S_IN_AVATAR_GALLERY -->
|
||||
<!-- IF S_CAN_UPLOAD -->
|
||||
<dl>
|
||||
<dt><label for="uploadfile">{L_UPLOAD_AVATAR_FILE}:</label></dt>
|
||||
<dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_MAX_FILESIZE}" /><input type="file" id="uploadfile" name="uploadfile" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="uploadurl">{L_UPLOAD_AVATAR_URL}:</label><br /><span>{L_UPLOAD_AVATAR_URL_EXPLAIN}</span></dt>
|
||||
<dd><input name="uploadurl" type="text" id="uploadurl" value="" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_ALLOW_REMOTE -->
|
||||
<dl>
|
||||
<dt><label for="remotelink">{L_LINK_REMOTE_AVATAR}:</label><br /><span>{L_LINK_REMOTE_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd><input name="remotelink" type="text" id="remotelink" value="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="width">{L_LINK_REMOTE_SIZE}:</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
|
||||
<dd><input name="width" type="text" id="width" size="3" value="{USER_AVATAR_WIDTH}" /> <span>px X </span> <input type="text" name="height" size="3" value="{USER_AVATAR_HEIGHT}" /> <span>px</span></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_DISPLAY_GALLERY -->
|
||||
<dl>
|
||||
<dt><label>{L_AVATAR_GALLERY}:</label></dt>
|
||||
<dd><input class="button2" type="submit" name="display_gallery" value="{L_DISPLAY_GALLERY}" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_AVATAR_GALLERY}</legend>
|
||||
<dl>
|
||||
<dt><label for="category">{L_AVATAR_CATEGORY}:</label></dt>
|
||||
<dd><select name="category" id="category">{S_CAT_OPTIONS}</select> <input class="button2" type="submit" value="{L_GO}" name="display_gallery" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<table cellspacing="1">
|
||||
<!-- BEGIN avatar_row -->
|
||||
<tr>
|
||||
<!-- BEGIN avatar_column -->
|
||||
<td class="row1" style="text-align: center;"><img src="{avatar_row.avatar_column.AVATAR_IMAGE}" alt="{avatar_row.avatar_column.AVATAR_NAME}" title="{avatar_row.avatar_column.AVATAR_NAME}" /></td>
|
||||
<!-- END avatar_column -->
|
||||
</tr>
|
||||
<tr>
|
||||
<!-- BEGIN avatar_option_column -->
|
||||
<td class="row2" style="text-align: center;"><input type="radio" class="radio" name="avatar_select" value="{avatar_row.avatar_option_column.S_OPTIONS_AVATAR}" /></td>
|
||||
<!-- END avatar_option_column -->
|
||||
</tr>
|
||||
<!-- END avatar_row -->
|
||||
</table>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick" style="margin-top: -15px;">
|
||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
||||
</fieldset>
|
||||
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- INCLUDE acp_users_avatar.html -->
|
||||
|
||||
<!-- ELSEIF S_RANK -->
|
||||
|
||||
|
@ -541,112 +115,7 @@
|
|||
|
||||
<!-- ELSEIF S_SIGNATURE -->
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
|
||||
var form_name = 'user_signature';
|
||||
var text_name = 'signature';
|
||||
|
||||
// Define the bbCode tags
|
||||
bbcode = new Array();
|
||||
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]'<!-- BEGIN custom_tags -->, {custom_tags.BBCODE_NAME}<!-- END custom_tags -->);
|
||||
imageTag = false;
|
||||
|
||||
// Helpline messages
|
||||
var help_line = {
|
||||
b: '{LA_BBCODE_B_HELP}',
|
||||
i: '{LA_BBCODE_I_HELP}',
|
||||
u: '{LA_BBCODE_U_HELP}',
|
||||
q: '{LA_BBCODE_Q_HELP}',
|
||||
c: '{LA_BBCODE_C_HELP}',
|
||||
l: '{LA_BBCODE_L_HELP}',
|
||||
o: '{LA_BBCODE_O_HELP}',
|
||||
p: '{LA_BBCODE_P_HELP}',
|
||||
w: '{LA_BBCODE_W_HELP}',
|
||||
s: '{LA_BBCODE_S_HELP}',
|
||||
f: '{LA_BBCODE_F_HELP}',
|
||||
e: '{LA_BBCODE_E_HELP}',
|
||||
d: '{LA_BBCODE_D_HELP}',
|
||||
t: '{LA_BBCODE_T_HELP}',
|
||||
tip: '{L_STYLES_TIP}'
|
||||
<!-- BEGIN custom_tags -->
|
||||
,cb_{custom_tags.BBCODE_ID}: '{custom_tags.BBCODE_HELPLINE}'
|
||||
<!-- END custom_tags -->
|
||||
}
|
||||
|
||||
//-->
|
||||
</script>
|
||||
<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>
|
||||
|
||||
<form id="user_signature" method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- IF SIGNATURE_PREVIEW -->
|
||||
<fieldset>
|
||||
<legend>{L_ADMIN_SIG_PREVIEW}</legend>
|
||||
<p>{SIGNATURE_PREVIEW}</p>
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_SIGNATURE}</legend>
|
||||
<p>{L_SIGNATURE_EXPLAIN}</p>
|
||||
<div id="format-buttons">
|
||||
<input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px;" onclick="bbstyle(0)" onmouseover="helpline('b')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px;" onclick="bbstyle(2)" onmouseover="helpline('i')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px;" onclick="bbstyle(4)" onmouseover="helpline('u')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" onmouseover="helpline('q')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" onmouseover="helpline('c')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" onmouseover="helpline('l')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" onmouseover="helpline('o')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="t" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" onmouseover="helpline('e')" onmouseout="helpline('tip')" />
|
||||
<!-- IF S_BBCODE_IMG -->
|
||||
<input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" onmouseover="helpline('p')" onmouseout="helpline('tip')" />
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_LINKS_ALLOWED -->
|
||||
<input type="button" class="button2" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="bbstyle(16)" onmouseover="helpline('w')" onmouseout="helpline('tip')" />
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_BBCODE_FLASH -->
|
||||
<input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" onmouseover="helpline('d')" onmouseout="helpline('tip')" />
|
||||
<!-- ENDIF -->
|
||||
|
||||
{L_FONT_SIZE}: <select name="addbbcode20" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" onmouseover="helpline('f')" onmouseout="helpline('tip')">
|
||||
<option value="7">{L_FONT_TINY}</option>
|
||||
<option value="9">{L_FONT_SMALL}</option>
|
||||
<option value="12" selected="selected">{L_FONT_NORMAL}</option>
|
||||
<option value="18">{L_FONT_LARGE}</option>
|
||||
<option value="24">{L_FONT_HUGE}</option>
|
||||
</select>
|
||||
<!-- IF .custom_tags -->
|
||||
<br /><br />
|
||||
<!-- BEGIN custom_tags -->
|
||||
<input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})"<!-- IF custom_tags.BBCODE_HELPLINE !== '' --> onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')"<!-- ENDIF --> />
|
||||
<!-- END custom_tags -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
</div>
|
||||
<p><input type="text" name="helpbox" value="{L_STYLES_TIP}" class="full" style="border: 0; background: none;" /></p>
|
||||
<div style="text-align: left;"><textarea name="signature" rows="10" cols="60" style="width: 80%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);">{SIGNATURE}</textarea></div>
|
||||
|
||||
<div>
|
||||
<!-- IF S_BBCODE_ALLOWED -->
|
||||
<input type="checkbox" class="radio" name="disable_bbcode"{S_BBCODE_CHECKED} /> {L_DISABLE_BBCODE}
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_SMILIES_ALLOWED -->
|
||||
<input type="checkbox" class="radio" name="disable_smilies"{S_SMILIES_CHECKED} /> {L_DISABLE_SMILIES}
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_LINKS_ALLOWED -->
|
||||
<input type="checkbox" class="radio" name="disable_magic_url"{S_MAGIC_URL_CHECKED} /> {L_DISABLE_MAGIC_URL}
|
||||
<!-- ENDIF -->
|
||||
<br /><br /><strong>{L_OPTIONS}: </strong>{BBCODE_STATUS} :: {IMG_STATUS} :: {FLASH_STATUS} :: {URL_STATUS} :: {SMILIES_STATUS}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="submit" name="preview" value="{L_PREVIEW}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- INCLUDE acp_users_signature.html -->
|
||||
|
||||
<!-- ELSEIF S_GROUPS -->
|
||||
|
||||
|
@ -657,22 +126,25 @@
|
|||
<!-- BEGIN group -->
|
||||
<!-- IF group.S_NEW_GROUP_TYPE -->
|
||||
<tr>
|
||||
<td class="row3" colspan="4"><b>{group.GROUP_TYPE}</b></td>
|
||||
<td class="row3" colspan="4"><strong>{group.GROUP_TYPE}</strong></td>
|
||||
</tr>
|
||||
<!-- ELSE -->
|
||||
<!-- IF group.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td><a href="{group.U_EDIT_GROUP}">{group.GROUP_NAME}</a></td>
|
||||
<td><!-- IF group.S_NO_DEFAULT --><a href="{group.U_DEFAULT}">{L_GROUP_DEFAULT}</a><!-- ELSE --><strong>{L_GROUP_DEFAULT}</strong><!-- ENDIF --></td>
|
||||
<td><!-- IF not group.S_SPECIAL_GROUP --><a href="{group.U_DEMOTE_PROMOTE}">{group.L_DEMOTE_PROMOTE}</a><!-- ENDIF --></td>
|
||||
<td><a href="{group.U_DELETE}">{L_GROUP_DELETE}</a></td>
|
||||
<td><a href="{group.U_EDIT_GROUP}">{group.GROUP_NAME}</a></td>
|
||||
<td><!-- IF group.S_NO_DEFAULT --><a href="{group.U_DEFAULT}">{L_GROUP_DEFAULT}</a><!-- ELSE --><strong>{L_GROUP_DEFAULT}</strong><!-- ENDIF --></td>
|
||||
<td><!-- IF not group.S_SPECIAL_GROUP --><a href="{group.U_DEMOTE_PROMOTE}">{group.L_DEMOTE_PROMOTE}</a><!-- ELSE --> <!-- ENDIF --></td>
|
||||
<td><a href="{group.U_DELETE}">{L_GROUP_DELETE}</a></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- END group -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<fieldset class="quick">
|
||||
{L_USER_GROUP_ADD}: <select name="g">{S_GROUP_OPTIONS}</select> <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
<!-- IF S_GROUP_OPTIONS -->
|
||||
<fieldset class="quick">
|
||||
{L_USER_GROUP_ADD}: <select name="g">{S_GROUP_OPTIONS}</select> <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
</form>
|
||||
|
||||
|
@ -701,7 +173,7 @@
|
|||
<tbody>
|
||||
<!-- BEGIN attach -->
|
||||
<!-- IF attach.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td><a href="{attach.U_DOWNLOAD}">{attach.REAL_FILENAME}</a><br /><span class="small"><!-- IF attach.S_IN_MESSAGE --><b>{L_PM}: </b><!-- ELSE --><b>{L_TOPIC}: </b><!-- ENDIF --><a href="{attach.U_VIEW_TOPIC}">{attach.TOPIC_TITLE}</a></span></td>
|
||||
<td><a href="{attach.U_DOWNLOAD}">{attach.REAL_FILENAME}</a><br /><span class="small"><!-- IF attach.S_IN_MESSAGE --><strong>{L_PM}: </strong><!-- ELSE --><strong>{L_TOPIC}: </strong><!-- ENDIF --><a href="{attach.U_VIEW_TOPIC}">{attach.TOPIC_TITLE}</a></span></td>
|
||||
<td style="text-align: center">{attach.POST_TIME}</td>
|
||||
<td style="text-align: center">{attach.SIZE}</td>
|
||||
<td style="text-align: center">{attach.DOWNLOAD_COUNT}</td>
|
||||
|
@ -749,7 +221,7 @@
|
|||
|
||||
</form>
|
||||
|
||||
<br clear="all" />
|
||||
<div class="clearfix"> </div>
|
||||
|
||||
<!-- INCLUDE permission_mask.html -->
|
||||
|
||||
|
|
75
phpBB/adm/style/acp_users_avatar.html
Normal file
|
@ -0,0 +1,75 @@
|
|||
<form id="avatar_settings" method="post" action="{U_ACTION}"<!-- IF S_CAN_UPLOAD --> enctype="multipart/form-data"<!-- ENDIF -->>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_USER_AVATAR}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_IMAGE}:</label><br /><span>{L_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd>{AVATAR_IMAGE}</dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="delete" /> {L_DELETE_AVATAR}</label></dd>
|
||||
</dl>
|
||||
<!-- IF not S_IN_AVATAR_GALLERY -->
|
||||
<!-- IF S_CAN_UPLOAD -->
|
||||
<dl>
|
||||
<dt><label for="uploadfile">{L_UPLOAD_AVATAR_FILE}:</label></dt>
|
||||
<dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_MAX_FILESIZE}" /><input type="file" id="uploadfile" name="uploadfile" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="uploadurl">{L_UPLOAD_AVATAR_URL}:</label><br /><span>{L_UPLOAD_AVATAR_URL_EXPLAIN}</span></dt>
|
||||
<dd><input name="uploadurl" type="text" id="uploadurl" value="" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_ALLOW_REMOTE -->
|
||||
<dl>
|
||||
<dt><label for="remotelink">{L_LINK_REMOTE_AVATAR}:</label><br /><span>{L_LINK_REMOTE_AVATAR_EXPLAIN}</span></dt>
|
||||
<dd><input name="remotelink" type="text" id="remotelink" value="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="width">{L_LINK_REMOTE_SIZE}:</label><br /><span>{L_LINK_REMOTE_SIZE_EXPLAIN}</span></dt>
|
||||
<dd><input name="width" type="text" id="width" size="3" value="{USER_AVATAR_WIDTH}" /> <span>px X </span> <input type="text" name="height" size="3" value="{USER_AVATAR_HEIGHT}" /> <span>px</span></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_DISPLAY_GALLERY -->
|
||||
<dl>
|
||||
<dt><label>{L_AVATAR_GALLERY}:</label></dt>
|
||||
<dd><input class="button2" type="submit" name="display_gallery" value="{L_DISPLAY_GALLERY}" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_AVATAR_GALLERY}</legend>
|
||||
<dl>
|
||||
<dt><label for="category">{L_AVATAR_CATEGORY}:</label></dt>
|
||||
<dd><select name="category" id="category">{S_CAT_OPTIONS}</select> <input class="button2" type="submit" value="{L_GO}" name="display_gallery" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<table cellspacing="1">
|
||||
<!-- BEGIN avatar_row -->
|
||||
<tr>
|
||||
<!-- BEGIN avatar_column -->
|
||||
<td class="row1" style="text-align: center;"><img src="{avatar_row.avatar_column.AVATAR_IMAGE}" alt="{avatar_row.avatar_column.AVATAR_NAME}" title="{avatar_row.avatar_column.AVATAR_NAME}" /></td>
|
||||
<!-- END avatar_column -->
|
||||
</tr>
|
||||
<tr>
|
||||
<!-- BEGIN avatar_option_column -->
|
||||
<td class="row2" style="text-align: center;"><input type="radio" class="radio" name="avatar_select" value="{avatar_row.avatar_option_column.S_OPTIONS_AVATAR}" /></td>
|
||||
<!-- END avatar_option_column -->
|
||||
</tr>
|
||||
<!-- END avatar_row -->
|
||||
</table>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick" style="margin-top: -15px;">
|
||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
||||
</fieldset>
|
||||
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
76
phpBB/adm/style/acp_users_feedback.html
Normal file
|
@ -0,0 +1,76 @@
|
|||
<form id="list" method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .log -->
|
||||
<table cellspacing="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_REPORT_BY}</th>
|
||||
<th>{L_IP}</th>
|
||||
<th>{L_TIME}</th>
|
||||
<th>{L_FEEDBACK}</th>
|
||||
<th>{L_MARK}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN log -->
|
||||
<!-- IF log.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
|
||||
<td>{log.USERNAME}</td>
|
||||
<td style="text-align: center;">{log.IP}</td>
|
||||
<td style="text-align: center;">{log.DATE}</td>
|
||||
<td>
|
||||
{log.ACTION}
|
||||
<!-- IF log.DATA --><br />» <span class="gensmall">[ {log.DATA} ]</span><!-- ENDIF -->
|
||||
</td>
|
||||
<td style="text-align: center;"><input type="checkbox" class="radio" name="mark[]" value="{log.ID}" /></td>
|
||||
</tr>
|
||||
<!-- END log -->
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- ELSE -->
|
||||
<div class="errorbox">
|
||||
<p>{L_NO_ENTRIES}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset class="display-options">
|
||||
{L_DISPLAY_LOG}: {S_LIMIT_DAYS} {L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR}
|
||||
<input class="button2" type="submit" value="{L_GO}" name="sort" />
|
||||
</fieldset>
|
||||
<hr />
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="pagination">
|
||||
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{S_ON_PAGE}</a> • <span>{PAGINATION}</span>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_CLEARLOGS -->
|
||||
<fieldset class="quick">
|
||||
<input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
|
||||
<input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />
|
||||
<p class="small"><a href="#" onclick="marklist('list', 'mark', true);">{L_MARK_ALL}</a> • <a href="#" onclick="marklist('list', 'mark', false);">{L_UNMARK_ALL}</a></p>
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<h1>{L_ADD_FEEDBACK}</h1>
|
||||
|
||||
<p>{L_ADD_FEEDBACK_EXPLAIN}</p>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_USER_FEEDBACK}</legend>
|
||||
<dl>
|
||||
<dd class="full"><textarea name="message" id="message" rows="10" cols="76"></textarea></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
143
phpBB/adm/style/acp_users_overview.html
Normal file
|
@ -0,0 +1,143 @@
|
|||
<form id="user_overview" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_USER_OVERVIEW}</legend>
|
||||
<dl>
|
||||
<dt><label for="user">{L_USERNAME}:</label><br /><span>{L_NAME_CHARS_EXPLAIN}</span></dt>
|
||||
<dd><input type="text" id="user" name="user" value="{USER}" /></dd>
|
||||
<!-- IF U_SWITCH_PERMISSIONS --><dd>[ <a href="{U_SWITCH_PERMISSIONS}">{L_USE_PERMISSIONS}</a> ]</dd><!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- IF S_USER_INACTIVE -->
|
||||
<dl>
|
||||
<dt><label>{L_USER_IS_INACTIVE}:</label></dt>
|
||||
<dd><strong>{USER_INACTIVE_REASON}</strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label>{L_REGISTERED}:</label></dt>
|
||||
<dd><strong>{USER_REGISTERED}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF S_USER_IP -->
|
||||
<dl>
|
||||
<dt><label>{L_REGISTERED_IP}:</label></dt>
|
||||
<dd><a href="{U_SHOW_IP}">{REGISTERED_IP}</a></dd>
|
||||
<dd>[ <a href="#" onclick="window.open('{U_WHOIS}', '_whois', 'height=500, resizable=yes, scrollbars=yes, width=700'); return false;">{L_WHOIS}</a> ]</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label>{L_LAST_ACTIVE}:</label></dt>
|
||||
<dd><strong>{USER_LASTACTIVE}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_POSTS}:</label></dt>
|
||||
<dd><strong>{USER_POSTS}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_WARNINGS}:</label></dt>
|
||||
<dd><strong>{USER_WARNINGS}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="user_founder">{L_FOUNDER}:</label><br /><span>{L_FOUNDER_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="user_founder" value="1"<!-- IF S_USER_FOUNDER --> id="user_founder" checked="checked"<!-- ENDIF --><!-- IF not S_FOUNDER --> disabled="disabled"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="user_founder" value="0"<!-- IF not S_USER_FOUNDER --> id="user_founder" checked="checked"<!-- ENDIF --><!-- IF not S_FOUNDER --> disabled="disabled"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="user_email">{L_EMAIL}:</label></dt>
|
||||
<dd><input class="text medium" type="text" id="user_email" name="user_email" value="{USER_EMAIL}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="email_confirm">{L_CONFIRM_EMAIL}:</label><br /><span>{L_CONFIRM_EMAIL_EXPLAIN}</span></dt>
|
||||
<dd><input class="text medium" type="text" id="email_confirm" name="email_confirm" value="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="new_password">{L_NEW_PASSWORD}:</label><br /><span>{L_CHANGE_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="new_password" name="new_password" value="" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="password_confirm">{L_CONFIRM_PASSWORD}:</label><br /><span>{L_CONFIRM_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="password_confirm" name="password_confirm" value="" /></dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
<input type="hidden" name="action" value="" />
|
||||
</p>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- IF not S_USER_FOUNDER or S_FOUNDER -->
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
|
||||
function display_reason(option)
|
||||
{
|
||||
if (option != 'banuser' && option != 'banemail' && option != 'banip')
|
||||
{
|
||||
dE('reasons', -1);
|
||||
return;
|
||||
}
|
||||
|
||||
dE('reasons', 1);
|
||||
|
||||
element = document.getElementById('user_quick_tools').ban_reason;
|
||||
|
||||
if (element.value && element.value != '{LA_USER_ADMIN_BAN_NAME_REASON}' && element.value != '{LA_USER_ADMIN_BAN_EMAIL_REASON}' && element.value != '{LA_USER_ADMIN_BAN_IP_REASON}')
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (option == 'banuser')
|
||||
{
|
||||
element.value = '{LA_USER_ADMIN_BAN_NAME_REASON}';
|
||||
}
|
||||
else if (option == 'banemail')
|
||||
{
|
||||
element.value = '{LA_USER_ADMIN_BAN_EMAIL_REASON}';
|
||||
}
|
||||
else if (option == 'banip')
|
||||
{
|
||||
element.value = '{LA_USER_ADMIN_BAN_IP_REASON}';
|
||||
}
|
||||
}
|
||||
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<form id="user_quick_tools" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_USER_TOOLS}</legend>
|
||||
<dl>
|
||||
<dt><label for="quicktools">{L_QUICK_TOOLS}:</label></dt>
|
||||
<dd><select id="quicktools" name="action" onchange="display_reason(this.options[this.selectedIndex].value);">{S_ACTION_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<div style="display: none;" id="reasons">
|
||||
<dl>
|
||||
<dt><label for="ban_reason">{L_BAN_REASON}:</label></dt>
|
||||
<dd><input name="ban_reason" type="text" class="text medium" maxlength="3000" id="ban_reason" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="ban_give_reason">{L_BAN_GIVE_REASON}:</label></dt>
|
||||
<dd><input name="ban_give_reason" type="text" class="text medium" maxlength="3000" id="ban_give_reason" /></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<!-- IF not S_OWN_ACCOUNT -->
|
||||
<dl>
|
||||
<dt><label for="delete_user">{L_DELETE_USER}:</label><br /><span>{L_DELETE_USER_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" name="delete" value="1" /></dd>
|
||||
<dd><select id="delete_user" name="delete_type"><option value="retain">{L_RETAIN_POSTS}</option><option value="remove">{L_DELETE_POSTS}</option></select></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<p class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</p>
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
151
phpBB/adm/style/acp_users_prefs.html
Normal file
|
@ -0,0 +1,151 @@
|
|||
<form id="user_prefs" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_PERSONAL}</legend>
|
||||
<dl>
|
||||
<dt><label for="viewemail">{L_SHOW_EMAIL}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="viewemail" value="1"<!-- IF VIEW_EMAIL --> id="viewemail" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="viewemail" value="0"<!-- IF not VIEW_EMAIL --> id="viewemail" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="massemail">{L_ADMIN_EMAIL}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="massemail" value="1"<!-- IF MASS_EMAIL --> id="massemail" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="massemail" value="0"<!-- IF not MASS_EMAIL --> id="massemail" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="allowpm">{L_ALLOW_PM}:</label><br /><span>{L_ALLOW_PM_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="allowpm" value="1"<!-- IF ALLOW_PM --> id="allowpm" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="allowpm" value="0"<!-- IF not ALLOW_PM --> id="allowpm" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="hideonline">{L_HIDE_ONLINE}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="hideonline" value="1"<!-- IF HIDE_ONLINE --> id="hideonline" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="hideonline" value="0"<!-- IF not HIDE_ONLINE --> id="hideonline" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="notifymethod">{L_NOTIFY_METHOD}:</label><br /><span>{L_NOTIFY_METHOD_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="notifymethod" value="0"<!-- IF NOTIFY_EMAIL --> id="notifymethod" checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_EMAIL}</label>
|
||||
<label><input type="radio" class="radio" name="notifymethod" value="1"<!-- IF NOTIFY_IM --> id="notifymethod" checked="checked"<!-- ENDIF --><!-- IF S_JABBER_DISABLED --> disabled="disabled"<!-- ENDIF --> /> {L_NOTIFY_METHOD_IM}</label>
|
||||
<label><input type="radio" class="radio" name="notifymethod" value="2"<!-- IF NOTIFY_BOTH --> id="notifymethod" checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_BOTH}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="notifypm">{L_NOTIFY_ON_PM}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="notifypm" value="1"<!-- IF NOTIFY_PM --> id="notifypm" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="notifypm" value="0"<!-- IF not NOTIFY_PM --> id="notifypm" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="popuppm">{L_POPUP_ON_PM}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="popuppm" value="1"<!-- IF POPUP_PM --> id="popuppm" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="popuppm" value="0"<!-- IF not POPUP_PM --> id="popuppm" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="lang">{L_BOARD_LANGUAGE}:</label></dt>
|
||||
<dd><select id="lang" name="lang">{S_LANG_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="style">{L_BOARD_STYLE}:</label></dt>
|
||||
<dd><select id="style" name="style">{S_STYLE_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="tz">{L_BOARD_TIMEZONE}:</label></dt>
|
||||
<dd><select id="tz" name="tz" style="width: 100%;">{S_TZ_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="dst">{L_BOARD_DST}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="dst" value="1"<!-- IF DST --> id="dst" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="dst" value="0"<!-- IF not DST --> id="dst" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="dateoptions">{L_BOARD_DATE_FORMAT}:</label><br /><span>{L_BOARD_DATE_FORMAT_EXPLAIN}</span></dt>
|
||||
<dd><select name="dateoptions" id="dateoptions" onchange="if(this.value=='custom'){dE('custom_date',1);}else{dE('custom_date',-1);} if (this.value == 'custom') { document.getElementById('dateformat').value = '{A_DEFAULT_DATEFORMAT}'; } else { document.getElementById('dateformat').value = this.value; }">{S_DATEFORMAT_OPTIONS}</select></dd>
|
||||
<dd><div id="custom_date"<!-- IF not S_CUSTOM_DATEFORMAT --> style="display:none;"<!-- ENDIF -->><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" maxlength="30" /></div></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_POST}</legend>
|
||||
<dl>
|
||||
<dt><label for="bbcode">{L_DEFAULT_BBCODE}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="bbcode" value="1"<!-- IF BBCODE --> id="bbcode" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="bbcode" value="0"<!-- IF not BBCODE --> id="bbcode" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="smilies">{L_DEFAULT_SMILIES}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="smilies" value="1"<!-- IF SMILIES --> id="smilies" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="smilies" value="0"<!-- IF not SMILIES --> id="smilies" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="sig">{L_DEFAULT_ADD_SIG}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="sig" value="1"<!-- IF ATTACH_SIG --> id="sig" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="sig" value="0"<!-- IF not ATTACH_SIG --> id="sig" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="notify">{L_DEFAULT_NOTIFY}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="notify" value="1"<!-- IF NOTIFY --> id="notify" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="notify" value="0"<!-- IF not NOTIFY --> id="notify" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_UCP_PREFS_VIEW}</legend>
|
||||
<dl>
|
||||
<dt><label for="view_images">{L_VIEW_IMAGES}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_images" value="1"<!-- IF VIEW_IMAGES --> id="view_images" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_images" value="0"<!-- IF not VIEW_IMAGES --> id="view_images" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_flash">{L_VIEW_FLASH}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_flash" value="1"<!-- IF VIEW_FLASH --> id="view_flash" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_flash" value="0"<!-- IF not VIEW_FLASH --> id="view_flash" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_smilies">{L_VIEW_SMILIES}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_smilies" value="1"<!-- IF VIEW_SMILIES --> id="view_smilies" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_smilies" value="0"<!-- IF not VIEW_SMILIES --> id="view_smilies" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_sigs">{L_VIEW_SIGS}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_sigs" value="1"<!-- IF VIEW_SIGS --> id="view_sigs" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_sigs" value="0"<!-- IF not VIEW_SIGS --> id="view_sigss" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_avatars">{L_VIEW_AVATARS}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_avatars" value="1"<!-- IF VIEW_AVATARS --> id="view_avatars" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_avatars" value="0"<!-- IF not VIEW_AVATARS --> id="view_avatars" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="view_wordcensor">{L_DISABLE_CENSORS}:</label></dt>
|
||||
<dd><label><input type="radio" class="radio" name="view_wordcensor" value="1"<!-- IF VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="view_wordcensor" value="0"<!-- IF not VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_DAYS}:</label></dt>
|
||||
<dd>{S_TOPIC_SORT_DAYS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_KEY}:</label></dt>
|
||||
<dd>{S_TOPIC_SORT_KEY}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_TOPICS_DIR}:</label></dt>
|
||||
<dd>{S_TOPIC_SORT_DIR}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_DAYS}:</label></dt>
|
||||
<dd>{S_POST_SORT_DAYS}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_KEY}:</label></dt>
|
||||
<dd>{S_POST_SORT_KEY}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_VIEW_POSTS_DIR}:</label></dt>
|
||||
<dd>{S_POST_SORT_DIR}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
66
phpBB/adm/style/acp_users_profile.html
Normal file
|
@ -0,0 +1,66 @@
|
|||
<form id="user_profile" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_USER_PROFILE}</legend>
|
||||
<dl>
|
||||
<dt><label for="icq">{L_UCP_ICQ}:</label></dt>
|
||||
<dd><input type="text" id="icq" name="icq" value="{ICQ}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="aim">{L_UCP_AIM}:</label></dt>
|
||||
<dd><input type="text" id="aim" name="aim" value="{AIM}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="msn">{L_UCP_MSNM}:</label></dt>
|
||||
<dd><input type="text" id="msn" name="msn" value="{MSN}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="yim">{L_UCP_YIM}:</label></dt>
|
||||
<dd><input type="text" id="yim" name="yim" value="{YIM}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="jabber">{L_UCP_JABBER}:</label></dt>
|
||||
<dd><input type="text" id="jabber" name="jabber" value="{JABBER}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="website">{L_WEBSITE}:</label></dt>
|
||||
<dd><input type="text" id="website" name="website" value="{WEBSITE}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="location">{L_LOCATION}:</label></dt>
|
||||
<dd><input type="text" id="location" name="location" value="{LOCATION}" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="occupation">{L_OCCUPATION}:</label></dt>
|
||||
<dd><textarea id="occupation" name="occupation" rows="3" cols="30">{OCCUPATION}</textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="interests">{L_INTERESTS}:</label></dt>
|
||||
<dd><textarea id="interests" name="interests" rows="3" cols="30">{INTERESTS}</textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="birthday">{L_BIRTHDAY}:</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
|
||||
<dd>{L_DAY}: <select id="birthday" name="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select> {L_MONTH}: <select name="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select> {L_YEAR}: <select name="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<!-- IF .profile_fields -->
|
||||
<fieldset>
|
||||
<legend>{L_USER_CUSTOM_PROFILE_FIELDS}</legend>
|
||||
<!-- BEGIN profile_fields -->
|
||||
<dl>
|
||||
<dt><label>{profile_fields.LANG_NAME}:</label><!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{profile_fields.FIELD}</dd>
|
||||
<!-- IF profile_fields.ERROR -->
|
||||
<dd><span class="small" style="color: red;">{profile_fields.ERROR}</span></dd>
|
||||
<!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- END profile_fields -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
114
phpBB/adm/style/acp_users_signature.html
Normal file
|
@ -0,0 +1,114 @@
|
|||
<script type="text/javascript">
|
||||
<!--
|
||||
|
||||
var form_name = 'user_signature';
|
||||
var text_name = 'signature';
|
||||
|
||||
// Define the bbCode tags
|
||||
var bbcode = new Array();
|
||||
var bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]'<!-- BEGIN custom_tags -->, {custom_tags.BBCODE_NAME}<!-- END custom_tags -->);
|
||||
var imageTag = false;
|
||||
|
||||
// Helpline messages
|
||||
var help_line = {
|
||||
b: '{LA_BBCODE_B_HELP}',
|
||||
i: '{LA_BBCODE_I_HELP}',
|
||||
u: '{LA_BBCODE_U_HELP}',
|
||||
q: '{LA_BBCODE_Q_HELP}',
|
||||
c: '{LA_BBCODE_C_HELP}',
|
||||
l: '{LA_BBCODE_L_HELP}',
|
||||
o: '{LA_BBCODE_O_HELP}',
|
||||
p: '{LA_BBCODE_P_HELP}',
|
||||
w: '{LA_BBCODE_W_HELP}',
|
||||
s: '{LA_BBCODE_S_HELP}',
|
||||
f: '{LA_BBCODE_F_HELP}',
|
||||
e: '{LA_BBCODE_E_HELP}',
|
||||
d: '{LA_BBCODE_D_HELP}',
|
||||
t: '{LA_BBCODE_T_HELP}',
|
||||
tip: '{L_STYLES_TIP}'
|
||||
<!-- BEGIN custom_tags -->
|
||||
,cb_{custom_tags.BBCODE_ID}: '{custom_tags.BBCODE_HELPLINE}'
|
||||
<!-- END custom_tags -->
|
||||
}
|
||||
|
||||
//-->
|
||||
</script>
|
||||
<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>
|
||||
|
||||
<form id="user_signature" method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- IF SIGNATURE_PREVIEW -->
|
||||
<fieldset>
|
||||
<legend>{L_ADMIN_SIG_PREVIEW}</legend>
|
||||
<p>{SIGNATURE_PREVIEW}</p>
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_SIGNATURE}</legend>
|
||||
<p>{L_SIGNATURE_EXPLAIN}</p>
|
||||
|
||||
<div id="format-buttons">
|
||||
<input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px;" onclick="bbstyle(0)" onmouseover="helpline('b')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px;" onclick="bbstyle(2)" onmouseover="helpline('i')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px;" onclick="bbstyle(4)" onmouseover="helpline('u')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" onmouseover="helpline('q')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" onmouseover="helpline('c')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" onmouseover="helpline('l')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" onmouseover="helpline('o')" onmouseout="helpline('tip')" />
|
||||
<input type="button" class="button2" accesskey="t" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" onmouseover="helpline('e')" onmouseout="helpline('tip')" />
|
||||
<!-- IF S_BBCODE_IMG -->
|
||||
<input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" onmouseover="helpline('p')" onmouseout="helpline('tip')" />
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_LINKS_ALLOWED -->
|
||||
<input type="button" class="button2" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="bbstyle(16)" onmouseover="helpline('w')" onmouseout="helpline('tip')" />
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_BBCODE_FLASH -->
|
||||
<input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" onmouseover="helpline('d')" onmouseout="helpline('tip')" />
|
||||
<!-- ENDIF -->
|
||||
|
||||
{L_FONT_SIZE}: <select name="addbbcode20" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" onmouseover="helpline('f')" onmouseout="helpline('tip')">
|
||||
<option value="7">{L_FONT_TINY}</option>
|
||||
<option value="9">{L_FONT_SMALL}</option>
|
||||
<option value="12" selected="selected">{L_FONT_NORMAL}</option>
|
||||
<option value="18">{L_FONT_LARGE}</option>
|
||||
<option value="24">{L_FONT_HUGE}</option>
|
||||
</select>
|
||||
<!-- IF .custom_tags -->
|
||||
<br /><br />
|
||||
<!-- BEGIN custom_tags -->
|
||||
<input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})"<!-- IF custom_tags.BBCODE_HELPLINE !== '' --> onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')"<!-- ENDIF --> />
|
||||
<!-- END custom_tags -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
</div>
|
||||
|
||||
<p><input type="text" class="text full" style="border: 0; background: none;" name="helpbox" value="{L_STYLES_TIP}" /></p>
|
||||
|
||||
<dl>
|
||||
<dt style="width: 90px;"><script type="text/javascript"><!--
|
||||
colorPalette('v', 12, 10);
|
||||
//--></script>
|
||||
</dt>
|
||||
<dd style="margin-left: 90px;"><textarea name="signature" rows="10" cols="60" style="width: 95%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);">{SIGNATURE}</textarea></dd>
|
||||
<dd style="margin-left: 90px; margin-top: 5px;">
|
||||
<!-- IF S_BBCODE_ALLOWED -->
|
||||
<label><input type="checkbox" class="radio" name="disable_bbcode"{S_BBCODE_CHECKED} /> {L_DISABLE_BBCODE}</label>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_SMILIES_ALLOWED -->
|
||||
<label><input type="checkbox" class="radio" name="disable_smilies"{S_SMILIES_CHECKED} /> {L_DISABLE_SMILIES}</label>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_LINKS_ALLOWED -->
|
||||
<label><input type="checkbox" class="radio" name="disable_magic_url"{S_MAGIC_URL_CHECKED} /> {L_DISABLE_MAGIC_URL}</label>
|
||||
<!-- ENDIF -->
|
||||
</dd>
|
||||
<dd style="margin-left: 90px; margin-top: 10px;"><strong>{L_OPTIONS}: </strong>{BBCODE_STATUS} :: {IMG_STATUS} :: {FLASH_STATUS} :: {URL_STATUS} :: {SMILIES_STATUS}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="submit" name="preview" value="{L_PREVIEW}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<form id="confirm" method="post" action="{S_CONFIRM_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<h2>{MESSAGE_TITLE}</h2>
|
||||
<h1>{MESSAGE_TITLE}</h1>
|
||||
<p>{MESSAGE_TEXT}</p>
|
||||
|
||||
{S_HIDDEN_FIELDS}
|
||||
|
|
30
phpBB/adm/style/confirm_body_prune.html
Normal file
|
@ -0,0 +1,30 @@
|
|||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<form id="confirm" method="post" action="{S_CONFIRM_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<h1>{MESSAGE_TITLE}</h1>
|
||||
<p>{MESSAGE_TEXT}</p>
|
||||
|
||||
{S_HIDDEN_FIELDS}
|
||||
|
||||
<div style="text-align: center;">
|
||||
<input type="submit" name="confirm" value="{L_YES}" class="button2" />
|
||||
<input type="submit" name="cancel" value="{L_NO}" class="button2" />
|
||||
</div>
|
||||
|
||||
<h2>{L_PRUNE_USERS_LIST}</h2>
|
||||
<!-- IF S_DEACTIVATE --><p>{L_PRUNE_USERS_LIST_DEACTIVATE}</p><!-- ELSE --><p>{L_PRUNE_USERS_LIST_DELETE}</p><!-- ENDIF -->
|
||||
|
||||
<br />
|
||||
<!-- BEGIN users -->
|
||||
» <a href="{users.U_PROFILE}">{users.USERNAME}</a><!-- IF users.U_USER_ADMIN --> [<a href="{users.U_USER_ADMIN}">{L_USER_ADMIN}</a>]<!-- ENDIF --><br />
|
||||
<!-- END users -->
|
||||
|
||||
<br /><br />
|
||||
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
<!-- BEGIN bool -->
|
||||
<!-- IF bool.FIELD_LENGTH eq 1 -->
|
||||
<!-- BEGIN options --><input type="radio" class="radio" name="{bool.FIELD_IDENT}" value="{bool.options.OPTION_ID}"{bool.options.CHECKED} /> {bool.options.VALUE} <!-- END options -->
|
||||
<!-- BEGIN options --><label><input type="radio" class="radio" name="{bool.FIELD_IDENT}" value="{bool.options.OPTION_ID}"{bool.options.CHECKED} /> {bool.options.VALUE}</label><!-- END options -->
|
||||
<!-- ELSE -->
|
||||
<input type="checkbox" class="radio" name="{bool.FIELD_IDENT}" value="1"<!-- IF bool.FIELD_VALUE --> checked="checked"<!-- ENDIF --> />
|
||||
<!-- ENDIF -->
|
||||
|
|
|
@ -32,11 +32,22 @@ function helpline(help)
|
|||
*/
|
||||
function initInsertions()
|
||||
{
|
||||
var textarea = document.forms[form_name].elements[text_name];
|
||||
textarea.focus();
|
||||
var doc;
|
||||
if(document.forms[form_name])
|
||||
{
|
||||
doc = document;
|
||||
}
|
||||
else
|
||||
{
|
||||
doc = opener.document;
|
||||
}
|
||||
|
||||
var textarea = doc.forms[form_name].elements[text_name];
|
||||
if (is_ie && typeof(baseHeight) != 'number')
|
||||
{
|
||||
baseHeight = document.selection.createRange().duplicate().boundingHeight;
|
||||
textarea.focus();
|
||||
baseHeight = doc.selection.createRange().duplicate().boundingHeight;
|
||||
document.body.focus();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -44,11 +55,13 @@ function initInsertions()
|
|||
* bbstyle
|
||||
*/
|
||||
function bbstyle(bbnumber)
|
||||
{
|
||||
{
|
||||
if (bbnumber != -1)
|
||||
{
|
||||
bbfontstyle(bbtags[bbnumber], bbtags[bbnumber+1]);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
insert_text('[*]');
|
||||
document.forms[form_name].elements[text_name].focus();
|
||||
}
|
||||
|
@ -62,6 +75,7 @@ function bbfontstyle(bbopen, bbclose)
|
|||
theSelection = false;
|
||||
|
||||
var textarea = document.forms[form_name].elements[text_name];
|
||||
|
||||
textarea.focus();
|
||||
|
||||
if ((clientVer >= 4) && is_ie && is_win)
|
||||
|
@ -85,9 +99,10 @@ function bbfontstyle(bbopen, bbclose)
|
|||
theSelection = '';
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//The new position for the cursor after adding the bbcode
|
||||
var new_pos = getCaretPosition(textarea).start + bbopen.length;
|
||||
var caret_pos = getCaretPosition(textarea).start;
|
||||
var new_pos = caret_pos + bbopen.length;
|
||||
|
||||
// Open tag
|
||||
insert_text(bbopen + bbclose);
|
||||
|
@ -103,12 +118,12 @@ function bbfontstyle(bbopen, bbclose)
|
|||
else if (document.selection)
|
||||
{
|
||||
var range = textarea.createTextRange();
|
||||
range.move("character", new_pos);
|
||||
range.move("character", new_pos);
|
||||
range.select();
|
||||
storeCaret(document.forms[form_name].elements[text_name]);
|
||||
storeCaret(textarea);
|
||||
}
|
||||
|
||||
document.forms[form_name].elements[text_name].focus();
|
||||
textarea.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -119,18 +134,20 @@ function insert_text(text, spaces, popup)
|
|||
{
|
||||
var textarea;
|
||||
|
||||
if (!popup)
|
||||
if (!popup)
|
||||
{
|
||||
textarea = document.forms[form_name].elements[text_name];
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
textarea = opener.document.forms[form_name].elements[text_name];
|
||||
}
|
||||
if (spaces)
|
||||
|
||||
if (spaces)
|
||||
{
|
||||
text = ' ' + text + ' ';
|
||||
}
|
||||
|
||||
|
||||
if (!isNaN(textarea.selectionStart))
|
||||
{
|
||||
var sel_start = textarea.selectionStart;
|
||||
|
@ -147,17 +164,21 @@ function insert_text(text, spaces, popup)
|
|||
{
|
||||
textarea.focus();
|
||||
storeCaret(textarea);
|
||||
}
|
||||
}
|
||||
var caret_pos = textarea.caretPos;
|
||||
caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
textarea.value = textarea.value + text;
|
||||
}
|
||||
document.forms[form_name].elements[text_name].focus();
|
||||
|
||||
if (!popup)
|
||||
{
|
||||
textarea.focus();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -280,6 +301,7 @@ function colorPalette(dir, width, height)
|
|||
{
|
||||
var r = 0, g = 0, b = 0;
|
||||
var numberList = new Array(6);
|
||||
var color = '';
|
||||
|
||||
numberList[0] = '00';
|
||||
numberList[1] = '40';
|
||||
|
@ -287,7 +309,7 @@ function colorPalette(dir, width, height)
|
|||
numberList[3] = 'BF';
|
||||
numberList[4] = 'FF';
|
||||
|
||||
document.writeln('<table cellspacing="1" cellpadding="0" border="0">');
|
||||
document.writeln('<table class="type2">');
|
||||
|
||||
for (r = 0; r < 5; r++)
|
||||
{
|
||||
|
@ -344,13 +366,13 @@ function getCaretPosition(txtarea)
|
|||
var caretPos = new caretPosition();
|
||||
|
||||
// simple Gecko/Opera way
|
||||
if(txtarea.selectionStart || txtarea.selectionStart == 0)
|
||||
if (txtarea.selectionStart || txtarea.selectionStart == 0)
|
||||
{
|
||||
caretPos.start = txtarea.selectionStart;
|
||||
caretPos.end = txtarea.selectionEnd;
|
||||
}
|
||||
// dirty and slow IE way
|
||||
else if(document.selection)
|
||||
else if (document.selection)
|
||||
{
|
||||
// get current selection
|
||||
var range = document.selection.createRange();
|
||||
|
@ -362,15 +384,15 @@ function getCaretPosition(txtarea)
|
|||
// calculate selection start point by moving beginning of range_all to beginning of range
|
||||
var sel_start;
|
||||
for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++)
|
||||
{
|
||||
{
|
||||
range_all.moveStart('character', 1);
|
||||
}
|
||||
|
||||
|
||||
txtarea.sel_start = sel_start;
|
||||
|
||||
|
||||
// we ignore the end value for IE, this is already dirty enough and we don't need it
|
||||
caretPos.start = txtarea.sel_start;
|
||||
caretPos.end = txtarea.sel_start;
|
||||
caretPos.end = txtarea.sel_start;
|
||||
}
|
||||
|
||||
return caretPos;
|
||||
|
|
|
@ -11,8 +11,16 @@
|
|||
<form id="install_convert" method="post" action="{U_ACTION}">
|
||||
|
||||
<h1>{TITLE}</h1>
|
||||
|
||||
<p>{BODY}</p>
|
||||
|
||||
<!-- IF S_ERROR_BOX -->
|
||||
<div class="errorbox">
|
||||
<h3>{ERROR_TITLE}</h3>
|
||||
<p>{ERROR_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_LIST -->
|
||||
<table cellspacing="1">
|
||||
<caption>{L_AVAILABLE_CONVERTORS}</caption>
|
||||
|
@ -78,7 +86,7 @@
|
|||
<!-- ELSE -->
|
||||
|
||||
<dl>
|
||||
<dt>{checks.TITLE}:</label><!-- IF checks.S_EXPLAIN --><br /><span class="explain">{checks.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dt><label>{checks.TITLE}:</label><!-- IF checks.S_EXPLAIN --><br /><span class="explain">{checks.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{checks.RESULT}</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
</div>
|
||||
<span class="corners-bottom"><span></span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
|
@ -17,7 +18,7 @@
|
|||
// -->
|
||||
|
||||
<div id="page-footer">
|
||||
Powered by phpBB {VERSION} © 2006 <a href="http://www.phpbb.com/">phpBB Group</a>
|
||||
Powered by phpBB {VERSION} © 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -13,16 +13,18 @@
|
|||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<body class="{S_CONTENT_DIRECTION}">
|
||||
<div id="wrap">
|
||||
<div id="page-header">
|
||||
<h1>{L_INSTALL_PANEL}</h1>
|
||||
<p id="skip"><a href="#acp">{L_SKIP}</a></p>
|
||||
<!-- IF S_LANG_SELECT -->
|
||||
<br />
|
||||
<form method="post">
|
||||
<label for="language">{L_SELECT_LANG}:</label>
|
||||
{S_LANG_SELECT}
|
||||
<input class="button1" type="submit" id="change_lang" name="change_lang" value="{L_CHANGE}" />
|
||||
<form method="post" action="">
|
||||
<fieldset class="nobg">
|
||||
<label for="language">{L_SELECT_LANG}:</label>
|
||||
{S_LANG_SELECT}
|
||||
<input class="button1" type="submit" id="change_lang" name="change_lang" value="{L_CHANGE}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
@ -35,7 +37,8 @@
|
|||
<!-- END t_block1 -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="acp">
|
||||
<div class="panel">
|
||||
<span class="corners-top"><span></span></span>
|
||||
<div id="content">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- INCLUDE install_header.html -->
|
||||
|
||||
<form id="install_install" method="post" action="{U_ACTION}">
|
||||
<form id="install_install" method="post" action="{U_ACTION}" onsubmit="submit.disabled = 'disabled';">
|
||||
|
||||
<!-- IF TITLE --><h1>{TITLE}</h1><!-- ENDIF -->
|
||||
<!-- IF BODY --><p>{BODY}</p><!-- ENDIF -->
|
||||
|
@ -68,7 +68,7 @@
|
|||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
{S_HIDDEN}
|
||||
<!-- IF L_SUBMIT --><input class="button1" type="submit" id="submit" onclick="this.className = 'button1 disabled';" onsubmit="this.disabled = 'disabled';" name="submit" value="{L_SUBMIT}" /><!-- ENDIF -->
|
||||
<!-- IF L_SUBMIT --><input class="button1" type="submit" id="submit" onclick="this.className = 'button1 disabled';" name="submit" value="{L_SUBMIT}" /><!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
|
|
@ -62,11 +62,11 @@
|
|||
<legend></legend>
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_VERSION}</label></dt>
|
||||
<dd><b>{CURRENT_VERSION}</b></dd>
|
||||
<dd><strong>{CURRENT_VERSION}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_LATEST_VERSION}</label></dt>
|
||||
<dd><b>{LATEST_VERSION}</b></dd>
|
||||
<dd><strong>{LATEST_VERSION}</strong></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
@ -101,7 +101,7 @@
|
|||
<p>
|
||||
{L_PERFORM_DATABASE_UPDATE_EXPLAIN}<br />
|
||||
<br />
|
||||
<a href="{U_DB_UPDATE}" target="update"><strong>» {L_RUN_DATABASE_SCRIPT} «</strong></a>
|
||||
<a href="{U_DB_UPDATE}"><strong>» {L_RUN_DATABASE_SCRIPT} «</strong></a>
|
||||
</p>
|
||||
|
||||
<br /><br />
|
||||
|
@ -187,25 +187,25 @@
|
|||
</dt>
|
||||
<dd style="margin-left: 60%;"><!-- IF not files.S_BINARY -->[ <a href="{files.U_SHOW_DIFF}" onclick="popup('{files.U_SHOW_DIFF}', 700, 500); return false;">{files.L_SHOW_DIFF}</a> ]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF --></dd>
|
||||
<!-- IF files.S_CUSTOM -->
|
||||
<dd style="margin-left: 60%;"><input type="checkbox" name="no_update[]" value="{files.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</dd>
|
||||
<dd style="margin-left: 60%;"><label><input type="checkbox" name="no_update[]" value="{files.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF files.STATUS eq 'conflict' -->
|
||||
</dl>
|
||||
<dl>
|
||||
<dt style="width: 60%"><input type="radio" class="radio" name="conflict[{files.FILENAME}]" value="1" checked="checked" /> {L_MERGE_NO_MERGE_NEW_OPTION}</dt>
|
||||
<dd style="margin-left: 60%;">[<a href="{files.U_VIEW_NO_MERGE_NEW}" onclick="popup('{files.U_VIEW_NO_MERGE_NEW}', 700, 500); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{files.FILENAME}]" value="1" checked="checked" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
|
||||
<dd style="margin-left: 60%;"><!-- IF not files.S_BINARY -->[<a href="{files.U_VIEW_NO_MERGE_NEW}" onclick="popup('{files.U_VIEW_NO_MERGE_NEW}', 700, 500); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE --> <!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt style="width: 60%"><input type="radio" class="radio" name="conflict[{files.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</dt>
|
||||
<dd style="margin-left: 60%;">[<a href="{files.U_VIEW_NO_MERGE_MOD}" onclick="popup('{files.U_VIEW_NO_MERGE_MOD}', 700, 500); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{files.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</label></dt>
|
||||
<dd style="margin-left: 60%;"><!-- IF not files.S_BINARY -->[<a href="{files.U_VIEW_NO_MERGE_MOD}" onclick="popup('{files.U_VIEW_NO_MERGE_MOD}', 700, 500); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE --> <!-- ENDIF --></dd>
|
||||
</dl>
|
||||
<!-- IF not files.S_BINARY -->
|
||||
<dl>
|
||||
<dt style="width: 60%"><input type="radio" class="radio" name="conflict[{files.FILENAME}]" value="3" /> {L_MERGE_NEW_FILE_OPTION}</dt>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{files.FILENAME}]" value="3" /> {L_MERGE_NEW_FILE_OPTION}</label></dt>
|
||||
<dd style="margin-left: 60%;">[<a href="{files.U_VIEW_NEW_FILE}" onclick="popup('{files.U_VIEW_NEW_FILE}', 700, 500); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt style="width: 60%"><input type="radio" class="radio" name="conflict[{files.FILENAME}]" value="4" /> {L_MERGE_MOD_FILE_OPTION}</dt>
|
||||
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{files.FILENAME}]" value="4" /> {L_MERGE_MOD_FILE_OPTION}</label></dt>
|
||||
<dd style="margin-left: 60%;">[<a href="{files.U_VIEW_MOD_FILE}" onclick="popup('{files.U_VIEW_MOD_FILE}', 700, 500); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
|
@ -312,7 +312,7 @@
|
|||
<legend>{L_FTP_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label>{L_UPLOAD_METHOD}:</label></dt>
|
||||
<dd><b>{UPLOAD_METHOD}</b></dd>
|
||||
<dd><strong>{UPLOAD_METHOD}</strong></dd>
|
||||
</dl>
|
||||
<!-- BEGIN data -->
|
||||
<dl>
|
||||
|
|
|
@ -215,6 +215,7 @@ table.hrdiff caption span {
|
|||
<!-- ENDIF -->
|
||||
<!-- IF not S_DIFF_NEW_FILE -->
|
||||
<br />
|
||||
<p id="skip"><a href="#acp">{L_SKIP}</a></p>
|
||||
<form method="post">
|
||||
<label for="diff_mode">{L_SELECT_DIFF_MODE}:</label>
|
||||
<select name="diff_mode" id="diff_mode">{S_DIFF_MODE_OPTIONS}</select>
|
||||
|
@ -225,6 +226,7 @@ table.hrdiff caption span {
|
|||
</div>
|
||||
|
||||
<div id="page-body">
|
||||
<div id="acp">
|
||||
<div class="panel" id="codepanel">
|
||||
<span class="corners-top"><span></span></span>
|
||||
<div id="content">
|
||||
|
@ -238,6 +240,7 @@ table.hrdiff caption span {
|
|||
</div>
|
||||
<span class="corners-bottom"><span></span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -3,12 +3,13 @@
|
|||
</div>
|
||||
<span class="corners-bottom"><span></span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
We request you retain the full copyright notice below including the link to www.phpbb.com.
|
||||
This not only gives respect to the large amount of time given freely by the developers
|
||||
but also helps build interest, traffic and use of phpBB2. If you (honestly) cannot retain
|
||||
but also helps build interest, traffic and use of phpBB. If you (honestly) cannot retain
|
||||
the full copyright we ask you at least leave in place the "Powered by phpBB" line, with
|
||||
"phpBB" linked to www.phpbb.com. If you refuse to include even this then support on our
|
||||
forums may be affected.
|
||||
|
@ -18,7 +19,7 @@
|
|||
|
||||
<div id="page-footer">
|
||||
<!-- IF S_COPYRIGHT_HTML -->
|
||||
Powered by phpBB {VERSION} © 2006 <a href="http://www.phpbb.com/">phpBB Group</a>
|
||||
Powered by phpBB {VERSION} © 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>
|
||||
<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
|
|
@ -18,6 +18,9 @@ var on_page = '{ON_PAGE}';
|
|||
var per_page = '{PER_PAGE}';
|
||||
var base_url = '{BASE_URL}';
|
||||
|
||||
var menu_state = 'shown';
|
||||
|
||||
|
||||
/**
|
||||
* Jump to page
|
||||
*/
|
||||
|
@ -83,7 +86,7 @@ function marklist(id, name, state)
|
|||
*/
|
||||
function trace(link)
|
||||
{
|
||||
window.open(link.replace(/&/g, '&'), '_trace', 'height=515, resizable=yes, scrollbars=yes, width=680');
|
||||
window.open(link.replace(/&/g, '&'), '_trace', 'height=515, resizable=yes, scrollbars=yes, width=750');
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -109,15 +112,55 @@ function swatch(field)
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hiding/Showing the side menu
|
||||
*/
|
||||
function switch_menu()
|
||||
{
|
||||
var menu = document.getElementById('menu');
|
||||
var main = document.getElementById('main');
|
||||
var toggle = document.getElementById('toggle');
|
||||
var handle = document.getElementById('toggle-handle');
|
||||
|
||||
switch (menu_state)
|
||||
{
|
||||
// hide
|
||||
case 'shown':
|
||||
main.style.width = '93%';
|
||||
menu_state = 'hidden';
|
||||
menu.style.display = 'none';
|
||||
toggle.style.left = '0';
|
||||
toggle.style.width = '20px';
|
||||
handle.style.backgroundImage = 'url(images/toggle.gif)';
|
||||
handle.style.backgroundPosition = '100% 50%';
|
||||
handle.style.backgroundRepeat = 'no-repeat';
|
||||
break;
|
||||
|
||||
// show
|
||||
case 'hidden':
|
||||
main.style.width = '76%';
|
||||
menu_state = 'shown';
|
||||
menu.style.display = 'block';
|
||||
toggle.style.left = '15%';
|
||||
toggle.style.width = '5%';
|
||||
handle.style.backgroundImage = 'url(images/toggle.gif)';
|
||||
handle.style.backgroundPosition = '0% 50%';
|
||||
handle.style.backgroundRepeat = 'no-repeat';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="{S_CONTENT_DIRECTION}">
|
||||
|
||||
<div id="wrap">
|
||||
<div id="page-header">
|
||||
<h1>{L_ADMIN_PANEL}</h1>
|
||||
<p><a href="{U_ADM_INDEX}">{L_ADMIN_INDEX}</a> • <a href="{U_INDEX}">{L_FORUM_INDEX}</a></p>
|
||||
<p id="skip"><a href="#acp">{L_SKIP}</a></p>
|
||||
</div>
|
||||
|
||||
<div id="page-body">
|
||||
|
@ -128,12 +171,17 @@ function swatch(field)
|
|||
<!-- END t_block1 -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="acp">
|
||||
<div class="panel">
|
||||
<span class="corners-top"><span></span></span>
|
||||
<div id="content">
|
||||
<!-- IF not S_USER_NOTICE -->
|
||||
<div id="toggle">
|
||||
<a id="toggle-handle" accesskey="m" title="{L_MENU_TOGGLE}" onclick="switch_menu(); return false;" href="#"></a></div>
|
||||
<!-- ENDIF -->
|
||||
<div id="menu">
|
||||
<p>{L_LOGGED_IN_AS}<br /><strong>{USERNAME}</strong> [ <a href="{U_LOGOUT}">{L_LOGOUT}</a> ]</p>
|
||||
<p>{L_LOGGED_IN_AS}<br /><strong>{USERNAME}</strong> [ <a href="{U_LOGOUT}">{L_LOGOUT}</a> ]</p>
|
||||
<ul>
|
||||
<!-- BEGIN l_block1 -->
|
||||
<!-- IF l_block1.S_SELECTED -->
|
||||
|
|
|
@ -16,28 +16,25 @@
|
|||
</script>
|
||||
<script type="text/javascript" src="style/permissions.js"></script>
|
||||
|
||||
|
||||
<!-- BEGIN p_mask -->
|
||||
|
||||
<div class="clearfix"></div>
|
||||
<h3>{p_mask.NAME}<!-- IF p_mask.S_LOCAL --> <span class="small"> [{p_mask.L_ACL_TYPE}]</span><!-- ENDIF --></h3>
|
||||
<h3>{p_mask.PADDING}{p_mask.NAME}<!-- IF p_mask.S_LOCAL --> <span class="small"> [{p_mask.L_ACL_TYPE}]</span><!-- ENDIF --></h3>
|
||||
|
||||
<!-- BEGIN f_mask -->
|
||||
|
||||
<fieldset class="perm" id="perm{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">
|
||||
<div class="clearfix"></div>
|
||||
<fieldset class="permissions" id="perm{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">
|
||||
<legend id="legend{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">
|
||||
<!-- IF not p_mask.S_VIEW -->
|
||||
<input type="checkbox" style="display: none;" class="perm_cb" name="inherit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" id="checkbox{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" value="1" onclick="toggle_opacity('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')" />
|
||||
<input type="checkbox" style="display: none;" class="permissions-checkbox" name="inherit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" id="checkbox{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" value="1" onclick="toggle_opacity('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')" />
|
||||
<!-- ELSE -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
{p_mask.f_mask.NAME}
|
||||
<!-- {p_mask.f_mask.PADDING} -->{p_mask.f_mask.NAME}
|
||||
</legend>
|
||||
<!-- IF not p_mask.S_VIEW -->
|
||||
<div class="perm_switch">
|
||||
<div class="permissions-switch">
|
||||
<a href="#" onclick="swap_options('{p_mask.S_ROW_COUNT}', '{p_mask.f_mask.S_ROW_COUNT}', '0', true); return false;">{L_ADVANCED_PERMISSIONS}</a>
|
||||
</div>
|
||||
<dl class="perm_simple">
|
||||
<dl class="permissions-simple">
|
||||
<dt style="width: 20%"><label for="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">{L_ROLE}:</label></dt>
|
||||
<!-- IF p_mask.f_mask.S_ROLE_OPTIONS -->
|
||||
<dd style="margin-left: 20%"><select id="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" name="role[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" onchange="set_role_settings(this.options[selectedIndex].value, 'advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); init_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')">{p_mask.f_mask.S_ROLE_OPTIONS}</select></dd>
|
||||
|
@ -49,20 +46,20 @@
|
|||
|
||||
<!-- BEGIN category -->
|
||||
<!-- IF p_mask.f_mask.category.S_FIRST_ROW -->
|
||||
<div class="perm_advanced" id="advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}"<!-- IF not p_mask.S_VIEW --> style="display: none;"<!-- ENDIF -->>
|
||||
<div class="permissions-advanced" id="advanced{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}"<!-- IF not p_mask.S_VIEW --> style="display: none;"<!-- ENDIF -->>
|
||||
|
||||
<div class="perm_cat">
|
||||
<div class="permissions-category">
|
||||
<ul>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF p_mask.f_mask.category.S_YES -->
|
||||
<li class="perm_preset_yes<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
|
||||
<li class="permissions-preset-yes<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
|
||||
<!-- ELSEIF p_mask.f_mask.category.S_NEVER -->
|
||||
<li class="perm_preset_never<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
|
||||
<li class="permissions-preset-never<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
|
||||
<!-- ELSEIF p_mask.f_mask.category.S_NO -->
|
||||
<li class="perm_preset_no<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
|
||||
<li class="permissions-preset-no<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
|
||||
<!-- ELSE -->
|
||||
<li class="perm_preset_custom<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
|
||||
<li class="permissions-preset-custom<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
|
||||
<!-- ENDIF -->
|
||||
<a href="#" onclick="swap_options('{p_mask.S_ROW_COUNT}', '{p_mask.f_mask.S_ROW_COUNT}', '{p_mask.f_mask.category.S_ROW_COUNT}', false<!-- IF p_mask.S_VIEW -->, true<!-- ENDIF -->); return false;"><span class="tabbg"><span class="colour"></span>{category.CAT_NAME}</span></a></li>
|
||||
<!-- END category -->
|
||||
|
@ -70,59 +67,64 @@
|
|||
</div>
|
||||
|
||||
<!-- BEGIN category -->
|
||||
<div class="perm_panel" id="options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}" <!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --><!-- ELSE --> style="display: none;"<!-- ENDIF -->>
|
||||
<div class="permissions-panel" id="options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}" <!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --><!-- ELSE --> style="display: none;"<!-- ENDIF -->>
|
||||
<span class="corners-top"><span></span></span>
|
||||
<div class="tablewrap">
|
||||
<table id="table{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}" cellspacing="1">
|
||||
<colgroup>
|
||||
<col class="permissions_name" />
|
||||
<col class="permissions_yes" />
|
||||
<col class="permissions_no" />
|
||||
<col class="permissions-name" />
|
||||
<col class="permissions-yes" />
|
||||
<col class="permissions-no" />
|
||||
<!-- IF not p_mask.S_VIEW -->
|
||||
<col class="permissions_never" />
|
||||
<col class="permissions-never" />
|
||||
<!-- ENDIF -->
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="name" scope="col"><strong>{L_ACL_SETTING}</strong></th>
|
||||
<!-- IF p_mask.S_VIEW -->
|
||||
<th style="width: 40px;" class="value" scope="col">{L_ACL_YES}</th>
|
||||
<th style="width: 40px;" class="value" scope="col">{L_ACL_NEVER}</th>
|
||||
<th class="value" scope="col">{L_ACL_YES}</th>
|
||||
<th class="value" scope="col">{L_ACL_NEVER}</th>
|
||||
<!-- ELSE -->
|
||||
<th class="value" scope="col"><a href="#" onclick="mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'y'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false, 'yes'); return false;">{L_ACL_YES}</a></th>
|
||||
<th class="value" scope="col"><a href="#" onclick="mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'u'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false, 'no'); return false;">{L_ACL_NO}</a></th>
|
||||
<th class="value" scope="col"><a href="#" onclick="mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'n'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false, 'never'); return false;">{L_ACL_NEVER}</a></th>
|
||||
<th class="value permissions-yes" scope="col"><a href="#" onclick="mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'y'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false, 'yes'); return false;">{L_ACL_YES}</a></th>
|
||||
<th class="value permissions-no" scope="col"><a href="#" onclick="mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'u'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false, 'no'); return false;">{L_ACL_NO}</a></th>
|
||||
<th class="value permissions-never" scope="col"><a href="#" onclick="mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'n'); reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false, 'never'); return false;">{L_ACL_NEVER}</a></th>
|
||||
<!-- ENDIF -->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN mask -->
|
||||
<!-- IF p_mask.f_mask.category.mask.S_ROW_COUNT is even --><tr class="row4"><!-- ELSE --><tr class="row3"><!-- ENDIF -->
|
||||
<th class="permission_name<!-- IF p_mask.f_mask.category.mask.S_ROW_COUNT is even --> row4<!-- ELSE --> row3<!-- ENDIF -->"><!-- IF p_mask.f_mask.category.mask.U_TRACE --><a href="#" class="trace" onclick="trace('{p_mask.f_mask.category.mask.U_TRACE}'); return false;" title="{L_TRACE_SETTING}"><img src="images/icon_trace.gif" alt="{L_TRACE_SETTING}" /></a> <!-- ENDIF -->{p_mask.f_mask.category.mask.PERMISSION}</th>
|
||||
<th class="permissions-name<!-- IF p_mask.f_mask.category.mask.S_ROW_COUNT is even --> row4<!-- ELSE --> row3<!-- ENDIF -->"><!-- IF p_mask.f_mask.category.mask.U_TRACE --><a href="#" class="trace" onclick="trace('{p_mask.f_mask.category.mask.U_TRACE}'); return false;" title="{L_TRACE_SETTING}"><img src="images/icon_trace.gif" alt="{L_TRACE_SETTING}" /></a> <!-- ENDIF -->{p_mask.f_mask.category.mask.PERMISSION}</th>
|
||||
<!-- IF p_mask.S_VIEW -->
|
||||
<td<!-- IF p_mask.f_mask.category.mask.S_YES --> class="yes"<!-- ENDIF -->> </td>
|
||||
<td<!-- IF p_mask.f_mask.category.mask.S_NEVER --> class="never"<!-- ENDIF -->></td>
|
||||
<!-- ELSE -->
|
||||
<td><label for="{p_mask.f_mask.category.mask.S_FIELD_NAME}_y"><input onchange="reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false)" id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_y" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" class="radio" type="radio"<!-- IF p_mask.f_mask.category.mask.S_YES --> checked="checked"<!-- ENDIF --> value="1" /></label></td>
|
||||
<td><label for="{p_mask.f_mask.category.mask.S_FIELD_NAME}_u"><input onchange="reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false)" id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_u" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" class="radio" type="radio"<!-- IF p_mask.f_mask.category.mask.S_NO --> checked="checked"<!-- ENDIF --> value="-1" /></label></td>
|
||||
<td><label for="{p_mask.f_mask.category.mask.S_FIELD_NAME}_n"><input onchange="reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false)" id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_n" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" class="radio" type="radio"<!-- IF p_mask.f_mask.category.mask.S_NEVER --> checked="checked"<!-- ENDIF --> value="0" /></label></td>
|
||||
<td class="permissions-yes"><label for="{p_mask.f_mask.category.mask.S_FIELD_NAME}_y"><input onclick="reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false)" id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_y" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" class="radio" type="radio"<!-- IF p_mask.f_mask.category.mask.S_YES --> checked="checked"<!-- ENDIF --> value="1" /></label></td>
|
||||
<td class="permissions-no"><label for="{p_mask.f_mask.category.mask.S_FIELD_NAME}_u"><input onclick="reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false)" id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_u" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" class="radio" type="radio"<!-- IF p_mask.f_mask.category.mask.S_NO --> checked="checked"<!-- ENDIF --> value="-1" /></label></td>
|
||||
<td class="permissions-never"><label for="{p_mask.f_mask.category.mask.S_FIELD_NAME}_n"><input onclick="reset_role('role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); set_colours('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', false)" id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_n" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" class="radio" type="radio"<!-- IF p_mask.f_mask.category.mask.S_NEVER --> checked="checked"<!-- ENDIF --> value="0" /></label></td>
|
||||
<!-- ENDIF -->
|
||||
</tr>
|
||||
<!-- END mask -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- IF not p_mask.S_VIEW -->
|
||||
<fieldset class="quick" style="margin-right: 11px;">
|
||||
<p class="small">{L_APPLY_PERMISSIONS_EXPLAIN}</p>
|
||||
<input class="button1" type="submit" name="psubmit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" value="{L_APPLY_PERMISSIONS}" />
|
||||
<p class="small"><a href="#" onclick="reset_opacity(0, '{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); return false;">{L_MARK_ALL}</a> • <a href="#" onclick="reset_opacity(1, '{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); return false;">{L_UNMARK_ALL}</a></p>
|
||||
<!-- IF .p_mask.f_mask gt 1 or .p_mask gt 1 -->
|
||||
<p class="small"><a href="#" onclick="reset_opacity(0, '{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); return false;">{L_MARK_ALL}</a> • <a href="#" onclick="reset_opacity(1, '{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); return false;">{L_UNMARK_ALL}</a></p>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<span class="corners-bottom"><span></span></span>
|
||||
</div>
|
||||
<!-- END category -->
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<!-- END f_mask -->
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*/
|
||||
function display_checkboxes(status)
|
||||
{
|
||||
var form = document.getElementById('set_permissions');
|
||||
var form = document.getElementById('set-permissions');
|
||||
var cb = document.getElementsByTagName('input');
|
||||
var display;
|
||||
|
||||
|
@ -21,7 +21,7 @@ function display_checkboxes(status)
|
|||
|
||||
for (var i = 0; i < cb.length; i++ )
|
||||
{
|
||||
if (cb[i].className == 'perm_cb')
|
||||
if (cb[i].className == 'permissions-checkbox')
|
||||
{
|
||||
cb[i].style.display = display;
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ function toggle_opacity(block_id) {
|
|||
* except_id = id of the element not to hide
|
||||
*/
|
||||
function reset_opacity(status, except_id) {
|
||||
var perm = document.getElementById('set_permissions');
|
||||
var perm = document.getElementById('set-permissions');
|
||||
var fs = perm.getElementsByTagName('fieldset');
|
||||
var opacity = 5;
|
||||
|
||||
|
@ -90,7 +90,7 @@ function reset_opacity(status, except_id) {
|
|||
}
|
||||
|
||||
//reset checkboxes too
|
||||
marklist('set_permissions', 'inherit', !status);
|
||||
marklist('set-permissions', 'inherit', !status);
|
||||
}
|
||||
|
||||
|
||||
|
@ -132,7 +132,7 @@ function set_colours(id, init, quick)
|
|||
|
||||
if (typeof(quick) != 'undefined')
|
||||
{
|
||||
tab.className = 'perm_preset_' + quick + ' activetab';
|
||||
tab.className = 'permissions-preset-' + quick + ' activetab';
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -168,11 +168,11 @@ function set_colours(id, init, quick)
|
|||
|
||||
if (init)
|
||||
{
|
||||
tab.className = 'perm_preset_' + colour;
|
||||
tab.className = 'permissions-preset-' + colour;
|
||||
}
|
||||
else
|
||||
{
|
||||
tab.className = 'perm_preset_' + colour + ' activetab';
|
||||
tab.className = 'permissions-preset-' + colour + ' activetab';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -188,7 +188,7 @@ function init_colours(block_id)
|
|||
|
||||
for (var i = 0; i < panels.length; i++)
|
||||
{
|
||||
if(panels[i].className == 'perm_panel')
|
||||
if(panels[i].className == 'permissions-panel')
|
||||
{
|
||||
set_colours(panels[i].id.replace(/options/, ''), true);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<!--
|
||||
We request you retain the full copyright notice below including the link to www.phpbb.com.
|
||||
This not only gives respect to the large amount of time given freely by the developers
|
||||
but also helps build interest, traffic and use of phpBB2. If you (honestly) cannot retain
|
||||
but also helps build interest, traffic and use of phpBB. If you (honestly) cannot retain
|
||||
the full copyright we ask you at least leave in place the "Powered by phpBB" line, with
|
||||
"phpBB" linked to www.phpbb.com. If you refuse to include even this then support on our
|
||||
forums may be affected.
|
||||
|
@ -16,7 +16,7 @@
|
|||
<div id="page-footer">
|
||||
|
||||
<!-- IF S_COPYRIGHT_HTML -->
|
||||
<br />Powered by phpBB {VERSION} © 2006 <a href="http://www.phpbb.com/">phpBB Group</a>
|
||||
<br />Powered by phpBB {VERSION} © 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>
|
||||
<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
|
|
@ -101,4 +101,4 @@ function swatch(field)
|
|||
|
||||
<body class="{S_CONTENT_DIRECTION}">
|
||||
|
||||
<div id="page-body" style="padding: 0 10px;">
|
||||
<div id="page-body" class="simple-page-body">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!-- INCLUDE simple_header.html -->
|
||||
|
||||
<div id="acp">
|
||||
<div class="panel" style="padding: 10px;">
|
||||
|
||||
<div style="overflow: auto;">
|
||||
<h1>{FILENAME}</h1>
|
||||
|
||||
<table>
|
||||
|
@ -16,5 +16,6 @@
|
|||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- INCLUDE simple_footer.html -->
|
8
phpBB/cache/.htaccess
vendored
|
@ -1,4 +1,4 @@
|
|||
<Limit GET POST PUT>
|
||||
Order Allow,Deny
|
||||
Deny from All
|
||||
</Limit>
|
||||
<Files *>
|
||||
Order Allow,Deny
|
||||
Deny from All
|
||||
</Files>
|
10
phpBB/cache/index.htm
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF" text="#000000">
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -191,7 +191,7 @@ $cache = new cache();
|
|||
$db = new $sql_db();
|
||||
|
||||
// Connect to DB
|
||||
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
|
||||
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false);
|
||||
|
||||
// We do not need this any longer, unset for safety purposes
|
||||
unset($dbpasswd);
|
||||
|
|
|
@ -227,7 +227,7 @@ foreach ($prefixes as $prefix)
|
|||
$sql = 'UPDATE ' . USERS_TABLE . " SET user_permissions = ''";
|
||||
$db->sql_query($sql);
|
||||
|
||||
$cache->destroy('acl_options');
|
||||
$cache->destroy('_acl_options');
|
||||
|
||||
echo "<p><b>Done</b></p>\n";
|
||||
|
||||
|
|
147
phpBB/develop/adjust_avatars.php
Executable file
|
@ -0,0 +1,147 @@
|
|||
<?php
|
||||
/**
|
||||
* Corrects avatar filenames to match the new avatar delivery method.
|
||||
*
|
||||
* You should make a backup from your users table and the avatar directory in case something goes wrong
|
||||
*/
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
set_time_limit(0);
|
||||
|
||||
define('IN_PHPBB', true);
|
||||
$phpbb_root_path = './../';
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
include($phpbb_root_path . 'common.'.$phpEx);
|
||||
|
||||
// Start session management
|
||||
$user->session_begin();
|
||||
$auth->acl($user->data);
|
||||
$user->setup();
|
||||
|
||||
$echos = 0;
|
||||
|
||||
if (!isset($config['avatar_salt']))
|
||||
{
|
||||
$cache->purge();
|
||||
if (!isset($config['avatar_salt']))
|
||||
{
|
||||
die('database not up to date');
|
||||
}
|
||||
die('database not up to date');
|
||||
}
|
||||
|
||||
// let's start with the users using a group_avatar.
|
||||
$sql = 'SELECT group_id, group_avatar
|
||||
FROM ' . GROUPS_TABLE . '
|
||||
WHERE group_avatar_type = ' . AVATAR_UPLOAD;
|
||||
|
||||
// We'll skip these, so remember them
|
||||
$group_avatars = array();
|
||||
|
||||
echo '<br /> Updating groups' . "\n";
|
||||
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$new_avatar_name = adjust_avatar($row['group_avatar'], 'g' . $row['group_id']);
|
||||
$group_avatars[] = $new_avatar_name;
|
||||
|
||||
// failure is probably due to the avatar name already being adjusted
|
||||
if ($new_avatar_name !== false)
|
||||
{
|
||||
$sql = 'UPDATE ' . USERS_TABLE . "
|
||||
SET user_avatar = '" . $db->sql_escape($new_avatar_name) . "'
|
||||
WHERE user_avatar = '" . $db->sql_escape($row['group_avatar']) . "'
|
||||
AND user_avatar_type = " . AVATAR_UPLOAD;
|
||||
$db->sql_query($sql);
|
||||
|
||||
$sql = 'UPDATE ' . GROUPS_TABLE . "
|
||||
SET group_avatar = '" . $db->sql_escape($new_avatar_name) . "'
|
||||
WHERE group_id = {$row['group_id']}";
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br /> Failed updating group ' . $row['group_id'] . "\n";
|
||||
}
|
||||
|
||||
if ($echos > 200)
|
||||
{
|
||||
echo '<br />' . "\n";
|
||||
$echos = 0;
|
||||
}
|
||||
|
||||
echo '.';
|
||||
$echos++;
|
||||
|
||||
flush();
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = 'SELECT user_id, username, user_avatar, user_avatar_type
|
||||
FROM ' . USERS_TABLE . '
|
||||
WHERE user_avatar_type = ' . AVATAR_UPLOAD . '
|
||||
AND ' . $db->sql_in_set('user_avatar', $group_avatars, true, true);
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
echo '<br /> Updating users' . "\n";
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$new_avatar_name = adjust_avatar($row['user_avatar'], $row['user_id']);
|
||||
|
||||
// failure is probably due to the avatar name already being adjusted
|
||||
if ($new_avatar_name !== false)
|
||||
{
|
||||
$sql = 'UPDATE ' . USERS_TABLE . "
|
||||
SET user_avatar = '" . $db->sql_escape($new_avatar_name) . "'
|
||||
WHERE user_id = {$row['user_id']}";
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
else
|
||||
{
|
||||
// nuke this avatar
|
||||
$sql = 'UPDATE ' . USERS_TABLE . "
|
||||
SET user_avatar = '', user_avatar_type = 0
|
||||
WHERE user_id = {$row['user_id']}";
|
||||
$db->sql_query($sql);
|
||||
echo '<br /> Failed updating user ' . $row['user_id'] . "\n";
|
||||
}
|
||||
|
||||
if ($echos > 200)
|
||||
{
|
||||
echo '<br />' . "\n";
|
||||
$echos = 0;
|
||||
}
|
||||
|
||||
echo '.';
|
||||
$echos++;
|
||||
|
||||
flush();
|
||||
}
|
||||
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
echo 'FINISHED';
|
||||
|
||||
// Done
|
||||
$db->sql_close();
|
||||
|
||||
function adjust_avatar($old_name, $midfix)
|
||||
{
|
||||
global $config, $phpbb_root_path;
|
||||
|
||||
$avatar_path = $phpbb_root_path . $config['avatar_path'];
|
||||
$extension = strtolower(substr(strrchr($old_name, '.'), 1));
|
||||
$new_name = $config['avatar_salt'] . '_' . $midfix . '.' . $extension;
|
||||
|
||||
if (@file_exists($avatar_path . '/' . $old_name) && @is_writable($avatar_path . '/' . $old_name) && @is_writable($avatar_path . '/' . $new_name))
|
||||
{
|
||||
@rename($avatar_path . '/' . $old_name, $avatar_path . '/' . $new_name);
|
||||
return $midfix . '.' . $extension;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
?>
|
126
phpBB/develop/adjust_magic_urls.php
Normal file
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Adds class="postlink" to magic urls
|
||||
*
|
||||
* You should make a backup from your users, posts and privmsgs table in case something goes wrong
|
||||
* Forum descriptions and rules need to be re-submitted manually.
|
||||
*/
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
set_time_limit(0);
|
||||
|
||||
define('IN_PHPBB', true);
|
||||
$phpbb_root_path = './../';
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
include($phpbb_root_path . 'common.'.$phpEx);
|
||||
|
||||
// Start session management
|
||||
$user->session_begin();
|
||||
$auth->acl($user->data);
|
||||
$user->setup();
|
||||
|
||||
$echos = 0;
|
||||
|
||||
$replace = array(
|
||||
'<!-- l --><a href="',
|
||||
'<!-- m --><a href="',
|
||||
'<!-- w --><a href="',
|
||||
);
|
||||
$with = array(
|
||||
'<!-- l --><a class="postlink-local" href="',
|
||||
'<!-- m --><a class="postlink" href="',
|
||||
'<!-- w --><a class="postlink" href="',
|
||||
);
|
||||
|
||||
// Adjust user signatures
|
||||
$sql = 'SELECT user_id, user_sig
|
||||
FROM ' . USERS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$new_content = str_replace($replace, $with, $row['user_sig']);
|
||||
|
||||
if ($new_content != $row['user_sig'])
|
||||
{
|
||||
$sql = 'UPDATE ' . USERS_TABLE . " SET user_sig = '" . $db->sql_escape($new_content) . "'
|
||||
WHERE user_id = " . $row['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
if ($echos > 200)
|
||||
{
|
||||
echo '<br />' . "\n";
|
||||
$echos = 0;
|
||||
}
|
||||
|
||||
echo '.';
|
||||
$echos++;
|
||||
|
||||
flush();
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
|
||||
// Now adjust posts
|
||||
$sql = 'SELECT post_id, post_text
|
||||
FROM ' . POSTS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$new_content = str_replace($replace, $with, $row['post_text']);
|
||||
|
||||
if ($row['post_text'] != $new_content)
|
||||
{
|
||||
$sql = 'UPDATE ' . POSTS_TABLE . " SET post_text = '" . $db->sql_escape($new_content) . "'
|
||||
WHERE post_id = " . $row['post_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
if ($echos > 200)
|
||||
{
|
||||
echo '<br />' . "\n";
|
||||
$echos = 0;
|
||||
}
|
||||
|
||||
echo '.';
|
||||
$echos++;
|
||||
|
||||
flush();
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// Now to the private messages
|
||||
$sql = 'SELECT msg_id, message_text
|
||||
FROM ' . PRIVMSGS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$new_content = str_replace($replace, $with, $row['message_text']);
|
||||
|
||||
if ($row['message_text'] != $new_content)
|
||||
{
|
||||
$sql = 'UPDATE ' . PRIVMSGS_TABLE . " SET bbcode_bitfield = '" . $db->sql_escape($new_content) . "'
|
||||
WHERE msg_id = " . $row['msg_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
if ($echos > 200)
|
||||
{
|
||||
echo '<br />' . "\n";
|
||||
$echos = 0;
|
||||
}
|
||||
|
||||
echo '.';
|
||||
$echos++;
|
||||
|
||||
flush();
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// Done
|
||||
$db->sql_close();
|
||||
|
||||
?>
|
132
phpBB/develop/adjust_sizes.php
Normal file
|
@ -0,0 +1,132 @@
|
|||
<?php
|
||||
/**
|
||||
* Only adjust the [size] bbcode tag from pc to percent.
|
||||
*
|
||||
* You should make a backup from your users, posts and privmsgs table in case something goes wrong
|
||||
* Forum descriptions and rules need to be re-submitted manually if they use the [size] tag.
|
||||
*
|
||||
* Since we limit the match to the sizes from 0 to 29 no newly applied sizes should be affected...
|
||||
*/
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
set_time_limit(0);
|
||||
@ini_set('memory_limit', '128M');
|
||||
|
||||
define('IN_PHPBB', true);
|
||||
$phpbb_root_path = './../';
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
include($phpbb_root_path . 'common.'.$phpEx);
|
||||
|
||||
// Start session management
|
||||
$user->session_begin();
|
||||
$auth->acl($user->data);
|
||||
$user->setup();
|
||||
|
||||
$echos = 0;
|
||||
|
||||
function replace_size($matches)
|
||||
{
|
||||
return '[size=' . ceil(100.0 * (((double) $matches[1])/12.0)) . ':' . $matches[2] . ']';
|
||||
}
|
||||
|
||||
// Adjust user signatures
|
||||
$sql = 'SELECT user_id, user_sig, user_sig_bbcode_uid
|
||||
FROM ' . USERS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$bbcode_uid = $row['user_sig_bbcode_uid'];
|
||||
|
||||
// Only if a bbcode uid is present, the signature present and a size tag used...
|
||||
if ($bbcode_uid && $row['user_sig'] && strpos($row['user_sig'], '[size=') !== false)
|
||||
{
|
||||
$row['user_sig'] = preg_replace_callback('/\[size=(\d*):(' . $bbcode_uid . ')\]/', 'replace_size', $row['user_sig']);
|
||||
|
||||
$sql = 'UPDATE ' . USERS_TABLE . " SET user_sig = '" . $db->sql_escape($row['user_sig']) . "'
|
||||
WHERE user_id = " . $row['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
if ($echos > 200)
|
||||
{
|
||||
echo '<br />' . "\n";
|
||||
$echos = 0;
|
||||
}
|
||||
|
||||
echo '.';
|
||||
$echos++;
|
||||
|
||||
flush();
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
|
||||
// Now adjust posts
|
||||
$sql = 'SELECT post_id, post_text, bbcode_uid, enable_bbcode
|
||||
FROM ' . POSTS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$bbcode_uid = $row['bbcode_uid'];
|
||||
|
||||
// Only if a bbcode uid is present, bbcode enabled and a size tag used...
|
||||
if ($row['enable_bbcode'] && $bbcode_uid && strpos($row['post_text'], '[size=') !== false)
|
||||
{
|
||||
$row['post_text'] = preg_replace_callback('/\[size=(\d*):' . $bbcode_uid . '\]/', 'replace_size', $row['post_text']);
|
||||
|
||||
$sql = 'UPDATE ' . POSTS_TABLE . " SET post_text = '" . $db->sql_escape($row['post_text']) . "'
|
||||
WHERE post_id = " . $row['post_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
if ($echos > 200)
|
||||
{
|
||||
echo '<br />' . "\n";
|
||||
$echos = 0;
|
||||
}
|
||||
|
||||
echo '.';
|
||||
$echos++;
|
||||
|
||||
flush();
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// Now to the private messages
|
||||
$sql = 'SELECT msg_id, message_text, bbcode_uid, enable_bbcode
|
||||
FROM ' . PRIVMSGS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$bbcode_uid = $row['bbcode_uid'];
|
||||
|
||||
// Only if a bbcode uid is present, bbcode enabled and a size tag used...
|
||||
if ($row['enable_bbcode'] && $bbcode_uid && strpos($row['message_text'], '[size=') !== false)
|
||||
{
|
||||
$row['message_text'] = preg_replace_callback('/\[size=(\d*):' . $bbcode_uid . '\]/', 'replace_size', $row['message_text']);
|
||||
|
||||
$sql = 'UPDATE ' . PRIVMSGS_TABLE . " SET message_text = '" . $db->sql_escape($row['message_text']) . "'
|
||||
WHERE msg_id = " . $row['msg_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
if ($echos > 200)
|
||||
{
|
||||
echo '<br />' . "\n";
|
||||
$echos = 0;
|
||||
}
|
||||
|
||||
echo '.';
|
||||
$echos++;
|
||||
|
||||
flush();
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// Done
|
||||
$db->sql_close();
|
||||
|
||||
?>
|
130
phpBB/develop/adjust_smilies.php
Normal file
|
@ -0,0 +1,130 @@
|
|||
<?php
|
||||
/**
|
||||
* Updates smilies that were changed to the new ones
|
||||
*/
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
set_time_limit(0);
|
||||
|
||||
define('IN_PHPBB', true);
|
||||
$phpbb_root_path = './../';
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
include($phpbb_root_path . 'common.'.$phpEx);
|
||||
|
||||
// Start session management
|
||||
$user->session_begin();
|
||||
$auth->acl($user->data);
|
||||
$user->setup();
|
||||
|
||||
$echos = 0;
|
||||
|
||||
$replace = array(
|
||||
'<img src="{SMILIES_PATH}/icon_biggrin.gif',
|
||||
'<img src="{SMILIES_PATH}/icon_confused.gif',
|
||||
'<img src="{SMILIES_PATH}/icon_sad.gif',
|
||||
'<img src="{SMILIES_PATH}/icon_smile.gif',
|
||||
'<img src="{SMILIES_PATH}/icon_surprised.gif',
|
||||
'<img src="{SMILIES_PATH}/icon_wink.gif',
|
||||
);
|
||||
|
||||
$with = array(
|
||||
'<img src="{SMILIES_PATH}/icon_e_biggrin.gif',
|
||||
'<img src="{SMILIES_PATH}/icon_e_confused.gif',
|
||||
'<img src="{SMILIES_PATH}/icon_e_sad.gif',
|
||||
'<img src="{SMILIES_PATH}/icon_e_smile.gif',
|
||||
'<img src="{SMILIES_PATH}/icon_e_surprised.gif',
|
||||
'<img src="{SMILIES_PATH}/icon_e_wink.gif',
|
||||
);
|
||||
|
||||
// Adjust user signatures
|
||||
$sql = 'SELECT user_id, user_sig
|
||||
FROM ' . USERS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$new_content = str_replace($replace, $with, $row['user_sig']);
|
||||
|
||||
if ($new_content != $row['user_sig'])
|
||||
{
|
||||
$sql = 'UPDATE ' . USERS_TABLE . " SET user_sig = '" . $db->sql_escape($new_content) . "'
|
||||
WHERE user_id = " . $row['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
if ($echos > 200)
|
||||
{
|
||||
echo '<br />' . "\n";
|
||||
$echos = 0;
|
||||
}
|
||||
|
||||
echo '.';
|
||||
$echos++;
|
||||
|
||||
flush();
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
|
||||
// Now adjust posts
|
||||
$sql = 'SELECT post_id, post_text
|
||||
FROM ' . POSTS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$new_content = str_replace($replace, $with, $row['post_text']);
|
||||
|
||||
if ($row['post_text'] != $new_content)
|
||||
{
|
||||
$sql = 'UPDATE ' . POSTS_TABLE . " SET post_text = '" . $db->sql_escape($new_content) . "'
|
||||
WHERE post_id = " . $row['post_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
if ($echos > 200)
|
||||
{
|
||||
echo '<br />' . "\n";
|
||||
$echos = 0;
|
||||
}
|
||||
|
||||
echo '.';
|
||||
$echos++;
|
||||
|
||||
flush();
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// Now to the private messages
|
||||
$sql = 'SELECT msg_id, message_text
|
||||
FROM ' . PRIVMSGS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$new_content = str_replace($replace, $with, $row['message_text']);
|
||||
|
||||
if ($row['message_text'] != $new_content)
|
||||
{
|
||||
$sql = 'UPDATE ' . PRIVMSGS_TABLE . " SET bbcode_bitfield = '" . $db->sql_escape($new_content) . "'
|
||||
WHERE msg_id = " . $row['msg_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
if ($echos > 200)
|
||||
{
|
||||
echo '<br />' . "\n";
|
||||
$echos = 0;
|
||||
}
|
||||
|
||||
echo '.';
|
||||
$echos++;
|
||||
|
||||
flush();
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// Done
|
||||
$db->sql_close();
|
||||
|
||||
?>
|
|
@ -18,9 +18,9 @@ set_time_limit(0);
|
|||
|
||||
$schema_path = './../install/schemas/';
|
||||
|
||||
if (!is_writeable($schema_path))
|
||||
if (!is_writable($schema_path))
|
||||
{
|
||||
die('Schema path not writeable');
|
||||
die('Schema path not writable');
|
||||
}
|
||||
|
||||
$schema_data = get_schema_struct();
|
||||
|
@ -60,22 +60,22 @@ $dbms_type_map = array(
|
|||
'TINT:' => 'tinyint(%d)',
|
||||
'USINT' => 'smallint(4) UNSIGNED',
|
||||
'BOOL' => 'tinyint(1) UNSIGNED',
|
||||
'VCHAR' => 'varchar(255)',
|
||||
'VCHAR:' => 'varchar(%d)',
|
||||
'CHAR:' => 'char(%d)',
|
||||
'XSTEXT' => 'text',
|
||||
'XSTEXT_UNI'=> 'text',
|
||||
'STEXT' => 'text',
|
||||
'STEXT_UNI' => 'text',
|
||||
'TEXT' => 'text',
|
||||
'TEXT_UNI' => 'text',
|
||||
'MTEXT' => 'mediumtext',
|
||||
'MTEXT_UNI' => 'mediumtext',
|
||||
'VCHAR' => 'varbinary(255)',
|
||||
'VCHAR:' => 'varbinary(%d)',
|
||||
'CHAR:' => 'binary(%d)',
|
||||
'XSTEXT' => 'blob',
|
||||
'XSTEXT_UNI'=> 'blob',
|
||||
'STEXT' => 'blob',
|
||||
'STEXT_UNI' => 'blob',
|
||||
'TEXT' => 'blob',
|
||||
'TEXT_UNI' => 'blob',
|
||||
'MTEXT' => 'mediumblob',
|
||||
'MTEXT_UNI' => 'mediumblob',
|
||||
'TIMESTAMP' => 'int(11) UNSIGNED',
|
||||
'DECIMAL' => 'decimal(5,2)',
|
||||
'VCHAR_UNI' => 'text',
|
||||
'VCHAR_UNI:'=> array('varchar(%d)', 'limit' => array('mult', 3, 255, 'text')),
|
||||
'VCHAR_CI' => 'text',
|
||||
'VCHAR_UNI' => 'blob',
|
||||
'VCHAR_UNI:'=> array('varbinary(%d)', 'limit' => array('mult', 3, 255, 'blob')),
|
||||
'VCHAR_CI' => 'blob',
|
||||
'VARBINARY' => 'varbinary(255)',
|
||||
),
|
||||
|
||||
|
@ -230,31 +230,31 @@ foreach ($supported_dbms as $dbms)
|
|||
{
|
||||
case 'mysql_40':
|
||||
case 'mysql_41':
|
||||
$line = "#\n# MySQL Schema for phpBB 3.x - (c) phpBB Group, 2005\n#\n# \$I" . "d: $\n#\n\n";
|
||||
$line = "#\n# \$I" . "d: $\n#\n\n";
|
||||
break;
|
||||
|
||||
case 'firebird':
|
||||
$line = "#\n# Firebird Schema for phpBB 3.x - (c) phpBB Group, 2005\n#\n# \$I" . "d: $\n#\n\n";
|
||||
$line = "#\n# \$I" . "d: $\n#\n\n";
|
||||
$line .= custom_data('firebird') . "\n";
|
||||
break;
|
||||
|
||||
case 'sqlite':
|
||||
$line = "#\n# SQLite Schema for phpBB 3.x - (c) phpBB Group, 2005\n#\n# \$I" . "d: $\n#\n\n";
|
||||
$line = "#\n# \$I" . "d: $\n#\n\n";
|
||||
$line .= "BEGIN TRANSACTION;\n\n";
|
||||
break;
|
||||
|
||||
case 'mssql':
|
||||
$line = "/*\n MSSQL Schema for phpBB 3.x - (c) phpBB Group, 2005\n\n \$I" . "d: $\n\n*/\n\n";
|
||||
$line = "/*\n\n \$I" . "d: $\n\n*/\n\n";
|
||||
$line .= "BEGIN TRANSACTION\nGO\n\n";
|
||||
break;
|
||||
|
||||
case 'oracle':
|
||||
$line = "/*\n Oracle Schema for phpBB 3.x - (c) phpBB Group, 2005\n\n \$I" . "d: $\n\n*/\n\n";
|
||||
$line = "/*\n\n \$I" . "d: $\n\n*/\n\n";
|
||||
$line .= custom_data('oracle') . "\n";
|
||||
break;
|
||||
|
||||
case 'postgres':
|
||||
$line = "/*\n PostgreSQL Schema for phpBB 3.x - (c) phpBB Group, 2005\n\n \$I" . "d: $\n\n*/\n\n";
|
||||
$line = "/*\n\n \$I" . "d: $\n\n*/\n\n";
|
||||
$line .= "BEGIN;\n\n";
|
||||
$line .= custom_data('postgres') . "\n";
|
||||
break;
|
||||
|
@ -354,7 +354,7 @@ foreach ($supported_dbms as $dbms)
|
|||
{
|
||||
$orig_column_type = $column_data[0];
|
||||
$column_type = $dbms_type_map[$dbms][$column_data[0]];
|
||||
if ($column_type == 'text')
|
||||
if ($column_type == 'text' || $column_type == 'blob')
|
||||
{
|
||||
$modded_array[$column_name] = $column_type;
|
||||
}
|
||||
|
@ -373,15 +373,22 @@ foreach ($supported_dbms as $dbms)
|
|||
$line .= "\t{$column_name} {$column_type} ";
|
||||
|
||||
// For hexadecimal values do not use single quotes
|
||||
if (!is_null($column_data[1]) && substr($column_type, -4) !== 'text')
|
||||
if (!is_null($column_data[1]) && substr($column_type, -4) !== 'text' && substr($column_type, -4) !== 'blob')
|
||||
{
|
||||
$line .= (strpos($column_data[1], '0x') === 0) ? "DEFAULT {$column_data[1]} " : "DEFAULT '{$column_data[1]}' ";
|
||||
}
|
||||
$line .= 'NOT NULL';
|
||||
|
||||
if (isset($column_data[2]) && $column_data[2] == 'auto_increment')
|
||||
if (isset($column_data[2]))
|
||||
{
|
||||
$line .= ' auto_increment';
|
||||
if ($column_data[2] == 'auto_increment')
|
||||
{
|
||||
$line .= ' auto_increment';
|
||||
}
|
||||
else if ($dbms === 'mysql_41' && $column_data[2] == 'true_sort')
|
||||
{
|
||||
$line .= ' COLLATE utf8_unicode_ci';
|
||||
}
|
||||
}
|
||||
|
||||
$line .= ",\n";
|
||||
|
@ -616,6 +623,7 @@ foreach ($supported_dbms as $dbms)
|
|||
switch ($modded_array[$col_name])
|
||||
{
|
||||
case 'text':
|
||||
case 'blob':
|
||||
$key_data[1][$key] = $col_name . '(255)';
|
||||
break;
|
||||
}
|
||||
|
@ -809,6 +817,7 @@ function get_schema_struct()
|
|||
'KEYS' => array(
|
||||
'group_id' => array('INDEX', 'group_id'),
|
||||
'auth_opt_id' => array('INDEX', 'auth_option_id'),
|
||||
'auth_role_id' => array('INDEX', 'auth_role_id'),
|
||||
),
|
||||
);
|
||||
|
||||
|
@ -848,6 +857,9 @@ function get_schema_struct()
|
|||
'auth_setting' => array('TINT:2', 0),
|
||||
),
|
||||
'PRIMARY_KEY' => array('role_id', 'auth_option_id'),
|
||||
'KEYS' => array(
|
||||
'ath_opt_id' => array('INDEX', 'auth_option_id'),
|
||||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_acl_users'] = array(
|
||||
|
@ -861,6 +873,7 @@ function get_schema_struct()
|
|||
'KEYS' => array(
|
||||
'user_id' => array('INDEX', 'user_id'),
|
||||
'auth_option_id' => array('INDEX', 'auth_option_id'),
|
||||
'auth_role_id' => array('INDEX', 'auth_role_id'),
|
||||
),
|
||||
);
|
||||
|
||||
|
@ -908,12 +921,8 @@ function get_schema_struct()
|
|||
'COLUMNS' => array(
|
||||
'topic_id' => array('UINT', 0),
|
||||
'user_id' => array('UINT', 0),
|
||||
'order_id' => array('UINT', 0),
|
||||
),
|
||||
'KEYS' => array(
|
||||
'order_id' => array('INDEX', 'order_id'),
|
||||
'topic_user_id' => array('INDEX', array('topic_id', 'user_id')),
|
||||
),
|
||||
'PRIMARY_KEY' => array('topic_id', 'user_id'),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_bots'] = array(
|
||||
|
@ -1460,10 +1469,12 @@ function get_schema_struct()
|
|||
'word_id' => array('UINT', NULL, 'auto_increment'),
|
||||
'word_text' => array('VCHAR_UNI', ''),
|
||||
'word_common' => array('BOOL', 0),
|
||||
'word_count' => array('UINT', 0),
|
||||
),
|
||||
'PRIMARY_KEY' => 'word_id',
|
||||
'KEYS' => array(
|
||||
'wrd_txt' => array('UNIQUE', 'word_text'),
|
||||
'wrd_cnt' => array('INDEX', 'word_count'),
|
||||
),
|
||||
);
|
||||
|
||||
|
@ -1474,6 +1485,7 @@ function get_schema_struct()
|
|||
'title_match' => array('BOOL', 0),
|
||||
),
|
||||
'KEYS' => array(
|
||||
'unq_mtch' => array('UNIQUE', array('word_id', 'post_id', 'title_match')),
|
||||
'word_id' => array('INDEX', 'word_id'),
|
||||
'post_id' => array('INDEX', 'post_id'),
|
||||
),
|
||||
|
@ -1527,6 +1539,7 @@ function get_schema_struct()
|
|||
$schema_data['phpbb_smilies'] = array(
|
||||
'COLUMNS' => array(
|
||||
'smiley_id' => array('UINT', NULL, 'auto_increment'),
|
||||
// We may want to set 'code' to VCHAR:50 or check if unicode support is possible... at the moment only ASCII characters are allowed.
|
||||
'code' => array('VCHAR_UNI:50', ''),
|
||||
'emotion' => array('VCHAR_UNI:50', ''),
|
||||
'smiley_url' => array('VCHAR:50', ''),
|
||||
|
@ -1611,115 +1624,6 @@ function get_schema_struct()
|
|||
'imageset_name' => array('VCHAR_UNI:255', ''),
|
||||
'imageset_copyright' => array('VCHAR_UNI', ''),
|
||||
'imageset_path' => array('VCHAR:100', ''),
|
||||
|
||||
'site_logo' => array('VCHAR:200', ''),
|
||||
'upload_bar' => array('VCHAR:200', ''),
|
||||
'poll_left' => array('VCHAR:200', ''),
|
||||
'poll_center' => array('VCHAR:200', ''),
|
||||
'poll_right' => array('VCHAR:200', ''),
|
||||
'icon_friend' => array('VCHAR:200', ''),
|
||||
'icon_foe' => array('VCHAR:200', ''),
|
||||
|
||||
'forum_link' => array('VCHAR:200', ''),
|
||||
'forum_read' => array('VCHAR:200', ''),
|
||||
'forum_read_locked' => array('VCHAR:200', ''),
|
||||
'forum_read_subforum' => array('VCHAR:200', ''),
|
||||
'forum_unread' => array('VCHAR:200', ''),
|
||||
'forum_unread_locked' => array('VCHAR:200', ''),
|
||||
'forum_unread_subforum' => array('VCHAR:200', ''),
|
||||
|
||||
'topic_moved' => array('VCHAR:200', ''),
|
||||
|
||||
'topic_read' => array('VCHAR:200', ''),
|
||||
'topic_read_mine' => array('VCHAR:200', ''),
|
||||
'topic_read_hot' => array('VCHAR:200', ''),
|
||||
'topic_read_hot_mine' => array('VCHAR:200', ''),
|
||||
'topic_read_locked' => array('VCHAR:200', ''),
|
||||
'topic_read_locked_mine' => array('VCHAR:200', ''),
|
||||
|
||||
'topic_unread' => array('VCHAR:200', ''),
|
||||
'topic_unread_mine' => array('VCHAR:200', ''),
|
||||
'topic_unread_hot' => array('VCHAR:200', ''),
|
||||
'topic_unread_hot_mine' => array('VCHAR:200', ''),
|
||||
'topic_unread_locked' => array('VCHAR:200', ''),
|
||||
'topic_unread_locked_mine' => array('VCHAR:200', ''),
|
||||
|
||||
'sticky_read' => array('VCHAR:200', ''),
|
||||
'sticky_read_mine' => array('VCHAR:200', ''),
|
||||
'sticky_read_locked' => array('VCHAR:200', ''),
|
||||
'sticky_read_locked_mine' => array('VCHAR:200', ''),
|
||||
'sticky_unread' => array('VCHAR:200', ''),
|
||||
'sticky_unread_mine' => array('VCHAR:200', ''),
|
||||
'sticky_unread_locked' => array('VCHAR:200', ''),
|
||||
'sticky_unread_locked_mine' => array('VCHAR:200', ''),
|
||||
|
||||
'announce_read' => array('VCHAR:200', ''),
|
||||
'announce_read_mine' => array('VCHAR:200', ''),
|
||||
'announce_read_locked' => array('VCHAR:200', ''),
|
||||
'announce_read_locked_mine' => array('VCHAR:200', ''),
|
||||
'announce_unread' => array('VCHAR:200', ''),
|
||||
'announce_unread_mine' => array('VCHAR:200', ''),
|
||||
'announce_unread_locked' => array('VCHAR:200', ''),
|
||||
'announce_unread_locked_mine' => array('VCHAR:200', ''),
|
||||
|
||||
'global_read' => array('VCHAR:200', ''),
|
||||
'global_read_mine' => array('VCHAR:200', ''),
|
||||
'global_read_locked' => array('VCHAR:200', ''),
|
||||
'global_read_locked_mine' => array('VCHAR:200', ''),
|
||||
'global_unread' => array('VCHAR:200', ''),
|
||||
'global_unread_mine' => array('VCHAR:200', ''),
|
||||
'global_unread_locked' => array('VCHAR:200', ''),
|
||||
'global_unread_locked_mine' => array('VCHAR:200', ''),
|
||||
|
||||
'pm_read' => array('VCHAR:200', ''),
|
||||
'pm_unread' => array('VCHAR:200', ''),
|
||||
|
||||
'icon_contact_aim' => array('VCHAR:200', ''),
|
||||
'icon_contact_email' => array('VCHAR:200', ''),
|
||||
'icon_contact_icq' => array('VCHAR:200', ''),
|
||||
'icon_contact_jabber' => array('VCHAR:200', ''),
|
||||
'icon_contact_msnm' => array('VCHAR:200', ''),
|
||||
'icon_contact_pm' => array('VCHAR:200', ''),
|
||||
'icon_contact_yahoo' => array('VCHAR:200', ''),
|
||||
'icon_contact_www' => array('VCHAR:200', ''),
|
||||
|
||||
'icon_post_delete' => array('VCHAR:200', ''),
|
||||
'icon_post_edit' => array('VCHAR:200', ''),
|
||||
'icon_post_info' => array('VCHAR:200', ''),
|
||||
'icon_post_quote' => array('VCHAR:200', ''),
|
||||
'icon_post_report' => array('VCHAR:200', ''),
|
||||
'icon_post_target' => array('VCHAR:200', ''),
|
||||
'icon_post_target_unread' => array('VCHAR:200', ''),
|
||||
|
||||
'icon_topic_attach' => array('VCHAR:200', ''),
|
||||
'icon_topic_latest' => array('VCHAR:200', ''),
|
||||
'icon_topic_newest' => array('VCHAR:200', ''),
|
||||
'icon_topic_reported' => array('VCHAR:200', ''),
|
||||
'icon_topic_unapproved' => array('VCHAR:200', ''),
|
||||
|
||||
'icon_user_online' => array('VCHAR:200', ''),
|
||||
'icon_user_offline' => array('VCHAR:200', ''),
|
||||
'icon_user_profile' => array('VCHAR:200', ''),
|
||||
'icon_user_search' => array('VCHAR:200', ''),
|
||||
'icon_user_warn' => array('VCHAR:200', ''),
|
||||
|
||||
'button_pm_forward' => array('VCHAR:200', ''),
|
||||
'button_pm_new' => array('VCHAR:200', ''),
|
||||
'button_pm_reply' => array('VCHAR:200', ''),
|
||||
'button_topic_locked' => array('VCHAR:200', ''),
|
||||
'button_topic_new' => array('VCHAR:200', ''),
|
||||
'button_topic_reply' => array('VCHAR:200', ''),
|
||||
|
||||
'user_icon1' => array('VCHAR:200', ''),
|
||||
'user_icon2' => array('VCHAR:200', ''),
|
||||
'user_icon3' => array('VCHAR:200', ''),
|
||||
'user_icon4' => array('VCHAR:200', ''),
|
||||
'user_icon5' => array('VCHAR:200', ''),
|
||||
'user_icon6' => array('VCHAR:200', ''),
|
||||
'user_icon7' => array('VCHAR:200', ''),
|
||||
'user_icon8' => array('VCHAR:200', ''),
|
||||
'user_icon9' => array('VCHAR:200', ''),
|
||||
'user_icon10' => array('VCHAR:200', ''),
|
||||
),
|
||||
'PRIMARY_KEY' => 'imageset_id',
|
||||
'KEYS' => array(
|
||||
|
@ -1727,6 +1631,22 @@ function get_schema_struct()
|
|||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_styles_imageset_data'] = array(
|
||||
'COLUMNS' => array(
|
||||
'image_id' => array('USINT', NULL, 'auto_increment'),
|
||||
'image_name' => array('VCHAR:200', ''),
|
||||
'image_filename' => array('VCHAR:200', ''),
|
||||
'image_lang' => array('VCHAR:30', ''),
|
||||
'image_height' => array('USINT', 0),
|
||||
'image_width' => array('USINT', 0),
|
||||
'imageset_id' => array('TINT:4', 0),
|
||||
),
|
||||
'PRIMARY_KEY' => 'image_id',
|
||||
'KEYS' => array(
|
||||
'i_id' => array('INDEX', 'imageset_id'),
|
||||
),
|
||||
);
|
||||
|
||||
$schema_data['phpbb_topics'] = array(
|
||||
'COLUMNS' => array(
|
||||
'topic_id' => array('UINT', NULL, 'auto_increment'),
|
||||
|
@ -1735,7 +1655,7 @@ function get_schema_struct()
|
|||
'topic_attachment' => array('BOOL', 0),
|
||||
'topic_approved' => array('BOOL', 1),
|
||||
'topic_reported' => array('BOOL', 0),
|
||||
'topic_title' => array('XSTEXT_UNI', ''),
|
||||
'topic_title' => array('XSTEXT_UNI', '', 'true_sort'),
|
||||
'topic_poster' => array('UINT', 0),
|
||||
'topic_time' => array('TIMESTAMP', 0),
|
||||
'topic_time_limit' => array('TIMESTAMP', 0),
|
||||
|
@ -1757,7 +1677,7 @@ function get_schema_struct()
|
|||
'topic_moved_id' => array('UINT', 0),
|
||||
'topic_bumped' => array('BOOL', 0),
|
||||
'topic_bumper' => array('UINT', 0),
|
||||
'poll_title' => array('XSTEXT_UNI', ''),
|
||||
'poll_title' => array('STEXT_UNI', ''),
|
||||
'poll_start' => array('TIMESTAMP', 0),
|
||||
'poll_length' => array('TIMESTAMP', 0),
|
||||
'poll_max_options' => array('TINT:4', 1),
|
||||
|
@ -1770,6 +1690,7 @@ function get_schema_struct()
|
|||
'forum_id_type' => array('INDEX', array('forum_id', 'topic_type')),
|
||||
'last_post_time' => array('INDEX', 'topic_last_post_time'),
|
||||
'topic_approved' => array('INDEX', 'topic_approved'),
|
||||
'forum_appr_last' => array('INDEX', array('forum_id', 'topic_approved', 'topic_last_post_id')),
|
||||
'fid_time_moved' => array('INDEX', array('forum_id', 'topic_last_post_time', 'topic_moved_id')),
|
||||
),
|
||||
);
|
||||
|
@ -1903,7 +1824,7 @@ function get_schema_struct()
|
|||
'user_birthday' => array('INDEX', 'user_birthday'),
|
||||
'user_email_hash' => array('INDEX', 'user_email_hash'),
|
||||
'user_type' => array('INDEX', 'user_type'),
|
||||
'username_clean' => array('INDEX', 'username_clean'),
|
||||
'username_clean' => array('UNIQUE', 'username_clean'),
|
||||
),
|
||||
);
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ $merge = array('gcp', 'login', 'mcp', 'memberlist', 'posting', 'ucp');
|
|||
|
||||
if (!is_writable($store_dir))
|
||||
{
|
||||
die("Directory $store_dir is not writeable!");
|
||||
die("Directory $store_dir is not writable!");
|
||||
}
|
||||
|
||||
$contents = implode('', file('../adm/subSilver.css', filesize('../adm/subSilver.css')));
|
||||
|
|
|
@ -10,6 +10,15 @@
|
|||
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
|
||||
//
|
||||
// -------------------------------------------------------------
|
||||
//
|
||||
// Security message:
|
||||
//
|
||||
// This script is potentially dangerous.
|
||||
// Remove or comment the next line (die(".... ) to enable this script.
|
||||
// Do NOT FORGET to either remove this script or disable it after you have used it.
|
||||
//
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
|
||||
define('IN_PHPBB', true);
|
||||
$phpbb_root_path = './../';
|
||||
|
|
|
@ -13,6 +13,15 @@ if (php_sapi_name() != 'cli')
|
|||
die("This program must be run from the command line.\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Security message:
|
||||
//
|
||||
// This script is potentially dangerous.
|
||||
// Remove or comment the next line (die(".... ) to enable this script.
|
||||
// Do NOT FORGET to either remove this script or disable it after you have used it.
|
||||
//
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
set_time_limit(0);
|
||||
|
||||
define('IN_PHPBB', true);
|
||||
|
|
|
@ -13,6 +13,15 @@ if (php_sapi_name() != 'cli')
|
|||
die("This program must be run from the command line.\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Security message:
|
||||
//
|
||||
// This script is potentially dangerous.
|
||||
// Remove or comment the next line (die(".... ) to enable this script.
|
||||
// Do NOT FORGET to either remove this script or disable it after you have used it.
|
||||
//
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
set_time_limit(0);
|
||||
|
||||
define('IN_PHPBB', true);
|
||||
|
|
|
@ -4,6 +4,15 @@
|
|||
</head>
|
||||
<body>
|
||||
<?php
|
||||
//
|
||||
// Security message:
|
||||
//
|
||||
// This script is potentially dangerous.
|
||||
// Remove or comment the next line (die(".... ) to enable this script.
|
||||
// Do NOT FORGET to either remove this script or disable it after you have used it.
|
||||
//
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
// -------------------------------------------------------------
|
||||
//
|
||||
// $Id$
|
||||
|
|
|
@ -1,4 +1,13 @@
|
|||
<?php
|
||||
//
|
||||
// Security message:
|
||||
//
|
||||
// This script is potentially dangerous.
|
||||
// Remove or comment the next line (die(".... ) to enable this script.
|
||||
// Do NOT FORGET to either remove this script or disable it after you have used it.
|
||||
//
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
|
||||
// IP regular expressions
|
||||
|
||||
|
@ -46,7 +55,7 @@ $sub_delims = '!$&\'()*+,;=';
|
|||
$pchar = "(?:[$unreserved$sub_delims:@|]+|$pct_encoded)"; // rfc: no "|"
|
||||
|
||||
$scheme = '[a-z][a-z\d+\-.]*';
|
||||
$reg_name = "(?:[$unreserved$sub_delims|@]+|$pct_encoded)+"; // rfc: * instead of + and no "|" and no "@" (included instead of userinfo
|
||||
$reg_name = "(?:[$unreserved$sub_delims:@|]+|$pct_encoded)+"; // rfc: * instead of + and no "|" and no "@" and no ":" (included instead of userinfo)
|
||||
//$userinfo = "(?:(?:[$unreserved$sub_delims:]+|$pct_encoded))*";
|
||||
$ipv4_simple = '[0-9.]+';
|
||||
$ipv6_simple = '\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\]';
|
||||
|
|
|
@ -8,6 +8,15 @@
|
|||
// Do NOT FORGET to either remove this script or disable it after you have used it.
|
||||
//
|
||||
|
||||
//
|
||||
// Security message:
|
||||
//
|
||||
// This script is potentially dangerous.
|
||||
// Remove or comment the next line (die(".... ) to enable this script.
|
||||
// Do NOT FORGET to either remove this script or disable it after you have used it.
|
||||
//
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
//
|
||||
// Do not change anything below this line.
|
||||
//
|
||||
|
|
|
@ -13,6 +13,15 @@ if (php_sapi_name() != 'cli')
|
|||
die("This program must be run from the command line.\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Security message:
|
||||
//
|
||||
// This script is potentially dangerous.
|
||||
// Remove or comment the next line (die(".... ) to enable this script.
|
||||
// Do NOT FORGET to either remove this script or disable it after you have used it.
|
||||
//
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
set_time_limit(0);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
|
|
|
@ -6,24 +6,38 @@
|
|||
/* *\
|
||||
/* ********************************************************************** *\
|
||||
|
||||
Please see: http://www.phpbb.com/about/ for a list of all the people currently
|
||||
Please see: http://www.phpbb.com/about/team/ for a list of all the people currently
|
||||
involved in phpBB.
|
||||
|
||||
phpBB Project Manager : theFinn (James Atkinson)
|
||||
phpBB Project Manager : SHS` (Jonathan Stanley)
|
||||
|
||||
phpBB Lead Developers : Acyd Burn (Meik Sievertsen)
|
||||
psoTFX (Paul S. Owen) [2001 - 09/2005]
|
||||
phpBB Lead Developer : Acyd Burn (Meik Sievertsen)
|
||||
|
||||
phpBB Developers : DavidMJ (David M.)
|
||||
GrahamJE (Graham Eames)
|
||||
dhn (Dominik Dröscher)
|
||||
kellanved (Henry Sudhof)
|
||||
naderman (Nils Adermann)
|
||||
subBlue (Tom Beddard)
|
||||
Vic (Vic D'elfant)
|
||||
|
||||
BartVB (Bart van Bragt) - [11/2000 - 03/2006]
|
||||
Ashe (Ludovic Arnaud) - [10/2002 - 11/2003, 06/2006 - 10/2006]
|
||||
-- Previous Contributors --
|
||||
|
||||
phpBB Project Manager : theFinn (James Atkinson) [Founder - 04/2007]
|
||||
|
||||
phpBB Lead Developer : psoTFX (Paul S. Owen) [2001 - 09/2005]
|
||||
|
||||
phpBB Developers : Ashe (Ludovic Arnaud) [10/2002 - 11/2003, 06/2006 - 10/2006]
|
||||
BartVB (Bart van Bragt) [11/2000 - 03/2006]
|
||||
GrahamJE (Graham Eames) [09/2005 - 11/2006]
|
||||
|
||||
|
||||
-- Copyrights --
|
||||
|
||||
Visual Confirmation : Xore (Robert Hetzler)
|
||||
|
||||
Original subSilver by subBlue Design, Tom Beddard, (c) 2001 phpBB Group
|
||||
prosilver by subBlue Design, Tom Beddard, (c) 2004 phpBB Group
|
||||
subsilver2 by subBlue Design, Tom Beddard, (c) 2004 phpBB Group
|
||||
|
||||
phpBB3 contains code from the following applications:
|
||||
|
||||
|
@ -31,7 +45,7 @@ LGPL licenced:
|
|||
Smarty (c) 2001, 2002 by ispi of Lincoln, Inc, http://smarty.php.net/
|
||||
|
||||
GPL licenced:
|
||||
phpMyAdmin (c) 2001,2003 phpMyAdmin Devel team, http://www.phpmyadmin.net/
|
||||
phpMyAdmin (c) 2001,2003 phpMyAdmin Devel team, http://www.phpmyadmin.net/
|
||||
Jabber Class (c) 2004 Nathan Fritz, http://cjphp.netflint.net
|
||||
Chora (c) 2000-2006, The Horde Project. http://horde.org/chora/
|
||||
Horde Project (c) 2000-2006, The Horde Project. http://horde.org/
|
||||
|
|
|
@ -165,9 +165,9 @@ p a {
|
|||
|
||||
<p><strong>Please read this document completely before proceeding with installation, updating or converting.</strong></p>
|
||||
|
||||
<p>Please note these instructions are not fully comprehensive, a more thorough userguide will be available on the phpBB website in the near future. However, this document will walk you through the basics on installing, updating and converting the forum software.</p>
|
||||
<p>This document will walk you through the basics on installing, updating and converting the forum software.</p>
|
||||
|
||||
<p>A basic overview of running phpBB3 can be found in the accompanying <a href="README.html">README</a> documentation. Please ensure you read that document in addition to this! For more detailed information on using phpBB3 you should read <a href="http://www.phpbb.com/support/documentation/">the documentation</a> available online.</p>
|
||||
<p>A basic overview of running phpBB3 can be found in the accompanying <a href="README.html">README</a> file. Please ensure you read that document in addition to this! For more detailed information on using, installing, updating and converting phpBB3 you should read <a href="http://www.phpbb.com/support/documentation/3.0/">the documentation</a> available online.</p>
|
||||
|
||||
<h1>Install</h1>
|
||||
|
||||
|
@ -209,12 +209,12 @@ p a {
|
|||
<ol class="menu">
|
||||
<li>Decompress the phpBB3 archive to a local directory on your system.</li>
|
||||
<li>Upload all the files contained in this archive (retaining the directory structure) to a web accessible directory on your server or hosting account.</li>
|
||||
<li>Change the permissions on config.php to be writeable by all (666 or -rw-rw-rw- within your FTP Client)</li>
|
||||
<li>Change the permissions on the following directories to be writeable by all (777 or -rwxrwxrwx within your FTP Client):<br />
|
||||
<li>Change the permissions on config.php to be writable by all (666 or -rw-rw-rw- within your FTP Client)</li>
|
||||
<li>Change the permissions on the following directories to be writable by all (777 or -rwxrwxrwx within your FTP Client):<br />
|
||||
<code>store/</code>, <code>cache/</code>, <code>files/</code> and <code>images/avatars/upload/</code>.</li>
|
||||
<li>Using your web browser visit the location you placed phpBB3 with the addition of install/index.php or pointing directly to install/, e.g. http://www.mydomain.com/phpBB2/install/, http://www.mydomain.com/forum/install/ etc.</li>
|
||||
<li>Using your web browser visit the location you placed phpBB3 with the addition of install/index.php or pointing directly to install/, e.g. http://www.mydomain.com/phpBB3/install/, http://www.mydomain.com/forum/install/ etc.</li>
|
||||
<li>Click the <em>INSTALL</em> tab, follow the steps and fill out all the requested information.</li>
|
||||
<li>Change the permissions on config.php to be writeable only by yourself (644 or -rw-r--r-- within your FTP Client)</li>
|
||||
<li>Change the permissions on config.php to be writable only by yourself (644 or -rw-r--r-- within your FTP Client)</li>
|
||||
<li>phpBB3 should now be available, please <strong>MAKE SURE</strong> you read at least <a href="#postinstall">Section 6</a> below for important, security related post-installation instructions.</li>
|
||||
</ol>
|
||||
|
||||
|
@ -237,7 +237,7 @@ p a {
|
|||
<li>MySQL 3.23 or above (MySQLi supported)</li>
|
||||
<li>PostgreSQL 7.3+</li>
|
||||
<li>SQLite 2.8.2+</li>
|
||||
<li>Firebird 2.0</li>
|
||||
<li>Firebird 2.0+</li>
|
||||
<li>MS SQL Server 2000 or above (directly or via ODBC)</li>
|
||||
<li>Oracle</li>
|
||||
</ul>
|
||||
|
@ -311,7 +311,7 @@ p a {
|
|||
|
||||
<h3>Administrator details</h3>
|
||||
|
||||
<p>Now you have to create your administration user. This user will have full administration access and he will be the first user on your forum. All fields on this page are required. You can also set the default language of your forum on this page. In a vanilla phpBB3 installation we only include English [GB]. You can download further languages from <a href="http://www.phpbb.com/">www.phpbb.com</a>, and add them before installing or later.</p>
|
||||
<p>Now you have to create your administration user. This user will have full administration access and he/she will be the first user on your forum. All fields on this page are required. You can also set the default language of your forum on this page. In a vanilla phpBB3 installation we only include English. You can download further languages from <a href="http://www.phpbb.com/">www.phpbb.com</a>, and add them before installing or later.</p>
|
||||
|
||||
<h3>Configuration file</h3>
|
||||
|
||||
|
@ -362,7 +362,7 @@ p a {
|
|||
|
||||
<p>This package contains a number of archives, each contains the files changed from a given release to the latest version. You should select the appropriate archive for your current version, e.g. if you currently have <samp>3.0.0</samp> you should select the phpBB-3.0.0_to_3.0.1.zip/tar.gz file.</p>
|
||||
|
||||
<p>The directory structure has been preserved enabling you (if you wish) to simply upload the contents of the archive to the appropriate location on your server, i.e. simply overwrite the existing files with the new versions. Do not forget that if you have installed any Mods these files will overwrite the originals possibly destroying them in the process. You will need to re-add Mods to any affected file before uploading.</p>
|
||||
<p>The directory structure has been preserved enabling you (if you wish) to simply upload the contents of the archive to the appropriate location on your server, i.e. simply overwrite the existing files with the new versions. Do not forget that if you have installed any MODs these files will overwrite the originals possibly destroying them in the process. You will need to re-add MODs to any affected file before uploading.</p>
|
||||
|
||||
<p>As for the other update procedures you should run <b>install/database_update.php</b> after you have finished updating the files. This will update your database schema and increment the version number.</p>
|
||||
</div>
|
||||
|
@ -374,11 +374,11 @@ p a {
|
|||
|
||||
<div class="paragraph">
|
||||
|
||||
<p>The patch file is probably the best solution for those with many Mods or other changes who do not want to re-add them back to all the changed files. To use this you will need command line access to a standard UNIX type <strong>patch</strong> application. If you do not have access to such an application but still want to use this update approach we recommend the <a href="update_auto">Automatic update package</a> explained below.</p>
|
||||
<p>The patch file is probably the best solution for those with many Modifications (MODs) or other changes who do not want to re-add them back to all the changed files. To use this you will need command line access to a standard UNIX type <strong>patch</strong> application. If you do not have access to such an application but still want to use this update approach we recommend the <a href="update_auto">Automatic update package</a> explained below.</p>
|
||||
|
||||
<p>A number of patch files are provided to allow you to update from previous stable releases. Select the correct patch, e.g. if your current version is 3.0.0 you need the phpBB-3.0.0_to_3.0.1.patch file. Place the correct patch in the parent directory containing the phpBB3 core files (i.e. index.php, viewforum.php, etc.). With this done you should run the following command: <strong>patch -cl -d [PHPBB DIRECTORY] -p1 < [PATCH NAME]</strong> (where PHPBB DIRECTORY is the directory name your phpBB Installation resides in, for example phpBB3, and where PATCH NAME is the relevant filename of the selected patch file). This should complete quickly, hopefully without any HUNK FAILED comments.</p>
|
||||
|
||||
<p>If you do get failures you should look at using the <a href="#update_files">Changed files only</a> package to replace the files which failed to patch, please note that you will need to manually re-add any Mods to these particular files. Alternatively if you know how you can examine the .rej files to determine what failed where and make manual adjustments to the relevant source.</p>
|
||||
<p>If you do get failures you should look at using the <a href="#update_files">Changed files only</a> package to replace the files which failed to patch, please note that you will need to manually re-add any Modifications (MODs) to these particular files. Alternatively if you know how you can examine the .rej files to determine what failed where and make manual adjustments to the relevant source.</p>
|
||||
|
||||
<p>You should of course delete the patch file (or files) after use. As for the other update procedures you should run <code>install/database_update.php</code> after you have finished updating the files. This will update your database schema and data (if appropriate) and increment the version number.</p>
|
||||
</div>
|
||||
|
|
|
@ -173,12 +173,12 @@ p a {
|
|||
<ol type="i">
|
||||
<li><a href="#i18n">Internationalisation (i18n)</a></li>
|
||||
<li><a href="#styles">Styles</a></li>
|
||||
<li><a href="#mods">Mods</a></li>
|
||||
<li><a href="#mods">Modifications</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#help">Getting help with phpBB3</a>
|
||||
<ol type="i">
|
||||
<li><a href="#userguide">Userguide</a></li>
|
||||
<li><a href="#docs">Documentation</a></li>
|
||||
<li><a href="#website">Community Forums</a></li>
|
||||
<li><a href="#irc">Internet Relay Chat</a></li>
|
||||
</ol>
|
||||
|
@ -200,9 +200,24 @@ p a {
|
|||
|
||||
<div class="paragraph">
|
||||
|
||||
<p>Installation and update/conversion instructions can be found in the <a href="INSTALL.html">INSTALL</a> document contained in this distribution. If you are intending to convert from a previous phpBB 2.0.x installation we highly recommend you backup any existing data before proceeding!</p>
|
||||
<p>Installation, update and conversion instructions can be found in the <a href="INSTALL.html">INSTALL</a> document contained in this distribution. If you are intending to convert from a previous phpBB 2.0.x installation we highly recommend you backup any existing data before proceeding!</p>
|
||||
|
||||
<p>Users of phpBB3 Beta versions cannot directly update or convert.</p>
|
||||
<p>Users of phpBB3 Beta versions cannot directly update.</p>
|
||||
|
||||
<p>Please note that we won't support the following installation types:</p>
|
||||
<ul class="menu">
|
||||
<li>Updates from phpBB3 Beta versions to phpBB3 RC1 and higher</li>
|
||||
<li>Conversions from phpBB 2.0.x to phpBB3 Beta versions</li>
|
||||
<li>phpBB3 Beta installations</li>
|
||||
</ul>
|
||||
|
||||
<p>We give support for the following installation types:</p>
|
||||
|
||||
<ul class="menu">
|
||||
<li>Updates from phpBB3 RC1 to any higher version</li>
|
||||
<li>Conversions from phpBB 2.0.x to phpBB3 RC1 and higher</li>
|
||||
<li>New installations of phpBB3 RC1 and higher</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<a href="#top">Top</a>
|
||||
|
@ -224,7 +239,7 @@ p a {
|
|||
|
||||
<p>This is the <em>official</em> location for all supported language sets. If you download a package from a 3rd party site you do so with the understanding that we cannot offer support. So please, do not ask for help in these cases!</p>
|
||||
|
||||
<p>Installation of these packages is straightforward, simply download the required language pack and unarchive it into the <samp>languages/</samp> folder. Please ensure you retain the directory structure when doing this! Once uploaded go to the <code>Admin->System->Language Packs</code> and install the now appeared new language pack. To install the style image packs you should unarchive the file/s into the styles/subSilver/imageset directory, again you must retain the directory structure. Once installed the languages will become immediately available.</p>
|
||||
<p>Installation of these packages is straightforward, simply download the required language pack and unarchive it into the <samp>languages/</samp> folder. Please ensure you retain the directory structure when doing this! Once uploaded go to the <code>Admin->System->Language Packs</code> and install the now appeared new language pack. To install the style image packs you should unarchive the file/s into the styles/subsilver2/imageset directory, again you must retain the directory structure. Once installed the languages will become immediately available.</p>
|
||||
|
||||
<p>If your language is not available please visit our forums where you will find a topic listing translations currently available or in preparation. This topic also gives you information should you wish to volunteer to translate a language not currently listed</p>
|
||||
|
||||
|
@ -248,13 +263,13 @@ p a {
|
|||
<a href="#top">Top</a>
|
||||
<br /><br />
|
||||
|
||||
<a name="mods"></a><b>2.iii. Mods</b>
|
||||
<a name="mods"></a><b>2.iii. Modifications</b>
|
||||
<br /><br />
|
||||
<div class="paragraph">
|
||||
|
||||
<p>Although not officially supported by phpBB Group, phpBB has a thriving modification scene. These third party modifications to the standard phpBB extend its capabilities still further and can be found at:</p>
|
||||
|
||||
<p><a href="http://www.phpbb.com/mods">http://www.phpbb.com/mods</a></p>
|
||||
<p><a href="http://www.phpbb.com/mods/">http://www.phpbb.com/mods/</a></p>
|
||||
|
||||
<p><strong>Please remember</strong> that any bugs or other issues that occur after you have added any modification should <strong>NOT</strong> be reported to the bug tracker (see below). First remove the modification and see if the problem is resolved.</p>
|
||||
|
||||
|
@ -270,13 +285,13 @@ p a {
|
|||
|
||||
<p>phpBB3 can seem a little daunting to new users in places, particularly with regard the permission system. The first thing you should do is check the <a href="FAQ.html">FAQ</a> which covers a few basic getting started questions. If you need additional help there are several places you should look.</p>
|
||||
|
||||
<a name="userguide"></a><b>3.i. phpBB3 Userguide</b>
|
||||
<a name="docs"></a><b>3.i. phpBB3 Documentation</b>
|
||||
<br /><br />
|
||||
<div class="paragraph">
|
||||
|
||||
<p>A comprehensive userguide is now available online and can be accessed from the following location:</p>
|
||||
<p>A comprehensive documentation is now available online and can be accessed from the following location:</p>
|
||||
|
||||
<p><a href="http://www.phpbb.com/support/documentation/">http://www.phpbb.com/support/documentation/</a></p>
|
||||
<p><a href="http://www.phpbb.com/support/documentation/3.0/">http://www.phpbb.com/support/documentation/3.0/</a></p>
|
||||
|
||||
<p>This covers everything from installation through setting permissions and managing users.</p>
|
||||
|
||||
|
@ -314,7 +329,7 @@ p a {
|
|||
<a name="status"></a><h1>4. Status of this version</h1>
|
||||
|
||||
<div class="paragraph">
|
||||
<p>This is the third stable release of phpBB. The 3.0.x line is essentially feature frozen, point releases will see only bugs and such like fixed, though feature alterations and minor feature additions may be done. Our next major release will be phpBB 3.2 and the planning phase has begun (the unstable development version is 3.1). Please do not post questions asking when 3.2 will be available, no release date has been set.</p>
|
||||
<p>This is the third stable release of phpBB. The 3.0.x line is essentially feature frozen, with only point releases seeing fixes for bugs and security issues, though feature alterations and minor feature additions may be done if deemed absolutely required. Our next major release will be phpBB 3.2 and the planning phase has begun (the unstable development version is 3.1). Please do not post questions asking when 3.2 will be available, no release date has been set.</p>
|
||||
|
||||
<p>For those interested in the development of phpBB should keep an eye on the community forums to see how things are progressing:</p>
|
||||
|
||||
|
@ -377,7 +392,7 @@ p a {
|
|||
<a name="curbugs"></a><h1>6. Overview of current bug list</h1>
|
||||
|
||||
<div class="paragraph">
|
||||
<p>This list is not complete but does represent those bugs which may effect users on a wider scale. Other bugs listed in the tracker have typically been shown to be limited to certain setups or methods of installation/upgrade.</p>
|
||||
<p>This list is not complete but does represent those bugs which may effect users on a wider scale. Other bugs listed in the tracker have typically been shown to be limited to certain setups or methods of installation, updating and/or conversions.</p>
|
||||
|
||||
<ul class="menu">
|
||||
<li>By default cannot post very large messages with MSSQL (this can be configured within MSSQL)</li>
|
||||
|
|
|
@ -235,7 +235,7 @@ $auth = new auth();
|
|||
<p>The <code>acl</code> method is the initialisation routine for all the acl functions. If you intend calling any acl method you must first call this. The method takes as its one and only required parameter an associative array containing user information as stored in the database. This array must contain at least the following information; user_id, user_permissions and user_type. It is called in the following way:</p>
|
||||
|
||||
<blockquote><pre>
|
||||
$auth->acl(<code>userdata</code>);
|
||||
$auth->acl(<code>userdata</code>);
|
||||
</pre></blockquote>
|
||||
|
||||
<p>Where userdata is the array containing the aforementioned data.</p>
|
||||
|
@ -252,7 +252,7 @@ $auth->acl(<code>userdata</code>);
|
|||
<p>This method is the primary way of determining what a user can and cannot do for a given option globally or in a given forum. The method should be called in the following way:</p>
|
||||
|
||||
<blockquote><pre>
|
||||
$result = $auth->acl_get(<code>option</code>[, <code>forum</code>]);
|
||||
$result = $auth->acl_get(<code>option</code>[, <code>forum</code>]);
|
||||
</pre></blockquote>
|
||||
|
||||
<p>Where option is a string representing the required option, e.g. 'f_list', 'm_edit', 'a_adduser', etc. By adding a ! in front of the option, e.g. '!f_list' the result of this method will be negated. The optional forum term is the integer forum_id.</p>
|
||||
|
@ -277,7 +277,7 @@ $result = $auth->acl_get(<code>option</code>[, <code>forum</code>]);
|
|||
<p>The method should be called thus:</p>
|
||||
|
||||
<blockquote><pre>
|
||||
$result = $auth->acl_gets(<code>option1</code>[, <code>option2</code>, ..., <code>optionN</code>, <code>forum</code>]);
|
||||
$result = $auth->acl_gets(<code>option1</code>[, <code>option2</code>, ..., <code>optionN</code>, <code>forum</code>]);
|
||||
</pre></blockquote>
|
||||
|
||||
<p>As with the <code>acl_get</code> method the options are strings representing the required permissions to check. The forum again is an integer representing a given forum_id.</p>
|
||||
|
@ -296,7 +296,7 @@ $result = $auth->acl_gets(<code>option1</code>[, <code>option2</code>, ..., <cod
|
|||
<p>This method is used to find out in which forums a user is allowed to carry out an operation or to find out in which forums he is not allowed to carry out an operation. The method should be called in the following way:</p>
|
||||
|
||||
<blockquote><pre>
|
||||
$result = $auth->acl_getf(<code>option</code>[, <code>clean</code>]);
|
||||
$result = $auth->acl_getf(<code>option</code>[, <code>clean</code>]);
|
||||
</pre></blockquote>
|
||||
|
||||
<p>Just like in the <code>acl_get</code> method the option is a string specifying the permission which has to be checked (negation using ! is allowed). The second parameter is a boolean. If it is set to false this method returns all forums with either zero or a positive integer. If it is set to true only those forums with a positive integer as the result will be returned.</p>
|
||||
|
@ -304,7 +304,7 @@ $result = $auth->acl_getf(<code>option</code>[, <code>clean</code>]);
|
|||
<p>The method returns an associative array of the form:</p>
|
||||
|
||||
<blockquote><pre>
|
||||
array(<em>forum_id1</em> => array(<em>option</em> => <em>integer</em>), <em>forum_id2</em> => ...)
|
||||
array(<em>forum_id1</em> => array(<em>option</em> => <em>integer</em>), <em>forum_id2</em> => ...)
|
||||
</pre></blockquote>
|
||||
|
||||
<p>Where option is the option passed to the method and integer is either zero or a positive integer and the same <code>acl_get(option, forum_id)</code> would return.</p>
|
||||
|
|
|
@ -61,6 +61,36 @@ h3 {
|
|||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.paragraph table {
|
||||
font-size: 8pt;
|
||||
border-collapse: collapse;
|
||||
border: 1px solid #006699;
|
||||
}
|
||||
|
||||
.paragraph table caption {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.paragraph table thead {
|
||||
background-color: #D1D7DC;
|
||||
}
|
||||
|
||||
.paragraph table td, .paragraph table th {
|
||||
border: 1px solid #006699;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
.paragraph table td dl {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.paragraph table td dl dt {
|
||||
float: left;
|
||||
clear: both;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
/* Structure */
|
||||
#logo {
|
||||
background: #fff url(header_bg.jpg) repeat-x top right;
|
||||
|
@ -163,7 +193,7 @@ p a {
|
|||
|
||||
<!-- BEGIN DOCUMENT -->
|
||||
|
||||
<p>These are the phpBB Coding Guidelines for Olympus, all attempts should be made to follow it as closely as possible.<br />This document is (c) 2006 phpBB Group, copying or redistribution is not allowed without permission.</p>
|
||||
<p>These are the phpBB Coding Guidelines for Olympus, all attempts should be made to follow them as closely as possible.<br />This document is (c) 2006 phpBB Group, copying or redistribution is not allowed without permission.</p>
|
||||
|
||||
<h1>Coding Guidelines</h1>
|
||||
|
||||
|
@ -186,6 +216,13 @@ p a {
|
|||
</li>
|
||||
<li><a href="#styling">Styling</a></li>
|
||||
<li><a href="#templating">Templating</a></li>
|
||||
<li><a href="#translation">Translation (<abbr title="Internationalisation">i18n</abbr>/<abbr title="Localisation">L10n</abbr>) Guidelines</a>
|
||||
<ol type="i">
|
||||
<li><a href="#standardisation">Standardisation</a></li>
|
||||
<li><a href="#otherconsiderations">Other considerations</a></li>
|
||||
<li><a href="#writingstyle">Writing Style</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#changes">Guidelines Changelog</a></li>
|
||||
</ol>
|
||||
|
||||
|
@ -598,7 +635,7 @@ if (isset($forum)) ...
|
|||
if (isset($forum) && $forum == 5)
|
||||
</pre></blockquote>
|
||||
|
||||
<p>The <code>empty()</code> function is useful if you want to check if a variable is not set or being empty (an empty string, 0 as an integer or string, NULL, false, an empty array or a variable declared, but without a value in a class). Therefore empty should be used in favor of <code>isset($array) && sizeof($array) > 0</code> - this can be written in a shorter way as <code>!empty($array)</code>.</p>
|
||||
<p>The <code>empty()</code> function is useful if you want to check if a variable is not set or being empty (an empty string, 0 as an integer or string, NULL, false, an empty array or a variable declared, but without a value in a class). Therefore empty should be used in favor of <code>isset($array) && sizeof($array) > 0</code> - this can be written in a shorter way as <code>!empty($array)</code>.</p>
|
||||
|
||||
<h3>Switch statements:</h3>
|
||||
<p>Switch/case code blocks can get a bit long sometimes. To have some level of notice and being in-line with the opening/closing brace requirement (where they are on the same line for better readability), this also applies to switch/case code blocks and the breaks. An example:</p>
|
||||
|
@ -769,9 +806,9 @@ $sql = 'SELECT *
|
|||
|
||||
<blockquote><pre>
|
||||
$sql_ary = array(
|
||||
'somedata' => $my_string,
|
||||
'otherdata' => $an_int,
|
||||
'moredata' => $another_int
|
||||
'somedata' => $my_string,
|
||||
'otherdata' => $an_int,
|
||||
'moredata' => $another_int
|
||||
);
|
||||
|
||||
$db->sql_query('INSERT INTO ' . SOME_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
|
||||
|
@ -781,9 +818,9 @@ $db->sql_query('INSERT INTO ' . SOME_TABLE . ' ' . $db->sql_build_array('I
|
|||
|
||||
<blockquote><pre>
|
||||
$sql_ary = array(
|
||||
'somedata' => $my_string,
|
||||
'otherdata' => $an_int,
|
||||
'moredata' => $another_int
|
||||
'somedata' => $my_string,
|
||||
'otherdata' => $an_int,
|
||||
'moredata' => $another_int
|
||||
);
|
||||
|
||||
$sql = 'UPDATE ' . SOME_TABLE . '
|
||||
|
@ -850,24 +887,24 @@ SELECT FROM phpbb_forums WHERE forum_id <strong><></strong> 1
|
|||
|
||||
<blockquote><pre>
|
||||
$sql_array = array(
|
||||
'SELECT' => 'f.*, ft.mark_time',
|
||||
'SELECT' => 'f.*, ft.mark_time',
|
||||
|
||||
'FROM' => array(
|
||||
FORUMS_WATCH_TABLE => 'fw',
|
||||
FORUMS_TABLE => 'f'
|
||||
'FROM' => array(
|
||||
FORUMS_WATCH_TABLE => 'fw',
|
||||
FORUMS_TABLE => 'f'
|
||||
),
|
||||
|
||||
'LEFT_JOIN' => array(
|
||||
'LEFT_JOIN' => array(
|
||||
array(
|
||||
'FROM' => array(FORUMS_TRACK_TABLE => 'ft'),
|
||||
'ON' => 'ft.user_id = ' . $user->data['user_id'] . ' AND ft.forum_id = f.forum_id'
|
||||
'FROM' => array(FORUMS_TRACK_TABLE => 'ft'),
|
||||
'ON' => 'ft.user_id = ' . $user->data['user_id'] . ' AND ft.forum_id = f.forum_id'
|
||||
)
|
||||
),
|
||||
|
||||
'WHERE' => 'fw.user_id = ' . $user->data['user_id'] . '
|
||||
'WHERE' => 'fw.user_id = ' . $user->data['user_id'] . '
|
||||
AND f.forum_id = fw.forum_id',
|
||||
|
||||
'ORDER_BY' => 'left_id'
|
||||
'ORDER_BY' => 'left_id'
|
||||
);
|
||||
|
||||
$sql = $db->sql_build_query('SELECT', $sql_array);
|
||||
|
@ -877,25 +914,25 @@ $sql = $db->sql_build_query('SELECT', $sql_array);
|
|||
|
||||
<blockquote><pre>
|
||||
$sql_array = array(
|
||||
'SELECT' => 'f.*',
|
||||
'SELECT' => 'f.*',
|
||||
|
||||
'FROM' => array(
|
||||
FORUMS_WATCH_TABLE => 'fw',
|
||||
FORUMS_TABLE => 'f'
|
||||
'FROM' => array(
|
||||
FORUMS_WATCH_TABLE => 'fw',
|
||||
FORUMS_TABLE => 'f'
|
||||
),
|
||||
|
||||
'WHERE' => 'fw.user_id = ' . $user->data['user_id'] . '
|
||||
'WHERE' => 'fw.user_id = ' . $user->data['user_id'] . '
|
||||
AND f.forum_id = fw.forum_id',
|
||||
|
||||
'ORDER_BY' => 'left_id'
|
||||
'ORDER_BY' => 'left_id'
|
||||
);
|
||||
|
||||
if ($config['load_db_lastread'])
|
||||
{
|
||||
$sql_array['LEFT_JOIN'] = array(
|
||||
array(
|
||||
'FROM' => array(FORUMS_TRACK_TABLE => 'ft'),
|
||||
'ON' => 'ft.user_id = ' . $user->data['user_id'] . ' AND ft.forum_id = f.forum_id'
|
||||
'FROM' => array(FORUMS_TRACK_TABLE => 'ft'),
|
||||
'ON' => 'ft.user_id = ' . $user->data['user_id'] . ' AND ft.forum_id = f.forum_id'
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -984,7 +1021,7 @@ $mark_array = request_var('mark', array(0));
|
|||
|
||||
<p class="good">// Getting an array, keys are strings, value defaults to 0</p>
|
||||
<blockquote><pre>
|
||||
$action_ary = request_var('action', array('' => 0));
|
||||
$action_ary = request_var('action', array('' => 0));
|
||||
</pre></blockquote>
|
||||
|
||||
<h3>Login checks/redirection: </h3>
|
||||
|
@ -999,12 +1036,12 @@ $action_ary = request_var('action', array('' => 0));
|
|||
<p>Sessions should be initiated on each page, as near the top as possible using the following code:</p>
|
||||
|
||||
<blockquote><pre>
|
||||
$user->session_begin();
|
||||
$auth->acl($user->data);
|
||||
$user->setup();
|
||||
$user->session_begin();
|
||||
$auth->acl($user->data);
|
||||
$user->setup();
|
||||
</pre></blockquote>
|
||||
|
||||
<p>The <code>$user->setup()</code> call can be used to pass on additional language definition and a custom style (used in viewforum).</p>
|
||||
<p>The <code>$user->setup()</code> call can be used to pass on additional language definition and a custom style (used in viewforum).</p>
|
||||
|
||||
<h3>Errors and messages: </h3>
|
||||
<p>All messages/errors should be outputed by calling <code>trigger_error()</code> using the appropriate message type and language string. Example:</p>
|
||||
|
@ -1018,7 +1055,7 @@ trigger_error($user->lang['NO_FORUM']);
|
|||
</pre></blockquote>
|
||||
|
||||
<blockquote><pre>
|
||||
trigger_error('NO_APPROPRIATE_MODE', E_USER_ERROR);
|
||||
trigger_error('NO_MODE', E_USER_ERROR);
|
||||
</pre></blockquote>
|
||||
|
||||
<h3>Url formatting</h3>
|
||||
|
@ -1130,7 +1167,7 @@ append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&amp;
|
|||
<h3>Variables</h3>
|
||||
<p>All template variables should be named appropriately (using underscores for spaces), language entries should be prefixed with L_, system data with S_, urls with U_, javascript urls with UA_, language to be put in javascript statements with LA_, all other variables should be presented 'as is'.</p>
|
||||
|
||||
<p>L_* template variables are automatically tried to be mapped to the corresponding language entry if the code does not set (and therefore overwrite) this variable specifically. For example <code>{L_USERNAME}</code> maps to <code>$user->lang['USERNAME']</code>. The LA_* template variables are handled within the same way, but properly escaped to be put in javascript code. This should reduce the need to assign loads of new lang vars in Mods.
|
||||
<p>L_* template variables are automatically tried to be mapped to the corresponding language entry if the code does not set (and therefore overwrite) this variable specifically. For example <code>{L_USERNAME}</code> maps to <code>$user->lang['USERNAME']</code>. The LA_* template variables are handled within the same way, but properly escaped to be put in javascript code. This should reduce the need to assign loads of new lang vars in Modifications.
|
||||
</p>
|
||||
|
||||
<h3>Blocks/Loops</h3>
|
||||
|
@ -1328,7 +1365,7 @@ div
|
|||
<p>You are even able to check the number of items within a loop by comparing it with values within the IF condition:</p>
|
||||
|
||||
<blockquote><pre>
|
||||
<span class="comment"><!-- IF .loop > 2 --></span>
|
||||
<span class="comment"><!-- IF .loop > 2 --></span>
|
||||
<span class="comment"><!-- BEGIN loop --></span>
|
||||
markup
|
||||
<span class="comment"><!-- END loop --></span>
|
||||
|
@ -1505,9 +1542,692 @@ div
|
|||
|
||||
<hr />
|
||||
|
||||
<a name="changes"></a><h1>5. Guidelines Changelog</h1>
|
||||
<a name="translation"></a><h1>5. Translation (<abbr title="Internationalisation">i18n</abbr>/<abbr title="Localisation">L10n</abbr>) Guidelines</h1>
|
||||
|
||||
<a name="standardisation"></a><b>5.i. Standardisation</b>
|
||||
<br /><br />
|
||||
<div class="paragraph">
|
||||
|
||||
<h3>Reason:</h3>
|
||||
|
||||
<p>phpBB is one of the most translated open-source projects, with the current stable version being available in over 60 localisations. Whilst the ad hoc approach to the naming of language packs has worked, for phpBB3 and beyond we hope to make this process saner which will allow for better interoperation with current and future web browsers.</p>
|
||||
|
||||
<h3>Encoding:</h3>
|
||||
|
||||
<p>With phpBB3, the output encoding for the forum in now UTF-8, a Universal Character Encoding by the Unicode Consortium that is by design a superset to US-ASCII and ISO-8859-1. By using one character set which simultaenously supports all scripts which previously would have required different encodings (eg: ISO-8859-1 to ISO-8859-15 (Latin, Greek, Cyrillic, Thai, Hebrew, Arabic); GB2312 (Simplified Chinese); Big5 (Traditional Chinese), EUC-JP (Japanese), EUC-KR (Korean), VISCII (Vietnamese); et cetera), this removes the need to convert between encodings and improves the accessibility of multilingual forums.</p>
|
||||
|
||||
<p>The impact is that the language files for phpBB must now also be encoded as UTF-8, with a caveat that the files must <strong>not contain</strong> a <acronym title="Byte-Order-Mark">BOM</acronym> for compatibility reasons with non-Unicode aware versions of PHP. For those with forums using the Latin character set (ie: most European languages), this change is transparent since UTF-8 is superset to US-ASCII and ISO-8859-1.</p>
|
||||
|
||||
<h3>Language Tag:</h3>
|
||||
|
||||
<p>The <abbr title="Internet Engineering Task Force">IETF</abbr> recently published <a href="http://tools.ietf.org/html/rfc4646">RFC 4646</a> for tags used to identify languages, which in combination with <a href="http://tools.ietf.org/html/rfc4647">RFC 4647</a> obseletes the older <a href="http://tools.ietf.org/html/rfc3066">RFC 3006</a> and older-still <a href="http://tools.ietf.org/html/rfc1766">RFC 1766</a>. <a href="http://tools.ietf.org/html/rfc4646">RFC 4646</a> uses <a href="http://www.loc.gov/standards/iso639-2/php/English_list.php">ISO 639-1/ISO 639-2</a>, <a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1 alpha-2</a>, <a href="http://www.unicode.org/iso15924/iso15924-codes.html">ISO 15924</a> and <a href="http://unstats.un.org/unsd/methods/m49/m49.htm">UN M.49</a> to define a language tag. Each complete tag is composed of subtags which are not case sensitive and can also be empty.</p>
|
||||
|
||||
<p>Ordering of the subtags in the case that they are all non-empty is: <code>language</code>-<code>script</code>-<code>region</code>-<code>variant</code>-<code>extension</code>-<code>privateuse</code>. Should any subtag be empty, its corresponding hyphen would also be ommited. Thus, the language tag for English will be <code>en</code> <strong>and not</strong> <code>en-----</code>.</p>
|
||||
|
||||
<p>Most language tags consist of a two- or three-letter language subtag (from <a href="http://www.loc.gov/standards/iso639-2/php/English_list.php">ISO 639-1/ISO 639-2</a>). Sometimes, this is followed by a two-letter or three-digit region subtag (from <a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1 alpha-2</a> or <a href="http://unstats.un.org/unsd/methods/m49/m49.htm">UN M.49</a>). Some examples are:</p>
|
||||
|
||||
<table summary="Examples of various possible language tags as described by RFC 4646 and RFC 4647">
|
||||
<caption>Language tag examples</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Language tag</th>
|
||||
<th scope="col">Description</th>
|
||||
<th scope="col">Component subtags</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>en</code></td>
|
||||
<td>English</td>
|
||||
<td><code>language</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>mas</code></td>
|
||||
<td>Masai</td>
|
||||
<td><code>language</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>fr-CA</code></td>
|
||||
<td>French as used in Canada</td>
|
||||
<td><code>language</code>+<code>region</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>en-833</code></td>
|
||||
<td>English as used in the Isle of Man</td>
|
||||
<td><code>language</code>+<code>region</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>zh-Hans</code></td>
|
||||
<td>Chinese written with Simplified script</td>
|
||||
<td><code>language</code>+<code>script</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>zh-Hant-HK</code></td>
|
||||
<td>Chinese written with Traditional script as used in Hong Kong</td>
|
||||
<td><code>language</code>+<code>script</code>+<code>region</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>de-AT-1996</code></td>
|
||||
<td>German as used in Austria with 1996 orthography</td>
|
||||
<td><code>language</code>+<code>region</code>+<code>variant</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>The ultimate aim of a language tag is to convey the needed <strong>useful distingushing information</strong>, whilst keeping it as <strong>short as possible</strong>. So for example, use <code>en</code>, <code>fr</code> and <code>ja</code> as opposed to <code>en-GB</code>, <code>fr-FR</code> and <code>ja-JP</code>, since we know English, French and Japanese are the native language of Great Britain, France and Japan respectively.</p>
|
||||
|
||||
<p>Next is the <a href="http://www.unicode.org/iso15924/iso15924-codes.html">ISO 15924</a> language script code and when one should or shouldn't use it. For example, whilst <code>en-Latn</code> is syntaxically correct for describing English written with Latin script, real world English writing is <strong>more-or-less exclusively in the Latin script</strong>. For such languages like English that are written in a single script, the <a href="http://www.iana.org/assignments/language-subtag-registry"><abbr title="Internet Assigned Numbers Authority">IANA</abbr> Language Subtag Registry</a> has a "Suppress-Script" field meaning the script code <strong>should be ommitted</strong> unless a specific language tag requires a specific script code. Some languages are <strong>written in more than one script</strong> and in such cases, the script code <strong>is encouraged</strong> since an end-user may be able to read their language in one script, but not the other. Some examples are:</p>
|
||||
|
||||
<table summary="Examples of using a language subtag in combination with a script subtag">
|
||||
<caption>Language subtag + script subtag examples</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Language tag</th>
|
||||
<th scope="col">Description</th>
|
||||
<th scope="col">Component subtags</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>en-Brai</code></td>
|
||||
<td>English written in Braille script</td>
|
||||
<td><code>language</code>+<code>script</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>en-Dsrt</code></td>
|
||||
<td>English written in Deseret (Mormon) script</td>
|
||||
<td><code>language</code>+<code>script</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sr-Latn</code></td>
|
||||
<td>Serbian written in Latin script</td>
|
||||
<td><code>language</code>+<code>script</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>sr-Cyrl</code></td>
|
||||
<td>Serbian written in Cyrillic script</td>
|
||||
<td><code>language</code>+<code>script</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>mn-Mong</code></td>
|
||||
<td>Mongolian written in Mongolian script</td>
|
||||
<td><code>language</code>+<code>script</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>mn-Cyrl</code></td>
|
||||
<td>Mongolian written in Cyrillic script</td>
|
||||
<td><code>language</code>+<code>script</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>mn-Phag</code></td>
|
||||
<td>Mongolian written in Phags-pa script</td>
|
||||
<td><code>language</code>+<code>script</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>az-Cyrl-AZ</code></td>
|
||||
<td>Azerbaijani written in Cyrillic script as used in Azerbaijan</td>
|
||||
<td><code>language</code>+<code>script</code>+<code>region</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>az-Latn-AZ</code></td>
|
||||
<td>Azerbaijani written in Latin script as used in Azerbaijan</td>
|
||||
<td><code>language</code>+<code>script</code>+<code>region</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>az-Arab-IR</code></td>
|
||||
<td>Azerbaijani written in Arabic script as used in Iran</td>
|
||||
<td><code>language</code>+<code>script</code>+<code>region</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>Usage of the three-digit <a href="http://unstats.un.org/unsd/methods/m49/m49.htm">UN M.49</a> code over the two-letter <a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1 alpha-2</a> code should hapen if a macro-geographical entity is required and/or the <a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1 alpha-2</a> is ambiguous.</p>
|
||||
|
||||
<p>Examples of English using marco-geographical regions:</p>
|
||||
|
||||
<table summary="Examples for English of ISO 3166-1 alpha-2 vs. UN M.49 code">
|
||||
<caption>Coding for English using macro-geographical regions</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">ISO 639-1/ISO 639-2 + ISO 3166-1 alpha-2</th>
|
||||
<th scope="col" colspan="2">ISO 639-1/ISO 639-2 + UN M.49 (Example macro regions)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><dl><dt><code>en-AU</code></dt><dd>English as used in <strong>Australia</strong></dd></dl></td>
|
||||
<td rowspan="2"><dl><dt><code>en-053</code></dt><dd>English as used in <strong>Australia & New Zealand</strong></dd></dl></td>
|
||||
<td rowspan="3"><dl><dt><code>en-009</code></dt><dd>English as used in <strong>Oceania</strong></dd></dl></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><dl><dt><code>en-NZ</code></dt><dd>English as used in <strong>New Zealand</strong></dd></dl></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><dl><dt><code>en-FJ</code></dt><dd>English as used in <strong>Fiji</strong></dd></dl></td>
|
||||
<td><dl><dt><code>en-054 </code></dt><dd>English as used in <strong>Melanesia</strong></dd></dl></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>Examples of Spanish using marco-geographical regions:</p>
|
||||
|
||||
<table summary="Examples for Spanish of ISO 3166-1 alpha-2 vs. UN M.49 code">
|
||||
<caption>Coding for Spanish macro-geographical regions</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">ISO 639-1/ISO 639-2 + ISO 3166-1 alpha-2</th>
|
||||
<th scope="col" colspan="2">ISO 639-1/ISO 639-2 + UN M.49 (Example macro regions)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><dl><dt><code>es-PR</code></dt><dd>Spanish as used in <strong>Puerto Rico</strong></dd></dl></td>
|
||||
<td rowspan="3"><dl><dt><code>es-419</code></dt><dd>Spanish as used in <strong>Latin America & the Caribbean</strong></dd></dl></td>
|
||||
<td rowspan="4"><dl><dt><code>es-019</code></dt><dd>Spanish as used in <strong>the Americas</strong></dd></dl></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><dl><dt><code>es-HN</code></dt><dd>Spanish as used in <strong>Honduras</strong></dd></dl></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><dl><dt><code>es-AR</code></dt><dd>Spanish as used in <strong>Argentina</strong></dd></dl></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><dl><dt><code>es-US</code></dt><dd>Spanish as used in <strong>United States of America</strong></dd></dl></td>
|
||||
<td><dl><dt><code>es-021</code></dt><dd>Spanish as used in <strong>North America</strong></dd></dl></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>Example of where the <a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1 alpha-2</a> is ambiguous and why <a href="http://unstats.un.org/unsd/methods/m49/m49.htm">UN M.49</a> might be preferred:</p>
|
||||
|
||||
<table summary="Example where the ISO 3166-1 alpha-2 is ambiguous">
|
||||
<caption>Coding for ambiguous ISO 3166-1 alpha-2 regions</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" colspan="2"><code>CS</code> assignment pre-1994</th>
|
||||
<th scope="col" colspan="2"><code>CS</code> assignment post-1994</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<dl>
|
||||
<dt><code>CS</code></dt><dd><strong>Czechoslovakia</strong> (ISO 3166-1)</dd>
|
||||
<dt><code>200</code></dt><dd><strong>Czechoslovakia</strong> (UN M.49)</dd>
|
||||
</dl>
|
||||
</td>
|
||||
<td colspan="2">
|
||||
<dl>
|
||||
<dt><code>CS</code></dt><dd><strong>Serbian & Montenegro</strong> (ISO 3166-1)</dd>
|
||||
<dt><code>891</code></dt><dd><strong>Serbian & Montenegro</strong> (UN M.49)</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>CZ</code></dt><dd><strong>Czech Republic</strong> (ISO 3166-1)</dd>
|
||||
<dt><code>203</code></dt><dd><strong>Czech Republic</strong> (UN M.49)</dd>
|
||||
</dl>
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>SK</code></dt><dd><strong>Slovakia</strong> (ISO 3166-1)</dd>
|
||||
<dt><code>703</code></dt><dd><strong>Slovakia</strong> (UN M.49)</dd>
|
||||
</dl>
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>RS</code></dt><dd><strong>Serbia</strong> (ISO 3166-1)</dd>
|
||||
<dt><code>688</code></dt><dd><strong>Serbia</strong> (UN M.49)</dd>
|
||||
</dl>
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>ME</code></dt><dd><strong>Montenegro</strong> (ISO 3166-1)</dd>
|
||||
<dt><code>499</code></dt><dd><strong>Montenegro</strong> (UN M.49)</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Macro-languages & Topolects:</h3>
|
||||
|
||||
<p><a href="http://tools.ietf.org/html/rfc4646">RFC 4646</a> anticipates features which shall be available in (currently draft) <a href="http://www.sil.org/iso639-3/">ISO 639-3</a> which aims to provide as complete enumeration of languages as possible, including living, extinct, ancient and constructed languages, whether majour, minor or unwritten. A new feature of <a href="http://www.sil.org/iso639-3/">ISO 639-3</a> compared to the previous two revisions is the concept of <a href="http://www.sil.org/iso639-3/macrolanguages.asp">macrolanguages</a> where Arabic and Chinese are two such examples. In such cases, their respective codes of <code>ar</code> and <code>zh</code> is very vague as to which dialect/topolect is used or perhaps some terse classical variant which may be difficult for all but very educated users. For such macrolanguages, it is recommended that the sub-language tag is used as a suffix to the macrolanguage tag, eg:</p>
|
||||
|
||||
<table summary="Examples of macrolanguages used with sub-language subtags">
|
||||
<caption>Macrolanguage subtag + sub-language subtag examples</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Language tag</th>
|
||||
<th scope="col">Description</th>
|
||||
<th scope="col">Component subtags</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>zh-cmn</code></td>
|
||||
<td>Mandarin (Putonghau/Guoyu) Chinese</td>
|
||||
<td><code>macrolanguage</code>+<code>sublanguage</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>zh-yue</code></td>
|
||||
<td>Yue (Cantonese) Chinese</td>
|
||||
<td><code>macrolanguage</code>+<code>sublanguage</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>zh-cmn-Hans</code></td>
|
||||
<td>Mandarin (Putonghau/Guoyu) Chinese written in Simplified script</td>
|
||||
<td><code>macrolanguage</code>+<code>sublanguage</code>+<code>script</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>zh-cmn-Hant</code></td>
|
||||
<td>Mandarin (Putonghau/Guoyu) Chinese written in Traditional script</td>
|
||||
<td><code>macrolanguage</code>+<code>sublanguage</code>+<code>script</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>zh-nan-Latn-TW</code></td>
|
||||
<td>Minnan (Hoklo) Chinese written in Latin script (POJ Romanisation) as used in Taiwan</td>
|
||||
<td><code>macrolanguage</code>+<code>sublanguage</code>+<code>script</code>+<code>region</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<a href="#top">Top</a>
|
||||
<br /><br />
|
||||
|
||||
<a name="otherconsiderations"></a><b>5.ii. Other considerations</b>
|
||||
<br /><br />
|
||||
<div class="paragraph">
|
||||
|
||||
<h3>Normalisation of language tags for phpBB:</h3>
|
||||
|
||||
<p>For phpBB, the language tags are <strong>not</strong> used in their raw form and instead converted to all lower-case and have the hyphen <code>-</code> replaced with an underscore <code>_</code> where appropiate, with some examples below:</p>
|
||||
|
||||
<table summary="Normalisation of language tags for usage in phpBB">
|
||||
<caption>Language tag normalisation examples</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Raw language tag</th>
|
||||
<th scope="col">Description</th>
|
||||
<th scope="col">Value of <code>USER_LANG</code><br />in <code>./common.php</code></th>
|
||||
<th scope="col">Language pack directory<br />name in <code>/language/</code></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>en</code></td>
|
||||
<td>British English</td>
|
||||
<td><code>en</code></td>
|
||||
<td><code>en</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>de-AT</code></td>
|
||||
<td>German as used in Austria</td>
|
||||
<td><code>de-at</code></td>
|
||||
<td><code>de_at</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>es-419</code></td>
|
||||
<td>Spanish as used in Latin America & Caribbean</td>
|
||||
<td><code>en-419</code></td>
|
||||
<td><code>en_419</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>zh-yue-Hant-HK</code></td>
|
||||
<td>Cantonese written in Traditional script as used in Hong Kong</td>
|
||||
<td><code>zh-yue-hant-hk</code></td>
|
||||
<td><code>zh_yue_hant_hk</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>How to use <code>iso.txt</code>:</h3>
|
||||
|
||||
<p>The <code>iso.txt</code> file is a small UTF-8 encoded plain-text file which consists of three lines:</p>
|
||||
|
||||
<ol class="menu">
|
||||
<li><code>Language's English name</code></li>
|
||||
<li><code>Language's local name</code></li>
|
||||
<li><code>Authors information</code></li>
|
||||
</ol>
|
||||
|
||||
<p><code>iso.txt</code> is automatically generated by the language pack submission system on phpBB.com. You don't have to create this file yourself if you plan on releasing your language pack on phpBB.com, but do keep in mind that phpBB itself does require this file to be present.</p>
|
||||
|
||||
<p>Because language tags themselves are meant to be machine read, they can be rather obtuse to humans and why descriptive strings as provided by <code>iso.txt</code> are needed. Whilst <code>en-US</code> could be fairly easily deduced to be "English as used in the United States", <code>de-CH</code> is more difficult less one happens to know that <code>de</code> is from "<span lang="de">Deutsch</span>", German for "German" and <code>CH</code> is the abbreviation of the official Latin name for Switzerland, "<span lang="la">Confoederatio Helvetica</span>".</p>
|
||||
|
||||
<p>For the English language description, the language name is always first and any additional attributes required to describe the subtags within the language code are then listed in order separated with commas and enclosed within parentheses, eg:</p>
|
||||
|
||||
<table summary="English language description examples of iso.txt for usage in phpBB">
|
||||
<caption>English language description examples for iso.txt</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Raw language tag</th>
|
||||
<th scope="col">English description within <code>iso.txt</code></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>en</code></td>
|
||||
<td>British English</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>en-US</code></td>
|
||||
<td>English (United States)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>en-053</code></td>
|
||||
<td>English (Australia & New Zealand)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>de</code></td>
|
||||
<td>German</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>de-CH-1996</code></td>
|
||||
<td>German (Switzerland, 1996 orthography)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>gws-1996</code></td>
|
||||
<td>Swiss German (1996 orthography)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>zh-cmn-Hans-CN</code></td>
|
||||
<td>Mandarin Chinese (Simplified, Mainland China)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>zh-yue-Hant-HK</code></td>
|
||||
<td>Cantonese Chinese (Traditional, Hong Kong)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>For the localised language description, just translate the English version though use whatever appropiate punctuation typical for your own locale, assuming the language uses punctuation at all.</p>
|
||||
|
||||
<h3>Unicode bi-directional considerations:</h3>
|
||||
|
||||
<p>Because phpBB is now UTF-8, all translators must take into account that certain strings may be shown when the directionality of the document is either opposite to normal or is ambiguous.</p>
|
||||
|
||||
<p>The various Unicode control characters for bi-directional text and their HTML enquivalents where appropiate are as follows:</p>
|
||||
|
||||
<table summary="Table of the various Unicode bidirectional control characters">
|
||||
<caption>Unicode bidirectional control characters & HTML elements/entities</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Unicode character<br />abbreviation</th>
|
||||
<th scope="col">Unicode<br />code-point</th>
|
||||
<th scope="col">Unicode character<br />name</th>
|
||||
<th scope="col">Equivalent HTML<br />markup/entity</th>
|
||||
<th scope="col">Raw character<br />(enclosed between '')</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>LRM</code></td>
|
||||
<td><code>U+200E</code></td>
|
||||
<td>Left-to-Right Mark</td>
|
||||
<td><code>&lrm;</code></td>
|
||||
<td>'‎'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RLM</code></td>
|
||||
<td><code>U+200F</code></td>
|
||||
<td>Right-to-Left Mark</td>
|
||||
<td><code>&rlm;</code></td>
|
||||
<td>'‏'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LRE</code></td>
|
||||
<td><code>U+202A</code></td>
|
||||
<td>Left-to-Right Embedding</td>
|
||||
<td><code>dir="ltr"</code></td>
|
||||
<td>'‪'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RLE</code></td>
|
||||
<td><code>U+202B</code></td>
|
||||
<td>Right-to-Left Embedding</td>
|
||||
<td><code>dir="rtl"</code></td>
|
||||
<td>'‫'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PDF</code></td>
|
||||
<td><code>U+202C</code></td>
|
||||
<td>Pop Directional Formatting</td>
|
||||
<td><code></bdo></code></td>
|
||||
<td>'‬'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LRO</code></td>
|
||||
<td><code>U+202D</code></td>
|
||||
<td>Left-to-Right Override</td>
|
||||
<td><code><bdo dir="ltr"></code></td>
|
||||
<td>'‭'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RLO</code></td>
|
||||
<td><code>U+202E</code></td>
|
||||
<td>Right-to-Left Override</td>
|
||||
<td><code><bdo dir="rtl"></code></td>
|
||||
<td>'‮'</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>For <code>iso.txt</code>, the directionality of the text can be explicitly set using special Unicode characters via any of the three methods provided by left-to-right/right-to-left markers/embeds/overrides, as without them, the ordering of characters will be incorrect, eg:</p>
|
||||
|
||||
<table summary="Effect of using Unicode bidirectional control characters within iso.txt">
|
||||
<caption>Unicode bidirectional control characters iso.txt</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Directionality</th>
|
||||
<th scope="col">Raw character view</th>
|
||||
<th scope="col">Display of localised<br />description in <code>iso.txt</code></th>
|
||||
<th scope="col">Ordering</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>dir="ltr"</code></td>
|
||||
<td>English (Australia & New Zealand)</td>
|
||||
<td dir="ltr">English (Australia & New Zealand)</td>
|
||||
<td class="good">Correct</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>dir="rtl"</code></td>
|
||||
<td>English (Australia & New Zealand)</td>
|
||||
<td dir="rtl">English (Australia & New Zealand)</td>
|
||||
<td class="bad">Incorrect</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>dir="rtl"</code> with <code>LRM</code></td>
|
||||
<td>English (Australia & New Zealand)<code>U+200E</code></td>
|
||||
<td dir="rtl">English (Australia & New Zealand)‎</td>
|
||||
<td class="good">Correct</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>dir="rtl"</code> with <code>LRE</code> & <code>PDF</code></td>
|
||||
<td><code>U+202A</code>English (Australia & New Zealand)<code>U+202C</code></td>
|
||||
<td dir="rtl">‪English (Australia & New Zealand)‬</td>
|
||||
<td class="good">Correct</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>dir="rtl"</code> with <code>LRO</code> & <code>PDF</code></td>
|
||||
<td><code>U+202D</code>English (Australia & New Zealand)<code>U+202C</code></td>
|
||||
<td dir="rtl">‭English (Australia & New Zealand)‬</td>
|
||||
<td class="good">Correct</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>In choosing which of the three methods to use, in the majority of cases, the <code>LRM</code> or <code>RLM</code> to put a "strong" character to fully enclose an ambiguous punctuation character and thus make it inherit the correct directionality is sufficient.</p>
|
||||
<p>Within some cases, there may be mixed scripts of a left-to-right and right-to-left direction, so using <code>LRE</code> & <code>RLE</code> with <code>PDF</code> may be more appropiate. Lastly, in very rare instances where directionality must be forced, then use <code>LRO</code> & <code>RLO</code> with <code>PDF</code>.</p>
|
||||
<p>For further information on authoring techniques of bi-directional text, please see the W3C tutorial on <a href="http://www.w3.org/International/tutorials/bidi-xhtml/">authoring techniques for XHTML pages with bi-directional text</a>.</p>
|
||||
|
||||
<h3>Working with placeholders:</h3>
|
||||
|
||||
<p>As phpBB is translated into languages with different ordering rules to that of English, it is possible to show specific values in any order deemed appropiate. Take for example the extremely simple "Page <em>X</em> of <em>Y</em>", whilst in English this could just be coded as:</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'PAGE_OF' => 'Page %s of %s',
|
||||
/* Just grabbing the replacements as they
|
||||
come and hope they are in the right order */
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p>… a clearer way to show explicit replacement ordering is to do:</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'PAGE_OF' => 'Page %1$s of %2$s',
|
||||
/* Explicit ordering of the replacements,
|
||||
even if they are the same order as English */
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p>Why bother at all? Because some languages, the string transliterated back to English might read something like:</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'PAGE_OF' => 'Total of %2$s pages, currently on page %1$s',
|
||||
/* Explicit ordering of the replacements,
|
||||
reversed compared to English as the total comes first */
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
</div>
|
||||
<a href="#top">Top</a>
|
||||
<br /><br />
|
||||
|
||||
<a name="writingstyle"></a><b>5.iii. Writing Style</b>
|
||||
<br /><br />
|
||||
<div class="paragraph">
|
||||
|
||||
<h3>Miscellaneous tips & hints:</h3>
|
||||
|
||||
<p>As the language files are PHP files, where the various strings for phpBB are stored within an array which in turn are used for display within an HTML page, rules of syntax for both must be considered. Potentially problematic characters are: <code>'</code> (straight quote/apostrophe), <code>"</code> (straight double quote), <code><</code> (less-than sign), <code>></code> (greater-than sign) and <code>&</code> (ampersand).</p>
|
||||
|
||||
<p class="bad">// Bad - The un-escapsed straight-quote/apostrophe will throw a PHP parse error</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'CONV_ERROR_NO_AVATAR_PATH'
|
||||
=> 'Note to developer: you must specify $convertor['avatar_path'] to use %s.',
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p class="good">// Good - Literal straight quotes should be escaped with a backslash, ie: \</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'CONV_ERROR_NO_AVATAR_PATH'
|
||||
=> 'Note to developer: you must specify $convertor[\'avatar_path\'] to use %s.',
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p>However, because phpBB3 now uses UTF-8 as its sole encoding, we can actually use this to our advantage and not have to remember to escape a straight quote when we don't have to:</p>
|
||||
|
||||
<p class="bad">// Bad - The un-escapsed straight-quote/apostrophe will throw a PHP parse error</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'USE_PERMISSIONS' => 'Test out user's permissions',
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p class="good">// Okay - However, non-programmers wouldn't type "user\'s" automatically</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'USE_PERMISSIONS' => 'Test out user\'s permissions',
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p class="good">// Best - Use the Unicode Right-Single-Quotation-Mark character</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'USE_PERMISSIONS' => 'Test out user’s permissions',
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p>The <code>"</code> (straight double quote), <code><</code> (less-than sign) and <code>></code> (greater-than sign) characters can all be used as displayed glyphs or as part of HTML markup, for example:</p>
|
||||
|
||||
<p class="bad">// Bad - Invalid HTML, as segments not part of elements are not entitised</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'FOO_BAR' => 'PHP version < 4.3.3.<br />
|
||||
Visit "Downloads" at <a href="http://www.php.net/">www.php.net</a>.',
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p class="good">// Okay - No more invalid HTML, but "&quot;" is rather clumsy</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'FOO_BAR' => 'PHP version &lt; 4.3.3.<br />
|
||||
Visit &quot;Downloads&quot; at <a href="http://www.php.net/">www.php.net</a>.',
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p class="good">// Best - No more invalid HTML, and usage of correct typographical quotation marks</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'FOO_BAR' => 'PHP version &lt; 4.3.3.<br />
|
||||
Visit “Downloads” at <a href="http://www.php.net/">www.php.net</a>.',
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p>Lastly, the <code>&</code> (ampersand) must always be entitised regardless of where it is used:</p>
|
||||
|
||||
<p class="bad">// Bad - Invalid HTML, none of the ampersands are entitised</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'FOO_BAR' => '<a href="http://somedomain.tld/?foo=1&bar=2">Foo & Bar</a>.',
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p class="good">// Good - Valid HTML, amperands are correctly entitised in all cases</p>
|
||||
|
||||
<blockquote><pre>
|
||||
...
|
||||
'FOO_BAR' => '<a href="http://somedomain.tld/?foo=1&amp;bar=2">Foo &amp; Bar</a>.',
|
||||
...
|
||||
</pre></blockquote>
|
||||
|
||||
<p>As for how these charcters are entered depends very much on choice of Operating System, current language locale/keyboard configuration and native abilities of the text editor used to edit phpBB language files. Please see <a href="http://en.wikipedia.org/wiki/Unicode#Input_methods">http://en.wikipedia.org/wiki/Unicode#Input_methods</a> for more information.</p>
|
||||
|
||||
<h3>Spelling, punctuation, grammar, et cetera:</h3>
|
||||
|
||||
<p>The default language pack bundled with phpBB is <strong>British English</strong> using <a href="http://www.cambridge.org/">Cambridge University Press</a> spelling and is assigned the language code <code>en</code>. The style and tone of writing tends towards formal and translations <strong>should</strong> emulate this style, at least for the variant using the most compact language code. Less formal translations or those with colloquialisms <strong>must</strong> be denoted as such via either an <code>extension</code> or <code>privateuse</code> tag within its language code.</p>
|
||||
|
||||
</div>
|
||||
<a href="#top">Top</a>
|
||||
<br /><br />
|
||||
|
||||
<hr />
|
||||
|
||||
<a name="changes"></a><h1>6. Guidelines Changelog</h1>
|
||||
<div class="paragraph">
|
||||
|
||||
<h2>Revision 1.16</h2>
|
||||
|
||||
<ul class="menu">
|
||||
<li>Added <a href="#translation">5. Translation (<abbr title="Internationalisation">i18n</abbr>/<abbr title="Localisation">L10n</abbr>) Guidelines</a> section to explain expected format and authoring considerations for language packs that are to be created for phpBB.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Revision 1.11-1.15</h2>
|
||||
|
||||
<ul class="menu">
|
||||
<li>Various document formatting, spelling, punctuation, grammar bugs.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Revision 1.9-1.10</h2>
|
||||
|
||||
<ul class="menu">
|
||||
|
|
|
@ -14,9 +14,88 @@
|
|||
define('IN_PHPBB', true);
|
||||
$phpbb_root_path = './';
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
|
||||
if (isset($_GET['avatar']))
|
||||
{
|
||||
require($phpbb_root_path . 'config.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/cache.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx);
|
||||
require($phpbb_root_path . 'includes/constants.' . $phpEx);
|
||||
|
||||
$db = new $sql_db();
|
||||
$cache = new cache();
|
||||
|
||||
// Connect to DB
|
||||
if (!@$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
unset($dbpasswd);
|
||||
|
||||
$config = $cache->obtain_config();
|
||||
$filename = $_GET['avatar'];
|
||||
$avatar_group = false;
|
||||
if ($filename[0] === 'g')
|
||||
{
|
||||
$avatar_group = true;
|
||||
$filename = substr($filename, 1);
|
||||
}
|
||||
|
||||
// '==' is not a bug - . as the first char is as bad as no dot at all
|
||||
if (strpos($filename, '.') == false)
|
||||
{
|
||||
header('HTTP/1.0 403 forbidden');
|
||||
if (!empty($cache))
|
||||
{
|
||||
$cache->unload();
|
||||
}
|
||||
$db->sql_close();
|
||||
exit;
|
||||
}
|
||||
|
||||
$ext = substr(strrchr($filename, '.'), 1);
|
||||
$filename = intval($filename);
|
||||
|
||||
if (!in_array($ext, array('png', 'gif', 'jpg', 'jpeg')))
|
||||
{
|
||||
// no way such an avatar could exist. They are not following the rules, stop the show.
|
||||
header("HTTP/1.0 403 forbidden");
|
||||
if (!empty($cache))
|
||||
{
|
||||
$cache->unload();
|
||||
}
|
||||
$db->sql_close();
|
||||
exit;
|
||||
}
|
||||
|
||||
if (!$filename)
|
||||
{
|
||||
// no way such an avatar could exist. They are not following the rules, stop the show.
|
||||
header("HTTP/1.0 403 forbidden");
|
||||
if (!empty($cache))
|
||||
{
|
||||
$cache->unload();
|
||||
}
|
||||
$db->sql_close();
|
||||
exit;
|
||||
}
|
||||
|
||||
send_avatar_to_browser(($avatar_group ? 'g' : '') . $filename . '.' . $ext);
|
||||
|
||||
if (!empty($cache))
|
||||
{
|
||||
$cache->unload();
|
||||
}
|
||||
$db->sql_close();
|
||||
exit;
|
||||
}
|
||||
|
||||
// implicit else: we are not in avatar mode
|
||||
include($phpbb_root_path . 'common.' . $phpEx);
|
||||
|
||||
$download_id = request_var('id', 0);
|
||||
$mode = request_var('mode', '');
|
||||
$thumbnail = request_var('t', false);
|
||||
|
||||
// Start session management, do not update session page.
|
||||
|
@ -80,21 +159,11 @@ else
|
|||
$db->sql_freeresult($result);
|
||||
|
||||
// Global announcement?
|
||||
if (!$row)
|
||||
{
|
||||
$forum_id = request_var('f', 0);
|
||||
$f_download = (!$row) ? $auth->acl_getf_global('f_download') : $auth->acl_get('f_download', $row['forum_id']);
|
||||
|
||||
$sql = 'SELECT forum_id, forum_password, parent_id
|
||||
FROM ' . FORUMS_TABLE . '
|
||||
WHERE forum_id = ' . $forum_id;
|
||||
$result = $db->sql_query($sql);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
if ($auth->acl_get('u_download') && $auth->acl_get('f_download', $row['forum_id']))
|
||||
if ($auth->acl_get('u_download') && $f_download)
|
||||
{
|
||||
if ($row['forum_password'])
|
||||
if ($row && $row['forum_password'])
|
||||
{
|
||||
// Do something else ... ?
|
||||
login_forum_box($row);
|
||||
|
@ -145,6 +214,16 @@ if (!$attachment)
|
|||
$attachment['physical_filename'] = basename($attachment['physical_filename']);
|
||||
$display_cat = $extensions[$attachment['extension']]['display_cat'];
|
||||
|
||||
if (($display_cat == ATTACHMENT_CATEGORY_IMAGE || $display_cat == ATTACHMENT_CATEGORY_THUMB) && !$user->optionget('viewimg'))
|
||||
{
|
||||
$display_cat = ATTACHMENT_CATEGORY_NONE;
|
||||
}
|
||||
|
||||
if ($display_cat == ATTACHMENT_CATEGORY_FLASH && !$user->optionget('viewflash'))
|
||||
{
|
||||
$display_cat = ATTACHMENT_CATEGORY_NONE;
|
||||
}
|
||||
|
||||
if ($thumbnail)
|
||||
{
|
||||
$attachment['physical_filename'] = 'thumb_' . $attachment['physical_filename'];
|
||||
|
@ -158,25 +237,121 @@ else if (($display_cat == ATTACHMENT_CATEGORY_NONE || $display_cat == ATTACHMENT
|
|||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
// Determine the 'presenting'-method
|
||||
if ($download_mode == PHYSICAL_LINK)
|
||||
if ($display_cat == ATTACHMENT_CATEGORY_IMAGE && $mode === 'view' && (strpos($attachment['mimetype'], 'image') === 0) && strpos(strtolower($user->browser), 'msie') !== false)
|
||||
{
|
||||
// This presenting method should no longer be used
|
||||
if (!@is_dir($phpbb_root_path . $config['upload_path']))
|
||||
{
|
||||
trigger_error($user->lang['PHYSICAL_DOWNLOAD_NOT_POSSIBLE']);
|
||||
}
|
||||
|
||||
redirect($phpbb_root_path . $config['upload_path'] . '/' . $attachment['physical_filename']);
|
||||
exit;
|
||||
wrap_img_in_html(append_sid('./download.' . $phpEx, 'id=' . $attachment['attach_id']), $attachment['real_filename']);
|
||||
}
|
||||
else
|
||||
{
|
||||
send_file_to_browser($attachment, $config['upload_path'], $extensions[$attachment['extension']]['display_cat']);
|
||||
exit;
|
||||
// Determine the 'presenting'-method
|
||||
if ($download_mode == PHYSICAL_LINK)
|
||||
{
|
||||
// This presenting method should no longer be used
|
||||
if (!@is_dir($phpbb_root_path . $config['upload_path']))
|
||||
{
|
||||
trigger_error($user->lang['PHYSICAL_DOWNLOAD_NOT_POSSIBLE']);
|
||||
}
|
||||
|
||||
redirect($phpbb_root_path . $config['upload_path'] . '/' . $attachment['physical_filename']);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
send_file_to_browser($attachment, $config['upload_path'], $display_cat);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* A simplified function to deliver avatars
|
||||
* The argument needs to be checked before calling this function.
|
||||
*/
|
||||
function send_avatar_to_browser($file)
|
||||
{
|
||||
global $config, $phpbb_root_path;
|
||||
|
||||
$prefix = $config['avatar_salt'] . '_';
|
||||
$image_dir = $config['avatar_path'];
|
||||
|
||||
// worst-case default
|
||||
$browser = (!empty($_SERVER['HTTP_USER_AGENT'])) ? htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT']) : 'msie 6.0';
|
||||
|
||||
// Adjust image_dir path (no trailing slash)
|
||||
if (substr($image_dir, -1, 1) == '/' || substr($image_dir, -1, 1) == '\\')
|
||||
{
|
||||
$image_dir = substr($image_dir, 0, -1) . '/';
|
||||
}
|
||||
$image_dir = str_replace(array('../', '..\\', './', '.\\'), '', $image_dir);
|
||||
|
||||
if ($image_dir && ($image_dir[0] == '/' || $image_dir[0] == '\\'))
|
||||
{
|
||||
$image_dir = '';
|
||||
}
|
||||
$file_path = $phpbb_root_path . $image_dir . '/' . $prefix . $file;
|
||||
|
||||
if ((@file_exists($file_path) && @is_readable($file_path)) || headers_sent())
|
||||
{
|
||||
header('Pragma: public');
|
||||
|
||||
$image_data = @getimagesize($file_path);
|
||||
header('Content-Type: ' . image_type_to_mime_type($image_data[2]));
|
||||
|
||||
if (strpos(strtolower($browser), 'msie') !== false)
|
||||
{
|
||||
header('Content-Disposition: attachment; ' . header_filename($file));
|
||||
|
||||
if (strpos(strtolower($browser), 'msie 6.0') !== false)
|
||||
{
|
||||
header('Expires: -1');
|
||||
}
|
||||
else
|
||||
{
|
||||
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
header('Content-Disposition: inline; ' . header_filename($file));
|
||||
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));
|
||||
}
|
||||
|
||||
$size = @filesize($file_path);
|
||||
if ($size)
|
||||
{
|
||||
header("Content-Length: $size");
|
||||
}
|
||||
|
||||
readfile($file_path);
|
||||
flush();
|
||||
}
|
||||
else
|
||||
{
|
||||
header('HTTP/1.0 404 not found');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Wraps an url into a simple html page. Used to display attachments in IE.
|
||||
* this is a workaround for now; might be moved to template system later
|
||||
* direct any complaints to 1 Microsoft Way, Redmond
|
||||
*/
|
||||
function wrap_img_in_html($src, $title)
|
||||
{
|
||||
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Strict.dtd">';
|
||||
echo '<html>';
|
||||
echo '<head>';
|
||||
echo '<meta http-equiv="content-type" content="text/html; charset=UTF-8" />';
|
||||
echo '<title>' . $title . '</title>';
|
||||
echo '</head>';
|
||||
echo '<body>';
|
||||
echo '<div>';
|
||||
echo '<img src="' . $src . '" alt="' . $title . '" />';
|
||||
echo '</div>';
|
||||
echo '</body>';
|
||||
echo '</html>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Send file to browser
|
||||
*/
|
||||
|
@ -193,7 +368,7 @@ function send_file_to_browser($attachment, $upload_dir, $category)
|
|||
|
||||
// Correct the mime type - we force application/octetstream for all files, except images
|
||||
// Please do not change this, it is a security precaution
|
||||
if (strpos($attachment['mimetype'], 'image') !== 0)
|
||||
if ($category != ATTACHMENT_CATEGORY_IMAGE || strpos($attachment['mimetype'], 'image') !== 0)
|
||||
{
|
||||
$attachment['mimetype'] = (strpos(strtolower($user->browser), 'msie') !== false || strpos(strtolower($user->browser), 'opera') !== false) ? 'application/octetstream' : 'application/octet-stream';
|
||||
}
|
||||
|
@ -240,8 +415,20 @@ function send_file_to_browser($attachment, $upload_dir, $category)
|
|||
|
||||
// Send out the Headers. Do not set Content-Disposition to inline please, it is a security measure for users using the Internet Explorer.
|
||||
header('Content-Type: ' . $attachment['mimetype']);
|
||||
header('Content-Disposition: ' . ((strpos($attachment['mimetype'], 'image') === 0) ? 'inline' : 'attachment') . '; ' . header_filename($attachment['real_filename']));
|
||||
|
||||
|
||||
if (empty($user->browser) || (strpos(strtolower($user->browser), 'msie') !== false))
|
||||
{
|
||||
header('Content-Disposition: attachment; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
|
||||
if (empty($user->browser) || (strpos(strtolower($user->browser), 'msie 6.0') !== false))
|
||||
{
|
||||
header('expires: -1');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
header('Content-Disposition: ' . ((strpos($attachment['mimetype'], 'image') === 0) ? 'inline' : 'attachment') . '; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
|
||||
}
|
||||
|
||||
if ($size)
|
||||
{
|
||||
header("Content-Length: $size");
|
||||
|
@ -265,21 +452,22 @@ function send_file_to_browser($attachment, $upload_dir, $category)
|
|||
exit;
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Get a browser friendly UTF-8 encoded filename
|
||||
*/
|
||||
function header_filename($file)
|
||||
{
|
||||
// There be dragons here...
|
||||
// IE follows no RFC, follow the RFC for extended filename for the rest
|
||||
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)
|
||||
$user_agent = (!empty($_SERVER['HTTP_USER_AGENT'])) ? htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT']) : '';
|
||||
|
||||
// There be dragons here.
|
||||
// Not many follows the RFC...
|
||||
if (strpos($user_agent, 'MSIE') !== false || strpos($user_agent, 'Safari') !== false || strpos($user_agent, 'Konqueror') !== false)
|
||||
{
|
||||
return "filename=" . rawurlencode($file);
|
||||
}
|
||||
else
|
||||
{
|
||||
return "filename*=UTF-8''" . rawurlencode($file);
|
||||
}
|
||||
|
||||
// follow the RFC for extended filename for the rest
|
||||
return "filename*=UTF-8''" . rawurlencode($file);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
<Files *>
|
||||
Order Allow,Deny
|
||||
Deny from All
|
||||
</Files>
|
10
phpBB/files/index.htm
Normal file
|
@ -0,0 +1,10 @@
|
|||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF" text="#000000">
|
||||
|
||||
</body>
|
||||
</html>
|
4
phpBB/images/avatars/upload/.htaccess
Executable file
|
@ -0,0 +1,4 @@
|
|||
<Files *>
|
||||
Order Allow,Deny
|
||||
Deny from All
|
||||
</Files>
|
Before Width: | Height: | Size: 671 B |