From 77fab9717440eb6c87b61123dbf67d4a4183d5b4 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 28 Jan 2007 18:35:55 +0000 Subject: [PATCH 001/707] tagged and up the number... git-svn-id: file:///svn/phpbb/trunk@6950 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/schemas/schema_data.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index ce151c020b..d6703479a7 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -203,7 +203,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('topics_per_page', INSERT INTO phpbb_config (config_name, config_value) VALUES ('tpl_allow_php', '0'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_icons_path', 'images/upload_icons'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_path', 'files'); -INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.0.B5'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.0.B6-dev'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_expire_days', '90'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_gc', '14400'); From 49470a87c3a248507d1e098d638cbbaa7f31b8d2 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Mon, 29 Jan 2007 16:52:30 +0000 Subject: [PATCH 002/707] i hope this helps a bit. :o git-svn-id: file:///svn/phpbb/trunk@6951 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/db/mssql.php | 2 +- phpBB/install/index.php | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/db/mssql.php b/phpBB/includes/db/mssql.php index b28ea01acb..6429d4be41 100644 --- a/phpBB/includes/db/mssql.php +++ b/phpBB/includes/db/mssql.php @@ -35,7 +35,7 @@ class dbal_mssql extends dbal $this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->dbname = $database; - ini_set('mssql.charset', 'UTF-8'); + @ini_set('mssql.charset', 'UTF-8'); $this->db_connect_id = ($this->persistency) ? @mssql_pconnect($this->server, $this->user, $sqlpassword) : @mssql_connect($this->server, $this->user, $sqlpassword); diff --git a/phpBB/install/index.php b/phpBB/install/index.php index 0a8a45b771..eb49ac5c9b 100755 --- a/phpBB/install/index.php +++ b/phpBB/install/index.php @@ -102,7 +102,9 @@ else define('STRIP', (get_magic_quotes_gpc()) ? true : false); } +// Try to override some limits - maybe it helps some... @set_time_limit(0); +@ini_set('memory_limit', '128M'); // Include essential scripts require($phpbb_root_path . 'includes/functions.' . $phpEx); From 6ec09e6f74abce923cc409cd5473790f3221ffd8 Mon Sep 17 00:00:00 2001 From: David M Date: Wed, 31 Jan 2007 21:20:17 +0000 Subject: [PATCH 003/707] #7474 #7308 git-svn-id: file:///svn/phpbb/trunk@6952 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/utf/data/recode_basic.php | 34 ++++++++++++ phpBB/includes/utf/utf_tools.php | 71 +++++------------------- 2 files changed, 47 insertions(+), 58 deletions(-) diff --git a/phpBB/includes/utf/data/recode_basic.php b/phpBB/includes/utf/data/recode_basic.php index 8950b0550b..fe29e3ddb9 100644 --- a/phpBB/includes/utf/data/recode_basic.php +++ b/phpBB/includes/utf/data/recode_basic.php @@ -929,6 +929,40 @@ function cp1251($string) return strtr($string, $transform); } +function cp1252($string) +{ + static $transform = array( + "\xC2\x80" => "\xE2\x82\xAC", + "\xC2\x82" => "\xE2\x80\x9A", + "\xC2\x83" => "\xC6\x92", + "\xC2\x84" => "\xE2\x80\x9E", + "\xC2\x85" => "\xE2\x80\xA6", + "\xC2\x86" => "\xE2\x80\xA0", + "\xC2\x87" => "\xE2\x80\xA1", + "\xC2\x88" => "\xCB\x86", + "\xC2\x89" => "\xE2\x80\xB0", + "\xC2\x8A" => "\xC5\xA0", + "\xC2\x8B" => "\xE2\x80\xB9", + "\xC2\x8C" => "\xC5\x92", + "\xC2\x8E" => "\xC5\xBD", + "\xC2\x91" => "\xE2\x80\x98", + "\xC2\x92" => "\xE2\x80\x99", + "\xC2\x93" => "\xE2\x80\x9C", + "\xC2\x94" => "\xE2\x80\x9D", + "\xC2\x95" => "\xE2\x80\xA2", + "\xC2\x96" => "\xE2\x80\x93", + "\xC2\x97" => "\xE2\x80\x94", + "\xC2\x98" => "\xCB\x9C", + "\xC2\x99" => "\xE2\x84\xA2", + "\xC2\x9A" => "\xC5\xA1", + "\xC2\x9B" => "\xE2\x80\xBA", + "\xC2\x9C" => "\xC5\x93", + "\xC2\x9E" => "\xC5\xBE", + "\xC2\x9F" => "\xC5\xB8" + ); + return strtr(utf8_encode($string), $transform); +} + function cp1254($string) { static $tranform = array( diff --git a/phpBB/includes/utf/utf_tools.php b/phpBB/includes/utf/utf_tools.php index f9558c12b4..a0bee0ad74 100644 --- a/phpBB/includes/utf/utf_tools.php +++ b/phpBB/includes/utf/utf_tools.php @@ -6,6 +6,9 @@ * @copyright (c) 2006 phpBB Group * @license http://opensource.org/licenses/gpl-license.php GNU Public License * +* @todo make sure the replacements are called correctly +* already done: strtolower, strtoupper, ucfirst, str_split, strrpos, strlen (hopefully!), strpos, substr, htmlspecialchars +* remaining: strspn, chr, ord */ /** @@ -307,7 +310,7 @@ else { if (!is_int($offset)) { - trigger_error('utf8_strpos: Offset must be an integer', E_USER_ERROR); + trigger_error('utf8_strpos: Offset must be an integer', E_USER_ERROR); return false; } @@ -580,7 +583,7 @@ else $ly = (-$length) % 65535; // negative length requires ... capture everything - // except a group of -length characters + // except a group of -length characters // anchored at the tail-end of the string if ($lx) { @@ -700,15 +703,15 @@ function utf8_recode($string, $encoding) { $encoding = strtolower($encoding); - if ($encoding == 'utf-8' || !is_string($string) || !isset($string[0])) + if ($encoding == 'utf-8' || !is_string($string) || empty($string)) { return $string; } - // start with something simple + // we force iso-8859-1 to be cp1252 if ($encoding == 'iso-8859-1') { - return utf8_encode($string); + $encoding = 'cp1252'; } // First, try iconv() @@ -790,6 +793,7 @@ function utf8_recode($string, $encoding) break; case '1250': case '1251': + case '1252': case '1254': case '1255': case '1256': @@ -1103,6 +1107,9 @@ function utf8_clean_string($text) utf_normalizer::nfc($text); static $homographs = array( + "\x08" => '', // BACKSPACE => empty string + "\x09" => "\x20", // CHARACTER TABULATION => SPACE + "\x11" => "\x20", // Device Controls => SPACE "\xC2\xA1" => "\x69", // EXCLAMATION MARK, INVERTED => LATIN SMALL LETTER I "\xC2\xAD" => '', // HYPHEN, SOFT => empty string "\xC4\x90" => "\xC3\x90", // LATIN CAPITAL LETTER D WITH STROKE => LATIN CAPITAL LETTER ETH @@ -1172,6 +1179,7 @@ function utf8_clean_string($text) "\xE1\xB4\xA8" => "\xD0\xBF", // GREEK LETTER SMALL CAPITAL PI => CYRILLIC SMALL LETTER PE "\xE1\xB4\xA9" => "\xE1\xB4\x98", // GREEK LETTER SMALL CAPITAL RHO => LATIN LETTER SMALL CAPITAL P "\xE1\xB4\xAB" => "\xD0\xBB", // CYRILLIC LETTER SMALL CAPITAL EL => CYRILLIC SMALL LETTER EL + "\xE2\x80\x81" => "\x20", // EM QUAD => SPACE "\xE2\x8D\xB3" => "\xC9\xA9", // APL FUNCTIONAL SYMBOL IOTA => LATIN SMALL LETTER IOTA "\xE2\x8D\xB4" => "\xCF\x81", // APL FUNCTIONAL SYMBOL RHO => GREEK SMALL LETTER RHO "\xE2\x8D\xB5" => "\xCF\x89", // APL FUNCcTIONAL SYMBOL OMEGA => GREEK SMALL LETTER OMEGA @@ -1182,63 +1190,10 @@ function utf8_clean_string($text) "\xF0\x90\x8F\x93" => "\xF0\x90\x8E\x93", // OLD PERSIAN NUMBER TEN => UGARITIC LETTER AIN "\xF0\x90\x92\xA0" => "\xF0\x90\x92\x86", // OSMANYA DIGIT ZERO => OSMANYA LETTER DEEL "\xF0\x92\x80\xB8" => "\xF0\x90\x8E\x9A", // CUNEIFORM SIGN ASH => UGARITIC LETTER TO - - "\xC2\xA0" => "\x20", // NO-BREAK SPACE - "\xE1\x9A\x80" => "\x20", // OGHAM SPACE MARK - "\xE2\x80\x80" => "\x20", // EN QUAD - "\xE2\x80\x81" => "\x20", // EM QUAD - "\xE2\x80\x82" => "\x20", // EN SPACE - "\xE2\x80\x83" => "\x20", // EM SPACE - "\xE2\x80\x84" => "\x20", // THREE-PER-EM SPACE - "\xE2\x80\x85" => "\x20", // FOUR-PER-EM SPACE - "\xE2\x80\x86" => "\x20", // SIX-PER-EM SPACE - "\xE2\x80\x87" => "\x20", // FIGURE SPACE - "\xE2\x80\x88" => "\x20", // PUNCTUATION SPACE - "\xE2\x80\x89" => "\x20", // THIN SPACE - "\xE2\x80\x8A" => "\x20", // HAIR SPACE - "\xE2\x80\xAF" => "\x20", // NARROW NO-BREAK SPACE - "\xE2\x81\x9F" => "\x20", // MEDIUM MATHEMATICAL SPACE - "\xE3\x80\x80" => "\x20", // IDEOGRAPHIC SPACE - - "\xDB\x9D" => '', // ARABIC END OF AYAH - "\xDC\x8F" => '', // SYRIAC ABBREVIATION MARK - "\xE1\xA0\x86" => '', // MONGOLIAN TODO SOFT HYPHEN - "\xE1\xA0\x8E" => '', // MONGOLIAN VOWEL SEPARATOR - "\xE2\x80\x8B" => '', // ZERO WIDTH SPACE - "\xE2\x80\x8C" => '', // ZERO WIDTH NON-JOINER - "\xE2\x80\x8D" => '', // ZERO WIDTH JOINER - "\xE2\x80\xA8" => '', // LINE SEPARATOR - "\xE2\x80\xA9" => '', // PARAGRAPH SEPARATOR - "\xE2\x81\xA0" => '', // WORD JOINER - "\xE2\x81\xA1" => '', // FUNCTION APPLICATION - "\xE2\x81\xA2" => '', // INVISIBLE TIMES - "\xE2\x81\xA3" => '', // INVISIBLE SEPARATOR - "\xE2\x81\xAA" => '', // [CONTROL CHARACTERS] - "\xE2\x81\xAB" => '', // [CONTROL CHARACTERS] - "\xE2\x81\xAC" => '', // [CONTROL CHARACTERS] - "\xE2\x81\xAD" => '', // [CONTROL CHARACTERS] - "\xE2\x81\xAE" => '', // [CONTROL CHARACTERS] - "\xE2\x81\xAF" => '', // [CONTROL CHARACTERS] - "\xEF\xBB\xBF" => '', // ZERO WIDTH NO-BREAK SPACE - "\xEF\xBF\xB9" => '', // [CONTROL CHARACTERS] - "\xEF\xBF\xBA" => '', // [CONTROL CHARACTERS] - "\xEF\xBF\xBB" => '', // [CONTROL CHARACTERS] - "\xEF\xBF\xBC" => '', // [CONTROL CHARACTERS] - "\xF0\x9D\x85\xB3" => '', // [MUSICAL CONTROL CHARACTERS] - "\xF0\x9D\x85\xB4" => '', // [MUSICAL CONTROL CHARACTERS] - "\xF0\x9D\x85\xB5" => '', // [MUSICAL CONTROL CHARACTERS] - "\xF0\x9D\x85\xB6" => '', // [MUSICAL CONTROL CHARACTERS] - "\xF0\x9D\x85\xB7" => '', // [MUSICAL CONTROL CHARACTERS] - "\xF0\x9D\x85\xB8" => '', // [MUSICAL CONTROL CHARACTERS] - "\xF0\x9D\x85\xB9" => '', // [MUSICAL CONTROL CHARACTERS] - "\xF0\x9D\x85\xBA" => '', // [MUSICAL CONTROL CHARACTERS] ); $text = strtr($text, $homographs); - // Other control characters - $text = preg_replace('#(?:[\x00-\x1F\x7F]+|(?:\xC2[\x80-\x9F])+)#', '', $text); - return $text; } From 2db7def46a2172a8611fc232a53b4484f6fbe22d Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 1 Feb 2007 01:22:46 +0000 Subject: [PATCH 004/707] eh? meh. git-svn-id: file:///svn/phpbb/trunk@6953 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/utf/utf_tools.php | 57 +++++++++++++++++++++++++++++--- 1 file changed, 53 insertions(+), 4 deletions(-) diff --git a/phpBB/includes/utf/utf_tools.php b/phpBB/includes/utf/utf_tools.php index a0bee0ad74..a13246c65d 100644 --- a/phpBB/includes/utf/utf_tools.php +++ b/phpBB/includes/utf/utf_tools.php @@ -1107,9 +1107,6 @@ function utf8_clean_string($text) utf_normalizer::nfc($text); static $homographs = array( - "\x08" => '', // BACKSPACE => empty string - "\x09" => "\x20", // CHARACTER TABULATION => SPACE - "\x11" => "\x20", // Device Controls => SPACE "\xC2\xA1" => "\x69", // EXCLAMATION MARK, INVERTED => LATIN SMALL LETTER I "\xC2\xAD" => '', // HYPHEN, SOFT => empty string "\xC4\x90" => "\xC3\x90", // LATIN CAPITAL LETTER D WITH STROKE => LATIN CAPITAL LETTER ETH @@ -1179,7 +1176,6 @@ function utf8_clean_string($text) "\xE1\xB4\xA8" => "\xD0\xBF", // GREEK LETTER SMALL CAPITAL PI => CYRILLIC SMALL LETTER PE "\xE1\xB4\xA9" => "\xE1\xB4\x98", // GREEK LETTER SMALL CAPITAL RHO => LATIN LETTER SMALL CAPITAL P "\xE1\xB4\xAB" => "\xD0\xBB", // CYRILLIC LETTER SMALL CAPITAL EL => CYRILLIC SMALL LETTER EL - "\xE2\x80\x81" => "\x20", // EM QUAD => SPACE "\xE2\x8D\xB3" => "\xC9\xA9", // APL FUNCTIONAL SYMBOL IOTA => LATIN SMALL LETTER IOTA "\xE2\x8D\xB4" => "\xCF\x81", // APL FUNCTIONAL SYMBOL RHO => GREEK SMALL LETTER RHO "\xE2\x8D\xB5" => "\xCF\x89", // APL FUNCcTIONAL SYMBOL OMEGA => GREEK SMALL LETTER OMEGA @@ -1190,10 +1186,63 @@ function utf8_clean_string($text) "\xF0\x90\x8F\x93" => "\xF0\x90\x8E\x93", // OLD PERSIAN NUMBER TEN => UGARITIC LETTER AIN "\xF0\x90\x92\xA0" => "\xF0\x90\x92\x86", // OSMANYA DIGIT ZERO => OSMANYA LETTER DEEL "\xF0\x92\x80\xB8" => "\xF0\x90\x8E\x9A", // CUNEIFORM SIGN ASH => UGARITIC LETTER TO + + "\xC2\xA0" => "\x20", // NO-BREAK SPACE + "\xE1\x9A\x80" => "\x20", // OGHAM SPACE MARK + "\xE2\x80\x80" => "\x20", // EN QUAD + "\xE2\x80\x81" => "\x20", // EM QUAD + "\xE2\x80\x82" => "\x20", // EN SPACE + "\xE2\x80\x83" => "\x20", // EM SPACE + "\xE2\x80\x84" => "\x20", // THREE-PER-EM SPACE + "\xE2\x80\x85" => "\x20", // FOUR-PER-EM SPACE + "\xE2\x80\x86" => "\x20", // SIX-PER-EM SPACE + "\xE2\x80\x87" => "\x20", // FIGURE SPACE + "\xE2\x80\x88" => "\x20", // PUNCTUATION SPACE + "\xE2\x80\x89" => "\x20", // THIN SPACE + "\xE2\x80\x8A" => "\x20", // HAIR SPACE + "\xE2\x80\xAF" => "\x20", // NARROW NO-BREAK SPACE + "\xE2\x81\x9F" => "\x20", // MEDIUM MATHEMATICAL SPACE + "\xE3\x80\x80" => "\x20", // IDEOGRAPHIC SPACE + + "\xDB\x9D" => '', // ARABIC END OF AYAH + "\xDC\x8F" => '', // SYRIAC ABBREVIATION MARK + "\xE1\xA0\x86" => '', // MONGOLIAN TODO SOFT HYPHEN + "\xE1\xA0\x8E" => '', // MONGOLIAN VOWEL SEPARATOR + "\xE2\x80\x8B" => '', // ZERO WIDTH SPACE + "\xE2\x80\x8C" => '', // ZERO WIDTH NON-JOINER + "\xE2\x80\x8D" => '', // ZERO WIDTH JOINER + "\xE2\x80\xA8" => '', // LINE SEPARATOR + "\xE2\x80\xA9" => '', // PARAGRAPH SEPARATOR + "\xE2\x81\xA0" => '', // WORD JOINER + "\xE2\x81\xA1" => '', // FUNCTION APPLICATION + "\xE2\x81\xA2" => '', // INVISIBLE TIMES + "\xE2\x81\xA3" => '', // INVISIBLE SEPARATOR + "\xE2\x81\xAA" => '', // [CONTROL CHARACTERS] + "\xE2\x81\xAB" => '', // [CONTROL CHARACTERS] + "\xE2\x81\xAC" => '', // [CONTROL CHARACTERS] + "\xE2\x81\xAD" => '', // [CONTROL CHARACTERS] + "\xE2\x81\xAE" => '', // [CONTROL CHARACTERS] + "\xE2\x81\xAF" => '', // [CONTROL CHARACTERS] + "\xEF\xBB\xBF" => '', // ZERO WIDTH NO-BREAK SPACE + "\xEF\xBF\xB9" => '', // [CONTROL CHARACTERS] + "\xEF\xBF\xBA" => '', // [CONTROL CHARACTERS] + "\xEF\xBF\xBB" => '', // [CONTROL CHARACTERS] + "\xEF\xBF\xBC" => '', // [CONTROL CHARACTERS] + "\xF0\x9D\x85\xB3" => '', // [MUSICAL CONTROL CHARACTERS] + "\xF0\x9D\x85\xB4" => '', // [MUSICAL CONTROL CHARACTERS] + "\xF0\x9D\x85\xB5" => '', // [MUSICAL CONTROL CHARACTERS] + "\xF0\x9D\x85\xB6" => '', // [MUSICAL CONTROL CHARACTERS] + "\xF0\x9D\x85\xB7" => '', // [MUSICAL CONTROL CHARACTERS] + "\xF0\x9D\x85\xB8" => '', // [MUSICAL CONTROL CHARACTERS] + "\xF0\x9D\x85\xB9" => '', // [MUSICAL CONTROL CHARACTERS] + "\xF0\x9D\x85\xBA" => '', // [MUSICAL CONTROL CHARACTERS] ); $text = strtr($text, $homographs); + // Other control characters + $text = preg_replace('#(?:[\x00-\x1F\x7F]+|(?:\xC2[\x80-\x9F])+)#', '', $text); + return $text; } From 9a685e7a4839058a99ddcb5f9c79c126f5ce318b Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 1 Feb 2007 03:13:08 +0000 Subject: [PATCH 005/707] - should fix some Firebird issues ( can't believe that nobody found this until now ) git-svn-id: file:///svn/phpbb/trunk@6954 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 16 ++++++++-- phpBB/includes/acp/acp_icons.php | 12 ++++++- phpBB/includes/acp/acp_main.php | 12 ++++++- phpBB/includes/functions_admin.php | 12 ++++++- phpBB/includes/functions_convert.php | 12 ++++++- phpBB/includes/search/fulltext_native.php | 38 +++++++++++++++++++++-- phpBB/install/install_convert.php | 14 ++++++++- 7 files changed, 106 insertions(+), 10 deletions(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index c5fadbfd0a..87c40ef78f 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -167,6 +167,7 @@ class acp_database // Get the table structure if ($structure) { + $sql_data .= "\n"; switch ($db->sql_layer) { case 'mysqli': @@ -213,7 +214,18 @@ class acp_database else { // We might wanna empty out all that junk :D - $sql_data .= (($db->sql_layer == 'sqlite') ? 'DELETE FROM ' : 'TRUNCATE TABLE ') . $table_name . ";\n"; + switch ($db->sql_layer) + { + case 'sqlite': + case 'firebird': + $sql_data .= 'DELETE FROM '; + break; + + default: + $sql_data .= 'TRUNCATE TABLE '; + break; + } + $sql_data .= $table_name . ";\n"; } // Now write the data for the first time. :) @@ -757,7 +769,7 @@ class acp_database if ($retrieved_data) { - $sql_data = "\nGO\n"; + $sql_data = "GO\n"; if ($ident_set) { $sql_data .= "\nSET IDENTITY_INSERT $table_name OFF\nGO\n"; diff --git a/phpBB/includes/acp/acp_icons.php b/phpBB/includes/acp/acp_icons.php index 321df3ecb1..bcdd8c71d8 100644 --- a/phpBB/includes/acp/acp_icons.php +++ b/phpBB/includes/acp/acp_icons.php @@ -334,7 +334,17 @@ class acp_icons // The user has already selected a smilies_pak file if ($current == 'delete') { - $db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . $table); + switch ($db->sql_layer) + { + case 'sqlite': + case 'firebird': + $db->sql_query('DELETE FROM ' . $table); + break; + + default: + $db->sql_query('TRUNCATE TABLE ' . $table); + break; + } switch ($mode) { diff --git a/phpBB/includes/acp/acp_main.php b/phpBB/includes/acp/acp_main.php index fad9ad47b7..bf958ba319 100644 --- a/phpBB/includes/acp/acp_main.php +++ b/phpBB/includes/acp/acp_main.php @@ -147,7 +147,17 @@ class acp_main break; case 'db_track': - $db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . TOPICS_POSTED_TABLE); + switch ($db->sql_layer) + { + case 'sqlite': + case 'firebird': + $db->sql_query('DELETE FROM ' . TOPICS_POSTED_TABLE); + break; + + default: + $db->sql_query('TRUNCATE TABLE ' . TOPICS_POSTED_TABLE); + break; + } // This can get really nasty... therefore we only do the last six months $get_from_time = time() - (6 * 4 * 7 * 24 * 60 * 60); diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index 8e4865fa97..7208aee113 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -1983,7 +1983,17 @@ function cache_moderators() $cache->destroy('sql', MODERATOR_CACHE_TABLE); // Clear table - $db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . MODERATOR_CACHE_TABLE); + switch ($db->sql_layer) + { + case 'sqlite': + case 'firebird': + $db->sql_query('DELETE FROM ' . MODERATOR_CACHE_TABLE); + break; + + default: + $db->sql_query('TRUNCATE TABLE ' . MODERATOR_CACHE_TABLE); + break; + } // We add moderators who have forum moderator permissions without an explicit ACL_NEVER setting $hold_ary = $ug_id_ary = $sql_ary = array(); diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index 14dd4c370b..ab903ac2ad 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -1833,7 +1833,17 @@ function update_topics_posted() { global $db, $config; - $db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . TOPICS_POSTED_TABLE); + switch ($db->sql_layer) + { + case 'sqlite': + case 'firebird': + $db->sql_query('DELETE FROM ' . TOPICS_POSTED_TABLE); + break; + + default: + $db->sql_query('TRUNCATE TABLE ' . TOPICS_POSTED_TABLE); + break; + } // This can get really nasty... therefore we only do the last six months $get_from_time = time() - (6 * 4 * 7 * 24 * 60 * 60); diff --git a/phpBB/includes/search/fulltext_native.php b/phpBB/includes/search/fulltext_native.php index 11ca09805a..bd197feede 100755 --- a/phpBB/includes/search/fulltext_native.php +++ b/phpBB/includes/search/fulltext_native.php @@ -1266,9 +1266,41 @@ class fulltext_native extends search_backend { global $db; - $db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . SEARCH_WORDLIST_TABLE); - $db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . SEARCH_WORDMATCH_TABLE); - $db->sql_query((($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM ') . SEARCH_RESULTS_TABLE); + switch ($db->sql_layer) + { + case 'sqlite': + case 'firebird': + $db->sql_query('DELETE FROM ' . SEARCH_WORDLIST_TABLE); + break; + + default: + $db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDLIST_TABLE); + break; + } + + switch ($db->sql_layer) + { + case 'sqlite': + case 'firebird': + $db->sql_query('DELETE FROM ' . SEARCH_WORDMATCH_TABLE); + break; + + default: + $db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDMATCH_TABLE); + break; + } + + switch ($db->sql_layer) + { + case 'sqlite': + case 'firebird': + $db->sql_query('DELETE FROM ' . SEARCH_RESULTS_TABLE); + break; + + default: + $db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE); + break; + } } /** diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 256dd13b67..2b910f78a7 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -545,7 +545,19 @@ class install_convert extends module // Make some short variables accessible, for easier referencing $convert->convertor_tag = basename($convert->options['tag']); $convert->src_table_prefix = $convert->options['table_prefix']; - $convert->truncate_statement = ($db->sql_layer != 'sqlite') ? 'TRUNCATE TABLE ' : 'DELETE FROM '; + + + switch ($db->sql_layer) + { + case 'sqlite': + case 'firebird': + $convert->truncate_statement = 'DELETE FROM '; + break; + + default: + $convert->truncate_statement = 'TRUNCATE TABLE '); + break; + } $get_info = false; From c83a2fa1d3acf39efdb1441f4049e0825aa23a9b Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 1 Feb 2007 19:49:48 +0000 Subject: [PATCH 006/707] #7672 git-svn-id: file:///svn/phpbb/trunk@6955 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/install_convert.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 2b910f78a7..c8f50a6f21 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -555,7 +555,7 @@ class install_convert extends module break; default: - $convert->truncate_statement = 'TRUNCATE TABLE '); + $convert->truncate_statement = 'TRUNCATE TABLE '; break; } From 7c8f4431d346ed17ae9d8b8c13bd27987913f386 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 2 Feb 2007 15:36:43 +0000 Subject: [PATCH 007/707] only very tiny fixes. git-svn-id: file:///svn/phpbb/trunk@6956 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/auth.php | 8 +++++++- phpBB/includes/functions_convert.php | 2 +- phpBB/includes/functions_user.php | 5 +++++ phpBB/includes/ucp/ucp_register.php | 2 +- phpBB/install/database_update.php | 2 +- phpBB/install/install_install.php | 2 +- 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/phpBB/includes/acp/auth.php b/phpBB/includes/acp/auth.php index b32d435d7b..375a9c9ba3 100644 --- a/phpBB/includes/acp/auth.php +++ b/phpBB/includes/acp/auth.php @@ -264,7 +264,7 @@ class auth_admin extends auth { $hold_ary[$row['forum_id']]['groups'][] = $row['group_id']; } - $db->sql_freeresult($result); + $db->sql_freeresult($result); return $hold_ary; } @@ -620,6 +620,12 @@ class auth_admin extends auth foreach ($hold_ary as $forum_id => $auth_ary) { + // If there is no forum present the database holds auth information for a non-existent forum... continue then + if ($forum_id && !isset($forum_names[$forum_id])) + { + continue; + } + $template->assign_block_vars('role_mask', array( 'NAME' => ($forum_id == 0) ? $user->lang['GLOBAL_MASK'] : $forum_names[$forum_id], 'FORUM_ID' => $forum_id) diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index ab903ac2ad..e96cf5aaf1 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -1701,7 +1701,7 @@ function add_bots() 'W3C [Linkcheck]' => array('W3C-checklink/', ''), 'W3C [Validator]' => array('W3C_*Validator', ''), 'WiseNut [Bot]' => array('http://www.WISEnutbot.com', ''), - 'Yacy [Bot]' => array('yacybot', ''), + 'YaCy [Bot]' => array('yacybot', ''), 'Yahoo MMCrawler [Bot]' => array('Yahoo-MMCrawler/', ''), 'Yahoo Slurp [Bot]' => array('Yahoo! DE Slurp', ''), 'Yahoo [Bot]' => array('Yahoo! Slurp', ''), diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 933124ce28..3ef03ece67 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -2508,6 +2508,11 @@ function group_update_listings($group_id) if ($mod_permissions || $admin_permissions) { + if (!function_exists('update_foes')) + { + global $phpbb_root_path, $phpEx; + include($phpbb_root_path . 'includes/functions_admin.' . $phpEx); + } update_foes(); } } diff --git a/phpBB/includes/ucp/ucp_register.php b/phpBB/includes/ucp/ucp_register.php index 9fffdff5fd..4d42cbd344 100644 --- a/phpBB/includes/ucp/ucp_register.php +++ b/phpBB/includes/ucp/ucp_register.php @@ -372,7 +372,7 @@ class ucp_register $messenger->assign_vars(array( 'USERNAME' => htmlspecialchars_decode($data['username']), - 'U_USER_DETAILS' => "$server_url/memberlist.$phpEx?mode=viewprofile&u=$user_id", + 'U_USER_DETAILS' => "$server_url/memberlist.$phpEx?mode=viewprofile&u=$user_id", 'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&u=$user_id&k=$user_actkey") ); diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 666cb1aad3..7818e4ef90 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -1421,7 +1421,7 @@ function add_bots() 'W3C [Linkcheck]' => array('W3C-checklink/', ''), 'W3C [Validator]' => array('W3C_*Validator', ''), 'WiseNut [Bot]' => array('http://www.WISEnutbot.com', ''), - 'Yacy [Bot]' => array('yacybot', ''), + 'YaCy [Bot]' => array('yacybot', ''), 'Yahoo MMCrawler [Bot]' => array('Yahoo-MMCrawler/', ''), 'Yahoo Slurp [Bot]' => array('Yahoo! DE Slurp', ''), 'Yahoo [Bot]' => array('Yahoo! Slurp', ''), diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index ba80f40eb2..79fd828784 100755 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -2325,7 +2325,7 @@ class install_install extends module 'W3C [Linkcheck]' => array('W3C-checklink/', ''), 'W3C [Validator]' => array('W3C_*Validator', ''), 'WiseNut [Bot]' => array('http://www.WISEnutbot.com', ''), - 'Yacy [Bot]' => array('yacybot', ''), + 'YaCy [Bot]' => array('yacybot', ''), 'Yahoo MMCrawler [Bot]' => array('Yahoo-MMCrawler/', ''), 'Yahoo Slurp [Bot]' => array('Yahoo! DE Slurp', ''), 'Yahoo [Bot]' => array('Yahoo! Slurp', ''), From bad991ee82b34a04bd951b068c3bdc31bec28305 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 2 Feb 2007 21:38:19 +0000 Subject: [PATCH 008/707] suggestion by bart for those having a lot of forums. git-svn-id: file:///svn/phpbb/trunk@6957 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/mcp.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/mcp.php b/phpBB/mcp.php index bf2666102a..9a22289495 100644 --- a/phpBB/mcp.php +++ b/phpBB/mcp.php @@ -585,7 +585,7 @@ function mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql, } else { - $where_sql .= ' ' . $db->sql_in_set('p.forum_id', get_forum_list('m_report')); + $where_sql .= ' ' . $db->sql_in_set('p.forum_id', get_forum_list('!m_report'), true, true); } if ($mode == 'reports') From 6e4f7aee0546859c60bc35c1ed1ffadb5790ce36 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 2 Feb 2007 23:07:28 +0000 Subject: [PATCH 009/707] #7742 git-svn-id: file:///svn/phpbb/trunk@6958 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 7818e4ef90..bf8dfd7b9c 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -1026,12 +1026,13 @@ function sql_column_add($dbms, $table_name, $column_name, $column_data) case 'sqlite': if (version_compare(sqlite_libversion(), '3.0') == -1) { + global $db; $sql = "SELECT sql FROM sqlite_master WHERE type = 'table' AND name = '{$table_name}' ORDER BY type DESC, name;"; - $result = _sql($sql, $errored, $error_ary); + $result = $db->sql_query($sql); if (!$result) { From fa075585e382f85ec3e7ce8ec16135a7dfb99fb2 Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 3 Feb 2007 00:44:58 +0000 Subject: [PATCH 010/707] #7550 - this sucker required a cleverish regex, there should be no further problems. it is also optimized :D git-svn-id: file:///svn/phpbb/trunk@6959 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/db/oracle.php | 48 ++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/phpBB/includes/db/oracle.php b/phpBB/includes/db/oracle.php index 860c7a3614..9aa98ba9c8 100644 --- a/phpBB/includes/db/oracle.php +++ b/phpBB/includes/db/oracle.php @@ -113,41 +113,47 @@ class dbal_oracle extends dbal $array = array(); // We overcome Oracle's 4000 char limit by binding vars - if (preg_match('/^(INSERT INTO[^(]+)\\(([^()]+)\\) VALUES[^(]+\\(([^()]+)\\)$/', $query, $regs)) + if (preg_match('/^(INSERT INTO[^(]+)\\(([^()]+)\\) VALUES[^(]+\\((.*?)\\)$/', $query, $regs)) { if (strlen($regs[3]) > 4000) { $cols = explode(', ', $regs[2]); - $vals = explode(', ', $regs[3]); - foreach ($vals as $key => $value) + preg_match_all('/\'(?:[^\']++|\'\')*+\'|\\d+/', $regs[3], $vals, PREG_PATTERN_ORDER); + + $inserts = $vals[0]; + unset($vals); + + foreach ($inserts as $key => $value) { - if (strlen($value) > 4002) // check to see if this thing is greater than the max + 'x2 + if (!empty($value) && $value[0] === "'" && strlen($value) > 4002) // check to see if this thing is greater than the max + 'x2 { - $vals[$key] = ':' . strtoupper($cols[$key]); - $array[$vals[$key]] = substr($value, 1, -1); + $inserts[$key] = ':' . strtoupper($cols[$key]); + $array[$inserts[$key]] = str_replace("''", "'", substr($value, 1, -1)); } } - $query = $regs[1] . '(' . implode(', ', $cols) . ') VALUES (' . implode(', ', $vals) . ')'; + $query = $regs[1] . '(' . $regs[2] . ') VALUES (' . implode(', ', $inserts) . ')'; } } - else if (preg_match('/^(UPDATE.*?)SET (.*)(\\sWHERE.*)$/s', $query, $regs)) + else if (preg_match_all('/^(UPDATE [\\w_]++\\s+SET )(\\w+ = (?:\'(?:[^\']++|\'\')*+\'|\\d+)(?:, \\w+ = (?:\'(?:[^\']++|\'\')*+\'|\\d+))*+)\\s+(WHERE.*)$/s', $query, $data, PREG_SET_ORDER)) { - if (strlen($regs[2]) > 4000) + if (strlen($data[0][2]) > 4000) { - $args = explode(', ', $regs[2]); - $cols = array(); - foreach ($args as $value) - { - $temp_array = explode('=', $value); - $cols[$temp_array[0]] = $temp_array[1]; - } + $update = $data[0][1]; + $where = $data[0][3]; + preg_match_all('/(\\w++) = (\'(?:[^\']++|\'\')*+\'|\\d++)/', $data[0][2], $temp, PREG_SET_ORDER); + unset($data); - foreach ($cols as $col => $val) + $cols = array(); + foreach ($temp as $value) { - if (strlen($val) > 4003) // check to see if this thing is greater than the max + 'x2 + a space + if (!empty($value[2]) && $value[2][0] === "'" && strlen($value[2]) > 4002) // check to see if this thing is greater than the max + 'x2 + a space { - $cols[$col] = ' :' . strtoupper(rtrim($col)); - $array[ltrim($cols[$col])] = substr(trim($val), 2, -1); + $cols[$value[1]] = ':' . strtoupper($value[1]); + $array[$cols[$value[1]]] = str_replace("''", "'", substr($value[2], 1, -1)); + } + else + { + $cols[$value[1]] = $value[2]; } } @@ -156,7 +162,7 @@ class dbal_oracle extends dbal { $art[] = $col . '=' . $val; } - $query = $regs[1] . 'SET ' . implode(', ', $art) . $regs[3]; + $query = $update . implode(', ', $art) . ' ' . $where; } } From 22aa2b7c52c93c6869a8776e509da8df8d10480d Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 3 Feb 2007 02:17:46 +0000 Subject: [PATCH 011/707] #7742 (and some unfound bugs :D), thanks Mr_E git-svn-id: file:///svn/phpbb/trunk@6960 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index bf8dfd7b9c..b68eab59be 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -1052,13 +1052,13 @@ function sql_column_add($dbms, $table_name, $column_name, $column_data) preg_match('#\((.*)\)#s', $row['sql'], $matches); $new_table_cols = trim($matches[1]); - $old_table_cols = preg_split('/,(?=[\\sa-z])/im', $new_table_cols); + $old_table_cols = preg_split('/,(?![\s\w]+\))/m', $new_table_cols); $column_list = array(); foreach ($old_table_cols as $declaration) { $entities = preg_split('#\s+#', trim($declaration)); - if ($entities == 'PRIMARY') + if ($entities[0] == 'PRIMARY') { continue; } @@ -1171,13 +1171,13 @@ function sql_create_primary_key($dbms, $table_name, $column) preg_match('#\((.*)\)#s', $row['sql'], $matches); $new_table_cols = trim($matches[1]); - $old_table_cols = preg_split('/,(?=[\\sa-z])/im', $new_table_cols); + $old_table_cols = preg_split('/,(?![\s\w]+\))/m', $new_table_cols); $column_list = array(); foreach ($old_table_cols as $declaration) { $entities = preg_split('#\s+#', trim($declaration)); - if ($entities == 'PRIMARY') + if ($entities[0] == 'PRIMARY') { continue; } @@ -1262,7 +1262,7 @@ function sql_column_change($dbms, $table_name, $column_name, $column_data) preg_match('#\((.*)\)#s', $row['sql'], $matches); $new_table_cols = trim($matches[1]); - $old_table_cols = preg_split('/,(?=[\\sa-z])/im', $new_table_cols); + $old_table_cols = preg_split('/,(?![\s\w]+\))/m', $new_table_cols); $column_list = array(); foreach ($old_table_cols as $key => $declaration) From 9bf3bd0cbce2176663b5fd53af22c83286241f3e Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 3 Feb 2007 04:26:10 +0000 Subject: [PATCH 012/707] eh? meh. git-svn-id: file:///svn/phpbb/trunk@6961 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/db/oracle.php | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/phpBB/includes/db/oracle.php b/phpBB/includes/db/oracle.php index 9aa98ba9c8..4195bcfe52 100644 --- a/phpBB/includes/db/oracle.php +++ b/phpBB/includes/db/oracle.php @@ -113,7 +113,7 @@ class dbal_oracle extends dbal $array = array(); // We overcome Oracle's 4000 char limit by binding vars - if (preg_match('/^(INSERT INTO[^(]+)\\(([^()]+)\\) VALUES[^(]+\\((.*?)\\)$/', $query, $regs)) + if (preg_match('/^(INSERT INTO[^(]+)\\(([^()]+)\\) VALUES[^(]+\\((.*?)\\)$/s', $query, $regs)) { if (strlen($regs[3]) > 4000) { @@ -143,26 +143,21 @@ class dbal_oracle extends dbal preg_match_all('/(\\w++) = (\'(?:[^\']++|\'\')*+\'|\\d++)/', $data[0][2], $temp, PREG_SET_ORDER); unset($data); - $cols = array(); + $art = array(); foreach ($temp as $value) { - if (!empty($value[2]) && $value[2][0] === "'" && strlen($value[2]) > 4002) // check to see if this thing is greater than the max + 'x2 + a space + if (!empty($value[2]) && $value[2][0] === "'" && strlen($value[2]) > 4002) // check to see if this thing is greater than the max + 'x2 { - $cols[$value[1]] = ':' . strtoupper($value[1]); + $art[] = $value[1] . '=:' . strtoupper($value[1]); $array[$cols[$value[1]]] = str_replace("''", "'", substr($value[2], 1, -1)); } else { - $cols[$value[1]] = $value[2]; + $art[] = $value[1] . '=' . $value[2]; } } - $art = array(); - foreach ($cols as $col => $val) - { - $art[] = $col . '=' . $val; - } - $query = $update . implode(', ', $art) . ' ' . $where; + $query = $update . implode(', ', $art) . ' ' . $where; } } From 8061b5b61408208c1fbe9da5d11f0abde2644ce8 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sat, 3 Feb 2007 11:59:16 +0000 Subject: [PATCH 013/707] #7618 git-svn-id: file:///svn/phpbb/trunk@6962 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/convertors/convert_phpbb20.php | 2 +- phpBB/install/convertors/functions_phpbb20.php | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/phpBB/install/convertors/convert_phpbb20.php b/phpBB/install/convertors/convert_phpbb20.php index 14fde80478..fac58a7d7d 100644 --- a/phpBB/install/convertors/convert_phpbb20.php +++ b/phpBB/install/convertors/convert_phpbb20.php @@ -408,7 +408,7 @@ if (!$get_info) 'target' => DISALLOW_TABLE, 'query_first' => $convert->truncate_statement . DISALLOW_TABLE, - array('disallow_username', 'disallow.disallow_username', 'phpbb_set_encoding'), + array('disallow_username', 'disallow.disallow_username', 'phpbb_disallowed_username'), ), array( diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index 05daae473b..271c1cf1e3 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -1446,4 +1446,14 @@ function phpbb_inactive_reason() return INACTIVE_REGISTER; } +/** +* Adjust 2.0.x disallowed names to 3.0.x format +*/ +function phpbb_disallowed_username($username) +{ + // Replace * with % + $username = phpbb_set_default_encoding(str_replace('*', '%', $username)); + return utf8_htmlspecialchars($username); +} + ?> \ No newline at end of file From fb8dc345ddfcbcd6e6192c7361cb8f75a08940e6 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sat, 3 Feb 2007 12:30:59 +0000 Subject: [PATCH 014/707] because so many 2.0.x users expect this we set every 2.0.x admin as a founder and full admin rights in 3.0.x. After conversion the main admin may want to remove the founder status from the other admins. Before, this only was able to be done by the first admin who was not always the one converting the board. git-svn-id: file:///svn/phpbb/trunk@6963 89ea8834-ac86-4346-8a33-228a782c2dd0 --- .../install/convertors/functions_phpbb20.php | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index 271c1cf1e3..14d98deed2 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -475,22 +475,27 @@ function phpbb_convert_authentication($mode) $db->sql_query($convert->truncate_statement . ACL_USERS_TABLE); $db->sql_query($convert->truncate_statement . ACL_GROUPS_TABLE); - // Grab user id of first user with user_level of ADMIN + // What we will do is handling all 2.0.x admins as founder to replicate what is common in 2.0.x. + // After conversion the main admin need to make sure he is removing permissions and the founder status if wanted. + + // Grab user ids of users with user_level of ADMIN $sql = "SELECT user_id FROM {$convert->src_table_prefix}users WHERE user_level = 1 ORDER BY user_regdate ASC"; - $result = $db->sql_query_limit($sql, 1); - $row = $db->sql_fetchrow($result); + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + $user_id = (int) phpbb_user_id($row['user_id']); + + // Set founder admin... + $sql = 'UPDATE ' . USERS_TABLE . ' + SET user_type = ' . USER_FOUNDER . " + WHERE user_id = $user_id"; + $db->sql_query($sql); + } $db->sql_freeresult($result); - - $founder_id = phpbb_user_id($row['user_id']); - - // Set a founder admin ... we'll assume it's the first user with admin level access - $sql = 'UPDATE ' . USERS_TABLE . ' - SET user_type = ' . USER_FOUNDER . " - WHERE user_id = $founder_id"; - $db->sql_query($sql); } // Grab forum auth information @@ -666,7 +671,7 @@ function phpbb_convert_authentication($mode) } else if ($mode == 'first') { - // Go through all 2.0.x forums (we saved those ids for reference) + // Go through all 2.0.x forums foreach ($forum_access as $forum) { $new_forum_id = (int) $forum['forum_id']; @@ -817,8 +822,8 @@ function phpbb_convert_authentication($mode) mass_auth('group_role', 0, 'administrators', 'USER_FULL'); mass_auth('group_role', 0, 'global_moderators', 'USER_FULL'); - // By default all converted administrators are given standard access (the founder still have full access) - mass_auth('group_role', 0, 'administrators', 'ADMIN_STANDARD'); + // By default all converted administrators are given full access + mass_auth('group_role', 0, 'administrators', 'ADMIN_FULL'); // All registered users are assigned the standard user role mass_auth('group_role', 0, 'registered', 'USER_STANDARD'); From ba639e20eb85a5bbe1c84e2308a166eae10b2e0a Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sat, 3 Feb 2007 12:48:36 +0000 Subject: [PATCH 015/707] make sure the session table is empty after conversion and the current session being killed. This makes sure the user converting does not inherit wrong user settings becuase the 3.0.x users table being completely new. git-svn-id: file:///svn/phpbb/trunk@6964 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/install_convert.php | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index c8f50a6f21..9a5177c941 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -191,7 +191,28 @@ class install_convert extends module 'TITLE' => $lang['CONVERT_COMPLETE'], 'BODY' => $lang['CONVERT_COMPLETE_EXPLAIN'], )); - + + // If we reached this step (conversion completed) we want to purge the cache and log the user out. + // This is for making sure the session get not screwed due to the 3.0.x users table being completely new. + $cache->purge(); + + // Make sure this session gets killed + $user->session_kill(); + + switch ($db->sql_layer) + { + case 'sqlite': + case 'firebird': + $db->sql_query('DELETE FROM ' . SESSIONS_KEYS_TABLE); + $db->sql_query('DELETE FROM ' . SESSIONS_TABLE); + break; + + default: + $db->sql_query('TRUNCATE TABLE ' . SESSIONS_KEYS_TABLE); + $db->sql_query('TRUNCATE TABLE ' . SESSIONS_TABLE); + break; + } + break; } } From 36c78d35f0fa84b7b6c9f95667f83a7b8b801041 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 4 Feb 2007 19:10:57 +0000 Subject: [PATCH 016/707] - added a cp1255 to UTF-8 convertor git-svn-id: file:///svn/phpbb/trunk@6965 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/utf/data/recode_basic.php | 130 +++++++++++++++++++++++ 1 file changed, 130 insertions(+) diff --git a/phpBB/includes/utf/data/recode_basic.php b/phpBB/includes/utf/data/recode_basic.php index fe29e3ddb9..8e2adcb106 100644 --- a/phpBB/includes/utf/data/recode_basic.php +++ b/phpBB/includes/utf/data/recode_basic.php @@ -1371,4 +1371,134 @@ function cp1257($string) return strtr($string, $transform); } +function cp1255_to_utf8($string) +{ + static $transform = array( + "\xE2\x82\xAC" => "\x80", + "\xE2\x80\x9A" => "\x82", + "\xC6\x92" => "\x83", + "\xE2\x80\x9E" => "\x84", + "\xE2\x80\xA6" => "\x85", + "\xE2\x80\xA0" => "\x86", + "\xE2\x80\xA1" => "\x87", + "\xCB\x86" => "\x88", + "\xE2\x80\xB0" => "\x89", + "\xC5\xA0" => "\x8A", + "\xE2\x80\xB9" => "\x8B", + "\xC5\x92" => "\x8C", + "\xC5\xBD" => "\x8E", + "\xE2\x80\x98" => "\x91", + "\xE2\x80\x99" => "\x92", + "\xE2\x80\x9C" => "\x93", + "\xE2\x80\x9D" => "\x94", + "\xE2\x80\xA2" => "\x95", + "\xE2\x80\x93" => "\x96", + "\xE2\x80\x94" => "\x97", + "\xCB\x9C" => "\x98", + "\xE2\x84\xA2" => "\x99", + "\xC5\xA1" => "\x9A", + "\xE2\x80\xBA" => "\x9B", + "\xC5\x93" => "\x9C", + "\xC5\xBE" => "\x9E", + "\xC5\xB8" => "\x9F", + "\xC2\xA0" => "\xA0", + "\xC2\xA1" => "\xA1", + "\xC2\xA2" => "\xA2", + "\xC2\xA3" => "\xA3", + "\xC2\xA4" => "\xA4", + "\xC2\xA5" => "\xA5", + "\xC2\xA6" => "\xA6", + "\xC2\xA7" => "\xA7", + "\xC2\xA8" => "\xA8", + "\xC2\xA9" => "\xA9", + "\xC2\xAA" => "\xAA", + "\xC2\xAB" => "\xAB", + "\xC2\xAC" => "\xAC", + "\xC2\xAD" => "\xAD", + "\xC2\xAE" => "\xAE", + "\xC2\xAF" => "\xAF", + "\xC2\xB0" => "\xB0", + "\xC2\xB1" => "\xB1", + "\xC2\xB2" => "\xB2", + "\xC2\xB3" => "\xB3", + "\xC2\xB4" => "\xB4", + "\xC2\xB5" => "\xB5", + "\xC2\xB6" => "\xB6", + "\xC2\xB7" => "\xB7", + "\xC2\xB8" => "\xB8", + "\xC2\xB9" => "\xB9", + "\xC2\xBA" => "\xBA", + "\xC2\xBB" => "\xBB", + "\xC2\xBC" => "\xBC", + "\xC2\xBD" => "\xBD", + "\xC2\xBE" => "\xBE", + "\xC2\xBF" => "\xBF", + "\xC3\x80" => "\xC0", + "\xC3\x81" => "\xC1", + "\xC3\x82" => "\xC2", + "\xC3\x83" => "\xC3", + "\xC3\x84" => "\xC4", + "\xC3\x85" => "\xC5", + "\xC3\x86" => "\xC6", + "\xC3\x87" => "\xC7", + "\xC3\x88" => "\xC8", + "\xC3\x89" => "\xC9", + "\xC3\x8A" => "\xCA", + "\xC3\x8B" => "\xCB", + "\xC3\x8C" => "\xCC", + "\xC3\x8D" => "\xCD", + "\xC3\x8E" => "\xCE", + "\xC3\x8F" => "\xCF", + "\xC3\x90" => "\xD0", + "\xC3\x91" => "\xD1", + "\xC3\x92" => "\xD2", + "\xC3\x93" => "\xD3", + "\xC3\x94" => "\xD4", + "\xC3\x95" => "\xD5", + "\xC3\x96" => "\xD6", + "\xC3\x97" => "\xD7", + "\xC3\x98" => "\xD8", + "\xC3\x99" => "\xD9", + "\xC3\x9A" => "\xDA", + "\xC3\x9B" => "\xDB", + "\xC3\x9C" => "\xDC", + "\xC3\x9D" => "\xDD", + "\xC3\x9E" => "\xDE", + "\xC3\x9F" => "\xDF", + "\xC3\xA0" => "\xE0", + "\xC3\xA1" => "\xE1", + "\xC3\xA2" => "\xE2", + "\xC3\xA3" => "\xE3", + "\xC3\xA4" => "\xE4", + "\xC3\xA5" => "\xE5", + "\xC3\xA6" => "\xE6", + "\xC3\xA7" => "\xE7", + "\xC3\xA8" => "\xE8", + "\xC3\xA9" => "\xE9", + "\xC3\xAA" => "\xEA", + "\xC3\xAB" => "\xEB", + "\xC3\xAC" => "\xEC", + "\xC3\xAD" => "\xED", + "\xC3\xAE" => "\xEE", + "\xC3\xAF" => "\xEF", + "\xC3\xB0" => "\xF0", + "\xC3\xB1" => "\xF1", + "\xC3\xB2" => "\xF2", + "\xC3\xB3" => "\xF3", + "\xC3\xB4" => "\xF4", + "\xC3\xB5" => "\xF5", + "\xC3\xB6" => "\xF6", + "\xC3\xB7" => "\xF7", + "\xC3\xB8" => "\xF8", + "\xC3\xB9" => "\xF9", + "\xC3\xBA" => "\xFA", + "\xC3\xBB" => "\xFB", + "\xC3\xBC" => "\xFC", + "\xC3\xBD" => "\xFD", + "\xC3\xBE" => "\xFE", + "\xC3\xBF" => "\xFF" + ); + return strtr($string, $transform); +} + ?> \ No newline at end of file From 0ea74d63a7903512ec6d449b604b1cc9731f3ab0 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 4 Feb 2007 20:49:39 +0000 Subject: [PATCH 017/707] eh? meh. git-svn-id: file:///svn/phpbb/trunk@6966 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/utf/data/recode_basic.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/utf/data/recode_basic.php b/phpBB/includes/utf/data/recode_basic.php index 8e2adcb106..59b1d1be3b 100644 --- a/phpBB/includes/utf/data/recode_basic.php +++ b/phpBB/includes/utf/data/recode_basic.php @@ -1371,7 +1371,7 @@ function cp1257($string) return strtr($string, $transform); } -function cp1255_to_utf8($string) +function cp1252_to_utf8($string) { static $transform = array( "\xE2\x82\xAC" => "\x80", From 590893b83a216affed6efd0a34ecf1763573cc15 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Mon, 5 Feb 2007 16:16:37 +0000 Subject: [PATCH 018/707] #7796 Less is more. :P git-svn-id: file:///svn/phpbb/trunk@6967 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/groups.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/groups.php b/phpBB/language/en/groups.php index 2f9f6826e9..b670187270 100644 --- a/phpBB/language/en/groups.php +++ b/phpBB/language/en/groups.php @@ -42,7 +42,7 @@ $lang = array_merge($lang, array( 'GROUP_DESC' => 'Group description', 'GROUP_HIDDEN' => 'Hidden', 'GROUP_INFORMATION' => 'Usergroup information', - 'GROUP_IS_CLOSED' => 'This is a closed group, where new members cannot automatically join and only upon invitation of a group leader.', + 'GROUP_IS_CLOSED' => 'This is a closed group, new members only join upon invitation of a group leader.', 'GROUP_IS_FREE' => 'This is a freely open group, all new members are welcome.', 'GROUP_IS_HIDDEN' => 'This is a hidden group, only members of this group can view its membership.', 'GROUP_IS_OPEN' => 'This is an open group, members can apply to join.', From 1d12ca12b3cf828c0857a8678bda2a81d51fd58c Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Mon, 5 Feb 2007 16:22:38 +0000 Subject: [PATCH 019/707] Blargh @_@ git-svn-id: file:///svn/phpbb/trunk@6968 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/groups.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/groups.php b/phpBB/language/en/groups.php index b670187270..8e44d32a0d 100644 --- a/phpBB/language/en/groups.php +++ b/phpBB/language/en/groups.php @@ -42,7 +42,7 @@ $lang = array_merge($lang, array( 'GROUP_DESC' => 'Group description', 'GROUP_HIDDEN' => 'Hidden', 'GROUP_INFORMATION' => 'Usergroup information', - 'GROUP_IS_CLOSED' => 'This is a closed group, new members only join upon invitation of a group leader.', + 'GROUP_IS_CLOSED' => 'This is a closed group, new members can only join upon invitation of a group leader.', 'GROUP_IS_FREE' => 'This is a freely open group, all new members are welcome.', 'GROUP_IS_HIDDEN' => 'This is a hidden group, only members of this group can view its membership.', 'GROUP_IS_OPEN' => 'This is an open group, members can apply to join.', From 10f775cb1cc44b083373543a6c08214d1dd291f0 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Mon, 5 Feb 2007 16:24:15 +0000 Subject: [PATCH 020/707] only some minor fixes git-svn-id: file:///svn/phpbb/trunk@6969 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_language.php | 1 + phpBB/includes/functions.php | 5 ++- phpBB/includes/ucp/ucp_groups.php | 1 + phpBB/index.php | 6 ++- phpBB/install/install_convert.php | 10 ++++- phpBB/memberlist.php | 42 ++++++++++++------- .../template/ucp_groups_membership.html | 8 ++-- phpBB/viewtopic.php | 1 + 8 files changed, 48 insertions(+), 26 deletions(-) diff --git a/phpBB/includes/acp/acp_language.php b/phpBB/includes/acp/acp_language.php index b1f6554809..7dcd64265c 100644 --- a/phpBB/includes/acp/acp_language.php +++ b/phpBB/includes/acp/acp_language.php @@ -1010,6 +1010,7 @@ class acp_language * {FILENAME} [{LANG_NAME}] * * @package language +* @version $Id: $ * @copyright (c) ' . date('Y') . ' phpBB Group * @author {CHANGED} - {AUTHOR} * @license http://opensource.org/licenses/gpl-license.php GNU Public License diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index ff514e7ec5..4147e87556 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -1351,7 +1351,8 @@ function generate_pagination($base_url, $num_items, $per_page, $start_item, $add $tpl_prefix . 'PER_PAGE' => $per_page, $tpl_prefix . 'PREVIOUS_PAGE' => ($on_page == 1) ? '' : $base_url . '&start=' . (($on_page - 2) * $per_page), - $tpl_prefix . 'NEXT_PAGE' => ($on_page == $total_pages) ? '' : $base_url . '&start=' . ($on_page * $per_page)) + $tpl_prefix . 'NEXT_PAGE' => ($on_page == $total_pages) ? '' : $base_url . '&start=' . ($on_page * $per_page), + $tpl_prefix . 'TOTAL_PAGES' => $total_pages) ); return $page_string; @@ -1370,7 +1371,7 @@ function on_page($num_items, $per_page, $start) $on_page = floor($start / $per_page) + 1; $template->assign_vars(array( - 'ON_PAGE' => $on_page) + 'ON_PAGE' => $on_page) ); return sprintf($user->lang['PAGE_OF'], $on_page, max(ceil($num_items / $per_page), 1)); diff --git a/phpBB/includes/ucp/ucp_groups.php b/phpBB/includes/ucp/ucp_groups.php index 119f496d21..98d008da2c 100644 --- a/phpBB/includes/ucp/ucp_groups.php +++ b/phpBB/includes/ucp/ucp_groups.php @@ -297,6 +297,7 @@ class ucp_groups 'GROUP_DESC' => ($row['group_type'] <> GROUP_SPECIAL) ? generate_text_for_display($row['group_desc'], $row['group_desc_uid'], $row['group_desc_bitfield'], $row['group_desc_options']) : $user->lang['GROUP_IS_SPECIAL'], 'GROUP_SPECIAL' => ($row['group_type'] <> GROUP_SPECIAL) ? false : true, 'GROUP_STATUS' => $user->lang['GROUP_IS_' . $group_status], + 'GROUP_COLOUR' => $row['group_colour'], 'U_VIEW_GROUP' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id']), diff --git a/phpBB/index.php b/phpBB/index.php index 6d24ac8e5d..53b9d4754f 100644 --- a/phpBB/index.php +++ b/phpBB/index.php @@ -46,13 +46,15 @@ $result = $db->sql_query($sql); $legend = ''; while ($row = $db->sql_fetchrow($result)) { + $colour_text = ($row['group_colour']) ? ' style="color:#' . $row['group_colour'] . '"' : ''; + if ($row['group_name'] == 'BOTS') { - $legend .= (($legend != '') ? ', ' : '') . '' . $user->lang['G_BOTS'] . ''; + $legend .= (($legend != '') ? ', ' : '') . '' . $user->lang['G_BOTS'] . ''; } else { - $legend .= (($legend != '') ? ', ' : '') . '' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . ''; + $legend .= (($legend != '') ? ', ' : '') . '' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . ''; } } $db->sql_freeresult($result); diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 9a5177c941..0750bfa4f6 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -196,8 +196,14 @@ class install_convert extends module // This is for making sure the session get not screwed due to the 3.0.x users table being completely new. $cache->purge(); - // Make sure this session gets killed - $user->session_kill(); + require($phpbb_root_path . 'config.' . $phpEx); + require($phpbb_root_path . 'includes/constants.' . $phpEx); + require($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx); + require($phpbb_root_path . 'includes/functions_convert.' . $phpEx); + + $db = new $sql_db(); + $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false); + unset($dbpasswd); switch ($db->sql_layer) { diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 9b43d0be24..e759d9af4f 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1144,7 +1144,7 @@ switch ($mode) $s_char_options .= ''; // Build a relevant pagination_url - $params = array(); + $params = $sort_params = array(); foreach (array('_POST', '_GET') as $global_var) { foreach ($$global_var as $key => $var) @@ -1159,14 +1159,24 @@ switch ($mode) continue; } - $params[] = urlencode($key) . '=' . urlencode(htmlspecialchars($var)); + $param = urlencode($key) . '=' . urlencode(htmlspecialchars($var)); + $params[] = $param; + + if (!in_array($key, array('sk', 'sd'))) + { + $sort_params[] = $param; + } } } $u_hide_find_member = append_sid("{$phpbb_root_path}memberlist.$phpEx", implode('&', $params)); $params[] = "mode=$mode"; + $sort_params[] = "mode=$mode"; $pagination_url = append_sid("{$phpbb_root_path}memberlist.$phpEx", implode('&', $params)); + $sort_url = append_sid("{$phpbb_root_path}memberlist.$phpEx", implode('&', $sort_params)); + + unset($params, $sort_params); // Some search user specific data if ($mode == 'searchuser' && ($config['load_search'] || $auth->acl_get('a_'))) @@ -1319,20 +1329,20 @@ switch ($mode) 'U_FIND_MEMBER' => ($config['load_search'] || $auth->acl_get('a_')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser') : '', 'U_HIDE_FIND_MEMBER' => ($mode == 'searchuser') ? $u_hide_find_member : '', - 'U_SORT_USERNAME' => $pagination_url . '&sk=a&sd=' . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_FROM' => $pagination_url . '&sk=b&sd=' . (($sort_key == 'b' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_JOINED' => $pagination_url . '&sk=c&sd=' . (($sort_key == 'c' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_POSTS' => $pagination_url . '&sk=d&sd=' . (($sort_key == 'd' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_EMAIL' => $pagination_url . '&sk=e&sd=' . (($sort_key == 'e' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_WEBSITE' => $pagination_url . '&sk=f&sd=' . (($sort_key == 'f' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_LOCATION' => $pagination_url . '&sk=n&sd=' . (($sort_key == 'n' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_ICQ' => $pagination_url . '&sk=g&sd=' . (($sort_key == 'g' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_AIM' => $pagination_url . '&sk=h&sd=' . (($sort_key == 'h' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_MSN' => $pagination_url . '&sk=i&sd=' . (($sort_key == 'i' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_YIM' => $pagination_url . '&sk=j&sd=' . (($sort_key == 'j' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_ACTIVE' => $pagination_url . '&sk=k&sd=' . (($sort_key == 'k' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_RANK' => $pagination_url . '&sk=m&sd=' . (($sort_key == 'm' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_LIST_CHAR' => $pagination_url . '&sk=a&sd=' . (($sort_key == 'l' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_USERNAME' => $sort_url . '&sk=a&sd=' . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_FROM' => $sort_url . '&sk=b&sd=' . (($sort_key == 'b' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_JOINED' => $sort_url . '&sk=c&sd=' . (($sort_key == 'c' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_POSTS' => $sort_url . '&sk=d&sd=' . (($sort_key == 'd' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_EMAIL' => $sort_url . '&sk=e&sd=' . (($sort_key == 'e' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_WEBSITE' => $sort_url . '&sk=f&sd=' . (($sort_key == 'f' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_LOCATION' => $sort_url . '&sk=n&sd=' . (($sort_key == 'n' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_ICQ' => $sort_url . '&sk=g&sd=' . (($sort_key == 'g' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_AIM' => $sort_url . '&sk=h&sd=' . (($sort_key == 'h' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_MSN' => $sort_url . '&sk=i&sd=' . (($sort_key == 'i' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_YIM' => $sort_url . '&sk=j&sd=' . (($sort_key == 'j' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_ACTIVE' => $sort_url . '&sk=k&sd=' . (($sort_key == 'k' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_RANK' => $sort_url . '&sk=m&sd=' . (($sort_key == 'm' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_LIST_CHAR' => $sort_url . '&sk=a&sd=' . (($sort_key == 'l' && $sort_dir == 'a') ? 'd' : 'a'), 'S_SHOW_GROUP' => ($mode == 'group') ? true : false, 'S_MODE_SELECT' => $s_sort_key, diff --git a/phpBB/styles/subSilver/template/ucp_groups_membership.html b/phpBB/styles/subSilver/template/ucp_groups_membership.html index a0020f69d8..af1b2248a0 100644 --- a/phpBB/styles/subSilver/template/ucp_groups_membership.html +++ b/phpBB/styles/subSilver/template/ucp_groups_membership.html @@ -23,7 +23,7 @@ checked="checked" value="{leader.GROUP_ID}" /> - {leader.GROUP_NAME} + style="color:#{leader.GROUP_COLOUR}">{leader.GROUP_NAME}
{leader.GROUP_DESC}
{leader.GROUP_STATUS} @@ -41,7 +41,7 @@ checked="checked" value="{member.GROUP_ID}" /> - {member.GROUP_NAME} + style="color:#{member.GROUP_COLOUR}">{member.GROUP_NAME}
{member.GROUP_DESC}
{member.GROUP_STATUS} @@ -59,7 +59,7 @@   - {pending.GROUP_NAME} + style="color:#{pending.GROUP_COLOUR}">{pending.GROUP_NAME}
{pending.GROUP_DESC}
{pending.GROUP_STATUS} @@ -77,7 +77,7 @@   - {nonmember.GROUP_NAME} + style="color:#{nonmember.GROUP_COLOUR}">{nonmember.GROUP_NAME}
{nonmember.GROUP_DESC}
{nonmember.GROUP_STATUS} diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index 4ef45eddc0..15058f1295 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -111,6 +111,7 @@ if ($view && !$post_id) LEFT JOIN ' . TOPICS_TABLE . " t2 ON (t2.topic_id = $topic_id AND t.forum_id = t2.forum_id) WHERE t.topic_last_post_time $sql_condition t2.topic_last_post_time " . (($auth->acl_get('m_approve', $forum_id)) ? '' : 'AND t.topic_approved = 1') . " + AND t.topic_moved_id = 0 ORDER BY t.topic_last_post_time $sql_ordering"; $result = $db->sql_query_limit($sql, 1); $row = $db->sql_fetchrow($result); From 333b3515ed1e94dba1593b2eb3f9fb9d5a1f1440 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Tue, 6 Feb 2007 19:09:43 +0000 Subject: [PATCH 021/707] Some... fixes... laying around here. git-svn-id: file:///svn/phpbb/trunk@6970 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_users.html | 2 +- phpBB/download.php | 13 ++++---- phpBB/includes/acp/acp_bots.php | 13 ++++---- phpBB/includes/acp/acp_email.php | 29 ++++++++++++------ phpBB/includes/acp/acp_permissions.php | 31 ++++++++++--------- phpBB/includes/acp/acp_users.php | 41 ++------------------------ phpBB/includes/functions_admin.php | 27 ++++++++++++++++- phpBB/includes/functions_convert.php | 7 +++++ phpBB/includes/mcp/mcp_forum.php | 21 +++++++++---- phpBB/includes/mcp/mcp_reports.php | 6 +++- phpBB/install/database_update.php | 13 ++++---- 11 files changed, 115 insertions(+), 88 deletions(-) diff --git a/phpBB/adm/style/acp_users.html b/phpBB/adm/style/acp_users.html index d44832b9b7..adbabb7089 100644 --- a/phpBB/adm/style/acp_users.html +++ b/phpBB/adm/style/acp_users.html @@ -54,7 +54,7 @@ « {L_BACK} -

{L_USER_ADMIN}

+

{L_USER_ADMIN} :: {MANAGED_USERNAME}

{L_USER_ADMIN_EXPLAIN}

diff --git a/phpBB/download.php b/phpBB/download.php index 41d09287de..cec44eaf1c 100644 --- a/phpBB/download.php +++ b/phpBB/download.php @@ -265,21 +265,20 @@ 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) + // IE and Safari follows no RFC. + if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== 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); } /** diff --git a/phpBB/includes/acp/acp_bots.php b/phpBB/includes/acp/acp_bots.php index 72fb40216d..43984c5a5c 100644 --- a/phpBB/includes/acp/acp_bots.php +++ b/phpBB/includes/acp/acp_bots.php @@ -94,12 +94,15 @@ class acp_bots WHERE bot_id $sql_id"; $db->sql_query($sql); - $_tables = array(USERS_TABLE, USER_GROUP_TABLE); - foreach ($_tables as $table) + if (sizeof($user_id_ary)) { - $sql = "DELETE FROM $table - WHERE " . $db->sql_in_set('user_id', $user_id_ary); - $db->sql_query($sql); + $_tables = array(USERS_TABLE, USER_GROUP_TABLE); + foreach ($_tables as $table) + { + $sql = "DELETE FROM $table + WHERE " . $db->sql_in_set('user_id', $user_id_ary); + $db->sql_query($sql); + } } $db->sql_transaction('commit'); diff --git a/phpBB/includes/acp/acp_email.php b/phpBB/includes/acp/acp_email.php index 6b2904b245..57d03ff67e 100644 --- a/phpBB/includes/acp/acp_email.php +++ b/phpBB/includes/acp/acp_email.php @@ -55,6 +55,7 @@ class acp_email { if ($usernames) { + // If giving usernames the admin is able to email inactive users too... $sql = 'SELECT username, user_email, user_jabber, user_notify_type, user_lang FROM ' . USERS_TABLE . ' WHERE ' . $db->sql_in_set('username_clean', array_map('utf8_clean_string', explode("\n", $usernames))) . ' @@ -66,18 +67,20 @@ class acp_email if ($group_id) { $sql = 'SELECT u.user_email, u.username, u.username_clean, u.user_lang, u.user_jabber, u.user_notify_type - FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . " ug - WHERE ug.group_id = $group_id + FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . ' ug + WHERE ug.group_id = ' . $group_id . ' AND ug.user_pending = 0 AND u.user_id = ug.user_id AND u.user_allow_massemail = 1 - ORDER BY u.user_lang, u.user_notify_type"; + AND u.user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ') + ORDER BY u.user_lang, u.user_notify_type'; } else { $sql = 'SELECT username, username_clean, user_email, user_jabber, user_notify_type, user_lang FROM ' . USERS_TABLE . ' WHERE user_allow_massemail = 1 + AND user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ') ORDER BY user_lang, user_notify_type'; } } @@ -172,17 +175,25 @@ class acp_email $messenger->save_queue(); - if ($group_id) + if ($usernames) { - $group_name = get_group_name($group_id); + $usernames = explode("\n", $usernames); + add_log('admin', 'LOG_MASS_EMAIL', implode(', ', $usernames)); } else { - // Not great but the logging routine doesn't cope well with localising on the fly - $group_name = $user->lang['ALL_USERS']; - } + if ($group_id) + { + $group_name = get_group_name($group_id); + } + else + { + // Not great but the logging routine doesn't cope well with localising on the fly + $group_name = $user->lang['ALL_USERS']; + } - add_log('admin', 'LOG_MASS_EMAIL', $group_name); + add_log('admin', 'LOG_MASS_EMAIL', $group_name); + } if (!$errored) { diff --git a/phpBB/includes/acp/acp_permissions.php b/phpBB/includes/acp/acp_permissions.php index c7e9e31d66..b0a163fc60 100644 --- a/phpBB/includes/acp/acp_permissions.php +++ b/phpBB/includes/acp/acp_permissions.php @@ -355,7 +355,10 @@ class acp_permissions case 'usergroup': case 'usergroup_view': - if (sizeof($user_id) || sizeof($group_id)) + $all_users = (isset($_POST['all_users'])) ? true : false; + $all_groups = (isset($_POST['all_groups'])) ? true : false; + + if ((sizeof($user_id) && !$all_users) || (sizeof($group_id) && !$all_groups)) { if (sizeof($user_id)) { @@ -370,11 +373,8 @@ class acp_permissions continue 2; } - $items = $this->retrieve_defined_user_groups($permission_scope, $forum_id, $permission_type); - // Now we check the users... because the "all"-selection is different here (all defined users/groups) - $all_users = (isset($_POST['all_users'])) ? true : false; - $all_groups = (isset($_POST['all_groups'])) ? true : false; + $items = $this->retrieve_defined_user_groups($permission_scope, $forum_id, $permission_type); if ($all_users && sizeof($items['user_ids'])) { @@ -565,17 +565,20 @@ class acp_permissions break; } - $sql = "SELECT $sql_id - FROM $table - WHERE " . $db->sql_in_set($sql_id, $ids); - $result = $db->sql_query($sql); - - $ids = array(); - while ($row = $db->sql_fetchrow($result)) + if (sizeof($ids)) { - $ids[] = $row[$sql_id]; + $sql = "SELECT $sql_id + FROM $table + WHERE " . $db->sql_in_set($sql_id, $ids); + $result = $db->sql_query($sql); + + $ids = array(); + while ($row = $db->sql_fetchrow($result)) + { + $ids[] = $row[$sql_id]; + } + $db->sql_freeresult($result); } - $db->sql_freeresult($result); if (!sizeof($ids)) { diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index 24fd028bad..87744660a2 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -134,7 +134,8 @@ class acp_users 'U_BACK' => $this->u_action, 'U_MODE_SELECT' => append_sid("{$phpbb_admin_path}index.$phpEx", "i=$id&u=$user_id"), 'U_ACTION' => $this->u_action . '&u=' . $user_id, - 'S_FORM_OPTIONS' => $s_form_options) + 'S_FORM_OPTIONS' => $s_form_options, + 'MANAGED_USERNAME' => $user_row['username']) ); // Prevent normal users/admins change/view founders if they are not a founder by themselves @@ -398,44 +399,6 @@ class acp_users if (confirm_box(true)) { - $sql = 'SELECT topic_id, COUNT(post_id) AS total_posts - FROM ' . POSTS_TABLE . " - WHERE poster_id = $user_id - GROUP BY topic_id"; - $result = $db->sql_query($sql); - - $topic_id_ary = array(); - while ($row = $db->sql_fetchrow($result)) - { - $topic_id_ary[$row['topic_id']] = $row['total_posts']; - } - $db->sql_freeresult($result); - - if (sizeof($topic_id_ary)) - { - $sql = 'SELECT topic_id, topic_replies, topic_replies_real - FROM ' . TOPICS_TABLE . ' - WHERE ' . $db->sql_in_set('topic_id', array_keys($topic_id_ary)); - $result = $db->sql_query($sql); - - $del_topic_ary = array(); - while ($row = $db->sql_fetchrow($result)) - { - if (max($row['topic_replies'], $row['topic_replies_real']) + 1 == $topic_id_ary[$row['topic_id']]) - { - $del_topic_ary[] = $row['topic_id']; - } - } - $db->sql_freeresult($result); - - if (sizeof($del_topic_ary)) - { - $sql = 'DELETE FROM ' . TOPICS_TABLE . ' - WHERE ' . $db->sql_in_set('topic_id', $del_topic_ary); - $db->sql_query($sql); - } - } - // Delete posts, attachments, etc. delete_posts('poster_id', $user_id); diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index 7208aee113..e0b7b8a554 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -598,7 +598,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = } $approved_posts = 0; - $post_ids = $topic_ids = $forum_ids = $post_counts = array(); + $post_ids = $topic_ids = $forum_ids = $post_counts = $remove_topics = array(); $sql = 'SELECT post_id, poster_id, post_approved, post_postcount, topic_id, forum_id FROM ' . POSTS_TABLE . ' @@ -653,6 +653,25 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = } } + // Remove topics now having no posts? + if (sizeof($topic_ids)) + { + $sql = 'SELECT topic_id + FROM ' . POSTS_TABLE . ' + WHERE ' . $db->sql_in_set('topic_id', $topic_ids) . ' + GROUP BY topic_id'; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + $remove_topics[] = $row['topic_id']; + } + $db->sql_freeresult($result); + + // Actually, those not within remove_topics should be removed. ;) + $remove_topics = array_diff($topic_ids, $remove_topics); + } + // Remove the message from the search index $search_type = basename($config['search_type']); @@ -695,6 +714,12 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = set_config('num_posts', $config['num_posts'] - $approved_posts, true); } + // We actually remove topics now to not be inconsistent (the delete_topics function calls this function too) + if (sizeof($remove_topics)) + { + delete_topics('topic_id', $remove_topics); + } + return sizeof($post_ids); } diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index e96cf5aaf1..08ecd7c5e7 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -308,6 +308,13 @@ function decode_ip($int_ip) } $hexipbang = explode('.', chunk_split($int_ip, 2, '.')); + + // Any mod changing the way ips are stored? Then we are not able to convert. + if (sizeof($hexipbang) != 4) + { + return ''; + } + return hexdec($hexipbang[0]). '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]); } diff --git a/phpBB/includes/mcp/mcp_forum.php b/phpBB/includes/mcp/mcp_forum.php index cf41df646d..2f02a21a3f 100644 --- a/phpBB/includes/mcp/mcp_forum.php +++ b/phpBB/includes/mcp/mcp_forum.php @@ -117,6 +117,7 @@ function mcp_forum_view($id, $mode, $action, $forum_info) ORDER BY t.topic_type DESC, $sort_order_sql"; $result = $db->sql_query_limit($sql, $topics_per_page, $start); + $topic_list = $topic_tracking_info = array(); while ($row = $db->sql_fetchrow($result)) { $topic_rows[$row['topic_id']] = $row; @@ -124,15 +125,23 @@ function mcp_forum_view($id, $mode, $action, $forum_info) } $db->sql_freeresult($result); - $topic_tracking_info = array(); - // Get topic tracking info - if ($config['load_db_lastread']) + // If there is more than one page, but we have no topic list, then the start parameter is... erm... out of sync + if (!sizeof($topic_list) && $forum_topics && $start > 0) { - $topic_tracking_info = get_topic_tracking($forum_id, $topic_list, $topic_rows, array($forum_id => $forum_info['mark_time']), array()); + redirect($url . "&i=$id&action=$action&mode=$mode"); } - else + + // Get topic tracking info + if (sizeof($topic_list)) { - $topic_tracking_info = get_complete_topic_tracking($forum_id, $topic_list, array()); + if ($config['load_db_lastread']) + { + $topic_tracking_info = get_topic_tracking($forum_id, $topic_list, $topic_rows, array($forum_id => $forum_info['mark_time']), array()); + } + else + { + $topic_tracking_info = get_complete_topic_tracking($forum_id, $topic_list, array()); + } } foreach ($topic_rows as $topic_id => $row) diff --git a/phpBB/includes/mcp/mcp_reports.php b/phpBB/includes/mcp/mcp_reports.php index 78fa02cccc..a57dadb301 100755 --- a/phpBB/includes/mcp/mcp_reports.php +++ b/phpBB/includes/mcp/mcp_reports.php @@ -192,7 +192,7 @@ class mcp_reports $forum_info = array(); $forum_list_reports = get_forum_list('m_report', false, true); - if ($topic_id) + if ($topic_id && $forum_id) { $topic_info = get_topic_data(array($topic_id)); @@ -204,6 +204,10 @@ class mcp_reports $topic_info = $topic_info[$topic_id]; $forum_id = $topic_info['forum_id']; } + else if ($topic_id && !$forum_id) + { + $topic_id = 0; + } $forum_list = array(); diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index b68eab59be..0e4b0381f0 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -1354,12 +1354,15 @@ function add_bots() WHERE bot_id $sql_id"; $db->sql_query($sql); - $_tables = array(USERS_TABLE, USER_GROUP_TABLE); - foreach ($_tables as $table) + if (sizeof($user_id_ary)) { - $sql = "DELETE FROM $table - WHERE " . $db->sql_in_set('user_id', $user_id_ary); - $db->sql_query($sql); + $_tables = array(USERS_TABLE, USER_GROUP_TABLE); + foreach ($_tables as $table) + { + $sql = "DELETE FROM $table + WHERE " . $db->sql_in_set('user_id', $user_id_ary); + $db->sql_query($sql); + } } } else From 0fc55efc7d887a07061b52456bfb01e0bc298d9a Mon Sep 17 00:00:00 2001 From: David M Date: Wed, 7 Feb 2007 04:02:00 +0000 Subject: [PATCH 022/707] #7698 - small UTF-8 thing git-svn-id: file:///svn/phpbb/trunk@6971 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_convert.php | 2 +- phpBB/includes/utf/utf_tools.php | 6 +- .../install/convertors/functions_phpbb20.php | 4 +- phpBB/install/install_convert.php | 90 +++++++++++++++++++ 4 files changed, 96 insertions(+), 6 deletions(-) diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index 08ecd7c5e7..64cb63de3a 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -1205,7 +1205,7 @@ function update_folder_pm_count() $sql = 'SELECT user_id, folder_id, COUNT(msg_id) as num_messages FROM ' . PRIVMSGS_TO_TABLE . ' WHERE folder_id NOT IN (' . PRIVMSGS_NO_BOX . ', ' . PRIVMSGS_HOLD_BOX . ', ' . PRIVMSGS_INBOX . ', ' . PRIVMSGS_OUTBOX . ', ' . PRIVMSGS_SENTBOX . ') - GROUP BY folder_id'; + GROUP BY folder_id, user_id'; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) diff --git a/phpBB/includes/utf/utf_tools.php b/phpBB/includes/utf/utf_tools.php index a13246c65d..9ab31e60e4 100644 --- a/phpBB/includes/utf/utf_tools.php +++ b/phpBB/includes/utf/utf_tools.php @@ -719,7 +719,7 @@ function utf8_recode($string, $encoding) { $ret = @iconv($encoding, 'utf-8', $string); - if (isset($ret[0])) + if (!empty($ret)) { return $ret; } @@ -730,7 +730,7 @@ function utf8_recode($string, $encoding) { $ret = @mb_convert_encoding($string, 'utf-8', $encoding); - if (isset($ret[0])) + if (!empty($ret)) { return $ret; } @@ -741,7 +741,7 @@ function utf8_recode($string, $encoding) { $ret = @recode_string($encoding . '..utf-8', $string); - if (isset($ret[0])) + if (!empty($ret)) { return $ret; } diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index 14d98deed2..7610c4725d 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -158,9 +158,9 @@ function phpbb_insert_forums() } // Now insert the forums - $sql = 'SELECT f.*, fp.prune_days, fp.prune_freq FROM ' . $convert->src_table_prefix . 'forums f + $sql = 'SELECT f.forum_id, f.forum_name, f.cat_id, f.forum_desc, f.forum_status, f.prune_enable, f.prune_next, fp.prune_days, fp.prune_freq FROM ' . $convert->src_table_prefix . 'forums f LEFT JOIN ' . $convert->src_table_prefix . 'forum_prune fp ON f.forum_id = fp.forum_id - GROUP BY f.forum_id + GROUP BY f.forum_id, f.forum_name, f.cat_id, f.forum_desc, f.forum_status, f.prune_enable, f.prune_next, f.forum_order, fp.prune_days, fp.prune_freq ORDER BY f.cat_id, f.forum_order'; if ($convert->mysql_convert) diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 0750bfa4f6..fbca8913c1 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -909,6 +909,51 @@ class install_convert extends module $db->sql_query($query_first); } } + + if ($db->sql_layer === 'postgres') + { + $tables = array( + ATTACHMENTS_TABLE => 'attach_id', + ACL_OPTIONS_TABLE => 'auth_option_id', + ACL_ROLES_TABLE => 'role_id', + BANLIST_TABLE => 'ban_id', + BOTS_TABLE => 'bot_id', + DISALLOW_TABLE => 'disallow_id', + DRAFTS_TABLE => 'draft_id', + EXTENSIONS_TABLE => 'extension_id', + EXTENSION_GROUPS_TABLE => 'group_id', + FORUMS_TABLE => 'forum_id', + GROUPS_TABLE => 'group_id', + ICONS_TABLE => 'icons_id', + LANG_TABLE => 'lang_id', + LOG_TABLE => 'log_id', + MODULES_TABLE => 'module_id', + POSTS_TABLE => 'post_id', + PRIVMSGS_TABLE => 'msg_id', + PRIVMSGS_FOLDER_TABLE => 'folder_id', + PRIVMSGS_RULES_TABLE => 'rule_id', + PROFILE_FIELDS_TABLE => 'field_id', + RANKS_TABLE => 'rank_id', + REPORTS_TABLE => 'report_id', + REPORTS_REASONS_TABLE => 'reason_id', + SEARCH_WORDLIST_TABLE => 'word_id', + SITELIST_TABLE => 'site_id', + SMILIES_TABLE => 'smiley_id', + STYLES_TABLE => 'style_id', + STYLES_TEMPLATE_TABLE => 'template_id', + STYLES_TEMPLATE_DATA_TABLE => 'template_id', + STYLES_THEME_TABLE => 'theme_id', + STYLES_IMAGESET_TABLE => 'imageset_id', + TOPICS_TABLE => 'topic_id', + USERS_TABLE => 'user_id', + WARNINGS_TABLE => 'warning_id', + WORDS_TABLE => 'word_id' + ); + if (!empty($tables[$schema['target']])) + { + $db->sql_query("SELECT SETVAL('" . $schema['target'] . "_seq',(select case when max(" . $tables[$schema['target']] . ")>0 then max(" . $tables[$schema['target']] . ")+1 else 1 end from " . $schema['target'] . '));'); + } + } } // Process execute_always for this table @@ -1122,6 +1167,51 @@ class install_convert extends module $waiting_rows = array(); } + + if ($db->sql_layer === 'postgres') + { + $tables = array( + ATTACHMENTS_TABLE => 'attach_id', + ACL_OPTIONS_TABLE => 'auth_option_id', + ACL_ROLES_TABLE => 'role_id', + BANLIST_TABLE => 'ban_id', + BOTS_TABLE => 'bot_id', + DISALLOW_TABLE => 'disallow_id', + DRAFTS_TABLE => 'draft_id', + EXTENSIONS_TABLE => 'extension_id', + EXTENSION_GROUPS_TABLE => 'group_id', + FORUMS_TABLE => 'forum_id', + GROUPS_TABLE => 'group_id', + ICONS_TABLE => 'icons_id', + LANG_TABLE => 'lang_id', + LOG_TABLE => 'log_id', + MODULES_TABLE => 'module_id', + POSTS_TABLE => 'post_id', + PRIVMSGS_TABLE => 'msg_id', + PRIVMSGS_FOLDER_TABLE => 'folder_id', + PRIVMSGS_RULES_TABLE => 'rule_id', + PROFILE_FIELDS_TABLE => 'field_id', + RANKS_TABLE => 'rank_id', + REPORTS_TABLE => 'report_id', + REPORTS_REASONS_TABLE => 'reason_id', + SEARCH_WORDLIST_TABLE => 'word_id', + SITELIST_TABLE => 'site_id', + SMILIES_TABLE => 'smiley_id', + STYLES_TABLE => 'style_id', + STYLES_TEMPLATE_TABLE => 'template_id', + STYLES_TEMPLATE_DATA_TABLE => 'template_id', + STYLES_THEME_TABLE => 'theme_id', + STYLES_IMAGESET_TABLE => 'imageset_id', + TOPICS_TABLE => 'topic_id', + USERS_TABLE => 'user_id', + WARNINGS_TABLE => 'warning_id', + WORDS_TABLE => 'word_id' + ); + if (!empty($tables[$schema['target']])) + { + $db->sql_query("SELECT SETVAL('" . $schema['target'] . "_seq',(select case when max(" . $tables[$schema['target']] . ")>0 then max(" . $tables[$schema['target']] . ")+1 else 1 end from " . $schema['target'] . '));'); + } + } } // When we reach this point, either the current table has been processed or we're running out of time. From 458bd5b3cdec51fd64f4a4056cb419bbbc099907 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Wed, 7 Feb 2007 16:32:15 +0000 Subject: [PATCH 023/707] fix permission bug for added categories during conversion as well as lowering the maximum execution limit. git-svn-id: file:///svn/phpbb/trunk@6972 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_convert.php | 4 ++-- phpBB/install/convertors/functions_phpbb20.php | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index 64cb63de3a..01ca16d1e8 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -34,10 +34,10 @@ function still_on_time() // If zero, then set to something higher to not let the user catch the ten seconds barrier. if ($max_execution_time === 0) { - $max_execution_time = 250; + $max_execution_time = 65; } - $max_execution_time = min(max(10, ($max_execution_time - 15)), 250); + $max_execution_time = min(max(10, ($max_execution_time - 15)), 50); // For debugging purposes // $max_execution_time = 10; diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index 7610c4725d..eb660f84d0 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -900,6 +900,7 @@ function phpbb_convert_authentication($mode) if ($row['parent_id'] == 0) { mass_auth('group_role', $row['forum_id'], 'administrators', 'FORUM_FULL'); + mass_auth('group_role', $row['forum_id'], 'global_moderators', 'FORUM_FULL'); $parent_forums[] = $row; } else @@ -936,6 +937,20 @@ function phpbb_convert_authentication($mode) { mass_auth('group', $row['forum_id'], 'guests', 'f_list', ACL_YES); mass_auth('group', $row['forum_id'], 'registered', 'f_list', ACL_YES); + mass_auth('group', $row['forum_id'], 'registered_coppa', 'f_list', ACL_YES); + mass_auth('group', $row['forum_id'], 'bots', 'f_list', ACL_YES); + } + else + { + // Now make sure the user is able to read these forums + $hold_ary = $auth->acl_group_raw_data(get_group_id('registered'), 'f_list', $forum_ids); + + if (!empty($hold_ary)) + { + mass_auth('group', $row['forum_id'], 'registered', 'f_list', ACL_YES); + mass_auth('group', $row['forum_id'], 'registered_coppa', 'f_list', ACL_YES); + mass_auth('group', $row['forum_id'], 'bots', 'f_list', ACL_YES); + } } } } From 766e311ff35b486a2f01b1cb2cf4fef3df290825 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Wed, 7 Feb 2007 16:32:25 +0000 Subject: [PATCH 024/707] adjust text for getting image dimensions as well as not suppressing warnings for getimagesize() git-svn-id: file:///svn/phpbb/trunk@6973 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_icons.php | 4 ++-- phpBB/includes/functions.php | 4 ++-- phpBB/includes/functions_posting.php | 4 ++-- phpBB/includes/functions_upload.php | 2 +- phpBB/includes/functions_user.php | 2 +- phpBB/includes/message_parser.php | 2 +- phpBB/language/en/common.php | 3 ++- 7 files changed, 11 insertions(+), 10 deletions(-) diff --git a/phpBB/includes/acp/acp_icons.php b/phpBB/includes/acp/acp_icons.php index bcdd8c71d8..994b8ee7f6 100644 --- a/phpBB/includes/acp/acp_icons.php +++ b/phpBB/includes/acp/acp_icons.php @@ -65,7 +65,7 @@ class acp_icons { foreach ($img_ary as $img) { - $img_size = @getimagesize($phpbb_root_path . $img_path . '/' . $path . $img); + $img_size = getimagesize($phpbb_root_path . $img_path . '/' . $path . $img); if (!$img_size[0] || !$img_size[1] || strlen($img) > 255) { @@ -222,7 +222,7 @@ class acp_icons { if ($image_width[$image] == 0 || $image_height[$image] == 0) { - $img_size = @getimagesize($phpbb_root_path . $img_path . '/' . $image); + $img_size = getimagesize($phpbb_root_path . $img_path . '/' . $image); $image_width[$image] = $img_size[0]; $image_height[$image] = $img_size[1]; } diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 4147e87556..7e1a7ac679 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2619,7 +2619,7 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count, { if ($config['img_link_width'] || $config['img_link_height']) { - list($width, $height) = @getimagesize($filename); + list($width, $height) = getimagesize($filename); $display_cat = (!$width && !$height) ? ATTACHMENT_CATEGORY_IMAGE : (($width <= $config['img_link_width'] && $height <= $config['img_link_height']) ? ATTACHMENT_CATEGORY_IMAGE : ATTACHMENT_CATEGORY_NONE); } @@ -2704,7 +2704,7 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count, // Macromedia Flash Files case ATTACHMENT_CATEGORY_FLASH: - list($width, $height) = @getimagesize($filename); + list($width, $height) = getimagesize($filename); $l_downloaded_viewed = $user->lang['VIEWED']; diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index d68aa9f645..f138802e40 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -358,7 +358,7 @@ function upload_attachment($form_name, $forum_id, $local = false, $local_storage // If this error occurs a user tried to exploit an IE Bug by renaming extensions // Since the image category is displaying content inline we need to catch this. - trigger_error($user->lang['UNABLE_GET_IMAGE_SIZE']); + trigger_error($user->lang['ATTACHED_IMAGE_NOT_IMAGE']); } // Do we have to create a thumbnail? @@ -552,7 +552,7 @@ function create_thumbnail($source, $destination, $mimetype) return false; } - list($width, $height, $type, ) = @getimagesize($source); + list($width, $height, $type, ) = getimagesize($source); if (!$width || !$height) { diff --git a/phpBB/includes/functions_upload.php b/phpBB/includes/functions_upload.php index 489f3e942e..3f40a35bb2 100644 --- a/phpBB/includes/functions_upload.php +++ b/phpBB/includes/functions_upload.php @@ -313,7 +313,7 @@ class filespec { $this->width = $this->height = 0; - if (($this->image_info = @getimagesize($this->destination_file)) !== false) + if (($this->image_info = getimagesize($this->destination_file)) !== false) { $this->width = $this->image_info[0]; $this->height = $this->image_info[1]; diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 3ef03ece67..c78238b25f 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -1394,7 +1394,7 @@ function avatar_remote($data, &$error) } // Make sure getimagesize works... - if (($image_data = @getimagesize($data['remotelink'])) === false) + if (($image_data = getimagesize($data['remotelink'])) === false) { $error[] = $user->lang['UNABLE_GET_IMAGE_SIZE']; return false; diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php index e5e2240b6d..e2c0b37fe7 100644 --- a/phpBB/includes/message_parser.php +++ b/phpBB/includes/message_parser.php @@ -273,7 +273,7 @@ class bbcode_firstpass extends bbcode if ($config['max_' . $this->mode . '_img_height'] || $config['max_' . $this->mode . '_img_width']) { - $stats = @getimagesize($in); + $stats = getimagesize($in); if ($stats === false) { diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 953a5c9644..c765f6d112 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -65,6 +65,7 @@ $lang = array_merge($lang, array( 'ARE_WATCHING_TOPIC' => 'You have subscribed to receive updates on this topic.', 'ASCENDING' => 'Ascending', 'ATTACHMENTS' => 'Attachments', + 'ATTACHED_IMAGE_NOT_IMAGE' => 'You tried to attach an invalid image file.', 'AUTHOR' => 'Author', 'AUTH_NO_PROFILE_CREATED' => 'Creating a user profile failed', 'AVATAR_DISALLOWED_EXTENSION' => 'The extension %s is not allowed', @@ -559,7 +560,7 @@ $lang = array_merge($lang, array( 'TOTAL_USERS_ZERO' => 'Total members 0', 'TRACKED_PHP_ERROR' => 'Tracked PHP errors: %s', - 'UNABLE_GET_IMAGE_SIZE' => 'Accessing the image was impossible or file isn’t a valid image.', + 'UNABLE_GET_IMAGE_SIZE' => 'It was not possible to determine the dimensions of the image.', 'UNABLE_TO_DELIVER_FILE'=> 'Unable to deliver file.', 'UNKNOWN_BROWSER' => 'Unknown browser', 'UNMARK_ALL' => 'Unmark all', From 56a93bdfdddde618fe826c23c9151086f9540860 Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Thu, 8 Feb 2007 22:11:14 +0000 Subject: [PATCH 025/707] - Pruning doesn't lower user post counts anymore [Bug #7676] - Better resync explanations in ACP - relative link to board shouldn't result in an empty link [Bug #7762] - allow spaces to define multiple classes [Bug #7700] - forgot addslashes for password conversion [Bug #7530] - adjusted get_post_data call in mcp_post to retrieve read tracking info [Bug #7538] - fixed sorting in reports/queue by properly generating the pagination links [Bug #7666] - send UTF-8 charset header in database_update.php [Bug #7564] git-svn-id: file:///svn/phpbb/trunk@6974 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_main.html | 46 ++++++++++++++++++++++--- phpBB/adm/style/admin.css | 1 + phpBB/includes/acp/acp_main.php | 55 ++++++++++++++++++++++++------ phpBB/includes/acp/acp_styles.php | 5 ++- phpBB/includes/auth/auth_db.php | 4 +-- phpBB/includes/functions.php | 2 +- phpBB/includes/functions_admin.php | 12 +++---- phpBB/includes/mcp/mcp_queue.php | 2 +- phpBB/includes/mcp/mcp_reports.php | 2 +- phpBB/install/database_update.php | 2 ++ phpBB/language/en/acp/common.php | 42 ++++++++++++++--------- 11 files changed, 129 insertions(+), 44 deletions(-) diff --git a/phpBB/adm/style/acp_main.html b/phpBB/adm/style/acp_main.html index 41d00a3b41..85a1c4a225 100644 --- a/phpBB/adm/style/acp_main.html +++ b/phpBB/adm/style/acp_main.html @@ -89,13 +89,49 @@ -
-
- +
+ {L_STATISTIC_RESYNC_OPTIONS} - + +
+
+
+
+ + + +
+
+
+
+
+ +
+ +
+
+

{L_RESYNC_STATS_EXPLAIN}
+
+
+ +
+ +
+
+

{L_RESYNC_POSTCOUNTS_EXPLAIN}
+
+
+ +
+ +
+
+

{L_RESYNC_POST_MARKING_EXPLAIN}
+
+
+ +
- diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 3f655663a0..b081230ee2 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -637,6 +637,7 @@ dt label { } dd label { + font-size:100%; white-space: nowrap; margin: 0 10px 0 0; } diff --git a/phpBB/includes/acp/acp_main.php b/phpBB/includes/acp/acp_main.php index bf958ba319..14f6571177 100644 --- a/phpBB/includes/acp/acp_main.php +++ b/phpBB/includes/acp/acp_main.php @@ -51,6 +51,46 @@ class acp_main $action = request_var('action', ''); + if ($action && !confirm_box(true)) + { + switch ($action) + { + case 'online': + $confirm = true; + $confirm_lang = 'RESET_ONLINE_CONFIRM'; + break; + case 'stats': + $confirm = true; + $confirm_lang = 'RESYNC_STATS_CONFIRM'; + break; + case 'user': + $confirm = true; + $confirm_lang = 'RESYNC_POSTCOUNTS_CONFIRM'; + break; + case 'date': + $confirm = true; + $confirm_lang = 'RESET_DATE_CONFIRM'; + break; + case 'db_track': + $confirm = true; + $confirm_lang = 'RESYNC_POST_MARKING_CONFIRM'; + break; + + default: + $confirm = true; + $confirm_lang = 'CONFIRM_OPERATION'; + } + + if ($confirm) + { + confirm_box(false, $user->lang[$confirm_lang], build_hidden_fields(array( + 'i' => $id, + 'mode' => $mode, + 'action' => $action, + ))); + } + } + switch ($action) { case 'online': @@ -74,29 +114,23 @@ class acp_main FROM ' . POSTS_TABLE . ' WHERE post_approved = 1'; $result = $db->sql_query($sql); - $row = $db->sql_fetchrow($result); + set_config('num_posts', (int) $db->sql_fetchfield('stat'), true); $db->sql_freeresult($result); - set_config('num_posts', (int) $row['stat'], true); - $sql = 'SELECT COUNT(topic_id) AS stat FROM ' . TOPICS_TABLE . ' WHERE topic_approved = 1'; $result = $db->sql_query($sql); - $row = $db->sql_fetchrow($result); + set_config('num_topics', (int) $db->sql_fetchfield('stat'), true); $db->sql_freeresult($result); - set_config('num_topics', (int) $row['stat'], true); - $sql = 'SELECT COUNT(user_id) AS stat FROM ' . USERS_TABLE . ' WHERE user_type IN (' . USER_NORMAL . ',' . USER_FOUNDER . ')'; $result = $db->sql_query($sql); - $row = $db->sql_fetchrow($result); + set_config('num_users', (int) $db->sql_fetchfield('stat'), true); $db->sql_freeresult($result); - set_config('num_users', (int) $row['stat'], true); - $sql = 'SELECT COUNT(attach_id) as stat FROM ' . ATTACHMENTS_TABLE . ' WHERE is_orphan = 0'; @@ -296,7 +330,6 @@ class acp_main } $dbsize = get_database_size(); - $s_action_options = build_select(array('online' => 'RESET_ONLINE', 'date' => 'RESET_DATE', 'stats' => 'RESYNC_STATS', 'user' => 'RESYNC_POSTCOUNTS', 'db_track' => 'RESYNC_POST_MARKING')); $template->assign_vars(array( 'TOTAL_POSTS' => $total_posts, @@ -320,7 +353,7 @@ class acp_main 'U_ADMIN_LOG' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=logs&mode=admin'), 'U_INACTIVE_USERS' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=inactive&mode=list'), - 'S_ACTION_OPTIONS' => ($auth->acl_get('a_board')) ? $s_action_options : '', + 'S_ACTION_OPTIONS' => ($auth->acl_get('a_board')) ? true : false, ) ); diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php index ec69944f5e..2a7b993cd9 100644 --- a/phpBB/includes/acp/acp_styles.php +++ b/phpBB/includes/acp/acp_styles.php @@ -939,6 +939,9 @@ parse_css_file = {PARSE_CSS_FILE} $add_custom = isset($_POST['add_custom']) ? true : false; $matches = array(); + // no curly brackets inside a CSS block please + $css_data = str_replace(array('{', '}'), '', $css_data); + // Retrieve some information about the theme $sql = 'SELECT theme_storedb, theme_path, theme_name, theme_data FROM ' . STYLES_THEME_TABLE . " @@ -1266,7 +1269,7 @@ parse_css_file = {PARSE_CSS_FILE} else { // check whether the custom class name is valid - if (!preg_match('/^[a-z0-9\.,:#_\->*]+$/i', $custom_class)) + if (!preg_match('/^[a-z0-9\.,:#_\ \t->*]+$/i', $custom_class)) { trigger_error($user->lang['THEME_ERR_CLASS_CHARS'] . adm_back_link($this->u_action . "&action=edit&id=$theme_id&text_rows=$text_rows"), E_USER_WARNING); } diff --git a/phpBB/includes/auth/auth_db.php b/phpBB/includes/auth/auth_db.php index 3be896cfd6..baf193ecdb 100644 --- a/phpBB/includes/auth/auth_db.php +++ b/phpBB/includes/auth/auth_db.php @@ -98,9 +98,9 @@ function login_db(&$username, &$password) // If the password convert flag is set we need to convert it if ($row['user_pass_convert']) { - // in phpBB2 passwords were used exactly as they were sent + // in phpBB2 passwords were used exactly as they were sent, with addslashes applied $password_old_format = isset($_REQUEST['password']) ? (string) $_REQUEST['password'] : ''; - $password_old_format = (STRIP) ? stripslashes($password_old_format) : $password_old_format; + $password_old_format = (!STRIP) ? addslashes($password_old_format) : $password_old_format; $password_new_format = ''; set_var($password_new_format, $password_old_format, 'string'); diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 7e1a7ac679..8639df6ab0 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2398,7 +2398,7 @@ function make_clickable($text, $server_url = false) // relative urls for this board $magic_url_match[] = '#(^|[\n\t (])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#ie'; - $magic_url_replace[] = "'\$1' . preg_replace('/(&|\?)sid=[0-9a-f]{32}/', '\\\\1', '\$3') . ''"; + $magic_url_replace[] = "'\$1' . ((strlen('\$3')) ? preg_replace('/(&|\?)sid=[0-9a-f]{32}/', '\\\\1', '\$3') : '\$2/') . ''"; // matches a xxxx://aaaaa.bbb.cccc. ... $magic_url_match[] = '#(^|[\n\t (])(' . get_preg_expression('url_inline') . ')#ie'; diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index e0b7b8a554..f319873e2c 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -495,7 +495,7 @@ function move_posts($post_ids, $topic_id, $auto_sync = true) /** * Remove topic(s) */ -function delete_topics($where_type, $where_ids, $auto_sync = true) +function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_sync = true) { global $db, $config; @@ -517,7 +517,7 @@ function delete_topics($where_type, $where_ids, $auto_sync = true) } $return = array( - 'posts' => delete_posts($where_type, $where_ids, false, true) + 'posts' => delete_posts($where_type, $where_ids, false, true, $post_count_sync) ); $sql = 'SELECT topic_id, forum_id, topic_approved @@ -579,7 +579,7 @@ function delete_topics($where_type, $where_ids, $auto_sync = true) /** * Remove post(s) */ -function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = true) +function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = true, $post_count_sync = true) { global $db, $config, $phpbb_root_path, $phpEx; @@ -612,7 +612,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = $topic_ids[] = $row['topic_id']; $forum_ids[] = $row['forum_id']; - if ($row['post_postcount']) + if ($row['post_postcount'] && $post_count_sync) { $post_counts[$row['poster_id']] = (!empty($post_counts[$row['poster_id']])) ? $post_counts[$row['poster_id']] + 1 : 1; } @@ -642,7 +642,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = unset($table_ary); // Adjust users post counts - if (sizeof($post_counts)) + if (sizeof($post_counts) && $post_count_sync) { foreach ($post_counts as $poster_id => $substract) { @@ -1896,7 +1896,7 @@ function prune($forum_id, $prune_mode, $prune_date, $prune_flags = 0, $auto_sync $topic_list = array_unique($topic_list); } - return delete_topics('topic_id', $topic_list, $auto_sync); + return delete_topics('topic_id', $topic_list, $auto_sync, false); } /** diff --git a/phpBB/includes/mcp/mcp_queue.php b/phpBB/includes/mcp/mcp_queue.php index 6378295191..6733a73a7e 100644 --- a/phpBB/includes/mcp/mcp_queue.php +++ b/phpBB/includes/mcp/mcp_queue.php @@ -379,7 +379,7 @@ class mcp_queue 'S_MCP_ACTION' => build_url(array('t', 'f', 'sd', 'st', 'sk')), 'S_TOPICS' => ($mode == 'unapproved_posts') ? false : true, - 'PAGINATION' => generate_pagination($this->u_action . "&f=$forum_id", $total, $config['topics_per_page'], $start), + 'PAGINATION' => generate_pagination($this->u_action . "&f=$forum_id&st=$sort_days&sk=$sort_key&sd=$sort_dir", $total, $config['topics_per_page'], $start), 'PAGE_NUMBER' => on_page($total, $config['topics_per_page'], $start), 'TOPIC_ID' => $topic_id, 'TOTAL' => $total) diff --git a/phpBB/includes/mcp/mcp_reports.php b/phpBB/includes/mcp/mcp_reports.php index a57dadb301..a4cd1dd5d1 100755 --- a/phpBB/includes/mcp/mcp_reports.php +++ b/phpBB/includes/mcp/mcp_reports.php @@ -353,7 +353,7 @@ class mcp_reports 'S_FORUM_OPTIONS' => $forum_options, 'S_CLOSED' => ($mode == 'reports_closed') ? true : false, - 'PAGINATION' => generate_pagination($this->u_action . "&f=$forum_id&t=$topic_id", $total, $config['topics_per_page'], $start), + 'PAGINATION' => generate_pagination($this->u_action . "&f=$forum_id&t=$topic_id&st=$sort_days&sk=$sort_key&sd=$sort_dir", $total, $config['topics_per_page'], $start), 'PAGE_NUMBER' => on_page($total, $config['topics_per_page'], $start), 'TOPIC_ID' => $topic_id, 'TOTAL' => $total, diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 0e4b0381f0..2d19b46245 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -378,6 +378,8 @@ switch ($db->sql_layer) $error_ary = array(); $errored = false; +header('Content-type: text/html; charset=UTF-8'); + ?> diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php index a35e239a81..27e0e7afa3 100644 --- a/phpBB/language/en/acp/common.php +++ b/phpBB/language/en/acp/common.php @@ -317,13 +317,23 @@ $lang = array_merge($lang, array( 'POSTS_PER_DAY' => 'Posts per day', - 'RESET_DATE' => 'Reset date', - 'RESET_ONLINE' => 'Reset online', - 'RESYNC_POSTCOUNTS' => 'Resynchronise post counts', - 'RESYNC_POST_MARKING' => 'Resynchronise dotted topics', - 'RESYNC_STATS' => 'Resynchronise statistics', + 'RESET_DATE' => 'Reset board’s start date', + 'RESET_DATE_CONFIRM' => 'Are you sure you wish to reset the board’s start date?', + 'RESET_ONLINE' => 'Reset most users ever online', + 'RESET_ONLINE_CONFIRM' => 'Are you sure you wish to reset the most users ever online counter?', + 'RESYNC_POSTCOUNTS' => 'Resynchronise post counts', + 'RESYNC_POSTCOUNTS_EXPLAIN' => 'Only existing posts will be taken into consideration. Pruned posts will not be counted.', + 'RESYNC_POSTCOUNTS_CONFIRM' => 'Are you sure you wish to resynchronise post counts?', + 'RESYNC_POST_MARKING' => 'Resynchronise dotted topics', + 'RESYNC_POST_MARKING_CONFIRM' => 'Are you sure you wish to resynchronise dotted topics?', + 'RESYNC_POST_MARKING_EXPLAIN' => 'First unmarks all topics and then correctly marks topics that have seen any activity during the past six months', + 'RESYNC_STATS' => 'Resynchronise statistics', + 'RESYNC_STATS_CONFIRM' => 'Are you sure you wish to resynchronise statistics?', + 'RESYNC_STATS_EXPLAIN' => 'Recalculates the total number of posts, topics, users and files.', + 'RUN' => 'Run now', - 'STATISTIC' => 'Statistic', + 'STATISTIC' => 'Statistic', + 'STATISTIC_RESYNC_OPTIONS' => 'Resynchronise or reset statistics', 'TOPICS_PER_DAY' => 'Topics per day', @@ -362,20 +372,20 @@ $lang = array_merge($lang, array( // Log Entries $lang = array_merge($lang, array( - 'LOG_ACL_ADD_USER_GLOBAL_U_' => 'Added or edited users user permissions
» %s', - 'LOG_ACL_ADD_GROUP_GLOBAL_U_' => 'Added or edited groups user permissions
» %s', - 'LOG_ACL_ADD_USER_GLOBAL_M_' => 'Added or edited users global moderator permissions
» %s', - 'LOG_ACL_ADD_GROUP_GLOBAL_M_' => 'Added or edited groups global moderator permissions
» %s', - 'LOG_ACL_ADD_USER_GLOBAL_A_' => 'Added or edited users administrator permissions
» %s', - 'LOG_ACL_ADD_GROUP_GLOBAL_A_' => 'Added or edited groups administrator permissions
» %s', + 'LOG_ACL_ADD_USER_GLOBAL_U_' => 'Added or edited users’ user permissions
» %s', + 'LOG_ACL_ADD_GROUP_GLOBAL_U_' => 'Added or edited groups’ user permissions
» %s', + 'LOG_ACL_ADD_USER_GLOBAL_M_' => 'Added or edited users’ global moderator permissions
» %s', + 'LOG_ACL_ADD_GROUP_GLOBAL_M_' => 'Added or edited groups’ global moderator permissions
» %s', + 'LOG_ACL_ADD_USER_GLOBAL_A_' => 'Added or edited users’ administrator permissions
» %s', + 'LOG_ACL_ADD_GROUP_GLOBAL_A_' => 'Added or edited groups’ administrator permissions
» %s', 'LOG_ACL_ADD_ADMIN_GLOBAL_A_' => 'Added or edited Administrators
» %s', 'LOG_ACL_ADD_MOD_GLOBAL_M_' => 'Added or edited Global Moderators
» %s', - 'LOG_ACL_ADD_USER_LOCAL_F_' => 'Added or edited users forum access from %1$s
» %2$s', - 'LOG_ACL_ADD_USER_LOCAL_M_' => 'Added or edited users forum moderator access from %1$s
» %2$s', - 'LOG_ACL_ADD_GROUP_LOCAL_F_' => 'Added or edited groups forum access from %1$s
» %2$s', - 'LOG_ACL_ADD_GROUP_LOCAL_M_' => 'Added or edited groups forum moderator access from %1$s
» %2$s', + 'LOG_ACL_ADD_USER_LOCAL_F_' => 'Added or edited users’ forum access from %1$s
» %2$s', + 'LOG_ACL_ADD_USER_LOCAL_M_' => 'Added or edited users’ forum moderator access from %1$s
» %2$s', + 'LOG_ACL_ADD_GROUP_LOCAL_F_' => 'Added or edited groups’ forum access from %1$s
» %2$s', + 'LOG_ACL_ADD_GROUP_LOCAL_M_' => 'Added or edited groups’ forum moderator access from %1$s
» %2$s', 'LOG_ACL_ADD_MOD_LOCAL_M_' => 'Added or edited Moderators from %1$s
» %2$s', 'LOG_ACL_ADD_FORUM_LOCAL_F_' => 'Added or edited forum permissions from %1$s
» %2$s', From 7216ffe8be85a58eedb4f1e7fe2278a89110be9d Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 9 Feb 2007 14:24:34 +0000 Subject: [PATCH 026/707] some fixes to be committed. git-svn-id: file:///svn/phpbb/trunk@6975 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/install_update.html | 4 ++-- phpBB/includes/acp/acp_prune.php | 8 +++++++- phpBB/includes/functions_convert.php | 27 +++++++-------------------- phpBB/includes/functions_upload.php | 15 ++++++++++++++- phpBB/includes/session.php | 2 +- phpBB/install/install_convert.php | 7 +++++-- phpBB/language/en/acp/prune.php | 2 ++ phpBB/language/en/common.php | 1 + phpBB/memberlist.php | 20 +++++++++++++++----- 9 files changed, 54 insertions(+), 32 deletions(-) diff --git a/phpBB/adm/style/install_update.html b/phpBB/adm/style/install_update.html index a948ceb3fc..c393352edf 100644 --- a/phpBB/adm/style/install_update.html +++ b/phpBB/adm/style/install_update.html @@ -193,11 +193,11 @@
  {L_MERGE_NO_MERGE_NEW_OPTION}
-
[{L_SHOW_DIFF_FINAL}]
+
[{L_SHOW_DIFF_FINAL}] 
  {L_MERGE_NO_MERGE_MOD_OPTION}
-
[{L_SHOW_DIFF_FINAL}]
+
[{L_SHOW_DIFF_FINAL}] 
diff --git a/phpBB/includes/acp/acp_prune.php b/phpBB/includes/acp/acp_prune.php index 851671e36d..9e680e4714 100644 --- a/phpBB/includes/acp/acp_prune.php +++ b/phpBB/includes/acp/acp_prune.php @@ -219,6 +219,11 @@ class acp_prune $active = ($active) ? explode('-', $active) : array(); $joined = ($joined) ? explode('-', $joined) : array(); + if ((sizeof($active) && sizeof($active) != 3) || (sizeof($joined) && sizeof($joined) != 3)) + { + trigger_error($user->lang['WRONG_ACTIVE_JOINED_DATE'] . adm_back_link($this->u_action), E_USER_WARNING); + } + $count = request_var('count', 0); $key_match = array('lt' => '<', 'gt' => '>', 'eq' => '='); @@ -257,7 +262,8 @@ class acp_prune while ($row = $db->sql_fetchrow($result)) { - if (!in_array($row['user_id'], $bot_ids)) + // Do not prune bots and the user currently pruning. + if ($row['user_id'] != $user->data['user_id'] && !in_array($row['user_id'], $bot_ids)) { $user_ids[] = $row['user_id']; $usernames[$row['user_id']] = $row['username']; diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index 01ca16d1e8..a0b8740a7d 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -34,10 +34,10 @@ function still_on_time() // If zero, then set to something higher to not let the user catch the ten seconds barrier. if ($max_execution_time === 0) { - $max_execution_time = 65; + $max_execution_time = 250; } - $max_execution_time = min(max(10, ($max_execution_time - 15)), 50); + $max_execution_time = min(max(10, ($max_execution_time - 15)), 250); // For debugging purposes // $max_execution_time = 10; @@ -439,7 +439,8 @@ function import_avatar_gallery($gallery_name = '', $subdirs_as_galleries = false if (is_dir($src_path)) { - copy_dir($convert->convertor['avatar_gallery_path'], path($config['avatar_gallery_path']) . $gallery_name, !$subdirs_as_galleries, false, true, $relative_path); + // Do not die on failure... safe mode restrictions may be in effect. + copy_dir($convert->convertor['avatar_gallery_path'], path($config['avatar_gallery_path']) . $gallery_name, !$subdirs_as_galleries, false, false, $relative_path); // only doing 1 level deep. (ibf 1.x) // notes: ibf has 2 tiers: directly in the avatar directory for base gallery (handled in the above statement), plus subdirs(handled below). @@ -483,7 +484,9 @@ function import_avatar_gallery($gallery_name = '', $subdirs_as_galleries = false for ($i = 0; $i < sizeof($dirlist); ++$i) { $dir = $dirlist[$i]; - copy_dir(path($convert->convertor['avatar_gallery_path'], $relative_path) . $dir, path($config['avatar_gallery_path']) . $dir, true, false, true, $relative_path); + + // Do not die on failure... safe mode restrictions may be in effect. + copy_dir(path($convert->convertor['avatar_gallery_path'], $relative_path) . $dir, path($config['avatar_gallery_path']) . $dir, true, false, false, $relative_path); } } } @@ -1927,22 +1930,6 @@ function fix_empty_primary_groups() $db->sql_query('UPDATE ' . USERS_TABLE . ' SET group_id = ' . get_group_id('guests') . ' WHERE user_id = ' . ANONYMOUS); - $sql = 'SELECT ban_userid as user_id FROM ' . BANLIST_TABLE . ' WHERE ban_userid > 0'; - $result = $db->sql_query($sql); - - $user_ids = array(); - while ($row = $db->sql_fetchrow($result)) - { - $user_ids[] = $row['user_id']; - } - $db->sql_freeresult($result); - - if (sizeof($user_ids)) - { - $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_type = ' . USER_IGNORE . ' - WHERE user_id IN (' . implode(',', $user_ids) . ')'); - } - $sql = 'SELECT user_id FROM ' . USER_GROUP_TABLE . ' WHERE group_id = ' . get_group_id('administrators'); $result = $db->sql_query($sql); diff --git a/phpBB/includes/functions_upload.php b/phpBB/includes/functions_upload.php index 3f40a35bb2..1dd40f3f1c 100644 --- a/phpBB/includes/functions_upload.php +++ b/phpBB/includes/functions_upload.php @@ -561,7 +561,20 @@ class fileupload { $_FILES[$form_name]['name'] = basename($source_file); $_FILES[$form_name]['size'] = 0; - $_FILES[$form_name]['type'] = ''; + $mimetype = ''; + + if (function_exists('mime_content_type')) + { + $mimetype = mime_content_type($filename); + } + + // Some browsers choke on a mimetype of application/octet-stream + if (!$mimetype || $mimetype == 'application/octet-stream') + { + $mimetype = 'application/octetstream'; + } + + $_FILES[$form_name]['type'] = $mimetype; } else { diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 9121a965fd..71e83fbd11 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -1440,7 +1440,7 @@ class user extends session if (!$this->lang_path) { global $phpbb_root_path, $config; - + $this->lang_path = $phpbb_root_path . 'language/' . $config['default_lang'] . '/'; } diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index fbca8913c1..4636bbeecc 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -1845,8 +1845,11 @@ class install_convert extends module if ($convert->options['refresh']) { - $template->assign_var('S_REFRESH', true); - meta_refresh(5, $url); + // Because we should not rely on correct settings, we simply use the relative path here directly. + $template->assign_vars(array( + 'S_REFRESH' => true, + 'META' => '') + ); } } diff --git a/phpBB/language/en/acp/prune.php b/phpBB/language/en/acp/prune.php index 9c23848623..aec44a86c9 100644 --- a/phpBB/language/en/acp/prune.php +++ b/phpBB/language/en/acp/prune.php @@ -48,6 +48,8 @@ $lang = array_merge($lang, array( 'USER_DEACTIVATE_SUCCESS' => 'The selected users have been deactivated successfully.', 'USER_DELETE_SUCCESS' => 'The selected users have been deleted successfully.', + + 'WRONG_ACTIVE_JOINED_DATE' => 'The date entered is wrong, it is expected in YYYY-MM-DD format.', )); // Forum Pruning diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index c765f6d112..d4fd7bd4af 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -346,6 +346,7 @@ $lang = array_merge($lang, array( 'NO_ONLINE_USERS' => 'No registered users', 'NO_POSTS' => 'No posts', 'NO_POSTS_TIME_FRAME' => 'No posts exist inside this topic for the selected time frame.', + 'NO_SUBJECT' => 'No subject specified', 'NO_SUCH_SEARCH_MODULE' => 'The specified search backend doesn’t exist', 'NO_SUPPORTED_AUTH_METHODS' => 'No supported authentication methods', 'NO_TOPIC' => 'The requested topic does not exist.', diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index e759d9af4f..3d8c2bf767 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -74,14 +74,21 @@ switch ($mode) $user_ary = $auth->acl_get_list(false, array('a_', 'm_'), false); - $admin_id_ary = $mod_id_ary = $forum_id_ary = array(); + $admin_id_ary = $global_mod_id_ary = $mod_id_ary = $forum_id_ary = array(); foreach ($user_ary as $forum_id => $forum_ary) { foreach ($forum_ary as $auth_option => $id_ary) { - if (!$forum_id && $auth_option == 'a_') + if (!$forum_id) { - $admin_id_ary = array_merge($admin_id_ary, $id_ary); + if ($auth_option == 'a_') + { + $admin_id_ary = array_merge($admin_id_ary, $id_ary); + } + else + { + $global_mod_id_ary = array_merge($global_mod_id_ary, $id_ary); + } continue; } else @@ -100,6 +107,9 @@ switch ($mode) } $admin_id_ary = array_unique($admin_id_ary); + $global_mod_id_ary = array_unique($global_mod_id_ary); + + $mod_id_ary = array_merge($mod_id_ary, $global_mod_id_ary); $mod_id_ary = array_unique($mod_id_ary); // Admin group id... @@ -158,7 +168,7 @@ switch ($mode) // Remove from admin_id_ary, because the user may be a mod instead unset($admin_id_ary[array_search($row['user_id'], $admin_id_ary)]); - if (!in_array($row['user_id'], $mod_id_ary)) + if (!in_array($row['user_id'], $mod_id_ary) && !in_array($row['user_id'], $global_mod_id_ary)) { continue; } @@ -171,7 +181,7 @@ switch ($mode) $s_forum_select = ''; $undisclosed_forum = false; - if (isset($forum_id_ary[$row['user_id']])) + if (isset($forum_id_ary[$row['user_id']]) && !in_array($row['user_id'], $global_mod_id_ary)) { if ($which_row == 'mod' && sizeof(array_diff(array_keys($forums), $forum_id_ary[$row['user_id']]))) { From ffb28e03aefcd6ae88ef68448cd7b313c1c77722 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 9 Feb 2007 14:28:40 +0000 Subject: [PATCH 027/707] grrr git-svn-id: file:///svn/phpbb/trunk@6976 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_convert.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index a0b8740a7d..ee97dcb3ab 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -34,10 +34,10 @@ function still_on_time() // If zero, then set to something higher to not let the user catch the ten seconds barrier. if ($max_execution_time === 0) { - $max_execution_time = 250; + $max_execution_time = 65; } - $max_execution_time = min(max(10, ($max_execution_time - 15)), 250); + $max_execution_time = min(max(10, ($max_execution_time - 15)), 50); // For debugging purposes // $max_execution_time = 10; From 5e3afe73ecfbae4e9b2e134e8e617f843da5be90 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 9 Feb 2007 14:31:17 +0000 Subject: [PATCH 028/707] those were missing git-svn-id: file:///svn/phpbb/trunk@6977 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_messenger.php | 4 ++-- phpBB/includes/functions_posting.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/phpBB/includes/functions_messenger.php b/phpBB/includes/functions_messenger.php index 755a6d9116..d63a31ffb5 100644 --- a/phpBB/includes/functions_messenger.php +++ b/phpBB/includes/functions_messenger.php @@ -209,12 +209,12 @@ class messenger $match = array(); if (preg_match('#^(Subject:(.*?))$#m', $this->msg, $match)) { - $this->subject = (trim($match[2]) != '') ? trim($match[2]) : (($this->subject != '') ? $this->subject : $user->lang['NO_SUBJECT']); + $this->subject = (trim($match[2]) != '') ? trim($match[2]) : (($this->subject != '') ? $this->subject : $user->lang['NO_EMAIL_SUBJECT']); $drop_header .= '[\r\n]*?' . preg_quote($match[1], '#'); } else { - $this->subject = (($this->subject != '') ? $this->subject : $user->lang['NO_SUBJECT']); + $this->subject = (($this->subject != '') ? $this->subject : $user->lang['NO_EMAIL_SUBJECT']); } if ($drop_header) diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index f138802e40..eb03143aa1 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -311,7 +311,7 @@ function posting_gen_topic_types($forum_id, $cur_topic_type = POST_NORMAL) * Upload Attachment - filedata is generated here * Uses upload class */ -function upload_attachment($form_name, $forum_id, $local = false, $local_storage = '', $is_message = false) +function upload_attachment($form_name, $forum_id, $local = false, $local_storage = '', $is_message = false, $local_filedata = false) { global $auth, $user, $config, $db, $cache; global $phpbb_root_path, $phpEx; @@ -341,7 +341,7 @@ function upload_attachment($form_name, $forum_id, $local = false, $local_storage $extensions = $cache->obtain_attach_extensions((($is_message) ? false : (int) $forum_id)); $upload->set_allowed_extensions(array_keys($extensions['_allowed_'])); - $file = ($local) ? $upload->local_upload($local_storage) : $upload->form_upload($form_name); + $file = ($local) ? $upload->local_upload($local_storage, $local_filedata) : $upload->form_upload($form_name); if ($file->init_error) { From 3062c3643df8b10dae9abf1165f1a4b8d1bbafe2 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 9 Feb 2007 20:48:08 +0000 Subject: [PATCH 029/707] Missed: .pagination span.page-sep { display:none; } ... for the ACP ^o^; git-svn-id: file:///svn/phpbb/trunk@6978 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/admin.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index b081230ee2..8e6df68b41 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -820,6 +820,10 @@ input.autowidth { width: auto !important;} font-weight: normal; } +.pagination span.page-sep { + display:none; +} + .pagination span strong { padding: 0 2px; margin: 0 2px; From b8b1aa812b2713a7b261c94cde7e5af426086ce2 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Sat, 10 Feb 2007 01:55:53 +0000 Subject: [PATCH 030/707] #6872 Missed this one... suprised no one complained about warnings or whatever. git-svn-id: file:///svn/phpbb/trunk@6979 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/index.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/phpBB/adm/index.php b/phpBB/adm/index.php index e441b9ff7f..5cee30b4c2 100644 --- a/phpBB/adm/index.php +++ b/phpBB/adm/index.php @@ -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(); From f885fc36ae05d5fea595e9beb34beea0ad4bae18 Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 10 Feb 2007 06:41:38 +0000 Subject: [PATCH 031/707] - reimplemented autoincrement support in the convertor, made it more generic #7528 git-svn-id: file:///svn/phpbb/trunk@6980 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/convertors/convert_phpbb20.php | 13 +++ phpBB/install/install_convert.php | 106 +++++-------------- 2 files changed, 39 insertions(+), 80 deletions(-) diff --git a/phpBB/install/convertors/convert_phpbb20.php b/phpBB/install/convertors/convert_phpbb20.php index fac58a7d7d..6c55a42440 100644 --- a/phpBB/install/convertors/convert_phpbb20.php +++ b/phpBB/install/convertors/convert_phpbb20.php @@ -314,6 +314,7 @@ if (!$get_info) 'target' => (defined('MOD_ATTACHMENT')) ? ATTACHMENTS_TABLE : '', 'primary' => 'attachments.attach_id', 'query_first' => (defined('MOD_ATTACHMENT')) ? $convert->truncate_statement . ATTACHMENTS_TABLE : '', + 'autoincrement' => 'attach_id', array('attach_id', 'attachments.attach_id', ''), array('post_msg_id', 'attachments.post_id', ''), @@ -338,6 +339,7 @@ if (!$get_info) array( 'target' => (defined('MOD_ATTACHMENT')) ? ATTACHMENTS_TABLE : '', 'primary' => 'attachments.attach_id', + 'autoincrement' => 'attach_id', array('attach_id', 'attachments.attach_id', ''), array('post_msg_id', 'attachments.privmsgs_id', ''), @@ -362,6 +364,7 @@ if (!$get_info) array( 'target' => (defined('MOD_ATTACHMENT')) ? EXTENSIONS_TABLE : '', 'query_first' => (defined('MOD_ATTACHMENT')) ? $convert->truncate_statement . EXTENSIONS_TABLE : '', + 'autoincrement' => 'extension_id', array('extension_id', 'extensions.ext_id', ''), array('group_id', 'extensions.group_id', ''), @@ -371,6 +374,7 @@ if (!$get_info) array( 'target' => (defined('MOD_ATTACHMENT')) ? EXTENSION_GROUPS_TABLE : '', 'query_first' => (defined('MOD_ATTACHMENT')) ? $convert->truncate_statement . EXTENSION_GROUPS_TABLE : '', + 'autoincrement' => 'group_id', array('group_id', 'extension_groups.group_id', ''), array('group_name', 'extension_groups.group_name', array('function1' => 'phpbb_set_encoding', 'function2' => 'utf8_htmlspecialchars')), @@ -414,6 +418,7 @@ if (!$get_info) array( 'target' => RANKS_TABLE, 'query_first' => $convert->truncate_statement . RANKS_TABLE, + 'autoincrement' => 'rank_id', array('rank_id', 'ranks.rank_id', ''), array('rank_title', 'ranks.rank_title', array('function1' => 'phpbb_set_encoding', 'function2' => 'utf8_htmlspecialchars')), @@ -426,6 +431,7 @@ if (!$get_info) 'target' => TOPICS_TABLE, 'query_first' => $convert->truncate_statement . TOPICS_TABLE, 'primary' => 'topics.topic_id', + 'autoincrement' => 'topic_id', array('topic_id', 'topics.topic_id', ''), array('forum_id', 'topics.forum_id', ''), @@ -456,6 +462,7 @@ if (!$get_info) array( 'target' => TOPICS_TABLE, 'primary' => 'topics.topic_id', + 'autoincrement' => 'topic_id', array('topic_id', 'topics.topic_id', ''), array('forum_id', 'topics.forum_id', ''), @@ -496,6 +503,7 @@ if (!$get_info) array( 'target' => SMILIES_TABLE, 'query_first' => $convert->truncate_statement . SMILIES_TABLE, + 'autoincrement' => 'smiley_id', array('smiley_id', 'smilies.smilies_id', ''), array('code', 'smilies.code', 'phpbb_set_encoding'), @@ -543,6 +551,7 @@ if (!$get_info) 'target' => WORDS_TABLE, 'primary' => 'words.word_id', 'query_first' => $convert->truncate_statement . WORDS_TABLE, + 'autoincrement' => 'word_id', array('word_id', 'words.word_id', ''), array('word', 'words.word', 'phpbb_set_encoding'), @@ -552,6 +561,7 @@ if (!$get_info) array( 'target' => POSTS_TABLE, 'primary' => 'posts.post_id', + 'autoincrement' => 'post_id', 'query_first' => $convert->truncate_statement . POSTS_TABLE, 'execute_first' => ' $config["max_post_chars"] = 0; @@ -595,6 +605,7 @@ if (!$get_info) array( 'target' => PRIVMSGS_TABLE, 'primary' => 'privmsgs.privmsgs_id', + 'autoincrement' => 'privmsgs_id', 'query_first' => array( $convert->truncate_statement . PRIVMSGS_TABLE, $convert->truncate_statement . PRIVMSGS_RULES_TABLE, @@ -741,6 +752,7 @@ if (!$get_info) array( 'target' => GROUPS_TABLE, + 'autoincrement' => 'group_id', 'query_first' => $convert->truncate_statement . GROUPS_TABLE, array('group_id', 'groups.group_id', ''), @@ -781,6 +793,7 @@ if (!$get_info) array( 'target' => USERS_TABLE, 'primary' => 'users.user_id', + 'autoincrement' => 'user_id', 'query_first' => array( 'DELETE FROM ' . USERS_TABLE . ' WHERE user_id <> ' . ANONYMOUS, $convert->truncate_statement . BOTS_TABLE diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 4636bbeecc..0d1fec4a1c 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -910,48 +910,13 @@ class install_convert extends module } } - if ($db->sql_layer === 'postgres') + if (!empty($schema['autoincrement'])) { - $tables = array( - ATTACHMENTS_TABLE => 'attach_id', - ACL_OPTIONS_TABLE => 'auth_option_id', - ACL_ROLES_TABLE => 'role_id', - BANLIST_TABLE => 'ban_id', - BOTS_TABLE => 'bot_id', - DISALLOW_TABLE => 'disallow_id', - DRAFTS_TABLE => 'draft_id', - EXTENSIONS_TABLE => 'extension_id', - EXTENSION_GROUPS_TABLE => 'group_id', - FORUMS_TABLE => 'forum_id', - GROUPS_TABLE => 'group_id', - ICONS_TABLE => 'icons_id', - LANG_TABLE => 'lang_id', - LOG_TABLE => 'log_id', - MODULES_TABLE => 'module_id', - POSTS_TABLE => 'post_id', - PRIVMSGS_TABLE => 'msg_id', - PRIVMSGS_FOLDER_TABLE => 'folder_id', - PRIVMSGS_RULES_TABLE => 'rule_id', - PROFILE_FIELDS_TABLE => 'field_id', - RANKS_TABLE => 'rank_id', - REPORTS_TABLE => 'report_id', - REPORTS_REASONS_TABLE => 'reason_id', - SEARCH_WORDLIST_TABLE => 'word_id', - SITELIST_TABLE => 'site_id', - SMILIES_TABLE => 'smiley_id', - STYLES_TABLE => 'style_id', - STYLES_TEMPLATE_TABLE => 'template_id', - STYLES_TEMPLATE_DATA_TABLE => 'template_id', - STYLES_THEME_TABLE => 'theme_id', - STYLES_IMAGESET_TABLE => 'imageset_id', - TOPICS_TABLE => 'topic_id', - USERS_TABLE => 'user_id', - WARNINGS_TABLE => 'warning_id', - WORDS_TABLE => 'word_id' - ); - if (!empty($tables[$schema['target']])) + switch ($db->sql_layer) { - $db->sql_query("SELECT SETVAL('" . $schema['target'] . "_seq',(select case when max(" . $tables[$schema['target']] . ")>0 then max(" . $tables[$schema['target']] . ")+1 else 1 end from " . $schema['target'] . '));'); + case 'postgres': + $db->sql_query("SELECT SETVAL('" . $schema['target'] . "_seq',(select case when max(" . $schema['autoincrement'] . ")>0 then max(" . $schema['autoincrement'] . ")+1 else 1 end from " . $schema['target'] . '));'); + break; } } } @@ -1051,6 +1016,17 @@ class install_convert extends module $convert->row = $convert_row = array(); + if (!empty($schema['autoincrement'])) + { + switch ($db->sql_layer) + { + case 'mssql': + case 'mssql_odbc': + $db->sql_query('SET IDENTITY_INSERT ' . $schema['target'] . ' ON'); + break; + } + } + // Now handle the rows until time is over or no more rows to process... while (still_on_time()) { @@ -1168,48 +1144,18 @@ class install_convert extends module $waiting_rows = array(); } - if ($db->sql_layer === 'postgres') + if (!empty($schema['autoincrement'])) { - $tables = array( - ATTACHMENTS_TABLE => 'attach_id', - ACL_OPTIONS_TABLE => 'auth_option_id', - ACL_ROLES_TABLE => 'role_id', - BANLIST_TABLE => 'ban_id', - BOTS_TABLE => 'bot_id', - DISALLOW_TABLE => 'disallow_id', - DRAFTS_TABLE => 'draft_id', - EXTENSIONS_TABLE => 'extension_id', - EXTENSION_GROUPS_TABLE => 'group_id', - FORUMS_TABLE => 'forum_id', - GROUPS_TABLE => 'group_id', - ICONS_TABLE => 'icons_id', - LANG_TABLE => 'lang_id', - LOG_TABLE => 'log_id', - MODULES_TABLE => 'module_id', - POSTS_TABLE => 'post_id', - PRIVMSGS_TABLE => 'msg_id', - PRIVMSGS_FOLDER_TABLE => 'folder_id', - PRIVMSGS_RULES_TABLE => 'rule_id', - PROFILE_FIELDS_TABLE => 'field_id', - RANKS_TABLE => 'rank_id', - REPORTS_TABLE => 'report_id', - REPORTS_REASONS_TABLE => 'reason_id', - SEARCH_WORDLIST_TABLE => 'word_id', - SITELIST_TABLE => 'site_id', - SMILIES_TABLE => 'smiley_id', - STYLES_TABLE => 'style_id', - STYLES_TEMPLATE_TABLE => 'template_id', - STYLES_TEMPLATE_DATA_TABLE => 'template_id', - STYLES_THEME_TABLE => 'theme_id', - STYLES_IMAGESET_TABLE => 'imageset_id', - TOPICS_TABLE => 'topic_id', - USERS_TABLE => 'user_id', - WARNINGS_TABLE => 'warning_id', - WORDS_TABLE => 'word_id' - ); - if (!empty($tables[$schema['target']])) + switch ($db->sql_layer) { - $db->sql_query("SELECT SETVAL('" . $schema['target'] . "_seq',(select case when max(" . $tables[$schema['target']] . ")>0 then max(" . $tables[$schema['target']] . ")+1 else 1 end from " . $schema['target'] . '));'); + case 'mssql': + case 'mssql_odbc': + $db->sql_query('SET IDENTITY_INSERT ' . $schema['target'] . ' OFF'); + break; + + case 'postgres': + $db->sql_query("SELECT SETVAL('" . $schema['target'] . "_seq',(select case when max(" . $schema['autoincrement'] . ")>0 then max(" . $schema['autoincrement'] . ")+1 else 1 end from " . $schema['target'] . '));'); + break; } } } From 5227d3ce2109c4d9b62166b85b3b1c29967d30ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Mon, 12 Feb 2007 15:19:28 +0000 Subject: [PATCH 032/707] Some changes and additions, still not perfect in IE. Test it till your eyes and ears start bleeding! git-svn-id: file:///svn/phpbb/trunk@6982 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/subSilver/template/editor.js | 52 ++++++++++++++++------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/phpBB/styles/subSilver/template/editor.js b/phpBB/styles/subSilver/template/editor.js index 2ef2853ed3..51634a60cd 100644 --- a/phpBB/styles/subSilver/template/editor.js +++ b/phpBB/styles/subSilver/template/editor.js @@ -32,11 +32,21 @@ function helpline(help) */ function initInsertions() { - var textarea = document.forms[form_name].elements[text_name]; - textarea.focus(); - if (is_ie && typeof(baseHeight) != 'number') + var doc; + if(document.forms[form_name]) { - baseHeight = document.selection.createRange().duplicate().boundingHeight; + doc = document; + } + else + { + doc = opener.document; + } + var textarea = doc.forms[form_name].elements[text_name]; + if (is_ie && typeof(baseHeight) != 'number') + { + textarea.focus(); + baseHeight = doc.selection.createRange().duplicate().boundingHeight; + document.body.focus(); } } @@ -48,7 +58,9 @@ 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 +74,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 +98,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); @@ -102,13 +116,14 @@ function bbfontstyle(bbopen, bbclose) // IE 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; } @@ -122,7 +137,8 @@ function insert_text(text, spaces, popup) if (!popup) { textarea = document.forms[form_name].elements[text_name]; - } else + } + else { textarea = opener.document.forms[form_name].elements[text_name]; } @@ -152,12 +168,15 @@ function insert_text(text, spaces, popup) 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(); + } + } /** @@ -352,6 +371,7 @@ function getCaretPosition(txtarea) // dirty and slow IE way else if(document.selection) { + // get current selection var range = document.selection.createRange(); @@ -365,12 +385,12 @@ function getCaretPosition(txtarea) { 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; From 4d1a25e8a16172e358ce5f4460c3e52dad034d0c Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 12 Feb 2007 23:19:41 +0000 Subject: [PATCH 033/707] #8058 git-svn-id: file:///svn/phpbb/trunk@6983 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/utf/utf_normalizer.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/phpBB/includes/utf/utf_normalizer.php b/phpBB/includes/utf/utf_normalizer.php index 542c1aeeb8..c1a0fc9a7b 100644 --- a/phpBB/includes/utf/utf_normalizer.php +++ b/phpBB/includes/utf/utf_normalizer.php @@ -230,8 +230,8 @@ class utf_normalizer // Load some commonly-used tables if (!isset($utf_jamo_index, $utf_jamo_type, $utf_combining_class)) { - global $phpbb_root_path; - include($phpbb_root_path . 'includes/utf/data/utf_normalizer_common.php'); + global $phpbb_root_path, $phpEx; + include($phpbb_root_path . 'includes/utf/data/utf_normalizer_common.' . $phpEx); } // Buffer the last ASCII char before the UTF-8 stuff if applicable @@ -920,12 +920,13 @@ class utf_normalizer */ function decompose($str, $pos, $len, &$decomp_map) { - global $utf_combining_class, $phpbb_root_path; + global $utf_combining_class; // Load some commonly-used tables if (!isset($utf_combining_class)) { - include($phpbb_root_path . 'includes/utf/data/utf_normalizer_common.php'); + global $phpbb_root_path, $phpEx; + include($phpbb_root_path . 'includes/utf/data/utf_normalizer_common.' . $phpEx); } // UTF char length array From 4c487c1cdc03f50d7aee4021588572a9358e06ec Mon Sep 17 00:00:00 2001 From: David M Date: Tue, 13 Feb 2007 00:14:39 +0000 Subject: [PATCH 034/707] #8084 git-svn-id: file:///svn/phpbb/trunk@6984 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 2 +- phpBB/includes/functions_convert.php | 5 +++-- phpBB/install/convertors/functions_phpbb20.php | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index 87c40ef78f..f09856b7fa 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -1494,7 +1494,7 @@ class acp_database } else { - $row['rowdefault'] = $db->sql_fetchfield('rowdefault', 0, $def_res); + $row['rowdefault'] = $db->sql_fetchfield('rowdefault', false, $def_res); } $db->sql_freeresult($def_res); diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index ee97dcb3ab..6df29fc0f4 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -1647,7 +1647,7 @@ function add_bots() $sql = 'SELECT group_id FROM ' . GROUPS_TABLE . " WHERE group_name = 'BOTS'"; $result = $db->sql_query($sql); - $group_id = (int) $db->sql_fetchfield('group_id', 0, $result); + $group_id = (int) $db->sql_fetchfield('group_id', false, $result); $db->sql_freeresult($result); if (!$group_id) @@ -1656,11 +1656,12 @@ function add_bots() $sql = 'SELECT group_id FROM ' . GROUPS_TABLE . " WHERE group_name = 'BOTS'"; $result = $db->sql_query($sql); - $group_id = (int) $db->sql_fetchfield('group_id', 0, $result); + $group_id = (int) $db->sql_fetchfield('group_id', false, $result); $db->sql_freeresult($result); if (!$group_id) { + global $install; $install->error($user->lang['CONV_ERROR_INCONSISTENT_GROUPS'], __LINE__, __FILE__); } } diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index eb660f84d0..fdde80c82c 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -76,6 +76,14 @@ function phpbb_insert_forums() $db->sql_query("SET NAMES 'utf8'"); } + switch ($db->sql_layer) + { + case 'mssql': + case 'mssql_odbc': + $db->sql_query('SET IDENTITY_INSERT ' . FORUMS_TABLE . ' ON'); + break; + } + $cats_added = array(); while ($row = $db->sql_fetchrow($result)) { @@ -259,6 +267,14 @@ function phpbb_insert_forums() $db->sql_query($sql); } $db->sql_freeresult($result); + + switch ($db->sql_layer) + { + case 'mssql': + case 'mssql_odbc': + $db->sql_query('SET IDENTITY_INSERT ' . FORUMS_TABLE . ' OFF'); + break; + } } /** From c16beb34af123b810cfd8a4a625075fcb59540ef Mon Sep 17 00:00:00 2001 From: David M Date: Tue, 13 Feb 2007 20:49:39 +0000 Subject: [PATCH 035/707] found you! git-svn-id: file:///svn/phpbb/trunk@6985 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/install_convert.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 0d1fec4a1c..0656f7e5f4 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -835,6 +835,12 @@ class install_convert extends module if (!empty($convert->config_schema)) { restore_config($convert->config_schema); + + // Override a couple of config variables for the duration + $config['max_quote_depth'] = 0; + + // @todo Need to confirm that max post length in source is <= max post length in destination or there may be interesting formatting issues + $config['max_post_chars'] = -1; } $template->assign_block_vars('checks', array( From deadc44c9ca1a1a0e060d036cc7cc58825a1c20f Mon Sep 17 00:00:00 2001 From: David M Date: Tue, 13 Feb 2007 23:20:34 +0000 Subject: [PATCH 036/707] -Topic review is fast :D #7894 git-svn-id: file:///svn/phpbb/trunk@6986 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_posting.php | 34 ++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index eb03143aa1..4b80464d22 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -863,28 +863,48 @@ function topic_review($topic_id, $forum_id, $mode = 'topic_review', $cur_post_id global $config, $phpbb_root_path, $phpEx; // Go ahead and pull all data for this topic - $sql = 'SELECT u.username, u.user_id, u.user_colour, p.* - FROM ' . POSTS_TABLE . ' p, ' . USERS_TABLE . " u + $sql = 'SELECT p.post_id + FROM ' . POSTS_TABLE . ' p' . " WHERE p.topic_id = $topic_id - AND p.poster_id = u.user_id " . ((!$auth->acl_get('m_approve', $forum_id)) ? 'AND p.post_approved = 1' : '') . ' ' . (($mode == 'post_review') ? " AND p.post_id > $cur_post_id" : '') . ' ORDER BY p.post_time DESC'; $result = $db->sql_query_limit($sql, $config['posts_per_page']); - if (!$row = $db->sql_fetchrow($result)) + $post_list = array(); + + while ($row = $db->sql_fetchrow($result)) + { + $post_list[] = $row['post_id']; + } + + $db->sql_freeresult($result); + + if (!sizeof($post_list)) { - $db->sql_freeresult($result); return false; } + $sql = $db->sql_build_query('SELECT', array( + 'SELECT' => 'u.username, u.user_id, u.user_colour, p.*', + + 'FROM' => array( + USERS_TABLE => 'u', + POSTS_TABLE => 'p', + ), + + 'WHERE' => $db->sql_in_set('p.post_id', $post_list) . ' + AND u.user_id = p.poster_id' + )); + + $result = $db->sql_query($sql); + $bbcode_bitfield = ''; - do + while ($row = $db->sql_fetchrow($result)) { $rowset[] = $row; $bbcode_bitfield = $bbcode_bitfield | base64_decode($row['bbcode_bitfield']); } - while ($row = $db->sql_fetchrow($result)); $db->sql_freeresult($result); // Instantiate BBCode class From 225d91b4f225d989fe8feadeb623038f9a0b2124 Mon Sep 17 00:00:00 2001 From: David M Date: Tue, 13 Feb 2007 23:22:42 +0000 Subject: [PATCH 037/707] - might as well... git-svn-id: file:///svn/phpbb/trunk@6987 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_posting.php | 1 + 1 file changed, 1 insertion(+) diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index 4b80464d22..11ec1b8b1e 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -900,6 +900,7 @@ function topic_review($topic_id, $forum_id, $mode = 'topic_review', $cur_post_id $result = $db->sql_query($sql); $bbcode_bitfield = ''; + $rowset = array(); while ($row = $db->sql_fetchrow($result)) { $rowset[] = $row; From cecdbaa4c3074992c900e3f161d6f43582357811 Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 15 Feb 2007 20:30:41 +0000 Subject: [PATCH 038/707] #7570 #7232 - pretty much rewrote backup/restore. whatever is not new code is refactored. Download now works properly with gzip on the fly, bzip2 is still very much not on the fly ( will to take suggestions on this ). Should *never* hit any memory issue. Loads of bug fixes, tested with every DB we support git-svn-id: file:///svn/phpbb/trunk@6988 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 3412 ++++++++++++++------------- 1 file changed, 1806 insertions(+), 1606 deletions(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index f09856b7fa..b6405d88fe 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -73,143 +73,44 @@ class acp_database $time = time(); $filename = 'backup_' . $time . '_' . unique_id(); - - // We set up the info needed for our on-the-fly creation :D - switch ($format) - { - case 'text': - $ext = '.sql'; - $open = 'fopen'; - $write = 'fwrite'; - $close = 'fclose'; - $oper = ''; - $mimetype = 'text/x-sql'; - break; - case 'bzip2': - $ext = '.sql.bz2'; - $open = 'bzopen'; - $write = 'bzwrite'; - $close = 'bzclose'; - $mimetype = 'application/x-bzip2'; - break; - case 'gzip': - $ext = '.sql.gz'; - $open = 'gzopen'; - $write = 'gzwrite'; - $close = 'gzclose'; - $mimetype = 'application/x-gzip'; - break; - } - - // We write the file to "store" first (and then compress the file) to not use too much - // memory. The server process can be easily killed by storing too much data at once. - - if ($download == true) - { - $fh = fopen('php://output', 'wb'); - - switch ($format) - { - case 'bzip2': - ob_start('ob_bz2handler'); - break; - case 'gzip': - ob_start('ob_gzhandler'); - break; - } - - $name = $filename . $ext; - header('Pragma: no-cache'); - header("Content-Type: $mimetype; name=\"$name\""); - header("Content-disposition: attachment; filename=$name"); - } - - if ($store == true) - { - $file = $phpbb_root_path . 'store/' . $filename . $ext; - - $fp = $open($file, 'w'); - - if (!$fp) - { - trigger_error('Unable to write temporary file to storage folder', E_USER_ERROR); - } - } - - // All of the generated queries go here - $sql_data = ''; - $sql_data .= "#\n"; - $sql_data .= "# phpBB Backup Script\n"; - $sql_data .= "# Dump of tables for $table_prefix\n"; - $sql_data .= "# DATE : " . gmdate("d-m-Y H:i:s", $time) . " GMT\n"; - $sql_data .= "#\n"; - switch ($db->sql_layer) { + case 'mysqli': + case 'mysql4': + case 'mysql': + $extractor = new mysql_extractor($download, $store, $format, $filename, $time); + break; + case 'sqlite': - $sql_data .= "BEGIN TRANSACTION;\n"; - $sqlite_version = sqlite_libversion(); + $extractor = new sqlite_extractor($download, $store, $format, $filename, $time); break; case 'postgres': - $sql_data .= "BEGIN;\n"; + $extractor = new postgres_extractor($download, $store, $format, $filename, $time); + break; + + case 'oracle': + $extractor = new oracle_extractor($download, $store, $format, $filename, $time); break; case 'mssql': case 'mssql_odbc': - $sql_data .= "BEGIN TRANSACTION\n"; - $sql_data .= "GO\n"; + $extractor = new mssql_extractor($download, $store, $format, $filename, $time); + break; + + case 'firebird': + $extractor = new firebird_extractor($download, $store, $format, $filename, $time); break; } + $extractor->write_start($table_prefix); + foreach ($table as $table_name) { // Get the table structure if ($structure) { - $sql_data .= "\n"; - switch ($db->sql_layer) - { - case 'mysqli': - case 'mysql4': - case 'mysql': - $sql_data .= '# Table: ' . $table_name . "\n"; - $sql_data .= "DROP TABLE IF EXISTS $table_name;\n"; - break; - - case 'oracle': - $sql_data .= '# Table: ' . $table_name . "\n"; - $sql_data .= "DROP TABLE $table_name;\n"; - $sql_data .= '\\' . "\n"; - break; - - case 'sqlite': - $sql_data .= '# Table: ' . $table_name . "\n"; - if (version_compare($sqlite_version, '3.0') == -1) - { - $sql_data .= "DROP TABLE $table_name;\n"; - } - else - { - $sql_data .= "DROP TABLE IF EXISTS $table_name;\n"; - } - break; - - case 'postgres': - case 'firebird': - $sql_data .= '# Table: ' . $table_name . "\n"; - $sql_data .= "DROP TABLE $table_name;\n"; - break; - - case 'mssql': - case 'mssql_odbc': - $sql_data .= '# Table: ' . $table_name . "\n"; - $sql_data .= "IF OBJECT_ID(N'$table_name', N'U') IS NOT NULL\n"; - $sql_data .= "DROP TABLE $table_name;\n"; - $sql_data .= "GO\n"; - break; - } - $sql_data .= $this->get_table_structure($table_name); + $extractor->write_table($table_name); } else { @@ -218,752 +119,38 @@ class acp_database { case 'sqlite': case 'firebird': - $sql_data .= 'DELETE FROM '; + $extractor->flush('DELETE FROM ' . $table_name . ";\n"); + break; + + case 'mssql': + case 'mssql_odbc': + $extractor->flush('TRUNCATE TABLE ' . $table_name . "GO\n"); + break; + + case 'oracle': + $extractor->flush('TRUNCATE TABLE ' . $table_name . "\\\n"); break; default: - $sql_data .= 'TRUNCATE TABLE '; + $extractor->flush('TRUNCATE TABLE ' . $table_name . ";\n"); break; } - $sql_data .= $table_name . ";\n"; } - // Now write the data for the first time. :) - if ($store == true) - { - $write($fp, $sql_data); - } - - if ($download == true) - { - fwrite($fh, $sql_data); - } - - $sql_data = ''; - // Data if ($schema_data) { - $sql_data .= "\n"; - - switch ($db->sql_layer) - { - case 'mysqli': - - $sql = "SELECT * - FROM $table_name"; - $result = mysqli_query($db->db_connect_id, $sql, MYSQLI_USE_RESULT); - if ($result != false) - { - $fields_cnt = mysqli_num_fields($result); - - // Get field information - $field = mysqli_fetch_fields($result); - $field_set = array(); - - for ($j = 0; $j < $fields_cnt; $j++) - { - $field_set[$j] = $field[$j]->name; - } - - $search = array("\\", "'", "\x00", "\x0a", "\x0d", "\x1a", '"'); - $replace = array("\\\\", "\\'", '\0', '\n', '\r', '\Z', '\\"'); - $fields = implode(', ', $field_set); - $values = array(); - $schema_insert = 'INSERT INTO ' . $table_name . ' (' . $fields . ') VALUES ('; - - while ($row = mysqli_fetch_row($result)) - { - for ($j = 0; $j < $fields_cnt; $j++) - { - if (!isset($row[$j]) || is_null($row[$j])) - { - $values[$j] = 'NULL'; - } - else if (($field[$j]->flags & 32768) && !($field[$j]->flags & 1024)) - { - $values[$j] = $row[$j]; - } - else - { - $values[$j] = "'" . str_replace($search, $replace, $row[$j]) . "'"; - } - } - $sql_data .= $schema_insert . implode(', ', $values) . ");\n"; - - if ($store == true) - { - $write($fp, $sql_data); - } - - if ($download == true) - { - fwrite($fh, $sql_data); - } - $sql_data = ''; - - $values = array(); - } - mysqli_free_result($result); - } - break; - - case 'mysql4': - case 'mysql': - - $sql = "SELECT * - FROM $table_name"; - $result = mysql_unbuffered_query($sql, $db->db_connect_id); - - if ($result != false) - { - $fields_cnt = mysql_num_fields($result); - - // Get field information - $field = array(); - for ($i = 0; $i < $fields_cnt; $i++) - { - $field[$i] = mysql_fetch_field($result, $i); - } - $field_set = array(); - - for ($j = 0; $j < $fields_cnt; $j++) - { - $field_set[$j] = $field[$j]->name; - } - - $search = array("\\", "'", "\x00", "\x0a", "\x0d", "\x1a", '"'); - $replace = array("\\\\", "\\'", '\0', '\n', '\r', '\Z', '\\"'); - $fields = implode(', ', $field_set); - $schema_insert = 'INSERT INTO ' . $table_name . ' (' . $fields . ') VALUES ('; - - while ($row = mysql_fetch_row($result)) - { - $values = array(); - - for ($j = 0; $j < $fields_cnt; $j++) - { - if (!isset($row[$j]) || is_null($row[$j])) - { - $values[$j] = 'NULL'; - } - else if ($field[$j]->numeric && ($field[$j]->type !== 'timestamp')) - { - $values[$j] = $row[$j]; - } - else - { - $values[$j] = "'" . str_replace($search, $replace, $row[$j]) . "'"; - } - } - $sql_data .= $schema_insert . implode(', ', $values) . ");\n"; - - if ($store == true) - { - $write($fp, $sql_data); - } - - if ($download == true) - { - fwrite($fh, $sql_data); - } - $sql_data = ''; - } - mysql_free_result($result); - } - break; - - case 'sqlite': - // This is *not* my fault. The PHP guys forgot a call to finalize when they wrote this function. This forces all the tables to stay locked... - // They finally fixed it in 5.1.3 but 5.1.2 and under still have this so instead, we go and grab the column types by smashing open the sqlite_master table - // and grope around for things that remind us of datatypes... - if (version_compare(phpversion(), '5.1.3', '>=')) - { - $col_types = sqlite_fetch_column_types($db->db_connect_id, $table_name); - } - else - { - $sql = "SELECT sql - FROM sqlite_master - WHERE type = 'table' - AND name = '" . $table_name . "'"; - $table_data = sqlite_single_query($db->db_connect_id, $sql); - $table_data = preg_replace('#CREATE\s+TABLE\s+"?' . $table_name . '"?#i', '', $table_data); - $table_data = trim($table_data); - - preg_match('#\((.*)\)#s', $table_data, $matches); - - $column_list = array(); - $table_cols = explode(',', trim($matches[1])); - foreach ($table_cols as $declaration) - { - $entities = preg_split('#\s+#', trim($declaration)); - $column_name = preg_replace('/"?([^"]+)"?/', '\1', $entities[0]); - - // Hit a primary key, those are not what we need :D - if (empty($entities[1])) - { - continue; - } - $col_types[$column_name] = $entities[1]; - } - } - - // Unbueffered query and the foreach make this ultra fast, we wait for nothing. - $sql = "SELECT * - FROM $table_name"; - $result = sqlite_unbuffered_query($db->db_connect_id, $sql); - $rows = sqlite_fetch_all($result, SQLITE_ASSOC); - - foreach ($rows as $row) - { - $names = $data = array(); - foreach ($row as $row_name => $row_data) - { - $names[] = $row_name; - - // Figure out what this data is, escape it properly - if (is_null($row_data)) - { - $row_data = 'NULL'; - } - else if ($row_data == '') - { - $row_data = "''"; - } - else if (strpos($col_types[$row_name], 'text') !== false || strpos($col_types[$row_name], 'char') !== false || strpos($col_types[$row_name], 'blob') !== false) - { - $row_data = "'" . $row_data . "'"; - } - - $data[] = $row_data; - } - $sql_data .= 'INSERT INTO ' . $table_name . ' (' . implode(', ', $names) . ') VALUES ('. implode(', ', $data) .");\n"; - - if ($store == true) - { - $write($fp, $sql_data); - } - - if ($download == true) - { - fwrite($fh, $sql_data); - } - $sql_data = ''; - - } - $db->sql_freeresult($result); - break; - - case 'postgres': - - $ary_type = $ary_name = array(); - - // Grab all of the data from current table. - $sql = "SELECT * - FROM $table_name"; - $result = $db->sql_query($sql); - - $i_num_fields = pg_num_fields($result); - $seq = ''; - - for ($i = 0; $i < $i_num_fields; $i++) - { - $ary_type[$i] = pg_field_type($result, $i); - $ary_name[$i] = pg_field_name($result, $i); - - - $sql = "SELECT pg_get_expr(d.adbin, d.adrelid) as rowdefault - FROM pg_attrdef d, pg_class c - WHERE (c.relname = '{$table_name}') - AND (c.oid = d.adrelid) - AND d.adnum = " . strval($i + 1); - $result2 = $db->sql_query($sql); - if ($row = $db->sql_fetchrow($result2)) - { - // Determine if we must reset the sequences - if (strpos($row['rowdefault'], "nextval('") === 0) - { - $seq .= "SELECT SETVAL('{$table_name}_seq',(select case when max({$ary_name[$i]})>0 then max({$ary_name[$i]})+1 else 1 end FROM {$table_name}));\n"; - } - } - } - - while ($row = $db->sql_fetchrow($result)) - { - $schema_vals = $schema_fields = array(); - - // Build the SQL statement to recreate the data. - for ($i = 0; $i < $i_num_fields; $i++) - { - $str_val = $row[$ary_name[$i]]; - - if (preg_match('#char|text|bool|bytea#i', $ary_type[$i])) - { - $str_quote = "'"; - $str_empty = ''; - $str_val = addslashes($str_val); - } - else if (preg_match('#date|timestamp#i', $ary_type[$i])) - { - if (empty($str_val)) - { - $str_quote = ''; - } - else - { - $str_quote = "'"; - } - } - else - { - $str_quote = ''; - $str_empty = 'NULL'; - } - - if (empty($str_val) && $str_val !== '0') - { - $str_val = $str_empty; - } - - $schema_vals[$i] = $str_quote . $str_val . $str_quote; - $schema_fields[$i] = $ary_name[$i]; - } - - // Take the ordered fields and their associated data and build it - // into a valid sql statement to recreate that field in the data. - $sql_data .= "INSERT INTO $table_name (" . implode(', ', $schema_fields) . ') VALUES (' . implode(', ', $schema_vals) . ");\n"; - - if ($store == true) - { - $write($fp, $sql_data); - } - - if ($download == true) - { - fwrite($fh, $sql_data); - } - - $sql_data = ''; - - } - $db->sql_freeresult($result); - - // Write out the sequence statements - if ($store == true) - { - $write($fp, $seq); - } - - if ($download == true) - { - if (!empty($oper)) - { - echo $oper($seq); - } - else - { - echo $seq; - } - } - $seq = ''; - break; - - case 'mssql_odbc': - $ary_type = $ary_name = array(); - $ident_set = false; - - // Grab all of the data from current table. - $sql = "SELECT * - FROM $table_name"; - $result = $db->sql_query($sql); - - $retrieved_data = odbc_num_rows($result); - - if ($retrieved_data) - { - $sql = "SELECT 1 as has_identity - FROM INFORMATION_SCHEMA.COLUMNS - WHERE COLUMNPROPERTY(object_id('$table_name'), COLUMN_NAME, 'IsIdentity') = 1"; - $result2 = $db->sql_query($sql); - $row2 = $db->sql_fetchrow($result2); - if (!empty($row2['has_identity'])) - { - $sql_data .= "\nSET IDENTITY_INSERT $table_name ON\nGO\n"; - $ident_set = true; - } - $db->sql_freeresult($result2); - } - - $i_num_fields = odbc_num_fields($result); - - for ($i = 0; $i < $i_num_fields; $i++) - { - $ary_type[$i] = odbc_field_type($result, $i + 1); - $ary_name[$i] = odbc_field_name($result, $i + 1); - } - - while ($row = $db->sql_fetchrow($result)) - { - $schema_vals = $schema_fields = array(); - - // Build the SQL statement to recreate the data. - for ($i = 0; $i < $i_num_fields; $i++) - { - $str_val = $row[$ary_name[$i]]; - - if (preg_match('#char|text|bool|varbinary#i', $ary_type[$i])) - { - $str_quote = "'"; - $str_empty = ''; - $str_val = addslashes($str_val); - } - else if (preg_match('#date|timestamp#i', $ary_type[$i])) - { - if (empty($str_val)) - { - $str_quote = ''; - } - else - { - $str_quote = "'"; - } - } - else - { - $str_quote = ''; - $str_empty = 'NULL'; - } - - if (empty($str_val) && $str_val !== '0' && !(is_int($str_val) || is_float($str_val))) - { - $str_val = $str_empty; - } - - $schema_vals[$i] = $str_quote . $str_val . $str_quote; - $schema_fields[$i] = $ary_name[$i]; - } - - // Take the ordered fields and their associated data and build it - // into a valid sql statement to recreate that field in the data. - $sql_data .= "INSERT INTO $table_name (" . implode(', ', $schema_fields) . ') VALUES (' . implode(', ', $schema_vals) . ");\n"; - - if ($store == true) - { - $write($fp, $sql_data); - } - - if ($download == true) - { - fwrite($fh, $sql_data); - } - - $sql_data = ''; - - } - $db->sql_freeresult($result); - - if ($retrieved_data) - { - $sql_data = "\nGO\n"; - if ($ident_set) - { - $sql_data .= "\nSET IDENTITY_INSERT $table_name OFF\nGO\n"; - } - } - break; - - case 'mssql': - $ary_type = $ary_name = array(); - $ident_set = false; - - // Grab all of the data from current table. - $sql = "SELECT * - FROM $table_name"; - $result = $db->sql_query($sql); - - $retrieved_data = mssql_num_rows($result); - - $i_num_fields = mssql_num_fields($result); - - for ($i = 0; $i < $i_num_fields; $i++) - { - $ary_type[$i] = mssql_field_type($result, $i); - $ary_name[$i] = mssql_field_name($result, $i); - } - - if ($retrieved_data) - { - $sql = "SELECT 1 as has_identity - FROM INFORMATION_SCHEMA.COLUMNS - WHERE COLUMNPROPERTY(object_id('$table_name'), COLUMN_NAME, 'IsIdentity') = 1"; - $result2 = $db->sql_query($sql); - $row2 = $db->sql_fetchrow($result2); - if (!empty($row2['has_identity'])) - { - $sql_data .= "\nSET IDENTITY_INSERT $table_name ON\nGO\n"; - $ident_set = true; - } - $db->sql_freeresult($result2); - } - - while ($row = $db->sql_fetchrow($result)) - { - $schema_vals = $schema_fields = array(); - - // Build the SQL statement to recreate the data. - for ($i = 0; $i < $i_num_fields; $i++) - { - $str_val = $row[$ary_name[$i]]; - - if (preg_match('#char|text|bool|varbinary#i', $ary_type[$i])) - { - $str_quote = "'"; - $str_empty = ''; - $str_val = addslashes($str_val); - } - else if (preg_match('#date|timestamp#i', $ary_type[$i])) - { - if (empty($str_val)) - { - $str_quote = ''; - } - else - { - $str_quote = "'"; - } - } - else - { - $str_quote = ''; - $str_empty = 'NULL'; - } - - if (empty($str_val) && $str_val !== '0' && !(is_int($str_val) || is_float($str_val))) - { - $str_val = $str_empty; - } - - $schema_vals[$i] = $str_quote . $str_val . $str_quote; - $schema_fields[$i] = $ary_name[$i]; - } - - // Take the ordered fields and their associated data and build it - // into a valid sql statement to recreate that field in the data. - $sql_data .= "INSERT INTO $table_name (" . implode(', ', $schema_fields) . ') VALUES (' . implode(', ', $schema_vals) . ");\n"; - - if ($store == true) - { - $write($fp, $sql_data); - } - - if ($download == true) - { - fwrite($fh, $sql_data); - } - - $sql_data = ''; - - } - $db->sql_freeresult($result); - - if ($retrieved_data) - { - $sql_data = "GO\n"; - if ($ident_set) - { - $sql_data .= "\nSET IDENTITY_INSERT $table_name OFF\nGO\n"; - } - } - break; - - case 'firebird': - - $ary_type = $ary_name = array(); - - // Grab all of the data from current table. - $sql = "SELECT * - FROM $table_name"; - $result = $db->sql_query($sql); - - $i_num_fields = ibase_num_fields($result); - - for ($i = 0; $i < $i_num_fields; $i++) - { - $info = ibase_field_info($result, $i); - $ary_type[$i] = $info['type']; - $ary_name[$i] = $info['name']; - } - - while ($row = $db->sql_fetchrow($result)) - { - $schema_vals = $schema_fields = array(); - - // Build the SQL statement to recreate the data. - for ($i = 0; $i < $i_num_fields; $i++) - { - $str_val = $row[strtolower($ary_name[$i])]; - - if (preg_match('#char|text|bool|varbinary#i', $ary_type[$i])) - { - $str_quote = "'"; - $str_empty = ''; - $str_val = addslashes($str_val); - } - else if (preg_match('#date|timestamp#i', $ary_type[$i])) - { - if (empty($str_val)) - { - $str_quote = ''; - } - else - { - $str_quote = "'"; - } - } - else - { - $str_quote = ''; - $str_empty = 'NULL'; - } - - if (empty($str_val) && $str_val !== '0') - { - $str_val = $str_empty; - } - - $schema_vals[$i] = $str_quote . $str_val . $str_quote; - $schema_fields[$i] = "'" . $ary_name[$i] . "'"; - } - - // Take the ordered fields and their associated data and build it - // into a valid sql statement to recreate that field in the data. - $sql_data .= "INSERT INTO $table_name (" . implode(', ', $schema_fields) . ') VALUES (' . implode(', ', $schema_vals) . ");\n"; - - if ($store == true) - { - $write($fp, $sql_data); - } - - if ($download == true) - { - fwrite($fh, $sql_data); - } - - $sql_data = ''; - - } - $db->sql_freeresult($result); - break; - - case 'oracle': - $ary_type = $ary_name = array(); - - // Grab all of the data from current table. - $sql = "SELECT * - FROM $table_name"; - $result = $db->sql_query($sql); - - $i_num_fields = ocinumcols($result); - - for ($i = 0; $i < $i_num_fields; $i++) - { - $ary_type[$i] = ocicolumntype($result, $i + 1); - $ary_name[$i] = ocicolumnname($result, $i + 1); - } - - while ($row = $db->sql_fetchrow($result)) - { - $schema_vals = $schema_fields = array(); - - // Build the SQL statement to recreate the data. - for ($i = 0; $i < $i_num_fields; $i++) - { - $str_val = $row[$ary_name[$i]]; - - if (preg_match('#char|text|bool|raw#i', $ary_type[$i])) - { - $str_quote = "'"; - $str_empty = ''; - $str_val = addslashes($str_val); - } - else if (preg_match('#date|timestamp#i', $ary_type[$i])) - { - if (empty($str_val)) - { - $str_quote = ''; - } - else - { - $str_quote = "'"; - } - } - else - { - $str_quote = ''; - $str_empty = 'NULL'; - } - - if (empty($str_val) && $str_val !== '0') - { - $str_val = $str_empty; - } - - $schema_vals[$i] = $str_quote . $str_val . $str_quote; - $schema_fields[$i] = '"' . $ary_name[$i] . "'"; - } - - // Take the ordered fields and their associated data and build it - // into a valid sql statement to recreate that field in the data. - $sql_data .= "INSERT INTO $table_name (" . implode(', ', $schema_fields) . ') VALUES (' . implode(', ', $schema_vals) . ");\n"; - - if ($store == true) - { - $write($fp, $sql_data); - } - - if ($download == true) - { - fwrite($fh, $sql_data); - } - - $sql_data = ''; - - } - $db->sql_freeresult($result); - break; - } + $extractor->write_data($table_name); } } - switch ($db->sql_layer) - { - case 'sqlite': - case 'postgres': - $sql_data .= "COMMIT;"; - break; - - case 'mssql': - case 'mssql_odbc': - $sql_data .= "COMMIT\nGO"; - break; - } - - if ($store == true) - { - $write($fp, $sql_data); - $close($fp); - } + $extractor->write_end($table_name); if ($download == true) { - fwrite($fh, $sql_data); - fclose($fh); exit; } - unset($sql_data); - add_log('admin', 'LOG_DB_BACKUP'); trigger_error($user->lang['BACKUP_SUCCESS'] . adm_back_link($this->u_action)); break; @@ -1120,18 +307,6 @@ class acp_database trigger_error($user->lang['BACKUP_DELETE'] . adm_back_link($this->u_action)); } - $data = file_get_contents($file_name); - - switch ($matches[1]) - { - case 'sql.bz2': - $data = bzdecompress($data); - break; - case 'sql.gz': - $data = gzinflate(substr($data, 10)); - break; - } - $download = request_var('download', ''); if ($download) @@ -1154,58 +329,112 @@ class acp_database header('Pragma: no-cache'); header("Content-Type: $mimetype; name=\"$name\""); header("Content-disposition: attachment; filename=$name"); - echo $data; - die; + + @set_time_limit(0); + + $fp = @fopen($file_name, 'rb'); + + if ($fp !== false) + { + while (!feof($fp)) + { + echo fread($fp, 8192); + } + fclose($fp); + } + + flush(); + exit; } - if (!empty($data)) + switch ($matches[1]) { - // Strip out sql comments... - remove_remarks($data); + case 'sql': + $fp = fopen($file_name, 'rb'); + $read = 'fread'; + $seek = 'fseek'; + $eof = 'feof'; + $close = 'fclose'; + break; - // SQLite gets improved performance when you shove all of these disk write queries at once :D - if ($db->sql_layer == 'sqlite') - { - $db->sql_query($data); - } - else - { - switch ($db->sql_layer) + case 'sql.bz2': + $fp = bzopen($file_name, 'r'); + $read = 'bzread'; + $seek = 'bzseek'; + $eof = 'feof'; + $close = 'bzclose'; + break; + + case 'sql.gz': + $fp = gzopen($file_name, 'rb'); + $read = 'gzread'; + $seek = 'gzseek'; + $eof = 'gzeof'; + $close = 'gzclose'; + break; + } + + switch ($db->sql_layer) + { + case 'mysql': + case 'mysql4': + case 'mysqli': + case 'sqlite': + while (!$eof($fp)) { - case 'firebird': - $delim = ';;'; - break; - - case 'mysql': - case 'mysql4': - case 'mysqli': - case 'postgres': - $delim = ';'; - break; - - case 'oracle': - $delim = '/'; - break; - - case 'mssql': - case 'mssql_odbc': - $delim = 'GO'; - break; + $db->sql_query(fgetd($fp, ";\n", $read, $seek, $eof)); } - $pieces = split_sql_file($data, $delim); + break; - $sql_count = count($pieces); - for ($i = 0; $i < $sql_count; $i++) + case 'firebird': + $delim = ";\n"; + while (!$eof($fp)) { - $sql = trim($pieces[$i]); - - if (!empty($sql) && $sql[0] != '#') + $query = trim(fgetd($fp, $delim, $read, $seek, $eof)); + if (substr($query, 0, 8) === 'SET TERM') { - $db->sql_query($sql); + $delim = $query[9] . "\n"; + continue; + } + $db->sql_query($query); + } + break; + + case 'postgres': + while (!$eof($fp)) + { + $query = trim(fgetd($fp, ";\n", $read, $seek, $eof)); + $db->sql_query($query); + if (substr($query, 0, 4) == 'COPY') + { + while (($sub = fgetd($fp, "\n", $read, $seek, $eof)) !== '\.') + { + pg_put_line($db->db_connect_id, $sub . "\n"); + } + pg_put_line($db->db_connect_id, "\\.\n"); + pg_end_copy($db->db_connect_id); } } - } + break; + + case 'oracle': + while (!$eof($fp)) + { + $db->sql_query(fgetd($fp, "/\n", $read, $seek, $eof)); + } + break; + + case 'mssql': + case 'mssql_odbc': + while (!$eof($fp)) + { + $db->sql_query(fgetd($fp, "GO\n", $read, $seek, $eof)); + } + break; } + + $close($fp); + add_log('admin', 'LOG_DB_RESTORE'); trigger_error($user->lang['RESTORE_SUCCESS'] . adm_back_link($this->u_action)); break; @@ -1255,723 +484,1666 @@ class acp_database break; } } +} - /** - * Return table structure - */ - function get_table_structure($table_name) +class base_extractor +{ + var $fh; + var $fp; + var $write; + var $close; + var $store; + var $download; + var $time; + + function base_extractor($download = false, $store = false, $format, $filename, $time) { - global $db, $domains_created; - static $has_index_type; - - $sql_data = ''; - - switch ($db->sql_layer) + $this->download = $download; + $this->store = $store; + $this->time = $time; + switch ($format) { - case 'mysqli': - case 'mysql4': - case 'mysql': - - if ($has_index_type === null) - { - if ($db->sql_layer === 'mysqli' || version_compare($db->mysql_version, '4.0.2', '>=')) - { - $has_index_type = true; - } - else - { - $has_index_type = false; - } - } - - $sql_data .= "CREATE TABLE $table_name(\n"; - $rows = array(); - - $sql = "SHOW FIELDS - FROM $table_name"; - $result = $db->sql_query($sql); - - while ($row = $db->sql_fetchrow($result)) - { - $line = ' ' . $row['Field'] . ' ' . $row['Type']; - - if (!is_null($row['Default'])) - { - $line .= " DEFAULT '{$row['Default']}'"; - } - - if ($row['Null'] != 'YES') - { - $line .= ' NOT NULL'; - } - - if ($row['Extra'] != '') - { - $line .= ' ' . $row['Extra']; - } - - $rows[] = $line; - } - $db->sql_freeresult($result); - - $sql = "SHOW KEYS - FROM $table_name"; - - $result = $db->sql_query($sql); - - $index = array(); - while ($row = $db->sql_fetchrow($result)) - { - $kname = $row['Key_name']; - - if ($kname != 'PRIMARY') - { - if ($has_index_type && $row['Index_type'] == 'FULLTEXT') - { - $kname = "FULLTEXT|$kname"; - } - else if ($row['Non_unique'] == 0) - { - $kname = "UNIQUE|$kname"; - } - } - - if ($row['Sub_part']) - { - $row['Column_name'] .= '(' . $row['Sub_part'] . ')'; - } - $index[$kname][] = $row['Column_name']; - } - $db->sql_freeresult($result); - - foreach ($index as $key => $columns) - { - $line = ' '; - - if ($key == 'PRIMARY') - { - $line .= 'PRIMARY KEY (' . implode(', ', $columns) . ')'; - } - else if (strpos($key, 'UNIQUE') === 0) - { - $line .= 'UNIQUE ' . substr($key, 7) . ' (' . implode(', ', $columns) . ')'; - } - else if (strpos($key, 'FULLTEXT') === 0) - { - $line .= 'FULLTEXT ' . substr($key, 9) . ' (' . implode(', ', $columns) . ')'; - } - else - { - $line .= "KEY $key (" . implode(', ', $columns) . ')'; - } - - $rows[] = $line; - } - - $sql_data .= implode(",\n", $rows); - $sql_data .= "\n)"; - if ($db->sql_layer == 'mysql4' || $db->sql_layer == 'mysqli') - { - $sql_data .= ' CHARACTER SET `utf8` COLLATE `utf8_bin`'; - } - $sql_data .= ";\n\n"; - + case 'text': + $ext = '.sql'; + $open = 'fopen'; + $this->write = 'fwrite'; + $this->close = 'fclose'; + $mimetype = 'text/x-sql'; break; - - case 'sqlite': - - $sql = "SELECT sql - FROM sqlite_master - WHERE type = 'table' - AND name = '" . $db->sql_escape($table_name) . "' - ORDER BY type DESC, name;"; - $result = $db->sql_query($sql); - $row = $db->sql_fetchrow($result); - $db->sql_freeresult($result); - - // Create Table - $sql_data .= $row['sql'] . "\n"; - - $result = $db->sql_query("PRAGMA index_list('" . $db->sql_escape($table_name) . "');"); - - $ar = array(); - while ($row = $db->sql_fetchrow($result)) - { - $ar[] = $row; - } - $db->sql_freeresult($result); - - foreach ($ar as $value) - { - if (strpos($value['name'], 'autoindex') !== false) - { - continue; - } - - $result = $db->sql_query("PRAGMA index_info('" . $db->sql_escape($value['name']) . "');"); - - $fields = array(); - while ($row = $db->sql_fetchrow($result)) - { - $fields[] = $row['name']; - } - $db->sql_freeresult($result); - - $sql_data .= 'CREATE ' . ($value['unique'] ? 'UNIQUE ' : '') . 'INDEX ' . $value['name'] . ' on ' . $table_name . ' (' . implode(', ', $fields) . ");\n"; - } - - $sql_data .= "\n"; + case 'bzip2': + $ext = '.sql.bz2'; + $open = 'bzopen'; + $this->write = 'bzwrite'; + $this->close = 'bzclose'; + $mimetype = 'application/x-bzip2'; break; - - case 'postgres': - if (empty($domains_created)) - { - $domains_created = array(); - } - - $sql = "SELECT a.domain_name, a.data_type, a.character_maximum_length, a.domain_default - FROM INFORMATION_SCHEMA.domains a, INFORMATION_SCHEMA.column_domain_usage b - WHERE a.domain_name = b.domain_name - AND b.table_name = '{$table_name}'"; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - if (empty($domains_created[$row['domain_name']])) - { - $domains_created[$row['domain_name']] = true; - $sql_data .= "CREATE DOMAIN {$row['domain_name']} as {$row['data_type']}"; - if (!empty($row['character_maximum_length'])) - { - $sql_data .= '(' . $row['character_maximum_length'] . ')'; - } - $sql_data .= ' NOT NULL'; - if (!empty($row['domain_default'])) - { - $sql_data .= 'DEFAULT ' . $row['domain_default']; - } - $sql_data .= ";\n"; - } - } - - // PGSQL does not "tightly" bind sequences and tables, we must guess... - $sql = "SELECT relname - FROM pg_class - WHERE relkind = 'S' - AND relname = '{$table_name}_seq'"; - $result = $db->sql_query($sql); - // We don't even care about storing the results. We already know the answer if we get rows back. - if ($db->sql_fetchrow($result)) - { - $sql_data .= "DROP SEQUENCE {$table_name}_seq;\n"; - $sql_data .= "CREATE SEQUENCE {$table_name}_seq;\n"; - } - $db->sql_freeresult($result); - - $field_query = "SELECT a.attnum, a.attname as field, t.typname as type, a.attlen as length, a.atttypmod as lengthvar, a.attnotnull as notnull - FROM pg_class c, pg_attribute a, pg_type t - WHERE c.relname = '" . $db->sql_escape($table_name) . "' - AND a.attnum > 0 - AND a.attrelid = c.oid - AND a.atttypid = t.oid - ORDER BY a.attnum"; - $result = $db->sql_query($field_query); - - $sql_data .= "CREATE TABLE $table_name(\n"; - $lines = array(); - while ($row = $db->sql_fetchrow($result)) - { - // Get the data from the table - $sql_get_default = "SELECT pg_get_expr(d.adbin, d.adrelid) as rowdefault - FROM pg_attrdef d, pg_class c - WHERE (c.relname = '" . $db->sql_escape($table_name) . "') - AND (c.oid = d.adrelid) - AND d.adnum = " . $row['attnum']; - $def_res = $db->sql_query($sql_get_default); - - if (!$def_res) - { - unset($row['rowdefault']); - } - else - { - $row['rowdefault'] = $db->sql_fetchfield('rowdefault', false, $def_res); - } - $db->sql_freeresult($def_res); - - if ($row['type'] == 'bpchar') - { - // Internally stored as bpchar, but isn't accepted in a CREATE TABLE statement. - $row['type'] = 'char'; - } - - $line = ' ' . $row['field'] . ' ' . $row['type']; - - if (strpos($row['type'], 'char') !== false) - { - if ($row['lengthvar'] > 0) - { - $line .= '(' . ($row['lengthvar'] - 4) . ')'; - } - } - - if (strpos($row['type'], 'numeric') !== false) - { - $line .= '('; - $line .= sprintf("%s,%s", (($row['lengthvar'] >> 16) & 0xffff), (($row['lengthvar'] - 4) & 0xffff)); - $line .= ')'; - } - - if (!empty($row['rowdefault'])) - { - $line .= ' DEFAULT ' . $row['rowdefault']; - } - - if ($row['notnull'] == 't') - { - $line .= ' NOT NULL'; - } - - $lines[] = $line; - } - $db->sql_freeresult($result); - - - // Get the listing of primary keys. - $sql_pri_keys = "SELECT ic.relname as index_name, bc.relname as tab_name, ta.attname as column_name, i.indisunique as unique_key, i.indisprimary as primary_key - FROM pg_class bc, pg_class ic, pg_index i, pg_attribute ta, pg_attribute ia - WHERE (bc.oid = i.indrelid) - AND (ic.oid = i.indexrelid) - AND (ia.attrelid = i.indexrelid) - AND (ta.attrelid = bc.oid) - AND (bc.relname = '" . $db->sql_escape($table_name) . "') - AND (ta.attrelid = i.indrelid) - AND (ta.attnum = i.indkey[ia.attnum-1]) - ORDER BY index_name, tab_name, column_name"; - - $result = $db->sql_query($sql_pri_keys); - - $index_create = $index_rows = $primary_key = array(); - - // We do this in two steps. It makes placing the comma easier - while ($row = $db->sql_fetchrow($result)) - { - if ($row['primary_key'] == 't') - { - $primary_key[] = $row['column_name']; - $primary_key_name = $row['index_name']; - } - else - { - // We have to store this all this info because it is possible to have a multi-column key... - // we can loop through it again and build the statement - $index_rows[$row['index_name']]['table'] = $table_name; - $index_rows[$row['index_name']]['unique'] = ($row['unique_key'] == 't') ? true : false; - $index_rows[$row['index_name']]['column_names'][] = $row['column_name']; - } - } - $db->sql_freeresult($result); - - if (!empty($index_rows)) - { - foreach ($index_rows as $idx_name => $props) - { - $index_create[] = 'CREATE ' . ($props['unique'] ? 'UNIQUE ' : '') . "INDEX $idx_name ON $table_name (" . implode(', ', $props['column_names']) . ");"; - } - } - - if (!empty($primary_key)) - { - $lines[] = " CONSTRAINT $primary_key_name PRIMARY KEY (" . implode(', ', $primary_key) . ")"; - } - - // Generate constraint clauses for CHECK constraints - $sql_checks = "SELECT conname as index_name, consrc - FROM pg_constraint, pg_class bc - WHERE conrelid = bc.oid - AND bc.relname = '" . $db->sql_escape($table_name) . "' - AND NOT EXISTS ( - SELECT * - FROM pg_constraint as c, pg_inherits as i - WHERE i.inhrelid = pg_constraint.conrelid - AND c.conname = pg_constraint.conname - AND c.consrc = pg_constraint.consrc - AND c.conrelid = i.inhparent - )"; - $result = $db->sql_query($sql_checks); - - // Add the constraints to the sql file. - while ($row = $db->sql_fetchrow($result)) - { - if (!is_null($row['consrc'])) - { - $lines[] = ' CONSTRAINT ' . $row['index_name'] . ' CHECK ' . $row['consrc']; - } - } - $db->sql_freeresult($result); - - $sql_data .= implode(", \n", $lines); - $sql_data .= "\n);\n"; - - if (!empty($index_create)) - { - $sql_data .= implode("\n", $index_create) . "\n\n"; - } - break; - - case 'mssql': - case 'mssql_odbc': - $sql_data .= "\nCREATE TABLE [$table_name] (\n"; - $rows = array(); - - $text_flag = false; - - $sql = "SELECT COLUMN_NAME, COLUMN_DEFAULT, IS_NULLABLE, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity') as IS_IDENTITY - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_NAME = '$table_name'"; - $result = $db->sql_query($sql); - - while ($row = $db->sql_fetchrow($result)) - { - $line = "\t[{$row['COLUMN_NAME']}] [{$row['DATA_TYPE']}]"; - - if ($row['DATA_TYPE'] == 'text') - { - $text_flag = true; - } - - if ($row['IS_IDENTITY']) - { - $line .= ' IDENTITY (1 , 1)'; - } - - if ($row['CHARACTER_MAXIMUM_LENGTH'] && $row['DATA_TYPE'] !== 'text') - { - $line .= ' (' . $row['CHARACTER_MAXIMUM_LENGTH'] . ')'; - } - - if ($row['IS_NULLABLE'] == 'YES') - { - $line .= ' NULL'; - } - else - { - $line .= ' NOT NULL'; - } - - if ($row['COLUMN_DEFAULT']) - { - $line .= ' DEFAULT ' . $row['COLUMN_DEFAULT']; - } - - $rows[] = $line; - } - $db->sql_freeresult($result); - - $sql_data .= implode(",\n", $rows); - $sql_data .= "\n) ON [PRIMARY]"; - - if ($text_flag) - { - $sql_data .= " TEXTIMAGE_ON [PRIMARY]"; - } - - $sql_data .= "\nGO\n\n"; - $rows = array(); - - $sql = "SELECT CONSTRAINT_NAME, COLUMN_NAME - FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE - WHERE TABLE_NAME = '$table_name'"; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - if (!sizeof($rows)) - { - $sql_data .= "ALTER TABLE [$table_name] WITH NOCHECK ADD\n"; - $sql_data .= "\tCONSTRAINT [{$row['CONSTRAINT_NAME']}] PRIMARY KEY CLUSTERED \n\t(\n"; - } - $rows[] = "\t\t[{$row['COLUMN_NAME']}]"; - } - if (sizeof($rows)) - { - $sql_data .= implode(",\n", $rows); - $sql_data .= "\n\t) ON [PRIMARY] \nGO\n"; - } - $db->sql_freeresult($result); - - $index = array(); - $sql = "EXEC sp_statistics '$table_name'"; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - if ($row['TYPE'] == 3) - { - $index[$row['INDEX_NAME']][] = '[' . $row['COLUMN_NAME'] . ']'; - } - } - $db->sql_freeresult($result); - - foreach ($index as $index_name => $column_name) - { - $index[$index_name] = implode(', ', $index[$index_name]); - } - - foreach ($index as $index_name => $columns) - { - $sql_data .= "\nCREATE INDEX [$index_name] ON [$table_name]($columns) ON [PRIMARY]\nGO\n"; - } - break; - - case 'firebird': - - $data_types = array(7 => 'SMALLINT', 8 => 'INTEGER', 10 => 'FLOAT', 12 => 'DATE', 13 => 'TIME', 14 => 'CHARACTER', 27 => 'DOUBLE PRECISION', 35 => 'TIMESTAMP', 37 => 'VARCHAR', 40 => 'CSTRING', 261 => 'BLOB', 701 => 'DECIMAL', 702 => 'NUMERIC'); - - $sql_data .= "\nCREATE TABLE $table_name (\n"; - - $sql = 'SELECT DISTINCT R.RDB$FIELD_NAME as FNAME, R.RDB$NULL_FLAG as NFLAG, R.RDB$DEFAULT_SOURCE as DSOURCE, F.RDB$FIELD_TYPE as FTYPE, F.RDB$FIELD_SUB_TYPE as STYPE, F.RDB$FIELD_LENGTH as FLEN - FROM RDB$RELATION_FIELDS R - JOIN RDB$FIELDS F ON R.RDB$FIELD_SOURCE=F.RDB$FIELD_NAME - LEFT JOIN RDB$FIELD_DIMENSIONS D ON R.RDB$FIELD_SOURCE = D.RDB$FIELD_NAME - WHERE F.RDB$SYSTEM_FLAG = 0 - AND R.RDB$RELATION_NAME = \''. $table_name . '\' - ORDER BY R.RDB$FIELD_POSITION'; - $result = $db->sql_query($sql); - - $rows = array(); - while ($row = $db->sql_fetchrow($result)) - { - $line = "\t" . '"' . $row['fname'] . '" ' . $data_types[$row['ftype']]; - - if ($row['ftype'] == 261 && $row['stype'] == 1) - { - $line .= ' SUB_TYPE TEXT'; - } - - if ($row['ftype'] == 37 || $row['ftype'] == 14) - { - $line .= ' (' . $row['flen'] . ')'; - } - - if (!empty($row['dsource'])) - { - $line .= ' ' . $row['dsource']; - } - - if (!empty($row['nflag'])) - { - $line .= ' NOT NULL'; - } - $rows[] = $line; - } - $db->sql_freeresult($result); - - $sql_data .= implode(",\n", $rows); - $sql_data .= "\n);;\n"; - $keys = array(); - - $sql = 'SELECT I.RDB$FIELD_NAME as NAME - FROM RDB$RELATION_CONSTRAINTS RC, RDB$INDEX_SEGMENTS I, RDB$INDICES IDX - WHERE (I.RDB$INDEX_NAME = RC.RDB$INDEX_NAME) - AND (IDX.RDB$INDEX_NAME = RC.RDB$INDEX_NAME) - AND (RC.RDB$RELATION_NAME = \''. $table_name . '\') - ORDER BY I.RDB$FIELD_POSITION'; - $result = $db->sql_query($sql); - - while ($row = $db->sql_fetchrow($result)) - { - $keys[] = $row['name']; - } - - if (sizeof($keys)) - { - $sql_data .= "\nALTER TABLE $table_name ADD PRIMARY KEY (" . implode(', ', $keys) . ');;'; - } - - $db->sql_freeresult($result); - - $sql = 'SELECT I.RDB$INDEX_NAME as INAME, I.RDB$UNIQUE_FLAG as UFLAG, S.RDB$FIELD_NAME as FNAME - FROM RDB$INDICES I JOIN RDB$INDEX_SEGMENTS S ON S.RDB$INDEX_NAME=I.RDB$INDEX_NAME - WHERE (I.RDB$SYSTEM_FLAG IS NULL OR I.RDB$SYSTEM_FLAG=0) - AND I.RDB$FOREIGN_KEY IS NULL - AND I.RDB$RELATION_NAME = \''. $table_name . '\' - AND I.RDB$INDEX_NAME NOT STARTING WITH \'RDB$\' - ORDER BY S.RDB$FIELD_POSITION'; - $result = $db->sql_query($sql); - - $index = array(); - while ($row = $db->sql_fetchrow($result)) - { - $index[$row['iname']]['unique'] = !empty($row['uflag']); - $index[$row['iname']]['values'][] = $row['fname']; - } - - foreach ($index as $index_name => $data) - { - $sql_data .= "\nCREATE "; - if ($data['unique']) - { - $sql_data .= 'UNIQUE '; - } - $sql_data .= "INDEX $index_name ON $table_name(" . implode(', ', $data['values']) . ");;"; - } - $sql_data .= "\n"; - - $db->sql_freeresult($result); - - $sql = 'SELECT D1.RDB$DEPENDENT_NAME as DNAME, D1.RDB$FIELD_NAME as FNAME, D1.RDB$DEPENDENT_TYPE, R1.RDB$RELATION_NAME - FROM RDB$DEPENDENCIES D1 - LEFT JOIN RDB$RELATIONS R1 ON ((D1.RDB$DEPENDENT_NAME = R1.RDB$RELATION_NAME) AND (NOT (R1.RDB$VIEW_BLR IS NULL))) - WHERE (D1.RDB$DEPENDED_ON_TYPE = 0) - AND (D1.RDB$DEPENDENT_TYPE <> 3) - AND (D1.RDB$DEPENDED_ON_NAME = \'' . $table_name . '\') - UNION SELECT DISTINCT F2.RDB$RELATION_NAME, D2.RDB$FIELD_NAME, D2.RDB$DEPENDENT_TYPE, R2.RDB$RELATION_NAME FROM RDB$DEPENDENCIES D2, RDB$RELATION_FIELDS F2 - LEFT JOIN RDB$RELATIONS R2 ON ((F2.RDB$RELATION_NAME = R2.RDB$RELATION_NAME) AND (NOT (R2.RDB$VIEW_BLR IS NULL))) - WHERE (D2.RDB$DEPENDENT_TYPE = 3) - AND (D2.RDB$DEPENDENT_NAME = F2.RDB$FIELD_SOURCE) - AND (D2.RDB$DEPENDED_ON_NAME = \'' . $table_name . '\') - ORDER BY 1, 2'; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - $sql = 'SELECT T1.RDB$DEPENDED_ON_NAME as GEN, T1.RDB$FIELD_NAME, T1.RDB$DEPENDED_ON_TYPE - FROM RDB$DEPENDENCIES T1 - WHERE (T1.RDB$DEPENDENT_NAME = \'' . $row['dname'] . '\') - AND (T1.RDB$DEPENDENT_TYPE = 2 AND T1.RDB$DEPENDED_ON_TYPE = 14) - UNION ALL SELECT DISTINCT D.RDB$DEPENDED_ON_NAME, D.RDB$FIELD_NAME, D.RDB$DEPENDED_ON_TYPE - FROM RDB$DEPENDENCIES D, RDB$RELATION_FIELDS F - WHERE (D.RDB$DEPENDENT_TYPE = 3) - AND (D.RDB$DEPENDENT_NAME = F.RDB$FIELD_SOURCE) - AND (F.RDB$RELATION_NAME = \'' . $row['dname'] . '\') - ORDER BY 1,2'; - $result2 = $db->sql_query($sql); - $row2 = $db->sql_fetchrow($result2); - $db->sql_freeresult($result2); - $gen_name = $row2['gen']; - - $sql_data .= "\nCREATE GENERATOR " . $gen_name . ";;"; - $sql_data .= "\nSET GENERATOR " . $gen_name . " TO 0;;\n"; - $sql_data .= "\nCREATE TRIGGER {$row['dname']} FOR $table_name"; - $sql_data .= "\nBEFORE INSERT\nAS\nBEGIN"; - $sql_data .= "\n NEW.{$row['fname']} = GEN_ID(" . $gen_name . ", 1);"; - $sql_data .= "\nEND;;\n"; - } - - $db->sql_freeresult($result); - break; - - case 'oracle': - $sql_data .= "\nCREATE TABLE $table_name (\n"; - - $sql = "SELECT COLUMN_NAME, DATA_TYPE, DATA_PRECISION, DATA_LENGTH, NULLABLE, DATA_DEFAULT - FROM ALL_TAB_COLS - WHERE table_name = '{$table_name}'"; - $result = $db->sql_query($sql); - - $rows = array(); - while ($row = $db->sql_fetchrow($result)) - { - $line = ' "' . $row['column_name'] . '" ' . $row['data_type']; - - if ($row['data_type'] !== 'CLOB') - { - if ($row['data_type'] !== 'VARCHAR2') - { - $line .= '(' . $row['data_precision'] . ')'; - } - else - { - $line .= '(' . $row['data_length'] . ')'; - } - } - - if (!empty($row['data_default'])) - { - $line .= ' DEFAULT ' . $row['data_default']; - } - - if ($row['nullable'] == 'N') - { - $line .= ' NOT NULL'; - } - $rows[] = $line; - } - $db->sql_freeresult($result); - - $sql = "SELECT A.CONSTRAINT_NAME, A.COLUMN_NAME - FROM USER_CONS_COLUMNS A, USER_CONSTRAINTS B - WHERE A.CONSTRAINT_NAME = B.CONSTRAINT_NAME - AND B.CONSTRAINT_TYPE = 'P' - AND A.TABLE_NAME = '{$table_name}'"; - $result = $db->sql_query($sql); - - while ($row = $db->sql_fetchrow($result)) - { - $rows[] = " CONSTRAINT {$row['constraint_name']} PRIMARY KEY ({$row['column_name']})"; - } - $db->sql_freeresult($result); - - $sql = "SELECT A.CONSTRAINT_NAME, A.COLUMN_NAME - FROM USER_CONS_COLUMNS A, USER_CONSTRAINTS B - WHERE A.CONSTRAINT_NAME = B.CONSTRAINT_NAME - AND B.CONSTRAINT_TYPE = 'U' - AND A.TABLE_NAME = '{$table_name}'"; - $result = $db->sql_query($sql); - - while ($row = $db->sql_fetchrow($result)) - { - $rows[] = " CONSTRAINT {$row['constraint_name']} UNIQUE ({$row['column_name']})"; - } - $db->sql_freeresult($result); - - $sql_data .= implode(",\n", $rows); - $sql_data .= "\n)\n\\"; - - $sql = "SELECT A.REFERENCED_NAME - FROM USER_DEPENDENCIES A, USER_TRIGGERS B - WHERE A.REFERENCED_TYPE = 'SEQUENCE' - AND A.NAME = B.TRIGGER_NAME - AND B. TABLE_NAME = '{$table_name}'"; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - $sql_data .= "\nCREATE SEQUENCE {$row['referenced_name']}\\\n"; - } - $db->sql_freeresult($result); - - $sql = "SELECT DESCRIPTION, WHEN_CLAUSE, TRIGGER_BODY - FROM USER_TRIGGERS - WHERE TABLE_NAME = '{$table_name}'"; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - $sql_data .= "\nCREATE OR REPLACE TRIGGER {$row['description']}WHEN ({$row['when_clause']})\n{$row['trigger_body']}\\"; - } - $db->sql_freeresult($result); - - $sql = "SELECT A.INDEX_NAME, B.COLUMN_NAME - FROM USER_INDEXES A, USER_IND_COLUMNS B - WHERE A.UNIQUENESS = 'NONUNIQUE' - AND A.INDEX_NAME = B.INDEX_NAME - AND B.TABLE_NAME = '{$table_name}'"; - $result = $db->sql_query($sql); - - $index = array(); - - while ($row = $db->sql_fetchrow($result)) - { - $index[$row['index_name']][] = $row['column_name']; - } - - foreach ($index as $index_name => $column_names) - { - $sql_data .= "\nCREATE INDEX $index_name ON $table_name(" . implode(', ', $column_names) . ")\n\\"; - } - $db->sql_freeresult($result); - + case 'gzip': + $ext = '.sql.gz'; + $open = 'gzopen'; + $this->write = 'gzwrite'; + $this->close = 'gzclose'; + $mimetype = 'application/x-gzip'; break; } - return $sql_data; + if ($download == true) + { + $this->fh = fopen('php://output', 'wb'); + + $name = $filename . $ext; + header('Pragma: no-cache'); + header("Content-Type: $mimetype; name=\"$name\""); + header("Content-disposition: attachment; filename=$name"); + + switch ($format) + { + case 'bzip2': + ob_start('ob_bz2handler'); + break; + case 'gzip': + ob_start('ob_gzhandler'); + break; + } + } + + if ($store == true) + { + global $phpbb_root_path; + $file = $phpbb_root_path . 'store/' . $filename . $ext; + + $this->fp = $open($file, 'w'); + + if (!$this->fp) + { + trigger_error('Unable to write temporary file to storage folder', E_USER_ERROR); + } + } } + + function write_end() + { + static $close; + if ($this->store) + { + if ($close === null) + { + $close = $this->close; + } + $close($this->fp); + } + + if ($this->download) + { + fclose($this->fh); + } + } + + function flush($data) + { + static $write; + if ($this->store === true) + { + if ($write === null) + { + $write = $this->write; + } + $write($this->fp, $data); + } + + if ($this->download === true) + { + fwrite($this->fh, $data); + } + } +} + +class mysql_extractor extends base_extractor +{ + function write_start($table_prefix) + { + $sql_data = "#\n"; + $sql_data .= "# phpBB Backup Script\n"; + $sql_data .= "# Dump of tables for $table_prefix\n"; + $sql_data .= "# DATE : " . gmdate("d-m-Y H:i:s", $this->time) . " GMT\n"; + $sql_data .= "#\n"; + $this->flush($sql_data); + } + + function write_table($table_name) + { + global $db; + static $new_extract; + + if ($new_extract === null) + { + $new_extract = version_compare($db->mysql_version, '3.23.20', '>='); + } + + if ($new_extract) + { + $this->new_write_table($table_name); + } + else + { + $this->old_write_table($table_name); + } + } + + function write_data($table_name) + { + global $db; + if ($db->sql_layer === 'mysqli') + { + $this->write_data_mysqli($table_name); + } + else + { + $this->write_data_mysql($table_name); + } + } + + function write_data_mysqli($table_name) + { + global $db; + $sql = "SELECT * + FROM $table_name"; + $result = mysqli_query($db->db_connect_id, $sql, MYSQLI_USE_RESULT); + if ($result != false) + { + $fields_cnt = mysqli_num_fields($result); + + // Get field information + $field = mysqli_fetch_fields($result); + $field_set = array(); + + for ($j = 0; $j < $fields_cnt; $j++) + { + $field_set[] = $field[$j]->name; + } + + $search = array("\\", "'", "\x00", "\x0a", "\x0d", "\x1a", '"'); + $replace = array("\\\\", "\\'", '\0', '\n', '\r', '\Z', '\\"'); + $fields = implode(', ', $field_set); + $sql_data = 'INSERT INTO ' . $table_name . ' (' . $fields . ') VALUES '; + $first_set = true; + + while ($row = mysqli_fetch_row($result)) + { + $values = array(); + if ($first_set) + { + $sql_data .= '('; + } + else + { + $sql_data .= ',('; + } + + for ($j = 0; $j < $fields_cnt; $j++) + { + if (!isset($row[$j]) || is_null($row[$j])) + { + $values[$j] = 'NULL'; + } + else if (($field[$j]->flags & 32768) && !($field[$j]->flags & 1024)) + { + $values[$j] = $row[$j]; + } + else + { + $values[$j] = "'" . str_replace($search, $replace, $row[$j]) . "'"; + } + } + $sql_data .= implode(', ', $values) . ')'; + + $this->flush($sql_data); + + $sql_data = ''; + $first_set = false; + } + mysqli_free_result($result); + + if (!$first_set) + { + $this->flush(";\n\n"); + } + } + } + + function write_data_mysql($table_name) + { + global $db; + $sql = "SELECT * + FROM $table_name"; + $result = mysql_unbuffered_query($sql, $db->db_connect_id); + + if ($result != false) + { + $fields_cnt = mysql_num_fields($result); + + // Get field information + $field = array(); + for ($i = 0; $i < $fields_cnt; $i++) + { + $field[] = mysql_fetch_field($result, $i); + } + $field_set = array(); + + for ($j = 0; $j < $fields_cnt; $j++) + { + $field_set[] = $field[$j]->name; + } + + $search = array("\\", "'", "\x00", "\x0a", "\x0d", "\x1a", '"'); + $replace = array("\\\\", "\\'", '\0', '\n', '\r', '\Z', '\\"'); + $fields = implode(', ', $field_set); + $sql_data = 'INSERT INTO ' . $table_name . ' (' . $fields . ') VALUES '; + + $first_set = true; + + while ($row = mysql_fetch_row($result)) + { + $values = array(); + if ($first_set) + { + $sql_data .= '('; + } + else + { + $sql_data .= ',('; + } + + for ($j = 0; $j < $fields_cnt; $j++) + { + if (!isset($row[$j]) || is_null($row[$j])) + { + $values[$j] = 'NULL'; + } + else if ($field[$j]->numeric && ($field[$j]->type !== 'timestamp')) + { + $values[$j] = $row[$j]; + } + else + { + $values[$j] = "'" . str_replace($search, $replace, $row[$j]) . "'"; + } + } + $sql_data .= implode(', ', $values) . ')'; + + $this->flush($sql_data); + + $sql_data = ''; + $first_set = false; + } + mysql_free_result($result); + + if (!$first_set) + { + $this->flush(";\n\n"); + } + } + } + + function new_write_table($table_name) + { + global $db; + + $sql = 'SHOW CREATE TABLE ' . $table_name; + $result = $db->sql_query($sql); + $row = $db->sql_fetchrow($result); + + $sql_data = '# Table: ' . $table_name . "\n"; + $sql_data .= "DROP TABLE IF EXISTS $table_name;\n"; + $this->flush($sql_data . $row['Create Table'] . ";\n\n"); + + $db->sql_freeresult($result); + } + + function old_write_table($table_name) + { + global $db; + + $sql_data = '# Table: ' . $table_name . "\n"; + $sql_data .= "DROP TABLE IF EXISTS $table_name;\n"; + $sql_data .= "CREATE TABLE $table_name(\n"; + $rows = array(); + + $sql = "SHOW FIELDS + FROM $table_name"; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + $line = ' ' . $row['Field'] . ' ' . $row['Type']; + + if (!is_null($row['Default'])) + { + $line .= " DEFAULT '{$row['Default']}'"; + } + + if ($row['Null'] != 'YES') + { + $line .= ' NOT NULL'; + } + + if ($row['Extra'] != '') + { + $line .= ' ' . $row['Extra']; + } + + $rows[] = $line; + } + $db->sql_freeresult($result); + + $sql = "SHOW KEYS + FROM $table_name"; + + $result = $db->sql_query($sql); + + $index = array(); + while ($row = $db->sql_fetchrow($result)) + { + $kname = $row['Key_name']; + + if ($kname != 'PRIMARY') + { + if ($row['Non_unique'] == 0) + { + $kname = "UNIQUE|$kname"; + } + } + + if ($row['Sub_part']) + { + $row['Column_name'] .= '(' . $row['Sub_part'] . ')'; + } + $index[$kname][] = $row['Column_name']; + } + $db->sql_freeresult($result); + + foreach ($index as $key => $columns) + { + $line = ' '; + + if ($key == 'PRIMARY') + { + $line .= 'PRIMARY KEY (' . implode(', ', $columns) . ')'; + } + else if (strpos($key, 'UNIQUE') === 0) + { + $line .= 'UNIQUE ' . substr($key, 7) . ' (' . implode(', ', $columns) . ')'; + } + else if (strpos($key, 'FULLTEXT') === 0) + { + $line .= 'FULLTEXT ' . substr($key, 9) . ' (' . implode(', ', $columns) . ')'; + } + else + { + $line .= "KEY $key (" . implode(', ', $columns) . ')'; + } + + $rows[] = $line; + } + + $sql_data .= implode(",\n", $rows); + $sql_data .= "\n);\n\n"; + + $this->flush($sql_data); + } +} + +class sqlite_extractor extends base_extractor +{ + function write_start($prefix) + { + $sql_data = "--\n"; + $sql_data .= "-- phpBB Backup Script\n"; + $sql_data .= "-- Dump of tables for $prefix\n"; + $sql_data .= "-- DATE : " . gmdate("d-m-Y H:i:s", $this->time) . " GMT\n"; + $sql_data .= "--\n"; + $sql_data .= "BEGIN TRANSACTION;\n"; + $this->flush($sql_data); + } + + function write_table($table_name) + { + global $db; + $sql_data = '-- Table: ' . $table_name . "\n"; + $sql_data .= "DROP TABLE $table_name;\n"; + + $sql = "SELECT sql + FROM sqlite_master + WHERE type = 'table' + AND name = '" . $db->sql_escape($table_name) . "' + ORDER BY type DESC, name;"; + $result = $db->sql_query($sql); + $row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + + // Create Table + $sql_data .= $row['sql'] . ";\n"; + + $result = $db->sql_query("PRAGMA index_list('" . $db->sql_escape($table_name) . "');"); + + $ar = array(); + while ($row = $db->sql_fetchrow($result)) + { + $ar[] = $row; + } + $db->sql_freeresult($result); + + foreach ($ar as $value) + { + if (strpos($value['name'], 'autoindex') !== false) + { + continue; + } + + $result = $db->sql_query("PRAGMA index_info('" . $db->sql_escape($value['name']) . "');"); + + $fields = array(); + while ($row = $db->sql_fetchrow($result)) + { + $fields[] = $row['name']; + } + $db->sql_freeresult($result); + + $sql_data .= 'CREATE ' . ($value['unique'] ? 'UNIQUE ' : '') . 'INDEX ' . $value['name'] . ' on ' . $table_name . ' (' . implode(', ', $fields) . ");\n"; + } + + $this->flush($sql_data . "\n"); + } + + function write_data($table_name) + { + global $db; + static $proper; + + if (is_null($proper)) + { + $proper = version_compare(phpversion(), '5.1.3', '>='); + } + + if ($proper) + { + $col_types = sqlite_fetch_column_types($db->db_connect_id, $table_name); + } + else + { + $sql = "SELECT sql + FROM sqlite_master + WHERE type = 'table' + AND name = '" . $table_name . "'"; + $table_data = sqlite_single_query($db->db_connect_id, $sql); + $table_data = preg_replace('#CREATE\s+TABLE\s+"?' . $table_name . '"?#i', '', $table_data); + $table_data = trim($table_data); + + preg_match('#\((.*)\)#s', $table_data, $matches); + + $table_cols = explode(',', trim($matches[1])); + foreach ($table_cols as $declaration) + { + $entities = preg_split('#\s+#', trim($declaration)); + $column_name = preg_replace('/"?([^"]+)"?/', '\1', $entities[0]); + + // Hit a primary key, those are not what we need :D + if (empty($entities[1]) || (strtolower($entities[0]) === 'primary' && strtolower($entities[1]) === 'key')) + { + continue; + } + $col_types[$column_name] = $entities[1]; + } + } + + $sql = "SELECT * + FROM $table_name"; + $result = sqlite_unbuffered_query($db->db_connect_id, $sql); + $rows = sqlite_fetch_all($result, SQLITE_ASSOC); + $sql_insert = 'INSERT INTO ' . $table_name . ' (' . implode(', ', array_keys($col_types)) . ') VALUES ('; + foreach ($rows as $row) + { + foreach ($row as $column_name => $column_data) + { + if (is_null($column_data)) + { + $row[$column_name] = 'NULL'; + } + else if ($column_data == '') + { + $row[$column_name] = "''"; + } + else if (strpos($col_types[$column_name], 'text') !== false || strpos($col_types[$column_name], 'char') !== false || strpos($col_types[$column_name], 'blob') !== false) + { + $row[$column_name] = "'" . sanitize_data_generic(str_replace("'", "''", $column_data)) . "'"; + } + } + $this->flush($sql_insert . implode(', ', $row) . ");\n"); + } + } + + function write_end() + { + $this->flush("COMMIT;\n"); + parent::write_end(); + } +} + +class postgres_extractor extends base_extractor +{ + function write_start($prefix) + { + $sql_data = "--\n"; + $sql_data .= "-- phpBB Backup Script\n"; + $sql_data .= "-- Dump of tables for $prefix\n"; + $sql_data .= "-- DATE : " . gmdate("d-m-Y H:i:s", $this->time) . " GMT\n"; + $sql_data .= "--\n"; + $sql_data .= "BEGIN TRANSACTION;\n"; + $this->flush($sql_data); + } + + function write_table($table_name) + { + global $db; + static $domains_created = array(); + + $sql = "SELECT a.domain_name, a.data_type, a.character_maximum_length, a.domain_default + FROM INFORMATION_SCHEMA.domains a, INFORMATION_SCHEMA.column_domain_usage b + WHERE a.domain_name = b.domain_name + AND b.table_name = '{$table_name}'"; + $result = $db->sql_query($sql); + while ($row = $db->sql_fetchrow($result)) + { + if (empty($domains_created[$row['domain_name']])) + { + $domains_created[$row['domain_name']] = true; + //$sql_data = "DROP DOMAIN {$row['domain_name']};\n"; + $sql_data = "CREATE DOMAIN {$row['domain_name']} as {$row['data_type']}"; + if (!empty($row['character_maximum_length'])) + { + $sql_data .= '(' . $row['character_maximum_length'] . ')'; + } + $sql_data .= ' NOT NULL'; + if (!empty($row['domain_default'])) + { + $sql_data .= ' DEFAULT ' . $row['domain_default']; + } + $this->flush($sql_data . ";\n"); + } + } + + $sql_data = '-- Table: ' . $table_name . "\n"; + //$sql_data .= "DROP TABLE $table_name;\n"; + // PGSQL does not "tightly" bind sequences and tables, we must guess... + $sql = "SELECT relname + FROM pg_class + WHERE relkind = 'S' + AND relname = '{$table_name}_seq'"; + $result = $db->sql_query($sql); + // We don't even care about storing the results. We already know the answer if we get rows back. + if ($db->sql_fetchrow($result)) + { + $sql_data .= "DROP SEQUENCE {$table_name}_seq;\n"; + $sql_data .= "CREATE SEQUENCE {$table_name}_seq;\n"; + } + $db->sql_freeresult($result); + + $field_query = "SELECT a.attnum, a.attname as field, t.typname as type, a.attlen as length, a.atttypmod as lengthvar, a.attnotnull as notnull + FROM pg_class c, pg_attribute a, pg_type t + WHERE c.relname = '" . $db->sql_escape($table_name) . "' + AND a.attnum > 0 + AND a.attrelid = c.oid + AND a.atttypid = t.oid + ORDER BY a.attnum"; + $result = $db->sql_query($field_query); + + $sql_data .= "CREATE TABLE $table_name(\n"; + $lines = array(); + while ($row = $db->sql_fetchrow($result)) + { + // Get the data from the table + $sql_get_default = "SELECT pg_get_expr(d.adbin, d.adrelid) as rowdefault + FROM pg_attrdef d, pg_class c + WHERE (c.relname = '" . $db->sql_escape($table_name) . "') + AND (c.oid = d.adrelid) + AND d.adnum = " . $row['attnum']; + $def_res = $db->sql_query($sql_get_default); + + if (!$def_res) + { + unset($row['rowdefault']); + } + else + { + $row['rowdefault'] = $db->sql_fetchfield('rowdefault', false, $def_res); + } + $db->sql_freeresult($def_res); + + if ($row['type'] == 'bpchar') + { + // Internally stored as bpchar, but isn't accepted in a CREATE TABLE statement. + $row['type'] = 'char'; + } + + $line = ' ' . $row['field'] . ' ' . $row['type']; + + if (strpos($row['type'], 'char') !== false) + { + if ($row['lengthvar'] > 0) + { + $line .= '(' . ($row['lengthvar'] - 4) . ')'; + } + } + + if (strpos($row['type'], 'numeric') !== false) + { + $line .= '('; + $line .= sprintf("%s,%s", (($row['lengthvar'] >> 16) & 0xffff), (($row['lengthvar'] - 4) & 0xffff)); + $line .= ')'; + } + + if (!empty($row['rowdefault'])) + { + $line .= ' DEFAULT ' . $row['rowdefault']; + } + + if ($row['notnull'] == 't') + { + $line .= ' NOT NULL'; + } + + $lines[] = $line; + } + $db->sql_freeresult($result); + + + // Get the listing of primary keys. + $sql_pri_keys = "SELECT ic.relname as index_name, bc.relname as tab_name, ta.attname as column_name, i.indisunique as unique_key, i.indisprimary as primary_key + FROM pg_class bc, pg_class ic, pg_index i, pg_attribute ta, pg_attribute ia + WHERE (bc.oid = i.indrelid) + AND (ic.oid = i.indexrelid) + AND (ia.attrelid = i.indexrelid) + AND (ta.attrelid = bc.oid) + AND (bc.relname = '" . $db->sql_escape($table_name) . "') + AND (ta.attrelid = i.indrelid) + AND (ta.attnum = i.indkey[ia.attnum-1]) + ORDER BY index_name, tab_name, column_name"; + + $result = $db->sql_query($sql_pri_keys); + + $index_create = $index_rows = $primary_key = array(); + + // We do this in two steps. It makes placing the comma easier + while ($row = $db->sql_fetchrow($result)) + { + if ($row['primary_key'] == 't') + { + $primary_key[] = $row['column_name']; + $primary_key_name = $row['index_name']; + } + else + { + // We have to store this all this info because it is possible to have a multi-column key... + // we can loop through it again and build the statement + $index_rows[$row['index_name']]['table'] = $table_name; + $index_rows[$row['index_name']]['unique'] = ($row['unique_key'] == 't') ? true : false; + $index_rows[$row['index_name']]['column_names'][] = $row['column_name']; + } + } + $db->sql_freeresult($result); + + if (!empty($index_rows)) + { + foreach ($index_rows as $idx_name => $props) + { + $index_create[] = 'CREATE ' . ($props['unique'] ? 'UNIQUE ' : '') . "INDEX $idx_name ON $table_name (" . implode(', ', $props['column_names']) . ");"; + } + } + + if (!empty($primary_key)) + { + $lines[] = " CONSTRAINT $primary_key_name PRIMARY KEY (" . implode(', ', $primary_key) . ")"; + } + + // Generate constraint clauses for CHECK constraints + $sql_checks = "SELECT conname as index_name, consrc + FROM pg_constraint, pg_class bc + WHERE conrelid = bc.oid + AND bc.relname = '" . $db->sql_escape($table_name) . "' + AND NOT EXISTS ( + SELECT * + FROM pg_constraint as c, pg_inherits as i + WHERE i.inhrelid = pg_constraint.conrelid + AND c.conname = pg_constraint.conname + AND c.consrc = pg_constraint.consrc + AND c.conrelid = i.inhparent + )"; + $result = $db->sql_query($sql_checks); + + // Add the constraints to the sql file. + while ($row = $db->sql_fetchrow($result)) + { + if (!is_null($row['consrc'])) + { + $lines[] = ' CONSTRAINT ' . $row['index_name'] . ' CHECK ' . $row['consrc']; + } + } + $db->sql_freeresult($result); + + $sql_data .= implode(", \n", $lines); + $sql_data .= "\n);\n"; + + if (!empty($index_create)) + { + $sql_data .= implode("\n", $index_create) . "\n\n"; + } + $this->flush($sql_data); + } + + function write_data($table_name) + { + global $db; + // Grab all of the data from current table. + $sql = "SELECT * + FROM $table_name"; + $result = $db->sql_query($sql); + + $i_num_fields = pg_num_fields($result); + $seq = ''; + + for ($i = 0; $i < $i_num_fields; $i++) + { + $ary_type[] = pg_field_type($result, $i); + $ary_name[] = pg_field_name($result, $i); + + + $sql = "SELECT pg_get_expr(d.adbin, d.adrelid) as rowdefault + FROM pg_attrdef d, pg_class c + WHERE (c.relname = '{$table_name}') + AND (c.oid = d.adrelid) + AND d.adnum = " . strval($i + 1); + $result2 = $db->sql_query($sql); + if ($row = $db->sql_fetchrow($result2)) + { + // Determine if we must reset the sequences + if (strpos($row['rowdefault'], "nextval('") === 0) + { + $seq .= "SELECT SETVAL('{$table_name}_seq',(select case when max({$ary_name[$i]})>0 then max({$ary_name[$i]})+1 else 1 end FROM {$table_name}));\n"; + } + } + } + + $this->flush("COPY $table_name (" . implode(', ', $ary_name) . ') FROM stdin;' . "\n"); + while ($row = $db->sql_fetchrow($result)) + { + $schema_vals = array(); + + // Build the SQL statement to recreate the data. + for ($i = 0; $i < $i_num_fields; $i++) + { + $str_val = $row[$ary_name[$i]]; + + if (preg_match('#char|text|bool|bytea#i', $ary_type[$i])) + { + $str_val = str_replace(array("\n", "\t", "\r", "\b", "\f", "\v"), array('\n', '\t', '\r', '\b', '\f', '\v'), addslashes($str_val)); + $str_empty = ''; + } + else + { + $str_empty = '\N'; + } + + if (empty($str_val) && $str_val !== '0') + { + $str_val = $str_empty; + } + + $schema_vals[] = $str_val; + } + + // Take the ordered fields and their associated data and build it + // into a valid sql statement to recreate that field in the data. + $this->flush(implode("\t", $schema_vals) . "\n"); + } + $db->sql_freeresult($result); + $this->flush("\\.\n"); + + // Write out the sequence statements + $this->flush($seq); + } + + function write_end() + { + $this->flush("COMMIT;\n"); + parent::write_end(); + } +} + +class mssql_extractor extends base_extractor +{ + function write_end() + { + $this->flush("COMMIT\nGO\n"); + } + + function write_start($prefix) + { + $sql_data = "--\n"; + $sql_data .= "-- phpBB Backup Script\n"; + $sql_data .= "-- Dump of tables for $prefix\n"; + $sql_data .= "-- DATE : " . gmdate("d-m-Y H:i:s", $this->time) . " GMT\n"; + $sql_data .= "--\n"; + $sql_data .= "BEGIN TRANSACTION\n"; + $sql_data .= "GO\n"; + $this->flush($sql_data); + } + + function write_table($table_name) + { + global $db; + $sql_data = '-- Table: ' . $table_name . "\n"; + $sql_data .= "IF OBJECT_ID(N'$table_name', N'U') IS NOT NULL\n"; + $sql_data .= "DROP TABLE $table_name;\n"; + $sql_data .= "GO\n"; + $sql_data .= "\nCREATE TABLE [$table_name] (\n"; + $rows = array(); + + $text_flag = false; + + $sql = "SELECT COLUMN_NAME, COLUMN_DEFAULT, IS_NULLABLE, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity') as IS_IDENTITY + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = '$table_name'"; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + $line = "\t[{$row['COLUMN_NAME']}] [{$row['DATA_TYPE']}]"; + + if ($row['DATA_TYPE'] == 'text') + { + $text_flag = true; + } + + if ($row['IS_IDENTITY']) + { + $line .= ' IDENTITY (1 , 1)'; + } + + if ($row['CHARACTER_MAXIMUM_LENGTH'] && $row['DATA_TYPE'] !== 'text') + { + $line .= ' (' . $row['CHARACTER_MAXIMUM_LENGTH'] . ')'; + } + + if ($row['IS_NULLABLE'] == 'YES') + { + $line .= ' NULL'; + } + else + { + $line .= ' NOT NULL'; + } + + if ($row['COLUMN_DEFAULT']) + { + $line .= ' DEFAULT ' . $row['COLUMN_DEFAULT']; + } + + $rows[] = $line; + } + $db->sql_freeresult($result); + + $sql_data .= implode(",\n", $rows); + $sql_data .= "\n) ON [PRIMARY]"; + + if ($text_flag) + { + $sql_data .= " TEXTIMAGE_ON [PRIMARY]"; + } + + $sql_data .= "\nGO\n\n"; + $rows = array(); + + $sql = "SELECT CONSTRAINT_NAME, COLUMN_NAME + FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE + WHERE TABLE_NAME = '$table_name'"; + $result = $db->sql_query($sql); + while ($row = $db->sql_fetchrow($result)) + { + if (!sizeof($rows)) + { + $sql_data .= "ALTER TABLE [$table_name] WITH NOCHECK ADD\n"; + $sql_data .= "\tCONSTRAINT [{$row['CONSTRAINT_NAME']}] PRIMARY KEY CLUSTERED \n\t(\n"; + } + $rows[] = "\t\t[{$row['COLUMN_NAME']}]"; + } + if (sizeof($rows)) + { + $sql_data .= implode(",\n", $rows); + $sql_data .= "\n\t) ON [PRIMARY] \nGO\n"; + } + $db->sql_freeresult($result); + + $index = array(); + $sql = "EXEC sp_statistics '$table_name'"; + $result = $db->sql_query($sql); + while ($row = $db->sql_fetchrow($result)) + { + if ($row['TYPE'] == 3) + { + $index[$row['INDEX_NAME']][] = '[' . $row['COLUMN_NAME'] . ']'; + } + } + $db->sql_freeresult($result); + + foreach ($index as $index_name => $column_name) + { + $index[$index_name] = implode(', ', $column_name); + } + + foreach ($index as $index_name => $columns) + { + $sql_data .= "\nCREATE INDEX [$index_name] ON [$table_name]($columns) ON [PRIMARY]\nGO\n"; + } + $this->flush($sql_data); + } + + function write_data($table_name) + { + global $db; + + if ($db->sql_layer === 'mssql') + { + $this->write_data_mssql($table_name); + } + else + { + $this->write_data_odbc($table_name); + } + } + + function write_data_mssql($table_name) + { + global $db; + $ary_type = $ary_name = array(); + $ident_set = false; + $sql_data = ''; + + // Grab all of the data from current table. + $sql = "SELECT * + FROM $table_name"; + $result = $db->sql_query($sql); + + $retrieved_data = mssql_num_rows($result); + + $i_num_fields = mssql_num_fields($result); + + for ($i = 0; $i < $i_num_fields; $i++) + { + $ary_type[$i] = mssql_field_type($result, $i); + $ary_name[$i] = mssql_field_name($result, $i); + } + + if ($retrieved_data) + { + $sql = "SELECT 1 as has_identity + FROM INFORMATION_SCHEMA.COLUMNS + WHERE COLUMNPROPERTY(object_id('$table_name'), COLUMN_NAME, 'IsIdentity') = 1"; + $result2 = $db->sql_query($sql); + $row2 = $db->sql_fetchrow($result2); + if (!empty($row2['has_identity'])) + { + $sql_data .= "\nSET IDENTITY_INSERT $table_name ON\nGO\n"; + $ident_set = true; + } + $db->sql_freeresult($result2); + } + + while ($row = $db->sql_fetchrow($result)) + { + $schema_vals = $schema_fields = array(); + + // Build the SQL statement to recreate the data. + for ($i = 0; $i < $i_num_fields; $i++) + { + $str_val = $row[$ary_name[$i]]; + + if (preg_match('#char|text|bool|varbinary#i', $ary_type[$i])) + { + $str_quote = "'"; + $str_empty = ''; + $str_val = sanitize_data_mssql(str_replace("'", "''", $str_val)); + } + else if (preg_match('#date|timestamp#i', $ary_type[$i])) + { + if (empty($str_val)) + { + $str_quote = ''; + } + else + { + $str_quote = "'"; + } + } + else + { + $str_quote = ''; + $str_empty = 'NULL'; + } + + if (empty($str_val) && $str_val !== '0' && !(is_int($str_val) || is_float($str_val))) + { + $str_val = $str_empty; + } + + $schema_vals[$i] = $str_quote . $str_val . $str_quote; + $schema_fields[$i] = $ary_name[$i]; + } + + // Take the ordered fields and their associated data and build it + // into a valid sql statement to recreate that field in the data. + $sql_data .= "INSERT INTO $table_name (" . implode(', ', $schema_fields) . ') VALUES (' . implode(', ', $schema_vals) . ");\nGO\n"; + + $this->flush($sql_data); + $sql_data = ''; + } + $db->sql_freeresult($result); + + if ($retrieved_data && $ident_set) + { + $sql_data .= "\nSET IDENTITY_INSERT $table_name OFF\nGO\n"; + } + $this->flush($sql_data); + } + + function write_data_odbc($table_name) + { + global $db; + $ary_type = $ary_name = array(); + $ident_set = false; + $sql_data = ''; + + // Grab all of the data from current table. + $sql = "SELECT * + FROM $table_name"; + $result = $db->sql_query($sql); + + $retrieved_data = odbc_num_rows($result); + + if ($retrieved_data) + { + $sql = "SELECT 1 as has_identity + FROM INFORMATION_SCHEMA.COLUMNS + WHERE COLUMNPROPERTY(object_id('$table_name'), COLUMN_NAME, 'IsIdentity') = 1"; + $result2 = $db->sql_query($sql); + $row2 = $db->sql_fetchrow($result2); + if (!empty($row2['has_identity'])) + { + $sql_data .= "\nSET IDENTITY_INSERT $table_name ON\nGO\n"; + $ident_set = true; + } + $db->sql_freeresult($result2); + } + + $i_num_fields = odbc_num_fields($result); + + for ($i = 0; $i < $i_num_fields; $i++) + { + $ary_type[$i] = odbc_field_type($result, $i + 1); + $ary_name[$i] = odbc_field_name($result, $i + 1); + } + + while ($row = $db->sql_fetchrow($result)) + { + $schema_vals = $schema_fields = array(); + + // Build the SQL statement to recreate the data. + for ($i = 0; $i < $i_num_fields; $i++) + { + $str_val = $row[$ary_name[$i]]; + + if (preg_match('#char|text|bool|varbinary#i', $ary_type[$i])) + { + $str_quote = "'"; + $str_empty = ''; + $str_val = sanitize_data_mssql(str_replace("'", "''", $str_val)); + } + else if (preg_match('#date|timestamp#i', $ary_type[$i])) + { + if (empty($str_val)) + { + $str_quote = ''; + } + else + { + $str_quote = "'"; + } + } + else + { + $str_quote = ''; + $str_empty = 'NULL'; + } + + if (empty($str_val) && $str_val !== '0' && !(is_int($str_val) || is_float($str_val))) + { + $str_val = $str_empty; + } + + $schema_vals[$i] = $str_quote . $str_val . $str_quote; + $schema_fields[$i] = $ary_name[$i]; + } + + // Take the ordered fields and their associated data and build it + // into a valid sql statement to recreate that field in the data. + $sql_data .= "INSERT INTO $table_name (" . implode(', ', $schema_fields) . ') VALUES (' . implode(', ', $schema_vals) . ");\nGO\n"; + + $this->flush($sql_data); + + $sql_data = ''; + + } + $db->sql_freeresult($result); + + if ($retrieved_data && $ident_set) + { + $sql_data .= "\nSET IDENTITY_INSERT $table_name OFF\nGO\n"; + } + $this->flush($sql_data); + } + +} + +class oracle_extractor extends base_extractor +{ + function write_table($table_name) + { + global $db; + $sql_data = '-- Table: ' . $table_name . "\n"; + $sql_data .= "DROP TABLE $table_name;\n"; + $sql_data .= '\\' . "\n"; + $sql_data .= "\nCREATE TABLE $table_name (\n"; + + $sql = "SELECT COLUMN_NAME, DATA_TYPE, DATA_PRECISION, DATA_LENGTH, NULLABLE, DATA_DEFAULT + FROM ALL_TAB_COLS + WHERE table_name = '{$table_name}'"; + $result = $db->sql_query($sql); + + $rows = array(); + while ($row = $db->sql_fetchrow($result)) + { + $line = ' "' . $row['column_name'] . '" ' . $row['data_type']; + + if ($row['data_type'] !== 'CLOB') + { + if ($row['data_type'] !== 'VARCHAR2') + { + $line .= '(' . $row['data_precision'] . ')'; + } + else + { + $line .= '(' . $row['data_length'] . ')'; + } + } + + if (!empty($row['data_default'])) + { + $line .= ' DEFAULT ' . $row['data_default']; + } + + if ($row['nullable'] == 'N') + { + $line .= ' NOT NULL'; + } + $rows[] = $line; + } + $db->sql_freeresult($result); + + $sql = "SELECT A.CONSTRAINT_NAME, A.COLUMN_NAME + FROM USER_CONS_COLUMNS A, USER_CONSTRAINTS B + WHERE A.CONSTRAINT_NAME = B.CONSTRAINT_NAME + AND B.CONSTRAINT_TYPE = 'P' + AND A.TABLE_NAME = '{$table_name}'"; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + $rows[] = " CONSTRAINT {$row['constraint_name']} PRIMARY KEY ({$row['column_name']})"; + } + $db->sql_freeresult($result); + + $sql = "SELECT A.CONSTRAINT_NAME, A.COLUMN_NAME + FROM USER_CONS_COLUMNS A, USER_CONSTRAINTS B + WHERE A.CONSTRAINT_NAME = B.CONSTRAINT_NAME + AND B.CONSTRAINT_TYPE = 'U' + AND A.TABLE_NAME = '{$table_name}'"; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + $rows[] = " CONSTRAINT {$row['constraint_name']} UNIQUE ({$row['column_name']})"; + } + $db->sql_freeresult($result); + + $sql_data .= implode(",\n", $rows); + $sql_data .= "\n)\n\\"; + + $sql = "SELECT A.REFERENCED_NAME + FROM USER_DEPENDENCIES A, USER_TRIGGERS B + WHERE A.REFERENCED_TYPE = 'SEQUENCE' + AND A.NAME = B.TRIGGER_NAME + AND B. TABLE_NAME = '{$table_name}'"; + $result = $db->sql_query($sql); + while ($row = $db->sql_fetchrow($result)) + { + $sql_data .= "\nCREATE SEQUENCE {$row['referenced_name']}\\\n"; + } + $db->sql_freeresult($result); + + $sql = "SELECT DESCRIPTION, WHEN_CLAUSE, TRIGGER_BODY + FROM USER_TRIGGERS + WHERE TABLE_NAME = '{$table_name}'"; + $result = $db->sql_query($sql); + while ($row = $db->sql_fetchrow($result)) + { + $sql_data .= "\nCREATE OR REPLACE TRIGGER {$row['description']}WHEN ({$row['when_clause']})\n{$row['trigger_body']}\\"; + } + $db->sql_freeresult($result); + + $sql = "SELECT A.INDEX_NAME, B.COLUMN_NAME + FROM USER_INDEXES A, USER_IND_COLUMNS B + WHERE A.UNIQUENESS = 'NONUNIQUE' + AND A.INDEX_NAME = B.INDEX_NAME + AND B.TABLE_NAME = '{$table_name}'"; + $result = $db->sql_query($sql); + + $index = array(); + + while ($row = $db->sql_fetchrow($result)) + { + $index[$row['index_name']][] = $row['column_name']; + } + + foreach ($index as $index_name => $column_names) + { + $sql_data .= "\nCREATE INDEX $index_name ON $table_name(" . implode(', ', $column_names) . ")\n\\"; + } + $db->sql_freeresult($result); + $this->flush($sql_data); + } + + function write_data($table_name) + { + global $db; + $ary_type = $ary_name = array(); + + // Grab all of the data from current table. + $sql = "SELECT * + FROM $table_name"; + $result = $db->sql_query($sql); + + $i_num_fields = ocinumcols($result); + + for ($i = 0; $i < $i_num_fields; $i++) + { + $ary_type[$i] = ocicolumntype($result, $i + 1); + $ary_name[$i] = ocicolumnname($result, $i + 1); + } + + $sql_data = ''; + + while ($row = $db->sql_fetchrow($result)) + { + $schema_vals = $schema_fields = array(); + + // Build the SQL statement to recreate the data. + for ($i = 0; $i < $i_num_fields; $i++) + { + $str_val = $row[$ary_name[$i]]; + + if (preg_match('#char|text|bool|raw#i', $ary_type[$i])) + { + $str_quote = "'"; + $str_empty = ''; + $str_val = sanitize_data_oracle($str_val); + } + else if (preg_match('#date|timestamp#i', $ary_type[$i])) + { + if (empty($str_val)) + { + $str_quote = ''; + } + else + { + $str_quote = "'"; + } + } + else + { + $str_quote = ''; + $str_empty = 'NULL'; + } + + if (empty($str_val) && $str_val !== '0') + { + $str_val = $str_empty; + } + + $schema_vals[$i] = $str_quote . $str_val . $str_quote; + $schema_fields[$i] = '"' . $ary_name[$i] . "'"; + } + + // Take the ordered fields and their associated data and build it + // into a valid sql statement to recreate that field in the data. + $sql_data = "INSERT INTO $table_name (" . implode(', ', $schema_fields) . ') VALUES (' . implode(', ', $schema_vals) . ");\n"; + + $this->flush($sql_data); + } + $db->sql_freeresult($result); + } + + function write_start($prefix) + { + $sql_data = "--\n"; + $sql_data .= "-- phpBB Backup Script\n"; + $sql_data .= "-- Dump of tables for $prefix\n"; + $sql_data .= "-- DATE : " . gmdate("d-m-Y H:i:s", $this->time) . " GMT\n"; + $sql_data .= "--\n"; + $this->flush($sql_data); + } +} + +class firebird_extractor extends base_extractor +{ + function write_start($prefix) + { + $sql_data = "--\n"; + $sql_data .= "-- phpBB Backup Script\n"; + $sql_data .= "-- Dump of tables for $prefix\n"; + $sql_data .= "-- DATE : " . gmdate("d-m-Y H:i:s", $this->time) . " GMT\n"; + $sql_data .= "--\n"; + $this->flush($sql_data); + } + + function write_data($table_name) + { + global $db; + $ary_type = $ary_name = array(); + + // Grab all of the data from current table. + $sql = "SELECT * + FROM $table_name"; + $result = $db->sql_query($sql); + + $i_num_fields = ibase_num_fields($result); + + for ($i = 0; $i < $i_num_fields; $i++) + { + $info = ibase_field_info($result, $i); + $ary_type[$i] = $info['type']; + $ary_name[$i] = $info['name']; + } + + while ($row = $db->sql_fetchrow($result)) + { + $schema_vals = $schema_fields = array(); + + // Build the SQL statement to recreate the data. + for ($i = 0; $i < $i_num_fields; $i++) + { + $str_val = $row[strtolower($ary_name[$i])]; + + if (preg_match('#char|text|bool|varbinary|blob#i', $ary_type[$i])) + { + $str_quote = "'"; + $str_empty = ''; + $str_val = sanitize_data_generic(str_replace("'", "''", $str_val)); + } + else if (preg_match('#date|timestamp#i', $ary_type[$i])) + { + if (empty($str_val)) + { + $str_quote = ''; + } + else + { + $str_quote = "'"; + } + } + else + { + $str_quote = ''; + $str_empty = 'NULL'; + } + + if (empty($str_val) && $str_val !== '0') + { + $str_val = $str_empty; + } + + $schema_vals[$i] = $str_quote . $str_val . $str_quote; + $schema_fields[$i] = '"' . $ary_name[$i] . '"'; + } + + // Take the ordered fields and their associated data and build it + // into a valid sql statement to recreate that field in the data. + $sql_data = "INSERT INTO $table_name (" . implode(', ', $schema_fields) . ') VALUES (' . implode(', ', $schema_vals) . ");\n"; + + $this->flush($sql_data); + } + $db->sql_freeresult($result); + } + + function write_table($table_name) + { + global $db; + + $sql_data = '-- Table: ' . $table_name . "\n"; + $sql_data .= "DROP TABLE $table_name;\n"; + + $data_types = array(7 => 'SMALLINT', 8 => 'INTEGER', 10 => 'FLOAT', 12 => 'DATE', 13 => 'TIME', 14 => 'CHARACTER', 27 => 'DOUBLE PRECISION', 35 => 'TIMESTAMP', 37 => 'VARCHAR', 40 => 'CSTRING', 261 => 'BLOB', 701 => 'DECIMAL', 702 => 'NUMERIC'); + + $sql_data .= "\nCREATE TABLE $table_name (\n"; + + $sql = 'SELECT DISTINCT R.RDB$FIELD_NAME as FNAME, R.RDB$NULL_FLAG as NFLAG, R.RDB$DEFAULT_SOURCE as DSOURCE, F.RDB$FIELD_TYPE as FTYPE, F.RDB$FIELD_SUB_TYPE as STYPE, F.RDB$FIELD_LENGTH as FLEN + FROM RDB$RELATION_FIELDS R + JOIN RDB$FIELDS F ON R.RDB$FIELD_SOURCE=F.RDB$FIELD_NAME + LEFT JOIN RDB$FIELD_DIMENSIONS D ON R.RDB$FIELD_SOURCE = D.RDB$FIELD_NAME + WHERE F.RDB$SYSTEM_FLAG = 0 + AND R.RDB$RELATION_NAME = \''. $table_name . '\' + ORDER BY R.RDB$FIELD_POSITION'; + $result = $db->sql_query($sql); + + $rows = array(); + while ($row = $db->sql_fetchrow($result)) + { + $line = "\t" . '"' . $row['fname'] . '" ' . $data_types[$row['ftype']]; + + if ($row['ftype'] == 261 && $row['stype'] == 1) + { + $line .= ' SUB_TYPE TEXT'; + } + + if ($row['ftype'] == 37 || $row['ftype'] == 14) + { + $line .= ' (' . $row['flen'] . ')'; + } + + if (!empty($row['dsource'])) + { + $line .= ' ' . $row['dsource']; + } + + if (!empty($row['nflag'])) + { + $line .= ' NOT NULL'; + } + $rows[] = $line; + } + $db->sql_freeresult($result); + + $sql_data .= implode(",\n", $rows); + $sql_data .= "\n);\n"; + $keys = array(); + + $sql = 'SELECT I.RDB$FIELD_NAME as NAME + FROM RDB$RELATION_CONSTRAINTS RC, RDB$INDEX_SEGMENTS I, RDB$INDICES IDX + WHERE (I.RDB$INDEX_NAME = RC.RDB$INDEX_NAME) + AND (IDX.RDB$INDEX_NAME = RC.RDB$INDEX_NAME) + AND (RC.RDB$RELATION_NAME = \''. $table_name . '\') + ORDER BY I.RDB$FIELD_POSITION'; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + $keys[] = $row['name']; + } + + if (sizeof($keys)) + { + $sql_data .= "\nALTER TABLE $table_name ADD PRIMARY KEY (" . implode(', ', $keys) . ');'; + } + + $db->sql_freeresult($result); + + $sql = 'SELECT I.RDB$INDEX_NAME as INAME, I.RDB$UNIQUE_FLAG as UFLAG, S.RDB$FIELD_NAME as FNAME + FROM RDB$INDICES I JOIN RDB$INDEX_SEGMENTS S ON S.RDB$INDEX_NAME=I.RDB$INDEX_NAME + WHERE (I.RDB$SYSTEM_FLAG IS NULL OR I.RDB$SYSTEM_FLAG=0) + AND I.RDB$FOREIGN_KEY IS NULL + AND I.RDB$RELATION_NAME = \''. $table_name . '\' + AND I.RDB$INDEX_NAME NOT STARTING WITH \'RDB$\' + ORDER BY S.RDB$FIELD_POSITION'; + $result = $db->sql_query($sql); + + $index = array(); + while ($row = $db->sql_fetchrow($result)) + { + $index[$row['iname']]['unique'] = !empty($row['uflag']); + $index[$row['iname']]['values'][] = $row['fname']; + } + + foreach ($index as $index_name => $data) + { + $sql_data .= "\nCREATE "; + if ($data['unique']) + { + $sql_data .= 'UNIQUE '; + } + $sql_data .= "INDEX $index_name ON $table_name(" . implode(', ', $data['values']) . ");"; + } + $sql_data .= "\n"; + + $db->sql_freeresult($result); + + $sql = 'SELECT D1.RDB$DEPENDENT_NAME as DNAME, D1.RDB$FIELD_NAME as FNAME, D1.RDB$DEPENDENT_TYPE, R1.RDB$RELATION_NAME + FROM RDB$DEPENDENCIES D1 + LEFT JOIN RDB$RELATIONS R1 ON ((D1.RDB$DEPENDENT_NAME = R1.RDB$RELATION_NAME) AND (NOT (R1.RDB$VIEW_BLR IS NULL))) + WHERE (D1.RDB$DEPENDED_ON_TYPE = 0) + AND (D1.RDB$DEPENDENT_TYPE <> 3) + AND (D1.RDB$DEPENDED_ON_NAME = \'' . $table_name . '\') + UNION SELECT DISTINCT F2.RDB$RELATION_NAME, D2.RDB$FIELD_NAME, D2.RDB$DEPENDENT_TYPE, R2.RDB$RELATION_NAME FROM RDB$DEPENDENCIES D2, RDB$RELATION_FIELDS F2 + LEFT JOIN RDB$RELATIONS R2 ON ((F2.RDB$RELATION_NAME = R2.RDB$RELATION_NAME) AND (NOT (R2.RDB$VIEW_BLR IS NULL))) + WHERE (D2.RDB$DEPENDENT_TYPE = 3) + AND (D2.RDB$DEPENDENT_NAME = F2.RDB$FIELD_SOURCE) + AND (D2.RDB$DEPENDED_ON_NAME = \'' . $table_name . '\') + ORDER BY 1, 2'; + $result = $db->sql_query($sql); + while ($row = $db->sql_fetchrow($result)) + { + $sql = 'SELECT T1.RDB$DEPENDED_ON_NAME as GEN, T1.RDB$FIELD_NAME, T1.RDB$DEPENDED_ON_TYPE + FROM RDB$DEPENDENCIES T1 + WHERE (T1.RDB$DEPENDENT_NAME = \'' . $row['dname'] . '\') + AND (T1.RDB$DEPENDENT_TYPE = 2 AND T1.RDB$DEPENDED_ON_TYPE = 14) + UNION ALL SELECT DISTINCT D.RDB$DEPENDED_ON_NAME, D.RDB$FIELD_NAME, D.RDB$DEPENDED_ON_TYPE + FROM RDB$DEPENDENCIES D, RDB$RELATION_FIELDS F + WHERE (D.RDB$DEPENDENT_TYPE = 3) + AND (D.RDB$DEPENDENT_NAME = F.RDB$FIELD_SOURCE) + AND (F.RDB$RELATION_NAME = \'' . $row['dname'] . '\') + ORDER BY 1,2'; + $result2 = $db->sql_query($sql); + $row2 = $db->sql_fetchrow($result2); + $db->sql_freeresult($result2); + $gen_name = $row2['gen']; + + $sql_data .= "\nDROP GENERATOR " . $gen_name . ";"; + $sql_data .= "\nSET TERM ^ ;"; + $sql_data .= "\nCREATE GENERATOR " . $gen_name . "^"; + $sql_data .= "\nSET GENERATOR " . $gen_name . " TO 0^\n"; + $sql_data .= "\nCREATE TRIGGER {$row['dname']} FOR $table_name"; + $sql_data .= "\nBEFORE INSERT\nAS\nBEGIN"; + $sql_data .= "\n NEW.{$row['fname']} = GEN_ID(" . $gen_name . ", 1);"; + $sql_data .= "\nEND^\n"; + $sql_data .= "\nSET TERM ; ^\n"; + } + + $this->flush($sql_data); + + $db->sql_freeresult($result); + } +} + +function sanitize_data_mssql($text) +{ + $data = preg_split('/[\n\t\r\b\f]/', $text); + preg_match_all('/[\n\t\r\b\f]/', $text, $matches); + + $val = array(); + + foreach ($data as $value) + { + if (strlen($value)) + { + $val[] = $value; + } + if (sizeof($matches[0])) + { + $val[] = 'char(' . ord(array_shift($matches[0])) . ')'; + } + } + + return implode('+', $val); +} + +function sanitize_data_oracle($text) +{ + $data = preg_split('/[\0\n\t\r\b\f\'"\\\]/', $text); + preg_match_all('/[\0\n\t\r\b\f\'"\\\]/', $text, $matches); + + $val = array(); + + foreach ($data as $value) + { + if (strlen($value)) + { + $val[] = $value; + } + if (sizeof($matches[0])) + { + $val[] = 'chr(' . ord(array_shift($matches[0])) . ')'; + } + } + + return implode('||', $val); +} + +function sanitize_data_generic($text) +{ + $data = preg_split('/[\n\t\r\b\f]/', $text); + preg_match_all('/[\n\t\r\b\f]/', $text, $matches); + + $val = array(); + + foreach ($data as $value) + { + if (strlen($value)) + { + $val[] = $value; + } + if (sizeof($matches[0])) + { + $val[] = "'" . array_shift($matches[0]) . "'"; + } + } + + return implode('||', $val); } // Internal handler for BZip2 @@ -1985,4 +2157,32 @@ function ob_bz2handler($data, $mode) } } +// modified from PHP.net +function fgetd(&$fp, $delim, $read, $seek, $eof, $buffer = 8192) +{ + $record = ''; + $delim_len = strlen($delim); + + while (!$eof($fp)) + { + $pos = strpos($record, $delim); + if ($pos === false) + { + $record .= $read($fp, $buffer); + if ($eof($fp) && ($pos = strpos($record, $delim)) !== false) + { + $seek($fp, $pos + $delim_len - strlen($record), SEEK_CUR); + return substr($record, 0, $pos); + } + } + else + { + $seek($fp, $pos + $delim_len - strlen($record), SEEK_CUR); + return substr($record, 0, $pos); + } + } + + return false; +} + ?> \ No newline at end of file From a014f237de59b30385f750b0b17b2f62622d8e00 Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 15 Feb 2007 21:51:54 +0000 Subject: [PATCH 039/707] #8144 git-svn-id: file:///svn/phpbb/trunk@6989 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index b6405d88fe..f450d1a284 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -616,7 +616,14 @@ class mysql_extractor extends base_extractor if ($new_extract === null) { - $new_extract = version_compare($db->mysql_version, '3.23.20', '>='); + if ($db->sql_layer === 'mysqli' || version_compare($db->mysql_version, '3.23.20', '>=')) + { + $new_extract = true; + } + else + { + $new_extract = false; + } } if ($new_extract) From caf5bfffd7e15b31f040746db1a18530b2a5642f Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 16 Feb 2007 00:46:21 +0000 Subject: [PATCH 040/707] #8146 - came up with an alternate chunking algorithm, it does not require additional calls to seek (it reads exactly what it needs to and does not need to look at the same piece of data twice) and may or may not be more optimal than the previous chunking algorithm (may be faster, may use more memory). For this reason, it is only used when the stream is not seekable (bzip2 is the only format that is not seekable) git-svn-id: file:///svn/phpbb/trunk@6990 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 52 +++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 7 deletions(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index f450d1a284..e1ec9fa8bc 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -355,14 +355,16 @@ class acp_database $seek = 'fseek'; $eof = 'feof'; $close = 'fclose'; + $fgetd = 'fgetd'; break; case 'sql.bz2': $fp = bzopen($file_name, 'r'); $read = 'bzread'; - $seek = 'bzseek'; + $seek = ''; $eof = 'feof'; $close = 'bzclose'; + $fgetd = 'fgetd_seekless'; break; case 'sql.gz': @@ -371,6 +373,7 @@ class acp_database $seek = 'gzseek'; $eof = 'gzeof'; $close = 'gzclose'; + $fgetd = 'fgetd'; break; } @@ -382,7 +385,7 @@ class acp_database case 'sqlite': while (!$eof($fp)) { - $db->sql_query(fgetd($fp, ";\n", $read, $seek, $eof)); + $db->sql_query($fgetd($fp, ";\n", $read, $seek, $eof)); } break; @@ -390,7 +393,7 @@ class acp_database $delim = ";\n"; while (!$eof($fp)) { - $query = trim(fgetd($fp, $delim, $read, $seek, $eof)); + $query = trim($fgetd($fp, $delim, $read, $seek, $eof)); if (substr($query, 0, 8) === 'SET TERM') { $delim = $query[9] . "\n"; @@ -403,11 +406,11 @@ class acp_database case 'postgres': while (!$eof($fp)) { - $query = trim(fgetd($fp, ";\n", $read, $seek, $eof)); + $query = trim($fgetd($fp, ";\n", $read, $seek, $eof)); $db->sql_query($query); if (substr($query, 0, 4) == 'COPY') { - while (($sub = fgetd($fp, "\n", $read, $seek, $eof)) !== '\.') + while (($sub = $fgetd($fp, "\n", $read, $seek, $eof)) !== '\.') { pg_put_line($db->db_connect_id, $sub . "\n"); } @@ -420,7 +423,7 @@ class acp_database case 'oracle': while (!$eof($fp)) { - $db->sql_query(fgetd($fp, "/\n", $read, $seek, $eof)); + $db->sql_query($fgetd($fp, "/\n", $read, $seek, $eof)); } break; @@ -428,7 +431,7 @@ class acp_database case 'mssql_odbc': while (!$eof($fp)) { - $db->sql_query(fgetd($fp, "GO\n", $read, $seek, $eof)); + $db->sql_query($fgetd($fp, "GO\n", $read, $seek, $eof)); } break; } @@ -2192,4 +2195,39 @@ function fgetd(&$fp, $delim, $read, $seek, $eof, $buffer = 8192) return false; } +function fgetd_seekless(&$fp, $delim, $read, $seek, $eof, $buffer = 8192) +{ + static $array = array(); + static $record = ''; + + if (!sizeof($array)) + { + while (!$eof($fp)) + { + if (strpos($record, $delim) !== false) + { + $array = explode($delim, $record); + $record = array_pop($array); + break; + } + else + { + $record .= $read($fp, $buffer); + } + } + if ($eof($fp) && strpos($record, $delim) !== false) + { + $array = explode($delim, $record); + $record = array_pop($array); + } + } + + if (sizeof($array)) + { + return array_shift($array); + } + + return false; +} + ?> \ No newline at end of file From e10e47044e0034b8224f65598739b2c3d6e0ddbd Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 16 Feb 2007 04:20:45 +0000 Subject: [PATCH 041/707] #8154 git-svn-id: file:///svn/phpbb/trunk@6991 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 33 ++++++++++++++--------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index e1ec9fa8bc..1424bdb84d 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -498,12 +498,15 @@ class base_extractor var $store; var $download; var $time; + var $format; function base_extractor($download = false, $store = false, $format, $filename, $time) { $this->download = $download; $this->store = $store; $this->time = $time; + $this->format = $format; + switch ($format) { case 'text': @@ -531,8 +534,6 @@ class base_extractor if ($download == true) { - $this->fh = fopen('php://output', 'wb'); - $name = $filename . $ext; header('Pragma: no-cache'); header("Content-Type: $mimetype; name=\"$name\""); @@ -541,8 +542,9 @@ class base_extractor switch ($format) { case 'bzip2': - ob_start('ob_bz2handler'); + ob_start(); break; + case 'gzip': ob_start('ob_gzhandler'); break; @@ -575,9 +577,11 @@ class base_extractor $close($this->fp); } - if ($this->download) + // bzip2 must be written all the way at the end + if ($this->format === 'bzip2') { - fclose($this->fh); + $c = ob_get_clean(); + echo bzcompress($c); } } @@ -595,7 +599,13 @@ class base_extractor if ($this->download === true) { - fwrite($this->fh, $data); + echo $data; + + // we can write the gzip data as soon as we get it + if ($this->format === 'gzip') + { + ob_flush(); + } } } } @@ -2156,17 +2166,6 @@ function sanitize_data_generic($text) return implode('||', $val); } -// Internal handler for BZip2 -function ob_bz2handler($data, $mode) -{ - static $internal = ''; - $internal .= $data; - if ($mode & PHP_OUTPUT_HANDLER_END) - { - return bzcompress($internal); - } -} - // modified from PHP.net function fgetd(&$fp, $delim, $read, $seek, $eof, $buffer = 8192) { From 795d50523dac70128a308f4fa602ec55b716054a Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 16 Feb 2007 04:26:19 +0000 Subject: [PATCH 042/707] wrong function name :P git-svn-id: file:///svn/phpbb/trunk@6992 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/utf/data/recode_basic.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/utf/data/recode_basic.php b/phpBB/includes/utf/data/recode_basic.php index 59b1d1be3b..03391c9376 100644 --- a/phpBB/includes/utf/data/recode_basic.php +++ b/phpBB/includes/utf/data/recode_basic.php @@ -1371,7 +1371,7 @@ function cp1257($string) return strtr($string, $transform); } -function cp1252_to_utf8($string) +function utf8_to_cp1252($string) { static $transform = array( "\xE2\x82\xAC" => "\x80", From 40441562861395f9efcc292428cefb2fa8241838 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 16 Feb 2007 04:31:42 +0000 Subject: [PATCH 043/707] - small mistake :-( git-svn-id: file:///svn/phpbb/trunk@6993 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index 1424bdb84d..e3da57fdfb 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -578,7 +578,7 @@ class base_extractor } // bzip2 must be written all the way at the end - if ($this->format === 'bzip2') + if ($this->download && $this->format === 'bzip2') { $c = ob_get_clean(); echo bzcompress($c); From ec9a091669e37b799c0fa66f81ccca1ca434afdb Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 16 Feb 2007 20:37:12 +0000 Subject: [PATCH 044/707] - some stupid bugs git-svn-id: file:///svn/phpbb/trunk@6994 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 7 ++++++- phpBB/language/en/acp/database.php | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index e3da57fdfb..ed1dab4fd8 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -46,6 +46,11 @@ class acp_database $format = request_var('method', ''); $where = request_var('where', ''); + if (!sizeof($table)) + { + trigger_error($user->lang['TABLE_SELECT_ERROR'] . adm_back_link($this->u_action)); + } + $store = $download = $structure = $schema_data = false; if ($where == 'store_and_download' || $where == 'store') @@ -144,7 +149,7 @@ class acp_database } } - $extractor->write_end($table_name); + $extractor->write_end(); if ($download == true) { diff --git a/phpBB/language/en/acp/database.php b/phpBB/language/en/acp/database.php index 07605cc4cb..a59ebc416f 100644 --- a/phpBB/language/en/acp/database.php +++ b/phpBB/language/en/acp/database.php @@ -62,6 +62,7 @@ $lang = array_merge($lang, array( 'STRUCTURE_ONLY' => 'Structure only', 'TABLE_SELECT' => 'Table select', + 'TABLE_SELECT_ERROR'=> 'You must select at least one table.', )); ?> \ No newline at end of file From 72594577015eb9464aa0916c20ed9f8b41f6dfd6 Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Fri, 16 Feb 2007 23:06:14 +0000 Subject: [PATCH 045/707] - allow converting from one database to another, no need for tables to be in one database anylonger (this also allows switching from one DBMS that was used with phpBB2 to another DBMS supported by phpBB3 including new systems available in Olympus only) - abstracted some installation code that is now relevant to converting as well into functions_install.php (mostly DBMS selection related) - fixed a weird smiley path problem, no idea why nobody else noticed this, maybe my fix was incorrect? - forgot to commit a file last time git-svn-id: file:///svn/phpbb/trunk@6995 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_convert.php | 58 +- phpBB/includes/functions_install.php | 455 ++++++++++++++++ phpBB/includes/mcp/mcp_post.php | 2 +- phpBB/install/convertors/convert_phpbb20.php | 59 ++- .../install/convertors/functions_phpbb20.php | 167 +++--- phpBB/install/index.php | 1 + phpBB/install/install_convert.php | 432 ++++++++++++--- phpBB/install/install_install.php | 501 ++---------------- phpBB/language/en/install.php | 2 +- 9 files changed, 1071 insertions(+), 606 deletions(-) create mode 100644 phpBB/includes/functions_install.php diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index 6df29fc0f4..4244645af8 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -558,7 +558,7 @@ function _import_check($config_var, $source, $use_target) 'relative_path' => (empty($convert->convertor['source_path_absolute'])) ? true : false, ); - $target = $config[$config_var] . '/' . basename(($use_target === false) ? $source : $use_target); + $target = '../' . $config[$config_var] . '/' . basename(($use_target === false) ? $source : $use_target); if (!empty($convert->convertor[$config_var]) && strpos($source, $convert->convertor[$config_var]) !== 0) { @@ -1068,7 +1068,7 @@ function add_user_group($group_id, $user_id, $group_leader=false) */ function user_group_auth($group, $select_query) { - global $convert, $phpbb_root_path, $config, $user, $db; + global $convert, $phpbb_root_path, $config, $user, $db, $src_db, $same_db; if (!in_array($group, array('guests', 'registered', 'registered_coppa', 'global_moderators', 'administrators', 'bots'))) { @@ -1089,9 +1089,33 @@ function user_group_auth($group, $select_query) return; } - $sql = 'INSERT INTO ' . USER_GROUP_TABLE . ' (user_id, group_id, user_pending) - ' . str_replace('{' . strtoupper($group) . '}', $group_id . ', 0', $select_query); - $db->sql_query($sql); + if ($same_db) + { + $sql = 'INSERT INTO ' . USER_GROUP_TABLE . ' (user_id, group_id, user_pending) + ' . str_replace('{' . strtoupper($group) . '}', $group_id . ', 0', $select_query); + $db->sql_query($sql); + } + else + { + $result = $src_db->sql_query(str_replace('{' . strtoupper($group) . '}', $group_id . ', 0', $select_query)); + while ($row = $src_db->sql_fetchrow($result)) + { + // make sure it's exactly 3 ints that were returned + $data = array(); + reset($row); + for ($i = 0; $i < 3; $i++) + { + $data[] = (int) current($row); + next($row); + } + + // this might become quite a lot of INSERTS unfortunately + $sql = 'INSERT INTO ' . USER_GROUP_TABLE . ' (user_id, group_id, user_pending) + VALUES (' . implode(', ', $data) . ')'; + $db->sql_query($sql); + } + $src_db->sql_freeresult($result); + } } /** @@ -1109,14 +1133,19 @@ function get_config() return $convert_config; } - global $db, $phpbb_root_path, $config; + global $src_db, $same_db, $phpbb_root_path, $config; global $convert; if ($convert->config_schema['table_format'] != 'file') { + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'binary'"); + } + $sql = 'SELECT * FROM ' . $convert->src_table_prefix . $convert->config_schema['table_name']; - $result = $db->sql_query($sql); - $row = $db->sql_fetchrow($result); + $result = $src_db->sql_query($sql); + $row = $src_db->sql_fetchrow($result); if (!$row) { @@ -1133,8 +1162,13 @@ function get_config() { $convert_config[$row[$key]] = $row[$val]; } - while ($row = $db->sql_fetchrow($result)); - $db->sql_freeresult($result); + while ($row = $src_db->sql_fetchrow($result)); + $src_db->sql_freeresult($result); + + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'utf8'"); + } } else if ($convert->config_schema['table_format'] == 'file') { @@ -1153,6 +1187,10 @@ function get_config() else { $convert_config = $row; + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'utf8'"); + } } if (!sizeof($convert_config)) diff --git a/phpBB/includes/functions_install.php b/phpBB/includes/functions_install.php new file mode 100644 index 0000000000..0b7bbb607f --- /dev/null +++ b/phpBB/includes/functions_install.php @@ -0,0 +1,455 @@ + array( + 'LABEL' => 'FireBird', + 'SCHEMA' => 'firebird', + 'MODULE' => 'interbase', + 'DELIM' => ';;', + 'COMMENTS' => 'remove_remarks', + 'DRIVER' => 'firebird', + 'AVAILABLE' => true, + ), + 'mysqli' => array( + 'LABEL' => 'MySQL with MySQLi Extension', + 'SCHEMA' => 'mysql_41', + 'MODULE' => 'mysqli', + 'DELIM' => ';', + 'COMMENTS' => 'remove_remarks', + 'DRIVER' => 'mysqli', + 'AVAILABLE' => true, + ), + 'mysql' => array( + 'LABEL' => 'MySQL', + 'SCHEMA' => 'mysql', + 'MODULE' => 'mysql', + 'DELIM' => ';', + 'COMMENTS' => 'remove_remarks', + 'DRIVER' => 'mysql', + 'AVAILABLE' => true, + ), + 'mssql' => array( + 'LABEL' => 'MS SQL Server 2000+', + 'SCHEMA' => 'mssql', + 'MODULE' => 'mssql', + 'DELIM' => 'GO', + 'COMMENTS' => 'remove_comments', + 'DRIVER' => 'mssql', + 'AVAILABLE' => true, + ), + 'mssql_odbc'=> array( + 'LABEL' => 'MS SQL Server [ ODBC ]', + 'SCHEMA' => 'mssql', + 'MODULE' => 'odbc', + 'DELIM' => 'GO', + 'COMMENTS' => 'remove_comments', + 'DRIVER' => 'mssql_odbc', + 'AVAILABLE' => true, + ), + 'oracle' => array( + 'LABEL' => 'Oracle', + 'SCHEMA' => 'oracle', + 'MODULE' => 'oci8', + 'DELIM' => '/', + 'COMMENTS' => 'remove_comments', + 'DRIVER' => 'oracle', + 'AVAILABLE' => true, + ), + 'postgres' => array( + 'LABEL' => 'PostgreSQL 7.x/8.x', + 'SCHEMA' => 'postgres', + 'MODULE' => 'pgsql', + 'DELIM' => ';', + 'COMMENTS' => 'remove_comments', + 'DRIVER' => 'postgres', + 'AVAILABLE' => true, + ), + 'sqlite' => array( + 'LABEL' => 'SQLite', + 'SCHEMA' => 'sqlite', + 'MODULE' => 'sqlite', + 'DELIM' => ';', + 'COMMENTS' => 'remove_remarks', + 'DRIVER' => 'sqlite', + 'AVAILABLE' => true, + ), + ); + + if ($dbms) + { + if (isset($available_dbms[$dbms])) + { + $available_dbms = array($dbms => $available_dbms[$dbms]); + } + else + { + return array(); + } + } + + // now perform some checks whether they are really available + foreach ($available_dbms as $db_name => $db_ary) + { + $dll = $db_ary['MODULE']; + + if (!@extension_loaded($dll)) + { + if (!can_load_dll($dll)) + { + if ($return_unavailable) + { + $available_dbms[$db_name]['AVAILABLE'] = false; + } + else + { + unset($available_dbms[$db_name]); + } + continue; + } + } + $any_db_support = true; + } + + if ($return_unavailable) + { + $available_dbms['ANY_DB_SUPPORT'] = $any_db_support; + } + return $available_dbms; +} + +/** +* Generate the drop down of available database options +*/ +function dbms_select($default='') +{ + $available_dbms = get_available_dbms(); + $dbms_options = ''; + foreach ($available_dbms as $dbms_name => $details) + { + $selected = ($dbms_name == $default) ? ' selected="selected"' : ''; + $dbms_options .= ''; + } + return $dbms_options; +} + + +/** +* Used to test whether we are able to connect to the database the user has specified +* and identify any problems (eg there are already tables with the names we want to use +* @param array $dbms should be of the format of an element of the array returned by {@link get_available_dbms get_available_dbms()} +* necessary extensions should be loaded already +*/ +function connect_check_db($error_connect, &$error, $dbms, $table_prefix, $dbhost, $dbuser, $dbpasswd, $dbname, $dbport, $prefix_may_exist = false, $load_dbal = true) +{ + global $phpbb_root_path, $phpEx, $config, $lang; + + if ($load_dbal) + { + // Include the DB layer + include($phpbb_root_path . 'includes/db/' . $dbms['DRIVER'] . '.' . $phpEx); + } + + // Instantiate it and set return on error true + $sql_db = 'dbal_' . $dbms['DRIVER']; + $db = new $sql_db(); + $db->sql_return_on_error(true); + + // Check that we actually have a database name before going any further..... + if ($dbms['DRIVER'] != 'sqlite' && $dbname === '') + { + $error[] = $lang['INST_ERR_DB_NO_NAME']; + return false; + } + + // Make sure we don't have a daft user who thinks having the SQLite database in the forum directory is a good idea + if ($dbms['DRIVER'] == 'sqlite' && stripos(phpbb_realpath($dbhost), phpbb_realpath('../')) === 0) + { + $error[] = $lang['INST_ERR_DB_FORUM_PATH']; + return false; + } + + // Check the prefix length to ensure that index names are not too long and does not contain invalid characters + switch ($dbms['DRIVER']) + { + case 'mysql': + case 'mysqli': + if (strpos($table_prefix, '-') !== false) + { + $error[] = $lang['INST_ERR_PREFIX_INVALID']; + return false; + } + + // no break; + + case 'postgres': + $prefix_length = 36; + break; + + case 'mssql': + case 'mssql_odbc': + $prefix_length = 90; + break; + + case 'sqlite': + $prefix_length = 200; + break; + + case 'firebird': + case 'oracle': + $prefix_length = 6; + break; + } + + if (strlen($table_prefix) > $prefix_length) + { + $error[] = sprintf($lang['INST_ERR_PREFIX_TOO_LONG'], $prefix_length); + return false; + } + + // Try and connect ... + if (is_array($db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false))) + { + $db_error = $db->sql_error(); + $error[] = $lang['INST_ERR_DB_CONNECT'] . '
' . (($db_error['message']) ? $db_error['message'] : $lang['INST_ERR_DB_NO_ERROR']); + } + else + { + switch ($dbms['DRIVER']) + { + case 'mysql': + case 'mysqli': + $sql = 'SHOW TABLES'; + $field = "Tables_in_{$dbname}"; + break; + + case 'sqlite': + $sql = 'SELECT name + FROM sqlite_master + WHERE type = "table"'; + $field = 'name'; + break; + + case 'mssql': + case 'mssql_odbc': + $sql = "SELECT name + FROM sysobjects + WHERE type='U'"; + $field = 'name'; + break; + + case 'postgres': + $sql = "SELECT relname + FROM pg_class + WHERE relkind = 'r' + AND relname NOT LIKE 'pg\_%'"; + $field = 'relname'; + break; + + case 'firebird': + $sql = 'SELECT rdb$relation_name + FROM rdb$relations + WHERE rdb$view_source is null + AND rdb$system_flag = 0'; + $field = 'rdb$relation_name'; + break; + + case 'oracle': + $sql = 'SELECT table_name + FROM USER_TABLES'; + $field = 'table_name'; + break; + } + $result = $db->sql_query($sql); + + if ($row = $db->sql_fetchrow($result)) + { + // Likely matches for an existing phpBB installation + $temp_prefix = strtolower($table_prefix); + $table_ary = array($temp_prefix . 'attachments', $temp_prefix . 'config', $temp_prefix . 'sessions', $temp_prefix . 'topics', $temp_prefix . 'users'); + + do + { + // All phpBB installations will at least have config else it won't work + if (in_array(strtolower($row[$field]), $table_ary)) + { + if (!$prefix_may_exist) + { + $error[] = $lang['INST_ERR_PREFIX']; + } + break; + } + } + while ($row = $db->sql_fetchrow($result)); + } + $db->sql_freeresult($result); + + // Make sure that the user has selected a sensible DBAL for the DBMS actually installed + switch ($dbms['DRIVER']) + { + case 'mysqli': + if (version_compare(mysqli_get_server_info($db->db_connect_id), '4.1.3', '<')) + { + $error[] = $lang['INST_ERR_DB_NO_MYSQLI']; + } + break; + + case 'sqlite': + if (version_compare(sqlite_libversion(), '2.8.2', '<')) + { + $error[] = $lang['INST_ERR_DB_NO_SQLITE']; + } + break; + + case 'firebird': + // check the version of FB, use some hackery if we can't get access to the server info + if ($db->service_handle !== false && function_exists('ibase_server_info')) + { + $val = @ibase_server_info($db->service_handle, IBASE_SVC_SERVER_VERSION); + preg_match('#V([\d.]+)#', $val, $match); + if ($match[1] < 2) + { + $error[] = $lang['INST_ERR_DB_NO_FIREBIRD']; + } + $db_info = @ibase_db_info($db->service_handle, $dbname, IBASE_STS_HDR_PAGES); + + preg_match('/^\\s*Page size\\s*(\\d+)/m', $db_info, $regs); + $page_size = intval($regs[1]); + if ($page_size < 8192) + { + $error[] = $lang['INST_ERR_DB_NO_FIREBIRD_PS']; + } + } + else + { + $sql = "SELECT * + FROM RDB$FUNCTIONS + WHERE RDB$SYSTEM_FLAG IS NULL + AND RDB$FUNCTION_NAME = 'CHAR_LENGTH'"; + $result = $db->sql_query($sql); + $row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + + // if its a UDF, its too old + if ($row) + { + $error[] = $lang['INST_ERR_DB_NO_FIREBIRD']; + } + else + { + $sql = "SELECT FIRST 0 char_length('') + FROM RDB\$DATABASE"; + $result = $db->sql_query($sql); + if (!$result) // This can only fail if char_length is not defined + { + $error[] = $lang['INST_ERR_DB_NO_FIREBIRD']; + } + $db->sql_freeresult($result); + } + + // Setup the stuff for our random table + $char_array = array_merge(range('A', 'Z'), range('0', '9')); + $char_len = mt_rand(7, 9); + $char_array_len = sizeof($char_array) - 1; + + $final = ''; + + for ($i = 0; $i < $char_len; $i++) + { + $final .= $char_array[mt_rand(0, $char_array_len)]; + } + + // Create some random table + $sql = 'CREATE TABLE ' . $final . " ( + FIELD1 VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE, + FIELD2 INTEGER DEFAULT 0 NOT NULL);"; + $db->sql_query($sql); + + // Create an index that should fail if the page size is less than 8192 + $sql = 'CREATE INDEX ' . $final . ' ON ' . $final . '(FIELD1, FIELD2);'; + $db->sql_query($sql); + + if (ibase_errmsg() !== false) + { + $error[] = $lang['INST_ERR_DB_NO_FIREBIRD_PS']; + } + else + { + // Kill the old table + $db->sql_query('DROP TABLE ' . $final . ';'); + } + unset($final); + } + break; + + case 'oracle': + $sql = "SELECT * + FROM NLS_DATABASE_PARAMETERS + WHERE PARAMETER = 'NLS_RDBMS_VERSION' + OR PARAMETER = 'NLS_CHARACTERSET'"; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + $stats[$row['parameter']] = $row['value']; + } + $db->sql_freeresult($result); + + if (version_compare($stats['NLS_RDBMS_VERSION'], '9.2', '<') && $stats['NLS_CHARACTERSET'] !== 'UTF8') + { + $error[] = $lang['INST_ERR_DB_NO_ORACLE']; + } + break; + + case 'postgres': + $sql = "SHOW server_encoding;"; + $result = $db->sql_query($sql); + $row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + + if ($row['server_encoding'] !== 'UNICODE' && $row['server_encoding'] !== 'UTF8') + { + $error[] = $lang['INST_ERR_DB_NO_POSTGRES']; + } + break; + } + + $db->sql_close(); + } + + if ($error_connect && (!isset($error) || !sizeof($error))) + { + return true; + } + return false; +} + +?> \ No newline at end of file diff --git a/phpBB/includes/mcp/mcp_post.php b/phpBB/includes/mcp/mcp_post.php index 67f5472134..6ce9067d9e 100644 --- a/phpBB/includes/mcp/mcp_post.php +++ b/phpBB/includes/mcp/mcp_post.php @@ -426,7 +426,7 @@ function change_poster(&$post_info, $userdata) $to_username = $userdata['username']; // Renew post info - $post_info = get_post_data(array($post_id)); + $post_info = get_post_data(array($post_id), false, true); if (!sizeof($post_info)) { diff --git a/phpBB/install/convertors/convert_phpbb20.php b/phpBB/install/convertors/convert_phpbb20.php index 6c55a42440..4f66d3848a 100644 --- a/phpBB/install/convertors/convert_phpbb20.php +++ b/phpBB/install/convertors/convert_phpbb20.php @@ -31,6 +31,12 @@ $convertor_data = array( 'version' => '0.9', 'phpbb_version' => '3.0.0', 'author' => 'phpBB Group', + 'dbms' => 'mysql', + 'dbhost' => 'localhost', + 'dbport' => '', + 'dbuser' => 'user', + 'dbpasswd' => 'password', + 'dbname' => '', 'table_prefix' => 'phpbb_', 'forum_path' => '../forums', 'author_notes' => 'Avatars may be on a different width/height than with the old forum. This is due to dimensions being stored within phpBB3 but not within phpBB2. The default dimension was set to 80x80 for avatars where dimension settings could not be determined. You might wish to instruct your users to check their profiles after the conversion to ensure that the size is correct.', @@ -210,7 +216,8 @@ if (!$get_info) * 'schema' Syntax Description * -> 'target' => Target Table. If not specified the next table will be handled * -> 'primary' => Primary Key. If this is specified then this table is processed in batches -* -> 'query_first' => Query to execute before beginning the process (if more than one then specified as array) +* -> 'query_first' => array('target' or 'src', Query to execute before beginning the process +* (if more than one then specified as array)) * -> 'function_first' => Function to execute before beginning the process (if more than one then specified as array) * (This is mostly useful if variables need to be given to the converting process) * -> 'test_file' => This is not used at the moment but should be filled with a file from the old installation @@ -276,10 +283,10 @@ if (!$get_info) // We empty some tables to have clean data available 'query_first' => array( - $convert->truncate_statement . SEARCH_RESULTS_TABLE, - $convert->truncate_statement . SEARCH_WORDLIST_TABLE, - $convert->truncate_statement . SEARCH_WORDMATCH_TABLE, - $convert->truncate_statement . LOG_TABLE, + array('target', $convert->truncate_statement . SEARCH_RESULTS_TABLE), + array('target', $convert->truncate_statement . SEARCH_WORDLIST_TABLE), + array('target', $convert->truncate_statement . SEARCH_WORDMATCH_TABLE), + array('target', $convert->truncate_statement . LOG_TABLE), ), // with this you are able to import all attachment files on the fly. For large boards this is not an option, therefore commented out by default. @@ -313,7 +320,7 @@ if (!$get_info) array( 'target' => (defined('MOD_ATTACHMENT')) ? ATTACHMENTS_TABLE : '', 'primary' => 'attachments.attach_id', - 'query_first' => (defined('MOD_ATTACHMENT')) ? $convert->truncate_statement . ATTACHMENTS_TABLE : '', + 'query_first' => (defined('MOD_ATTACHMENT')) ? array('target', $convert->truncate_statement . ATTACHMENTS_TABLE) : '', 'autoincrement' => 'attach_id', array('attach_id', 'attachments.attach_id', ''), @@ -363,7 +370,7 @@ if (!$get_info) array( 'target' => (defined('MOD_ATTACHMENT')) ? EXTENSIONS_TABLE : '', - 'query_first' => (defined('MOD_ATTACHMENT')) ? $convert->truncate_statement . EXTENSIONS_TABLE : '', + 'query_first' => (defined('MOD_ATTACHMENT')) ? array('target', $convert->truncate_statement . EXTENSIONS_TABLE) : '', 'autoincrement' => 'extension_id', array('extension_id', 'extensions.ext_id', ''), @@ -373,7 +380,7 @@ if (!$get_info) array( 'target' => (defined('MOD_ATTACHMENT')) ? EXTENSION_GROUPS_TABLE : '', - 'query_first' => (defined('MOD_ATTACHMENT')) ? $convert->truncate_statement . EXTENSION_GROUPS_TABLE : '', + 'query_first' => (defined('MOD_ATTACHMENT')) ? array('target', $convert->truncate_statement . EXTENSION_GROUPS_TABLE) : '', 'autoincrement' => 'group_id', array('group_id', 'extension_groups.group_id', ''), @@ -389,7 +396,7 @@ if (!$get_info) array( 'target' => BANLIST_TABLE, - 'query_first' => $convert->truncate_statement . BANLIST_TABLE, + 'query_first' => array('target', $convert->truncate_statement . BANLIST_TABLE), array('ban_ip', 'banlist.ban_ip', 'decode_ban_ip'), array('ban_userid', 'banlist.ban_userid', 'phpbb_user_id'), @@ -410,14 +417,14 @@ if (!$get_info) array( 'target' => DISALLOW_TABLE, - 'query_first' => $convert->truncate_statement . DISALLOW_TABLE, + 'query_first' => array('target', $convert->truncate_statement . DISALLOW_TABLE), array('disallow_username', 'disallow.disallow_username', 'phpbb_disallowed_username'), ), array( 'target' => RANKS_TABLE, - 'query_first' => $convert->truncate_statement . RANKS_TABLE, + 'query_first' => array('target', $convert->truncate_statement . RANKS_TABLE), 'autoincrement' => 'rank_id', array('rank_id', 'ranks.rank_id', ''), @@ -429,7 +436,7 @@ if (!$get_info) array( 'target' => TOPICS_TABLE, - 'query_first' => $convert->truncate_statement . TOPICS_TABLE, + 'query_first' => array('target', $convert->truncate_statement . TOPICS_TABLE), 'primary' => 'topics.topic_id', 'autoincrement' => 'topic_id', @@ -493,7 +500,7 @@ if (!$get_info) array( 'target' => TOPICS_WATCH_TABLE, 'primary' => 'topics_watch.topic_id', - 'query_first' => $convert->truncate_statement . TOPICS_WATCH_TABLE, + 'query_first' => array('target', $convert->truncate_statement . TOPICS_WATCH_TABLE), array('topic_id', 'topics_watch.topic_id', ''), array('user_id', 'topics_watch.user_id', 'phpbb_user_id'), @@ -502,7 +509,7 @@ if (!$get_info) array( 'target' => SMILIES_TABLE, - 'query_first' => $convert->truncate_statement . SMILIES_TABLE, + 'query_first' => array('target', $convert->truncate_statement . SMILIES_TABLE), 'autoincrement' => 'smiley_id', array('smiley_id', 'smilies.smilies_id', ''), @@ -522,7 +529,7 @@ if (!$get_info) array( 'target' => POLL_OPTIONS_TABLE, 'primary' => 'vote_results.vote_option_id', - 'query_first' => $convert->truncate_statement . POLL_OPTIONS_TABLE, + 'query_first' => array('target', $convert->truncate_statement . POLL_OPTIONS_TABLE), array('poll_option_id', 'vote_results.vote_option_id', ''), array('topic_id', 'vote_desc.topic_id', ''), @@ -537,7 +544,7 @@ if (!$get_info) array( 'target' => POLL_VOTES_TABLE, 'primary' => 'vote_desc.topic_id', - 'query_first' => $convert->truncate_statement . POLL_VOTES_TABLE, + 'query_first' => array('target', $convert->truncate_statement . POLL_VOTES_TABLE), array('poll_option_id', 1, ''), array('topic_id', 'vote_desc.topic_id', ''), @@ -550,7 +557,7 @@ if (!$get_info) array( 'target' => WORDS_TABLE, 'primary' => 'words.word_id', - 'query_first' => $convert->truncate_statement . WORDS_TABLE, + 'query_first' => array('target', $convert->truncate_statement . WORDS_TABLE), 'autoincrement' => 'word_id', array('word_id', 'words.word_id', ''), @@ -562,7 +569,7 @@ if (!$get_info) 'target' => POSTS_TABLE, 'primary' => 'posts.post_id', 'autoincrement' => 'post_id', - 'query_first' => $convert->truncate_statement . POSTS_TABLE, + 'query_first' => array('target', $convert->truncate_statement . POSTS_TABLE), 'execute_first' => ' $config["max_post_chars"] = 0; ', @@ -607,8 +614,8 @@ if (!$get_info) 'primary' => 'privmsgs.privmsgs_id', 'autoincrement' => 'privmsgs_id', 'query_first' => array( - $convert->truncate_statement . PRIVMSGS_TABLE, - $convert->truncate_statement . PRIVMSGS_RULES_TABLE, + array('target', $convert->truncate_statement . PRIVMSGS_TABLE), + array('target', $convert->truncate_statement . PRIVMSGS_RULES_TABLE), ), 'execute_first' => ' @@ -645,7 +652,7 @@ if (!$get_info) array( 'target' => PRIVMSGS_FOLDER_TABLE, 'primary' => 'users.user_id', - 'query_first' => $convert->truncate_statement . PRIVMSGS_FOLDER_TABLE, + 'query_first' => array('target', $convert->truncate_statement . PRIVMSGS_FOLDER_TABLE), array('user_id', 'users.user_id', 'phpbb_user_id'), array('folder_name', $user->lang['CONV_SAVED_MESSAGES'], ''), @@ -658,7 +665,7 @@ if (!$get_info) array( 'target' => PRIVMSGS_TO_TABLE, 'primary' => 'privmsgs.privmsgs_id', - 'query_first' => $convert->truncate_statement . PRIVMSGS_TO_TABLE, + 'query_first' => array('target', $convert->truncate_statement . PRIVMSGS_TO_TABLE), array('msg_id', 'privmsgs.privmsgs_id', ''), array('user_id', 'privmsgs.privmsgs_to_userid', 'phpbb_user_id'), @@ -753,7 +760,7 @@ if (!$get_info) array( 'target' => GROUPS_TABLE, 'autoincrement' => 'group_id', - 'query_first' => $convert->truncate_statement . GROUPS_TABLE, + 'query_first' => array('target', $convert->truncate_statement . GROUPS_TABLE), array('group_id', 'groups.group_id', ''), array('group_type', 'groups.group_type', 'phpbb_convert_group_type'), @@ -766,7 +773,7 @@ if (!$get_info) array( 'target' => USER_GROUP_TABLE, - 'query_first' => $convert->truncate_statement . USER_GROUP_TABLE, + 'query_first' => array('target', $convert->truncate_statement . USER_GROUP_TABLE), 'execute_first' => ' add_default_groups(); ', @@ -795,8 +802,8 @@ if (!$get_info) 'primary' => 'users.user_id', 'autoincrement' => 'user_id', 'query_first' => array( - 'DELETE FROM ' . USERS_TABLE . ' WHERE user_id <> ' . ANONYMOUS, - $convert->truncate_statement . BOTS_TABLE + array('target', 'DELETE FROM ' . USERS_TABLE . ' WHERE user_id <> ' . ANONYMOUS), + array('target', $convert->truncate_statement . BOTS_TABLE) ), array('user_id', 'users.user_id', 'phpbb_user_id'), diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index fdde80c82c..c80a0a0de2 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -46,16 +46,16 @@ function phpbb_forum_flags() */ function phpbb_insert_forums() { - global $db, $convert, $user, $config; + global $db, $src_db, $same_db, $convert, $user, $config; $db->sql_query($convert->truncate_statement . FORUMS_TABLE); // Determine the highest id used within the old forums table (we add the categories after the forum ids) $sql = 'SELECT MAX(forum_id) AS max_forum_id FROM ' . $convert->src_table_prefix . 'forums'; - $result = $db->sql_query($sql); - $max_forum_id = (int) $db->sql_fetchfield('max_forum_id'); - $db->sql_freeresult($result); + $result = $src_db->sql_query($sql); + $max_forum_id = (int) $src_db->sql_fetchfield('max_forum_id'); + $src_db->sql_freeresult($result); $max_forum_id++; @@ -64,16 +64,16 @@ function phpbb_insert_forums() FROM ' . $convert->src_table_prefix . 'categories ORDER BY cat_order'; - if ($convert->mysql_convert) + if ($convert->mysql_convert && $same_db) { - $db->sql_query("SET NAMES 'binary'"); + $src_db->sql_query("SET NAMES 'binary'"); } - $result = $db->sql_query($sql); + $result = $src_db->sql_query($sql); - if ($convert->mysql_convert) + if ($convert->mysql_convert && $same_db) { - $db->sql_query("SET NAMES 'utf8'"); + $src_db->sql_query("SET NAMES 'utf8'"); } switch ($db->sql_layer) @@ -85,7 +85,7 @@ function phpbb_insert_forums() } $cats_added = array(); - while ($row = $db->sql_fetchrow($result)) + while ($row = $src_db->sql_fetchrow($result)) { $sql_ary = array( 'forum_id' => $max_forum_id, @@ -113,17 +113,17 @@ function phpbb_insert_forums() $cats_added[$row['cat_id']] = $max_forum_id; $max_forum_id++; } - $db->sql_freeresult($result); + $src_db->sql_freeresult($result); // There may be installations having forums with non-existant category ids. // We try to catch them and add them to an "unknown" category instead of leaving them out. $sql = 'SELECT cat_id FROM ' . $convert->src_table_prefix . 'forums GROUP BY cat_id'; - $result = $db->sql_query($sql); + $result = $src_db->sql_query($sql); $unknown_cat_id = false; - while ($row = $db->sql_fetchrow($result)) + while ($row = $src_db->sql_fetchrow($result)) { // Catch those categories not been added before if (!isset($cats_added[$row['cat_id']])) @@ -131,7 +131,7 @@ function phpbb_insert_forums() $unknown_cat_id = true; } } - $db->sql_freeresult($result); + $src_db->sql_freeresult($result); // Is there at least one category not known? if ($unknown_cat_id === true) @@ -171,19 +171,19 @@ function phpbb_insert_forums() GROUP BY f.forum_id, f.forum_name, f.cat_id, f.forum_desc, f.forum_status, f.prune_enable, f.prune_next, f.forum_order, fp.prune_days, fp.prune_freq ORDER BY f.cat_id, f.forum_order'; - if ($convert->mysql_convert) + if ($convert->mysql_convert && $same_db) { - $db->sql_query("SET NAMES 'binary'"); + $src_db->sql_query("SET NAMES 'binary'"); } - $result = $db->sql_query($sql); + $result = $src_db->sql_query($sql); - if ($convert->mysql_convert) + if ($convert->mysql_convert && $same_db) { - $db->sql_query("SET NAMES 'utf8'"); + $src_db->sql_query("SET NAMES 'utf8'"); } - while ($row = $db->sql_fetchrow($result)) + while ($row = $src_db->sql_fetchrow($result)) { // Some might have forums here with an id not being "possible"... // To be somewhat friendly we "change" the category id for those to a previously created ghost category @@ -266,7 +266,7 @@ function phpbb_insert_forums() $sql = 'INSERT INTO ' . FORUMS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary); $db->sql_query($sql); } - $db->sql_freeresult($result); + $src_db->sql_freeresult($result); switch ($db->sql_layer) { @@ -342,14 +342,24 @@ function phpbb_set_encoding($text, $grab_user_lang = true) } else if (!empty($convert_row['poster_id'])) { - global $db; + global $src_db, $same_db; + + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'binary'"); + } $sql = 'SELECT user_lang FROM ' . $convert->src_table_prefix . 'users WHERE user_id = ' . (int) $convert_row['poster_id']; - $result = $db->sql_query($sql); - $get_lang = (string) $db->sql_fetchfield('user_lang'); - $db->sql_freeresult($result); + $result = $src_db->sql_query($sql); + $get_lang = (string) $src_db->sql_fetchfield('user_lang'); + $src_db->sql_freeresult($result); + + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'utf8'"); + } $get_lang = (!trim($get_lang)) ? trim(get_config_value('default_lang')) : trim($get_lang); } @@ -441,15 +451,25 @@ function phpbb_user_id($user_id) // Increment user id if the old forum is having a user with the id 1 if (!isset($config['increment_user_id'])) { - global $db, $convert; + global $src_db, $same_db, $convert; + + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'binary'"); + } // Now let us set a temporary config variable for user id incrementing $sql = "SELECT user_id FROM {$convert->src_table_prefix}users WHERE user_id = 1"; - $result = $db->sql_query($sql); - $id = (int) $db->sql_fetchfield('user_id'); - $db->sql_freeresult($result); + $result = $src_db->sql_query($sql); + $id = (int) $src_db->sql_fetchfield('user_id'); + $src_db->sql_freeresult($result); + + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'utf8'"); + } // If there is a user id 1, we need to increment user ids. :/ if ($id === 1) @@ -484,7 +504,7 @@ function phpbb_copy_table_fields() */ function phpbb_convert_authentication($mode) { - global $db, $convert, $user, $config, $cache; + global $db, $src_db, $same_db, $convert, $user, $config, $cache; if ($mode == 'start') { @@ -494,14 +514,15 @@ function phpbb_convert_authentication($mode) // What we will do is handling all 2.0.x admins as founder to replicate what is common in 2.0.x. // After conversion the main admin need to make sure he is removing permissions and the founder status if wanted. + // Grab user ids of users with user_level of ADMIN $sql = "SELECT user_id FROM {$convert->src_table_prefix}users WHERE user_level = 1 ORDER BY user_regdate ASC"; - $result = $db->sql_query($sql); + $result = $src_db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) + while ($row = $src_db->sql_fetchrow($result)) { $user_id = (int) phpbb_user_id($row['user_id']); @@ -511,49 +532,58 @@ function phpbb_convert_authentication($mode) WHERE user_id = $user_id"; $db->sql_query($sql); } - $db->sql_freeresult($result); + $src_db->sql_freeresult($result); } // Grab forum auth information $sql = "SELECT * FROM {$convert->src_table_prefix}forums"; - $result = $db->sql_query($sql); + $result = $src_db->sql_query($sql); $forum_access = array(); - while ($row = $db->sql_fetchrow($result)) + while ($row = $src_db->sql_fetchrow($result)) { $forum_access[] = $row; } - $db->sql_freeresult($result); + $src_db->sql_freeresult($result); + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'binary'"); + } // Grab user auth information from 2.0.x board $sql = "SELECT ug.user_id, aa.* FROM {$convert->src_table_prefix}auth_access aa, {$convert->src_table_prefix}user_group ug, {$convert->src_table_prefix}groups g WHERE g.group_id = aa.group_id AND g.group_single_user = 1 AND ug.group_id = g.group_id"; - $result = $db->sql_query($sql); + $result = $src_db->sql_query($sql); $user_access = array(); - while ($row = $db->sql_fetchrow($result)) + while ($row = $src_db->sql_fetchrow($result)) { $user_access[$row['forum_id']][] = $row; } - $db->sql_freeresult($result); + $src_db->sql_freeresult($result); // Grab group auth information $sql = "SELECT g.group_id, aa.* FROM {$convert->src_table_prefix}auth_access aa, {$convert->src_table_prefix}groups g WHERE g.group_id = aa.group_id AND g.group_single_user <> 1"; - $result = $db->sql_query($sql); + $result = $src_db->sql_query($sql); $group_access = array(); - while ($row = $db->sql_fetchrow($result)) + while ($row = $src_db->sql_fetchrow($result)) { $group_access[$row['forum_id']][] = $row; } - $db->sql_freeresult($result); + $src_db->sql_freeresult($result); + + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'utf8'"); + } // Add Forum Access List $auth_map = array( @@ -852,25 +882,25 @@ function phpbb_convert_authentication($mode) $sql = 'SELECT user_id FROM ' . $convert->src_table_prefix . 'users WHERE user_allowavatar = 0 AND user_id > 0'; - $result = $db->sql_query($sql); + $result = $src_db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) + while ($row = $src_db->sql_fetchrow($result)) { mass_auth('user_role', 0, (int) phpbb_user_id($row['user_id']), 'USER_NOAVATAR'); } - $db->sql_freeresult($result); + $src_db->sql_freeresult($result); // And the same for those who have had their PM rights removed $sql = 'SELECT user_id FROM ' . $convert->src_table_prefix . 'users WHERE user_allow_pm = 0 AND user_id > 0'; - $result = $db->sql_query($sql); + $result = $src_db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) + while ($row = $src_db->sql_fetchrow($result)) { mass_auth('user_role', 0, (int) phpbb_user_id($row['user_id']), 'USER_NOPM'); } - $db->sql_freeresult($result); + $src_db->sql_freeresult($result); } else if ($mode == 'third') { @@ -1169,21 +1199,30 @@ function phpbb_get_files_dir() return; } - global $db, $convert, $user, $config, $cache; + global $src_db, $same_db, $convert, $user, $config, $cache; + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'binary'"); + } $sql = 'SELECT config_value AS upload_dir FROM ' . $convert->src_table_prefix . "attachments_config WHERE config_name = 'upload_dir'"; - $result = $db->sql_query($sql); - $upload_path = $db->sql_fetchfield('upload_dir'); - $db->sql_freeresult($result); + $result = $src_db->sql_query($sql); + $upload_path = $src_db->sql_fetchfield('upload_dir'); + $src_db->sql_freeresult($result); $sql = 'SELECT config_value AS ftp_upload FROM ' . $convert->src_table_prefix . "attachments_config WHERE config_name = 'allow_ftp_upload'"; - $result = $db->sql_query($sql); - $ftp_upload = (int) $db->sql_fetchfield('ftp_upload'); - $db->sql_freeresult($result); + $result = $src_db->sql_query($sql); + $ftp_upload = (int) $src_db->sql_fetchfield('ftp_upload'); + $src_db->sql_freeresult($result); + + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'utf8'"); + } if ($ftp_upload) { @@ -1402,18 +1441,28 @@ function phpbb_get_savebox_id($user_id) */ function phpbb_import_attach_config() { - global $db, $convert, $config; + global $db, $src_db, $same_db, $convert, $config; + + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'binary'"); + } $sql = 'SELECT * FROM ' . $convert->src_table_prefix . 'attachments_config'; - $result = $db->sql_query($sql); + $result = $src_db->sql_query($sql); + + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'utf8'"); + } $attach_config = array(); - while ($row = $db->sql_fetchrow($result)) + while ($row = $src_db->sql_fetchrow($result)) { $attach_config[$row['config_name']] = $row['config_value']; } - $db->sql_freeresult($result); + $src_db->sql_freeresult($result); set_config('allow_attachments', 1); diff --git a/phpBB/install/index.php b/phpBB/install/index.php index eb49ac5c9b..146f55ddb6 100755 --- a/phpBB/install/index.php +++ b/phpBB/install/index.php @@ -115,6 +115,7 @@ include($phpbb_root_path . 'includes/acm/acm_file.' . $phpEx); include($phpbb_root_path . 'includes/cache.' . $phpEx); include($phpbb_root_path . 'includes/functions_admin.' . $phpEx); include($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx); +require($phpbb_root_path . 'includes/functions_install.' . $phpEx); // Try and load an appropriate language if required $language = request_var('language', ''); diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 0656f7e5f4..a3541f6f29 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -39,12 +39,19 @@ class convert var $options = array(); var $convertor_tag = ''; + var $src_dbms = ''; + var $src_dbhost = ''; + var $src_dbport = ''; + var $src_dbuser = ''; + var $src_dbpasswd = ''; + var $src_dbname = ''; var $src_table_prefix = ''; var $convertor_data = array(); var $tables = array(); var $config_schema = array(); var $convertor = array(); + var $src_truncate_statement = 'DELETE FROM '; var $truncate_statement = 'DELETE FROM '; var $fulltext_search; @@ -142,19 +149,32 @@ class install_convert extends module if ($new_conversion) { $config['convert_progress'] = ''; - $db->sql_query('DELETE FROM ' . CONFIG_TABLE . " WHERE config_name = 'convert_progress'"); + $config['convert_db_server'] = ''; + $config['convert_db_user'] = ''; + $db->sql_query('DELETE FROM ' . CONFIG_TABLE . " + WHERE config_name = 'convert_progress' + OR config_name = 'convert_db_server' + OR config_name = 'convert_db_user'" + ); } // Let's see if there is a conversion in the works... $options = array(); - if (!empty($config['convert_progress']) && !empty($config['convert_options'])) + if (!empty($config['convert_progress']) && !empty($config['convert_db_server']) && !empty($config['convert_db_user']) && !empty($config['convert_options'])) { $options = unserialize($config['convert_progress']); - $options = array_merge($options, unserialize($config['convert_options'])); + $options = array_merge($options, unserialize($config['convert_db_server']), unserialize($config['convert_db_user']), unserialize($config['convert_options'])); } // This information should have already been checked once, but do it again for safety - if (!empty($options) && !empty($options['tag']) && isset($options['table_prefix'])) + if (!empty($options) && !empty($options['tag']) && + isset($convert->options['dbms']) && + isset($convert->options['dbhost']) && + isset($convert->options['dbport']) && + isset($convert->options['dbuser']) && + isset($convert->options['dbpasswd']) && + isset($convert->options['dbname']) && + isset($convert->options['table_prefix'])) { $this->page_title = $lang['CONTINUE_CONVERT']; @@ -270,6 +290,12 @@ class install_convert extends module 'tag' => $m[1], 'forum_name' => $convertor_data['forum_name'], 'version' => $convertor_data['version'], + 'dbms' => $convertor_data['dbms'], + 'dbhost' => $convertor_data['dbhost'], + 'dbport' => $convertor_data['dbport'], + 'dbuser' => $convertor_data['dbuser'], + 'dbpasswd' => $convertor_data['dbpasswd'], + 'dbname' => $convertor_data['dbname'], 'table_prefix' => $convertor_data['table_prefix'], 'author' => $convertor_data['author'] ); @@ -347,6 +373,12 @@ class install_convert extends module $submit = (isset($_POST['submit'])) ? true : false; + $src_dbms = request_var('src_dbms', $convertor_data['dbms']); + $src_dbhost = request_var('src_dbhost', $convertor_data['dbhost']); + $src_dbport = request_var('src_dbport', $convertor_data['dbport']); + $src_dbuser = request_var('src_dbuser', $convertor_data['dbuser']); + $src_dbpasswd = request_var('src_dbpasswd', $convertor_data['dbpasswd']); + $src_dbname = request_var('src_dbname', $convertor_data['dbname']); $src_table_prefix = request_var('src_table_prefix', $convertor_data['table_prefix']); $forum_path = request_var('forum_path', $convertor_data['forum_path']); $refresh = request_var('refresh', 1); @@ -364,10 +396,22 @@ class install_convert extends module $error[] = sprintf($lang['COULD_NOT_FIND_PATH'], $forum_path); } - // The forum prefix of the old and the new forum can't be the same because the - // convertor requires all tables to be in one database. I.e. there can't be - // two tables named 'phpbb_users' - if ($src_table_prefix == $table_prefix) + $connect_test = false; + $available_dbms = get_available_dbms(false, true); + + if (!isset($available_dbms[$src_dbms]) || !$available_dbms[$src_dbms]['AVAILABLE']) + { + $error['db'][] = $lang['INST_ERR_NO_DB']; + $connect_test = false; + } + else + { + $src_dbpasswd = htmlspecialchars_decode($src_dbpasswd); + $connect_test = connect_check_db(true, $error, $available_dbms[$src_dbms], false, $src_dbhost, $src_dbuser, $src_dbpasswd, $src_dbname, $src_dbport, ($src_dbms == $dbms) ? false : true); + } + + // The forum prefix of the old and the new forum can only be the same if two different databases are used. + if ($src_table_prefix == $table_prefix && $src_dbms == $dbms && $src_dbhost == $dbhost && $src_dbport == $dbport && $src_dbname == $dbname) { $error[] = sprintf($lang['TABLE_PREFIX_SAME'], $src_table_prefix); } @@ -375,17 +419,35 @@ class install_convert extends module // Check table prefix if (!sizeof($error)) { + // initiate database connection to old db if old and new db differ + global $src_db, $same_db; + $src_db = $same_db = null; + + if ($src_dbms != $dbms || $src_dbhost != $dbhost || $src_dbport != $dbport || $src_dbname != $dbname || $src_dbuser != $dbuser) + { + $sql_db = 'dbal_' . $src_dbms; + $src_db = new $sql_db(); + $src_db->sql_connect($src_dbhost, $src_dbuser, $src_dbpasswd, $src_dbname, $src_dbport, false); + $same_db = false; + } + else + { + $src_db = &$db; + $same_db = true; + } + + $src_db->sql_return_on_error(true); $db->sql_return_on_error(true); // Try to select one row from the first table to see if the prefix is OK - $result = $db->sql_query_limit('SELECT * FROM ' . $src_table_prefix . $tables[0], 1); + $result = $src_db->sql_query_limit('SELECT * FROM ' . $src_table_prefix . $tables[0], 1); if (!$result) { $prefixes = array(); - if ($result = $db->sql_query('SHOW TABLES')) + if ($result = $src_db->sql_query('SHOW TABLES')) { - while ($row = $db->sql_fetchrow($result)) + while ($row = $src_db->sql_fetchrow($result)) { if (sizeof($row) > 1) { @@ -396,7 +458,7 @@ class install_convert extends module compare_table($tables, $tablename, $prefixes); } } - $db->sql_freeresult($result); + $src_->sql_freeresult($result); } foreach ($prefixes as $prefix => $count) @@ -423,14 +485,28 @@ class install_convert extends module $error[] = $msg; } - $db->sql_freeresult($result); - $db->sql_return_on_error(false); + $src_db->sql_freeresult($result); + $src_db->sql_return_on_error(false); } if (!sizeof($error)) { // Save convertor Status - set_config('convert_progress', serialize(array('step' => '', 'table_prefix' => $src_table_prefix, 'tag' => $convertor_tag)), true); + set_config('convert_progress', serialize(array( + 'step' => '', + 'table_prefix' => $src_table_prefix, + 'tag' => $convertor_tag, + )), true); + set_config('convert_db_server', serialize(array( + 'dbms' => $src_dbms, + 'dbhost' => $src_dbhost, + 'dbport' => $src_dbport, + 'dbname' => $src_dbname, + )), true); + set_config('convert_db_user', serialize(array( + 'dbuser' => $src_dbuser, + 'dbpasswd' => $src_dbpasswd, + )), true); // Save options set_config('convert_options', serialize(array('forum_path' => './../' . $forum_path, 'refresh' => $refresh)), true); @@ -527,24 +603,6 @@ class install_convert extends module // @todo Need to confirm that max post length in source is <= max post length in destination or there may be interesting formatting issues $config['max_post_chars'] = -1; - $convert->mysql_convert = false; - - switch ($db->sql_layer) - { - // Thanks MySQL, for silently converting... - case 'mysql': - case 'mysql4': - if (version_compare($db->mysql_version, '4.1.3', '>=')) - { - $convert->mysql_convert = true; - } - break; - - case 'mysqli': - $convert->mysql_convert = true; - break; - } - // Set up a user as well. We _should_ have enough of a database here at this point to do this // and it helps for any core code we call $user->session_begin(); @@ -560,19 +618,84 @@ class install_convert extends module if (isset($config['convert_progress'])) { $convert->options = unserialize($config['convert_progress']); - $convert->options = array_merge($convert->options, unserialize($config['convert_options'])); + $convert->options = array_merge($convert->options, unserialize($config['convert_db_server']), unserialize($config['convert_db_user']), unserialize($config['convert_options'])); } // This information should have already been checked once, but do it again for safety - if (empty($convert->options) || empty($convert->options['tag']) || !isset($convert->options['table_prefix'])) + if (empty($convert->options) || empty($convert->options['tag']) || + !isset($convert->options['dbms']) || + !isset($convert->options['dbhost']) || + !isset($convert->options['dbport']) || + !isset($convert->options['dbuser']) || + !isset($convert->options['dbpasswd']) || + !isset($convert->options['dbname']) || + !isset($convert->options['table_prefix'])) { $this->p_master->error($user->lang['NO_CONVERT_SPECIFIED'], __LINE__, __FILE__); } // Make some short variables accessible, for easier referencing $convert->convertor_tag = basename($convert->options['tag']); + $convert->src_dbms = $convert->options['dbms']; + $convert->src_dbhost = $convert->options['dbhost']; + $convert->src_dbport = $convert->options['dbport']; + $convert->src_dbuser = $convert->options['dbuser']; + $convert->src_dbpasswd = $convert->options['dbpasswd']; + $convert->src_dbname = $convert->options['dbname']; $convert->src_table_prefix = $convert->options['table_prefix']; + // initiate database connection to old db if old and new db differ + global $src_db, $same_db; + $src_db = $same_db = null; + if ($convert->src_dbms != $dbms || $convert->src_dbhost != $dbhost || $convert->src_dbport != $dbport || $convert->src_dbname != $dbname || $convert->src_dbuser != $dbuser) + { + if ($convert->src_dbms != $dbms) + { + require($phpbb_root_path . 'includes/db/' . $convert->src_dbms . '.' . $phpEx); + } + $sql_db = 'dbal_' . $convert->src_dbms; + $src_db = new $sql_db(); + $src_db->sql_connect($convert->src_dbhost, $convert->src_dbuser, $convert->src_dbpasswd, $convert->src_dbname, $convert->src_dbport, false); + $same_db = false; + } + else + { + $src_db = &$db; + $same_db = true; + } + + $convert->mysql_convert = false; + switch ($src_db->sql_layer) + { + case 'sqlite': + case 'firebird': + $convert->src_truncate_statement = 'DELETE FROM '; + break; + + // Thanks MySQL, for silently converting... + case 'mysql': + case 'mysql4': + if (version_compare($src_db->mysql_version, '4.1.3', '>=')) + { + $convert->mysql_convert = true; + } + $convert->src_truncate_statement = 'TRUNCATE TABLE '; + break; + + case 'mysqli': + $convert->mysql_convert = true; + $convert->src_truncate_statement = 'TRUNCATE TABLE '; + break; + + default: + $convert->src_truncate_statement = 'TRUNCATE TABLE '; + break; + } + + if ($convert->mysql_convert && !$same_db) + { + $src_db->sql_query("SET NAMES 'binary'"); + } switch ($db->sql_layer) { @@ -785,19 +908,19 @@ class install_convert extends module } // Check if the tables that we need exist - $db->sql_return_on_error(true); + $src_db->sql_return_on_error(true); foreach ($tables_list as $table => $null) { $sql = 'SELECT 1 FROM ' . $table; - $_result = $db->sql_query_limit($sql, 1); + $_result = $src_db->sql_query_limit($sql, 1); if (!$_result) { $missing_tables[] = $table; } - $db->sql_freeresult($_result); + $src_db->sql_freeresult($_result); } - $db->sql_return_on_error(false); + $src_db->sql_return_on_error(false); // Throw an error if some tables are missing // We used to do some guessing here, but since we have a suggestion of possible values earlier, I don't see it adding anything here to do it again @@ -812,7 +935,21 @@ class install_convert extends module } $step = '&confirm=1'; - set_config('convert_progress', serialize(array('step' => $step, 'table_prefix' => $convert->src_table_prefix, 'tag' => $convert->convertor_tag)), true); + set_config('convert_progress', serialize(array( + 'step' => $step, + 'table_prefix' => $convert->src_table_prefix, + 'tag' => $convert->convertor_tag, + )), true); + set_config('convert_db_server', serialize(array( + 'dbms' => $convert->src_dbms, + 'dbhost' => $convert->src_dbhost, + 'dbport' => $convert->src_dbport, + 'dbname' => $convert->src_dbname, + )), true); + set_config('convert_db_user', serialize(array( + 'dbuser' => $convert->src_dbuser, + 'dbpasswd' => $convert->src_dbpasswd, + )), true); $msg = $user->lang['PRE_CONVERT_COMPLETE'] . '

' . sprintf($user->lang['AUTHOR_NOTES'], $convert->convertor_data['author_notes']); $url = $this->p_master->module_url . "?mode=$mode&sub=in_progress&tag={$convert->convertor_tag}$step"; @@ -858,12 +995,33 @@ class install_convert extends module { if (!is_array($convert->convertor['query_first'])) { - $convert->convertor['query_first'] = array($convert->convertor['query_first']); + $convert->convertor['query_first'] = array('target', array($convert->convertor['query_first'])); + } + else if (!is_array($convert->convertor['query_first'][0])) + { + $convert->convertor['query_first'] = array(array($convert->convertor['query_first'][0], $convert->convertor['query_first'][1])); } foreach ($convert->convertor['query_first'] as $query_first) { - $db->sql_query($query_first); + if ($query_first[0] == 'src') + { + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'binary'"); + } + + $src_db->sql_query($query_first[1]); + + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'utf8'"); + } + } + else + { + $db->sql_query($query_first[1]); + } } } @@ -907,12 +1065,31 @@ class install_convert extends module { if (!is_array($schema['query_first'])) { - $schema['query_first'] = array($schema['query_first']); + $schema['query_first'] = array('target', array($schema['query_first'])); + } + else if (!is_array($schema['query_first'][0])) + { + $schema['query_first'] = array(array($schema['query_first'][0], $schema['query_first'][1])); } foreach ($schema['query_first'] as $query_first) { - $db->sql_query($query_first); + if ($query_first[0] == 'src') + { + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'binary'"); + } + $src_db->sql_query($query_first[1]); + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'utf8'"); + } + } + else + { + $db->sql_query($query_first[1]); + } } } @@ -1004,17 +1181,17 @@ class install_convert extends module $mtime = explode(' ', microtime()); $batch_time = $mtime[0] + $mtime[1]; - if ($convert->mysql_convert) + if ($convert->mysql_convert && $same_db) { - $db->sql_query("SET NAMES 'binary'"); + $src_db->sql_query("SET NAMES 'binary'"); } // Take skip rows into account and only fetch batch_size amount of rows - $___result = $db->sql_query_limit($sql, $convert->batch_size, $skip_rows); + $___result = $src_db->sql_query_limit($sql, $convert->batch_size, $skip_rows); - if ($convert->mysql_convert) + if ($convert->mysql_convert && $same_db) { - $db->sql_query("SET NAMES 'utf8'"); + $src_db->sql_query("SET NAMES 'utf8'"); } // This loop processes each row @@ -1036,12 +1213,12 @@ class install_convert extends module // Now handle the rows until time is over or no more rows to process... while (still_on_time()) { - $convert_row = $db->sql_fetchrow($___result); + $convert_row = $src_db->sql_fetchrow($___result); if (!$convert_row) { // move to the next batch or table - $db->sql_freeresult($___result); + $src_db->sql_freeresult($___result); break; } @@ -1184,7 +1361,21 @@ class install_convert extends module $step = '&current_table=' . $current_table . '&skip_rows=' . $skip_rows; // Save convertor Status - set_config('convert_progress', serialize(array('step' => $step, 'table_prefix' => $convert->src_table_prefix, 'tag' => $convert->convertor_tag)), true); + set_config('convert_progress', serialize(array( + 'step' => $step, + 'table_prefix' => $convert->src_table_prefix, + 'tag' => $convert->convertor_tag, + )), true); + set_config('convert_db_server', serialize(array( + 'dbms' => $convert->src_dbms, + 'dbhost' => $convert->src_dbhost, + 'dbport' => $convert->src_dbport, + 'dbname' => $convert->src_dbname, + )), true); + set_config('convert_db_user', serialize(array( + 'dbuser' => $convert->src_dbuser, + 'dbpasswd' => $convert->src_dbpasswd, + )), true); $current_table++; // $percentage = ($skip_rows == 0) ? 0 : floor(100 / ($total_rows / $skip_rows)); @@ -1208,7 +1399,21 @@ class install_convert extends module $step = '&jump=1'; // Save convertor Status - set_config('convert_progress', serialize(array('step' => $step, 'table_prefix' => $convert->src_table_prefix, 'tag' => $convert->convertor_tag)), true); + set_config('convert_progress', serialize(array( + 'step' => $step, + 'table_prefix' => $convert->src_table_prefix, + 'tag' => $convert->convertor_tag, + )), true); + set_config('convert_db_server', serialize(array( + 'dbms' => $convert->src_dbms, + 'dbhost' => $convert->src_dbhost, + 'dbport' => $convert->src_dbport, + 'dbname' => $convert->src_dbname, + )), true); + set_config('convert_db_user', serialize(array( + 'dbuser' => $convert->src_dbuser, + 'dbpasswd' => $convert->src_dbpasswd, + )), true); $url = $this->p_master->module_url . "?mode=$mode&sub=in_progress&tag={$convert->convertor_tag}$step"; @@ -1278,7 +1483,10 @@ class install_convert extends module $sync_batch = -1; $db->sql_query('DELETE FROM ' . CONFIG_TABLE . " - WHERE config_name = 'convert_progress' OR config_name = 'convert_options'"); + WHERE config_name = 'convert_progress' + OR config_name = 'convert_options' + OR config_name = 'convert_db_server' + OR config_name = 'convert_db_user'"); $db->sql_query('DELETE FROM ' . SESSIONS_TABLE); @unlink($phpbb_root_path . 'cache/data_global.php'); @@ -1305,7 +1513,21 @@ class install_convert extends module $step = '&sync_batch=' . $sync_batch; // Save convertor Status - set_config('convert_progress', serialize(array('step' => $step, 'table_prefix' => $convert->options['table_prefix'], 'tag' => $convert->convertor_tag)), true); + set_config('convert_progress', serialize(array( + 'step' => $step, + 'table_prefix' => $convert->src_table_prefix, + 'tag' => $convert->convertor_tag, + )), true); + set_config('convert_db_server', serialize(array( + 'dbms' => $convert->src_dbms, + 'dbhost' => $convert->src_dbhost, + 'dbport' => $convert->src_dbport, + 'dbname' => $convert->src_dbname, + )), true); + set_config('convert_db_user', serialize(array( + 'dbuser' => $convert->src_dbuser, + 'dbpasswd' => $convert->src_dbpasswd, + )), true); $url = $this->p_master->module_url . "?mode=$this->mode&sub=in_progress&tag={$convert->convertor_tag}$step"; @@ -1323,7 +1545,7 @@ class install_convert extends module */ function jump($jump, $last_statement) { - global $template, $user, $db, $phpbb_root_path, $phpEx, $config, $cache; + global $template, $user, $src_db, $same_db, $db, $phpbb_root_path, $phpEx, $config, $cache; global $convert; $template->assign_block_vars('checks', array( @@ -1355,7 +1577,21 @@ class install_convert extends module $step = '&jump=1&last=' . $last_statement; // Save convertor Status - set_config('convert_progress', serialize(array('step' => $step, 'table_prefix' => $convert->src_table_prefix, 'tag' => $convert->convertor_tag)), true); + set_config('convert_progress', serialize(array( + 'step' => $step, + 'table_prefix' => $convert->src_table_prefix, + 'tag' => $convert->convertor_tag, + )), true); + set_config('convert_db_server', serialize(array( + 'dbms' => $convert->src_dbms, + 'dbhost' => $convert->src_dbhost, + 'dbport' => $convert->src_dbport, + 'dbname' => $convert->src_dbname, + )), true); + set_config('convert_db_user', serialize(array( + 'dbuser' => $convert->src_dbuser, + 'dbpasswd' => $convert->src_dbpasswd, + )), true); $percentage = ($last_statement == 0) ? 0 : floor(100 / (sizeof($convert->convertor['execute_last']) / $last_statement)); $msg = sprintf($user->lang['STEP_PERCENT_COMPLETED'], $last_statement, sizeof($convert->convertor['execute_last']), $percentage); @@ -1377,17 +1613,39 @@ class install_convert extends module { if (!is_array($convert->convertor['query_last'])) { - $convert->convertor['query_last'] = array($convert->convertor['query_last']); + $convert->convertor['query_last'] = array('target', array($convert->convertor['query_last'])); + } + else if (!is_array($convert->convertor['query_last'][0])) + { + $convert->convertor['query_last'] = array(array($convert->convertor['query_last'][0], $convert->convertor['query_last'][1])); } foreach ($convert->convertor['query_last'] as $query_last) { - $db->sql_query($query_last); + if ($query_last[0] == 'src') + { + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'binary'"); + } + + $src_db->sql_query($query_last[1]); + + if ($convert->mysql_convert && $same_db) + { + $src_db->sql_query("SET NAMES 'utf8'"); + } + } + else + { + $db->sql_query($query_last[1]); + } } } // Sanity check $db->sql_return_on_error(false); + $src_db->sql_return_on_error(false); fix_empty_primary_groups(); @@ -1416,7 +1674,21 @@ class install_convert extends module $step = '&jump=2'; // Save convertor Status - set_config('convert_progress', serialize(array('step' => $step, 'table_prefix' => $convert->src_table_prefix, 'tag' => $convert->convertor_tag)), true); + set_config('convert_progress', serialize(array( + 'step' => $step, + 'table_prefix' => $convert->src_table_prefix, + 'tag' => $convert->convertor_tag, + )), true); + set_config('convert_db_server', serialize(array( + 'dbms' => $convert->src_dbms, + 'dbhost' => $convert->src_dbhost, + 'dbport' => $convert->src_dbport, + 'dbname' => $convert->src_dbname, + )), true); + set_config('convert_db_user', serialize(array( + 'dbuser' => $convert->src_dbuser, + 'dbpasswd' => $convert->src_dbpasswd, + )), true); $url = $this->p_master->module_url . "?mode={$this->mode}&sub=in_progress&tag={$convert->convertor_tag}$step"; @@ -1446,7 +1718,21 @@ class install_convert extends module $step = '&jump=3'; // Save convertor Status - set_config('convert_progress', serialize(array('step' => $step, 'table_prefix' => $convert->src_table_prefix, 'tag' => $convert->convertor_tag)), true); + set_config('convert_progress', serialize(array( + 'step' => $step, + 'table_prefix' => $convert->src_table_prefix, + 'tag' => $convert->convertor_tag, + )), true); + set_config('convert_db_server', serialize(array( + 'dbms' => $convert->src_dbms, + 'dbhost' => $convert->src_dbhost, + 'dbport' => $convert->src_dbport, + 'dbname' => $convert->src_dbname, + )), true); + set_config('convert_db_user', serialize(array( + 'dbuser' => $convert->src_dbuser, + 'dbpasswd' => $convert->src_dbpasswd, + )), true); $url = $this->p_master->module_url . "?mode={$this->mode}&sub=in_progress&tag={$convert->convertor_tag}$step"; @@ -1472,7 +1758,21 @@ class install_convert extends module $step = '&sync_batch=0'; // Save convertor Status - set_config('convert_progress', serialize(array('step' => $step, 'table_prefix' => $convert->src_table_prefix, 'tag' => $convert->convertor_tag)), true); + set_config('convert_progress', serialize(array( + 'step' => $step, + 'table_prefix' => $convert->src_table_prefix, + 'tag' => $convert->convertor_tag, + )), true); + set_config('convert_db_server', serialize(array( + 'dbms' => $convert->src_dbms, + 'dbhost' => $convert->src_dbhost, + 'dbport' => $convert->src_dbport, + 'dbname' => $convert->src_dbname, + )), true); + set_config('convert_db_user', serialize(array( + 'dbuser' => $convert->src_dbuser, + 'dbpasswd' => $convert->src_dbpasswd, + )), true); $url = $this->p_master->module_url . "?mode={$this->mode}&sub=in_progress&tag={$convert->convertor_tag}$step"; @@ -1810,10 +2110,16 @@ class install_convert extends module */ var $convert_options = array( 'legend1' => 'SPECIFY_OPTIONS', + 'src_dbms' => array('lang' => 'DBMS', 'type' => 'select', 'options' => 'dbms_select(\'{VALUE}\')', 'explain' => false), + 'src_dbhost' => array('lang' => 'DB_HOST', 'type' => 'text:25:100', 'explain' => true), + 'src_dbport' => array('lang' => 'DB_PORT', 'type' => 'text:25:100', 'explain' => true), + 'src_dbname' => array('lang' => 'DB_NAME', 'type' => 'text:25:100', 'explain' => false), + 'src_dbuser' => array('lang' => 'DB_USERNAME', 'type' => 'text:25:100', 'explain' => false), + 'src_dbpasswd' => array('lang' => 'DB_PASSWORD', 'type' => 'password:25:100', 'explain' => false), 'src_table_prefix' => array('lang' => 'TABLE_PREFIX', 'type' => 'text:25:100', 'explain' => false), //'src_url' => array('lang' => 'FORUM_ADDRESS', 'type' => 'text:50:100', 'explain' => true), 'forum_path' => array('lang' => 'FORUM_PATH', 'type' => 'text:25:100', 'explain' => true), - 'refresh' => array('lang' => 'REFRESH_PAGE', 'type' => 'radio:yes_no', 'explain' => true), + 'refresh' => array('lang' => 'REFRESH_PAGE', 'type' => 'radio:yes_no', 'explain' => true), ); } diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index 79fd828784..ca91cf6396 100755 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -208,7 +208,7 @@ class install_install extends module * Better not enabling and adding to the loaded extensions due to the specific requirements needed if (!@extension_loaded('mbstring')) { - $this->can_load_dll('mbstring'); + can_load_dll('mbstring'); } */ @@ -276,35 +276,32 @@ class install_install extends module 'LEGEND_EXPLAIN' => $lang['PHP_SUPPORTED_DB_EXPLAIN'], )); - $dlls_db = array(); - $passed['db'] = false; - foreach ($this->available_dbms as $db_name => $db_ary) + $available_dbms = get_available_dbms(false, true); + $passed['db'] = $available_dbms['ANY_DB_SUPPORT']; + unset($available_dbms['ANY_DB_SUPPORT']); + + foreach ($available_dbms as $db_name => $db_ary) { - $dll = $db_ary['MODULE']; - - if (!@extension_loaded($dll)) + if (!$db_ary['AVAILABLE']) { - if (!$this->can_load_dll($dll)) - { - $template->assign_block_vars('checks', array( - 'TITLE' => $lang['DLL_' . strtoupper($db_name)], - 'RESULT' => '' . $lang['UNAVAILABLE'] . '', + $template->assign_block_vars('checks', array( + 'TITLE' => $lang['DLL_' . strtoupper($db_name)], + 'RESULT' => '' . $lang['UNAVAILABLE'] . '', - 'S_EXPLAIN' => false, - 'S_LEGEND' => false, - )); - continue; - } + 'S_EXPLAIN' => false, + 'S_LEGEND' => false, + )); } + else + { + $template->assign_block_vars('checks', array( + 'TITLE' => $lang['DLL_' . strtoupper($db_name)], + 'RESULT' => '' . $lang['AVAILABLE'] . '', - $template->assign_block_vars('checks', array( - 'TITLE' => $lang['DLL_' . strtoupper($db_name)], - 'RESULT' => '' . $lang['AVAILABLE'] . '', - - 'S_EXPLAIN' => false, - 'S_LEGEND' => false, - )); - $passed['db'] = true; + 'S_EXPLAIN' => false, + 'S_LEGEND' => false, + )); + } } // Test for other modules @@ -318,7 +315,7 @@ class install_install extends module { if (!@extension_loaded($dll)) { - if (!$this->can_load_dll($dll)) + if (!can_load_dll($dll)) { $template->assign_block_vars('checks', array( 'TITLE' => $lang['DLL_' . strtoupper($dll)], @@ -502,21 +499,22 @@ class install_install extends module } $connect_test = false; + $error = array(); + $available_dbms = get_available_dbms(false, true); // Has the user opted to test the connection? if (isset($_POST['testdb'])) { - // If the module for the selected database isn't loaded, let's try and load it now - if (!@extension_loaded($this->available_dbms[$dbms]['MODULE'])) + if (!isset($available_dbms[$dbms]) || !$available_dbms[$dbms]['AVAILABLE']) { - if (!$this->can_load_dll($this->available_dbms[$dbms]['MODULE'])) - { - $error['db'][] = $lang['INST_ERR_NO_DB']; - } + $error['db'][] = $lang['INST_ERR_NO_DB']; + $connect_test = false; + } + else + { + $dbpasswd = htmlspecialchars_decode($dbpasswd); + $connect_test = connect_check_db(true, $error, $available_dbms[$dbms], $table_prefix, $dbhost, $dbuser, $dbpasswd, $dbname, $dbport); } - - $dbpasswd = htmlspecialchars_decode($dbpasswd); - $connect_test = $this->connect_check_db(true, $error, $dbms, $table_prefix, $dbhost, $dbuser, $dbpasswd, $dbname, $dbport); $template->assign_block_vars('checks', array( 'S_LEGEND' => true, @@ -550,20 +548,17 @@ class install_install extends module { // Update the list of available DBMS modules to only contain those which can be used $available_dbms_temp = array(); - foreach ($this->available_dbms as $type => $dbms_ary) + foreach ($available_dbms as $type => $dbms_ary) { - if (!@extension_loaded($dbms_ary['MODULE'])) + if (!$dbms_ary['AVAILABLE']) { - if (!$this->can_load_dll($dbms_ary['MODULE'])) - { - continue; - } + continue; } $available_dbms_temp[$type] = $dbms_ary; } - $this->available_dbms = &$available_dbms_temp; + $available_dbms = &$available_dbms_temp; // And now for the main part of this page $table_prefix = (!empty($table_prefix) ? $table_prefix : 'phpbb_'); @@ -828,7 +823,8 @@ class install_install extends module // Create a list of any PHP modules we wish to have loaded $load_extensions = array(); - $check_exts = array_merge(array($this->available_dbms[$dbms]['MODULE']), $this->php_dlls_other); + $available_dbms = get_available_dbms($dbms); + $check_exts = array_merge(array($available_dbms[$dbms]['MODULE']), $this->php_dlls_other); $suffix = (defined('PHP_OS') && strpos(strtolower(PHP_OS), 'win') === 0) ? 'dll' : 'so'; @@ -836,7 +832,7 @@ class install_install extends module { if (!@extension_loaded($dll)) { - if (!$this->can_load_dll($dll)) + if (!can_load_dll($dll)) { continue; } @@ -860,7 +856,7 @@ class install_install extends module // Time to convert the data provided into a config file $config_data = "available_dbms[$dbms]['DRIVER'] . "';\n"; + $config_data .= "\$dbms = '" . $available_dbms[$dbms]['DRIVER'] . "';\n"; $config_data .= "\$dbhost = '$dbhost';\n"; $config_data .= "\$dbport = '$dbport';\n"; $config_data .= "\$dbname = '$dbname';\n"; @@ -1085,19 +1081,16 @@ class install_install extends module $cookie_domain = str_replace('www.', '.', $cookie_domain); } - // If we get here and the extension isn't loaded it should be safe to just go ahead and load it - if (!@extension_loaded($this->available_dbms[$dbms]['MODULE'])) - { - $this->can_load_dll($this->available_dbms[$dbms]['MODULE']); - } + // If we get here and the extension isn't loaded it should be safe to just go ahead and load it + $available_dbms = get_available_dbms($dbms); $dbpasswd = htmlspecialchars_decode($dbpasswd); // Load the appropriate database class if not already loaded - include($phpbb_root_path . 'includes/db/' . $this->available_dbms[$dbms]['DRIVER'] . '.' . $phpEx); + include($phpbb_root_path . 'includes/db/' . $available_dbms[$dbms]['DRIVER'] . '.' . $phpEx); // Instantiate the database - $sql_db = 'dbal_' . $this->available_dbms[$dbms]['DRIVER']; + $sql_db = 'dbal_' . $available_dbms[$dbms]['DRIVER']; $db = new $sql_db(); $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false); @@ -1109,21 +1102,21 @@ class install_install extends module { if (version_compare($db->mysql_version, '4.1.3', '>=')) { - $this->available_dbms[$dbms]['SCHEMA'] .= '_41'; + $available_dbms[$dbms]['SCHEMA'] .= '_41'; } else { - $this->available_dbms[$dbms]['SCHEMA'] .= '_40'; + $available_dbms[$dbms]['SCHEMA'] .= '_40'; } } // Ok we have the db info go ahead and read in the relevant schema // and work on building the table - $dbms_schema = 'schemas/' . $this->available_dbms[$dbms]['SCHEMA'] . '_schema.sql'; + $dbms_schema = 'schemas/' . $available_dbms[$dbms]['SCHEMA'] . '_schema.sql'; // How should we treat this schema? - $remove_remarks = $this->available_dbms[$dbms]['COMMENTS']; - $delimiter = $this->available_dbms[$dbms]['DELIM']; + $remove_remarks = $available_dbms[$dbms]['COMMENTS']; + $delimiter = $available_dbms[$dbms]['DELIM']; $sql_query = @file_get_contents($dbms_schema); @@ -1309,7 +1302,7 @@ class install_install extends module if (!@extension_loaded('gd')) { - $this->can_load_dll('gd'); + can_load_dll('gd'); } // This is for people who have TTF and GD @@ -1372,16 +1365,13 @@ class install_install extends module $dbpasswd = htmlspecialchars_decode($dbpasswd); // If we get here and the extension isn't loaded it should be safe to just go ahead and load it - if (!@extension_loaded($this->available_dbms[$dbms]['MODULE'])) - { - $this->can_load_dll($this->available_dbms[$dbms]['MODULE']); - } + $available_dbms = get_available_dbms($dbms); // Load the appropriate database class if not already loaded - include($phpbb_root_path . 'includes/db/' . $this->available_dbms[$dbms]['DRIVER'] . '.' . $phpEx); + include($phpbb_root_path . 'includes/db/' . $available_dbms[$dbms]['DRIVER'] . '.' . $phpEx); // Instantiate the database - $sql_db = 'dbal_' . $this->available_dbms[$dbms]['DRIVER']; + $sql_db = 'dbal_' . $available_dbms[$dbms]['DRIVER']; $db = new $sql_db(); $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false); @@ -1790,317 +1780,6 @@ class install_install extends module 'U_ACTION' => append_sid($phpbb_root_path . 'adm/index.' . $phpEx), )); } - - /** - * Determine if we are able to load a specified PHP module - */ - function can_load_dll($dll) - { - global $suffix; - - if (empty($suffix)) - { - $suffix = (defined('PHP_OS') && strpos(strtolower(PHP_OS), 'win') === 0) ? 'dll' : 'so'; - } - - return ((@ini_get('enable_dl') || strtolower(@ini_get('enable_dl')) == 'on') && (!@ini_get('safe_mode') || strtolower(@ini_get('safe_mode')) == 'off') && @dl($dll . ".$suffix")) ? true : false; - } - - /** - * Used to test whether we are able to connect to the database the user has specified - * and identify any problems (eg there are already tables with the names we want to use - */ - function connect_check_db($error_connect, &$error, $dbms, $table_prefix, $dbhost, $dbuser, $dbpasswd, $dbname, $dbport) - { - global $phpbb_root_path, $phpEx, $config, $lang; - - // Include the DB layer - include($phpbb_root_path . 'includes/db/' . $this->available_dbms[$dbms]['DRIVER'] . '.' . $phpEx); - - // Instantiate it and set return on error true - $sql_db = 'dbal_' . $this->available_dbms[$dbms]['DRIVER']; - $db = new $sql_db(); - $db->sql_return_on_error(true); - - // Check that we actually have a database name before going any further..... - if ($dbms != 'sqlite' && $dbname === '') - { - $error[] = $lang['INST_ERR_DB_NO_NAME']; - return false; - } - - // Make sure we don't have a daft user who thinks having the SQLite database in the forum directory is a good idea - if ($dbms == 'sqlite' && stripos(phpbb_realpath($dbhost), phpbb_realpath('../')) === 0) - { - $error[] = $lang['INST_ERR_DB_FORUM_PATH']; - return false; - } - - // Check the prefix length to ensure that index names are not too long and does not contain invalid characters - switch ($dbms) - { - case 'mysql': - case 'mysqli': - if (strpos($table_prefix, '-') !== false) - { - $error[] = $lang['INST_ERR_PREFIX_INVALID']; - return false; - } - - // no break; - - case 'postgres': - $prefix_length = 36; - break; - - case 'mssql': - case 'mssql_odbc': - $prefix_length = 90; - break; - - case 'sqlite': - $prefix_length = 200; - break; - - case 'firebird': - case 'oracle': - $prefix_length = 6; - break; - } - - if (strlen($table_prefix) > $prefix_length) - { - $error[] = sprintf($lang['INST_ERR_PREFIX_TOO_LONG'], $prefix_length); - return false; - } - - // Try and connect ... - if (is_array($db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false))) - { - $db_error = $db->sql_error(); - $error[] = $lang['INST_ERR_DB_CONNECT'] . '
' . (($db_error['message']) ? $db_error['message'] : $lang['INST_ERR_DB_NO_ERROR']); - } - else - { - switch ($dbms) - { - case 'mysql': - case 'mysqli': - $sql = 'SHOW TABLES'; - $field = "Tables_in_{$dbname}"; - break; - - case 'sqlite': - $sql = 'SELECT name - FROM sqlite_master - WHERE type = "table"'; - $field = 'name'; - break; - - case 'mssql': - case 'mssql_odbc': - $sql = "SELECT name - FROM sysobjects - WHERE type='U'"; - $field = 'name'; - break; - - case 'postgres': - $sql = "SELECT relname - FROM pg_class - WHERE relkind = 'r' - AND relname NOT LIKE 'pg\_%'"; - $field = 'relname'; - break; - - case 'firebird': - $sql = 'SELECT rdb$relation_name - FROM rdb$relations - WHERE rdb$view_source is null - AND rdb$system_flag = 0'; - $field = 'rdb$relation_name'; - break; - - case 'oracle': - $sql = 'SELECT table_name - FROM USER_TABLES'; - $field = 'table_name'; - break; - } - $result = $db->sql_query($sql); - - if ($row = $db->sql_fetchrow($result)) - { - // Likely matches for an existing phpBB installation - $temp_prefix = strtolower($table_prefix); - $table_ary = array($temp_prefix . 'attachments', $temp_prefix . 'config', $temp_prefix . 'sessions', $temp_prefix . 'topics', $temp_prefix . 'users'); - - do - { - // All phpBB installations will at least have config else it won't work - if (in_array(strtolower($row[$field]), $table_ary)) - { - $error[] = $lang['INST_ERR_PREFIX']; - break; - } - } - while ($row = $db->sql_fetchrow($result)); - } - $db->sql_freeresult($result); - - // Make sure that the user has selected a sensible DBAL for the DBMS actually installed - switch ($dbms) - { - case 'mysqli': - if (version_compare(mysqli_get_server_info($db->db_connect_id), '4.1.3', '<')) - { - $error[] = $lang['INST_ERR_DB_NO_MYSQLI']; - } - break; - - case 'sqlite': - if (version_compare(sqlite_libversion(), '2.8.2', '<')) - { - $error[] = $lang['INST_ERR_DB_NO_SQLITE']; - } - break; - - case 'firebird': - // check the version of FB, use some hackery if we can't get access to the server info - if ($db->service_handle !== false && function_exists('ibase_server_info')) - { - $val = @ibase_server_info($db->service_handle, IBASE_SVC_SERVER_VERSION); - preg_match('#V([\d.]+)#', $val, $match); - if ($match[1] < 2) - { - $error[] = $lang['INST_ERR_DB_NO_FIREBIRD']; - } - $db_info = @ibase_db_info($db->service_handle, $dbname, IBASE_STS_HDR_PAGES); - - preg_match('/^\\s*Page size\\s*(\\d+)/m', $db_info, $regs); - $page_size = intval($regs[1]); - if ($page_size < 8192) - { - $error[] = $lang['INST_ERR_DB_NO_FIREBIRD_PS']; - } - } - else - { - $sql = "SELECT * - FROM RDB$FUNCTIONS - WHERE RDB$SYSTEM_FLAG IS NULL - AND RDB$FUNCTION_NAME = 'CHAR_LENGTH'"; - $result = $db->sql_query($sql); - $row = $db->sql_fetchrow($result); - $db->sql_freeresult($result); - - // if its a UDF, its too old - if ($row) - { - $error[] = $lang['INST_ERR_DB_NO_FIREBIRD']; - } - else - { - $sql = "SELECT FIRST 0 char_length('') - FROM RDB\$DATABASE"; - $result = $db->sql_query($sql); - if (!$result) // This can only fail if char_length is not defined - { - $error[] = $lang['INST_ERR_DB_NO_FIREBIRD']; - } - $db->sql_freeresult($result); - } - - // Setup the stuff for our random table - $char_array = array_merge(range('A', 'Z'), range('0', '9')); - $char_len = mt_rand(7, 9); - $char_array_len = sizeof($char_array) - 1; - - $final = ''; - - for ($i = 0; $i < $char_len; $i++) - { - $final .= $char_array[mt_rand(0, $char_array_len)]; - } - - // Create some random table - $sql = 'CREATE TABLE ' . $final . " ( - FIELD1 VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE, - FIELD2 INTEGER DEFAULT 0 NOT NULL);"; - $db->sql_query($sql); - - // Create an index that should fail if the page size is less than 8192 - $sql = 'CREATE INDEX ' . $final . ' ON ' . $final . '(FIELD1, FIELD2);'; - $db->sql_query($sql); - - if (ibase_errmsg() !== false) - { - $error[] = $lang['INST_ERR_DB_NO_FIREBIRD_PS']; - } - else - { - // Kill the old table - $db->sql_query('DROP TABLE ' . $final . ';'); - } - unset($final); - } - break; - - case 'oracle': - $sql = "SELECT * - FROM NLS_DATABASE_PARAMETERS - WHERE PARAMETER = 'NLS_RDBMS_VERSION' - OR PARAMETER = 'NLS_CHARACTERSET'"; - $result = $db->sql_query($sql); - - while ($row = $db->sql_fetchrow($result)) - { - $stats[$row['parameter']] = $row['value']; - } - $db->sql_freeresult($result); - - if (version_compare($stats['NLS_RDBMS_VERSION'], '9.2', '<') && $stats['NLS_CHARACTERSET'] !== 'UTF8') - { - $error[] = $lang['INST_ERR_DB_NO_ORACLE']; - } - break; - - case 'postgres': - $sql = "SHOW server_encoding;"; - $result = $db->sql_query($sql); - $row = $db->sql_fetchrow($result); - $db->sql_freeresult($result); - - if ($row['server_encoding'] !== 'UNICODE' && $row['server_encoding'] !== 'UTF8') - { - $error[] = $lang['INST_ERR_DB_NO_POSTGRES']; - } - break; - } - - $db->sql_close(); - } - - if ($error_connect && (!isset($error) || !sizeof($error))) - { - return true; - } - return false; - } - - /** - * Generate the drop down of available database options - */ - function dbms_select($default='') - { - $dbms_options = ''; - foreach ($this->available_dbms as $dbms_name => $details) - { - $selected = ($dbms_name == $default) ? ' selected="selected"' : ''; - $dbms_options .= ''; - } - return $dbms_options; - } /** * Generate a list of available mail server authentication methods @@ -2132,7 +1811,7 @@ class install_install extends module */ var $db_config_options = array( 'legend1' => 'DB_CONFIG', - 'dbms' => array('lang' => 'DBMS', 'type' => 'select', 'options' => '$this->module->dbms_select(\'{VALUE}\')', 'explain' => false), + 'dbms' => array('lang' => 'DBMS', 'type' => 'select', 'options' => 'dbms_select(\'{VALUE}\')', 'explain' => false), 'dbhost' => array('lang' => 'DB_HOST', 'type' => 'text:25:100', 'explain' => true), 'dbport' => array('lang' => 'DB_PORT', 'type' => 'text:25:100', 'explain' => true), 'dbname' => array('lang' => 'DB_NAME', 'type' => 'text:25:100', 'explain' => false), @@ -2172,76 +1851,6 @@ class install_install extends module */ var $php_dlls_other = array('zlib', 'ftp', 'gd', 'xml'); - /** - * Details of the database management systems supported - */ - var $available_dbms = array( - 'firebird' => array( - 'LABEL' => 'FireBird', - 'SCHEMA' => 'firebird', - 'MODULE' => 'interbase', - 'DELIM' => ';;', - 'COMMENTS' => 'remove_remarks', - 'DRIVER' => 'firebird' - ), - 'mysqli' => array( - 'LABEL' => 'MySQL with MySQLi Extension', - 'SCHEMA' => 'mysql_41', - 'MODULE' => 'mysqli', - 'DELIM' => ';', - 'COMMENTS' => 'remove_remarks', - 'DRIVER' => 'mysqli' - ), - 'mysql' => array( - 'LABEL' => 'MySQL', - 'SCHEMA' => 'mysql', - 'MODULE' => 'mysql', - 'DELIM' => ';', - 'COMMENTS' => 'remove_remarks', - 'DRIVER' => 'mysql' - ), - 'mssql' => array( - 'LABEL' => 'MS SQL Server 2000+', - 'SCHEMA' => 'mssql', - 'MODULE' => 'mssql', - 'DELIM' => 'GO', - 'COMMENTS' => 'remove_comments', - 'DRIVER' => 'mssql' - ), - 'mssql_odbc'=> array( - 'LABEL' => 'MS SQL Server [ ODBC ]', - 'SCHEMA' => 'mssql', - 'MODULE' => 'odbc', - 'DELIM' => 'GO', - 'COMMENTS' => 'remove_comments', - 'DRIVER' => 'mssql_odbc' - ), - 'oracle' => array( - 'LABEL' => 'Oracle', - 'SCHEMA' => 'oracle', - 'MODULE' => 'oci8', - 'DELIM' => '/', - 'COMMENTS' => 'remove_comments', - 'DRIVER' => 'oracle' - ), - 'postgres' => array( - 'LABEL' => 'PostgreSQL 7.x/8.x', - 'SCHEMA' => 'postgres', - 'MODULE' => 'pgsql', - 'DELIM' => ';', - 'COMMENTS' => 'remove_comments', - 'DRIVER' => 'postgres' - ), - 'sqlite' => array( - 'LABEL' => 'SQLite', - 'SCHEMA' => 'sqlite', - 'MODULE' => 'sqlite', - 'DELIM' => ';', - 'COMMENTS' => 'remove_remarks', - 'DRIVER' => 'sqlite' - ), - ); - /** * A list of the web-crawlers/bots we recognise by default * diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index 42e0cf5ccf..4bcc26bccf 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -46,7 +46,7 @@ $lang = array_merge($lang, array( 'BEGIN_CONVERT' => 'Begin conversion', 'BLANK_PREFIX_FOUND' => 'A scan of your tables has shown a valid installation using no table prefix.', 'BOARD_NOT_INSTALLED' => 'No installation found', - 'BOARD_NOT_INSTALLED_EXPLAIN' => 'To perform a conversion you need to have a default installation of phpBB3. Please note that for a conversion the new installation and the old installation need to reside within the same database. You may now want to perform an installation.', + 'BOARD_NOT_INSTALLED_EXPLAIN' => 'To perform a conversion you need to have a default installation of phpBB3. You may now want to perform an installation.', 'CATEGORY' => 'Category', 'CACHE_STORE' => 'Cache type', From e526dfe83e805e8ffac5abcab0ba2fc67c7563ce Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Sat, 17 Feb 2007 01:14:28 +0000 Subject: [PATCH 046/707] - only give DBAL options which were available in phpBB2 - default to phpBB3 DB config git-svn-id: file:///svn/phpbb/trunk@6996 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_install.php | 27 +++++++++++++++++--- phpBB/install/convertors/convert_phpbb20.php | 15 ++++++----- phpBB/install/install_convert.php | 4 +-- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/phpBB/includes/functions_install.php b/phpBB/includes/functions_install.php index 0b7bbb607f..0feaeff08e 100644 --- a/phpBB/includes/functions_install.php +++ b/phpBB/includes/functions_install.php @@ -27,7 +27,7 @@ function can_load_dll($dll) * Returns an array of available DBMS with some data, if a DBMS is specified it will only * return data for that DBMS and will load its extension if necessary. */ -function get_available_dbms($dbms = false, $return_unavailable = false) +function get_available_dbms($dbms = false, $return_unavailable = false, $only_20x_options = false) { $available_dbms = array( 'firebird' => array( @@ -38,6 +38,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false) 'COMMENTS' => 'remove_remarks', 'DRIVER' => 'firebird', 'AVAILABLE' => true, + '2.0.x' => false, ), 'mysqli' => array( 'LABEL' => 'MySQL with MySQLi Extension', @@ -47,6 +48,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false) 'COMMENTS' => 'remove_remarks', 'DRIVER' => 'mysqli', 'AVAILABLE' => true, + '2.0.x' => true, ), 'mysql' => array( 'LABEL' => 'MySQL', @@ -56,6 +58,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false) 'COMMENTS' => 'remove_remarks', 'DRIVER' => 'mysql', 'AVAILABLE' => true, + '2.0.x' => true, ), 'mssql' => array( 'LABEL' => 'MS SQL Server 2000+', @@ -65,6 +68,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false) 'COMMENTS' => 'remove_comments', 'DRIVER' => 'mssql', 'AVAILABLE' => true, + '2.0.x' => true, ), 'mssql_odbc'=> array( 'LABEL' => 'MS SQL Server [ ODBC ]', @@ -74,6 +78,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false) 'COMMENTS' => 'remove_comments', 'DRIVER' => 'mssql_odbc', 'AVAILABLE' => true, + '2.0.x' => true, ), 'oracle' => array( 'LABEL' => 'Oracle', @@ -83,6 +88,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false) 'COMMENTS' => 'remove_comments', 'DRIVER' => 'oracle', 'AVAILABLE' => true, + '2.0.x' => false, ), 'postgres' => array( 'LABEL' => 'PostgreSQL 7.x/8.x', @@ -92,6 +98,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false) 'COMMENTS' => 'remove_comments', 'DRIVER' => 'postgres', 'AVAILABLE' => true, + '2.0.x' => true, ), 'sqlite' => array( 'LABEL' => 'SQLite', @@ -101,6 +108,7 @@ function get_available_dbms($dbms = false, $return_unavailable = false) 'COMMENTS' => 'remove_remarks', 'DRIVER' => 'sqlite', 'AVAILABLE' => true, + '2.0.x' => false, ), ); @@ -119,6 +127,19 @@ function get_available_dbms($dbms = false, $return_unavailable = false) // now perform some checks whether they are really available foreach ($available_dbms as $db_name => $db_ary) { + if ($only_20x_options && !$db_ary['2.0.x']) + { + if ($return_unavailable) + { + $available_dbms[$db_name]['AVAILABLE'] = false; + } + else + { + unset($available_dbms[$db_name]); + } + continue; + } + $dll = $db_ary['MODULE']; if (!@extension_loaded($dll)) @@ -149,9 +170,9 @@ function get_available_dbms($dbms = false, $return_unavailable = false) /** * Generate the drop down of available database options */ -function dbms_select($default='') +function dbms_select($default = '', $only_20x_options = false) { - $available_dbms = get_available_dbms(); + $available_dbms = get_available_dbms(false, false, $only_20x_options); $dbms_options = ''; foreach ($available_dbms as $dbms_name => $details) { diff --git a/phpBB/install/convertors/convert_phpbb20.php b/phpBB/install/convertors/convert_phpbb20.php index 4f66d3848a..8ba43f4be8 100644 --- a/phpBB/install/convertors/convert_phpbb20.php +++ b/phpBB/install/convertors/convert_phpbb20.php @@ -22,6 +22,9 @@ if (!defined('IN_PHPBB')) exit; } +include($phpbb_root_path . 'config.' . $phpEx); +unset($dbpasswd); + /** * $convertor_data provides some basic information about this convertor which is * used on the initial list of convertors and to populate the default settings @@ -31,12 +34,12 @@ $convertor_data = array( 'version' => '0.9', 'phpbb_version' => '3.0.0', 'author' => 'phpBB Group', - 'dbms' => 'mysql', - 'dbhost' => 'localhost', - 'dbport' => '', - 'dbuser' => 'user', - 'dbpasswd' => 'password', - 'dbname' => '', + 'dbms' => $dbms, + 'dbhost' => $dbhost, + 'dbport' => $dbport, + 'dbuser' => $dbuser, + 'dbpasswd' => '', + 'dbname' => $dbname, 'table_prefix' => 'phpbb_', 'forum_path' => '../forums', 'author_notes' => 'Avatars may be on a different width/height than with the old forum. This is due to dimensions being stored within phpBB3 but not within phpBB2. The default dimension was set to 80x80 for avatars where dimension settings could not be determined. You might wish to instruct your users to check their profiles after the conversion to ensure that the size is correct.', diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index a3541f6f29..862964fccd 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -397,7 +397,7 @@ class install_convert extends module } $connect_test = false; - $available_dbms = get_available_dbms(false, true); + $available_dbms = get_available_dbms(false, true, true); if (!isset($available_dbms[$src_dbms]) || !$available_dbms[$src_dbms]['AVAILABLE']) { @@ -2110,7 +2110,7 @@ class install_convert extends module */ var $convert_options = array( 'legend1' => 'SPECIFY_OPTIONS', - 'src_dbms' => array('lang' => 'DBMS', 'type' => 'select', 'options' => 'dbms_select(\'{VALUE}\')', 'explain' => false), + 'src_dbms' => array('lang' => 'DBMS', 'type' => 'select', 'options' => 'dbms_select(\'{VALUE}\', true)', 'explain' => false), 'src_dbhost' => array('lang' => 'DB_HOST', 'type' => 'text:25:100', 'explain' => true), 'src_dbport' => array('lang' => 'DB_PORT', 'type' => 'text:25:100', 'explain' => true), 'src_dbname' => array('lang' => 'DB_NAME', 'type' => 'text:25:100', 'explain' => false), From 4a83eb22da3b576a1feaf9bd1e021068d0a310bd Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 17 Feb 2007 03:20:14 +0000 Subject: [PATCH 047/707] - finally fixed this one, IE has a bug that makes puppies cry. git-svn-id: file:///svn/phpbb/trunk@6997 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index ed1dab4fd8..b122f15f8f 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -504,6 +504,7 @@ class base_extractor var $download; var $time; var $format; + var $run_comp = false; function base_extractor($download = false, $store = false, $format, $filename, $time) { @@ -551,7 +552,14 @@ class base_extractor break; case 'gzip': - ob_start('ob_gzhandler'); + if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) + { + ob_start('ob_gzhandler'); + } + else + { + $this->run_comp = true; + } break; } } @@ -604,12 +612,23 @@ class base_extractor if ($this->download === true) { - echo $data; + if ($this->format === 'bzip2' || ($this->format === 'gzip' && !$this->run_comp)) + { + echo $data; + } // we can write the gzip data as soon as we get it if ($this->format === 'gzip') { - ob_flush(); + if ($this->run_comp) + { + echo gzencode($data); + } + else + { + ob_flush(); + flush(); + } } } } From bb7c0ded605826b8261c1b215253d7958a773777 Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 17 Feb 2007 04:51:57 +0000 Subject: [PATCH 048/707] #8090 git-svn-id: file:///svn/phpbb/trunk@6998 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_bbcodes.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/includes/acp/acp_bbcodes.php b/phpBB/includes/acp/acp_bbcodes.php index 9c2d19168a..6a492787a1 100644 --- a/phpBB/includes/acp/acp_bbcodes.php +++ b/phpBB/includes/acp/acp_bbcodes.php @@ -295,10 +295,10 @@ class acp_bbcodes // @todo Make sure to change this too if something changed in message parsing $tokens = array( 'URL' => array( - '!([a-z0-9]+://)?([^?].*?[^ \t\n\r<"]*)!ie' => "(('\$1') ? '\$1\$2' : 'http://\$2')" + '!([a-z0-9]+://)?([^< "\r\n\t\]]*)!ie' => "(('\$1') ? '\$1\$2' : 'http://\$2')" ), 'LOCAL_URL' => array( - '!([^:]+/[^ \t\n\r<"]*)!' => '$1' + '!([^:]+/[^< "\r\n\t\]]*)!' => '$1' ), 'EMAIL' => array( '!([a-z0-9]+[a-z0-9\-\._]*@(?:(?:[0-9]{1,3}\.){3,5}[0-9]{1,3}|[a-z0-9]+[a-z0-9\-\._]*\.[a-z]+))!i' => '$1' From 9300c4090078949ccb314a4dab4f5f3d300fade8 Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 17 Feb 2007 04:53:43 +0000 Subject: [PATCH 049/707] - used wrong heuristic to measure if we were done, using a different one now. git-svn-id: file:///svn/phpbb/trunk@6999 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index b122f15f8f..0404ec73b7 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -388,15 +388,15 @@ class acp_database case 'mysql4': case 'mysqli': case 'sqlite': - while (!$eof($fp)) + while (($sql = $fgetd($fp, ";\n", $read, $seek, $eof)) !== false) { - $db->sql_query($fgetd($fp, ";\n", $read, $seek, $eof)); + $db->sql_query($sql); } break; case 'firebird': $delim = ";\n"; - while (!$eof($fp)) + while (($sql = $fgetd($fp, $delim, $read, $seek, $eof)) !== false) { $query = trim($fgetd($fp, $delim, $read, $seek, $eof)); if (substr($query, 0, 8) === 'SET TERM') @@ -409,9 +409,9 @@ class acp_database break; case 'postgres': - while (!$eof($fp)) + while (($sql = $fgetd($fp, $delim, $read, $seek, $eof)) !== false) { - $query = trim($fgetd($fp, ";\n", $read, $seek, $eof)); + $query = trim($sql); $db->sql_query($query); if (substr($query, 0, 4) == 'COPY') { @@ -426,17 +426,17 @@ class acp_database break; case 'oracle': - while (!$eof($fp)) + while (($sql = $fgetd($fp, "/\n", $read, $seek, $eof)) !== false) { - $db->sql_query($fgetd($fp, "/\n", $read, $seek, $eof)); + $db->sql_query($sql); } break; case 'mssql': case 'mssql_odbc': - while (!$eof($fp)) + while (($sql = $fgetd($fp, "GO\n", $read, $seek, $eof)) !== false) { - $db->sql_query($fgetd($fp, "GO\n", $read, $seek, $eof)); + $db->sql_query($sql); } break; } From 603227a02fb0ca3de361afcc44a52820b6405a7b Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 17 Feb 2007 05:18:37 +0000 Subject: [PATCH 050/707] #7840 git-svn-id: file:///svn/phpbb/trunk@7000 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_admin.php | 41 +++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index f319873e2c..a3e5a2c685 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -502,13 +502,21 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s $approved_topics = 0; $forum_ids = $topic_ids = array(); - if (is_array($where_ids)) + if ($where_type === 'range') { - $where_ids = array_unique($where_ids); + $where_clause = $where_ids; } else { - $where_ids = array($where_ids); + if (is_array($where_ids)) + { + $where_ids = array_unique($where_ids); + } + else + { + $where_ids = array($where_ids); + } + $where_clause = $db->sql_in_set($where_type, $where_ids); } if (!sizeof($where_ids)) @@ -522,7 +530,7 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s $sql = 'SELECT topic_id, forum_id, topic_approved FROM ' . TOPICS_TABLE . ' - WHERE ' . $db->sql_in_set($where_type, $where_ids); + WHERE ' . ; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) @@ -583,18 +591,27 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = { global $db, $config, $phpbb_root_path, $phpEx; - if (is_array($where_ids)) + if ($where_type === 'range') { - $where_ids = array_unique($where_ids); + $where_clause = $where_ids; } else { - $where_ids = array($where_ids); - } + if (is_array($where_ids)) + { + $where_ids = array_unique($where_ids); + } + else + { + $where_ids = array($where_ids); + } - if (!sizeof($where_ids)) - { - return false; + if (!sizeof($where_ids)) + { + return false; + } + + $where_clause = $db->sql_in_set($where_type, array_map('intval', $where_ids); } $approved_posts = 0; @@ -602,7 +619,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = $sql = 'SELECT post_id, poster_id, post_approved, post_postcount, topic_id, forum_id FROM ' . POSTS_TABLE . ' - WHERE ' . $db->sql_in_set($where_type, array_map('intval', $where_ids)); + WHERE ' . $where_clause); $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) From 0af3306ee40810029d1b83a35f229661dc1bfe7a Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 17 Feb 2007 05:20:29 +0000 Subject: [PATCH 051/707] nice... git-svn-id: file:///svn/phpbb/trunk@7001 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_admin.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index a3e5a2c685..53f6fb926a 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -530,7 +530,7 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s $sql = 'SELECT topic_id, forum_id, topic_approved FROM ' . TOPICS_TABLE . ' - WHERE ' . ; + WHERE ' . $where_clause; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) @@ -611,7 +611,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = return false; } - $where_clause = $db->sql_in_set($where_type, array_map('intval', $where_ids); + $where_clause = $db->sql_in_set($where_type, array_map('intval', $where_ids)); } $approved_posts = 0; @@ -619,7 +619,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = $sql = 'SELECT post_id, poster_id, post_approved, post_postcount, topic_id, forum_id FROM ' . POSTS_TABLE . ' - WHERE ' . $where_clause); + WHERE ' . $where_clause; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) From b0d453098b5359aa40db3fd22e5d472040fa0b64 Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Sat, 17 Feb 2007 14:14:56 +0000 Subject: [PATCH 052/707] - fixed a referencing problem with objects (PHP4/5 conflict) - user_group_auth can take data from both target and source database git-svn-id: file:///svn/phpbb/trunk@7002 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_convert.php | 4 ++-- .../install/convertors/functions_phpbb20.php | 8 +++---- phpBB/install/install_convert.php | 22 +++++++++++++++---- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index 4244645af8..fe72f3fa9e 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -1066,7 +1066,7 @@ function add_user_group($group_id, $user_id, $group_leader=false) * @param string $group The name of the special group to add to * @param string $select_query An SQL query to retrieve the user(s) to add to the group */ -function user_group_auth($group, $select_query) +function user_group_auth($group, $select_query, $use_src_db) { global $convert, $phpbb_root_path, $config, $user, $db, $src_db, $same_db; @@ -1089,7 +1089,7 @@ function user_group_auth($group, $select_query) return; } - if ($same_db) + if ($same_db || !$use_src_db) { $sql = 'INSERT INTO ' . USER_GROUP_TABLE . ' (user_id, group_id, user_pending) ' . str_replace('{' . strtoupper($group) . '}', $group_id . ', 0', $select_query); diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index c80a0a0de2..0b05f4308d 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -698,22 +698,22 @@ function phpbb_convert_authentication($mode) if ($mode == 'start') { - user_group_auth('guests', 'SELECT user_id, {GUESTS} FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS); - user_group_auth('registered', 'SELECT user_id, {REGISTERED} FROM ' . USERS_TABLE . ' WHERE user_id <> ' . ANONYMOUS); + user_group_auth('guests', 'SELECT user_id, {GUESTS} FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS, false); + user_group_auth('registered', 'SELECT user_id, {REGISTERED} FROM ' . USERS_TABLE . ' WHERE user_id <> ' . ANONYMOUS, false); // Selecting from old table $auth_sql = 'SELECT '; $auth_sql .= (!empty($config['increment_user_id'])) ? 'user_id + 1 as user_id' : 'user_id'; $auth_sql .= ', {ADMINISTRATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1'; - user_group_auth('administrators', $auth_sql); + user_group_auth('administrators', $auth_sql, true); // Put administrators into global moderators group too... $auth_sql = 'SELECT '; $auth_sql .= (!empty($config['increment_user_id'])) ? 'user_id + 1 as user_id' : 'user_id'; $auth_sql .= ', {GLOBAL_MODERATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1'; - user_group_auth('global_moderators', $auth_sql); + user_group_auth('global_moderators', $auth_sql, true); } else if ($mode == 'first') { diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 862964fccd..28093f8efa 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -407,7 +407,7 @@ class install_convert extends module else { $src_dbpasswd = htmlspecialchars_decode($src_dbpasswd); - $connect_test = connect_check_db(true, $error, $available_dbms[$src_dbms], false, $src_dbhost, $src_dbuser, $src_dbpasswd, $src_dbname, $src_dbport, ($src_dbms == $dbms) ? false : true); + $connect_test = connect_check_db(true, $error, $available_dbms[$src_dbms], $src_table_prefix, $src_dbhost, $src_dbuser, $src_dbpasswd, $src_dbname, $src_dbport, true, ($src_dbms == $dbms) ? false : true); } // The forum prefix of the old and the new forum can only be the same if two different databases are used. @@ -421,7 +421,7 @@ class install_convert extends module { // initiate database connection to old db if old and new db differ global $src_db, $same_db; - $src_db = $same_db = null; + $src_db = $same_db = false; if ($src_dbms != $dbms || $src_dbhost != $dbhost || $src_dbport != $dbport || $src_dbname != $dbname || $src_dbuser != $dbuser) { @@ -432,7 +432,14 @@ class install_convert extends module } else { - $src_db = &$db; + if (version_compare(PHP_VERSION, '5.0.0-dev', '<')) + { + $src_db = &$db; + } + else + { + $src_db = $db; + } $same_db = true; } @@ -660,7 +667,14 @@ class install_convert extends module } else { - $src_db = &$db; + if (version_compare(PHP_VERSION, '5.0.0-dev', '<')) + { + $src_db = &$db; + } + else + { + $src_db = $db; + } $same_db = true; } From 179d06c03e5927cdd83083e273855199fba36b4b Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 17 Feb 2007 18:25:48 +0000 Subject: [PATCH 053/707] #8006 git-svn-id: file:///svn/phpbb/trunk@7003 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_users.html | 543 +---------------------- phpBB/adm/style/acp_users_avatar.html | 75 ++++ phpBB/adm/style/acp_users_feedback.html | 76 ++++ phpBB/adm/style/acp_users_overview.html | 82 ++++ phpBB/adm/style/acp_users_prefs.html | 132 ++++++ phpBB/adm/style/acp_users_profile.html | 66 +++ phpBB/adm/style/acp_users_signature.html | 106 +++++ 7 files changed, 543 insertions(+), 537 deletions(-) create mode 100644 phpBB/adm/style/acp_users_avatar.html create mode 100644 phpBB/adm/style/acp_users_feedback.html create mode 100644 phpBB/adm/style/acp_users_overview.html create mode 100644 phpBB/adm/style/acp_users_prefs.html create mode 100644 phpBB/adm/style/acp_users_profile.html create mode 100644 phpBB/adm/style/acp_users_signature.html diff --git a/phpBB/adm/style/acp_users.html b/phpBB/adm/style/acp_users.html index adbabb7089..ae4134e95b 100644 --- a/phpBB/adm/style/acp_users.html +++ b/phpBB/adm/style/acp_users.html @@ -77,449 +77,23 @@ -

- -
- {L_ACP_USER_OVERVIEW} -
-

{L_NAME_CHARS_EXPLAIN}
-
-
[ {L_USE_PERMISSIONS} ]
-
- -
-
-
{USER_INACTIVE_REASON}
-
- -
-
-
{USER_REGISTERED}
-
- -
-
-
{REGISTERED_IP}
-
[ {L_WHOIS} ]
-
- -
-
-
{USER_LASTACTIVE}
-
-
-
-
{USER_POSTS}
-
-
-
-
{USER_WARNINGS}
-
-
-

{L_FOUNDER_EXPLAIN}
-
id="user_founder" checked="checked" disabled="disabled" /> {L_YES}  id="user_founder" checked="checked" disabled="disabled" /> {L_NO} 
-
-
-
-
-
-
-

{L_CONFIRM_EMAIL_EXPLAIN}
-
-
-
-

{L_CHANGE_PASSWORD_EXPLAIN}
-
-
-
-

{L_CONFIRM_PASSWORD_EXPLAIN}
-
-
- -
- -
- {L_USER_TOOLS} -
-
-
-
- -
-

{L_DELETE_USER_EXPLAIN}
-
-
-
- - -
- -
- -
- -
+ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_REPORT_BY}{L_IP}{L_TIME}{L_FEEDBACK}{L_MARK}
{log.USERNAME}{log.IP}{log.DATE} - {log.ACTION} -
» [ {log.DATA} ] -
- -
-

{L_NO_ENTRIES}

-
- - -
- {L_DISPLAY_LOG}:  {S_LIMIT_DAYS} {L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR} - -
-
- - - - - -
-   - -

{L_MARK_ALL}{L_UNMARK_ALL}

-
- - -

{L_ADD_FEEDBACK}

- -

{L_ADD_FEEDBACK_EXPLAIN}

- -
- {L_ACP_USER_FEEDBACK} -
-
-
-
- -
- -
- -
+ -
- -
- {L_USER_PROFILE} -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

{L_BIRTHDAY_EXPLAIN}
-
{L_DAY}: {L_MONTH}: {L_YEAR}:
-
-
- - -
- {L_USER_CUSTOM_PROFILE_FIELDS} - -
-

{profile_fields.LANG_EXPLAIN}
-
{profile_fields.FIELD}
- -
{profile_fields.ERROR}
- -
- -
- - -
- -
- -
+ -
- -
- {L_UCP_PREFS_PERSONAL} -
-
-
id="viewemail" checked="checked" />  {L_YES}   id="viewemail" checked="checked" />  {L_NO}
-
-
-
-
id="massemail" checked="checked" />  {L_YES}   id="massemail" checked="checked" />  {L_NO}
-
-
-

{L_ALLOW_PM_EXPLAIN}
-
id="allowpm" checked="checked" />  {L_YES}   id="allowpm" checked="checked" />  {L_NO}
-
-
-
-
id="hideonline" checked="checked" />  {L_YES}   id="hideonline" checked="checked" />  {L_NO}
-
-
-

{L_NOTIFY_METHOD_EXPLAIN}
-
id="notifymethod" checked="checked" />  {L_NOTIFY_METHOD_EMAIL}   id="notifymethod" checked="checked" disabled="disabled" />  {L_NOTIFY_METHOD_IM}   id="notifymethod" checked="checked" />  {L_NOTIFY_METHOD_BOTH}
-
-
-
-
id="notifypm" checked="checked" />  {L_YES}   id="notifypm" checked="checked" />  {L_NO}
-
-
-
-
id="popuppm" checked="checked" />  {L_YES}   id="popuppm" checked="checked" />{L_NO}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
id="dst" checked="checked" />  {L_YES}   id="dst" checked="checked" />  {L_NO}
-
-
-

{L_BOARD_DATE_FORMAT_EXPLAIN}
-
-
style="display:none;">
-
-
- -
- {L_UCP_PREFS_POST} -
-
-
id="bbcode" checked="checked" />  {L_YES}   id="bbcode" checked="checked" />  {L_NO}
-
-
-
-
id="smilies" checked="checked" />  {L_YES}   id="smilies" checked="checked" />  {L_NO}
-
-
-
-
id="sig" checked="checked" />  {L_YES}   id="sig" checked="checked" />  {L_NO}
-
-
-
-
id="notify" checked="checked" />  {L_YES}   id="notify" checked="checked" />  {L_NO}
-
-
- -
- {L_UCP_PREFS_VIEW} -
-
-
id="view_images" checked="checked" />  {L_YES}   id="view_images" checked="checked" />  {L_NO}
-
-
-
-
id="view_flash" checked="checked" />  {L_YES}   id="view_flash" checked="checked" />  {L_NO}
-
-
-
-
id="view_smilies" checked="checked" />  {L_YES}   id="view_smilies" checked="checked" />  {L_NO}
-
-
-
-
id="view_sigs" checked="checked" />  {L_YES}   id="view_sigss" checked="checked" />  {L_NO}
-
-
-
-
id="view_avatars" checked="checked" />  {L_YES}   id="view_avatars" checked="checked" />  {L_NO}
-
-
-
-
id="view_wordcensor" checked="checked" />  {L_YES}   id="view_wordcensor" checked="checked" />  {L_NO}
-
-
-
-
{S_TOPIC_SORT_DAYS}
-
-
-
-
{S_TOPIC_SORT_KEY}
-
-
-
-
{S_TOPIC_SORT_DIR}
-
-
-
-
{S_POST_SORT_DAYS}
-
-
-
-
{S_POST_SORT_KEY}
-
-
-
-
{S_POST_SORT_DIR}
-
-
- -
- -
- -
+ -
enctype="multipart/form-data"> - -
- {L_ACP_USER_AVATAR} -
-

{L_AVATAR_EXPLAIN}
-
{AVATAR_IMAGE}
-
 {L_DELETE_AVATAR}
-
- - -
-
-
-
-
-

{L_UPLOAD_AVATAR_URL_EXPLAIN}
-
-
- - -
-

{L_LINK_REMOTE_AVATAR_EXPLAIN}
-
-
-
-

{L_LINK_REMOTE_SIZE_EXPLAIN}
-
px X px
-
- - -
-
-
-
- - -
- -
- {L_AVATAR_GALLERY} -
-
-
 
-
-
- - - - - - - - - - - - - -
{avatar_row.avatar_column.AVATAR_NAME}
-
-
- -
- -
- - -
- -
- -
- - + @@ -541,112 +115,7 @@ - - - -
- - -
- {L_ADMIN_SIG_PREVIEW} -

{SIGNATURE_PREVIEW}

-
- - -
- {L_SIGNATURE} -

{L_SIGNATURE_EXPLAIN}

-
- - - - - - - - - - - - - - - - - - - {L_FONT_SIZE}: - -

- - onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')" /> - - - -
-

-
- -
- -   {L_DISABLE_BBCODE}   - - -   {L_DISABLE_SMILIES}   - - -   {L_DISABLE_MAGIC_URL}   - -

{L_OPTIONS}: {BBCODE_STATUS} :: {IMG_STATUS} :: {FLASH_STATUS} :: {URL_STATUS} :: {SMILIES_STATUS} -
-
- -
-   - -
- -
+ diff --git a/phpBB/adm/style/acp_users_avatar.html b/phpBB/adm/style/acp_users_avatar.html new file mode 100644 index 0000000000..6fc8ef46bb --- /dev/null +++ b/phpBB/adm/style/acp_users_avatar.html @@ -0,0 +1,75 @@ +
enctype="multipart/form-data"> + +
+ {L_ACP_USER_AVATAR} +
+

{L_AVATAR_EXPLAIN}
+
{AVATAR_IMAGE}
+
 {L_DELETE_AVATAR}
+
+ + +
+
+
+
+
+

{L_UPLOAD_AVATAR_URL_EXPLAIN}
+
+
+ + +
+

{L_LINK_REMOTE_AVATAR_EXPLAIN}
+
+
+
+

{L_LINK_REMOTE_SIZE_EXPLAIN}
+
px X px
+
+ + +
+
+
+
+ + +
+ +
+ {L_AVATAR_GALLERY} +
+
+
 
+
+
+ + + + + + + + + + + + + +
{avatar_row.avatar_column.AVATAR_NAME}
+
+
+ +
+ +
+ + + + +
+ +
+ +
\ No newline at end of file diff --git a/phpBB/adm/style/acp_users_feedback.html b/phpBB/adm/style/acp_users_feedback.html new file mode 100644 index 0000000000..0f64888170 --- /dev/null +++ b/phpBB/adm/style/acp_users_feedback.html @@ -0,0 +1,76 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_REPORT_BY}{L_IP}{L_TIME}{L_FEEDBACK}{L_MARK}
{log.USERNAME}{log.IP}{log.DATE} + {log.ACTION} +
» [ {log.DATA} ] +
+ +
+

{L_NO_ENTRIES}

+
+ + +
+ {L_DISPLAY_LOG}:  {S_LIMIT_DAYS} {L_SORT_BY}: {S_SORT_KEY} {S_SORT_DIR} + +
+
+ + + + + +
+   + +

{L_MARK_ALL}{L_UNMARK_ALL}

+
+ + +

{L_ADD_FEEDBACK}

+ +

{L_ADD_FEEDBACK_EXPLAIN}

+ +
+ {L_ACP_USER_FEEDBACK} +
+
+
+
+ +
+ +
+ +
\ No newline at end of file diff --git a/phpBB/adm/style/acp_users_overview.html b/phpBB/adm/style/acp_users_overview.html new file mode 100644 index 0000000000..cfdc364b48 --- /dev/null +++ b/phpBB/adm/style/acp_users_overview.html @@ -0,0 +1,82 @@ +
+ +
+ {L_ACP_USER_OVERVIEW} +
+

{L_NAME_CHARS_EXPLAIN}
+
+
[ {L_USE_PERMISSIONS} ]
+
+ +
+
+
{USER_INACTIVE_REASON}
+
+ +
+
+
{USER_REGISTERED}
+
+ +
+
+
{REGISTERED_IP}
+
[ {L_WHOIS} ]
+
+ +
+
+
{USER_LASTACTIVE}
+
+
+
+
{USER_POSTS}
+
+
+
+
{USER_WARNINGS}
+
+
+

{L_FOUNDER_EXPLAIN}
+
id="user_founder" checked="checked" disabled="disabled" /> {L_YES}  id="user_founder" checked="checked" disabled="disabled" /> {L_NO} 
+
+
+
+
+
+
+

{L_CONFIRM_EMAIL_EXPLAIN}
+
+
+
+

{L_CHANGE_PASSWORD_EXPLAIN}
+
+
+
+

{L_CONFIRM_PASSWORD_EXPLAIN}
+
+
+ +
+ +
+ {L_USER_TOOLS} +
+
+
+
+ +
+

{L_DELETE_USER_EXPLAIN}
+
+
+
+ + +
+ +
+ +
+ +
\ No newline at end of file diff --git a/phpBB/adm/style/acp_users_prefs.html b/phpBB/adm/style/acp_users_prefs.html new file mode 100644 index 0000000000..3a0d244d43 --- /dev/null +++ b/phpBB/adm/style/acp_users_prefs.html @@ -0,0 +1,132 @@ +
+ +
+ {L_UCP_PREFS_PERSONAL} +
+
+
id="viewemail" checked="checked" />  {L_YES}   id="viewemail" checked="checked" />  {L_NO}
+
+
+
+
id="massemail" checked="checked" />  {L_YES}   id="massemail" checked="checked" />  {L_NO}
+
+
+

{L_ALLOW_PM_EXPLAIN}
+
id="allowpm" checked="checked" />  {L_YES}   id="allowpm" checked="checked" />  {L_NO}
+
+
+
+
id="hideonline" checked="checked" />  {L_YES}   id="hideonline" checked="checked" />  {L_NO}
+
+
+

{L_NOTIFY_METHOD_EXPLAIN}
+
id="notifymethod" checked="checked" />  {L_NOTIFY_METHOD_EMAIL}   id="notifymethod" checked="checked" disabled="disabled" />  {L_NOTIFY_METHOD_IM}   id="notifymethod" checked="checked" />  {L_NOTIFY_METHOD_BOTH}
+
+
+
+
id="notifypm" checked="checked" />  {L_YES}   id="notifypm" checked="checked" />  {L_NO}
+
+
+
+
id="popuppm" checked="checked" />  {L_YES}   id="popuppm" checked="checked" />{L_NO}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
id="dst" checked="checked" />  {L_YES}   id="dst" checked="checked" />  {L_NO}
+
+
+

{L_BOARD_DATE_FORMAT_EXPLAIN}
+
+
style="display:none;">
+
+
+ +
+ {L_UCP_PREFS_POST} +
+
+
id="bbcode" checked="checked" />  {L_YES}   id="bbcode" checked="checked" />  {L_NO}
+
+
+
+
id="smilies" checked="checked" />  {L_YES}   id="smilies" checked="checked" />  {L_NO}
+
+
+
+
id="sig" checked="checked" />  {L_YES}   id="sig" checked="checked" />  {L_NO}
+
+
+
+
id="notify" checked="checked" />  {L_YES}   id="notify" checked="checked" />  {L_NO}
+
+
+ +
+ {L_UCP_PREFS_VIEW} +
+
+
id="view_images" checked="checked" />  {L_YES}   id="view_images" checked="checked" />  {L_NO}
+
+
+
+
id="view_flash" checked="checked" />  {L_YES}   id="view_flash" checked="checked" />  {L_NO}
+
+
+
+
id="view_smilies" checked="checked" />  {L_YES}   id="view_smilies" checked="checked" />  {L_NO}
+
+
+
+
id="view_sigs" checked="checked" />  {L_YES}   id="view_sigss" checked="checked" />  {L_NO}
+
+
+
+
id="view_avatars" checked="checked" />  {L_YES}   id="view_avatars" checked="checked" />  {L_NO}
+
+
+
+
id="view_wordcensor" checked="checked" />  {L_YES}   id="view_wordcensor" checked="checked" />  {L_NO}
+
+
+
+
{S_TOPIC_SORT_DAYS}
+
+
+
+
{S_TOPIC_SORT_KEY}
+
+
+
+
{S_TOPIC_SORT_DIR}
+
+
+
+
{S_POST_SORT_DAYS}
+
+
+
+
{S_POST_SORT_KEY}
+
+
+
+
{S_POST_SORT_DIR}
+
+
+ +
+ +
+ +
\ No newline at end of file diff --git a/phpBB/adm/style/acp_users_profile.html b/phpBB/adm/style/acp_users_profile.html new file mode 100644 index 0000000000..69edb1159b --- /dev/null +++ b/phpBB/adm/style/acp_users_profile.html @@ -0,0 +1,66 @@ +
+ +
+ {L_USER_PROFILE} +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

{L_BIRTHDAY_EXPLAIN}
+
{L_DAY}: {L_MONTH}: {L_YEAR}:
+
+
+ + +
+ {L_USER_CUSTOM_PROFILE_FIELDS} + +
+

{profile_fields.LANG_EXPLAIN}
+
{profile_fields.FIELD}
+ +
{profile_fields.ERROR}
+ +
+ +
+ + +
+ +
+ +
\ No newline at end of file diff --git a/phpBB/adm/style/acp_users_signature.html b/phpBB/adm/style/acp_users_signature.html new file mode 100644 index 0000000000..3c66e52662 --- /dev/null +++ b/phpBB/adm/style/acp_users_signature.html @@ -0,0 +1,106 @@ + + + +
+ + +
+ {L_ADMIN_SIG_PREVIEW} +

{SIGNATURE_PREVIEW}

+
+ + +
+ {L_SIGNATURE} +

{L_SIGNATURE_EXPLAIN}

+
+ + + + + + + + + + + + + + + + + + + {L_FONT_SIZE}: + +

+ + onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')" /> + + + +
+

+
+ +
+ +   {L_DISABLE_BBCODE}   + + +   {L_DISABLE_SMILIES}   + + +   {L_DISABLE_MAGIC_URL}   + +

{L_OPTIONS}: {BBCODE_STATUS} :: {IMG_STATUS} :: {FLASH_STATUS} :: {URL_STATUS} :: {SMILIES_STATUS} +
+
+ +
+   + +
+ +
\ No newline at end of file From e7de77fd8d7bbd5ed176dd82c4b81774e22c4a1d Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 17 Feb 2007 18:28:51 +0000 Subject: [PATCH 054/707] #8082 git-svn-id: file:///svn/phpbb/trunk@7004 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_install.php | 1 - phpBB/install/convertors/convert_phpbb20.php | 4 ++-- phpBB/install/install_convert.php | 5 +++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/phpBB/includes/functions_install.php b/phpBB/includes/functions_install.php index 0feaeff08e..30d14c985b 100644 --- a/phpBB/includes/functions_install.php +++ b/phpBB/includes/functions_install.php @@ -463,7 +463,6 @@ function connect_check_db($error_connect, &$error, $dbms, $table_prefix, $dbhost break; } - $db->sql_close(); } if ($error_connect && (!isset($error) || !sizeof($error))) diff --git a/phpBB/install/convertors/convert_phpbb20.php b/phpBB/install/convertors/convert_phpbb20.php index 8ba43f4be8..f87bf2f7d6 100644 --- a/phpBB/install/convertors/convert_phpbb20.php +++ b/phpBB/install/convertors/convert_phpbb20.php @@ -431,7 +431,7 @@ if (!$get_info) 'autoincrement' => 'rank_id', array('rank_id', 'ranks.rank_id', ''), - array('rank_title', 'ranks.rank_title', array('function1' => 'phpbb_set_encoding', 'function2' => 'utf8_htmlspecialchars')), + array('rank_title', 'ranks.rank_title', array('function1' => 'phpbb_set_default_encoding', 'function2' => 'utf8_htmlspecialchars')), array('rank_min', 'ranks.rank_min', array('typecast' => 'int', 'execute' => '{RESULT} = ({VALUE}[0] < 0) ? 0 : {VALUE}[0];')), array('rank_special', 'ranks.rank_special', ''), array('rank_image', 'ranks.rank_image', 'import_rank'), @@ -615,7 +615,7 @@ if (!$get_info) array( 'target' => PRIVMSGS_TABLE, 'primary' => 'privmsgs.privmsgs_id', - 'autoincrement' => 'privmsgs_id', + 'autoincrement' => 'msg_id', 'query_first' => array( array('target', $convert->truncate_statement . PRIVMSGS_TABLE), array('target', $convert->truncate_statement . PRIVMSGS_RULES_TABLE), diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 28093f8efa..9b7e621397 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -279,7 +279,7 @@ class install_convert extends module while ($entry = readdir($handle)) { - if (preg_match('/^convert_([a-z0-9_]+).' . $phpEx . '/i', $entry, $m)) + if (preg_match('/^convert_([a-z0-9_]+).' . $phpEx . '$/i', $entry, $m)) { include('./convertors/' . $entry); if (isset($convertor_data)) @@ -452,6 +452,7 @@ class install_convert extends module if (!$result) { $prefixes = array(); + // TODO: fixme if ($result = $src_db->sql_query('SHOW TABLES')) { while ($row = $src_db->sql_fetchrow($result)) @@ -991,7 +992,7 @@ class install_convert extends module $config['max_quote_depth'] = 0; // @todo Need to confirm that max post length in source is <= max post length in destination or there may be interesting formatting issues - $config['max_post_chars'] = -1; + $config['max_post_chars'] = -1; } $template->assign_block_vars('checks', array( From af4a2033c55d931a2271196537be21fdf649c4f4 Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 17 Feb 2007 23:09:58 +0000 Subject: [PATCH 055/707] #8160 git-svn-id: file:///svn/phpbb/trunk@7005 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_ban.php | 2 +- phpBB/includes/functions_user.php | 16 +++++++++++++--- phpBB/includes/mcp/mcp_ban.php | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/phpBB/includes/acp/acp_ban.php b/phpBB/includes/acp/acp_ban.php index b85b2d36d4..cf490a4643 100644 --- a/phpBB/includes/acp/acp_ban.php +++ b/phpBB/includes/acp/acp_ban.php @@ -26,7 +26,7 @@ class acp_ban $unbansubmit= (isset($_POST['unbansubmit'])) ? true : false; $current_time = time(); - $user->add_lang('acp/ban'); + $user->add_lang(array('acp/ban', 'acp/users')); $this->tpl_name = 'acp_ban'; // Ban submitted? diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index c78238b25f..6df1b838b2 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -602,12 +602,12 @@ function user_ban($mode, $ban, $ban_len, $ban_len_other, $ban_exclude, $ban_reas $ban_end = 0; } - $founder = array(); + $founder = $founder_names = array(); if (!$ban_exclude) { // Create a list of founder... - $sql = 'SELECT user_id, user_email + $sql = 'SELECT user_id, user_email, username_clean FROM ' . USERS_TABLE . ' WHERE user_type = ' . USER_FOUNDER; $result = $db->sql_query($sql); @@ -615,6 +615,7 @@ function user_ban($mode, $ban, $ban_len, $ban_len_other, $ban_exclude, $ban_reas while ($row = $db->sql_fetchrow($result)) { $founder[$row['user_id']] = $row['user_email']; + $founder_names[$row['user_id']] = $row['username_clean']; } $db->sql_freeresult($result); } @@ -641,7 +642,16 @@ function user_ban($mode, $ban, $ban_len, $ban_len_other, $ban_exclude, $ban_reas $username = trim($username); if ($username != '') { - $sql_usernames[] = utf8_clean_string($username); + $clean_name = utf8_clean_string($username); + if ($clean_name == $user->data['username_clean']) + { + trigger_error($user->lang['CANNOT_BAN_YOURSELF']); + } + if (in_array($clean_name, $founder_names)) + { + trigger_error($user->lang['CANNOT_BAN_FOUNDER']); + } + $sql_usernames[] = $clean_name; } } diff --git a/phpBB/includes/mcp/mcp_ban.php b/phpBB/includes/mcp/mcp_ban.php index aea2466888..5080ae08f2 100644 --- a/phpBB/includes/mcp/mcp_ban.php +++ b/phpBB/includes/mcp/mcp_ban.php @@ -29,7 +29,7 @@ class mcp_ban $unbansubmit = (isset($_POST['unbansubmit'])) ? true : false; $current_time = time(); - $user->add_lang('acp/ban'); + $user->add_lang(array('acp/ban', 'acp/users')); $this->tpl_name = 'mcp_ban'; // Ban submitted? From 652d349b75262dd8e0db8405d5ca1b7fa654364a Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 17 Feb 2007 23:40:57 +0000 Subject: [PATCH 056/707] - IE7 should now work too git-svn-id: file:///svn/phpbb/trunk@7006 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index 0404ec73b7..2acbfb63ec 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -552,7 +552,7 @@ class base_extractor break; case 'gzip': - if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) + if ((isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) && strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'msie') === false) { ob_start('ob_gzhandler'); } From 5c6653717f0a9adce905d1417c8adb4f0f3a5b73 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 18 Feb 2007 13:42:08 +0000 Subject: [PATCH 057/707] fixing some bugs more mcp links for easier moderating different aspects (all, forum, topic) i may have introduced new bugs with this commit due to me having fixed some things weeks ago and some code changed in between - please report if you see something not working as expected. git-svn-id: file:///svn/phpbb/trunk@7007 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/download.php | 8 +- phpBB/includes/acp/acp_email.php | 15 ++- phpBB/includes/acp/acp_groups.php | 95 ++++++--------- phpBB/includes/acp/acp_language.php | 11 +- phpBB/includes/acp/acp_modules.php | 10 +- phpBB/includes/functions.php | 2 +- phpBB/includes/functions_convert.php | 4 +- phpBB/includes/functions_display.php | 28 ++++- phpBB/includes/functions_messenger.php | 2 +- phpBB/includes/functions_user.php | 12 +- phpBB/includes/mcp/mcp_forum.php | 12 +- phpBB/includes/mcp/mcp_queue.php | 4 +- phpBB/includes/ucp/ucp_groups.php | 114 ++++++++++++++++-- phpBB/includes/ucp/ucp_pm_compose.php | 2 +- phpBB/index.php | 2 +- phpBB/language/en/acp/attachments.php | 2 +- phpBB/language/en/acp/common.php | 3 +- phpBB/language/en/acp/email.php | 2 +- phpBB/language/en/acp/groups.php | 2 +- phpBB/language/en/common.php | 5 +- phpBB/language/en/groups.php | 2 +- phpBB/language/en/mcp.php | 2 + phpBB/language/en/posting.php | 2 +- phpBB/mcp.php | 13 ++ phpBB/memberlist.php | 20 +-- .../styles/subSilver/template/mcp_header.html | 25 ++-- phpBB/viewtopic.php | 10 +- 27 files changed, 257 insertions(+), 152 deletions(-) diff --git a/phpBB/download.php b/phpBB/download.php index cec44eaf1c..16b4bfa76e 100644 --- a/phpBB/download.php +++ b/phpBB/download.php @@ -270,9 +270,11 @@ function send_file_to_browser($attachment, $upload_dir, $category) */ function header_filename($file) { - // There be dragons here... - // IE and Safari follows no RFC. - if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== false) + $user_agent = $_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); } diff --git a/phpBB/includes/acp/acp_email.php b/phpBB/includes/acp/acp_email.php index 57d03ff67e..3fbbe6472f 100644 --- a/phpBB/includes/acp/acp_email.php +++ b/phpBB/includes/acp/acp_email.php @@ -51,7 +51,7 @@ class acp_email $error[] = $user->lang['NO_EMAIL_MESSAGE']; } - if (!sizeof($error)) + if (!sizeof($error)) { if ($usernames) { @@ -208,16 +208,21 @@ class acp_email } } - // Exclude bots... + // Exclude bots and guests... $sql = 'SELECT group_id FROM ' . GROUPS_TABLE . " - WHERE group_name = 'BOTS'"; + WHERE group_name IN ('BOTS', 'GUESTS')"; $result = $db->sql_query($sql); - $bot_group_id = (int) $db->sql_fetchfield('group_id'); + + $exclude = array(); + while ($row = $db->sql_fetchrow($result)) + { + $exclude[] = $row['group_id']; + } $db->sql_freeresult($result); $select_list = ''; - $select_list .= group_select_options($group_id, array($bot_group_id)); + $select_list .= group_select_options($group_id, $exclude); $s_priority_options = ''; $s_priority_options .= ''; diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index 7147431259..2645ac4ce3 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -272,16 +272,13 @@ class acp_groups 'receive_pm' => isset($_REQUEST['group_receive_pm']) ? 1 : 0, 'legend' => isset($_REQUEST['group_legend']) ? 1 : 0, 'message_limit' => request_var('group_message_limit', 0), + 'founder_manage' => 0, ); if ($user->data['user_type'] == USER_FOUNDER) { $submit_ary['founder_manage'] = isset($_REQUEST['group_founder_manage']) ? 1 : 0; } - else - { - $submit_ary['founder_manage'] = 0; - } if (!empty($_FILES['uploadfile']['tmp_name']) || $data['uploadurl'] || $data['remotelink']) { @@ -318,6 +315,11 @@ class acp_groups $submit_ary['avatar'] = $category . '/' . $avatar_select; } } + else if ($delete) + { + $submit_ary['avatar'] = ''; + $submit_ary['avatar_type'] = $submit_ary['avatar_width'] = $submit_ary['avatar_height'] = 0; + } else if ($data['width'] && $data['height']) { // Only update the dimensions? @@ -346,11 +348,6 @@ class acp_groups $submit_ary['avatar_height'] = $data['height']; } } - else if ($delete) - { - $submit_ary['avatar'] = ''; - $submit_ary['avatar_type'] = $submit_ary['avatar_width'] = $submit_ary['avatar_height'] = 0; - } if ((isset($submit_ary['avatar']) && $submit_ary['avatar'] && (!isset($group_row['group_avatar']) || $group_row['group_avatar'] != $submit_ary['avatar'])) || $delete) { @@ -593,53 +590,38 @@ class acp_groups $this->page_title = 'GROUP_MEMBERS'; - // Total number of group leaders - $sql = 'SELECT COUNT(user_id) AS total_leaders - FROM ' . USER_GROUP_TABLE . " - WHERE group_id = $group_id - AND group_leader = 1"; + // Grab the leaders - always, on every page... + $sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_regdate, u.user_posts, u.group_id, ug.group_leader, ug.user_pending + FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . " ug + WHERE ug.group_id = $group_id + AND u.user_id = ug.user_id + AND ug.group_leader = 1 + ORDER BY ug.group_leader DESC, ug.user_pending ASC, u.username_clean"; $result = $db->sql_query($sql); - $total_leaders = (int) $db->sql_fetchfield('total_leaders'); + + while ($row = $db->sql_fetchrow($result)) + { + $template->assign_block_vars('leader', array( + 'U_USER_EDIT' => append_sid("{$phpbb_admin_path}index.$phpEx", "i=users&action=edit&u={$row['user_id']}"), + + 'USERNAME' => $row['username'], + 'S_GROUP_DEFAULT' => ($row['group_id'] == $group_id) ? true : false, + 'JOINED' => ($row['user_regdate']) ? $user->format_date($row['user_regdate']) : ' - ', + 'USER_POSTS' => $row['user_posts'], + 'USER_ID' => $row['user_id']) + ); + } $db->sql_freeresult($result); // Total number of group members (non-leaders) $sql = 'SELECT COUNT(user_id) AS total_members FROM ' . USER_GROUP_TABLE . " WHERE group_id = $group_id - AND group_leader <> 1"; + AND group_leader = 0"; $result = $db->sql_query($sql); $total_members = (int) $db->sql_fetchfield('total_members'); $db->sql_freeresult($result); - // Grab the members - $sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_regdate, u.user_posts, u.group_id, ug.group_leader, ug.user_pending - FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . " ug - WHERE ug.group_id = $group_id - AND u.user_id = ug.user_id - ORDER BY ug.group_leader DESC, ug.user_pending ASC, u.username_clean"; - $result = $db->sql_query_limit($sql, $config['topics_per_page'], $start); - - $leader = $member = 0; - $group_data = array( - 'leader' => array(), - 'member' => array(), - ); - - while ($row = $db->sql_fetchrow($result)) - { - $type = ($row['group_leader']) ? 'leader' : 'member'; - - $group_data[$type][$$type]['user_id'] = $row['user_id']; - $group_data[$type][$$type]['group_id'] = $row['group_id']; - $group_data[$type][$$type]['username'] = $row['username']; - $group_data[$type][$$type]['user_regdate'] = $row['user_regdate']; - $group_data[$type][$$type]['user_posts'] = $row['user_posts']; - $group_data[$type][$$type]['user_pending'] = ($row['user_pending']) ? 1 : 0; - - $$type++; - } - $db->sql_freeresult($result); - $s_action_options = ''; $options = array('default' => 'DEFAULT', 'approve' => 'APPROVE', 'demote' => 'DEMOTE', 'promote' => 'PROMOTE', 'deleteusers' => 'DELETE'); @@ -664,22 +646,18 @@ class acp_groups 'U_DEFAULT_ALL' => "{$this->u_action}&action=default&g=$group_id") ); - foreach ($group_data['leader'] as $row) - { - $template->assign_block_vars('leader', array( - 'U_USER_EDIT' => append_sid("{$phpbb_admin_path}index.$phpEx", "i=users&action=edit&u={$row['user_id']}"), - - 'USERNAME' => $row['username'], - 'S_GROUP_DEFAULT' => ($row['group_id'] == $group_id) ? true : false, - 'JOINED' => ($row['user_regdate']) ? $user->format_date($row['user_regdate']) : ' - ', - 'USER_POSTS' => $row['user_posts'], - 'USER_ID' => $row['user_id']) - ); - } + // Grab the members + $sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_regdate, u.user_posts, u.group_id, ug.group_leader, ug.user_pending + FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . " ug + WHERE ug.group_id = $group_id + AND u.user_id = ug.user_id + AND ug.group_leader = 0 + ORDER BY ug.group_leader DESC, ug.user_pending ASC, u.username_clean"; + $result = $db->sql_query_limit($sql, $config['topics_per_page'], $start); $pending = false; - foreach ($group_data['member'] as $row) + while ($row = $db->sql_fetchrow($result)) { if ($row['user_pending'] && !$pending) { @@ -700,6 +678,7 @@ class acp_groups 'USER_ID' => $row['user_id']) ); } + $db->sql_freeresult($result); return; break; diff --git a/phpBB/includes/acp/acp_language.php b/phpBB/includes/acp/acp_language.php index 7dcd64265c..50fb854d54 100644 --- a/phpBB/includes/acp/acp_language.php +++ b/phpBB/includes/acp/acp_language.php @@ -147,7 +147,7 @@ class acp_language $db->sql_query('UPDATE ' . LANG_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . ' WHERE lang_id = ' . $lang_id); - + add_log('admin', 'LOG_LANGUAGE_PACK_UPDATED', $sql_ary['lang_english_name']); trigger_error($user->lang['LANGUAGE_DETAILS_UPDATED'] . adm_back_link($this->u_action)); @@ -276,7 +276,9 @@ class acp_language echo $buffer; } fclose($fp); - + + add_log('admin', 'LOG_LANGUAGE_FILE_SUBMITTED', $this->language_file); + exit; } else if ($action == 'upload_data') @@ -340,7 +342,8 @@ class acp_language trigger_error($user->lang['UPLOAD_COMPLETED'] . adm_back_link($this->u_action . '&action=details&id=' . $lang_id . '&language_file=' . urlencode($selected_lang_file))); } - + + add_log('admin', 'LOG_LANGUAGE_FILE_SUBMITTED', $this->language_file); $action = 'details'; // no break; @@ -1010,7 +1013,7 @@ class acp_language * {FILENAME} [{LANG_NAME}] * * @package language -* @version $Id: $ +* @version $' . 'Id: ' . '$ * @copyright (c) ' . date('Y') . ' phpBB Group * @author {CHANGED} - {AUTHOR} * @license http://opensource.org/licenses/gpl-license.php GNU Public License diff --git a/phpBB/includes/acp/acp_modules.php b/phpBB/includes/acp/acp_modules.php index 2eb45b4972..a1917b1717 100644 --- a/phpBB/includes/acp/acp_modules.php +++ b/phpBB/includes/acp/acp_modules.php @@ -726,7 +726,7 @@ class acp_modules { $sql = 'SELECT left_id, right_id FROM ' . MODULES_TABLE . " - WHERE module_class = '" . $db->sql_escape($this->module_class) . "' + WHERE module_class = '" . $db->sql_escape($module_data['module_class']) . "' AND module_id = {$module_data['parent_id']}"; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); @@ -744,13 +744,13 @@ class acp_modules $sql = 'UPDATE ' . MODULES_TABLE . " SET left_id = left_id + 2, right_id = right_id + 2 - WHERE module_class = '" . $db->sql_escape($this->module_class) . "' + WHERE module_class = '" . $db->sql_escape($module_data['module_class']) . "' AND left_id > {$row['right_id']}"; $db->sql_query($sql); $sql = 'UPDATE ' . MODULES_TABLE . " SET right_id = right_id + 2 - WHERE module_class = '" . $db->sql_escape($this->module_class) . "' + WHERE module_class = '" . $db->sql_escape($module_data['module_class']) . "' AND {$row['left_id']} BETWEEN left_id AND right_id"; $db->sql_query($sql); @@ -761,7 +761,7 @@ class acp_modules { $sql = 'SELECT MAX(right_id) AS right_id FROM ' . MODULES_TABLE . " - WHERE module_class = '" . $db->sql_escape($this->module_class) . "'"; + WHERE module_class = '" . $db->sql_escape($module_data['module_class']) . "'"; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); @@ -805,7 +805,7 @@ class acp_modules $sql = 'UPDATE ' . MODULES_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $update_ary) . " - WHERE module_class = '" . $db->sql_escape($this->module_class) . "' + WHERE module_class = '" . $db->sql_escape($module_data['module_class']) . "' AND module_id = {$module_data['module_id']}"; $db->sql_query($sql); diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 8639df6ab0..d3638f1941 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2111,7 +2111,7 @@ function bump_topic_allowed($forum_id, $topic_bumped, $last_post_time, $topic_po } // Check bumper, only topic poster and last poster are allowed to bump - if ($topic_poster != $user->data['user_id'] && $last_topic_poster != $user->data['user_id'] && !$auth->acl_get('m_', $forum_id)) + if ($topic_poster != $user->data['user_id'] && $last_topic_poster != $user->data['user_id']) { return false; } diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index fe72f3fa9e..e8c57a4db6 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -304,7 +304,7 @@ function decode_ip($int_ip) { if (!$int_ip) { - return ''; + return '127.0.0.1'; } $hexipbang = explode('.', chunk_split($int_ip, 2, '.')); @@ -315,7 +315,7 @@ function decode_ip($int_ip) return ''; } - return hexdec($hexipbang[0]). '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]); + return hexdec($hexipbang[0]) . '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]); } /** diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php index e62bf674e6..f63d6a7da7 100644 --- a/phpBB/includes/functions_display.php +++ b/phpBB/includes/functions_display.php @@ -252,7 +252,8 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod $forum_unread = (isset($forum_tracking_info[$forum_id]) && $row['orig_forum_last_post_time'] > $forum_tracking_info[$forum_id]) ? true : false; - $folder_image = $folder_alt = $subforums_list = $l_subforums = ''; + $folder_image = $folder_alt = $l_subforums = ''; + $subforums_list = array(); // Generate list of subforums if we need to if (isset($subforums[$forum_id])) @@ -267,8 +268,10 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod if ($subforum_row['display'] && $subforum_row['name']) { - $subforums_list .= ($subforums_list == '') ? '' : ', '; - $subforums_list .= '' . $subforum_row['name'] . ''; + $subforums_list[] = array( + 'link' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $subforum_id), + 'name' => $subforum_row['name'] + ); } else { @@ -327,11 +330,19 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod $l_post_click_count = ($row['forum_type'] == FORUM_LINK) ? 'CLICKS' : 'POSTS'; $post_click_count = ($row['forum_type'] != FORUM_LINK || $row['forum_flags'] & FORUM_FLAG_LINK_TRACK) ? $row['forum_posts'] : ''; + $s_subforums_list = array(); + foreach ($subforums_list as $subforum) + { + $s_subforums_list[] = '' . $subforum['name'] . ''; + } + $s_subforums_list = (string) implode(', ', $s_subforums_list); + $template->assign_block_vars('forumrow', array( 'S_IS_CAT' => false, 'S_IS_LINK' => ($row['forum_type'] == FORUM_LINK) ? true : false, 'S_UNREAD_FORUM' => $forum_unread, 'S_LOCKED_FORUM' => ($row['forum_status'] == ITEM_LOCKED) ? true : false, + 'S_SUBFORUMS' => (sizeof($subforums_list)) ? true : false, 'FORUM_ID' => $row['forum_id'], 'FORUM_NAME' => $row['forum_name'], @@ -342,13 +353,13 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod 'FORUM_FOLDER_IMG_SRC' => $user->img($folder_image, $folder_alt, false, '', 'src'), 'FORUM_IMAGE' => ($row['forum_image']) ? '' . $user->lang[$folder_alt] . '' : '', 'FORUM_IMAGE_SRC' => ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '', - 'SUBFORUMS' => $subforums_list, 'LAST_POST_SUBJECT' => censor_text($last_post_subject), 'LAST_POST_TIME' => $last_post_time, 'LAST_POSTER' => get_username_string('username', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']), 'LAST_POSTER_COLOUR' => get_username_string('colour', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']), 'LAST_POSTER_FULL' => get_username_string('full', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']), 'MODERATORS' => $moderators_list, + 'SUBFORUMS' => $s_subforums_list, 'L_SUBFORUM_STR' => $l_subforums, 'L_FORUM_FOLDER_ALT' => $folder_alt, @@ -358,6 +369,15 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod 'U_LAST_POSTER' => get_username_string('profile', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']), 'U_LAST_POST' => $last_post_url) ); + + // Assign subforums loop for style authors + foreach ($subforums_list as $subforum) + { + $template->assign_block_vars('forumrow.subforum', array( + 'U_SUBFORUM' => $subforum['link'], + 'SUBFORUM_NAME' => $subforum['name']) + ); + } } $template->assign_vars(array( diff --git a/phpBB/includes/functions_messenger.php b/phpBB/includes/functions_messenger.php index d63a31ffb5..dd84533b23 100644 --- a/phpBB/includes/functions_messenger.php +++ b/phpBB/includes/functions_messenger.php @@ -846,7 +846,7 @@ function smtpmail($addresses, $subject, $message, &$err_msg, $headers = '') // From this point onward most server response codes should be 250 // Specify who the mail is from.... - $smtp->server_send('MAIL FROM:<' . $config['board_contact'] . '>'); + $smtp->server_send('MAIL FROM:<' . $config['board_email'] . '>'); if ($err_msg = $smtp->server_parse('250', __LINE__)) { $smtp->close_session($err_msg); diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 6df1b838b2..3e3ee90c1b 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -1755,17 +1755,12 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow // Those are group-only attributes $group_only_ary = array('group_receive_pm', 'group_legend', 'group_message_limit', 'group_founder_manage'); - // Check data - if (!utf8_strlen($name) || utf8_strlen($name) > 40) + // Check data. Limit group name length. + if (!utf8_strlen($name) || utf8_strlen($name) > 60) { $error[] = (!utf8_strlen($name)) ? $user->lang['GROUP_ERR_USERNAME'] : $user->lang['GROUP_ERR_USER_LONG']; } - if (utf8_strlen($desc) > 255) - { - $error[] = $user->lang['GROUP_ERR_DESC_LONG']; - } - if (!in_array($type, array(GROUP_OPEN, GROUP_CLOSED, GROUP_HIDDEN, GROUP_SPECIAL, GROUP_FREE))) { $error[] = $user->lang['GROUP_ERR_TYPE']; @@ -2420,7 +2415,8 @@ function group_memberships($group_id_ary = false, $user_id_ary = false, $return_ $sql = 'SELECT ug.*, u.username, u.username_clean, u.user_email FROM ' . USER_GROUP_TABLE . ' ug, ' . USERS_TABLE . ' u - WHERE ug.user_id = u.user_id AND '; + WHERE ug.user_id = u.user_id + AND ug.user_pending = 0 AND '; if ($group_id_ary) { diff --git a/phpBB/includes/mcp/mcp_forum.php b/phpBB/includes/mcp/mcp_forum.php index 2f02a21a3f..3f11c96e21 100644 --- a/phpBB/includes/mcp/mcp_forum.php +++ b/phpBB/includes/mcp/mcp_forum.php @@ -28,11 +28,11 @@ function mcp_forum_view($id, $mode, $action, $forum_info) unset($_POST['sk'], $_POST['sd'], $_REQUEST['sk'], $_REQUEST['sd']); } - $forum_id = $forum_info['forum_id']; - $start = request_var('start', 0); - $topic_id_list = request_var('topic_id_list', array(0)); - $post_id_list = request_var('post_id_list', array(0)); - $topic_id = request_var('t', 0); + $forum_id = $forum_info['forum_id']; + $start = request_var('start', 0); + $topic_id_list = request_var('topic_id_list', array(0)); + $post_id_list = request_var('post_id_list', array(0)); + $source_topic_id = request_var('t', 0); // Resync Topics if ($action == 'resync') @@ -216,7 +216,7 @@ function mcp_forum_view($id, $mode, $action, $forum_info) $topic_row = array_merge($topic_row, array( 'U_VIEW_TOPIC' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&f=$forum_id&t={$row['topic_id']}&mode=topic_view"), - 'S_SELECT_TOPIC' => ($action == 'merge_select' && $row['topic_id'] != $topic_id) ? true : false, + 'S_SELECT_TOPIC' => ($action == 'merge_select' && $row['topic_id'] != $source_topic_id) ? true : false, 'U_SELECT_TOPIC' => $url . "&i=$id&mode=topic_view&action=merge&to_topic_id=" . $row['topic_id'] . $selected_ids, 'U_MCP_QUEUE' => $u_mcp_queue, 'U_MCP_REPORT' => ($auth->acl_get('m_report', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main&mode=topic_view&t=' . $row['topic_id'] . '&action=reports') : '', diff --git a/phpBB/includes/mcp/mcp_queue.php b/phpBB/includes/mcp/mcp_queue.php index 6733a73a7e..0367092726 100644 --- a/phpBB/includes/mcp/mcp_queue.php +++ b/phpBB/includes/mcp/mcp_queue.php @@ -64,6 +64,8 @@ class mcp_queue { case 'approve_details': + $this->tpl_name = 'mcp_post'; + $user->add_lang('posting'); $post_id = request_var('p', 0); @@ -167,8 +169,6 @@ class mcp_queue 'POST_ID' => $post_info['post_id']) ); - $this->tpl_name = 'mcp_post'; - break; case 'unapproved_topics': diff --git a/phpBB/includes/ucp/ucp_groups.php b/phpBB/includes/ucp/ucp_groups.php index 98d008da2c..418b68e436 100644 --- a/phpBB/includes/ucp/ucp_groups.php +++ b/phpBB/includes/ucp/ucp_groups.php @@ -312,7 +312,7 @@ class ucp_groups // Hide hidden groups unless user is an admin with group privileges $sql_and = ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? '<> ' . GROUP_SPECIAL : 'NOT IN (' . GROUP_SPECIAL . ', ' . GROUP_HIDDEN . ')'; - $sql = 'SELECT group_id, group_name, group_desc, group_desc_uid, group_desc_bitfield, group_desc_options, group_type + $sql = 'SELECT group_id, group_name, group_desc, group_desc_uid, group_desc_bitfield, group_desc_options, group_type, group_founder_manage FROM ' . GROUPS_TABLE . ' WHERE ' . ((sizeof($group_id_ary)) ? $db->sql_in_set('group_id', $group_id_ary, true) . ' AND ' : '') . " group_type $sql_and @@ -392,6 +392,12 @@ class ucp_groups { trigger_error($user->lang['NO_GROUP'] . $return_page); } + + // Check if the user is allowed to manage this group if set to founder only. + if ($user->data['user_type'] != USER_FOUNDER && $group_row['group_founder_manage']) + { + trigger_error($user->lang['NOT_ALLOWED_MANAGE_GROUP'] . $return_page, E_USER_WARNING); + } } switch ($action) @@ -403,10 +409,16 @@ class ucp_groups trigger_error($user->lang['NO_GROUP'] . $return_page); } - if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader']) + if (!($row = group_memberships($group_id, $user->data['user_id']))) { trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page); } + list(, $row) = each($row); + + if (!$row['group_leader']) + { + trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page); + } $file_uploads = (@ini_get('file_uploads') || strtolower(@ini_get('file_uploads')) == 'on') ? true : false; $user->add_lang(array('acp/groups', 'acp/common')); @@ -487,6 +499,34 @@ class ucp_groups $submit_ary['avatar'] = ''; $submit_ary['avatar_type'] = $submit_ary['avatar_width'] = $submit_ary['avatar_height'] = 0; } + else if ($data['width'] && $data['height']) + { + // Only update the dimensions? + if ($config['avatar_max_width'] || $config['avatar_max_height']) + { + if ($data['width'] > $config['avatar_max_width'] || $data['height'] > $config['avatar_max_height']) + { + $error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $data['width'], $data['height']); + } + } + + if (!sizeof($error)) + { + if ($config['avatar_min_width'] || $config['avatar_min_height']) + { + if ($data['width'] < $config['avatar_min_width'] || $data['height'] < $config['avatar_min_height']) + { + $error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $data['width'], $data['height']); + } + } + } + + if (!sizeof($error)) + { + $submit_ary['avatar_width'] = $data['width']; + $submit_ary['avatar_height'] = $data['height']; + } + } if ((isset($submit_ary['avatar']) && $submit_ary['avatar'] && (!isset($group_row['group_avatar']) || $group_row['group_avatar'] != $submit_ary['avatar'])) || $delete) { @@ -656,29 +696,57 @@ class ucp_groups trigger_error($user->lang['NO_GROUP'] . $return_page); } - if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader']) + if (!($row = group_memberships($group_id, $user->data['user_id']))) { trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page); } + list(, $row) = each($row); + + if (!$row['group_leader']) + { + trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page); + } $user->add_lang(array('acp/groups', 'acp/common')); + $start = request_var('start', 0); + + // Grab the leaders - always, on every page... + $sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_regdate, u.user_posts, u.group_id, ug.group_leader, ug.user_pending + FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . " ug + WHERE ug.group_id = $group_id + AND u.user_id = ug.user_id + AND ug.group_leader = 1 + ORDER BY ug.group_leader DESC, ug.user_pending ASC, u.username_clean"; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + $template->assign_block_vars('leader', array( + 'USERNAME' => $row['username'], + 'U_USER_VIEW' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']), + 'S_GROUP_DEFAULT' => ($row['group_id'] == $group_id) ? true : false, + 'JOINED' => ($row['user_regdate']) ? $user->format_date($row['user_regdate']) : ' - ', + 'USER_POSTS' => $row['user_posts'], + 'USER_ID' => $row['user_id']) + ); + } + $db->sql_freeresult($result); // Total number of group members (non-leaders) $sql = 'SELECT COUNT(user_id) AS total_members FROM ' . USER_GROUP_TABLE . " WHERE group_id = $group_id - AND group_leader <> 1"; + AND group_leader = 0"; $result = $db->sql_query($sql); $total_members = (int) $db->sql_fetchfield('total_members'); $db->sql_freeresult($result); - $start = request_var('start', 0); - // Grab the members $sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_regdate, u.user_posts, u.group_id, ug.group_leader, ug.user_pending FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . " ug WHERE ug.group_id = $group_id AND u.user_id = ug.user_id + AND ug.group_leader = 0 ORDER BY ug.group_leader DESC, ug.user_pending ASC, u.username_clean"; $result = $db->sql_query_limit($sql, $config['topics_per_page'], $start); @@ -695,7 +763,7 @@ class ucp_groups $pending = true; } - $template->assign_block_vars($row['group_leader'] ? 'leader' : 'member', array( + $template->assign_block_vars('member', array( 'USERNAME' => $row['username'], 'U_USER_VIEW' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']), 'S_GROUP_DEFAULT' => ($row['group_id'] == $group_id) ? true : false, @@ -734,10 +802,16 @@ class ucp_groups trigger_error($user->lang['NO_GROUP'] . $return_page); } - if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader']) + if (!($row = group_memberships($group_id, $user->data['user_id']))) { trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page); } + list(, $row) = each($row); + + if (!$row['group_leader']) + { + trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page); + } $user->add_lang('acp/groups'); @@ -755,10 +829,16 @@ class ucp_groups trigger_error($user->lang['NO_GROUP'] . $return_page); } - if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader']) + if (!($row = group_memberships($group_id, $user->data['user_id']))) { trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page); } + list(, $row) = each($row); + + if (!$row['group_leader']) + { + trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page); + } if (confirm_box(true)) { @@ -823,10 +903,16 @@ class ucp_groups $user->add_lang(array('acp/groups', 'acp/common')); - if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader']) + if (!($row = group_memberships($group_id, $user->data['user_id']))) { trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page); } + list(, $row) = each($row); + + if (!$row['group_leader']) + { + trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page); + } if (confirm_box(true)) { @@ -873,10 +959,16 @@ class ucp_groups trigger_error($user->lang['NO_USERS'] . $return_page); } - if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader']) + if (!($row = group_memberships($group_id, $user->data['user_id']))) { trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page); } + list(, $row) = each($row); + + if (!$row['group_leader']) + { + trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page); + } $name_ary = array_unique(explode("\n", $name_ary)); $group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; diff --git a/phpBB/includes/ucp/ucp_pm_compose.php b/phpBB/includes/ucp/ucp_pm_compose.php index ce6087f424..c228e8daba 100644 --- a/phpBB/includes/ucp/ucp_pm_compose.php +++ b/phpBB/includes/ucp/ucp_pm_compose.php @@ -642,7 +642,7 @@ function compose_pm($id, $mode, $action) $post_id = request_var('p', 0); if ($config['allow_post_links']) { - $message_link = "[url=" . generate_board_url() . "/viewtopic.$phpEx?p={$post_id}#p{$post_id}]{$message_subject}[/url]\n\n"; + $message_link = "[url=" . generate_board_url() . "/viewtopic.$phpEx?p={$post_id}#p{$post_id}]{$user->lang['SUBJECT']}: {$message_subject}[/url]\n\n"; } else { diff --git a/phpBB/index.php b/phpBB/index.php index 53b9d4754f..84faea917f 100644 --- a/phpBB/index.php +++ b/phpBB/index.php @@ -88,7 +88,7 @@ $template->assign_vars(array( 'TOTAL_POSTS' => sprintf($user->lang[$l_total_post_s], $total_posts), 'TOTAL_TOPICS' => sprintf($user->lang[$l_total_topic_s], $total_topics), 'TOTAL_USERS' => sprintf($user->lang[$l_total_user_s], $total_users), - 'NEWEST_USER' => sprintf($user->lang['NEWEST_USER'], '', $newest_user, ''), + 'NEWEST_USER' => sprintf($user->lang['NEWEST_USER'], '', $newest_user, ''), 'LEGEND' => $legend, 'BIRTHDAY_LIST' => $birthday_list, diff --git a/phpBB/language/en/acp/attachments.php b/phpBB/language/en/acp/attachments.php index 121069a6f8..f43835c7b0 100644 --- a/phpBB/language/en/acp/attachments.php +++ b/phpBB/language/en/acp/attachments.php @@ -115,7 +115,7 @@ $lang = array_merge($lang, array( 'NO_EXT_GROUP_SPECIFIED' => 'No extension group specified.', 'NO_FILE_CAT' => 'None', 'NO_IMAGE' => 'No image', - 'NO_THUMBNAIL_SUPPORT' => 'Thumbnail support has been disabled because there is no supported GD library available and the imagemagick executable could not be found.', + 'NO_THUMBNAIL_SUPPORT' => 'Thumbnail support has been disabled. For proper functionality either the GD extension need to be available or imagemagick being installed. Both were not found.', 'NO_UPLOAD_DIR' => 'The upload directory you specified does not exist.', 'NO_WRITE_UPLOAD' => 'The upload directory you specified cannot be written to. Please alter the permissions to allow the webserver to write to it.', diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php index 27e0e7afa3..054101147e 100644 --- a/phpBB/language/en/acp/common.php +++ b/phpBB/language/en/acp/common.php @@ -277,7 +277,7 @@ $lang = array_merge($lang, array( // Logs $lang = array_merge($lang, array( 'ACP_ADMIN_LOGS_EXPLAIN' => 'This lists all the actions carried out by board administrators. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.', - 'ACP_CRITICAL_LOGS_EXPLAIN' => 'This lists the actions carried out by the board itself. These log provides you with information you are able to use for solving specific problems, for example non-delivery of emails. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.', + 'ACP_CRITICAL_LOGS_EXPLAIN' => 'This lists the actions carried out by the board itself. This log provides you with information you are able to use for solving specific problems, for example non-delivery of emails. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.', 'ACP_MOD_LOGS_EXPLAIN' => 'This lists the actions carried out by board moderators, select a forum from the drop down list. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.', 'ACP_USERS_LOGS_EXPLAIN' => 'This lists all actions carried out by users or on users.', 'ALL_ENTRIES' => 'All entries', @@ -533,6 +533,7 @@ $lang = array_merge($lang, array( 'LOG_LANGUAGE_PACK_INSTALLED' => 'Installed language pack
» %s', 'LOG_LANGUAGE_PACK_UPDATED' => 'Updated language pack details
» %s', 'LOG_LANGUAGE_FILE_REPLACED' => 'Replaced language file
» %s', + 'LOG_LANGUAGE_FILE_SUBMITTED' => 'Submitted language file and placed in store folder
» %s', 'LOG_MASS_EMAIL' => 'Sent mass email
» %s', diff --git a/phpBB/language/en/acp/email.php b/phpBB/language/en/acp/email.php index e57b2a8bea..14ee520b04 100644 --- a/phpBB/language/en/acp/email.php +++ b/phpBB/language/en/acp/email.php @@ -32,7 +32,7 @@ if (empty($lang) || !is_array($lang)) // Email settings $lang = array_merge($lang, array( - 'ACP_MASS_EMAIL_EXPLAIN' => 'Here you can email a message to either all of your users or all users of a specific group. To do this, an email will be sent out to the administrative email address supplied, with a blind carbon copy sent to all recipients. If you are emailing a large group of people please be patient after submitting and do not stop the page halfway through. It is normal for a mass emailing to take a long time, you will be notified when the script has completed', + 'ACP_MASS_EMAIL_EXPLAIN' => 'Here you can email a message to either all of your users or all users of a specific group having the option to receive mass emails enabled. To do this, an email will be sent out to the administrative email address supplied, with a blind carbon copy sent to all recipients. If you are emailing a large group of people please be patient after submitting and do not stop the page halfway through. It is normal for a mass emailing to take a long time, you will be notified when the script has completed', 'ALL_USERS' => 'All users', 'COMPOSE' => 'Compose', diff --git a/phpBB/language/en/acp/groups.php b/phpBB/language/en/acp/groups.php index dbe22e2154..f69ac02168 100644 --- a/phpBB/language/en/acp/groups.php +++ b/phpBB/language/en/acp/groups.php @@ -60,7 +60,7 @@ $lang = array_merge($lang, array( 'GROUP_EDIT_EXPLAIN' => 'Here you can edit an existing group. You can change its name, description and type (open, closed, etc.). You can also set certain groupwide options such as colouration, rank, etc. Changes made here override users current settings. Please note that group members can alter their avatar unless you set appropriate user permissions.', 'GROUP_ERR_USERS_EXIST' => 'The specified users are already members of this group', 'GROUP_FOUNDER_MANAGE' => 'Founder manage only', - 'GROUP_FOUNDER_MANAGE_EXPLAIN' => 'Restrict group management for this group for founders only for the administration control panel.', + 'GROUP_FOUNDER_MANAGE_EXPLAIN' => 'Restrict group management for this group for founders only. Users having group permissions are still able to see this group as well as this groups members.', 'GROUP_HIDDEN' => 'Hidden', 'GROUP_LANG' => 'Group language', 'GROUP_LEAD' => 'Group leaders', diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index d4fd7bd4af..853df84f85 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -208,10 +208,9 @@ $lang = array_merge($lang, array( 'GOTO_PAGE' => 'Go to page', 'GROUP' => 'Group', 'GROUPS' => 'Groups', - 'GROUP_ERR_DESC_LONG' => 'Group description is too long.', 'GROUP_ERR_TYPE' => 'Inappropriate group type specified.', 'GROUP_ERR_USERNAME' => 'No group name specified.', - 'GROUP_ERR_USER_LONG' => 'Group name is too long.', + 'GROUP_ERR_USER_LONG' => 'Group name is too long. A maximum of 60 characters are allowed.', 'GUEST' => 'Guest', 'GUEST_USERS_ONLINE' => 'There are %d guest users online', 'GUEST_USERS_TOTAL' => '%d guests', @@ -316,7 +315,7 @@ $lang = array_merge($lang, array( 'NEXT' => 'Next', 'NEVER' => 'Never', 'NO' => 'No', - 'NOT_ALLOWED_MANAGE_GROUP' => 'You are not allowed to manage this group from the “Administration Control Panel”.', + 'NOT_ALLOWED_MANAGE_GROUP' => 'You are not allowed to manage this group.', 'NOT_AUTHORIZED' => 'You are not authorised to access this area.', 'NOT_WATCHING_FORUM' => 'You are no longer subscribed to updates on this forum.', 'NOT_WATCHING_TOPIC' => 'You are no longer subscribed to this topic.', diff --git a/phpBB/language/en/groups.php b/phpBB/language/en/groups.php index 8e44d32a0d..bd11356684 100644 --- a/phpBB/language/en/groups.php +++ b/phpBB/language/en/groups.php @@ -72,7 +72,7 @@ $lang = array_merge($lang, array( 'NO_LEADERS' => 'You are not a leader of any group', 'NOT_LEADER_OF_GROUP' => 'The requested operation cannot be taken because you are not a leader of the selected group.', - 'NOT_MEMBER_OF_GROUP' => 'The requested operation cannot be taken because you are not a member of the selected group.', + 'NOT_MEMBER_OF_GROUP' => 'The requested operation cannot be taken because you are not a member of the selected group or your membership has not been approved yet.', 'NOT_RESIGN_FROM_DEFAULT_GROUP' => 'You are not allowed to resign from your default group.', 'PRIMARY_GROUP' => 'Primary group', diff --git a/phpBB/language/en/mcp.php b/phpBB/language/en/mcp.php index 837ae6f9b1..7c5df74d5f 100644 --- a/phpBB/language/en/mcp.php +++ b/phpBB/language/en/mcp.php @@ -189,6 +189,8 @@ $lang = array_merge($lang, array( 'MERGE_TOPIC_EXPLAIN' => 'Using the form below you can merge selected posts into another topic. These posts will not be reordered and will appear as if the users posted them to the new topic.
Please enter the destination topic id or click on the "Select" button to search for one', 'MERGE_TOPIC_ID' => 'Destination topic identification number', 'MODERATE_FORUM' => 'Moderate forum', + 'MODERATE_TOPIC' => 'Moderate topic', + 'MODERATE_POST' => 'Moderate post', 'MOD_OPTIONS' => 'Moderator options', 'MORE_INFO' => 'Further information', 'MOST_WARNINGS' => 'Users with most warnings', diff --git a/phpBB/language/en/posting.php b/phpBB/language/en/posting.php index 2b486f8b8c..d5e8450699 100644 --- a/phpBB/language/en/posting.php +++ b/phpBB/language/en/posting.php @@ -121,7 +121,7 @@ $lang = array_merge($lang, array( 'MESSAGE_DELETED' => 'This message has been deleted successfully', 'MORE_SMILIES' => 'View more smilies', - 'NOTIFY_REPLY' => 'Send me an email when a reply is posted', + 'NOTIFY_REPLY' => 'Notify me when a reply is posted', 'NOT_UPLOADED' => 'File could not be uploaded.', 'NO_DELETE_POLL_OPTIONS' => 'You cannot delete existing poll options', 'NO_PM_ICON' => 'No PM icon', diff --git a/phpBB/mcp.php b/phpBB/mcp.php index 9a22289495..d382cdd50e 100644 --- a/phpBB/mcp.php +++ b/phpBB/mcp.php @@ -220,6 +220,14 @@ $module->load_active(); // Assign data to the template engine for the list of modules $module->assign_tpl_vars(append_sid("{$phpbb_root_path}mcp.$phpEx")); +// Generate urls for letting the moderation control panel being accessed in different modes +$template->assign_vars(array( + 'U_MCP' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main'), + 'U_MCP_FORUM' => ($forum_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&f=$forum_id") : '', + 'U_MCP_TOPIC' => ($forum_id && $topic_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&t=$topic_id") : '', + 'U_MCP_POST' => ($forum_id && $topic_id && $post_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&t=$topic_id&p=$post_id") : '', +)); + // Generate the page, do not display/query online list $module->display($module->get_page_title(), false); @@ -246,6 +254,11 @@ function _module_ban_url($mode, &$module_row) return extra_url(); } +function _module_queue_url($mode, &$module_row) +{ + return extra_url(); +} + function extra_url() { global $forum_id, $topic_id, $post_id, $user_id; diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 3d8c2bf767..425a710e65 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -355,18 +355,9 @@ switch ($mode) } // Get user... - if ($username) - { - $sql = 'SELECT * - FROM ' . USERS_TABLE . " - WHERE username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'"; - } - else - { - $sql = 'SELECT * - FROM ' . USERS_TABLE . " - WHERE user_id = $user_id"; - } + $sql = 'SELECT * + FROM ' . USERS_TABLE . ' + WHERE ' . (($username) ? "username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'" : "user_id = $user_id"); // a_user admins and founder are able to view inactive users and bots to be able to // manage them more easily @@ -390,8 +381,9 @@ switch ($mode) $sql = 'SELECT g.group_id, g.group_name, g.group_type FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . " ug WHERE ug.user_id = $user_id - AND g.group_id = ug.group_id" . ((!$auth->acl_get('a_group')) ? ' AND group_type <> ' . GROUP_HIDDEN : '') . ' - ORDER BY group_type, group_name'; + AND g.group_id = ug.group_id" . ((!$auth->acl_get('a_group')) ? ' AND g.group_type <> ' . GROUP_HIDDEN : '') . ' + AND ug.user_pending = 0 + ORDER BY g.group_type, g.group_name'; $result = $db->sql_query($sql); $group_options = ''; diff --git a/phpBB/styles/subSilver/template/mcp_header.html b/phpBB/styles/subSilver/template/mcp_header.html index 817aeff3a1..043be1d089 100644 --- a/phpBB/styles/subSilver/template/mcp_header.html +++ b/phpBB/styles/subSilver/template/mcp_header.html @@ -1,19 +1,20 @@ - - -
- +
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index 15058f1295..1c05af3d11 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -1331,8 +1331,8 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i) if ($topic_data['topic_bumped'] && $row['post_id'] == $topic_data['topic_last_post_id'] && isset($user_cache[$topic_data['topic_bumper']]) ) { // It is safe to grab the username from the user cache array, we are at the last - // post and only the topic poster and last poster are allowed to bump. However, a - // check is still needed incase an admin bumped the topic (but didn't post in the topic) + // post and only the topic poster and last poster are allowed to bump. + // Admins and mods are bound to the above rules too... $l_bumped_by = '

' . sprintf($user->lang['BUMPED_BY'], $user_cache[$topic_data['topic_bumper']]['username'], $user->format_date($topic_data['topic_last_post_time'])); } else @@ -1382,9 +1382,9 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i) 'BUMPED_MESSAGE' => $l_bumped_by, 'MINI_POST_IMG' => ($post_unread) ? $user->img('icon_post_target_unread', 'NEW_POST') : $user->img('icon_post_target', 'POST'), - 'POST_ICON_IMG' => (!empty($row['icon_id'])) ? $icons[$row['icon_id']]['img'] : '', - 'POST_ICON_IMG_WIDTH' => (!empty($row['icon_id'])) ? $icons[$row['icon_id']]['width'] : '', - 'POST_ICON_IMG_HEIGHT' => (!empty($row['icon_id'])) ? $icons[$row['icon_id']]['height'] : '', + 'POST_ICON_IMG' => ($topic_data['enable_icons'] && !empty($row['icon_id'])) ? $icons[$row['icon_id']]['img'] : '', + 'POST_ICON_IMG_WIDTH' => ($topic_data['enable_icons'] && !empty($row['icon_id'])) ? $icons[$row['icon_id']]['width'] : '', + 'POST_ICON_IMG_HEIGHT' => ($topic_data['enable_icons'] && !empty($row['icon_id'])) ? $icons[$row['icon_id']]['height'] : '', 'ICQ_STATUS_IMG' => $user_cache[$poster_id]['icq_status_img'], 'ONLINE_IMG' => ($poster_id == ANONYMOUS || !$config['load_onlinetrack']) ? '' : (($user_cache[$poster_id]['online']) ? $user->img('icon_user_online', 'ONLINE') : $user->img('icon_user_offline', 'OFFLINE')), 'S_ONLINE' => ($poster_id == ANONYMOUS || !$config['load_onlinetrack']) ? false : (($user_cache[$poster_id]['online']) ? true : false), From 0350eb9f3ca0f7f239ae868afef4e7765a22833b Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 18 Feb 2007 21:03:36 +0000 Subject: [PATCH 058/707] - PHP4's mbstring is stupid stupid stupid git-svn-id: file:///svn/phpbb/trunk@7008 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/utf/utf_tools.php | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/phpBB/includes/utf/utf_tools.php b/phpBB/includes/utf/utf_tools.php index 9ab31e60e4..4c5b4a8983 100644 --- a/phpBB/includes/utf/utf_tools.php +++ b/phpBB/includes/utf/utf_tools.php @@ -728,11 +728,27 @@ function utf8_recode($string, $encoding) // Try the mb_string extension if (function_exists('mb_convert_encoding')) { - $ret = @mb_convert_encoding($string, 'utf-8', $encoding); - - if (!empty($ret)) + // mbstring is nasty on PHP4, we must make *sure* that we send a good encoding + switch ($encoding) { - return $ret; + case 'iso-8859-1': + case 'iso-8859-2': + case 'iso-8859-4': + case 'iso-8859-7': + case 'iso-8859-9': + case 'iso-8859-15': + case 'windows-1251': + case 'windows-1252': + case 'shift_jis': + case 'euc-kr': + case 'big5': + case 'gb2312': + $ret = @mb_convert_encoding($string, 'utf-8', $encoding); + + if (!empty($ret)) + { + return $ret; + } } } From 1d6fd8e1352d9ed4bfe3f91e9f2bf254920eb479 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 19 Feb 2007 04:12:13 +0000 Subject: [PATCH 059/707] - clean up mssql and mssql_odbc, mssql now uses a different method of dealing with IDENTITY - clean up firebird, I will consider changing it to use fetch array instead of fetch object. it's identity code already uses this method as of right... now :D - fix a tiny bug in MySQL's driver (remember to pass the connect id to all DBAL functions) - add new_link as a new param for sql_connect. This allows you to make connections that are not dependant on each other. This is done for our friends mysql, mssql, postgresql and oracle. Now for everybody else.. (I said this was clever ;) MySQLi and SQLite should always spawn a new connection when you call it while mssql_odbc and firebird both will create new links if you give them different params (different creds) than the previous connection(s). Thus we can always promise new links :D - fixed a bug in the converter - cleaned up the dbal a little git-svn-id: file:///svn/phpbb/trunk@7009 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/common.php | 2 +- phpBB/includes/db/dbal.php | 7 ++----- phpBB/includes/db/firebird.php | 10 +++++----- phpBB/includes/db/mssql.php | 14 +++++++------- phpBB/includes/db/mssql_odbc.php | 8 ++++---- phpBB/includes/db/mysql.php | 6 +++--- phpBB/includes/db/mysqli.php | 2 +- phpBB/includes/db/oracle.php | 4 ++-- phpBB/includes/db/postgres.php | 4 ++-- phpBB/includes/db/sqlite.php | 2 +- phpBB/includes/functions_install.php | 2 +- phpBB/install/install_convert.php | 14 +++++++------- 12 files changed, 36 insertions(+), 39 deletions(-) diff --git a/phpBB/common.php b/phpBB/common.php index 2d1d67c3fc..3ee931e95d 100644 --- a/phpBB/common.php +++ b/phpBB/common.php @@ -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); diff --git a/phpBB/includes/db/dbal.php b/phpBB/includes/db/dbal.php index da649ed812..77b5b46ffc 100644 --- a/phpBB/includes/db/dbal.php +++ b/phpBB/includes/db/dbal.php @@ -103,12 +103,9 @@ class dbal $this->sql_transaction('commit'); } - if (sizeof($this->open_queries)) + foreach ($this->open_queries as $query_id) { - foreach ($this->open_queries as $i_query_id => $query_id) - { - $this->sql_freeresult($query_id); - } + $this->sql_freeresult($query_id); } return $this->_sql_close(); diff --git a/phpBB/includes/db/firebird.php b/phpBB/includes/db/firebird.php index 5ce4949956..317054d978 100644 --- a/phpBB/includes/db/firebird.php +++ b/phpBB/includes/db/firebird.php @@ -31,7 +31,7 @@ class dbal_firebird extends dbal /** * Connect to server */ - function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false) + function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false, $new_link = false) { $this->persistency = $persistency; $this->user = $sqluser; @@ -273,19 +273,19 @@ class dbal_firebird extends dbal if ($query_id !== false && $this->last_query_text != '') { - if ($this->query_result && preg_match('#^INSERT[\t\n ]+INTO[\t\n ]+([a-z0-9\_\-]+)#is', $this->last_query_text, $tablename)) + if ($this->query_result && preg_match('#^INSERT[\t\n ]+INTO[\t\n ]+([a-z0-9\_\-]+)#i', $this->last_query_text, $tablename)) { - $sql = "SELECT GEN_ID(" . $tablename[1] . "_gen, 0) AS new_id FROM RDB\$DATABASE"; + $sql = 'SELECT GEN_ID(' . $tablename[1] . '_gen, 0) AS new_id FROM RDB$DATABASE'; if (!($temp_q_id = @ibase_query($this->db_connect_id, $sql))) { return false; } - $temp_result = @ibase_fetch_object($temp_q_id); + $temp_result = @ibase_fetch_assoc($temp_q_id); @ibase_free_result($temp_q_id); - return ($temp_result) ? $temp_result->NEW_ID : false; + return ($temp_result) ? $temp_result['NEW_ID'] : false; } } diff --git a/phpBB/includes/db/mssql.php b/phpBB/includes/db/mssql.php index 6429d4be41..0af6514322 100644 --- a/phpBB/includes/db/mssql.php +++ b/phpBB/includes/db/mssql.php @@ -28,7 +28,7 @@ class dbal_mssql extends dbal /** * Connect to server */ - function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false) + function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false, $new_link = false) { $this->persistency = $persistency; $this->user = $sqluser; @@ -37,7 +37,7 @@ class dbal_mssql extends dbal @ini_set('mssql.charset', 'UTF-8'); - $this->db_connect_id = ($this->persistency) ? @mssql_pconnect($this->server, $this->user, $sqlpassword) : @mssql_connect($this->server, $this->user, $sqlpassword); + $this->db_connect_id = ($this->persistency) ? @mssql_pconnect($this->server, $this->user, $sqlpassword, $new_link) : @mssql_connect($this->server, $this->user, $sqlpassword, $new_link); if ($this->db_connect_id && $this->dbname != '') { @@ -86,11 +86,11 @@ class dbal_mssql extends dbal break; case 'commit': - return @mssql_query('commit', $this->db_connect_id); + return @mssql_query('COMMIT TRANSACTION', $this->db_connect_id); break; case 'rollback': - return @mssql_query('ROLLBACK', $this->db_connect_id); + return @mssql_query('ROLLBACK TRANSACTION', $this->db_connect_id); break; } @@ -258,7 +258,7 @@ class dbal_mssql extends dbal */ function sql_nextid() { - $result_id = @mssql_query('SELECT @@IDENTITY', $this->db_connect_id); + $result_id = @mssql_query('SELECT SCOPE_IDENTITY()', $this->db_connect_id); if ($result_id) { if ($row = @mssql_fetch_assoc($result_id)) @@ -385,7 +385,7 @@ class dbal_mssql extends dbal if (preg_match('/^SELECT/', $explain_query)) { $html_table = false; - @mssql_query("SET SHOWPLAN_TEXT ON;", $this->db_connect_id); + @mssql_query('SET SHOWPLAN_TEXT ON;', $this->db_connect_id); if ($result = @mssql_query($explain_query, $this->db_connect_id)) { @mssql_next_result($result); @@ -394,7 +394,7 @@ class dbal_mssql extends dbal $html_table = $this->sql_report('add_select_row', $query, $html_table, $row); } } - @mssql_query("SET SHOWPLAN_TEXT OFF;", $this->db_connect_id); + @mssql_query('SET SHOWPLAN_TEXT OFF;', $this->db_connect_id); @mssql_free_result($result); if ($html_table) diff --git a/phpBB/includes/db/mssql_odbc.php b/phpBB/includes/db/mssql_odbc.php index 0b8f1e2a95..ab3bd2a164 100644 --- a/phpBB/includes/db/mssql_odbc.php +++ b/phpBB/includes/db/mssql_odbc.php @@ -31,7 +31,7 @@ class dbal_mssql_odbc extends dbal /** * Connect to server */ - function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false) + function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false, $new_link = false) { $this->persistency = $persistency; $this->user = $sqluser; @@ -267,7 +267,7 @@ class dbal_mssql_odbc extends dbal { if (@odbc_fetch_array($result_id)) { - $id = @odbc_result($result_id, 1); + $id = @odbc_result($result_id, 1); @odbc_free_result($result_id); return $id; } @@ -363,7 +363,7 @@ class dbal_mssql_odbc extends dbal if (preg_match('/^SELECT/', $explain_query)) { $html_table = false; - @odbc_exec($this->db_connect_id, "SET SHOWPLAN_TEXT ON;"); + @odbc_exec($this->db_connect_id, 'SET SHOWPLAN_TEXT ON;'); if ($result = @odbc_exec($this->db_connect_id, $explain_query)) { @odbc_next_result($result); @@ -372,7 +372,7 @@ class dbal_mssql_odbc extends dbal $html_table = $this->sql_report('add_select_row', $query, $html_table, $row); } } - @odbc_exec($this->db_connect_id, "SET SHOWPLAN_TEXT OFF;"); + @odbc_exec($this->db_connect_id, 'SET SHOWPLAN_TEXT OFF;'); @odbc_free_result($result); if ($html_table) diff --git a/phpBB/includes/db/mysql.php b/phpBB/includes/db/mysql.php index b750618ae6..2eb3a561bc 100644 --- a/phpBB/includes/db/mysql.php +++ b/phpBB/includes/db/mysql.php @@ -35,7 +35,7 @@ class dbal_mysql extends dbal * Connect to server * @access public */ - function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false) + function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false, $new_link = false) { $this->persistency = $persistency; $this->user = $sqluser; @@ -44,11 +44,11 @@ class dbal_mysql extends dbal $this->sql_layer = 'mysql4'; - $this->db_connect_id = ($this->persistency) ? @mysql_pconnect($this->server, $this->user, $sqlpassword) : @mysql_connect($this->server, $this->user, $sqlpassword); + $this->db_connect_id = ($this->persistency) ? @mysql_pconnect($this->server, $this->user, $sqlpassword, $new_link) : @mysql_connect($this->server, $this->user, $sqlpassword, $new_link); if ($this->db_connect_id && $this->dbname != '') { - if (@mysql_select_db($this->dbname)) + if (@mysql_select_db($this->dbname, $this->db_connect_id)) { // Determine what version we are using and if it natively supports UNICODE $this->mysql_version = mysql_get_server_info($this->db_connect_id); diff --git a/phpBB/includes/db/mysqli.php b/phpBB/includes/db/mysqli.php index da6faa3983..3149349411 100644 --- a/phpBB/includes/db/mysqli.php +++ b/phpBB/includes/db/mysqli.php @@ -29,7 +29,7 @@ class dbal_mysqli extends dbal /** * Connect to server */ - function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false) + function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false , $new_link = false) { $this->persistency = $persistency; $this->user = $sqluser; diff --git a/phpBB/includes/db/oracle.php b/phpBB/includes/db/oracle.php index 4195bcfe52..1920ce8fc1 100644 --- a/phpBB/includes/db/oracle.php +++ b/phpBB/includes/db/oracle.php @@ -29,14 +29,14 @@ class dbal_oracle extends dbal /** * Connect to server */ - function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false) + function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false, $new_link = false) { $this->persistency = $persistency; $this->user = $sqluser; $this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->dbname = $database; - $this->db_connect_id = ($this->persistency) ? @ociplogon($this->user, $sqlpassword, $this->server, 'UTF8') : @ocinlogon($this->user, $sqlpassword, $this->server, 'UTF8'); + $this->db_connect_id = ($new_link) ? @ocinlogon($this->user, $sqlpassword, $this->server, 'UTF8') : (($this->persistency) ? @ociplogon($this->user, $sqlpassword, $this->server, 'UTF8') : @ocinlogon($this->user, $sqlpassword, $this->server, 'UTF8')); return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error(''); } diff --git a/phpBB/includes/db/postgres.php b/phpBB/includes/db/postgres.php index f2e96260ba..3f0c97ce00 100644 --- a/phpBB/includes/db/postgres.php +++ b/phpBB/includes/db/postgres.php @@ -30,7 +30,7 @@ class dbal_postgres extends dbal /** * Connect to server */ - function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false) + function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false, $new_link = false) { $connect_string = ''; @@ -70,7 +70,7 @@ class dbal_postgres extends dbal $this->persistency = $persistency; - $this->db_connect_id = ($this->persistency) ? @pg_pconnect($connect_string) : @pg_connect($connect_string); + $this->db_connect_id = ($this->persistency) ? @pg_pconnect($connect_string, $new_link) : @pg_connect($connect_string, $new_link); return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error(''); } diff --git a/phpBB/includes/db/sqlite.php b/phpBB/includes/db/sqlite.php index 9f44bd6b35..8a50c546a7 100644 --- a/phpBB/includes/db/sqlite.php +++ b/phpBB/includes/db/sqlite.php @@ -28,7 +28,7 @@ class dbal_sqlite extends dbal /** * Connect to server */ - function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false) + function sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false, $new_link = false) { $this->persistency = $persistency; $this->user = $sqluser; diff --git a/phpBB/includes/functions_install.php b/phpBB/includes/functions_install.php index 30d14c985b..0906e5e1b1 100644 --- a/phpBB/includes/functions_install.php +++ b/phpBB/includes/functions_install.php @@ -257,7 +257,7 @@ function connect_check_db($error_connect, &$error, $dbms, $table_prefix, $dbhost } // Try and connect ... - if (is_array($db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false))) + if (is_array($db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, true))) { $db_error = $db->sql_error(); $error[] = $lang['INST_ERR_DB_CONNECT'] . '
' . (($db_error['message']) ? $db_error['message'] : $lang['INST_ERR_DB_NO_ERROR']); diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 9b7e621397..ffbb4e4ef7 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -126,7 +126,7 @@ class install_convert extends module require($phpbb_root_path . 'includes/functions_convert.' . $phpEx); $db = new $sql_db(); - $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false); + $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, true); unset($dbpasswd); // We need to fill the config to let internal functions correctly work @@ -222,7 +222,7 @@ class install_convert extends module require($phpbb_root_path . 'includes/functions_convert.' . $phpEx); $db = new $sql_db(); - $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false); + $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, true); unset($dbpasswd); switch ($db->sql_layer) @@ -331,7 +331,7 @@ class install_convert extends module require($phpbb_root_path . 'includes/functions_convert.' . $phpEx); $db = new $sql_db(); - $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false); + $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, true); unset($dbpasswd); $this->page_title = $lang['STAGE_SETTINGS']; @@ -427,7 +427,7 @@ class install_convert extends module { $sql_db = 'dbal_' . $src_dbms; $src_db = new $sql_db(); - $src_db->sql_connect($src_dbhost, $src_dbuser, $src_dbpasswd, $src_dbname, $src_dbport, false); + $src_db->sql_connect($src_dbhost, $src_dbuser, $src_dbpasswd, $src_dbname, $src_dbport, false, true); $same_db = false; } else @@ -466,7 +466,7 @@ class install_convert extends module compare_table($tables, $tablename, $prefixes); } } - $src_->sql_freeresult($result); + $src_db->sql_freeresult($result); } foreach ($prefixes as $prefix => $count) @@ -591,7 +591,7 @@ class install_convert extends module require($phpbb_root_path . 'includes/functions_convert.' . $phpEx); $db = new $sql_db(); - $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false); + $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, true); unset($dbpasswd); $sql = 'SELECT * @@ -663,7 +663,7 @@ class install_convert extends module } $sql_db = 'dbal_' . $convert->src_dbms; $src_db = new $sql_db(); - $src_db->sql_connect($convert->src_dbhost, $convert->src_dbuser, $convert->src_dbpasswd, $convert->src_dbname, $convert->src_dbport, false); + $src_db->sql_connect($convert->src_dbhost, $convert->src_dbuser, $convert->src_dbpasswd, $convert->src_dbname, $convert->src_dbport, false, true); $same_db = false; } else From 28871e1f7b3ba4d9e26b34b065a9e198a5202044 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 19 Feb 2007 04:15:35 +0000 Subject: [PATCH 060/707] - forgot a few places :P git-svn-id: file:///svn/phpbb/trunk@7010 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 2 +- phpBB/install/install_install.php | 4 ++-- phpBB/install/install_update.php | 2 +- phpBB/style.php | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 2d19b46245..201629e7b1 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -65,7 +65,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); diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index ca91cf6396..faa6844a6e 100755 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -1092,7 +1092,7 @@ class install_install extends module // Instantiate the database $sql_db = 'dbal_' . $available_dbms[$dbms]['DRIVER']; $db = new $sql_db(); - $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false); + $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false); // NOTE: trigger_error does not work here. $db->return_on_error = true; @@ -1373,7 +1373,7 @@ class install_install extends module // Instantiate the database $sql_db = 'dbal_' . $available_dbms[$dbms]['DRIVER']; $db = new $sql_db(); - $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false); + $db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false); // NOTE: trigger_error does not work here. $db->return_on_error = true; diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php index 3e24cc71ed..a2e2084f28 100644 --- a/phpBB/install/install_update.php +++ b/phpBB/install/install_update.php @@ -91,7 +91,7 @@ class install_update extends module $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); diff --git a/phpBB/style.php b/phpBB/style.php index a9803aa4e5..e238fe63a0 100644 --- a/phpBB/style.php +++ b/phpBB/style.php @@ -60,7 +60,7 @@ if ($id && $sid) $cache = new cache(); // Connect to DB - if (!@$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false)) + if (!@$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false)) { exit; } From ec541d417b56c3f21e9fe6097ed6af568781b023 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 19 Feb 2007 04:23:50 +0000 Subject: [PATCH 061/707] #8186 git-svn-id: file:///svn/phpbb/trunk@7011 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_admin.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index 53f6fb926a..fa45c0027f 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -2516,7 +2516,7 @@ function get_database_size() case 'mysql': case 'mysql4': case 'mysqli': - + $sql = 'SELECT VERSION() AS mysql_version'; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); @@ -2560,6 +2560,16 @@ function get_database_size() case 'mssql': case 'mssql_odbc': + global $dbhost; + + if (file_exists($dbhost)) + { + $database_size = filesize($dbhost); + } + + break; + + case 'sqlite': $sql = 'SELECT ((SUM(size) * 8.0) * 1024.0) as dbsize FROM sysfiles'; From 2fccd105d15b51d0a492818ce1160c24e1b46666 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 19 Feb 2007 04:34:42 +0000 Subject: [PATCH 062/707] eh? meh. git-svn-id: file:///svn/phpbb/trunk@7012 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_admin.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index fa45c0027f..1731d6a3e1 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -2558,8 +2558,7 @@ function get_database_size() break; - case 'mssql': - case 'mssql_odbc': + case 'sqlite': global $dbhost; if (file_exists($dbhost)) From bd20743c4c40339bc84b502a1b44981278a26550 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 19 Feb 2007 04:36:32 +0000 Subject: [PATCH 063/707] now that was kinda dumb... git-svn-id: file:///svn/phpbb/trunk@7013 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_admin.php | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index 1731d6a3e1..357555b170 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -2516,7 +2516,6 @@ function get_database_size() case 'mysql': case 'mysql4': case 'mysqli': - $sql = 'SELECT VERSION() AS mysql_version'; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); @@ -2555,7 +2554,6 @@ function get_database_size() $db->sql_freeresult($result); } } - break; case 'sqlite': @@ -2568,18 +2566,16 @@ function get_database_size() break; - case 'sqlite': - + case 'mssql': + case 'mssql_odbc': $sql = 'SELECT ((SUM(size) * 8.0) * 1024.0) as dbsize FROM sysfiles'; $result = $db->sql_query($sql); $database_size = ($row = $db->sql_fetchrow($result)) ? $row['dbsize'] : false; $db->sql_freeresult($result); - break; case 'postgres': - $sql = "SELECT proname FROM pg_proc WHERE proname = 'pg_database_size'"; @@ -2605,7 +2601,6 @@ function get_database_size() $database_size = $row['size']; } - break; } From bf8bea4967c50ba61c6bd897d3611fccdac24bee Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 19 Feb 2007 16:40:49 +0000 Subject: [PATCH 064/707] PHP4 lives! git-svn-id: file:///svn/phpbb/trunk@7014 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/install_convert.php | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index ffbb4e4ef7..0986ef42f9 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -432,14 +432,7 @@ class install_convert extends module } else { - if (version_compare(PHP_VERSION, '5.0.0-dev', '<')) - { - $src_db = &$db; - } - else - { - $src_db = $db; - } + $src_db = $db; $same_db = true; } @@ -668,14 +661,7 @@ class install_convert extends module } else { - if (version_compare(PHP_VERSION, '5.0.0-dev', '<')) - { - $src_db = &$db; - } - else - { - $src_db = $db; - } + $src_db = $db; $same_db = true; } From 59fdd2edca9455126c6ce606ba2819aa6450dfda Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 19 Feb 2007 19:35:52 +0000 Subject: [PATCH 065/707] #8234 - some stupid bugs in restore - centralized the method of getting tables git-svn-id: file:///svn/phpbb/trunk@7015 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_convert.php | 2 +- phpBB/includes/functions_install.php | 131 ++++++++++++++------------- phpBB/install/install_convert.php | 19 +--- phpBB/language/en/acp/database.php | 1 + 4 files changed, 77 insertions(+), 76 deletions(-) diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index e8c57a4db6..914311c2b8 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -1374,7 +1374,7 @@ function get_path($src_path, $src_url, $test_file) function compare_table($tables, $tablename, &$prefixes) { - for ($i = 0; $i < sizeof($tables); ++$i) + for ($i = 0, $table_size = sizeof($tables); $i < $table_size; ++$i) { if (preg_match('/(.*)' . $tables[$i] . '$/', $tablename, $m)) { diff --git a/phpBB/includes/functions_install.php b/phpBB/includes/functions_install.php index 0906e5e1b1..29eb0d3dc6 100644 --- a/phpBB/includes/functions_install.php +++ b/phpBB/includes/functions_install.php @@ -182,6 +182,69 @@ function dbms_select($default = '', $only_20x_options = false) return $dbms_options; } +/** +* Get tables of a database +*/ +function get_tables($db) +{ + switch ($db->sql_layer) + { + case 'mysql': + case 'mysql4': + case 'mysqli': + $sql = 'SHOW TABLES'; + $field = 'Tables_in_' . $db->dbname; + break; + + case 'sqlite': + $sql = 'SELECT name + FROM sqlite_master + WHERE type = "table"'; + $field = 'name'; + break; + + case 'mssql': + case 'mssql_odbc': + $sql = "SELECT name + FROM sysobjects + WHERE type='U'"; + $field = 'name'; + break; + + case 'postgres': + $sql = 'SELECT relname + FROM pg_stat_user_tables'; + $field = 'relname'; + break; + + case 'firebird': + $sql = 'SELECT rdb$relation_name + FROM rdb$relations + WHERE rdb$view_source is null + AND rdb$system_flag = 0'; + $field = 'rdb$relation_name'; + break; + + case 'oracle': + $sql = 'SELECT table_name + FROM USER_TABLES'; + $field = 'table_name'; + break; + } + + $result = $db->sql_query($sql); + + $tables = array(); + + while ($row = $db->sql_fetchrow($result)) + { + $tables[] = $row[$field]; + } + + $db->sql_freeresult($result); + + return $tables; +} /** * Used to test whether we are able to connect to the database the user has specified @@ -264,74 +327,20 @@ function connect_check_db($error_connect, &$error, $dbms, $table_prefix, $dbhost } else { - switch ($dbms['DRIVER']) + // Likely matches for an existing phpBB installation + if (!$prefix_may_exist) { - case 'mysql': - case 'mysqli': - $sql = 'SHOW TABLES'; - $field = "Tables_in_{$dbname}"; - break; - - case 'sqlite': - $sql = 'SELECT name - FROM sqlite_master - WHERE type = "table"'; - $field = 'name'; - break; - - case 'mssql': - case 'mssql_odbc': - $sql = "SELECT name - FROM sysobjects - WHERE type='U'"; - $field = 'name'; - break; - - case 'postgres': - $sql = "SELECT relname - FROM pg_class - WHERE relkind = 'r' - AND relname NOT LIKE 'pg\_%'"; - $field = 'relname'; - break; - - case 'firebird': - $sql = 'SELECT rdb$relation_name - FROM rdb$relations - WHERE rdb$view_source is null - AND rdb$system_flag = 0'; - $field = 'rdb$relation_name'; - break; - - case 'oracle': - $sql = 'SELECT table_name - FROM USER_TABLES'; - $field = 'table_name'; - break; - } - $result = $db->sql_query($sql); - - if ($row = $db->sql_fetchrow($result)) - { - // Likely matches for an existing phpBB installation $temp_prefix = strtolower($table_prefix); $table_ary = array($temp_prefix . 'attachments', $temp_prefix . 'config', $temp_prefix . 'sessions', $temp_prefix . 'topics', $temp_prefix . 'users'); - do + $tables = get_tables($db); + $table_intersect = array_intersect($tables, $table_ary); + + if (sizeof($table_intersect)) { - // All phpBB installations will at least have config else it won't work - if (in_array(strtolower($row[$field]), $table_ary)) - { - if (!$prefix_may_exist) - { - $error[] = $lang['INST_ERR_PREFIX']; - } - break; - } + $error[] = $lang['INST_ERR_PREFIX']; } - while ($row = $db->sql_fetchrow($result)); } - $db->sql_freeresult($result); // Make sure that the user has selected a sensible DBAL for the DBMS actually installed switch ($dbms['DRIVER']) diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 0986ef42f9..c7432aeb42 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -445,22 +445,13 @@ class install_convert extends module if (!$result) { $prefixes = array(); - // TODO: fixme - if ($result = $src_db->sql_query('SHOW TABLES')) + + $tables_existing = get_tables($src_db); + foreach ($tables_existing as $table_name) { - while ($row = $src_db->sql_fetchrow($result)) - { - if (sizeof($row) > 1) - { - compare_table($tables, $row[0], $prefixes); - } - else if (list(, $tablename) = @each($row)) - { - compare_table($tables, $tablename, $prefixes); - } - } - $src_db->sql_freeresult($result); + compare_table($tables, $table_name, $prefixes); } + unset($tables_existing); foreach ($prefixes as $prefix => $count) { diff --git a/phpBB/language/en/acp/database.php b/phpBB/language/en/acp/database.php index a59ebc416f..b8b423d08a 100644 --- a/phpBB/language/en/acp/database.php +++ b/phpBB/language/en/acp/database.php @@ -50,6 +50,7 @@ $lang = array_merge($lang, array( 'FILE_TYPE' => 'File type', 'FULL_BACKUP' => 'Full', + 'RESTORE_FAILURE' => 'The backup file may be corrupt.', 'RESTORE_OPTIONS' => 'Restore options', 'RESTORE_SUCCESS' => 'The database has been successfully restored.

Your board should be back to the state it was when the backup was made.', From 4805ae65427c9018c8ce9d66fdeef6c2b6a57c42 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 19 Feb 2007 20:57:05 +0000 Subject: [PATCH 066/707] forgot to actually commit it :P git-svn-id: file:///svn/phpbb/trunk@7016 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 118 ++++------------------------ 1 file changed, 17 insertions(+), 101 deletions(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index 2acbfb63ec..e023e53013 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -161,107 +161,18 @@ class acp_database break; default: - $tables = array(); - switch ($db->sql_layer) + include($phpbb_root_path . 'includes/functions_install.' . $phpEx); + $tables = get_tables($db); + foreach ($tables as $table_name) { - case 'sqlite': - $sql = "SELECT name - FROM sqlite_master - WHERE type='table' - ORDER BY name"; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - if (strlen($table_prefix) == 0 || strpos($row['name'], $table_prefix) === 0) - { - $tables[] = $row['name']; - } - } - $db->sql_freeresult($result); - break; - - case 'mysqli': - case 'mysql4': - case 'mysql': - $sql = "SHOW TABLES - LIKE '{$table_prefix}%'"; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - $tables[] = current($row); - } - $db->sql_freeresult($result); - break; - - case 'postgres': - $sql = 'SELECT relname - FROM pg_stat_user_tables - ORDER BY relname'; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - if (strlen($table_prefix) == 0 || strpos($row['relname'], $table_prefix) === 0) - { - $tables[] = $row['relname']; - } - } - $db->sql_freeresult($result); - break; - - case 'mssql': - case 'mssql_odbc': - $sql = "SELECT TABLE_NAME - FROM INFORMATION_SCHEMA.TABLES - WHERE TABLE_TYPE = 'BASE TABLE' - ORDER BY TABLE_NAME"; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - if (strlen($table_prefix) == 0 || strpos($row['TABLE_NAME'], $table_prefix) === 0) - { - $tables[] = $row['TABLE_NAME']; - } - } - $db->sql_freeresult($result); - break; - - case 'firebird': - $sql = 'SELECT RDB$RELATION_NAME as TABLE_NAME - FROM RDB$RELATIONS - WHERE RDB$SYSTEM_FLAG=0 - AND RDB$VIEW_BLR IS NULL'; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - if (strlen($table_prefix) == 0 || stripos($row['table_name'], $table_prefix) === 0) - { - $tables[] = $row['table_name']; - } - } - $db->sql_freeresult($result); - break; - - case 'oracle': - $sql = 'SELECT TNAME as table_name - FROM TAB'; - $result = $db->sql_query($sql); - while ($row = $db->sql_fetchrow($result)) - { - if (strlen($table_prefix) == 0 || stripos($row['table_name'], $table_prefix) === 0) - { - $tables[] = $row['table_name']; - } - } - $db->sql_freeresult($result); - break; - } - - foreach ($tables as $table) - { - $template->assign_block_vars('tables', array( - 'TABLE' => $table - )); + if (strlen($table_prefix) === 0 || strpos($table_name, $table_prefix) === 0) + { + $template->assign_block_vars('tables', array( + 'TABLE' => $table_name + )); + } } + unset($tables); $template->assign_vars(array( 'U_ACTION' => $this->u_action . '&action=download' @@ -398,7 +309,7 @@ class acp_database $delim = ";\n"; while (($sql = $fgetd($fp, $delim, $read, $seek, $eof)) !== false) { - $query = trim($fgetd($fp, $delim, $read, $seek, $eof)); + $query = trim($sql); if (substr($query, 0, 8) === 'SET TERM') { $delim = $query[9] . "\n"; @@ -417,6 +328,10 @@ class acp_database { while (($sub = $fgetd($fp, "\n", $read, $seek, $eof)) !== '\.') { + if ($sub === false) + { + trigger_error($user->lang['RESTORE_FAILURE'] . adm_back_link($this->u_action)); + } pg_put_line($db->db_connect_id, $sub . "\n"); } pg_put_line($db->db_connect_id, "\\.\n"); @@ -612,7 +527,7 @@ class base_extractor if ($this->download === true) { - if ($this->format === 'bzip2' || ($this->format === 'gzip' && !$this->run_comp)) + if ($this->format === 'bzip2' || $this->format === 'text' || ($this->format === 'gzip' && !$this->run_comp)) { echo $data; } @@ -1367,6 +1282,7 @@ class mssql_extractor extends base_extractor function write_end() { $this->flush("COMMIT\nGO\n"); + parent::write_end(); } function write_start($prefix) From e88e01ec645bc25e5d4a45c6d97bc006d24945df Mon Sep 17 00:00:00 2001 From: David M Date: Tue, 20 Feb 2007 03:01:17 +0000 Subject: [PATCH 067/707] #8214 git-svn-id: file:///svn/phpbb/trunk@7017 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/install_convert.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index c7432aeb42..ac35db14c2 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -90,7 +90,7 @@ class install_convert extends module function main($mode, $sub) { - global $lang, $template, $phpbb_root_path, $phpEx, $cache, $config; + global $lang, $template, $phpbb_root_path, $phpEx, $cache, $config, $language; global $convert; $this->tpl_name = 'install_convert'; @@ -114,7 +114,7 @@ class install_convert extends module $template->assign_vars(array( 'S_NOT_INSTALLED' => true, 'TITLE' => $lang['BOARD_NOT_INSTALLED'], - 'BODY' => sprintf($lang['BOARD_NOT_INSTALLED_EXPLAIN'], append_sid($phpbb_root_path . 'install/index.' . $phpEx, 'mode=install')), + 'BODY' => sprintf($lang['BOARD_NOT_INSTALLED_EXPLAIN'], append_sid($phpbb_root_path . 'install/index.' . $phpEx, 'mode=install&language=' . $language)), )); return; From bd4e2876d3878f63dcd1150dd7cb80e9f98feeef Mon Sep 17 00:00:00 2001 From: David M Date: Tue, 20 Feb 2007 03:12:40 +0000 Subject: [PATCH 068/707] #8224 git-svn-id: file:///svn/phpbb/trunk@7018 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/ucp/ucp_groups.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/ucp/ucp_groups.php b/phpBB/includes/ucp/ucp_groups.php index 418b68e436..d6e5a34385 100644 --- a/phpBB/includes/ucp/ucp_groups.php +++ b/phpBB/includes/ucp/ucp_groups.php @@ -88,7 +88,7 @@ class ucp_groups { group_user_attributes('default', $group_id, $user->data['user_id']); - add_log('user', $user->data['user_id'], 'LOG_USER_GROUP_CHANGE', sprintf($user->lang['USER_GROUP_CHANGE'], $group_row[$group_id]['group_name'], $group_row[$user->data['group_id']]['group_name'])); + add_log('user', $user->data['user_id'], 'LOG_USER_GROUP_CHANGE', sprintf($user->lang['USER_GROUP_CHANGE'], $group_row[$user->data['group_id']]['group_name'], $group_row[$group_id]['group_name'])); meta_refresh(3, $this->u_action); trigger_error($user->lang['CHANGED_DEFAULT_GROUP'] . $return_page); From e8e47bac0c6cb775b12a6393631f38b9e5962b1d Mon Sep 17 00:00:00 2001 From: David M Date: Tue, 20 Feb 2007 04:23:56 +0000 Subject: [PATCH 069/707] #8116 git-svn-id: file:///svn/phpbb/trunk@7019 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_groups.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index 2645ac4ce3..9bb0693981 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -178,7 +178,8 @@ class acp_groups break; case 'deleteusers': - $error = group_user_del($group_id, $mark_ary, false, $group_row['group_name']); + $group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; + $error = group_user_del($group_id, $mark_ary, false, $group_name); break; } From 66b18be324deca4d392ee51f8b73a6d65b75eacc Mon Sep 17 00:00:00 2001 From: David M Date: Tue, 20 Feb 2007 04:46:07 +0000 Subject: [PATCH 070/707] #8148 git-svn-id: file:///svn/phpbb/trunk@7020 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/docs/auth_api.html | 10 +++--- phpBB/docs/coding-guidelines.html | 60 +++++++++++++++---------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/phpBB/docs/auth_api.html b/phpBB/docs/auth_api.html index 8e624eae83..7481be50a8 100644 --- a/phpBB/docs/auth_api.html +++ b/phpBB/docs/auth_api.html @@ -235,7 +235,7 @@ $auth = new auth();

The acl 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:

-$auth->acl(userdata);
+$auth->acl(userdata);
 	

Where userdata is the array containing the aforementioned data.

@@ -252,7 +252,7 @@ $auth->acl(userdata);

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:

-$result = $auth->acl_get(option[, forum]);
+$result = $auth->acl_get(option[, forum]);
 	

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.

@@ -277,7 +277,7 @@ $result = $auth->acl_get(option[, forum]);

The method should be called thus:

-$result = $auth->acl_gets(option1[, option2, ..., optionN, forum]);
+$result = $auth->acl_gets(option1[, option2, ..., optionN, forum]);
 	

As with the acl_get method the options are strings representing the required permissions to check. The forum again is an integer representing a given forum_id.

@@ -296,7 +296,7 @@ $result = $auth->acl_gets(option1[, option2, ..., 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:

-$result = $auth->acl_getf(option[, clean]);
+$result = $auth->acl_getf(option[, clean]);
 	

Just like in the acl_get 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.

@@ -304,7 +304,7 @@ $result = $auth->acl_getf(option[, clean]);

The method returns an associative array of the form:

-array(forum_id1 => array(option => integer), forum_id2 => ...)
+array(forum_id1 => array(option => integer), forum_id2 => ...)
 	

Where option is the option passed to the method and integer is either zero or a positive integer and the same acl_get(option, forum_id) would return.

diff --git a/phpBB/docs/coding-guidelines.html b/phpBB/docs/coding-guidelines.html index 63d83a7c20..7e949d2d90 100644 --- a/phpBB/docs/coding-guidelines.html +++ b/phpBB/docs/coding-guidelines.html @@ -598,7 +598,7 @@ if (isset($forum)) ... if (isset($forum) && $forum == 5) -

The empty() 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 isset($array) && sizeof($array) > 0 - this can be written in a shorter way as !empty($array).

+

The empty() 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 isset($array) && sizeof($array) > 0 - this can be written in a shorter way as !empty($array).

Switch statements:

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:

@@ -769,9 +769,9 @@ $sql = 'SELECT *
 $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 +781,9 @@ $db->sql_query('INSERT INTO ' . SOME_TABLE . ' ' . $db->sql_build_array('I
 
 	
 $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 +850,24 @@ SELECT FROM phpbb_forums WHERE forum_id <> 1
 
 	
 $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 +877,25 @@ $sql = $db->sql_build_query('SELECT', $sql_array);
 
 	
 $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 +984,7 @@ $mark_array = request_var('mark', array(0));
 
 	

// Getting an array, keys are strings, value defaults to 0

-$action_ary = request_var('action', array('' => 0));
+$action_ary = request_var('action', array('' => 0));
 	

Login checks/redirection:

@@ -999,12 +999,12 @@ $action_ary = request_var('action', array('' => 0));

Sessions should be initiated on each page, as near the top as possible using the following code:

-$user->session_begin();
-$auth->acl($user->data);
-$user->setup();
+$user->session_begin();
+$auth->acl($user->data);
+$user->setup();
 	
-

The $user->setup() call can be used to pass on additional language definition and a custom style (used in viewforum).

+

The $user->setup() call can be used to pass on additional language definition and a custom style (used in viewforum).

Errors and messages:

All messages/errors should be outputed by calling trigger_error() using the appropriate message type and language string. Example:

@@ -1328,7 +1328,7 @@ div

You are even able to check the number of items within a loop by comparing it with values within the IF condition:

-<!-- IF .loop > 2 -->
+<!-- IF .loop > 2 -->
 	<!-- BEGIN loop -->
 		markup
 	<!-- END loop -->

From af4c99690be6e6d21c096441d2e0a1283d054d06 Mon Sep 17 00:00:00 2001
From: David M 
Date: Tue, 20 Feb 2007 13:57:52 +0000
Subject: [PATCH 071/707] #8242 #7976

git-svn-id: file:///svn/phpbb/trunk@7021 89ea8834-ac86-4346-8a33-228a782c2dd0
---
 phpBB/install/convertors/convert_phpbb20.php   | 14 +++++++-------
 phpBB/install/convertors/functions_phpbb20.php |  8 ++++----
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/phpBB/install/convertors/convert_phpbb20.php b/phpBB/install/convertors/convert_phpbb20.php
index f87bf2f7d6..4e159919ff 100644
--- a/phpBB/install/convertors/convert_phpbb20.php
+++ b/phpBB/install/convertors/convert_phpbb20.php
@@ -165,12 +165,12 @@ if (!$get_info)
 
 	// Test to see if the attachment MOD is installed on the source forum
 	// If it is, we will convert this data as well
-	$db->sql_return_on_error(true);
+	$src_db->sql_return_on_error(true);
 
 	$sql = "SELECT config_value
 		FROM {$convert->src_table_prefix}attachments_config
 		WHERE config_name = 'upload_dir'";
-	$result = $db->sql_query($sql);
+	$result = $src_db->sql_query($sql);
 
 	if ($result && $row = $db->sql_fetchrow($result))
 	{
@@ -193,15 +193,15 @@ if (!$get_info)
 	* Please use constants for this, prefixing them with MOD_
 	*/
 
-	$db->sql_return_on_error(false);
+	$src_db->sql_return_on_error(false);
 
 	// Now let us set a temporary config variable for user id incrementing
 	$sql = "SELECT user_id
 		FROM {$convert->src_table_prefix}users
 		WHERE user_id = 1";
-	$result = $db->sql_query($sql);
-	$user_id = (int) $db->sql_fetchfield('user_id');
-	$db->sql_freeresult($result);
+	$result = $src_db->sql_query($sql);
+	$user_id = (int) $src_db->sql_fetchfield('user_id');
+	$src_db->sql_freeresult($result);
 
 	// If there is a user id 1, we need to increment user ids. :/
 	if ($user_id === 1)
@@ -333,7 +333,7 @@ if (!$get_info)
 				array('is_orphan',				0,										''),
 				array('poster_id',				'attachments.user_id_1 AS poster_id',	'phpbb_user_id'),
 				array('physical_filename',		'attachments_desc.physical_filename',	'import_attachment'),
-				array('real_filename',			'attachments_desc.real_filename',		''),
+				array('real_filename',			'attachments_desc.real_filename',		'phpbb_set_encoding'),
 				array('download_count',			'attachments_desc.download_count',		''),
 				array('attach_comment',			'attachments_desc.comment',				array('function1' => 'phpbb_set_encoding', 'function2' => 'utf8_htmlspecialchars')),
 				array('extension',				'attachments_desc.extension',			''),
diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php
index 0b05f4308d..8f6328a928 100644
--- a/phpBB/install/convertors/functions_phpbb20.php
+++ b/phpBB/install/convertors/functions_phpbb20.php
@@ -89,7 +89,7 @@ function phpbb_insert_forums()
 	{
 		$sql_ary = array(
 			'forum_id'		=> $max_forum_id,
-			'forum_name'	=> ($row['cat_title']) ? htmlspecialchars(phpbb_set_encoding($row['cat_title'], false), ENT_COMPAT, 'UTF-8') : $user->lang['CATEGORY'],
+			'forum_name'	=> ($row['cat_title']) ? htmlspecialchars(phpbb_set_default_encoding($row['cat_title']), ENT_COMPAT, 'UTF-8') : $user->lang['CATEGORY'],
 			'parent_id'		=> 0,
 			'forum_parents'	=> '',
 			'forum_desc'	=> '',
@@ -200,10 +200,10 @@ function phpbb_insert_forums()
 		// Define the new forums sql ary
 		$sql_ary = array(
 			'forum_id'			=> (int) $row['forum_id'],
-			'forum_name'		=> htmlspecialchars(phpbb_set_encoding($row['forum_name'], false), ENT_COMPAT, 'UTF-8'),
+			'forum_name'		=> htmlspecialchars(phpbb_set_default_encoding($row['forum_name']), ENT_COMPAT, 'UTF-8'),
 			'parent_id'			=> $cats_added[$row['cat_id']],
 			'forum_parents'		=> '',
-			'forum_desc'		=> htmlspecialchars(phpbb_set_encoding($row['forum_desc'], false), ENT_COMPAT, 'UTF-8'),
+			'forum_desc'		=> htmlspecialchars(phpbb_set_default_encoding($row['forum_desc']), ENT_COMPAT, 'UTF-8'),
 			'forum_type'		=> FORUM_POST,
 			'forum_status'		=> is_item_locked($row['forum_status']),
 			'enable_prune'		=> $row['prune_enable'],
@@ -1047,7 +1047,7 @@ function phpbb_convert_group_name($group_name)
 		return 'phpBB2 - ' . $group_name;
 	}
 
-	return phpbb_set_encoding($group_name, false);
+	return phpbb_set_default_encoding($group_name);
 }
 
 /**

From 3e9672a188abf7be27c75ab152d182a6f99e590e Mon Sep 17 00:00:00 2001
From: David M 
Date: Tue, 20 Feb 2007 14:55:11 +0000
Subject: [PATCH 072/707] *** empty log message ***

git-svn-id: file:///svn/phpbb/trunk@7022 89ea8834-ac86-4346-8a33-228a782c2dd0
---
 phpBB/includes/acp/acp_groups.php | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php
index 9bb0693981..9c3adeeffc 100644
--- a/phpBB/includes/acp/acp_groups.php
+++ b/phpBB/includes/acp/acp_groups.php
@@ -74,7 +74,8 @@ class acp_groups
 				}
 
 				// Approve, demote or promote
-				group_user_attributes($action, $group_id, $mark_ary, false, $group_row['group_name']);
+				$group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name'];
+				group_user_attributes($action, $group_id, $mark_ary, false, $group_name);
 
 				switch ($action)
 				{

From 2a0425ffca5d939825ab5389ced9235cbe192e49 Mon Sep 17 00:00:00 2001
From: David M 
Date: Tue, 20 Feb 2007 15:04:56 +0000
Subject: [PATCH 073/707] #8232

git-svn-id: file:///svn/phpbb/trunk@7023 89ea8834-ac86-4346-8a33-228a782c2dd0
---
 phpBB/includes/acp/acp_ban.php | 2 --
 1 file changed, 2 deletions(-)

diff --git a/phpBB/includes/acp/acp_ban.php b/phpBB/includes/acp/acp_ban.php
index cf490a4643..7b9eef12ba 100644
--- a/phpBB/includes/acp/acp_ban.php
+++ b/phpBB/includes/acp/acp_ban.php
@@ -130,8 +130,6 @@ class acp_ban
 					WHERE (b.ban_end >= ' . time() . '
 							OR b.ban_end = 0)
 						AND u.user_id = b.ban_userid
-						AND b.ban_userid <> 0
-						AND u.user_id <> ' . ANONYMOUS . '
 					ORDER BY u.username_clean ASC';
 			break;
 

From 5de69acfe2e6255054532c3b120c6fa629da6118 Mon Sep 17 00:00:00 2001
From: David M 
Date: Tue, 20 Feb 2007 15:24:31 +0000
Subject: [PATCH 074/707] #8194

git-svn-id: file:///svn/phpbb/trunk@7024 89ea8834-ac86-4346-8a33-228a782c2dd0
---
 phpBB/includes/functions_admin.php | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php
index 357555b170..19a7a126c0 100644
--- a/phpBB/includes/functions_admin.php
+++ b/phpBB/includes/functions_admin.php
@@ -2685,14 +2685,14 @@ function tidy_warnings()
 	$expire_date = time() - ($config['warnings_expire_days'] * 86400);
 	$warning_list = $user_list = array();
 
-	$sql = 'SELECT * FROM ' . WARNINGS_TABLE . "
-		WHERE warning_time < $expire_date";
+	$sql = 'SELECT * FROM ' . WARNINGS_TABLE;/* . "
+		WHERE warning_time < $expire_date";*/
 	$result = $db->sql_query($sql);
 
 	while ($row = $db->sql_fetchrow($result))
 	{
 		$warning_list[] = $row['warning_id'];
-		$user_list[$row['user_id']] = isset($user_list[$row['user_id']]) ? $user_list[$row['user_id']]++ : 1;
+		$user_list[$row['user_id']] = isset($user_list[$row['user_id']]) ? ++$user_list[$row['user_id']] : 1;
 	}
 	$db->sql_freeresult($result);
 
@@ -2708,6 +2708,7 @@ function tidy_warnings()
 		{
 			$sql = 'UPDATE ' . USERS_TABLE . " SET user_warnings = user_warnings - $value
 				WHERE user_id = $user_id";
+				var_dump($sql);
 			$db->sql_query($sql);
 		}
 

From 1e8b642cf1d2a98d0b25178ad85fb2b5b9e284cd Mon Sep 17 00:00:00 2001
From: David M 
Date: Tue, 20 Feb 2007 15:26:08 +0000
Subject: [PATCH 075/707] blah

git-svn-id: file:///svn/phpbb/trunk@7025 89ea8834-ac86-4346-8a33-228a782c2dd0
---
 phpBB/includes/acp/acp_groups.php | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php
index 9c3adeeffc..67c9d4d338 100644
--- a/phpBB/includes/acp/acp_groups.php
+++ b/phpBB/includes/acp/acp_groups.php
@@ -103,6 +103,7 @@ class acp_groups
 
 				if (confirm_box(true))
 				{
+					$group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name'];
 					if (!sizeof($mark_ary))
 					{
 						$start = 0;
@@ -124,7 +125,7 @@ class acp_groups
 								}
 								while ($row = $db->sql_fetchrow($result));
 
-								group_user_attributes('default', $group_id, $mark_ary, false, $group_row['group_name'], $group_row);
+								group_user_attributes('default', $group_id, $mark_ary, false, $group_name, $group_row);
 
 								$start = (sizeof($mark_ary) < 200) ? 0 : $start + 200;
 							}
@@ -138,7 +139,7 @@ class acp_groups
 					}
 					else
 					{
-						group_user_attributes('default', $group_id, $mark_ary, false, $group_row['group_name'], $group_row);
+						group_user_attributes('default', $group_id, $mark_ary, false, $group_name, $group_row);
 					}
 
 					trigger_error($user->lang['GROUP_DEFS_UPDATED'] . adm_back_link($this->u_action . '&action=list&g=' . $group_id));

From d5d0085180bbdfcd6cc6c001d92efa822f9f12cf Mon Sep 17 00:00:00 2001
From: David M 
Date: Tue, 20 Feb 2007 15:33:16 +0000
Subject: [PATCH 076/707] i feel special

git-svn-id: file:///svn/phpbb/trunk@7026 89ea8834-ac86-4346-8a33-228a782c2dd0
---
 phpBB/includes/functions_admin.php | 1 -
 1 file changed, 1 deletion(-)

diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php
index 19a7a126c0..2eff9c7980 100644
--- a/phpBB/includes/functions_admin.php
+++ b/phpBB/includes/functions_admin.php
@@ -2708,7 +2708,6 @@ function tidy_warnings()
 		{
 			$sql = 'UPDATE ' . USERS_TABLE . " SET user_warnings = user_warnings - $value
 				WHERE user_id = $user_id";
-				var_dump($sql);
 			$db->sql_query($sql);
 		}
 

From 02d9c670f5236979cb217eb1c36d5daaef9bfaf0 Mon Sep 17 00:00:00 2001
From: David M 
Date: Tue, 20 Feb 2007 19:07:33 +0000
Subject: [PATCH 077/707] remember daivd, nobody else wants your debug code...

git-svn-id: file:///svn/phpbb/trunk@7027 89ea8834-ac86-4346-8a33-228a782c2dd0
---
 phpBB/includes/functions_admin.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php
index 2eff9c7980..b63669e186 100644
--- a/phpBB/includes/functions_admin.php
+++ b/phpBB/includes/functions_admin.php
@@ -2685,8 +2685,8 @@ function tidy_warnings()
 	$expire_date = time() - ($config['warnings_expire_days'] * 86400);
 	$warning_list = $user_list = array();
 
-	$sql = 'SELECT * FROM ' . WARNINGS_TABLE;/* . "
-		WHERE warning_time < $expire_date";*/
+	$sql = 'SELECT * FROM ' . WARNINGS_TABLE . "
+		WHERE warning_time < $expire_date";
 	$result = $db->sql_query($sql);
 
 	while ($row = $db->sql_fetchrow($result))

From 76b06cf71d1c1b3c8f82c677f282371b483843db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= 
Date: Tue, 20 Feb 2007 21:06:46 +0000
Subject: [PATCH 078/707] #8204

Small fix for Safari which apparently didn't understand the onchange value - well, onclick does the trick too. Thanks to kellanved for helping debug this. Now on to the the display errors in Safari!


git-svn-id: file:///svn/phpbb/trunk@7028 89ea8834-ac86-4346-8a33-228a782c2dd0
---
 phpBB/adm/style/permission_mask.html | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html
index b3a18093bb..a3e4fc57d3 100644
--- a/phpBB/adm/style/permission_mask.html
+++ b/phpBB/adm/style/permission_mask.html
@@ -103,9 +103,9 @@
 						 class="yes" class="never">
 					
-						
-						
-						
+						
+						
+						
 					
 				
 				

From 2602b11894d3e93aa8b059c2a6585241689d9643 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= 
Date: Tue, 20 Feb 2007 21:29:08 +0000
Subject: [PATCH 079/707] Some more Safari fixes, everything but the tooltips
 should display correct now on the permission dialogs

git-svn-id: file:///svn/phpbb/trunk@7029 89ea8834-ac86-4346-8a33-228a782c2dd0
---
 phpBB/adm/style/permission_mask.html | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html
index a3e4fc57d3..7ef2bc1848 100644
--- a/phpBB/adm/style/permission_mask.html
+++ b/phpBB/adm/style/permission_mask.html
@@ -23,7 +23,7 @@
 

{p_mask.NAME} [{p_mask.L_ACL_TYPE}]

- +
@@ -112,6 +112,7 @@
+

{L_APPLY_PERMISSIONS_EXPLAIN}

@@ -120,9 +121,11 @@
+ +
From 213a83b5194bc430578343142e8cde7a3cc96517 Mon Sep 17 00:00:00 2001 From: David M Date: Wed, 21 Feb 2007 19:43:44 +0000 Subject: [PATCH 080/707] #8254 git-svn-id: file:///svn/phpbb/trunk@7030 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index d3638f1941..6d9623245a 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2132,7 +2132,7 @@ function bump_topic_allowed($forum_id, $topic_bumped, $last_post_time, $topic_po function get_context($text, $words, $length = 400) { // first replace all whitespaces with single spaces - $text = preg_replace('/\s+/u', ' ', $text); + $text = preg_replace('/ +/', ' ', strtr($text, "\t\n\r\x0C ", ' '), $text); $word_indizes = array(); if (sizeof($words)) From 7752115971b89d79f605ce6d02b8be0b52969594 Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 22 Feb 2007 15:17:35 +0000 Subject: [PATCH 081/707] #8302 git-svn-id: file:///svn/phpbb/trunk@7031 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/install/index.php b/phpBB/install/index.php index 146f55ddb6..77dc8097d2 100755 --- a/phpBB/install/index.php +++ b/phpBB/install/index.php @@ -22,7 +22,7 @@ $phpEx = substr(strrchr(__FILE__, '.'), 1); error_reporting(E_ALL ^ E_NOTICE); // @todo Review this test and see if we can find out what it is which prevents PHP 4.2.x from even displaying the page with requirements on it -if (version_compare(phpversion(), '4.3.0') < 0) +if (version_compare(phpversion(), '4.3.3') < 0) { die('You are running an unsupported PHP version. Please upgrade to PHP 4.3.3 or higher before trying to install phpBB 3.0'); } From 5cd3efad82796c3aeceb1da8b2707f696b11ee17 Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 22 Feb 2007 15:18:53 +0000 Subject: [PATCH 082/707] #8298 git-svn-id: file:///svn/phpbb/trunk@7032 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_forums.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/adm/style/acp_forums.html b/phpBB/adm/style/acp_forums.html index 5bbd235c04..a3d5d08dab 100644 --- a/phpBB/adm/style/acp_forums.html +++ b/phpBB/adm/style/acp_forums.html @@ -147,7 +147,7 @@

{L_FORUM_DESC_EXPLAIN}
-
+
checked="checked" /> {L_PARSE_BBCODE}   checked="checked" /> {L_PARSE_SMILIES}   checked="checked" /> {L_PARSE_URLS}
From 87c3b60b179132e8e2d7b0b794b81f566d0558ad Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 22 Feb 2007 15:21:34 +0000 Subject: [PATCH 083/707] #8296 git-svn-id: file:///svn/phpbb/trunk@7033 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/subSilver/template/ucp_pm_options.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/subSilver/template/ucp_pm_options.html b/phpBB/styles/subSilver/template/ucp_pm_options.html index ab3b6b9a26..c1363f8b4f 100644 --- a/phpBB/styles/subSilver/template/ucp_pm_options.html +++ b/phpBB/styles/subSilver/template/ucp_pm_options.html @@ -80,7 +80,7 @@ {rule.CHECK} {rule.RULE} {rule.STRING} - {rule.ACTION} -> {rule.FOLDER} + {rule.ACTION} -> {rule.FOLDER} From 97a8eb40139ddb299754a883508c9250ef544f36 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 22 Feb 2007 16:20:11 +0000 Subject: [PATCH 084/707] trying to fix two conversion issues - anonymous user not entered correctly or entered with user id 0 (need to be tested) - ips not converted git-svn-id: file:///svn/phpbb/trunk@7034 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_convert.php | 6 ++-- phpBB/includes/session.php | 35 +++++++++++++++++++ .../install/convertors/functions_phpbb20.php | 24 +++++++------ phpBB/viewtopic.php | 7 ++++ 4 files changed, 59 insertions(+), 13 deletions(-) diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index 914311c2b8..5acaae113b 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -309,10 +309,10 @@ function decode_ip($int_ip) $hexipbang = explode('.', chunk_split($int_ip, 2, '.')); - // Any mod changing the way ips are stored? Then we are not able to convert. - if (sizeof($hexipbang) != 4) + // Any mod changing the way ips are stored? Then we are not able to convert... + if (sizeof($hexipbang) < 4) { - return ''; + return '127.0.0.1'; } return hexdec($hexipbang[0]) . '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]); diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 71e83fbd11..6033691637 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -1023,6 +1023,41 @@ class session return false; } + /** + * Check if URI is blacklisted + * This should be called only where absolutly necessary, for example on the submitted website field + * This function is not in use at the moment and is only included for testing purposes, it may not work at all! + * This means it is untested at the moment and therefore commented out + * + * @param string $uri URI to check + * @return true if uri is on blacklist, else false. Only blacklist is checked (~zero FP), no grey lists + function check_uribl($uri) + { + // Normally parse_url() is not intended to parse uris + // We need to get the top-level domain name anyway... change. + $uri = parse_url($uri); + + if ($uri === false || empty($uri['host'])) + { + return false; + } + + $uri = trim($uri['host']); + + if ($uri) + { + // One problem here... the return parameter for the "windows" method is different from what + // we expect... this may render this check useless... + if (phpbb_checkdnsrr($uri . '.multi.uribl.com.', 'A') === true) + { + return true; + } + } + + return false; + } + */ + /** * Set/Update a persistent login key * diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index 8f6328a928..2c53e5ccd1 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -436,16 +436,6 @@ function phpbb_get_birthday($birthday = '') */ function phpbb_user_id($user_id) { - if (!$user_id) - { - return 0; - } - - if ($user_id == -1) - { - return ANONYMOUS; - } - global $config; // Increment user id if the old forum is having a user with the id 1 @@ -484,6 +474,19 @@ function phpbb_user_id($user_id) } } + // If the old user id is -1 in 2.0.x it is the anonymous user... + if ($user_id == -1) + { + return ANONYMOUS; + } + + // This should never ever happen - 2.0.x is not allowing a user id of 0 + // But we return the anonymous user to be consistent and not breaking functionality + if (!$user_id) + { + return ANONYMOUS; + } + if (!empty($config['increment_user_id'])) { $user_id++; @@ -1125,6 +1128,7 @@ function phpbb_prepare_message($message) $message = preg_replace('/\[quote="(.*?)"\]/s', '[quote="\1"]', $message); } + // Already the new user id ;) $user_id = $convert->row['poster_id']; $message = str_replace('<', '<', $message); diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index 1c05af3d11..2898d56e72 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -1215,6 +1215,13 @@ $template->assign_vars(array( $first_unread = $post_unread = false; for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i) { + // A non-existing rowset only happens if there was no user present for the entered poster_id + // This could be a broken posts table. + if (!isset($rowset[$post_list[$i]])) + { + continue; + } + $row =& $rowset[$post_list[$i]]; $poster_id = $row['user_id']; From a8f6aafa43bd255ecd56a8bfb1b78a76e966f3f8 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 22 Feb 2007 19:32:00 +0000 Subject: [PATCH 085/707] small bugfix... git-svn-id: file:///svn/phpbb/trunk@7035 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_jabber.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/phpBB/includes/functions_jabber.php b/phpBB/includes/functions_jabber.php index b0a7e09c08..184a1f89a4 100644 --- a/phpBB/includes/functions_jabber.php +++ b/phpBB/includes/functions_jabber.php @@ -20,7 +20,7 @@ * last modified: 24.03.2004 13:01:53 * * Modified by phpBB Development Team -* version: v0.4.3a1 +* version: v0.4.3 * * @package phpBB3 */ @@ -59,6 +59,9 @@ class jabber var $connector; + var $version; + var $show_version; + /** * Constructor */ @@ -73,6 +76,9 @@ class jabber $this->enable_logging = true; $this->log_array = array(); + $this->version = '1.0'; + $this->show_version = false; + $this->packet_queue = array(); $this->iq_sleep_timer = $this->delay_disconnect = 1; @@ -113,7 +119,7 @@ class jabber if ($this->connector->open_socket($this->server, $this->port)) { $this->send_packet("\n"); - $this->send_packet("\n"); + $this->send_packet("show_version) ? " version='{$this->version}'" : '') . ">\n"); sleep(2); @@ -890,7 +896,7 @@ class jabber socket_set_blocking($this->connector->active_socket, $meta['blocked']); $this->send_packet("\n"); - $this->send_packet("\n"); + $this->send_packet("show_version) ? " version='{$this->version}'" : '') . ">\n"); sleep(2); if (!$this->_check_connected(true)) From 42f3115763fa2496f552a25305266283152c209b Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 22 Feb 2007 19:58:05 +0000 Subject: [PATCH 086/707] #8244 - cleaned up the TRUNCATE/DELETE FROM in the native search backend - fixed an imporoper default value on some upgrades git-svn-id: file:///svn/phpbb/trunk@7036 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/develop/create_schema_files.php | 2 +- phpBB/includes/message_parser.php | 8 ++++++++ phpBB/includes/search/fulltext_native.php | 24 ++--------------------- phpBB/install/database_update.php | 13 +++++++++++- phpBB/install/schemas/firebird_schema.sql | 2 +- phpBB/install/schemas/mssql_schema.sql | 2 +- phpBB/install/schemas/mysql_41_schema.sql | 2 +- phpBB/install/schemas/oracle_schema.sql | 2 +- phpBB/install/schemas/postgres_schema.sql | 2 +- phpBB/language/en/posting.php | 2 ++ 10 files changed, 30 insertions(+), 29 deletions(-) diff --git a/phpBB/develop/create_schema_files.php b/phpBB/develop/create_schema_files.php index 0f9c36bb09..f1a9dd1830 100644 --- a/phpBB/develop/create_schema_files.php +++ b/phpBB/develop/create_schema_files.php @@ -1757,7 +1757,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), diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php index e2c0b37fe7..d358ec8f48 100644 --- a/phpBB/includes/message_parser.php +++ b/phpBB/includes/message_parser.php @@ -1507,7 +1507,15 @@ class parse_message extends bbcode_firstpass } else { + if (utf8_strlen(preg_replace('#\[\/?[a-z\*\+\-]+(=[\S]+)?\]#ius', ' ', $this->message)) > 100) + { + $this->warn_msg[] = $user->lang['POLL_TITLE_TOO_LONG']; + } $poll['poll_title'] = $this->parse($poll['enable_bbcode'], ($config['allow_post_links']) ? $poll['enable_urls'] : false, $poll['enable_smilies'], $poll['img_status'], false, false, $config['allow_post_links'], false); + if (strlen($poll['poll_title']) > 255) + { + $this->warn_msg[] = $user->lang['POLL_TITLE_COMP_TOO_LONG']; + } } $this->message = $tmp_message; diff --git a/phpBB/includes/search/fulltext_native.php b/phpBB/includes/search/fulltext_native.php index bd197feede..30dc779078 100755 --- a/phpBB/includes/search/fulltext_native.php +++ b/phpBB/includes/search/fulltext_native.php @@ -1271,33 +1271,13 @@ class fulltext_native extends search_backend case 'sqlite': case 'firebird': $db->sql_query('DELETE FROM ' . SEARCH_WORDLIST_TABLE); - break; - - default: - $db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDLIST_TABLE); - break; - } - - switch ($db->sql_layer) - { - case 'sqlite': - case 'firebird': $db->sql_query('DELETE FROM ' . SEARCH_WORDMATCH_TABLE); - break; - - default: - $db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDMATCH_TABLE); - break; - } - - switch ($db->sql_layer) - { - case 'sqlite': - case 'firebird': $db->sql_query('DELETE FROM ' . SEARCH_RESULTS_TABLE); break; default: + $db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDLIST_TABLE); + $db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDMATCH_TABLE); $db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE); break; } diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 201629e7b1..363a90e5d8 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -317,7 +317,7 @@ $database_update_info = array( 'seed' => array('UINT:10', 0), ), SESSIONS_TABLE => array( - 'session_forwarded_for' => array('VCHAR:255', 0), + 'session_forwarded_for' => array('VCHAR:255', ''), ), ), 'change_columns' => array( @@ -351,6 +351,17 @@ $database_update_info = array( ), ), ), + // Changes from 3.0.b5 to the next version + '3.0.b5' => array( + 'change_columns' => array( + TOPICS_TABLE => array( + 'poll_title' => array('STEXT_UNI', ''), + ), + SESSIONS_TABLE => array( + 'session_forwarded_for' => array('VCHAR:255', ''), + ), + ), + ), ); // Determine mapping database type diff --git a/phpBB/install/schemas/firebird_schema.sql b/phpBB/install/schemas/firebird_schema.sql index dd3e4af9d2..9ab8594c01 100644 --- a/phpBB/install/schemas/firebird_schema.sql +++ b/phpBB/install/schemas/firebird_schema.sql @@ -1284,7 +1284,7 @@ CREATE TABLE phpbb_topics ( topic_moved_id INTEGER DEFAULT 0 NOT NULL, topic_bumped INTEGER DEFAULT 0 NOT NULL, topic_bumper INTEGER DEFAULT 0 NOT NULL, - poll_title VARCHAR(100) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE, + poll_title VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE, poll_start INTEGER DEFAULT 0 NOT NULL, poll_length INTEGER DEFAULT 0 NOT NULL, poll_max_options INTEGER DEFAULT 1 NOT NULL, diff --git a/phpBB/install/schemas/mssql_schema.sql b/phpBB/install/schemas/mssql_schema.sql index 7f33783072..9d4eb55505 100644 --- a/phpBB/install/schemas/mssql_schema.sql +++ b/phpBB/install/schemas/mssql_schema.sql @@ -1481,7 +1481,7 @@ CREATE TABLE [phpbb_topics] ( [topic_moved_id] [int] DEFAULT (0) NOT NULL , [topic_bumped] [int] DEFAULT (0) NOT NULL , [topic_bumper] [int] DEFAULT (0) NOT NULL , - [poll_title] [varchar] (100) DEFAULT ('') NOT NULL , + [poll_title] [varchar] (255) DEFAULT ('') NOT NULL , [poll_start] [int] DEFAULT (0) NOT NULL , [poll_length] [int] DEFAULT (0) NOT NULL , [poll_max_options] [int] DEFAULT (1) NOT NULL , diff --git a/phpBB/install/schemas/mysql_41_schema.sql b/phpBB/install/schemas/mysql_41_schema.sql index 7ade8bd1a4..bf884e1ed4 100644 --- a/phpBB/install/schemas/mysql_41_schema.sql +++ b/phpBB/install/schemas/mysql_41_schema.sql @@ -900,7 +900,7 @@ CREATE TABLE phpbb_topics ( topic_moved_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, topic_bumped tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, topic_bumper mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - poll_title varchar(100) DEFAULT '' NOT NULL, + poll_title varchar(255) DEFAULT '' NOT NULL, poll_start int(11) UNSIGNED DEFAULT '0' NOT NULL, poll_length int(11) UNSIGNED DEFAULT '0' NOT NULL, poll_max_options tinyint(4) DEFAULT '1' NOT NULL, diff --git a/phpBB/install/schemas/oracle_schema.sql b/phpBB/install/schemas/oracle_schema.sql index 8634dcd1fe..970006a7c8 100644 --- a/phpBB/install/schemas/oracle_schema.sql +++ b/phpBB/install/schemas/oracle_schema.sql @@ -1666,7 +1666,7 @@ CREATE TABLE phpbb_topics ( topic_moved_id number(8) DEFAULT '0' NOT NULL, topic_bumped number(1) DEFAULT '0' NOT NULL, topic_bumper number(8) DEFAULT '0' NOT NULL, - poll_title varchar2(300) DEFAULT '' , + poll_title varchar2(765) DEFAULT '' , poll_start number(11) DEFAULT '0' NOT NULL, poll_length number(11) DEFAULT '0' NOT NULL, poll_max_options number(4) DEFAULT '1' NOT NULL, diff --git a/phpBB/install/schemas/postgres_schema.sql b/phpBB/install/schemas/postgres_schema.sql index d0005a16a7..e1dea496cf 100644 --- a/phpBB/install/schemas/postgres_schema.sql +++ b/phpBB/install/schemas/postgres_schema.sql @@ -1148,7 +1148,7 @@ CREATE TABLE phpbb_topics ( topic_moved_id INT4 DEFAULT '0' NOT NULL CHECK (topic_moved_id >= 0), topic_bumped INT2 DEFAULT '0' NOT NULL CHECK (topic_bumped >= 0), topic_bumper INT4 DEFAULT '0' NOT NULL CHECK (topic_bumper >= 0), - poll_title varchar(100) DEFAULT '' NOT NULL, + poll_title varchar(255) DEFAULT '' NOT NULL, poll_start INT4 DEFAULT '0' NOT NULL CHECK (poll_start >= 0), poll_length INT4 DEFAULT '0' NOT NULL CHECK (poll_length >= 0), poll_max_options INT2 DEFAULT '1' NOT NULL, diff --git a/phpBB/language/en/posting.php b/phpBB/language/en/posting.php index d5e8450699..0724918a2e 100644 --- a/phpBB/language/en/posting.php +++ b/phpBB/language/en/posting.php @@ -141,6 +141,8 @@ $lang = array_merge($lang, array( 'POLL_OPTIONS' => 'Poll options', 'POLL_OPTIONS_EXPLAIN' => 'Place each option on a new line. You may enter up to %d options', 'POLL_QUESTION' => 'Poll question', + 'POLL_TITLE_TOO_LONG' => 'The poll title must contain fewer than 100 characters', + 'POLL_TITLE_COMP_TOO_LONG' => 'The parsed size of your poll title is too large, consider removing BBCodes or smilies', 'POLL_VOTE_CHANGE' => 'Allow re-voting', 'POLL_VOTE_CHANGE_EXPLAIN' => 'If enabled users are able to change their vote.', 'POSTED_ATTACHMENTS' => 'Posted attachments', From df3a0f9a332035833b7f3776e673570473b5c3aa Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 22 Feb 2007 20:36:00 +0000 Subject: [PATCH 087/707] - found a small flaw, no more errors from cross conversions :D git-svn-id: file:///svn/phpbb/trunk@7037 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/install_convert.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index ac35db14c2..54b8ee3a3d 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -1287,7 +1287,7 @@ class install_convert extends module $skip_rows++; } - $db->sql_freeresult($___result); + $src_db->sql_freeresult($___result); // We might still have some rows waiting if (sizeof($waiting_rows)) From 9b9b3be23b6841204922e9523d7537abdc4c76b7 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 23 Feb 2007 02:51:44 +0000 Subject: [PATCH 088/707] #8180 git-svn-id: file:///svn/phpbb/trunk@7038 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/viewonline.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/phpBB/viewonline.php b/phpBB/viewonline.php index f202dceb5b..785dce5229 100644 --- a/phpBB/viewonline.php +++ b/phpBB/viewonline.php @@ -395,9 +395,9 @@ $template->assign_vars(array( 'PAGINATION' => $pagination, 'PAGE_NUMBER' => on_page($counter, $config['topics_per_page'], $start), - 'U_SORT_USERNAME' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=a&sd=' . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a')), - 'U_SORT_UPDATED' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=b&sd=' . (($sort_key == 'b' && $sort_dir == 'a') ? 'd' : 'a')), - 'U_SORT_LOCATION' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=c&sd=' . (($sort_key == 'c' && $sort_dir == 'a') ? 'd' : 'a')), + 'U_SORT_USERNAME' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=a&sd=' . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests)), + 'U_SORT_UPDATED' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=b&sd=' . (($sort_key == 'b' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests)), + 'U_SORT_LOCATION' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=c&sd=' . (($sort_key == 'c' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests)), 'U_SWITCH_GUEST_DISPLAY' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sg=' . ((int) !$show_guests)), 'L_SWITCH_GUEST_DISPLAY' => ($show_guests) ? $user->lang['HIDE_GUESTS'] : $user->lang['DISPLAY_GUESTS'], From 85a4e318819d4322684e8ee17d030064e8987a6b Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 23 Feb 2007 03:54:40 +0000 Subject: [PATCH 089/707] #8050 - Whilst now invalid... reworded as phpBB3 CVS does now support "cross-database" conversions. git-svn-id: file:///svn/phpbb/trunk@7039 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/install.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index 4bcc26bccf..5ac27f7ee0 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -123,7 +123,7 @@ $lang = array_merge($lang, array( 'DB_USERNAME' => 'Database username', 'DB_TEST' => 'Test connection', 'DEFAULT_LANG' => 'Default board language', - 'DEFAULT_PREFIX_IS' => 'The convertor was not able to find tables with the specified prefix. Please make sure you have the old within the same database as your phpBB 3.0.x installation. The default table prefix for %1$s is %2$s', + 'DEFAULT_PREFIX_IS' => 'The convertor was not able to find tables with the specified prefix. Please make sure you have entered the correct details for the forum you are converting from. The default table prefix for %1$s is %2$s', 'DEV_NO_TEST_FILE' => 'No value has been specified for the test_file variable in the convertor. If you are a user of this convertor, you should not be seeing this error, please report this message to the convertor author. If you are a convertor author, you must specify the name of a file which exists in the source forum to allow the path to it to be verified.', 'DIRECTORIES_AND_FILES' => 'Directory and file setup', 'DISABLE_KEYS' => 'Disabling keys', From e855a348e3bb762ed2afd01343123980c26e6d46 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 23 Feb 2007 13:50:27 +0000 Subject: [PATCH 090/707] - fixed some convertor bugs - adjusted forum standard access (+polls) role to include f_delete (no update, only new installations will have the change included) git-svn-id: file:///svn/phpbb/trunk@7040 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_convert.php | 31 +++++-- phpBB/install/convertors/convert_phpbb20.php | 19 +++- .../install/convertors/functions_phpbb20.php | 91 ++++++++++++------- phpBB/install/install_convert.php | 22 +++-- phpBB/install/schemas/schema_data.sql | 4 +- phpBB/language/en/acp/board.php | 2 +- phpBB/language/en/acp/permissions.php | 2 +- phpBB/language/en/install.php | 4 +- 8 files changed, 119 insertions(+), 56 deletions(-) diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index 5acaae113b..0884ef01e8 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -822,7 +822,10 @@ function get_avatar_dim($src, $axis, $func = false, $arg1 = false, $arg2 = false break; default: - return $axis ? DEFAULT_AVATAR_Y : DEFAULT_AVATAR_X; + $default_x = (defined('DEFAULT_AVATAR_X_CUSTOM')) ? DEFAULT_AVATAR_X_CUSTOM : DEFAULT_AVATAR_X; + $default_y = (defined('DEFAULT_AVATAR_Y_CUSTOM')) ? DEFAULT_AVATAR_Y_CUSTOM : DEFAULT_AVATAR_Y; + + return $axis ? $default_y : $default_x; break; } } @@ -868,7 +871,10 @@ function get_upload_avatar_dim($source, $axis) if (empty($cachedims) || empty($cachedims[0]) || empty($cachedims[1])) { - $cachedims = array(DEFAULT_AVATAR_X, DEFAULT_AVATAR_Y); + $default_x = (defined('DEFAULT_AVATAR_X_CUSTOM')) ? DEFAULT_AVATAR_X_CUSTOM : DEFAULT_AVATAR_X; + $default_y = (defined('DEFAULT_AVATAR_Y_CUSTOM')) ? DEFAULT_AVATAR_Y_CUSTOM : DEFAULT_AVATAR_Y; + + $cachedims = array($default_x, $default_y); } return $cachedims[$axis]; @@ -909,7 +915,10 @@ function get_gallery_avatar_dim($source, $axis) if (empty($avatar_cache[$orig_source]) || empty($avatar_cache[$orig_source][0]) || empty($avatar_cache[$orig_source][1])) { - $avatar_cache[$orig_source] = array(DEFAULT_AVATAR_X, DEFAULT_AVATAR_Y); + $default_x = (defined('DEFAULT_AVATAR_X_CUSTOM')) ? DEFAULT_AVATAR_X_CUSTOM : DEFAULT_AVATAR_X; + $default_y = (defined('DEFAULT_AVATAR_Y_CUSTOM')) ? DEFAULT_AVATAR_Y_CUSTOM : DEFAULT_AVATAR_Y; + + $avatar_cache[$orig_source] = array($default_x, $default_y); } return $avatar_cache[$orig_source][$axis]; @@ -938,7 +947,10 @@ function get_remote_avatar_dim($src,$axis) if (empty($avatar_cache[$src]) || empty($avatar_cache[$src][0]) || empty($avatar_cache[$src][1])) { - $avatar_cache[$src] = array(DEFAULT_AVATAR_X, DEFAULT_AVATAR_Y); + $default_x = (defined('DEFAULT_AVATAR_X_CUSTOM')) ? DEFAULT_AVATAR_X_CUSTOM : DEFAULT_AVATAR_X; + $default_y = (defined('DEFAULT_AVATAR_Y_CUSTOM')) ? DEFAULT_AVATAR_Y_CUSTOM : DEFAULT_AVATAR_Y; + + $avatar_cache[$src] = array($default_x, $default_y); } return $avatar_cache[$src][$axis]; @@ -1805,8 +1817,15 @@ function update_dynamic_config() // Get latest username $sql = 'SELECT user_id, username, user_colour FROM ' . USERS_TABLE . ' - WHERE user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ') - ORDER BY user_id DESC'; + WHERE user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')'; + + if (!empty($config['increment_user_id'])) + { + $sql .= ' AND user_id <> ' . $config['increment_user_id']; + } + + $sql .= ' ORDER BY user_id DESC'; + $result = $db->sql_query_limit($sql, 1); $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); diff --git a/phpBB/install/convertors/convert_phpbb20.php b/phpBB/install/convertors/convert_phpbb20.php index 4e159919ff..1cd03d3667 100644 --- a/phpBB/install/convertors/convert_phpbb20.php +++ b/phpBB/install/convertors/convert_phpbb20.php @@ -31,7 +31,7 @@ unset($dbpasswd); */ $convertor_data = array( 'forum_name' => 'phpBB 2.0.x', - 'version' => '0.9', + 'version' => '0.92', 'phpbb_version' => '3.0.0', 'author' => 'phpBB Group', 'dbms' => $dbms, @@ -42,7 +42,7 @@ $convertor_data = array( 'dbname' => $dbname, 'table_prefix' => 'phpbb_', 'forum_path' => '../forums', - 'author_notes' => 'Avatars may be on a different width/height than with the old forum. This is due to dimensions being stored within phpBB3 but not within phpBB2. The default dimension was set to 80x80 for avatars where dimension settings could not be determined. You might wish to instruct your users to check their profiles after the conversion to ensure that the size is correct.', + 'author_notes' => '', ); /** @@ -206,13 +206,24 @@ if (!$get_info) // If there is a user id 1, we need to increment user ids. :/ if ($user_id === 1) { - set_config('increment_user_id', 1, true); + // Try to get the maximum user id possible... + $sql = "SELECT MAX(user_id) AS max_user_id + FROM {$convert->src_table_prefix}users"; + $result = $src_db->sql_query($sql); + $user_id = (int) $src_db->sql_fetchfield('max_user_id'); + $src_db->sql_freeresult($result); + + set_config('increment_user_id', ($user_id + 1), true); } else { set_config('increment_user_id', 0, true); } + // Overwrite maximum avatar width/height + @define('DEFAULT_AVATAR_X_CUSTOM', get_config_value('avatar_max_width')); + @define('DEFAULT_AVATAR_Y_CUSTOM', get_config_value('avatar_max_height')); + /** * Description on how to use the convertor framework. * @@ -636,7 +647,7 @@ if (!$get_info) array('enable_smilies', 'privmsgs.privmsgs_enable_smilies AS enable_smilies', ''), array('enable_magic_url', 1, ''), array('enable_sig', 'privmsgs.privmsgs_attach_sig', ''), - array('message_subject', 'privmsgs.privmsgs_subject', array('function1' => 'phpbb_set_encoding', 'function2' => 'utf8_htmlspecialchars')), + array('message_subject', 'privmsgs.privmsgs_subject', 'phpbb_set_encoding'), // Already specialchared in 2.0.x array('message_attachment', ((defined('MOD_ATTACHMENT')) ? 'privmsgs.privmsgs_attachment' : 0), ''), array('message_edit_reason', '', ''), array('message_edit_user', 0, ''), diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index 2c53e5ccd1..598bb46a9a 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -456,6 +456,13 @@ function phpbb_user_id($user_id) $id = (int) $src_db->sql_fetchfield('user_id'); $src_db->sql_freeresult($result); + // Try to get the maximum user id possible... + $sql = "SELECT MAX(user_id) AS max_user_id + FROM {$convert->src_table_prefix}users"; + $result = $src_db->sql_query($sql); + $max_id = (int) $src_db->sql_fetchfield('max_user_id'); + $src_db->sql_freeresult($result); + if ($convert->mysql_convert && $same_db) { $src_db->sql_query("SET NAMES 'utf8'"); @@ -464,8 +471,8 @@ function phpbb_user_id($user_id) // If there is a user id 1, we need to increment user ids. :/ if ($id === 1) { - set_config('increment_user_id', 1, true); - $config['increment_user_id'] = 1; + set_config('increment_user_id', ($max_id + 1), true); + $config['increment_user_id'] = $max_id + 1; } else { @@ -487,9 +494,9 @@ function phpbb_user_id($user_id) return ANONYMOUS; } - if (!empty($config['increment_user_id'])) + if (!empty($config['increment_user_id']) && $user_id == 1) { - $user_id++; + return $config['increment_user_id']; } return $user_id; @@ -591,8 +598,8 @@ function phpbb_convert_authentication($mode) // Add Forum Access List $auth_map = array( 'auth_view' => array('f_', 'f_list'), - 'auth_read' => 'f_read', - 'auth_post' => array('f_post', 'f_bbcode', 'f_smilies', 'f_img', 'f_sigs', 'f_search', 'f_postcount'), + 'auth_read' => array('f_read', 'f_search'), + 'auth_post' => array('f_post', 'f_bbcode', 'f_smilies', 'f_img', 'f_sigs', 'f_postcount', 'f_report', 'f_subscribe', 'f_print', 'f_email'), 'auth_reply' => 'f_reply', 'auth_edit' => 'f_edit', 'auth_delete' => 'f_delete', @@ -600,7 +607,7 @@ function phpbb_convert_authentication($mode) 'auth_vote' => 'f_vote', 'auth_announce' => 'f_announce', 'auth_sticky' => 'f_sticky', - 'auth_attachments' => 'f_attach', + 'auth_attachments' => array('f_attach', 'f_download'), 'auth_download' => 'f_download', ); @@ -705,18 +712,33 @@ function phpbb_convert_authentication($mode) user_group_auth('registered', 'SELECT user_id, {REGISTERED} FROM ' . USERS_TABLE . ' WHERE user_id <> ' . ANONYMOUS, false); // Selecting from old table - $auth_sql = 'SELECT '; - $auth_sql .= (!empty($config['increment_user_id'])) ? 'user_id + 1 as user_id' : 'user_id'; - $auth_sql .= ', {ADMINISTRATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1'; + if (!empty($config['increment_user_id'])) + { + $auth_sql = 'SELECT user_id, {ADMINISTRATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1 AND user_id <> 1'; + user_group_auth('administrators', $auth_sql, true); - user_group_auth('administrators', $auth_sql, true); + $auth_sql = 'SELECT ' . $config['increment_user_id'] . ' as user_id, {ADMINISTRATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1 AND user_id = 1'; + user_group_auth('administrators', $auth_sql, true); + } + else + { + $auth_sql = 'SELECT user_id, {ADMINISTRATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1'; + user_group_auth('administrators', $auth_sql, true); + } - // Put administrators into global moderators group too... - $auth_sql = 'SELECT '; - $auth_sql .= (!empty($config['increment_user_id'])) ? 'user_id + 1 as user_id' : 'user_id'; - $auth_sql .= ', {GLOBAL_MODERATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1'; + if (!empty($config['increment_user_id'])) + { + $auth_sql = 'SELECT user_id, {GLOBAL_MODERATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1 AND user_id <> 1'; + user_group_auth('global_moderators', $auth_sql, true); - user_group_auth('global_moderators', $auth_sql, true); + $auth_sql = 'SELECT ' . $config['increment_user_id'] . ' as user_id, {GLOBAL_MODERATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1 AND user_id = 1'; + user_group_auth('global_moderators', $auth_sql, true); + } + else + { + $auth_sql = 'SELECT user_id, {GLOBAL_MODERATORS} FROM ' . $convert->src_table_prefix . 'users WHERE user_level = 1'; + user_group_auth('global_moderators', $auth_sql, true); + } } else if ($mode == 'first') { @@ -762,7 +784,7 @@ function phpbb_convert_authentication($mode) // no break; case 'registered_hidden': - mass_auth('group_role', $new_forum_id, 'registered', 'FORUM_LIMITED_POLLS'); + mass_auth('group_role', $new_forum_id, 'registered', 'FORUM_STANDARD_POLLS'); break; case 'private': @@ -980,25 +1002,32 @@ function phpbb_convert_authentication($mode) if (sizeof($forum_ids)) { // Now make sure the user is able to read these forums - $hold_ary = $auth->acl_group_raw_data(get_group_id('guests'), 'f_list', $forum_ids); + $hold_ary = $auth->acl_group_raw_data(false, 'f_list', $forum_ids); - if (!empty($hold_ary)) + if (empty($hold_ary)) { - mass_auth('group', $row['forum_id'], 'guests', 'f_list', ACL_YES); - mass_auth('group', $row['forum_id'], 'registered', 'f_list', ACL_YES); - mass_auth('group', $row['forum_id'], 'registered_coppa', 'f_list', ACL_YES); - mass_auth('group', $row['forum_id'], 'bots', 'f_list', ACL_YES); + continue; } - else - { - // Now make sure the user is able to read these forums - $hold_ary = $auth->acl_group_raw_data(get_group_id('registered'), 'f_list', $forum_ids); - if (!empty($hold_ary)) + foreach ($hold_ary as $g_id => $f_id_ary) + { + $set_group = false; + + foreach ($f_id_ary as $f_id => $auth_ary) { - mass_auth('group', $row['forum_id'], 'registered', 'f_list', ACL_YES); - mass_auth('group', $row['forum_id'], 'registered_coppa', 'f_list', ACL_YES); - mass_auth('group', $row['forum_id'], 'bots', 'f_list', ACL_YES); + foreach ($auth_ary as $auth_option => $setting) + { + if ($setting == ACL_YES) + { + $set_group = true; + break 2; + } + } + } + + if ($set_group) + { + mass_auth('group', $row['forum_id'], $g_id, 'f_list', ACL_YES); } } } diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 54b8ee3a3d..49ce3689bd 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -141,7 +141,6 @@ class install_convert extends module } $db->sql_freeresult($result); - // Detect if there is already a conversion in progress at this point and offer to resume // It's quite possible that the user will get disconnected during a large conversion so they need to be able to resume it $new_conversion = request_var('new_conv', 0); @@ -168,13 +167,13 @@ class install_convert extends module // This information should have already been checked once, but do it again for safety if (!empty($options) && !empty($options['tag']) && - isset($convert->options['dbms']) && - isset($convert->options['dbhost']) && - isset($convert->options['dbport']) && - isset($convert->options['dbuser']) && - isset($convert->options['dbpasswd']) && - isset($convert->options['dbname']) && - isset($convert->options['table_prefix'])) + isset($options['dbms']) && + isset($options['dbhost']) && + isset($options['dbport']) && + isset($options['dbuser']) && + isset($options['dbpasswd']) && + isset($options['dbname']) && + isset($options['table_prefix'])) { $this->page_title = $lang['CONTINUE_CONVERT']; @@ -943,7 +942,12 @@ class install_convert extends module 'dbpasswd' => $convert->src_dbpasswd, )), true); - $msg = $user->lang['PRE_CONVERT_COMPLETE'] . '

' . sprintf($user->lang['AUTHOR_NOTES'], $convert->convertor_data['author_notes']); + $msg = $user->lang['PRE_CONVERT_COMPLETE']; + + if ($convert->convertor_data['author_notes']) + { + $msg .= '

' . sprintf($user->lang['AUTHOR_NOTES'], $convert->convertor_data['author_notes']); + } $url = $this->p_master->module_url . "?mode=$mode&sub=in_progress&tag={$convert->convertor_tag}$step"; $template->assign_vars(array( diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index d6703479a7..ef83d68c97 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -465,7 +465,7 @@ INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 14, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'f_%'; # Standard Access (f_) -INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 15, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'f_%' AND auth_option NOT IN ('f_announce', 'f_delete', 'f_ignoreflood', 'f_poll', 'f_sticky', 'f_user_lock'); +INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 15, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'f_%' AND auth_option NOT IN ('f_announce', 'f_ignoreflood', 'f_poll', 'f_sticky', 'f_user_lock'); # No Access (f_) INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 16, auth_option_id, 0 FROM phpbb_acl_options WHERE auth_option = 'f_'; @@ -484,7 +484,7 @@ INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 20, auth_option_id, 0 FROM phpbb_acl_options WHERE auth_option LIKE 'f_%' AND auth_option IN ('f_noapprove'); # Standard Access + Polls (f_) -INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 21, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'f_%' AND auth_option NOT IN ('f_announce', 'f_delete', 'f_ignoreflood', 'f_sticky', 'f_user_lock'); +INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 21, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'f_%' AND auth_option NOT IN ('f_announce', 'f_ignoreflood', 'f_sticky', 'f_user_lock'); # Limited Access + Polls (f_) INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 22, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'f_%' AND auth_option NOT IN ('f_announce', 'f_attach', 'f_bump', 'f_delete', 'f_flash', 'f_icons', 'f_ignoreflood', 'f_sticky', 'f_user_lock', 'f_votechg'); diff --git a/phpBB/language/en/acp/board.php b/phpBB/language/en/acp/board.php index 865a68d60b..16fd53ce71 100644 --- a/phpBB/language/en/acp/board.php +++ b/phpBB/language/en/acp/board.php @@ -308,7 +308,7 @@ $lang = array_merge($lang, array( 'ENABLE_GZIP' => 'Enable GZip compression', 'FORCE_SERVER_VARS' => 'Force server URL settings', - 'FORCE_SERVER_VARS_EXPLAIN' => 'If set to yes the server settings defined here will be used in favour of the automatically determined values', + 'FORCE_SERVER_VARS_EXPLAIN' => 'If set to yes the server settings defined here will be used in favour of the automatically determined values.', 'ICONS_PATH' => 'Post icons storage path', 'ICONS_PATH_EXPLAIN' => 'Path under your phpBB root directory, e.g. images/icons', 'PATH_SETTINGS' => 'Path settings', diff --git a/phpBB/language/en/acp/permissions.php b/phpBB/language/en/acp/permissions.php index e29067895a..70226c0684 100644 --- a/phpBB/language/en/acp/permissions.php +++ b/phpBB/language/en/acp/permissions.php @@ -181,7 +181,7 @@ $lang = array_merge($lang, array( 'ROLE_DESCRIPTION_FORUM_ONQUEUE' => 'Can use most forum features including attachments, but posts and topics need to be approved by a moderator.', 'ROLE_DESCRIPTION_FORUM_POLLS' => 'Like Standard Access but can also create polls.', 'ROLE_DESCRIPTION_FORUM_READONLY' => 'Can read the forum, but cannot create new topics or reply to posts.', - 'ROLE_DESCRIPTION_FORUM_STANDARD' => 'Can use most forum features including attachments, but cannot lock or delete own topics, and cannot create polls.', + 'ROLE_DESCRIPTION_FORUM_STANDARD' => 'Can use most forum features including attachments and deleting own topics, but cannot lock own topics, and cannot create polls.', 'ROLE_DESCRIPTION_MOD_FULL' => 'Can use all moderating features, including banning.', 'ROLE_DESCRIPTION_MOD_QUEUE' => 'Can use the Moderation Queue to validate and edit posts, but nothing else.', 'ROLE_DESCRIPTION_MOD_SIMPLE' => 'Can only use basic topic actions. Cannot send warnings or use moderation queue.', diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index 5ac27f7ee0..1e3f8b0765 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -74,7 +74,7 @@ $lang = array_merge($lang, array( 'CONVERT_INTRO_BODY' => 'From here, you are able to import data from other (installed) forum systems. The list below shows all the conversion modules currently available. If there is no convertor shown in this list for the forum software you wish to convert from, please check our website where further conversion modules may be available for download.', 'CONVERT_NEW_CONVERSION' => 'New conversion', 'CONVERT_NOT_EXIST' => 'The specified convertor does not exist', - 'CONVERT_SETTINGS_VERIFIED' => 'The information you entered has been verified. To start the conversion progress, push the button below to begin', + 'CONVERT_SETTINGS_VERIFIED' => 'The information you entered has been verified. To start the conversion progress, push the button below to begin.', 'CONV_ERROR_ATTACH_FTP_DIR' => 'FTP upload for attachments is enabled at the old board. Please disable the FTP upload option and make sure a valid upload directory is specified, then copy all attachment files to this new web accessible directory. Once you have done this, restart the convertor.', 'CONV_ERROR_CONFIG_EMPTY' => 'There is no configuration information available for the conversion.', @@ -257,7 +257,7 @@ $lang = array_merge($lang, array( 'POST_ID' => 'Post ID', 'PREFIX_FOUND' => 'A scan of your tables has shown a valid installation using %s as table prefix.', 'PREPROCESS_STEP' => 'Executing pre-processing functions/queries', - 'PRE_CONVERT_COMPLETE' => 'All pre-conversion steps have successfully been completed. You may now begin the actual conversion process.', + 'PRE_CONVERT_COMPLETE' => 'All pre-conversion steps have successfully been completed. You may now begin the actual conversion process. Please note that you may have to manually adjust several things. After conversion, especially check the permissions assigned, rebuild your search index if necessary and also make sure files got copied correctly, for example avatars and smilies.', 'PROCESS_LAST' => 'Processing last statements', 'REFRESH_PAGE' => 'Refresh page to continue conversion', From 932e16dfd3d3140e7d6d2cba6f212bcefcfd0b54 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 23 Feb 2007 14:52:16 +0000 Subject: [PATCH 091/707] #8074 git-svn-id: file:///svn/phpbb/trunk@7041 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/search/fulltext_native.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/search/fulltext_native.php b/phpBB/includes/search/fulltext_native.php index 30dc779078..5ff0c3c566 100755 --- a/phpBB/includes/search/fulltext_native.php +++ b/phpBB/includes/search/fulltext_native.php @@ -321,7 +321,7 @@ class fulltext_native extends search_backend } else { - $this->common_words[] = $row['word_text']; + $this->common_words[] = $word; } } else From 44d7ab6d1de7e5afc6bcc2901fbc376d244d4ace Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 23 Feb 2007 16:24:13 +0000 Subject: [PATCH 092/707] #8022 git-svn-id: file:///svn/phpbb/trunk@7042 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/mcp.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/mcp.php b/phpBB/language/en/mcp.php index 7c5df74d5f..9f26b41451 100644 --- a/phpBB/language/en/mcp.php +++ b/phpBB/language/en/mcp.php @@ -338,7 +338,7 @@ $lang = array_merge($lang, array( 'WARNING_PM_BODY' => 'The following is a warning which has been issued to you by an administrator or moderator of this site.[quote]%s[/quote]', 'WARNING_PM_SUBJECT' => 'Board warning issued', 'WARNING_POST_DEFAULT' => 'This is a warning regarding the following post made by you: %s', - 'WARNINGS_ZERO_TOTAL' => 'No warnings exists', + 'WARNINGS_ZERO_TOTAL' => 'No warnings exist', 'YOU_SELECTED_TOPIC' => 'You selected topic number %d: %s', From 9655bea71acfac7e2168b21fd9ac3bf6ed9ac693 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 23 Feb 2007 16:39:03 +0000 Subject: [PATCH 093/707] #7902 git-svn-id: file:///svn/phpbb/trunk@7043 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_prune.php | 7 ++++++- phpBB/language/en/acp/prune.php | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_prune.php b/phpBB/includes/acp/acp_prune.php index 9e680e4714..484c936be5 100644 --- a/phpBB/includes/acp/acp_prune.php +++ b/phpBB/includes/acp/acp_prune.php @@ -301,9 +301,14 @@ class acp_prune } add_log('admin', $l_log, implode(', ', $usernames)); + $msg = $user->lang['USER_' . strtoupper($action) . '_SUCCESS']; + } + else + { + $msg = $user->lang['USER_PRUNE_FAILURE']; } - trigger_error($user->lang['USER_' . strtoupper($action) . '_SUCCESS'] . adm_back_link($this->u_action)); + trigger_error($msg . adm_back_link($this->u_action)); } else { diff --git a/phpBB/language/en/acp/prune.php b/phpBB/language/en/acp/prune.php index aec44a86c9..ad2a998c21 100644 --- a/phpBB/language/en/acp/prune.php +++ b/phpBB/language/en/acp/prune.php @@ -48,6 +48,7 @@ $lang = array_merge($lang, array( 'USER_DEACTIVATE_SUCCESS' => 'The selected users have been deactivated successfully.', 'USER_DELETE_SUCCESS' => 'The selected users have been deleted successfully.', + 'USER_PRUNE_FAILURE' => 'No users fit the selected criteria.', 'WRONG_ACTIVE_JOINED_DATE' => 'The date entered is wrong, it is expected in YYYY-MM-DD format.', )); From 4b6560d375f5ed086e4f8546e32f8bc9b90b34b1 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 23 Feb 2007 16:45:34 +0000 Subject: [PATCH 094/707] #8206 git-svn-id: file:///svn/phpbb/trunk@7044 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/acp/board.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/acp/board.php b/phpBB/language/en/acp/board.php index 16fd53ce71..38a057b740 100644 --- a/phpBB/language/en/acp/board.php +++ b/phpBB/language/en/acp/board.php @@ -406,7 +406,7 @@ $lang = array_merge($lang, array( // Jabber settings $lang = array_merge($lang, array( - 'ACP_JABBER_SETTINGS_EXPLAIN' => 'Here you can enable and control the use Jabber for instant messaging and board notices. Jabber is an opensource protocol and therefore available for use by anyone. Some Jabber servers include gateways or transports which allow you to contact users on other networks. Not all servers offer all transports and changes in protocols can prevent transports from operating. Note that it may take several seconds to update Jabber account details, do not stop the script till completed!', + 'ACP_JABBER_SETTINGS_EXPLAIN' => 'Here you can enable and control the use of Jabber for instant messaging and board notifications. Jabber is an open source protocol and therefore available for use by anyone. Some Jabber servers include gateways or transports which allow you to contact users on other networks. Not all servers offer all transports and changes in protocols can prevent transports from operating. Note that it may take several seconds to update Jabber account details, so do not stop the script until it is completed!', 'ERR_JAB_AUTH' => 'Could not authorise on Jabber server.', 'ERR_JAB_CONNECT' => 'Could not connect to Jabber server.', From 6e2e074c2ce04101eb797dbbe03af0ec34dc8817 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 23 Feb 2007 16:50:32 +0000 Subject: [PATCH 095/707] - small language issue git-svn-id: file:///svn/phpbb/trunk@7045 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/install.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index 1e3f8b0765..e400a1376e 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -74,7 +74,7 @@ $lang = array_merge($lang, array( 'CONVERT_INTRO_BODY' => 'From here, you are able to import data from other (installed) forum systems. The list below shows all the conversion modules currently available. If there is no convertor shown in this list for the forum software you wish to convert from, please check our website where further conversion modules may be available for download.', 'CONVERT_NEW_CONVERSION' => 'New conversion', 'CONVERT_NOT_EXIST' => 'The specified convertor does not exist', - 'CONVERT_SETTINGS_VERIFIED' => 'The information you entered has been verified. To start the conversion progress, push the button below to begin.', + 'CONVERT_SETTINGS_VERIFIED' => 'The information you entered has been verified. To start the conversion process, push the button below to begin.', 'CONV_ERROR_ATTACH_FTP_DIR' => 'FTP upload for attachments is enabled at the old board. Please disable the FTP upload option and make sure a valid upload directory is specified, then copy all attachment files to this new web accessible directory. Once you have done this, restart the convertor.', 'CONV_ERROR_CONFIG_EMPTY' => 'There is no configuration information available for the conversion.', From 7ca0e43041b90d5fc0b6c4863b8df8af47290434 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 23 Feb 2007 16:59:24 +0000 Subject: [PATCH 096/707] #8266 git-svn-id: file:///svn/phpbb/trunk@7046 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/common.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 853df84f85..4c9b956695 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -322,7 +322,7 @@ $lang = array_merge($lang, array( 'NO_ACCESS_ATTACHMENT' => 'You are not allowed to access this file.', 'NO_ACTION' => 'No action specified.', 'NO_ADMINISTRATORS' => 'No administrators assigned at this board.', - 'NO_AUTH_ADMIN' => 'You do not have admin permissions and therefore not allowed to access the administration control panel.', + 'NO_AUTH_ADMIN' => 'You do not have admin permissions and are therefore not allowed to access the administration control panel.', 'NO_AUTH_ADMIN_USER_DIFFER' => 'You are not able to re-authenticate as a different user.', 'NO_AUTH_OPERATION' => 'You do not have the necessary permissions to complete this operation.', 'NO_CONNECT_TO_SMTP_HOST' => 'Could not connect to smtp host : %s : %s', From 8d9d9d39f3880fff630d43232a52873d489f3ce7 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 23 Feb 2007 17:41:44 +0000 Subject: [PATCH 097/707] blip git-svn-id: file:///svn/phpbb/trunk@7047 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/common.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 4c9b956695..853df84f85 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -322,7 +322,7 @@ $lang = array_merge($lang, array( 'NO_ACCESS_ATTACHMENT' => 'You are not allowed to access this file.', 'NO_ACTION' => 'No action specified.', 'NO_ADMINISTRATORS' => 'No administrators assigned at this board.', - 'NO_AUTH_ADMIN' => 'You do not have admin permissions and are therefore not allowed to access the administration control panel.', + 'NO_AUTH_ADMIN' => 'You do not have admin permissions and therefore not allowed to access the administration control panel.', 'NO_AUTH_ADMIN_USER_DIFFER' => 'You are not able to re-authenticate as a different user.', 'NO_AUTH_OPERATION' => 'You do not have the necessary permissions to complete this operation.', 'NO_CONNECT_TO_SMTP_HOST' => 'Could not connect to smtp host : %s : %s', From 48b41b73d55911f26fb12078d335eaddbc44e45f Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 23 Feb 2007 20:06:21 +0000 Subject: [PATCH 098/707] #7734 git-svn-id: file:///svn/phpbb/trunk@7048 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_language.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/adm/style/acp_language.html b/phpBB/adm/style/acp_language.html index 21f7347d3d..86f32a3ce5 100644 --- a/phpBB/adm/style/acp_language.html +++ b/phpBB/adm/style/acp_language.html @@ -125,7 +125,7 @@ width: 450px; } - < ![endif]--> + From e7c28ec5db93c4e1ebfc0c7105ded07f222e2419 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 23 Feb 2007 23:53:49 +0000 Subject: [PATCH 099/707] #8028 git-svn-id: file:///svn/phpbb/trunk@7049 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_ban.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_ban.php b/phpBB/includes/acp/acp_ban.php index 7b9eef12ba..ea0a054d5f 100644 --- a/phpBB/includes/acp/acp_ban.php +++ b/phpBB/includes/acp/acp_ban.php @@ -33,7 +33,7 @@ class acp_ban if ($bansubmit) { // Grab the list of entries - $ban = request_var('ban', ''); + $ban = request_var('ban', '', true); $ban_len = request_var('banlength', 0); $ban_len_other = request_var('banlengthother', ''); $ban_exclude = request_var('banexclude', 0); From 9b33d4009dc6b12d41ff74bb428847c7e6e101c4 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sat, 24 Feb 2007 10:20:03 +0000 Subject: [PATCH 100/707] adding @package tag which is required for all classes. git-svn-id: file:///svn/phpbb/trunk@7050 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index e023e53013..1842ecd98f 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -409,6 +409,9 @@ class acp_database } } +/** +* @package acp +*/ class base_extractor { var $fh; @@ -549,6 +552,9 @@ class base_extractor } } +/** +* @package acp +*/ class mysql_extractor extends base_extractor { function write_start($table_prefix) @@ -851,6 +857,9 @@ class mysql_extractor extends base_extractor } } +/** +* @package acp +*/ class sqlite_extractor extends base_extractor { function write_start($prefix) @@ -987,6 +996,9 @@ class sqlite_extractor extends base_extractor } } +/** +* @package acp +*/ class postgres_extractor extends base_extractor { function write_start($prefix) @@ -1277,6 +1289,9 @@ class postgres_extractor extends base_extractor } } +/** +* @package acp +*/ class mssql_extractor extends base_extractor { function write_end() @@ -1612,6 +1627,9 @@ class mssql_extractor extends base_extractor } +/** +* @package acp +*/ class oracle_extractor extends base_extractor { function write_table($table_name) @@ -1811,6 +1829,9 @@ class oracle_extractor extends base_extractor } } +/** +* @package acp +*/ class firebird_extractor extends base_extractor { function write_start($prefix) From ac317f5024289ddbb9135bbf4a9623620a69baca Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sat, 24 Feb 2007 10:28:12 +0000 Subject: [PATCH 101/707] Adjustement to the fix for bug #8274 git-svn-id: file:///svn/phpbb/trunk@7051 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/convertors/functions_phpbb20.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index 598bb46a9a..1895fb25fe 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -784,7 +784,7 @@ function phpbb_convert_authentication($mode) // no break; case 'registered_hidden': - mass_auth('group_role', $new_forum_id, 'registered', 'FORUM_STANDARD_POLLS'); + mass_auth('group_role', $new_forum_id, 'registered', 'FORUM_POLLS'); break; case 'private': From 425c55726848136303479a8be6a8aec9e71ddbac Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sat, 24 Feb 2007 11:03:41 +0000 Subject: [PATCH 102/707] do not rely on admin style for E_USER_ERROR messages git-svn-id: file:///svn/phpbb/trunk@7052 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 6d9623245a..a6826e991f 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -1586,11 +1586,11 @@ function redirect($url, $return = false) echo ''; echo ''; echo ''; - echo ''; + echo ''; echo '' . $user->lang['REDIRECT'] . ''; echo ''; echo ''; - echo '
' . sprintf($user->lang['URL_REDIRECT'], '', '') . '
'; + echo '
' . sprintf($user->lang['URL_REDIRECT'], '', '') . '
'; echo ''; echo ''; @@ -1706,8 +1706,9 @@ function meta_refresh($time, $url) $url = redirect($url, true); + // For XHTML compatibility we change back & to & $template->assign_vars(array( - 'META' => '') + 'META' => '') ); } @@ -3271,33 +3272,38 @@ function msg_handler($errno, $msg_text, $errfile, $errline) garbage_collection(); + // Try to not call the adm page data... + echo ''; echo ''; echo ''; echo ''; echo '' . $msg_title . ''; - echo ''; + echo ''; echo ''; echo ''; echo '
'; echo ' '; - echo '
'; - echo '
'; - echo ' '; - echo '
'; - echo '

General Error

'; + echo '
'; + echo '
'; + echo '

General Error

'; - echo '

' . $msg_text . '

'; + echo '

' . $msg_text . '

'; if (!empty($config['board_contact'])) { echo '

Please notify the board administrator or webmaster: ' . $config['board_contact'] . '

'; } - echo '
'; - echo ' '; echo '
'; echo '
'; echo '
- - - -
{S_TIMEZONE}
+
From fb709f65cb4206746b8eaf7a0a255527b89ad4f7 Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 24 Feb 2007 19:35:20 +0000 Subject: [PATCH 106/707] #8098 git-svn-id: file:///svn/phpbb/trunk@7056 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/mcp/mcp_topic.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/phpBB/includes/mcp/mcp_topic.php b/phpBB/includes/mcp/mcp_topic.php index d230687ed4..2b793a4d6a 100644 --- a/phpBB/includes/mcp/mcp_topic.php +++ b/phpBB/includes/mcp/mcp_topic.php @@ -200,11 +200,11 @@ function mcp_topic_view($id, $mode, $action) else { $to_topic_info = $to_topic_info[$to_topic_id]; - } - if (!$to_topic_info['enable_icons']) - { - $s_topic_icons = false; + if (!$to_topic_info['enable_icons']) + { + $s_topic_icons = false; + } } } } From 99b6c76aae0a89d3b3ef9440752a0b0d2d51dc6b Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Sat, 24 Feb 2007 23:04:05 +0000 Subject: [PATCH 107/707] Reword. git-svn-id: file:///svn/phpbb/trunk@7057 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/common.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 853df84f85..7eed479231 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -322,7 +322,7 @@ $lang = array_merge($lang, array( 'NO_ACCESS_ATTACHMENT' => 'You are not allowed to access this file.', 'NO_ACTION' => 'No action specified.', 'NO_ADMINISTRATORS' => 'No administrators assigned at this board.', - 'NO_AUTH_ADMIN' => 'You do not have admin permissions and therefore not allowed to access the administration control panel.', + 'NO_AUTH_ADMIN' => 'Access to the Administration Control Panel is not allowed as you do not have administrative permissions.', 'NO_AUTH_ADMIN_USER_DIFFER' => 'You are not able to re-authenticate as a different user.', 'NO_AUTH_OPERATION' => 'You do not have the necessary permissions to complete this operation.', 'NO_CONNECT_TO_SMTP_HOST' => 'Could not connect to smtp host : %s : %s', From 6f426ddf0f25cd84cc042a4c843b75c55f322c9d Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 25 Feb 2007 05:38:15 +0000 Subject: [PATCH 108/707] #8292 git-svn-id: file:///svn/phpbb/trunk@7058 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/ucp/ucp_pm_compose.php | 6 ++++++ phpBB/posting.php | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/ucp/ucp_pm_compose.php b/phpBB/includes/ucp/ucp_pm_compose.php index c228e8daba..fed72402f2 100644 --- a/phpBB/includes/ucp/ucp_pm_compose.php +++ b/phpBB/includes/ucp/ucp_pm_compose.php @@ -528,6 +528,12 @@ function compose_pm($id, $mode, $action) } } + // On a refresh we do not care about message parsing errors + if (sizeof($message_parser->warn_msg) && $refresh) + { + $message_parser->warn_msg = array(); + } + if (sizeof($message_parser->warn_msg) && !($remove_u || $remove_g || $add_to || $add_bcc)) { $error[] = implode('
', $message_parser->warn_msg); diff --git a/phpBB/posting.php b/phpBB/posting.php index 247b88c63c..3515d118b3 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -408,7 +408,8 @@ if ($user->data['is_registered'] && $auth->acl_get('u_savedrafts')) $sql = 'SELECT draft_id FROM ' . DRAFTS_TABLE . ' WHERE (forum_id IN (' . $forum_id . ', 0)' . (($topic_id) ? " OR topic_id = $topic_id" : '') . ') - AND user_id = ' . $user->data['user_id'] . + AND (forum_id <> 0 AND topic_id <> 0) + AND user_id = ' . $user->data['user_id'] . (($draft_id) ? " AND draft_id <> $draft_id" : ''); $result = $db->sql_query_limit($sql, 1); From bcecae8993d3196957a6984953a1b156b51e1649 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 25 Feb 2007 06:08:39 +0000 Subject: [PATCH 109/707] - made prune a bit nicer #8236 git-svn-id: file:///svn/phpbb/trunk@7059 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_prune_forums.html | 5 ++++- phpBB/includes/acp/acp_prune.php | 16 ++++++++++++++++ phpBB/language/en/acp/common.php | 1 + phpBB/language/en/acp/permissions.php | 1 - 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/phpBB/adm/style/acp_prune_forums.html b/phpBB/adm/style/acp_prune_forums.html index 00710ccb4f..a59fa4ceff 100644 --- a/phpBB/adm/style/acp_prune_forums.html +++ b/phpBB/adm/style/acp_prune_forums.html @@ -41,8 +41,11 @@

{L_SELECT_FORUM} +

{L_LOOK_UP_FORUMS_EXPLAIN}

-
+
+
+
  {L_ALL_FORUMS}

diff --git a/phpBB/includes/acp/acp_prune.php b/phpBB/includes/acp/acp_prune.php index 484c936be5..49c68beef1 100644 --- a/phpBB/includes/acp/acp_prune.php +++ b/phpBB/includes/acp/acp_prune.php @@ -46,9 +46,25 @@ class acp_prune global $db, $user, $auth, $template, $cache; global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; + $all_forums = request_var('all_forums', 0); $forum_id = request_var('f', array(0)); $submit = (isset($_POST['submit'])) ? true : false; + if ($all_forums) + { + $sql = 'SELECT forum_id + FROM ' . FORUMS_TABLE . ' + ORDER BY left_id'; + $result = $db->sql_query($sql); + + $forum_id = array(); + while ($row = $db->sql_fetchrow($result)) + { + $forum_id[] = $row['forum_id']; + } + $db->sql_freeresult($result); + } + if ($submit) { $prune_posted = request_var('prune_days', 0); diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php index 15c98672fb..1f8b473ba4 100644 --- a/phpBB/language/en/acp/common.php +++ b/phpBB/language/en/acp/common.php @@ -232,6 +232,7 @@ $lang = array_merge($lang, array( 'LOGIN_ADMIN_CONFIRM' => 'To administer the board you must re-authenticate yourself.', 'LOGIN_ADMIN_SUCCESS' => 'You have successfully authenticated and will now be redirected to the Administration Control Panel', 'LOOK_UP_FORUM' => 'Select a forum', + 'LOOK_UP_FORUMS_EXPLAIN'=> 'You are able to select more than one forum', 'MANAGE' => 'Manage', 'MOVE_DOWN' => 'Move down', diff --git a/phpBB/language/en/acp/permissions.php b/phpBB/language/en/acp/permissions.php index 70226c0684..31ded03e38 100644 --- a/phpBB/language/en/acp/permissions.php +++ b/phpBB/language/en/acp/permissions.php @@ -118,7 +118,6 @@ $lang = array_merge($lang, array( 'GROUPS_NOT_ASSIGNED' => 'No group assigned to this role', - 'LOOK_UP_FORUMS_EXPLAIN' => 'You are able to select more than one forum', 'LOOK_UP_GROUP' => 'Look up usergroup', 'LOOK_UP_USER' => 'Look up user', From 8e5563218152808ed284a822b59b98df2ea937c0 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 25 Feb 2007 11:59:22 +0000 Subject: [PATCH 110/707] ok, this should still fix the issues for empty poster ids within the posts table (they are skipped) but should fix wrong ban entries (after conversion the anonymous user is banned. :)) git-svn-id: file:///svn/phpbb/trunk@7060 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/convertors/functions_phpbb20.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index 1895fb25fe..2f1c3025b8 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -487,18 +487,16 @@ function phpbb_user_id($user_id) return ANONYMOUS; } - // This should never ever happen - 2.0.x is not allowing a user id of 0 - // But we return the anonymous user to be consistent and not breaking functionality - if (!$user_id) - { - return ANONYMOUS; - } - if (!empty($config['increment_user_id']) && $user_id == 1) { return $config['increment_user_id']; } + // A user id of 0 can happen, for example within the ban table if no user is banned... + // Within the posts and topics table this can be "dangerous" but is the fault of the user + // having mods installed (a poster id of 0 is not possible in 2.0.x). + // Therefore, we return the user id "as is". + return $user_id; } From 0f8474a7bf517b019af3e974d3a57c2d5cdd56a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Sun, 25 Feb 2007 12:28:20 +0000 Subject: [PATCH 111/707] #7996 git-svn-id: file:///svn/phpbb/trunk@7061 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/subSilver/template/viewtopic_body.html | 4 ++-- phpBB/styles/subSilver/theme/stylesheet.css | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/phpBB/styles/subSilver/template/viewtopic_body.html b/phpBB/styles/subSilver/template/viewtopic_body.html index e3bb8c2fa2..a6d024d07a 100644 --- a/phpBB/styles/subSilver/template/viewtopic_body.html +++ b/phpBB/styles/subSilver/template/viewtopic_body.html @@ -153,7 +153,7 @@ - + @@ -274,7 +274,7 @@ - + diff --git a/phpBB/styles/subSilver/theme/stylesheet.css b/phpBB/styles/subSilver/theme/stylesheet.css index 93ae44a542..101cfdf325 100644 --- a/phpBB/styles/subSilver/theme/stylesheet.css +++ b/phpBB/styles/subSilver/theme/stylesheet.css @@ -312,6 +312,9 @@ th { td { padding: 2px; } +td.profile { + padding: 4px; +} .tablebg { background-color: #A9B8C2; From 651737db767d96965bfe21d86af1b4810149e94a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Sun, 25 Feb 2007 12:34:28 +0000 Subject: [PATCH 112/707] blargh... git-svn-id: file:///svn/phpbb/trunk@7062 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/subSilver/template/viewtopic_body.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/subSilver/template/viewtopic_body.html b/phpBB/styles/subSilver/template/viewtopic_body.html index a6d024d07a..6d9da1a9be 100644 --- a/phpBB/styles/subSilver/template/viewtopic_body.html +++ b/phpBB/styles/subSilver/template/viewtopic_body.html @@ -274,7 +274,7 @@ - + From 23577db488d2706e4ffab4be1592b528086d692c Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 25 Feb 2007 13:21:59 +0000 Subject: [PATCH 113/707] this hopefully solves the issue of wrongly converted ips completely. Sometimes there is really no ip... git-svn-id: file:///svn/phpbb/trunk@7063 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_convert.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index 0884ef01e8..87fe1c2649 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -304,15 +304,15 @@ function decode_ip($int_ip) { if (!$int_ip) { - return '127.0.0.1'; + return $int_ip; } $hexipbang = explode('.', chunk_split($int_ip, 2, '.')); - // Any mod changing the way ips are stored? Then we are not able to convert... + // Any mod changing the way ips are stored? Then we are not able to convert and enter the ip "as is" to not "destroy" anything... if (sizeof($hexipbang) < 4) { - return '127.0.0.1'; + return $int_ip; } return hexdec($hexipbang[0]) . '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]); From fca8176e5b420ea5b6d96a5c918155c18f9dd803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Sun, 25 Feb 2007 13:44:25 +0000 Subject: [PATCH 114/707] #8066 synch git-svn-id: file:///svn/phpbb/trunk@7064 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/editor.js | 52 +++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/phpBB/adm/style/editor.js b/phpBB/adm/style/editor.js index 2ef2853ed3..51634a60cd 100644 --- a/phpBB/adm/style/editor.js +++ b/phpBB/adm/style/editor.js @@ -32,11 +32,21 @@ function helpline(help) */ function initInsertions() { - var textarea = document.forms[form_name].elements[text_name]; - textarea.focus(); - if (is_ie && typeof(baseHeight) != 'number') + var doc; + if(document.forms[form_name]) { - baseHeight = document.selection.createRange().duplicate().boundingHeight; + doc = document; + } + else + { + doc = opener.document; + } + var textarea = doc.forms[form_name].elements[text_name]; + if (is_ie && typeof(baseHeight) != 'number') + { + textarea.focus(); + baseHeight = doc.selection.createRange().duplicate().boundingHeight; + document.body.focus(); } } @@ -48,7 +58,9 @@ 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 +74,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 +98,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); @@ -102,13 +116,14 @@ function bbfontstyle(bbopen, bbclose) // IE 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; } @@ -122,7 +137,8 @@ function insert_text(text, spaces, popup) if (!popup) { textarea = document.forms[form_name].elements[text_name]; - } else + } + else { textarea = opener.document.forms[form_name].elements[text_name]; } @@ -152,12 +168,15 @@ function insert_text(text, spaces, popup) 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(); + } + } /** @@ -352,6 +371,7 @@ function getCaretPosition(txtarea) // dirty and slow IE way else if(document.selection) { + // get current selection var range = document.selection.createRange(); @@ -365,12 +385,12 @@ function getCaretPosition(txtarea) { 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; From 704174ccb849b1bde81a89ee2576dbb218ce2c4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Sun, 25 Feb 2007 14:00:43 +0000 Subject: [PATCH 115/707] #7760 Removing the accesskey mention, as even browsers on the same platform do not use the same modifier keys to activate them. git-svn-id: file:///svn/phpbb/trunk@7065 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/posting.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/phpBB/language/en/posting.php b/phpBB/language/en/posting.php index 0724918a2e..947ce006fc 100644 --- a/phpBB/language/en/posting.php +++ b/phpBB/language/en/posting.php @@ -40,21 +40,21 @@ $lang = array_merge($lang, array( 'ATTACH_QUOTA_REACHED' => 'Sorry, the board attachment quota has been reached.', 'ATTACH_SIG' => 'Attach a signature (signatures can be altered via the UCP)', - 'BBCODE_B_HELP' => 'Bold text: [b]text[/b] (alt+b)', - 'BBCODE_C_HELP' => 'Code display: [code]code[/code] (alt+c)', + 'BBCODE_B_HELP' => 'Bold text: [b]text[/b]', + 'BBCODE_C_HELP' => 'Code display: [code]code[/code]', 'BBCODE_E_HELP' => 'List: Add list element', 'BBCODE_F_HELP' => 'Font size: [size=x-small]small text[/size]', 'BBCODE_IS_OFF' => '%sBBCode%s is OFF', 'BBCODE_IS_ON' => '%sBBCode%s is ON', - 'BBCODE_I_HELP' => 'Italic text: [i]text[/i] (alt+i)', - 'BBCODE_L_HELP' => 'List: [list]text[/list] (alt+l)', - 'BBCODE_O_HELP' => 'Ordered list: [list=]text[/list] (alt+o)', - 'BBCODE_P_HELP' => 'Insert image: [img]http://image_url[/img] (alt+p)', - 'BBCODE_Q_HELP' => 'Quote text: [quote]text[/quote] (alt+q)', + 'BBCODE_I_HELP' => 'Italic text: [i]text[/i]', + 'BBCODE_L_HELP' => 'List: [list]text[/list]', + 'BBCODE_O_HELP' => 'Ordered list: [list=]text[/list]', + 'BBCODE_P_HELP' => 'Insert image: [img]http://image_url[/img]', + 'BBCODE_Q_HELP' => 'Quote text: [quote]text[/quote]', 'BBCODE_S_HELP' => 'Font color: [color=red]text[/color] Tip: you can also use color=#FF0000', - 'BBCODE_U_HELP' => 'Underline text: [u]text[/u] (alt+u)', - 'BBCODE_W_HELP' => 'Insert URL: [url]http://url[/url] or [url=http://url]URL text[/url] (alt+w)', - 'BBCODE_D_HELP' => 'Flash: [flash=width,height]http://url[/flash] (alt+d)', + 'BBCODE_U_HELP' => 'Underline text: [u]text[/u]', + 'BBCODE_W_HELP' => 'Insert URL: [url]http://url[/url] or [url=http://url]URL text[/url]', + 'BBCODE_D_HELP' => 'Flash: [flash=width,height]http://url[/flash]', 'BUMP_ERROR' => 'You cannot bump this topic so soon after the last post.', 'CANNOT_DELETE_REPLIED' => 'Sorry but you may only delete posts which have not been replied to.', From bf4b0e9ed4b63d87611d975e311a7f48d73919c8 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 25 Feb 2007 14:05:39 +0000 Subject: [PATCH 116/707] #8332 git-svn-id: file:///svn/phpbb/trunk@7066 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_admin.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index b63669e186..074d8456be 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -516,12 +516,13 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s { $where_ids = array($where_ids); } - $where_clause = $db->sql_in_set($where_type, $where_ids); - } - if (!sizeof($where_ids)) - { - return array('topics' => 0, 'posts' => 0); + if (!sizeof($where_ids)) + { + return array('topics' => 0, 'posts' => 0); + } + + $where_clause = $db->sql_in_set($where_type, $where_ids); } $return = array( From 2716e9f7ff8fa26d14014907bf680daea7d3db9a Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 25 Feb 2007 14:10:11 +0000 Subject: [PATCH 117/707] #8330 git-svn-id: file:///svn/phpbb/trunk@7067 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/install.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index e400a1376e..86628ce0ee 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -219,7 +219,7 @@ $lang = array_merge($lang, array( // mbstring 'MBSTRING_CHECK' => 'mbstring extension check', - 'MBSTRING_CHECK_EXPLAIN' => 'mbstring is a PHP extension that provides multibyte string functions. Certain features of mbstring are not compatible with phpBB and must be disabled.', + 'MBSTRING_CHECK_EXPLAIN' => 'Required - mbstring is a PHP extension that provides multibyte string functions. Certain features of mbstring are not compatible with phpBB and must be disabled.', 'MBSTRING_FUNC_OVERLOAD' => 'Function overloading', 'MBSTRING_FUNC_OVERLOAD_EXPLAIN' => 'mbstring.func_overload must be set to either 0 or 4', 'MBSTRING_ENCODING_TRANSLATION' => 'Transparent character encoding', From 5a720f7fa11d9e496d64a52197a0ec3be4dbf96f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Sun, 25 Feb 2007 14:19:10 +0000 Subject: [PATCH 118/707] #7924 git-svn-id: file:///svn/phpbb/trunk@7068 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/ucp/ucp_profile.php | 6 ++++-- phpBB/styles/subSilver/template/ucp_profile_avatar.html | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php index e730368e20..f992191127 100644 --- a/phpBB/includes/ucp/ucp_profile.php +++ b/phpBB/includes/ucp/ucp_profile.php @@ -490,7 +490,7 @@ class ucp_profile case 'avatar': - $display_gallery = (isset($_POST['display_gallery'])) ? true : false; + $display_gallery = request_var('display_gallery', '0'); $avatar_select = basename(request_var('avatar_select', '')); $category = basename(request_var('category', '')); @@ -533,7 +533,9 @@ class ucp_profile 'ERROR' => (sizeof($error)) ? implode('
', $error) : '', 'AVATAR' => $avatar_img, 'AVATAR_SIZE' => $config['avatar_filesize'], - + + 'U_GALLERY' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=profile&mode=avatar&display_gallery=1'), + 'S_FORM_ENCTYPE' => ($can_upload) ? ' enctype="multipart/form-data"' : '', 'L_AVATAR_EXPLAIN' => sprintf($user->lang['AVATAR_EXPLAIN'], $config['avatar_max_width'], $config['avatar_max_height'], round($config['avatar_filesize'] / 1024)),) diff --git a/phpBB/styles/subSilver/template/ucp_profile_avatar.html b/phpBB/styles/subSilver/template/ucp_profile_avatar.html index fb6d3e25f4..b96bf574e9 100644 --- a/phpBB/styles/subSilver/template/ucp_profile_avatar.html +++ b/phpBB/styles/subSilver/template/ucp_profile_avatar.html @@ -41,7 +41,7 @@
- + @@ -50,7 +50,7 @@ - + - + From 994ebd890c7586cd702299e28fd0def4eb2b94cf Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 26 Feb 2007 13:57:28 +0000 Subject: [PATCH 139/707] #8282 git-svn-id: file:///svn/phpbb/trunk@7089 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 1 + 1 file changed, 1 insertion(+) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index b9e9716743..b7e6933ae0 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -1894,6 +1894,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa $autologin = (!empty($_POST['autologin'])) ? true : false; $viewonline = (!empty($_POST['viewonline'])) ? 0 : 1; $admin = ($admin) ? 1 : 0; + $viewonline = ($admin) ? $user->data['session_viewonline'] : $viewonline; // Check if the supplied username is equal to the one stored within the database if re-authenticating if ($admin && utf8_clean_string($username) != utf8_clean_string($user->data['username'])) From 5eea81261f9d7b4d4fbd6627ad61a6eb166f5f1f Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Tue, 27 Feb 2007 01:00:52 +0000 Subject: [PATCH 140/707] "Reintroducing" S_CONTENT_DIR_LEFT & S_CONTENT_DIR_RIGHT as S_CONTENT_FLOW_BEGIN & S_CONTENT_FLOW_END, but rather than taking values from ./language/xx/common.php (which often got translated when not needed, eg: to French, or just plain not used at all, swapping left=>right and right=>left in RTL mode). We now enumerate left/right-right/left-ness by checking the directionality (S_CONTENT_DIRECTION) that is set within common.php Or better still! Template/Style authors should stop hardcoding alignments/floats and put everything into the CSS, in which case LTR/RTL changes can be done very cleanly and sanely by prefexing specific rules with the .ltr/.rtl class. git-svn-id: file:///svn/phpbb/trunk@7090 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index b7e6933ae0..04a2e20dce 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -3750,6 +3750,8 @@ function page_header($page_title = '', $display_online_list = true) 'S_USER_BROWSER' => (isset($user->data['session_browser'])) ? $user->data['session_browser'] : $user->lang['UNKNOWN_BROWSER'], 'S_USERNAME' => $user->data['username'], 'S_CONTENT_DIRECTION' => $user->lang['DIRECTION'], + 'S_CONTENT_FLOW_BEGIN' => ($user->lang['DIRECTION'] == 'ltr') ? 'left' : 'right', + 'S_CONTENT_FLOW_END' => ($user->lang['DIRECTION'] == 'ltr') ? 'right' : 'left', 'S_CONTENT_ENCODING' => 'UTF-8', 'S_TIMEZONE' => ($user->data['user_dst'] || ($user->data['user_id'] == ANONYMOUS && $config['board_dst'])) ? sprintf($user->lang['ALL_TIMES'], $user->lang['tz'][$tz], $user->lang['tz']['dst']) : sprintf($user->lang['ALL_TIMES'], $user->lang['tz'][$tz], ''), 'S_DISPLAY_ONLINE_LIST' => ($l_online_time) ? 1 : 0, From 4e6d6fd9b6dc25e7bafbf696b274470c17a98399 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Tue, 27 Feb 2007 01:25:35 +0000 Subject: [PATCH 141/707] #7630 #7658 #8360 ... and all other RTL/LTR issues, probably, if this commited fix works as it should. Did I ever mention how I really hate HTML tables for layout? :P git-svn-id: file:///svn/phpbb/trunk@7091 89ea8834-ac86-4346-8a33-228a782c2dd0 --- .../subSilver/template/confirm_body.html | 2 +- phpBB/styles/subSilver/template/faq_body.html | 2 +- .../subSilver/template/forumlist_body.html | 6 +-- .../styles/subSilver/template/login_body.html | 6 +-- .../subSilver/template/login_forum.html | 2 +- .../styles/subSilver/template/mcp_footer.html | 6 +-- .../styles/subSilver/template/mcp_forum.html | 8 ++-- .../styles/subSilver/template/mcp_front.html | 4 +- .../subSilver/template/mcp_notes_user.html | 8 ++-- phpBB/styles/subSilver/template/mcp_post.html | 2 +- .../styles/subSilver/template/mcp_queue.html | 6 +-- .../subSilver/template/mcp_reports.html | 8 ++-- .../styles/subSilver/template/mcp_topic.html | 2 +- .../subSilver/template/mcp_viewlogs.html | 4 +- .../subSilver/template/mcp_warn_list.html | 2 +- .../subSilver/template/mcp_warn_user.html | 6 +-- .../subSilver/template/memberlist_body.html | 14 +++--- .../subSilver/template/memberlist_email.html | 2 +- .../template/memberlist_leaders.html | 2 +- .../subSilver/template/memberlist_view.html | 44 +++++++++---------- .../subSilver/template/overall_header.html | 8 ++-- .../subSilver/template/posting_body.html | 2 +- .../subSilver/template/posting_buttons.html | 4 +- .../subSilver/template/posting_review.html | 2 +- .../template/posting_topic_review.html | 4 +- .../subSilver/template/report_body.html | 2 +- .../subSilver/template/search_body.html | 2 +- .../subSilver/template/search_results.html | 12 ++--- .../subSilver/template/ucp_attachments.html | 6 +-- .../styles/subSilver/template/ucp_footer.html | 2 +- .../subSilver/template/ucp_groups_manage.html | 6 +-- .../template/ucp_groups_membership.html | 2 +- .../styles/subSilver/template/ucp_header.html | 2 +- .../template/ucp_main_bookmarks.html | 6 +-- .../subSilver/template/ucp_main_drafts.html | 6 +-- .../subSilver/template/ucp_main_front.html | 10 ++--- .../template/ucp_main_subscribed.html | 8 ++-- .../subSilver/template/ucp_pm_history.html | 6 +-- .../template/ucp_pm_message_footer.html | 6 +-- .../template/ucp_pm_message_header.html | 4 +- .../subSilver/template/ucp_pm_options.html | 24 +++++----- .../subSilver/template/ucp_pm_viewfolder.html | 8 ++-- .../template/ucp_pm_viewmessage.html | 4 +- .../template/ucp_pm_viewmessage_print.html | 4 +- .../template/ucp_profile_signature.html | 2 +- .../subSilver/template/viewforum_body.html | 16 +++---- .../subSilver/template/viewonline_body.html | 8 ++-- .../subSilver/template/viewtopic_body.html | 26 +++++------ .../subSilver/template/viewtopic_print.html | 4 +- 49 files changed, 166 insertions(+), 166 deletions(-) diff --git a/phpBB/styles/subSilver/template/confirm_body.html b/phpBB/styles/subSilver/template/confirm_body.html index 27d9aa0444..92c2481c2d 100644 --- a/phpBB/styles/subSilver/template/confirm_body.html +++ b/phpBB/styles/subSilver/template/confirm_body.html @@ -23,6 +23,6 @@
-
+
\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/faq_body.html b/phpBB/styles/subSilver/template/faq_body.html index 5d2656543b..9e324b4fd2 100644 --- a/phpBB/styles/subSilver/template/faq_body.html +++ b/phpBB/styles/subSilver/template/faq_body.html @@ -58,6 +58,6 @@
-
+
\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/forumlist_body.html b/phpBB/styles/subSilver/template/forumlist_body.html index 90e5e1e0cd..bc335fad45 100644 --- a/phpBB/styles/subSilver/template/forumlist_body.html +++ b/phpBB/styles/subSilver/template/forumlist_body.html @@ -1,6 +1,6 @@
 {L_BACK_TO_TOP}
{L_BACK_TO_TOP}{L_BACK_TO_TOP}
{L_AVATAR_GALLERY}: {L_DISPLAY_GALLERY}
{L_AVATAR_GALLERY}
{L_AVATAR_CATEGORY}:   {L_AVATAR_CATEGORY}:  
From 83059bd4fc81e4d26a199d1b5a72da5dfe83a17d Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 25 Feb 2007 17:02:13 +0000 Subject: [PATCH 119/707] bots get the same access as guests for forums having AUTH_ALL in 2.0.x git-svn-id: file:///svn/phpbb/trunk@7069 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/convertors/functions_phpbb20.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index 2f1c3025b8..c1bb476b60 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -812,6 +812,7 @@ function phpbb_convert_authentication($mode) // AUTH_ALL case AUTH_ALL: mass_auth('group', $new_forum_id, 'guests', $new_acl, ACL_YES); + mass_auth('group', $new_forum_id, 'bots', $new_acl, ACL_YES); mass_auth('group', $new_forum_id, 'registered', $new_acl, ACL_YES); break; @@ -981,7 +982,7 @@ function phpbb_convert_authentication($mode) global $auth; - // Let us see if guests/registered users have access to these forums... + // Let us see which groups have access to these forums... foreach ($parent_forums as $row) { // Get the children From 71d2d35c1ee8d339757428e5edcf91a0b8b5c35e Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 25 Feb 2007 17:17:19 +0000 Subject: [PATCH 120/707] ok, i am not sure if this change is doing what is intended (forcing at least one row to be processed) - please test. :) (i am currently not able to) git-svn-id: file:///svn/phpbb/trunk@7070 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/install_convert.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 49ce3689bd..49f21548ca 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -1155,7 +1155,7 @@ class install_convert extends module $counting = -1; $batch_time = 0; - while (($counting === -1 || $counting >= $convert->batch_size) && still_on_time()) + while ($counting === -1 || ($counting >= $convert->batch_size && still_on_time())) { $old_current_table = $current_table; @@ -1207,7 +1207,7 @@ class install_convert extends module } // Now handle the rows until time is over or no more rows to process... - while (still_on_time()) + while ($counting === 0 || still_on_time()) { $convert_row = $src_db->sql_fetchrow($___result); From bca8900db4f2e415e199ca0fe8bbdc6266c2877c Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 25 Feb 2007 17:51:44 +0000 Subject: [PATCH 121/707] rewording the disallowed username language variable - related to #7614 git-svn-id: file:///svn/phpbb/trunk@7071 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/ucp.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index 4e9949482c..d4b79162cb 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -441,7 +441,7 @@ $lang = array_merge($lang, array( 'USERNAME_LETTER_NUM_SPACERS_EXPLAIN'=> 'Username must be between %1$d and %2$d chars long and use letter, number, space or -+_[] characters.', 'USERNAME_CHARS_ANY_EXPLAIN' => 'Length must be between %1$d and %2$d characters.', 'USERNAME_TAKEN_USERNAME' => 'The username you entered is already in use, please select an alternative.', - 'USERNAME_DISALLOWED_USERNAME' => 'The username you entered has been banned.', + 'USERNAME_DISALLOWED_USERNAME' => 'The username you entered has been disallowed or contains a disallowed word. Please choose a different name.', 'USER_NOT_FOUND_OR_INACTIVE' => 'The usernames you specified could either not be found or are not activated users.', 'VIEW_AVATARS' => 'Display avatars', From 8494211a129f0dabe5747c6915871e40fdced8b2 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 25 Feb 2007 18:09:21 +0000 Subject: [PATCH 122/707] - small bug git-svn-id: file:///svn/phpbb/trunk@7072 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 363a90e5d8..26c3e6ccac 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -372,6 +372,16 @@ switch ($db->sql_layer) break; case 'mysql4': + if (version_compare($db->mysql_version, '4.1.3', '>=')) + { + $map_dbms = 'mysql_41'; + } + else + { + $map_dbms = 'mysql_40'; + } + break; + case 'mysqli': $map_dbms = 'mysql_41'; break; From 409904c8788949a765a591673003f511f6bf8ed0 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 25 Feb 2007 21:03:14 +0000 Subject: [PATCH 123/707] #7882 git-svn-id: file:///svn/phpbb/trunk@7073 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/develop/create_schema_files.php | 30 +- phpBB/install/schemas/firebird_schema.sql | 2 +- phpBB/install/schemas/mssql_schema.sql | 2 +- phpBB/install/schemas/mysql_40_schema.sql | 568 +++++++++++----------- phpBB/install/schemas/mysql_41_schema.sql | 2 +- phpBB/install/schemas/oracle_schema.sql | 5 +- phpBB/install/schemas/postgres_schema.sql | 2 +- phpBB/install/schemas/sqlite_schema.sql | 2 +- 8 files changed, 306 insertions(+), 307 deletions(-) diff --git a/phpBB/develop/create_schema_files.php b/phpBB/develop/create_schema_files.php index f1a9dd1830..eede9a2bd1 100644 --- a/phpBB/develop/create_schema_files.php +++ b/phpBB/develop/create_schema_files.php @@ -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)', ), @@ -1903,7 +1903,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'), ), ); diff --git a/phpBB/install/schemas/firebird_schema.sql b/phpBB/install/schemas/firebird_schema.sql index 9ab8594c01..6fb0318cf2 100644 --- a/phpBB/install/schemas/firebird_schema.sql +++ b/phpBB/install/schemas/firebird_schema.sql @@ -1437,7 +1437,7 @@ ALTER TABLE phpbb_users ADD PRIMARY KEY (user_id);; CREATE INDEX phpbb_users_user_birthday ON phpbb_users(user_birthday);; CREATE INDEX phpbb_users_user_email_hash ON phpbb_users(user_email_hash);; CREATE INDEX phpbb_users_user_type ON phpbb_users(user_type);; -CREATE INDEX phpbb_users_username_clean ON phpbb_users(username_clean);; +CREATE UNIQUE INDEX phpbb_users_username_clean ON phpbb_users(username_clean);; CREATE GENERATOR phpbb_users_gen;; SET GENERATOR phpbb_users_gen TO 0;; diff --git a/phpBB/install/schemas/mssql_schema.sql b/phpBB/install/schemas/mssql_schema.sql index 9d4eb55505..e6da562358 100644 --- a/phpBB/install/schemas/mssql_schema.sql +++ b/phpBB/install/schemas/mssql_schema.sql @@ -1691,7 +1691,7 @@ GO CREATE INDEX [user_type] ON [phpbb_users]([user_type]) ON [PRIMARY] GO -CREATE INDEX [username_clean] ON [phpbb_users]([username_clean]) ON [PRIMARY] +CREATE UNIQUE INDEX [username_clean] ON [phpbb_users]([username_clean]) ON [PRIMARY] GO diff --git a/phpBB/install/schemas/mysql_40_schema.sql b/phpBB/install/schemas/mysql_40_schema.sql index 2b3022a875..37eaa095ce 100644 --- a/phpBB/install/schemas/mysql_40_schema.sql +++ b/phpBB/install/schemas/mysql_40_schema.sql @@ -12,12 +12,12 @@ CREATE TABLE phpbb_attachments ( in_message tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, poster_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, is_orphan tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, - physical_filename varchar(255) DEFAULT '' NOT NULL, - real_filename varchar(255) DEFAULT '' NOT NULL, + physical_filename varbinary(255) DEFAULT '' NOT NULL, + real_filename varbinary(255) DEFAULT '' NOT NULL, download_count mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - attach_comment text NOT NULL, - extension varchar(100) DEFAULT '' NOT NULL, - mimetype varchar(100) DEFAULT '' NOT NULL, + attach_comment blob DEFAULT '' NOT NULL, + extension varbinary(100) DEFAULT '' NOT NULL, + mimetype varbinary(100) DEFAULT '' NOT NULL, filesize int(20) UNSIGNED DEFAULT '0' NOT NULL, filetime int(11) UNSIGNED DEFAULT '0' NOT NULL, thumbnail tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, @@ -45,7 +45,7 @@ CREATE TABLE phpbb_acl_groups ( # Table: 'phpbb_acl_options' CREATE TABLE phpbb_acl_options ( auth_option_id mediumint(8) UNSIGNED NOT NULL auto_increment, - auth_option varchar(50) DEFAULT '' NOT NULL, + auth_option varbinary(50) DEFAULT '' NOT NULL, is_global tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, is_local tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, founder_only tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, @@ -57,9 +57,9 @@ CREATE TABLE phpbb_acl_options ( # Table: 'phpbb_acl_roles' CREATE TABLE phpbb_acl_roles ( role_id mediumint(8) UNSIGNED NOT NULL auto_increment, - role_name text NOT NULL, - role_description text NOT NULL, - role_type varchar(10) DEFAULT '' NOT NULL, + role_name blob DEFAULT '' NOT NULL, + role_description blob DEFAULT '' NOT NULL, + role_type varbinary(10) DEFAULT '' NOT NULL, role_order smallint(4) UNSIGNED DEFAULT '0' NOT NULL, PRIMARY KEY (role_id), KEY role_type (role_type), @@ -92,17 +92,17 @@ CREATE TABLE phpbb_acl_users ( CREATE TABLE phpbb_banlist ( ban_id mediumint(8) UNSIGNED NOT NULL auto_increment, ban_userid mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - ban_ip varchar(40) DEFAULT '' NOT NULL, - ban_email text NOT NULL, + ban_ip varbinary(40) DEFAULT '' NOT NULL, + ban_email blob DEFAULT '' NOT NULL, ban_start int(11) UNSIGNED DEFAULT '0' NOT NULL, ban_end int(11) UNSIGNED DEFAULT '0' NOT NULL, ban_exclude tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - ban_reason text NOT NULL, - ban_give_reason text NOT NULL, + ban_reason blob DEFAULT '' NOT NULL, + ban_give_reason blob DEFAULT '' NOT NULL, PRIMARY KEY (ban_id), KEY ban_end (ban_end), KEY ban_user (ban_userid, ban_exclude), - KEY ban_email (ban_email(255), ban_exclude), + KEY ban_email (ban_email, ban_exclude), KEY ban_ip (ban_ip, ban_exclude) ); @@ -110,15 +110,15 @@ CREATE TABLE phpbb_banlist ( # Table: 'phpbb_bbcodes' CREATE TABLE phpbb_bbcodes ( bbcode_id tinyint(3) DEFAULT '0' NOT NULL, - bbcode_tag varchar(16) DEFAULT '' NOT NULL, - bbcode_helpline text NOT NULL, + bbcode_tag varbinary(16) DEFAULT '' NOT NULL, + bbcode_helpline blob DEFAULT '' NOT NULL, display_on_posting tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - bbcode_match text NOT NULL, - bbcode_tpl mediumtext NOT NULL, - first_pass_match mediumtext NOT NULL, - first_pass_replace mediumtext NOT NULL, - second_pass_match mediumtext NOT NULL, - second_pass_replace mediumtext NOT NULL, + bbcode_match blob DEFAULT '' NOT NULL, + bbcode_tpl mediumblob DEFAULT '' NOT NULL, + first_pass_match mediumblob DEFAULT '' NOT NULL, + first_pass_replace mediumblob DEFAULT '' NOT NULL, + second_pass_match mediumblob DEFAULT '' NOT NULL, + second_pass_replace mediumblob DEFAULT '' NOT NULL, PRIMARY KEY (bbcode_id), KEY display_on_post (display_on_posting) ); @@ -138,10 +138,10 @@ CREATE TABLE phpbb_bookmarks ( CREATE TABLE phpbb_bots ( bot_id mediumint(8) UNSIGNED NOT NULL auto_increment, bot_active tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, - bot_name text NOT NULL, + bot_name blob DEFAULT '' NOT NULL, user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - bot_agent varchar(255) DEFAULT '' NOT NULL, - bot_ip varchar(255) DEFAULT '' NOT NULL, + bot_agent varbinary(255) DEFAULT '' NOT NULL, + bot_ip varbinary(255) DEFAULT '' NOT NULL, PRIMARY KEY (bot_id), KEY bot_active (bot_active) ); @@ -149,8 +149,8 @@ CREATE TABLE phpbb_bots ( # Table: 'phpbb_config' CREATE TABLE phpbb_config ( - config_name varchar(255) DEFAULT '' NOT NULL, - config_value text NOT NULL, + config_name varbinary(255) DEFAULT '' NOT NULL, + config_value blob DEFAULT '' NOT NULL, is_dynamic tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, PRIMARY KEY (config_name), KEY is_dynamic (is_dynamic) @@ -159,10 +159,10 @@ CREATE TABLE phpbb_config ( # Table: 'phpbb_confirm' CREATE TABLE phpbb_confirm ( - confirm_id char(32) DEFAULT '' NOT NULL, - session_id char(32) DEFAULT '' NOT NULL, + confirm_id binary(32) DEFAULT '' NOT NULL, + session_id binary(32) DEFAULT '' NOT NULL, confirm_type tinyint(3) DEFAULT '0' NOT NULL, - code varchar(8) DEFAULT '' NOT NULL, + code varbinary(8) DEFAULT '' NOT NULL, seed int(10) UNSIGNED DEFAULT '0' NOT NULL, PRIMARY KEY (session_id, confirm_id), KEY confirm_type (confirm_type) @@ -172,7 +172,7 @@ CREATE TABLE phpbb_confirm ( # Table: 'phpbb_disallow' CREATE TABLE phpbb_disallow ( disallow_id mediumint(8) UNSIGNED NOT NULL auto_increment, - disallow_username text NOT NULL, + disallow_username blob DEFAULT '' NOT NULL, PRIMARY KEY (disallow_id) ); @@ -184,8 +184,8 @@ CREATE TABLE phpbb_drafts ( topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, save_time int(11) UNSIGNED DEFAULT '0' NOT NULL, - draft_subject text NOT NULL, - draft_message mediumtext NOT NULL, + draft_subject blob DEFAULT '' NOT NULL, + draft_message mediumblob DEFAULT '' NOT NULL, PRIMARY KEY (draft_id), KEY save_time (save_time) ); @@ -195,7 +195,7 @@ CREATE TABLE phpbb_drafts ( CREATE TABLE phpbb_extensions ( extension_id mediumint(8) UNSIGNED NOT NULL auto_increment, group_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - extension varchar(100) DEFAULT '' NOT NULL, + extension varbinary(100) DEFAULT '' NOT NULL, PRIMARY KEY (extension_id) ); @@ -203,13 +203,13 @@ CREATE TABLE phpbb_extensions ( # Table: 'phpbb_extension_groups' CREATE TABLE phpbb_extension_groups ( group_id mediumint(8) UNSIGNED NOT NULL auto_increment, - group_name text NOT NULL, + group_name blob DEFAULT '' NOT NULL, cat_id tinyint(2) DEFAULT '0' NOT NULL, allow_group tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, download_mode tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, - upload_icon varchar(255) DEFAULT '' NOT NULL, + upload_icon varbinary(255) DEFAULT '' NOT NULL, max_filesize int(20) UNSIGNED DEFAULT '0' NOT NULL, - allowed_forums text NOT NULL, + allowed_forums blob DEFAULT '' NOT NULL, allow_in_pm tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, PRIMARY KEY (group_id) ); @@ -221,21 +221,21 @@ CREATE TABLE phpbb_forums ( parent_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, left_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, right_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - forum_parents mediumtext NOT NULL, - forum_name text NOT NULL, - forum_desc text NOT NULL, - forum_desc_bitfield varchar(255) DEFAULT '' NOT NULL, + forum_parents mediumblob DEFAULT '' NOT NULL, + forum_name blob DEFAULT '' NOT NULL, + forum_desc blob DEFAULT '' NOT NULL, + forum_desc_bitfield varbinary(255) DEFAULT '' NOT NULL, forum_desc_options int(11) UNSIGNED DEFAULT '7' NOT NULL, - forum_desc_uid varchar(5) DEFAULT '' NOT NULL, - forum_link text NOT NULL, - forum_password varchar(120) DEFAULT '' NOT NULL, + forum_desc_uid varbinary(5) DEFAULT '' NOT NULL, + forum_link blob DEFAULT '' NOT NULL, + forum_password varbinary(120) DEFAULT '' NOT NULL, forum_style tinyint(4) DEFAULT '0' NOT NULL, - forum_image varchar(255) DEFAULT '' NOT NULL, - forum_rules text NOT NULL, - forum_rules_link text NOT NULL, - forum_rules_bitfield varchar(255) DEFAULT '' NOT NULL, + forum_image varbinary(255) DEFAULT '' NOT NULL, + forum_rules blob DEFAULT '' NOT NULL, + forum_rules_link blob DEFAULT '' NOT NULL, + forum_rules_bitfield varbinary(255) DEFAULT '' NOT NULL, forum_rules_options int(11) UNSIGNED DEFAULT '7' NOT NULL, - forum_rules_uid varchar(5) DEFAULT '' NOT NULL, + forum_rules_uid varbinary(5) DEFAULT '' NOT NULL, forum_topics_per_page tinyint(4) DEFAULT '0' NOT NULL, forum_type tinyint(4) DEFAULT '0' NOT NULL, forum_status tinyint(4) DEFAULT '0' NOT NULL, @@ -244,10 +244,10 @@ CREATE TABLE phpbb_forums ( forum_topics_real mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, forum_last_post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, forum_last_poster_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - forum_last_post_subject text NOT NULL, + forum_last_post_subject blob DEFAULT '' NOT NULL, forum_last_post_time int(11) UNSIGNED DEFAULT '0' NOT NULL, - forum_last_poster_name text NOT NULL, - forum_last_poster_colour varchar(6) DEFAULT '' NOT NULL, + forum_last_poster_name blob DEFAULT '' NOT NULL, + forum_last_poster_colour varbinary(6) DEFAULT '' NOT NULL, forum_flags tinyint(4) DEFAULT '32' NOT NULL, display_on_index tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, enable_indexing tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, @@ -267,7 +267,7 @@ CREATE TABLE phpbb_forums ( CREATE TABLE phpbb_forums_access ( forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - session_id char(32) DEFAULT '' NOT NULL, + session_id binary(32) DEFAULT '' NOT NULL, PRIMARY KEY (forum_id, user_id, session_id) ); @@ -297,18 +297,18 @@ CREATE TABLE phpbb_groups ( group_id mediumint(8) UNSIGNED NOT NULL auto_increment, group_type tinyint(4) DEFAULT '1' NOT NULL, group_founder_manage tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - group_name text NOT NULL, - group_desc text NOT NULL, - group_desc_bitfield varchar(255) DEFAULT '' NOT NULL, + group_name blob DEFAULT '' NOT NULL, + group_desc blob DEFAULT '' NOT NULL, + group_desc_bitfield varbinary(255) DEFAULT '' NOT NULL, group_desc_options int(11) UNSIGNED DEFAULT '7' NOT NULL, - group_desc_uid varchar(5) DEFAULT '' NOT NULL, + group_desc_uid varbinary(5) DEFAULT '' NOT NULL, group_display tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - group_avatar varchar(255) DEFAULT '' NOT NULL, + group_avatar varbinary(255) DEFAULT '' NOT NULL, group_avatar_type tinyint(4) DEFAULT '0' NOT NULL, group_avatar_width tinyint(4) DEFAULT '0' NOT NULL, group_avatar_height tinyint(4) DEFAULT '0' NOT NULL, group_rank mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - group_colour varchar(6) DEFAULT '' NOT NULL, + group_colour varbinary(6) DEFAULT '' NOT NULL, group_sig_chars mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, group_receive_pm tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, group_message_limit mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, @@ -321,7 +321,7 @@ CREATE TABLE phpbb_groups ( # Table: 'phpbb_icons' CREATE TABLE phpbb_icons ( icons_id mediumint(8) UNSIGNED NOT NULL auto_increment, - icons_url varchar(255) DEFAULT '' NOT NULL, + icons_url varbinary(255) DEFAULT '' NOT NULL, icons_width tinyint(4) DEFAULT '0' NOT NULL, icons_height tinyint(4) DEFAULT '0' NOT NULL, icons_order mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, @@ -334,11 +334,11 @@ CREATE TABLE phpbb_icons ( # Table: 'phpbb_lang' CREATE TABLE phpbb_lang ( lang_id tinyint(4) NOT NULL auto_increment, - lang_iso varchar(30) DEFAULT '' NOT NULL, - lang_dir varchar(30) DEFAULT '' NOT NULL, - lang_english_name text NOT NULL, - lang_local_name text NOT NULL, - lang_author text NOT NULL, + lang_iso varbinary(30) DEFAULT '' NOT NULL, + lang_dir varbinary(30) DEFAULT '' NOT NULL, + lang_english_name blob DEFAULT '' NOT NULL, + lang_local_name blob DEFAULT '' NOT NULL, + lang_author blob DEFAULT '' NOT NULL, PRIMARY KEY (lang_id), KEY lang_iso (lang_iso) ); @@ -352,10 +352,10 @@ CREATE TABLE phpbb_log ( forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, reportee_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - log_ip varchar(40) DEFAULT '' NOT NULL, + log_ip varbinary(40) DEFAULT '' NOT NULL, log_time int(11) UNSIGNED DEFAULT '0' NOT NULL, - log_operation text NOT NULL, - log_data mediumtext NOT NULL, + log_operation blob DEFAULT '' NOT NULL, + log_data mediumblob DEFAULT '' NOT NULL, PRIMARY KEY (log_id), KEY log_type (log_type), KEY forum_id (forum_id), @@ -369,9 +369,9 @@ CREATE TABLE phpbb_log ( CREATE TABLE phpbb_moderator_cache ( forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - username text NOT NULL, + username blob DEFAULT '' NOT NULL, group_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - group_name text NOT NULL, + group_name blob DEFAULT '' NOT NULL, display_on_index tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, KEY disp_idx (display_on_index), KEY forum_id (forum_id) @@ -383,14 +383,14 @@ CREATE TABLE phpbb_modules ( module_id mediumint(8) UNSIGNED NOT NULL auto_increment, module_enabled tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, module_display tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, - module_basename varchar(255) DEFAULT '' NOT NULL, - module_class varchar(10) DEFAULT '' NOT NULL, + module_basename varbinary(255) DEFAULT '' NOT NULL, + module_class varbinary(10) DEFAULT '' NOT NULL, parent_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, left_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, right_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - module_langname varchar(255) DEFAULT '' NOT NULL, - module_mode varchar(255) DEFAULT '' NOT NULL, - module_auth varchar(255) DEFAULT '' NOT NULL, + module_langname varbinary(255) DEFAULT '' NOT NULL, + module_mode varbinary(255) DEFAULT '' NOT NULL, + module_auth varbinary(255) DEFAULT '' NOT NULL, PRIMARY KEY (module_id), KEY left_right_id (left_id, right_id), KEY module_enabled (module_enabled), @@ -402,7 +402,7 @@ CREATE TABLE phpbb_modules ( CREATE TABLE phpbb_poll_options ( poll_option_id tinyint(4) DEFAULT '0' NOT NULL, topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - poll_option_text text NOT NULL, + poll_option_text blob DEFAULT '' NOT NULL, poll_option_total mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, KEY poll_opt_id (poll_option_id), KEY topic_id (topic_id) @@ -414,7 +414,7 @@ CREATE TABLE phpbb_poll_votes ( topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, poll_option_id tinyint(4) DEFAULT '0' NOT NULL, vote_user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - vote_user_ip varchar(40) DEFAULT '' NOT NULL, + vote_user_ip varbinary(40) DEFAULT '' NOT NULL, KEY topic_id (topic_id), KEY vote_user_id (vote_user_id), KEY vote_user_ip (vote_user_ip) @@ -428,7 +428,7 @@ CREATE TABLE phpbb_posts ( forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, poster_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, icon_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - poster_ip varchar(40) DEFAULT '' NOT NULL, + poster_ip varbinary(40) DEFAULT '' NOT NULL, post_time int(11) UNSIGNED DEFAULT '0' NOT NULL, post_approved tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, post_reported tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, @@ -436,16 +436,16 @@ CREATE TABLE phpbb_posts ( enable_smilies tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, enable_magic_url tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, enable_sig tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, - post_username text NOT NULL, - post_subject text NOT NULL, - post_text mediumtext NOT NULL, - post_checksum varchar(32) DEFAULT '' NOT NULL, + post_username blob DEFAULT '' NOT NULL, + post_subject blob DEFAULT '' NOT NULL, + post_text mediumblob DEFAULT '' NOT NULL, + post_checksum varbinary(32) DEFAULT '' NOT NULL, post_attachment tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - bbcode_bitfield varchar(255) DEFAULT '' NOT NULL, - bbcode_uid varchar(5) DEFAULT '' NOT NULL, + bbcode_bitfield varbinary(255) DEFAULT '' NOT NULL, + bbcode_uid varbinary(5) DEFAULT '' NOT NULL, post_postcount tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, post_edit_time int(11) UNSIGNED DEFAULT '0' NOT NULL, - post_edit_reason text NOT NULL, + post_edit_reason blob DEFAULT '' NOT NULL, post_edit_user mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, post_edit_count smallint(4) UNSIGNED DEFAULT '0' NOT NULL, post_edit_locked tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, @@ -465,23 +465,23 @@ CREATE TABLE phpbb_privmsgs ( root_level mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, author_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, icon_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - author_ip varchar(40) DEFAULT '' NOT NULL, + author_ip varbinary(40) DEFAULT '' NOT NULL, message_time int(11) UNSIGNED DEFAULT '0' NOT NULL, enable_bbcode tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, enable_smilies tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, enable_magic_url tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, enable_sig tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, - message_subject text NOT NULL, - message_text mediumtext NOT NULL, - message_edit_reason text NOT NULL, + message_subject blob DEFAULT '' NOT NULL, + message_text mediumblob DEFAULT '' NOT NULL, + message_edit_reason blob DEFAULT '' NOT NULL, message_edit_user mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, message_attachment tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - bbcode_bitfield varchar(255) DEFAULT '' NOT NULL, - bbcode_uid varchar(5) DEFAULT '' NOT NULL, + bbcode_bitfield varbinary(255) DEFAULT '' NOT NULL, + bbcode_uid varbinary(5) DEFAULT '' NOT NULL, message_edit_time int(11) UNSIGNED DEFAULT '0' NOT NULL, message_edit_count smallint(4) UNSIGNED DEFAULT '0' NOT NULL, - to_address text NOT NULL, - bcc_address text NOT NULL, + to_address blob DEFAULT '' NOT NULL, + bcc_address blob DEFAULT '' NOT NULL, PRIMARY KEY (msg_id), KEY author_ip (author_ip), KEY message_time (message_time), @@ -494,7 +494,7 @@ CREATE TABLE phpbb_privmsgs ( CREATE TABLE phpbb_privmsgs_folder ( folder_id mediumint(8) UNSIGNED NOT NULL auto_increment, user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - folder_name text NOT NULL, + folder_name blob DEFAULT '' NOT NULL, pm_count mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, PRIMARY KEY (folder_id), KEY user_id (user_id) @@ -507,7 +507,7 @@ CREATE TABLE phpbb_privmsgs_rules ( user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, rule_check mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, rule_connection mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - rule_string text NOT NULL, + rule_string blob DEFAULT '' NOT NULL, rule_user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, rule_group_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, rule_action mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, @@ -538,15 +538,15 @@ CREATE TABLE phpbb_privmsgs_to ( # Table: 'phpbb_profile_fields' CREATE TABLE phpbb_profile_fields ( field_id mediumint(8) UNSIGNED NOT NULL auto_increment, - field_name text NOT NULL, + field_name blob DEFAULT '' NOT NULL, field_type tinyint(4) DEFAULT '0' NOT NULL, - field_ident varchar(20) DEFAULT '' NOT NULL, - field_length varchar(20) DEFAULT '' NOT NULL, - field_minlen varchar(255) DEFAULT '' NOT NULL, - field_maxlen varchar(255) DEFAULT '' NOT NULL, - field_novalue text NOT NULL, - field_default_value text NOT NULL, - field_validation varchar(60) DEFAULT '' NOT NULL, + field_ident varbinary(20) DEFAULT '' NOT NULL, + field_length varbinary(20) DEFAULT '' NOT NULL, + field_minlen varbinary(255) DEFAULT '' NOT NULL, + field_maxlen varbinary(255) DEFAULT '' NOT NULL, + field_novalue blob DEFAULT '' NOT NULL, + field_default_value blob DEFAULT '' NOT NULL, + field_validation varbinary(60) DEFAULT '' NOT NULL, field_required tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, field_show_on_reg tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, field_hide tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, @@ -572,7 +572,7 @@ CREATE TABLE phpbb_profile_fields_lang ( lang_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, option_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, field_type tinyint(4) DEFAULT '0' NOT NULL, - lang_value text NOT NULL, + lang_value blob DEFAULT '' NOT NULL, PRIMARY KEY (field_id, lang_id, option_id) ); @@ -581,9 +581,9 @@ CREATE TABLE phpbb_profile_fields_lang ( CREATE TABLE phpbb_profile_lang ( field_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, lang_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - lang_name text NOT NULL, - lang_explain text NOT NULL, - lang_default_value text NOT NULL, + lang_name blob DEFAULT '' NOT NULL, + lang_explain blob DEFAULT '' NOT NULL, + lang_default_value blob DEFAULT '' NOT NULL, PRIMARY KEY (field_id, lang_id) ); @@ -591,10 +591,10 @@ CREATE TABLE phpbb_profile_lang ( # Table: 'phpbb_ranks' CREATE TABLE phpbb_ranks ( rank_id mediumint(8) UNSIGNED NOT NULL auto_increment, - rank_title text NOT NULL, + rank_title blob DEFAULT '' NOT NULL, rank_min mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, rank_special tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - rank_image varchar(255) DEFAULT '' NOT NULL, + rank_image varbinary(255) DEFAULT '' NOT NULL, PRIMARY KEY (rank_id) ); @@ -608,7 +608,7 @@ CREATE TABLE phpbb_reports ( user_notify tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, report_closed tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, report_time int(11) UNSIGNED DEFAULT '0' NOT NULL, - report_text mediumtext NOT NULL, + report_text mediumblob DEFAULT '' NOT NULL, PRIMARY KEY (report_id) ); @@ -616,8 +616,8 @@ CREATE TABLE phpbb_reports ( # Table: 'phpbb_reports_reasons' CREATE TABLE phpbb_reports_reasons ( reason_id smallint(4) UNSIGNED NOT NULL auto_increment, - reason_title text NOT NULL, - reason_description mediumtext NOT NULL, + reason_title blob DEFAULT '' NOT NULL, + reason_description mediumblob DEFAULT '' NOT NULL, reason_order smallint(4) UNSIGNED DEFAULT '0' NOT NULL, PRIMARY KEY (reason_id) ); @@ -625,10 +625,10 @@ CREATE TABLE phpbb_reports_reasons ( # Table: 'phpbb_search_results' CREATE TABLE phpbb_search_results ( - search_key varchar(32) DEFAULT '' NOT NULL, + search_key varbinary(32) DEFAULT '' NOT NULL, search_time int(11) UNSIGNED DEFAULT '0' NOT NULL, - search_keywords mediumtext NOT NULL, - search_authors mediumtext NOT NULL, + search_keywords mediumblob DEFAULT '' NOT NULL, + search_authors mediumblob DEFAULT '' NOT NULL, PRIMARY KEY (search_key) ); @@ -636,10 +636,10 @@ CREATE TABLE phpbb_search_results ( # Table: 'phpbb_search_wordlist' CREATE TABLE phpbb_search_wordlist ( word_id mediumint(8) UNSIGNED NOT NULL auto_increment, - word_text text NOT NULL, + word_text blob DEFAULT '' NOT NULL, word_common tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, PRIMARY KEY (word_id), - UNIQUE wrd_txt (word_text(255)) + UNIQUE wrd_txt (word_text) ); @@ -655,15 +655,15 @@ CREATE TABLE phpbb_search_wordmatch ( # Table: 'phpbb_sessions' CREATE TABLE phpbb_sessions ( - session_id char(32) DEFAULT '' NOT NULL, + session_id binary(32) DEFAULT '' NOT NULL, session_user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, session_last_visit int(11) UNSIGNED DEFAULT '0' NOT NULL, session_start int(11) UNSIGNED DEFAULT '0' NOT NULL, session_time int(11) UNSIGNED DEFAULT '0' NOT NULL, - session_ip varchar(40) DEFAULT '' NOT NULL, - session_browser varchar(150) DEFAULT '' NOT NULL, - session_forwarded_for varchar(255) DEFAULT '' NOT NULL, - session_page text NOT NULL, + session_ip varbinary(40) DEFAULT '' NOT NULL, + session_browser varbinary(150) DEFAULT '' NOT NULL, + session_forwarded_for varbinary(255) DEFAULT '' NOT NULL, + session_page blob DEFAULT '' NOT NULL, session_viewonline tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, session_autologin tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, session_admin tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, @@ -675,9 +675,9 @@ CREATE TABLE phpbb_sessions ( # Table: 'phpbb_sessions_keys' CREATE TABLE phpbb_sessions_keys ( - key_id char(32) DEFAULT '' NOT NULL, + key_id binary(32) DEFAULT '' NOT NULL, user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - last_ip varchar(40) DEFAULT '' NOT NULL, + last_ip varbinary(40) DEFAULT '' NOT NULL, last_login int(11) UNSIGNED DEFAULT '0' NOT NULL, PRIMARY KEY (key_id, user_id), KEY last_login (last_login) @@ -687,8 +687,8 @@ CREATE TABLE phpbb_sessions_keys ( # Table: 'phpbb_sitelist' CREATE TABLE phpbb_sitelist ( site_id mediumint(8) UNSIGNED NOT NULL auto_increment, - site_ip varchar(40) DEFAULT '' NOT NULL, - site_hostname varchar(255) DEFAULT '' NOT NULL, + site_ip varbinary(40) DEFAULT '' NOT NULL, + site_hostname varbinary(255) DEFAULT '' NOT NULL, ip_exclude tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, PRIMARY KEY (site_id) ); @@ -697,9 +697,9 @@ CREATE TABLE phpbb_sitelist ( # Table: 'phpbb_smilies' CREATE TABLE phpbb_smilies ( smiley_id mediumint(8) UNSIGNED NOT NULL auto_increment, - code varchar(150) DEFAULT '' NOT NULL, - emotion varchar(150) DEFAULT '' NOT NULL, - smiley_url varchar(50) DEFAULT '' NOT NULL, + code varbinary(150) DEFAULT '' NOT NULL, + emotion varbinary(150) DEFAULT '' NOT NULL, + smiley_url varbinary(50) DEFAULT '' NOT NULL, smiley_width smallint(4) UNSIGNED DEFAULT '0' NOT NULL, smiley_height smallint(4) UNSIGNED DEFAULT '0' NOT NULL, smiley_order mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, @@ -712,14 +712,14 @@ CREATE TABLE phpbb_smilies ( # Table: 'phpbb_styles' CREATE TABLE phpbb_styles ( style_id tinyint(4) NOT NULL auto_increment, - style_name text NOT NULL, - style_copyright text NOT NULL, + style_name blob DEFAULT '' NOT NULL, + style_copyright blob DEFAULT '' NOT NULL, style_active tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, template_id tinyint(4) DEFAULT '0' NOT NULL, theme_id tinyint(4) DEFAULT '0' NOT NULL, imageset_id tinyint(4) DEFAULT '0' NOT NULL, PRIMARY KEY (style_id), - UNIQUE style_name (style_name(255)), + UNIQUE style_name (style_name), KEY template_id (template_id), KEY theme_id (theme_id), KEY imageset_id (imageset_id) @@ -729,23 +729,23 @@ CREATE TABLE phpbb_styles ( # Table: 'phpbb_styles_template' CREATE TABLE phpbb_styles_template ( template_id tinyint(4) NOT NULL auto_increment, - template_name text NOT NULL, - template_copyright text NOT NULL, - template_path varchar(100) DEFAULT '' NOT NULL, - bbcode_bitfield varchar(255) DEFAULT 'kNg=' NOT NULL, + template_name blob DEFAULT '' NOT NULL, + template_copyright blob DEFAULT '' NOT NULL, + template_path varbinary(100) DEFAULT '' NOT NULL, + bbcode_bitfield varbinary(255) DEFAULT 'kNg=' NOT NULL, template_storedb tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, PRIMARY KEY (template_id), - UNIQUE tmplte_nm (template_name(255)) + UNIQUE tmplte_nm (template_name) ); # Table: 'phpbb_styles_template_data' CREATE TABLE phpbb_styles_template_data ( template_id tinyint(4) NOT NULL auto_increment, - template_filename varchar(100) DEFAULT '' NOT NULL, - template_included text NOT NULL, + template_filename varbinary(100) DEFAULT '' NOT NULL, + template_included blob DEFAULT '' NOT NULL, template_mtime int(11) UNSIGNED DEFAULT '0' NOT NULL, - template_data mediumtext NOT NULL, + template_data mediumblob DEFAULT '' NOT NULL, KEY tid (template_id), KEY tfn (template_filename) ); @@ -754,119 +754,119 @@ CREATE TABLE phpbb_styles_template_data ( # Table: 'phpbb_styles_theme' CREATE TABLE phpbb_styles_theme ( theme_id tinyint(4) NOT NULL auto_increment, - theme_name text NOT NULL, - theme_copyright text NOT NULL, - theme_path varchar(100) DEFAULT '' NOT NULL, + theme_name blob DEFAULT '' NOT NULL, + theme_copyright blob DEFAULT '' NOT NULL, + theme_path varbinary(100) DEFAULT '' NOT NULL, theme_storedb tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, theme_mtime int(11) UNSIGNED DEFAULT '0' NOT NULL, - theme_data mediumtext NOT NULL, + theme_data mediumblob DEFAULT '' NOT NULL, PRIMARY KEY (theme_id), - UNIQUE theme_name (theme_name(255)) + UNIQUE theme_name (theme_name) ); # Table: 'phpbb_styles_imageset' CREATE TABLE phpbb_styles_imageset ( imageset_id tinyint(4) NOT NULL auto_increment, - imageset_name text NOT NULL, - imageset_copyright text NOT NULL, - imageset_path varchar(100) DEFAULT '' NOT NULL, - site_logo varchar(200) DEFAULT '' NOT NULL, - upload_bar varchar(200) DEFAULT '' NOT NULL, - poll_left varchar(200) DEFAULT '' NOT NULL, - poll_center varchar(200) DEFAULT '' NOT NULL, - poll_right varchar(200) DEFAULT '' NOT NULL, - icon_friend varchar(200) DEFAULT '' NOT NULL, - icon_foe varchar(200) DEFAULT '' NOT NULL, - forum_link varchar(200) DEFAULT '' NOT NULL, - forum_read varchar(200) DEFAULT '' NOT NULL, - forum_read_locked varchar(200) DEFAULT '' NOT NULL, - forum_read_subforum varchar(200) DEFAULT '' NOT NULL, - forum_unread varchar(200) DEFAULT '' NOT NULL, - forum_unread_locked varchar(200) DEFAULT '' NOT NULL, - forum_unread_subforum varchar(200) DEFAULT '' NOT NULL, - topic_moved varchar(200) DEFAULT '' NOT NULL, - topic_read varchar(200) DEFAULT '' NOT NULL, - topic_read_mine varchar(200) DEFAULT '' NOT NULL, - topic_read_hot varchar(200) DEFAULT '' NOT NULL, - topic_read_hot_mine varchar(200) DEFAULT '' NOT NULL, - topic_read_locked varchar(200) DEFAULT '' NOT NULL, - topic_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - topic_unread varchar(200) DEFAULT '' NOT NULL, - topic_unread_mine varchar(200) DEFAULT '' NOT NULL, - topic_unread_hot varchar(200) DEFAULT '' NOT NULL, - topic_unread_hot_mine varchar(200) DEFAULT '' NOT NULL, - topic_unread_locked varchar(200) DEFAULT '' NOT NULL, - topic_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - sticky_read varchar(200) DEFAULT '' NOT NULL, - sticky_read_mine varchar(200) DEFAULT '' NOT NULL, - sticky_read_locked varchar(200) DEFAULT '' NOT NULL, - sticky_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - sticky_unread varchar(200) DEFAULT '' NOT NULL, - sticky_unread_mine varchar(200) DEFAULT '' NOT NULL, - sticky_unread_locked varchar(200) DEFAULT '' NOT NULL, - sticky_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - announce_read varchar(200) DEFAULT '' NOT NULL, - announce_read_mine varchar(200) DEFAULT '' NOT NULL, - announce_read_locked varchar(200) DEFAULT '' NOT NULL, - announce_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - announce_unread varchar(200) DEFAULT '' NOT NULL, - announce_unread_mine varchar(200) DEFAULT '' NOT NULL, - announce_unread_locked varchar(200) DEFAULT '' NOT NULL, - announce_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - global_read varchar(200) DEFAULT '' NOT NULL, - global_read_mine varchar(200) DEFAULT '' NOT NULL, - global_read_locked varchar(200) DEFAULT '' NOT NULL, - global_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - global_unread varchar(200) DEFAULT '' NOT NULL, - global_unread_mine varchar(200) DEFAULT '' NOT NULL, - global_unread_locked varchar(200) DEFAULT '' NOT NULL, - global_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - pm_read varchar(200) DEFAULT '' NOT NULL, - pm_unread varchar(200) DEFAULT '' NOT NULL, - icon_contact_aim varchar(200) DEFAULT '' NOT NULL, - icon_contact_email varchar(200) DEFAULT '' NOT NULL, - icon_contact_icq varchar(200) DEFAULT '' NOT NULL, - icon_contact_jabber varchar(200) DEFAULT '' NOT NULL, - icon_contact_msnm varchar(200) DEFAULT '' NOT NULL, - icon_contact_pm varchar(200) DEFAULT '' NOT NULL, - icon_contact_yahoo varchar(200) DEFAULT '' NOT NULL, - icon_contact_www varchar(200) DEFAULT '' NOT NULL, - icon_post_delete varchar(200) DEFAULT '' NOT NULL, - icon_post_edit varchar(200) DEFAULT '' NOT NULL, - icon_post_info varchar(200) DEFAULT '' NOT NULL, - icon_post_quote varchar(200) DEFAULT '' NOT NULL, - icon_post_report varchar(200) DEFAULT '' NOT NULL, - icon_post_target varchar(200) DEFAULT '' NOT NULL, - icon_post_target_unread varchar(200) DEFAULT '' NOT NULL, - icon_topic_attach varchar(200) DEFAULT '' NOT NULL, - icon_topic_latest varchar(200) DEFAULT '' NOT NULL, - icon_topic_newest varchar(200) DEFAULT '' NOT NULL, - icon_topic_reported varchar(200) DEFAULT '' NOT NULL, - icon_topic_unapproved varchar(200) DEFAULT '' NOT NULL, - icon_user_online varchar(200) DEFAULT '' NOT NULL, - icon_user_offline varchar(200) DEFAULT '' NOT NULL, - icon_user_profile varchar(200) DEFAULT '' NOT NULL, - icon_user_search varchar(200) DEFAULT '' NOT NULL, - icon_user_warn varchar(200) DEFAULT '' NOT NULL, - button_pm_forward varchar(200) DEFAULT '' NOT NULL, - button_pm_new varchar(200) DEFAULT '' NOT NULL, - button_pm_reply varchar(200) DEFAULT '' NOT NULL, - button_topic_locked varchar(200) DEFAULT '' NOT NULL, - button_topic_new varchar(200) DEFAULT '' NOT NULL, - button_topic_reply varchar(200) DEFAULT '' NOT NULL, - user_icon1 varchar(200) DEFAULT '' NOT NULL, - user_icon2 varchar(200) DEFAULT '' NOT NULL, - user_icon3 varchar(200) DEFAULT '' NOT NULL, - user_icon4 varchar(200) DEFAULT '' NOT NULL, - user_icon5 varchar(200) DEFAULT '' NOT NULL, - user_icon6 varchar(200) DEFAULT '' NOT NULL, - user_icon7 varchar(200) DEFAULT '' NOT NULL, - user_icon8 varchar(200) DEFAULT '' NOT NULL, - user_icon9 varchar(200) DEFAULT '' NOT NULL, - user_icon10 varchar(200) DEFAULT '' NOT NULL, + imageset_name blob DEFAULT '' NOT NULL, + imageset_copyright blob DEFAULT '' NOT NULL, + imageset_path varbinary(100) DEFAULT '' NOT NULL, + site_logo varbinary(200) DEFAULT '' NOT NULL, + upload_bar varbinary(200) DEFAULT '' NOT NULL, + poll_left varbinary(200) DEFAULT '' NOT NULL, + poll_center varbinary(200) DEFAULT '' NOT NULL, + poll_right varbinary(200) DEFAULT '' NOT NULL, + icon_friend varbinary(200) DEFAULT '' NOT NULL, + icon_foe varbinary(200) DEFAULT '' NOT NULL, + forum_link varbinary(200) DEFAULT '' NOT NULL, + forum_read varbinary(200) DEFAULT '' NOT NULL, + forum_read_locked varbinary(200) DEFAULT '' NOT NULL, + forum_read_subforum varbinary(200) DEFAULT '' NOT NULL, + forum_unread varbinary(200) DEFAULT '' NOT NULL, + forum_unread_locked varbinary(200) DEFAULT '' NOT NULL, + forum_unread_subforum varbinary(200) DEFAULT '' NOT NULL, + topic_moved varbinary(200) DEFAULT '' NOT NULL, + topic_read varbinary(200) DEFAULT '' NOT NULL, + topic_read_mine varbinary(200) DEFAULT '' NOT NULL, + topic_read_hot varbinary(200) DEFAULT '' NOT NULL, + topic_read_hot_mine varbinary(200) DEFAULT '' NOT NULL, + topic_read_locked varbinary(200) DEFAULT '' NOT NULL, + topic_read_locked_mine varbinary(200) DEFAULT '' NOT NULL, + topic_unread varbinary(200) DEFAULT '' NOT NULL, + topic_unread_mine varbinary(200) DEFAULT '' NOT NULL, + topic_unread_hot varbinary(200) DEFAULT '' NOT NULL, + topic_unread_hot_mine varbinary(200) DEFAULT '' NOT NULL, + topic_unread_locked varbinary(200) DEFAULT '' NOT NULL, + topic_unread_locked_mine varbinary(200) DEFAULT '' NOT NULL, + sticky_read varbinary(200) DEFAULT '' NOT NULL, + sticky_read_mine varbinary(200) DEFAULT '' NOT NULL, + sticky_read_locked varbinary(200) DEFAULT '' NOT NULL, + sticky_read_locked_mine varbinary(200) DEFAULT '' NOT NULL, + sticky_unread varbinary(200) DEFAULT '' NOT NULL, + sticky_unread_mine varbinary(200) DEFAULT '' NOT NULL, + sticky_unread_locked varbinary(200) DEFAULT '' NOT NULL, + sticky_unread_locked_mine varbinary(200) DEFAULT '' NOT NULL, + announce_read varbinary(200) DEFAULT '' NOT NULL, + announce_read_mine varbinary(200) DEFAULT '' NOT NULL, + announce_read_locked varbinary(200) DEFAULT '' NOT NULL, + announce_read_locked_mine varbinary(200) DEFAULT '' NOT NULL, + announce_unread varbinary(200) DEFAULT '' NOT NULL, + announce_unread_mine varbinary(200) DEFAULT '' NOT NULL, + announce_unread_locked varbinary(200) DEFAULT '' NOT NULL, + announce_unread_locked_mine varbinary(200) DEFAULT '' NOT NULL, + global_read varbinary(200) DEFAULT '' NOT NULL, + global_read_mine varbinary(200) DEFAULT '' NOT NULL, + global_read_locked varbinary(200) DEFAULT '' NOT NULL, + global_read_locked_mine varbinary(200) DEFAULT '' NOT NULL, + global_unread varbinary(200) DEFAULT '' NOT NULL, + global_unread_mine varbinary(200) DEFAULT '' NOT NULL, + global_unread_locked varbinary(200) DEFAULT '' NOT NULL, + global_unread_locked_mine varbinary(200) DEFAULT '' NOT NULL, + pm_read varbinary(200) DEFAULT '' NOT NULL, + pm_unread varbinary(200) DEFAULT '' NOT NULL, + icon_contact_aim varbinary(200) DEFAULT '' NOT NULL, + icon_contact_email varbinary(200) DEFAULT '' NOT NULL, + icon_contact_icq varbinary(200) DEFAULT '' NOT NULL, + icon_contact_jabber varbinary(200) DEFAULT '' NOT NULL, + icon_contact_msnm varbinary(200) DEFAULT '' NOT NULL, + icon_contact_pm varbinary(200) DEFAULT '' NOT NULL, + icon_contact_yahoo varbinary(200) DEFAULT '' NOT NULL, + icon_contact_www varbinary(200) DEFAULT '' NOT NULL, + icon_post_delete varbinary(200) DEFAULT '' NOT NULL, + icon_post_edit varbinary(200) DEFAULT '' NOT NULL, + icon_post_info varbinary(200) DEFAULT '' NOT NULL, + icon_post_quote varbinary(200) DEFAULT '' NOT NULL, + icon_post_report varbinary(200) DEFAULT '' NOT NULL, + icon_post_target varbinary(200) DEFAULT '' NOT NULL, + icon_post_target_unread varbinary(200) DEFAULT '' NOT NULL, + icon_topic_attach varbinary(200) DEFAULT '' NOT NULL, + icon_topic_latest varbinary(200) DEFAULT '' NOT NULL, + icon_topic_newest varbinary(200) DEFAULT '' NOT NULL, + icon_topic_reported varbinary(200) DEFAULT '' NOT NULL, + icon_topic_unapproved varbinary(200) DEFAULT '' NOT NULL, + icon_user_online varbinary(200) DEFAULT '' NOT NULL, + icon_user_offline varbinary(200) DEFAULT '' NOT NULL, + icon_user_profile varbinary(200) DEFAULT '' NOT NULL, + icon_user_search varbinary(200) DEFAULT '' NOT NULL, + icon_user_warn varbinary(200) DEFAULT '' NOT NULL, + button_pm_forward varbinary(200) DEFAULT '' NOT NULL, + button_pm_new varbinary(200) DEFAULT '' NOT NULL, + button_pm_reply varbinary(200) DEFAULT '' NOT NULL, + button_topic_locked varbinary(200) DEFAULT '' NOT NULL, + button_topic_new varbinary(200) DEFAULT '' NOT NULL, + button_topic_reply varbinary(200) DEFAULT '' NOT NULL, + user_icon1 varbinary(200) DEFAULT '' NOT NULL, + user_icon2 varbinary(200) DEFAULT '' NOT NULL, + user_icon3 varbinary(200) DEFAULT '' NOT NULL, + user_icon4 varbinary(200) DEFAULT '' NOT NULL, + user_icon5 varbinary(200) DEFAULT '' NOT NULL, + user_icon6 varbinary(200) DEFAULT '' NOT NULL, + user_icon7 varbinary(200) DEFAULT '' NOT NULL, + user_icon8 varbinary(200) DEFAULT '' NOT NULL, + user_icon9 varbinary(200) DEFAULT '' NOT NULL, + user_icon10 varbinary(200) DEFAULT '' NOT NULL, PRIMARY KEY (imageset_id), - UNIQUE imgset_nm (imageset_name(255)) + UNIQUE imgset_nm (imageset_name) ); @@ -878,7 +878,7 @@ CREATE TABLE phpbb_topics ( topic_attachment tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, topic_approved tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, topic_reported tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - topic_title text NOT NULL, + topic_title blob DEFAULT '' NOT NULL, topic_poster mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, topic_time int(11) UNSIGNED DEFAULT '0' NOT NULL, topic_time_limit int(11) UNSIGNED DEFAULT '0' NOT NULL, @@ -888,19 +888,19 @@ CREATE TABLE phpbb_topics ( topic_status tinyint(3) DEFAULT '0' NOT NULL, topic_type tinyint(3) DEFAULT '0' NOT NULL, topic_first_post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - topic_first_poster_name text NOT NULL, - topic_first_poster_colour varchar(6) DEFAULT '' NOT NULL, + topic_first_poster_name blob DEFAULT '' NOT NULL, + topic_first_poster_colour varbinary(6) DEFAULT '' NOT NULL, topic_last_post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, topic_last_poster_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - topic_last_poster_name text NOT NULL, - topic_last_poster_colour varchar(6) DEFAULT '' NOT NULL, - topic_last_post_subject text NOT NULL, + topic_last_poster_name blob DEFAULT '' NOT NULL, + topic_last_poster_colour varbinary(6) DEFAULT '' NOT NULL, + topic_last_post_subject blob DEFAULT '' NOT NULL, topic_last_post_time int(11) UNSIGNED DEFAULT '0' NOT NULL, topic_last_view_time int(11) UNSIGNED DEFAULT '0' NOT NULL, topic_moved_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, topic_bumped tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, topic_bumper mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - poll_title text NOT NULL, + poll_title blob DEFAULT '' NOT NULL, poll_start int(11) UNSIGNED DEFAULT '0' NOT NULL, poll_length int(11) UNSIGNED DEFAULT '0' NOT NULL, poll_max_options tinyint(4) DEFAULT '1' NOT NULL, @@ -963,23 +963,23 @@ CREATE TABLE phpbb_users ( user_id mediumint(8) UNSIGNED NOT NULL auto_increment, user_type tinyint(2) DEFAULT '0' NOT NULL, group_id mediumint(8) UNSIGNED DEFAULT '3' NOT NULL, - user_permissions mediumtext NOT NULL, + user_permissions mediumblob DEFAULT '' NOT NULL, user_perm_from mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - user_ip varchar(40) DEFAULT '' NOT NULL, + user_ip varbinary(40) DEFAULT '' NOT NULL, user_regdate int(11) UNSIGNED DEFAULT '0' NOT NULL, - username text NOT NULL, - username_clean text NOT NULL, - user_password varchar(120) DEFAULT '' NOT NULL, + username blob DEFAULT '' NOT NULL, + username_clean blob DEFAULT '' NOT NULL, + user_password varbinary(120) DEFAULT '' NOT NULL, user_passchg int(11) UNSIGNED DEFAULT '0' NOT NULL, user_pass_convert tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - user_email text NOT NULL, + user_email blob DEFAULT '' NOT NULL, user_email_hash bigint(20) DEFAULT '0' NOT NULL, - user_birthday varchar(10) DEFAULT '' NOT NULL, + user_birthday varbinary(10) DEFAULT '' NOT NULL, user_lastvisit int(11) UNSIGNED DEFAULT '0' NOT NULL, user_lastmark int(11) UNSIGNED DEFAULT '0' NOT NULL, user_lastpost_time int(11) UNSIGNED DEFAULT '0' NOT NULL, - user_lastpage text NOT NULL, - user_last_confirm_key varchar(10) DEFAULT '' NOT NULL, + user_lastpage blob DEFAULT '' NOT NULL, + user_last_confirm_key varbinary(10) DEFAULT '' NOT NULL, user_last_search int(11) UNSIGNED DEFAULT '0' NOT NULL, user_warnings tinyint(4) DEFAULT '0' NOT NULL, user_last_warning int(11) UNSIGNED DEFAULT '0' NOT NULL, @@ -987,13 +987,13 @@ CREATE TABLE phpbb_users ( user_inactive_reason tinyint(2) DEFAULT '0' NOT NULL, user_inactive_time int(11) UNSIGNED DEFAULT '0' NOT NULL, user_posts mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - user_lang varchar(30) DEFAULT '' NOT NULL, + user_lang varbinary(30) DEFAULT '' NOT NULL, user_timezone decimal(5,2) DEFAULT '0' NOT NULL, user_dst tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - user_dateformat varchar(90) DEFAULT 'd M Y H:i' NOT NULL, + user_dateformat varbinary(90) DEFAULT 'd M Y H:i' NOT NULL, user_style tinyint(4) DEFAULT '0' NOT NULL, user_rank mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, - user_colour varchar(6) DEFAULT '' NOT NULL, + user_colour varbinary(6) DEFAULT '' NOT NULL, user_new_privmsg tinyint(4) DEFAULT '0' NOT NULL, user_unread_privmsg tinyint(4) DEFAULT '0' NOT NULL, user_last_privmsg int(11) UNSIGNED DEFAULT '0' NOT NULL, @@ -1001,11 +1001,11 @@ CREATE TABLE phpbb_users ( user_full_folder int(11) DEFAULT '-3' NOT NULL, user_emailtime int(11) UNSIGNED DEFAULT '0' NOT NULL, user_topic_show_days smallint(4) UNSIGNED DEFAULT '0' NOT NULL, - user_topic_sortby_type varchar(1) DEFAULT 't' NOT NULL, - user_topic_sortby_dir varchar(1) DEFAULT 'd' NOT NULL, + user_topic_sortby_type varbinary(1) DEFAULT 't' NOT NULL, + user_topic_sortby_dir varbinary(1) DEFAULT 'd' NOT NULL, user_post_show_days smallint(4) UNSIGNED DEFAULT '0' NOT NULL, - user_post_sortby_type varchar(1) DEFAULT 't' NOT NULL, - user_post_sortby_dir varchar(1) DEFAULT 'a' NOT NULL, + user_post_sortby_type varbinary(1) DEFAULT 't' NOT NULL, + user_post_sortby_dir varbinary(1) DEFAULT 'a' NOT NULL, user_notify tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, user_notify_pm tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, user_notify_type tinyint(4) DEFAULT '0' NOT NULL, @@ -1014,29 +1014,29 @@ CREATE TABLE phpbb_users ( user_allow_viewemail tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, user_allow_massemail tinyint(1) UNSIGNED DEFAULT '1' NOT NULL, user_options int(11) UNSIGNED DEFAULT '895' NOT NULL, - user_avatar varchar(255) DEFAULT '' NOT NULL, + user_avatar varbinary(255) DEFAULT '' NOT NULL, user_avatar_type tinyint(2) DEFAULT '0' NOT NULL, user_avatar_width smallint(4) UNSIGNED DEFAULT '0' NOT NULL, user_avatar_height smallint(4) UNSIGNED DEFAULT '0' NOT NULL, - user_sig mediumtext NOT NULL, - user_sig_bbcode_uid varchar(5) DEFAULT '' NOT NULL, - user_sig_bbcode_bitfield varchar(255) DEFAULT '' NOT NULL, - user_from text NOT NULL, - user_icq varchar(15) DEFAULT '' NOT NULL, - user_aim text NOT NULL, - user_yim text NOT NULL, - user_msnm text NOT NULL, - user_jabber text NOT NULL, - user_website text NOT NULL, - user_occ text NOT NULL, - user_interests text NOT NULL, - user_actkey varchar(32) DEFAULT '' NOT NULL, - user_newpasswd varchar(96) DEFAULT '' NOT NULL, + user_sig mediumblob DEFAULT '' NOT NULL, + user_sig_bbcode_uid varbinary(5) DEFAULT '' NOT NULL, + user_sig_bbcode_bitfield varbinary(255) DEFAULT '' NOT NULL, + user_from blob DEFAULT '' NOT NULL, + user_icq varbinary(15) DEFAULT '' NOT NULL, + user_aim blob DEFAULT '' NOT NULL, + user_yim blob DEFAULT '' NOT NULL, + user_msnm blob DEFAULT '' NOT NULL, + user_jabber blob DEFAULT '' NOT NULL, + user_website blob DEFAULT '' NOT NULL, + user_occ blob DEFAULT '' NOT NULL, + user_interests blob DEFAULT '' NOT NULL, + user_actkey varbinary(32) DEFAULT '' NOT NULL, + user_newpasswd varbinary(96) DEFAULT '' NOT NULL, PRIMARY KEY (user_id), KEY user_birthday (user_birthday), KEY user_email_hash (user_email_hash), KEY user_type (user_type), - KEY username_clean (username_clean(255)) + UNIQUE username_clean (username_clean) ); @@ -1054,8 +1054,8 @@ CREATE TABLE phpbb_warnings ( # Table: 'phpbb_words' CREATE TABLE phpbb_words ( word_id mediumint(8) UNSIGNED NOT NULL auto_increment, - word text NOT NULL, - replacement text NOT NULL, + word blob DEFAULT '' NOT NULL, + replacement blob DEFAULT '' NOT NULL, PRIMARY KEY (word_id) ); diff --git a/phpBB/install/schemas/mysql_41_schema.sql b/phpBB/install/schemas/mysql_41_schema.sql index bf884e1ed4..0b4a2ce1d5 100644 --- a/phpBB/install/schemas/mysql_41_schema.sql +++ b/phpBB/install/schemas/mysql_41_schema.sql @@ -1036,7 +1036,7 @@ CREATE TABLE phpbb_users ( KEY user_birthday (user_birthday), KEY user_email_hash (user_email_hash), KEY user_type (user_type), - KEY username_clean (username_clean) + UNIQUE username_clean (username_clean) ) CHARACTER SET `utf8` COLLATE `utf8_bin`; diff --git a/phpBB/install/schemas/oracle_schema.sql b/phpBB/install/schemas/oracle_schema.sql index 970006a7c8..4e5cbb3da0 100644 --- a/phpBB/install/schemas/oracle_schema.sql +++ b/phpBB/install/schemas/oracle_schema.sql @@ -1841,7 +1841,8 @@ CREATE TABLE phpbb_users ( user_interests clob DEFAULT '' , user_actkey varchar2(32) DEFAULT '' , user_newpasswd varchar2(96) DEFAULT '' , - CONSTRAINT pk_phpbb_users PRIMARY KEY (user_id) + CONSTRAINT pk_phpbb_users PRIMARY KEY (user_id), + CONSTRAINT u_phpbb_username_clean UNIQUE (username_clean) ) / @@ -1851,8 +1852,6 @@ CREATE INDEX phpbb_users_user_email_hash ON phpbb_users (user_email_hash) / CREATE INDEX phpbb_users_user_type ON phpbb_users (user_type) / -CREATE INDEX phpbb_users_username_clean ON phpbb_users (username_clean) -/ CREATE SEQUENCE phpbb_users_seq / diff --git a/phpBB/install/schemas/postgres_schema.sql b/phpBB/install/schemas/postgres_schema.sql index e1dea496cf..f33fd7ec07 100644 --- a/phpBB/install/schemas/postgres_schema.sql +++ b/phpBB/install/schemas/postgres_schema.sql @@ -1298,7 +1298,7 @@ CREATE TABLE phpbb_users ( CREATE INDEX phpbb_users_user_birthday ON phpbb_users (user_birthday); CREATE INDEX phpbb_users_user_email_hash ON phpbb_users (user_email_hash); CREATE INDEX phpbb_users_user_type ON phpbb_users (user_type); -CREATE INDEX phpbb_users_username_clean ON phpbb_users (username_clean); +CREATE UNIQUE INDEX phpbb_users_username_clean ON phpbb_users (username_clean); /* Table: 'phpbb_warnings' diff --git a/phpBB/install/schemas/sqlite_schema.sql b/phpBB/install/schemas/sqlite_schema.sql index 93e916a234..2a1875945f 100644 --- a/phpBB/install/schemas/sqlite_schema.sql +++ b/phpBB/install/schemas/sqlite_schema.sql @@ -1008,7 +1008,7 @@ CREATE TABLE phpbb_users ( CREATE INDEX phpbb_users_user_birthday ON phpbb_users (user_birthday); CREATE INDEX phpbb_users_user_email_hash ON phpbb_users (user_email_hash); CREATE INDEX phpbb_users_user_type ON phpbb_users (user_type); -CREATE INDEX phpbb_users_username_clean ON phpbb_users (username_clean); +CREATE UNIQUE INDEX phpbb_users_username_clean ON phpbb_users (username_clean); # Table: 'phpbb_warnings' CREATE TABLE phpbb_warnings ( From ef879f43f71fd35ecf9a213acc1052db66fe8046 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 25 Feb 2007 21:23:00 +0000 Subject: [PATCH 124/707] #7882 git-svn-id: file:///svn/phpbb/trunk@7074 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 48 +++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 26c3e6ccac..6d940eab1b 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -361,6 +361,18 @@ $database_update_info = array( 'session_forwarded_for' => array('VCHAR:255', ''), ), ), + // Remove the following keys + 'drop_keys' => array( + USERS_TABLE => array( + 'username_clean', + ), + ), + // Add the following unique indexes + 'add_unique_index' => array( + USERS_TABLE => array( + 'username_clean' => array('username_clean'), + ), + ), ), ); @@ -546,6 +558,18 @@ foreach ($database_update_info as $version => $schema_changes) sql_create_primary_key($map_dbms, $table, $columns); } } + + // Add unqiue indexes? + if (!empty($schema_changes['add_unique_index'])) + { + foreach ($schema_changes['add_unique_index'] as $table => $index_array) + { + foreach ($index_array as $index_name => $column) + { + sql_create_unique_index($dbms, $index_name, $table_name, $column); + } + } + } } _write_result($no_updates, $errored, $error_ary); @@ -1219,6 +1243,30 @@ function sql_create_primary_key($dbms, $table_name, $column) } } +function sql_create_unique_index($dbms, $index_name, $table_name, $column) +{ + global $dbms_type_map, $db; + global $errored, $error_ary; + + switch ($dbms) + { + case 'firebird': + case 'postgres': + case 'mysql_40': + case 'mysql_41': + case 'oracle': + case 'sqlite': + $sql = 'CREATE UNIQUE INDEX ' . $index_name . ' ON ' . $table_name . '(' . implode(', ', $column) . ')'; + _sql($sql, $errored, $error_ary); + break; + + case 'mssql': + $sql = 'CREATE UNIQUE INDEX ' . $index_name . ' ON ' . $table_name . '(' . implode(', ', $column) . ') ON [PRIMARY]'; + _sql($sql, $errored, $error_ary); + break; + } +} + /** * Change column type (not name!) */ From 424a520d0e3d8f668b70c632a8d787f004d8098b Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 25 Feb 2007 22:07:17 +0000 Subject: [PATCH 125/707] #8342 git-svn-id: file:///svn/phpbb/trunk@7075 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 6d940eab1b..bef57ad5ec 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -566,7 +566,7 @@ foreach ($database_update_info as $version => $schema_changes) { foreach ($index_array as $index_name => $column) { - sql_create_unique_index($dbms, $index_name, $table_name, $column); + sql_create_unique_index($dbms, $index_name, $table, $column); } } } From b66e0fcd34d3209ca86059d1737125699a726a7d Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Sun, 25 Feb 2007 22:09:53 +0000 Subject: [PATCH 126/707] - fix htmlspecialchars handling in search (search backends get specialchared input, and should return specialchared output), current backends strip entities anyway [includes Bug #8156] - allow cancelling search index creation/removal - custom CSS class name input too short [Bug #8328] - give an error message if a password wasn't convertable (special characters in non-standard encoding) - moved still_on_time to functions.php, used by acp_search and converter, might be useful for MODs (or complex cron scripts) - do not allow empty passwords on login - add sids to local URLs in posts (this was a really terrible bug to fix ;-)) [Bug #7892] - ignore invalid HTTP_X_FORWARDED_FOR headers (just use REMOTE_ADDR if invalid) [Bug #8314] - changed forum listing code on search page and acp_attachments [Bug #6658] - search indexing uses still_on_time(), smaller batch size (1000) and meta_refresh() instead of redirect(), this should solve a few problems [Bugs #8034, #8270] - made password requirement language strings clearer - ALPHA is not meant to be alphanumric [Bug #7764] - display bug in firefox on linux making the pagination wrap on search results page (caused by  ) git-svn-id: file:///svn/phpbb/trunk@7076 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_search.html | 14 +- phpBB/adm/style/acp_styles.html | 2 +- phpBB/includes/acp/acp_attachments.php | 8 + phpBB/includes/acp/acp_search.php | 260 ++++++++++-------- phpBB/includes/auth/auth_db.php | 45 ++- phpBB/includes/constants.php | 1 + phpBB/includes/functions.php | 61 +++- phpBB/includes/functions_convert.php | 32 --- phpBB/includes/message_parser.php | 8 +- phpBB/includes/session.php | 11 +- phpBB/language/en/acp/board.php | 4 +- phpBB/language/en/acp/search.php | 8 +- phpBB/language/en/common.php | 1 + phpBB/language/en/ucp.php | 5 +- phpBB/search.php | 14 +- .../styles/subSilver/template/pagination.html | 2 +- 16 files changed, 281 insertions(+), 195 deletions(-) diff --git a/phpBB/adm/style/acp_search.html b/phpBB/adm/style/acp_search.html index b63226f4e1..a68a509bdc 100644 --- a/phpBB/adm/style/acp_search.html +++ b/phpBB/adm/style/acp_search.html @@ -80,14 +80,20 @@

{L_ACP_SEARCH_INDEX}

-

{L_ACP_SEARCH_INDEX_EXPLAIN}

- - {L_CONTINUE} -

{L_CONTINUE_EXPLAIN}

+ +
+
+ {L_SUBMIT} +   + +
+
+

{L_ACP_SEARCH_INDEX_EXPLAIN}

+ diff --git a/phpBB/adm/style/acp_styles.html b/phpBB/adm/style/acp_styles.html index efdaf1980a..54c9595065 100644 --- a/phpBB/adm/style/acp_styles.html +++ b/phpBB/adm/style/acp_styles.html @@ -367,7 +367,7 @@ {L_CUSTOM_CLASS}
-
+

diff --git a/phpBB/includes/acp/acp_attachments.php b/phpBB/includes/acp/acp_attachments.php index 23b67aadc7..81ecc4c963 100644 --- a/phpBB/includes/acp/acp_attachments.php +++ b/phpBB/includes/acp/acp_attachments.php @@ -766,6 +766,8 @@ class acp_attachments if ($row['left_id'] > $cat_right) { + // make sure we don't forget anything + $s_forum_id_options .= $holding; $holding = ''; } @@ -781,6 +783,12 @@ class acp_attachments $holding = ''; } } + + if ($holding) + { + $s_forum_id_options .= $holding; + } + $db->sql_freeresult($result); unset($padding_store); diff --git a/phpBB/includes/acp/acp_search.php b/phpBB/includes/acp/acp_search.php index 1dfda1b684..ab81721311 100644 --- a/phpBB/includes/acp/acp_search.php +++ b/phpBB/includes/acp/acp_search.php @@ -8,6 +8,16 @@ * */ +/** +* @ignore +*/ +if (!defined('IN_PHPBB')) +{ + exit; +} +// make sure, a start time is saved +still_on_time(); + /** * @package acp */ @@ -17,7 +27,7 @@ class acp_search var $state; var $search; var $max_post_id; - var $batch_size = 5000; + var $batch_size = 1000; function main($id, $mode) { @@ -143,7 +153,7 @@ class acp_search if (!method_exists($search, 'init') || !($error = $search->init())) { set_config('search_type', $cfg_array['search_type']); - + if (!$updated) { add_log('admin', 'LOG_CONFIG_SEARCH'); @@ -210,6 +220,13 @@ class acp_search } $this->state = explode(',', $config['search_indexing_state']); + if (isset($_POST['cancel'])) + { + $action = ''; + $this->state = array(); + $this->save_state(); + } + if ($action) { switch ($action) @@ -218,15 +235,15 @@ class acp_search $type = request_var('type', ''); $this->display_progress_bar($type); break; - + case 'delete': $this->state[1] = 'delete'; break; - + case 'create': $this->state[1] = 'create'; break; - + default: trigger_error('NO_ACTION', E_USER_ERROR); break; @@ -243,10 +260,8 @@ class acp_search { trigger_error($error . adm_back_link($this->u_action), E_USER_WARNING); } - - $action = &$this->state[1]; - @set_time_limit(0); + $action = &$this->state[1]; $this->max_post_id = $this->get_max_post_id(); @@ -254,116 +269,126 @@ class acp_search $this->state[2] = &$post_counter; $this->save_state(); - if ($action == 'delete') + switch ($action) { - if (method_exists($this->search, 'delete_index')) - { - // pass a reference to myself so the $search object can make use of save_state() and attributes - if ($error = $this->search->delete_index($this, append_sid("{$phpbb_admin_path}index.$phpEx", "i=$id&mode=$mode&action=delete", false))) + case 'delete': + if (method_exists($this->search, 'delete_index')) { - $this->state = array(''); - $this->save_state(); - trigger_error($error . adm_back_link($this->u_action) . $this->close_popup_js(), E_USER_WARNING); - } - } - else - { - $sql = 'SELECT post_id, poster_id, forum_id - FROM ' . POSTS_TABLE . ' - WHERE post_id >= ' . (int) ($post_counter + 1) . ' - AND post_id < ' . (int) ($post_counter + $this->batch_size); - $result = $db->sql_query($sql); - - $ids = $posters = array(); - while ($row = $db->sql_fetchrow($result)) - { - $ids[] = $row['post_id']; - $posters[] = $row['poster_id']; - $forum_ids[] = $row['forum_id']; - } - $db->sql_freeresult($result); - - if (sizeof($ids)) - { - $this->search->index_remove($ids, $posters, $forum_ids); - } - - $post_counter += $this->batch_size; - - // save the current state - $this->save_state(); - - if ($post_counter <= $this->max_post_id) - { - redirect($this->u_action . '&action=delete'); - } - } - - $this->search->tidy(); - - $this->state = array(''); - $this->save_state(); - - trigger_error($user->lang['SEARCH_INDEX_REMOVED'] . adm_back_link($this->u_action) . $this->close_popup_js()); - } - else - { - if (method_exists($this->search, 'create_index')) - { - // pass a reference to myself so the $search object can make use of save_state() and attributes - if ($error = $this->search->create_index($this, append_sid("{$phpbb_admin_path}index.$phpEx", "i=$id&mode=$mode&action=create", false))) - { - $this->state = array(''); - $this->save_state(); - trigger_error($error . adm_back_link($this->u_action) . $this->close_popup_js(), E_USER_WARNING); - } - } - else - { - $sql = 'SELECT forum_id, enable_indexing - FROM ' . FORUMS_TABLE; - $result = $db->sql_query($sql, 3600); - - while ($row = $db->sql_fetchrow($result)) - { - $forums[$row['forum_id']] = (bool) $row['enable_indexing']; - } - $db->sql_freeresult($result); - - $sql = 'SELECT post_id, post_subject, post_text, poster_id, forum_id - FROM ' . POSTS_TABLE . ' - WHERE post_id >= ' . (int) ($post_counter + 1) . ' - AND post_id < ' . (int) ($post_counter + $this->batch_size); - $result = $db->sql_query($sql); - - while ($row = $db->sql_fetchrow($result)) - { - // Indexing enabled for this forum or global announcement? - // Global announcements get indexed by default. - if (!$row['forum_id'] || (isset($forums[$row['forum_id']]) && $forums[$row['forum_id']])) + // pass a reference to myself so the $search object can make use of save_state() and attributes + if ($error = $this->search->delete_index($this, append_sid("{$phpbb_admin_path}index.$phpEx", "i=$id&mode=$mode&action=delete", false))) { - $this->search->index('post', $row['post_id'], $row['post_text'], $row['post_subject'], $row['poster_id'], $row['forum_id']); + $this->state = array(''); + $this->save_state(); + trigger_error($error . adm_back_link($this->u_action) . $this->close_popup_js(), E_USER_WARNING); } } - $db->sql_freeresult($result); - - $post_counter += $this->batch_size; - - // save the current state - $this->save_state(); - - if ($post_counter <= $this->max_post_id) + else { - redirect($this->u_action . '&action=create'); - } - } - - $this->search->tidy(); - - $this->state = array(''); - $this->save_state(); + while (still_on_time() && $post_counter <= $this->max_post_id) + { + $sql = 'SELECT post_id, poster_id, forum_id + FROM ' . POSTS_TABLE . ' + WHERE post_id >= ' . (int) ($post_counter + 1) . ' + AND post_id < ' . (int) ($post_counter + $this->batch_size); + $result = $db->sql_query($sql); - trigger_error($user->lang['SEARCH_INDEX_CREATED'] . adm_back_link($this->u_action) . $this->close_popup_js()); + $ids = $posters = $forum_ids = array(); + while ($row = $db->sql_fetchrow($result)) + { + $ids[] = $row['post_id']; + $posters[] = $row['poster_id']; + $forum_ids[] = $row['forum_id']; + } + $db->sql_freeresult($result); + + if (sizeof($ids)) + { + $this->search->index_remove($ids, $posters, $forum_ids); + } + + $post_counter += $this->batch_size; + + // save the current state + $this->save_state(); + } + + if ($post_counter <= $this->max_post_id) + { + meta_refresh(1, $this->u_action . '&action=delete&skip_rows=' . $post_counter); + trigger_error(sprintf($user->lang['SEARCH_INDEX_DELETE_REDIRECT'], $post_counter)); + } + } + + $this->search->tidy(); + + $this->state = array(''); + $this->save_state(); + + trigger_error($user->lang['SEARCH_INDEX_REMOVED'] . adm_back_link($this->u_action) . $this->close_popup_js()); + break; + + case 'create': + if (method_exists($this->search, 'create_index')) + { + // pass a reference to acp_search so the $search object can make use of save_state() and attributes + if ($error = $this->search->create_index($this, append_sid("{$phpbb_admin_path}index.$phpEx", "i=$id&mode=$mode&action=create", false))) + { + $this->state = array(''); + $this->save_state(); + trigger_error($error . adm_back_link($this->u_action) . $this->close_popup_js(), E_USER_WARNING); + } + } + else + { + $sql = 'SELECT forum_id, enable_indexing + FROM ' . FORUMS_TABLE; + $result = $db->sql_query($sql, 3600); + + while ($row = $db->sql_fetchrow($result)) + { + $forums[$row['forum_id']] = (bool) $row['enable_indexing']; + } + $db->sql_freeresult($result); + + while (still_on_time() && $post_counter <= $this->max_post_id) + { + $sql = 'SELECT post_id, post_subject, post_text, poster_id, forum_id + FROM ' . POSTS_TABLE . ' + WHERE post_id >= ' . (int) ($post_counter + 1) . ' + AND post_id < ' . (int) ($post_counter + $this->batch_size); + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + // Indexing enabled for this forum or global announcement? + // Global announcements get indexed by default. + if (!$row['forum_id'] || (isset($forums[$row['forum_id']]) && $forums[$row['forum_id']])) + { + $this->search->index('post', $row['post_id'], $row['post_text'], $row['post_subject'], $row['poster_id'], $row['forum_id']); + } + } + $db->sql_freeresult($result); + + $post_counter += $this->batch_size; + + // save the current state + $this->save_state(); + } + + if ($post_counter <= $this->max_post_id) + { + meta_refresh(1, $this->u_action . '&action=create&skip_rows=' . $post_counter); + trigger_error(sprintf($user->lang['SEARCH_INDEX_CREATE_REDIRECT'], $post_counter)); + } + } + + $this->search->tidy(); + + $this->state = array(''); + $this->save_state(); + + trigger_error($user->lang['SEARCH_INDEX_CREATED'] . adm_back_link($this->u_action) . $this->close_popup_js()); + break; } } @@ -469,14 +494,11 @@ class acp_search function close_popup_js() { - /** - * @todo remove Javascript - */ - return ''; + return "\n"; } function get_search_types() diff --git a/phpBB/includes/auth/auth_db.php b/phpBB/includes/auth/auth_db.php index baf193ecdb..afea47d1c1 100644 --- a/phpBB/includes/auth/auth_db.php +++ b/phpBB/includes/auth/auth_db.php @@ -103,19 +103,44 @@ function login_db(&$username, &$password) $password_old_format = (!STRIP) ? addslashes($password_old_format) : $password_old_format; $password_new_format = ''; - set_var($password_new_format, $password_old_format, 'string'); + set_var($password_new_format, stripslashes($password_old_format), 'string'); - if ($password == $password_new_format && md5($password_old_format) == $row['user_password']) + if ($password == $password_new_format) { - // Update the password in the users table to the new format and remove user_pass_convert flag - $sql = 'UPDATE ' . USERS_TABLE . ' - SET user_password = \'' . $db->sql_escape(md5($password_new_format)) . '\', - user_pass_convert = 0 - WHERE user_id = ' . $row['user_id']; - $db->sql_query($sql); + if (!function_exists('utf8_to_cp1252')) + { + global $phpbb_root_path, $phpEx; + include($phpbb_root_path . 'includes/utf/data/recode_basic.' . $phpEx); + } - $row['user_pass_convert'] = 0; - $row['user_password'] = md5($password_new_format); + // cp1252 is phpBB2's default encoding, characters outside ASCII range might work when converted into that encoding + if (md5($password_old_format) == $row['user_password'] || utf8_to_cp1252(md5($password_old_format)) == $row['user_password']) + { + // Update the password in the users table to the new format and remove user_pass_convert flag + $sql = 'UPDATE ' . USERS_TABLE . ' + SET user_password = \'' . $db->sql_escape(md5($password_new_format)) . '\', + user_pass_convert = 0 + WHERE user_id = ' . $row['user_id']; + $db->sql_query($sql); + + $row['user_pass_convert'] = 0; + $row['user_password'] = md5($password_new_format); + } + else if (preg_match('/[\x80-\xFF]/', $password_old_format)) + { + // Although we weren't able to convert this password we have to + // increase login attempt count to make sure this cannot be exploited + $sql = 'UPDATE ' . USERS_TABLE . ' + SET user_login_attempts = user_login_attempts + 1 + WHERE user_id = ' . $row['user_id']; + $db->sql_query($sql); + + return array( + 'status' => LOGIN_ERROR_PASSWORD_CONVERT, + 'error_msg' => 'LOGIN_ERROR_PASSWORD_CONVERT', + 'user_row' => $row, + ); + } } } diff --git a/phpBB/includes/constants.php b/phpBB/includes/constants.php index 99812363b7..cb6b816224 100644 --- a/phpBB/includes/constants.php +++ b/phpBB/includes/constants.php @@ -48,6 +48,7 @@ define('LOGIN_ERROR_PASSWORD', 11); define('LOGIN_ERROR_ACTIVE', 12); define('LOGIN_ERROR_ATTEMPTS', 13); define('LOGIN_ERROR_EXTERNAL_AUTH', 14); +define('LOGIN_ERROR_PASSWORD_CONVERT', 15); // Group settings define('GROUP_OPEN', 0); diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index e360ffb3a0..b9e9716743 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -174,6 +174,41 @@ function unique_id($extra = 'c') return substr($val, 4, 16); } +/** +* Determine whether we are approaching the maximum execution time. Should be called once +* at the beginning of the script in which it's used. +* @return bool Either true if the maximum execution time is nearly reached, or false +* if some time is still left. +*/ +function still_on_time() +{ + static $max_execution_time, $start_time; + + $time = explode(' ', microtime()); + $current_time = $time[0] + $time[1]; + + if (empty($max_execution_time)) + { + $max_execution_time = (function_exists('ini_get')) ? (int) ini_get('max_execution_time') : (int) get_cfg_var('max_execution_time'); + + // If zero, then set to something higher to not let the user catch the ten seconds barrier. + if ($max_execution_time === 0) + { + $max_execution_time = 65; + } + + $max_execution_time = min(max(10, ($max_execution_time - 15)), 50); + + // For debugging purposes + // $max_execution_time = 10; + + global $starttime; + $start_time = (empty($starttime)) ? $current_time : $starttime; + } + + return (ceil($current_time - $start_time) < $max_execution_time) ? true : false; +} + /** * Generate sort selection fields */ @@ -1868,6 +1903,12 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa trigger_error('NO_AUTH_ADMIN_USER_DIFFER'); } + // do not allow empty password + if (!$password) + { + trigger_error('NO_PASSWORD_SUPPLIED'); + } + // If authentication is successful we redirect user to previous page $result = $auth->login($username, $password, $autologin, $viewonline, $admin); @@ -1955,6 +1996,16 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa break; + case LOGIN_ERROR_PASSWORD_CONVERT: + $err = sprintf( + $user->lang[$result['error_msg']], + ($config['email_enable']) ? '' : '', + ($config['email_enable']) ? '' : '', + ($config['board_contact']) ? '' : '', + ($config['board_contact']) ? '' : '' + ); + break; + // Username, password, etc... default: $err = $user->lang[$result['error_msg']]; @@ -1964,6 +2015,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa { $err = (!$config['board_contact']) ? sprintf($user->lang[$result['error_msg']], '', '') : sprintf($user->lang[$result['error_msg']], '', ''); } + break; } } @@ -2254,7 +2306,7 @@ function decode_message(&$message, $bbcode_uid = '') $message = str_replace($match, $replace, $message); $match = get_preg_expression('bbcode_htm'); - $replace = array('\1', '\2', '\1', '', ''); + $replace = array('\1', '\1', '\2', '\1', '', ''); $message = preg_replace($match, $replace, $message); } @@ -2272,7 +2324,7 @@ function strip_bbcode(&$text, $uid = '') $text = preg_replace("#\[\/?[a-z0-9\*\+\-]+(?:=.*?)?(?::[a-z])?(\:?$uid)\]#", ' ', $text); $match = get_preg_expression('bbcode_htm'); - $replace = array('\1', '\2', '\1', '', ''); + $replace = array('\1', '\1', '\2', '\1', '', ''); $text = preg_replace($match, $replace, $text); } @@ -2399,7 +2451,7 @@ function make_clickable($text, $server_url = false) // relative urls for this board $magic_url_match[] = '#(^|[\n\t (])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#ie'; - $magic_url_replace[] = "'\$1' . ((strlen('\$3')) ? preg_replace('/(&|\?)sid=[0-9a-f]{32}/', '\\\\1', '\$3') : '\$2/') . ''"; + $magic_url_replace[] = "'\$1' . ((strlen('\$3')) ? preg_replace('/(&|\?)sid=[0-9a-f]{32}$/', '', preg_replace('/(&|\?)sid=[0-9a-f]{32}&/', '\\\\1', '\$3')) : '\$2/') . ''"; // matches a xxxx://aaaaa.bbb.cccc. ... $magic_url_match[] = '#(^|[\n\t (])(' . get_preg_expression('url_inline') . ')#ie'; @@ -3027,7 +3079,8 @@ function get_preg_expression($mode) case 'bbcode_htm': return array( '#.*?#', - '#.*?#', + '#.*?#', + '#.*?#', '#{L_GOTO_PAGE} {L_PREVIOUS}  {PAGINATION}  {L_NEXT} \ No newline at end of file +{L_GOTO_PAGE} {L_PREVIOUS}  {PAGINATION}  {L_NEXT} \ No newline at end of file From d9d558ddc10fc2d8ca6173be6a02c50e34c9217f Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 25 Feb 2007 22:10:36 +0000 Subject: [PATCH 127/707] forgot this :P git-svn-id: file:///svn/phpbb/trunk@7077 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index bef57ad5ec..1427ab69fe 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -125,22 +125,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)', ), From ad52ac4f88b37c47b9cc4a37df85080669552ad5 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Sun, 25 Feb 2007 23:00:05 +0000 Subject: [PATCH 128/707] A couple changes to improve usability: 1) Reworded the "Install missing" explain for the converter 2) "Forked" the final page of a clean install to give two options... #1 being going to the convertor and #2 being the already existing "Take me to your ACP!" stuff. Shouldn't have broken anything else, though the i18n/L10n lot will need to update their strings for this. ;) git-svn-id: file:///svn/phpbb/trunk@7078 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/install_install.php | 2 +- phpBB/language/en/install.php | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index faa6844a6e..392f70dec9 100755 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -1775,7 +1775,7 @@ class install_install extends module $template->assign_vars(array( 'TITLE' => $lang['INSTALL_CONGRATS'], - 'BODY' => sprintf($lang['INSTALL_CONGRATS_EXPLAIN'], '', ''), + 'BODY' => sprintf($lang['INSTALL_CONGRATS_EXPLAIN'], $config['version'], append_sid($phpbb_root_path . 'install/index.' . $phpEx, 'mode=convert&language=' . $language), '../docs/README.html'), 'L_SUBMIT' => $lang['INSTALL_LOGIN'], 'U_ACTION' => append_sid($phpbb_root_path . 'adm/index.' . $phpEx), )); diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index 86628ce0ee..aa96ce3f1b 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -46,7 +46,7 @@ $lang = array_merge($lang, array( 'BEGIN_CONVERT' => 'Begin conversion', 'BLANK_PREFIX_FOUND' => 'A scan of your tables has shown a valid installation using no table prefix.', 'BOARD_NOT_INSTALLED' => 'No installation found', - 'BOARD_NOT_INSTALLED_EXPLAIN' => 'To perform a conversion you need to have a default installation of phpBB3. You may now want to perform an installation.', + 'BOARD_NOT_INSTALLED_EXPLAIN' => 'The phpBB Unified Convertor Framework requires a default installation of phpBB3 to function, please proceed by first installing phpBB3.', 'CATEGORY' => 'Category', 'CACHE_STORE' => 'Cache type', @@ -169,8 +169,13 @@ $lang = array_merge($lang, array( 'INITIAL_CONFIG' => 'Basic configuration', 'INITIAL_CONFIG_EXPLAIN' => 'Now that install has determined your server can run phpBB you need to supply some specific information. If you do not know how to connect to your database please contact your hosting provider (in the first instance) or use the phpBB support forums. When entering data please ensure you check it thoroughly before continuing.', - 'INSTALL_CONGRATS' => 'Congratulations', - 'INSTALL_CONGRATS_EXPLAIN' => 'You have now successfully installed phpBB 3.0. Clicking the button below will take you to your Administration Control Panel (ACP). Take some time to examine the options available to you. Remember that help is available online via the Userguide and the Beta support forum, see the %sREADME%s for further information.

Please now delete, move or rename the install directory before you use your forum. If this directory is still present, only the Administration Control Panel (ACP) will be accessible.', + 'INSTALL_CONGRATS' => 'Congratulations!', + 'INSTALL_CONGRATS_EXPLAIN' => ' +

You have now successfully installed phpBB %1$s. From here, you have two options as to what to do with your newly installed phpBB3:

+

Convert an existing forum to phpBB3

+

The phpBB Unified Convertor Framework supports the conversion of phpBB 2.0.x and other forum systems to phpBB3. If you have an existing forum that you wish to convert, please proceed on to the convertor.

+

Go live with your phpBB3!

+

Clicking the button below will take you to your Administration Control Panel (ACP). Take some time to examine the options available to you. Remember that help is available online via the Userguide and the Beta support forum, see the README for further information.

Please now delete, move or rename the install directory before you use your forum. If this directory is still present, only the Administration Control Panel (ACP) will be accessible.

', 'INSTALL_INTRO' => 'Welcome to Installation', 'INSTALL_INTRO_BODY' => 'With this option, it is possible to install phpBB onto your server.

In order to proceed, you will need the following information on hand:

    From c4ee7265216272e3b80a627a705152b865f52ce0 Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Sun, 25 Feb 2007 23:30:18 +0000 Subject: [PATCH 129/707] - added an explanation of gzip compression [Bug #8198] git-svn-id: file:///svn/phpbb/trunk@7079 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_board.php | 2 +- phpBB/language/en/acp/board.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php index fa6b604c7b..a893935dbd 100644 --- a/phpBB/includes/acp/acp_board.php +++ b/phpBB/includes/acp/acp_board.php @@ -278,7 +278,7 @@ class acp_board 'title' => 'ACP_SERVER_SETTINGS', 'vars' => array( 'legend1' => 'ACP_SERVER_SETTINGS', - 'gzip_compress' => array('lang' => 'ENABLE_GZIP', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false), + 'gzip_compress' => array('lang' => 'ENABLE_GZIP', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'legend2' => 'PATH_SETTINGS', 'smilies_path' => array('lang' => 'SMILIES_PATH', 'validate' => 'rpath', 'type' => 'text:20:255', 'explain' => true), diff --git a/phpBB/language/en/acp/board.php b/phpBB/language/en/acp/board.php index f0c06ce09f..85dd4bb0bd 100644 --- a/phpBB/language/en/acp/board.php +++ b/phpBB/language/en/acp/board.php @@ -307,6 +307,7 @@ $lang = array_merge($lang, array( 'ACP_SERVER_SETTINGS_EXPLAIN' => 'Here you define server and domain dependant settings. Please ensure the data you enter is accurate, errors will result in emails containing incorrect information. When entering the domain name remember it does include http:// or other protocol term. Only alter the port number if you know your server uses a different value, port 80 is correct in most cases.', 'ENABLE_GZIP' => 'Enable GZip compression', + 'ENABLE_GZIP_EXPLAIN' => 'Generated content will be compressed prior to sending it to the user if his browser supports it. This can reduce network traffic but will also increase CPU usage on both server and client side.', 'FORCE_SERVER_VARS' => 'Force server URL settings', 'FORCE_SERVER_VARS_EXPLAIN' => 'If set to yes the server settings defined here will be used in favour of the automatically determined values.', 'ICONS_PATH' => 'Post icons storage path', From 98afc4b18eb022f9f2a3cbf0bcf7900780843fec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Sun, 25 Feb 2007 23:31:38 +0000 Subject: [PATCH 130/707] #8166 git-svn-id: file:///svn/phpbb/trunk@7080 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/acp/board.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/phpBB/language/en/acp/board.php b/phpBB/language/en/acp/board.php index 85dd4bb0bd..2ff572c5e1 100644 --- a/phpBB/language/en/acp/board.php +++ b/phpBB/language/en/acp/board.php @@ -32,8 +32,7 @@ if (empty($lang) || !is_array($lang)) // Board Settings $lang = array_merge($lang, array( - 'ACP_BOARD_SETTINGS_EXPLAIN' => 'Here you can determine the basic operation of your board, from the site name through user registration to private messaging.', - + 'ACP_BOARD_SETTINGS_EXPLAIN' => 'Here you can determine the basic operation of your board, give it a fitting name and description, and among other settings adjust the default values for timezone and language.', 'CUSTOM_DATEFORMAT' => 'Custom…', 'DEFAULT_DATE_FORMAT' => 'Date format', 'DEFAULT_DATE_FORMAT_EXPLAIN' => 'The date format is the same as the PHP date function.', From 556e83de83fdd6a52e335e7e9e667869767477a0 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Mon, 26 Feb 2007 00:43:54 +0000 Subject: [PATCH 131/707] LTR/RTL script issues... add a bi-directional override to the debug info (if shown) so that it is forced LTR, since it is always English which also always written in an LTR script (Latin). git-svn-id: file:///svn/phpbb/trunk@7081 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/subSilver/template/overall_footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/subSilver/template/overall_footer.html b/phpBB/styles/subSilver/template/overall_footer.html index 8fb846a32f..64aefc64eb 100644 --- a/phpBB/styles/subSilver/template/overall_footer.html +++ b/phpBB/styles/subSilver/template/overall_footer.html @@ -16,7 +16,7 @@ [ {L_ACP} ]

    Powered by phpBB © 2002, 2006 phpBB Group
    {TRANSLATION_INFO} -
    [ {DEBUG_OUTPUT} ]
    +
    [ {DEBUG_OUTPUT} ] From f40c96b10fe996d18e4ad5c5d76292d61ba1380c Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Mon, 26 Feb 2007 01:04:04 +0000 Subject: [PATCH 132/707] #7504 part 1... getting the phpBB logo on the correct side when RTL git-svn-id: file:///svn/phpbb/trunk@7082 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/admin.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 8e6df68b41..f5da80c1d1 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -108,12 +108,13 @@ a:hover { #page-header { text-align: right; - background: url("../images/phpbb_logo.gif") 0 0 no-repeat; + background: url("../images/phpbb_logo.gif") top left no-repeat; height: 84px; } .rtl #page-header { text-align: left; + background: url("../images/phpbb_logo.gif") top right no-repeat; } #page-header h1 { From 3fa9b786e9c0a17a78ab670fbd0c55ca9fca79e3 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Mon, 26 Feb 2007 01:11:07 +0000 Subject: [PATCH 133/707] #7504 part 2... the tabs don't need to much margin/padding fiddling after all. git-svn-id: file:///svn/phpbb/trunk@7083 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/admin.css | 7 ------- 1 file changed, 7 deletions(-) diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index f5da80c1d1..a07200c646 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -202,8 +202,6 @@ a:hover { .rtl #tabs a { float: right; - margin: 0 0 0 1px; - padding: 0 6px 0 0; } #tabs a span { @@ -216,11 +214,6 @@ a:hover { text-transform: uppercase; } -.rtl #tabs a span { - float: left; - padding: 7px 6px 6px 12px; -} - /* Commented Backslash Hack hides rule from IE5-Mac \*/ #tabs a span, .rtl #tabs a span { float:none;} /* End hack */ From 8162ae075fbe9aabde3e5be8d8880ccdb37005cd Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Mon, 26 Feb 2007 01:24:14 +0000 Subject: [PATCH 134/707] #7654 Ah CSS specificity... ;) git-svn-id: file:///svn/phpbb/trunk@7084 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/admin.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index a07200c646..20404498e1 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -697,7 +697,7 @@ fieldset dd { border-right: 1px solid #CCC; } -dd.full { +dd.full, .rtl dd.full { margin: 0; border: 0; padding: 0; From 99014e52015025735dc11e122248ce575846954a Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Mon, 26 Feb 2007 03:30:32 +0000 Subject: [PATCH 135/707] Second attempt at getting the tabs to display correctly in RTL mode. Amazingly, floating the little span on the reworked ACP permissions tabs "right" is utterly destroyed by current browsers; Firefox 1.5.0.x/2.0.0.x, Opera 9 and IE7. Only Firefox 3.0 Alpha 3 works correctly (it has the Reflow Branch stuff in, which allows it to pass Acid2)... so whilst the CSS is there, it's commented out. If you want a decent RTL CSS experience, start using Firefox 3.0 (Gran Paradiso) and get those bug reports in! git-svn-id: file:///svn/phpbb/trunk@7085 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/admin.css | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 20404498e1..b4e0cd554f 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -214,6 +214,10 @@ a:hover { text-transform: uppercase; } +.rtl #tabs a span { + float: right; +} + /* Commented Backslash Hack hides rule from IE5-Mac \*/ #tabs a span, .rtl #tabs a span { float:none;} /* End hack */ @@ -1121,8 +1125,6 @@ fieldset.perm .perm_switch { .rtl .perm_cat a { float: right; - margin: 0 0 0 1px; - padding: 0 6px 0 0; } .perm_cat a span.tabbg { @@ -1135,8 +1137,7 @@ fieldset.perm .perm_switch { } .rtl .perm_cat a span.tabbg { - float: left; - padding: 7px 6px 6px 12px; + float: right; } /* Commented Backslash Hack hides rule from IE5-Mac \*/ @@ -1183,10 +1184,12 @@ fieldset.perm .perm_switch { margin: 0 5px 0 0; } +/* Most browsers will have to live with a left aligned icon in RTL mode, as (currently) only Firefox 3.0 Alpha 3 renders it correctly without destroying it .rtl .perm_cat a span.colour { float: right; margin: 0 0 0 5px; } +*/ .perm_cat .activetab span.colour { border-color: #333333; @@ -1219,7 +1222,7 @@ fieldset.perm .perm_switch { background-color: #EFB0B2; } -/* Pemrission panel +/* Permission panel ---------------------------------------- */ .perm_panel { float: left; From 6136868e1ee3dc3a128a6d00ffcfbad59cf59e4b Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Mon, 26 Feb 2007 03:43:33 +0000 Subject: [PATCH 136/707] #7682 ... force directionality much like the for overall_footer.html, those that really want to have RTL code (.NET and C# would support this I guess) will have to add custom BBCode+CSS. :P git-svn-id: file:///svn/phpbb/trunk@7086 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/subSilver/theme/stylesheet.css | 1 + 1 file changed, 1 insertion(+) diff --git a/phpBB/styles/subSilver/theme/stylesheet.css b/phpBB/styles/subSilver/theme/stylesheet.css index 101cfdf325..97864bbb56 100644 --- a/phpBB/styles/subSilver/theme/stylesheet.css +++ b/phpBB/styles/subSilver/theme/stylesheet.css @@ -583,6 +583,7 @@ input.radio { } .codecontent { + direction: ltr; margin: 0px 5px 10px 5px; padding: 5px; border-color: #A9B8C2; From ce7845836cbd8790f454cf8e08b4ed6f6166b21d Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Mon, 26 Feb 2007 03:49:38 +0000 Subject: [PATCH 137/707] #7722 ... am sure I did this one, ho-hum. git-svn-id: file:///svn/phpbb/trunk@7087 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/install_header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/adm/style/install_header.html b/phpBB/adm/style/install_header.html index 3b1d36776e..aa1fbdf516 100755 --- a/phpBB/adm/style/install_header.html +++ b/phpBB/adm/style/install_header.html @@ -13,7 +13,7 @@ - +
{poll_option.POLL_OPTION_CAPTION} {POLL_LEFT_CAP_IMG}{poll_option.POLL_OPTION_IMG}{POLL_RIGHT_CAP_IMG}{POLL_LEFT_CAP_IMG}{poll_option.POLL_OPTION_IMG}{POLL_RIGHT_CAP_IMG}  {poll_option.POLL_OPTION_PERCENT}  [ {poll_option.POLL_OPTION_RESULT} ]
- + @@ -19,7 +19,7 @@ - + - +
{L_MARK_FORUMS_READ} {L_MARK_FORUMS_READ} 
 {L_FORUM} {forumrow.FORUM_FOLDER_IMG} -
{forumrow.FORUM_IMAGE}
+
{forumrow.FORUM_IMAGE}
{forumrow.FORUM_NAME}

{forumrow.FORUM_DESC}

@@ -36,7 +36,7 @@
{forumrow.FORUM_FOLDER_IMG} -
{forumrow.FORUM_IMAGE}
+
{forumrow.FORUM_IMAGE}
{forumrow.FORUM_NAME}

{forumrow.FORUM_DESC}

diff --git a/phpBB/styles/subSilver/template/login_body.html b/phpBB/styles/subSilver/template/login_body.html index 192613faa0..7243c983fe 100644 --- a/phpBB/styles/subSilver/template/login_body.html +++ b/phpBB/styles/subSilver/template/login_body.html @@ -34,7 +34,7 @@
style="width: 50%; text-align: right;">{L_USERNAME}:style="width: 50%; text-align: {S_CONTENT_FLOW_END};">{L_USERNAME}:
{L_REGISTER} @@ -42,7 +42,7 @@
style="width: 50%; text-align: right;">{L_PASSWORD}:style="width: 50%; text-align: {S_CONTENT_FLOW_END};">{L_PASSWORD}:
{L_FORGOT_PASS} @@ -98,6 +98,6 @@
-
+
\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/login_forum.html b/phpBB/styles/subSilver/template/login_forum.html index 29c85a78ed..5a194d209d 100644 --- a/phpBB/styles/subSilver/template/login_forum.html +++ b/phpBB/styles/subSilver/template/login_forum.html @@ -42,6 +42,6 @@
-
+
\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_footer.html b/phpBB/styles/subSilver/template/mcp_footer.html index 0b3680bf9e..790c093be6 100644 --- a/phpBB/styles/subSilver/template/mcp_footer.html +++ b/phpBB/styles/subSilver/template/mcp_footer.html @@ -4,11 +4,11 @@
- +
- +
 [ {TOTAL} ] 

@@ -22,6 +22,6 @@
-

+
\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_forum.html b/phpBB/styles/subSilver/template/mcp_forum.html index 8dc7e4d5b3..34c2dd8e6b 100644 --- a/phpBB/styles/subSilver/template/mcp_forum.html +++ b/phpBB/styles/subSilver/template/mcp_forum.html @@ -1,10 +1,10 @@ -
+
{L_VIEW_FORUM_LOGS} -
+
@@ -53,7 +53,7 @@ - + @@ -39,7 +39,7 @@ - +
{L_MARK_ALL} :: {L_UNMARK_ALL}{L_MARK_ALL} :: {L_UNMARK_ALL}
diff --git a/phpBB/styles/subSilver/template/mcp_reports.html b/phpBB/styles/subSilver/template/mcp_reports.html index e350d96d6d..15bb797a8e 100644 --- a/phpBB/styles/subSilver/template/mcp_reports.html +++ b/phpBB/styles/subSilver/template/mcp_reports.html @@ -21,10 +21,10 @@

{postrow.POST_SUBJECT}

{L_FORUM}: {postrow.FORUM_NAME}{postrow.FORUM_NAME} - {postrow.POST_AUTHOR_FULL}
+ {postrow.POST_AUTHOR_FULL}
{postrow.POST_TIME} - {postrow.REPORTER_FULL} - {postrow.REPORT_TIME}
+ {postrow.REPORTER_FULL} + {postrow.REPORT_TIME}
[ {L_VIEW_DETAILS} ] @@ -48,7 +48,7 @@ - +
{L_MARK_ALL} :: {L_UNMARK_ALL}{L_MARK_ALL} :: {L_UNMARK_ALL}
diff --git a/phpBB/styles/subSilver/template/mcp_topic.html b/phpBB/styles/subSilver/template/mcp_topic.html index 5d47730c22..714cb75884 100644 --- a/phpBB/styles/subSilver/template/mcp_topic.html +++ b/phpBB/styles/subSilver/template/mcp_topic.html @@ -134,7 +134,7 @@ - +
{L_MARK_ALL} :: {L_UNMARK_ALL}{L_MARK_ALL} :: {L_UNMARK_ALL}
diff --git a/phpBB/styles/subSilver/template/mcp_viewlogs.html b/phpBB/styles/subSilver/template/mcp_viewlogs.html index 84684e6e77..785cada6bb 100644 --- a/phpBB/styles/subSilver/template/mcp_viewlogs.html +++ b/phpBB/styles/subSilver/template/mcp_viewlogs.html @@ -44,8 +44,8 @@ - - + +
diff --git a/phpBB/styles/subSilver/template/mcp_warn_list.html b/phpBB/styles/subSilver/template/mcp_warn_list.html index fcf2ca5412..9b1d6c13ac 100755 --- a/phpBB/styles/subSilver/template/mcp_warn_list.html +++ b/phpBB/styles/subSilver/template/mcp_warn_list.html @@ -32,7 +32,7 @@ - +
{PAGE_NUMBER} [ {TOTAL_USERS} ]
diff --git a/phpBB/styles/subSilver/template/mcp_warn_user.html b/phpBB/styles/subSilver/template/mcp_warn_user.html index 61a1a5da1d..254f020db1 100755 --- a/phpBB/styles/subSilver/template/mcp_warn_user.html +++ b/phpBB/styles/subSilver/template/mcp_warn_user.html @@ -28,15 +28,15 @@ - + - + - +
{L_JOINED}: {L_JOINED}: {JOINED}
{L_TOTAL_POSTS}: {L_TOTAL_POSTS}: {POSTS}
{L_WARNINGS}: {L_WARNINGS}: {WARNINGS}
diff --git a/phpBB/styles/subSilver/template/memberlist_body.html b/phpBB/styles/subSilver/template/memberlist_body.html index d24d3792bd..d6fa99abaa 100644 --- a/phpBB/styles/subSilver/template/memberlist_body.html +++ b/phpBB/styles/subSilver/template/memberlist_body.html @@ -14,11 +14,11 @@ - + - + - +
{L_USERNAME_BEGINS_WITH}:  {L_USERNAME_BEGINS_WITH}:   {L_FIND_USERNAME}{L_FIND_USERNAME} {L_HIDE_MEMBER_SEARCH}{L_HIDE_MEMBER_SEARCH}
@@ -33,7 +33,7 @@ - + @@ -60,7 +60,7 @@ - + @@ -94,7 +94,7 @@
#{L_USERNAME}{L_USERNAME} {L_JOINED} {L_POSTS} {L_RANK}
 {memberrow.ROW_NUMBER} {memberrow.USERNAME_FULL}{L_SELECT} ]{memberrow.USERNAME_FULL}{L_SELECT} ]  {memberrow.JOINED}  {memberrow.POSTS} {memberrow.RANK_IMG}{memberrow.RANK_TITLE}
- +
{PAGE_NUMBER} [ {TOTAL_USERS} ]{L_MARK_ALL} :: {L_UNMARK_ALL}
{L_MARK_ALL} :: {L_UNMARK_ALL}
@@ -109,6 +109,6 @@
-
+
\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/memberlist_email.html b/phpBB/styles/subSilver/template/memberlist_email.html index 40cbed9377..ba82dcfce1 100644 --- a/phpBB/styles/subSilver/template/memberlist_email.html +++ b/phpBB/styles/subSilver/template/memberlist_email.html @@ -93,6 +93,6 @@ function checkForm(formObj)
-
+
\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/memberlist_leaders.html b/phpBB/styles/subSilver/template/memberlist_leaders.html index 6b7d1726cd..ba6dbde617 100644 --- a/phpBB/styles/subSilver/template/memberlist_leaders.html +++ b/phpBB/styles/subSilver/template/memberlist_leaders.html @@ -66,6 +66,6 @@
-
+
\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/memberlist_view.html b/phpBB/styles/subSilver/template/memberlist_view.html index d4ee7ca895..ea45ea130c 100644 --- a/phpBB/styles/subSilver/template/memberlist_view.html +++ b/phpBB/styles/subSilver/template/memberlist_view.html @@ -59,30 +59,30 @@ - + - + - + - + - + - + @@ -97,33 +97,33 @@ diff --git a/phpBB/styles/subSilver/template/viewforum_body.html b/phpBB/styles/subSilver/template/viewforum_body.html index f436b74b65..0b724db8d2 100644 --- a/phpBB/styles/subSilver/template/viewforum_body.html +++ b/phpBB/styles/subSilver/template/viewforum_body.html @@ -122,7 +122,7 @@ - +
{L_JOINED}: {L_JOINED}: {JOINED}
{L_VISITED}: {L_VISITED}: {VISITED}
{L_WARNINGS}: {L_WARNINGS}: {WARNINGS}
[ {L_VIEW_NOTES} | {L_WARN_USER} ]
{L_TOTAL_POSTS}: {L_TOTAL_POSTS}: {POSTS}
[{POSTS_PCT} / {POSTS_DAY}]
{L_SEARCH_USER_POSTS}
{L_ACTIVE_IN_FORUM}: {L_ACTIVE_IN_FORUM}: {ACTIVE_FORUM}
[ {ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT} ]-
{L_ACTIVE_IN_TOPIC}: {L_ACTIVE_IN_TOPIC}: {ACTIVE_TOPIC}
[ {ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT} ]-
- + - + - + - + - + - + - +
{L_EMAIL_ADDRESS}: {L_EMAIL_ADDRESS}: {EMAIL_IMG}
{L_PM}: {L_PM}: {PM_IMG}
{L_MSNM}: {L_MSNM}: {MSN_IMG}
{L_YIM}: {L_YIM}: {YIM_IMG}
{L_AIM}: {L_AIM}: {AIM_IMG}
{L_ICQ}: {L_ICQ}: {ICQ_IMG}
{L_JABBER}: {L_JABBER}: {JABBER_IMG}{JABBER_IMG}
@@ -131,39 +131,39 @@
- + - + - + - + - + - + - + - + @@ -190,6 +190,6 @@
-
+
\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/overall_header.html b/phpBB/styles/subSilver/template/overall_header.html index cb7feca620..045cbfee17 100644 --- a/phpBB/styles/subSilver/template/overall_header.html +++ b/phpBB/styles/subSilver/template/overall_header.html @@ -158,7 +158,7 @@ function marklist(id, name, state) - + From fcec5b61daecb4a0174418d3851ee1e0e8a0d93c Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 8 Mar 2007 15:49:13 +0000 Subject: [PATCH 200/707] again... some more fixes. git-svn-id: file:///svn/phpbb/trunk@7150 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/permission_mask.html | 2 +- phpBB/includes/acp/acp_groups.php | 1 + phpBB/includes/acp/acp_permissions.php | 2 +- phpBB/includes/acp/auth.php | 9 ++++- phpBB/includes/functions.php | 15 ++++++-- phpBB/includes/functions_posting.php | 24 +++++++++++- phpBB/includes/functions_upload.php | 6 +++ phpBB/includes/functions_user.php | 32 +++++++++++++--- phpBB/includes/session.php | 13 +++++++ phpBB/includes/ucp/ucp_pm_compose.php | 22 +++++++++-- phpBB/install/convertors/convert_phpbb20.php | 1 + phpBB/language/en/acp/common.php | 38 +++++++++---------- phpBB/language/en/ucp.php | 2 + phpBB/memberlist.php | 22 +++++++---- phpBB/posting.php | 8 +++- .../styles/subSilver/template/login_body.html | 2 + .../subSilver/template/viewforum_body.html | 2 +- phpBB/viewforum.php | 1 + 18 files changed, 154 insertions(+), 48 deletions(-) diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html index e934324976..471c465807 100644 --- a/phpBB/adm/style/permission_mask.html +++ b/phpBB/adm/style/permission_mask.html @@ -18,7 +18,7 @@
-

{p_mask.NAME} [{p_mask.L_ACL_TYPE}]

+

{p_mask.PADDING}{p_mask.NAME} [{p_mask.L_ACL_TYPE}]

diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index 7af21bb30c..93ab4eedaa 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -104,6 +104,7 @@ class acp_groups if (confirm_box(true)) { $group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; + if (!sizeof($mark_ary)) { $start = 0; diff --git a/phpBB/includes/acp/acp_permissions.php b/phpBB/includes/acp/acp_permissions.php index 225daf01c6..6102088c8f 100644 --- a/phpBB/includes/acp/acp_permissions.php +++ b/phpBB/includes/acp/acp_permissions.php @@ -422,7 +422,7 @@ class acp_permissions $sql = 'SELECT forum_name FROM ' . FORUMS_TABLE . ' WHERE ' . $db->sql_in_set('forum_id', $forum_id) . ' - ORDER BY forum_name ASC'; + ORDER BY left_id ASC'; $result = $db->sql_query($sql); $forum_names = array(); diff --git a/phpBB/includes/acp/auth.php b/phpBB/includes/acp/auth.php index 58e8e47159..c78a2e2025 100644 --- a/phpBB/includes/acp/auth.php +++ b/phpBB/includes/acp/auth.php @@ -437,9 +437,12 @@ class auth_admin extends auth $hold_ary = array(); foreach ($hold_ary_temp as $ug_id => $row) { - foreach ($row as $forum_id => $auth_row) + foreach ($forum_names_ary as $forum_id => $forum_row) { - $hold_ary[$forum_id][$ug_id] = $auth_row; + if (isset($row[$forum_id])) + { + $hold_ary[$forum_id][$ug_id] = $row[$forum_id]; + } } } unset($hold_ary_temp); @@ -451,6 +454,8 @@ class auth_admin extends auth $template->assign_block_vars($tpl_pmask, array( 'NAME' => ($forum_id == 0) ? $forum_names_ary[0] : $forum_names_ary[$forum_id]['forum_name'], + 'PADDING' => ($forum_id == 0) ? '' : $forum_names_ary[$forum_id]['padding'], + 'CATEGORIES' => implode('
+ +
{L_USERGROUPS}: {L_USERGROUPS}:
{L_LOCATION}: {L_LOCATION}: {LOCATION}
{L_AGE}: {L_AGE}: {AGE}
{L_OCCUPATION}: {L_OCCUPATION}: {OCCUPATION}
{L_INTERESTS}: {L_INTERESTS}: {INTERESTS}
{L_WEBSITE}: {L_WEBSITE}: {U_WWW}
{PROFILE_FIELD1_NAME}: {PROFILE_FIELD1_NAME}: {PROFILE_FIELD1_VALUE}
{custom_fields.PROFILE_FIELD_NAME}: {custom_fields.PROFILE_FIELD_NAME}: {custom_fields.PROFILE_FIELD_VALUE}
+ * {L_FAQ}    * {L_SEARCH} @@ -174,7 +174,7 @@ function marklist(id, name, state) - +
{LAST_VISIT_DATE}{CURRENT_TIME}
{CURRENT_TIME}
@@ -185,9 +185,9 @@ function marklist(id, name, state) diff --git a/phpBB/styles/subSilver/template/posting_body.html b/phpBB/styles/subSilver/template/posting_body.html index f3eb6ad32e..599d32fe15 100644 --- a/phpBB/styles/subSilver/template/posting_body.html +++ b/phpBB/styles/subSilver/template/posting_body.html @@ -413,7 +413,7 @@ - +
diff --git a/phpBB/styles/subSilver/template/posting_buttons.html b/phpBB/styles/subSilver/template/posting_buttons.html index b07f18a5ea..28124a9ee6 100644 --- a/phpBB/styles/subSilver/template/posting_buttons.html +++ b/phpBB/styles/subSilver/template/posting_buttons.html @@ -1,4 +1,4 @@ -
- + {S_HIDDEN_FIELDS} @@ -339,7 +339,7 @@
- +


diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 226402c403..4ed89e645a 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -659,7 +659,7 @@ dd textarea { width: 100%; } -input.radio, input.perm_cb { +input.radio, input.permissions-checkbox { width: auto !important; background-color: transparent; border: none; @@ -1051,66 +1051,66 @@ input.disabled { /* Permission interface ---------------------------------------- */ -fieldset.perm legend { +fieldset.permissions legend { text-transform: none; } -fieldset.perm legend input{ +fieldset.permissions legend input{ height: 1.1em; } /* Permission sections */ -fieldset.perm .perm_simple { +fieldset.permissions .permissions-simple { text-align: left; padding-top: 3px; } -.rtl fieldset.perm .perm_simple { +.rtl fieldset.permissions .permissions-simple { text-align: right; } -fieldset.perm .perm_advanced { +fieldset.permissions .permissions-advanced { padding: 10px 0 0 5px; vertical-align: top; clear: right; } -.rtl fieldset.perm .perm_advanced { +.rtl fieldset.permissions .permissions-advanced { padding: 10px 5px 0 0; clear: left; } -fieldset.perm .perm_switch { +fieldset.permissions .permissions-switch { float: right; font-size: 1.1em; } -.rtl fieldset.perm .perm_switch { +.rtl fieldset.permissions .permissions-switch { float: left; } -.perm_switch a { +.permissions-switch a { text-decoration: underline; } /* Tabbed menu */ -.perm_cat { +.permissions-category { line-height: normal; margin: 0 0 0 7px; min-width: 570px; font-size: 1em; } -.rtl .perm_cat { +.rtl .permissions-category { margin: 0 7px 0 0; } -.perm_cat ul { +.permissions-category ul { margin: 0; padding: 0; list-style: none; } -.perm_cat li { +.permissions-category li { display: inline; margin: 0; padding: 0; @@ -1118,7 +1118,7 @@ fieldset.perm .perm_switch { font-weight: bold; } -.perm_cat a { +.permissions-category a { float: left; background: url("../images/bg_tabs1.gif") no-repeat 0% -35px; margin: 0 1px 0 0; @@ -1127,11 +1127,11 @@ fieldset.perm .perm_switch { position: relative; } -.rtl .perm_cat a { +.rtl .permissions-category a { float: right; } -.perm_cat a span.tabbg { +.permissions-category a span.tabbg { float: left; display: block; background: url("../images/bg_tabs2.gif") no-repeat 100% -35px; @@ -1140,46 +1140,46 @@ fieldset.perm .perm_switch { white-space: nowrap; } -.rtl .perm_cat a span.tabbg { +.rtl .permissions-category a span.tabbg { float: right; } /* Commented Backslash Hack hides rule from IE5-Mac \*/ -.perm_cat a span.tabbg, .rtl .perm_cat a span.tabbg { float: none;} +.permissions-category a span.tabbg, .rtl .permissions-category a span.tabbg { float: none;} /* End hack */ -.perm_cat a:hover span.tabbg { +.permissions-category a:hover span.tabbg { color: #DD6900; } -.perm_cat .activetab a { +.permissions-category .activetab a { background-position: 0 0px; } -.perm_cat .activetab a span.tabbg { +.permissions-category .activetab a span.tabbg { background-position: 100% 0px; padding-bottom: 7px; color: #333333; } -.perm_cat a:hover { +.permissions-category a:hover { background-position: 0 -70px; } -.perm_cat a:hover span.tabbg { +.permissions-category a:hover span.tabbg { background-position: 100% -70px; } -.perm_cat .activetab a:hover span.tabbg { +.permissions-category .activetab a:hover span.tabbg { color: #333333; background-position: 100% 0px; } -.perm_cat .activetab a:hover { +.permissions-category .activetab a:hover { background-position: 0 0px; } -.perm_cat a span.colour { +.permissions-category a span.colour { border: 1px solid #536482; display: block; float: left; @@ -1189,46 +1189,46 @@ fieldset.perm .perm_switch { } /* Most browsers will have to live with a left aligned icon in RTL mode, as (currently) only Firefox 3.0 Alpha 3 renders it correctly without destroying it -.rtl .perm_cat a span.colour { +.rtl .permissions-category a span.colour { float: right; margin: 0 0 0 5px; } */ -.perm_cat .activetab span.colour { +.permissions-category .activetab span.colour { border-color: #333333; } -.perm_cat a:hover span.colour { +.permissions-category a:hover span.colour { border-color: #DD6900; } -.perm_cat .activetab a:hover span.colour { +.permissions-category .activetab a:hover span.colour { border-color: #333333; } /* Permission preset colours */ -.perm_preset_yes span.colour, +.permissions-preset-yes span.colour, .yes { background-color: #86F786; } -.perm_preset_custom span.colour { +.permissions-preset-custom span.colour { background-color: #B2BBDD; } -.perm_preset_never span.colour { +.permissions-preset-never span.colour { background-color: #DD0000; } -.perm_preset_no span.colour, +.permissions-preset-no span.colour, .never { background-color: #EFB0B2; } /* Permission panel ---------------------------------------- */ -.perm_panel { +.permissions-panel { float: left; background-color: #FFF; width: 100%; @@ -1236,28 +1236,28 @@ fieldset.perm .perm_switch { margin-top: -1px; } -.rtl .perm_panel { +.rtl .permissions-panel { float: right; } -.perm_panel span.corners-top { +.permissions-panel span.corners-top { background-image: url("../images/corners_left2.gif"); } -.perm_panel span.corners-top span { +.permissions-panel span.corners-top span { background-image: url("../images/corners_right2.gif"); } -.perm_panel span.corners-bottom { +.permissions-panel span.corners-bottom { background-image: url("../images/corners_left2.gif"); } -.perm_panel span.corners-bottom span { +.permissions-panel span.corners-bottom span { background-image: url("../images/corners_right2.gif"); } -.perm_panel span.corners-top, .perm_panel span.corners-bottom, -.perm_panel span.corners-top span, .perm_panel span.corners-bottom span { +.permissions-panel span.corners-top, .permissions-panel span.corners-bottom, +.permissions-panel span.corners-top span, .permissions-panel span.corners-bottom span { font-size: 1px; line-height: 1px; display: block; @@ -1265,88 +1265,88 @@ fieldset.perm .perm_switch { background-repeat: no-repeat; } -.perm_panel span.corners-top { +.permissions-panel span.corners-top { background-image: url("../images/corners_left2.gif"); background-position: 0 0; margin: 0 0; } -.perm_panel span.corners-top span { +.permissions-panel span.corners-top span { background-image: url("../images/corners_right2.gif"); background-position: 100% 0; } -.perm_panel span.corners-bottom { +.permissions-panel span.corners-bottom { background-image: url("../images/corners_left2.gif"); background-position: 0 100%; margin: 0 0; clear: both; } -.perm_panel span.corners-bottom span { +.permissions-panel span.corners-bottom span { background-image: url("../images/corners_right2.gif"); background-position: 100% 100%; } /* Permission table ---------------------------------------- */ -.perm_panel .tablewrap { +.permissions-panel .tablewrap { margin: 0 10px; } -.perm_panel table { +.permissions-panel table { width: 100%; } -.perm_panel th { +.permissions-panel th { text-transform: none; } -.perm_panel th.value { +.permissions-panel th.value { text-align: center; } -.perm_panel th.name { +.permissions-panel th.name { text-align: left; width: auto; text-transform: none; } -.rtl .perm_panel th.name { +.rtl .permissions-panel th.name { text-align: right; } -.perm_panel th.permission_name { +.permissions-panel th.permission-name { border: none; color: #536482; font-weight: normal; } -.perm_panel th.permission_name a.trace { +.permissions-panel th.permission-name a.trace { display: inline; } -.perm_panel th.row3 { +.permissions-panel th.row3 { background-image: none; background-color: #D1D7DC; } -.perm_panel th.row4 { +.permissions-panel th.row4 { background-image: none; background-color: #E4E8EB; } -.perm_panel th a:link, .perm_panel th a:hover, .perm_panel th a:visited { +.permissions-panel th a:link, .permissions-panel th a:hover, .permissions-panel th a:visited { display: block; color: #FFA34F; text-decoration: underline; } -.perm_panel td { +.permissions-panel td { padding: 0; text-align: center; } -.perm_panel td label { +.permissions-panel td label { display: block; } diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html index 7ef2bc1848..6e9954312f 100644 --- a/phpBB/adm/style/permission_mask.html +++ b/phpBB/adm/style/permission_mask.html @@ -24,20 +24,20 @@
-
+
- + {p_mask.f_mask.NAME} -
+ -
+
@@ -49,20 +49,20 @@ -
style="display: none;"> +
style="display: none;"> -
+
-
style="display: none;"> +
style="display: none;">
@@ -98,7 +98,7 @@ - + class="yes" class="never"> diff --git a/phpBB/adm/style/permissions.js b/phpBB/adm/style/permissions.js index eb84e40435..adc8995c23 100644 --- a/phpBB/adm/style/permissions.js +++ b/phpBB/adm/style/permissions.js @@ -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); } From 934ad4bc1899aa12e2d3aadfac54a8753c57e8b5 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Tue, 6 Mar 2007 00:18:23 +0000 Subject: [PATCH 179/707] Old typo... so there never was a "permission_name" in the HTML. git-svn-id: file:///svn/phpbb/trunk@7129 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_permission_roles.html | 8 ++++---- phpBB/adm/style/admin.css | 4 ++-- phpBB/adm/style/permission_mask.html | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/phpBB/adm/style/acp_permission_roles.html b/phpBB/adm/style/acp_permission_roles.html index b0364f04f1..37a8fc37c2 100644 --- a/phpBB/adm/style/acp_permission_roles.html +++ b/phpBB/adm/style/acp_permission_roles.html @@ -93,10 +93,10 @@
{L_TRACE_SETTING} {p_mask.f_mask.category.mask.PERMISSION}{L_TRACE_SETTING} {p_mask.f_mask.category.mask.PERMISSION}
- - - - + + + + diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 4ed89e645a..283e7086f1 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -1316,13 +1316,13 @@ fieldset.permissions .permissions-switch { text-align: right; } -.permissions-panel th.permission-name { +.permissions-panel th.permissions-name { border: none; color: #536482; font-weight: normal; } -.permissions-panel th.permission-name a.trace { +.permissions-panel th.permissions-name a.trace { display: inline; } diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html index 6e9954312f..c1f77bd3cc 100644 --- a/phpBB/adm/style/permission_mask.html +++ b/phpBB/adm/style/permission_mask.html @@ -75,11 +75,11 @@
- - - + + + - + From 63d7c848676734f2145331b3bd1ede683fdcccf7 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Tue, 6 Mar 2007 00:57:31 +0000 Subject: [PATCH 180/707] Tidy-up. git-svn-id: file:///svn/phpbb/trunk@7130 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_permission_roles.html | 14 +++++++------- phpBB/adm/style/admin.css | 1 + phpBB/adm/style/permission_mask.html | 6 +++--- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/phpBB/adm/style/acp_permission_roles.html b/phpBB/adm/style/acp_permission_roles.html index 37a8fc37c2..d70533bd94 100644 --- a/phpBB/adm/style/acp_permission_roles.html +++ b/phpBB/adm/style/acp_permission_roles.html @@ -101,19 +101,19 @@ - - - + + + - + - - - + + + diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 283e7086f1..61da31005b 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -1345,6 +1345,7 @@ fieldset.permissions .permissions-switch { .permissions-panel td { padding: 0; text-align: center; + width: 10%; } .permissions-panel td label { diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html index c1f77bd3cc..1adbe90489 100644 --- a/phpBB/adm/style/permission_mask.html +++ b/phpBB/adm/style/permission_mask.html @@ -86,8 +86,8 @@ - - + + @@ -98,7 +98,7 @@ - + class="yes" class="never"> From 62eb32dd932ac45adc8019adfa81788c43f2332c Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Tue, 6 Mar 2007 01:19:48 +0000 Subject: [PATCH 181/707] Dear SourceForge... please let me commit, before I commit myself? <3 SHS` git-svn-id: file:///svn/phpbb/trunk@7131 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/permission_mask.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html index 1adbe90489..6c32ff7565 100644 --- a/phpBB/adm/style/permission_mask.html +++ b/phpBB/adm/style/permission_mask.html @@ -89,9 +89,9 @@ - - - + + + @@ -103,9 +103,9 @@ class="yes" class="never"> - - - + + + From 770e35d27ea490bb8ce27759531dff9dc85b4382 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Tue, 6 Mar 2007 01:22:00 +0000 Subject: [PATCH 182/707] Ahem git-svn-id: file:///svn/phpbb/trunk@7132 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/permission_mask.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html index 6c32ff7565..57bcbcfe32 100644 --- a/phpBB/adm/style/permission_mask.html +++ b/phpBB/adm/style/permission_mask.html @@ -104,8 +104,8 @@ class="never"> - - + + From 1070cf800fd9a101a50bb89fe9c6571e5651ef72 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Tue, 6 Mar 2007 11:22:43 +0000 Subject: [PATCH 183/707] ok, try to fix a bug introduced by fixing bug #8388 git-svn-id: file:///svn/phpbb/trunk@7133 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/viewforum.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php index b5b04c6a00..6b21d014b3 100644 --- a/phpBB/viewforum.php +++ b/phpBB/viewforum.php @@ -405,7 +405,8 @@ $sql_array = array( // the number of stickies are not known $sql = $db->sql_build_query('SELECT', $sql_array); $sql = str_replace('{SQL_TOPIC_TYPE}', ($store_reverse) ? POST_NORMAL : POST_STICKY, $sql); -$result = $db->sql_query_limit($sql, $sql_limit); + +$result = ($store_reverse) ? $db->sql_query_limit($sql, $sql_limit, $sql_start) : $db->sql_query_limit($sql, $sql_limit); $shadow_topic_list = array(); @@ -419,7 +420,7 @@ while ($row = $db->sql_fetchrow($result)) { $start_count++; - if ($start_count >= $sql_start) + if ((!$store_reverse && $start_count >= $sql_start) || $store_reverse) { if ($row['topic_status'] == ITEM_MOVED) { @@ -439,8 +440,15 @@ if ($num_rows < $sql_limit) $sql = $db->sql_build_query('SELECT', $sql_array); $sql = str_replace('{SQL_TOPIC_TYPE}', ($store_reverse) ? POST_STICKY : POST_NORMAL, $sql); - // Start at $sql_start - number of sticky topics on the previous page ($start_count - $num_rows) - $result = $db->sql_query_limit($sql, $sql_limit - $num_rows, $sql_start - ($start_count - $num_rows)); + if (!$store_reverse) + { + // Start at $sql_start - number of sticky topics on the previous page ($start_count - $num_rows) + $result = $db->sql_query_limit($sql, $sql_limit - $num_rows, $sql_start - ($start_count - $num_rows)); + } + else + { + $result = $db->sql_query_limit($sql, $sql_limit - $num_rows, $sql_start); + } while ($row = $db->sql_fetchrow($result)) { From f0755f6daf0713c360b4ac99ca3ce82e9d4c421e Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Tue, 6 Mar 2007 11:30:12 +0000 Subject: [PATCH 184/707] safer name for the updater downloads (even if removed after download) - reported by SHS` git-svn-id: file:///svn/phpbb/trunk@7134 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_compress.php | 22 ++++++++++++++++------ phpBB/install/install_update.php | 6 ++++-- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/phpBB/includes/functions_compress.php b/phpBB/includes/functions_compress.php index 3fe2bf9a9b..d8267cf7f6 100644 --- a/phpBB/includes/functions_compress.php +++ b/phpBB/includes/functions_compress.php @@ -419,15 +419,20 @@ class compress_zip extends compress /** * Download archive */ - function download($filename) + function download($filename, $download_name = false) { global $phpbb_root_path; + if ($download_name === false) + { + $download_name = $filename; + } + $mimetype = 'application/zip'; header('Pragma: no-cache'); - header("Content-Type: $mimetype; name=\"$filename.zip\""); - header("Content-disposition: attachment; filename=$filename.zip"); + header("Content-Type: $mimetype; name=\"$download_name.zip\""); + header("Content-disposition: attachment; filename=$download_name.zip"); $fp = fopen("{$phpbb_root_path}store/$filename.zip", 'rb'); while ($buffer = fread($fp, 1024)) @@ -611,10 +616,15 @@ class compress_tar extends compress /** * Download archive */ - function download($filename) + function download($filename, $download_name = false) { global $phpbb_root_path; + if ($download_name === false) + { + $download_name = $filename; + } + switch ($this->type) { case '.tar': @@ -635,8 +645,8 @@ class compress_tar extends compress } header('Pragma: no-cache'); - header("Content-Type: $mimetype; name=\"$filename$this->type\""); - header("Content-disposition: attachment; filename=$filename$this->type"); + header("Content-Type: $mimetype; name=\"$download_name$this->type\""); + header("Content-disposition: attachment; filename=$download_name$this->type"); $fp = fopen("{$phpbb_root_path}store/$filename$this->type", 'rb'); while ($buffer = fread($fp, 1024)) diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php index a2e2084f28..caa5158dad 100644 --- a/phpBB/install/install_update.php +++ b/phpBB/install/install_update.php @@ -590,7 +590,9 @@ class install_update extends module } // Now update the installation or download the archive... - $archive_filename = 'update_' . $this->update_info['version']['from'] . '_to_' . $this->update_info['version']['to']; + $download_filename = 'update_' . $this->update_info['version']['from'] . '_to_' . $this->update_info['version']['to']; + $archive_filename = $download_filename . '_' . time() . '_' . unique_id(); + $update_list = $cache->get('_update_list'); $conflicts = request_var('conflict', array('' => 0)); @@ -749,7 +751,7 @@ class install_update extends module { $compress->close(); - $compress->download($archive_filename); + $compress->download($archive_filename, $download_filename); @unlink($phpbb_root_path . 'store/' . $archive_filename . $use_method); exit; From c9fdacf0558b7bceac033ed5653c5f337f6fbc60 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Tue, 6 Mar 2007 11:34:38 +0000 Subject: [PATCH 185/707] fix issue with user agent and debug_extra enabled - reported by kellanved... git-svn-id: file:///svn/phpbb/trunk@7135 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/session.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 81fc33c924..80fd7e0687 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -138,7 +138,7 @@ class session $this->time_now = time(); $this->cookie_data = array('u' => 0, 'k' => ''); $this->update_session_page = $update_session_page; - $this->browser = (!empty($_SERVER['HTTP_USER_AGENT'])) ? (string) $_SERVER['HTTP_USER_AGENT'] : ''; + $this->browser = (!empty($_SERVER['HTTP_USER_AGENT'])) ? htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT']) : ''; $this->forwarded_for = (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) ? (string) $_SERVER['HTTP_X_FORWARDED_FOR'] : ''; $this->host = (!empty($_SERVER['HTTP_HOST'])) ? (string) $_SERVER['HTTP_HOST'] : 'localhost'; $this->page = $this->extract_current_page($phpbb_root_path); From 2f516661aca09b656a907208bed7ba5ef6a92c68 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Tue, 6 Mar 2007 13:58:05 +0000 Subject: [PATCH 186/707] for the time being, completely revert back to the old method - which may be slower for very very large boards... the previous code had severe bugs - to fix them properly would introduce even more queries which would slow down the complete viewforum page again. git-svn-id: file:///svn/phpbb/trunk@7136 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/viewforum.php | 53 ++++++++++++++------------------------------- 1 file changed, 16 insertions(+), 37 deletions(-) diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php index 6b21d014b3..ea71ea2b1f 100644 --- a/phpBB/viewforum.php +++ b/phpBB/viewforum.php @@ -392,63 +392,42 @@ $sql_array = array( 'FROM' => $sql_array['FROM'], 'LEFT_JOIN' => $sql_array['LEFT_JOIN'], - 'WHERE' => $sql_where . " - AND t.topic_type = {SQL_TOPIC_TYPE} + 'WHERE' => $sql_where . ' + AND t.topic_type IN (' . POST_NORMAL . ', ' . POST_STICKY . ") $sql_approved $sql_limit_time", - 'ORDER_BY' => $sql_sort_order, + 'ORDER_BY' => 't.topic_type ' . ((!$store_reverse) ? 'DESC' : 'ASC') . ', ' . $sql_sort_order, ); // If store_reverse, then first obtain topics, then stickies, else the other way around... // Funnily enough you typically save one query if going from the last page to the middle (store_reverse) because // the number of stickies are not known $sql = $db->sql_build_query('SELECT', $sql_array); -$sql = str_replace('{SQL_TOPIC_TYPE}', ($store_reverse) ? POST_NORMAL : POST_STICKY, $sql); - -$result = ($store_reverse) ? $db->sql_query_limit($sql, $sql_limit, $sql_start) : $db->sql_query_limit($sql, $sql_limit); +//$sql = str_replace('{SQL_TOPIC_TYPE}', ($store_reverse) ? POST_NORMAL : POST_STICKY, $sql); +$result = $db->sql_query_limit($sql, $sql_limit, $sql_start); $shadow_topic_list = array(); - -// Total number of normal or sticky topics that have been retrieved -$start_count = 0; - -// Number of normal or sticky topics that have been placed -$num_rows = 0; - +//$num_rows = 0; while ($row = $db->sql_fetchrow($result)) { - $start_count++; - - if ((!$store_reverse && $start_count >= $sql_start) || $store_reverse) + if ($row['topic_status'] == ITEM_MOVED) { - if ($row['topic_status'] == ITEM_MOVED) - { - $shadow_topic_list[$row['topic_moved_id']] = $row['topic_id']; - } - - $rowset[$row['topic_id']] = $row; - $topic_list[] = $row['topic_id']; - $num_rows++; + $shadow_topic_list[$row['topic_moved_id']] = $row['topic_id']; } + + $rowset[$row['topic_id']] = $row; + $topic_list[] = $row['topic_id']; +// $num_rows++; } $db->sql_freeresult($result); -// If the number of topics exceeds the sql limit then we do not need to retrieve the remaining topic type +/* If the number of topics exceeds the sql limit then we do not need to retrieve the remaining topic type if ($num_rows < $sql_limit) { $sql = $db->sql_build_query('SELECT', $sql_array); $sql = str_replace('{SQL_TOPIC_TYPE}', ($store_reverse) ? POST_STICKY : POST_NORMAL, $sql); - - if (!$store_reverse) - { - // Start at $sql_start - number of sticky topics on the previous page ($start_count - $num_rows) - $result = $db->sql_query_limit($sql, $sql_limit - $num_rows, $sql_start - ($start_count - $num_rows)); - } - else - { - $result = $db->sql_query_limit($sql, $sql_limit - $num_rows, $sql_start); - } + $result = $db->sql_query_limit($sql, $sql_limit - $num_rows, $sql_start); while ($row = $db->sql_fetchrow($result)) { @@ -462,7 +441,7 @@ if ($num_rows < $sql_limit) } $db->sql_freeresult($result); } - +*/ // If we have some shadow topics, update the rowset to reflect their topic information if (sizeof($shadow_topic_list)) { @@ -615,8 +594,8 @@ if (sizeof($topic_list)) 'TOPIC_TYPE' => $topic_type, 'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt), - 'TOPIC_FOLDER_IMG_ALT' => $user->lang[$folder_alt], 'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'), + 'TOPIC_FOLDER_IMG_ALT' => $user->lang[$folder_alt], 'TOPIC_ICON_IMG' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['img'] : '', 'TOPIC_ICON_IMG_WIDTH' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['width'] : '', 'TOPIC_ICON_IMG_HEIGHT' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['height'] : '', From 44fab300022812cb63e3270bdf4f575f1e4117ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Tue, 6 Mar 2007 16:06:19 +0000 Subject: [PATCH 187/707] Be gone thou hardcoded image dimensions! There is not enough room for both of us! git-svn-id: file:///svn/phpbb/trunk@7137 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_forums.php | 6 +++--- phpBB/includes/acp/acp_modules.php | 4 ++-- phpBB/includes/acp/auth.php | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php index 978587a650..dc187f6ed1 100644 --- a/phpBB/includes/acp/acp_forums.php +++ b/phpBB/includes/acp/acp_forums.php @@ -743,18 +743,18 @@ class acp_forums if ($row['forum_status'] == ITEM_LOCKED) { - $folder_image = '' . $user->lang['LOCKED'] . ''; + $folder_image = '' . $user->lang['LOCKED'] . ''; } else { switch ($forum_type) { case FORUM_LINK: - $folder_image = '' . $user->lang['LINK'] . ''; + $folder_image = '' . $user->lang['LINK'] . ''; break; default: - $folder_image = ($row['left_id'] + 1 != $row['right_id']) ? '' . $user->lang['SUBFORUM'] . '' : '' . $user->lang['FOLDER'] . ''; + $folder_image = ($row['left_id'] + 1 != $row['right_id']) ? '' . $user->lang['SUBFORUM'] . '' : '' . $user->lang['FOLDER'] . ''; break; } } diff --git a/phpBB/includes/acp/acp_modules.php b/phpBB/includes/acp/acp_modules.php index a1917b1717..e82365d0a5 100644 --- a/phpBB/includes/acp/acp_modules.php +++ b/phpBB/includes/acp/acp_modules.php @@ -396,11 +396,11 @@ class acp_modules if (!$row['module_enabled']) { - $module_image = '' . $user->lang['DEACTIVATED_MODULE'] .''; + $module_image = '' . $user->lang['DEACTIVATED_MODULE'] .''; } else { - $module_image = (!$row['module_basename'] || $row['left_id'] + 1 != $row['right_id']) ? '' . $user->lang['CATEGORY'] . '' : '' . $user->lang['MODULE'] . ''; + $module_image = (!$row['module_basename'] || $row['left_id'] + 1 != $row['right_id']) ? '' . $user->lang['CATEGORY'] . '' : '' . $user->lang['MODULE'] . ''; } $url = $this->u_action . '&parent_id=' . $this->parent_id . '&m=' . $row['module_id']; diff --git a/phpBB/includes/acp/auth.php b/phpBB/includes/acp/auth.php index 375a9c9ba3..58e8e47159 100644 --- a/phpBB/includes/acp/auth.php +++ b/phpBB/includes/acp/auth.php @@ -559,7 +559,7 @@ class auth_admin extends auth { if ($forum_names_ary[$forum_id]['forum_status'] == ITEM_LOCKED) { - $folder_image = '' . $user->lang['FORUM_LOCKED'] . ''; + $folder_image = '' . $user->lang['FORUM_LOCKED'] . ''; } else { @@ -570,7 +570,7 @@ class auth_admin extends auth break; default: - $folder_image = ($forum_names_ary[$forum_id]['left_id'] + 1 != $forum_names_ary[$forum_id]['right_id']) ? '' . $user->lang['SUBFORUM'] . '' : '' . $user->lang['FOLDER'] . ''; + $folder_image = ($forum_names_ary[$forum_id]['left_id'] + 1 != $forum_names_ary[$forum_id]['right_id']) ? '' . $user->lang['SUBFORUM'] . '' : '' . $user->lang['FOLDER'] . ''; break; } } From 37d1d9277b985461509e74f646ddd3fe29248646 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Tue, 6 Mar 2007 16:51:44 +0000 Subject: [PATCH 188/707] fix guest posting/editing bugs git-svn-id: file:///svn/phpbb/trunk@7138 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/posting.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/posting.php b/phpBB/posting.php index b772c7aa1d..e585b73e7d 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -708,7 +708,7 @@ if ($submit || $preview || $refresh) { include($phpbb_root_path . 'includes/functions_user.' . $phpEx); - if (($result = validate_username($post_data['username'], $post_data['post_username'])) !== false) + if (($result = validate_username($post_data['username'], (!empty($post_data['post_username'])) ? $post_data['post_username'] : '')) !== false) { $user->add_lang('ucp'); $error[] = $user->lang[$result . '_USERNAME']; @@ -1221,7 +1221,7 @@ $template->assign_vars(array( 'S_CLOSE_PROGRESS_WINDOW' => (isset($_POST['add_file'])) ? true : false, 'S_EDIT_POST' => ($mode == 'edit') ? true : false, 'S_EDIT_REASON' => ($mode == 'edit' && $auth->acl_get('m_edit', $forum_id)) ? true : false, - 'S_DISPLAY_USERNAME' => (!$user->data['is_registered'] || ($mode == 'edit' && $post_data['post_username'])) ? true : false, + 'S_DISPLAY_USERNAME' => (!$user->data['is_registered'] || ($mode == 'edit' && $post_data['poster_id'] == ANONYMOUS)) ? true : false, 'S_SHOW_TOPIC_ICONS' => $s_topic_icons, 'S_DELETE_ALLOWED' => ($mode == 'edit' && (($post_id == $post_data['topic_last_post_id'] && $post_data['poster_id'] == $user->data['user_id'] && $auth->acl_get('f_delete', $forum_id)) || $auth->acl_get('m_delete', $forum_id))) ? true : false, 'S_BBCODE_ALLOWED' => $bbcode_status, From e981c166eae48eae6bc9506d1b2005b021b8616a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Tue, 6 Mar 2007 17:00:29 +0000 Subject: [PATCH 189/707] #8552 git-svn-id: file:///svn/phpbb/trunk@7139 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/permission_mask.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html index 57bcbcfe32..e934324976 100644 --- a/phpBB/adm/style/permission_mask.html +++ b/phpBB/adm/style/permission_mask.html @@ -16,9 +16,7 @@ - -

{p_mask.NAME} [{p_mask.L_ACL_TYPE}]

@@ -117,7 +115,9 @@

{L_APPLY_PERMISSIONS_EXPLAIN}

-

{L_MARK_ALL}{L_UNMARK_ALL}

+ +

{L_MARK_ALL}{L_UNMARK_ALL}

+
From 484946e0d7b8478229558166c0b76667a01e02ae Mon Sep 17 00:00:00 2001 From: David M Date: Tue, 6 Mar 2007 21:11:23 +0000 Subject: [PATCH 190/707] #8538 git-svn-id: file:///svn/phpbb/trunk@7140 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/db/oracle.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/db/oracle.php b/phpBB/includes/db/oracle.php index 1920ce8fc1..21585e5899 100644 --- a/phpBB/includes/db/oracle.php +++ b/phpBB/includes/db/oracle.php @@ -36,7 +36,7 @@ class dbal_oracle extends dbal $this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->dbname = $database; - $this->db_connect_id = ($new_link) ? @ocinlogon($this->user, $sqlpassword, $this->server, 'UTF8') : (($this->persistency) ? @ociplogon($this->user, $sqlpassword, $this->server, 'UTF8') : @ocinlogon($this->user, $sqlpassword, $this->server, 'UTF8')); + $this->db_connect_id = ($new_link) ? @ocinlogon($this->user, $sqlpassword, $this->dbname, 'UTF8') : (($this->persistency) ? @ociplogon($this->user, $sqlpassword, $this->dbname, 'UTF8') : @ocinlogon($this->user, $sqlpassword, $this->dbname, 'UTF8')); return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error(''); } From 51b2105b0bcf8420762b316ea99a81b261fc256c Mon Sep 17 00:00:00 2001 From: David M Date: Wed, 7 Mar 2007 03:27:20 +0000 Subject: [PATCH 191/707] - Avoid creating backups that we can't restore :) git-svn-id: file:///svn/phpbb/trunk@7141 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 110 ++++++++++++++++++++++------ 1 file changed, 88 insertions(+), 22 deletions(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index 1842ecd98f..9361b00f5b 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -625,23 +625,25 @@ class mysql_extractor extends base_extractor { $field_set[] = $field[$j]->name; } - + $search = array("\\", "'", "\x00", "\x0a", "\x0d", "\x1a", '"'); $replace = array("\\\\", "\\'", '\0', '\n', '\r', '\Z', '\\"'); $fields = implode(', ', $field_set); $sql_data = 'INSERT INTO ' . $table_name . ' (' . $fields . ') VALUES '; $first_set = true; + $query_len = 0; + $max_len = get_usable_memory(); while ($row = mysqli_fetch_row($result)) { $values = array(); if ($first_set) { - $sql_data .= '('; + $query = $sql_data . '('; } else { - $sql_data .= ',('; + $query .= ',('; } for ($j = 0; $j < $fields_cnt; $j++) @@ -659,18 +661,27 @@ class mysql_extractor extends base_extractor $values[$j] = "'" . str_replace($search, $replace, $row[$j]) . "'"; } } - $sql_data .= implode(', ', $values) . ')'; + $query .= implode(', ', $values) . ')'; - $this->flush($sql_data); - - $sql_data = ''; - $first_set = false; + $query_len += strlen($query); + if ($query_len > $max_len) + { + $this->flush($query . ";\n\n"); + $query = ''; + $query_len = 0; + $first_set = true; + } + else + { + $first_set = false; + } } mysqli_free_result($result); - if (!$first_set) + // check to make sure we have nothing left to flush + if (!$first_set && $query) { - $this->flush(";\n\n"); + $this->flush($query . ";\n\n"); } } } @@ -702,20 +713,21 @@ class mysql_extractor extends base_extractor $search = array("\\", "'", "\x00", "\x0a", "\x0d", "\x1a", '"'); $replace = array("\\\\", "\\'", '\0', '\n', '\r', '\Z', '\\"'); $fields = implode(', ', $field_set); - $sql_data = 'INSERT INTO ' . $table_name . ' (' . $fields . ') VALUES '; - - $first_set = true; + $sql_data = 'INSERT INTO ' . $table_name . ' (' . $fields . ') VALUES '; + $first_set = true; + $query_len = 0; + $max_len = get_usable_memory(); while ($row = mysql_fetch_row($result)) { $values = array(); if ($first_set) { - $sql_data .= '('; + $query = $sql_data . '('; } else { - $sql_data .= ',('; + $query .= ',('; } for ($j = 0; $j < $fields_cnt; $j++) @@ -733,18 +745,27 @@ class mysql_extractor extends base_extractor $values[$j] = "'" . str_replace($search, $replace, $row[$j]) . "'"; } } - $sql_data .= implode(', ', $values) . ')'; + $query .= implode(', ', $values) . ')'; - $this->flush($sql_data); - - $sql_data = ''; - $first_set = false; + $query_len += strlen($query); + if ($query_len > $max_len) + { + $this->flush($query . ";\n\n"); + $query = ''; + $query_len = 0; + $first_set = true; + } + else + { + $first_set = false; + } } mysql_free_result($result); - if (!$first_set) + // check to make sure we have nothing left to flush + if (!$first_set && $query) { - $this->flush(";\n\n"); + $this->flush($query . ";\n\n"); } } } @@ -2061,6 +2082,51 @@ class firebird_extractor extends base_extractor } } +// get how much space we allow for a chunk of data, very similar to phpMyAdmin's way of doing things ;-) (hey, we only do this for MySQL anyway :P) +function get_usable_memory() +{ + $val = trim(@ini_get('memory_limit')); + + if (preg_match('/(\\d+)([mkg]?)/i', $val, $regs)) + { + $memory_limit = (int) $regs[1]; + switch ($regs[2]) + { + + case 'k': + case 'K': + $memory_limit *= 1024; + break; + + case 'm': + case 'M': + $memory_limit *= 1048576; + break; + + case 'g': + case 'G': + $memory_limit *= 1073741824; + break; + } + + // how much memory PHP requires at the start of export (it is really a little less) + if ($memory_limit > 6100000) + { + $memory_limit -= 6100000; + } + + // allow us to consume half of the total memory available + $memory_limit /= 2; + } + else + { + // set the buffer to 1M if we have no clue how much memory PHP will give us :P + $memory_limit = 1048576; + } + + return $memory_limit; +} + function sanitize_data_mssql($text) { $data = preg_split('/[\n\t\r\b\f]/', $text); From 4eac4b268b98ec65b7432685de147d76618e479d Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Wed, 7 Mar 2007 06:25:29 +0000 Subject: [PATCH 192/707] Sync... applying the two line change as happened to the ACP templates earlier in the week. git-svn-id: file:///svn/phpbb/trunk@7142 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/db/dbal.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/phpBB/includes/db/dbal.php b/phpBB/includes/db/dbal.php index 1687a994e7..80fa1322e9 100644 --- a/phpBB/includes/db/dbal.php +++ b/phpBB/includes/db/dbal.php @@ -584,6 +584,7 @@ class dbal Return to previous page
+
@@ -598,6 +599,7 @@ class dbal
+
diff --git a/phpBB/styles/subSilver/template/posting_smilies.html b/phpBB/styles/subSilver/template/posting_smilies.html index 960e6a23b4..f48ef66c19 100644 --- a/phpBB/styles/subSilver/template/posting_smilies.html +++ b/phpBB/styles/subSilver/template/posting_smilies.html @@ -17,7 +17,7 @@ var text_name = 'message'; - +
{L_ACL_SETTING}{L_ACL_YES}{L_ACL_NO}{L_ACL_NEVER}{L_ACL_YES}{L_ACL_NO}{L_ACL_NEVER}
{auth.mask.PERMISSION}{auth.mask.PERMISSION}
{L_ACL_SETTING} {L_ACL_YES}{L_ACL_NEVER}{L_ACL_YES}{L_ACL_NEVER} {L_ACL_YES} {L_ACL_NO}
{L_TRACE_SETTING} {p_mask.f_mask.category.mask.PERMISSION}{L_TRACE_SETTING} {p_mask.f_mask.category.mask.PERMISSION} {L_ACL_YES} {L_ACL_NEVER} {L_ACL_YES}{L_ACL_NO}{L_ACL_NEVER}{L_ACL_YES}{L_ACL_NO}{L_ACL_NEVER}
- {smiley.SMILEY_DESC} + {smiley.SMILEY_CODE}
{L_SMILIES}
{smiley.SMILEY_DESC}
{L_CLOSE_WINDOW}
{smiley.SMILEY_CODE}
{L_CLOSE_WINDOW}
', $categories), 'L_ACL_TYPE' => $l_acl_type, diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index dbe8330c90..dbf2612d20 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2013,7 +2013,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa $username = request_var('username', '', true); $password = request_var('password', '', true); $autologin = (!empty($_POST['autologin'])) ? true : false; - $viewonline = (!empty($_POST['viewonline'])) ? 0 : 1; + $viewonline = (!empty($_POST['viewonline']) && $auth->acl_get('u_hideonline')) ? 0 : 1; $admin = ($admin) ? 1 : 0; $viewonline = ($admin) ? $user->data['session_viewonline'] : $viewonline; @@ -2169,6 +2169,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa 'S_DISPLAY_FULL_LOGIN' => ($s_display) ? true : false, 'S_AUTOLOGIN_ENABLED' => ($config['allow_autologin']) ? true : false, + 'S_ALLOW_HIDE_ONLINE' => ($auth->acl_get('u_hideonline')) ? true : false, 'S_LOGIN_ACTION' => (!$admin) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login') : append_sid("index.$phpEx", false, true, $user->session_id), // Needs to stay index.$phpEx because we are within the admin directory 'S_HIDDEN_FIELDS' => $s_hidden_fields, @@ -2794,9 +2795,17 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count, { if ($config['img_link_width'] || $config['img_link_height']) { - list($width, $height) = getimagesize($filename); + $dimension = getimagesize($filename); - $display_cat = (!$width && !$height) ? ATTACHMENT_CATEGORY_IMAGE : (($width <= $config['img_link_width'] && $height <= $config['img_link_height']) ? ATTACHMENT_CATEGORY_IMAGE : ATTACHMENT_CATEGORY_NONE); + // If the dimensions could not be determined or the image being too small we display it as a link for safety purposes + if ($dimension === false || $dimension[0] < 2 || $dimension[1] < 2) + { + $display_cat = ATTACHMENT_CATEGORY_NONE; + } + else + { + $display_cat = ($dimension[0] <= $config['img_link_width'] && $dimension[1] <= $config['img_link_height']) ? ATTACHMENT_CATEGORY_IMAGE : ATTACHMENT_CATEGORY_NONE; + } } } else diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index 74403f779e..7519c93d15 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -552,9 +552,16 @@ function create_thumbnail($source, $destination, $mimetype) return false; } - list($width, $height, $type, ) = getimagesize($source); + $dimension = getimagesize($source); - if (!$width || !$height) + if ($dimension === false) + { + return false; + } + + list($width, $height, $type, ) = $dimension; + + if ($width < 2 || $height < 2) { return false; } @@ -1578,6 +1585,19 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u 'topic_attachment' => (!empty($data['attachment_data'])) ? 1 : (isset($data['topic_attachment']) ? $data['topic_attachment'] : 0), ); + + // no break; + + case 'edit': + case 'edit_last_post': + + // Correctly set back the topic replies and forum posts... + if (!$auth->acl_get('f_noapprove', $data['forum_id']) && !$auth->acl_get('m_approve', $data['forum_id'])) + { + $sql_data[TOPICS_TABLE]['stat'][] = 'topic_replies = topic_replies - 1'; + $sql_data[FORUMS_TABLE]['stat'][] = 'forum_posts = forum_posts - 1'; + } + break; } diff --git a/phpBB/includes/functions_upload.php b/phpBB/includes/functions_upload.php index 1dd40f3f1c..e07c91e8d0 100644 --- a/phpBB/includes/functions_upload.php +++ b/phpBB/includes/functions_upload.php @@ -337,6 +337,12 @@ class filespec $this->error[] = sprintf($user->lang['IMAGE_FILETYPE_MISMATCH'], $types[$this->image_info[2]][0], $this->extension); } } + + // Make sure the dimensions match a valid image + if ($this->width < 2 || $this->height < 2) + { + $this->error[] = $user->lang['ATTACHED_IMAGE_NOT_IMAGE']; + } } else { diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index fae22f7ad2..e3e376e287 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -11,8 +11,12 @@ /** * Obtain user_ids from usernames or vice versa. Returns false on * success else the error string +* +* @param array &$user_id_ary The user ids to check or empty if usernames used +* @param array &$username_ary The usernames to check or empty if user ids used +* @param mixed $user_type Array of user types to check, false if not restricting by user type */ -function user_get_id_name(&$user_id_ary, &$username_ary, $only_active = false) +function user_get_id_name(&$user_id_ary, &$username_ary, $user_type = false) { global $db; @@ -45,9 +49,9 @@ function user_get_id_name(&$user_id_ary, &$username_ary, $only_active = false) FROM ' . USERS_TABLE . ' WHERE ' . $db->sql_in_set($sql_where, $sql_in); - if ($only_active) + if ($user_type !== false && !empty($user_type)) { - $sql .= ' AND user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')'; + $sql .= ' AND ' . $db->sql_in_set('user_type', $user_type); } $result = $db->sql_query($sql); @@ -1410,10 +1414,16 @@ function avatar_remote($data, &$error) return false; } + if ($image_data[0] < 2 || $image_data[1] < 2) + { + $error[] = $user->lang['AVATAR_NO_SIZE']; + return false; + } + $width = ($data['width'] && $data['height']) ? $data['width'] : $image_data[0]; $height = ($data['width'] && $data['height']) ? $data['height'] : $image_data[1]; - if (!$width || !$height) + if ($width < 2 || $height < 2) { $error[] = $user->lang['AVATAR_NO_SIZE']; return false; @@ -1630,7 +1640,17 @@ function avatar_process_user(&$error, $custom_userdata = false) } $sql_ary = array(); - $data['user_id'] = ($custom_userdata === false) ? $user->data['user_id'] : $custom_userdata['user_id']; + + if ($custom_userdata === false) + { + $userdata = &$user->data; + } + else + { + $userdata = &$custom_userdata; + } + + $data['user_id'] = $userdata['user_id']; $change_avatar = ($custom_userdata === false) ? $auth->acl_get('u_chgavatar') : true; $avatar_select = basename(request_var('avatar_select', '')); @@ -1669,7 +1689,7 @@ function avatar_process_user(&$error, $custom_userdata = false) $sql_ary['user_avatar'] = ''; $sql_ary['user_avatar_type'] = $sql_ary['user_avatar_width'] = $sql_ary['user_avatar_height'] = 0; } - else if ($data['width'] && $data['height']) + else if ($data['width'] && $data['height'] && ($userdata['user_avatar_type'] != AVATAR_GALLERY)) { // Only update the dimensions? if ($config['avatar_max_width'] || $config['avatar_max_height']) diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 80fd7e0687..454c4fd648 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -915,6 +915,12 @@ class session if ($banned && !$return) { + // If the session is empty we need to create a valid one... + if (empty($this->session_id)) + { + $this->session_create(ANONYMOUS); + } + // Initiate environment ... since it won't be set at this stage $this->setup(); @@ -941,6 +947,13 @@ class session $this->session_kill(false); } + // Ok, we catch the case of an empty session id for the anonymous user... + // This can happen if the user is logging in, banned by username and the login_box() being called "again". + if (empty($this->session_id)) + { + $this->session_create(ANONYMOUS); + } + // Determine which message to output $till_date = ($ban_row['ban_end']) ? $this->format_date($ban_row['ban_end']) : ''; $message = ($ban_row['ban_end']) ? 'BOARD_BAN_TIME' : 'BOARD_BAN_PERM'; diff --git a/phpBB/includes/ucp/ucp_pm_compose.php b/phpBB/includes/ucp/ucp_pm_compose.php index b5cba63c97..e9c67bcccf 100644 --- a/phpBB/includes/ucp/ucp_pm_compose.php +++ b/phpBB/includes/ucp/ucp_pm_compose.php @@ -326,7 +326,7 @@ function compose_pm($id, $mode, $action) } // Handle User/Group adding/removing - handle_message_list_actions($address_list, $remove_u, $remove_g, $add_to, $add_bcc); + handle_message_list_actions($address_list, $error, $remove_u, $remove_g, $add_to, $add_bcc); // Check for too many recipients if ((!$config['allow_mass_pm'] || !$auth->acl_get('u_masspm')) && num_recipients($address_list) > 1) @@ -907,9 +907,9 @@ function compose_pm($id, $mode, $action) /** * For composing messages, handle list actions */ -function handle_message_list_actions(&$address_list, $remove_u, $remove_g, $add_to, $add_bcc) +function handle_message_list_actions(&$address_list, &$error, $remove_u, $remove_g, $add_to, $add_bcc) { - global $auth, $db; + global $auth, $db, $user; // Delete User [TO/BCC] if ($remove_u) @@ -956,7 +956,13 @@ function handle_message_list_actions(&$address_list, $remove_u, $remove_g, $add_ if (sizeof($usernames)) { $user_id_ary = array(); - user_get_id_name($user_id_ary, $usernames); + user_get_id_name($user_id_ary, $usernames, array(USER_NORMAL, USER_FOUNDER, USER_INACTIVE)); + + // If there are users not existing, we will at least print a notice... + if (!sizeof($user_id_ary)) + { + $error[] = $user->lang['PM_NO_USERS']; + } } // Add Friends if specified @@ -987,11 +993,19 @@ function handle_message_list_actions(&$address_list, $remove_u, $remove_g, $add_ AND user_allow_pm = 0'; $result = $db->sql_query($sql); + $removed = false; while ($row = $db->sql_fetchrow($result)) { + $removed = true; unset($address_list['u'][$row['user_id']]); } $db->sql_freeresult($result); + + // print a notice about users not being added who do not want to receive pms + if ($removed) + { + $error[] = $user->lang['PM_USERS_REMOVED_NO_PM']; + } } } } diff --git a/phpBB/install/convertors/convert_phpbb20.php b/phpBB/install/convertors/convert_phpbb20.php index 0091f68709..eb7c106d73 100644 --- a/phpBB/install/convertors/convert_phpbb20.php +++ b/phpBB/install/convertors/convert_phpbb20.php @@ -780,6 +780,7 @@ if (!$get_info) array('group_id', 'groups.group_id', ''), array('group_type', 'groups.group_type', 'phpbb_convert_group_type'), array('group_display', 0, ''), + array('group_legend', 0, ''), array('group_name', 'groups.group_name', 'phpbb_convert_group_name'), // phpbb_set_encoding called in phpbb_convert_group_name array('group_desc', 'groups.group_description', 'phpbb_set_encoding'), diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php index d1b5af4df3..a75a965dcb 100644 --- a/phpBB/language/en/acp/common.php +++ b/phpBB/language/en/acp/common.php @@ -205,9 +205,9 @@ $lang = array_merge($lang, array( 'DEACTIVATE' => 'Deactivate', 'DIMENSIONS' => 'Dimensions', - 'DIRECTORY_DOES_NOT_EXIST' => 'The entered path "%s" does not exist.', - 'DIRECTORY_NOT_DIR' => 'The entered path "%s" is not a directory.', - 'DIRECTORY_NOT_WRITEABLE' => 'The entered path "%s" is not writeable.', + 'DIRECTORY_DOES_NOT_EXIST' => 'The entered path “%s” does not exist.', + 'DIRECTORY_NOT_DIR' => 'The entered path “%s” is not a directory.', + 'DIRECTORY_NOT_WRITEABLE' => 'The entered path “%s” is not writeable.', 'DISABLE' => 'Disable', 'DOWNLOAD' => 'Download', 'DOWNLOAD_AS' => 'Download as', @@ -411,12 +411,12 @@ $lang = array_merge($lang, array( 'LOG_ATTACH_FILEUPLOAD' => 'Orphan File uploaded to Post
» ID %1$d - %2$s', 'LOG_ATTACH_ORPHAN_DEL' => 'Orphan Files deleted
» %s', - 'LOG_BAN_EXCLUDE_USER' => 'Excluded user from ban for reason "%1$s"
» %2$s ', - 'LOG_BAN_EXCLUDE_IP' => 'Excluded IP from ban for reason "%1$s"
» %2$s ', - 'LOG_BAN_EXCLUDE_EMAIL' => 'Excluded email from ban for reason "%1$s"
» %2$s ', - 'LOG_BAN_USER' => 'Banned user for reason "%1$s"
» %2$s ', - 'LOG_BAN_IP' => 'Banned IP for reason "%1$s"
» %2$s', - 'LOG_BAN_EMAIL' => 'Banned email for reason "%1$s"
» %2$s', + 'LOG_BAN_EXCLUDE_USER' => 'Excluded user from ban for reason “%1$s
» %2$s ', + 'LOG_BAN_EXCLUDE_IP' => 'Excluded IP from ban for reason “%1$s
» %2$s ', + 'LOG_BAN_EXCLUDE_EMAIL' => 'Excluded email from ban for reason “%1$s
» %2$s ', + 'LOG_BAN_USER' => 'Banned user for reason “%1$s
» %2$s ', + 'LOG_BAN_IP' => 'Banned IP for reason “%1$s
» %2$s', + 'LOG_BAN_EMAIL' => 'Banned email for reason “%1$s
» %2$s', 'LOG_UNBAN_USER' => 'Unbanned user
» %s', 'LOG_UNBAN_IP' => 'Unbanned IP
» %s', 'LOG_UNBAN_EMAIL' => 'Unbanned email
» %s', @@ -499,7 +499,7 @@ $lang = array_merge($lang, array( 'LOG_FORUM_SYNC' => 'Re-synchronised forum
» %s', 'LOG_GROUP_CREATED' => 'New usergroup created
» %s', - 'LOG_GROUP_DEFAULTS' => 'Group made default for members
» %s', + 'LOG_GROUP_DEFAULTS' => 'Group “%1$s” made default for members
» %2$s', 'LOG_GROUP_DELETE' => 'Usergroup deleted
» %s', 'LOG_GROUP_DEMOTED' => 'Leaders demoted in usergroup %1$s
» %2$s', 'LOG_GROUP_PROMOTED' => 'Members promoted to leader in usergroup %1$s
» %2$s', @@ -523,7 +523,7 @@ $lang = array_merge($lang, array( 'LOG_INSTALL_CONVERTED' => 'Converted from %1$s to phpBB %2$s', 'LOG_INSTALL_INSTALLED' => 'Installed phpBB %s', - 'LOG_IP_BROWSER_FORWARDED_CHECK' => 'Session IP/browser/X_FORWARDED_FOR check failed
»User IP "%1$s" checked against session IP "%2$s", user browser string "%3$s" checked against session browser string "%4$s" and user X_FORWARDED_FOR string "%5$s" checked against session X_FORWARDED_FOR string "%6$s".', + 'LOG_IP_BROWSER_FORWARDED_CHECK' => 'Session IP/browser/X_FORWARDED_FOR check failed
»User IP “%1$s” checked against session IP “%2$s”, user browser string “%3$s” checked against session browser string “%4$s” and user X_FORWARDED_FOR string “%5$s” checked against session X_FORWARDED_FOR string “%6$s”.', 'LOG_JAB_CHANGED' => 'Jabber account changed', 'LOG_JAB_PASSCHG' => 'Jabber password changed', @@ -538,7 +538,7 @@ $lang = array_merge($lang, array( 'LOG_MASS_EMAIL' => 'Sent mass email
» %s', - 'LOG_MCP_CHANGE_POSTER' => 'Changed poster in topic "%1$s"
» from %2$s to %3$s', + 'LOG_MCP_CHANGE_POSTER' => 'Changed poster in topic “%1$s”
» from %2$s to %3$s', 'LOG_MODULE_DISABLE' => 'Module disabled', 'LOG_MODULE_ENABLE' => 'Module enabled', @@ -616,20 +616,20 @@ $lang = array_merge($lang, array( 'LOG_UPDATE_PHPBB' => 'Updated phpBB from version %1$s to version %2$s', 'LOG_USER_ACTIVE' => 'User activated
» %s', - 'LOG_USER_BAN_USER' => 'Banned User via user management for reason "%1$s"
» %2$s', - 'LOG_USER_BAN_IP' => 'Banned IP via user management for reason "%1$s"
» %2$s', - 'LOG_USER_BAN_EMAIL' => 'Banned email via user management for reason "%1$s"
» %2$s', + 'LOG_USER_BAN_USER' => 'Banned User via user management for reason “%1$s
» %2$s', + 'LOG_USER_BAN_IP' => 'Banned IP via user management for reason “%1$s
» %2$s', + 'LOG_USER_BAN_EMAIL' => 'Banned email via user management for reason “%1$s
» %2$s', 'LOG_USER_DELETED' => 'Deleted user
» %s', 'LOG_USER_DEL_ATTACH' => 'Removed all attachments made by the user
» %s', 'LOG_USER_DEL_AVATAR' => 'Removed user avatar
» %s', 'LOG_USER_DEL_POSTS' => 'Removed all posts made by the user
» %s', 'LOG_USER_DEL_SIG' => 'Removed user signature
» %s', 'LOG_USER_INACTIVE' => 'User deactivated
» %s', - 'LOG_USER_MOVE_POSTS' => 'Moved user posts
» posts by "%1$s" to forum "%2$s"', + 'LOG_USER_MOVE_POSTS' => 'Moved user posts
» posts by “%1$s” to forum “%2$s”', 'LOG_USER_NEW_PASSWORD' => 'Changed user password
» %s', 'LOG_USER_REACTIVATE' => 'Forced user account re-activation
» %s', - 'LOG_USER_UPDATE_EMAIL' => 'User "%1$s" changed email
» from "%2$s" to "%3$s"', - 'LOG_USER_UPDATE_NAME' => 'Changed username
» from "%1$s" to "%2$s"', + 'LOG_USER_UPDATE_EMAIL' => 'User “%1$s” changed email
» from “%2$s” to “%3$s”', + 'LOG_USER_UPDATE_NAME' => 'Changed username
» from “%1$s” to “%2$s”', 'LOG_USER_USER_UPDATE' => 'Updated user details
» %s', 'LOG_USER_ACTIVE_USER' => 'User account activated', @@ -639,7 +639,7 @@ $lang = array_merge($lang, array( 'LOG_USER_GENERAL' => '%s', 'LOG_USER_INACTIVE_USER' => 'User account de-activated', 'LOG_USER_LOCK' => 'User locked own topic
» %s', - 'LOG_USER_MOVE_POSTS_USER' => 'Moved all posts to forum "%s"', + 'LOG_USER_MOVE_POSTS_USER' => 'Moved all posts to forum» %s', 'LOG_USER_REACTIVATE_USER' => 'Forced user account re-activation', 'LOG_USER_UNLOCK' => 'User unlocked own topic
» %s', 'LOG_USER_WARNING' => 'Added user warning
» %s', diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index 459565c7a5..0ed68da8fe 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -315,10 +315,12 @@ $lang = array_merge($lang, array( 'PM_FROM_REMOVED_AUTHOR' => 'This message was sent by a user no longer registered.', 'PM_ICON' => 'PM icon', 'PM_INBOX' => 'Inbox', + 'PM_NO_USERS' => 'The requested users to be added do not exist.', 'PM_OUTBOX' => 'Outbox', 'PM_SENTBOX' => 'Sent messages', 'PM_SUBJECT' => 'Message subject', 'PM_TO' => 'Send to', + 'PM_USERS_REMOVED_NO_PM' => 'Some users couldn’t be added as they have disabled private message receipt.', 'POPUP_ON_PM' => 'Pop up window on new private message', 'POST_EDIT_PM' => 'Edit message', 'POST_FORWARD_PM' => 'Forward message', diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index e1601e9a0d..d29743d8ff 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -359,14 +359,6 @@ switch ($mode) $sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE ' . (($username) ? "username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'" : "user_id = $user_id"); - - // a_user admins and founder are able to view inactive users and bots to be able to - // manage them more easily - if (!$auth->acl_get('a_user') && $user->data['user_type'] != USER_FOUNDER) - { - $sql .= ' AND user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')'; - } - $result = $db->sql_query($sql); $member = $db->sql_fetchrow($result); $db->sql_freeresult($result); @@ -376,6 +368,20 @@ switch ($mode) trigger_error('NO_USER'); } + // a_user admins and founder are able to view inactive users and bots to be able to manage them more easily + // Normal users are able to see at least users having only changed their profile settings but not yet re-activated. + if (!$auth->acl_get('a_user') && $user->data['user_type'] != USER_FOUNDER) + { + if ($row['user_type'] == USER_IGNORE) + { + trigger_error('NO_USER'); + } + else if ($row['user_type'] == USER_INACTIVE && $row['user_inactive_reason'] != INACTIVE_PROFILE) + { + trigger_error('NO_USER'); + } + } + $user_id = (int) $member['user_id']; // Do the SQL thang diff --git a/phpBB/posting.php b/phpBB/posting.php index e585b73e7d..cf27952e12 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -850,7 +850,7 @@ if ($submit || $preview || $refresh) include_once($phpbb_root_path . 'includes/functions_admin.' . $phpEx); $template->assign_vars(array( - 'S_FORUM_SELECT' => make_forum_select(false, false, false, true, true), + 'S_FORUM_SELECT' => make_forum_select(false, false, false, true, true, true), 'S_UNGLOBALISE' => true) ); @@ -859,6 +859,12 @@ if ($submit || $preview || $refresh) } else { + if (!$auth->acl_get('f_post', $to_forum_id)) + { + // This will only be triggered if the user tried to trick the forum. + trigger_error('NOT_AUTHORIZED'); + } + $forum_id = $to_forum_id; } } diff --git a/phpBB/styles/subSilver/template/login_body.html b/phpBB/styles/subSilver/template/login_body.html index 7243c983fe..8afdcf13cc 100644 --- a/phpBB/styles/subSilver/template/login_body.html +++ b/phpBB/styles/subSilver/template/login_body.html @@ -56,10 +56,12 @@
{L_LOG_ME_IN}
  {L_HIDE_ME}

{L_LOGIN_LOGOUT}

{L_USERNAME}:   {L_PASSWORD}:   {L_LOG_ME_IN}   {L_USERNAME}:   {L_PASSWORD}:   {L_LOG_ME_IN}  
diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php index ea71ea2b1f..9b18995ca4 100644 --- a/phpBB/viewforum.php +++ b/phpBB/viewforum.php @@ -156,6 +156,7 @@ if (!$auth->acl_get('f_read', $forum_id)) 'S_NO_READ_ACCESS' => true, 'S_AUTOLOGIN_ENABLED' => ($config['allow_autologin']) ? true : false, + 'S_ALLOW_HIDE_ONLINE' => ($auth->acl_get('u_hideonline')) ? true : false, 'S_LOGIN_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login') . '&redirect=' . urlencode(str_replace('&', '&', build_url(array('_f_')))), )); From 8a9c37162a20452730ea3e8e5e977c73ffb562e8 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 8 Mar 2007 16:42:56 +0000 Subject: [PATCH 201/707] apply correct check for hiding session git-svn-id: file:///svn/phpbb/trunk@7151 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 21 +++++++++++++++++-- phpBB/install/install_update.php | 6 ++++-- .../styles/subSilver/template/login_body.html | 2 -- phpBB/viewforum.php | 1 - 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index dbf2612d20..cb90b18b9d 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2013,7 +2013,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa $username = request_var('username', '', true); $password = request_var('password', '', true); $autologin = (!empty($_POST['autologin'])) ? true : false; - $viewonline = (!empty($_POST['viewonline']) && $auth->acl_get('u_hideonline')) ? 0 : 1; + $viewonline = (!empty($_POST['viewonline'])) ? 0 : 1; $admin = ($admin) ? 1 : 0; $viewonline = ($admin) ? $user->data['session_viewonline'] : $viewonline; @@ -2063,6 +2063,24 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa // append/replace SID (may change during the session for AOL users) $redirect = reapply_sid($redirect); + // Make sure the user is able to hide his session + if (!$viewonline) + { + $check_auth = new auth(); + $check_auth->acl($user->data); + + // Reset online status if not allowed to hide the session... + if (!$check_auth->acl_get('u_hideonline')) + { + $sql = 'UPDATE ' . SESSIONS_TABLE . ' + SET session_viewonline = 1 + WHERE session_user_id = ' . $user->data['user_id']; + $db->sql_query($sql); + } + + unset($check_auth); + } + // Special case... the user is effectively banned, but we allow founders to login if (defined('IN_CHECK_BAN') && $result['user_row']['user_type'] != USER_FOUNDER) { @@ -2169,7 +2187,6 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa 'S_DISPLAY_FULL_LOGIN' => ($s_display) ? true : false, 'S_AUTOLOGIN_ENABLED' => ($config['allow_autologin']) ? true : false, - 'S_ALLOW_HIDE_ONLINE' => ($auth->acl_get('u_hideonline')) ? true : false, 'S_LOGIN_ACTION' => (!$admin) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login') : append_sid("index.$phpEx", false, true, $user->session_id), // Needs to stay index.$phpEx because we are within the admin directory 'S_HIDDEN_FIELDS' => $s_hidden_fields, diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php index caa5158dad..7b9020371c 100644 --- a/phpBB/install/install_update.php +++ b/phpBB/install/install_update.php @@ -411,12 +411,14 @@ class install_update extends module if ($all_up_to_date) { - $db->sql_query('DELETE FROM ' . CONFIG_TABLE . " WHERE config_name = 'version_update_from'"); - // Add database update to log add_log('admin', 'LOG_UPDATE_PHPBB', $this->current_version, $this->latest_version); $cache->purge(); + + $db->sql_return_on_error(true); + $db->sql_query('DELETE FROM ' . CONFIG_TABLE . " WHERE config_name = 'version_update_from'"); + $db->sql_return_on_error(false); } break; diff --git a/phpBB/styles/subSilver/template/login_body.html b/phpBB/styles/subSilver/template/login_body.html index 8afdcf13cc..7243c983fe 100644 --- a/phpBB/styles/subSilver/template/login_body.html +++ b/phpBB/styles/subSilver/template/login_body.html @@ -56,12 +56,10 @@ {L_LOG_ME_IN} -   {L_HIDE_ME} - diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php index 9b18995ca4..ea71ea2b1f 100644 --- a/phpBB/viewforum.php +++ b/phpBB/viewforum.php @@ -156,7 +156,6 @@ if (!$auth->acl_get('f_read', $forum_id)) 'S_NO_READ_ACCESS' => true, 'S_AUTOLOGIN_ENABLED' => ($config['allow_autologin']) ? true : false, - 'S_ALLOW_HIDE_ONLINE' => ($auth->acl_get('u_hideonline')) ? true : false, 'S_LOGIN_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login') . '&redirect=' . urlencode(str_replace('&', '&', build_url(array('_f_')))), )); From 28746489debe3a0cf2022a155858e8fbabf7c2e5 Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 8 Mar 2007 17:11:41 +0000 Subject: [PATCH 202/707] *** empty log message *** git-svn-id: file:///svn/phpbb/trunk@7152 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_posting.php | 9 --------- 1 file changed, 9 deletions(-) diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index 7519c93d15..020d437b14 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -1873,15 +1873,6 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u } } - if ($post_mode == 'edit_topic') - { - $update_sql = update_post_information('topic', $data['topic_id'], true); - if (sizeof($update_sql)) - { - $sql_data[TOPICS_TABLE]['stat'][] = implode(', ', $update_sql[$data['topic_id']]); - } - } - // Update total post count, do not consider moderated posts/topics if ($auth->acl_get('f_noapprove', $data['forum_id']) || $auth->acl_get('m_approve', $data['forum_id'])) { From ed7d92753e03b7d4d594cc052190a717e5e096fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Fri, 9 Mar 2007 15:47:41 +0000 Subject: [PATCH 203/707] #8594 git-svn-id: file:///svn/phpbb/trunk@7153 89ea8834-ac86-4346-8a33-228a782c2dd0 --- .../subSilver/template/ucp_groups_manage.html | 4 ++-- .../subSilver/template/ucp_groups_membership.html | 2 +- .../subSilver/template/ucp_main_bookmarks.html | 14 +++++++++----- .../styles/subSilver/template/ucp_main_drafts.html | 4 ++-- .../subSilver/template/ucp_main_subscribed.html | 5 ++++- .../template/ucp_profile_profile_info.html | 2 +- .../subSilver/template/ucp_profile_signature.html | 2 +- 7 files changed, 20 insertions(+), 13 deletions(-) diff --git a/phpBB/styles/subSilver/template/ucp_groups_manage.html b/phpBB/styles/subSilver/template/ucp_groups_manage.html index 09704cded7..e234573fd8 100644 --- a/phpBB/styles/subSilver/template/ucp_groups_manage.html +++ b/phpBB/styles/subSilver/template/ucp_groups_manage.html @@ -27,7 +27,7 @@ {L_USERGROUPS} - {L_GROUPS_EXPLAIN} + {L_GROUPS_EXPLAIN} @@ -230,7 +230,7 @@ {L_USERGROUPS} - {L_GROUPS_EXPLAIN} + {L_GROUPS_EXPLAIN} diff --git a/phpBB/styles/subSilver/template/ucp_groups_membership.html b/phpBB/styles/subSilver/template/ucp_groups_membership.html index 460df7e010..d6cae04d0e 100644 --- a/phpBB/styles/subSilver/template/ucp_groups_membership.html +++ b/phpBB/styles/subSilver/template/ucp_groups_membership.html @@ -5,7 +5,7 @@ {L_USERGROUPS} - {L_GROUPS_EXPLAIN} + {L_GROUPS_EXPLAIN} diff --git a/phpBB/styles/subSilver/template/ucp_main_bookmarks.html b/phpBB/styles/subSilver/template/ucp_main_bookmarks.html index 4dc7ae1424..7df1d3d5ac 100644 --- a/phpBB/styles/subSilver/template/ucp_main_bookmarks.html +++ b/phpBB/styles/subSilver/template/ucp_main_bookmarks.html @@ -7,9 +7,11 @@ {L_BOOKMARKS_EXPLAIN} + {L_BOOKMARKS} + @@ -48,13 +50,15 @@ - -   - - + + +   + + + - + diff --git a/phpBB/styles/subSilver/template/ucp_main_drafts.html b/phpBB/styles/subSilver/template/ucp_main_drafts.html index 146a4fed16..05749efabe 100644 --- a/phpBB/styles/subSilver/template/ucp_main_drafts.html +++ b/phpBB/styles/subSilver/template/ucp_main_drafts.html @@ -5,7 +5,7 @@ {L_UCP} - {L_DRAFTS_EXPLAIN} + {L_DRAFTS_EXPLAIN} @@ -42,7 +42,7 @@ - {L_NO_SAVED_DRAFTS} + {L_NO_SAVED_DRAFTS} diff --git a/phpBB/styles/subSilver/template/ucp_main_subscribed.html b/phpBB/styles/subSilver/template/ucp_main_subscribed.html index 1eb5666aae..009ae928dd 100644 --- a/phpBB/styles/subSilver/template/ucp_main_subscribed.html +++ b/phpBB/styles/subSilver/template/ucp_main_subscribed.html @@ -67,11 +67,14 @@ +   + - + + \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_profile_profile_info.html b/phpBB/styles/subSilver/template/ucp_profile_profile_info.html index 1d7e11c06e..564faa2524 100644 --- a/phpBB/styles/subSilver/template/ucp_profile_profile_info.html +++ b/phpBB/styles/subSilver/template/ucp_profile_profile_info.html @@ -10,7 +10,7 @@ - {L_PROFILE_INFO_NOTICE} + {L_PROFILE_INFO_NOTICE} {L_UCP_ICQ}: diff --git a/phpBB/styles/subSilver/template/ucp_profile_signature.html b/phpBB/styles/subSilver/template/ucp_profile_signature.html index cf401c88a6..f5e8ba032a 100644 --- a/phpBB/styles/subSilver/template/ucp_profile_signature.html +++ b/phpBB/styles/subSilver/template/ucp_profile_signature.html @@ -6,7 +6,7 @@ {L_TITLE} - {L_SIGNATURE_EXPLAIN} + {L_SIGNATURE_EXPLAIN} From 6fa7bec4ed7ca82f88a2a94c2947b29ae89ad00d Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 9 Mar 2007 16:24:58 +0000 Subject: [PATCH 204/707] grmbl git-svn-id: file:///svn/phpbb/trunk@7154 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/memberlist.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index d29743d8ff..98f3f37d30 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -372,11 +372,11 @@ switch ($mode) // Normal users are able to see at least users having only changed their profile settings but not yet re-activated. if (!$auth->acl_get('a_user') && $user->data['user_type'] != USER_FOUNDER) { - if ($row['user_type'] == USER_IGNORE) + if ($member['user_type'] == USER_IGNORE) { trigger_error('NO_USER'); } - else if ($row['user_type'] == USER_INACTIVE && $row['user_inactive_reason'] != INACTIVE_PROFILE) + else if ($member['user_type'] == USER_INACTIVE && $member['user_inactive_reason'] != INACTIVE_PROFILE) { trigger_error('NO_USER'); } From 6e134ac0400badbed5bf23309fbb97f9909b3adf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Fri, 9 Mar 2007 16:27:01 +0000 Subject: [PATCH 205/707] #8570 git-svn-id: file:///svn/phpbb/trunk@7155 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_forums.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/adm/style/acp_forums.html b/phpBB/adm/style/acp_forums.html index a3d5d08dab..839ab9a27c 100644 --- a/phpBB/adm/style/acp_forums.html +++ b/phpBB/adm/style/acp_forums.html @@ -130,7 +130,7 @@
-
{L_MOVE_SUBFORUMS_TO}
+
{L_MOVE_SUBFORUMS_TO}
{L_DELETE_SUBFORUMS}
From e43201191317b788c2df84302e77342b57c944ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Fri, 9 Mar 2007 16:33:23 +0000 Subject: [PATCH 206/707] #8532 git-svn-id: file:///svn/phpbb/trunk@7156 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/schemas/schema_data.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index 93e6323bfe..319e16fb91 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -456,7 +456,7 @@ INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 11, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'm_%' AND auth_option NOT IN ('m_ban', 'm_chgposter'); # Simple Moderator (m_) -INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 12, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'm_%' AND auth_option IN ('m_', 'm_approve', 'm_delete', 'm_edit', 'm_info', 'm_report', 'm_warn'); +INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 12, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'm_%' AND auth_option IN ('m_', 'm_delete', 'm_edit', 'm_info', 'm_report'); # Queue Moderator (m_) INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 13, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'm_%' AND auth_option IN ('m_', 'm_approve', 'm_edit'); From d165af785d01640a82d6d8076fbb979b00a1ec38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Fri, 9 Mar 2007 19:01:40 +0000 Subject: [PATCH 207/707] #8576 Introducing percentage based font sizing for the font-site BBCode git-svn-id: file:///svn/phpbb/trunk@7157 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_board.php | 4 ++-- phpBB/includes/bbcode.php | 2 +- phpBB/install/schemas/schema_data.sql | 4 ++-- phpBB/styles/subSilver/template/bbcode.html | 2 +- phpBB/styles/subSilver/template/posting_buttons.html | 10 +++++----- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php index a893935dbd..1cc724cd62 100644 --- a/phpBB/includes/acp/acp_board.php +++ b/phpBB/includes/acp/acp_board.php @@ -158,7 +158,7 @@ class acp_board 'max_post_chars' => array('lang' => 'CHAR_LIMIT', 'validate' => 'int', 'type' => 'text:4:6', 'explain' => true), 'max_post_smilies' => array('lang' => 'SMILIES_LIMIT', 'validate' => 'int', 'type' => 'text:4:4', 'explain' => true), 'max_post_urls' => array('lang' => 'MAX_POST_URLS', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true), - 'max_post_font_size' => array('lang' => 'MAX_POST_FONT_SIZE', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']), + 'max_post_font_size' => array('lang' => 'MAX_POST_FONT_SIZE', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true, 'append' => ' %'), 'max_quote_depth' => array('lang' => 'QUOTE_DEPTH_LIMIT', 'validate' => 'int', 'type' => 'text:4:4', 'explain' => true), 'max_post_img_width' => array('lang' => 'MAX_POST_IMG_WIDTH', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']), 'max_post_img_height' => array('lang' => 'MAX_POST_IMG_HEIGHT', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']), @@ -181,7 +181,7 @@ class acp_board 'legend2' => 'GENERAL_SETTINGS', 'max_sig_chars' => array('lang' => 'MAX_SIG_LENGTH', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true), 'max_sig_urls' => array('lang' => 'MAX_SIG_URLS', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true), - 'max_sig_font_size' => array('lang' => 'MAX_SIG_FONT_SIZE', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']), + 'max_sig_font_size' => array('lang' => 'MAX_SIG_FONT_SIZE', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true, 'append' => ' %'), 'max_sig_smilies' => array('lang' => 'MAX_SIG_SMILIES', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true), 'max_sig_img_width' => array('lang' => 'MAX_SIG_IMG_WIDTH', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']), 'max_sig_img_height' => array('lang' => 'MAX_SIG_IMG_HEIGHT', 'validate' => 'int', 'type' => 'text:5:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']), diff --git a/phpBB/includes/bbcode.php b/phpBB/includes/bbcode.php index ef0e80d184..e2d8b7cde4 100644 --- a/phpBB/includes/bbcode.php +++ b/phpBB/includes/bbcode.php @@ -392,7 +392,7 @@ class bbcode 'u_open' => '', 'u_close' => '', 'img' => '' . $user->lang['IMAGE'] . '', - 'size' => '$2', + 'size' => '$2', 'color' => '$2', 'email' => '$2' ); diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index 319e16fb91..bdb603764c 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -148,7 +148,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_name_chars', ' INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_pass_chars', '30'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_poll_options', '10'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_post_chars', '0'); -INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_post_font_size', '24'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_post_font_size', '200'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_post_img_height', '0'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_post_img_width', '0'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_post_smilies', '0'); @@ -156,7 +156,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_post_urls', '0 INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_quote_depth', '3'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_reg_attempts', '5'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sig_chars', '255'); -INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sig_font_size', '24'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sig_font_size', '200'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sig_img_height', '0'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sig_img_width', '0'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sig_smilies', '0'); diff --git a/phpBB/styles/subSilver/template/bbcode.html b/phpBB/styles/subSilver/template/bbcode.html index 1f0e8a72d2..fe7ea4fa5d 100644 --- a/phpBB/styles/subSilver/template/bbcode.html +++ b/phpBB/styles/subSilver/template/bbcode.html @@ -48,7 +48,7 @@ {TEXT} -{TEXT} +{TEXT} {L_IMAGE} diff --git a/phpBB/styles/subSilver/template/posting_buttons.html b/phpBB/styles/subSilver/template/posting_buttons.html index 28124a9ee6..110feafe80 100644 --- a/phpBB/styles/subSilver/template/posting_buttons.html +++ b/phpBB/styles/subSilver/template/posting_buttons.html @@ -69,11 +69,11 @@ {L_FONT_SIZE}: From 8593ee8d96540235c1e7a1fbbb8582c8ab5b1030 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 9 Mar 2007 19:11:27 +0000 Subject: [PATCH 208/707] allow the template bitfield being specified by the author if he do not want to use some hardcoded tpl bits... git-svn-id: file:///svn/phpbb/trunk@7158 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_styles.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php index 2a7b993cd9..2c7cdc2532 100644 --- a/phpBB/includes/acp/acp_styles.php +++ b/phpBB/includes/acp/acp_styles.php @@ -2993,9 +2993,20 @@ parse_css_file = {PARSE_CSS_FILE} switch ($mode) { case 'template': + // We check if the template author defined a different bitfield + $cfg_data = parse_cfg_file("$root_path$mode/template.cfg"); + + if (!empty($cfg_data['template_bitfield'])) + { + $sql_ary['bbcode_bitfield'] = $cfg_data['template_bitfield']; + } + else + { + $sql_ary['bbcode_bitfield'] = TEMPLATE_BITFIELD; + } + // We set a pre-defined bitfield here which we may use further in 3.2 $sql_ary += array( - 'bbcode_bitfield' => TEMPLATE_BITFIELD, 'template_storedb' => $store_db ); break; From ef91c35ba262619529a5850c4b5026451e86c2d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Fri, 9 Mar 2007 19:44:17 +0000 Subject: [PATCH 209/707] That works better ... Please note that this will break old BBCode font-sizes (former value of 24px will now be 24%), we are still thinking about how to solve this issueon update best. git-svn-id: file:///svn/phpbb/trunk@7159 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/subSilver/template/posting_buttons.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/subSilver/template/posting_buttons.html b/phpBB/styles/subSilver/template/posting_buttons.html index 110feafe80..e076b2a660 100644 --- a/phpBB/styles/subSilver/template/posting_buttons.html +++ b/phpBB/styles/subSilver/template/posting_buttons.html @@ -70,7 +70,7 @@ {L_FONT_SIZE}: + + @@ -238,6 +240,7 @@ {BBCODE_STATUS} + {IMG_STATUS} @@ -250,6 +253,7 @@ {SMILIES_STATUS} + diff --git a/phpBB/styles/subSilver/template/posting_buttons.html b/phpBB/styles/subSilver/template/posting_buttons.html index e076b2a660..dce4efb02f 100644 --- a/phpBB/styles/subSilver/template/posting_buttons.html +++ b/phpBB/styles/subSilver/template/posting_buttons.html @@ -48,7 +48,7 @@ - + @@ -75,9 +75,10 @@ + - + @@ -86,9 +87,11 @@ + colspan="2"> {L_FONT_COLOR} + From efcb1279f06d1016c25fae516158abdb895981ee Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 30 Mar 2007 14:24:55 +0000 Subject: [PATCH 292/707] other fixes... git-svn-id: file:///svn/phpbb/trunk@7242 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_users_overview.html | 52 ++++++++++++------- phpBB/includes/functions.php | 2 +- phpBB/includes/functions_display.php | 2 +- phpBB/includes/functions_jabber.php | 2 +- phpBB/includes/functions_posting.php | 2 +- phpBB/includes/functions_privmsgs.php | 2 +- phpBB/includes/mcp/mcp_queue.php | 4 +- phpBB/includes/mcp/mcp_reports.php | 2 +- phpBB/includes/ucp/ucp_groups.php | 8 +-- phpBB/includes/ucp/ucp_pm_compose.php | 2 +- phpBB/language/en/acp/permissions_phpbb.php | 2 +- phpBB/language/en/common.php | 2 +- phpBB/language/en/help_bbcode.php | 4 +- phpBB/language/en/install.php | 3 +- phpBB/language/en/memberlist.php | 5 ++ phpBB/mcp.php | 4 +- phpBB/memberlist.php | 20 +++++-- phpBB/posting.php | 2 +- .../subSilver/template/memberlist_im.html | 11 ++-- .../subSilver/template/memberlist_view.html | 10 ++-- .../subSilver/template/ucp_groups_manage.html | 4 +- .../template/ucp_groups_membership.html | 8 +-- phpBB/viewtopic.php | 6 +-- 23 files changed, 96 insertions(+), 63 deletions(-) diff --git a/phpBB/adm/style/acp_users_overview.html b/phpBB/adm/style/acp_users_overview.html index cfdc364b48..5a51e3fc51 100644 --- a/phpBB/adm/style/acp_users_overview.html +++ b/phpBB/adm/style/acp_users_overview.html @@ -56,27 +56,39 @@

{L_CONFIRM_PASSWORD_EXPLAIN}
- -
-
- {L_USER_TOOLS} -
-
-
-
- -
-

{L_DELETE_USER_EXPLAIN}
-
-
-
- - -
- -
+

+ +

+
- \ No newline at end of file + + + +
+ +
+ {L_USER_TOOLS} +
+
+
+
+ +
+

{L_DELETE_USER_EXPLAIN}
+
+
+
+ + +

+ +

+ +
+ +
+ + diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index acd7f4469e..184da5c6fd 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2083,7 +2083,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa { $redirect = request_var('redirect', "{$phpbb_root_path}index.$phpEx"); $message = ($l_success) ? $l_success : $user->lang['LOGIN_REDIRECT']; - $l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === "{$phpbb_root_path}index.$phpEx") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']); + $l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === "{$phpbb_root_path}index.$phpEx" || $redirect === "index.$phpEx") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']); // append/replace SID (may change during the session for AOL users) $redirect = reapply_sid($redirect); diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php index fe9ca63046..7ce01571f8 100644 --- a/phpBB/includes/functions_display.php +++ b/phpBB/includes/functions_display.php @@ -164,7 +164,7 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod $active_forum_ary['forum_topics'] += ($auth->acl_get('m_approve', $forum_id)) ? $row['forum_topics_real'] : $row['forum_topics']; $active_forum_ary['forum_posts'] += $row['forum_posts']; - // If this is a passworded forum we do not show active topics from it if the user is not authorized to view it... + // If this is a passworded forum we do not show active topics from it if the user is not authorised to view it... if ($row['forum_password'] && $row['user_id'] != $user->data['user_id']) { $active_forum_ary['exclude_forum_id'][] = $forum_id; diff --git a/phpBB/includes/functions_jabber.php b/phpBB/includes/functions_jabber.php index 184a1f89a4..3872346bbc 100644 --- a/phpBB/includes/functions_jabber.php +++ b/phpBB/includes/functions_jabber.php @@ -91,7 +91,7 @@ class jabber $this->error_codes = array( 400 => 'Bad Request', - 401 => 'Unauthorized', + 401 => 'Unauthorised', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index 67aedc2f25..b7ac1b3ac3 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -1201,7 +1201,7 @@ function user_notification($mode, $subject, $topic_title, $forum_name, $forum_id $db->sql_query($sql); } - // Now delete the user_ids not authorized to receive notifications on this topic/forum + // Now delete the user_ids not authorised to receive notifications on this topic/forum if (!empty($delete_ids['topic'])) { $sql = 'DELETE FROM ' . TOPICS_WATCH_TABLE . " diff --git a/phpBB/includes/functions_privmsgs.php b/phpBB/includes/functions_privmsgs.php index 54ef426ca4..5ff4324904 100644 --- a/phpBB/includes/functions_privmsgs.php +++ b/phpBB/includes/functions_privmsgs.php @@ -778,7 +778,7 @@ function move_pm($user_id, $message_limit, $move_msg_ids, $dest_folder, $cur_fol if (!$row) { - trigger_error('NOT_AUTHORIZED'); + trigger_error('NOT_AUTHORISED'); } if ($row['pm_count'] + sizeof($move_msg_ids) > $message_limit) diff --git a/phpBB/includes/mcp/mcp_queue.php b/phpBB/includes/mcp/mcp_queue.php index 0367092726..673e65dd58 100644 --- a/phpBB/includes/mcp/mcp_queue.php +++ b/phpBB/includes/mcp/mcp_queue.php @@ -401,7 +401,7 @@ function approve_post($post_id_list, $id, $mode) if (!check_ids($post_id_list, POSTS_TABLE, 'post_id', array('m_approve'))) { - trigger_error('NOT_AUTHORIZED'); + trigger_error('NOT_AUTHORISED'); } $redirect = request_var('redirect', build_url(array('_f_', 'quickmod'))); @@ -645,7 +645,7 @@ function disapprove_post($post_id_list, $id, $mode) if (!check_ids($post_id_list, POSTS_TABLE, 'post_id', array('m_approve'))) { - trigger_error('NOT_AUTHORIZED'); + trigger_error('NOT_AUTHORISED'); } $redirect = request_var('redirect', build_url(array('t', 'mode', '_f_', 'quickmod')) . '&mode=unapproved_topics'); diff --git a/phpBB/includes/mcp/mcp_reports.php b/phpBB/includes/mcp/mcp_reports.php index a4cd1dd5d1..b5b1dc0cf7 100755 --- a/phpBB/includes/mcp/mcp_reports.php +++ b/phpBB/includes/mcp/mcp_reports.php @@ -377,7 +377,7 @@ function close_report($post_id_list, $mode, $action) if (!check_ids($post_id_list, POSTS_TABLE, 'post_id', array('m_report'))) { - trigger_error('NOT_AUTHORIZED'); + trigger_error('NOT_AUTHORISED'); } if ($action == 'delete' && strpos($user->data['session_page'], 'mode=report_details') !== false) diff --git a/phpBB/includes/ucp/ucp_groups.php b/phpBB/includes/ucp/ucp_groups.php index 1f7f0038d2..720d1f9467 100644 --- a/phpBB/includes/ucp/ucp_groups.php +++ b/phpBB/includes/ucp/ucp_groups.php @@ -75,7 +75,7 @@ class ucp_groups if (!$auth->acl_get('u_chggrp')) { - trigger_error($user->lang['NOT_AUTHORIZED'] . $return_page); + trigger_error($user->lang['NOT_AUTHORISED'] . $return_page); } // User needs to be member of the group in order to make it default @@ -326,7 +326,7 @@ class ucp_groups // Hide hidden groups unless user is an admin with group privileges $sql_and = ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? '<> ' . GROUP_SPECIAL : 'NOT IN (' . GROUP_SPECIAL . ', ' . GROUP_HIDDEN . ')'; - $sql = 'SELECT group_id, group_name, group_desc, group_desc_uid, group_desc_bitfield, group_desc_options, group_type, group_founder_manage + $sql = 'SELECT group_id, group_name, group_colour, group_desc, group_desc_uid, group_desc_bitfield, group_desc_options, group_type, group_founder_manage FROM ' . GROUPS_TABLE . ' WHERE ' . ((sizeof($group_id_ary)) ? $db->sql_in_set('group_id', $group_id_ary, true) . ' AND ' : '') . " group_type $sql_and @@ -367,6 +367,7 @@ class ucp_groups 'GROUP_CLOSED' => ($row['group_type'] <> GROUP_CLOSED || $auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? false : true, 'GROUP_STATUS' => $user->lang['GROUP_IS_' . $group_status], 'S_CAN_JOIN' => ($row['group_type'] == GROUP_OPEN || $row['group_type'] == GROUP_FREE) ? true : false, + 'GROUP_COLOUR' => $row['group_colour'], 'U_VIEW_GROUP' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id']), @@ -1001,7 +1002,7 @@ class ucp_groups default: $user->add_lang('acp/common'); - $sql = 'SELECT g.group_id, g.group_name, g.group_desc, g.group_desc_uid, g.group_desc_bitfield, g.group_desc_options, g.group_type, ug.group_leader + $sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_desc, g.group_desc_uid, g.group_desc_bitfield, g.group_desc_options, g.group_type, ug.group_leader FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . ' ug WHERE ug.user_id = ' . $user->data['user_id'] . ' AND g.group_id = ug.group_id @@ -1016,6 +1017,7 @@ class ucp_groups 'GROUP_DESC' => generate_text_for_display($value['group_desc'], $value['group_desc_uid'], $value['group_desc_bitfield'], $value['group_desc_options']), 'GROUP_TYPE' => $value['group_type'], 'GROUP_ID' => $value['group_id'], + 'GROUP_COLOUR' => $value['group_colour'], 'U_LIST' => $this->u_action . "&action=list&g={$value['group_id']}", 'U_EDIT' => $this->u_action . "&action=edit&g={$value['group_id']}") diff --git a/phpBB/includes/ucp/ucp_pm_compose.php b/phpBB/includes/ucp/ucp_pm_compose.php index d48f11a71d..c6a1d20be7 100644 --- a/phpBB/includes/ucp/ucp_pm_compose.php +++ b/phpBB/includes/ucp/ucp_pm_compose.php @@ -207,7 +207,7 @@ function compose_pm($id, $mode, $action) { if (($post['forum_id'] && !$auth->acl_get('f_read', $post['forum_id'])) || (!$post['forum_id'] && !$auth->acl_getf_global('f_read'))) { - trigger_error('NOT_AUTHORIZED'); + trigger_error('NOT_AUTHORISED'); } } diff --git a/phpBB/language/en/acp/permissions_phpbb.php b/phpBB/language/en/acp/permissions_phpbb.php index d090dcef1e..47105d8828 100644 --- a/phpBB/language/en/acp/permissions_phpbb.php +++ b/phpBB/language/en/acp/permissions_phpbb.php @@ -120,7 +120,7 @@ $lang = array_merge($lang, array( 'acl_u_sendim' => array('lang' => 'Can send instant messages', 'cat' => 'misc'), 'acl_u_ignoreflood' => array('lang' => 'Can ignore flood limit', 'cat' => 'misc'), 'acl_u_hideonline' => array('lang' => 'Can hide online status', 'cat' => 'misc'), - 'acl_u_viewonline' => array('lang' => 'Can view all online', 'cat' => 'misc'), + 'acl_u_viewonline' => array('lang' => 'Can view hidden online users', 'cat' => 'misc'), 'acl_u_search' => array('lang' => 'Can search board', 'cat' => 'misc'), )); diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 87f1ee44a1..95bc1b1230 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -321,7 +321,7 @@ $lang = array_merge($lang, array( 'NEVER' => 'Never', 'NO' => 'No', 'NOT_ALLOWED_MANAGE_GROUP' => 'You are not allowed to manage this group.', - 'NOT_AUTHORIZED' => 'You are not authorised to access this area.', + 'NOT_AUTHORISED' => 'You are not authorised to access this area.', 'NOT_WATCHING_FORUM' => 'You are no longer subscribed to updates on this forum.', 'NOT_WATCHING_TOPIC' => 'You are no longer subscribed to this topic.', 'NO_ACCESS_ATTACHMENT' => 'You are not allowed to access this file.', diff --git a/phpBB/language/en/help_bbcode.php b/phpBB/language/en/help_bbcode.php index 5f58388c10..c692977358 100644 --- a/phpBB/language/en/help_bbcode.php +++ b/phpBB/language/en/help_bbcode.php @@ -44,11 +44,11 @@ $help = array( ), array( 0 => 'How to change the text colour or size', - 1 => 'To alter the color or size of your text the following tags can be used. Keep in mind that how the output appears will depend on the viewers browser and system:
  • Changing the colour of text is achieved by wrapping it in [color=][/color]. You can specify either a recognised colour name (eg. red, blue, yellow, etc.) or the hexadecimal triplet alternative, eg. #FFFFFF, #000000. For example, to create red text you could use:

    [color=red]Hello![/color]

    or

    [color=#FF0000]Hello![/color]

    will both output Hello!
  • Changing the text size is achieved in a similar way using [size=][/size]. This tag is dependent on the template the user has selected but the recommended format is a numerical value representing the text size in pixels, starting at 1 (so tiny you will not see it) through to 29 (very large). For example:

    [size=9]SMALL[/size]

    will generally be SMALL

    whereas:

    [size=24]HUGE![/size]

    will be HUGE!
' + 1 => 'To alter the colour or size of your text the following tags can be used. Keep in mind that how the output appears will depend on the viewers browser and system:
  • Changing the colour of text is achieved by wrapping it in [color=][/color]. You can specify either a recognised colour name (eg. red, blue, yellow, etc.) or the hexadecimal triplet alternative, eg. #FFFFFF, #000000. For example, to create red text you could use:

    [color=red]Hello![/color]

    or

    [color=#FF0000]Hello![/color]

    will both output Hello!
  • Changing the text size is achieved in a similar way using [size=][/size]. This tag is dependent on the template the user has selected but the recommended format is a numerical value representing the text size in percent, starting at 20 through to 200 (very large) by default. For example:

    [size=30]SMALL[/size]

    will generally be SMALL

    whereas:

    [size=200%]HUGE![/size]

    will be HUGE!
' ), array( 0 => 'Can I combine formatting tags?', - 1 => 'Yes, of course you can, for example to get someones attention you may write:

[size=18][color=red][b]LOOK AT ME![/b][/color][/size]

this would output LOOK AT ME!

We don’t recommend you output lots of text that looks like this though! Remember it is up to you, the poster to ensure tags are closed correctly. For example the following is incorrect:

[b][u]This is wrong[/b][/u]' + 1 => 'Yes, of course you can, for example to get someones attention you may write:

[size=150][color=red][b]LOOK AT ME![/b][/color][/size]

this would output LOOK AT ME!

We don’t recommend you output lots of text that looks like this though! Remember it is up to you, the poster to ensure tags are closed correctly. For example the following is incorrect:

[b][u]This is wrong[/b][/u]' ), array( 0 => '--', diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index 8310da0b87..df374e4a6f 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -54,6 +54,7 @@ $lang = array_merge($lang, array( 'CAT_CONVERT' => 'Convert', 'CAT_INSTALL' => 'Install', 'CAT_OVERVIEW' => 'Overview', + 'CAT_UPDATE' => 'Update', 'CHANGE' => 'Change', 'CHECK_TABLE_PREFIX' => 'Please check your table prefix and try again.', 'CLEAN_VERIFY' => 'Cleaning up and verifying the final structure', @@ -399,7 +400,7 @@ $lang = array_merge($lang, array( 'MERGE_SELECT_ERROR' => 'Conflicting file merge modes are not correctly selected.', 'NEW_FILE' => 'New updated file', - 'NO_AUTH_UPDATE' => 'Not authorized to update', + 'NO_AUTH_UPDATE' => 'Not authorised to update', 'NO_ERRORS' => 'No errors', 'NO_UPDATE_FILES' => 'Not updating the following files', 'NO_UPDATE_FILES_EXPLAIN' => 'The following files are new or modified but the directory they normally reside in could not be found on your installation. If this list contains files to other directories than language/ or styles/ than you may have modified your directory structure and the update may be incomplete.', diff --git a/phpBB/language/en/memberlist.php b/phpBB/language/en/memberlist.php index 2d47c31f38..20e2e395c1 100644 --- a/phpBB/language/en/memberlist.php +++ b/phpBB/language/en/memberlist.php @@ -110,8 +110,13 @@ $lang = array_merge($lang, array( 'SEARCH_USER_POSTS' => 'Search user’s posts', 'SELECT_MARKED' => 'Select marked', 'SELECT_SORT_METHOD' => 'Select sort method', + 'SEND_AIM_MESSAGE' => 'Send AIM message', + 'SEND_ICQ_MESSAGE' => 'Send ICQ message', 'SEND_IM' => 'Instant messaging', + 'SEND_JABBER_MESSAGE' => 'Send Jabber message', 'SEND_MESSAGE' => 'Message', + 'SEND_MSNM_MESSAGE' => 'Send MSNM/WLM message', + 'SEND_YIM_MESSAGE' => 'Send YIM message', 'SORT_EMAIL' => 'Email', 'SORT_LAST_ACTIVE' => 'Last active', 'SORT_POST_COUNT' => 'Post count', diff --git a/phpBB/mcp.php b/phpBB/mcp.php index d382cdd50e..3ff42be8d4 100644 --- a/phpBB/mcp.php +++ b/phpBB/mcp.php @@ -124,14 +124,14 @@ if (!$auth->acl_getf_global('m_')) if (!$allow_user) { - trigger_error($user->lang['NOT_AUTHORIZED']); + trigger_error($user->lang['NOT_AUTHORISED']); } } // if the user cannot read the forum he tries to access then we won't allow mcp access either if ($forum_id && !$auth->acl_get('f_read', $forum_id)) { - trigger_error($user->lang['NOT_AUTHORIZED']); + trigger_error($user->lang['NOT_AUTHORISED']); } if ($forum_id) diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 697d5df2d3..6c3a02ac42 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -264,6 +264,11 @@ switch ($mode) $page_title = $user->lang['IM_USER']; $template_html = 'memberlist_im.html'; + if (!$auth->acl_get('u_sendim')) + { + trigger_error('NOT_AUTHORISED'); + } + $presence_img = ''; switch ($action) { @@ -1496,12 +1501,19 @@ function show_profile($data) 'U_EMAIL' => $email, 'U_WWW' => (!empty($data['user_website'])) ? $data['user_website'] : '', 'U_ICQ' => ($data['user_icq']) ? 'http://www.icq.com/people/webmsg.php?to=' . $data['user_icq'] : '', - 'U_AIM' => ($data['user_aim']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=aim&u=' . $user_id) : '', + 'U_AIM' => ($data['user_aim'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=aim&u=' . $user_id) : '', 'U_YIM' => ($data['user_yim']) ? 'http://edit.yahoo.com/config/send_webmesg?.target=' . $data['user_yim'] . '&.src=pg' : '', - 'U_MSN' => ($data['user_msnm']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=msnm&u=' . $user_id) : '', - 'U_JABBER' => ($data['user_jabber']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=jabber&u=' . $user_id) : '', + 'U_MSN' => ($data['user_msnm'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=msnm&u=' . $user_id) : '', + 'U_JABBER' => ($data['user_jabber'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=jabber&u=' . $user_id) : '', 'LOCATION' => ($data['user_from']) ? $data['user_from'] : '', - + + 'USER_ICQ' => $data['user_icq'], + 'USER_AIM' => $data['user_aim'], + 'USER_YIM' => $data['user_yim'], + 'USER_MSN' => $data['user_msnm'], + 'USER_JABBER' => $data['user_jabber'], + 'USER_JABBER_IMG' => ($data['user_jabber']) ? $user->img('icon_contact_jabber', $data['user_jabber']) : '', + 'L_VIEWING_PROFILE' => sprintf($user->lang['VIEWING_PROFILE'], $username), ); } diff --git a/phpBB/posting.php b/phpBB/posting.php index 9109edddfd..a03e4af4c6 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -863,7 +863,7 @@ if ($submit || $preview || $refresh) if (!$auth->acl_get('f_post', $to_forum_id)) { // This will only be triggered if the user tried to trick the forum. - trigger_error('NOT_AUTHORIZED'); + trigger_error('NOT_AUTHORISED'); } $forum_id = $to_forum_id; diff --git a/phpBB/styles/subSilver/template/memberlist_im.html b/phpBB/styles/subSilver/template/memberlist_im.html index 6fc738129f..a4486ada21 100644 --- a/phpBB/styles/subSilver/template/memberlist_im.html +++ b/phpBB/styles/subSilver/template/memberlist_im.html @@ -37,14 +37,15 @@ /** * Check whether the browser supports this and whether MSNM is connected */ - function msn_supported() { + function msn_supported() + { //Does the browser support the MSNM object? if (app.MyStatus) { //Is MSNM connected? if (app.MyStatus == 1) - { - alert('{L_IM_MSNM_CONNECT}'); + { + alert('{L_IM_MSNM_CONNECT}'); return false; } } @@ -63,7 +64,7 @@ { if (msn_supported()) { - //Could return an error while MSNM is connecting, don't want that + // Could return an error while MSNM is connecting, don't want that try { app.AddContact(0, address); @@ -83,7 +84,7 @@ { if (msn_supported()) { - //Could return an error while MSNM is connecting, don't want that + // Could return an error while MSNM is connecting, don't want that try { app.InstantMessage(address); diff --git a/phpBB/styles/subSilver/template/memberlist_view.html b/phpBB/styles/subSilver/template/memberlist_view.html index 0d0e844c9c..5f6c55e0eb 100644 --- a/phpBB/styles/subSilver/template/memberlist_view.html +++ b/phpBB/styles/subSilver/template/memberlist_view.html @@ -108,23 +108,23 @@ {L_MSNM}: - {MSN_IMG} + {MSN_IMG}{USER_MSN} {L_YIM}: - {YIM_IMG} + {YIM_IMG}{USER_YIM} {L_AIM}: - {AIM_IMG} + {AIM_IMG}{USER_AIM} {L_ICQ}: - {ICQ_IMG} + {ICQ_IMG}{USER_ICQ} {L_JABBER}: - {JABBER_IMG}{JABBER_IMG} + {JABBER_IMG}{USER_JABBER_IMG} diff --git a/phpBB/styles/subSilver/template/ucp_groups_manage.html b/phpBB/styles/subSilver/template/ucp_groups_manage.html index e234573fd8..ed26b75140 100644 --- a/phpBB/styles/subSilver/template/ucp_groups_manage.html +++ b/phpBB/styles/subSilver/template/ucp_groups_manage.html @@ -35,7 +35,7 @@ for="group_name">{L_GROUP_NAME}: - {GROUP_NAME} + style="color: #{GROUP_COLOUR};">{GROUP_NAME} @@ -243,7 +243,7 @@ - {leader.GROUP_NAME}

{leader.GROUP_DESC}

+ style="color: #{leader.GROUP_COLOUR};">{leader.GROUP_NAME}

{leader.GROUP_DESC}

{L_EDIT} {L_GROUP_LIST} diff --git a/phpBB/styles/subSilver/template/ucp_groups_membership.html b/phpBB/styles/subSilver/template/ucp_groups_membership.html index d6cae04d0e..b92dabc967 100644 --- a/phpBB/styles/subSilver/template/ucp_groups_membership.html +++ b/phpBB/styles/subSilver/template/ucp_groups_membership.html @@ -23,7 +23,7 @@ checked="checked" value="{leader.GROUP_ID}" /> - style="color:#{leader.GROUP_COLOUR}">{leader.GROUP_NAME} + style="color: #{leader.GROUP_COLOUR};">{leader.GROUP_NAME}
{leader.GROUP_DESC}
{leader.GROUP_STATUS} @@ -41,7 +41,7 @@ checked="checked" value="{member.GROUP_ID}" /> - style="color:#{member.GROUP_COLOUR}">{member.GROUP_NAME} + style="color: #{member.GROUP_COLOUR};">{member.GROUP_NAME}
{member.GROUP_DESC}
{member.GROUP_STATUS} @@ -59,7 +59,7 @@   - style="color:#{pending.GROUP_COLOUR}">{pending.GROUP_NAME} + style="color: #{pending.GROUP_COLOUR};">{pending.GROUP_NAME}
{pending.GROUP_DESC}
{pending.GROUP_STATUS} @@ -77,7 +77,7 @@   - style="color:#{nonmember.GROUP_COLOUR}">{nonmember.GROUP_NAME} + style="color: #{nonmember.GROUP_COLOUR};">{nonmember.GROUP_NAME}
{nonmember.GROUP_DESC}
{nonmember.GROUP_STATUS} diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index b5686ad3c4..8840168336 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -1026,10 +1026,10 @@ while ($row = $db->sql_fetchrow($result)) 'online' => false, 'profile' => append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=viewprofile&u=$poster_id"), 'www' => $row['user_website'], - 'aim' => ($row['user_aim']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=contact&action=aim&u=$poster_id") : '', - 'msn' => ($row['user_msnm']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=contact&action=msnm&u=$poster_id") : '', + 'aim' => ($row['user_aim'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=contact&action=aim&u=$poster_id") : '', + 'msn' => ($row['user_msnm'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=contact&action=msnm&u=$poster_id") : '', 'yim' => ($row['user_yim']) ? 'http://edit.yahoo.com/config/send_webmesg?.target=' . $row['user_yim'] . '&.src=pg' : '', - 'jabber' => ($row['user_jabber']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=contact&action=jabber&u=$poster_id") : '', + 'jabber' => ($row['user_jabber'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=contact&action=jabber&u=$poster_id") : '', 'search' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'search_author=' . urlencode($row['username']) .'&showresults=posts') : '', ); From 57ed8f8f733a1b565adbab0f457fd17763fdcdab Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 31 Mar 2007 04:39:51 +0000 Subject: [PATCH 293/707] #5375 git-svn-id: file:///svn/phpbb/trunk@7243 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/convertors/functions_phpbb20.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index 32f56624e2..73e6bb0d10 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -1647,14 +1647,14 @@ function phpbb_check_username_collisions() case 'mysql_40': $create_sql = 'CREATE TABLE ' . $table_prefix . 'userconv ( - user_id mediumint(8) UNSIGNED NOT NULL, + user_id mediumint(8) NOT NULL, username_clean blob NOT NULL )'; break; case 'mysql_41': $create_sql = 'CREATE TABLE ' . $table_prefix . 'userconv ( - user_id mediumint(8) UNSIGNED NOT NULL, + user_id mediumint(8) NOT NULL, username_clean varchar(255) DEFAULT \'\' NOT NULL ) CHARACTER SET `utf8` COLLATE `utf8_bin`'; break; From 2dbced7bd28f686e3e320d1e3e3b07adf1d302e2 Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 31 Mar 2007 05:10:15 +0000 Subject: [PATCH 294/707] #5353 git-svn-id: file:///svn/phpbb/trunk@7244 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/acp/database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/acp/database.php b/phpBB/language/en/acp/database.php index b8b423d08a..6d467f1086 100644 --- a/phpBB/language/en/acp/database.php +++ b/phpBB/language/en/acp/database.php @@ -32,7 +32,7 @@ if (empty($lang) || !is_array($lang)) // Database Backup/Restore $lang = array_merge($lang, array( - 'ACP_BACKUP_EXPLAIN' => 'Here you can backup all your phpBB related data. You may store the resulting archive in your store/ folder or download it directly. Depending on your server configuration you be able to compress the file in a number of formats.', + 'ACP_BACKUP_EXPLAIN' => 'Here you can backup all your phpBB related data. You may store the resulting archive in your store/ folder or download it directly. Depending on your server configuration you may be able to compress the file in a number of formats.', 'ACP_RESTORE_EXPLAIN' => 'This will perform a full restore of all phpBB tables from a saved file. If your server supports it you may use a gzip or bzip2 compressed text file and it will automatically be decompressed. WARNING This will overwrite any existing data. The restore may take a long time to process please do not move from this page till it is complete.', 'BACKUP_DELETE' => 'The backup file has been deleted successfully.', From f6d1fa57b269370583dca8bf0f2f3347d00d5e4a Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sat, 31 Mar 2007 11:58:28 +0000 Subject: [PATCH 295/707] #5386 - make new/unread private message variables available (holding the number of said private messages) git-svn-id: file:///svn/phpbb/trunk@7245 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 184da5c6fd..c244f686a1 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -3893,6 +3893,9 @@ function page_header($page_title = '', $display_online_list = true) 'PRIVATE_MESSAGE_INFO' => $l_privmsgs_text, 'PRIVATE_MESSAGE_INFO_UNREAD' => $l_privmsgs_text_unread, + 'S_USER_NEW_PRIVMSG' => $user->data['user_new_privmsg'], + 'S_USER_UNREAD_PRIVMSG' => $user->data['user_unread_privmsg'], + 'SID' => $SID, '_SID' => $_SID, 'SESSION_ID' => $user->session_id, From 3abc3dd3310e5c26eb58312c7f6f505f9de63644 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sat, 31 Mar 2007 12:35:44 +0000 Subject: [PATCH 296/707] #5396, #5266, #5147 git-svn-id: file:///svn/phpbb/trunk@7246 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_groups.php | 7 ++++++- phpBB/includes/mcp/mcp_main.php | 32 ++++++++++++++++++++++++++++--- phpBB/includes/mcp/mcp_topic.php | 14 ++++++++++++-- phpBB/language/en/mcp.php | 2 ++ 4 files changed, 49 insertions(+), 6 deletions(-) diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index 93ab4eedaa..236758b277 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -703,11 +703,13 @@ class acp_groups while ($row = $db->sql_fetchrow($result)) { $type = ($row['group_type'] == GROUP_SPECIAL) ? 'special' : 'normal'; + // used to determine what type a group is $lookup[$row['group_id']] = $type; + // used for easy access to the data within a group $cached_group_data[$type][$row['group_id']] = $row; - $cached_group_data[$type][$row['group_id']]['total_members'] = '0'; + $cached_group_data[$type][$row['group_id']]['total_members'] = 0; } $db->sql_freeresult($result); @@ -725,6 +727,9 @@ class acp_groups } $db->sql_freeresult($result); + // The order is... normal, then special + asort($cached_group_data); + foreach ($cached_group_data as $type => $row_ary) { if ($type == 'special') diff --git a/phpBB/includes/mcp/mcp_main.php b/phpBB/includes/mcp/mcp_main.php index a92f89da08..32a4edb6ca 100644 --- a/phpBB/includes/mcp/mcp_main.php +++ b/phpBB/includes/mcp/mcp_main.php @@ -854,6 +854,7 @@ function mcp_fork_topic($topic_ids) $total_posts = 0; $new_topic_id_list = array(); + foreach ($topic_data as $topic_id => $topic_row) { $sql_ary = array( @@ -970,9 +971,10 @@ function mcp_fork_topic($topic_ids) AND in_message = 0"; $result = $db->sql_query($sql); + $sql_ary = array(); while ($attach_row = $db->sql_fetchrow($result)) { - $sql_ary = array( + $sql_ary[] = array( 'post_msg_id' => (int) $new_post_id, 'topic_id' => (int) $new_topic_id, 'in_message' => 0, @@ -988,12 +990,36 @@ function mcp_fork_topic($topic_ids) 'filetime' => (int) $attach_row['filetime'], 'thumbnail' => (int) $attach_row['thumbnail'] ); - - $db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary)); } $db->sql_freeresult($result); + + if (sizeof($sql_ary)) + { + $db->sql_multi_insert(ATTACHMENTS_TABLE, $sql_ary); + } } } + + $sql = 'SELECT user_id, notify_status + FROM ' . TOPICS_WATCH_TABLE . ' + WHERE topic_id = ' . $topic_id; + $result = $db->sql_query($sql); + + $sql_ary = array(); + while ($row = $db->sql_fetchrow($result)) + { + $sql_ary[] = array( + 'topic_id' => $new_topic_id, + 'user_id' => $row['user_id'], + 'notify_status' => $row['notify_status'], + ); + } + $db->sql_freeresult($result); + + if (sizeof($sql_ary)) + { + $db->sql_multi_insert(TOPICS_WATCH_TABLE, $sql_ary); + } } // Sync new topics, parent forums and board stats diff --git a/phpBB/includes/mcp/mcp_topic.php b/phpBB/includes/mcp/mcp_topic.php index 2b793a4d6a..427c7e63d2 100644 --- a/phpBB/includes/mcp/mcp_topic.php +++ b/phpBB/includes/mcp/mcp_topic.php @@ -504,13 +504,23 @@ function merge_posts($topic_id, $to_topic_id) FROM ' . TOPICS_TABLE . ' WHERE topic_id = ' . $topic_id; $result = $db->sql_query_limit($sql, 1); + $row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); - if ($row = $db->sql_fetchrow($result)) + if ($row) { $return_link .= sprintf($user->lang['RETURN_TOPIC'], '', ''); } + else + { + // If the topic no longer exist, we will update the topic watch table. + // To not let it error out on users watching both topics, we just return on an error... + $db->sql_return_on_error(true); + $db->sql_query('UPDATE ' . TOPICS_WATCH_TABLE . ' SET topic_id = ' . $to_topic_id . ' WHERE topic_id = ' . $topic_id); + $db->sql_return_on_error(false); - $db->sql_freeresult($result); + $db->sql_query('DELETE FROM ' . TOPICS_WATCH_TABLE . ' WHERE topic_id = ' . $topic_id); + } // Link to the new topic $return_link .= (($return_link) ? '

' : '') . sprintf($user->lang['RETURN_NEW_TOPIC'], '', ''); diff --git a/phpBB/language/en/mcp.php b/phpBB/language/en/mcp.php index 9f26b41451..bf1a56610a 100644 --- a/phpBB/language/en/mcp.php +++ b/phpBB/language/en/mcp.php @@ -162,6 +162,8 @@ $lang = array_merge($lang, array( 'MCP_NOTES_FRONT' => 'Front page', 'MCP_NOTES_USER' => 'User details', + 'MCP_POST_REPORTS' => 'Reports issued on this post', + 'MCP_REPORTS' => 'Reported posts', 'MCP_REPORT_DETAILS' => 'Report details', 'MCP_REPORTS_CLOSED' => 'Closed reports', From 9b50de6b89d3ef7f4c7fdacb8b45e8b75dfe3d54 Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 31 Mar 2007 14:36:01 +0000 Subject: [PATCH 297/707] the mysql search backend now tries to use mbstring's regex engine if PCRE does not have property support git-svn-id: file:///svn/phpbb/trunk@7247 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/search/fulltext_mysql.php | 92 +++++++++++++++++++++--- phpBB/language/en/acp/search.php | 6 +- 2 files changed, 86 insertions(+), 12 deletions(-) diff --git a/phpBB/includes/search/fulltext_mysql.php b/phpBB/includes/search/fulltext_mysql.php index 7c67b755e1..52779ca835 100644 --- a/phpBB/includes/search/fulltext_mysql.php +++ b/phpBB/includes/search/fulltext_mysql.php @@ -33,6 +33,7 @@ class fulltext_mysql extends search_backend var $search_query; var $common_words = array(); var $pcre_properties = false; + var $mbstring_regex = false; function fulltext_mysql(&$error) { @@ -45,6 +46,11 @@ class fulltext_mysql extends search_backend $this->pcre_properties = true; } + if (function_exists('mb_ereg')) + { + $this->mbstring_regex = true; + } +$this->pcre_properties = false; $error = false; } @@ -129,10 +135,42 @@ class fulltext_mysql extends search_backend $keywords = preg_replace($match, ' ', trim($keywords)); // Split words - $split_keywords = preg_replace(($this->pcre_properties) ? '#([^\p{L}\p{N}\'*])#u' : '#([^\w\'*])#u', '$1$1', str_replace('\'\'', '\' \'', trim($keywords))); - $matches = array(); - preg_match_all(($this->pcre_properties) ? '#(?:[^\p{L}\p{N}*]|^)([+\-|]?(?:[\p{L}\p{N}*]+\'?)*[\p{L}\p{N}*])(?:[^\p{L}\p{N}*]|$)#u' : '#(?:[^\w*]|^)([+\-|]?(?:[\w*]+\'?)*[\w*])(?:[^\w*]|$)#u', $split_keywords, $matches); - $this->split_words = $matches[1]; + if ($this->pcre_properties) + { + $split_keywords = preg_replace('#([^\p{L}\p{N}\'*])#u', '$1$1', str_replace('\'\'', '\' \'', trim($keywords))); + } + else if ($this->mbstring_regex) + { + $split_keywords = mb_ereg_replace('([^\w\'*])', '\\1\\1', str_replace('\'\'', '\' \'', trim($keywords))); + } + else + { + $split_keywords = preg_replace('#([^\w\'*])#u', '$1$1', str_replace('\'\'', '\' \'', trim($keywords))); + } + + if ($this->pcre_properties) + { + $matches = array(); + preg_match_all('#(?:[^\p{L}\p{N}*]|^)([+\-|]?(?:[\p{L}\p{N}*]+\'?)*[\p{L}\p{N}*])(?:[^\p{L}\p{N}*]|$)#u', $split_keywords, $matches); + $this->split_words = $matches[1]; + } + else if ($this->mbstring_regex) + { + mb_regex_encoding('UTF-8'); + mb_ereg_search_init($split_keywords, '(?:[^\w*]|^)([+\-|]?(?:[\w*]+\'?)*[\w*])(?:[^\w*]|$)'); + + while (($word = mb_ereg_search_regs())) + { + $this->split_words[] = $word[1]; + } + } + else + { + $matches = array(); + preg_match_all('#(?:[^\w*]|^)([+\-|]?(?:[\w*]+\'?)*[\w*])(?:[^\w*]|$)#u', $split_keywords, $matches); + $this->split_words = $matches[1]; + } + if (sizeof($this->ignore_words)) { @@ -180,10 +218,41 @@ class fulltext_mysql extends search_backend $this->get_synonyms(); // Split words - $text = preg_replace(($this->pcre_properties) ? '#([^\p{L}\p{N}\'*])#u' : '#([^\w\'*])#u', '$1$1', str_replace('\'\'', '\' \'', trim($text))); - $matches = array(); - preg_match_all(($this->pcre_properties) ? '#(?:[^\p{L}\p{N}*]|^)([+\-|]?(?:[\p{L}\p{N}*]+\'?)*[\p{L}\p{N}*])(?:[^\p{L}\p{N}*]|$)#u' : '#(?:[^\w*]|^)([+\-|]?(?:[\w*]+\'?)*[\w*])(?:[^\w*]|$)#u', $text, $matches); - $text = $matches[1]; + if ($this->pcre_properties) + { + $text = preg_replace('#([^\p{L}\p{N}\'*])#u', '$1$1', str_replace('\'\'', '\' \'', trim($text))); + } + else if ($this->mbstring_regex) + { + $text = mb_ereg_replace('([^\w\'*])', '\\1\\1', str_replace('\'\'', '\' \'', trim($text))); + } + else + { + $text = preg_replace('#([^\w\'*])#u', '$1$1', str_replace('\'\'', '\' \'', trim($text))); + } + + if ($this->pcre_properties) + { + $matches = array(); + preg_match_all('#(?:[^\p{L}\p{N}*]|^)([+\-|]?(?:[\p{L}\p{N}*]+\'?)*[\p{L}\p{N}*])(?:[^\p{L}\p{N}*]|$)#u', $text, $matches); + $text = $matches[1]; + } + else if ($this->mbstring_regex) + { + mb_regex_encoding('UTF-8'); + mb_ereg_search_init($text, '(?:[^\w*]|^)([+\-|]?(?:[\w*]+\'?)*[\w*])(?:[^\w*]|$)'); + + while (($word = mb_ereg_search_regs())) + { + $text[] = $word[1]; + } + } + else + { + $matches = array(); + preg_match_all('#(?:[^\w*]|^)([+\-|]?(?:[\w*]+\'?)*[\w*])(?:[^\w*]|$)#u', $text, $matches); + $text = $matches[1]; + } if (sizeof($this->ignore_words)) { @@ -794,12 +863,15 @@ class fulltext_mysql extends search_backend { global $user, $config; - $tpl = '
-

' . $user->lang['FULLTEXT_MYSQL_UNICODE_EXPLAIN'] . '
+

' . $user->lang['FULLTEXT_MYSQL_PCRE_EXPLAIN'] . '
' . (($this->pcre_properties) ? $user->lang['YES'] : $user->lang['NO']) . ' (PHP ' . PHP_VERSION . ')
+
+

' . $user->lang['FULLTEXT_MYSQL_MBSTRING_EXPLAIN'] . '
+
' . (($this->mbstring_regex) ? $user->lang['YES'] : $user->lang['NO']). '
+
'; // These are fields required in the config table diff --git a/phpBB/language/en/acp/search.php b/phpBB/language/en/acp/search.php index 8224a6e1bc..5982eec31a 100644 --- a/phpBB/language/en/acp/search.php +++ b/phpBB/language/en/acp/search.php @@ -52,8 +52,10 @@ $lang = array_merge($lang, array( 'FULLTEXT_MYSQL_SUBJECT_CARDINALITY' => 'Cardinality of the post_subject fulltext index (estimate of unique values)', 'FULLTEXT_MYSQL_TEXT_CARDINALITY' => 'Cardinality of the post_text fulltext index (estimate of unique values)', 'FULLTEXT_MYSQL_TOTAL_POSTS' => 'Total number of indexed posts', - 'FULLTEXT_MYSQL_UNICODE' => 'Support for non-latin UTF-8 characters:', - 'FULLTEXT_MYSQL_UNICODE_EXPLAIN' => 'This search backend requires PCRE unicode character properties, only available in PHP 4.4, 5.1 and above, if you want to search for non-latin characters.', + 'FULLTEXT_MYSQL_MBSTRING' => 'Support for non-latin UTF-8 characters using mbstring:', + 'FULLTEXT_MYSQL_PCRE' => 'Support for non-latin UTF-8 characters using PCRE:', + 'FULLTEXT_MYSQL_MBSTRING_EXPLAIN' => 'If PCRE does not have unicode character properties, the search backend will try to use mbstring\'s regular expression engine.', + 'FULLTEXT_MYSQL_PCRE_EXPLAIN' => 'This search backend requires PCRE unicode character properties, only available in PHP 4.4, 5.1 and above, if you want to search for non-latin characters.', 'GENERAL_SEARCH_SETTINGS' => 'General search settings', 'GO_TO_SEARCH_INDEX' => 'Go to search index page', From 21ff4e419030d7114f599ea2a13882497644285a Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 31 Mar 2007 14:42:33 +0000 Subject: [PATCH 298/707] debug code :-( git-svn-id: file:///svn/phpbb/trunk@7248 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/search/fulltext_mysql.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/search/fulltext_mysql.php b/phpBB/includes/search/fulltext_mysql.php index 52779ca835..506f53fbd3 100644 --- a/phpBB/includes/search/fulltext_mysql.php +++ b/phpBB/includes/search/fulltext_mysql.php @@ -50,7 +50,7 @@ class fulltext_mysql extends search_backend { $this->mbstring_regex = true; } -$this->pcre_properties = false; + $error = false; } From c6b0b621651e52bccc778cd9d1e8cf8cf02bc2de Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 31 Mar 2007 15:16:18 +0000 Subject: [PATCH 299/707] allow password complexity to work using mbstring if PCRE does not support unicode properties git-svn-id: file:///svn/phpbb/trunk@7249 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_user.php | 32 ++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 1670a90a5f..1f17274250 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -1254,6 +1254,8 @@ function validate_password($password) return false; } + $pcre = $mbstring = false; + // generic UTF-8 character types supported? if (version_compare(PHP_VERSION, '5.1.0', '>=') || (version_compare(PHP_VERSION, '5.0.0-dev', '<=') && version_compare(PHP_VERSION, '4.4.0', '>='))) { @@ -1261,6 +1263,16 @@ function validate_password($password) $low = '\p{Ll}'; $num = '\p{N}'; $sym = '[^\p{Lu}\p{Ll}\p{N}]'; + $pcre = true; + } + else if (function_exists('mb_ereg_match')) + { + mb_regex_encoding('UTF-8'); + $upp = '[[:upper:]]'; + $low = '[[:lower:]]'; + $num = '[[:digit:]]'; + $sym = '[^[:upper:][:lower:][:digit:]]'; + $mbstring = true; } else { @@ -1268,6 +1280,7 @@ function validate_password($password) $low = '[a-z]'; $num = '[0-9]'; $sym = '[^A-Za-z0-9]'; + $pcre = true; } $chars = array(); @@ -1293,11 +1306,24 @@ function validate_password($password) break; } - foreach ($chars as $char) + if ($pcre) { - if (!preg_match('#' . $char . '#u', $password)) + foreach ($chars as $char) { - return 'INVALID_CHARS'; + if (!preg_match('#' . $char . '#u', $password)) + { + return 'INVALID_CHARS'; + } + } + } + else if ($mbstring) + { + foreach ($chars as $char) + { + if (!mb_ereg_match($char, $password)) + { + return 'INVALID_CHARS'; + } } } From a43416dbb2019980913fbb6449adbe2e6a3fbea9 Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Sat, 31 Mar 2007 16:44:18 +0000 Subject: [PATCH 300/707] - acp popup, shouldn't require 700 px width - throw an error if an image that's edited into an imageset doesn't exist - convert the password not its hash ;-) - only update user_login_attempts if necessary - make password requirements even clearer git-svn-id: file:///svn/phpbb/trunk@7250 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/simple_header.html | 2 +- phpBB/includes/acp/acp_styles.php | 8 +++++++- phpBB/includes/auth/auth_db.php | 15 +++++++++------ phpBB/language/en/acp/board.php | 2 +- phpBB/language/en/acp/search.php | 4 ++-- phpBB/language/en/acp/styles.php | 1 + phpBB/language/en/ucp.php | 6 +++--- 7 files changed, 24 insertions(+), 14 deletions(-) diff --git a/phpBB/adm/style/simple_header.html b/phpBB/adm/style/simple_header.html index 9d723a4f63..b7ce2d986f 100644 --- a/phpBB/adm/style/simple_header.html +++ b/phpBB/adm/style/simple_header.html @@ -101,4 +101,4 @@ function swatch(field) -
+
diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php index 182a565c19..db976f2f0a 100644 --- a/phpBB/includes/acp/acp_styles.php +++ b/phpBB/includes/acp/acp_styles.php @@ -1391,7 +1391,13 @@ parse_css_file = {PARSE_CSS_FILE} // from the image itself ... we ignore width settings for the poll center // image $imgwidth = $imgheight = ''; - if ($imgsize) + + if ($imageset_path && !file_exists("{$phpbb_root_path}styles/$imageset_path/imageset/$imgpath")) + { + trigger_error($user->lang['NO_IMAGE_ERROR'] . adm_back_link($this->u_action), E_USER_WARNING); + } + + if ($imgsize && $imageset_path) { list($imgwidth, $imgheight) = getimagesize("{$phpbb_root_path}styles/$imageset_path/imageset/$imgpath"); $imgheight = '*' . $imgheight; diff --git a/phpBB/includes/auth/auth_db.php b/phpBB/includes/auth/auth_db.php index afea47d1c1..ff073c1fb7 100644 --- a/phpBB/includes/auth/auth_db.php +++ b/phpBB/includes/auth/auth_db.php @@ -114,7 +114,7 @@ function login_db(&$username, &$password) } // cp1252 is phpBB2's default encoding, characters outside ASCII range might work when converted into that encoding - if (md5($password_old_format) == $row['user_password'] || utf8_to_cp1252(md5($password_old_format)) == $row['user_password']) + if (md5($password_old_format) == $row['user_password'] || md5(utf8_to_cp1252($password_old_format)) == $row['user_password']) { // Update the password in the users table to the new format and remove user_pass_convert flag $sql = 'UPDATE ' . USERS_TABLE . ' @@ -147,11 +147,14 @@ function login_db(&$username, &$password) // Check password ... if (!$row['user_pass_convert'] && md5($password) == $row['user_password']) { - // Successful, reset login attempts (the user passed all stages) - $sql = 'UPDATE ' . USERS_TABLE . ' - SET user_login_attempts = 0 - WHERE user_id = ' . $row['user_id']; - $db->sql_query($sql); + if ($row['user_login_attempts'] != 0) + { + // Successful, reset login attempts (the user passed all stages) + $sql = 'UPDATE ' . USERS_TABLE . ' + SET user_login_attempts = 0 + WHERE user_id = ' . $row['user_id']; + $db->sql_query($sql); + } // User inactive... if ($row['user_type'] == USER_INACTIVE || $row['user_type'] == USER_IGNORE) diff --git a/phpBB/language/en/acp/board.php b/phpBB/language/en/acp/board.php index b072581e54..68fea544ab 100644 --- a/phpBB/language/en/acp/board.php +++ b/phpBB/language/en/acp/board.php @@ -357,7 +357,7 @@ $lang = array_merge($lang, array( 'NO_IP_VALIDATION' => 'None', 'PASSWORD_TYPE' => 'Password complexity', 'PASSWORD_TYPE_EXPLAIN' => 'Determines how complex a password needs to be when set or altered, subsequent options include the previous ones.', - 'PASS_TYPE_ALPHA' => 'Must contain alphanumerics', + 'PASS_TYPE_ALPHA' => 'Must contain letters and numbers', 'PASS_TYPE_ANY' => 'No requirements', 'PASS_TYPE_CASE' => 'Must be mixed case', 'PASS_TYPE_SYMBOL' => 'Must contain symbols', diff --git a/phpBB/language/en/acp/search.php b/phpBB/language/en/acp/search.php index 5982eec31a..7f1c5c708b 100644 --- a/phpBB/language/en/acp/search.php +++ b/phpBB/language/en/acp/search.php @@ -78,8 +78,8 @@ $lang = array_merge($lang, array( 'SEARCH_GUEST_INTERVAL' => 'Guest search flood interval', 'SEARCH_GUEST_INTERVAL_EXPLAIN' => 'Number of seconds guests must wait between searches. If one guest searches all others have to wait until the time interval passed.', - 'SEARCH_INDEX_CREATE_REDIRECT' => 'All posts up to post id %d have now been indexed, of which %d posts were within this step.
The current rate of indexing is approximately %.1f posts per second.
Indexing in progress…', - 'SEARCH_INDEX_DELETE_REDIRECT' => 'All posts up to post id %d have been removed from the search index.
Deleting in progress…', + 'SEARCH_INDEX_CREATE_REDIRECT' => 'All posts up to post id %1$d have now been indexed, of which %2$d posts were within this step.
The current rate of indexing is approximately %3$.1f posts per second.
Indexing in progress…', + 'SEARCH_INDEX_DELETE_REDIRECT' => 'All posts up to post id %1$d have been removed from the search index.
Deleting in progress…', 'SEARCH_INDEX_CREATED' => 'Successfully indexed all posts in the board database.', 'SEARCH_INDEX_REMOVED' => 'Successfully deleted the search index for this backend.', 'SEARCH_INTERVAL' => 'User search flood interval', diff --git a/phpBB/language/en/acp/styles.php b/phpBB/language/en/acp/styles.php index c5c9438edd..73bbf0ad9f 100644 --- a/phpBB/language/en/acp/styles.php +++ b/phpBB/language/en/acp/styles.php @@ -285,6 +285,7 @@ $lang = array_merge($lang, array( 'NO_CLASS' => 'Cannot find class in stylesheet.', 'NO_IMAGESET' => 'Cannot find imageset on filesystem.', 'NO_IMAGE' => 'No image', + 'NO_IMAGE_ERROR' => 'Cannot find image on filesystem.', 'NO_STYLE' => 'Cannot find style on filesystem.', 'NO_TEMPLATE' => 'Cannot find template on filesystem.', 'NO_THEME' => 'Cannot find theme on filesystem.', diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index d099152954..7001b5bc7c 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -304,10 +304,10 @@ $lang = array_merge($lang, array( 'NO_WATCHED_FORUMS' => 'You are not watching any forums.', 'NO_WATCHED_TOPICS' => 'You are not watching any topics.', - 'PASS_TYPE_ALPHA_EXPLAIN' => 'Password must be between %1$d and %2$d chars long, must be mixed case and must contain numbers', + 'PASS_TYPE_ALPHA_EXPLAIN' => 'Password must be between %1$d and %2$d characters long, must contain letters in mixed case and must contain numbers', 'PASS_TYPE_ANY_EXPLAIN' => 'Must be between %1$d and %2$d characters.', - 'PASS_TYPE_CASE_EXPLAIN' => 'Password must be between %1$d and %2$d chars long and must be mixed case', - 'PASS_TYPE_SYMBOL_EXPLAIN' => 'Password must be between %1$d and %2$d chars long, must be mixed case, must contain numbers and must contain symbols', + 'PASS_TYPE_CASE_EXPLAIN' => 'Password must be between %1$d and %2$d characters long and must contain letters in mixed case', + 'PASS_TYPE_SYMBOL_EXPLAIN' => 'Password must be between %1$d and %2$d characters long, must contain letters in mixed case, must contain numbers and must contain symbols', 'PASSWORD' => 'Password', 'PASSWORD_ACTIVATED' => 'Your new password has been activated', 'PASSWORD_UPDATED' => 'Your password has been sent successfully to your original email address.', From 43f6f57262d18f7c33b7e699e2e4312a014c4fce Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sat, 31 Mar 2007 16:59:50 +0000 Subject: [PATCH 301/707] #5398 git-svn-id: file:///svn/phpbb/trunk@7251 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/acp/ban.php | 6 +++--- phpBB/language/en/common.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/phpBB/language/en/acp/ban.php b/phpBB/language/en/acp/ban.php index dd21ee8ad0..53a2df62d1 100644 --- a/phpBB/language/en/acp/ban.php +++ b/phpBB/language/en/acp/ban.php @@ -49,7 +49,7 @@ $lang = array_merge($lang, array( 'EMAIL_BAN_EXPLAIN' => 'To specify more than one email address enter each on a new line. To match partial addresses use * as the wildcard, e.g. *@hotmail.com, *@*.domain.tld, etc.', 'EMAIL_NO_BANNED' => 'No banned email addresses', 'EMAIL_UNBAN' => 'Un-ban or un-exclude emails', - 'EMAIL_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple email addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded email addresses have a marked background.', + 'EMAIL_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple email addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded email addresses are emphasised.', 'IP_BAN' => 'Ban one or more IPs', 'IP_BAN_EXCLUDE_EXPLAIN' => 'Enable this to exclude the entered IP from all current bans.', @@ -57,7 +57,7 @@ $lang = array_merge($lang, array( 'IP_HOSTNAME' => 'IP addresses or hostnames', 'IP_NO_BANNED' => 'No banned IP addresses', 'IP_UNBAN' => 'Un-ban or un-exclude IPs', - 'IP_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple IP addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded IPs have a marked background.', + 'IP_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple IP addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded IPs are emphasised.', 'PERMANENT' => 'Permanent', @@ -67,7 +67,7 @@ $lang = array_merge($lang, array( 'USER_BAN_EXPLAIN' => 'You can ban multiple users in one go by entering each name on a new line. Use the Find a member facility to look up and add one or more users automatically.', 'USER_NO_BANNED' => 'No banned usernames', 'USER_UNBAN' => 'Un-ban or un-exclude usernames', - 'USER_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded users have a marked background.', + 'USER_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded users are emphasised.', )); ?> \ No newline at end of file diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 95bc1b1230..c9508e4f88 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -242,7 +242,7 @@ $lang = array_merge($lang, array( 'ICQ' => 'ICQ', 'ICQ_STATUS' => 'ICQ status', - 'IF' => 'if', + 'IF' => 'If', 'IMAGE' => 'Image', 'IMAGE_FILETYPE_INVALID' => 'Image filetype %d for mimetype %s not supported.', 'IMAGE_FILETYPE_MISMATCH' => 'Image filetype mismatch: expected extension %1$s but extension %2$s given.', From 6e97ae1d460c75cb86347049d6926cfe440a5041 Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 31 Mar 2007 17:33:18 +0000 Subject: [PATCH 302/707] #5401 git-svn-id: file:///svn/phpbb/trunk@7252 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/search/fulltext_mysql.php | 1 + 1 file changed, 1 insertion(+) diff --git a/phpBB/includes/search/fulltext_mysql.php b/phpBB/includes/search/fulltext_mysql.php index 506f53fbd3..7edfedc424 100644 --- a/phpBB/includes/search/fulltext_mysql.php +++ b/phpBB/includes/search/fulltext_mysql.php @@ -242,6 +242,7 @@ class fulltext_mysql extends search_backend mb_regex_encoding('UTF-8'); mb_ereg_search_init($text, '(?:[^\w*]|^)([+\-|]?(?:[\w*]+\'?)*[\w*])(?:[^\w*]|$)'); + $text = array(); while (($word = mb_ereg_search_regs())) { $text[] = $word[1]; From a1ecbb613ad00cca99504ae3190e7d34ae5f257f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Sat, 31 Mar 2007 19:21:16 +0000 Subject: [PATCH 303/707] #5112 git-svn-id: file:///svn/phpbb/trunk@7253 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/posting.php | 1 + 1 file changed, 1 insertion(+) diff --git a/phpBB/language/en/posting.php b/phpBB/language/en/posting.php index 947ce006fc..6c0eb6f846 100644 --- a/phpBB/language/en/posting.php +++ b/phpBB/language/en/posting.php @@ -48,6 +48,7 @@ $lang = array_merge($lang, array( 'BBCODE_IS_ON' => '%sBBCode%s is ON', 'BBCODE_I_HELP' => 'Italic text: [i]text[/i]', 'BBCODE_L_HELP' => 'List: [list]text[/list]', + 'BBCODE_LISTITEM_HELP' => 'List item: [*]text[/*]', 'BBCODE_O_HELP' => 'Ordered list: [list=]text[/list]', 'BBCODE_P_HELP' => 'Insert image: [img]http://image_url[/img]', 'BBCODE_Q_HELP' => 'Quote text: [quote]text[/quote]', From 060a00a8244f59b6169a0252206f07ee8c03c7ae Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 1 Apr 2007 12:34:25 +0000 Subject: [PATCH 304/707] XHTML stuff git-svn-id: file:///svn/phpbb/trunk@7254 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_main.html | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/phpBB/adm/style/acp_main.html b/phpBB/adm/style/acp_main.html index 85a1c4a225..77a85add8e 100644 --- a/phpBB/adm/style/acp_main.html +++ b/phpBB/adm/style/acp_main.html @@ -95,41 +95,36 @@
-
+
-
-
+
-

{L_RESYNC_STATS_EXPLAIN}
-
+
-

{L_RESYNC_POSTCOUNTS_EXPLAIN}
-
+
-

{L_RESYNC_POST_MARKING_EXPLAIN}
-
+
-
From e7fcb3625ed5763c50861a64e3a00ee6f86f41e5 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 1 Apr 2007 12:39:34 +0000 Subject: [PATCH 305/707] - PostgreSQL can now use schemas. During install, under database name, enter databasename.schema - phpversion() to PHP_VERSION git-svn-id: file:///svn/phpbb/trunk@7255 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 2 +- phpBB/includes/db/postgres.php | 19 +++++++++++++++++-- phpBB/includes/utf/utf_tools.php | 2 +- phpBB/install/index.php | 4 ++-- phpBB/install/install_install.php | 2 +- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index 9361b00f5b..56235d8e88 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -950,7 +950,7 @@ class sqlite_extractor extends base_extractor if (is_null($proper)) { - $proper = version_compare(phpversion(), '5.1.3', '>='); + $proper = version_compare(PHP_VERSION, '5.1.3', '>='); } if ($proper) diff --git a/phpBB/includes/db/postgres.php b/phpBB/includes/db/postgres.php index 3f0c97ce00..bdaab439ea 100644 --- a/phpBB/includes/db/postgres.php +++ b/phpBB/includes/db/postgres.php @@ -62,9 +62,15 @@ class dbal_postgres extends dbal } } + $schema = ''; + if ($database) { $this->dbname = $database; + if (strpos($database, '.') !== false) + { + list($database, $schema) = explode('.', $database); + } $connect_string .= "dbname=$database"; } @@ -72,7 +78,16 @@ class dbal_postgres extends dbal $this->db_connect_id = ($this->persistency) ? @pg_pconnect($connect_string, $new_link) : @pg_connect($connect_string, $new_link); - return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error(''); + if ($this->db_connect_id) + { + if ($schema !== '') + { + @pg_query($this->db_connect_id, 'SET search_path TO ' . $schema); + } + return $this->db_connect_id; + } + + return $this->sql_error(''); } /** @@ -80,7 +95,7 @@ class dbal_postgres extends dbal */ function sql_server_info() { - if (version_compare(phpversion(), '5.0.0', '>=')) + if (version_compare(PHP_VERSION, '5.0.0', '>=')) { $version = @pg_version($this->db_connect_id); return 'PostgreSQL' . ((!empty($version)) ? ' ' . $version['client'] : ''); diff --git a/phpBB/includes/utf/utf_tools.php b/phpBB/includes/utf/utf_tools.php index 4f1cfcb5b5..1b715014bd 100644 --- a/phpBB/includes/utf/utf_tools.php +++ b/phpBB/includes/utf/utf_tools.php @@ -116,7 +116,7 @@ if (extension_loaded('mbstring')) * Notes: * - offset for mb_strrpos was added in 5.2.0, we emulate if it is lower */ - if (version_compare(phpversion(), '5.2.0', '>=')) + if (version_compare(PHP_VERSION, '5.2.0', '>=')) { /** * UTF-8 aware alternative to strrpos diff --git a/phpBB/install/index.php b/phpBB/install/index.php index e721e90bf6..26f8008f4c 100755 --- a/phpBB/install/index.php +++ b/phpBB/install/index.php @@ -22,7 +22,7 @@ $phpEx = substr(strrchr(__FILE__, '.'), 1); error_reporting(E_ALL ^ E_NOTICE); // @todo Review this test and see if we can find out what it is which prevents PHP 4.2.x from even displaying the page with requirements on it -if (version_compare(phpversion(), '4.3.3') < 0) +if (version_compare(PHP_VERSION, '4.3.3') < 0) { die('You are running an unsupported PHP version. Please upgrade to PHP 4.3.3 or higher before trying to install phpBB 3.0'); } @@ -82,7 +82,7 @@ function deregister_globals() } // If we are on PHP >= 6.0.0 we do not need some code -if (version_compare(phpversion(), '6.0.0-dev', '>=')) +if (version_compare(PHP_VERSION, '6.0.0-dev', '>=')) { /** * @ignore diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index eeb0bd8491..06c360d20c 100755 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -138,7 +138,7 @@ class install_install extends module )); // Test the minimum PHP version - $php_version = phpversion(); + $php_version = PHP_VERSION; if (version_compare($php_version, '4.3.3') < 0) { From 5828a9a85b07e82c88c40716f85e3561da4df690 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 1 Apr 2007 14:12:29 +0000 Subject: [PATCH 306/707] #5292 git-svn-id: file:///svn/phpbb/trunk@7256 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/viewtopic.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index 8840168336..3e2ae7b408 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -993,7 +993,8 @@ while ($row = $db->sql_fetchrow($result)) { $user_sig = ''; - if ($row['enable_sig'] && $config['allow_sig'] && $user->optionget('viewsigs')) + // We add the signature to every posters entry because enable_sig is post dependant + if ($row['user_sig'] && $config['allow_sig'] && $user->optionget('viewsigs')) { $user_sig = $row['user_sig']; } @@ -1227,7 +1228,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i) $poster_id = $row['user_id']; // End signature parsing, only if needed - if ($user_cache[$poster_id]['sig'] && empty($user_cache[$poster_id]['sig_parsed'])) + if ($user_cache[$poster_id]['sig'] && $row['enable_sig'] && empty($user_cache[$poster_id]['sig_parsed'])) { $user_cache[$poster_id]['sig'] = censor_text($user_cache[$poster_id]['sig']); $user_cache[$poster_id]['sig'] = str_replace("\n", '
', $user_cache[$poster_id]['sig']); From 3fa29da47dc52ccc3138b9bf14013545be0e90c0 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 1 Apr 2007 16:01:39 +0000 Subject: [PATCH 307/707] ok, these should fix the unread tracking bugs (yeah, actually two of them). Watch out for any oddities if you directly link to posts... :o git-svn-id: file:///svn/phpbb/trunk@7257 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/viewtopic.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index 3e2ae7b408..ba02cfae0c 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -271,7 +271,7 @@ if ($post_id) $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); - $topic_data['prev_posts'] = $row['prev_posts']; + $topic_data['prev_posts'] = $row['prev_posts'] + 1; } } @@ -1490,8 +1490,8 @@ if (isset($user->data['session_page']) && strpos($user->data['session_page'], '& } } -// Only mark topic if it's currently unread -if (isset($topic_tracking_info[$topic_id]) && $topic_data['topic_last_post_time'] > $topic_tracking_info[$topic_id]) +// Only mark topic if it's currently unread. Also make sure we do not set topic tracking back if earlier pages are viewed. +if (isset($topic_tracking_info[$topic_id]) && $topic_data['topic_last_post_time'] > $topic_tracking_info[$topic_id] && $max_post_time > $topic_tracking_info[$topic_id]) { markread('topic', $forum_id, $topic_id, $max_post_time); From e93165a9e14526cb40ca0b67a53a736e6dd0d6a8 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 1 Apr 2007 16:42:10 +0000 Subject: [PATCH 308/707] some beautifications as well as making sure manually deactivated accounts are properly handled git-svn-id: file:///svn/phpbb/trunk@7258 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/install_convert.html | 2 +- phpBB/adm/style/install_header.html | 10 ++++++---- phpBB/adm/style/install_install.html | 4 ++-- phpBB/includes/acp/acp_disallow.php | 2 +- phpBB/includes/ucp/ucp_remind.php | 16 ++++++++++++++-- phpBB/includes/ucp/ucp_resend.php | 14 ++++++++++++-- phpBB/install/index.php | 9 +++++++-- phpBB/language/en/common.php | 5 +++-- 8 files changed, 46 insertions(+), 16 deletions(-) diff --git a/phpBB/adm/style/install_convert.html b/phpBB/adm/style/install_convert.html index 068a8f230e..b6477fddc9 100755 --- a/phpBB/adm/style/install_convert.html +++ b/phpBB/adm/style/install_convert.html @@ -78,7 +78,7 @@
-
{checks.TITLE}:
{checks.TITLE_EXPLAIN}
+

{checks.TITLE_EXPLAIN}
{checks.RESULT}
diff --git a/phpBB/adm/style/install_header.html b/phpBB/adm/style/install_header.html index 2e9999a68b..a5545aad26 100755 --- a/phpBB/adm/style/install_header.html +++ b/phpBB/adm/style/install_header.html @@ -19,10 +19,12 @@

{L_INSTALL_PANEL}

{L_SKIP}

-
- - {S_LANG_SELECT} - + +
+ + {S_LANG_SELECT} + +
diff --git a/phpBB/adm/style/install_install.html b/phpBB/adm/style/install_install.html index 075d026d95..79006fba69 100755 --- a/phpBB/adm/style/install_install.html +++ b/phpBB/adm/style/install_install.html @@ -1,6 +1,6 @@ -
+

{TITLE}

{BODY}

@@ -68,7 +68,7 @@
{L_SUBMIT} {S_HIDDEN} - +
diff --git a/phpBB/includes/acp/acp_disallow.php b/phpBB/includes/acp/acp_disallow.php index cbdc24a3b6..c574c8e803 100644 --- a/phpBB/includes/acp/acp_disallow.php +++ b/phpBB/includes/acp/acp_disallow.php @@ -67,7 +67,7 @@ class acp_disallow add_log('admin', 'LOG_DISALLOW_DELETE'); - trigger_error($user->lang['DISALLOWED_DELETED'] . adm_back_link($this->u_action), E_USER_WARNING); + trigger_error($user->lang['DISALLOWED_DELETED'] . adm_back_link($this->u_action)); } // Grab the current list of disallowed usernames... diff --git a/phpBB/includes/ucp/ucp_remind.php b/phpBB/includes/ucp/ucp_remind.php index 0e86d5259f..cee36e4417 100644 --- a/phpBB/includes/ucp/ucp_remind.php +++ b/phpBB/includes/ucp/ucp_remind.php @@ -28,7 +28,7 @@ class ucp_remind if ($submit) { - $sql = 'SELECT user_id, username, user_email, user_jabber, user_notify_type, user_type, user_lang + $sql = 'SELECT user_id, username, user_email, user_jabber, user_notify_type, user_type, user_lang, user_inactive_reason FROM ' . USERS_TABLE . " WHERE user_email = '" . $db->sql_escape($email) . "' AND username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'"; @@ -41,9 +41,21 @@ class ucp_remind trigger_error('NO_EMAIL_USER'); } + if ($user_row['user_type'] == USER_IGNORE) + { + trigger_error('NO_USER'); + } + if ($user_row['user_type'] == USER_INACTIVE) { - trigger_error('ACCOUNT_NOT_ACTIVATED'); + if ($user_row['user_inactive_reason'] == INACTIVE_MANUAL) + { + trigger_error('ACCOUNT_DEACTIVATED'); + } + else + { + trigger_error('ACCOUNT_NOT_ACTIVATED'); + } } $server_url = generate_board_url(); diff --git a/phpBB/includes/ucp/ucp_resend.php b/phpBB/includes/ucp/ucp_resend.php index 1eaa30ce1e..10a1b672bd 100644 --- a/phpBB/includes/ucp/ucp_resend.php +++ b/phpBB/includes/ucp/ucp_resend.php @@ -28,7 +28,7 @@ class ucp_resend if ($submit) { - $sql = 'SELECT user_id, group_id, username, user_email, user_type, user_lang, user_actkey + $sql = 'SELECT user_id, group_id, username, user_email, user_type, user_lang, user_actkey, user_inactive_reason FROM ' . USERS_TABLE . " WHERE user_email = '" . $db->sql_escape($email) . "' AND username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'"; @@ -41,11 +41,21 @@ class ucp_resend trigger_error('NO_EMAIL_USER'); } - if (!$user_row['user_actkey']) + if ($user_row['user_type'] == USER_IGNORE) + { + trigger_error('NO_USER'); + } + + if (!$user_row['user_actkey'] && $user_row['user_type'] != USER_INACTIVE) { trigger_error('ACCOUNT_ALREADY_ACTIVATED'); } + if (!$user_row['user_actkey'] || ($user_row['user_type'] == USER_INACTIVE && $user_row['user_inactive_reason'] == INACTIVE_MANUAL)) + { + trigger_error('ACCOUNT_DEACTIVATED'); + } + // Determine coppa status on group (REGISTERED(_COPPA)) $sql = 'SELECT group_name, group_type FROM ' . GROUPS_TABLE . ' diff --git a/phpBB/install/index.php b/phpBB/install/index.php index 26f8008f4c..db6535c9f8 100755 --- a/phpBB/install/index.php +++ b/phpBB/install/index.php @@ -194,6 +194,11 @@ $auth = new auth(); $cache = new cache(); $template = new template(); +// Set some standard variables we want to force +$config = array( + 'load_tplcompile' => '1' +); + $template->set_custom_template('../adm/style', 'admin'); $template->assign_var('T_TEMPLATE_PATH', '../adm/style'); @@ -645,8 +650,8 @@ class module break; case 'radio': - $key_yes = ($value) ? ' checked="checked"' : ''; - $key_no = (!$value) ? ' checked="checked"' : ''; + $key_yes = ($value) ? ' checked="checked" id="' . $name . '"' : ''; + $key_no = (!$value) ? ' checked="checked" id="' . $name . '"' : ''; $tpl_type_cond = explode('_', $tpl_type[1]); $type_no = ($tpl_type_cond[0] == 'disabled' || $tpl_type_cond[0] == 'enabled') ? false : true; diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index c9508e4f88..4e20a602b2 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -44,8 +44,9 @@ $lang = array_merge($lang, array( '6_MONTHS' => '6 months', '7_DAYS' => '7 days', - 'ACCOUNT_ALREADY_ACTIVATED' => 'Your account is already activated', - 'ACCOUNT_NOT_ACTIVATED' => 'Your account has not been activated yet', + 'ACCOUNT_ALREADY_ACTIVATED' => 'Your account is already activated.', + 'ACCOUNT_DEACTIVATED' => 'Your account has been manually deactivated and is only able to be reactivated by an administrator.', + 'ACCOUNT_NOT_ACTIVATED' => 'Your account has not been activated yet.', 'ACP' => 'Administration Control Panel', 'ACTIVE' => 'active', 'ACTIVE_ERROR' => 'You have specified an inactive username. Please activate your account and try again. If you continue to have problems please contact a board administrator.', From c78c82123e6876541320ad4ebf2ba1e85a582fd0 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 1 Apr 2007 17:03:05 +0000 Subject: [PATCH 309/707] *cough* git-svn-id: file:///svn/phpbb/trunk@7259 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_groups.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index 236758b277..128cea2cb9 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -728,7 +728,7 @@ class acp_groups $db->sql_freeresult($result); // The order is... normal, then special - asort($cached_group_data); + ksort($cached_group_data); foreach ($cached_group_data as $type => $row_ary) { From f610ed82cbf0df2b5f8afd6ca3f88b9313281036 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 1 Apr 2007 22:05:42 +0000 Subject: [PATCH 310/707] say hello to prosilver... YAAAYEEEE git-svn-id: file:///svn/phpbb/trunk@7260 89ea8834-ac86-4346-8a33-228a782c2dd0 --- .../prosilver/imageset/announce_read.gif | Bin 0 -> 754 bytes .../imageset/announce_read_locked.gif | Bin 0 -> 738 bytes .../imageset/announce_read_locked_mine.gif | Bin 0 -> 753 bytes .../prosilver/imageset/announce_read_mine.gif | Bin 0 -> 750 bytes .../prosilver/imageset/announce_unread.gif | Bin 0 -> 756 bytes .../imageset/announce_unread_locked.gif | Bin 0 -> 745 bytes .../imageset/announce_unread_locked_mine.gif | Bin 0 -> 755 bytes .../imageset/announce_unread_mine.gif | Bin 0 -> 791 bytes .../imageset/en/button_pm_forward.gif | Bin 0 -> 2184 bytes .../prosilver/imageset/en/button_pm_new.gif | Bin 0 -> 2119 bytes .../prosilver/imageset/en/button_pm_reply.gif | Bin 0 -> 2143 bytes .../imageset/en/button_topic_locked.gif | Bin 0 -> 2020 bytes .../imageset/en/button_topic_new.gif | Bin 0 -> 2753 bytes .../imageset/en/button_topic_reply.gif | Bin 0 -> 2151 bytes .../prosilver/imageset/en/icon_contact_pm.gif | Bin 0 -> 748 bytes .../prosilver/imageset/en/icon_post_edit.gif | Bin 0 -> 855 bytes .../prosilver/imageset/en/icon_post_quote.gif | Bin 0 -> 1111 bytes .../imageset/en/icon_user_online.gif | Bin 0 -> 423 bytes phpBB/styles/prosilver/imageset/en/index.htm | 0 .../styles/prosilver/imageset/forum_link.gif | Bin 0 -> 734 bytes .../styles/prosilver/imageset/forum_read.gif | Bin 0 -> 688 bytes .../prosilver/imageset/forum_read_locked.gif | Bin 0 -> 707 bytes .../imageset/forum_read_subforum.gif | Bin 0 -> 751 bytes .../prosilver/imageset/forum_unread.gif | Bin 0 -> 693 bytes .../imageset/forum_unread_subforum.gif | Bin 0 -> 751 bytes .../prosilver/imageset/icon_contact_aim.gif | Bin 0 -> 614 bytes .../prosilver/imageset/icon_contact_email.gif | Bin 0 -> 590 bytes .../prosilver/imageset/icon_contact_icq.gif | Bin 0 -> 630 bytes .../imageset/icon_contact_jabber.gif | Bin 0 -> 1020 bytes .../prosilver/imageset/icon_contact_msnm.gif | Bin 0 -> 656 bytes .../prosilver/imageset/icon_contact_www.gif | Bin 0 -> 658 bytes .../prosilver/imageset/icon_contact_yahoo.gif | Bin 0 -> 608 bytes .../prosilver/imageset/icon_offline.gif | Bin 0 -> 384 bytes .../styles/prosilver/imageset/icon_online.gif | Bin 0 -> 393 bytes .../prosilver/imageset/icon_post_delete.gif | Bin 0 -> 529 bytes .../prosilver/imageset/icon_post_info.gif | Bin 0 -> 504 bytes .../prosilver/imageset/icon_post_report.gif | Bin 0 -> 482 bytes .../prosilver/imageset/icon_post_target.gif | Bin 0 -> 186 bytes .../imageset/icon_post_target_unread.gif | Bin 0 -> 151 bytes .../prosilver/imageset/icon_rate_bad.gif | Bin 0 -> 527 bytes .../prosilver/imageset/icon_rate_good.gif | Bin 0 -> 524 bytes .../prosilver/imageset/icon_topic_attach.gif | Bin 0 -> 144 bytes .../prosilver/imageset/icon_topic_latest.gif | Bin 0 -> 186 bytes .../prosilver/imageset/icon_topic_newest.gif | Bin 0 -> 155 bytes .../imageset/icon_topic_reported.gif | Bin 0 -> 246 bytes .../imageset/icon_topic_unapproved.gif | Bin 0 -> 253 bytes phpBB/styles/prosilver/imageset/imageset.cfg | 121 +++ phpBB/styles/prosilver/imageset/index.htm | 0 phpBB/styles/prosilver/imageset/site_logo.gif | Bin 0 -> 3430 bytes .../styles/prosilver/imageset/sticky_read.gif | Bin 0 -> 651 bytes .../prosilver/imageset/sticky_read_locked.gif | Bin 0 -> 646 bytes .../imageset/sticky_read_locked_mine.gif | Bin 0 -> 662 bytes .../prosilver/imageset/sticky_read_mine.gif | Bin 0 -> 659 bytes .../prosilver/imageset/sticky_unread.gif | Bin 0 -> 648 bytes .../imageset/sticky_unread_locked.gif | Bin 0 -> 626 bytes .../imageset/sticky_unread_locked_mine.gif | Bin 0 -> 682 bytes .../prosilver/imageset/sticky_unread_mine.gif | Bin 0 -> 669 bytes .../styles/prosilver/imageset/topic_moved.gif | Bin 0 -> 693 bytes .../styles/prosilver/imageset/topic_read.gif | Bin 0 -> 679 bytes .../prosilver/imageset/topic_read_hot.gif | Bin 0 -> 1469 bytes .../imageset/topic_read_hot_mine.gif | Bin 0 -> 1519 bytes .../prosilver/imageset/topic_read_locked.gif | Bin 0 -> 748 bytes .../imageset/topic_read_locked_mine.gif | Bin 0 -> 749 bytes .../prosilver/imageset/topic_read_mine.gif | Bin 0 -> 695 bytes .../prosilver/imageset/topic_unread.gif | Bin 0 -> 678 bytes .../prosilver/imageset/topic_unread_hot.gif | Bin 0 -> 1431 bytes .../imageset/topic_unread_hot_mine.gif | Bin 0 -> 1364 bytes .../imageset/topic_unread_locked.gif | Bin 0 -> 745 bytes .../imageset/topic_unread_locked_mine.gif | Bin 0 -> 764 bytes .../prosilver/imageset/topic_unread_mine.gif | Bin 0 -> 704 bytes phpBB/styles/prosilver/style.cfg | 22 + .../styles/prosilver/template/attachment.html | 123 +++ phpBB/styles/prosilver/template/bbcode.html | 40 + .../prosilver/template/confirm_body.html | 20 + .../template/custom_profile_fields.html | 31 + phpBB/styles/prosilver/template/drafts.html | 44 + phpBB/styles/prosilver/template/editor.js | 397 ++++++++ phpBB/styles/prosilver/template/faq_body.html | 52 + phpBB/styles/prosilver/template/forum_fn.js | 232 +++++ .../prosilver/template/forumlist_body.html | 65 ++ phpBB/styles/prosilver/template/index.htm | 0 .../styles/prosilver/template/index_body.html | 40 + phpBB/styles/prosilver/template/jumpbox.html | 31 + .../styles/prosilver/template/login_body.html | 67 ++ .../prosilver/template/login_forum.html | 35 + .../prosilver/template/mcp_approve.html | 47 + phpBB/styles/prosilver/template/mcp_ban.html | 128 +++ .../styles/prosilver/template/mcp_footer.html | 9 + .../styles/prosilver/template/mcp_forum.html | 107 ++ .../styles/prosilver/template/mcp_front.html | 141 +++ .../styles/prosilver/template/mcp_header.html | 67 ++ phpBB/styles/prosilver/template/mcp_logs.html | 86 ++ .../prosilver/template/mcp_message.html | 8 + phpBB/styles/prosilver/template/mcp_move.html | 36 + .../prosilver/template/mcp_notes_front.html | 28 + .../prosilver/template/mcp_notes_user.html | 120 +++ phpBB/styles/prosilver/template/mcp_post.html | 270 +++++ .../styles/prosilver/template/mcp_queue.html | 95 ++ .../prosilver/template/mcp_reports.html | 84 ++ .../styles/prosilver/template/mcp_topic.html | 153 +++ .../prosilver/template/mcp_viewlogs.html | 51 + .../prosilver/template/mcp_warn_front.html | 97 ++ .../prosilver/template/mcp_warn_list.html | 66 ++ .../prosilver/template/mcp_warn_post.html | 59 ++ .../prosilver/template/mcp_warn_user.html | 74 ++ .../styles/prosilver/template/mcp_whois.html | 14 + .../prosilver/template/memberlist_body.html | 162 +++ .../prosilver/template/memberlist_email.html | 92 ++ .../prosilver/template/memberlist_im.html | 89 ++ .../template/memberlist_leaders.html | 76 ++ .../prosilver/template/memberlist_search.html | 110 ++ .../prosilver/template/memberlist_view.html | 95 ++ .../prosilver/template/message_body.html | 11 + .../prosilver/template/overall_footer.html | 48 + .../prosilver/template/overall_header.html | 150 +++ .../template/posting_attach_body.html | 21 + .../prosilver/template/posting_body.html | 6 + .../prosilver/template/posting_buttons.html | 92 ++ .../prosilver/template/posting_editor.html | 229 +++++ .../prosilver/template/posting_layout.html | 91 ++ .../prosilver/template/posting_pm_layout.html | 33 + .../prosilver/template/posting_poll_body.html | 50 + .../prosilver/template/posting_preview.html | 49 + .../prosilver/template/posting_review.html | 21 + .../prosilver/template/posting_smilies.html | 22 + .../template/posting_topic_review.html | 39 + .../prosilver/template/report_body.html | 50 + .../prosilver/template/search_body.html | 120 +++ .../prosilver/template/search_results.html | 160 +++ .../prosilver/template/simple_footer.html | 20 + .../prosilver/template/simple_header.html | 39 + .../prosilver/template/styleswitcher.js | 158 +++ phpBB/styles/prosilver/template/template.cfg | 25 + .../prosilver/template/ucp_agreement.html | 47 + .../prosilver/template/ucp_attachments.html | 79 ++ .../template/ucp_avatar_options.html | 67 ++ .../styles/prosilver/template/ucp_footer.html | 14 + .../prosilver/template/ucp_groups_manage.html | 240 +++++ .../template/ucp_groups_membership.html | 164 +++ .../styles/prosilver/template/ucp_header.html | 88 ++ .../template/ucp_main_bookmarks.html | 76 ++ .../prosilver/template/ucp_main_drafts.html | 70 ++ .../prosilver/template/ucp_main_front.html | 42 + .../template/ucp_main_subscribed.html | 91 ++ .../prosilver/template/ucp_pm_history.html | 33 + .../template/ucp_pm_message_footer.html | 2 + .../template/ucp_pm_message_header.html | 29 + .../prosilver/template/ucp_pm_options.html | 131 +++ .../prosilver/template/ucp_pm_popup.html | 25 + .../prosilver/template/ucp_pm_viewfolder.html | 113 +++ .../template/ucp_pm_viewmessage.html | 103 ++ .../template/ucp_pm_viewmessage_print.html | 130 +++ .../template/ucp_prefs_personal.html | 143 +++ .../prosilver/template/ucp_prefs_post.html | 51 + .../prosilver/template/ucp_prefs_view.html | 94 ++ .../template/ucp_profile_avatar.html | 19 + .../template/ucp_profile_profile_info.html | 76 ++ .../template/ucp_profile_reg_details.html | 63 ++ .../template/ucp_profile_signature.html | 51 + .../prosilver/template/ucp_register.html | 123 +++ .../styles/prosilver/template/ucp_remind.html | 31 + .../styles/prosilver/template/ucp_resend.html | 32 + .../prosilver/template/ucp_zebra_foes.html | 41 + .../prosilver/template/ucp_zebra_friends.html | 41 + .../prosilver/template/viewforum_body.html | 216 ++++ .../prosilver/template/viewonline_body.html | 47 + .../prosilver/template/viewonline_whois.html | 15 + .../prosilver/template/viewtopic_body.html | 254 +++++ .../prosilver/template/viewtopic_print.html | 62 ++ phpBB/styles/prosilver/theme/buttons.css | 184 ++++ phpBB/styles/prosilver/theme/colours.css | 951 ++++++++++++++++++ phpBB/styles/prosilver/theme/common.css | 596 +++++++++++ phpBB/styles/prosilver/theme/content.css | 713 +++++++++++++ phpBB/styles/prosilver/theme/cp.css | 423 ++++++++ phpBB/styles/prosilver/theme/forms.css | 370 +++++++ .../prosilver/theme/images/arrow_down.gif | Bin 0 -> 113 bytes .../prosilver/theme/images/arrow_left.gif | Bin 0 -> 111 bytes .../prosilver/theme/images/arrow_right.gif | Bin 0 -> 111 bytes .../prosilver/theme/images/arrow_up.gif | Bin 0 -> 113 bytes .../prosilver/theme/images/bg_button.gif | Bin 0 -> 182 bytes .../prosilver/theme/images/bg_header.gif | Bin 0 -> 690 bytes .../styles/prosilver/theme/images/bg_list.gif | Bin 0 -> 664 bytes .../styles/prosilver/theme/images/bg_menu.gif | Bin 0 -> 354 bytes .../prosilver/theme/images/bg_tabs1.gif | Bin 0 -> 1520 bytes .../prosilver/theme/images/bg_tabs2.gif | Bin 0 -> 420 bytes .../prosilver/theme/images/corners_left.gif | Bin 0 -> 55 bytes .../prosilver/theme/images/corners_left.png | Bin 0 -> 195 bytes .../prosilver/theme/images/corners_left2.gif | Bin 0 -> 112 bytes .../prosilver/theme/images/corners_right.gif | Bin 0 -> 56 bytes .../prosilver/theme/images/corners_right.png | Bin 0 -> 201 bytes .../prosilver/theme/images/corners_right2.gif | Bin 0 -> 111 bytes .../prosilver/theme/images/created_by.jpg | Bin 0 -> 52977 bytes .../prosilver/theme/images/gradient.gif | Bin 0 -> 549 bytes .../prosilver/theme/images/icon_bookmark.gif | Bin 0 -> 218 bytes .../prosilver/theme/images/icon_bump.gif | Bin 0 -> 148 bytes .../prosilver/theme/images/icon_faq.gif | Bin 0 -> 255 bytes .../prosilver/theme/images/icon_fontsize.gif | Bin 0 -> 559 bytes .../prosilver/theme/images/icon_home.gif | Bin 0 -> 306 bytes .../prosilver/theme/images/icon_logout.gif | Bin 0 -> 219 bytes .../prosilver/theme/images/icon_members.gif | Bin 0 -> 264 bytes .../prosilver/theme/images/icon_pages.gif | Bin 0 -> 167 bytes .../prosilver/theme/images/icon_print.gif | Bin 0 -> 424 bytes .../prosilver/theme/images/icon_register.gif | Bin 0 -> 231 bytes .../prosilver/theme/images/icon_search.gif | Bin 0 -> 334 bytes .../prosilver/theme/images/icon_sendemail.gif | Bin 0 -> 531 bytes .../prosilver/theme/images/icon_subscribe.gif | Bin 0 -> 216 bytes .../theme/images/icon_textbox_search.gif | Bin 0 -> 335 bytes .../prosilver/theme/images/icon_ucp.gif | Bin 0 -> 254 bytes .../theme/images/icon_unsubscribe.gif | Bin 0 -> 214 bytes phpBB/styles/prosilver/theme/images/index.htm | 0 .../prosilver/theme/images/no_avatar.gif | Bin 0 -> 474 bytes phpBB/styles/prosilver/theme/images/quote.gif | Bin 0 -> 153 bytes phpBB/styles/prosilver/theme/images/top.gif | Bin 0 -> 204 bytes phpBB/styles/prosilver/theme/index.htm | 0 phpBB/styles/prosilver/theme/large.css | 3 + phpBB/styles/prosilver/theme/links.css | 198 ++++ phpBB/styles/prosilver/theme/medium.css | 3 + phpBB/styles/prosilver/theme/normal.css | 3 + phpBB/styles/prosilver/theme/print.css | 129 +++ phpBB/styles/prosilver/theme/stylesheet.css | 19 + phpBB/styles/prosilver/theme/theme.cfg | 35 + phpBB/styles/prosilver/theme/tweaks.css | 47 + 222 files changed, 11695 insertions(+) create mode 100644 phpBB/styles/prosilver/imageset/announce_read.gif create mode 100644 phpBB/styles/prosilver/imageset/announce_read_locked.gif create mode 100644 phpBB/styles/prosilver/imageset/announce_read_locked_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/announce_read_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/announce_unread.gif create mode 100644 phpBB/styles/prosilver/imageset/announce_unread_locked.gif create mode 100644 phpBB/styles/prosilver/imageset/announce_unread_locked_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/announce_unread_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/en/button_pm_forward.gif create mode 100644 phpBB/styles/prosilver/imageset/en/button_pm_new.gif create mode 100644 phpBB/styles/prosilver/imageset/en/button_pm_reply.gif create mode 100644 phpBB/styles/prosilver/imageset/en/button_topic_locked.gif create mode 100644 phpBB/styles/prosilver/imageset/en/button_topic_new.gif create mode 100644 phpBB/styles/prosilver/imageset/en/button_topic_reply.gif create mode 100644 phpBB/styles/prosilver/imageset/en/icon_contact_pm.gif create mode 100644 phpBB/styles/prosilver/imageset/en/icon_post_edit.gif create mode 100644 phpBB/styles/prosilver/imageset/en/icon_post_quote.gif create mode 100644 phpBB/styles/prosilver/imageset/en/icon_user_online.gif create mode 100644 phpBB/styles/prosilver/imageset/en/index.htm create mode 100644 phpBB/styles/prosilver/imageset/forum_link.gif create mode 100644 phpBB/styles/prosilver/imageset/forum_read.gif create mode 100644 phpBB/styles/prosilver/imageset/forum_read_locked.gif create mode 100644 phpBB/styles/prosilver/imageset/forum_read_subforum.gif create mode 100644 phpBB/styles/prosilver/imageset/forum_unread.gif create mode 100644 phpBB/styles/prosilver/imageset/forum_unread_subforum.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_contact_aim.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_contact_email.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_contact_icq.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_contact_jabber.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_contact_msnm.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_contact_www.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_contact_yahoo.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_offline.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_online.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_post_delete.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_post_info.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_post_report.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_post_target.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_post_target_unread.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_rate_bad.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_rate_good.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_topic_attach.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_topic_latest.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_topic_newest.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_topic_reported.gif create mode 100644 phpBB/styles/prosilver/imageset/icon_topic_unapproved.gif create mode 100644 phpBB/styles/prosilver/imageset/imageset.cfg create mode 100644 phpBB/styles/prosilver/imageset/index.htm create mode 100644 phpBB/styles/prosilver/imageset/site_logo.gif create mode 100644 phpBB/styles/prosilver/imageset/sticky_read.gif create mode 100644 phpBB/styles/prosilver/imageset/sticky_read_locked.gif create mode 100644 phpBB/styles/prosilver/imageset/sticky_read_locked_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/sticky_read_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/sticky_unread.gif create mode 100644 phpBB/styles/prosilver/imageset/sticky_unread_locked.gif create mode 100644 phpBB/styles/prosilver/imageset/sticky_unread_locked_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/sticky_unread_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_moved.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_read.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_read_hot.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_read_hot_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_read_locked.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_read_locked_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_read_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_unread.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_unread_hot.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_unread_hot_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_unread_locked.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_unread_locked_mine.gif create mode 100644 phpBB/styles/prosilver/imageset/topic_unread_mine.gif create mode 100644 phpBB/styles/prosilver/style.cfg create mode 100644 phpBB/styles/prosilver/template/attachment.html create mode 100644 phpBB/styles/prosilver/template/bbcode.html create mode 100644 phpBB/styles/prosilver/template/confirm_body.html create mode 100644 phpBB/styles/prosilver/template/custom_profile_fields.html create mode 100644 phpBB/styles/prosilver/template/drafts.html create mode 100644 phpBB/styles/prosilver/template/editor.js create mode 100644 phpBB/styles/prosilver/template/faq_body.html create mode 100644 phpBB/styles/prosilver/template/forum_fn.js create mode 100644 phpBB/styles/prosilver/template/forumlist_body.html create mode 100644 phpBB/styles/prosilver/template/index.htm create mode 100644 phpBB/styles/prosilver/template/index_body.html create mode 100644 phpBB/styles/prosilver/template/jumpbox.html create mode 100644 phpBB/styles/prosilver/template/login_body.html create mode 100644 phpBB/styles/prosilver/template/login_forum.html create mode 100644 phpBB/styles/prosilver/template/mcp_approve.html create mode 100644 phpBB/styles/prosilver/template/mcp_ban.html create mode 100644 phpBB/styles/prosilver/template/mcp_footer.html create mode 100644 phpBB/styles/prosilver/template/mcp_forum.html create mode 100644 phpBB/styles/prosilver/template/mcp_front.html create mode 100644 phpBB/styles/prosilver/template/mcp_header.html create mode 100644 phpBB/styles/prosilver/template/mcp_logs.html create mode 100644 phpBB/styles/prosilver/template/mcp_message.html create mode 100644 phpBB/styles/prosilver/template/mcp_move.html create mode 100644 phpBB/styles/prosilver/template/mcp_notes_front.html create mode 100644 phpBB/styles/prosilver/template/mcp_notes_user.html create mode 100644 phpBB/styles/prosilver/template/mcp_post.html create mode 100644 phpBB/styles/prosilver/template/mcp_queue.html create mode 100644 phpBB/styles/prosilver/template/mcp_reports.html create mode 100644 phpBB/styles/prosilver/template/mcp_topic.html create mode 100644 phpBB/styles/prosilver/template/mcp_viewlogs.html create mode 100644 phpBB/styles/prosilver/template/mcp_warn_front.html create mode 100644 phpBB/styles/prosilver/template/mcp_warn_list.html create mode 100644 phpBB/styles/prosilver/template/mcp_warn_post.html create mode 100644 phpBB/styles/prosilver/template/mcp_warn_user.html create mode 100644 phpBB/styles/prosilver/template/mcp_whois.html create mode 100644 phpBB/styles/prosilver/template/memberlist_body.html create mode 100644 phpBB/styles/prosilver/template/memberlist_email.html create mode 100644 phpBB/styles/prosilver/template/memberlist_im.html create mode 100644 phpBB/styles/prosilver/template/memberlist_leaders.html create mode 100644 phpBB/styles/prosilver/template/memberlist_search.html create mode 100644 phpBB/styles/prosilver/template/memberlist_view.html create mode 100644 phpBB/styles/prosilver/template/message_body.html create mode 100644 phpBB/styles/prosilver/template/overall_footer.html create mode 100644 phpBB/styles/prosilver/template/overall_header.html create mode 100644 phpBB/styles/prosilver/template/posting_attach_body.html create mode 100644 phpBB/styles/prosilver/template/posting_body.html create mode 100644 phpBB/styles/prosilver/template/posting_buttons.html create mode 100644 phpBB/styles/prosilver/template/posting_editor.html create mode 100644 phpBB/styles/prosilver/template/posting_layout.html create mode 100644 phpBB/styles/prosilver/template/posting_pm_layout.html create mode 100644 phpBB/styles/prosilver/template/posting_poll_body.html create mode 100644 phpBB/styles/prosilver/template/posting_preview.html create mode 100644 phpBB/styles/prosilver/template/posting_review.html create mode 100644 phpBB/styles/prosilver/template/posting_smilies.html create mode 100644 phpBB/styles/prosilver/template/posting_topic_review.html create mode 100644 phpBB/styles/prosilver/template/report_body.html create mode 100644 phpBB/styles/prosilver/template/search_body.html create mode 100644 phpBB/styles/prosilver/template/search_results.html create mode 100644 phpBB/styles/prosilver/template/simple_footer.html create mode 100644 phpBB/styles/prosilver/template/simple_header.html create mode 100644 phpBB/styles/prosilver/template/styleswitcher.js create mode 100644 phpBB/styles/prosilver/template/template.cfg create mode 100644 phpBB/styles/prosilver/template/ucp_agreement.html create mode 100644 phpBB/styles/prosilver/template/ucp_attachments.html create mode 100644 phpBB/styles/prosilver/template/ucp_avatar_options.html create mode 100644 phpBB/styles/prosilver/template/ucp_footer.html create mode 100644 phpBB/styles/prosilver/template/ucp_groups_manage.html create mode 100644 phpBB/styles/prosilver/template/ucp_groups_membership.html create mode 100644 phpBB/styles/prosilver/template/ucp_header.html create mode 100644 phpBB/styles/prosilver/template/ucp_main_bookmarks.html create mode 100644 phpBB/styles/prosilver/template/ucp_main_drafts.html create mode 100644 phpBB/styles/prosilver/template/ucp_main_front.html create mode 100644 phpBB/styles/prosilver/template/ucp_main_subscribed.html create mode 100644 phpBB/styles/prosilver/template/ucp_pm_history.html create mode 100644 phpBB/styles/prosilver/template/ucp_pm_message_footer.html create mode 100644 phpBB/styles/prosilver/template/ucp_pm_message_header.html create mode 100644 phpBB/styles/prosilver/template/ucp_pm_options.html create mode 100644 phpBB/styles/prosilver/template/ucp_pm_popup.html create mode 100644 phpBB/styles/prosilver/template/ucp_pm_viewfolder.html create mode 100644 phpBB/styles/prosilver/template/ucp_pm_viewmessage.html create mode 100644 phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html create mode 100644 phpBB/styles/prosilver/template/ucp_prefs_personal.html create mode 100644 phpBB/styles/prosilver/template/ucp_prefs_post.html create mode 100644 phpBB/styles/prosilver/template/ucp_prefs_view.html create mode 100644 phpBB/styles/prosilver/template/ucp_profile_avatar.html create mode 100644 phpBB/styles/prosilver/template/ucp_profile_profile_info.html create mode 100644 phpBB/styles/prosilver/template/ucp_profile_reg_details.html create mode 100644 phpBB/styles/prosilver/template/ucp_profile_signature.html create mode 100644 phpBB/styles/prosilver/template/ucp_register.html create mode 100644 phpBB/styles/prosilver/template/ucp_remind.html create mode 100644 phpBB/styles/prosilver/template/ucp_resend.html create mode 100644 phpBB/styles/prosilver/template/ucp_zebra_foes.html create mode 100644 phpBB/styles/prosilver/template/ucp_zebra_friends.html create mode 100644 phpBB/styles/prosilver/template/viewforum_body.html create mode 100644 phpBB/styles/prosilver/template/viewonline_body.html create mode 100644 phpBB/styles/prosilver/template/viewonline_whois.html create mode 100644 phpBB/styles/prosilver/template/viewtopic_body.html create mode 100644 phpBB/styles/prosilver/template/viewtopic_print.html create mode 100644 phpBB/styles/prosilver/theme/buttons.css create mode 100644 phpBB/styles/prosilver/theme/colours.css create mode 100644 phpBB/styles/prosilver/theme/common.css create mode 100644 phpBB/styles/prosilver/theme/content.css create mode 100644 phpBB/styles/prosilver/theme/cp.css create mode 100644 phpBB/styles/prosilver/theme/forms.css create mode 100644 phpBB/styles/prosilver/theme/images/arrow_down.gif create mode 100644 phpBB/styles/prosilver/theme/images/arrow_left.gif create mode 100644 phpBB/styles/prosilver/theme/images/arrow_right.gif create mode 100644 phpBB/styles/prosilver/theme/images/arrow_up.gif create mode 100644 phpBB/styles/prosilver/theme/images/bg_button.gif create mode 100644 phpBB/styles/prosilver/theme/images/bg_header.gif create mode 100644 phpBB/styles/prosilver/theme/images/bg_list.gif create mode 100644 phpBB/styles/prosilver/theme/images/bg_menu.gif create mode 100644 phpBB/styles/prosilver/theme/images/bg_tabs1.gif create mode 100644 phpBB/styles/prosilver/theme/images/bg_tabs2.gif create mode 100644 phpBB/styles/prosilver/theme/images/corners_left.gif create mode 100644 phpBB/styles/prosilver/theme/images/corners_left.png create mode 100644 phpBB/styles/prosilver/theme/images/corners_left2.gif create mode 100644 phpBB/styles/prosilver/theme/images/corners_right.gif create mode 100644 phpBB/styles/prosilver/theme/images/corners_right.png create mode 100644 phpBB/styles/prosilver/theme/images/corners_right2.gif create mode 100644 phpBB/styles/prosilver/theme/images/created_by.jpg create mode 100644 phpBB/styles/prosilver/theme/images/gradient.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_bookmark.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_bump.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_faq.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_fontsize.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_home.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_logout.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_members.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_pages.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_print.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_register.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_search.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_sendemail.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_subscribe.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_textbox_search.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_ucp.gif create mode 100644 phpBB/styles/prosilver/theme/images/icon_unsubscribe.gif create mode 100644 phpBB/styles/prosilver/theme/images/index.htm create mode 100644 phpBB/styles/prosilver/theme/images/no_avatar.gif create mode 100644 phpBB/styles/prosilver/theme/images/quote.gif create mode 100644 phpBB/styles/prosilver/theme/images/top.gif create mode 100644 phpBB/styles/prosilver/theme/index.htm create mode 100644 phpBB/styles/prosilver/theme/large.css create mode 100644 phpBB/styles/prosilver/theme/links.css create mode 100644 phpBB/styles/prosilver/theme/medium.css create mode 100644 phpBB/styles/prosilver/theme/normal.css create mode 100644 phpBB/styles/prosilver/theme/print.css create mode 100644 phpBB/styles/prosilver/theme/stylesheet.css create mode 100644 phpBB/styles/prosilver/theme/theme.cfg create mode 100644 phpBB/styles/prosilver/theme/tweaks.css diff --git a/phpBB/styles/prosilver/imageset/announce_read.gif b/phpBB/styles/prosilver/imageset/announce_read.gif new file mode 100644 index 0000000000000000000000000000000000000000..33e4a5e8523f61a1172a8ce277e40c446d9b1681 GIT binary patch literal 754 zcmVHPfsM~TAe>+Uptyq%q$ z$<*KE=IZeA^QXYq`1tv;&E}GllKT4kI)T3G?C<{m{w;aB?(Xj2-{1ZH{rLI$f`Wo7 zcey@x|x6$YG^!8DX#QOXD=;-L;LM{;jy4a+8JmSn&IF&F``e7h9Us?&S({&LeX%*(i6>m^OQ39K;q^D zgkE1z3>X4FDghliGmDEk9X%>C0xp3?B!xT~ISZT%79J`!4>=hiJ_0XqLmD(bJP#H* zva$&d6B`9N77rjMAsRyr6aXqE7RSgLDHF^n9TpuWCIA$HFNGc*+S?ruJQ2S7?F{Hg!KYAae@@k zVx*56K?8V5Ab|x72qu!=tl?uO1|2>S^w`Sv#s;SjZg3roAS8x|GFBv5yS4@j2yk(% zsKJ))3Wo>MAy83(?%EXt;BGK607Zei1=Q^Oam_~z1O+0SP#{8tg8>p&M2?IgM!9oR zhWS{5pmfU08&ZHM&3Z+jYO6xXP_cpsj~gj4^B7^fcMKI5LXaTBp|Ok`D^}b99wWK) z8zxS{P!-ID02w|m+=#)wdyE?w3<)4ni3o!iA)a{rwOfDD3Up{W?DP5H;^y@B z_w@Dl^78b!xVXR8>gMR{!`bVKii)Vn`ckgvi|O=<4lytJIyHouZ_s zS(eJ<=IikB^Y{1ol9H18`uefW=1q>q@9^Fe(J z`T0hQ#LeLFfsvnHY^h_WS$$=jZ3*g?|`Gc*7H z|NsC0A^8LW002J#EC2ui02=@s000L6z@Kn9yks~fLWz@k5uecCgrLgQXb@U$r6NqC zPu>!O@R`p6gae5HO9`~{%`?E*2aKB!A@W8iE-yX-Bo8?Wh=@54Bmn^zDqln$C4wIq zhlv#)0XBvhA3hfZZ9^qAJ|7PiIjyZW2NW6$ITaW!0U{+s6C4NuJQc#j7&8>d467YH zX&jOS7d{>j9o5#1#}O^p9zG5PKQto>H#`sL=!_o<2`z=_%m^+J85uqc80ilK9|jr` z0H&qGpdi4C3@#-2V8EhbLk}M|L@;3j#0`fI8Ti;Sf`EgCJVJ&HpaDmN0tGg-5Ghh4 zjU*5j4wyNB1Opr)ESxw2fB{Yani?Sx@aV$^iK9n7EC8@G0wJV5qDFl=Vuud}NRi&y zV8KEIcSpM(7;B-xhzu(Nv|zxNtql|r;^JswgRO-FAqN~VkwIL+1#KC$Fc4Qm00Srh z_rS|TuK)-?p!txYV1eZT8$f_K&;URS%RMYK9&kc{kX~h4C|FHWvxXUz6<_J9BZ z2ZWRm;i$!j4>x8Q@OiGU+k=;i3jqe*kU_q@ zj2p;L#4vHUJ1+tv$_#QuKm20tI%>Ngf*=J42fv(QMjE9FAXQWr{6WPEHHZL#1Y4v~ Uf+TJ{@xl=)P{D)~U<3gGJIzN)cK`qY literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/announce_read_locked_mine.gif b/phpBB/styles/prosilver/imageset/announce_read_locked_mine.gif new file mode 100644 index 0000000000000000000000000000000000000000..2105d21f108f39e1f35041be98fd69de8428db63 GIT binary patch literal 753 zcmVFe$g9Vofe z=;7n%bar^nR&v9`!>p{WEO@*2_xJ4c`SkVohO*f5^7NE9O?j%+xVX5Bi;Jkp$o~EOwsGq{%>g?|`Gc*7H z|NsC0A^8LW002J#EC2ui02=@s000L6z@Kn9bX`U($ZB+P4Si4_aY})tE;U6!QDdbb zwV%%-f=++DWk3>*9wdQ^?_de}Zqi{@!KQrx2!Q|wAts&;B{)I^E0GZh3#q9D9|tp(tsVTDAA#E0zh!-V@8atS3gWB zur$K~tTB3s75me`j$B}`(g4w+0|tRt+di1vfq{VwEDi{$z?bg~02u-k5HN#phX*kM zJUDT|-h=}a`c@F&ATWpn4q`;^ftZKl1Oa}C^8s&y=>s|j40wQ{fB@4yI(P j1~XQ$P=g8qXwXFpD^M^F;fFsMF~S!JQsBggK>z?d>^4k` literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/announce_read_mine.gif b/phpBB/styles/prosilver/imageset/announce_read_mine.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad928330e664136d6e207d5b492dafa1a4bca52e GIT binary patch literal 750 zcmV?CtQa#MpME%qe%d;Ns@T-0g{p ziITb7!^6XPczE>n_VV-eYM#sW_V=Wur0w(huP{!j$m6uMwCCvTWo2dI<>{nRWk-p^ z>Fe(B@$=3(TvwCGGkv_2BR=Kk>dDjJv(4o9_xSqy`Z|HW-{0Wl#LMdJ@9ysI`1$$q z$I;x5p+1Db_0`?^`uh6&`}6enQI5pl!^-E<*ZA=A_we$czuV&D==kI4*I0M&@bdrv z|J&ZLM{;j|l| z>I<#dym@|4v?XjY$0Fw$RO`ST!$IlHpd_>qPRfYtV7GjW<8o}iTjsaLa zm^*jI3I%vYu$V!YZj6l(@M(0=HwFW|5&|$-L71)sgigx&h!Meoj66?kz1dH(rl#C`{yK!X8J_!k5KI~H?RGXMYp literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/announce_unread.gif b/phpBB/styles/prosilver/imageset/announce_unread.gif new file mode 100644 index 0000000000000000000000000000000000000000..4a789f70f0c1453dde0a16b5bd376b3cb6bf90c0 GIT binary patch literal 756 zcmVAJ<~>+aO3we9Zlt6FXA#LeWYxUgk*@$&Tb_V@0~ z)br`<$Xs{0dy3}h?D_8T$99X=x5DD(>H72ah&D;cn4|ps{K|oqzcp6r*W1f}lfpw{ z*v-}C=IYI3eZ);^+`q@bJY1GUSNQn(yoQta_xS$){`&j-;Ns`*-r@fI{rLI$##C_A za*6Qq^ZEMv{{8;n;pX3(tMl~s`}_R;{r#d(W8&lJ*MXMs&)4zN*}*_x!bfHA@bdrv z|J&ZLM{;jx2D?Rc777r`}5I8<&ypuOzM1%$hKxoUC07eT49}M_Fkf)-H z2_z1P5OLr{#fs((un19L;>Q3r8lW|G$25r!U?Qk6ZjAbp#_W;2-2pVv4AUq6f0(^ zRl7pP!*vr>B$&HGzySgfY6w^$S8akC`~>`<`69uL$2Bw@I8Z?bh`5huBzSRdhmc`r zRwNj00>S|g5EO_WJ$i+oYOMgksIj6%i5EHqfSB>Zw(k`+Q~=;Xgab_zCswRDVZp)+ z<kZ ziR;DA!8=>ngqZZ_>gnt5@$&S$eT(Pl?Bl4m`R(v}V`;gmyG@zL4%`1$wu_}II`fOdG`;^+GN`}q0!@bUBN zy~ytG^7;Du+>fH);pY7O{PXnoqEBPUP;BDk==}Nl_xSnk&eq_-$Els5>g?|`Gc*7H z|NsC0A^8LW002J#EC2ui02=@s000L6z@Kn9%r!s*#sJhH5ueZ>j8SVKT8kD!QDeZO zPsj2=@tMy7$^uDw`i9e%#;0Nx9{2)8<)d)CL~l|xBt8KyAvQ6Ki#8!H0Raa!Uqm7U zg(eR+DV-@8ECDkTHV-&H2MldP11&x#5*RkKvojqd5f?TX5+wl~18^W30X!JT$PXVI z%oHIQAv|dyl?(?yEFs$4ArcfL8wo4i5IzeGKP?s-Dm)VJ@DeU28Xqez@jNmV77Gmx zJ}x|nC!v6e6A==eU_tP~g#Zc~)R^D{0-lR3G$b4`B7usF7t2ksz+gc|9w<=;h#=w? zt`aFzmTQsZ8iWEk3%H>0;f4YK8Z;K%%!#vHs**ltxLCTB#RVNe4IE^Gd`Ka$vpypz2x4 z1ONybz#-BK6DCxA$gqGNa1)Qqrmaw02nEXlRIFH`BKq{}kI(K9aJC1W8V3USkfGv* z`SUMSBu7yJg<0=#7;q?KD1eOnk$gPfzT-ChArvgJ00rWmVF(4M5nxqS9z-!k4GJK@ b!2%p?QNsY0fB^*wM|4pJ0~1bw5d;7`f8tL7 literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/announce_unread_locked_mine.gif b/phpBB/styles/prosilver/imageset/announce_unread_locked_mine.gif new file mode 100644 index 0000000000000000000000000000000000000000..53782fc3dccc219027d15bbe4c36d2787a595b40 GIT binary patch literal 755 zcmV=jyDhtNHo*qKc5}yT<+f{jp_t#YSZ*6Bz96 z@X>OJt6FXD%hcYMr`Us->&4Hyd5H4z^}#$_>Fe&~s<_Nqb@SBQ=jiPD@$>Zc_IhJ! z`0en>m!sn4>4SuX>DSxOWq$D8;pFD(!iJRg_xRPNv6Vqp;G3-6y~Tibc*reM$53qG z;^&DTIPmfF@9^^6kD=e;=JWLS`}_RYw7jBEW8&lJ^5W(E`T6kA*VkBf>g?|`Gc*7H z|NsC0A^8LW002J#EC2ui02=@s000L6z@Kn9)ICCo2_p2+4Si4_aT=Sj9;gDOfLgF7 zj-T%oflhycWrGuq8aR-Q&v1J9aMEG5Ag8?)6oCp7G(I&h2LKiC>KH^2p2vj6gMraEgmlhGZ;6o3!W%uKL`b<7#=sjzcU?V8nYcPC_5{7 zKQSR020R|q)D$29*c>AYH3xSgrau!6J})EZ=pz^$CjbWn=L!QQJ{b=`1r`}JJQ)7} z7+{ph0Ac_PfIMhqumItK9Ssx!Vo*?`MuY%!N7tCEGqbr5UAvf3?vSmIB|eR z$&wO$RIo4s!bl!CaTvw7PTN!gW0Y$A~0ak!C==99|Y+Apu)m~1qKF47(94JfVm7r z445%EFHQvlHay4&O#@*G156w^5W#?n0G4|Qcq||R1aagBXjt7b<$(?+QmEF@;{%VR zDiR2B#%6ZMi<}$G7Jyc7=>!6V=rRzvLFe&~s<^Oa zcJ=1z^7Hle_4nx1*ze8N`t$Y3Tz9y8itotMh%!dUc8lle?D*~Q)wjap<>}qQ$jF$Z z{QUgv!_D2AtCvDonIb>r=IY9Sli1DG?%d$w#mw{6+s|Zv`1tv}hLiXA_}}5?`uqFf z;^+SU{{H;^`1$$AP;Jw4iSY6B+>W97`uhI;{`>p<^Yr%p{r#a%V)*d#;^XM=@bdrv z|J&ZLM{;jIXxjfE1R18Qa_l4iw;+3?&mj z9VP=p0+ll%?(ZQM1|Jj(FzyBhP!9z^2N4i%Ah1BNpoJbPaFBpuz#sw+J7OHDK)^?X zfd&nrz#u^Zh8YGeAZTDiMuiv&d@vxyat4GH3O;;Lz=9=920jvi>7ddkg8v*6NGQ{h z0)|fnI0pnMP>w;qd_68WU;#jfjuJSYKE*j92~Qk7!iJsEK!a5PF2t(E;X^4(i)zE( zkN^O{hCp$9G{_mFf(#ol7zh@OV?kX23vmn{4C95#e-K_YSPbKU0ss|q99S@UaDyBX z5Byl?qeg?%pG7E8u)%`{7^qLzFxStT8`!5^R8YWV1Pc|hVfeUkLIkh@HgdpFp@M~j z10^7EU``!Iju%Raj3DiT1q>KBa(Mqvo`nk^4+M;uGU`Bw=id)%oY27q@4=DZ1sy~X!+H-&avFsU9t_Yy0$v0V VfN>pCVMGK=#SnoAPCOU{06VsYSN8w_ literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/en/button_pm_forward.gif b/phpBB/styles/prosilver/imageset/en/button_pm_forward.gif new file mode 100644 index 0000000000000000000000000000000000000000..edb0747b9dd3b3238fa0d19997da3dc3432c8873 GIT binary patch literal 2184 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 K5Qg{$0suSH$#01O literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/en/button_pm_new.gif b/phpBB/styles/prosilver/imageset/en/button_pm_new.gif new file mode 100644 index 0000000000000000000000000000000000000000..f4faba3a4005661af281142d2128b875425db83d GIT binary patch literal 2119 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 VjDc;~&8~L0%eFCeVY-0;06SP~L;nB( literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/en/button_topic_locked.gif b/phpBB/styles/prosilver/imageset/en/button_topic_locked.gif new file mode 100644 index 0000000000000000000000000000000000000000..af54b2ce1a663f2bb837c5a68a55f810334668ab GIT binary patch literal 2020 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 CzalmO literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/en/button_topic_new.gif b/phpBB/styles/prosilver/imageset/en/button_topic_new.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef76f0336d3b0c1dbe3b5845b22e556f4cba3cc4 GIT binary patch literal 2753 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 literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/en/button_topic_reply.gif b/phpBB/styles/prosilver/imageset/en/button_topic_reply.gif new file mode 100644 index 0000000000000000000000000000000000000000..2c2a93585b05c7ea599a576d521c3e5dface83ee GIT binary patch literal 2151 zcmV-t2$=UrNk%w1VPF6=0Oo%H!$f0w!R6z#zVYYk+Lou^q_W3SZtUXZ+n}!Jz{%pf z#p%q`&TWL~=;-zJ_4oJp@bK{S^Yird^zrfW_V)Jf?(XmJ@7s-_0BXjMkB?+zWB^Nz z`|dn-^ zI9S(zl)yJw&u)d)hnm=wq|Re}^78WEue#QVnh=rE`T6+B#KG(K`{ncc9+%Y2$i#ia z=IYkl&~ApyV0zMekL~2$gXr}8=H%ktt+?K;x#6+A?%Ut( z+1~p3`QYB%-S7CsMP%~m>&8)SgwwI`}_I%`NzY*3XahF`uh0z`276*>FMdbDoy|Y|NsC0A^8LW004ggEC2ui z0AK(!000O7fPXklSa*hph>41ejE#L?BC6Ld+=Op@2SRVm`E!$Ii~4 z5Fh%ZK(uHd6D(K==>vvBfuk%E1ZiQ0!ip6M62PFE)I^`8O(mKz0i#b43S!5a5PFKK4Ef8fbv2@kQY$C z1kasWxJ2A;`WTS#TsZYUxeXMrj(b6$7jOD35Z;=$Y}yor`-{N7eIFY|iYyIdq)&VH z^&>nH@YC~(CT2Uq~W8D3a{0039;Sw$a#O5`U17D$A`rYLxk zDW!pa$|(wKd>X0+64>daYZ3(NPX(~X+6Mx$*4o7x5^1pptZQf?(G)@)0PCQ&N)#&q z091e=3d;6TE3621(d@GoM4)O08ALEat^UN}?YH2DEAF`DmTT_0=uTiEdlQ7~j~wvE zEAPDY)@$#*_~xtczH<08$G-pvEbzbt7i{ps2q&!Y9RASZ@WT*CEb+t?S8VbB#TaKy zM>oO5!N9f=xaQ1QpqR99{F)mUe(_10W>?KRdrNZ|w?WS4FB*=VP&_S$T> z?Kay^NU_5oN8FIb4nXIv_uixIki`v0_&~(VH5YF9;U~x82N6E-po1I@L@xQ{lvi%~ z<(Ox#`R1F;p#u+i_(2Eaq?dm9#$=1G@#?I%?)t@kq`vU%wAXHX!m)=w?*pBbKta3_ zaN~y^6Tmw`Kh9kENeR4nQit-M2-OMk%|9SV@P1e?2k(10z%RVHzYMPbA0&;Cf*x_` z@j(a@fj~lf9DpEE2py<^;0WZCM1TGyUBG|)9LV3x>cGAaI6wj)=z|D2Pyuf>1bylI zhr3euEb?8T108TdA4s5w6!hVODwx3tIIxEhgg^x<0Ko_`c!54(kOcX=zy;(tgBZ&2 z0w1uU{6HYU3OFEvB6vjsDFCa6Y`_l{FycSBmAX)o&jS>o0SEe!f+=1=4>XX#2}Hod zK6pS665zlHIzR&oc%Tn{puq$L*bs@Z5g-y^V+rx+Mn2_1ejYeu2=>q?KWyNLM%(}f z{NSq8wdsiuh`aY)8L?ejo(84~rfOsI9Wi1DZ&1|NwLnui>9vaD^2vBo`D#$|#IPd`x1knzhWKaG+ z@Bs~az=kqx2TDK?KsUC>0VI$J3Cbx?L1Ms`d01EYtn)-pkD{&Qnsn%RdO%5|<%#lRrzFxS)t=fgLPh5Bq>Rl)$l{fCXhC!q`q|RNS*g@Oc+V-~Uh@Ip1u#MjO_P4;j#vVQ=I9DL!xX4W|FZ=+90MsoCTi}~?r<=De dMBxTx_yZXNkcPK;_q*T?@7vN4fb0eW06QH;Tx9?N literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/en/icon_contact_pm.gif b/phpBB/styles/prosilver/imageset/en/icon_contact_pm.gif new file mode 100644 index 0000000000000000000000000000000000000000..820a9777525e23db95ba71555763f897f8a06a5b GIT binary patch literal 748 zcmVx0#>K*bj-J}u z)?svw^7j1D&&$-(&f&Ym-rm~bik{Wg(dFdeB|l-ewzAF5$mQkXxwy3CQPM z0000S04V?f1^?jJjbv$_rl@37 z>%MT@Dr08fc&_Io=lcc0qVOvkjiZfnlUNK2iv(mztuB+wLW02<45AsUcr$`PI06gf z;tiU|OLN&Q7_i#{bAUogY$yv%6ajJ_3JMTV5MEyih#nLY6bO6@0u&w)G=_%?O-~C8 znh=nZ7JLPKnVX%d1qx3TuL_WT5EKHrn1>@0z7!o?ZIQGTX157_yAr(;30qx^LkfEk z5*(P>0Se3=4h|F-42z6G9ZL>VN>kPjBMwk^j9wHL-}m_VBMkup2?Yh(Gy&G2puvL% z_jT|P>JqLf77$8I*g=EEix@L%%(%~j$B!UGiu~B1g9sETQ~#R$z_O*wmoQ^~@IbSs z&6_xH&h${Br_Y~2gZiwAp{UWLNRuL^Su{Y=1i2D8#W1yM)2lQCXbli50stWuwu&9Q zHLKPp6CND+DwV9;05lQE6;Qzdfe32_Xzj$eK_>)oJ;+5MAcEloc@bzJ002M)1pp2x z@cKXlg1B;_B1SAEBI5@D7z0on+A>X#78ew5ya0hc#tud|_8QuO1)3LK5jb$EfCUMn z4{T_>wsr%W-!u#|pmr^V2EYMKf$ViH0R;|d`g+FvE@wxe4M>0xy8HufG`UfDV8Afm zyb3lXlMhB`~o ebi{@n8gbeMAciR7h$M!1+fF&9sNx4900296i8i4C literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/en/icon_post_edit.gif b/phpBB/styles/prosilver/imageset/en/icon_post_edit.gif new file mode 100644 index 0000000000000000000000000000000000000000..9781f020417bbf6598e4d6f6ec4914685c53c227 GIT binary patch literal 855 zcmV-d1E~B*Nk%w1VJZMA0M$PL|NsBIDos(9(S?PDyVB;=hMD^M`s(WH(&Y82tE}ba z<@osc15=obwc6w3B-UZ^77!EtmNkE41ej0SZBLM$j45fL+n zjhUK=0FVW67}{at|t-!CH46G z{p#_vM=;)xc?S|I#7CoHLVgL;9f0_-gu;sk=PB685g&|?92C6T0i(tZktI0tPyu2^ z2IL+na44PuM300D5(1F^<3I=i4_GMV9>C55^cql*!U_OB0H6dH9WWme0?LE_ z0eTcb*k1tYNkAb%^(;7aM1$`v(47h-I)b4o1ERNpfhWFWAbmeHh>b7?boU(y;jKcR zdFTbx`n$JJya2nHzUU6Vvs=%Ek|-f{~GcaVUk9fn{@f+=2FiHneR hY+`06rV$}nWo+tkSrLLICg+@oEtc1vcpec106S6ci+%tA literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/en/icon_post_quote.gif b/phpBB/styles/prosilver/imageset/en/icon_post_quote.gif new file mode 100644 index 0000000000000000000000000000000000000000..a15931711716e41d805676d758c331de83f9e269 GIT binary patch literal 1111 zcmV-d1gQH*Nk%w1VKx9M0M$PL|NsBklcUpnkoEQT@bK{8-rrG`(cGr9g@uK@Dou*8 z(%tIy`uh5)sj3H2lH|F=`1tr{W@giiol;U#=H}+(gwv?;Nb1;?c}Su z$;rq?MMW=hs>oP#{r&xLsMubOx8Izs&0~DPI9cPy%>Zh}_2lT?!^yukSM1#209d5$ z#?bBV@&5k)o12@|)YIeT>GIUu>Fe(E^!D=e^8jVM`|)nq~%gtn|&kupL9QTw?H zkr?z!w%T-^MvPOKL@F?Zd`_?1@A!E`=xTIe8~^|l9U6j%h>41ejEV?*5D^m%F8~}J z5f~s0oSmMZprN9jf(Sn#ZV?<14Q>c8qp`BF0H&xB5iks`xEK%+5+w;FE58W`#>guq z2_+H`2MN;B5Yx@S*buc|4Y)B76u3Gd0|6x)4N3sg|lcWNKkR$LxKxuckIwdmBNJ&4-Tl1a8^PBvyJBf(z9Cfp)j9CEQW6&V;;Knx&*>C>o9A4tu*wd>ZT0Th@`ySC&E zwsY&=ZMzhaEscT;ACBlzku7QzrOwZ`19+puONy72Rv9Hhz|}dK-_@`8qgmD91WHc$W~ zB0CC#BV!Z*;2{7Lo?rlYESx|g1_J~$3o*&yWzAk5Rk10{@r!v_0o(1Mf#Y#`_W6kw3(SRNJ- zB?us3Py++75by#-5D+j!0)sXMV^dttppZu|3@{Y{RgNG?recvfgaIsR;DSqcLSSc8 zcYZp;sT!E-rLQb~DUARF{N$<-u%2WoL=3dh!j!e%8R`HGkP5-6RZ1|!3^+Js(y>3l zYQwnXGVo?PZ$bKW0bcvekS7Uy_Q}bqw-zcW1LTeiF02Ff%YZovd{6=o5X|6~ybNI3 zj06oaz-5fWHdAW9`?i?PFAN|AzzZ#a071r;c>FPo0BrILiyo7Fh{)Jf4B;#=$LvXm dL?{3&f;cDGU(NgV?DNm|?VR4wL`xS006Xa6=Jfyo literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/en/icon_user_online.gif b/phpBB/styles/prosilver/imageset/en/icon_user_online.gif new file mode 100644 index 0000000000000000000000000000000000000000..6b571ffce0d515170d728074029583feeb3f08da GIT binary patch literal 423 zcmV;Y0a*S=Nk%w1VLAXh0J9GOzS!%9$Llq&>k^~uAE)c5(d$>Z>p-#VZNTfC&g)FI z>$BDCkjm?M!|Tf2>i_@%A^8LW000jFEC2ui06G9V000F4(8)<_eK_mQyU$h_eq{NH z=wz;JnzAtIqH)d5qOD{2xZ6F;4;Z8jYenM`mQ*cUD8OMbKwO?H5kMedFa%a5wiId* z01^g4I3`yRhe=?~Zl5S~bb)}77Or+46$S)T23rFSb%8e&2?z;W1OtC)VvHLWTLNHmiNW;s_vYy9{r>*;_xR1$;P3GAcB9LUvC>+V z$&2-B=_WAqx`1$AQ?A+<|z0u?;ce?EE@ygWS9B;PK-Raol?$g@g z!q@2~bh!Ha`{n2B*X8l>^7Q!m`d5<1Uzf;IkHlr3&O?X5Xq?Dqn#g0B$KmAY?CtRG z@AB^N@$>ZdAaS?*{QU6o^WWj-0001)nVIqO^!fVw>g@0G^Y!HB>Ly^5Hj2{e>+WV| zX4~H5A^sLTLr+jyJ~A*cH6ULM{;jCtU=9JneC^;Npx^-;5jb>!p`m~b z7Z@?V2=>CpMjkIRx{y&o1B?n91hinmlBJ9sJaWijkz};Kv2Sfw*!3C zm^&A)T?qsgAh=K=LyjIg0t+5YIB<^~87f@(k*h_E4-O)O^+CBZjmQo@I94VK289qf zbgURnx-@AWIC4<1H3Wej89f}#pi#MYjTsJl$N&^-2#OLJ4zLhCqqy-ID|E0pkfB5* zD0L`UIM4$!>C8P2SfFqs#hf2xNMvB(xP=ABE*NAW5$Ai65gkS(puiym0164hboKy4$_d@kWTj>Fe%RlgH%d z>NI`4$<*Isn#!cY-TM0b_V)Pn_4hl0zWDk1#M$et#oM60*yri&^7Hj=p2^(g?EC!u zEO@$5jl;0Y;qdYE`TF`Pce%^n?RBTp;pFJ#>+!eE;IYl+CUm&=`1!Wb<{@&o;Ns`s z;pTO9b>ZXa;OFj%u+*o(*FS~8@9^^D<>}_=>-6>Z?CtRG@A2yF@A2~V0001)nVDv0 zX4~H5A^sLTLr+jyJ~A*cH6ULM{;j76A%zQJT9m%q^lE!CksOb z2>=hP5I#M*xwfkh011956ty?S#>dFT5Dx+zKNbf76E_&u7^Xhi+C0`6HxmE{G8rQi z5j*JV>g(zdDGeDj4k;Kk_Vzs5`aSpd7%2e`$bqmUhrxpg6C&IJ!NY5DB*`2N7aRxx5`jyX*tETzi6BRWfEgNK$Z?@(PqSRQdiWe# z69YVGC3YaN!L+H$!Gtp@9bkO8P@}Eew{S1) zfC0=?1sVnvkRXvyU$!257384d0M-x&S3lrT@PdWo$B$nq!0|!AicYa42ry`a1dA4+ zL9-xX1FwJuj))XM;Q&Ss0~c(#wQ<1!4Gk7nqz<#hg9ZZ$b!hO=K>}tt1vp4(5W|57 W3o#l<@B$|afg{r;FmVDV2mm_+&O|f- literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/forum_read_locked.gif b/phpBB/styles/prosilver/imageset/forum_read_locked.gif new file mode 100644 index 0000000000000000000000000000000000000000..450bf28c3c7fbecfab96a48f753daf45625ad8fb GIT binary patch literal 707 zcmV;!0zCakNk%w1VH*G&0M$PL$_dg%Ixj%$H>gP(dBh@b#*(t3legF1G1aU_W0Y~;q>+Q&(YP>)!0mixcK?`>g@0D@bdEW_51w%UteE>f`U+u!$U+w>+<;6 z+ur&5`tb4dT0g1-0o`MbTrqP*1e^!7i6z>bcOz{14z_4e`d^zQHRnVFepW@Z2Y z0NdWLM{;j$D9HLLaWaD5-&gc`Xu$chBQbxfnIoa>0Gi%|E z9xe`c8X7KzhAxA44pmPD6AluDBa@VsBQA;zZ$lFcCmJ%LK0XGe2BD}jgbNcx2OAt3 z9kU%hJh!*Bx*8lCUq1{EpgF|F#>d2}1q?ql7c4S0CetRPJ=fSi)Fw4D92W`#2O}Rk z=I7|?=pQlyTnaKKCG+z>*!Mj2^CmJ77jiOm>=;O}puvJVWUvBQVt~Vk5J`}DP@&=j zi6uHLW3ZsZ4v8Q`QVfv6gUJj59t_CA>H>`qJ08fCxnczm1h+hd05PiPfW{C0+?j|u z^Ff0INRfgda1GZr9qydL&_S`H)rtXH5Wrz;CXXI4zyT{@f<%P?XlpiTaHA~(A3VJJ z;3MRKiU?HE>Luv`1dbW@X7=#mi<5#9JJ4oWv9@so9;0xLYCr^loEHN~X4tHg0N}6J zP@qWR;-1qPnw9O5tBn>QMyAPr@Tf(VEyW(cv>2LjO+f*U9eMU09C5eCHEO~A+6 p*`|p5VGu(A1PBx$U_jBc`wBQhj37}W0s{>Y=s|>N;Xz0c06YEtQYHWZ literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/forum_read_subforum.gif b/phpBB/styles/prosilver/imageset/forum_read_subforum.gif new file mode 100644 index 0000000000000000000000000000000000000000..5e97bc94ce587397d9c075cbbc59bd818c2d44b5 GIT binary patch literal 751 zcmV{lm(^`qKhKY^J)Ze_({r&#i-O} z_V)Pt`uoh?>-F{b>G1aW`S~n)x|*`c#o6oZ^Z5Jx{LatQDR;T~`ug|y`Q_~M@A30c zj>IByw7LM{;j;)`}ItQqiMyHrel{bLm0* zLNgT}3??@nDTjzD9XEC)Gk!w`6dr^rA(xn$At{U`G;c!`4}~hFJUkbv7p1H!h7U1A z85g(+7?BM`h5h^$u_Vzs7`aSpdI4TJ$pfI3f2ZDnL5$4Eo0E5E=IS%gN@PNWV z4jL9})Ywpl3TR{Sg_r}9}kPaq;h#4DTj2Mw& h0r7htWI(}mU>MPc3pOmUKnyNW;6e-lC@@4206WTXSNQ+{ literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/forum_unread.gif b/phpBB/styles/prosilver/imageset/forum_unread.gif new file mode 100644 index 0000000000000000000000000000000000000000..5a305d24700992cb857860538b1c0516cc7a911a GIT binary patch literal 693 zcmV;m0!sZyNk%w1VH*G&0M$PL*_NlqTz2j5@yvjg{r>*x>+ZfaR^;aD_U!NM%hTe* z%gTI_*v-|!Lt?~CY2v%a_4fDNpRfA*`|85X^!4}6Zie{z`N?;U=jrV7^YzPPedV^o z@bUA&JY4JH=G?Bj+^Dwc-s9A^!o^Z=@8;>@g@0F^7Oqt zTif2_A^sLTLr+jyJ~A*cH6ULM{;jR|($2|DXxZf5W7ApzP`J`5HJ!58h!=|5->T<&d<=zFcuRXKQsXdFftk48L2+u;ws)5 zG8PCUF&6_C6g}|q^7Hb;6&DU578y4E{VL)DrtsG<1B?hGt94at8zx4Ms$uu%m!Yo8ZLV+*x1;1-OJ4Dlo)A zlxVMCDT*rX+2bCK5hQvPz(KXD)vHts^dO<`hXDl{c;GldHfKN;WDnrrk>P`V=-{B>(~|)X z6g0$9Vug#-r&pA~0ay|wB2zwu0E_{LT^tw$*a!il4;%(40+yym*!B61VG^<_yQ+jf&c(J3qMR1 literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/forum_unread_subforum.gif b/phpBB/styles/prosilver/imageset/forum_unread_subforum.gif new file mode 100644 index 0000000000000000000000000000000000000000..5ddd1b2cba9ffb52709d7484c6d756dfe99b765e GIT binary patch literal 751 zcmVFe&}<>}?s z+p@E^r&MXjTzA*i+ULQ`sF*BE?(gyD=LM{;j%r% z=H(hHIUe3BARX}VKGyUw@$eujFDM@mDm@ee3KXbA2Z9O+5fr4*Lq)0s4>)uvNRi^f z6)qfH7*Jq<0t6H^JUAdn0|f*qQyxsLyQqSQb=hqfY;%~0|P<=4Cp|C?g|k? z8SG%egF?lEJ!niQAmjo>5<2L%WPHHF3?0<0^$>7*Re%QpD=5aXV8;LuI>;vMVc`;y zDFa4KTv6g|0}EowA|SzH!UQN60yF?%p#pUrC?+T%L4pFj5qlhbF|i}SY6Au`gb49M hf&T#$?0^Xz02~p*4k0kWKnMrya6kwi$R|V)06Qv1R)zoo literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/icon_contact_aim.gif b/phpBB/styles/prosilver/imageset/icon_contact_aim.gif new file mode 100644 index 0000000000000000000000000000000000000000..07d9695a013b966b83edc7c643047d5cc39a6f1e GIT binary patch literal 614 zcmV-s0-60sNk%w1VH5x<0K^{v{_r-rx3cZ*>d42#uE^?OXKqz)k8D&BlB~|z+0_pX z6xFmN($UR-X&`llncdvjI8t+tnW)y)(ZImG9yM0s;M}Z@DW$Bo-`?6uITp{($>ihT z0000K04V?f1^?jJjbv$(VzRAl z>u$;T&hE(F_-#;WG1_VxJp^8x(*0}^30^y{~8;D7`f z6i|53VIVyZ6Cz5KP$0vC1qv!ijL2?d#0Lcy003}6l&OKD zf(!{KNSHYwCeH*G4lGD`;J^l+F*RJ%0Mf!pkq7=L)xZwhg8&vu9%#@&!G>w4A+0~7BM)>cqP-%0000K04V?f1^?jJjbv$(Vu7t} z>ted4Y7t74e&dkaQ($mz{ z2^SqAC)*_--rwNi;vXL6=I7|<Mddpr``?3Cbk^@G~ZZnH*;t#gNp)1&S!88Zc1QKu(rbA7F(# zfB?<1UXN-h_kbyb0yfVQP|y*>1GY?omMzM6?$H9}RJ_7P*Z_=jM*vh%toR~;1CIe< cID+_y<;$2Ym)pTvhf*3elCDcfT3rYLJH)gJ8~^|S literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/icon_contact_icq.gif b/phpBB/styles/prosilver/imageset/icon_contact_icq.gif new file mode 100644 index 0000000000000000000000000000000000000000..3a25bde47ff120d194106d1fe6c5f0290a67ffac GIT binary patch literal 630 zcmV-+0*U=cNk%w1VH5x<0K^{v+1b|X>*)pv2Jz%My}Y@{#l)Gi(*W84QCM`}-`fDG z0ds|+7BEuX>ig8w&o4=9TX2ra*5~H|6#+~GyTs3goxOW%95W<2<>cVc&dKBA-l@ao z&(F`cwzdHO00000A^ti%Lr+jyK0|MCd2(rIXmlVlFfcSARA^-&aA0000K04V?f1^?j3jbv$(B7m)I z>tev@YLTX4%W}7)?N<+mhEb^qeVU#vkzi~LjKyXHNgzkeETpnwK&B50Ad9s!g3bqm zdVW-x<%a>xs2k^9IA`pfb}I`+27w6xF?#?JXLS$_4QO?ShlU9YZcq_jeqDwm01gfh zV32E52%jUM90+JsUv&mRsvMxT2y=lO6$lHbw5hcmqPh&R1`f2d92pK79K{r5!u_@BjM!b;^5}#93m&}B_Htd^7Hf`9ryV8`uO(y1q2-m&?>M`UjYXl ztRX<4Z6AS$1OOnIAfSK%1quWJfC#Vy#{>dA9JuJg!-Nd~9<|Oe!PUqJtP_)hsN#WUQ`#C QU#uY5ub}Y`A3^{CI}?BUIRF3v literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/icon_contact_jabber.gif b/phpBB/styles/prosilver/imageset/icon_contact_jabber.gif new file mode 100644 index 0000000000000000000000000000000000000000..26882774de59570b96f523c0c80e2d357251aed2 GIT binary patch literal 1020 zcmVcbV#>3CQq}til*0qNGnJU@2cgVR)|CJlKxVUten*Gx` z{^~?@si*&@H+Q_ccb&ZF&0B`2r2nf$;NRN9!M@JKuD-pwzrMcz(++pByx`#6*w@m| z#Ace}OW;N9HY*W23I-`?BV*wp|3|KZ@<)YH$Jyv}%_ssFAI``#jNfqHU{oB!|^ z(#pBGqITuv;M>nSyuG^Kqe||gRR90o=f7LU)#GlBqv5@bZ<(cZwz2>Jm%+ZT=*YjB znS#^2l)a~f%CwW>t8CKI(5$<;Yhp>_;osNP$aA8b+s9vWv#sam)u2EOQm6sN78F=e z#RXBk(ZWk4C}5TXM69475n#v=M;>T|u|f~05uqX<3XlMb3qiP`z!yfu5ylWfOdteV z2_$gEWDr689)}Xz; zw?~kH#m2%VYMtKe`o!G#{QmUR)X>WBwGUOve!!aoHHnO(z`)GX%hlX$qk5gAl+Vt| z0000K04V?f1^?jZjbv$(V!;V) z>%PUv&Gal37g5hLjaVv<#c~KlYCR4D@;Gn+j%EOW^l(%bh~sbpJP3e;a~AWc3Pb=k za0nj|h4UyL7h5=^%QKz)Bv5KIRa4hR5x9dvV#4~qm3508Zb1QBHz z1P2Zf1P+;~od*#SBNzpl2#{V67HUO}t{$ztU{kZWk#D=Lu3}R|VQK*vydxVP8?DZ2 zZej;z&>P&*t`{9S7p~pg-RJ1i+~(-*=N=*_@+BYj_V@VtA07Pt{{Q{<0raVtWHRBx zf&mm3RB#!x0|Sd18cdkLA;5wK6Dkn!@ROlWiyXvg5Wqms&H@F0@?)SPfdmK{4s7Tc zU}}V>{8UKzYU)4+2?@w@<;G8d1Og=;P#Cb1LRdW-I7nphAk0?^680uu&>%pC3IZa; z6!0Yh&ZB&DHfUVIf`GIv^y<7x0RZC$j|qI96vu$h3Jd%m60000K04V?f1^?jJjbv$(V$le~ z+Olq3jLlkCSFkvN2B|h$tpN#4juS?NvB(UCjT|z$R02FTVTE9<1ONyJW4v)t8Y2}% zLzoO44gg^3&^R`;PN6{105ky(2nZGlVQ>j(dKUy3f(QTsIu;BFh6#BE7aAH102qLh z1OS2w2^1p~83cWv8W#`*v89-)9i5$W8WOBvrl+YC8wn$q!w5( zpzH$+S(Px@iorsIh7>LU*gD371d(G5FvuzZuH3RCF+51xcB|gL9^!r~Yhl2HVhgsS zMSR98U<())WFC-}FI)kON3zAhxif&b9#nK_%h+k@&H@TF+#^7PXvv+mLWn(EMQy{m sb;p*CWr%coiPC58Y1JFBV>4gdfE literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/icon_contact_yahoo.gif b/phpBB/styles/prosilver/imageset/icon_contact_yahoo.gif new file mode 100644 index 0000000000000000000000000000000000000000..c6033d1b2fc7439720713782a24f379df9cde46f GIT binary patch literal 608 zcmV-m0-yayNk%w1VH5x<0K^{v+E8lLou`PP$7qhgvaGG^D^IS(&&tZj>(ti#2r^T7 zyyBn?>fph}!_L;ZxU}No+|SO*(9g=dy0%Gcy5!^E z0000K04V?f1^?jJjbv$(A``7_ z>qgAD&2(+kBd70tzmJxna7Yx6914wMnKU?_Q0UQMNGd53ieSrijvf!kW}q}Yw3@W~ z@dbyI0}4Z+l#mtd4r9Nkzy%5d5_1{@d3=0TX#x&=baEpNl9L^GFp_i;4Uv>?B_HVN>g((u9`Eq+^6>5+754b|`uXt{{{H|2{(G09puvL( z4Zb_Tz>S*@2^D%^P#}TD1Qi3sBDU#5hIbGG1OQ;MK!6Mr7N4kG8KA*J43bEibKxPD;I~z=>2w*`0q7Z}v$mwAl1_l8x0&wy`Xn+SGi9t|t z(*TSJ019|;@UGJy1SA0*c+kMY0st8-yyNo#K~0PcCLmJ@=A9b{a0@6_3;<|?1roq| ua2R32I|7&qK#;J2Km@jHheSX|dKm{~8$kP5-DBa4*DP4on@5{o2mm|nx&v(h literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/icon_offline.gif b/phpBB/styles/prosilver/imageset/icon_offline.gif new file mode 100644 index 0000000000000000000000000000000000000000..c5e41a41db9534e46f0b9e64d09eec735c37f313 GIT binary patch literal 384 zcmZ?wbhEHbCBDimZCI5{b}7v+~0=qNbmWZfPjE#xcj)cxMZ>MtgNhEmBm|^$)BH}c6N4m!T)2f?N^Mr zfW`k>caP7{&t!v~U#R7e%>Rwb{npmjhRFYm!ts87ers!MkB^UMwfC09?4zTjf}y%* zsNh~+UVOs*hrH=|!vAQu`dD*``T6-^s_2=r$Dg*!dU|?rwC&8y%x#aYaFeiQvGR4m z|M2keA^ti%Lr+jyK0|MCd2(rIXmlVlFfcSARA^-&aAgxLX`uF$u{{H^KD^KNp zme0@6-BxzUEmEketoh^VmY1325--V{r&E&ymfVT z-{0TngPPFL(CqB&+1c6f@bLBZ_4xSs_V)Jj^78!r{My>u)z#I1e}9salF~0$;%2*5<#t6sk-P;m&q8u z;BZ$*)R_+Gv>I(9Zw(Sj2{4G~28Fo6E!2%D6f{0Q122ODfFpcAIwTVl1rURS1CJ9V zi#j3^oDnILoe?6LB^(wOl9L3d93`0{Cm=F|8vutOCn1>>C>0ed8@>P=JQXMunI9et z%+1aoADI^yJk{3M(~C<5+}+;XSyE5q;YsG_=;`X~?CnUYlkt-fMUprQ`1$%QKJ-IA zEMV*yNU&f48$O8mU{J6j!3GKcF&wDj!9WZT0t|$xaAJoZJsw~HIb&l)Aqxp=0148f z$&LkGuq?vImkRyB4cxjWOON<(K)I>SaArksts&i1-g) literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/icon_post_info.gif b/phpBB/styles/prosilver/imageset/icon_post_info.gif new file mode 100644 index 0000000000000000000000000000000000000000..b666fa1ee5197bc3577bc60d85dabd233dc4ceac GIT binary patch literal 504 zcmVp%WQPM9~?(XjQ_xJ1T>(nq;^78W7K4Sg-{kpok>gwv?XM}5OYtYcp z=7XEvS$XN{>Ez_(_V)IYl9K%K^!WJr@w&(N*4@Fu!TkLETwGj!etz3bZS3sqq@<+d zb&vJ+^`D=g@bK`wyu9At-inHf#Kgq4wYBGvrS7b}zAH^-Wo609$%KT2#4J$R+1Zws zmfPOrA^8LW002J#EC2ui02BZz000L6z@KnPEECnI-LVzpg^r!tpTaUV(5Cm z+w5?8ikL4b1&U=p1)|a}Wur*ZQi@AgOk9p2CNDh@Aqp=eZ$|+jARdl|IT#>(MN2Lp zA1n$xA1;YV0TdK6H9k6`lu7|GJu@0HFrP^Q5D*#)CJ?DdODh{2E3!#H0TRX%yGTnI z7{bFpOU}>J)YaD4*x5-00Nvi--vmSe90=y;=;jpw;|vc1@bU5u3+zMO6Yw1g2L~lB z@EiaT*Y2H&10+cFt3b~l5q$d+RA|vJgFu2s0Jww4;b4h|Nbm_z(eFlui%B#-h$sN$ uHUJYiBuF3tR zzF)ih=FOXzFJJ!o^XK2ce?NZwxOMB+v}x16fB$~r!iBG2zdp=tJ)rIPqG#dJqelx1 z3kwPgii?Y9&YXF}E~&h{JU>5wSnThE+1la`it``%*)+(7Xs3nK%A8G{Z; z3CK?jZ2ui*7kKDM^`CfRU@)6?itDrIk6ZZCr>#j%+iGaLc;a%dxvok&7iX?cY2stM z%IM;DPGwSG;?;wj`+Zc!#SL_uRZCrsg@q*~^p*O0>Ro&!6-7i0HD@YHb~+ievvVwE zV_V9xcuJhHj0(@jcKxo!8jGD+#YJSfRt6?CoStqFJ8yyd T6RB;pEefO794n3zV6X-N*ec^R literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/icon_post_target.gif b/phpBB/styles/prosilver/imageset/icon_post_target.gif new file mode 100644 index 0000000000000000000000000000000000000000..a29dbffa35b6e29b3f4bc03cb984c37733de9234 GIT binary patch literal 186 zcmZ?wbhEHbESeik9aio!&ggCw3w0OZaAKId efQzS!(W^+NO`FkkA^*1&o@Und!JMW_4Aua&@kmkt literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/icon_post_target_unread.gif b/phpBB/styles/prosilver/imageset/icon_post_target_unread.gif new file mode 100644 index 0000000000000000000000000000000000000000..e97eeb2b2e12b723ca8738919a42339f0dc3023b GIT binary patch literal 151 zcmZ?wbhEHb+Ab}ZrT5Ei(kR!3`junpOuZXe?X+2bACZ(QD%BZiGq=V zfr&y$Myf(VMuC%)f_qVZX@QP{V@{4j5J>!Am>VHPt&cW%mgx3L^!SaZg@uJ=U||*( z7ApY@($dlk0R+^6m0n(6-rnAHbaeW1lHuXu85tSEgOc3b+zbp1+kuwX*Vp9av@!Ud3hxzB`ho~9UUF#=jXnSm=Y2a&WD&VFfi0+fdc^n;$VO8ca$Ch2;YB}?(Xj9 zdz2^%5z&U2XJ=>qlC0~1nNLSaosW|{J3FkDnzEdsudlDiiI~rZm-u>^AP^MAZi5B^ z0ssI2A^ti%Lr+jyK0|MCd2(rIXmlVlFfcSARA^-&aAA20ZIqp92_PK*h&K?EiD@xD=Qcd z<46PX^cX!20VnJ*2z2n`g$@!G?j3Ovz#xeLKCo$1;vFMbJ007|N;C;LO6B85E)YOH#^Q6S)$;!;_?d@J( zUWti`<>lqr*x2#$@tmr+dV6~&CMF9D3r0vukG0*3x$67-`5#YJkGSIo1_o(rY;16J0R#t9Qc|qL+Ac9QJUl#8TxXNE z+yDRoA^ti%Lr+jyK0|MCd2(rIXmlVlFfcSARA^-&aAAHK!dP!bnbWz1cOX=00IIG0u752 zO8^}VA&X!Vj*o}}9U&bZ1vN|z4V(oXCMF_Ls3rvst_WLP8nYT!Vz;=ty1Tr&a=8#B z0k}6L55rDqVm2Nd8^~8ZJR2V$5<3bC6HGcVFf1%SJ~K2F*hV_)GwdiB z0q;f!C>$IW6(=VQ$iPSBfIol+TEw`=ftIS}0tioUo0OwgP7XSbN literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/icon_topic_latest.gif b/phpBB/styles/prosilver/imageset/icon_topic_latest.gif new file mode 100644 index 0000000000000000000000000000000000000000..d79d31ac43e29f51e34c0cf43f91ec4ecfc3c3ac GIT binary patch literal 186 zcmZ?wbhEHb-+!z|DQj9{`>du*s)_@zkYr4?4m@Mcle&@Hje)@$00s?2x&QzG literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/icon_topic_newest.gif b/phpBB/styles/prosilver/imageset/icon_topic_newest.gif new file mode 100644 index 0000000000000000000000000000000000000000..0aa19884b5fc9c70e3b62a116a55601dd9afa505 GIT binary patch literal 155 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 Id4T``JL>F2ivR!s literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/sticky_read.gif b/phpBB/styles/prosilver/imageset/sticky_read.gif new file mode 100644 index 0000000000000000000000000000000000000000..59e42833db743bb23e059af1fd17950ae0f01225 GIT binary patch literal 651 zcmV;60(AXHNk%w1VH*G&0M$PL+UWC^yWHvP?n#TnhK7dh?eP8m{<_QCb)(EDcDd{F z_*j$2_4fGU?e=A5Wo4bsk&%%(fxhSI?A6=irpDqje7x7!*v8S``1$(u_4eZB=xl6k z;Ns`x=IXf8=*!;j_xk*@v$SiS$;HOUs>0a4y}t4C^svq59B;Mm@AA#o;QIXj@$vKG zBGFUgz-m(BbjU-|+kU{6U4lr>CdL-0lDW z|J&ZLM{;jy_F$T5C{sgGHxJh z|1Jq1J{STTFo!TL0t`MlJ8WJ90fQ1P9G93J9T`3z6<#DeH$H_LF)=TxFB%#GD>4g^ zPBRa49jp#6y1J|#CO!cJP!%3NDILhk%E$#i04Pu>06qm0)~62H+13RH4HXwo6Vk@k z=I7?!Hx*q(2|Ye6c6KE;HZJo5DLxGeDo>Jp(3!Wvh65WT=Kb;n1;GpuI#LvvNI;v0 zi77A`c+ls`I2=A0q>vb5!v+W=Q!wfm4vL5c4MLhoVZmgG6f77im@&i8f{q6 z;DrSl7>UBtk6N4Bq z(3k^S+aeKe7_b0=KnWi*2GF=GgvJ0F23$Z`TmZy^0EB-W$m@eIgb{#u42~QDu7S@6 le0)d{S;*uMWb_P>6&cI}3KS4j=vX?6h#fm-v}_Xu06VZKCD#A| literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/sticky_read_locked.gif b/phpBB/styles/prosilver/imageset/sticky_read_locked.gif new file mode 100644 index 0000000000000000000000000000000000000000..79f581be79318432809028e06cdb23a165c9e13e GIT binary patch literal 646 zcmV;10(t#MNk%w1VH*G&0M$PLFe%trqb^3@$BvJ=IQM1^ZAIg z*_gfF{r&#*_W0D~@nvOYl9G}~io~YI;;E{u-{I!h*Vv1gqh_7Xxzp%uY-~M*!T9<5 z_4)kt_4eT6=fc?Qq?FEGp9?A++|#m2{sjEuz8(=wpy0THh;g) z;PCJ8@?may3K=F>l*)B=b(ol$0002;^!HGZ$A7NY@$&TO@b_L`US@H7t*xyyGc*7H z|NsC0A^8LW002J#EC2ui02=@s000L6z@Kn994S^B*6P+GI-kNsigj6_FpG=EHiAMG zDh24|EBhF^1?%P|Dl{U7uX7*}4z+U2#%|{XB0d`g02GE49s~_O4jKw=HVc9X9+j4r z2pv8cEM6iJIX;8{G&C}&G5`Ps3<)uhPX!kY9SEuqGr75{060DiHc%`WJ_fwU$Onun zP%0xn2ME%o57pJu2MizrAWkRF#nR&A;vqdDFd73>iw4bkSn~ z0uuxVcyw}O1qhKiTvR|Azy*$@jv*{q=-7kDlN1+jZs>qxfQ$+?HuRXVc5g8UY4G^%2y<1RiKRdMUt-L4yDj8lZup?<&?dEKmq)&|m|D7BJEZ&g!I54h9uU zlnB6}#tU;jB1c{b1w(`y3}!&sY=FZG32mMj_EBLo2_Fd}d}>Fe(7?eOR6?36c6a;DPr_4ob${_64g$Cjd(z22tA;)t`^sj90;i^cW$`QPE@ z*Vou&oXyjPn2njE`1$(4bcW;Z_P1quz0>C4;^!?dFg%06`~3aloUO&i$H*;Gj*gD7 z&E|<7I5mF0VsCm1876aca{vGU*R;HVuGaJ7=JnOxU|?X+-|p|>Wr#*fA2q1_2$};FaInQg!2p;hK74@LgU6H(9gc#C zFd%^p4iP}~zyJdV!h}PKXgF{n+}4g^eMJ3$frnj~WPU(!CqaV&3>qX%i1FbpLcDoT zv~Uz5tb`mf?n+K8rND^^5;(A6VSpG6d_6*k_DF_Ah6oY}Y-R!IfQ7tdEW_fEOvRoI w0AQ0*%mxJtJpcmej{PEsnkP9jTo`UAKnDvJY6PgkJZ}UD88SeaFgyqVJ1cA_#{d8T literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/sticky_read_mine.gif b/phpBB/styles/prosilver/imageset/sticky_read_mine.gif new file mode 100644 index 0000000000000000000000000000000000000000..49e8b3f01c6fa30d3faaa0eec97a4500469f766f GIT binary patch literal 659 zcmV;E0&M+9Nk%w1VH*G&0M$PLxXRng-tK2-XLX~@mX?;Xva{Ic^N_gNWt_|G?eOE~ z>FMk4hK7c(Fit0Sx&8kBNsGf+lgIY=_~PyMq)}yab93nN_|H6F=jrUy+2N?g-}w3Z z*VouMfWF1i-jpLgGkm=C_4eT6=koLP_xk+7!o%I*<+su2LM{;j3ol+V-7Cw+7 zF)CR1GxA!7;x1jolNGBX<}FEwQ#Cq691V;C633EMssD`hJNJ_*>y22j8K4pB{nt)^jpB9n}ZCVYWVQePXIt0CHjrd*-ELlkKVZa@p0TCwnkT8M;hn89eM!1-1 z;Uu0P5fJF)5yAz73LHXg@KLk}!lM~(AQ9ofVj+NEaX41uL1Ji^ tf7EpYV~r2Kp)q&h!{&hj2m?|J8L$F@1`Pv1Ado#I!`L1O-jxjk06QdwE=m9Z literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/sticky_unread.gif b/phpBB/styles/prosilver/imageset/sticky_unread.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae6d5954b180e572f09009a9fbb12759c918e180 GIT binary patch literal 648 zcmV;30(bpKNk%w1VH*G&0M$PLy)aVa<>}F@x8kL=+S1sFHA%E)c>VqU>AJ=2?eOXA z?#zRi$60jp*4)|4)9lOB$!~|$yv6wG?Z=y^%YBlL+j^E+t0002YOKS7<_Q613@Xy!wLM{;jIB7s930x>vDq2a)X zJx{zf@G&BV#|Z^M81R@vQ3w(ax`?>Yf#Zo34nTmIkm7_Q2`nJ+x$vQ-hKmg+GJqf; zLxT?qA55s=Lx2H`XBuQoz_Gz-4HhQ$@eu-nM27<-1S}YF;M|3!TZatukz>OKMKqYD z9TK4es2&+I2w=rPz+52$7@#;{ps;}&D=tj<`=c(X2ZaUrKw-i!V-5&-9N3IUF5|j1 ic9dzrU=3p-6aah}Fu(%<)2D?H5MhD?gp_=O0029JC@Oyd literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/sticky_unread_locked.gif b/phpBB/styles/prosilver/imageset/sticky_unread_locked.gif new file mode 100644 index 0000000000000000000000000000000000000000..5792b8649a4e4e0a97c44a359d88b6326938ff64 GIT binary patch literal 626 zcmV-&0*(DgNk%w1VH*G&0M$PLh&4&HW_aJ3s_n|t<+{ZE{r>Fj@XT9x(5kfP>h0Et zn!Y+&=IHC;;^+0=i6a9_v!7zJzddjgT$Pt z&t-m;LRQ2?WBTs#({hO3&(!Md@Amij$4qJS+26e_PyF`y<*d5#@$=&2=*d%W#z(^b literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/sticky_unread_locked_mine.gif b/phpBB/styles/prosilver/imageset/sticky_unread_locked_mine.gif new file mode 100644 index 0000000000000000000000000000000000000000..93495770c8cfac457a7b60575bfe0f8a9a2a8763 GIT binary patch literal 682 zcmV;b0#*G-Nk%w1VH*G&0M$PL=(xkuu(`fASBNu5%q~>5W_Z+yn#V|I<*d5o=IZUr z)BXMa`1$$l?eN}~r}Ng`&RTZo>FoRR^ycX6;o|44U2w&kru5z7=)ubL_4fDW>hSUN z>gwvyY=igd?ayU?vU-T&ovp}JZ<9Y$({hOU@AB&F?%vPT@9^=79ys#z^!E4o{Py_$ z`}^>3j^E+t+>oNze3J9@_Wu0*@Xy!x`1$hUSqIyN7jQwJD6D9PH}34kg-EF@$E7d{OW=(qyw>*x&&8V4FuEdu2z5&8Q2`MCZ= z3xo(z;A4XyKLG{|0C8}~4jvF43dtb^)SfKV(*lYOJa9qG z8uP~uib6V&c$y=FiV7o6$Y2oDq1&uKIFJ;=;zNgWIb>MCvDQb-ty^hws39eW01XRP zSX!~bLtD2G1rwHX0D!0r8EPz`@fR>$xl$e+@UQ?wg$e-{NI2@xpGXv7hhTspVL^f0 z1w7P6K<0<$(4&1QxE;Vp2@wiDtoRv}Sm$U2pyU z{^`2KzB*dsrnT_M(#TnK&VrZe>+aUU%h}7*?akH6Z->;p#mAec(rbg~>FmpWlKJ`i z;Ns_+L|OCH+{$Eql_5R!_4fPl^WT}O(s79L^Yq}v%k|&n-QeZLP;9&`PwwyX%5{tO z_xSMf^V^J{+S%Xz_xbQ|jsO4v=hD~n^!E7h@~nG^zlfIj>+YgiYxwy2&P!_j`~3g^ z|J&ZLM{;jLWhy5=1R3PD z4Cm+Mf&dH?QZV4vpHgP=J5}6ew^5V1yMu*c|}XppUjd0|#0FSi;8w z0c9Xyh|yz(HUc^#a?rM7g8~vP%E0sBqs0o37djL`@Nz{9Ztd=9_zd-M~DzR6nOBacZdZ6IeeH%kRX5p5f1_s782lr2n7f-BLEQN!-dH| z4kxCN*)e3vprFe&v)ZhI4{N(29r@+_k^!dr% z?QEUNvd-t=;^+AI`S$ntI)T3D>FlG$;p64$Qg@0I_4e`d^zQHRHj2__W@i8Y z|J&ZLM{;jyPvp}kgt)l2iqprX&hfD=gg&S;YdKp7Ok(#*=t(%lI7o6hD- zFhD9%Ap#0M8#^O1EsKjXBRd-=3Lk+)D+7fO1Tqbso}MxU4n7JXZ$kqsJ`WKSC9klt zB@+=27z_hLC>%2zI1>{j!o$GD69+LE2^?QPAcZ<32L~iP*4NY72O~N@02x0Q0y8!^ zBj?rD=j-evF$M_&2n#emIRp{;>DKxE{sa$9Xjt$;f)5>d@Khsk4Ns4U2?=zoAs_>Q zgE%tcsFv}X#*a9cgo%$dW-CAa}KR;3u4 z!lhB8L{mKQL2-cw6EJj0ol3PTRTu&ni0hSO>d~)Lb8Lu*z*(UaInt_K%Qo!^Z{Va* zFazVkgRge;+J(`F87c-QHq_NiI4_J1HW)x4Qs9{n6D(jzo=h1A3k;-0oEoCyg8~yi z46rysy7UPa1`H{HQ0a*Z5Dd&1+F+peh7D&tR1nb`N&yHI0C)h6#?TrH5H`a>k>P`e b7Zn0j*a9I#Z#YGcKHhxyEqS_Up3eRK{#ljD zDtEc+^7uZ4z$SFKaiPlQ>FgnLx8daI{r>*>`udrfnRRt_b)w7f@bY)0%liBK-{I!B z(B_i5+)<9h`1$$!`~2(d@8aX=puE+cz~6VN)AaTB=IHC^>Fn|H^zQHR>g@0T|NmxY zX4~H5A^sLTLr+jyJ~A*cH6ULM{;jxE9vAJ4-mMi1IprTL0U=vXE&S+8xFc}cQQcTOd(j5%=gD%!n zG(IX(AOZ_L8ap^MEQ^aXI6E373m$<)EdzxR1~U$wo}M!X4?PPXZ$kquJrE%lBd@Tr zBNjOi7YzeLC>shIJQfxw!o$MAzz8xI3L9TPAB8$N2nZ(C*45M5I66H57(X-u5HUPB z=I7|?<}w8e0tpN@JvRn9_V@Vt_686n84MmI^w5C^kB@^06Z$AU84L6MHOlb6m26qXZ6)JI~tJkk!yO!woP09o_Fd#q>skW_J7=4(b zYCu9mTDN%H!q5<-K?EWMp7kKH0*2wkh+(X_KuW}^Au2p9Akm}1iV~PJmsnB2(1Hk+ zo~ZcHz>Fac1yXC!aHazV5uu?Fh%f;_2g+y+t(g$vF&q>aJY;Y|ApnIf5irDtQ{+el N4iR2}Z~`U>06UTeNSpuw literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/topic_read_hot.gif b/phpBB/styles/prosilver/imageset/topic_read_hot.gif new file mode 100644 index 0000000000000000000000000000000000000000..dcb6f3bd60fa0397eb22bf686f5a9fbca112bc05 GIT binary patch literal 1469 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 literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/topic_read_locked_mine.gif b/phpBB/styles/prosilver/imageset/topic_read_locked_mine.gif new file mode 100644 index 0000000000000000000000000000000000000000..360f9d989a233b87d8bacdcddd3d5a7d49a40ed9 GIT binary patch literal 749 zcmVLM{;jg_Am@RJ`ZvFLj+(5M{3GfItQn0uW+2@ZbxD zC?hgv6hLACLlP+2n%Ho|2L`51JN|4ymg$At%SCh!U*6O5DWk-p^;o|4dJYO_@yvfwx{QUfsBR;3V*Xrr*?CtQe&E`6RzT?Ep zEqS{B{{GS7@bB>Q{r&y%$I&Wxxjuxz+kloPbhz^K_4U==A#%6<{{ESnnRRt_-{I!B z(dSW)#NWfp@bUBK(%1U?`}_U=_we#}snego+xYPEyu7^X?CLM{;juoHsu5a^7NIcWAfnHSgds5W&ghh(!H`VAQclY(gJCXs%ud!b zWJ+I92oC~1AUp~XEQ^Z}3IJyUBY{O49z6jU5SyHv3KuUGFFhV5Z$lC-m|I58v<2N5JEJq;W`HV*+Z zIST0M>Iym=+Yuo;6b26#1vNc77whX6G{+|*M7R+kMFB1edhE!-Fo%za5Fg@r5rW2s z69G*07{{T3!iFG2=J)_32aFFncJyeGq|gowFfl}&`7kC1jRHh;%*Ugr&$^#Lf9hB% z;eicIACi8cIaBF}02?11OaZ{ej;mO+YQ1U#fWZRe0?g21qAb&hWliV+LC?YuXFUMu zm`k^=-MNs!3E5=^K!5-={|f#K$pAA{8B&1oJGil603c>$&_HAY+!QhZXx_{jfQ$}3 z1fV#jYlMIlJt$=E?3qH383Hs=B7&eq1~Z00P}mIu#2Et#P|OZ9rhx&}XkM>zp@B3U d1RO>bAdsO!f-M@nz=>jnxd;tRoPY@e06PtaLyG_a literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/topic_unread.gif b/phpBB/styles/prosilver/imageset/topic_unread.gif new file mode 100644 index 0000000000000000000000000000000000000000..542a998258c5dd3942387876a3fe5ee41773b7c0 GIT binary patch literal 678 zcmV;X0$Ke>Nk%w1VH*G&0M$PL?8D9JyT;Fe&lHCF8H z@Xcd=#7$}B=IZ+H@zuD*z&%~bca8h;^Wfs=`1twu_xQpi@66TT;pY1L``?QJ@A&!o?#a^o z`~25|mh0^A;^XM(x5DSKy~S2>@5|Kj(b&RAW%Tv-=IHC^>Fn|H^zQHR>g?~mJX`<& z|J&ZLM{;jgO*94jBd!E$Abj}I0JBGTKzvZc$HE^qkQm_Yz55jaJRRG3pl1*snoBWUoj zLWj|#NRuL6@h^fnUpJ2KOnCGLigyNnJoEA4hS#rP!+QPT4V;t(4t%VrP+=t7w`^DV zX*R@03=b&Q!rl9J1&R$ZY!E4sfP@bWCRQk3%y@+f45dyz8Nq;r2OkGaeAvwSgNXw^ zHqfwPX>x)XX%C?|z#0XLGb&^Rf>Xf80sty5qY1qx1p`!Y;xN!~A_f2%Te_4EUgU_4 M9t@Z`0TToOJBNx!6#xJL literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/topic_unread_hot.gif b/phpBB/styles/prosilver/imageset/topic_unread_hot.gif new file mode 100644 index 0000000000000000000000000000000000000000..e712f6e827d99a120f3a9d44cf9d7dc9875b69b4 GIT binary patch literal 1431 zcmZvZeK^wz0LOouu@^6!8Rlgw&)luqdClwC&r3`al4l{K(RI?*BKKSoF{!nQC5+BB zFBhX!CwK9jm#Ks#>gv2D7hx>3@-}aCp8Mx|p6kEwf1mH?`=#&kb#`Hy04Bg|5SW#J zY;|Cay_de9oKY%Q=GZw)V^beLEi5c9P0QqyQdzTW_~P5~p4im!qMB!W%Z zWde6useBT0vbUgeV|hiTQYk*p%Vy^~k7cZ`t~F7DKFrR&8=q42_DftMRO{=iwe=S3 zkiowGF7~CN{*k^DSsNRwf#cyb>|trbKj#1S|gPS4N$aZ3Z`(6sI5OY-Or8HKu?udP%msO^gCt zlB{N_M!xleF!9c|BQ#`sm2@7!((G(3jAM+owP-MXD1MtjfQRbCXj+h=bAv+B9i1KR-EJ^@XGhQh!o#Wc zs}Bwh_K%=&LWqN|nbD)vR5ht|M%H6wrmJT_gUgncGC0jZ4`MY9UL=+o|Uto z0N$VtiNkw%mU(ed2DVX;J8j2(P$aEBE^B)!?;06v9D2D=-Cv*)<98cgTG{iHGh42= zf;Pyi7vaLpb~j*1>YY$?9L?q~RlL4Mz+x?14BhLGgYN=qFG&$s3>|y z64~7hK5+Z+;f+Ou=6h!#^6Nd#;}4B#3~cMNH3UrQk8etird8(dOkpO&v$8l$1dq>U zAedMp3`@TT56&u%(}Zfc+tpkv3h=XidORolWEY+(~6qv)dvxE!6b5Zf~@(fA28 zuR5aQZZ!LaEZH!!I&5a7@DEV^Ku^^1?l)G-j$6ZXO%K+al+`M-RXT^vj%3B)c>HW! zY%ct2UT(fWT393up_i1zVu@a*SsN(=*QybLjp7VZ|#7!&`m3qGrX0Mr1@f9(%S zL@>z#EnJhx?$vSE6uysiIV9q4>y1R#iI~s@>zZQoBXEFxPhS{`mrbR-gzCQM#r1O|Pv5 z2DoQtY6gIW_?7*L~rDf&VOF=}CSVg74YVW`(RFD)$iL3VnsQ&8 literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/topic_unread_hot_mine.gif b/phpBB/styles/prosilver/imageset/topic_unread_hot_mine.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa8b167c644fcf6e3dde78236fb2bf8b7a38daf4 GIT binary patch literal 1364 zcmZ?wbhEHblxC1-xN6UE^UAFc=dQhZ_u=u8)8}mB&t^6K`}gnLqv!k0!oPg|_CCMw z$B&g}1vX&*m*IpdvmCZ+cAj8(fVBfj2yyd*I7_O#{iK74xe?A4d+_ny6Y zeJrZ<)th&hvs{4OJ>G~=6A3Z-7ly`pG z^1nZRe*f`vr?&6=kDqV#F8KBP_ru389?oC4Uq9&irR)Fx{JDSl)b|gceth_J^Zd0x zfByFCx_tQfd9O|M|NsAQ-+Qe1pWDwhB-q(8z|~04fSHkjfkE*n3o93cJ%bLA4fLcm z0|VRt1M>?sSXP+r4coLmkg+2`V?jfQhuci&G?h*TuALfROpIm2_H9vo8!hXzd2)n? z7i*T?gar#C57*qRm8h-bWPW0-%*n07$|ucZ$Nz+L%Jl^Ydu4_B1R5HY zTlgiV1rF>A*pSfQEunvEgQ3!q1|G$V9~=z{#~7K#Emp*wELz$<#U?1u-~#tSMtMD! z0s#eu#pm~RYgO)A5c%mD^E{8qTA{xjuJUwl)brT;;qvn<+jqiZo@m{3azlQoyg_hQq zP`^$eG=q7-VOnTUJYxI2hQ>NJ1^Ut0$dun)L zRBM?1l7)+OR<6?FUS-d>+?LOW&C1GPhk+Fvs#92i!7Kvwqa!fKS{&KXA-t&bL=K<5 z!E)inE5nxd&R5gUb=vpfeSo9hWJ~+LgtKw{`X4N6Zmhojes6ro&iB8Bof_(zTl}n? z(L4w-H4GYZOc&l?$u_IMz^@_Zyl_>RFY~FlMfMLil)q`6aXxKb(%HDlJ7p}={rY#u soU8eF_Ui9S8$JGpmWH}2#m=s7#r8^t2@@wN)WrcKZ00QP>5dH60HaAu3jhEB literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/topic_unread_locked.gif b/phpBB/styles/prosilver/imageset/topic_unread_locked.gif new file mode 100644 index 0000000000000000000000000000000000000000..4fb8fa9517f18f6b5796b72df0eefb1fbcc489e3 GIT binary patch literal 745 zcmVFVwI`ugGI z=;r9`$Xs{v^7QY^)XK}u?8D9E<>~eH_we!a;Ns@l+T6>2lfpz}*v-|`tGT~5R?^ef z&0~Gu;N-+iY5MN*p?ZVWxWwJw;Ogw}z&u>Zca8h;^MhAm!o$Y%^!3J6aMN;$;^O1> z_xRS>+Nyzy_xSnn=j-qA^52@P;^gP~?C<*f`{?NDLM{;jl-2w=*S-`86^ci5(w$5>@ffhoOn=y208>10IVqCL4c12c_K#WVE|wZ z13gf|k*~LV|DM zq;N0;qw3#~VBu-LsDhwB!#YZ1Xf6MzjEE#5Ymzl9Z@V1JS>Fe$J`ufg+mdIRp@6FZm^7Q8D>-F{b@bUBS$kN}#%Gui7 z)2q4P;pLblKhV+B`tbA1f0V0RZrIJ$p?ZV)?eO!|+s|Zv)V9Li-r?%(@5*LM{;j6avyn448iZ&~ zfP6I=4iJP66*WFO9wHtm9y$?2Aubd?1~V1{9h;j178f)M2L)j!dp{aDCO$9_00SS{SAY5Gulw(4ySx4@ZL82{Ku`@2P zbg|-vfe0-s=+zprf!_uU-d1Q4A>)d8%r3N8tfB{75)2{-9*{ys3ycIg{OIN*!iCQm z8k8H|plRF)*xo5~vjg;v4Ic)`mi-~d4GcSclsFM0R{{ffVO*GTL!9wfH)g;9o`3+6 z5u6Rw*a0IihU*nD4Bla&U4ao(CQ;}vJ%ai3=E+kaAc0Di0twt$0#3iX?ga(fyZ76m#S01~fWQJ?5P(B(2~uH%fmcirf)o1%0RTH3=vHO` literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/topic_unread_mine.gif b/phpBB/styles/prosilver/imageset/topic_unread_mine.gif new file mode 100644 index 0000000000000000000000000000000000000000..e73da38df7981ee9be98c5e3ccba9caadddc861d GIT binary patch literal 704 zcmV;x0zdsnNk%w1VH*G&0M$PL`1$$iyT;<==-!s7&ViQGtGU2DT*zE^_~Yp2=x|{r&y$ z@$=`>*ZTYW`0(=QvAxbbU-qZE)JkjGW`e;$U&2Rak1a&%?CLM{;jh6cR%b7#A!#uPDUDC=?AA$u-I*7+*gQhAplMDc9I3GcE%%4l)Co3kE+0 zBo`Gq3G3|b2`8i83py1SBn2M?J~|ri?iw&~^gtkk28<3WN_@x=!^e(1d3s2kC=r4P z20BDg&~d^C1QG@oILtw^q{)&kTI6UkBF7FN0VGIs=%JFeQ+HplO8D5jk-_9nrxfi4P@I064LutJkk!yPg1$@PoMvAvm5m5tZWF6FOMf zD-g{P03CSq>fMVs(l{Z$%mC=nAt&L(gd=TurYe967K0H>J`8|`i2yf zLj!mb!iUdPLkMJ0pu$H5&!R_H@L@v14QNjYI0#_o5Q_@HS+F>>A%+9oP{d$Zu%R^? m+G`GEKn*8?fea-E#9$C(O9mUr;S@P?qeq4V5uAVt0suSz??@8> literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/style.cfg b/phpBB/styles/prosilver/style.cfg new file mode 100644 index 0000000000..f1ea67f7ce --- /dev/null +++ b/phpBB/styles/prosilver/style.cfg @@ -0,0 +1,22 @@ +# +# phpBB Style Configuration File +# +# @package phpBB3 +# @copyright (c) 2005 phpBB Group +# @license http://opensource.org/licenses/gpl-license.php GNU Public License +# +# +# At the left is the name, please do not change this +# At the right the value is entered +# For on/off options the valid values are on, off, 1, 0, true and false +# +# Values get trimmed, if you want to add a space in front or at the end of +# the value, then enclose the value with single or double quotes. +# Single and double quotes do not need to be escaped. +# +# + +# General Information about this style +name = prosilver +copyright = © phpBB Group, 2007 +version = 3.0.0 \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/attachment.html b/phpBB/styles/prosilver/template/attachment.html new file mode 100644 index 0000000000..0ea4e35cae --- /dev/null +++ b/phpBB/styles/prosilver/template/attachment.html @@ -0,0 +1,123 @@ + + + +

[{_file.DENIED_MESSAGE}]

+ + + +
+
{_file.DOWNLOAD_NAME}
+ +
{_file.COMMENT}
+
+ + + + + + {_file.DOWNLOAD_NAME} + +

{_file.DOWNLOAD_NAME} ({_file.FILESIZE} {_file.SIZE_LANG}) {_file.L_DOWNLOAD_COUNT} ]

+ + + +
+
{_file.UPLOAD_ICON} {_file.DOWNLOAD_NAME}
+ +
{_file.COMMENT}
+ +
({_file.FILESIZE} {_file.SIZE_LANG}) {_file.L_DOWNLOAD_COUNT}
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +

+ [ {L_PLAY_QUICKTIME_FILE} ] + {_file.DOWNLOAD_NAME} [ {_file.FILESIZE} {_file.SIZE_LANG} | {_file.L_DOWNLOAD_COUNT} ]

+ + + + diff --git a/phpBB/styles/prosilver/template/bbcode.html b/phpBB/styles/prosilver/template/bbcode.html new file mode 100644 index 0000000000..47ea34d90f --- /dev/null +++ b/phpBB/styles/prosilver/template/bbcode.html @@ -0,0 +1,40 @@ +
    +
      +
    + +
      +
    + +
  • +
  • + +
    {USERNAME} {L_WROTE}: +
    +
    + +
    {L_CODE}: {L_SELECT_ALL}
    +
    + +
    +
    + + + + + + + + + + +{TEXT} + +{TEXT} + +{L_IMAGE} + +{DESCRIPTION} + +{DESCRIPTION} + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/confirm_body.html b/phpBB/styles/prosilver/template/confirm_body.html new file mode 100644 index 0000000000..5b783915a4 --- /dev/null +++ b/phpBB/styles/prosilver/template/confirm_body.html @@ -0,0 +1,20 @@ + + + +
    +
    + +

    {MESSAGE_TITLE}

    +

    {MESSAGE_TEXT}

    + +
    + {S_HIDDEN_FIELDS} +   + +
    + +
    +
    + + + diff --git a/phpBB/styles/prosilver/template/custom_profile_fields.html b/phpBB/styles/prosilver/template/custom_profile_fields.html new file mode 100644 index 0000000000..19f1dac6b6 --- /dev/null +++ b/phpBB/styles/prosilver/template/custom_profile_fields.html @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + checked="checked" /> + + + + + + + + + + + + diff --git a/phpBB/styles/prosilver/template/drafts.html b/phpBB/styles/prosilver/template/drafts.html new file mode 100644 index 0000000000..2b48785e32 --- /dev/null +++ b/phpBB/styles/prosilver/template/drafts.html @@ -0,0 +1,44 @@ + + + +
    +
    + +

    {L_LOAD_DRAFT}

    +

    {L_LOAD_DRAFT_EXPLAIN}

    + +
    +
    + +
    +
    + +
      +
    • +
      +
      {L_LOAD_DRAFT}
      +
      {L_SAVE_DATE}
      +
      +
    • +
    + + +
    +
    + diff --git a/phpBB/styles/prosilver/template/editor.js b/phpBB/styles/prosilver/template/editor.js new file mode 100644 index 0000000000..51634a60cd --- /dev/null +++ b/phpBB/styles/prosilver/template/editor.js @@ -0,0 +1,397 @@ +/** +* bbCode control by subBlue design [ www.subBlue.com ] +* Includes unixsafe colour palette selector by SHS` +*/ + +// Startup variables +var imageTag = false; +var theSelection = false; + +// Check for Browser & Platform for PC & IE specific bits +// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html +var clientPC = navigator.userAgent.toLowerCase(); // Get client info +var clientVer = parseInt(navigator.appVersion); // Get browser version + +var is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -1)); +var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1)); + +var baseHeight; +window.onload = initInsertions; + +/** +* Shows the help messages in the helpline window +*/ +function helpline(help) +{ + document.forms[form_name].helpbox.value = help_line[help]; +} + +/** +* Fix a bug involving the TextRange object. From +* http://www.frostjedi.com/terra/scripts/demo/caretBug.html +*/ +function initInsertions() +{ + 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') + { + textarea.focus(); + baseHeight = doc.selection.createRange().duplicate().boundingHeight; + document.body.focus(); + } +} + +/** +* bbstyle +*/ +function bbstyle(bbnumber) +{ + if (bbnumber != -1) + { + bbfontstyle(bbtags[bbnumber], bbtags[bbnumber+1]); + } + else + { + insert_text('[*]'); + document.forms[form_name].elements[text_name].focus(); + } +} + +/** +* Apply bbcodes +*/ +function bbfontstyle(bbopen, bbclose) +{ + theSelection = false; + + var textarea = document.forms[form_name].elements[text_name]; + + textarea.focus(); + + if ((clientVer >= 4) && is_ie && is_win) + { + // Get text selection + theSelection = document.selection.createRange().text; + + if (theSelection) + { + // Add tags around selection + document.selection.createRange().text = bbopen + theSelection + bbclose; + document.forms[form_name].elements[text_name].focus(); + theSelection = ''; + return; + } + } + else if (document.forms[form_name].elements[text_name].selectionEnd && (document.forms[form_name].elements[text_name].selectionEnd - document.forms[form_name].elements[text_name].selectionStart > 0)) + { + mozWrap(document.forms[form_name].elements[text_name], bbopen, bbclose); + document.forms[form_name].elements[text_name].focus(); + theSelection = ''; + return; + } + + //The new position for the cursor after adding the bbcode + var caret_pos = getCaretPosition(textarea).start; + var new_pos = caret_pos + bbopen.length; + + // Open tag + insert_text(bbopen + bbclose); + + // Center the cursor when we don't have a selection + // Gecko and proper browsers + if (!isNaN(textarea.selectionStart)) + { + textarea.selectionStart = new_pos; + textarea.selectionEnd = new_pos; + } + // IE + else if (document.selection) + { + + var range = textarea.createTextRange(); + range.move("character", new_pos); + range.select(); + storeCaret(textarea); + } + + textarea.focus(); + return; +} + +/** +* Insert text at position +*/ +function insert_text(text, spaces, popup) +{ + var textarea; + + if (!popup) + { + textarea = document.forms[form_name].elements[text_name]; + } + else + { + textarea = opener.document.forms[form_name].elements[text_name]; + } + if (spaces) + { + text = ' ' + text + ' '; + } + + if (!isNaN(textarea.selectionStart)) + { + var sel_start = textarea.selectionStart; + var sel_end = textarea.selectionEnd; + + mozWrap(textarea, text, '') + textarea.selectionStart = sel_start + text.length; + textarea.selectionEnd = sel_end + text.length; + } + + else if (textarea.createTextRange && textarea.caretPos) + { + if (baseHeight != textarea.caretPos.boundingHeight) + { + 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; + } + if (!popup) + { + textarea.focus(); + } + +} + +/** +* Add inline attachment at position +*/ +function attach_inline(index, filename) +{ + insert_text('[attachment=' + index + ']' + filename + '[/attachment]'); + document.forms[form_name].elements[text_name].focus(); +} + +/** +* Add quote text to message +*/ +function addquote(post_id, username) +{ + var message_name = 'message_' + post_id; + var theSelection = ''; + var divarea = false; + + if (document.all) + { + divarea = document.all[message_name]; + } + else + { + divarea = document.getElementById(message_name); + } + + // Get text selection - not only the post content :( + if (window.getSelection) + { + theSelection = window.getSelection().toString(); + } + else if (document.getSelection) + { + theSelection = document.getSelection(); + } + else if (document.selection) + { + theSelection = document.selection.createRange().text; + } + + if (theSelection == '' || typeof theSelection == 'undefined' || theSelection == null) + { + if (divarea.innerHTML) + { + theSelection = divarea.innerHTML.replace(/
    /ig, '\n'); + theSelection = theSelection.replace(//ig, '\n'); + theSelection = theSelection.replace(/<\;/ig, '<'); + theSelection = theSelection.replace(/>\;/ig, '>'); + theSelection = theSelection.replace(/&\;/ig, '&'); + } + else if (document.all) + { + theSelection = divarea.innerText; + } + else if (divarea.textContent) + { + theSelection = divarea.textContent; + } + else if (divarea.firstChild.nodeValue) + { + theSelection = divarea.firstChild.nodeValue; + } + } + + if (theSelection) + { + insert_text('[quote="' + username + '"]' + theSelection + '[/quote]'); + } + + return; +} + +/** +* From http://www.massless.org/mozedit/ +*/ +function mozWrap(txtarea, open, close) +{ + var selLength = txtarea.textLength; + var selStart = txtarea.selectionStart; + var selEnd = txtarea.selectionEnd; + var scrollTop = txtarea.scrollTop; + + if (selEnd == 1 || selEnd == 2) + { + selEnd = selLength; + } + + var s1 = (txtarea.value).substring(0,selStart); + var s2 = (txtarea.value).substring(selStart, selEnd) + var s3 = (txtarea.value).substring(selEnd, selLength); + + txtarea.value = s1 + open + s2 + close + s3; + txtarea.selectionStart = selEnd + open.length + close.length; + txtarea.selectionEnd = txtarea.selectionStart; + txtarea.focus(); + txtarea.scrollTop = scrollTop; + + return; +} + +/** +* Insert at Caret position. Code from +* http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130 +*/ +function storeCaret(textEl) +{ + if (textEl.createTextRange) + { + textEl.caretPos = document.selection.createRange().duplicate(); + } +} + +/** +* Color pallette +*/ +function colorPalette(dir, width, height) +{ + var r = 0, g = 0, b = 0; + var numberList = new Array(6); + + numberList[0] = '00'; + numberList[1] = '40'; + numberList[2] = '80'; + numberList[3] = 'BF'; + numberList[4] = 'FF'; + + document.writeln(''); + + for (r = 0; r < 5; r++) + { + if (dir == 'h') + { + document.writeln(''); + } + + for (g = 0; g < 5; g++) + { + if (dir == 'v') + { + document.writeln(''); + } + + for (b = 0; b < 5; b++) + { + color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]); + document.write(''); + } + + if (dir == 'v') + { + document.writeln(''); + } + } + + if (dir == 'h') + { + document.writeln(''); + } + } + document.writeln('
    '); + document.write('#' + color + ''); + document.writeln('
    '); +} + + +/** +* Caret Position object +*/ +function caretPosition() +{ + var start = null; + var end = null; +} + + +/** +* Get the caret position in an textarea +*/ +function getCaretPosition(txtarea) +{ + var caretPos = new caretPosition(); + + // simple Gecko/Opera way + if(txtarea.selectionStart || txtarea.selectionStart == 0) + { + caretPos.start = txtarea.selectionStart; + caretPos.end = txtarea.selectionEnd; + } + // dirty and slow IE way + else if(document.selection) + { + + // get current selection + var range = document.selection.createRange(); + + // a new selection of the whole textarea + var range_all = document.body.createTextRange(); + range_all.moveToElementText(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; + } + + return caretPos; +} \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/faq_body.html b/phpBB/styles/prosilver/template/faq_body.html new file mode 100644 index 0000000000..0cc0f14b63 --- /dev/null +++ b/phpBB/styles/prosilver/template/faq_body.html @@ -0,0 +1,52 @@ + + +

    {L_FAQ_TITLE}

    + + + + + + +
    + + +
    +
    + +
    +

    {faq_block.BLOCK_TITLE}

    + +
    +
    {faq_block.faq_row.FAQ_QUESTION}
    +
    {faq_block.faq_row.FAQ_ANSWER}
    +
    {L_BACK_TO_TOP}
    +
    +
    + +
    + +
    +
    + + + + diff --git a/phpBB/styles/prosilver/template/forum_fn.js b/phpBB/styles/prosilver/template/forum_fn.js new file mode 100644 index 0000000000..ad7e3fbc8e --- /dev/null +++ b/phpBB/styles/prosilver/template/forum_fn.js @@ -0,0 +1,232 @@ +/** +* phpBB3 forum functions +*/ + +/** +* Window popup +*/ +function popup(url, width, height) +{ + window.open(url.replace(/&/g, '&'), '_popup', 'height=' + height + ',resizable=yes,scrollbars=yes, width=' + width); + return false; +} + +/** +* Jump to page +*/ +function jumpto() +{ + var page = prompt(jump_page, on_page); + + if (page !== null && !isNaN(page) && page > 0) + { + document.location.href = base_url.replace(/&/g, '&') + '&start=' + ((page - 1) * per_page); + } +} + +/** +* Mark/unmark checklist +* id = ID of parent container, name = name prefix, state = state [true/false] +*/ +function marklist(id, name, state) +{ + var parent = document.getElementById(id); + if (!parent) + { + eval('parent = document.' + id); + } + + if (!parent) + { + return; + } + + var rb = parent.getElementsByTagName('input'); + + for (var r = 0; r < rb.length; r++) + { + if (rb[r].name.substr(0, name.length) == name) + { + rb[r].checked = state; + } + } +} + +/** +* Resize viewable area for attached image or topic review panel (possibly others to come) +* e = element +*/ +function viewableArea(e, itself) +{ + if (!e) return; + if (!itself) + { + e = e.parentNode; + } + + if (!e.vaHeight) + { + // Store viewable area height before changing style to auto + e.vaHeight = e.offsetHeight; + e.vaMaxHeight = e.style.maxHeight; + e.style.height = 'auto'; + e.style.maxHeight = 'none'; + e.style.overflow = 'visible'; + } + else + { + // Restore viewable area height to the default + e.style.height = e.vaHeight + 'px'; + e.style.overflow = 'auto'; + e.style.maxHeight = e.vaMaxHeight; + e.vaHeight = false; + } +} + +/** +* Set display of page element +* s[-1,0,1] = hide,toggle display,show +*/ +function dE(n, s) +{ + var e = document.getElementById(n); + + if (!s) + { + s = (e.style.display == '' || e.style.display == 'block') ? -1 : 1; + } + e.style.display = (s == 1) ? 'block' : 'none'; +} + +/** +* Alternate display of subPanels +*/ +function subPanels(p) +{ + var i, e, t; + + if (typeof(p) == 'string') + { + show_panel = p; + } + + for (i = 0; i < panels.length; i++) + { + e = document.getElementById(panels[i]); + t = document.getElementById(panels[i] + '-tab'); + + if (e) + { + if (panels[i] == show_panel) + { + e.style.display = 'block'; + if (t) + { + t.className = 'activetab'; + } + } + else + { + e.style.display = 'none'; + if (t) + { + t.className = ''; + } + } + } + } +} + +/** +* Call print preview +*/ +function printPage() +{ + if (is_ie) + { + printPreview(); + } + else + { + window.print(); + } +} + +/** +* Show/hide groups of blocks +* c = CSS style name +* e = checkbox element +* t = toggle dispay state (used to show 'grip-show' image in the profile block when hiding the profiles) +*/ +function displayBlocks(c, e, t) +{ + var s = (e.checked == true) ? 1 : -1; + + if (t) + { + s *= -1; + } + + var divs = document.getElementsByTagName("DIV"); + + for (var d = 0; d < divs.length; d++) + { + if (divs[d].className.indexOf(c) == 0) + { + divs[d].style.display = (s == 1) ? 'none' : 'block'; + } + } +} + +function selectCode(a) +{ + // Get ID of code block + var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0]; + + if (document.selection) + { + var r = document.body.createTextRange(); + r.moveToElementText(e); + r.select(); + } + else + { + var s = window.getSelection(); + var r = document.createRange(); + r.setStartBefore(e); + r.setEndAfter(e); + s.addRange(r); + } +} + +/** +* Play quicktime file by determining it's width/height +* from the displayed rectangle area +*/ +function play_qt_file(obj) +{ + var rectangle = obj.GetRectangle(); + + if (rectangle) + { + rectangle = rectangle.split(',') + var x1 = parseInt(rectangle[0]); + var x2 = parseInt(rectangle[2]); + var y1 = parseInt(rectangle[1]); + var y2 = parseInt(rectangle[3]); + + var width = (x1 < 0) ? (x1 * -1) + x2 : x2 - x1; + var height = (y1 < 0) ? (y1 * -1) + y2 : y2 - y1; + } + else + { + var width = 200; + var height = 0; + } + + obj.width = width; + obj.height = height + 16; + + obj.SetControllerVisible(true); + obj.Play(); +} diff --git a/phpBB/styles/prosilver/template/forumlist_body.html b/phpBB/styles/prosilver/template/forumlist_body.html new file mode 100644 index 0000000000..523e9bc5e1 --- /dev/null +++ b/phpBB/styles/prosilver/template/forumlist_body.html @@ -0,0 +1,65 @@ + + + +
+ +
+ + + + +
+
+ +
    + + + +
  • +
    +
    +
    {forumrow.FORUM_IMAGE}
    + {forumrow.FORUM_NAME}
    + {forumrow.FORUM_DESC} + +
    {forumrow.L_MODERATOR_STR}: {forumrow.MODERATORS} + +
    {forumrow.L_SUBFORUM_STR} {forumrow.SUBFORUMS} +
    + +
    {L_REDIRECTS}: {forumrow.CLICKS}
    + +
    {forumrow.TOPICS} {L_TOPICS}
    +
    {forumrow.POSTS} {L_POSTS}
    +
    + {L_LAST_POST} {L_POST_BY_AUTHOR} {forumrow.LAST_POSTER_FULL} + {LAST_POST_IMG}
    {L_POSTED_ON_DATE} {forumrow.LAST_POST_TIME}{L_NO_POSTS}
    +
    + +
    +
  • + + + +
+ +
+
+ + + +
+
+ {L_NO_FORUMS} +
+
+ diff --git a/phpBB/styles/prosilver/template/index.htm b/phpBB/styles/prosilver/template/index.htm new file mode 100644 index 0000000000..e69de29bb2 diff --git a/phpBB/styles/prosilver/template/index_body.html b/phpBB/styles/prosilver/template/index_body.html new file mode 100644 index 0000000000..91438ecfbc --- /dev/null +++ b/phpBB/styles/prosilver/template/index_body.html @@ -0,0 +1,40 @@ + + +

{LAST_VISIT_DATE}{CURRENT_TIME}

+

{L_MCP} ]

+ + + + + + +
+

{L_LOGIN_LOGOUT}  •  {L_REGISTER}

+ +
+ + + +

{L_WHO_IS_ONLINE}

+

{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})
{RECORD_USERS}

{LOGGED_IN_USER_LIST} +
{L_LEGEND}: {LEGEND}

+ + + +

{L_BIRTHDAYS}

+

{L_CONGRATULATIONS}: {BIRTHDAY_LIST}{L_NO_BIRTHDAYS}

+ + + +

{L_STATISTICS}

+

{TOTAL_POSTS} • {TOTAL_TOPICS} • {TOTAL_USERS} • {NEWEST_USER}

+ + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/jumpbox.html b/phpBB/styles/prosilver/template/jumpbox.html new file mode 100644 index 0000000000..842c2f732a --- /dev/null +++ b/phpBB/styles/prosilver/template/jumpbox.html @@ -0,0 +1,31 @@ + + +
+ + +

{L_RETURN_TO} {FORUM_NAME}

+ +

{L_RETURN_TO} {L_INDEX}

+ +

{L_RETURN_TO}: {SEARCH_TOPIC}

+ +

{L_RETURN_TO} {L_SEARCH_ADV}

+ + + +
+ +
+ + + + +
+ + + diff --git a/phpBB/styles/prosilver/template/login_body.html b/phpBB/styles/prosilver/template/login_body.html new file mode 100644 index 0000000000..8174a2ddc1 --- /dev/null +++ b/phpBB/styles/prosilver/template/login_body.html @@ -0,0 +1,67 @@ + + +
+
+
+ +
+

{LOGIN_EXPLAIN}{L_LOGIN}

+ +
class="fields1"class="fields2"> +
{LOGIN_ERROR}
+
+
+
+
+
+
+
+ +
{L_FORGOT_PASS}
+
{L_RESEND_ACTIVATION}
+ +
+ + +
+

{L_CONFIRM_CODE_EXPLAIN}
+
{CONFIRM_IMAGE}
+
+
+ + + +
+
+
+
+ +
+
 
+
{S_HIDDEN_FIELDS}
+
+ +
+
+
+
+ + +
+
+ +
+

{L_REGISTER}

+

{L_LOGIN_INFO}

+

{L_TERMS_USE} | {L_PRIVACY}

+
+

{L_REGISTER}

+
+ +
+
+ + +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/login_forum.html b/phpBB/styles/prosilver/template/login_forum.html new file mode 100644 index 0000000000..ac262828e4 --- /dev/null +++ b/phpBB/styles/prosilver/template/login_forum.html @@ -0,0 +1,35 @@ + + +

{L_LOGIN} {FORUM_NAME}

+ +
+ +
+
+ +

{L_LOGIN_FORUM}

+ +
+ +
+
 
+
{LOGIN_ERROR}
+
+ +
+
+
+
+
+
 
+
{S_HIDDEN_FIELDS}
+
+
+ +
+
+ +
+ + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_approve.html b/phpBB/styles/prosilver/template/mcp_approve.html new file mode 100644 index 0000000000..94f861c865 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_approve.html @@ -0,0 +1,47 @@ + + +
+ +
+ +

{MESSAGE_TITLE}

+

{ADDITIONAL_MSG}

+ +
+ +
+
 
+
+
+ + + +
+
+
+
+
+
+

{L_CAN_LEAVE_BLANK}
+
+
+ + +
+
 
+
{MESSAGE_TEXT}
+
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_ban.html b/phpBB/styles/prosilver/template/mcp_ban.html new file mode 100644 index 0000000000..353bdfba2e --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_ban.html @@ -0,0 +1,128 @@ + + + + +
+ +

{L_TITLE}

+ +
+
+ +

{L_TITLE}

+

{L_EXPLAIN}

+ +
+
+
+
+
{L_FIND_USERNAME}
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+ +
+

{L_BAN_EXCLUDE_EXPLAIN}
+
+ + +
+
+
+ +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+
+ +

{L_UNBAN_TITLE}

+

{L_UNBAN_EXPLAIN}

+ + +
+
+
+
+
+
+
{L_BAN_LENGTH}:
+
+
+
+
{L_BAN_REASON}:
+
+
+
+
{L_BAN_GIVE_REASON}:
+
+
+
+ +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ + + +

{L_NO_BAN_CELL}

+ + + + + + +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_footer.html b/phpBB/styles/prosilver/template/mcp_footer.html new file mode 100644 index 0000000000..7fd8258b3f --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_footer.html @@ -0,0 +1,9 @@ + + +
+ + + + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_forum.html b/phpBB/styles/prosilver/template/mcp_forum.html new file mode 100644 index 0000000000..86889d35ea --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_forum.html @@ -0,0 +1,107 @@ + + + + + +

{L_FORUM}: {FORUM_NAME}

+ +
+ +
+
+ + + + + + +
    +
  • +
    +
    {L_TOPICS}
    +
    {L_REPLIES}
    +
    {L_LAST_POST}
    +
    {L_MARK}
    +
    +
  • +
+
    + + +
  • +
    +
    style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG});"> + [ {L_SELECT_MERGE} ]   + {topicrow.TOPIC_TITLE} {topicrow.ATTACH_ICON_IMG} + {topicrow.UNAPPROVED_IMG} + {REPORTED_IMG} +  [ {L_DELETE_SHADOW_TOPIC} ] +
    + {topicrow.PAGINATION} + {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {topicrow.FIRST_POST_TIME}
    +
    {topicrow.REPLIES} {L_REPLIES}
    +
    {L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} {L_POSTED_ON_DATE}
    {topicrow.LAST_POST_TIME}
    +
    +
    + checked="checked" />  +
    +
    +
  • + +
+ +
    +
  • {L_NO_TOPICS}

  • +
+ + +
+ {L_NEXT} + {L_PREVIOUS} + + + +
+ +
+ + + + + +
+
+ +
+ + + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_front.html b/phpBB/styles/prosilver/template/mcp_front.html new file mode 100644 index 0000000000..c89a557abe --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_front.html @@ -0,0 +1,141 @@ + + +

{PAGE_TITLE}

+ + + +
+ +
+
+ +

{L_LATEST_UNAPPROVED}

+

{L_UNAPPROVED_TOTAL}

+ + +
    +
  • +
    +
    {L_VIEW_DETAILS}
    +
    {L_TOPIC} & {L_FORUM}
    +
    +
  • +
+ + +

{L_UNAPPROVED_POSTS_ZERO_TOTAL}

+ + +
+
+ + +
+   + + +
+ + +
+ + + +
+
+ +

{L_LATEST_REPORTED}

+

{L_REPORTS_TOTAL}

+ + +
    +
  • +
    +
    {L_VIEW_DETAILS}
    +
    {L_REPORTER} & {L_FORUM}
    +
    +
  • +
+
    + + +
  • +
    +
    + {report.SUBJECT} {report.ATTACH_ICON_IMG}
    + {L_POSTED} {L_POST_BY_AUTHOR} + {report.AUTHOR}{report.AUTHOR} {L_POSTED_ON_DATE} {report.POST_TIME} +
    +
    + {L_REPORTED} {L_POST_BY_AUTHOR} {report.REPORTER_FULL} {L_REPORTED_ON_DATE} {report.REPORT_TIME}
    + {L_FORUM}: {report.FORUM_NAME}
    +
    +
    +
  • + +
+ +

{L_REPORTS_ZERO_TOTAL}

+ + +
+
+ + + +
+
+ +

{L_LATEST_LOGS}

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_ACTION}{L_USERNAME}{L_IP}{L_VIEW_TOPIC_LOGS}{L_TIME}
{log.ACTION}{log.USERNAME}{log.IP}{L_VIEW_TOPIC_LOGS} {log.TIME}
{L_NO_ENTRIES}
+ +
+
+ + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_header.html b/phpBB/styles/prosilver/template/mcp_header.html new file mode 100644 index 0000000000..af53ce10e2 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_header.html @@ -0,0 +1,67 @@ + + +

{L_MCP}

+ + +

+ [ {L_MCP} | {L_MODERATE_FORUM} + | {L_MODERATE_TOPIC} + | {L_MODERATE_POST} ] +

+ + +
+ +
+ +
+
+ +
+ + + +
+ +
+

{L_MESSAGE}

+

{MESSAGE}

+

{return_links.MESSAGE_LINK}

+
+ + + +
+ +
+

{L_PLEASE_CONFIRM}

+

{CONFIRM_MESSAGE}

+ +
+ {S_HIDDEN_FIELDS}  + +
+
+ +
+ diff --git a/phpBB/styles/prosilver/template/mcp_logs.html b/phpBB/styles/prosilver/template/mcp_logs.html new file mode 100644 index 0000000000..b7a8b5dfe0 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_logs.html @@ -0,0 +1,86 @@ + + +

{L_TITLE}

+ +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_USERNAME}{L_IP}{L_TIME}{L_ACTION}{L_MARK}
{log.USERNAME}{log.IP}{log.DATE}{log.ACTION}
+ {log.DATA} +
{L_NO_ENTRIES}
+ + +
+ {L_NEXT} + {L_PREVIOUS} + + + + +
+ +
+ + + +
+
+ + +
+ +   + + +
+ + +
+
+ + + +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_message.html b/phpBB/styles/prosilver/template/mcp_message.html new file mode 100644 index 0000000000..1fde48b2cc --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_message.html @@ -0,0 +1,8 @@ + + +
+

{MESSAGE_TITLE}

+

{MESSAGE_TEXT}

+
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_move.html b/phpBB/styles/prosilver/template/mcp_move.html new file mode 100644 index 0000000000..f679bd5744 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_move.html @@ -0,0 +1,36 @@ + + +
+ +
+
+ +
+

{MESSAGE_TITLE}

+

{ADDITIONAL_MSG}

+ +
+
+
+
+
+
+
+
 
+
{MESSAGE_TEXT}
+
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+ +
+
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_notes_front.html b/phpBB/styles/prosilver/template/mcp_notes_front.html new file mode 100644 index 0000000000..19b143c521 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_notes_front.html @@ -0,0 +1,28 @@ + + +
+ +

{L_TITLE}

+ +
+
+ +
+
+
+
+
{L_FIND_USERNAME}
+
+
+ +
+
+ +
+   + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_notes_user.html b/phpBB/styles/prosilver/template/mcp_notes_user.html new file mode 100644 index 0000000000..e9306607a0 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_notes_user.html @@ -0,0 +1,120 @@ + + +
+ +

{L_TITLE}

+ +
+
+ +

{USERNAME}{USERNAME}

+ +
+
{AVATAR_IMG}
+
+ +
+
+
{L_RANK}:
{RANK_TITLE}
+
{L_RANK}:
{RANK_IMG}
+
{L_JOINED}:
{JOINED}
+
{L_TOTAL_POSTS}:
{POSTS}
+
{L_WARNINGS}:
{WARNINGS}
+
+
+ +
+
+ +
+
+ +

{L_ADD_FEEDBACK}

+

{L_ADD_FEEDBACK_EXPLAIN}

+ +
+ +
+ +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_REPORT_BY}{L_IP}{L_TIME}{L_ACTION}{L_MARK}
{usernotes.REPORT_BY}{usernotes.IP}{usernotes.REPORT_AT}{usernotes.ACTION}
{L_NO_ENTRIES}
+ +
+ +
+ {L_NEXT} + {L_PREVIOUS} + + + +
+ +
+ + + +
+
+ + +
+ +   +
+ +
+ +
+ + +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_post.html b/phpBB/styles/prosilver/template/mcp_post.html new file mode 100644 index 0000000000..446491a878 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_post.html @@ -0,0 +1,270 @@ + + + +

{L_REPORT_DETAILS}

+ +
+
+ +
+

{L_REPORT_REASON}: {REPORT_REASON_TITLE}

+

{L_REPORTED} {L_POST_BY_AUTHOR} {REPORTER_FULL} {L_REPORTED_ON_DATE} {REPORT_DATE}

+ +

{L_REPORT_CLOSED}

+ +
+ + {REPORT_TEXT} + + {REPORT_REASON_DESCRIPTION} + +
+
+ +
+
+ +
+ +
+ +   + + + +
+ +
+ + +

{L_POST_DETAILS}

+ + +
+
+ +
+ + + + +

{POST_SUBJECT}

+

{MINI_POST_IMG} {L_POSTED} {L_POST_BY_AUTHOR} {POST_AUTHOR_FULL} {L_POSTED_ON_DATE} {POST_DATE}

+ + +
+ +

+   + + +

+ +
+ + + +

+ {REPORTED_IMG} {L_MESSAGE_REPORTED} +

+ + +
+ {POST_PREVIEW} +
+ + +
+
{L_ATTACHMENTS}
+ +
{attachment.DISPLAY_ATTACHMENT}
+ +
+ + + +
{SIGNATURE}
+ + + +
+
{L_THIS_POST_IP}: {POST_IP} [ {POST_IPADDR} ]
+ + +
+ +
+
+ + +
+
+ +

{L_MOD_OPTIONS}

+ +
+ +
+
+
+
+
[ {L_FIND_USERNAME} ]
+
+
+ +
+ + + +
+ +
+
+
+
+
+
+
+ +
+ + +
+
+ + + +
+
+ +

{RETURN_QUEUE} | {RETURN_TOPIC_SIMPLE} | {RETURN_POST}{RETURN_REPORTS}{RETURN_TOPIC}

+ +
+
+ + + + + + +
+
+ +
+ + +

{L_FEEDBACK}

+ + + {L_REPORTED_BY}: {usernotes.REPORT_BY} {L_REPORTED_ON_DATE} {usernotes.REPORT_AT} +
+
{usernotes.ACTION}
+ +
+ + + +
+   + +
+ + + +

{L_ADD_FEEDBACK}

+

{L_ADD_FEEDBACK_EXPLAIN}

+ +
+ +
+ +
+   + +
+ +
+ +
+
+ + + +
+
+ +

{L_MCP_POST_REPORTS}

+ + + {L_REPORTED_BY}: {reports.REPORTER}{reports.REPORTER} {L_REPORTED_ON_DATE} {reports.REPORT_TIME} +

{reports.REASON_TITLE}: {reports.REASON_DESC}
{reports.REPORT_TEXT}

+ + +
+
+ + + +
+
+ +

{L_THIS_POST_IP}: {POST_IP} [ {POST_IPADDR} ]

+ + + + + + + + + + + + + + + + + + + + +
{L_OTHER_USERS}{L_POSTS}
{userrow.USERNAME}{userrow.USERNAME}{userrow.NUM_POSTS}
{L_NO_MATCHES_FOUND}
+ + + + + + + + + + + + + + + + + + + + +
{L_IPS_POSTED_FROM}{L_POSTS}
{iprow.HOSTNAME} ({iprow.IP}){iprow.IP} ({L_LOOKUP_IP}){iprow.NUM_POSTS}
{L_NO_MATCHES_FOUND}
+ +

{L_LOOKUP_ALL}

+ +
+
+ + + + + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_queue.html b/phpBB/styles/prosilver/template/mcp_queue.html new file mode 100644 index 0000000000..0a94408379 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_queue.html @@ -0,0 +1,95 @@ + + +
+ +
+ + +
+ +

{L_TITLE}

+ +
+
+ +

{L_EXPLAIN}

+ + + +
    +
  • +
    +
    {L_TOPIC}{L_POST}
    +
    {L_TOPIC} & {L_FORUM}
    +
    {L_MARK}
    +
    +
  • +
+ + +
+ {L_NEXT} + {L_PREVIOUS} + + + +
+ +
+ + + +

{L_NO_POSTS}

+ + +
+
+ + +
+   + + +
+ + +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_reports.html b/phpBB/styles/prosilver/template/mcp_reports.html new file mode 100644 index 0000000000..04f0d74682 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_reports.html @@ -0,0 +1,84 @@ + + +
+ +
+ + +
+ +

{L_TITLE}

+ +
+
+ +

{L_EXPLAIN}

+ + + +
    +
  • +
    +
    {L_VIEW_DETAILS}
    +
    {L_REPORTER} & {L_FORUM}
    +
    {L_MARK}
    +
    +
  • +
+
    + + +
  • +
    +
    + {postrow.POST_SUBJECT} {postrow.ATTACH_ICON_IMG}
    + {L_POSTED} {L_POST_BY_AUTHOR} {postrow.POST_AUTHOR_FULL} {L_POSTED_ON_DATE} {postrow.POST_TIME} +
    +
    + {postrow.REPORTER_FULL} {L_REPORTED_ON_DATE} {postrow.REPORT_TIME}
    + {L_FORUM}: {postrow.FORUM_NAME}
    +
    +
    +
    +
  • + +
+ +
+ {L_NEXT} + {L_PREVIOUS} + + + +
+
+ + + +

{L_NO_REPORTS}

+ + +
+
+ + +
+ +   + +
+ + +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_topic.html b/phpBB/styles/prosilver/template/mcp_topic.html new file mode 100644 index 0000000000..511aaf587b --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_topic.html @@ -0,0 +1,153 @@ + + +

{L_TOPIC}: {TOPIC_TITLE}

+ + + +
+ +
+ +
+ +
+
+ +
+
+

{L_POSTS_PER_PAGE_EXPLAIN}
+
+
+
+
+
{S_SELECT_SORT_DAYS}  
+
+
+ + +
+

{L_SPLIT_TOPIC_EXPLAIN}

+ + +
+
+
+ +
+
+ + +
+
+
+
+
+
+
+
+
+ + + +
+

{L_MERGE_TOPIC_EXPLAIN}

+
+
+
+ + {L_SELECT_TOPIC} +
+
{TO_TOPIC_INFO}
+
+
+ + +
+
+ +
+
+

+ Expand view + {L_TOPIC_REVIEW}: {TOPIC_TITLE} +

+ +
+ +
+
+ +
+
{L_POST_DETAILS} | {L_SELECT}: checked="checked" />
+ +

{postrow.POST_SUBJECT}

+

{postrow.MINI_POST_IMG} {L_POSTED} {postrow.POST_DATE} {L_POST_BY_AUTHOR} {postrow.POST_AUTHOR_FULL} [ {L_POST_DETAILS} ]

+ + +

+ {UNAPPROVED_IMG} {L_POST_UNAPPROVED} + {REPORTED_IMG} {L_POST_REPORTED} +

+ + +
{postrow.MESSAGE}
+
+ +
+
+ +
+ +
+ + + + + +
+
+ +
+   + + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_viewlogs.html b/phpBB/styles/prosilver/template/mcp_viewlogs.html new file mode 100644 index 0000000000..760981ebf6 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_viewlogs.html @@ -0,0 +1,51 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_DISPLAY_OPTIONS}
{L_DISPLAY_LOG}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
{L_USERNAME}{L_IP}{L_TIME}{L_ACTION}
{L_LOGS_CURRENT_TOPIC} {TOPIC_NAME}
{log.USERNAME}{log.IP}{log.TIME}{log.ACTION}{L_VIEW_TOPIC} | {L_VIEW_TOPIC_LOGS}
{L_NO_ENTRIES}
+ +
+ + + + + + +
{L_GOTO_PAGE} {L_PREVIOUS}  {PAGINATION}  {L_NEXT}
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_warn_front.html b/phpBB/styles/prosilver/template/mcp_warn_front.html new file mode 100644 index 0000000000..77eb1d013d --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_warn_front.html @@ -0,0 +1,97 @@ + + +
+ +

{L_WARN_USER}

+ +
+
+ +

{L_SELECT_USER}

+ +
+
+
+
+
{L_FIND_USERNAME}
+
+
+ +
+
+ +
+   + +
+ +
+ +
+
+ +

{L_MOST_WARNINGS}

+ + + + + + + + + + + + + + + + + + + + + + +
{L_USERNAME}{L_WARNINGS}{L_LATEST_WARNING_TIME}
{highest.USERNAME_FULL}{highest.WARNINGS}{highest.WARNING_TIME}{L_VIEW_NOTES}
+ +

{L_WARNINGS_ZERO_TOTAL}

+ + +
+
+ +
+
+ +

{L_LATEST_WARNINGS}

+ + + + + + + + + + + + + + + + + + + + + +
{L_USERNAME}{L_TIME}{L_TOTAL_WARNINGS}
{latest.USERNAME_FULL}{latest.WARNING_TIME}{latest.WARNINGS}{L_VIEW_NOTES}
+ +

{L_WARNINGS_ZERO_TOTAL}

+ + +
+
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_warn_list.html b/phpBB/styles/prosilver/template/mcp_warn_list.html new file mode 100644 index 0000000000..e0401e1912 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_warn_list.html @@ -0,0 +1,66 @@ + + +
+ +

{L_WARNED_USERS}

+ +
+
+ +

{L_WARNED_USERS_EXPLAIN}

+ + +

+ + + + + + + + + + + + + + + + + + + + + +
{L_USERNAME}{L_WARNINGS}{L_LATEST_WARNING_TIME}
{user.USERNAME_FULL}{user.WARNINGS}{user.WARNING_TIME}{L_VIEW_NOTES}
+ +
+ + + +
+
+ + + +

{L_WARNINGS_ZERO_TOTAL}

+ + +
+
+ + + +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_warn_post.html b/phpBB/styles/prosilver/template/mcp_warn_post.html new file mode 100644 index 0000000000..3e0973402e --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_warn_post.html @@ -0,0 +1,59 @@ + + + + + + + + + + +
{L_POST}
+ + + + + + + + + + + + + + + + + + + +
{USERNAME}
{RANK_TITLE}
{RANK_IMG}
{AVATAR_IMG}
+
{POST}
+ +

+ +
+ + + + + + + + + + + + + + + + +
{L_ADD_WARNING}
{L_ADD_WARNING_EXPLAIN}
{L_NOTIFY_USER_WARN}
  
+ +
+ +

+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_warn_user.html b/phpBB/styles/prosilver/template/mcp_warn_user.html new file mode 100644 index 0000000000..c4770290ad --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_warn_user.html @@ -0,0 +1,74 @@ + + + + + + + + + + +
{USERNAME}
+ + + + + + + + + + + + + + + + + + + +
{USERNAME}
{RANK_TITLE}
{RANK_IMG}
{AVATAR_IMG}
+
+ + + + + + + + + + + + + +
{L_JOINED}: {JOINED}
{L_TOTAL_POSTS}: {POSTS}
{L_WARNINGS}: {WARNINGS}
+
+ +

+ +
+ + + + + + + + + + + + + + + + +
{L_ADD_WARNING}
{L_ADD_WARNING_EXPLAIN}
{L_NOTIFY_USER_WARN}
  
+ +
+ +

+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_whois.html b/phpBB/styles/prosilver/template/mcp_whois.html new file mode 100644 index 0000000000..4906816635 --- /dev/null +++ b/phpBB/styles/prosilver/template/mcp_whois.html @@ -0,0 +1,14 @@ + +

{L_WHOIS}

+ +
+
+ +

{L_RETURN_POST}

+
{WHOIS}
+

{L_RETURN_POST}

+ +
+
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/memberlist_body.html b/phpBB/styles/prosilver/template/memberlist_body.html new file mode 100644 index 0000000000..ec4cbeb3fc --- /dev/null +++ b/phpBB/styles/prosilver/template/memberlist_body.html @@ -0,0 +1,162 @@ + + + + +
+ + + + + + + + + + + + + + + style="color:#{GROUP_COLOR};">{GROUP_NAME} +

{GROUP_DESC} {GROUP_TYPE}

+

+ {AVATAR_IMG} + {RANK_IMG} + {GROUP_RANK} +

+ + +

{PAGE_TITLE}: {SEARCH_WORDS}

+ +
+
+ + + +
+
+ + +
+ +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_GROUP_MEMBERS}    
{memberrow.RANK_IMG}{memberrow.RANK_TITLE} {memberrow.USERNAME_FULL}
{L_SELECT} ]
{memberrow.POSTS}{memberrow.POSTS}
{memberrow.LOCATION}
 
{memberrow.JOINED}{memberrow.VISITED} 
{L_NO_MEMBERS}
+ +
+
+ +
+ {L_PREVIOUS} + {L_NEXT} + + +
+ +
+ + +
+ + + + +
+ + + + + + + + + diff --git a/phpBB/styles/prosilver/template/memberlist_email.html b/phpBB/styles/prosilver/template/memberlist_email.html new file mode 100644 index 0000000000..355e067a65 --- /dev/null +++ b/phpBB/styles/prosilver/template/memberlist_email.html @@ -0,0 +1,92 @@ + + + + +

{L_SEND_EMAIL} {USERNAME}

+ +
+ +
+
+ +
+

{ERROR_MESSAGE}

+
+ +
+
+
{USERNAME}
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ {L_DEST_LANG_EXPLAIN}
+
+
+ +
+

+ {L_EMAIL_BODY_EXPLAIN}
+
+
+
+
 
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/memberlist_im.html b/phpBB/styles/prosilver/template/memberlist_im.html new file mode 100644 index 0000000000..cf12aa631f --- /dev/null +++ b/phpBB/styles/prosilver/template/memberlist_im.html @@ -0,0 +1,89 @@ + + + +

{L_SEND_IM}

+ +
+ +
+
+ +

{L_SEND_IM_EXPLAIN}

+ +
+
+
+
{USERNAME} [ {IM_CONTACT} ] {PRESENCE_IMG}
+
+ + +
+
+
+
+
+
+
+
+
+
 
+
+
+ + + + + + +
+
 
+
{L_IM_ADD_CONTACT}
+
{L_IM_SEND_MESSAGE}
+
{L_IM_DOWNLOAD_APP} | {L_IM_AIM_EXPRESS}
+
+ + + +
+
 
+
+
{L_IM_ADD_CONTACT}
+
{L_IM_SEND_MESSAGE}
+ + + +
+
+
+
+
+
 
+
+
+ + + +
+
 
+
{L_IM_NO_JABBER}
+
+
+
 
+
+
+ + + +
+
 
+
{L_IM_SENT_JABBER}
+
+ +
+ +
+
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/memberlist_leaders.html b/phpBB/styles/prosilver/template/memberlist_leaders.html new file mode 100644 index 0000000000..60496139c2 --- /dev/null +++ b/phpBB/styles/prosilver/template/memberlist_leaders.html @@ -0,0 +1,76 @@ + + +

{PAGE_TITLE}

+ +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + +
{L_RANK} {L_ADMINISTRATORS}{L_PRIMARY_GROUP}{L_FORUMS}
{admin.RANK_IMG}{admin.RANK_TITLE}{admin.USERNAME_FULL} + style="font-weight: bold; color:#{admin.GROUP_COLOR}" href="{admin.U_GROUP}">{admin.GROUP_NAME} + + {admin.GROUP_NAME} + -
{L_NO_MEMBERS}
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + +
{L_MODERATORS}  
{mod.RANK_IMG}{mod.RANK_TITLE}{mod.USERNAME_FULL} + style="font-weight: bold; color:#{mod.GROUP_COLOR}" href="{mod.U_GROUP}">{mod.GROUP_NAME} + + {mod.GROUP_NAME} + {L_ALL_FORUMS}
{L_NO_MEMBERS}
+ +
+
+ +
+ + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/memberlist_search.html b/phpBB/styles/prosilver/template/memberlist_search.html new file mode 100644 index 0000000000..f97c474b15 --- /dev/null +++ b/phpBB/styles/prosilver/template/memberlist_search.html @@ -0,0 +1,110 @@ + + + + + + +

{L_FIND_USERNAME}

+ + diff --git a/phpBB/styles/prosilver/template/memberlist_view.html b/phpBB/styles/prosilver/template/memberlist_view.html new file mode 100644 index 0000000000..086eadc7f1 --- /dev/null +++ b/phpBB/styles/prosilver/template/memberlist_view.html @@ -0,0 +1,95 @@ + + +

{PAGE_TITLE}

+ +
+
+
+ + +
+
{AVATAR_IMG}
+
{RANK_TITLE}
+
{RANK_IMG}
+
+ + +
+
{L_USERNAME}:
+
+ {USERNAME} + [ {L_USER_ADMIN} ] + [ {L_USE_PERMISSIONS} ] +
+ +
{L_RANK}:
{RANK_TITLE}
+
{L_RANK}:
{RANK_IMG}
+ +
{L_USER_IS_INACTIVE}:
{USER_INACTIVE_REASON}
+
{L_LOCATION}:
{LOCATION}
+
{L_OCCUPATION}:
{OCCUPATION}
+
{L_INTERESTS}:
{INTERESTS}
+
{L_USERGROUPS}:
+
{L_SIGNATURE}:
{SIGNATURE}
+
+ +
+
+ +
+
+
+ +

{L_CONTACT_USER} {USERNAME}

+ +
+
{L_EMAIL_ADDRESS}:
{L_SEND_EMAIL} {USERNAME}
+
{L_WEBSITE}:
{U_WWW}
+
{L_PM}:
{L_SEND_PRIVATE_MESSAGE}
+ +
{L_MSNM}:
{L_SEND_MSNM_MESSAGE}{USER_MSN}
+
{L_YIM}:
{L_SEND_YIM_MESSAGE}{USER_YIM}
+
{L_AIM}:
{L_SEND_AIM_MESSAGE}{USER_AIM}
+
{L_ICQ}:
{L_SEND_ICQ_MESSAGE}{USER_ICQ}
+
{L_JABBER}:
{L_SEND_JABBER_MESSAGE}
{L_JABBER}:
{USER_JABBER}
+ + +
{custom_fields.PROFILE_FIELD_NAME}:
{custom_fields.PROFILE_FIELD_VALUE}
+ + +
{L_ADD_FRIEND}
+
×
{L_ADD_FOE}
+ + +
{L_REMOVE_FRIEND}
+ +
×
{L_REMOVE_FOE}
+ + + +
+
+ +
+

{L_USER_FORUM}

+
+
{L_JOINED}:
{JOINED}
+
{L_VISITED}:
{VISITED}
+ +
{L_WARNINGS}:
+
{WARNINGS} [ {L_VIEW_NOTES} | {L_WARN_USER} ]
+ +
{L_TOTAL_POSTS}:
{POSTS} | {L_SEARCH_USER_POSTS}
({POSTS_PCT} / {POSTS_DAY})
+ +
{L_ACTIVE_IN_FORUM}:
{ACTIVE_FORUM}
({ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT}) -
+
{L_ACTIVE_IN_TOPIC}:
{ACTIVE_TOPIC}
({ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT}) -
+ +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/message_body.html b/phpBB/styles/prosilver/template/message_body.html new file mode 100644 index 0000000000..f92a00ca7f --- /dev/null +++ b/phpBB/styles/prosilver/template/message_body.html @@ -0,0 +1,11 @@ + + +
+
+

{MESSAGE_TITLE}

+

{MESSAGE_TEXT}

+

Return to search page

+
+
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/overall_footer.html b/phpBB/styles/prosilver/template/overall_footer.html new file mode 100644 index 0000000000..1327110758 --- /dev/null +++ b/phpBB/styles/prosilver/template/overall_footer.html @@ -0,0 +1,48 @@ +
+ + + +
+ +
+ + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/overall_header.html b/phpBB/styles/prosilver/template/overall_header.html new file mode 100644 index 0000000000..11ab6bb31e --- /dev/null +++ b/phpBB/styles/prosilver/template/overall_header.html @@ -0,0 +1,150 @@ + + + + + + + + + + + + + +{META} +{SITENAME} • {PAGE_TITLE} + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + +
+
+ {L_INFORMATION}: {L_BOARD_DISABLED} +
+
+ \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/posting_attach_body.html b/phpBB/styles/prosilver/template/posting_attach_body.html new file mode 100644 index 0000000000..e62af6271f --- /dev/null +++ b/phpBB/styles/prosilver/template/posting_attach_body.html @@ -0,0 +1,21 @@ +
+
+ +

{L_ADD_ATTACHMENT_EXPLAIN}

+ +
+
+
+
+ + +
+
+
+
+
+
+
+ +
+
diff --git a/phpBB/styles/prosilver/template/posting_body.html b/phpBB/styles/prosilver/template/posting_body.html new file mode 100644 index 0000000000..73b82700c5 --- /dev/null +++ b/phpBB/styles/prosilver/template/posting_body.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/phpBB/styles/prosilver/template/posting_buttons.html b/phpBB/styles/prosilver/template/posting_buttons.html new file mode 100644 index 0000000000..761402951b --- /dev/null +++ b/phpBB/styles/prosilver/template/posting_buttons.html @@ -0,0 +1,92 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/posting_editor.html b/phpBB/styles/prosilver/template/posting_editor.html new file mode 100644 index 0000000000..90acbc0094 --- /dev/null +++ b/phpBB/styles/prosilver/template/posting_editor.html @@ -0,0 +1,229 @@ +
+

{ERROR}

+ + + +
+
+

{L_FIND_USERNAME}
+ +
+ + {to_recipient.NAME}{to_recipient.NAME_FULL}  +   + +
+ +
+
+ + +
+
+ +
+ + {bcc_recipient.NAME}{bcc_recipient.NAME_FULL}  +   + +
+ +
+ + +
+ + +
+
+
+
+
+ + +
 
+ + + + +
+
+
+
+ + + +
+
+
+ + +
+
+ + + +
+
+
+
+ + + +
+
+
+
+ +
+

{L_CONFIRM_CODE_EXPLAIN}
+
{CONFIRM_IMAGE}
+
+
+ + + + + +
+ + {L_SMILIES}
+ + {smiley.SMILEY_CODE} + + + +
{L_MORE_SMILIES} + + +
+ {BBCODE_STATUS}
+ + {IMG_STATUS}
+ {FLASH_STATUS}
+ {URL_STATUS}
+ {SMILIES_STATUS} + +
+ {L_BACK_TO_DRAFTS} + {L_TOPIC_REVIEW} +
+ +
+ +
+
+ + + +
+
+ + +
+
+

{L_POSTED_ATTACHMENTS}

+ +
+ + +
+

+
{attach_row.FILENAME}
+
+
+   + +
+
+ {attach_row.S_HIDDEN} +
+ + +
+ +
+
+ + + +
+
+
+ {S_HIDDEN_ADDRESS_FIELD} + {S_HIDDEN_FIELDS} onclick="document.getElementById('postform').action += '#preview';" />  +   +   +   +
+ +
+
+ + + + + + + +
+
+ +
+ +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + +
+ + + +
+
+
+
+ + + +
+
+
+
{L_STICK_TOPIC_FOR_EXPLAIN}
+
+ + + +
+
+
+
+ +
+ + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/posting_layout.html b/phpBB/styles/prosilver/template/posting_layout.html new file mode 100644 index 0000000000..5eccfbd507 --- /dev/null +++ b/phpBB/styles/prosilver/template/posting_layout.html @@ -0,0 +1,91 @@ + + + +

{TOPIC_TITLE}

+ +

{FORUM_NAME}

+ + + +
+
+ + + {L_FORUM_RULES} + + {L_FORUM_RULES}
+ {FORUM_RULES} + + +
+
+ + +
+ +
+
+ +

{L_INFORMATION}

+

{L_DRAFT_LOADED}

+ +
+
+ + + + + + + +
+
+
+

{L_SELECT_DESTINATION_FORUM}

+

{L_UNGLOBALISE_EXPLAIN}

+
+
+
+
+ +
+
 
+
+
+
+ + + +
+
+ + + + +
+
+ +

{L_POST_A}

+ + + + +
+
+ + + + + + + +
+ + + + + diff --git a/phpBB/styles/prosilver/template/posting_pm_layout.html b/phpBB/styles/prosilver/template/posting_pm_layout.html new file mode 100644 index 0000000000..a77870992b --- /dev/null +++ b/phpBB/styles/prosilver/template/posting_pm_layout.html @@ -0,0 +1,33 @@ + + + +
+
+ +

{L_INFORMATION}

+

{L_DRAFT_LOADED}

+ +
+
+ + + + + + +

{L_TITLE}

+ +
+
+ + + + +
+
+ + + + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/posting_poll_body.html b/phpBB/styles/prosilver/template/posting_poll_body.html new file mode 100644 index 0000000000..b606e85db8 --- /dev/null +++ b/phpBB/styles/prosilver/template/posting_poll_body.html @@ -0,0 +1,50 @@ +
+
+ + +

{L_ADD_POLL_EXPLAIN}

+ + +
+ +
+
+
+
+
+

{L_POLL_OPTIONS_EXPLAIN}
+
+
+ +
+ +
+
+
+
{L_POLL_MAX_OPTIONS_EXPLAIN}
+
+
+
+
+
{L_POLL_FOR_EXPLAIN}
+
+ + +
+ +
+
+
{L_POLL_VOTE_CHANGE_EXPLAIN}
+
+ + + +
+
+
+
+ +
+ +
+
diff --git a/phpBB/styles/prosilver/template/posting_preview.html b/phpBB/styles/prosilver/template/posting_preview.html new file mode 100644 index 0000000000..a2340256bc --- /dev/null +++ b/phpBB/styles/prosilver/template/posting_preview.html @@ -0,0 +1,49 @@ +
+
+ + +
+

{L_PREVIEW}: {POLL_QUESTION}

+

{L_POLL_LENGTH}
{L_MAX_VOTES}

+ +
+
+ +
+
+
checked="checked"/> checked="checked" />
+
+ +
+
+
+ +
+
+ +
+
+ + + +
+

{L_PREVIEW}: {PREVIEW_SUBJECT}

+ +
{PREVIEW_MESSAGE}
+ + +
+
{L_ATTACHMENTS}
+ +
{attachment.DISPLAY_ATTACHMENT}
+ +
+ + +
{PREVIEW_SIGNATURE}
+
+ +
+
+ +
diff --git a/phpBB/styles/prosilver/template/posting_review.html b/phpBB/styles/prosilver/template/posting_review.html new file mode 100644 index 0000000000..5ea9d99422 --- /dev/null +++ b/phpBB/styles/prosilver/template/posting_review.html @@ -0,0 +1,21 @@ +

{L_POST_REVIEW}

+ +

{L_POST_REVIEW_EXPLAIN}

+ + +
+
+ +
+

{post_review_row.POST_SUBJECT}

+

{post_review_row.MINI_POST_IMG} {L_POST_BY_AUTHOR} {post_review_row.POST_AUTHOR_FULL} {L_POSTED_ON_DATE} {post_review_row.POST_DATE}

+
+ {post_review_row.MESSAGE} +
+
+ +
+
+ + +
\ No newline at end of file diff --git a/phpBB/styles/prosilver/template/posting_smilies.html b/phpBB/styles/prosilver/template/posting_smilies.html new file mode 100644 index 0000000000..12f5cd3c77 --- /dev/null +++ b/phpBB/styles/prosilver/template/posting_smilies.html @@ -0,0 +1,22 @@ + + + + + +

{L_SMILIES}

+
+
+ + {smiley.SMILEY_CODE} + + +
+
+{L_CLOSE_WINDOW} + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/posting_topic_review.html b/phpBB/styles/prosilver/template/posting_topic_review.html new file mode 100644 index 0000000000..c8d3369eaf --- /dev/null +++ b/phpBB/styles/prosilver/template/posting_topic_review.html @@ -0,0 +1,39 @@ + +

+ {L_EXPAND_VIEW} + {L_TOPIC_REVIEW}: {TOPIC_TITLE} +

+ +
+ +
+
+ +
+ + + + +

{topic_review_row.POST_SUBJECT}

+

{topic_review_row.MINI_POST_IMG} {L_POST_BY_AUTHOR} {topic_review_row.POST_AUTHOR_FULL} {L_POSTED_ON_DATE} {topic_review_row.POST_DATE}

+
+ {topic_review_row.MESSAGE} +
+ + + +
+
+
+ +
+ +
+ + +

{L_BACK_TO_TOP}

+ +

{L_BACK_TO_TOP}

+ \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/report_body.html b/phpBB/styles/prosilver/template/report_body.html new file mode 100644 index 0000000000..ecd8a8a706 --- /dev/null +++ b/phpBB/styles/prosilver/template/report_body.html @@ -0,0 +1,50 @@ + + +

{L_REPORT_POST}{L_REPORT_MESSAGE}

+ +
+
+
+ +
+

{L_REPORT_POST_EXPLAIN}{L_REPORT_MESSAGE_EXPLAIN}

+ +
+
+
+
+
+ +
+

{L_REPORT_NOTIFY_EXPLAIN}
+
+ + +
+
+ +
+

{L_CAN_LEAVE_BLANK}
+
+
+
+
+ +
+
+ +
+
+ +
+
+   + +
+
+ +
+
+
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/search_body.html b/phpBB/styles/prosilver/template/search_body.html new file mode 100644 index 0000000000..525d9820a2 --- /dev/null +++ b/phpBB/styles/prosilver/template/search_body.html @@ -0,0 +1,120 @@ + + +

{L_SEARCH}

+ +
+ +
+
+

{L_SEARCH_QUERY}

+ +
+
+

{L_SEARCH_KEYWORDS_EXPLAIN}
+
+
+
+
+
+

{L_SEARCH_AUTHOR_EXPLAIN}
+
+
+
+ +
+
+ +
+
+ +

{L_SEARCH_OPTIONS}

+ +
+
+

{L_SEARCH_FORUMS_EXPLAIN}
+
+
+
+
+
+ + +
+
+
+
+
+
+
+
+
+ +
+ +
+
+
+ + +
+
+
+
+
{S_SELECT_SORT_KEY}  + + +
+
+
+
+
{S_SELECT_SORT_DAYS}
+
+
+
+
{L_POST_CHARACTERS}
+
+
+ +
+
+ +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+
+ +
+ +
+
+ + + + + + + + + + + + + + + + + + + +
{L_RECENT_SEARCHES}
{recentsearch.KEYWORDS} {recentsearch.TIME}
{L_NO_RECENT_SEARCHES}
+ +
+
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/search_results.html b/phpBB/styles/prosilver/template/search_results.html new file mode 100644 index 0000000000..701983e404 --- /dev/null +++ b/phpBB/styles/prosilver/template/search_results.html @@ -0,0 +1,160 @@ + + +

{SEARCH_TITLE}{SEARCH_MATCHES}: {SEARCH_WORDS}

+

{L_IGNORED_TERMS}: {IGNORED_WORDS}

+ + +

{L_RETURN_TO}: {SEARCH_TOPIC}

+ +

{L_RETURN_TO} {L_SEARCH_ADV}

+ + + +
+ +
+ + + + + + +
+ +
+ + + + + +
+ +
+
    +
  • +
    +
    {L_TOPICS}
    +
    {L_REPLIES}
    +
    {L_VIEWS}
    +
    {L_LAST_POST}
    +
    +
  • +
+
    + + +
  • +
    +
    style="background-image: url({T_ICONS_PATH}{searchresults.TOPIC_ICON_IMG});"> + {NEWEST_POST_IMG} + {searchresults.TOPIC_TITLE} {searchresults.ATTACH_ICON_IMG} + {searchresults.UNAPPROVED_IMG} + {REPORTED_IMG}
    + {searchresults.PAGINATION} + {L_POST_BY_AUTHOR} {searchresults.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {searchresults.FIRST_POST_TIME} {searchresults.NEWEST_POST_IMG} +
    +
    {searchresults.TOPIC_REPLIES}
    +
    {searchresults.TOPIC_VIEWS}
    +
    + {L_POST_BY_AUTHOR} {searchresults.LAST_POST_AUTHOR_FULL} + {searchresults.LAST_POST_IMG}
    {L_POSTED_ON_DATE} {searchresults.LAST_POST_TIME}
    +
    +
    +
  • + +
+ +
+
+ +
+
+ {L_NO_SEARCH_RESULTS} +
+
+ + + + + +
+
+ + +
+ {searchresults.L_IGNORE_POST} +
+ +
+

{searchresults.POST_SUBJECT}

+
{searchresults.MESSAGE}
+
+ +
+
{L_POST_BY_AUTHOR} {searchresults.POST_AUTHOR_FULL}
+
{L_POSTED_ON_DATE} {searchresults.POST_DATE}
+
 
+ +
{L_FORUM}: {searchresults.FORUM_TITLE}
+
{L_TOPIC}: {searchresults.TOPIC_TITLE}
+ +
{L_GLOBAL}: {searchresults.TOPIC_TITLE}
+ +
{L_REPLIES}: {searchresults.TOPIC_REPLIES}
+
{L_VIEWS}: {searchresults.TOPIC_VIEWS}
+
+ + + + + + +
+
+ +
+
+ {L_NO_SEARCH_RESULTS} +
+
+ + + + +
+ +
+ {L_PREVIOUS} + {L_NEXT} + + + + +
+ +
+ +
+ + + + + + + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/simple_footer.html b/phpBB/styles/prosilver/template/simple_footer.html new file mode 100644 index 0000000000..f22f9ea3ff --- /dev/null +++ b/phpBB/styles/prosilver/template/simple_footer.html @@ -0,0 +1,20 @@ +
+ + + +
+ + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/simple_header.html b/phpBB/styles/prosilver/template/simple_header.html new file mode 100644 index 0000000000..b38dd623c3 --- /dev/null +++ b/phpBB/styles/prosilver/template/simple_header.html @@ -0,0 +1,39 @@ + + + + + + + + + + + + + +{META} +{SITENAME} • {PAGE_TITLE} + + + + + + + + + + + + + + + + + + + +
+ +
\ No newline at end of file diff --git a/phpBB/styles/prosilver/template/styleswitcher.js b/phpBB/styles/prosilver/template/styleswitcher.js new file mode 100644 index 0000000000..8768ac365b --- /dev/null +++ b/phpBB/styles/prosilver/template/styleswitcher.js @@ -0,0 +1,158 @@ + +function fontsizeup() +{ + var active = getActiveStyleSheet(); + + switch (active) + { + case 'A--': + setActiveStyleSheet('A-'); + break; + + case 'A-': + setActiveStyleSheet('A'); + break; + + case 'A': + setActiveStyleSheet('A+'); + break; + + case 'A+': + setActiveStyleSheet('A++'); + break; + + case 'A++': + setActiveStyleSheet('A'); + break; + + default: + setActiveStyleSheet('A'); + break; + } +} + +function fontsizedown() +{ + active = getActiveStyleSheet(); + + switch (active) + { + case 'A++' : + setActiveStyleSheet('A+'); + break; + + case 'A+' : + setActiveStyleSheet('A'); + break; + + case 'A' : + setActiveStyleSheet('A-'); + break; + + case 'A-' : + setActiveStyleSheet('A--'); + break; + + case 'A--' : + break; + + default : + setActiveStyleSheet('A--'); + break; + } +} + +function setActiveStyleSheet(title) +{ + var i, a, main; + + for (i = 0; (a = document.getElementsByTagName('link')[i]); i++) + { + if (a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title')) + { + a.disabled = true; + if (a.getAttribute('title') == title) + { + a.disabled = false; + } + } + } +} + +function getActiveStyleSheet() +{ + var i, a; + + for (i = 0; (a = document.getElementsByTagName('link')[i]); i++) + { + if (a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title') && !a.disabled) + { + return a.getAttribute('title'); + } + } + + return null; +} + +function getPreferredStyleSheet() +{ + return ('A-'); +} + +function createCookie(name, value, days) +{ + if (days) + { + var date = new Date(); + date.setTime(date.getTime() + (days*24*60*60*1000)); + var expires = '; expires=' + date.toGMTString(); + } + else + { + expires = ''; + } + + document.cookie = name + '=' + value + expires + '; path=/'; +} + +function readCookie(name) +{ + var nameEQ = name + '='; + var ca = document.cookie.split(';'); + + for (var i = 0; i < ca.length; i++) + { + var c = ca[i]; + + while (c.charAt(0) == ' ') + { + c = c.substring(1, c.length); + } + + if (c.indexOf(nameEQ) == 0) + { + return c.substring(nameEQ.length, c.length); + } + } + + return null; +} + +window.onload = function(e) +{ + var cookie = readCookie('style_cookie'); + var title = cookie ? cookie : getPreferredStyleSheet(); + setActiveStyleSheet(title); +} + +window.onunload = function(e) +{ + var title = getActiveStyleSheet(); + createCookie('style_cookie', title, 365); +} + +/* +var cookie = readCookie("style"); +var title = cookie ? cookie : getPreferredStyleSheet(); +setActiveStyleSheet(title); +*/ \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/template.cfg b/phpBB/styles/prosilver/template/template.cfg new file mode 100644 index 0000000000..1251dcdce2 --- /dev/null +++ b/phpBB/styles/prosilver/template/template.cfg @@ -0,0 +1,25 @@ +# +# phpBB Template Configuration File +# +# @package phpBB3 +# @copyright (c) 2006 phpBB Group +# @license http://opensource.org/licenses/gpl-license.php GNU Public License +# +# +# At the left is the name, please do not change this +# At the right the value is entered +# For on/off options the valid values are on, off, 1, 0, true and false +# +# Values get trimmed, if you want to add a space in front or at the end of +# the value, then enclose the value with single or double quotes. +# Single and double quotes do not need to be escaped. +# +# + +# General Information about this template +name = prosilver +copyright = © phpBB Group, 2007 +version = 3.0.0 + +# Defining a different template bitfield +template_bitfield = lNg= diff --git a/phpBB/styles/prosilver/template/ucp_agreement.html b/phpBB/styles/prosilver/template/ucp_agreement.html new file mode 100644 index 0000000000..e2b7312e33 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_agreement.html @@ -0,0 +1,47 @@ + + + + +
+ +
+
+
+

{SITENAME} - {L_REGISTRATION}

+

{L_COPPA_BIRTHDAY}{L_TERMS_OF_USE}

+
+
+
+ +
+
+
+ + {L_COPPA_NO}  {L_COPPA_YES} + +   + + +
+
+
+ + {S_HIDDEN_FIELDS} +
+ + + +
+
+
+

{SITENAME} - {AGREEMENT_TITLE}

+

{AGREEMENT_TEXT}

+
+

{L_BACK}

+
+
+
+ + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_attachments.html b/phpBB/styles/prosilver/template/ucp_attachments.html new file mode 100644 index 0000000000..9c4701c1ee --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_attachments.html @@ -0,0 +1,79 @@ + + +
+ +

{L_TITLE}

+ +
+
+ +

{L_ATTACHMENTS_EXPLAIN}

+ + + + + + + +
+ {L_NEXT} + {L_PREVIOUS} + + + +
+ +
+ + + +

{L_UCP_NO_ATTACHMENTS}

+ + +
+
+ + +
+ + +
+ + +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_avatar_options.html b/phpBB/styles/prosilver/template/ucp_avatar_options.html new file mode 100644 index 0000000000..70f68f2c60 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_avatar_options.html @@ -0,0 +1,67 @@ + +
+
+ +
+

{ERROR}

+
+

{L_AVATAR_EXPLAIN}
+
{AVATAR}
+
+
+ + +
+
+
+
+ + + +
+

{L_UPLOAD_AVATAR_URL_EXPLAIN}
+
+
+ + + +
+

{L_LINK_REMOTE_AVATAR_EXPLAIN}
+
+
+
+

{L_LINK_REMOTE_SIZE_EXPLAIN}
+
+ ×  + +
+
+ +
+ + +
+
+ +
+
+ +

{L_AVATAR_GALLERY}

+ +
+ + + +
+ + + + + +
+
diff --git a/phpBB/styles/prosilver/template/ucp_footer.html b/phpBB/styles/prosilver/template/ucp_footer.html new file mode 100644 index 0000000000..dbf393aafc --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_footer.html @@ -0,0 +1,14 @@ + +
+
+ +
+ + + + + + + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_groups_manage.html b/phpBB/styles/prosilver/template/ucp_groups_manage.html new file mode 100644 index 0000000000..526de1f978 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_groups_manage.html @@ -0,0 +1,240 @@ + + +

{L_USERGROUPS}

+ +
+ +
+
+ +

{L_GROUPS_EXPLAIN}

+ + +

{L_GROUP_DETAILS}

+ + + + +
+

{L_WARNING}

+

{ERROR_MSG}

+
+ + +
+
+
+
style="color: #{GROUP_COLOUR};">{GROUP_NAME} +
+
+
+
+
+
checked="checked" /> {L_PARSE_BBCODE}   checked="checked" /> {L_PARSE_SMILIES}   checked="checked" /> {L_PARSE_URLS}
+
+ +
+

{L_GROUP_TYPE_EXPLAIN}
+
+ + + + +
+
+ + + +
+ +
+
+ +
+
+

{L_GROUP_SETTINGS_SAVE}

+ +
+
+

{L_GROUP_COLOR_EXPLAIN}
+
    [ {L_COLOUR_SWATCH} ]
+
+
+
+
+
+
+ +
+
+ + + +
+ {S_HIDDEN_FIELDS} +   +   +   + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
{L_GROUP_LEAD}{L_GROUP_DEFAULT}{L_POSTS}{L_JOINED}{L_MARK}
{leader.USERNAME}{L_YES}{L_NO}{leader.USER_POSTS}{leader.JOINED} 
+ + + + + + + + + + + + + + + +
{L_GROUP_APPROVED}{L_GROUP_DEFAULT}{L_POSTS}{L_JOINED}{L_MARK}
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_GROUP_PENDING}{L_GROUP_DEFAULT}{L_POSTS}{L_JOINED}{L_MARK}
{member.USERNAME}{L_YES}{L_NO}{member.USER_POSTS}{member.JOINED}
{L_GROUPS_NO_MEMBERS}
+ + + + + + +
+ + + +
+ +
+
+ +

{L_ADD_USERS}

+ +

{L_ADD_USERS_EXPLAIN}

+ +
+
+

{L_USER_GROUP_DEFAULT_EXPLAIN}
+
+ + +
+
+
+

{L_USERNAMES_EXPLAIN}
+
+
{L_FIND_USERNAME}
+
+
+ +
+
+ +
+ +
+ + + + +
    +
  • +
    +
    {L_GROUP_LEADER}
    +
    {L_OPTIONS}
    +
    +
  • +
+ + +

{L_NO_LEADERS}

+ + + + + + + +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_groups_membership.html b/phpBB/styles/prosilver/template/ucp_groups_membership.html new file mode 100644 index 0000000000..b40f6d6b18 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_groups_membership.html @@ -0,0 +1,164 @@ + + +

{L_USERGROUPS}

+ +
+ +
+
+ +

{L_GROUPS_EXPLAIN}

+ + +
    +
  • +
    +
    {L_GROUP_LEADER}
    +
    {L_SELECT}
    +
    +
  • +
+ + + + +
    +
  • +
    +
    {L_GROUP_MEMBER}
    +
    {L_SELECT}
    +
    +
  • +
+ + +
+
+ + +
+
+
    +
  • +
    +
    {L_GROUP_PENDING}
    +
    {L_SELECT}
    +
    +
  • +
+ +
+
+ + +
+
+
    +
  • +
    +
    {L_GROUP_NONMEMBER}
    +
    {L_SELECT}
    +
    +
  • +
+ +
+
+ + + + +
+ +
+ +
+ + + +
+ +   + +
+ +
+ + + + +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_header.html b/phpBB/styles/prosilver/template/ucp_header.html new file mode 100644 index 0000000000..d7d415e403 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_header.html @@ -0,0 +1,88 @@ + + +

{L_UCP}

+ +
+ +
+ + +
+ + +
+
+ +
+ +
+ + + +
+
+ +
+
{L_FRIENDS}
+ + +
{friends_online.USERNAME_FULL}
+ + + +
{friends_offline.USERNAME_FULL}
+ +
+ +
+
+ + + +
+
+ +
+
{L_MESSAGE_COLOURS}
+ +
{pm_colour_info.IMG} {pm_colour_info.LANG}
+ +
+ +
+
+ + +
+ +
diff --git a/phpBB/styles/prosilver/template/ucp_main_bookmarks.html b/phpBB/styles/prosilver/template/ucp_main_bookmarks.html new file mode 100644 index 0000000000..df31353e16 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_main_bookmarks.html @@ -0,0 +1,76 @@ + + + + +

{L_TITLE}

+ +
+
+ +

{L_BOOKMARKS_EXPLAIN}

+ + +

{L_BOOKMARKS_DISABLED}

+ + + +
    +
  • +
    +
    {L_BOOKMARKS}
    +
    {L_LAST_POST}
    +
    {L_MARK}
    +
    {L_MOVE}
    +
    +
  • +
+
    + + +
  • + +
    {L_DELETED_TOPIC}
    + +
    +
    style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG});"> + {topicrow.TOPIC_TITLE} + {topicrow.UNAPPROVED_IMG} + {REPORTED_IMG}
    + {topicrow.PAGINATION} + {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {topicrow.FIRST_POST_TIME} {topicrow.NEWEST_POST_IMG} +
    +
    {L_LAST_POST} {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} {topicrow.LAST_POST_IMG}
    + {L_POSTED_ON_DATE} {topicrow.LAST_POST_TIME}
    +
    +
    + +
    + {L_MOVE_UP} + {L_MOVE_DOWN} +
    + +
    + +
  • + + +
+ +

{L_NO_BOOKMARKS}

+ + + + +
+
+ + +
+ + +
+ + + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_main_drafts.html b/phpBB/styles/prosilver/template/ucp_main_drafts.html new file mode 100644 index 0000000000..1a787efc35 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_main_drafts.html @@ -0,0 +1,70 @@ + + +
+ +

{L_TITLE}

+ +
+
+ +

{L_DRAFTS_EXPLAIN}

+ + + + +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ + + + +
    +
  • +
    +
    {L_DRAFT_TITLE}
    +
    {L_SAVE_DATE}
    +
    {L_MARK}
    +
    +
  • +
+ + +

{L_NO_SAVED_DRAFTS}

+ + +
+
+ + +
+ + +
+ + + + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_main_front.html b/phpBB/styles/prosilver/template/ucp_main_front.html new file mode 100644 index 0000000000..77b33a6612 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_main_front.html @@ -0,0 +1,42 @@ + + +

{L_TITLE}

+ +
+
+ +

{L_UCP_WELCOME}

+ + +

{L_IMPORTANT_NEWS}

+ +
    + +
  • +
    +
    style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG});"> + {topicrow.TOPIC_TITLE} {topicrow.ATTACH_ICON_IMG}
    + {topicrow.PAGINATION} + {L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} {topicrow.LAST_POST_IMG} {L_POSTED_ON_DATE} {topicrow.LAST_POST_TIME} +
    +
    +
  • + +
+ + +

{L_YOUR_DETAILS}

+ +
+
{L_JOINED}:
{JOINED}
+
{L_VISITED}:
{LAST_VISIT_DATE}
+
{L_TOTAL_POSTS}:
{POSTS} | {L_SEARCH_YOUR_POSTS}
({POSTS_DAY} / {POSTS_PCT}){POSTS}
+
{L_ACTIVE_IN_FORUM}:
{ACTIVE_FORUM}
({ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT}) -
+
{L_ACTIVE_IN_TOPIC}:
{ACTIVE_TOPIC}
({ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT}) -
+
{L_YOUR_WARNINGS}:
{WARNING_IMG} [{WARNINGS}]
+
+ +
+
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_main_subscribed.html b/phpBB/styles/prosilver/template/ucp_main_subscribed.html new file mode 100644 index 0000000000..f0a15e590c --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_main_subscribed.html @@ -0,0 +1,91 @@ + + +
+ +

{L_TITLE}

+
+
+ +

{L_WATCHED_EXPLAIN}

+ + +
    +
  • +
    +
    {L_WATCHED_FORUMS}
    +
    {L_MARK}
    +
    +
  • +
+ + +

{L_NO_WATCHED_FORUMS}

+ + + +
    +
  • +
    +
    {L_WATCHED_TOPICS}
    +
    {L_LAST_POST}
    +
    +
  • +
+ + + +

{L_NO_WATCHED_TOPICS}

+ + +
+
+ + +
+ + +
+ + +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_pm_history.html b/phpBB/styles/prosilver/template/ucp_pm_history.html new file mode 100644 index 0000000000..a36cccd82e --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_pm_history.html @@ -0,0 +1,33 @@ + +

+ {L_EXPAND_VIEW} + {L_MESSAGE_HISTORY}: {TITLE} +

+ +
+ +
+
+ +
+ + + + +

class="current">{history_row.SUBJECT}

+

{history_row.MINI_POST_IMG} {L_SENT_AT}: {history_row.SENT_DATE}
+ {L_MESSAGE_BY_AUTHOR} {history_row.MESSAGE_AUTHOR_FULL}

+
+ {history_row.MESSAGE} +
+
+ +
+
+ +
+ +
+

{L_BACK_TO_TOP}

diff --git a/phpBB/styles/prosilver/template/ucp_pm_message_footer.html b/phpBB/styles/prosilver/template/ucp_pm_message_footer.html new file mode 100644 index 0000000000..18ba5216bf --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_pm_message_footer.html @@ -0,0 +1,2 @@ + + diff --git a/phpBB/styles/prosilver/template/ucp_pm_message_header.html b/phpBB/styles/prosilver/template/ucp_pm_message_header.html new file mode 100644 index 0000000000..4a026fccac --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_pm_message_header.html @@ -0,0 +1,29 @@ +

{L_TITLE}: {CUR_FOLDER_NAME}

+ +
+ +
+
+ +

{FOLDER_STATUS}

+ + diff --git a/phpBB/styles/prosilver/template/ucp_pm_options.html b/phpBB/styles/prosilver/template/ucp_pm_options.html new file mode 100644 index 0000000000..8e2626a29a --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_pm_options.html @@ -0,0 +1,131 @@ + + +

{L_TITLE}

+ + + +
+
+ +

{ERROR_MESSAGE}

+

{NOTIFICATION_MESSAGE}

+ +

{L_DEFINED_RULES}

+ +
    + +
  1. {L_IF} {rule.CHECK} {rule.RULE} {rule.STRING} | {rule.ACTION}: {rule.FOLDER}
  2. + +
  3. {L_NO_RULES_DEFINED}
  4. + +
+ +

{L_ADD_NEW_RULE}

+ +
+ + +
+
for="check_option">{L_IF}:
+
+ {CHECK_CURRENT} +
+
+ + + +
+
+
{RULE_CURRENT}
+
+ + + + +
+
+
+ + + + +  [ {L_FIND_USERNAME} ] + + {L_NO_GROUPS} + + + + {COND_CURRENT} + +
+
+ + + + + + + + +
+
+
{ACTION_CURRENT}
+
+ + +
+ +

{L_FOLDER_OPTIONS}

+ +
+ + +
+
+
{L_MAX_FOLDER_REACHED}
+
+
+ + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+ +
+
+
+
+
+
+ + +
+

{L_DEFAULT_ACTION_EXPLAIN}
+
{DEFAULT_ACTION}
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_pm_popup.html b/phpBB/styles/prosilver/template/ucp_pm_popup.html new file mode 100644 index 0000000000..44012a9b65 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_pm_popup.html @@ -0,0 +1,25 @@ + + + + +
+
+
+

{L_LOGIN_CHECK_PM}{MESSAGE}

{CLICK_TO_VIEW}

+

{L_CLOSE_WINDOW}

+
+
+
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_pm_viewfolder.html b/phpBB/styles/prosilver/template/ucp_pm_viewfolder.html new file mode 100644 index 0000000000..889ace76d4 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_pm_viewfolder.html @@ -0,0 +1,113 @@ + + + + + + + + +

{L_EXPORT_AS_CSV}

+
+
+
+

{L_OPTIONS}

+
+
+
+
+
+
+
+
+
+
+
+
+
+ +   +   +
+
+ + + + +
+

{RULE_REMOVED_MESSAGES}

+
+ + + +
+

{NOT_MOVED_MESSAGES}
{RELEASE_MESSAGE_INFO}

+
+ + + +
    +
  • +
    +
    {L_MESSAGE}
    +
    {L_MARK}
    +
    +
  • +
+
    + + +
  • +
    + style="background-image: url({messagerow.PM_ICON_URL});"> + {messagerow.SUBJECT} + {REPORTED_IMG} {messagerow.ATTACH_ICON_IMG}
    + {L_MESSAGE_TO} {messagerow.RECIPIENTS}{L_MESSAGE_BY_AUTHOR} {messagerow.MESSAGE_AUTHOR_FULL} {L_MESSAGE_SENT_ON} {messagerow.SENT_TIME} + +
    {L_SENT_AT} {messagerow.SENT_TIME}
    +
    {messagerow.FOLDER}{L_UNKNOWN_FOLDER}
    +
    +
    +
  • + + +
+ +

{L_NO_MESSAGES}

+ + + +
+ {L_PREVIOUS} + {L_NEXT} + + + + +
+ +
+ + + + +
+
+ + +
+

+ + +
+ + + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_pm_viewmessage.html b/phpBB/styles/prosilver/template/ucp_pm_viewmessage.html new file mode 100644 index 0000000000..8af9f2d716 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_pm_viewmessage.html @@ -0,0 +1,103 @@ + + + + +
+
+ +
+
+ +
+ + + + +

{SUBJECT}

+ +

+ {L_SENT_AT}: {SENT_DATE} +
{L_PM_FROM}: {MESSAGE_AUTHOR_FULL} +
{L_TO}: {to_recipient.NAME} +
{L_BCC}: {bcc_recipient.NAME} +

+ + +
{MESSAGE}
+ + +
+
{L_ATTACHMENTS}
+ +
{attachment.DISPLAY_ATTACHMENT}
+ +
+ + + +
{L_DOWNLOAD_NOTICE}
+ + + +
{EDITED_MESSAGE} +
{L_REASON}: {EDIT_REASON} +
+ + + +
{SIGNATURE}
+ +
+ +
+
{AUTHOR_AVATAR}
{MESSAGE_AUTHOR_FULL}
+
{RANK_TITLE}
+
{RANK_IMG}
+
 
+
{L_POSTS}: {AUTHOR_POSTS}
+
{L_JOINED}: {AUTHOR_JOINED}
+
{L_LOCATION}: {AUTHOR_FROM}
+ + +
+ +
+ +
+ + + +
+
+ + +
+ {L_VIEW_PREVIOUS_PM} + {L_VIEW_NEXT_PM} + +   + + + + +
+ + + + + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html b/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html new file mode 100644 index 0000000000..24577522f4 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html @@ -0,0 +1,130 @@ + + + + + + +{SITENAME} :: {PAGE_TITLE} + + + + + + + + + + + + + + + + + +
{SITENAME}
{L_PRIVATE_MESSAGING}

{SUBJECT}
{PAGE_NUMBER}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
{L_PM_FROM}: {MESSAGE_AUTHOR} [ {SENT_DATE} ]
{L_TO}: + + class="blue">{to_recipient.NAME}  + +
{L_BCC}: + + class="blue">{bcc_recipient.NAME}  + +

{MESSAGE}
+ +
+ + + + + + + + + + +
{PAGE_NUMBER}{S_TIMEZONE}
Powered by phpBB {PHPBB_VERSION} © 2002, 2006 phpBB Group
http://www.phpbb.com/
+ + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_prefs_personal.html b/phpBB/styles/prosilver/template/ucp_prefs_personal.html new file mode 100644 index 0000000000..b90636c34b --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_prefs_personal.html @@ -0,0 +1,143 @@ + + +
+ +

{L_TITLE}

+ +
+
+ +
+

{ERROR}

+
+
+
+ + +
+
+
+
+
+ + +
+
+
+

{L_ALLOW_PM_EXPLAIN}
+
+ + +
+
+ +
+
+
+ + +
+
+ + +
+
+
+ + + +
+
+ +
+
+
+ + +
+
+
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+
+

{L_BOARD_DATE_FORMAT_EXPLAIN}
+
+ +
+ +
+
+ +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+ + + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_prefs_post.html b/phpBB/styles/prosilver/template/ucp_prefs_post.html new file mode 100644 index 0000000000..87f906d245 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_prefs_post.html @@ -0,0 +1,51 @@ + + +
+ +

{L_TITLE}

+
+
+ +
+

{ERROR}

+
+
+
+ + +
+
+
+
+
+ + +
+
+
+
+
+ + +
+
+
+
+
+ + +
+
+
+ +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_prefs_view.html b/phpBB/styles/prosilver/template/ucp_prefs_view.html new file mode 100644 index 0000000000..b33d6f748b --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_prefs_view.html @@ -0,0 +1,94 @@ + + +
+ +

{L_TITLE}

+ +
+
+ +
+

{ERROR}

+
+
+
+ + +
+
+
+
+
+ + +
+
+
+
+
+ + +
+
+
+
+
+ + +
+
+
+
+
+ + +
+
+ +
+
+
+ + +
+
+ +
+
+
+
{S_TOPIC_SORT_DAYS}
+
+
+
+
{S_TOPIC_SORT_KEY}
+
+
+
+
{S_TOPIC_SORT_DIR}
+
+
+
+
+
{S_POST_SORT_DAYS}
+
+
+
+
{S_POST_SORT_KEY}
+
+
+
+
{S_POST_SORT_DIR}
+
+
+ +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_profile_avatar.html b/phpBB/styles/prosilver/template/ucp_profile_avatar.html new file mode 100644 index 0000000000..e5a8d59677 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_profile_avatar.html @@ -0,0 +1,19 @@ + + +
+ +

{L_TITLE}

+ + + +
+ {S_HIDDEN_FIELDS} +   +   +   + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_profile_profile_info.html b/phpBB/styles/prosilver/template/ucp_profile_profile_info.html new file mode 100644 index 0000000000..7146918613 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_profile_profile_info.html @@ -0,0 +1,76 @@ + + +
+ +

{L_TITLE}

+ +
+
+

{L_PROFILE_INFO_NOTICE}

+ +
+

{ERROR}

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

{L_BIRTHDAY_EXPLAIN}
+
+ + + +
+
+ +
+

{profile_fields.LANG_EXPLAIN}
+
{profile_fields.ERROR}
+
{profile_fields.FIELD}
+
+ +
+ +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_profile_reg_details.html b/phpBB/styles/prosilver/template/ucp_profile_reg_details.html new file mode 100644 index 0000000000..5c63c5144b --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_profile_reg_details.html @@ -0,0 +1,63 @@ + + +
+ +

{L_TITLE}

+
+
+ + +

{L_FORCE_PASSWORD_EXPLAIN}

+ + +
+

{ERROR}

+
+

{L_USERNAME_EXPLAIN}
+
{USERNAME}
+
+
+

{L_USERNAME_EXPLAIN}
+
{EMAIL}
+
+ +
+

{L_CONFIRM_EMAIL_EXPLAIN}
+
+
+ + +
+

{L_CHANGE_PASSWORD_EXPLAIN}
+
+
+
+

{L_CONFIRM_PASSWORD_EXPLAIN}
+
+
+ +
+
+
+ +
+
+ +
+
+

{L_CURRENT_PASSWORD_EXPLAIN}
+
+
+
+ +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_profile_signature.html b/phpBB/styles/prosilver/template/ucp_profile_signature.html new file mode 100644 index 0000000000..f1015cc820 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_profile_signature.html @@ -0,0 +1,51 @@ + + +
+ +

{L_TITLE}

+ + +
+
+

{L_SIGNATURE_PREVIEW}

+
+
{SIGNATURE_PREVIEW}
+
+
+
+ + +
+
+ +

{L_SIGNATURE_EXPLAIN}

+ + + +

{L_OPTIONS}

+
+ +
+ + +
+ + +
+ + +
+ +
+
+ +
+ {S_HIDDEN_FIELDS} +   +   + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_register.html b/phpBB/styles/prosilver/template/ucp_register.html new file mode 100644 index 0000000000..ceade00ca6 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_register.html @@ -0,0 +1,123 @@ + + + + +
+ +
+
+ +

{SITENAME} - {L_REGISTRATION}

+ +
+
{ERROR}
+ +
{L_REG_COND}
+ + +
{L_ITEMS_REQUIRED}
+ + +
+

{L_USERNAME_EXPLAIN}
+
+
+
+
+
+
+
+
+
+
+
+

{L_PASSWORD_EXPLAIN}
+
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+
+ + +
+
+
{profile_fields.LANG_EXPLAIN} +
{profile_fields.ERROR}
+
{profile_fields.FIELD}
+
+ +
+ + +
+
+ +
+
+ +

{L_CONFIRMATION}

+

{L_CONFIRM_EXPLAIN}

+ +
+
+
+
{CONFIRM_IMG}
+
+
{L_CONFIRM_CODE_EXPLAIN}
+
+
+ + + +
+
+ +
+
+ +

{L_COPPA_COMPLIANCE}

+ +

{L_COPPA_EXPLAIN}

+ + +
+
+ +
+
+ +
+ {S_HIDDEN_FIELDS} +   + +
+ +
+
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_remind.html b/phpBB/styles/prosilver/template/ucp_remind.html new file mode 100644 index 0000000000..971bc36344 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_remind.html @@ -0,0 +1,31 @@ + + +
+ +
+
+ +
+

{L_SEND_PASSWORD}

+ +
+
+
+
+
+
+

{L_EMAIL_REMIND}
+
+
+
+
 
+
{S_HIDDEN_FIELDS} 
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_resend.html b/phpBB/styles/prosilver/template/ucp_resend.html new file mode 100644 index 0000000000..01e8312bc8 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_resend.html @@ -0,0 +1,32 @@ + + + +
+ +
+
+ +
+

{L_UCP_RESEND}

+ +
+
+
+
+
+
+

{L_EMAIL_REMIND}
+
+
+
+
 
+
{S_HIDDEN_FIELDS} 
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_zebra_foes.html b/phpBB/styles/prosilver/template/ucp_zebra_foes.html new file mode 100644 index 0000000000..e580e3c1c9 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_zebra_foes.html @@ -0,0 +1,41 @@ + + +
+ +

{L_TITLE}

+ +
+
+ +

{L_FOES_EXPLAIN}

+ +
+

{ERROR}

+
+

{L_YOUR_FOES_EXPLAIN}
+
+ + + + {L_NO_FOES} + +
+
+
+

{L_ADD_FOES_EXPLAIN}
+
+
{L_FIND_USERNAME}
+
+
+ +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/ucp_zebra_friends.html b/phpBB/styles/prosilver/template/ucp_zebra_friends.html new file mode 100644 index 0000000000..ffd60e3bf1 --- /dev/null +++ b/phpBB/styles/prosilver/template/ucp_zebra_friends.html @@ -0,0 +1,41 @@ + + +
+ +

{L_TITLE}

+ +
+
+ +

{L_FRIENDS_EXPLAIN}

+ +
+

{ERROR}

+
+

{L_YOUR_FRIENDS_EXPLAIN}
+
+ + + + {L_NO_FRIENDS} + +
+
+
+

{L_ADD_FRIENDS_EXPLAIN}
+
+
{L_FIND_USERNAME}
+
+
+ +
+
+ +
+ {S_HIDDEN_FIELDS}  + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/viewforum_body.html b/phpBB/styles/prosilver/template/viewforum_body.html new file mode 100644 index 0000000000..1e55c9aecd --- /dev/null +++ b/phpBB/styles/prosilver/template/viewforum_body.html @@ -0,0 +1,216 @@ + +

{L_MCP} ]

+

{FORUM_NAME}

+ + +

+ + {FORUM_DESC}
+ {L_MODERATOR}{L_MODERATORS}: {MODERATORS} +

+ + + +
+
+ + + {L_FORUM_RULES} + + {L_FORUM_RULES}
+ {FORUM_RULES} + + +
+
+ + + + + + + + + + +
style="margin-top: 2em;"> + + + + + + + + + + + + + + + +
+ + + + +
+
+ {L_NO_READ_ACCESS} +
+
+ + + +
+ +
+
+ +
+

{L_LOGIN_LOGOUT}  •  {L_REGISTER}

+ +
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + +
+
+
    +
  • +
    +
    {L_ACTIVE_TOPICS}{L_ANNOUNCEMENTS}{L_TOPICS}
    +
    {L_REPLIES}
    +
    {L_VIEWS}
    +
    {L_LAST_POST}
    +
    +
  • +
+ +
+
+ + + + +
+
+ {L_NO_TOPICS} +
+
+ + + + + +
+ {L_PREVIOUS} + {L_NEXT} + + + +
+
+
+ + + +
+ + + + + + + +
+ + + + + +

{L_WHO_IS_ONLINE}

+

{LOGGED_IN_USER_LIST}

+ + + +

{L_FORUM_PERMISSIONS}

+

{rules.RULE}

+ + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/viewonline_body.html b/phpBB/styles/prosilver/template/viewonline_body.html new file mode 100644 index 0000000000..a6f76f3001 --- /dev/null +++ b/phpBB/styles/prosilver/template/viewonline_body.html @@ -0,0 +1,47 @@ + + +

{TOTAL_REGISTERED_USERS_ONLINE}

+

{TOTAL_GUEST_USERS_ONLINE}{L_SWITCH_GUEST_DISPLAY}

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_USERNAME}{L_FORUM_LOCATION}{L_LAST_UPDATED}
{user_row.USERNAME} {L_IP}: {user_row.USER_IP} » {L_WHOIS}{user_row.FORUM_LOCATION}{user_row.LASTUPDATE}
{L_NO_ONLINE_USERS}{L_SWITCH_GUEST_DISPLAY}
+ +
+
+

{L_LEGEND}: {LEGEND}

+ + + + diff --git a/phpBB/styles/prosilver/template/viewonline_whois.html b/phpBB/styles/prosilver/template/viewonline_whois.html new file mode 100644 index 0000000000..5baa12aa58 --- /dev/null +++ b/phpBB/styles/prosilver/template/viewonline_whois.html @@ -0,0 +1,15 @@ + + +

{L_WHOIS}

+ +
+
+ +
+
{WHOIS}
+
+ +
+
+ + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/viewtopic_body.html b/phpBB/styles/prosilver/template/viewtopic_body.html new file mode 100644 index 0000000000..0732190ea1 --- /dev/null +++ b/phpBB/styles/prosilver/template/viewtopic_body.html @@ -0,0 +1,254 @@ + +

{L_MCP} ]

+

{TOPIC_TITLE}

+ +{FORUM_DESC}
+ + +

+ + {L_MODERATOR}{L_MODERATORS}: {MODERATORS} + + +

+ + + +
+
+ + + {L_FORUM_RULES} + + {L_FORUM_RULES}
+ {FORUM_RULES} + + +
+
+ + +
+ + + + + + + + + + + +
+ + +
+ +
+
+ +
+

{POLL_QUESTION}

+

{L_POLL_LENGTH}
{L_MAX_VOTES}

+ +
+ +
title="{L_POLL_VOTED_OPTION}"> +
{poll_option.POLL_OPTION_CAPTION}
+
checked="checked"/> checked="checked" />
+
{poll_option.POLL_OPTION_RESULT}
+
{L_NO_VOTES}{poll_option.POLL_OPTION_PERCENT}
+
+ + + +
+
 
+
{L_TOTAL_VOTES} : {TOTAL_VOTES}
+
+ + + +
+
 
+
+
+ + + +
+
 
+
{L_VIEW_RESULTS}
+
+ +
+
+ +
+
+ + {S_HIDDEN_FIELDS} + +
+
+ + + + +
+
+ +
+ +
{postrow.L_IGNORE_POST}
+ + + + + + + + +

class="first"> {postrow.POST_SUBJECT}

+

{postrow.MINI_POST_IMG}{L_POST_BY_AUTHOR} {postrow.POST_AUTHOR_FULL} {L_POSTED_ON_DATE} {postrow.POST_DATE}

+ + +

+ {UNAPPROVED_IMG} {L_POST_UNAPPROVED} + {REPORTED_IMG} {L_POST_REPORTED} +

+ + +
{postrow.MESSAGE}
+ + +
+
{L_ATTACHMENTS}
+ +
{postrow.attachment.DISPLAY_ATTACHMENT}
+ +
+ + +
{L_DOWNLOAD_NOTICE}
+ +
{postrow.EDITED_MESSAGE} +
{L_REASON}: {postrow.EDIT_REASON} +
+ + +
{postrow.BUMPED_MESSAGE}
+
{postrow.SIGNATURE}
+ + +
+ + +
+
{postrow.POSTER_AVATAR}
{postrow.POST_AUTHOR_FULL}
+ +
{postrow.RANK_TITLE}
{postrow.RANK_IMG}
+ +
 
+ +
{L_POSTS}: {postrow.POSTER_POSTS}
+
{L_JOINED}: {postrow.POSTER_JOINED}
+
{L_LOCATION}: {postrow.POSTER_FROM}
+ + + +
+ +
+ + + +
+ + +
{L_BACK_TO_TOP}
+ +
+
+ +
+ + + +
+ +
+ {L_PREVIOUS} + {L_NEXT} + + +
+ +
+
+ + +
+ + + + + +
+ + + + +
+
+ +
+
+ + + +

{L_WHO_IS_ONLINE}

+

{LOGGED_IN_USER_LIST}

+ + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/viewtopic_print.html b/phpBB/styles/prosilver/template/viewtopic_print.html new file mode 100644 index 0000000000..95b5756e2b --- /dev/null +++ b/phpBB/styles/prosilver/template/viewtopic_print.html @@ -0,0 +1,62 @@ + + + + + + + + + + + + + +{META} +{SITENAME} • {PAGE_TITLE} + + + + + +
+ + + + +
+
{PAGE_NUMBER}
+ +
+

{postrow.POST_SUBJECT}

+
{postrow.MINI_POST_IMG}{L_POSTED}: {postrow.POST_DATE}
+
{L_POST_BY_AUTHOR} style="color: {postrow.POST_AUTHOR_COLOUR}">{postrow.POST_AUTHOR}
+
{postrow.MESSAGE}
+
+
+ +
+ + + +
+ + + \ No newline at end of file diff --git a/phpBB/styles/prosilver/theme/buttons.css b/phpBB/styles/prosilver/theme/buttons.css new file mode 100644 index 0000000000..26d47ce745 --- /dev/null +++ b/phpBB/styles/prosilver/theme/buttons.css @@ -0,0 +1,184 @@ +/* proSilver Button Styles +---------------------------------------- */ + +/* Rollover buttons + Based on: http://wellstyled.com/css-nopreload-rollovers.html +----------------------------------------*/ +.buttons { + float: left; + width: auto; + height: 25px; /* Set to height of button */ +} + +/* Rollover state */ +.buttons div { + float: left; + margin: 0 5px 0 0; + background-position: 0 100%; + /* Button dimensions */ + width: 96px; + height: 25px; +} + +/* Rolloff state */ +.buttons div a { + display: block; + width: 100%; + height: 100%; + background-position: 0 0; +} + +/* Hide text and hide off-state image when rolling over (prevents flicker in IE) */ +.buttons div span { display: none; } +.buttons div a:hover { background-image: none; } + +/* Big button images */ +.reply-icon, .reply-icon a { background: transparent none 0 0 no-repeat; } +.post-icon, .post-icon a { background: transparent none 0 0 no-repeat; } +.locked-icon, .locked-icon a { background: transparent none 0 0 no-repeat; } +.pmreply-icon, .pmreply-icon a { background: none 0 0 no-repeat; } +.newpm-icon, .newpm-icon a { background: none 0 0 no-repeat; } +.forwardpm-icon, .forwardpm-icon a { background: none 0 0 no-repeat; } + +/* Sub-header (navigation bar) +--------------------------------------------- */ +a.print, a.sendemail, a.fontsize { + display: block; + overflow: hidden; + height: 18px; + text-indent: -5000px; + text-align: left; + background-repeat: no-repeat; +} + +a.print { + background-image: none; + width: 22px; +} + +a.sendemail { + background-image: none; + width: 22px; +} + +a.sendemail:hover { + background-position: 0px -18px; +} + +a.fontsize { + background-image: none; + background-position: 0 -1px; + width: 29px; +} + +a.fontsize:hover { + background-position: 0px -20px; + text-decoration: none; +} + +/* Icon images +---------------------------------------- */ +.icon-faq, .icon-members, .icon-home, .icon-ucp, .icon-register, .icon-logout, .icon-bookmark, .icon-bump, .icon-subscribe, .icon-unsubscribe, .icon-pages, .icon-search, .sitehome { + background-position: 0 50%; + background-repeat: no-repeat; + padding-left: 17px; + padding-top: 1px; +} + +.sitehome { background-image: none; } +.icon-faq { background-image: none; } +.icon-members { background-image: none; } +.icon-home { background-image: none; } +.icon-ucp { background-image: none; } +.icon-register { background-image: none; } +.icon-logout { background-image: none; } +.icon-bookmark { background-image: none; } +.icon-bump { background-image: none; } +.icon-subscribe { background-image: none; } +.icon-unsubscribe { background-image: none; } +.icon-pages { background-image: none; } + +/* Poster profile icons +----------------------------------------*/ +ul.profile-icons { + padding-top: 10px; + height: 20px; + list-style: none; +} + +/* Rollover state */ +ul.profile-icons li { + float: left; + width: 23px; + height: 20px; + margin: 0 3px 3px 0; + background-position: 0 100%; +} + +/* Rolloff state */ +ul.profile-icons li a { + display: block; + width: 100%; + height: 100%; + background-position: 0 0; +} + +/* Hide text and hide off-state image when rolling over (prevents flicker in IE) */ +ul.profile-icons li span { display:none; } +ul.profile-icons li a:hover { background: none; } + +/* Positioning of moderator icons */ +.postbody ul.profile-icons { + float: right; + width: auto; + padding: 0; +} + +.postbody ul.profile-icons li { + margin: 0 0 0 3px; +} + +/* Profile & navigation icons */ +.email-icon, .email-icon a { background: none top left no-repeat; } +.aim-icon, .aim-icon a { background: none top left no-repeat; } +.yahoo-icon, .yahoo-icon a { background: none top left no-repeat; } +.web-icon, .web-icon a { background: none top left no-repeat; } +.msnm-icon, .msnm-icon a { background: none top left no-repeat; } +.icq-icon, .icq-icon a { background: none top left no-repeat; } +.pm-icon, .pm-icon a { background: none top left no-repeat; } +.jabber-icon, .jabber-icon a { background: none top left no-repeat; } +.quote-icon, .quote-icon a { background: none top left no-repeat; } + +ul.profile-icons li.pm-icon { + width: 28px; +} + +ul.profile-icons li.quote-icon { + width: 54px; + margin-left: 10px; +} + +div.rank-image { + width: auto; + height: 10px; + position: absolute; + top: 0; + right: 0; + text-align: right; +} + +/* Moderator icons */ +.report-icon, .report-icon a { background: none top left no-repeat; } +.warn-icon, .warn-icon a { background: none top left no-repeat; } +.edit-icon, .edit-icon a { background: none top left no-repeat; } + +ul.profile-icons li.edit-icon { + width: 41px; +} + +.delete-icon, .delete-icon a { background: none top left no-repeat; } +.info-icon, .info-icon a { background: none top left no-repeat; } + +ul.profile-icons li.info-icon, ul.profile-icons li.report-icon { + margin-left: 0; +} diff --git a/phpBB/styles/prosilver/theme/colours.css b/phpBB/styles/prosilver/theme/colours.css new file mode 100644 index 0000000000..bd93eb9493 --- /dev/null +++ b/phpBB/styles/prosilver/theme/colours.css @@ -0,0 +1,951 @@ +/* +-------------------------------------------------------------- +Colours and backgrounds for common.css +-------------------------------------------------------------- */ + +body { + color: #536482; + background-color: #FFFFFF; +} + +h1 { + color: #FFFFFF; +} + +h2 { + color: #28313F; +} + +h3 { + border-bottom-color: #CCCCCC; + color: #115098; +} + +hr { + border-color: #FFFFFF; + border-top-color: #CCCCCC; +} + +hr.dashed { + border-top-color: #CCCCCC; +} + +/* Search box +--------------------------------------------- */ + +#search-box { + color: #FFFFFF; +} + +#search-box #keywords { + background-color: #FFF; +} + +#search-box input { + border-color: #0075B0; +} + +/* Round cornered boxes and backgrounds +---------------------------------------- */ +.headerbar { + background-color: #12A3EB; + background-image: url("{T_THEME_PATH}/images/bg_header.gif"); + color: #FFFFFF; +} + +.navbar { + background-color: #cadceb; +} + +.forabg { + background-color: #0076b1; + background-image: url("{T_THEME_PATH}/images/bg_list.gif"); +} + +.forumbg { + background-color: #12A3EB; + background-image: url("{T_THEME_PATH}/images/bg_header.gif"); +} + +.panel { + background-color: #ECF1F3; + color: #28313F; +} + +.post:target .content { + color: #000000; +} + +.post:target h3 a { + color: #000000; +} + +.bg1 { background-color: #ECF3F7; } +.bg2 { background-color: #e1ebf2; } +.bg3 { background-color: #cadceb; } + +.ucprowbg { + background-color: #DCDEE2; +} + +.fieldsbg { + background-color: #E7E8EA; +} + +span.corners-top { + background-image: url("{T_THEME_PATH}/images/corners_left.png"); +} + +span.corners-top span { + background-image: url("{T_THEME_PATH}/images/corners_right.png"); +} + +span.corners-bottom { + background-image: url("{T_THEME_PATH}/images/corners_left.png"); +} + +span.corners-bottom span { + background-image: url("{T_THEME_PATH}/images/corners_right.png"); +} + +/* Horizontal lists +----------------------------------------*/ + +ul.navlinks { + border-bottom-color: #FFFFFF; +} + +/* Table styles +----------------------------------------*/ +table.table1 thead th { + color: #FFFFFF; +} + +table.table1 tbody tr { + border-color: #BFC1CF; +} + +table.table1 tbody tr:hover, table.table1 tbody tr.hover { + background-color: #CFE1F6; + color: #000; +} + +table.table1 td { + color: #536482; +} + +table.table1 tbody td { + border-top-color: #FAFAFA; +} + +table.table1 tbody th { + border-bottom-color: #000000; + color: #333333; + background-color: #FFFFFF; +} + +table.info tbody th { + color: #000000; +} + +/* Misc layout styles +---------------------------------------- */ +dl.details dt { + color: #000000; +} + +dl.details dd { + color: #536482; +} + +/* Pagination +---------------------------------------- */ + +.pagination span strong { + color: #FFFFFF; + background-color: #4692BF; + border-color: #4692BF; +} + +.pagination span a, .pagination span a:link, .pagination span a:visited, .pagination span a:active { + color: #5C758C; + background-color: #ECEDEE; + border-color: #B4BAC0; +} + +.pagination span a:hover { + border-color: #368AD2; + background-color: #368AD2; + color: #FFF; +} + +/* Pagination in viewforum for multipage topics */ +.row .pagination { + background-image: url("{T_THEME_PATH}/images/icon_pages.gif"); +} + +.row .pagination span a, li.pagination span a { + background-color: #FFFFFF; +} + +.row .pagination span a:hover, li.pagination span a:hover { + background-color: #368AD2; +} + +/* Miscellaneous styles +---------------------------------------- */ + +.copyright { + color: #555555; +} + +.error { + color: #BC2A4D; +} + +.reported { + background-color: #F7ECEF; +} + +li.reported:hover { + background-color: #ECD5D8 !important; +} +.sticky, .announce { + /* you can add a background for stickies and announcements*/ +} + +div.rules { + background-color: #ECD5D8; + color: #BC2A4D; +} + +p.rules { + background-color: #ECD5D8; + background-image: none; +} + +/* +-------------------------------------------------------------- +Colours and backgrounds for links.css +-------------------------------------------------------------- */ + +a:link { color: #105289; } +a:visited { color: #105289; } +a:hover { color: #D31141; } +a:active { color: #368AD2; } + +/* Links on gradient backgrounds */ +#search-box a:link, .navbg a:link, .forumbg .header a:link, .forabg .header a:link, th a:link { + color: #FFFFFF; +} + +#search-box a:visited, .navbg a:visited, .forumbg .header a:visited, .forabg .header a:visited, th a:visited { + color: #FFFFFF; +} + +#search-box a:hover, .navbg a:hover, .forumbg .header a:hover, .forabg .header a:hover, th a:hover { + color: #A8D8FF; +} + +#search-box a:active, .navbg a:active, .forumbg .header a:active, .forabg .header a:active, th a:active { + color: #C8E6FF; +} + +/* Links for forum/topic lists */ +a.forumtitle { + color: #105289; +} + +/* a.forumtitle:visited { color: #105289; } */ + +a.forumtitle:hover { + color: #BC2A4D; +} + +a.forumtitle:active { + color: #105289; +} + +a.topictitle { + color: #105289; +} + +/* a.topictitle:visited { color: #368AD2; } */ + +a.topictitle:hover { + color: #BC2A4D; +} + +a.topictitle:active { + color: #105289; +} + +/* Post body links */ +.postlink { + color: #368AD2; + border-bottom-color: #368AD2; +} + +.postlink:visited { + color: #5D8FBD; + border-bottom-color: #666666; +} + +.postlink:active { + color: #368AD2; +} + +.postlink:hover { + background-color: #D0E4F6; + color: #0D4473; +} + +.signature a, .signature a:visited, .signature a:active, .signature a:hover { + background-color: transparent; +} + +/* Profile links */ +.postprofile a:link, .postprofile a:active, .postprofile a:visited, .postprofile dt.author a { + color: #105289; +} + +.postprofile a:hover, .postprofile dt.author a:hover { + color: #D31141; +} + +/* Profile searchresults */ +.search .postprofile a { + color: #105289; +} + +.search .postprofile a:hover { + color: #D31141; +} + +/* Back to top of page */ +a.top { + background-image: url("{T_THEME_PATH}/images/top.gif"); +} + +a.top2 { + background-image: url("{T_THEME_PATH}/images/top.gif"); +} + +/* Arrow links */ +a.up { background-image: url("{T_THEME_PATH}/images/arrow_up.gif") } +a.down { background-image: url("{T_THEME_PATH}/images/arrow_down.gif") } +a.left { background-image: url("{T_THEME_PATH}/images/arrow_left.gif") } +a.right { background-image: url("{T_THEME_PATH}/images/arrow_right.gif") } + +a.up:hover { + background-color: transparent; +} + +a.left:hover { + color: #368AD2; +} + +a.right:hover { + color: #368AD2; +} + + +/* +-------------------------------------------------------------- +Colours and backgrounds for content.css +-------------------------------------------------------------- */ + +ul.forums { + background-color: #eef5f9; + background-image: url("{T_THEME_PATH}/images/gradient.gif"); +} + +ul.topiclist li { + color: #4C5D77; +} + +ul.topiclist dd { + border-left-color: #FFFFFF; +} + +li.row { + border-top-color: #FFFFFF; + border-bottom-color: #00608F; +} + +li.row strong { + color: #000000; +} + +li.row:hover { + background-color: #F6F4D0; +} + +li.row:hover dd { + border-left-color: #CCCCCC; +} + +li.header dt, li.header dd { + color: #FFFFFF; +} + +/* Forum list column styles */ +ul.topiclist dd.searchextra { + color: #333333; +} + +/* Post body styles +----------------------------------------*/ +.postbody { + color: #333333; +} + +/* Content container styles +----------------------------------------*/ +.content { + color: #333333; +} + +.content h2, .panel h2 { + color: #115098; + border-bottom-color: #CCCCCC; +} + +dl.faq dt { + color: #333333; +} + +.posthilit { + background-color: #F3BFCC; + color: #BC2A4D; +} + +.announce, .unreadpost { + /* Highlight the announcements & unread posts box */ + border-left-color: #BC2A4D; + border-right-color: #BC2A4D; +} + +/* Post signature */ +.signature { + border-top-color: #CCCCCC; +} + +/* Post noticies */ +.notice { + border-top-color: #CCCCCC; +} + +/* BB Code styles +----------------------------------------*/ +/* Quote block */ +blockquote { + background-color: #EBEADD; + background-image: url("{T_THEME_PATH}/images/quote.gif"); + border-color:#DBDBCE; +} + +blockquote blockquote { + /* Nested quotes */ + background-color:#EFEED9; +} + +blockquote blockquote blockquote { + /* Nested quotes */ + background-color: #EBEADD; +} + +/* Code block */ +dl.codebox { + background-color: #FFFFFF; + border-color: #C9D2D8; +} + +dl.codebox dt { + border-bottom-color: #CCCCCC; +} + +dl.codebox code { + color: #2E8B57; +} + +.syntaxbg { color: #FFFFFF; } +.syntaxcomment { color: #FF8000; } +.syntaxdefault { color: #0000BB; } +.syntaxhtml { color: #000000; } +.syntaxkeyword { color: #007700; } +.syntaxstring { color: #DD0000; } + +/* Attachments +----------------------------------------*/ +.attachbox { + background-color: #FFFFFF; + border-color: #C9D2D8; +} + +.pm-message .attachbox { + background-color: #F2F3F3; +} + +.attachbox dd { + border-top-color: #C9D2D8; +} + +.attachbox p { + color: #666666; +} + +.attachbox p.stats +{ + color: #666666; +} + +.attach-image img { + border-color: #999999; +} + +/* Inline image thumbnails */ + +dl.file dd { + color: #666666; +} + +dl.thumbnail img { + border-color: #666666; + background-color: #FFFFFF; +} + +dl.thumbnail dd { + color: #666666; +} + +dl.thumbnail dt a:hover { + background-color: #EEEEEE; +} + +dl.thumbnail dt a:hover img { + border-color: #368AD2; +} + +/* Post poll styles +----------------------------------------*/ + +fieldset.polls dl { + border-top-color: #DCDEE2; + color: #666666; +} + +fieldset.polls dl.voted { + color: #000000; +} + +fieldset.polls dd div { + color: #FFFFFF; +} + +.pollbar1 { + background-color: #AA2346; + border-bottom-color: #74162C; + border-right-color: #74162C; +} + +.pollbar2 { + background-color: #BE1E4A; + border-bottom-color: #8C1C38; + border-right-color: #8C1C38; +} + +.pollbar3 { + background-color: #D11A4E; + border-bottom-color: #AA2346; + border-right-color: #AA2346; +} + +.pollbar4 { + background-color: #E41653; + border-bottom-color: #BE1E4A; + border-right-color: #BE1E4A; +} + +.pollbar5 { + background-color: #F81157; + border-bottom-color: #D11A4E; + border-right-color: #D11A4E; +} + +/* Poster profile block +----------------------------------------*/ +.postprofile { + color: #666666; + border-left-color: #FFFFFF; +} + +.pm .postprofile { + border-left-color: #DDDDDD; +} + +.postprofile strong { + color: #000000; +} + +.online { + background-image: url("{T_IMAGESET_LANG_PATH}/icon_user_online.gif"); +} + +/* +-------------------------------------------------------------- +Colours and backgrounds for buttons.css +-------------------------------------------------------------- */ + +/* Big button images */ +.reply-icon, .reply-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_topic_reply.gif"); } +.post-icon, .post-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_topic_new.gif") ;} +.locked-icon, .locked-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_topic_locked.gif"); } +.pmreply-icon, .pmreply-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_pm_reply.gif") ;} +.newpm-icon, .newpm-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_pm_new.gif") ;} +.forwardpm-icon, .forwardpm-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_pm_forward.gif") ;} + +a.print { + background-image: url("{T_THEME_PATH}/images/icon_print.gif"); +} + +a.sendemail { + background-image: url("{T_THEME_PATH}/images/icon_sendemail.gif"); +} + +a.fontsize { + background-image: url("{T_THEME_PATH}/images/icon_fontsize.gif"); +} + +/* Icon images +---------------------------------------- */ +.sitehome { background-image: url("{T_THEME_PATH}/images/icon_home.gif"); } +.icon-faq { background-image: url("{T_THEME_PATH}/images/icon_faq.gif"); } +.icon-members { background-image: url("{T_THEME_PATH}/images/icon_members.gif"); } +.icon-home { background-image: url("{T_THEME_PATH}/images/icon_home.gif"); } +.icon-ucp { background-image: url("{T_THEME_PATH}/images/icon_ucp.gif"); } +.icon-register { background-image: url("{T_THEME_PATH}/images/icon_register.gif"); } +.icon-logout { background-image: url("{T_THEME_PATH}/images/icon_logout.gif"); } +.icon-bookmark { background-image: url("{T_THEME_PATH}/images/icon_bookmark.gif"); } +.icon-bump { background-image: url("{T_THEME_PATH}/images/icon_bump.gif"); } +.icon-subscribe { background-image: url("{T_THEME_PATH}/images/icon_subscribe.gif"); } +.icon-unsubscribe { background-image: url("{T_THEME_PATH}/images/icon_unsubscribe.gif"); } +.icon-pages { background-image: url("{T_THEME_PATH}/images/icon_pages.gif"); } +.icon-search { background-image: url("{T_THEME_PATH}/images/icon_search.gif"); } + +/* Profile & navigation icons */ +.email-icon, .email-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_email.gif"); } +.aim-icon, .aim-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_aim.gif"); } +.yahoo-icon, .yahoo-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_yahoo.gif"); } +.web-icon, .web-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_www.gif"); } +.msnm-icon, .msnm-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_msnm.gif"); } +.icq-icon, .icq-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_icq.gif"); } +.pm-icon, .pm-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/icon_contact_pm.gif"); } +.jabber-icon, .jabber-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_jabber.gif"); } +.quote-icon, .quote-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/icon_post_quote.gif"); } + +/* Profile & navigation icons */ +.email-icon, .email-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_email.gif"); } +.aim-icon, .aim-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_aim.gif"); } +.yahoo-icon, .yahoo-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_yahoo.gif"); } +.web-icon, .web-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_www.gif"); } +.msnm-icon, .msnm-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_msnm.gif"); } +.icq-icon, .icq-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_icq.gif"); } +.pm-icon, .pm-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/icon_contact_pm.gif"); } +.jabber-icon, .jabber-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_jabber.gif"); } +.quote-icon, .quote-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/icon_post_quote.gif"); } + +/* Moderator icons */ +.report-icon, .report-icon a { background-image: url("{T_IMAGESET_PATH}/icon_post_report.gif"); } +.warn-icon, .warn-icon a { background-image: url("{T_IMAGESET_PATH}/icon_post_report.gif"); } +.edit-icon, .edit-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/icon_post_edit.gif"); } + +.delete-icon, .delete-icon a { background-image: url("{T_IMAGESET_PATH}/icon_post_delete.gif"); } +.info-icon, .info-icon a { background-image: url("{T_IMAGESET_PATH}/icon_post_info.gif"); } + +/* +-------------------------------------------------------------- +Colours and backgrounds for cp.css +-------------------------------------------------------------- */ + +/* Main CP box +----------------------------------------*/ + +#cp-main h3, #cp-main hr, #cp-menu hr { + border-color: #A4B3BF; +} + +#cp-main .panel li.row { + border-bottom-color: #B5C1CB; + border-top-color: #F9F9F9; +} + +ul.cplist { + border-top-color: #B5C1CB; +} + +#cp-main .panel li.header dd, #cp-main .panel li.header dt { + color: #000000; +} + +#cp-main table.table1 thead th { + color: #333333; + border-bottom-color: #333333; +} + +#cp-main .pm-message { + border-color: #DBDEE2; + background-color: #FFFFFF; +} + +/* CP tabbed menu +----------------------------------------*/ +#tabs a { + background-image: url("{T_THEME_PATH}/images/bg_tabs1.gif"); +} + +#tabs a span { + background-image: url("{T_THEME_PATH}/images/bg_tabs2.gif"); + color: #536482; +} + +#tabs a:hover span { + color: #BC2A4D; +} + +#tabs .activetab a { + border-bottom-color: #CADCEB; +} + +#tabs .activetab a span { + color: #333333; +} + +#tabs .activetab a:hover span { + color: #000000; +} + +/* Mini tabbed menu used in MCP +----------------------------------------*/ +#minitabs li { + background-color: #E1EBF2; +} + +#minitabs li.activetab { + background-color: #F9F9F9; +} + +#minitabs li.activetab a, #minitabs li.activetab a:hover { + color: #333333; +} + +/* UCP navigation menu +----------------------------------------*/ + +/* Link styles for the sub-section links */ +#navigation a { + color: #333; + background-color: #B2C2CF; + background-image: url("{T_THEME_PATH}/images/bg_menu.gif"); +} + +#navigation a:hover { + background-color: #aabac6; + color: #BC2A4D; +} + +#navigation #active-subsection a { + color: #D31141; + background-color: #F9F9F9; + background-image: none; +} + +#navigation #active-subsection a:hover { + color: #D31141; +} + +/* Preferences pane layout +----------------------------------------*/ +#cp-main h2 { + color: #333333; +} + +#cp-main .panel { + background-color: #F9F9F9; +} + +#cp-main .pm { + background-color: #FFFFFF; +} + +#cp-main span.corners-top, #cp-menu span.corners-top { + background-image: url("{T_THEME_PATH}/images/corners_left2.gif"); +} + +#cp-main span.corners-top span, #cp-menu span.corners-top span { + background-image: url("{T_THEME_PATH}/images/corners_right2.gif"); +} + +#cp-main span.corners-bottom, #cp-menu span.corners-bottom { + background-image: url("{T_THEME_PATH}/images/corners_left2.gif"); +} + +#cp-main span.corners-bottom span, #cp-menu span.corners-bottom span { + background-image: url("{T_THEME_PATH}/images/corners_right2.gif"); +} + +/* Topicreview */ +#cp-main .panel #topicreview span.corners-top, #cp-menu .panel #topicreview span.corners-top { + background-image: url("{T_THEME_PATH}/images/corners_left.gif"); +} + +#cp-main .panel #topicreview span.corners-top span, #cp-menu .panel #topicreview span.corners-top span { + background-image: url("{T_THEME_PATH}/images/corners_right.gif"); +} + +#cp-main .panel #topicreview span.corners-bottom, #cp-menu .panel #topicreview span.corners-bottom { + background-image: url("{T_THEME_PATH}/images/corners_left.gif"); +} + +#cp-main .panel #topicreview span.corners-bottom span, #cp-menu .panel #topicreview span.corners-bottom span { + background-image: url("{T_THEME_PATH}/images/corners_right.gif"); +} + +/* Friends list */ +.cp-mini { + background-color: #eef5f9; +} + +dl.mini dt { + color: #425067; +} + +/* PM Styles +----------------------------------------*/ +/* PM Message history */ +.current { + color: #999999 !important; +} + +/* PM marking colours */ +.pmlist li.pm_message_reported_colour, .pm_message_reported_colour { + border-left-color: #BC2A4D; + border-right-color: #BC2A4D; +} + +.pmlist li.pm_marked_colour, .pm_marked_colour { + border-left-color: #FF6600; +} + +.pmlist li.pm_replied_colour, .pm_replied_colour { + border-color: #A9B8C2; +} + +.pmlist li.pm_friend_colour, .pm_friend_colour { + border-color: #5D8FBD; +} + +pmlist li.pm_foe_colour, .pm_foe_colour { + border-color: #000000; +} + +/* Avatar gallery */ +#gallery label { + background: #FFFFFF; + border-color: #CCC; +} + +#gallery label:hover { + background-color: #EEE; +} + +/* +-------------------------------------------------------------- +Colours and backgrounds for forms.css +-------------------------------------------------------------- */ + +/* General form styles +----------------------------------------*/ +select { + border-color: #666666; + background-color: #FAFAFA; +} + +label { + color: #425067; +} + +/* Definition list layout for forms +---------------------------------------- */ +dd label { + color: #333; +} + +/* Hover effects */ +fieldset dl:hover dt label { + color: #000000; +} + +fieldset.fields2 dl:hover dt label { + color: inherit; +} + +/* Quick-login on index page */ +fieldset.quick-login input { + background-color: #F2F3F3; +} + +/* Posting page styles +----------------------------------------*/ + +#message-box textarea { + color: #333333; +} + +/* Input field styles +---------------------------------------- */ +.inputbox { + background-color: #FFFFFF; + border-color: #B4BAC0; + color: #333333; +} + +.inputbox:hover { + border-color: #11A3EA; +} + +.inputbox:focus { + border-color: #11A3EA; + color: #0F4987; +} + +/* Form button styles +---------------------------------------- */ + +a.button1, input.button1, input.button3, a.button2, input.button2 { + color: #000; + background-color: #FAFAFA; + background-image: url("{T_THEME_PATH}/images/bg_button.gif"); +} + +a.button1, input.button1 { + border-color: #666666; +} + +input.button3 { + background-image: none; +} + +/* Alternative button */ +a.button2, input.button2, input.button3 { + border-color: #666666; +} + +/* button in the style of the form buttons */ +a.button1, a.button1:link, a.button1:visited, a.button1:active, a.button2, a.button2:link, a.button2:visited, a.button2:active { + color: #000000; +} + +input.search { + background-image: url("{T_THEME_PATH}/images/icon_textbox_search.gif"); +} \ No newline at end of file diff --git a/phpBB/styles/prosilver/theme/common.css b/phpBB/styles/prosilver/theme/common.css new file mode 100644 index 0000000000..35a956b81b --- /dev/null +++ b/phpBB/styles/prosilver/theme/common.css @@ -0,0 +1,596 @@ +/* General proSilver Markup Styles +---------------------------------------- */ + +* { + /* Reset browsers default margin, padding and font sizes */ + margin: 0; + padding: 0; +} + +html { + font-size: 100%; +} + +body { + /* Text-Sizing with ems: http://www.clagnut.com/blog/348/ */ + font-family: Verdana, Helvetica, Arial, sans-serif; + color: #828282; + background-color: #FFFFFF; + /*font-size: 62.5%; This sets the default font size to be equivalent to 10px */ + font-size: 10px; + margin: 0; + padding: 12px 0; +} + +h1 { + /* Forum name */ + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + margin-right: 200px; + color: #FFFFFF; + margin-top: 15px; + font-weight: bold; + font-size: 2em; +} + +h2 { + /* Forum header titles */ + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + font-weight: normal; + color: #3f3f3f; + font-size: 2em; + margin: 0.8em 0 0.2em 0; +} + +h2.solo { + margin-bottom: 1em; +} + +h3 { + /* Sub-headers (also used as post headers, but defined later) */ + font-family: Arial, Helvetica, sans-serif; + font-weight: bold; + text-transform: uppercase; + border-bottom: 1px solid #CCCCCC; + margin-bottom: 3px; + padding-bottom: 2px; + font-size: 1.05em; + color: #989898; + margin-top: 20px; +} + +h4 { + /* Forum and topic list titles */ + font-family: "Trebuchet MS", Verdana, Helvetica, Arial, Sans-serif; + font-size: 1.3em; +} + +p { + line-height: 1.3em; + font-size: 1.1em; + margin-bottom: 1.5em; +} + +img { + border-width: 0px; +} + +hr { + /* Also see tweaks.css */ + border: 0px none #FFFFFF; + border-top: 1px solid #CCCCCC; + height: 1px; + margin: 5px 0; + display: block; + clear: both; +} + +hr.dashed { + border-top: 1px dashed #CCCCCC; + margin: 10px 0; +} + +hr.divider { + display: none; +} + +p.right { + text-align: right; +} + +/* Main blocks +---------------------------------------- */ +#wrap { + padding: 0 20px; + min-width: 650px; +} + +#simple-wrap { + padding: 6px 10px; +} + +#page-body { + margin: 4px 0; + clear: both; +} + +#page-footer { + clear: both; +} + +#page-footer h3 { + margin-top: 20px; +} + +#logo { + float: left; + width: auto; + padding: 10px 13px 0 10px; +} + +a#logo:hover { + text-decoration: none; +} + +/* Search box +--------------------------------------------- */ +#search-box { + color: #FFFFFF; + position: absolute; + right: 35px; + top: 35px; + width: 17em; + text-align: right; + white-space: nowrap; /* For Opera */ +} + +#search-box #keywords { + width: 95px; + background-color: #FFF; +} + +#search-box input { + border: 1px solid #b0b0b0; +} + +/* .button1 style defined later, just a few tweaks for the search button version */ +#search-box input.button1 { + padding: 1px 5px; +} + +#search-box li { + text-align: right; + margin-top: 4px; +} + +#search-box img { + vertical-align: middle; + margin-right: 3px; +} + +/* Round cornered boxes and backgrounds +---------------------------------------- */ +.headerbar { + background: #ebebeb none repeat-x 0 0; + color: #FFFFFF; + margin-bottom: 4px; + padding: 0 5px; +} + +.navbar { + background-color: #ebebeb; + padding: 0 10px; +} + +.forabg { + background: #b1b1b1 none repeat-x 0 0; + margin-bottom: 4px; + padding: 0 5px; + clear: both; +} + +.forumbg { + background: #ebebeb none repeat-x 0 0; + margin-bottom: 4px; + padding: 0 5px; + clear: both; +} + +.panel { + margin-bottom: 4px; + padding: 0 10px; + background-color: #f3f3f3; + color: #3f3f3f; +} + +.post { + padding: 0 10px; + margin-bottom: 4px; + background-repeat: no-repeat; + background-position: 100% 0; +} + +.post:target .content { + color: #000000; +} + +.post:target h3 a { + color: #000000; +} + +.bg1 { background-color: #f7f7f7;} +.bg2 { background-color: #f2f2f2; } +.bg3 { background-color: #ebebeb; } + +.rowbg { + margin: 5px 5px 2px 5px; +} + +.ucprowbg { + background-color: #e2e2e2; +} + +.fieldsbg { + /*border: 1px #DBDEE2 solid;*/ + background-color: #eaeaea; +} + +span.corners-top, span.corners-bottom, span.corners-top span, span.corners-bottom span { + font-size: 1px; + line-height: 1px; + display: block; + height: 5px; + background-repeat: no-repeat; +} + +span.corners-top { + background-image: none; + background-position: 0 0; + margin: 0 -5px; +} + +span.corners-top span { + background-image: none; + background-position: 100% 0; +} + +span.corners-bottom { + background-image: none; + background-position: 0 100%; + margin: 0 -5px; + clear: both; +} + +span.corners-bottom span { + background-image: none;; + background-position: 100% 100%; +} + +.headbg span.corners-bottom { + margin-bottom: -1px; +} + +.post span.corners-top, .post span.corners-bottom, .panel span.corners-top, .panel span.corners-bottom, .navbar span.corners-top, .navbar span.corners-bottom { + margin: 0 -10px; +} + +.rules span.corners-top { + margin: 0 -10px 5px -10px; +} + +.rules span.corners-bottom { + margin: 5px -10px 0 -10px; +} + +/* Horizontal lists +----------------------------------------*/ +ul.linklist { + display: block; + margin: 0; +} + +ul.linklist li { + display: block; + list-style-type: none; + float: left; + width: auto; + margin-right: 5px; + font-size: 1.1em; + line-height: 2.2em; +} + +ul.linklist li.rightside, p.rightside { + float: right; + margin-right: 0; + margin-left: 5px; + text-align: right; +} + +ul.navlinks { + padding-bottom: 1px; + border-bottom: 1px solid #FFFFFF; + font-weight: bold; +} + +/* Table styles +----------------------------------------*/ +table.table1 { + /* See tweaks.css */ +} + +#ucp-main table.table1 { + padding: 2px; +} + +table.table1 thead th { + font-weight: normal; + text-transform: uppercase; + color: #FFFFFF; + line-height: 1.3em; + font-size: 1em; + padding: 0 0 4px 3px; +} + +table.table1 thead th span { + padding-left: 7px; +} + +table.table1 tbody tr { + border: 1px solid #cfcfcf; +} + +table.table1 tbody tr:hover, table.table1 tbody tr.hover { + background-color: #f6f6f6; + color: #000; +} + +table.table1 td { + color: #536482; + font-size: 1.1em; +} + +table.table1 tbody td { + padding: 5px; + border-top: 1px solid #FAFAFA; +} + +table.table1 tbody th { + padding: 5px; + border-bottom: 1px solid #000000; + text-align: left; + color: #333333; + background-color: #FFFFFF; +} + +/* Specific column styles */ +table.table1 .name { text-align: left; } +table.table1 .posts { text-align: center !important; width: 7%; } +table.table1 .joined { text-align: left; width: 15%; } +table.table1 .active { text-align: left; width: 15%; } +table.table1 .mark { text-align: center; width: 7%; } +table.table1 .info { text-align: left; width: 30%; } +table.table1 .info div { width: 100%; white-space: nowrap; overflow: hidden; } +table.table1 .autocol { line-height: 2em; white-space: nowrap; } +table.table1 thead .autocol { padding-left: 1em; } + +table.table1 span.rank-img { + float: right; + width: auto; +} + +table.info td { + padding: 3px; +} + +table.info tbody th { + padding: 3px; + text-align: right; + vertical-align: top; + color: #000000; + font-weight: normal; +} + +.forumbg table.table1 { + margin: 0 -2px -1px -1px; +} + +/* Misc layout styles +---------------------------------------- */ +/* column[1-2] styles are containers for two column layouts + Also see tweaks.css */ +.column1 { + float: left; + clear: left; + width: 49%; +} + +.column2 { + float: right; + clear: right; + width: 49%; +} + +/* General classes for placing floating blocks */ +.left-box { + float: left; + width: auto; + text-align: left; +} + +.right-box { + float: right; + width: auto; + text-align: right; +} + +dl.details { + /*font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;*/ + font-size: 1.1em; +} + +dl.details dt { + float: left; + width: 11em; + text-align: right; + color: #000000; + display: block; +} + +dl.details dd { + margin-left: 11em; + padding-left: 5px; + margin-bottom: 5px; + color: #828282; +} + +/* Pagination +---------------------------------------- */ +.pagination { + height: 1%; /* IE tweak (holly hack) */ + width: auto; + text-align: right; + margin-top: 5px; + float: right; +} + +.pagination span.page-sep { + display:none; +} + +li.pagination { + margin-top: 0; +} + +.pagination strong, .pagination b { + font-weight: normal; +} + +.pagination span strong { + padding: 0 2px; + margin: 0 2px; + font-weight: normal; + color: #FFFFFF; + background-color: #bfbfbf; + border: 1px solid #bfbfbf; + font-size: 0.9em; +} + +.pagination span a, .pagination span a:link, .pagination span a:visited, .pagination span a:active { + font-weight: normal; + text-decoration: none; + color: #5C758C; + margin: 0 2px; + padding: 0 2px; + background-color: #eeeeee; + border: 1px solid #B4BAC0; + font-size: 0.9em; + line-height: 1.5em; +} + +.pagination span a:hover { + border-color: #d2d2d2; + background-color: #d2d2d2; + color: #FFF; + text-decoration: none; +} + +.pagination img { + vertical-align: middle; +} + +/* Pagination in viewforum for multipage topics */ +.row .pagination { + display: block; + float: right; + width: auto; + margin-top: 0; + padding: 1px 0 1px 15px; + font-size: 0.9em; + background: none 0 50% no-repeat; +} + +.row .pagination span a, li.pagination span a { + background-color: #FFFFFF; +} + +.row .pagination span a:hover, li.pagination span a:hover { + background-color: #d2d2d2; +} + +/* Miscellaneous styles +---------------------------------------- */ +#forum-permissions { + float: right; + width: auto; + padding-left: 5px; + margin-left: 5px; + margin-top: 10px; + text-align: right; +} + +.copyright { + padding: 5px; + text-align: center; + color: #555555; +} + +.small { + font-size: 0.9em !important; +} + +.titlespace { + margin-bottom: 15px; +} + +.headerspace { + margin-top: 20px; +} + +.error { + color: #bcbcbc; + font-weight: bold; + font-size: 1em; +} + +.reported { + background-color: #f7f7f7; +} + +li.reported:hover { + background-color: #ececec; +} + +div.rules { + background-color: #ececec; + color: #bcbcbc; + padding: 0 10px; + margin: 10px 0; + font-size: 1.1em; +} + +p.rules { + background-color: #ececec; + background-image: none; + padding: 5px; +} + +p.rules img { + vertical-align: middle; +} + +p.rules a { + vertical-align: middle; + clear: both; +} + +#top { + position: absolute; + top: -20px; +} + +.clear { + display: block; + clear: both; + font-size: 1px; + line-height: 1px; + background: transparent; +} diff --git a/phpBB/styles/prosilver/theme/content.css b/phpBB/styles/prosilver/theme/content.css new file mode 100644 index 0000000000..8f909e5a5f --- /dev/null +++ b/phpBB/styles/prosilver/theme/content.css @@ -0,0 +1,713 @@ +/* proSilver Content Styles +---------------------------------------- */ + +ul.topiclist { + display: block; + list-style-type: none; + margin: 0; +} + +ul.forums { + background: #f9f9f9 none repeat-x 0 0; +} + +ul.topiclist li { + display: block; + list-style-type: none; + color: #777777; + margin: 0; +} + +ul.topiclist dl { + position: relative; +} + +ul.topiclist li.row dl { + padding: 2px 0; +} + +ul.topiclist dt { + display: block; + float: left; + width: 50%; + font-size: 1.1em; + padding-left: 5px; + padding-right: 5px; +} + +ul.topiclist dd { + display: block; + float: left; + border-left: 1px solid #FFFFFF; + padding: 4px 0; +} + +ul.topiclist dfn { + /* Labels for post/view counts */ + display: none; +} + +li.row { + border-top: 1px solid #FFFFFF; + border-bottom: 1px solid #8f8f8f; +} + +li.row strong { + font-weight: normal; + color: #000000; +} + +li.row:hover { + background-color: #f6f6f6; +} + +li.row:hover dd { + border-left-color: #CCCCCC; +} + +li.header dt, li.header dd { + line-height: 1em; + border-left-width: 0px; + margin: 2px 0 4px 0; + color: #FFFFFF; + padding-top: 2px; + padding-bottom: 2px; + font-size: 1em; + font-family: Arial, Helvetica, sans-serif; + text-transform: uppercase; +} + +li.header dt { + font-weight: bold; +} + +li.header dd { + margin-left: 1px; +} + +li.header dl.icon { + min-height: 0; +} + +li.header dl.icon dt { + /* Tweak for headers alignment when folder icon used */ + padding-left: 0; + padding-right: 44px; +} + +/* Forum list column styles */ +dl.icon { + min-height: 35px; + background-position: 10px 50%; /* Position of folder icon */ + background-repeat: no-repeat; +} + +dl.icon dt { + padding-left: 45px; /* Space for folder icon */ + background-repeat: no-repeat; + background-position: 27px 70%; /* Position of topic icon */ +} + +dd.posts, dd.topics, dd.views { + width: 8%; + text-align: center; + line-height: 2.2em; + font-size: 1.2em; +} + +dd.lastpost { + width: 25%; + font-size: 1.1em; +} + +dd.redirect { + font-size: 1.1em; + line-height: 2.5em; +} + +dd.moderation { + font-size: 1.1em; +} + +dd.lastpost span, ul.topiclist dd.searchby span, ul.topiclist dd.info span, ul.topiclist dd.time span, dd.redirect span, dd.moderation span { + display: block; + padding-left: 5px; +} + +dd.time { + width: auto; + line-height: 200%; + font-size: 1.1em; +} + +dd.extra { + width: 65px; + line-height: 200%; + text-align: center; + font-size: 1.1em; +} + +dd.mark { + float: right !important; + width: 40px; + text-align: center; + line-height: 200%; + font-size: 1.2em; +} + +dd.info { + width: 30%; +} + +dd.option { + width: 15%; + line-height: 200%; + text-align: center; + font-size: 1.1em; +} + +dd.searchby { + width: 47%; + font-size: 1.1em; + line-height: 1em; +} + +ul.topiclist dd.searchextra { + margin-left: 5px; + padding: 0.2em 0; + font-size: 1.1em; + color: #333333; + border-left: none; + clear: both; + width: 98%; + overflow: hidden; +} + +/* Container for post/reply buttons and pagination */ +.topic-actions { + margin-bottom: 3px; + font-size: 1.1em; + height: 28px; + min-height: 28px; +} +div[class].topic-actions { + height: auto; +} + +/* Post body styles +----------------------------------------*/ +.postbody { + padding: 0; + line-height: 1.48em; + color: #333333; + width: 76%; + float: left; + clear: both; +} + +.postbody .ignore { + font-size: 1.1em; +} + +.postbody h3.first { + /* The first post on the page uses this */ + font-size: 1.7em; +} + +.postbody h3 { + /* Postbody requires a different h3 format - so change it here */ + font-size: 1.5em; + padding: 2px 0 0 0; + margin: 0 0 0.3em 0 !important; + text-transform: none; + border: none; + font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif; + line-height: 125%; +} + +.postbody h3 img { + /* Also see tweaks.css */ + vertical-align: bottom; +} + +.postbody .content { + font-size: 1.3em; +} + +.search .postbody { + width: 68% +} + +/* Topic review panel +----------------------------------------*/ +#review { + margin-top: 2em; +} + +#topicreview { + padding-right: 5px; + overflow: auto; + height: 300px; +} + +#topicreview .postbody { + width: auto; + float: none; + margin: 0; + height: auto; +} + +#topicreview .post { + height: auto; +} + +#topicreview h2 { + border-bottom-width: 0px; +} + +/* Content container styles +----------------------------------------*/ +.content { + min-height: 3em; + overflow: hidden; + line-height: 1.4em; + font-family: "Lucida Grande", "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif; + font-size: 1em; + color: #333333; +} + +.content h2, .panel h2 { + font-weight: normal; + color: #989898; + border-bottom: 1px solid #CCCCCC; + font-size: 1.6em; + margin-top: 0.5em; + margin-bottom: 0.5em; + padding-bottom: 0.5em; +} + +.panel h3 { + margin: 0.5em 0; +} + +.panel p { + font-size: 1.2em; + margin-bottom: 1em; + line-height: 1.4em; +} + +.content p { + font-family: "Lucida Grande", "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif; + font-size: 1.2em; + margin-bottom: 1em; + line-height: 1.4em; +} + +dl.faq { + font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; + font-size: 1.1em; + margin-top: 1em; + margin-bottom: 2em; + line-height: 1.4em; +} + +dl.faq dt { + font-weight: bold; + color: #333333; +} + +.content dl.faq { + font-size: 1.2em; + margin-bottom: 0.5em; +} + +.content li { + list-style-type: inherit; +} + +.content ul, .content ol { + margin-bottom: 1em; + margin-left: 3em; +} + +.posthilit { + background-color: #f3f3f3; + color: #BCBCBC; + padding: 0 2px 1px 2px; +} + +.announce, .unreadpost { + /* Highlight the announcements & unread posts box */ + border-left-color: #BCBCBC; + border-right-color: #BCBCBC; +} + +/* Post author */ +p.author { + margin: 0 15em 0.6em 0; + padding: 0 0 5px 0; + font-family: Verdana, Helvetica, Arial, sans-serif; + font-size: 1em; + line-height: 1.2em; +} + +/* Post signature */ +.signature { + margin-top: 1.5em; + padding-top: 0.2em; + font-size: 1.1em; + border-top: 1px solid #CCCCCC; + clear: left; + line-height: 140%; + overflow: hidden; + width: 100%; +} + +dd .signature { + margin: 0; + padding: 0; + clear: none; + border: none; +} + +/* Post noticies */ +.notice { + font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; + width: auto; + margin-top: 1.5em; + padding-top: 0.2em; + font-size: 1em; + border-top: 1px dashed #CCCCCC; + clear: left; + line-height: 130%; +} + +/* Jump to post link for now */ +ul.searchresults { + list-style: none; + text-align: right; + clear: both; +} + +/* BB Code styles +----------------------------------------*/ +/* Quote block */ +blockquote { + /* Also see tweaks.css */ + margin: 1em 1px 1em 25px; + padding: 5px; + background: #ebebeb none 6px 8px no-repeat; + border:1px solid #dbdbdb; + font-size:0.95em; + margin:1em 1px 1em 25px; + overflow:hidden; + padding:5px; +} + +blockquote blockquote { + /* Nested quotes */ + background-color:#EFEED9; + font-size:1em; + margin:0.5em 1px 0pt 15px; +} + +blockquote blockquote blockquote { + /* Nested quotes */ + background-color: #EBEADD; +} + +blockquote cite { + /* Username/source of quoter */ + font-style: normal; + font-weight: bold; + margin-left: 20px; + display: block; + font-size: 0.9em; +} + +blockquote cite cite { + font-size: 1em; +} + +blockquote.uncited { + padding-top: 25px; +} + +/* Code block */ +dl.codebox { + padding: 3px; + background-color: #FFFFFF; + border: 1px solid #d8d8d8; + font-size: 1em; +} + +dl.codebox dt { + text-transform: uppercase; + border-bottom: 1px solid #CCCCCC; + margin-bottom: 3px; + font-size: 0.8em; + font-weight: bold; + display: block; +} + +blockquote dl.codebox { + margin-left: 0; +} + +dl.codebox code { + /* Also see tweaks.css */ + overflow: auto; + display: block; + height: auto; + max-height: 200px; + white-space: normal; + padding-top: 5px; + font: 0.9em Monaco, "Andale Mono","Courier New", Courier, mono; + line-height: 1.3em; + color: #8b8b8b; + margin: 2px 0; +} + +.syntaxbg { color: #FFFFFF; } +.syntaxcomment { color: #000000; } +.syntaxdefault { color: #bcbcbc; } +.syntaxhtml { color: #000000; } +.syntaxkeyword { color: #585858; } +.syntaxstring { color: #a7a7a7; } + +/* Attachments +----------------------------------------*/ +.attachbox { + float: left; + width: auto; + margin: 5px 5px 5px 0; + padding: 6px; + background-color: #FFFFFF; + border: 1px dashed #d8d8d8; + clear: left; +} + +.pm-message .attachbox { + background-color: #f3f3f3; +} + +.attachbox dt { + font-family: Arial, Helvetica, sans-serif; + text-transform: uppercase; +} + +.attachbox dd { + margin-top: 4px; + padding-top: 4px; + clear: left; + border-top: 1px solid #d8d8d8; +} + +.attachbox dd dd { + border: none; +} + +.attachbox p { + line-height: 110%; + color: #666666; + font-weight: normal; + clear: left; +} +.attachbox p.stats +{ + line-height: 110%; + color: #666666; + font-weight: normal; + clear: left; +} + +.attach-image { + margin: 3px 0; + width: 100%; + max-height: 350px; + overflow: auto; +} + +.attach-image img { + border: 1px solid #999999; + cursor: move; +} + +/* Inline image thumbnails */ +div.inline-attachment dl.thumbnail, div.inline-attachment dl.file { + display: block; + margin-bottom: 4px; +} + +dl.file { + font-family: Verdana, Arial, Helvetica, sans-serif; + display: block; +} + +dl.file dt { + text-transform: none; + margin: 0; + padding: 0; + font-weight: bold; + font-family: Verdana, Arial, Helvetica, sans-serif; +} + +dl.file dd { + color: #666666; + margin: 0; + padding: 0; +} + +dl.thumbnail img { + padding: 3px; + border: 1px solid #666666; + display: block; + background-color: #FFF; +} + +dl.thumbnail dd { + color: #666666; + font-style: italic; + font-family: Verdana, Arial, Helvetica, sans-serif; +} + +.attachbox dl.thumbnail dd { + font-size: 100%; +} + +dl.thumbnail dt a:hover { + background-color: #EEEEEE; +} + +dl.thumbnail dt a:hover img { + border: 1px solid #d2d2d2; +} + +/* Post poll styles +----------------------------------------*/ +fieldset.polls { + font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif; +} + +fieldset.polls dl { + margin-top: 5px; + border-top: 1px solid #e2e2e2; + padding: 5px 0 0 0; + line-height: 120%; + color: #666666; +} + +fieldset.polls dl.voted { + font-weight: bold; + color: #000000; +} + +fieldset.polls dt { + text-align: left; + float: left; + display: block; + width: 30%; + border-right: none; + padding: 0; + margin: 0; + font-size: 1.1em; +} + +fieldset.polls dd { + float: left; + width: 10%; + border-left: none; + padding: 0 5px; + margin-left: 0; + font-size: 1.1em; +} + +fieldset.polls dd.resultbar { + width: 50%; +} + +fieldset.polls dd input { + margin: 2px 0; +} + +fieldset.polls dd div { + text-align: right; + font-family: Arial, Helvetica, sans-serif; + color: #FFFFFF; + font-weight: bold; + padding: 0px 2px; + overflow: visible; + min-width: 2%; +} + +.pollbar1 { + background-color: #aaaaaa; + border-bottom: 1px solid #747474; + border-right: 1px solid #747474; +} + +.pollbar2 { + background-color: #bebebe; + border-bottom: 1px solid #8c8c8c; + border-right: 1px solid #8c8c8c; +} + +.pollbar3 { + background-color: #D1D1D1; + border-bottom: 1px solid #aaaaaa; + border-right: 1px solid #aaaaaa; +} + +.pollbar4 { + background-color: #e4e4e4; + border-bottom: 1px solid #bebebe; + border-right: 1px solid #bebebe; +} + +.pollbar5 { + background-color: #f8f8f8; + border-bottom: 1px solid #D1D1D1; + border-right: 1px solid #D1D1D1; +} + +/* Poster profile block +----------------------------------------*/ +.postprofile { + /* Also see tweaks.css */ + margin: 5px 0 10px 0; + min-height: 80px; + color: #666666; + border-left: 1px solid #FFFFFF; + width: 22%; + float: right; + display: inline; +} +.pm .postprofile { + border-left: 1px solid #DDDDDD; +} + +.postprofile dd, .postprofile dt { + line-height: 1.2em; + margin-left: 8px; +} + +.postprofile strong { + font-weight: normal; + color: #000000; +} + +.avatar { + border: none; + margin-bottom: 3px; +} + +.online { + background-image: none; + background-position: 100% 0; + background-repeat: no-repeat; +} + +/* Poster profile used by search*/ +.search .postprofile { + width: 30%; +} diff --git a/phpBB/styles/prosilver/theme/cp.css b/phpBB/styles/prosilver/theme/cp.css new file mode 100644 index 0000000000..d21d649b14 --- /dev/null +++ b/phpBB/styles/prosilver/theme/cp.css @@ -0,0 +1,423 @@ +/* proSilver Control Panel Styles +---------------------------------------- */ + + +/* Main CP box +----------------------------------------*/ +#cp-menu { + float:left; + width: 19%; + margin-top: 1em; + margin-bottom: 5px; +} + +#cp-main { + float: left; + width: 81%; +} + +#cp-main .content { + padding: 0; +} + +#cp-main h3, #cp-main hr, #cp-menu hr { + border-color: #bfbfbf; +} + +#cp-main .panel p { + font-size: 1.1em; +} + +#cp-main .panel ol { + margin-left: 2em; + font-size: 1.1em; +} + +#cp-main .panel li.row { + border-bottom: 1px solid #cbcbcb; + border-top: 1px solid #F9F9F9; +} + +ul.cplist { + margin-bottom: 5px; + border-top: 1px solid #cbcbcb; +} + +#cp-main .panel li.header dd, #cp-main .panel li.header dt { + color: #000000; + margin-bottom: 2px; +} + +#cp-main table.table1 { + margin-bottom: 1em; +} + +#cp-main table.table1 thead th { + color: #333333; + font-weight: bold; + border-bottom: 1px solid #333333; + padding: 5px; +} + +#cp-main table.table1 tbody th { + font-style: italic; + background-color: transparent !important; + border-bottom: none; +} + +#cp-main .pagination { + float: right; + width: auto; + padding-top: 1px; +} + +#cp-main .postbody p { + font-size: 1.1em; +} + +#cp-main .pm-message { + border: 1px solid #e2e2e2; + margin: 10px 0; + background-color: #FFFFFF; + width: auto; + float: none; +} + +.pm-message h2 { + padding-bottom: 5px; +} + +#cp-main .postbody h3, #cp-main .box2 h3 { + margin-top: 0; +} + +#cp-main .buttons { + margin-left: 0px; +} + +#cp-main ul.linklist { + margin: 0; +} + +/* MCP Specific tweaks */ +.mcp-main .postbody { + width: 100%; +} + +/* CP tabbed menu +----------------------------------------*/ +#tabs { + line-height: normal; + margin: 20px 0 -1px 7px; + min-width: 570px; +} + +#tabs ul { + margin:0; + padding: 0; + list-style: none; +} + +#tabs li { + display: inline; + margin: 0; + padding: 0; + font-size: 1em; + font-weight: bold; +} + +#tabs a { + float: left; + background: none no-repeat 0% -35px; + margin: 0 1px 0 0; + padding: 0 0 0 5px; + text-decoration: none; + position: relative; +} + +#tabs a span { + float: left; + display: block; + background: none no-repeat 100% -35px; + padding: 6px 10px 6px 5px; + color: #828282; + white-space: nowrap; +} + +#tabs a:hover span { + color: #bcbcbc; +} + +#tabs .activetab a { + background-position: 0 0; + border-bottom: 1px solid #ebebeb; +} + +#tabs .activetab a span { + background-position: 100% 0; + padding-bottom: 7px; + color: #333333; +} + +#tabs a:hover { + background-position: 0 -70px; +} + +#tabs a:hover span { + background-position:100% -70px; +} + +#tabs .activetab a:hover { + background-position: 0 0; +} + +#tabs .activetab a:hover span { + color: #000000; + background-position: 100% 0; +} + +/* Mini tabbed menu used in MCP +----------------------------------------*/ +#minitabs { + line-height: normal; + margin: -20px 7px 0 0; +} + +#minitabs ul { + margin:0; + padding: 0; + list-style: none; +} + +#minitabs li { + display: block; + float: right; + padding: 0 10px 4px 10px; + font-size: 1em; + font-weight: bold; + background-color: #f2f2f2; + margin-left: 2px; +} + +#minitabs a { +} + +#minitabs a:hover { + text-decoration: none; +} + +#minitabs li.activetab { + background-color: #F9F9F9; +} + +#minitabs li.activetab a, #minitabs li.activetab a:hover { + color: #333333; +} + +/* UCP navigation menu +----------------------------------------*/ +/* Container for sub-navigation list */ +#navigation { + width: 100%; + padding-top: 36px; +} + +#navigation ul { + list-style:none; +} + +/* Default list state */ +#navigation li { + margin: 1px 0; + padding: 0; + font-weight: bold; + display: inline; +} + +/* Link styles for the sub-section links */ +#navigation a { + display: block; + padding: 5px; + margin: 1px 0; + text-decoration: none; + font-weight: bold; + color: #333; + background: #cfcfcf none repeat-y 100% 0; +} + +#navigation a:hover { + text-decoration: none; + background-color: #c6c6c6; + color: #bcbcbc; + background-image: none; +} + +#navigation #active-subsection a { + display: block; + color: #d3d3d3; + background-color: #F9F9F9; + background-image: none; +} + +#navigation #active-subsection a:hover { + color: #d3d3d3; +} + +/* Preferences pane layout +----------------------------------------*/ +#cp-main h2 { + border-bottom: none; + padding: 0; + margin-left: 10px; + color: #333333; +} + +#cp-main .panel { + background-color: #F9F9F9; +} + +#cp-main .pm { + background-color: #FFFFFF; +} + +#cp-main span.corners-top, #cp-menu span.corners-top { + background-image: none; +} + +#cp-main span.corners-top span, #cp-menu span.corners-top span { + background-image: none; +} + +#cp-main span.corners-bottom, #cp-menu span.corners-bottom { + background-image: none; +} + +#cp-main span.corners-bottom span, #cp-menu span.corners-bottom span { + background-image: none; +} + +/* Topicreview */ +#cp-main .panel #topicreview span.corners-top, #cp-menu .panel #topicreview span.corners-top { + background-image: none; +} + +#cp-main .panel #topicreview span.corners-top span, #cp-menu .panel #topicreview span.corners-top span { + background-image: none; +} + +#cp-main .panel #topicreview span.corners-bottom, #cp-menu .panel #topicreview span.corners-bottom { + background-image: none; +} + +#cp-main .panel #topicreview span.corners-bottom span, #cp-menu .panel #topicreview span.corners-bottom span { + background-image: none; +} + +/* Friends list */ +.cp-mini { + background-color: #f9f9f9; + padding: 0 5px; + margin: 10px 15px 10px 5px; +} + +.cp-mini span.corners-top, .cp-mini span.corners-bottom { + margin: 0 -5px; +} + +dl.mini dt { + font-weight: bold; + color: #676767; +} + +dl.mini dd { + padding-top: 4px; +} + +.friend-online { + font-weight: bold; +} + +.friend-offline { + font-style: italic; +} + +/* PM Styles +----------------------------------------*/ +#pm-menu { + line-height: 2.5em; +} + +/* PM Message history */ +.current { + color: #999999; +} + +/* Defined rules list for PM options */ +ol.def-rules { + padding-left: 0; +} + +ol.def-rules li { + line-height: 180%; + padding: 1px; +} + +/* PM marking colours */ +.pmlist li.bg1 { + border: solid 3px transparent; + border-width: 0 3px; +} + +.pmlist li.bg2 { + border: solid 3px transparent; + border-width: 0 3px; +} + +.pmlist li.pm_message_reported_colour, .pm_message_reported_colour { + border-left-color: #bcbcbc; + border-right-color: #bcbcbc; +} + +.pmlist li.pm_marked_colour, .pm_marked_colour { + border: solid 3px #ffffff; + border-width: 0 3px; +} + +.pmlist li.pm_replied_colour, .pm_replied_colour { + border: solid 3px #c2c2c2; + border-width: 0 3px; +} + +.pmlist li.pm_friend_colour, .pm_friend_colour { + border: solid 3px #bdbdbd; + border-width: 0 3px; +} + +.pmlist li.pm_foe_colour, .pm_foe_colour { + border: solid 3px #000000; + border-width: 0 3px; +} + +.pm-legend { + border-left-width: 10px; + border-left-style: solid; + border-right-width: 0px; + margin-bottom: 3px; + padding-left: 3px; +} + +/* Avatar gallery */ +#gallery label { + position: relative; + float: left; + margin: 10px; + padding: 5px; + width: auto; + background: #FFFFFF; + border: 1px solid #CCC; + text-align: center; +} + +#gallery label:hover { + background-color: #EEE; +} diff --git a/phpBB/styles/prosilver/theme/forms.css b/phpBB/styles/prosilver/theme/forms.css new file mode 100644 index 0000000000..2d2eb56fed --- /dev/null +++ b/phpBB/styles/prosilver/theme/forms.css @@ -0,0 +1,370 @@ +/* proSilver Form Styles +---------------------------------------- */ + +/* General form styles +----------------------------------------*/ +fieldset { + border-width: 0px; + font-family: Verdana, Helvetica, Arial, sans-serif; + font-size: 1.1em; +} + +input { + font-weight: normal; + cursor: pointer; + vertical-align: middle; + padding: 0 3px; + font-size: 1em; + font-family: Verdana, Helvetica, Arial, sans-serif; +} + +select { + font-family: Verdana, Helvetica, Arial, sans-serif; + font-weight: normal; + cursor: pointer; + vertical-align: middle; + border: 1px solid #666666; + padding: 1px; + background-color: #FAFAFA; +} + +option { + padding-right: 1em; +} + +textarea { + font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; + width: 60%; + padding: 2px; + font-size: 1em; + line-height: 1.4em; +} + +label { + cursor: default; + padding-right: 5px; + color: #676767; +} + +label input { + vertical-align: middle; +} + +label img { + vertical-align: middle; +} + +/* Definition list layout for forms +---------------------------------------- */ +fieldset dl { + padding: 4px 0; +} + +fieldset dt { + float: left; + width: 40%; + text-align: left; + display: block; +} + +fieldset dd { + margin-left: 41%; + vertical-align: top; + margin-bottom: 3px; +} + +/* Specific layout 1 */ +fieldset.fields1 dt { + width: 10em; + border-right-width: 0px; +} + +fieldset.fields1 dd { + margin-left: 10em; + border-left-width: 0px; +} + +fieldset.fields1 { + background-color: transparent; +} + +fieldset.fields1 div { + margin-bottom: 3px; +} + +/* Specific layout 2 */ +fieldset.fields2 dt { + width: 15em; + border-right-width: 0px; +} + +fieldset.fields2 dd { + margin-left: 16em; + border-left-width: 0px; +} + +/* Form elements */ +dt label { + font-weight: bold; + text-align: left; +} + +dd label { + white-space: nowrap; + color: #333; +} + +dd input, dd textarea { + margin-right: 3px; +} + +dd select { + width: auto; +} + +dd textarea { + width: 85%; +} + +/* Hover effects */ +fieldset dl:hover dt label { + color: #000000; +} + +fieldset.fields2 dl:hover dt label { + color: inherit; +} + +#timezone { + width: 95%; +} + +* html #timezone { + width: 50%; +} + +/* Quick-login on index page */ +fieldset.quick-login { + margin-top: 5px; +} + +fieldset.quick-login input { + width: 15%; + vertical-align: middle; + margin-right: 5px; + background-color: #f3f3f3; +} + +fieldset.quick-login label { + white-space: nowrap; + padding-right: 2px; +} + +/* Display options on viewtopic/viewforum pages */ +fieldset.display-options { + text-align: center; + margin: 3px 0 5px 0; +} + +fieldset.display-options label { + white-space: nowrap; + padding-right: 2px; +} + +fieldset.display-options a { + margin-top: 3px; +} + +/* Display actions for ucp and mcp pages */ +fieldset.display-actions { + text-align: right; + line-height: 2em; + white-space: nowrap; + padding-right: 1em; +} + +fieldset.display-actions label { + white-space: nowrap; + padding-right: 2px; +} + +fieldset.sort-options { + line-height: 2em; +} + +/* MCP forum selection*/ +fieldset.forum-selection { + margin: 5px 0 3px 0; + float: right; +} + +fieldset.forum-selection2 { + margin: 13px 0 3px 0; + float: right; +} + +/* Jumpbox */ +fieldset.jumpbox { + text-align: right; + margin-top: 15px; + height: 2.5em; +} + +fieldset.quickmod { + width: 50%; + float: right; + text-align: right; + height: 2.5em; +} + +/* Submit button fieldset */ +fieldset.submit-buttons { + text-align: center; + vertical-align: middle; + margin: 5px 0; +} + +fieldset.submit-buttons input { + vertical-align: middle; + padding-top: 3px; + padding-bottom: 3px; +} + +/* Posting page styles +----------------------------------------*/ + +/* Buttons used in the editor */ +#format-buttons { + margin: 15px 0 2px 0; +} + +#format-buttons input, #format-buttons select { + vertical-align: middle; +} + +/* Main message box */ +#message-box { + width: 80%; +} + +#message-box textarea { + font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif; + width: 100%; + font-size: 1.2em; + color: #333333; +} + +/* Emoticons panel */ +#smiley-box { + width: 18%; + float: right; +} + +#smiley-box img { + margin: 3px; +} + +/* Input field styles +---------------------------------------- */ +.inputbox { + background-color: #FFFFFF; + border: 1px solid #c0c0c0; + color: #333333; + padding: 2px; + cursor: text; +} + +.inputbox:hover { + border: 1px solid #eaeaea; +} + +.inputbox:focus { + border: 1px solid #eaeaea; + color: #0F4987; +} + +input.checkbox { + width: auto !important; + background-color: transparent !important; +} + +input.inputbox { width: 85%; } +input.medium { width: 50%; } +input.narrow { width: 25%; } +input.tiny { width: 110px; } + +textarea.inputbox { + width: 85%; +} + +.autowidth { + width: auto !important; +} + +/* Form button styles +---------------------------------------- */ +input.button1, input.button2 { + font-size: 1em; +} + +a.button1, input.button1, input.button3, a.button2, input.button2 { + width: auto !important; + padding-top: 1px; + padding-bottom: 1px; + font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; + color: #000; + background: #FAFAFA none repeat-x top; +} + +a.button1, input.button1 { + font-weight: bold; + border: 1px solid #666666; +} + +input.button3 { + padding: 0; + margin: 0; + line-height: 5px; + height: 12px; + background-image: none; + font-variant: small-caps; +} + +/* Alternative button */ +a.button2, input.button2, input.button3 { + border: 1px solid #666666; +} + +/* button in the style of the form buttons */ +a.button1, a.button1:link, a.button1:visited, a.button1:active, a.button2, a.button2:link, a.button2:visited, a.button2:active { + text-decoration: none; + color: #000000; + padding: 2px 8px; + line-height: 250%; + vertical-align: text-bottom; + background-position: 0 1px; +} + +/* Hover states */ +a.button1:hover, input.button1:hover, a.button2:hover, input.button2:hover, input.button3:hover { + border: 1px solid #BC2A4D; + background-position: 0 100%; + color: #BC2A4D; +} + +/* Topic and forum Search */ +.search-box { + margin-top: 3px; + margin-left: 5px; + float: left; +} + +.search-box input { +} + +input.search { + background-image: none; + background-repeat: no-repeat; + background-position: left 1px; + padding-left: 17px; +} diff --git a/phpBB/styles/prosilver/theme/images/arrow_down.gif b/phpBB/styles/prosilver/theme/images/arrow_down.gif new file mode 100644 index 0000000000000000000000000000000000000000..e45c365ecc48ece968e99c88ebde7c2e487268c9 GIT binary patch literal 113 zcmZ?wbhEHbWMg1sXkcV8Ha2EpU{L&LW#jB05NYR}UrUX)*2prhcJlcNv>k}p;WN-a(;Doah#V^I9b!pOkD$e;r>31})C0|OIR4}ZeU N)fX>VFK1w|1^|_$9lHPk literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/arrow_left.gif b/phpBB/styles/prosilver/theme/images/arrow_left.gif new file mode 100644 index 0000000000000000000000000000000000000000..076a5596f1e8009581a8d943af4cad96a9f15493 GIT binary patch literal 111 zcmZ?wbhEHbWMN=qXkcV8Ha2EpU{L&LW#jB05NYR}UrUX)*2prhcJlcNv>k}p;WN-a(;Doah#V^I9b!pOkD$e;r>i2-CT0~3c2L)(hX J=K+ii)&Nry91Z{g literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/arrow_right.gif b/phpBB/styles/prosilver/theme/images/arrow_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..c5827a401f4d9796b0c94f52ff7173d01564efad GIT binary patch literal 111 zcmZ?wbhEHbWMN=qXkcV8Ha2EpU{L&LW#jB05NYR}UrUX)*2prhcJlcNv>k}p;WN-a(;Doah#V^I9b!pOkD$e;r>i2-CT0}}^}P}_>k J=K+ii)&NlC8`uB< literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/arrow_up.gif b/phpBB/styles/prosilver/theme/images/arrow_up.gif new file mode 100644 index 0000000000000000000000000000000000000000..38b5a62c171be2186622b4b06f92443cbda37e3f GIT binary patch literal 113 zcmZ?wbhEHbWMg1sXkcV8Ha2EpU{L&LW#jB05NYR}UrUX)*2prhcJlcNv>k}p;WN-a(;Doah#V^I9b!pOkD$e;r>31})C0|OIRPd>wn NoeQOERxmJF0|1h+9W(#{ literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/bg_button.gif b/phpBB/styles/prosilver/theme/images/bg_button.gif new file mode 100644 index 0000000000000000000000000000000000000000..03172ff5c674ae95000d265bff3e5068cab73af0 GIT binary patch literal 182 zcmV;n07?HxNk%w1VFUme0K@ln-?Cj_0=;r6<;o#x!?(XE| z<gwv++S>pB|L^bbA^8LV00000EC2ui00aOS000FupeK4-sVxFUNfH2ba934PwB4Iy kAy$z63IYUzDIOk-hJnN66fV%gBr*9|uh^`1%MAelJFawYMF0Q* literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/bg_header.gif b/phpBB/styles/prosilver/theme/images/bg_header.gif new file mode 100644 index 0000000000000000000000000000000000000000..351de9f46ac2941ac16afc674c99f8ac66767091 GIT binary patch literal 690 zcmZ?wbhEHbWMzn9c*elMRI`(*dIxLMLEh zKjWEtlc{<;@3dQNZAY1^wlS1#6qxr^VD4j{DL1$$UgnwrM3)$=wy`wqWv<`DKkET! z_ZjXmwYqtvo;-I?>Na+vxBquyukctd^7KH^Zjh~o_K|` z=PX<6QMT42jOCjJ<~`w^aYtb86PAX3+>@^{*X|Nr@SL%7EB~BFj1^n>XFp`F+by{8 z1w;8Jp+&D41{qNN$pUtf4u}NB2?P882D7Fn!PZv4j?S)bhu&Vf2@|{~Pnqg5ea1|Q z*|P=a&C^-9kax)v#^uY^R;^-KyVh;P#!Wt3wr-Q!vBPlpZpnT7Tn--OIC4bs_;Hm} zr+)sJYuD^=-n6@OhyVV4`A3f|o<3!H@j~_WYtwh{j6Qxe{_=(O`*)dN zzij{hWn*BRCt(rL?%1p)q;}@ugomx|{JI`fA{HjO%1IcO-Pp0Q!@b|csjbFwl1l4j zb;%VWI~S*Vvl}F?n_*ep;5*x?=$Xxd$?0A5?cF&Vx zD(whe?YJpz>Vc`NyVu7Dc8Km?kaJTx^2u* Gum%8ywf-3Z literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/bg_list.gif b/phpBB/styles/prosilver/theme/images/bg_list.gif new file mode 100644 index 0000000000000000000000000000000000000000..89f8963fde57e8227f4ef1677724e16d1c664151 GIT binary patch literal 664 zcmZ?wbhEHbWMzn9c*elM+I)zqdOLI79=5h)oZV*x7rx}5{gA8wB4^(PrkWkB%?Ej> z-C}Jzz}9+%z2hYB^gA4#rx?pOv$Y)Io_vjO#$ADVPZ`QKGS}?no_K|^Y8z|IVYZgT zJX5Z7_MT&JJH|ij0bAQqrkb5>tw%Y!PVr2=$v@{2*M!T=^?L;7KH=y-!`gU&rD1Q@ zx&H$5pYhGSFSPhIN9Rew1)bABq^oqG| zH)qdTrs^H+9Vgh^k26+mVXoc9Shu6*;Rz@0k=_wVyPdSw6f*>i`N zuU^Z&earmegTm*}O5eWm{`@KQ=a2ON|0WzF919j4Y~~VDn{sf1VskrxsK=Cy#fy%1 zn;T`_*|8|uT~@)l%f@lil7`9Zl`CRS26ddCZjc-|!_v6LcQ$9yvo8lXFF()V(9E^g xam$K}JRTGIB2R5ud08@GA=^x^t*b(1A~t9B9+;{r+2%Kp*Ivkm(G!x)huUC(DtHpS|hA?AHC$vIEeJ3%Gc^M^IXfCYKS3KrMMp+S2}=-73Qto~RajVDTwh>fWM*h*Yiw_A zaSe2JcNcjDdnJ8;DuIJDG&YD4iiG0w2`|tAh z!qVN!)7{6=+uY{v&DP)P^ZfVw{_XVpfq|}%G~S!|Npwo z+1>5?A^8LV00000EC2ui0A2xU000L6z+P`-Voi?7q;kn@I-k&}bV{vSuh^`1%k6rz zJsfB?qL|O41ejE#(BSV%Upt9x5m@{kM%(=7Y&!9t#9!C>oFt6t4|HHrYRW6PdRySDAy zxO3~?&AYen-@t~;D7`cXyAbeCaBNG7S|l1w(~WRp4|Amx-)R%zvxSZ1l^mRxq}<(FWFDdw1D zmTBghXr_tg3=6dB=9_TFDd(JY)@kRRc;>0+o_zM{=bwNED(Iku4*G!sh$gD&qKr1` z=%bKED(R$@R%+>`m}aW!rkr-_>8GB4aKNafmTKy$sHUpws;su^>Z`EED(kGY)@tjm zxaO*Bt{Cv(>#x8DE9|hu7HjOW$R?}ovdlK??6c5DEA6z@R!eOL)@G~iw%m5>?YH2D zD=x9vj%)6@=%%ax?z-$!yF!3Za; z@WTHx?C`@7Lws<=6jyAqy%S%o@x~m7n{me=hb*$QACGME$td$6#L6tU?DESn$1L;A zG}mnN%{b?*^Ugf??DNk+2QBmv7jWRi(MTt)^wLZ>?ex=7M=kZ#R99{F)mUe(_10W> z?X}iD82$CwWS4FB*=VP&_S$SOeL>rB$1V5Vbk}XS*D&0z_uhQ>?f2h+2QK*Fgcol3 z;fN=$_~MK=?)c-7M=tr~lvi%~<(Ox#`R1H=?)m4Shc5c)q?c~`>8Pi!`s%E=?)vMn z$1eNqwAXI``|Y^ruKVu1_wM`ezy~k<@WdBy{PD;qul(}NH}CxO&_^%*^wd{x{q@*q zul@Gickli8;D;~%_~e&w_|WL5um1Y%x9|S@@WU@c2pTM8|NZ#qumAr1_wWDz_UJ+V z07$?B8t{M!OrQc05`qOf@PQDFpaduAj}}nyf*8!81~TiOrsjt$i_Ch@r`hdqa5c* W$2!^#@s4=RqaOFj$3EUL2mm{Rf3^$& literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/bg_tabs2.gif b/phpBB/styles/prosilver/theme/images/bg_tabs2.gif new file mode 100644 index 0000000000000000000000000000000000000000..a2142d5432be00a2e6395bed8b503a0eb053de5b GIT binary patch literal 420 zcmV;V0bBk@Nk%w1VFv(d0M!5h-R=9j%-PD^>;M1%;p_6)>G#^|_}1t3)8z8r?)=T( z?a<=z%--$P<@43%^v>Vz%iZkH;qcq+`O@R@&fxFM-Rt1+{o(Qc#?RT|@B7^5?%(eF z$I#ot(%s+b@Y>|;@ACHY`Tyeb|LODm%G2Gz$<_D!{?gv&)7s+H-sjQVBe^A^8LV00000EC2ui00#hR000KTz)}f=0u2VC5byV*4MZZCP8OS8uGd`8!sRA7 ziLe+0D4Q{ow3=gRyGez(oOGz$Z;rfv)#&?i2!Vnu6NQE<3yF$85si*16p@lU50#cR z3YnTU44s}I5TT+P6{V&c0;#Gws;VBXsjsjuumS|Nx3IabyQ;mZzqYtX#769z?d||0@&Ft4`1$(#{Qds_ O00RmfNU$KlAOJh7n-8b} literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/corners_left.gif b/phpBB/styles/prosilver/theme/images/corners_left.gif new file mode 100644 index 0000000000000000000000000000000000000000..206e50368daff146227113e91530849214569021 GIT binary patch literal 55 zcmZ?wbhEHbWMklAXkcXc|NlP&1B2pE7DfgJMg|=qn*k)lz{J-gm^kyquSIh%8{Ym< I$jV?10A!F3wg3PC literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/corners_left.png b/phpBB/styles/prosilver/theme/images/corners_left.png new file mode 100644 index 0000000000000000000000000000000000000000..256bde3daa62be78f5ba32f324fda6090183a2ce GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz0U{m4&*%XumUKs7M+Sy#H?H_c7yZU!S`3 z`v3p`3`junCkrD312=;XNDO2K1B-0H%8+A$E^FpqxOa3r>!YG6%Q>dF-RzvP-LunB IN07l902eVda{vGU literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/corners_right.gif b/phpBB/styles/prosilver/theme/images/corners_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..0ba66d50b2afa91504e9da7c1905ad7576502ef7 GIT binary patch literal 56 zcmZ?wbhEHbWMklAXkcXc|NlP&1B2pE7DfgJMg|=qn*k)lz{Ky4$o>ne4iAh3&L2`^WYRA5oO4L^V4Js-_;eQwGtO9r vb18?EcF5l3lUA6=a3sAULP~`}Ac4V8+^F^0SN$nKYZyFT{an^LB{Ts5ju$_5 literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/corners_right2.gif b/phpBB/styles/prosilver/theme/images/corners_right2.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d689446ee075a2fb60d93652f567977ae918952 GIT binary patch literal 111 zcmZ?wbhEHbWMklA*v!N5`TOs$KYsuH`|s1YU;qC7|NQ;egV&!QzW#FI!P{>?f1kel z`qZ7*|NsAIfC0syEQ}05tvVn9kQodtG81?fUrVxB&>a~ho7UpvD73_Z>4{)n?53&i ITU{8e0cGbjQUCw| literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/created_by.jpg b/phpBB/styles/prosilver/theme/images/created_by.jpg new file mode 100644 index 0000000000000000000000000000000000000000..68d56e201304d29a1753b41ddce1129866ff14ea GIT binary patch literal 52977 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

Us#1yO)ew&|1m0n9 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 Mmx)v}%>MsP0G-J$pa1{> literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/gradient.gif b/phpBB/styles/prosilver/theme/images/gradient.gif new file mode 100644 index 0000000000000000000000000000000000000000..21dc11f13b1545706dfeaa4dd2b09a308b072ac7 GIT binary patch literal 549 zcmV+=0^0pYNk%w1VFduk0M!5hhk05 z^xNm~>GAf};_c<`^xNj|=kWIE@%HKQ_u=dE-|6w??)Ba1@#OCG*5d8i+{#-?(6dR>+|>L@Acs8^5gCE-sth%=+|C5^X>Hb*W>Nn z=kVU?@zvt&?DP2A=I_?y?e6vY*yQf!@AcB)>+16N)8OmW;p_ka000000000000000 z00000A^8LV00000EC2ui00jWY000L6K$~z#EE=S@^tu&)0kYfPplFgoTEOh=V7Kivo_1kdcuYl$Dko zn3w-q@|_{sHv)}Ev>Gvu(7Wtw6qAfxVgF(yuH38z`!oU#Kp$P#T3fR z%*_eU(9zNa)YaD4*CN{6+!Nm4;NczPb8pFo2O75bs5(W4-eDqR|&sne%Wp~9F-wW`&tRSjs} n%C&3P6=1`P9ZOd1fwO4Ss#U9@t=qRV;>w*%x31l|K>z?d!+=+H literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/icon_bookmark.gif b/phpBB/styles/prosilver/theme/images/icon_bookmark.gif new file mode 100644 index 0000000000000000000000000000000000000000..2644293f7dee5ddb7b0b81562a3ef1d4b8eb9f4f GIT binary patch literal 218 zcmV<0044uNNk%w1VGsZg0K^{vE_}}a|Nk;;rrq7$nz`8S;pFl0@#5m*!j+)y?d{*+ z-?hx*62*95b^hN#wV} z_VDq^RdJ0vPRiWtA^8LW0018VEC2ui01yBU000G7;3tk`NfJP+0)+Vi!*C=@EV%Gd zAjUD=CV-)Ekpv0>U@20_JS-4T5@)D%G?TzIm_Rr-l*YCMP;eLlj8;j41r~tC8W%u) U1cY(hF2b`%EF}VeE`=cgJDT-mF8}}l literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/icon_bump.gif b/phpBB/styles/prosilver/theme/images/icon_bump.gif new file mode 100644 index 0000000000000000000000000000000000000000..014cd9bd1513f818426238b66e0547b0b6e273dc GIT binary patch literal 148 zcmZ?wbhEHb6ky#m4PIOH p)|@br?lU%!s4$N&4D){0cjBRYp~h6dd7b{%CrdU(N3bwh0|164=f)A4IGvN14{@6k}C!Z5^w?(og)bk3Id!V F06RZWY-j)g literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/icon_fontsize.gif b/phpBB/styles/prosilver/theme/images/icon_fontsize.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c7d83527c4d2fc19b338b0359c3b4f7089a0d2e GIT binary patch literal 559 zcmV+~0?_?ONk%w1VI2S@0M$PL(cQ>L!`SG!(d2!t&B)v8yVK>S#@)!>>W;Y6hO*K3`uu*b&hhs8smR{m>hrbFhJaW@b>w>*5<(j|Qzt-o%*XaNM z|H|C!A^8LW002J#EC2ui0384%000L6z@KnPEE2su6^F#!$}J^*q@ zy^p3pJpeu;9~coJEjSHJs1(mX95)I(S`RZ4J}!((xorp@3m`QQged_LR!}_}8u^+H zFCeUgLa?C0g9sBUEI4T4m@-YIQ1J(i3>=6{xOf4x=aHW{OU|TO)5Z}bNtBk*v4cks zsb{EEEh%&;(IRNNhO|?%sne%SP@|GGtf)m+Ei$)~SUN?fK(JxOjwM@GqyQ@)u6)3X xHm%yVY}=4D`z0XUxN_&x4ZJeRS&w(|=GD7Lk*&8j`}z$@08k*eoC$*f06Re~Aff;O literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/icon_home.gif b/phpBB/styles/prosilver/theme/images/icon_home.gif new file mode 100644 index 0000000000000000000000000000000000000000..8ae9004534d5f4244ae54be08d0a64c62f928325 GIT binary patch literal 306 zcmZ?wbhEHbC>k_fBt;<@ZsCHZ(qNDee>qcj~_o?ym;~U?c49)zyJLC z^WMFCpFe+o`0(MCD_35c%6~9&4aAPkhI8jp}T#j!i9x} z+}qZLtJ44f|H|C!A^8LW0018VEC2ui01yBU000G8;3tk`X#!lga3<*l>BccdOH^LW zc}7h}h=<41*$g280O^t$5{<)wfTUY8_&SS`tBWT{xw`pwszCmNXTi6Jj8= VUIPkdKx>Hr0uvJ!euX6=06Qy~X43!w literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/icon_members.gif b/phpBB/styles/prosilver/theme/images/icon_members.gif new file mode 100644 index 0000000000000000000000000000000000000000..48e3e5f5f3a2635887e6bc27089453954b47aabd GIT binary patch literal 264 zcmV+j0r&n#Nk%w1VGsZg0K^{vX_~d$=IwK!yOg)i(AL?i#n&Zkle5d)z}4f-+~(ln z;Wu}jRg9}jg{O$F#~Njhe5b&Uvd5ac(8by5L4KkFNLf|H|C!A^8LW0018VEC2ui01yBU000Gr;3s|&ML8ehNMmaONg`ARz*t2a z0bcJx4o)XxX*Cc&PhcTb7!V^$BDrinM-HA3A`re>pH~dBU>r0HL2F=;WH1LqK}awh zM3)EBmv}TcMIT&AJpvjX3UwcO0fZh24IKm;PZA7{Jq8a34J-!>5eSVK2?r1l6JQ4d O4GWtU3=pX;Apko~i)nKJ literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/icon_pages.gif b/phpBB/styles/prosilver/theme/images/icon_pages.gif new file mode 100644 index 0000000000000000000000000000000000000000..44cc34500ec4fb84b2ea7289fadd2d312d143491 GIT binary patch literal 167 zcmZ?wbhEHbU1BV4(QV%EsA0Akxk`zo4=x zGd-h3!N|bCL?I+2RiPlGz{yF$y(qu5Ku5tbCr2R&Bwwr$lv&?_3PKqo;}N5eEj6elk*SV zI)424jT<+9{rdIl)vNpW?|=UM`Ocj?Tvhu@SDu=__xk(y@9Wl`d-?L^yLa#2ym|BD z#fvXrzTCTaZ_b=KhYlTDv0}yT+qa)QdGi1N{|y^9+`4t^?%lf|K781C_Tl8olmGtx zTUc0l?b@|N*I%qSe(&wuxBveAJ9XzZ11Ui9CkrD3g8_pMNE66U3~WaoW)yhnNc9_B z%RU*iEW+c_OVzApLFS(uT(WRNf#XCSi_@%A^8LW0015UEC2ui01yBU000GKpeK%GX_mj=LD8Lzb0343wfYc~Oi!1=cVPrDVuO~syItZDACAst{ hvK#)#b$4=*ZjZ*4*G|nYV78x^kescB8+<(b*Vd zjT&T*9A=LqY?diA!(2-aFi@>lRbKwO^T^;oU_5p(7?*i%+}lG@ATl}`uX|!_xJbp_4V`f^YQWV?Ck98>+9<3>gVU@<>lq$5In8Cg?6vQ}K;AF0rOQvExA*NdF6|i_@% literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/icon_sendemail.gif b/phpBB/styles/prosilver/theme/images/icon_sendemail.gif new file mode 100644 index 0000000000000000000000000000000000000000..f6b8aa10e13385a0f5fe6752a4a6342b915692b3 GIT binary patch literal 531 zcmZ?wbhEHb6k||fxT?euGG*Vpckgs+)-7AMEM?x2t5>hyyLa#D)2D@ng*R{BeDUJN z#ful$oVtJc^5u<;s{N?fHQN2MU*+tXp^P;lqb--n=2X@`0($u z6UMTou4&P1%$&6Xtdf!?WijH+95S37%-y|BE@|xS)44e~Bo`>i_BAWA3wFq`vdYNt z@-Lm`oF>T5wPE*01^&i|Bxey`vz92p%O6Q9T??8cLxnVoy@$jrkBPPAKBe*5r|ndt(1b9#%c zR}1Hn!%FOmo{LgeK5|uJx31+f<#N>Q76{!~#OfWkvfr8S(WRrSuj|inGU8HB;|bVg zz-QrFli~IyvYpYlU?!S?kDhwD-|^v}Ji;>f^Y F4FFSL${_#% literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/icon_subscribe.gif b/phpBB/styles/prosilver/theme/images/icon_subscribe.gif new file mode 100644 index 0000000000000000000000000000000000000000..5ca18af80aec21b021bf355d98d3319a3c62838c GIT binary patch literal 216 zcmZ?wbhEHb6kyV8>dAmZISC`J-J$>_Ov;6tIfn7P%b_oV|w=F+BWy|@L{>@&M z3s2p7%>V<6KUo+V7-Sf9Kms5;8CXLV)caC0=ZU$BIlkWJKXoEwqOe09Pe9~t%Z9WC z96uT?&m=G#T;k|Dc*r0@fuSimdBP3fqDU!*Ldk;Whk**}hSnGM$(RZqIab`gtM;kT NkN>RdO)82E)&S0UST_Iw literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/icon_textbox_search.gif b/phpBB/styles/prosilver/theme/images/icon_textbox_search.gif new file mode 100644 index 0000000000000000000000000000000000000000..b3b51d8425a2426065899ca61099fa2e770950fc GIT binary patch literal 335 zcmZ?wbhEHb6kyld-m*^GG)r6dk=T+-1+$N;~O__ zeE$6T>({RnCrVB`}y-{MMXt#Z||#D zuYUaaF>BVWnKNgeIdi6}s_M;~H(R!BdGzSf>eZ|J`}=q8+BJLj?B~y)U%h(u>C>mz zu3cNZcJ1=z%g>%Y`|H=Q^78WkV8B2$Q2fcl$iQI8paaqY@)HAF&Vd;P9y&s?9cQ{j z7$jQzjybbBZ{%5*p24DYU?2aH$w`V9`&v#N;5fKMOm9ZE;x8L^UCzgcE>v7|V^!ng zROjT9(f4OylVufDWz?7Ma$^wY)o0V!*4LZr@2t}kd8EC<*5Sq3>1mm@J9?f%f1`1dvnFV(VU@J+^!Lcy>fh<_ZJoKk)8F0Q-F&Rv zE_}}W`}_a@|H|C!A^8LW0018VEC2ui01yBU000Gh;3s}b6eVMtQqM3Hl%tNx_RfliP+)t=;eY|JEhHK1B?I#v|tnjf)J(Kp?)7EqO%%`L5M)rM7F-6|cfO%ocM6s}k3&U6=0Mx5wc)1d`>kH&1t zIdO9T>@#OAFU<8@a{0>DDbf3G_O8FayFdNG!=C%ApFMvOTYhJc(vyQ94}Mtw`OC4@ z-#>M~OZa#DTdT0en^0RjhWyB^?fTw_t8*33o!+dbxY0RH$LjMp{yA#>6Rxjetx?at zv#k5{jW1p|b5pk_ok`%DZ6-Y9c=9P8p~I|&%Y|CJA_UKOksiB~qh=_*X-Pl-HR(yPVOG`_|#ld7` zV!61r($UP7l#w$tGwSK&A^8LW000jFEC2ui01p5R000C=@X1LlU4~Jn5*3c4OiAD% zg_MMd_Aq9!Oi1WHN;pdcONI^#04R_&fQ?BGs5t-~yJcwbAUulW9q2h+ literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/images/top.gif b/phpBB/styles/prosilver/theme/images/top.gif new file mode 100644 index 0000000000000000000000000000000000000000..4d2b8f3822d5978aefb03a255d6c726bb8222b25 GIT binary patch literal 204 zcmZ?wbhEHb z{^;3DK%osg_C9<2@%H2APv3l4y?Mvo2ancl+4=wf|CJlJz5Du;0XICMAjY5r zQUbD*fz@+CswH=jVvlmv`H;Quzw|JzInX40fZ6mw<1uZg1p-Rz*)}CDu;6u8RCu^V lg<Do>+gcbHtO1Z@Tm=9C literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/theme/index.htm b/phpBB/styles/prosilver/theme/index.htm new file mode 100644 index 0000000000..e69de29bb2 diff --git a/phpBB/styles/prosilver/theme/large.css b/phpBB/styles/prosilver/theme/large.css new file mode 100644 index 0000000000..dfb1d2c2e6 --- /dev/null +++ b/phpBB/styles/prosilver/theme/large.css @@ -0,0 +1,3 @@ +body { + font-size: 12px; +} \ No newline at end of file diff --git a/phpBB/styles/prosilver/theme/links.css b/phpBB/styles/prosilver/theme/links.css new file mode 100644 index 0000000000..c04d7f0420 --- /dev/null +++ b/phpBB/styles/prosilver/theme/links.css @@ -0,0 +1,198 @@ +/* proSilver Link Styles +---------------------------------------- */ + +a:link { color: #898989; text-decoration: none; } +a:visited { color: #898989; text-decoration: none; } +a:hover { color: #d3d3d3; text-decoration: underline; } +a:active { color: #d2d2d2; text-decoration: none; } + +/* Coloured usernames */ +.username-coloured { + font-weight: bold; +} + +/* Links on gradient backgrounds */ +#search-box a:link, .navbg a:link, .forumbg .header a:link, .forabg .header a:link, th a:link { + color: #FFFFFF; + text-decoration: none; +} + +#search-box a:visited, .navbg a:visited, .forumbg .header a:visited, .forabg .header a:visited, th a:visited { + color: #FFFFFF; + text-decoration: none; +} + +#search-box a:hover, .navbg a:hover, .forumbg .header a:hover, .forabg .header a:hover, th a:hover { + color: #ffffff; + text-decoration: underline; +} + +#search-box a:active, .navbg a:active, .forumbg .header a:active, .forabg .header a:active, th a:active { + color: #ffffff; + text-decoration: none; +} + +/* Links for forum/topic lists */ +a.forumtitle { + font-family: "Trebuchet MS", Helvetica, Arial, Sans-serif; + font-size: 1.2em; + font-weight: bold; + color: #898989; + text-decoration: none; +} + +/* a.forumtitle:visited { color: #898989; } */ + +a.forumtitle:hover { + color: #bcbcbc; + text-decoration: underline; +} + +a.forumtitle:active { + color: #898989; +} + +a.topictitle { + font-family: "Trebuchet MS", Helvetica, Arial, Sans-serif; + font-size: 1.2em; + font-weight: bold; + color: #898989; + text-decoration: none; +} + +/* a.topictitle:visited { color: #d2d2d2; } */ + +a.topictitle:hover { + color: #bcbcbc; + text-decoration: underline; +} + +a.topictitle:active { + color: #898989; +} + +/* Post body links */ +.postlink { + text-decoration: none; + color: #d2d2d2; + border-bottom: 1px solid #d2d2d2; + padding-bottom: 0; +} + +.postlink:visited { + color: #bdbdbd; + border-bottom-style: dotted; + border-bottom-color: #666666; +} + +.postlink:active { + color: #d2d2d2; +} + +.postlink:hover { + background-color: #f6f6f6; + text-decoration: none; + color: #0D4473; +} + +.signature a, .signature a:visited, .signature a:active, .signature a:hover { + border: none; + text-decoration: underline; + background-color: transparent; +} + +/* Profile links */ +.postprofile a:link, .postprofile a:active, .postprofile a:visited, .postprofile dt.author a { + font-weight: bold; + color: #898989; + text-decoration: none; +} + +.postprofile a:hover, .postprofile dt.author a:hover { + text-decoration: underline; + color: #d3d3d3; +} + + +/* Profile searchresults */ +.search .postprofile a { + color: #898989; + text-decoration: none; + font-weight: normal; +} + +.search .postprofile a:hover { + color: #d3d3d3; + text-decoration: underline; +} + +/* Back to top of page */ +.back2top { + clear: both; + height: 11px; + text-align: right; +} + +a.top { + background: none no-repeat 50% 50%; + text-decoration: none; + width: 11px; + height: 11px; + display: block; + float: right; + overflow: hidden; + letter-spacing: 1000px; + text-indent: 11px; +} + +a.top2 { + background: none no-repeat 0 50%; + text-decoration: none; + padding-left: 15px; +} + +/* Arrow links */ +a.up { background: none no-repeat left center; } +a.down { background: none no-repeat right center; } +a.left { background: none no-repeat 3px 60%; } +a.right { background: none no-repeat 95% 60%; } + +a.up, a.up:link, a.up:active, a.up:visited { + padding-left: 10px; + text-decoration: none; + border-bottom-width: 0px; +} + +a.up:hover { + background-position: left top; + background-color: transparent; +} + +a.down, a.down:link, a.down:active, a.down:visited { + padding-right: 10px; +} + +a.down:hover { + background-position: right bottom; + text-decoration: none; +} + +a.left, a.left:active, a.left:visited { + padding-left: 12px; +} + +a.left:hover { + color: #d2d2d2; + text-decoration: none; + background-position: 0 60%; +} + +a.right, a.right:active, a.right:visited { + padding-right: 12px; +} + +a.right:hover { + color: #d2d2d2; + text-decoration: none; + background-position: 100% 60%; +} diff --git a/phpBB/styles/prosilver/theme/medium.css b/phpBB/styles/prosilver/theme/medium.css new file mode 100644 index 0000000000..4c992f9fd8 --- /dev/null +++ b/phpBB/styles/prosilver/theme/medium.css @@ -0,0 +1,3 @@ +body { + font-size: 11px; +} \ No newline at end of file diff --git a/phpBB/styles/prosilver/theme/normal.css b/phpBB/styles/prosilver/theme/normal.css new file mode 100644 index 0000000000..d0783d1882 --- /dev/null +++ b/phpBB/styles/prosilver/theme/normal.css @@ -0,0 +1,3 @@ +body { + font-size: 10px; +} \ No newline at end of file diff --git a/phpBB/styles/prosilver/theme/print.css b/phpBB/styles/prosilver/theme/print.css new file mode 100644 index 0000000000..3143b3cf9b --- /dev/null +++ b/phpBB/styles/prosilver/theme/print.css @@ -0,0 +1,129 @@ +/* proSilver Print Style Sheet +------------------------------------------------- + Author: subBlue ( http://www.subBlue.com/ ) + Version: 25 August 2004 + + Copyright 2004 phpBB Group +-------------------------------------------------*/ + + +/* Lots still TODO here! */ + +/* General markup styles */ +* { + padding: 0; + margin: 0; +} + +body { + font: 11pt Verdana, Arial, Helvetica, sans-serif; + color:#000000; +} + +a:link { color: #000000; text-decoration: none; } +a:visited { color: #000000; text-decoration: none; } +a:active { color: #000000; text-decoration: none; } + +img, .noprint, #sub-header, #sub-footer, .navbar, .box1, .divider, .signature { display: none; } + +/* Container for the main body */ +#wrap { + margin: 0 2em; +} + +p { font-size: 85%; } +.copyright { font-size: 75%; } +.page-number { float:right; width: auto; text-align: right; font-size: 75%; } + +h1, h2, h3, h1 a, h2 a, h3 a { + font-family: "Trebuchet MS",georgia,Verdana,Sans-serif; + color: #000000; + background: none; + text-decoration: none; + font-weight: bold; +} + +h1 { font-size: 20pt; } +h2 { font-size: 16pt; margin-top: 1em; } +h3 { font-size: 14pt; margin-top: 1em; } + +.content { + font-size: 11pt; + line-height: 14pt; + margin-bottom: 1em; + font-family: "Lucida Grande", "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif; + overflow: hidden; +} + +/* CSS2 Print tip from: http://www.alistapart.com/articles/goingtoprint/ */ +.postbody a:link, .postbody a:visited, .postbody a:active, .postbody a:hover { + text-decoration: underline; + padding: 0.1em 0.2em; + margin: -0.1em -0.2em; + color: #666; + background: none; + font-size: 100%; +} + +html>body .postbody a:link:after, html>body .postbody a:visited:after { + content: " (" attr(href) ") "; + font-size: 90%; + text-decoration: none; +} + +hr { + height: 1px; + background-color: #999999; + border-width: 0; +} + +.author { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 75%; + margin-bottom: 0.6em; +} + +.date { + font-family: Verdana, Arial, Helvetica, sans-serif; + float: right; + position: relative; + text-align: right; + font-size: 75%; +} + +/* Dont want to print url for names or titles in content area */ +.postbody .author a:link, .postbody .author a:visited, +html>body .postbody .author a:link:after, +html>body .postbody .author a:visited:after, +.postquote .quote-by a:link, .postquote .quote-by a:visited, +html>body .postquote .quote-by a:link:after, +html>body .postquote .quote-by a:visited:after, +html>body .postbody h1 a:link:after, html>body .postbody h2 a:link:after { + text-decoration: none; + content: ""; +} + +/* Poster profile */ +.postprofile { display: none; } +.grip-show { display:none; } + +/* Quote */ +.postquote { + font-size: 85%; + margin: 1em 18% 1em 4%; + padding: 0.5em; + position: relative; + line-height: 1.5em; + border: 1px #999999 solid; +} + +.postquote img { display: none; } +.postquote span { display: block; } +.postquote span .postquote { font-size: 100%; } +.quote-by { font-weight: bold; } + +/* Misc page elements */ +div.spacer { clear: both; } + +/* Accessibility tweaks: Mozilla.org */ +.skip_link { display: none; } diff --git a/phpBB/styles/prosilver/theme/stylesheet.css b/phpBB/styles/prosilver/theme/stylesheet.css new file mode 100644 index 0000000000..a28a95d2a5 --- /dev/null +++ b/phpBB/styles/prosilver/theme/stylesheet.css @@ -0,0 +1,19 @@ +/* phpBB 3.0 Style Sheet + -------------------------------------------------------------- + Style name: proSilver + Based on style: proSilver (this is the default phpBB 3 style) + Original author: subBlue ( http://www.subBlue.com/ ) + Modified by: + + Copyright 2006 phpBB Group ( http://www.phpbb.com/ ) + -------------------------------------------------------------- +*/ + +@import url("common.css"); +@import url("links.css"); +@import url("content.css"); +@import url("buttons.css"); +@import url("cp.css"); +@import url("forms.css"); +@import url("tweaks.css"); +@import url("colours.css"); \ No newline at end of file diff --git a/phpBB/styles/prosilver/theme/theme.cfg b/phpBB/styles/prosilver/theme/theme.cfg new file mode 100644 index 0000000000..19fb8517b2 --- /dev/null +++ b/phpBB/styles/prosilver/theme/theme.cfg @@ -0,0 +1,35 @@ +# +# phpBB Theme Configuration File +# +# @package phpBB3 +# @copyright (c) 2006 phpBB Group +# @license http://opensource.org/licenses/gpl-license.php GNU Public License +# +# +# At the left is the name, please do not change this +# At the right the value is entered +# For on/off options the valid values are on, off, 1, 0, true and false +# +# Values get trimmed, if you want to add a space in front or at the end of +# the value, then enclose the value with single or double quotes. +# Single and double quotes do not need to be escaped. +# +# Available and used values: +# parse_css_file +# + +# General Information about this theme +name = prosilver +copyright = © phpBB Group, 2007 +version = 3.0.0 + +# Some configuration options + +# +# You have to turn this option on if you want to use the +# path template variables ({T_IMAGESET_PATH} for example) within +# your css file. +# This is mostly the case if you want to use language specific +# images within your css file. +# +parse_css_file = 1 diff --git a/phpBB/styles/prosilver/theme/tweaks.css b/phpBB/styles/prosilver/theme/tweaks.css new file mode 100644 index 0000000000..387f2cf44b --- /dev/null +++ b/phpBB/styles/prosilver/theme/tweaks.css @@ -0,0 +1,47 @@ +/* proSilver Style Sheet Tweaks + +These style definitions are mainly IE specific +tweaks required due to its poor CSS support. +-------------------------------------------------*/ + +* html table, * html select, * html input { font-size: 100%; } +* html hr { margin: 0; } +* html span.corners-top, * html span.corners-bottom { background-image: url("{T_THEME_PATH}/images/corners_left.gif"); } +* html span.corners-top span, * html span.corners-bottom span { background-image: url("{T_THEME_PATH}/images/corners_right.gif"); } + +table.table1 { + width: 99%; /* IE < 6 browsers */ + /* Tantek hack */ + voice-family: "\"}\""; + voice-family: inherit; + width: 100%; +} +html>body table.table1 { width: 100%; } /* Reset 100% for opera */ + +* html ul.topiclist li { position: relative; } +* html .postbody h3 img { vertical-align: middle; } + +/* Form styles */ +html>body dd label input { vertical-align: text-bottom; } /* Align checkboxes/radio buttons nicely */ + +* html input.button1, * html input.button2 { + padding-bottom: 0; + margin-bottom: 1px; +} + +/* Misc layout styles */ +* html .column1, * html .column2 { width: 45%; } + +/* Nice method for clearing floated blocks without having to insert any extra markup (like spacer above) + From http://www.positioniseverything.net/easyclearing.html */ +#tabs:after, #minitabs:after, .post:after, .navbar:after, fieldset dl:after, ul.topiclist dl:after, ul.linklist:after, dl.polls:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +#tabs, #minitabs, .post, .navbar, fieldset dl, ul.topiclist dl, ul.linklist, dl.polls { + height: 1%; +} From e6dab93a02a05a61799c1c0e56864961e8b56bba Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Sun, 1 Apr 2007 22:15:59 +0000 Subject: [PATCH 311/707] - urlencoded usernames don't need htmlspecialchars [Bug #8794] - fulltext_mysql still used synonyms/ignore words [Bug #5405] - merge tool extend to allow merging complete topics via quickmod and mcp_forum [Bug #5293] - renamed "fork" to "copy" (was already called "copy" in some places) - Copied posts should not increase post count, and should also not decrease it on deletion [Bug #8072] git-svn-id: file:///svn/phpbb/trunk@7261 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/mcp/mcp_forum.php | 160 ++++++++++++++++-- phpBB/includes/mcp/mcp_main.php | 3 +- phpBB/includes/search/fulltext_mysql.php | 28 --- phpBB/language/en/common.php | 2 + phpBB/language/en/mcp.php | 11 +- phpBB/mcp.php | 4 + phpBB/search.php | 6 +- .../styles/subSilver/template/mcp_forum.html | 3 +- phpBB/viewtopic.php | 3 +- 9 files changed, 171 insertions(+), 49 deletions(-) diff --git a/phpBB/includes/mcp/mcp_forum.php b/phpBB/includes/mcp/mcp_forum.php index 3f11c96e21..52b9a5af73 100644 --- a/phpBB/includes/mcp/mcp_forum.php +++ b/phpBB/includes/mcp/mcp_forum.php @@ -22,7 +22,10 @@ function mcp_forum_view($id, $mode, $action, $forum_info) $url = append_sid("{$phpbb_root_path}mcp.$phpEx?" . extra_url()); - if ($action == 'merge_select') + // merge_topic is the quickmod action, merge_topics is the mcp_forum action, and merge_select is the mcp_topic action + $merge_select = ($action == 'merge_select' || $action == 'merge_topic' || $action == 'merge_topics') ? true : false; + + if ($merge_select) { // Fixes a "bug" that makes forum_view use the same ordering as topic_view unset($_POST['sk'], $_POST['sd'], $_REQUEST['sk'], $_REQUEST['sd']); @@ -32,14 +35,25 @@ function mcp_forum_view($id, $mode, $action, $forum_info) $start = request_var('start', 0); $topic_id_list = request_var('topic_id_list', array(0)); $post_id_list = request_var('post_id_list', array(0)); - $source_topic_id = request_var('t', 0); + $source_topic_ids = array(request_var('t', 0)); + $to_topic_id = request_var('to_topic_id', 0); // Resync Topics - if ($action == 'resync') + switch ($action) { - $topic_ids = request_var('topic_id_list', array(0)); + case 'resync': + $topic_ids = request_var('topic_id_list', array(0)); + mcp_resync_topics($topic_ids); + break; - mcp_resync_topics($topic_ids); + case 'merge_topics': + $source_topic_ids = $topic_id_list; + case 'merge_topic': + if ($to_topic_id) + { + merge_topics($forum_id, $source_topic_ids, $to_topic_id); + } + break; } $selected_ids = ''; @@ -50,8 +64,15 @@ function mcp_forum_view($id, $mode, $action, $forum_info) $selected_ids .= '&post_id_list[' . $num . ']=' . $post_id; } } + else if (sizeof($topic_id_list) && $action == 'merge_topics') + { + foreach ($topic_id_list as $num => $topic_id) + { + $selected_ids .= '&topic_id_list[' . $num . ']=' . $topic_id; + } + } - make_jumpbox($url . "&i=$id&action=$action&mode=$mode", $forum_id . (($action == 'merge_select') ? $selected_ids : ''), false, 'm_'); + make_jumpbox($url . "&i=$id&action=$action&mode=$mode", $forum_id . (($merge_select) ? $selected_ids : ''), false, 'm_'); $topics_per_page = ($forum_info['forum_topics_per_page']) ? $forum_info['forum_topics_per_page'] : $config['topics_per_page']; @@ -64,6 +85,7 @@ function mcp_forum_view($id, $mode, $action, $forum_info) $limit_time_sql = ($sort_days) ? 'AND t.topic_last_post_time >= ' . (time() - ($sort_days * 86400)) : ''; $template->assign_vars(array( + 'ACTION' => $action, 'FORUM_NAME' => $forum_info['forum_name'], 'FORUM_DESCRIPTION' => generate_text_for_display($forum_info['forum_desc'], $forum_info['forum_desc_uid'], $forum_info['forum_desc_bitfield'], $forum_info['forum_desc_options']), @@ -74,12 +96,13 @@ function mcp_forum_view($id, $mode, $action, $forum_info) 'S_CAN_REPORT' => $auth->acl_get('m_report', $forum_id), 'S_CAN_DELETE' => $auth->acl_get('m_delete', $forum_id), + 'S_CAN_MERGE' => $auth->acl_get('m_merge', $forum_id), 'S_CAN_MOVE' => $auth->acl_get('m_move', $forum_id), 'S_CAN_FORK' => $auth->acl_get('m_', $forum_id), 'S_CAN_LOCK' => $auth->acl_get('m_lock', $forum_id), 'S_CAN_SYNC' => $auth->acl_get('m_', $forum_id), 'S_CAN_APPROVE' => $auth->acl_get('m_approve', $forum_id), - 'S_MERGE_SELECT' => ($action == 'merge_select') ? true : false, + 'S_MERGE_SELECT' => ($merge_select) ? true : false, 'S_CAN_MAKE_NORMAL' => $auth->acl_gets('f_sticky', 'f_announce', $forum_id), 'S_CAN_MAKE_STICKY' => $auth->acl_get('f_sticky', $forum_id), 'S_CAN_MAKE_ANNOUNCE' => $auth->acl_get('f_announce', $forum_id), @@ -87,9 +110,9 @@ function mcp_forum_view($id, $mode, $action, $forum_info) 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id), 'U_VIEW_FORUM_LOGS' => ($auth->acl_gets('a_', 'm_', $forum_id) && $module->loaded('logs')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=logs&mode=forum_logs&f=' . $forum_id) : '', - 'S_MCP_ACTION' => $url . "&i=$id&mode=$mode&start=$start" . (($action == 'merge_select') ? $selected_ids : ''), + 'S_MCP_ACTION' => $url . "&i=$id&mode=$mode&start=$start" . (($merge_select) ? $selected_ids : ''), - 'PAGINATION' => generate_pagination($url . "&i=$id&action=$action&mode=$mode" . (($action == 'merge_select') ? $selected_ids : ''), $forum_topics, $topics_per_page, $start), + 'PAGINATION' => generate_pagination($url . "&i=$id&action=$action&mode=$mode" . (($merge_select) ? $selected_ids : ''), $forum_topics, $topics_per_page, $start), 'PAGE_NUMBER' => on_page($forum_topics, $topics_per_page, $start), 'TOTAL' => $forum_topics) ); @@ -213,11 +236,19 @@ function mcp_forum_view($id, $mode, $action, $forum_info) } else { + if ($action == 'merge_topic' || $action == 'merge_topics') + { + $u_select_topic = $url . "&i=$id&mode=forum_view&action=$action&to_topic_id=" . $row['topic_id'] . $selected_ids; + } + else + { + $u_select_topic = $url . "&i=$id&mode=topic_view&action=merge&to_topic_id=" . $row['topic_id'] . $selected_ids; + } $topic_row = array_merge($topic_row, array( 'U_VIEW_TOPIC' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&f=$forum_id&t={$row['topic_id']}&mode=topic_view"), - 'S_SELECT_TOPIC' => ($action == 'merge_select' && $row['topic_id'] != $source_topic_id) ? true : false, - 'U_SELECT_TOPIC' => $url . "&i=$id&mode=topic_view&action=merge&to_topic_id=" . $row['topic_id'] . $selected_ids, + 'S_SELECT_TOPIC' => ($merge_select && !in_array($row['topic_id'], $source_topic_ids)) ? true : false, + 'U_SELECT_TOPIC' => $u_select_topic, 'U_MCP_QUEUE' => $u_mcp_queue, 'U_MCP_REPORT' => ($auth->acl_get('m_report', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main&mode=topic_view&t=' . $row['topic_id'] . '&action=reports') : '', 'TOPIC_ID' => $row['topic_id'], @@ -274,4 +305,111 @@ function mcp_resync_topics($topic_ids) return; } +/** +* Merge selected topics into selected topic +*/ +function merge_topics($forum_id, $topic_ids, $to_topic_id) +{ + global $db, $template, $user, $phpEx, $phpbb_root_path, $auth; + + if (!$to_topic_id) + { + $template->assign_var('MESSAGE', $user->lang['NO_FINAL_TOPIC_SELECTED']); + return; + } + + $topic_data = get_topic_data(array($to_topic_id), 'm_merge'); + + if (!sizeof($topic_data)) + { + $template->assign_var('MESSAGE', $user->lang['NO_FINAL_TOPIC_SELECTED']); + return; + } + + $topic_data = $topic_data[$to_topic_id]; + + $post_id_list = request_var('post_id_list', array(0)); + $start = request_var('start', 0); + + if (!sizeof($post_id_list) && sizeof($topic_ids)) + { + $sql = 'SELECT post_id + FROM ' . POSTS_TABLE . ' + WHERE ' . $db->sql_in_set('topic_id', $topic_ids); + $result = $db->sql_query($sql); + + $post_id_list = array(); + while ($row = $db->sql_fetchrow($result)) + { + $post_id_list[] = $row['post_id']; + } + $db->sql_freeresult($result); + } + + if (!sizeof($post_id_list)) + { + $template->assign_var('MESSAGE', $user->lang['NO_POST_SELECTED']); + return; + } + + if (!check_ids($post_id_list, POSTS_TABLE, 'post_id', array('m_merge'))) + { + return; + } + + $redirect = request_var('redirect', build_url(array('_f_', 'quickmod'))); + + $s_hidden_fields = build_hidden_fields(array( + 'i' => 'main', + 'f' => $forum_id, + 'post_id_list' => $post_id_list, + 'to_topic_id' => $to_topic_id, + 'mode' => 'forum_view', + 'action' => 'merge_topics', + 'start' => $start, + 'redirect' => $redirect, + 'topic_id_list' => $topic_ids) + ); + $success_msg = $return_link = ''; + + if (confirm_box(true)) + { + $to_forum_id = $topic_data['forum_id']; + + move_posts($post_id_list, $to_topic_id); + add_log('mod', $to_forum_id, $to_topic_id, 'LOG_MERGE', $topic_data['topic_title']); + + // Message and return links + $success_msg = 'POSTS_MERGED_SUCCESS'; + + // If the topic no longer exist, we will update the topic watch table. + // To not let it error out on users watching both topics, we just return on an error... + $db->sql_return_on_error(true); + $db->sql_query('UPDATE ' . TOPICS_WATCH_TABLE . ' SET topic_id = ' . $to_topic_id . ' WHERE ' . $db->sql_in_set('topic_id', $topic_ids)); + $db->sql_return_on_error(false); + + $db->sql_query('DELETE FROM ' . TOPICS_WATCH_TABLE . ' WHERE ' . $db->sql_in_set('topic_id', $topic_ids)); + + // Link to the new topic + $return_link .= (($return_link) ? '

' : '') . sprintf($user->lang['RETURN_NEW_TOPIC'], '
', ''); + } + else + { + confirm_box(false, 'MERGE_TOPICS', $s_hidden_fields); + } + + $redirect = request_var('redirect', "index.$phpEx"); + $redirect = reapply_sid($redirect); + + if (!$success_msg) + { + return; + } + else + { + meta_refresh(3, append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$to_forum_id&t=$to_topic_id")); + trigger_error($user->lang[$success_msg] . '

' . $return_link); + } +} + ?> \ No newline at end of file diff --git a/phpBB/includes/mcp/mcp_main.php b/phpBB/includes/mcp/mcp_main.php index 32a4edb6ca..ab43f53b6c 100644 --- a/phpBB/includes/mcp/mcp_main.php +++ b/phpBB/includes/mcp/mcp_main.php @@ -953,7 +953,8 @@ function mcp_fork_topic($topic_ids) 'bbcode_uid' => (string) $row['bbcode_uid'], 'post_edit_time' => (int) $row['post_edit_time'], 'post_edit_count' => (int) $row['post_edit_count'], - 'post_edit_locked' => (int) $row['post_edit_locked'] + 'post_edit_locked' => (int) $row['post_edit_locked'], + 'post_postcount' => 0, ); $db->sql_query('INSERT INTO ' . POSTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary)); diff --git a/phpBB/includes/search/fulltext_mysql.php b/phpBB/includes/search/fulltext_mysql.php index 7edfedc424..bd15f86334 100644 --- a/phpBB/includes/search/fulltext_mysql.php +++ b/phpBB/includes/search/fulltext_mysql.php @@ -114,9 +114,6 @@ class fulltext_mysql extends search_backend { global $config; - $this->get_ignore_words(); - $this->get_synonyms(); - if ($terms == 'all') { $match = array('#\sand\s#iu', '#\sor\s#iu', '#\snot\s#iu', '#\+#', '#-#', '#\|#'); @@ -171,18 +168,6 @@ class fulltext_mysql extends search_backend $this->split_words = $matches[1]; } - - if (sizeof($this->ignore_words)) - { - $this->common_words = array_intersect($this->split_words, $this->ignore_words); - $this->split_words = array_diff($this->split_words, $this->ignore_words); - } - - if (sizeof($this->replace_synonym)) - { - $this->split_words = str_replace($this->replace_synonym, $this->match_synonym, $this->split_words); - } - foreach ($this->split_words as $i => $word) { $clean_word = preg_replace('#^[+\-|]#', '', $word); @@ -214,9 +199,6 @@ class fulltext_mysql extends search_backend { global $config; - $this->get_ignore_words(); - $this->get_synonyms(); - // Split words if ($this->pcre_properties) { @@ -255,16 +237,6 @@ class fulltext_mysql extends search_backend $text = $matches[1]; } - if (sizeof($this->ignore_words)) - { - $text = array_diff($text, $this->ignore_words); - } - - if (sizeof($this->replace_synonym)) - { - $text = str_replace($this->replace_synonym, $this->match_synonym, $text); - } - // remove too short or too long words $text = array_values($text); for ($i = 0, $n = sizeof($text); $i < $n; $i++) diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 4e20a602b2..18ac1e8af9 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -298,6 +298,8 @@ $lang = array_merge($lang, array( 'MCP' => 'Moderator Control Panel', 'MEMBERLIST' => 'Members', 'MEMBERLIST_EXPLAIN' => 'View complete list of members', + 'MERGE' => 'Merge', + 'MERGE_POSTS' => 'Merge posts', 'MERGE_TOPIC' => 'Merge topic', 'MESSAGE' => 'Message', 'MESSAGES' => 'Messages', diff --git a/phpBB/language/en/mcp.php b/phpBB/language/en/mcp.php index bf1a56610a..110e12ed88 100644 --- a/phpBB/language/en/mcp.php +++ b/phpBB/language/en/mcp.php @@ -81,10 +81,10 @@ $lang = array_merge($lang, array( 'EMPTY_TOPICS_REMOVED_WARNING' => 'Please note that one or several topics have been removed from the database because they were or become empty', 'FEEDBACK' => 'Feedback', - 'FORK' => 'Fork', - 'FORK_TOPIC' => 'Fork topic', + 'FORK' => 'Copy', + 'FORK_TOPIC' => 'Copy topic', 'FORK_TOPIC_CONFIRM' => 'Are you sure you want to copy this topic?', - 'FORK_TOPICS' => 'Fork selected topics', + 'FORK_TOPICS' => 'Copy selected topics', 'FORK_TOPICS_CONFIRM' => 'Are you sure you want to copy the selected topics?', 'FORUM_DESC' => 'Description', 'FORUM_NAME' => 'Forum name', @@ -188,8 +188,10 @@ $lang = array_merge($lang, array( 'MERGE_POSTS' => 'Merge posts', 'MERGE_POSTS_CONFIRM' => 'Are you sure you want to merge the selected posts?', - 'MERGE_TOPIC_EXPLAIN' => 'Using the form below you can merge selected posts into another topic. These posts will not be reordered and will appear as if the users posted them to the new topic.
Please enter the destination topic id or click on the "Select" button to search for one', + 'MERGE_TOPIC_EXPLAIN' => 'Using the form below you can merge selected posts into another topic. These posts will not be reordered and will appear as if the users posted them to the new topic.
Please enter the destination topic id or click on "Select topic" to search for one', 'MERGE_TOPIC_ID' => 'Destination topic identification number', + 'MERGE_TOPICS' => 'Merge topics', + 'MERGE_TOPICS_CONFIRM' => 'Are you sure you want to merge the selected topics?', 'MODERATE_FORUM' => 'Moderate forum', 'MODERATE_TOPIC' => 'Moderate topic', 'MODERATE_POST' => 'Moderate post', @@ -273,6 +275,7 @@ $lang = array_merge($lang, array( 'SELECT_ACTION' => 'Select desired action', 'SELECT_FORUM_GLOBAL_ANNOUNCEMENT' => 'Please select the forum you wish this global announcement to be displayed.', 'SELECT_FORUM_GLOBAL_ANNOUNCEMENTS' => 'One or more of the selected topics are global announcements. Please select the forum you wish these to be displayed.', + 'SELECT_MERGE' => 'Select for merging', 'SELECT_TOPICS_FROM' => 'Select topics from', 'SELECT_TOPIC' => 'Select topic', 'SELECT_USER' => 'Select user', diff --git a/phpBB/mcp.php b/phpBB/mcp.php index 3ff42be8d4..b2cd39c7af 100644 --- a/phpBB/mcp.php +++ b/phpBB/mcp.php @@ -168,6 +168,10 @@ if ($quickmod) $module->set_active('logs', 'topic_logs'); break; + case 'merge_topic': + $module->set_active('main', 'forum_view'); + break; + case 'split': case 'merge': $module->set_active('main', 'topic_view'); diff --git a/phpBB/search.php b/phpBB/search.php index c01693ebba..d9210d25f3 100644 --- a/phpBB/search.php +++ b/phpBB/search.php @@ -462,7 +462,7 @@ if ($keywords || $author || $author_id || $search_id || $submit) $u_search .= ($search_id) ? '&search_id=' . $search_id : ''; $u_search .= ($u_hilit) ? '&keywords=' . $u_hilit : ''; $u_search .= ($topic_id) ? '&t=' . $topic_id : ''; - $u_search .= ($author) ? '&author=' . urlencode($author) : ''; + $u_search .= ($author) ? '&author=' . urlencode(htmlspecialchars_decode($author)) : ''; $u_search .= ($author_id) ? '&author_id=' . $author_id : ''; $u_search .= ($u_search_forum) ? '&fid%5B%5D=' . $u_search_forum : ''; $u_search .= (!$search_child) ? '&sc=0' : ''; @@ -1048,8 +1048,8 @@ while ($row = $db->sql_fetchrow($result)) 'KEYWORDS' => $keywords, 'TIME' => $user->format_date($row['search_time']), - 'U_KEYWORDS' => append_sid("{$phpbb_root_path}search.$phpEx", 'keywords=' . urlencode($keywords))) - ); + 'U_KEYWORDS' => append_sid("{$phpbb_root_path}search.$phpEx", 'keywords=' . urlencode(htmlspecialchars_decode($keywords))) + )); } $db->sql_freeresult($result); diff --git a/phpBB/styles/subSilver/template/mcp_forum.html b/phpBB/styles/subSilver/template/mcp_forum.html index 34c2dd8e6b..f85dc48126 100644 --- a/phpBB/styles/subSilver/template/mcp_forum.html +++ b/phpBB/styles/subSilver/template/mcp_forum.html @@ -27,7 +27,7 @@ - [ {L_SELECT} + [ {L_SELECT_MERGE}

{topicrow.NEWEST_POST_IMG} {topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TITLE} @@ -57,6 +57,7 @@    - - - - - - - -
- - - -
- -

- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/custom_profile_fields.html b/phpBB/styles/subSilver/template/custom_profile_fields.html deleted file mode 100644 index c8f287ddb4..0000000000 --- a/phpBB/styles/subSilver/template/custom_profile_fields.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - {bool.options.VALUE}    - - checked="checked" /> - - - - - - - - - {L_DAY}: - {L_MONTH}: - {L_YEAR}: - diff --git a/phpBB/styles/subSilver/template/editor.js b/phpBB/styles/subSilver/template/editor.js deleted file mode 100644 index 51634a60cd..0000000000 --- a/phpBB/styles/subSilver/template/editor.js +++ /dev/null @@ -1,397 +0,0 @@ -/** -* bbCode control by subBlue design [ www.subBlue.com ] -* Includes unixsafe colour palette selector by SHS` -*/ - -// Startup variables -var imageTag = false; -var theSelection = false; - -// Check for Browser & Platform for PC & IE specific bits -// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html -var clientPC = navigator.userAgent.toLowerCase(); // Get client info -var clientVer = parseInt(navigator.appVersion); // Get browser version - -var is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -1)); -var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1)); - -var baseHeight; -window.onload = initInsertions; - -/** -* Shows the help messages in the helpline window -*/ -function helpline(help) -{ - document.forms[form_name].helpbox.value = help_line[help]; -} - -/** -* Fix a bug involving the TextRange object. From -* http://www.frostjedi.com/terra/scripts/demo/caretBug.html -*/ -function initInsertions() -{ - 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') - { - textarea.focus(); - baseHeight = doc.selection.createRange().duplicate().boundingHeight; - document.body.focus(); - } -} - -/** -* bbstyle -*/ -function bbstyle(bbnumber) -{ - if (bbnumber != -1) - { - bbfontstyle(bbtags[bbnumber], bbtags[bbnumber+1]); - } - else - { - insert_text('[*]'); - document.forms[form_name].elements[text_name].focus(); - } -} - -/** -* Apply bbcodes -*/ -function bbfontstyle(bbopen, bbclose) -{ - theSelection = false; - - var textarea = document.forms[form_name].elements[text_name]; - - textarea.focus(); - - if ((clientVer >= 4) && is_ie && is_win) - { - // Get text selection - theSelection = document.selection.createRange().text; - - if (theSelection) - { - // Add tags around selection - document.selection.createRange().text = bbopen + theSelection + bbclose; - document.forms[form_name].elements[text_name].focus(); - theSelection = ''; - return; - } - } - else if (document.forms[form_name].elements[text_name].selectionEnd && (document.forms[form_name].elements[text_name].selectionEnd - document.forms[form_name].elements[text_name].selectionStart > 0)) - { - mozWrap(document.forms[form_name].elements[text_name], bbopen, bbclose); - document.forms[form_name].elements[text_name].focus(); - theSelection = ''; - return; - } - - //The new position for the cursor after adding the bbcode - var caret_pos = getCaretPosition(textarea).start; - var new_pos = caret_pos + bbopen.length; - - // Open tag - insert_text(bbopen + bbclose); - - // Center the cursor when we don't have a selection - // Gecko and proper browsers - if (!isNaN(textarea.selectionStart)) - { - textarea.selectionStart = new_pos; - textarea.selectionEnd = new_pos; - } - // IE - else if (document.selection) - { - - var range = textarea.createTextRange(); - range.move("character", new_pos); - range.select(); - storeCaret(textarea); - } - - textarea.focus(); - return; -} - -/** -* Insert text at position -*/ -function insert_text(text, spaces, popup) -{ - var textarea; - - if (!popup) - { - textarea = document.forms[form_name].elements[text_name]; - } - else - { - textarea = opener.document.forms[form_name].elements[text_name]; - } - if (spaces) - { - text = ' ' + text + ' '; - } - - if (!isNaN(textarea.selectionStart)) - { - var sel_start = textarea.selectionStart; - var sel_end = textarea.selectionEnd; - - mozWrap(textarea, text, '') - textarea.selectionStart = sel_start + text.length; - textarea.selectionEnd = sel_end + text.length; - } - - else if (textarea.createTextRange && textarea.caretPos) - { - if (baseHeight != textarea.caretPos.boundingHeight) - { - 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; - } - if (!popup) - { - textarea.focus(); - } - -} - -/** -* Add inline attachment at position -*/ -function attach_inline(index, filename) -{ - insert_text('[attachment=' + index + ']' + filename + '[/attachment]'); - document.forms[form_name].elements[text_name].focus(); -} - -/** -* Add quote text to message -*/ -function addquote(post_id, username) -{ - var message_name = 'message_' + post_id; - var theSelection = ''; - var divarea = false; - - if (document.all) - { - divarea = document.all[message_name]; - } - else - { - divarea = document.getElementById(message_name); - } - - // Get text selection - not only the post content :( - if (window.getSelection) - { - theSelection = window.getSelection().toString(); - } - else if (document.getSelection) - { - theSelection = document.getSelection(); - } - else if (document.selection) - { - theSelection = document.selection.createRange().text; - } - - if (theSelection == '' || typeof theSelection == 'undefined' || theSelection == null) - { - if (divarea.innerHTML) - { - theSelection = divarea.innerHTML.replace(/
/ig, '\n'); - theSelection = theSelection.replace(//ig, '\n'); - theSelection = theSelection.replace(/<\;/ig, '<'); - theSelection = theSelection.replace(/>\;/ig, '>'); - theSelection = theSelection.replace(/&\;/ig, '&'); - } - else if (document.all) - { - theSelection = divarea.innerText; - } - else if (divarea.textContent) - { - theSelection = divarea.textContent; - } - else if (divarea.firstChild.nodeValue) - { - theSelection = divarea.firstChild.nodeValue; - } - } - - if (theSelection) - { - insert_text('[quote="' + username + '"]' + theSelection + '[/quote]'); - } - - return; -} - -/** -* From http://www.massless.org/mozedit/ -*/ -function mozWrap(txtarea, open, close) -{ - var selLength = txtarea.textLength; - var selStart = txtarea.selectionStart; - var selEnd = txtarea.selectionEnd; - var scrollTop = txtarea.scrollTop; - - if (selEnd == 1 || selEnd == 2) - { - selEnd = selLength; - } - - var s1 = (txtarea.value).substring(0,selStart); - var s2 = (txtarea.value).substring(selStart, selEnd) - var s3 = (txtarea.value).substring(selEnd, selLength); - - txtarea.value = s1 + open + s2 + close + s3; - txtarea.selectionStart = selEnd + open.length + close.length; - txtarea.selectionEnd = txtarea.selectionStart; - txtarea.focus(); - txtarea.scrollTop = scrollTop; - - return; -} - -/** -* Insert at Caret position. Code from -* http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130 -*/ -function storeCaret(textEl) -{ - if (textEl.createTextRange) - { - textEl.caretPos = document.selection.createRange().duplicate(); - } -} - -/** -* Color pallette -*/ -function colorPalette(dir, width, height) -{ - var r = 0, g = 0, b = 0; - var numberList = new Array(6); - - numberList[0] = '00'; - numberList[1] = '40'; - numberList[2] = '80'; - numberList[3] = 'BF'; - numberList[4] = 'FF'; - - document.writeln(''); - - for (r = 0; r < 5; r++) - { - if (dir == 'h') - { - document.writeln(''); - } - - for (g = 0; g < 5; g++) - { - if (dir == 'v') - { - document.writeln(''); - } - - for (b = 0; b < 5; b++) - { - color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]); - document.write(''); - } - - if (dir == 'v') - { - document.writeln(''); - } - } - - if (dir == 'h') - { - document.writeln(''); - } - } - document.writeln('
'); - document.write('#' + color + ''); - document.writeln('
'); -} - - -/** -* Caret Position object -*/ -function caretPosition() -{ - var start = null; - var end = null; -} - - -/** -* Get the caret position in an textarea -*/ -function getCaretPosition(txtarea) -{ - var caretPos = new caretPosition(); - - // simple Gecko/Opera way - if(txtarea.selectionStart || txtarea.selectionStart == 0) - { - caretPos.start = txtarea.selectionStart; - caretPos.end = txtarea.selectionEnd; - } - // dirty and slow IE way - else if(document.selection) - { - - // get current selection - var range = document.selection.createRange(); - - // a new selection of the whole textarea - var range_all = document.body.createTextRange(); - range_all.moveToElementText(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; - } - - return caretPos; -} \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/faq_body.html b/phpBB/styles/subSilver/template/faq_body.html deleted file mode 100644 index 9e324b4fd2..0000000000 --- a/phpBB/styles/subSilver/template/faq_body.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - -
- - - - - - - - - - - -
{L_FAQ_TITLE}
- - {faq_block.BLOCK_TITLE}
- - {faq_block.faq_row.FAQ_QUESTION}
- -
- -
 
- -
- - - - - - - - - - - - - - - -

{faq_block.BLOCK_TITLE}

- - - -
» {faq_block.faq_row.FAQ_QUESTION}
-
{faq_block.faq_row.FAQ_ANSWER}
-

{L_BACK_TO_TOP}

-
- -
- - -
- - - -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/forumlist_body.html b/phpBB/styles/subSilver/template/forumlist_body.html deleted file mode 100644 index bc335fad45..0000000000 --- a/phpBB/styles/subSilver/template/forumlist_body.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_MARK_FORUMS_READ} 
 {L_FORUM}  {L_TOPICS}  {L_POSTS}  {L_LAST_POST} 

{forumrow.FORUM_NAME}

 
{forumrow.FORUM_FOLDER_IMG} - -
{forumrow.FORUM_IMAGE}
- - {forumrow.FORUM_NAME} -

{forumrow.FORUM_DESC}

-
-
{L_REDIRECTS}: {forumrow.CLICKS} 
{forumrow.FORUM_FOLDER_IMG} - -
{forumrow.FORUM_IMAGE}
- - {forumrow.FORUM_NAME} -

{forumrow.FORUM_DESC}

- -

{forumrow.L_MODERATOR_STR}: {forumrow.MODERATORS}

- - -

{forumrow.L_SUBFORUM_STR} {forumrow.SUBFORUMS}

- -
-

{forumrow.TOPICS}

{forumrow.POSTS}

- -

{forumrow.LAST_POST_TIME}

-

{forumrow.LAST_POSTER_FULL} - {LAST_POST_IMG} -

- -

{L_NO_POSTS}

- -

{L_NO_FORUMS}

\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/index.htm b/phpBB/styles/subSilver/template/index.htm deleted file mode 100644 index 4763c05f0e..0000000000 --- a/phpBB/styles/subSilver/template/index.htm +++ /dev/null @@ -1,16 +0,0 @@ - - -subSilver created by subBlue Design - - - - - - - - - -
Created by subBlue Design
- - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/index_body.html b/phpBB/styles/subSilver/template/index_body.html deleted file mode 100644 index 894549fe08..0000000000 --- a/phpBB/styles/subSilver/template/index_body.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - -

- - - - -{L_DELETE_COOKIES} | {L_THE_TEAM}
- -
- - - - -
- - - - - - - - - - - - - - - - - - -

{L_WHO_IS_ONLINE}

{L_WHO_IS_ONLINE}{L_WHO_IS_ONLINE}{TOTAL_USERS_ONLINE}
{RECORD_USERS}

{LOGGED_IN_USER_LIST}

{L_ONLINE_EXPLAIN}
{L_LEGEND} :: {LEGEND}
- - - -
- - - - - - - - - -

{L_BIRTHDAYS}

{L_BIRTHDAYS}

{L_CONGRATULATIONS}: {BIRTHDAY_LIST}{L_NO_BIRTHDAYS}

- - -
- - - - - - - - - -

{L_STATISTICS}

{L_STATISTICS}

{TOTAL_POSTS} | {TOTAL_TOPICS} | {TOTAL_USERS} | {NEWEST_USER}

- - -
- -
- - - - - - - - -

{L_LOGIN_LOGOUT}

{L_USERNAME}:   {L_PASSWORD}:   {L_LOG_ME_IN}  
- -
- - -
- - - - - - - - - - - - -
{FORUM_NEW_IMG}{L_NEW_POSTS}  {FORUM_IMG}{L_NO_NEW_POSTS}  {FORUM_LOCKED_IMG}{L_FORUM_LOCKED}
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/jumpbox.html b/phpBB/styles/subSilver/template/jumpbox.html deleted file mode 100644 index 2f54ebc488..0000000000 --- a/phpBB/styles/subSilver/template/jumpbox.html +++ /dev/null @@ -1,19 +0,0 @@ - - -
- - - - - -
{L_SELECT_TOPICS_FROM}{L_MODERATE_FORUM}{L_JUMP_TO}:  
- -
- \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/login_body.html b/phpBB/styles/subSilver/template/login_body.html deleted file mode 100644 index 7243c983fe..0000000000 --- a/phpBB/styles/subSilver/template/login_body.html +++ /dev/null @@ -1,103 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - -
{L_LOGIN}{LOGIN_EXPLAIN}
{LOGIN_EXPLAIN}
-

{L_LOGIN_INFO}

- -

- {L_TERMS_USE} | {L_PRIVACY} -

-
class="row2"class="row1"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{LOGIN_ERROR}
style="width: 50%; text-align: {S_CONTENT_FLOW_END};">{L_USERNAME}: - -
{L_REGISTER} - -
style="width: 50%; text-align: {S_CONTENT_FLOW_END};">{L_PASSWORD}: - -
{L_FORGOT_PASS} -
{L_RESEND_ACTIVATION} -
  {L_LOG_ME_IN}
  {L_HIDE_ME}
-
- - - - - - - - - - - - - - - - - - -
{L_LOGIN_CONFIRMATION}
{L_LOGIN_CONFIRM_EXPLAIN}
- - {CONFIRM_IMAGE} -
{L_CONFIRM_CODE}:
{L_CONFIRM_CODE_EXPLAIN}
colspan="2" align="center">{S_HIDDEN_FIELDS}
- -
- -
- - - -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/login_forum.html b/phpBB/styles/subSilver/template/login_forum.html deleted file mode 100644 index 5a194d209d..0000000000 --- a/phpBB/styles/subSilver/template/login_forum.html +++ /dev/null @@ -1,47 +0,0 @@ - - -
- -
- - - - - - - - - - - - - - -
{L_LOGIN}
{L_LOGIN_FORUM}
- - - - - - - - - - - -
{LOGIN_ERROR}
{L_PASSWORD}:
-
{S_HIDDEN_FIELDS}
- -
- -
- -
- - - -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_approve.html b/phpBB/styles/subSilver/template/mcp_approve.html deleted file mode 100644 index b8e89b330a..0000000000 --- a/phpBB/styles/subSilver/template/mcp_approve.html +++ /dev/null @@ -1,48 +0,0 @@ - - -
- -
- - - - - - - - -
{MESSAGE_TITLE}
- - {ADDITIONAL_MSG}
- - - {L_NOTIFY_POSTER_APPROVAL}{L_NOTIFY_POSTER_DISAPPROVAL}
- - -
- - - - - - - - - -
{L_DISAPPROVE_REASON}:
{L_MORE_INFO}:
{L_CAN_LEAVE_BLANK}
-
- -
{S_HIDDEN_FIELDS}{MESSAGE_TEXT}

-    -
-
- -
- -
- - - -
- - diff --git a/phpBB/styles/subSilver/template/mcp_ban.html b/phpBB/styles/subSilver/template/mcp_ban.html deleted file mode 100644 index 1834e729ba..0000000000 --- a/phpBB/styles/subSilver/template/mcp_ban.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_TITLE}
{L_EXPLAIN}
{L_BAN_CELL}: - -
[ {L_FIND_USERNAME} ] -
{L_BAN_LENGTH}:
(YYYY-MM-DD)
{L_BAN_EXCLUDE}:
{L_BAN_EXCLUDE_EXPLAIN}
{L_YES}   {L_NO}
{L_BAN_REASON}:
{L_BAN_GIVE_REASON}:
   
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_UNBAN_TITLE}
{L_UNBAN_EXPLAIN}
{L_BAN_CELL}:
{L_BAN_LENGTH}:
{L_BAN_REASON}:
{L_BAN_GIVE_REASON}:
   
{L_NO_BAN_CELL}
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_footer.html b/phpBB/styles/subSilver/template/mcp_footer.html deleted file mode 100644 index 790c093be6..0000000000 --- a/phpBB/styles/subSilver/template/mcp_footer.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - -
 [ {TOTAL} ] 
-
- - - - -
- - - -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_forum.html b/phpBB/styles/subSilver/template/mcp_forum.html deleted file mode 100644 index f85dc48126..0000000000 --- a/phpBB/styles/subSilver/template/mcp_forum.html +++ /dev/null @@ -1,85 +0,0 @@ - - -
- -{L_VIEW_FORUM_LOGS} - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_DISPLAY_TOPICS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
  {L_TOPICS}  {L_REPLIES}  {L_LAST_POST}  {L_MARK} 
{topicrow.TOPIC_FOLDER_IMG} - - [ {L_SELECT_MERGE} - -

{topicrow.NEWEST_POST_IMG} {topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TITLE} - - {topicrow.UNAPPROVED_IMG}  - - - {REPORTED_IMG}  - - - [ {L_DELETE_SHADOW_TOPIC} ]  - -

-

{topicrow.REPLIES}

{topicrow.LAST_POST_TIME}

- checked="checked" />  -

{L_NO_TOPICS}

- - -
- -
- - - - - -
{L_MARK_ALL} :: {L_UNMARK_ALL}
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_front.html b/phpBB/styles/subSilver/template/mcp_front.html deleted file mode 100644 index e42c29471a..0000000000 --- a/phpBB/styles/subSilver/template/mcp_front.html +++ /dev/null @@ -1,118 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_LATEST_UNAPPROVED}
 {L_FORUM}  {L_TOPIC}  {L_SUBJECT}  {L_AUTHOR}  {L_POST_TIME}  {L_SELECT} 
{unapproved.FORUM_NAME}{unapproved.FORUM_NAME}
[ {L_MODERATE} ]
{unapproved.TOPIC_TITLE}
[ {L_MODERATE} ]
{unapproved.SUBJECT}
[ {L_VIEW_DETAILS} ]
{unapproved.AUTHOR}{unapproved.AUTHOR}{unapproved.POST_TIME}
{L_UNAPPROVED_POSTS_ZERO_TOTAL}
{L_UNAPPROVED_TOTAL}
  
- -
- - - - - -
{L_MARK_ALL} :: {L_UNMARK_ALL}
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_LATEST_REPORTED}
 {L_FORUM}  {L_TOPIC}  {L_SUBJECT}  {L_REPORTER}  {L_REPORT_TIME} 
{report.FORUM_NAME}{report.FORUM_NAME}
[ {L_MODERATE} ]
{report.TOPIC_TITLE}
[ {L_MODERATE} ]
{report.SUBJECT}
[ {L_VIEW_DETAILS} ]
{report.REPORTER_FULL}{report.REPORT_TIME}
{L_REPORTS_ZERO_TOTAL}
{L_REPORTS_TOTAL}
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_LATEST_LOGS}
{L_USERNAME}{L_IP}{L_ACTION}{L_TIME}
{log.USERNAME}{log.IP}{log.ACTION}{L_VIEW_TOPIC} | {L_VIEW_TOPIC_LOGS}{log.TIME}
{L_NO_ENTRIES}
- -
- - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_header.html b/phpBB/styles/subSilver/template/mcp_header.html deleted file mode 100644 index 043be1d089..0000000000 --- a/phpBB/styles/subSilver/template/mcp_header.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/phpBB/styles/subSilver/template/posting_body.html b/phpBB/styles/subSilver/template/posting_body.html deleted file mode 100644 index d7fb9e0e45..0000000000 --- a/phpBB/styles/subSilver/template/posting_body.html +++ /dev/null @@ -1,425 +0,0 @@ - - - - - - - -
- -

{L_FORUM_RULES}


- {L_FORUM_RULES_LINK} - -

{L_FORUM_RULES}


- {FORUM_RULES} - -
- -
- - - - - -

- - - - - - - -
- - - - - - - - - - - -
{L_OPTIONS}
{l_block1.L_TITLE} - - - - {l_block1.L_TITLE} - -
- -
- - - - - - - - - -
{L_MESSAGE}

{MESSAGE}

{return_links.MESSAGE_LINK}

- -
- - - -
- - - - - - - - -
{L_PLEASE_CONFIRM}

{CONFIRM_MESSAGE}

{S_HIDDEN_FIELDS}  

- -
- -
- diff --git a/phpBB/styles/subSilver/template/mcp_jumpbox.html b/phpBB/styles/subSilver/template/mcp_jumpbox.html deleted file mode 100644 index 95a5926f72..0000000000 --- a/phpBB/styles/subSilver/template/mcp_jumpbox.html +++ /dev/null @@ -1,18 +0,0 @@ - - -
- - {L_JUMP_TO}:   -
diff --git a/phpBB/styles/subSilver/template/mcp_logs.html b/phpBB/styles/subSilver/template/mcp_logs.html deleted file mode 100755 index d759af5931..0000000000 --- a/phpBB/styles/subSilver/template/mcp_logs.html +++ /dev/null @@ -1,43 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_USERNAME}{L_IP}{L_TIME}{L_ACTION}{L_MARK}
{log.USERNAME}{log.IP}{log.DATE}{log.ACTION}
{log.DATA}
{L_DISPLAY_LOG}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
 
{L_NO_ENTRIES}
- -
- -

- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_message.html b/phpBB/styles/subSilver/template/mcp_message.html deleted file mode 100644 index 7645e5dd81..0000000000 --- a/phpBB/styles/subSilver/template/mcp_message.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - -
{MESSAGE_TITLE}

{MESSAGE_TEXT}

- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_move.html b/phpBB/styles/subSilver/template/mcp_move.html deleted file mode 100644 index eed7ca8fe3..0000000000 --- a/phpBB/styles/subSilver/template/mcp_move.html +++ /dev/null @@ -1,43 +0,0 @@ - - -
- -
- - - - - - - - -
{MESSAGE_TITLE}
- - {ADDITIONAL_MSG}
- - -
{L_SELECT_DESTINATION_FORUM}  
-
- - {L_LEAVE_SHADOW}
- -
{S_HIDDEN_FIELDS}{MESSAGE_TEXT}

-    - - {L_NO_DESTINATION_FORUM}

- {S_HIDDEN_FIELDS} - - -
- -
- -
- -
- - - -
- - diff --git a/phpBB/styles/subSilver/template/mcp_notes_front.html b/phpBB/styles/subSilver/template/mcp_notes_front.html deleted file mode 100755 index b374773f65..0000000000 --- a/phpBB/styles/subSilver/template/mcp_notes_front.html +++ /dev/null @@ -1,22 +0,0 @@ - - -
- - - - - - - - - - - - -
{L_SELECT_USER}
{L_FIND_USERNAME}:
[ {L_FIND_USERNAME} ]
- -
- -

- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_notes_user.html b/phpBB/styles/subSilver/template/mcp_notes_user.html deleted file mode 100755 index 54ddeb05be..0000000000 --- a/phpBB/styles/subSilver/template/mcp_notes_user.html +++ /dev/null @@ -1,121 +0,0 @@ - - -
- - - - - - - - - -
{USERNAME}
- - - - - - - - - - - - - - - - - -
{USERNAME}
{RANK_TITLE}
{RANK_IMG}
{AVATAR_IMG}
-
- - - - - - - - - - - - - -
{L_JOINED}: {JOINED}
{L_TOTAL_POSTS}: {POSTS}
{L_WARNINGS}: {WARNINGS}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_FEEDBACK}
{L_DISPLAY_LOG}: {S_SELECT_SORT_DAYS} {L_SORT_BY}: {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
{L_REPORT_BY}{L_IP}{L_TIME}{L_ACTION}{L_MARK}
{usernotes.REPORT_BY}{usernotes.IP}{usernotes.REPORT_AT} - {usernotes.ACTION} -
» [ {usernotes.DATA} ] -
 
{L_NO_FEEDBACK}
- -
- - - - - - - - - - - - - -
{L_ADD_FEEDBACK}
{L_ADD_FEEDBACK_EXPLAIN}
  
- - - - - - -
{PAGE_NUMBER} [ {TOTAL_REPORTS} ]
- -
- -

- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_post.html b/phpBB/styles/subSilver/template/mcp_post.html deleted file mode 100644 index 858e4c5a17..0000000000 --- a/phpBB/styles/subSilver/template/mcp_post.html +++ /dev/null @@ -1,162 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_REPORT_DETAILS}
{L_REPORT_REASON}: {REPORT_REASON_TITLE} » {REPORT_REASON_DESCRIPTION}
{L_REPORTER}: style="font-weight: bold; color: {REPORTER_COLOUR};">{REPORTER_NAME}   [ {L_READ_PROFILE} | {L_VIEW_NOTES} | {L_WARN_USER} ]
{L_REPORTED}: {REPORT_DATE}
{L_MORE_INFO}
{REPORT_TEXT}
{L_REPORT_CLOSED}  
- - -
- -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_POST_DETAILS}
{RETURN_QUEUE} | {RETURN_TOPIC_SIMPLE} | {RETURN_POST}{RETURN_REPORTS}{RETURN_TOPIC}
{L_POST_SUBJECT}: {POST_SUBJECT} {UNAPPROVED_IMG} {L_POST_UNAPPROVED} {REPORTED_IMG} {L_POST_REPORTED}
{L_POSTER}: style="font-weight: bold; color: {POST_AUTHOR_COLOUR}">{POST_AUTHOR}   [ {L_READ_PROFILE} | {L_VIEW_NOTES} | {L_WARN_USER} ]
{L_THIS_POST_IP}: {POST_IP}{POST_IP} [ {POST_IPADDR} ]
{L_POSTED}: {POST_DATE}
{L_PREVIEW}
{POST_PREVIEW}
 
- -
- - -
- - - -
- - - - -
- - - - - - - - - - - - - - - - - - - - - -
{L_MOD_OPTIONS}
{L_CHANGE_POSTER}
[ {L_FIND_USERNAME} ]
{L_MOD_OPTIONS}
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_IP_INFO}
{L_OTHER_USERS}
{userrow.USERNAME}{userrow.USERNAME} [ {userrow.NUM_POSTS} {userrow.L_POST_S} ]{SEARCH_IMG}
{L_NO_MATCHES_FOUND}
{L_IPS_POSTED_FROM}[ {L_LOOKUP_ALL} ]
{iprow.HOSTNAME} ({iprow.IP}){iprow.IP} [ {iprow.NUM_POSTS} {iprow.L_POST_S} ][ {L_LOOKUP_IP} ]
{L_NO_MATCHES_FOUND}
- - - - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_queue.html b/phpBB/styles/subSilver/template/mcp_queue.html deleted file mode 100644 index 28132e7264..0000000000 --- a/phpBB/styles/subSilver/template/mcp_queue.html +++ /dev/null @@ -1,46 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_DISPLAY_OPTIONS}
{L_DISPLAY_ITEMS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} {L_FORUM}     {L_ONLY_TOPIC}  
 {L_TOPIC}{L_POST}  {L_AUTHOR}  {L_POST_TIME}  {L_SELECT} 

{postrow.POST_SUBJECT}

- {L_FORUM}: {postrow.FORUM_NAME}{postrow.FORUM_NAME}
{postrow.POST_AUTHOR_FULL}
- [ {L_VIEW_DETAILS} ]
{postrow.POST_TIME}
{L_NO_POSTS}
  
- -
- - - - - -
{L_MARK_ALL} :: {L_UNMARK_ALL}
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_reports.html b/phpBB/styles/subSilver/template/mcp_reports.html deleted file mode 100644 index 15bb797a8e..0000000000 --- a/phpBB/styles/subSilver/template/mcp_reports.html +++ /dev/null @@ -1,55 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_DISPLAY_OPTIONS}
{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} {L_FORUM}     {L_ONLY_TOPIC}  
 {L_POST}  {L_AUTHOR}  {L_REPORTER}  {L_REPORT_TIME}  {L_SELECT} 

{postrow.POST_SUBJECT}

- {L_FORUM}: {postrow.FORUM_NAME}{postrow.FORUM_NAME}
{postrow.POST_AUTHOR_FULL}
- {postrow.POST_TIME}
{postrow.REPORTER_FULL}{postrow.REPORT_TIME}
- [ {L_VIEW_DETAILS} ]
{L_NO_POSTS}
- - - -   - -
- -
- - - - - -
{L_MARK_ALL} :: {L_UNMARK_ALL}
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_topic.html b/phpBB/styles/subSilver/template/mcp_topic.html deleted file mode 100644 index 714cb75884..0000000000 --- a/phpBB/styles/subSilver/template/mcp_topic.html +++ /dev/null @@ -1,141 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_SPLIT_TOPIC}
{L_SPLIT_TOPIC_EXPLAIN}
{L_SPLIT_SUBJECT}
{L_SPLIT_FORUM}
{L_TOPIC_ICON} - - - - -
checked="checked" />{L_NO_TOPIC_ICON} checked="checked" />
-
{L_MERGE_TOPIC}
{L_MERGE_TOPIC_EXPLAIN}
{L_MERGE_TOPIC_ID} {L_SELECT_TOPIC}
{TO_TOPIC_INFO}
{L_DISPLAY_OPTIONS}
{L_POSTS_PER_PAGE}
{L_POSTS_PER_PAGE_EXPLAIN}
{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
{L_AUTHOR}{L_MESSAGE}{L_SELECT}
{RETURN_TOPIC}
- - - - - -
 {L_POST_SUBJECT}: {postrow.POST_SUBJECT}
-
checked="checked" />
- - - - -
[ {L_POST_DETAILS} ]
-
- - - - - - - -
{postrow.MESSAGE}

- - - - - - -
- {UNAPPROVED_IMG} {L_POST_UNAPPROVED} - {REPORTED_IMG}{L_POST_REPORTED} - {postrow.MINI_POST_IMG}{L_POSTED}: {postrow.POST_DATE}
-
-
 
- -
- - - - - -
{L_MARK_ALL} :: {L_UNMARK_ALL}
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_viewlogs.html b/phpBB/styles/subSilver/template/mcp_viewlogs.html deleted file mode 100644 index 785cada6bb..0000000000 --- a/phpBB/styles/subSilver/template/mcp_viewlogs.html +++ /dev/null @@ -1,52 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_DISPLAY_OPTIONS}
{L_DISPLAY_LOG}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
{L_USERNAME}{L_IP}{L_TIME}{L_ACTION}
{L_LOGS_CURRENT_TOPIC} {TOPIC_NAME}
{log.USERNAME}{log.IP}{log.TIME}{log.ACTION}{L_VIEW_TOPIC} | {L_VIEW_TOPIC_LOGS}
{L_NO_ENTRIES}
- - - - - - -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_warn_front.html b/phpBB/styles/subSilver/template/mcp_warn_front.html deleted file mode 100755 index 087e9124ff..0000000000 --- a/phpBB/styles/subSilver/template/mcp_warn_front.html +++ /dev/null @@ -1,74 +0,0 @@ - - -
- - - - - - - - - - - - -
{L_SELECT_USER}
{L_FIND_USERNAME}:
[ {L_FIND_USERNAME} ]
- -
- -

- - - - - - - - - - - - - - - - - - - - - - - -
{L_MOST_WARNINGS}
 {L_USERNAME}  {L_WARNINGS}  {L_LATEST_WARNING_TIME}  
{highest.USERNAME_FULL}{highest.WARNINGS}{highest.WARNING_TIME}{L_VIEW_NOTES}
{L_WARNINGS_ZERO_TOTAL}
- -

- - - - - - - - - - - - - - - - - - - - - - - -
{L_LATEST_WARNINGS}
 {L_USERNAME}  {L_TIME}  {L_TOTAL_WARNINGS}  
{latest.USERNAME_FULL}{latest.WARNING_TIME}{latest.WARNINGS}{L_VIEW_NOTES}
{L_WARNINGS_ZERO_TOTAL}
- -

- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_warn_list.html b/phpBB/styles/subSilver/template/mcp_warn_list.html deleted file mode 100755 index 9b1d6c13ac..0000000000 --- a/phpBB/styles/subSilver/template/mcp_warn_list.html +++ /dev/null @@ -1,43 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_WARNED_USERS}
 {L_USERNAME}  {L_WARNINGS}  {L_LATEST_WARNING_TIME}  
{user.USERNAME_FULL}{user.WARNINGS}{user.WARNING_TIME}{L_VIEW_NOTES}
{L_WARNINGS_ZERO_TOTAL}
{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
- - - - - - -
{PAGE_NUMBER} [ {TOTAL_USERS} ]
- -
- -

- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_warn_post.html b/phpBB/styles/subSilver/template/mcp_warn_post.html deleted file mode 100755 index 957e9416d8..0000000000 --- a/phpBB/styles/subSilver/template/mcp_warn_post.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - -
{L_POST}
- - - - - - - - - - - - - - - - - -
{USERNAME}
{RANK_TITLE}
{RANK_IMG}
{AVATAR_IMG}
-
- {POST} -
- -

- -
- - - - - - - - - - - - - - - - -
{L_ADD_WARNING}
{L_ADD_WARNING_EXPLAIN}
{L_NOTIFY_USER_WARN}
  
-
- -

- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_warn_user.html b/phpBB/styles/subSilver/template/mcp_warn_user.html deleted file mode 100755 index 254f020db1..0000000000 --- a/phpBB/styles/subSilver/template/mcp_warn_user.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - -
{USERNAME}
- - - - - - - - - - - - - - - - - -
{USERNAME}
{RANK_TITLE}
{RANK_IMG}
{AVATAR_IMG}
-
- - - - - - - - - - - - - -
{L_JOINED}: {JOINED}
{L_TOTAL_POSTS}: {POSTS}
{L_WARNINGS}: {WARNINGS}
-
- -

- -
- - - - - - - - - - - - - - - - -
{L_ADD_WARNING}
{L_ADD_WARNING_EXPLAIN}
{L_NOTIFY_USER_WARN}
  
-
- -

- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/mcp_whois.html b/phpBB/styles/subSilver/template/mcp_whois.html deleted file mode 100644 index 54b93eec69..0000000000 --- a/phpBB/styles/subSilver/template/mcp_whois.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - -
{L_WHOIS}
{RETURN_POST}
{WHOIS}
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/memberlist_body.html b/phpBB/styles/subSilver/template/memberlist_body.html deleted file mode 100644 index d6fa99abaa..0000000000 --- a/phpBB/styles/subSilver/template/memberlist_body.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - -
- - - - - - - - - -
{L_USERNAME_BEGINS_WITH}:  {L_FIND_USERNAME}{L_HIDE_MEMBER_SEARCH}
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#{L_USERNAME}{L_JOINED}{L_POSTS}{L_RANK}{L_SEND_MESSAGE}{L_EMAIL}{L_WEBSITE}{L_MARK}
{L_GROUP_LEADER}
{L_GROUP_MEMBERS}
 {memberrow.ROW_NUMBER} {memberrow.USERNAME_FULL}{L_SELECT} ] {memberrow.JOINED} {memberrow.POSTS}{memberrow.RANK_IMG}{memberrow.RANK_TITLE} {PM_IMG}  {EMAIL_IMG}  {WWW_IMG}  {memberrow.PROFILE_FIELD1_VALUE}
- {L_NO_GROUP_MEMBERS}{L_NO_MEMBERS} -
{L_SELECT_SORT_METHOD}:   {L_ORDER}  
- -
- - - - - - -
{PAGE_NUMBER} [ {TOTAL_USERS} ]{L_MARK_ALL} :: {L_UNMARK_ALL}
- - - - - - -
- - - -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/memberlist_email.html b/phpBB/styles/subSilver/template/memberlist_email.html deleted file mode 100644 index ba82dcfce1..0000000000 --- a/phpBB/styles/subSilver/template/memberlist_email.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_SEND_EMAIL}
{ERROR_MESSAGE}
{L_RECIPIENT}{USERNAME}
{L_SUBJECT}
{L_EMAIL_ADDRESS}
{L_REAL_NAME}
{L_DEST_LANG}
{L_DEST_LANG_EXPLAIN}
{L_MESSAGE_BODY}
{L_EMAIL_BODY_EXPLAIN}
{L_OPTIONS} - - - - - -
{L_CC_EMAIL}
-
- -
- -
- -
- - - -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/memberlist_group.html b/phpBB/styles/subSilver/template/memberlist_group.html deleted file mode 100644 index 650868f810..0000000000 --- a/phpBB/styles/subSilver/template/memberlist_group.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - -
{L_GROUP_INFORMATION}
{L_GROUP_NAME}: style="color:#{GROUP_COLOR}">{GROUP_NAME}{AVATAR_IMG}
{RANK_IMG}{GROUP_RANK}

{PM_IMG}
{L_GROUP_DESC}:{GROUP_DESC}

{GROUP_TYPE}

diff --git a/phpBB/styles/subSilver/template/memberlist_im.html b/phpBB/styles/subSilver/template/memberlist_im.html deleted file mode 100644 index a4486ada21..0000000000 --- a/phpBB/styles/subSilver/template/memberlist_im.html +++ /dev/null @@ -1,140 +0,0 @@ - - -
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_SEND_IM}
{L_SEND_IM_EXPLAIN}
{L_IM_RECIPIENT}: {USERNAME} [ {IM_CONTACT} ] {PRESENCE_IMG}

{L_IM_ADD_CONTACT}
{L_IM_SEND_MESSAGE}

{L_IM_DOWNLOAD_APP} | {L_IM_AIM_EXPRESS}
 
- - - - {L_IM_ADD_CONTACT}
{L_IM_SEND_MESSAGE} -
 
{L_IM_MESSAGE}:
{L_IM_NO_JABBER}
{L_IM_SENT_JABBER}
-
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/memberlist_leaders.html b/phpBB/styles/subSilver/template/memberlist_leaders.html deleted file mode 100644 index ba6dbde617..0000000000 --- a/phpBB/styles/subSilver/template/memberlist_leaders.html +++ /dev/null @@ -1,71 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_USERNAME}{L_FORUMS}{L_PRIMARY_GROUP}{L_RANK}{L_SEND_MESSAGE}
{L_ADMINISTRATORS}
{admin.USERNAME_FULL}   - - style="font-weight: bold; color:#{admin.GROUP_COLOR}" href="{admin.U_GROUP}">{admin.GROUP_NAME} - - {admin.GROUP_NAME} - -  {admin.RANK_IMG}{admin.RANK_TITLE} {PM_IMG} 
{L_NO_ADMINISTRATORS}
{L_MODERATORS}
{mod.USERNAME_FULL}{L_ALL_FORUMS}   - - style="font-weight: bold; color:#{mod.GROUP_COLOR}" href="{mod.U_GROUP}">{mod.GROUP_NAME} - - {mod.GROUP_NAME} - -  {mod.RANK_IMG}{mod.RANK_TITLE} {PM_IMG} 
{L_NO_MODERATORS}
- -
- -
- - - -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/memberlist_search.html b/phpBB/styles/subSilver/template/memberlist_search.html deleted file mode 100644 index dd104c5fd6..0000000000 --- a/phpBB/styles/subSilver/template/memberlist_search.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_FIND_USERNAME}
{L_FIND_USERNAME_EXPLAIN}
{L_USERNAME}:{L_ICQ}:
{L_EMAIL}:{L_AIM}:
{L_JOINED}: {L_YIM}:
{L_LAST_ACTIVE}: {L_MSNM}:
{L_POSTS}: {L_JABBER}:
{L_SORT_BY}:  {L_POST_IP}:
{L_GROUP}:  
  
- -
- -
diff --git a/phpBB/styles/subSilver/template/memberlist_view.html b/phpBB/styles/subSilver/template/memberlist_view.html deleted file mode 100644 index 5f6c55e0eb..0000000000 --- a/phpBB/styles/subSilver/template/memberlist_view.html +++ /dev/null @@ -1,195 +0,0 @@ - - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_VIEWING_PROFILE}

{L_USER_PRESENCE}

{L_USER_FORUM}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_USER_IS_INACTIVE}
{L_INACTIVE_REASON}: {USER_INACTIVE_REASON}

{USERNAME} [ {L_USER_ADMIN} ]
{RANK_TITLE}
{RANK_IMG}
{AVATAR_IMG}
{ONLINE_IMG}
[ {L_USE_PERMISSIONS} ]
[ {L_ADD_FRIEND} | {L_ADD_FOE}{L_REMOVE_FRIEND}{L_REMOVE_FOE} ]
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_JOINED}: {JOINED}
{L_VISITED}: {VISITED}
{L_WARNINGS}: {WARNINGS}
[ {L_VIEW_NOTES} | {L_WARN_USER} ]
{L_TOTAL_POSTS}: {POSTS}
[{POSTS_PCT} / {POSTS_DAY}]
{L_SEARCH_USER_POSTS}
{L_ACTIVE_IN_FORUM}: {ACTIVE_FORUM}
[ {ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT} ]-
{L_ACTIVE_IN_TOPIC}: {ACTIVE_TOPIC}
[ {ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT} ]-
-

{L_CONTACT_USER}

{L_ABOUT_USER}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_EMAIL_ADDRESS}: {EMAIL_IMG}
{L_PM}: {PM_IMG}
{L_MSNM}: {MSN_IMG}{USER_MSN}
{L_YIM}: {YIM_IMG}{USER_YIM}
{L_AIM}: {AIM_IMG}{USER_AIM}
{L_ICQ}: {ICQ_IMG}{USER_ICQ}
{L_JABBER}: {JABBER_IMG}{USER_JABBER_IMG}
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_USERGROUPS}:
{L_LOCATION}: {LOCATION}
{L_AGE}: {AGE}
{L_OCCUPATION}: {OCCUPATION}
{L_INTERESTS}: {INTERESTS}
{L_WEBSITE}: {U_WWW}
{PROFILE_FIELD1_NAME}: {PROFILE_FIELD1_VALUE}
{custom_fields.PROFILE_FIELD_NAME}: {custom_fields.PROFILE_FIELD_VALUE}
-

{L_SIGNATURE}

{SIGNATURE}
- -
- -
- -
- - - -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/message_body.html b/phpBB/styles/subSilver/template/message_body.html deleted file mode 100644 index f61a3e6365..0000000000 --- a/phpBB/styles/subSilver/template/message_body.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - -
{MESSAGE_TITLE}

{MESSAGE_TEXT}


- -
- - - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/overall_footer.html b/phpBB/styles/subSilver/template/overall_footer.html deleted file mode 100644 index 64aefc64eb..0000000000 --- a/phpBB/styles/subSilver/template/overall_footer.html +++ /dev/null @@ -1,23 +0,0 @@ - {RUN_CRON_TASK} - - - - -
- [ {L_ACP} ]

- Powered by phpBB © 2002, 2006 phpBB Group -
{TRANSLATION_INFO} -
[ {DEBUG_OUTPUT} ]
-
- - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/overall_header.html b/phpBB/styles/subSilver/template/overall_header.html deleted file mode 100644 index 045cbfee17..0000000000 --- a/phpBB/styles/subSilver/template/overall_header.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - -{META} -{SITENAME} • {PAGE_TITLE} - - - - - - - - - - - - - -
- -
- - - - - -
{SITE_LOGO_IMG}

{SITENAME}

{SITE_DESCRIPTION}
-
- - - -
- - - - - -
{LAST_VISIT_DATE}{CURRENT_TIME}
-
- -
- -
- - - - - -
- - - -
diff --git a/phpBB/styles/subSilver/template/pagination.html b/phpBB/styles/subSilver/template/pagination.html deleted file mode 100644 index bf9c854d9a..0000000000 --- a/phpBB/styles/subSilver/template/pagination.html +++ /dev/null @@ -1 +0,0 @@ -{L_GOTO_PAGE} {L_PREVIOUS}  {PAGINATION}  {L_NEXT} \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/posting_attach_body.html b/phpBB/styles/subSilver/template/posting_attach_body.html deleted file mode 100644 index e9de2e7516..0000000000 --- a/phpBB/styles/subSilver/template/posting_attach_body.html +++ /dev/null @@ -1,82 +0,0 @@ -
- - - - - - - {L_ADD_ATTACHMENT} -
{L_ADD_ATTACHMENT_EXPLAIN}
{L_FILENAME}
{L_FILE_COMMENT} - - - - - -
  - - - - -
-
-
{L_POSTED_ATTACHMENTS}
{L_FILENAME}{attach_row.FILENAME}
{L_FILE_COMMENT}{attach_row.S_HIDDEN} - - - - - -
  - - - - -
-
-
- - - - - - -
{L_INFORMATION}
{L_DRAFT_LOADED}
- -
- - - - - - - - - - - - - - - - - - - - - - - - -
{L_LOAD_DRAFT}
{L_LOAD_DRAFT_EXPLAIN}
{L_SAVE_DATE}{L_DRAFT_TITLE}{L_OPTIONS}
{draftrow.DATE}{draftrow.DRAFT_SUBJECT} -
{L_TOPIC}: {draftrow.TITLE} -
{L_FORUM}: {draftrow.TITLE} -
{L_PRIVATE_MESSAGE} -
{L_NO_TOPIC_FORUM} -
{L_LOAD_DRAFT}
- -
- - - - - - - - - - - - - - - - - - -
{L_MOVE}
{L_UNGLOBALISE_EXPLAIN}

{L_SELECT_DESTINATION_FORUM}  


  
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_POST_A}
{ERROR}
{L_DELETE_POST}: [ {L_DELETE_POST_WARN} ]
{L_ICON}: - - - - -
{L_NO_TOPIC_ICON}{L_NO_PM_ICON}
-
{L_USERNAME}:
{L_TO}: - {S_HIDDEN_ADDRESS_FIELD} - - - {to_recipient.NAME}{to_recipient.NAME_FULL}   - - - {L_NO_TO_RECIPIENT} - -
{L_BCC}: - - - {bcc_recipient.NAME}{bcc_recipient.NAME_FULL}   - - - {L_NO_BCC_RECIPIENT} - -
{L_SUBJECT}:
{L_MESSAGE_BODY}:
{L_MESSAGE_BODY_EXPLAIN} 

- - - - - - - - - - - - - - - -
{L_SMILIES}
- - {smiley.SMILEY_CODE} - -
{L_MORE_SMILIES}
- -
- - - - - - - - - - -
- -
-
{L_ATTACHMENTS}:  -
{L_OPTIONS}:
- - - - - - - - - - - - - - - - - - -
{BBCODE_STATUS}
{IMG_STATUS}
{FLASH_STATUS}
{URL_STATUS}
{SMILIES_STATUS}
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_DISABLE_BBCODE}
{L_DISABLE_SMILIES}
{L_DISABLE_MAGIC_URL}
{L_ATTACH_SIG}
{L_NOTIFY_REPLY}
{L_LOCK_TOPIC}
{L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]
 {L_CHANGE_TOPIC_TO}{L_POST_TOPIC_AS}: {topic_type.L_TOPIC_TYPE}  
-
{L_STICK_TOPIC_FOR}:
{L_STICKY_ANNOUNCE_TIME_LIMIT}
 {L_DAYS} {L_STICK_TOPIC_FOR_EXPLAIN}
{L_EDIT_REASON}:
{L_POST_CONFIRMATION}
{L_POST_CONFIRM_EXPLAIN}
- - {CONFIRM_IMAGE} -
{L_CONFIRM_CODE}:
{L_CONFIRM_CODE_EXPLAIN}
- -   -   -   -   -
{L_POLL_DELETE}:
{S_HIDDEN_FIELDS} - -   - -   -   - -   -
- -
- - - - - - - - - - - - -
- - - - - - - - -

{L_WHO_IS_ONLINE}

{LOGGED_IN_USER_LIST}
- - -
- - - - - -
- - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/posting_buttons.html b/phpBB/styles/subSilver/template/posting_buttons.html deleted file mode 100644 index dce4efb02f..0000000000 --- a/phpBB/styles/subSilver/template/posting_buttons.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - {L_FONT_SIZE}: - - - - - - - - onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')" onmouseout="helpline('tip')" /> - - - - - - - colspan="2"> - - {L_FONT_COLOR} - - - diff --git a/phpBB/styles/subSilver/template/posting_poll_body.html b/phpBB/styles/subSilver/template/posting_poll_body.html deleted file mode 100644 index 3a523182f7..0000000000 --- a/phpBB/styles/subSilver/template/posting_poll_body.html +++ /dev/null @@ -1,36 +0,0 @@ - - - {L_ADD_POLL} - - - {L_ADD_POLL_EXPLAIN} - - - {L_POLL_QUESTION}: - - - - {L_POLL_OPTIONS}:
{L_POLL_OPTIONS_EXPLAIN} - - - - {L_POLL_MAX_OPTIONS}:
{L_POLL_MAX_OPTIONS_EXPLAIN} - - - - {L_POLL_FOR}: -  {L_DAYS} {L_POLL_FOR_EXPLAIN} - - - - {L_POLL_VOTE_CHANGE}:
{L_POLL_VOTE_CHANGE_EXPLAIN} - - - - - - - {L_POLL_DELETE}: - checked="checked" /> - - diff --git a/phpBB/styles/subSilver/template/posting_preview.html b/phpBB/styles/subSilver/template/posting_preview.html deleted file mode 100644 index b990428f36..0000000000 --- a/phpBB/styles/subSilver/template/posting_preview.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - -
{L_PREVIEW}
{MINI_POST_IMG}{L_POSTED}: {POST_DATE}     {L_POST_SUBJECT}: {PREVIEW_SUBJECT}

- - - - - - - - - - -
{POLL_QUESTION}
{L_POLL_LENGTH}
- - - - - - - -
- - - - - - {poll_option.POLL_OPTION_CAPTION}
-
{L_MAX_VOTES}
-
- - - - -
{PREVIEW_MESSAGE}
- -

- - - - - - - - - - -
{L_ATTACHMENTS}:
{attachment.DISPLAY_ATTACHMENT}
- -
_________________
{PREVIEW_SIGNATURE}
-
- -
diff --git a/phpBB/styles/subSilver/template/posting_progress_bar.html b/phpBB/styles/subSilver/template/posting_progress_bar.html deleted file mode 100644 index 9a7daede6d..0000000000 --- a/phpBB/styles/subSilver/template/posting_progress_bar.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -
- - - - -

{L_UPLOAD_IN_PROGRESS}

{PROGRESS_BAR}


{L_CLOSE_WINDOW}

-
- - - diff --git a/phpBB/styles/subSilver/template/posting_review.html b/phpBB/styles/subSilver/template/posting_review.html deleted file mode 100644 index eda1af6903..0000000000 --- a/phpBB/styles/subSilver/template/posting_review.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - -
{L_POST_REVIEW}
{L_POST_REVIEW_EXPLAIN}
- - - - - - - - - - - - - - - - - - - - - -
{L_AUTHOR}{L_MESSAGE}
- - - - -
-
- - - - - - - -
 {L_POST_SUBJECT}: {post_review_row.POST_SUBJECT} 
-
- - - - - - - -
- - - - -
{post_review_row.MESSAGE}
-
- - - - - - -
 {post_review_row.MINI_POST_IMG}{L_POSTED}: {post_review_row.POST_DATE}
-
-
-
- -
\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/posting_smilies.html b/phpBB/styles/subSilver/template/posting_smilies.html deleted file mode 100644 index f48ef66c19..0000000000 --- a/phpBB/styles/subSilver/template/posting_smilies.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - -
- - - - - - - -
{L_SMILIES}
{smiley.SMILEY_CODE}
{L_CLOSE_WINDOW}
-
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/posting_topic_review.html b/phpBB/styles/subSilver/template/posting_topic_review.html deleted file mode 100644 index bc5e8c873c..0000000000 --- a/phpBB/styles/subSilver/template/posting_topic_review.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - -
{L_TOPIC_REVIEW} - {TOPIC_TITLE}
- - - - - - - - - - - - - - - - - - - - - - -
{L_AUTHOR}{L_MESSAGE}
- - - - -
-
- - - - - - - -
 {L_POST_SUBJECT}: {topic_review_row.POST_SUBJECT} {QUOTE_IMG}
-
- - - - - - - -
- - - - -
-
{topic_review_row.MESSAGE}
- - - -
-
- - - - - - -
[ {L_POST_DETAILS} ]{topic_review_row.MINI_POST_IMG}{L_POSTED}: {topic_review_row.POST_DATE}
-
-
-
- -
diff --git a/phpBB/styles/subSilver/template/report_body.html b/phpBB/styles/subSilver/template/report_body.html deleted file mode 100644 index 83e33b4761..0000000000 --- a/phpBB/styles/subSilver/template/report_body.html +++ /dev/null @@ -1,40 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
{L_REPORT_POST}
{L_REPORT_POST_EXPLAIN}
{L_REASON}:
{L_REPORT_NOTIFY}:
{L_REPORT_NOTIFY_EXPLAIN}
checked="checked" />  {L_YES}   checked="checked" />  {L_NO}
{L_MORE_INFO}:
{L_CAN_LEAVE_BLANK}
 
-
- -
- - - -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/search_body.html b/phpBB/styles/subSilver/template/search_body.html deleted file mode 100644 index a914e5f38d..0000000000 --- a/phpBB/styles/subSilver/template/search_body.html +++ /dev/null @@ -1,80 +0,0 @@ - - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_SEARCH_QUERY}
{L_SEARCH_KEYWORDS}:
{L_SEARCH_KEYWORDS_EXPLAIN}

{L_SEARCH_ALL_TERMS}
{L_SEARCH_ANY_TERMS}
{L_SEARCH_AUTHOR}:
{L_SEARCH_AUTHOR_EXPLAIN}
{L_SEARCH_FORUMS}:
{L_SEARCH_FORUMS_EXPLAIN}
{L_SEARCH_OPTIONS}
{L_SEARCH_SUBFORUMS}: {L_YES}   {L_NO}{L_SEARCH_WITHIN}: {L_SEARCH_TITLE_MSG}
{L_SEARCH_MSG_ONLY}
{L_SEARCH_TITLE_ONLY}
{L_SEARCH_FIRST_POST}
{L_RESULT_SORT}: {S_SELECT_SORT_KEY}
{L_SORT_ASCENDING}
{L_SORT_DESCENDING}
{L_DISPLAY_RESULTS}: {L_POSTS}   {L_TOPICS}
{L_RESULT_DAYS}: {S_SELECT_SORT_DAYS}{L_RETURN_FIRST}: {L_POST_CHARACTERS}
{S_HIDDEN_FIELDS}  
- -
- -
- - - - - - - - - - - - - - - - -
{L_RECENT_SEARCHES}
{recentsearch.KEYWORDS}{recentsearch.TIME}
{L_NO_RECENT_SEARCHES}
- -
- -
- - - -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/search_results.html b/phpBB/styles/subSilver/template/search_results.html deleted file mode 100644 index 220ce4c046..0000000000 --- a/phpBB/styles/subSilver/template/search_results.html +++ /dev/null @@ -1,146 +0,0 @@ - - -
- - - - - - - - - -
{SEARCH_TITLE}{SEARCH_MATCHES}
{L_SEARCHED_TOPIC}: {SEARCH_TOPIC}
{L_SEARCHED_FOR}: {SEARCH_WORDS} {L_IGNORED_TERMS}: {IGNORED_WORDS}
{L_SEARCH_IN_RESULTS}:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  {L_TOPICS}  {L_AUTHOR}  {L_REPLIES}  {L_VIEWS}  {L_LAST_POST} 
{searchresults.TOPIC_FOLDER_IMG} - - - - - {NEWEST_POST_IMG} - {topicrow.ATTACH_ICON_IMG} {searchresults.TOPIC_TITLE} - - {searchresults.UNAPPROVED_IMG}  - - - {REPORTED_IMG}  - - -

[ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {searchresults.PAGINATION} ]

- - -

{L_GLOBAL}

- -

{L_IN} {searchresults.FORUM_TITLE}

- -

{searchresults.TOPIC_AUTHOR_FULL}

{searchresults.TOPIC_REPLIES}

{searchresults.TOPIC_VIEWS}

-

{searchresults.LAST_POST_TIME}

-

{searchresults.LAST_POST_AUTHOR_FULL} - {searchresults.LAST_POST_IMG} -

-
{L_NO_SEARCH_RESULTS}
{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS} {L_SORT_BY}: {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_AUTHOR}{L_MESSAGE}
{searchresults.L_IGNORE_POST}

 {L_FORUM}: {searchresults.FORUM_TITLE}{L_GLOBAL}   {L_TOPIC}: {searchresults.TOPIC_TITLE}

- - - - -
-
- -  {L_POST_SUBJECT}: {searchresults.POST_SUBJECT} - - [ {L_JUMP_TO_POST} ] - -
-
{L_POSTED}: {searchresults.POST_DATE} 
-
-

{L_REPLIES}: {searchresults.TOPIC_REPLIES}
{L_VIEWS}: {searchresults.TOPIC_VIEWS}


- - - - -
{searchresults.MESSAGE}
-
{L_NO_SEARCH_RESULTS}
{L_SORT_BY}: {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
- - -
- -
{PAGE_NUMBER} [ {SEARCH_MATCHES} ]
- - -

- - - -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/searchbox.html b/phpBB/styles/subSilver/template/searchbox.html deleted file mode 100644 index cb0bb5ba73..0000000000 --- a/phpBB/styles/subSilver/template/searchbox.html +++ /dev/null @@ -1 +0,0 @@ -
{L_SEARCH_FOR}:
diff --git a/phpBB/styles/subSilver/template/simple_footer.html b/phpBB/styles/subSilver/template/simple_footer.html deleted file mode 100644 index b8f1cc865b..0000000000 --- a/phpBB/styles/subSilver/template/simple_footer.html +++ /dev/null @@ -1,20 +0,0 @@ - -
- - - -
- Powered by phpBB © 2002, 2006 phpBB Group -
- - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/simple_header.html b/phpBB/styles/subSilver/template/simple_header.html deleted file mode 100644 index 3b97809f50..0000000000 --- a/phpBB/styles/subSilver/template/simple_header.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - -{META} -{SITENAME} • {PAGE_TITLE} - - - - - - -
\ No newline at end of file diff --git a/phpBB/styles/subSilver/template/template.cfg b/phpBB/styles/subSilver/template/template.cfg deleted file mode 100644 index 26a12a64bd..0000000000 --- a/phpBB/styles/subSilver/template/template.cfg +++ /dev/null @@ -1,23 +0,0 @@ -# -# phpBB Template Configuration File -# -# @package phpBB3 -# @copyright (c) 2005 phpBB Group -# @license http://opensource.org/licenses/gpl-license.php GNU Public License -# -# -# At the left is the name, please do not change this -# At the right the value is entered -# For on/off options the valid values are on, off, 1, 0, true and false -# -# Values get trimmed, if you want to add a space in front or at the end of -# the value, then enclose the value with single or double quotes. -# Single and double quotes do not need to be escaped. -# -# - -# General Information about this template -name = subSilver -copyright = © phpBB Group, 2003 -version = 2.1.1 - diff --git a/phpBB/styles/subSilver/template/ucp_agreement.html b/phpBB/styles/subSilver/template/ucp_agreement.html deleted file mode 100644 index d01a040a7a..0000000000 --- a/phpBB/styles/subSilver/template/ucp_agreement.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - -
- - - - - - - - -
{SITENAME} - {L_REGISTRATION}
- - - - - - - - -

{L_COPPA_BIRTHDAY}

{L_COPPA_NO} :: {L_COPPA_YES}

-
{L_TERMS_OF_USE}

-
-

- -
-
-
- {S_HIDDEN_FIELDS} -
- - - - - - - - - - -
{SITENAME} - {AGREEMENT_TITLE}
- - - - -
-
{AGREEMENT_TEXT}

-
- {L_BACK} -
-
-
- - - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_attachments.html b/phpBB/styles/subSilver/template/ucp_attachments.html deleted file mode 100644 index 35dcd33ac4..0000000000 --- a/phpBB/styles/subSilver/template/ucp_attachments.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#{L_FILENAME}{L_POST_TIME}{L_FILESIZE}{L_DOWNLOADS}{L_DELETE}
- - - - - - -
 [ {TOTAL_ATTACHMENTS} ] 
-
 {attachrow.ROW_NUMBER} {attachrow.FILENAME}
{L_PM}: {L_TOPIC}: {attachrow.TOPIC_TITLE}
 {attachrow.POST_TIME} {attachrow.SIZE}{attachrow.DOWNLOAD_COUNT}
{L_SORT_BY}:  
 
- - - - - - - - - - - - -
{L_TITLE}
{L_UCP_NO_ATTACHMENTS}
- - - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_footer.html b/phpBB/styles/subSilver/template/ucp_footer.html deleted file mode 100644 index a6d1dec7a7..0000000000 --- a/phpBB/styles/subSilver/template/ucp_footer.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - -
- - - -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_groups_manage.html b/phpBB/styles/subSilver/template/ucp_groups_manage.html deleted file mode 100644 index ed26b75140..0000000000 --- a/phpBB/styles/subSilver/template/ucp_groups_manage.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - -
-

{L_WARNING}

-

{ERROR_MSG}

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_USERGROUPS}
{L_GROUPS_EXPLAIN}
{L_GROUP_DETAILS}
for="group_name">{L_GROUP_NAME}: style="color: #{GROUP_COLOUR};">{GROUP_NAME}
-
checked="checked" /> {L_PARSE_BBCODE}   checked="checked" /> {L_PARSE_SMILIES}   checked="checked" /> {L_PARSE_URLS} -

{L_GROUP_TYPE_EXPLAIN}
- {L_GROUP_OPEN}   - {L_GROUP_REQUEST}   - {L_GROUP_CLOSED}   - {L_GROUP_HIDDEN} -
{L_GROUP_SETTINGS_SAVE}

{L_GROUP_COLOR_EXPLAIN}
  [ {L_COLOUR_SWATCH} ]
{L_GROUP_AVATAR}

{L_AVATAR_EXPLAIN}
{AVATAR_IMAGE}

 {L_DELETE_AVATAR}

{L_UPLOAD_AVATAR_URL_EXPLAIN}

{L_LINK_REMOTE_AVATAR_EXPLAIN}

{L_LINK_REMOTE_SIZE_EXPLAIN}
px X px
{L_AVATAR_GALLERY}
 
- - - - - - - - - - - - - -
{avatar_row.avatar_column.AVATAR_NAME}
-
  -
- - - -

{L_GROUP_MEMBERS}

- -

{L_GROUP_MEMBERS_EXPLAIN}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_USERNAME}{L_GROUP_DEFAULT}{L_JOINED}{L_POSTS}{L_MARK}
{L_GROUP_LEAD}
{leader.USERNAME}{L_YES}{L_NO}{leader.JOINED}{leader.USER_POSTS}
{L_GROUP_APPROVED}
{L_GROUP_PENDING}
{member.USERNAME}{L_YES}{L_NO}{member.JOINED}{member.USER_POSTS}
{L_GROUPS_NO_MEMBERS}
- - - -
-
- -

{L_ADD_USERS}

- -

{L_ADD_USERS_EXPLAIN}

- - - - - - - - - - - - - - - - -
{L_ADD_USERS}

{L_USER_GROUP_DEFAULT_EXPLAIN}
{L_YES}   {L_NO}

{L_USERNAMES_EXPLAIN}

[ {L_FIND_USERNAME} ]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_USERGROUPS}
{L_GROUPS_EXPLAIN}
{L_GROUP_DETAILS}{L_OPTIONS}
{L_GROUP_LEADER}
style="color: #{leader.GROUP_COLOUR};">{leader.GROUP_NAME}

{leader.GROUP_DESC}

{L_EDIT}{L_GROUP_LIST}
{L_NO_LEADERS}
 
- - - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_groups_membership.html b/phpBB/styles/subSilver/template/ucp_groups_membership.html deleted file mode 100644 index b92dabc967..0000000000 --- a/phpBB/styles/subSilver/template/ucp_groups_membership.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_USERGROUPS}
{L_GROUPS_EXPLAIN}
{L_GROUP_DETAILS}{L_SELECT}
{L_GROUP_LEADER}
checked="checked" value="{leader.GROUP_ID}" /> - style="color: #{leader.GROUP_COLOUR};">{leader.GROUP_NAME} -
{leader.GROUP_DESC} -
{leader.GROUP_STATUS} -
{L_GROUP_MEMBER}
checked="checked" value="{member.GROUP_ID}" /> - style="color: #{member.GROUP_COLOUR};">{member.GROUP_NAME} -
{member.GROUP_DESC} -
{member.GROUP_STATUS} -
{L_GROUP_PENDING}
  - style="color: #{pending.GROUP_COLOUR};">{pending.GROUP_NAME} -
{pending.GROUP_DESC} -
{pending.GROUP_STATUS} -
{L_GROUP_NONMEMBER}
  - style="color: #{nonmember.GROUP_COLOUR};">{nonmember.GROUP_NAME} -
{nonmember.GROUP_DESC} -
{nonmember.GROUP_STATUS} -
{L_SELECT}:   
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_header.html b/phpBB/styles/subSilver/template/ucp_header.html deleted file mode 100644 index 002d88f5ff..0000000000 --- a/phpBB/styles/subSilver/template/ucp_header.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - -
- - - - - - + +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_PM_TO}
{L_USERNAME}:
[ {L_FIND_USERNAME} ]
 
{L_USERNAMES}:

- [ {L_FIND_USERNAME} ] -
{L_USERGROUPS}:
  
  
-
- - - - - - - - - - - - - -
{L_OPTIONS}
{l_block1.L_TITLE} - - - - - - - -
- - - - - - - -
{l_block1.L_TITLE} - -
- -
- - - - - - - - - - - - - - - - -
{L_MESSAGE_COLOURS}
{pm_colour_info.LANG}{pm_colour_info.IMG}{pm_colour_info.LANG}
- -
- - - - - - - - - - -
{L_FRIENDS}
- - {L_FRIENDS_ONLINE} - - - -
- - {L_FRIENDS_OFFLINE} - - - -
- - -
diff --git a/phpBB/styles/subSilver/template/ucp_main_bookmarks.html b/phpBB/styles/subSilver/template/ucp_main_bookmarks.html deleted file mode 100644 index 7df1d3d5ac..0000000000 --- a/phpBB/styles/subSilver/template/ucp_main_bookmarks.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_UCP}
{L_BOOKMARKS_EXPLAIN}
{L_BOOKMARKS}
{L_BOOKMARKS_DISABLED}
{topicrow.TOPIC_FOLDER_IMG}{L_DELETED_TOPIC} -

{topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TITLE}

- {L_GLOBAL_ANNOUNCEMENT}{L_FORUM}: {topicrow.FORUM_NAME} - -

[ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ]

- -
-

{topicrow.LAST_POST_TIME}

-

{topicrow.LAST_POST_AUTHOR_FULL} - {topicrow.LAST_POST_IMG} -

-
 {L_MOVE_UP} | {L_MOVE_DOWN} 
{L_NO_BOOKMARKS}
 
- - - - - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_main_drafts.html b/phpBB/styles/subSilver/template/ucp_main_drafts.html deleted file mode 100644 index 05749efabe..0000000000 --- a/phpBB/styles/subSilver/template/ucp_main_drafts.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_UCP}
{L_DRAFTS_EXPLAIN}
{ERROR}
{L_SAVE_DATE}{L_DRAFT_TITLE}{L_OPTIONS}{L_DELETE}
{draftrow.DATE} -

{draftrow.DRAFT_SUBJECT}

- {L_TOPIC}: {draftrow.TITLE} - {L_FORUM}: {draftrow.TITLE} - {L_PRIVATE_MESSAGE} - {L_NO_TOPIC_FORUM} -
{L_LOAD_DRAFT}
{L_VIEW_EDIT}
{L_NO_SAVED_DRAFTS}
 
{L_SUBJECT}:
{L_MESSAGE}:
{L_EDIT_DRAFT_EXPLAIN}
- - - - - - - - - -
- - - - -
- -
-
-

{L_BACK_TO_DRAFTS}

{S_HIDDEN_FIELDS}  
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_main_front.html b/phpBB/styles/subSilver/template/ucp_main_front.html deleted file mode 100644 index 93bafe0798..0000000000 --- a/phpBB/styles/subSilver/template/ucp_main_front.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_UCP}

{L_UCP_WELCOME}

{L_IMPORTANT_NEWS}
{topicrow.TOPIC_FOLDER_IMG} -

{topicrow.NEWEST_POST_IMG} {topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TITLE}

{topicrow.GOTO_PAGE}

-
-

{topicrow.LAST_POST_TIME}

-

{topicrow.LAST_POST_AUTHOR_FULL} - {topicrow.LAST_POST_IMG} -

-
{L_NO_IMPORTANT_NEWS}
{L_YOUR_DETAILS}
- - - - - - - - - - - - - - - - - - - - - - - - - -
{L_JOINED}: {JOINED}
{L_TOTAL_POSTS}: {POSTS}
[{POSTS_PCT} / {POSTS_DAY}]
{L_SEARCH_USER_POSTS}
{POSTS}
{L_ACTIVE_IN_FORUM}: {ACTIVE_FORUM}
[ {ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT} ]-
{L_ACTIVE_IN_TOPIC}: {ACTIVE_TOPIC}
[ {ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT} ]-
{L_YOUR_WARNINGS}: {WARNING_IMG} [ {WARNINGS} ]
-
 
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_main_subscribed.html b/phpBB/styles/subSilver/template/ucp_main_subscribed.html deleted file mode 100644 index 009ae928dd..0000000000 --- a/phpBB/styles/subSilver/template/ucp_main_subscribed.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_UCP}
{L_WATCHED_EXPLAIN}
{L_WATCHED_FORUMS}
{forumrow.FORUM_FOLDER_IMG}

{forumrow.FORUM_NAME}

{forumrow.LAST_POST_TIME}
{forumrow.LAST_POST_AUTHOR_FULL} {forumrow.LAST_POST_IMG}{L_NO_POSTS}
{L_NO_WATCHED_FORUMS}
{L_WATCHED_TOPICS}
- - - - - - -
 [ {TOTAL_TOPICS} ] 
-
{topicrow.TOPIC_FOLDER_IMG} -

{topicrow.NEWEST_POST_IMG} {topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TITLE}


- -

[ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ]

- -
-

{topicrow.LAST_POST_TIME}

-

{topicrow.LAST_POST_AUTHOR_FULL} - {topicrow.LAST_POST_IMG} -

-
{L_NO_WATCHED_TOPICS}
 
- - - - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_pm_history.html b/phpBB/styles/subSilver/template/ucp_pm_history.html deleted file mode 100644 index e9e77863a0..0000000000 --- a/phpBB/styles/subSilver/template/ucp_pm_history.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - -
{L_MESSAGE_HISTORY} - {TITLE}
- - - - - - - - - - - - - - - - - - - - - - - - -
{L_AUTHOR}{L_MESSAGE}
- - - - -
-
style="background-color:lightblue"> -
{L_PM_SUBJECT}: {history_row.SUBJECT}
{L_FOLDER}: {history_row.FOLDER}
-
- - - - - - - -
- - - - -
{history_row.MESSAGE}
-
- - - - - - -
 {history_row.MINI_POST_IMG}{L_SENT_AT}: {history_row.SENT_DATE}
-
-
{L_VIEW_PM}
-
- -
diff --git a/phpBB/styles/subSilver/template/ucp_pm_message_footer.html b/phpBB/styles/subSilver/template/ucp_pm_message_footer.html deleted file mode 100644 index 61d3c8300e..0000000000 --- a/phpBB/styles/subSilver/template/ucp_pm_message_footer.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - -
- - - - - -
- - - {L_PRINT_PM} | - {L_FORWARD_PM} - - - - -
- - - -   -
- -
- {L_DISPLAY_MESSAGES}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} -
- -
-
- - - - diff --git a/phpBB/styles/subSilver/template/ucp_pm_message_header.html b/phpBB/styles/subSilver/template/ucp_pm_message_header.html deleted file mode 100644 index 0bbf658600..0000000000 --- a/phpBB/styles/subSilver/template/ucp_pm_message_header.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - -
- - - - - -
- - - - - - - - - - -
 [ {FOLDER_CUR_MESSAGES}/{FOLDER_MAX_MESSAGES} {L_MESSAGES} ({FOLDER_PERCENT}%) ]  [ {FOLDER_CUR_MESSAGES} {L_MESSAGES} ] 
- - - - - - {L_VIEW_PREVIOUS_HISTORY} | {L_VIEW_NEXT_HISTORY} | - {L_VIEW_PREVIOUS_PM} | {L_VIEW_NEXT_PM}  - - -
-
diff --git a/phpBB/styles/subSilver/template/ucp_pm_options.html b/phpBB/styles/subSilver/template/ucp_pm_options.html deleted file mode 100644 index 7e2326c084..0000000000 --- a/phpBB/styles/subSilver/template/ucp_pm_options.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - -
- {ERROR_MESSAGE} - {NOTIFICATION_MESSAGE} -
-
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_ADD_NEW_RULE}
{L_IF}:{CHECK_CURRENT} 
 {RULE_CURRENT} 
  - - - - -  [ {L_FIND_USERNAME} ] - - {L_NO_GROUPS} - - - {COND_CURRENT} - - -  
 {ACTION_CURRENT} 
- -
- - - - - - - - - - - - - - - - - - - -
{L_DEFINED_RULES}
{rule.COUNT}{rule.CHECK}{rule.RULE}{rule.STRING}{rule.ACTION} -> {rule.FOLDER}
{L_NO_RULES_DEFINED}
- -
- - - - - - - - - - - - - - - - - -
{L_RENAME_FOLDER}
{L_RENAME_FOLDER}:
{L_NEW_FOLDER_NAME}:
- -
- - - - - - - - - - - - - - - - - - - - -
{L_ADD_FOLDER}
{L_MAX_FOLDER_REACHED}
{L_ADD_FOLDER}:
- - -
- - - - - - - - - - - - - - - - - - - - - - - -
{L_REMOVE_FOLDER}
{L_REMOVE_FOLDER}: {L_AND}
  {L_MOVE_DELETED_MESSAGES_TO}  
  {L_DELETE_MESSAGES_IN_FOLDER}
 
- -
- - - - - - - - - - - - - - - - - - - - - - - - - -
{L_FOLDER_OPTIONS}
{L_IF_FOLDER_FULL}:  {L_DELETE_OLDEST_MESSAGES}
  {L_MOVE_TO_FOLDER}:
  {L_HOLD_NEW_MESSAGES}
{L_DEFAULT_ACTION}:
{L_DEFAULT_ACTION_EXPLAIN}
{DEFAULT_ACTION}
-
- diff --git a/phpBB/styles/subSilver/template/ucp_pm_popup.html b/phpBB/styles/subSilver/template/ucp_pm_popup.html deleted file mode 100644 index ee49eb2a6b..0000000000 --- a/phpBB/styles/subSilver/template/ucp_pm_popup.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - -
- - - - -
-
- - {L_LOGIN_CHECK_PM} - - {MESSAGE}

{CLICK_TO_VIEW} - -
-

{L_CLOSE_WINDOW}

-
-
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_pm_viewfolder.html b/phpBB/styles/subSilver/template/ucp_pm_viewfolder.html deleted file mode 100644 index 57c05afcc7..0000000000 --- a/phpBB/styles/subSilver/template/ucp_pm_viewfolder.html +++ /dev/null @@ -1,121 +0,0 @@ - - -
- - - - - -
- - - - - - - -
- - - - - - - - - - - - - - - - - -
{L_OPTIONS}
{L_DELIMITER}:
{L_ENCLOSURE}:
  
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - {RULE_REMOVED_MESSAGES} -
- - - {NOT_MOVED_MESSAGES}
{RELEASE_MESSAGE_INFO} - -
 {L_SUBJECT}  {L_RECIPIENTS}{L_AUTHOR}  {L_SENT_AT}  {L_MARK} 
{messagerow.FOLDER_IMG}{messagerow.PM_ICON_IMG} - -   - - {messagerow.PM_IMG}  - - - - {messagerow.ATTACH_ICON_IMG} - - {L_MESSAGE_REMOVED_FROM_OUTBOX}
- {L_DELETE_MESSAGE} - - {messagerow.SUBJECT} - - -
{L_PM_FROM_REMOVED_AUTHOR} - -

{messagerow.RECIPIENTS}{messagerow.MESSAGE_AUTHOR_FULL}

{messagerow.SENT_TIME}

{L_NO_MESSAGES}
- - - - - - - -
- -
 
-
  
- -
- -
- - - - -
- -
- - diff --git a/phpBB/styles/subSilver/template/ucp_pm_viewmessage.html b/phpBB/styles/subSilver/template/ucp_pm_viewmessage.html deleted file mode 100644 index 00fd2cba00..0000000000 --- a/phpBB/styles/subSilver/template/ucp_pm_viewmessage.html +++ /dev/null @@ -1,124 +0,0 @@ - - -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_PM_SUBJECT}:{SUBJECT}
{L_PM_FROM}:{MESSAGE_AUTHOR_FULL}
{L_SENT_AT}:{SENT_DATE}
{L_TO}: - - {to_recipient.NAME}{to_recipient.NAME_FULL}  - -
{L_BCC}: - - {bcc_recipient.NAME}{bcc_recipient.NAME_FULL}  - -
- -
- - - - - - - - - - - - - - - - - - - - - - -
{L_MESSAGE}
- - - - -
-
{MESSAGE}
- - -

- - - - - - - - - - -
{L_ATTACHMENTS}:
{attachment.DISPLAY_ATTACHMENT}
- - - -

{L_DOWNLOAD_NOTICE}
- - -
_________________
{SIGNATURE}
- - - {EDITED_MESSAGE} - - -

- - - - - -
{INFO_IMG} {DELETE_IMG}
- -
-
- -
- - -
- -
- - - - diff --git a/phpBB/styles/subSilver/template/ucp_pm_viewmessage_print.html b/phpBB/styles/subSilver/template/ucp_pm_viewmessage_print.html deleted file mode 100644 index ba949751d9..0000000000 --- a/phpBB/styles/subSilver/template/ucp_pm_viewmessage_print.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -{SITENAME} :: {PAGE_TITLE} - - - - - - - - - - - - - - - - - -
{SITENAME}
{L_PRIVATE_MESSAGING}

{SUBJECT}
{PAGE_NUMBER}
- -
- - - - - - - - - - - - - - - - - - - - - - - -
{L_PM_FROM}: {MESSAGE_AUTHOR} [ {SENT_DATE} ]
{L_TO}: - - class="blue">{to_recipient.NAME}  - -
{L_BCC}: - - class="blue">{bcc_recipient.NAME}  - -

{MESSAGE}
- -
- - - - - - - - - - -
{PAGE_NUMBER}{S_TIMEZONE}
Powered by phpBB © 2002, 2006 phpBB Group
http://www.phpbb.com/
- - - diff --git a/phpBB/styles/subSilver/template/ucp_prefs_personal.html b/phpBB/styles/subSilver/template/ucp_prefs_personal.html deleted file mode 100644 index ffff4a4280..0000000000 --- a/phpBB/styles/subSilver/template/ucp_prefs_personal.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_TITLE}
{ERROR}
{L_SHOW_EMAIL}: checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_ADMIN_EMAIL}: checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_ALLOW_PM}:
{L_ALLOW_PM_EXPLAIN}
checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_HIDE_ONLINE}: checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_NOTIFY_METHOD}:
{L_NOTIFY_METHOD_EXPLAIN}
checked="checked" />{L_NOTIFY_METHOD_EMAIL}   checked="checked" />{L_NOTIFY_METHOD_IM}   checked="checked" />{L_NOTIFY_METHOD_BOTH}
{L_NOTIFY_ON_PM}: checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_POPUP_ON_PM}: checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_BOARD_LANGUAGE}:
{L_BOARD_STYLE}:
{L_BOARD_TIMEZONE}: - -
{L_BOARD_DST}: checked="checked" /> {L_YES}   checked="checked" /> {L_NO}
{L_BOARD_DATE_FORMAT}:
{L_BOARD_DATE_FORMAT_EXPLAIN}
- -
style="display:none;">
-
{S_HIDDEN_FIELDS}  
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_prefs_post.html b/phpBB/styles/subSilver/template/ucp_prefs_post.html deleted file mode 100644 index 7ef608f379..0000000000 --- a/phpBB/styles/subSilver/template/ucp_prefs_post.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_TITLE}
{ERROR}
{L_DEFAULT_BBCODE}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_DEFAULT_SMILIES}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_DEFAULT_ADD_SIG}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_DEFAULT_NOTIFY}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{S_HIDDEN_FIELDS}  
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_prefs_view.html b/phpBB/styles/subSilver/template/ucp_prefs_view.html deleted file mode 100644 index 41b6cd88cd..0000000000 --- a/phpBB/styles/subSilver/template/ucp_prefs_view.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_TITLE}
{ERROR}
{L_VIEW_IMAGES}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_VIEW_FLASH}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_VIEW_SMILIES}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_VIEW_SIGS}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_VIEW_AVATARS}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_DISABLE_CENSORS}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_VIEW_TOPICS_DAYS}:{S_TOPIC_SORT_DAYS}
{L_VIEW_TOPICS_KEY}:{S_TOPIC_SORT_KEY}
{L_VIEW_TOPICS_DIR}:{S_TOPIC_SORT_DIR}
{L_VIEW_POSTS_DAYS}:{S_POST_SORT_DAYS}
{L_VIEW_POSTS_KEY}:{S_POST_SORT_KEY}
{L_VIEW_POSTS_DIR}:{S_POST_SORT_DIR}
{S_HIDDEN_FIELDS}  
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_profile_avatar.html b/phpBB/styles/subSilver/template/ucp_profile_avatar.html deleted file mode 100644 index 00a2e4f415..0000000000 --- a/phpBB/styles/subSilver/template/ucp_profile_avatar.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_TITLE}
{ERROR}
{L_CURRENT_IMAGE}:
{L_AVATAR_EXPLAIN}

- {AVATAR}

 {L_DELETE_AVATAR} - -
{L_UPLOAD_AVATAR_FILE}:
{L_UPLOAD_AVATAR_URL}:
{L_UPLOAD_AVATAR_URL_EXPLAIN}
{L_LINK_REMOTE_AVATAR}:
{L_LINK_REMOTE_AVATAR_EXPLAIN}
{L_LINK_REMOTE_SIZE}:
{L_LINK_REMOTE_SIZE_EXPLAIN}
px X px
{L_AVATAR_GALLERY}: {L_DISPLAY_GALLERY}
{L_AVATAR_GALLERY}
{L_AVATAR_CATEGORY}:  
- - - - - - - - - - - - - -
{avatar_row.avatar_column.AVATAR_NAME}
-
{S_HIDDEN_FIELDS}  
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_profile_profile_info.html b/phpBB/styles/subSilver/template/ucp_profile_profile_info.html deleted file mode 100644 index 564faa2524..0000000000 --- a/phpBB/styles/subSilver/template/ucp_profile_profile_info.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_TITLE}
{ERROR}
{L_PROFILE_INFO_NOTICE}
{L_UCP_ICQ}:
{L_UCP_AIM}:
{L_UCP_MSNM}:
{L_UCP_YIM}:
{L_UCP_JABBER}:
{L_WEBSITE}:
{L_LOCATION}:
{L_OCCUPATION}:
{L_INTERESTS}:
{L_BIRTHDAY}:
{L_BIRTHDAY_EXPLAIN}
{L_DAY}: {L_MONTH}: {L_YEAR}:
- {profile_fields.LANG_NAME}: - * -
{profile_fields.LANG_EXPLAIN} -
{profile_fields.FIELD}
{profile_fields.ERROR}
{S_HIDDEN_FIELDS}  
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_profile_reg_details.html b/phpBB/styles/subSilver/template/ucp_profile_reg_details.html deleted file mode 100644 index 6ade4c8cba..0000000000 --- a/phpBB/styles/subSilver/template/ucp_profile_reg_details.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_TITLE}
{L_FORCE_PASSWORD_EXPLAIN}
{ERROR}
{L_USERNAME}:
{L_USERNAME_EXPLAIN}
{USERNAME}
{L_EMAIL_ADDRESS}: {EMAIL}
{L_CONFIRM_EMAIL}:
{L_CONFIRM_EMAIL_EXPLAIN}
{L_NEW_PASSWORD}:
{L_CHANGE_PASSWORD_EXPLAIN}
{L_CONFIRM_PASSWORD}:
{L_CONFIRM_PASSWORD_EXPLAIN}
{L_CONFIRM_CHANGES}
{L_CURRENT_PASSWORD}:
{L_CURRENT_PASSWORD_EXPLAIN}
{S_HIDDEN_FIELDS}  
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_profile_signature.html b/phpBB/styles/subSilver/template/ucp_profile_signature.html deleted file mode 100644 index f5e8ba032a..0000000000 --- a/phpBB/styles/subSilver/template/ucp_profile_signature.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_TITLE}
{L_SIGNATURE_EXPLAIN}
{ERROR}
- - - - - - - - - - -
- - - - -
- -
-
-
{L_OPTIONS}
- - - - - - - - - - - - - - - - -
{BBCODE_STATUS}
{IMG_STATUS}
{FLASH_STATUS}
{URL_STATUS}
{SMILIES_STATUS}
-
- - - - - - - - - - - - - - - - - - - -
{L_DISABLE_BBCODE}
{L_DISABLE_SMILIES}
{L_DISABLE_MAGIC_URL}
-
{L_SIGNATURE_PREVIEW}
{SIGNATURE_PREVIEW}
{S_HIDDEN_FIELDS}    
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_register.html b/phpBB/styles/subSilver/template/ucp_register.html deleted file mode 100644 index 870c2ae1c7..0000000000 --- a/phpBB/styles/subSilver/template/ucp_register.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_REGISTRATION}
{ERROR}
{L_REG_COND}
{L_ITEMS_REQUIRED}
{L_USERNAME}:
{L_USERNAME_EXPLAIN}
{L_EMAIL_ADDRESS}:
{L_CONFIRM_EMAIL}:
{L_PASSWORD}:
{L_PASSWORD_EXPLAIN}
{L_CONFIRM_PASSWORD}:
{L_LANGUAGE}:
{L_TIMEZONE}:
- {profile_fields.LANG_NAME}: - * -
{profile_fields.LANG_EXPLAIN} -
{profile_fields.FIELD}
{profile_fields.ERROR}
{L_CONFIRMATION}
{L_CONFIRM_EXPLAIN}
{CONFIRM_IMG}
{L_CONFIRM_CODE}:
{L_CONFIRM_CODE_EXPLAIN}
{L_COPPA_COMPLIANCE}
{L_COPPA_EXPLAIN}
{S_HIDDEN_FIELDS}  
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_remind.html b/phpBB/styles/subSilver/template/ucp_remind.html deleted file mode 100644 index 47baf1d447..0000000000 --- a/phpBB/styles/subSilver/template/ucp_remind.html +++ /dev/null @@ -1,28 +0,0 @@ - - -
- -
- - - - - - - - - - - - - - - - -
{L_SEND_PASSWORD}
{L_USERNAME}:
{L_EMAIL_ADDRESS}:
{L_EMAIL_REMIND}
{S_HIDDEN_FIELDS}  
- -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_resend.html b/phpBB/styles/subSilver/template/ucp_resend.html deleted file mode 100644 index df72b523bc..0000000000 --- a/phpBB/styles/subSilver/template/ucp_resend.html +++ /dev/null @@ -1,28 +0,0 @@ - - -
- -
- - - - - - - - - - - - - - - - -
{L_UCP_RESEND}
{L_USERNAME}:
{L_EMAIL_ADDRESS}:
{L_EMAIL_REMIND}
{S_HIDDEN_FIELDS}  
- -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_zebra_foes.html b/phpBB/styles/subSilver/template/ucp_zebra_foes.html deleted file mode 100644 index d87eed567c..0000000000 --- a/phpBB/styles/subSilver/template/ucp_zebra_foes.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_TITLE}
{L_FOES_EXPLAIN}
{ERROR}
{L_YOUR_FOES}:
{L_YOUR_FOES_EXPLAIN}
{L_NO_FOES}
{L_ADD_FOES}:
{L_ADD_FOES_EXPLAIN} [ {L_FIND_USERNAME} ]

{S_HIDDEN_FIELDS}  
- - - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/ucp_zebra_friends.html b/phpBB/styles/subSilver/template/ucp_zebra_friends.html deleted file mode 100644 index 4be2b8838f..0000000000 --- a/phpBB/styles/subSilver/template/ucp_zebra_friends.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_TITLE}
{L_FRIENDS_EXPLAIN}
{ERROR}
{L_YOUR_FRIENDS}:
{L_YOUR_FRIENDS_EXPLAIN}
{L_NO_FRIENDS}
{L_ADD_FRIENDS}:
{L_ADD_FRIENDS_EXPLAIN} [ {L_FIND_USERNAME} ]

{S_HIDDEN_FIELDS}  
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/viewforum_body.html b/phpBB/styles/subSilver/template/viewforum_body.html deleted file mode 100644 index 0b724db8d2..0000000000 --- a/phpBB/styles/subSilver/template/viewforum_body.html +++ /dev/null @@ -1,321 +0,0 @@ - - - -
- -

{L_FORUM_RULES}


- {L_FORUM_RULES_LINK} - -

{L_FORUM_RULES}


- {FORUM_RULES} - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_ACTIVE_TOPICS}
 {L_TOPICS}  {L_TOPICS}  {L_AUTHOR}  {L_REPLIES}  {L_VIEWS}  {L_LAST_POST} 
{topicrow.TOPIC_FOLDER_IMG} - {NEWEST_POST_IMG} - {topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TYPE} {topicrow.TOPIC_TITLE} - - {UNAPPROVED_IMG}  - - - {REPORTED_IMG}  - - -

[ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ]

- -

{topicrow.TOPIC_AUTHOR_FULL}

{topicrow.REPLIES}

{topicrow.VIEWS}

-

{topicrow.LAST_POST_TIME}

-

{topicrow.LAST_POST_AUTHOR_FULL} - {LAST_POST_IMG} -

-
{L_NO_TOPICS}{L_NO_TOPICS_TIME_FRAME}{L_NO_TOPICS}{L_NO_TOPICS_TIME_FRAME}
 
- -
- - - - -
- - - - - -

- - -
- - - - - - -
{L_NO_READ_ACCESS}
- - - -

- -
- - - - - - - - -

{L_LOGIN_LOGOUT}

{L_USERNAME}:   {L_PASSWORD}:   {L_LOG_ME_IN}  
- -
- - - -
- - - - - - - - - - - - - - -
{POST_IMG} [ {TOTAL_TOPICS} ] 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
 {L_TOPICS}  {L_TOPICS}  {L_AUTHOR}  {L_REPLIES}  {L_VIEWS}  {L_LAST_POST} 
{L_ANNOUNCEMENTS}
{L_TOPICS}
{topicrow.TOPIC_FOLDER_IMG} - {NEWEST_POST_IMG} - {topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TYPE} {topicrow.TOPIC_TITLE} - - {topicrow.UNAPPROVED_IMG}  - - - {REPORTED_IMG}  - - -

[ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ]

- -

{topicrow.TOPIC_AUTHOR_FULL}

{topicrow.REPLIES}

{topicrow.VIEWS}

-

{topicrow.LAST_POST_TIME}

-

{topicrow.LAST_POST_AUTHOR_FULL} - {LAST_POST_IMG} -

-
{L_NO_TOPICS}{L_NO_TOPICS_TIME_FRAME}{L_NO_TOPICS}{L_NO_TOPICS_TIME_FRAME}
- - - -
{L_DISPLAY_TOPICS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
-
- - - - - - - - -
{POST_IMG} [ {TOTAL_TOPICS} ]
- -
- - -
- - - - -
- - - - - - - - -

{L_WHO_IS_ONLINE}

{LOGGED_IN_USER_LIST}

- - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{FOLDER_NEW_IMG}{L_NEW_POSTS}  {FOLDER_IMG}{L_NO_NEW_POSTS}  {FOLDER_ANNOUNCE_IMG}{L_ICON_ANNOUNCEMENT}
{FOLDER_HOT_NEW_IMG}{L_NEW_POSTS_HOT}  {FOLDER_HOT_IMG}{L_NO_NEW_POSTS_HOT}  {FOLDER_STICKY_IMG}{L_ICON_STICKY}
{FOLDER_LOCKED_NEW_IMG}{L_NEW_POSTS_LOCKED}  {FOLDER_LOCKED_IMG}{L_NO_NEW_POSTS_LOCKED}  {FOLDER_MOVED_IMG}{L_MOVED_TOPIC}
-
{rules.RULE}
- - -
- - - - - - -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/viewonline_body.html b/phpBB/styles/subSilver/template/viewonline_body.html deleted file mode 100644 index f7404d9b90..0000000000 --- a/phpBB/styles/subSilver/template/viewonline_body.html +++ /dev/null @@ -1,56 +0,0 @@ - - -

{TOTAL_REGISTERED_USERS_ONLINE}

-

{TOTAL_GUEST_USERS_ONLINE} [ {L_SWITCH_GUEST_DISPLAY} ]

-
- - - - - - - -
{L_GOTO_PAGE} {L_PREVIOUS}  {PAGINATION}  {L_NEXT}
- - - - - - - - - - - - - - - - - - - - - -
{L_USERNAME}{L_LAST_UPDATED}{L_FORUM_LOCATION}

{user_row.USERNAME}

{L_IP}: {user_row.USER_IP} » {L_WHOIS}

 {user_row.LASTUPDATE}

{user_row.FORUM_LOCATION}

{L_LEGEND} :: {LEGEND}
- - - - - - - -
{L_GOTO_PAGE} {L_PREVIOUS}  {PAGINATION}  {L_NEXT}
- - -
{L_ONLINE_EXPLAIN}
- -
- - - -
- -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/viewonline_whois.html b/phpBB/styles/subSilver/template/viewonline_whois.html deleted file mode 100644 index d10fa2ac0f..0000000000 --- a/phpBB/styles/subSilver/template/viewonline_whois.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - -
{L_WHOIS}
{WHOIS}
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/viewtopic_body.html b/phpBB/styles/subSilver/template/viewtopic_body.html deleted file mode 100644 index e41a11dbee..0000000000 --- a/phpBB/styles/subSilver/template/viewtopic_body.html +++ /dev/null @@ -1,345 +0,0 @@ - - - -
- -

{L_FORUM_RULES}


- {L_FORUM_RULES_LINK} - -

{L_FORUM_RULES}


- {FORUM_RULES} - -
- -
- - - - -

- -
- - - - - - - - - - -
{POST_IMG} {REPLY_IMG} [ {TOTAL_POSTS} ] 
- - - - - - - - - - -
- - - - - -
-

- -
- - - - - - - - - - - - - - - - - - - - - - -
{POLL_QUESTION}
{L_POLL_LENGTH}
- - - - - - - - - - - - - - - - - -
- - checked="checked" /> - - checked="checked" /> - - {poll_option.POLL_OPTION_CAPTION}{POLL_LEFT_CAP_IMG}{poll_option.POLL_OPTION_IMG}{POLL_RIGHT_CAP_IMG} {poll_option.POLL_OPTION_PERCENT} [ {poll_option.POLL_OPTION_RESULT} ]x
-
{L_MAX_VOTES}

{L_TOTAL_VOTES} : {TOTAL_VOTES}
{L_VIEW_RESULTS}
- {S_HIDDEN_FIELDS} - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{L_AUTHOR}{L_MESSAGE}
{postrow.L_IGNORE_POST} - - - - - - - - - - -
 {L_POST_SUBJECT}: {postrow.POST_SUBJECT}
{postrow.MINI_POST_IMG}{L_POSTED}: {postrow.POST_DATE} 
-
- - - - - - - - - - - - - - - - - - - - - -
{postrow.ONLINE_IMG}
{postrow.RANK_TITLE}
{postrow.RANK_IMG}
{postrow.POSTER_AVATAR}
- - -
{L_JOINED}: {postrow.POSTER_JOINED} -
{L_POSTS}: {postrow.POSTER_POSTS} -
{L_LOCATION}: {postrow.POSTER_FROM} - - - -
{postrow.PROFILE_FIELD1_NAME}: {postrow.PROFILE_FIELD1_VALUE} - - - -
{postrow.custom_fields.PROFILE_FIELD_NAME}: {postrow.custom_fields.PROFILE_FIELD_VALUE} - -
- -
- - - - -
- - - - - -
{UNAPPROVED_IMG} {L_POST_UNAPPROVED} {REPORTED_IMG} {L_POST_REPORTED}
- -
- - -
{postrow.MESSAGE}
- - -

- - - - - - - - - - -
{L_ATTACHMENTS}:
{postrow.attachment.DISPLAY_ATTACHMENT}
- - - -

{L_DOWNLOAD_NOTICE}
- - -
_________________
{postrow.SIGNATURE}
- - - - -

- - - - - - - -
{postrow.EDITED_MESSAGE}
{postrow.EDIT_REASON}
- -

- {postrow.EDITED_MESSAGE} - - - - - {postrow.BUMPED_MESSAGE} - - -

- - - - - -
- - {REPORT_IMG} - {INFO_IMG} - {WARN_IMG} - {DELETE_IMG} - -
-
-
{L_BACK_TO_TOP}
- - - - - - -
{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
- - - - - - - - - - -
{POST_IMG} {REPLY_IMG} [ {TOTAL_POSTS} ] 
- -
- - - -
- - - - -
- - - - - - - - -

{L_WHO_IS_ONLINE}

{LOGGED_IN_USER_LIST}

- - -
- - - - - - -
{L_QUICK_MOD}: {S_TOPIC_MOD}
{rules.RULE}
- -
- - - - - - -
- - \ No newline at end of file diff --git a/phpBB/styles/subSilver/template/viewtopic_print.html b/phpBB/styles/subSilver/template/viewtopic_print.html deleted file mode 100644 index 4f44799613..0000000000 --- a/phpBB/styles/subSilver/template/viewtopic_print.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - -{SITENAME} :: {PAGE_TITLE} - - - - - - - - - - - - - - - - - -
{SITENAME}
{U_FORUM}

{TOPIC_TITLE}
{U_TOPIC}
{PAGE_NUMBER}
- - - -
- - - - - - - - - - - - - -
{L_AUTHOR}:  style="color: {postrow.POST_AUTHOR_COLOUR}">{postrow.POST_AUTHOR} [ {postrow.POST_DATE} ]
{L_POST_SUBJECT}: {postrow.POST_SUBJECT}

{postrow.MESSAGE} - - -

- - - - - - - - - - -
{L_ATTACHMENTS}:
{postrow.attachment.DISPLAY_ATTACHMENT}
- - -
- - -
- - - - - - - - - - -
{PAGE_NUMBER}{S_TIMEZONE}
Powered by phpBB © 2002, 2006 phpBB Group
http://www.phpbb.com/
- - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/theme/images/background.gif b/phpBB/styles/subSilver/theme/images/background.gif deleted file mode 100644 index 158a6256200b4ac9aadfa5df7b27b68752f8c6cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 510 zcmV{LIwbM~A2D>+8+c+uh>m)7js| z&DFxo($w4G-QC^K*4*0Q<<;Ba)7s$1&eqP=+}7OU$p-s9-P%hSQi z(*OVeA^8LV00000EC2ui00jVq000L6z@2bNEb@-XWMa7lIGwU+R6wOluGgDZJL`67 zU~q0cUYO0cblSjXN8WFpT>hxn33z;Mzo+>96M=yRgoHhZhdzpnjE#c-I7+TiBM(%RMB+Z|c+{4b-#Lm~w*WTCOF)5% z*53dB|Nj2|+jRt;?ddQ)7#&E z|Ni~{A^8LV00000EC2ui0Qvw0000L6K!tEf6iz4<&_GEUI0pr2VLFwJBv?r+mD1@d z6%?wcxk1bjoXuu1*enK%ywf4rPp6Ciz!&&8e;XS-JRCAG5j8OwF)S-AB_%3536%?% z4w()BoF1MCprH(-0So~Ts2L9#tQid=4L>3xCOg34-CPx&h@xKZtBqy9C+F>aLv}Fq+0p|!ET)yZK^K;ypq3A5I$?Ps3 zo~QMqN*zQ9hWi>Y6k&L@qAS5l2@>j8D0_D8+N79rky~)}_8UhXy)Z)##x>}mNI?Jq EJ1XXQ%m4rY diff --git a/phpBB/styles/subSilver/theme/images/cellpic1.gif b/phpBB/styles/subSilver/theme/images/cellpic1.gif deleted file mode 100644 index 715b8d4aa8b8752fc3e2ff6deb214cd424ad413f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 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 V?h#1_@wof%2q+W{CM75#06SVcbLs#9 diff --git a/phpBB/styles/subSilver/theme/images/icon_mini_groups.gif b/phpBB/styles/subSilver/theme/images/icon_mini_groups.gif deleted file mode 100644 index a4d1c7bb70f67e7d0e06683bcf245f9bd7a7ffb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmV<403rWJNk%w1VGIBb0K^{v=;-M3^77{9=I7_fz(%_4W1T<>l<`?2fn0@bK{W_xJq#{5^xG z077Fpfu;Zd|NsC0A^8LW0018VEC2ui01N;P000GB;8%2HNfzHlcx=lO*XFpcvvstq zkSynMK#oR3QfP!h<n5G#blH#z3Kvq*Mwb5WrwaTMi~^v5+tjjwN{jbT$&pqYW4g Y1d+{!F}VvWfE5fE9|SihCm$gIJMyS`#Q*>R diff --git a/phpBB/styles/subSilver/theme/images/icon_mini_login.gif b/phpBB/styles/subSilver/theme/images/icon_mini_login.gif deleted file mode 100644 index c7590a423f0765bbe9dae5b88b2a1df51933abcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmVW8kw{QUferM1S> z+WY+d;_B^roUQNk^(9?;(cRx>FMe$Vtuv9(d_Q;J%gv5wZe?H%L++p z=H})&fu;Zd|NsC0A^8LW0018VEC2ui01N;P000GM;HPzDNopeDt?Wu@*s>Z~W~>X= zt<4hzo5YIb$pjoL#>9dk3KT8Nq(DM!E}lfj1E~y11p&absT3#Q&cGtDY&L+6;zGJy jGUYdb!|7lsfEN=L6nqjG8V3=4jC=HGZs^78WR?Cd{gwv}>FWOe{^jN6JcFl>x6Jzb`uF$u^z`)Y?d|aJ@Bl(% zIDw@A00960|NsC0A^8LW0018VEC2ui01N;P000GC;8$>DNfuufcx=lC6}7nTLUC;8 zZ9FfLE{TLdFc?U~j-kg(kStJ3;&ORlFeGXR!_;U<7zV?u$(S3Yawo%7063IL1L6h< Z1Oo)6azNk*6M+*46(0c(CM75#06S(?bT9w_ diff --git a/phpBB/styles/subSilver/theme/images/icon_mini_message.gif b/phpBB/styles/subSilver/theme/images/icon_mini_message.gif deleted file mode 100644 index b8aea1eafb5cffabb6b2ceb80b5d8bae1795429f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmVFJEN%jV|h z{{H?rfu;Zd{{R30A^8LW0015UEC2ui01N;P000GLpr>_YNor!jt?XK8QnOlD`_6Kw@B`E5YDFAPFvm3&vofOv)XC1!1V5 i1CvZg0?GI@2@?|u3lbU!3mb}y8wV%_5hf)lApkoXTx?_j diff --git a/phpBB/styles/subSilver/theme/images/icon_mini_profile.gif b/phpBB/styles/subSilver/theme/images/icon_mini_profile.gif deleted file mode 100644 index 1ec7c649e9d5770776a1e3fd6518536506054aa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmVTWVIb4)pKkDQE{pg(ku*3r(Xsi$va zSWJ_+#k#+xfOq8b_@SJf6BHJJzv0rZY}DT3X0zIcgoB!7NcZ>m`~3X!^74bLzv$`e zkGISJ|Nl9GrT_o`A^8LW0018VEC2ui01N;P000GR;KzAnNpd3BO;wd-UB`{s7AQtg zVI4+x2}pooQNTLC3PHk@ATT~p=V1X@Er`p7gh3E3mWDP%(pCm&!zM%aWHy=tgF(?u oHl&P3AecBJb$A|l6asY=3k7%_8XN};2L}ZP6OAG!CMY2QJFk{zX8-^I diff --git a/phpBB/styles/subSilver/theme/images/icon_mini_register.gif b/phpBB/styles/subSilver/theme/images/icon_mini_register.gif deleted file mode 100644 index b49ac31ec996b7dad9e9b067c8a0ad5b61e3bbff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmV<603ZKHNk%w1VGIBb0K^{vho-fXy3Y0W^)hCGAzF9){Qb7Z&4;eTnzFv*=jr0) z<<{ThkgB*+ew69%@aXODa+asz<>d@YYK*qa z>gwt^fu;Zd|NsC0A^8LW0018VEC2ui01N;P000GD;J0;TNp51`t?U|XRMD;%P*C0M zNd(}LGl>Rau>gw}Az;EJB^{4JVlel;DkLVN}i)4(UwLaNciBhl1fC a446D7qo8aK5qlYfg9j)9I3_0_ApkoRS#u}= diff --git a/phpBB/styles/subSilver/theme/images/icon_mini_search.gif b/phpBB/styles/subSilver/theme/images/icon_mini_search.gif deleted file mode 100644 index 2bd1a648c05986bbb8be73ec1346224a269611d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmV!-xiSeCWt_W$zo@_(zs$K2-j`uv>S z{e8RIujKz@rN;R9_=Bakx7Ov~^#63Aw(|D*((nK4@A2j3<@)^n4NGc8h^pu5>BZ{( zkGISJ|Nl9GrT_o`A^8LW0018VEC2ui01N;P000GR;KzAnNpd3Bt?bH;*K~M+HzeIf zb|X`41jwbc%TP9o-=U)ObTWy^aU-cXNSDm&r;un2B!@9aX>clFk6}PyYyg - -subSilver created by subBlue Design - - - - - - - - - -
Created by subBlue Design
- - - \ No newline at end of file diff --git a/phpBB/styles/subSilver/theme/images/no_avatar.gif b/phpBB/styles/subSilver/theme/images/no_avatar.gif deleted file mode 100644 index 80539c8c718ca0dab5e38ec2e47f10ba101e4237..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 474 zcmZ?wbhEHbjADpl*v!DNW&er&CoeJ(4Rk;%L3$Zj{t2A$T)o%g^;v6<1dYCw%y}8B zW(9v(TcC4(&F_6B>)t=;eY|JEhHK1B?I#v|tnjf)J(Kp?)7EqO%%`L5M)rM7F-6|cfO%ocM6s}k3&U6=0Mx5wc)1d`>kH&1t zIdO9T>@#OAFU<8@a{0>DDbf3G_O8FayFdNG!=C%ApFMvOTYhJc(vyQ94}Mtw`OC4@ z-#>M~OZa#DTdT0en^0RjhWyB^?fTw_t8*33o!+dbxY0RH$LjMp{yA#>6Rxjetx?at zv#k5{jW1p|b5pk_ok`%DZ6-Y9c=9P8p~I|&%Y|CJA_UK#h)yUAf^t80Ld^gF}W}@SOWlZ0R#L1 diff --git a/phpBB/styles/subSilver/theme/images/whosonline.gif b/phpBB/styles/subSilver/theme/images/whosonline.gif deleted file mode 100644 index b45092743218db5a4a6b80bf45a9f215c26ca7f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 929 zcmV;S177?`Nk%w1VJ-j}0Oo%H)z#I>(boU)2le&!%FD|ub(-DX-2x0}`3YGA0s^S1 zsvB15NnwrU<>g>hC~Tp;+1c3@X_M~m?*IR@MTe>3;o+K^nPz2V#KgtCyu4$YwxzAH zTaT)RvB*=Au>V(4|Nn06?Ck03={h<(qr}z!vjEE6jDgh5yF@aE_j9WK7nF z0K|$nt+ly*9UiX3&#=wg|I1pRrmz3tNdLx;slCVF>+$2`1umqsgf3$+1FL8ktE{bF9uG>iq&*aytY}kHW){A!5*iQ0l(1?8tO-$CPY4Om zLl`1!6dlx(EJxVcA8ukiHP06ctR_HU=Y=F5xxNWHTX-Z$K!g>I6a|M!z+xmHAr>vx zvD1M-$dUvpXb>dAQ9^(S4h5ZvFr$~R7@;Ebg0yUHBdBgK%+u~27Vx%(STHg z1gRqaP*|Wku)&A~QUnBPQ=>wK6;!b1yF(%F*#;M&)ToibPX#|ICQJw-fQA7B1acg8 zIMT5nKQg+gsInl&WdkYn?2%I#jEx0hdPA5#Vh)HmG#Kp2kfY&j+I#>&Ad|+)ivtdj09e0bL>2}XFy#4i;`<*G zWeBX0!Ndmo9qR=cAOT1eV2*u%xPSu&D*!M;92N*DAO=X_Fb#r&JWv1~`bjuo1`1d> z42FW3!bS!d5D?%B7-WD191#dcq97({5J3(;D4?SPKIBkFC^JUVM Date: Sun, 1 Apr 2007 22:46:14 +0000 Subject: [PATCH 313/707] ahhh, there are you. I can see a new haircut... looks good. git-svn-id: file:///svn/phpbb/trunk@7263 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/install_footer.html | 2 +- phpBB/adm/style/overall_footer.html | 2 +- phpBB/adm/style/simple_footer.html | 2 +- phpBB/docs/AUTHORS | 2 + phpBB/docs/README.html | 2 +- phpBB/install/install_update.php | 6 +- phpBB/install/schemas/schema_data.sql | 12 +- .../subsilver2/imageset/announce_read.gif | Bin 0 -> 307 bytes .../imageset/announce_read_locked.gif | Bin 0 -> 304 bytes .../imageset/announce_read_locked_mine.gif | Bin 0 -> 324 bytes .../imageset/announce_read_mine.gif | Bin 0 -> 328 bytes .../subsilver2/imageset/announce_unread.gif | Bin 0 -> 289 bytes .../imageset/announce_unread_locked.gif | Bin 0 -> 292 bytes .../imageset/announce_unread_locked_mine.gif | Bin 0 -> 308 bytes .../imageset/announce_unread_mine.gif | Bin 0 -> 305 bytes .../subsilver2/imageset/en/button_pm_new.gif | Bin 0 -> 1135 bytes .../imageset/en/button_pm_reply.gif | Bin 0 -> 1667 bytes .../imageset/en/button_topic_locked.gif | Bin 0 -> 1101 bytes .../imageset/en/button_topic_new.gif | Bin 0 -> 1164 bytes .../imageset/en/button_topic_reply.gif | Bin 0 -> 1234 bytes .../imageset/en/icon_contact_aim.gif | Bin 0 -> 580 bytes .../imageset/en/icon_contact_email.gif | Bin 0 -> 659 bytes .../imageset/en/icon_contact_icq.gif | Bin 0 -> 574 bytes .../imageset/en/icon_contact_jabber.gif | Bin 0 -> 674 bytes .../imageset/en/icon_contact_msnm.gif | Bin 0 -> 622 bytes .../imageset/en/icon_contact_pm.gif | Bin 0 -> 706 bytes .../imageset/en/icon_contact_www.gif | Bin 0 -> 604 bytes .../imageset/en/icon_contact_yahoo.gif | Bin 0 -> 663 bytes .../imageset/en/icon_post_delete.gif | Bin 0 -> 314 bytes .../subsilver2/imageset/en/icon_post_edit.gif | Bin 0 -> 662 bytes .../subsilver2/imageset/en/icon_post_info.gif | Bin 0 -> 305 bytes .../imageset/en/icon_post_quote.gif | Bin 0 -> 666 bytes .../imageset/en/icon_post_report.gif | Bin 0 -> 308 bytes .../imageset/en/icon_user_offline.gif | Bin 0 -> 547 bytes .../imageset/en/icon_user_online.gif | Bin 0 -> 520 bytes .../imageset/en/icon_user_profile.gif | Bin 0 -> 667 bytes .../imageset/en/icon_user_search.gif | Bin 0 -> 608 bytes .../subsilver2/imageset/en/icon_user_warn.gif | Bin 0 -> 673 bytes .../styles/subsilver2/imageset/forum_link.gif | Bin 0 -> 714 bytes .../styles/subsilver2/imageset/forum_read.gif | Bin 0 -> 677 bytes .../subsilver2/imageset/forum_read_locked.gif | Bin 0 -> 673 bytes .../imageset/forum_read_subforum.gif | Bin 0 -> 705 bytes .../subsilver2/imageset/forum_unread.gif | Bin 0 -> 663 bytes .../imageset/forum_unread_locked.gif | Bin 0 -> 660 bytes .../imageset/forum_unread_subforum.gif | Bin 0 -> 688 bytes .../subsilver2/imageset/icon_post_target.gif | Bin 0 -> 122 bytes .../imageset/icon_post_target_unread.gif | Bin 0 -> 122 bytes .../subsilver2/imageset/icon_topic_attach.gif | Bin 0 -> 217 bytes .../subsilver2/imageset/icon_topic_latest.gif | Bin 0 -> 135 bytes .../subsilver2/imageset/icon_topic_newest.gif | Bin 0 -> 133 bytes .../imageset/icon_topic_reported.gif | Bin 0 -> 462 bytes .../imageset/icon_topic_unapproved.gif | Bin 0 -> 334 bytes phpBB/styles/subsilver2/imageset/imageset.cfg | 122 ++++ .../subsilver2/imageset/poll_center.gif | Bin 0 -> 92 bytes .../styles/subsilver2/imageset/poll_left.gif | Bin 0 -> 113 bytes .../styles/subsilver2/imageset/poll_right.gif | Bin 0 -> 113 bytes .../styles/subsilver2/imageset/site_logo.gif | Bin 0 -> 7342 bytes .../subsilver2/imageset/sticky_read.gif | Bin 0 -> 344 bytes .../imageset/sticky_read_locked.gif | Bin 0 -> 338 bytes .../imageset/sticky_read_locked_mine.gif | Bin 0 -> 336 bytes .../subsilver2/imageset/sticky_read_mine.gif | Bin 0 -> 352 bytes .../subsilver2/imageset/sticky_unread.gif | Bin 0 -> 325 bytes .../imageset/sticky_unread_locked.gif | Bin 0 -> 324 bytes .../imageset/sticky_unread_locked_mine.gif | Bin 0 -> 336 bytes .../imageset/sticky_unread_mine.gif | Bin 0 -> 339 bytes .../subsilver2/imageset/topic_moved.gif | Bin 0 -> 660 bytes .../styles/subsilver2/imageset/topic_read.gif | Bin 0 -> 344 bytes .../subsilver2/imageset/topic_read_hot.gif | Bin 0 -> 1178 bytes .../imageset/topic_read_hot_mine.gif | Bin 0 -> 1186 bytes .../subsilver2/imageset/topic_read_locked.gif | Bin 0 -> 333 bytes .../imageset/topic_read_locked_mine.gif | Bin 0 -> 337 bytes .../subsilver2/imageset/topic_read_mine.gif | Bin 0 -> 350 bytes .../subsilver2/imageset/topic_unread.gif | Bin 0 -> 336 bytes .../subsilver2/imageset/topic_unread_hot.gif | Bin 0 -> 1159 bytes .../imageset/topic_unread_hot_mine.gif | Bin 0 -> 1167 bytes .../imageset/topic_unread_locked.gif | Bin 0 -> 459 bytes .../imageset/topic_unread_locked_mine.gif | Bin 0 -> 334 bytes .../subsilver2/imageset/topic_unread_mine.gif | Bin 0 -> 350 bytes .../styles/subsilver2/imageset/upload_bar.gif | Bin 0 -> 12892 bytes phpBB/styles/subsilver2/style.cfg | 22 + .../subsilver2/template/attachment.html | 120 ++++ phpBB/styles/subsilver2/template/bbcode.html | 68 ++ .../subsilver2/template/breadcrumbs.html | 8 + .../subsilver2/template/confirm_body.html | 28 + .../template/custom_profile_fields.html | 31 + phpBB/styles/subsilver2/template/editor.js | 397 +++++++++++ .../styles/subsilver2/template/faq_body.html | 63 ++ .../subsilver2/template/forumlist_body.html | 70 ++ phpBB/styles/subsilver2/template/index.htm | 16 + .../subsilver2/template/index_body.html | 100 +++ phpBB/styles/subsilver2/template/jumpbox.html | 19 + .../subsilver2/template/login_body.html | 103 +++ .../subsilver2/template/login_forum.html | 47 ++ .../subsilver2/template/mcp_approve.html | 48 ++ phpBB/styles/subsilver2/template/mcp_ban.html | 109 +++ .../subsilver2/template/mcp_footer.html | 27 + .../styles/subsilver2/template/mcp_forum.html | 85 +++ .../styles/subsilver2/template/mcp_front.html | 118 +++ .../subsilver2/template/mcp_header.html | 79 ++ .../subsilver2/template/mcp_jumpbox.html | 18 + .../styles/subsilver2/template/mcp_logs.html | 43 ++ .../subsilver2/template/mcp_message.html | 14 + .../styles/subsilver2/template/mcp_move.html | 43 ++ .../subsilver2/template/mcp_notes_front.html | 22 + .../subsilver2/template/mcp_notes_user.html | 121 ++++ .../styles/subsilver2/template/mcp_post.html | 162 +++++ .../styles/subsilver2/template/mcp_queue.html | 46 ++ .../subsilver2/template/mcp_reports.html | 55 ++ .../styles/subsilver2/template/mcp_topic.html | 141 ++++ .../subsilver2/template/mcp_viewlogs.html | 52 ++ .../subsilver2/template/mcp_warn_front.html | 74 ++ .../subsilver2/template/mcp_warn_list.html | 43 ++ .../subsilver2/template/mcp_warn_post.html | 58 ++ .../subsilver2/template/mcp_warn_user.html | 71 ++ .../styles/subsilver2/template/mcp_whois.html | 15 + .../subsilver2/template/memberlist_body.html | 114 +++ .../subsilver2/template/memberlist_email.html | 98 +++ .../subsilver2/template/memberlist_group.html | 17 + .../subsilver2/template/memberlist_im.html | 140 ++++ .../template/memberlist_leaders.html | 71 ++ .../template/memberlist_search.html | 126 ++++ .../subsilver2/template/memberlist_view.html | 195 +++++ .../subsilver2/template/message_body.html | 16 + .../subsilver2/template/overall_footer.html | 23 + .../subsilver2/template/overall_header.html | 199 ++++++ .../subsilver2/template/pagination.html | 1 + .../template/posting_attach_body.html | 82 +++ .../subsilver2/template/posting_body.html | 425 +++++++++++ .../subsilver2/template/posting_buttons.html | 97 +++ .../template/posting_poll_body.html | 36 + .../subsilver2/template/posting_preview.html | 70 ++ .../template/posting_progress_bar.html | 44 ++ .../subsilver2/template/posting_review.html | 78 ++ .../subsilver2/template/posting_smilies.html | 27 + .../template/posting_topic_review.html | 78 ++ .../subsilver2/template/report_body.html | 40 ++ .../subsilver2/template/search_body.html | 80 +++ .../subsilver2/template/search_results.html | 146 ++++ .../styles/subsilver2/template/searchbox.html | 1 + .../subsilver2/template/simple_footer.html | 20 + .../subsilver2/template/simple_header.html | 22 + phpBB/styles/subsilver2/template/template.cfg | 23 + .../subsilver2/template/ucp_agreement.html | 58 ++ .../subsilver2/template/ucp_attachments.html | 58 ++ .../subsilver2/template/ucp_footer.html | 13 + .../template/ucp_groups_manage.html | 264 +++++++ .../template/ucp_groups_membership.html | 93 +++ .../subsilver2/template/ucp_header.html | 163 +++++ .../template/ucp_main_bookmarks.html | 65 ++ .../subsilver2/template/ucp_main_drafts.html | 102 +++ .../subsilver2/template/ucp_main_front.html | 72 ++ .../template/ucp_main_subscribed.html | 80 +++ .../subsilver2/template/ucp_pm_history.html | 68 ++ .../template/ucp_pm_message_footer.html | 41 ++ .../template/ucp_pm_message_header.html | 34 + .../subsilver2/template/ucp_pm_options.html | 191 +++++ .../subsilver2/template/ucp_pm_popup.html | 37 + .../template/ucp_pm_viewfolder.html | 121 ++++ .../template/ucp_pm_viewmessage.html | 124 ++++ .../template/ucp_pm_viewmessage_print.html | 131 ++++ .../template/ucp_prefs_personal.html | 96 +++ .../subsilver2/template/ucp_prefs_post.html | 33 + .../subsilver2/template/ucp_prefs_view.html | 73 ++ .../template/ucp_profile_avatar.html | 82 +++ .../template/ucp_profile_profile_info.html | 70 ++ .../template/ucp_profile_reg_details.html | 53 ++ .../template/ucp_profile_signature.html | 108 +++ .../subsilver2/template/ucp_register.html | 111 +++ .../subsilver2/template/ucp_remind.html | 28 + .../subsilver2/template/ucp_resend.html | 28 + .../subsilver2/template/ucp_zebra_foes.html | 30 + .../template/ucp_zebra_friends.html | 28 + .../subsilver2/template/viewforum_body.html | 321 +++++++++ .../subsilver2/template/viewonline_body.html | 56 ++ .../subsilver2/template/viewonline_whois.html | 12 + .../subsilver2/template/viewtopic_body.html | 345 +++++++++ .../subsilver2/template/viewtopic_print.html | 137 ++++ .../subsilver2/theme/images/background.gif | Bin 0 -> 510 bytes .../subsilver2/theme/images/cellpic.gif | Bin 0 -> 722 bytes .../subsilver2/theme/images/cellpic1.gif | Bin 0 -> 246 bytes .../subsilver2/theme/images/cellpic2.jpg | Bin 0 -> 480 bytes .../subsilver2/theme/images/cellpic2_rtl.jpg | Bin 0 -> 601 bytes .../subsilver2/theme/images/cellpic3.gif | Bin 0 -> 257 bytes .../subsilver2/theme/images/created_by.jpg | Bin 0 -> 15319 bytes .../subsilver2/theme/images/icon_mini_faq.gif | Bin 0 -> 219 bytes .../theme/images/icon_mini_groups.gif | Bin 0 -> 222 bytes .../theme/images/icon_mini_login.gif | Bin 0 -> 233 bytes .../theme/images/icon_mini_members.gif | Bin 0 -> 223 bytes .../theme/images/icon_mini_message.gif | Bin 0 -> 232 bytes .../theme/images/icon_mini_profile.gif | Bin 0 -> 238 bytes .../theme/images/icon_mini_register.gif | Bin 0 -> 224 bytes .../theme/images/icon_mini_search.gif | Bin 0 -> 238 bytes .../styles/subsilver2/theme/images/index.htm | 16 + .../subsilver2/theme/images/no_avatar.gif | Bin 0 -> 474 bytes .../styles/subsilver2/theme/images/spacer.gif | Bin 0 -> 43 bytes .../subsilver2/theme/images/whosonline.gif | Bin 0 -> 929 bytes phpBB/styles/subsilver2/theme/stylesheet.css | 673 ++++++++++++++++++ phpBB/styles/subsilver2/theme/theme.cfg | 35 + 198 files changed, 8994 insertions(+), 11 deletions(-) create mode 100644 phpBB/styles/subsilver2/imageset/announce_read.gif create mode 100644 phpBB/styles/subsilver2/imageset/announce_read_locked.gif create mode 100644 phpBB/styles/subsilver2/imageset/announce_read_locked_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/announce_read_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/announce_unread.gif create mode 100644 phpBB/styles/subsilver2/imageset/announce_unread_locked.gif create mode 100644 phpBB/styles/subsilver2/imageset/announce_unread_locked_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/announce_unread_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/button_pm_new.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/button_pm_reply.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/button_topic_locked.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/button_topic_new.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/button_topic_reply.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_contact_aim.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_contact_email.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_contact_icq.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_contact_jabber.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_contact_msnm.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_contact_pm.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_contact_www.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_contact_yahoo.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_post_delete.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_post_edit.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_post_info.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_post_quote.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_post_report.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_user_offline.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_user_online.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_user_profile.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_user_search.gif create mode 100644 phpBB/styles/subsilver2/imageset/en/icon_user_warn.gif create mode 100644 phpBB/styles/subsilver2/imageset/forum_link.gif create mode 100644 phpBB/styles/subsilver2/imageset/forum_read.gif create mode 100644 phpBB/styles/subsilver2/imageset/forum_read_locked.gif create mode 100644 phpBB/styles/subsilver2/imageset/forum_read_subforum.gif create mode 100644 phpBB/styles/subsilver2/imageset/forum_unread.gif create mode 100644 phpBB/styles/subsilver2/imageset/forum_unread_locked.gif create mode 100644 phpBB/styles/subsilver2/imageset/forum_unread_subforum.gif create mode 100644 phpBB/styles/subsilver2/imageset/icon_post_target.gif create mode 100644 phpBB/styles/subsilver2/imageset/icon_post_target_unread.gif create mode 100644 phpBB/styles/subsilver2/imageset/icon_topic_attach.gif create mode 100644 phpBB/styles/subsilver2/imageset/icon_topic_latest.gif create mode 100644 phpBB/styles/subsilver2/imageset/icon_topic_newest.gif create mode 100644 phpBB/styles/subsilver2/imageset/icon_topic_reported.gif create mode 100644 phpBB/styles/subsilver2/imageset/icon_topic_unapproved.gif create mode 100644 phpBB/styles/subsilver2/imageset/imageset.cfg create mode 100644 phpBB/styles/subsilver2/imageset/poll_center.gif create mode 100644 phpBB/styles/subsilver2/imageset/poll_left.gif create mode 100644 phpBB/styles/subsilver2/imageset/poll_right.gif create mode 100644 phpBB/styles/subsilver2/imageset/site_logo.gif create mode 100644 phpBB/styles/subsilver2/imageset/sticky_read.gif create mode 100644 phpBB/styles/subsilver2/imageset/sticky_read_locked.gif create mode 100644 phpBB/styles/subsilver2/imageset/sticky_read_locked_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/sticky_read_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/sticky_unread.gif create mode 100644 phpBB/styles/subsilver2/imageset/sticky_unread_locked.gif create mode 100644 phpBB/styles/subsilver2/imageset/sticky_unread_locked_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/sticky_unread_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_moved.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_read.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_read_hot.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_read_hot_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_read_locked.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_read_locked_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_read_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_unread.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_unread_hot.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_unread_hot_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_unread_locked.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_unread_locked_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/topic_unread_mine.gif create mode 100644 phpBB/styles/subsilver2/imageset/upload_bar.gif create mode 100644 phpBB/styles/subsilver2/style.cfg create mode 100644 phpBB/styles/subsilver2/template/attachment.html create mode 100644 phpBB/styles/subsilver2/template/bbcode.html create mode 100644 phpBB/styles/subsilver2/template/breadcrumbs.html create mode 100644 phpBB/styles/subsilver2/template/confirm_body.html create mode 100644 phpBB/styles/subsilver2/template/custom_profile_fields.html create mode 100644 phpBB/styles/subsilver2/template/editor.js create mode 100644 phpBB/styles/subsilver2/template/faq_body.html create mode 100644 phpBB/styles/subsilver2/template/forumlist_body.html create mode 100644 phpBB/styles/subsilver2/template/index.htm create mode 100644 phpBB/styles/subsilver2/template/index_body.html create mode 100644 phpBB/styles/subsilver2/template/jumpbox.html create mode 100644 phpBB/styles/subsilver2/template/login_body.html create mode 100644 phpBB/styles/subsilver2/template/login_forum.html create mode 100644 phpBB/styles/subsilver2/template/mcp_approve.html create mode 100644 phpBB/styles/subsilver2/template/mcp_ban.html create mode 100644 phpBB/styles/subsilver2/template/mcp_footer.html create mode 100644 phpBB/styles/subsilver2/template/mcp_forum.html create mode 100644 phpBB/styles/subsilver2/template/mcp_front.html create mode 100644 phpBB/styles/subsilver2/template/mcp_header.html create mode 100644 phpBB/styles/subsilver2/template/mcp_jumpbox.html create mode 100644 phpBB/styles/subsilver2/template/mcp_logs.html create mode 100644 phpBB/styles/subsilver2/template/mcp_message.html create mode 100644 phpBB/styles/subsilver2/template/mcp_move.html create mode 100644 phpBB/styles/subsilver2/template/mcp_notes_front.html create mode 100644 phpBB/styles/subsilver2/template/mcp_notes_user.html create mode 100644 phpBB/styles/subsilver2/template/mcp_post.html create mode 100644 phpBB/styles/subsilver2/template/mcp_queue.html create mode 100644 phpBB/styles/subsilver2/template/mcp_reports.html create mode 100644 phpBB/styles/subsilver2/template/mcp_topic.html create mode 100644 phpBB/styles/subsilver2/template/mcp_viewlogs.html create mode 100644 phpBB/styles/subsilver2/template/mcp_warn_front.html create mode 100644 phpBB/styles/subsilver2/template/mcp_warn_list.html create mode 100644 phpBB/styles/subsilver2/template/mcp_warn_post.html create mode 100644 phpBB/styles/subsilver2/template/mcp_warn_user.html create mode 100644 phpBB/styles/subsilver2/template/mcp_whois.html create mode 100644 phpBB/styles/subsilver2/template/memberlist_body.html create mode 100644 phpBB/styles/subsilver2/template/memberlist_email.html create mode 100644 phpBB/styles/subsilver2/template/memberlist_group.html create mode 100644 phpBB/styles/subsilver2/template/memberlist_im.html create mode 100644 phpBB/styles/subsilver2/template/memberlist_leaders.html create mode 100644 phpBB/styles/subsilver2/template/memberlist_search.html create mode 100644 phpBB/styles/subsilver2/template/memberlist_view.html create mode 100644 phpBB/styles/subsilver2/template/message_body.html create mode 100644 phpBB/styles/subsilver2/template/overall_footer.html create mode 100644 phpBB/styles/subsilver2/template/overall_header.html create mode 100644 phpBB/styles/subsilver2/template/pagination.html create mode 100644 phpBB/styles/subsilver2/template/posting_attach_body.html create mode 100644 phpBB/styles/subsilver2/template/posting_body.html create mode 100644 phpBB/styles/subsilver2/template/posting_buttons.html create mode 100644 phpBB/styles/subsilver2/template/posting_poll_body.html create mode 100644 phpBB/styles/subsilver2/template/posting_preview.html create mode 100644 phpBB/styles/subsilver2/template/posting_progress_bar.html create mode 100644 phpBB/styles/subsilver2/template/posting_review.html create mode 100644 phpBB/styles/subsilver2/template/posting_smilies.html create mode 100644 phpBB/styles/subsilver2/template/posting_topic_review.html create mode 100644 phpBB/styles/subsilver2/template/report_body.html create mode 100644 phpBB/styles/subsilver2/template/search_body.html create mode 100644 phpBB/styles/subsilver2/template/search_results.html create mode 100644 phpBB/styles/subsilver2/template/searchbox.html create mode 100644 phpBB/styles/subsilver2/template/simple_footer.html create mode 100644 phpBB/styles/subsilver2/template/simple_header.html create mode 100644 phpBB/styles/subsilver2/template/template.cfg create mode 100644 phpBB/styles/subsilver2/template/ucp_agreement.html create mode 100644 phpBB/styles/subsilver2/template/ucp_attachments.html create mode 100644 phpBB/styles/subsilver2/template/ucp_footer.html create mode 100644 phpBB/styles/subsilver2/template/ucp_groups_manage.html create mode 100644 phpBB/styles/subsilver2/template/ucp_groups_membership.html create mode 100644 phpBB/styles/subsilver2/template/ucp_header.html create mode 100644 phpBB/styles/subsilver2/template/ucp_main_bookmarks.html create mode 100644 phpBB/styles/subsilver2/template/ucp_main_drafts.html create mode 100644 phpBB/styles/subsilver2/template/ucp_main_front.html create mode 100644 phpBB/styles/subsilver2/template/ucp_main_subscribed.html create mode 100644 phpBB/styles/subsilver2/template/ucp_pm_history.html create mode 100644 phpBB/styles/subsilver2/template/ucp_pm_message_footer.html create mode 100644 phpBB/styles/subsilver2/template/ucp_pm_message_header.html create mode 100644 phpBB/styles/subsilver2/template/ucp_pm_options.html create mode 100644 phpBB/styles/subsilver2/template/ucp_pm_popup.html create mode 100644 phpBB/styles/subsilver2/template/ucp_pm_viewfolder.html create mode 100644 phpBB/styles/subsilver2/template/ucp_pm_viewmessage.html create mode 100644 phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html create mode 100644 phpBB/styles/subsilver2/template/ucp_prefs_personal.html create mode 100644 phpBB/styles/subsilver2/template/ucp_prefs_post.html create mode 100644 phpBB/styles/subsilver2/template/ucp_prefs_view.html create mode 100644 phpBB/styles/subsilver2/template/ucp_profile_avatar.html create mode 100644 phpBB/styles/subsilver2/template/ucp_profile_profile_info.html create mode 100644 phpBB/styles/subsilver2/template/ucp_profile_reg_details.html create mode 100644 phpBB/styles/subsilver2/template/ucp_profile_signature.html create mode 100644 phpBB/styles/subsilver2/template/ucp_register.html create mode 100644 phpBB/styles/subsilver2/template/ucp_remind.html create mode 100644 phpBB/styles/subsilver2/template/ucp_resend.html create mode 100644 phpBB/styles/subsilver2/template/ucp_zebra_foes.html create mode 100644 phpBB/styles/subsilver2/template/ucp_zebra_friends.html create mode 100644 phpBB/styles/subsilver2/template/viewforum_body.html create mode 100644 phpBB/styles/subsilver2/template/viewonline_body.html create mode 100644 phpBB/styles/subsilver2/template/viewonline_whois.html create mode 100644 phpBB/styles/subsilver2/template/viewtopic_body.html create mode 100644 phpBB/styles/subsilver2/template/viewtopic_print.html create mode 100644 phpBB/styles/subsilver2/theme/images/background.gif create mode 100644 phpBB/styles/subsilver2/theme/images/cellpic.gif create mode 100644 phpBB/styles/subsilver2/theme/images/cellpic1.gif create mode 100644 phpBB/styles/subsilver2/theme/images/cellpic2.jpg create mode 100644 phpBB/styles/subsilver2/theme/images/cellpic2_rtl.jpg create mode 100644 phpBB/styles/subsilver2/theme/images/cellpic3.gif create mode 100644 phpBB/styles/subsilver2/theme/images/created_by.jpg create mode 100644 phpBB/styles/subsilver2/theme/images/icon_mini_faq.gif create mode 100644 phpBB/styles/subsilver2/theme/images/icon_mini_groups.gif create mode 100644 phpBB/styles/subsilver2/theme/images/icon_mini_login.gif create mode 100644 phpBB/styles/subsilver2/theme/images/icon_mini_members.gif create mode 100644 phpBB/styles/subsilver2/theme/images/icon_mini_message.gif create mode 100644 phpBB/styles/subsilver2/theme/images/icon_mini_profile.gif create mode 100644 phpBB/styles/subsilver2/theme/images/icon_mini_register.gif create mode 100644 phpBB/styles/subsilver2/theme/images/icon_mini_search.gif create mode 100644 phpBB/styles/subsilver2/theme/images/index.htm create mode 100644 phpBB/styles/subsilver2/theme/images/no_avatar.gif create mode 100644 phpBB/styles/subsilver2/theme/images/spacer.gif create mode 100644 phpBB/styles/subsilver2/theme/images/whosonline.gif create mode 100644 phpBB/styles/subsilver2/theme/stylesheet.css create mode 100644 phpBB/styles/subsilver2/theme/theme.cfg diff --git a/phpBB/adm/style/install_footer.html b/phpBB/adm/style/install_footer.html index 2d9ee0fb9d..ea197e2ac8 100755 --- a/phpBB/adm/style/install_footer.html +++ b/phpBB/adm/style/install_footer.html @@ -18,7 +18,7 @@ // --> diff --git a/phpBB/adm/style/overall_footer.html b/phpBB/adm/style/overall_footer.html index 42367cf6e6..6d8349bc92 100644 --- a/phpBB/adm/style/overall_footer.html +++ b/phpBB/adm/style/overall_footer.html @@ -19,7 +19,7 @@
+ + + + + + + + +
 [ {TOTAL} ] 
+
+ + +
+ +
+ + + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_forum.html b/phpBB/styles/subsilver2/template/mcp_forum.html new file mode 100644 index 0000000000..f85dc48126 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_forum.html @@ -0,0 +1,85 @@ + + +
+ +{L_VIEW_FORUM_LOGS} + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_DISPLAY_TOPICS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
  {L_TOPICS}  {L_REPLIES}  {L_LAST_POST}  {L_MARK} 
{topicrow.TOPIC_FOLDER_IMG} + + [ {L_SELECT_MERGE} + +

{topicrow.NEWEST_POST_IMG} {topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TITLE} + + {topicrow.UNAPPROVED_IMG}  + + + {REPORTED_IMG}  + + + [ {L_DELETE_SHADOW_TOPIC} ]  + +

+

{topicrow.REPLIES}

{topicrow.LAST_POST_TIME}

+ checked="checked" />  +

{L_NO_TOPICS}

+ + +
+ +
+ + + + + +
{L_MARK_ALL} :: {L_UNMARK_ALL}
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_front.html b/phpBB/styles/subsilver2/template/mcp_front.html new file mode 100644 index 0000000000..e42c29471a --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_front.html @@ -0,0 +1,118 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_LATEST_UNAPPROVED}
 {L_FORUM}  {L_TOPIC}  {L_SUBJECT}  {L_AUTHOR}  {L_POST_TIME}  {L_SELECT} 
{unapproved.FORUM_NAME}{unapproved.FORUM_NAME}
[ {L_MODERATE} ]
{unapproved.TOPIC_TITLE}
[ {L_MODERATE} ]
{unapproved.SUBJECT}
[ {L_VIEW_DETAILS} ]
{unapproved.AUTHOR}{unapproved.AUTHOR}{unapproved.POST_TIME}
{L_UNAPPROVED_POSTS_ZERO_TOTAL}
{L_UNAPPROVED_TOTAL}
  
+ +
+ + + + + +
{L_MARK_ALL} :: {L_UNMARK_ALL}
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_LATEST_REPORTED}
 {L_FORUM}  {L_TOPIC}  {L_SUBJECT}  {L_REPORTER}  {L_REPORT_TIME} 
{report.FORUM_NAME}{report.FORUM_NAME}
[ {L_MODERATE} ]
{report.TOPIC_TITLE}
[ {L_MODERATE} ]
{report.SUBJECT}
[ {L_VIEW_DETAILS} ]
{report.REPORTER_FULL}{report.REPORT_TIME}
{L_REPORTS_ZERO_TOTAL}
{L_REPORTS_TOTAL}
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_LATEST_LOGS}
{L_USERNAME}{L_IP}{L_ACTION}{L_TIME}
{log.USERNAME}{log.IP}{log.ACTION}{L_VIEW_TOPIC} | {L_VIEW_TOPIC_LOGS}{log.TIME}
{L_NO_ENTRIES}
+ +
+ + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_header.html b/phpBB/styles/subsilver2/template/mcp_header.html new file mode 100644 index 0000000000..043be1d089 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_header.html @@ -0,0 +1,79 @@ + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/phpBB/styles/subsilver2/template/posting_body.html b/phpBB/styles/subsilver2/template/posting_body.html new file mode 100644 index 0000000000..d7fb9e0e45 --- /dev/null +++ b/phpBB/styles/subsilver2/template/posting_body.html @@ -0,0 +1,425 @@ + + + + + + + +
+ +

{L_FORUM_RULES}


+ {L_FORUM_RULES_LINK} + +

{L_FORUM_RULES}


+ {FORUM_RULES} + +
+ +
+ + + + + +

+ + + + + + + +
+ + + + + + + + + + + +
{L_OPTIONS}
{l_block1.L_TITLE} + + + + {l_block1.L_TITLE} + +
+ +
+ + + + + + + + + +
{L_MESSAGE}

{MESSAGE}

{return_links.MESSAGE_LINK}

+ +
+ + + +
+ + + + + + + + +
{L_PLEASE_CONFIRM}

{CONFIRM_MESSAGE}

{S_HIDDEN_FIELDS}  

+ +
+ +
+ diff --git a/phpBB/styles/subsilver2/template/mcp_jumpbox.html b/phpBB/styles/subsilver2/template/mcp_jumpbox.html new file mode 100644 index 0000000000..95a5926f72 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_jumpbox.html @@ -0,0 +1,18 @@ + + +
+ + {L_JUMP_TO}:   +
diff --git a/phpBB/styles/subsilver2/template/mcp_logs.html b/phpBB/styles/subsilver2/template/mcp_logs.html new file mode 100644 index 0000000000..d759af5931 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_logs.html @@ -0,0 +1,43 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_USERNAME}{L_IP}{L_TIME}{L_ACTION}{L_MARK}
{log.USERNAME}{log.IP}{log.DATE}{log.ACTION}
{log.DATA}
{L_DISPLAY_LOG}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
 
{L_NO_ENTRIES}
+ +
+ +

+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_message.html b/phpBB/styles/subsilver2/template/mcp_message.html new file mode 100644 index 0000000000..7645e5dd81 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_message.html @@ -0,0 +1,14 @@ + + + + + + + + + +
{MESSAGE_TITLE}

{MESSAGE_TEXT}

+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_move.html b/phpBB/styles/subsilver2/template/mcp_move.html new file mode 100644 index 0000000000..eed7ca8fe3 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_move.html @@ -0,0 +1,43 @@ + + +
+ +
+ + + + + + + + +
{MESSAGE_TITLE}
+ + {ADDITIONAL_MSG}
+ + +
{L_SELECT_DESTINATION_FORUM}  
+
+ + {L_LEAVE_SHADOW}
+ +
{S_HIDDEN_FIELDS}{MESSAGE_TEXT}

+    + + {L_NO_DESTINATION_FORUM}

+ {S_HIDDEN_FIELDS} + + +
+ +
+ +
+ +
+ + + +
+ + diff --git a/phpBB/styles/subsilver2/template/mcp_notes_front.html b/phpBB/styles/subsilver2/template/mcp_notes_front.html new file mode 100644 index 0000000000..b374773f65 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_notes_front.html @@ -0,0 +1,22 @@ + + +
+ + + + + + + + + + + + +
{L_SELECT_USER}
{L_FIND_USERNAME}:
[ {L_FIND_USERNAME} ]
+ +
+ +

+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_notes_user.html b/phpBB/styles/subsilver2/template/mcp_notes_user.html new file mode 100644 index 0000000000..54ddeb05be --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_notes_user.html @@ -0,0 +1,121 @@ + + +
+ + + + + + + + + +
{USERNAME}
+ + + + + + + + + + + + + + + + + +
{USERNAME}
{RANK_TITLE}
{RANK_IMG}
{AVATAR_IMG}
+
+ + + + + + + + + + + + + +
{L_JOINED}: {JOINED}
{L_TOTAL_POSTS}: {POSTS}
{L_WARNINGS}: {WARNINGS}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_FEEDBACK}
{L_DISPLAY_LOG}: {S_SELECT_SORT_DAYS} {L_SORT_BY}: {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
{L_REPORT_BY}{L_IP}{L_TIME}{L_ACTION}{L_MARK}
{usernotes.REPORT_BY}{usernotes.IP}{usernotes.REPORT_AT} + {usernotes.ACTION} +
» [ {usernotes.DATA} ] +
 
{L_NO_FEEDBACK}
+ +
+ + + + + + + + + + + + + +
{L_ADD_FEEDBACK}
{L_ADD_FEEDBACK_EXPLAIN}
  
+ + + + + + +
{PAGE_NUMBER} [ {TOTAL_REPORTS} ]
+ +
+ +

+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_post.html b/phpBB/styles/subsilver2/template/mcp_post.html new file mode 100644 index 0000000000..858e4c5a17 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_post.html @@ -0,0 +1,162 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_REPORT_DETAILS}
{L_REPORT_REASON}: {REPORT_REASON_TITLE} » {REPORT_REASON_DESCRIPTION}
{L_REPORTER}: style="font-weight: bold; color: {REPORTER_COLOUR};">{REPORTER_NAME}   [ {L_READ_PROFILE} | {L_VIEW_NOTES} | {L_WARN_USER} ]
{L_REPORTED}: {REPORT_DATE}
{L_MORE_INFO}
{REPORT_TEXT}
{L_REPORT_CLOSED}  
+ + +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_POST_DETAILS}
{RETURN_QUEUE} | {RETURN_TOPIC_SIMPLE} | {RETURN_POST}{RETURN_REPORTS}{RETURN_TOPIC}
{L_POST_SUBJECT}: {POST_SUBJECT} {UNAPPROVED_IMG} {L_POST_UNAPPROVED} {REPORTED_IMG} {L_POST_REPORTED}
{L_POSTER}: style="font-weight: bold; color: {POST_AUTHOR_COLOUR}">{POST_AUTHOR}   [ {L_READ_PROFILE} | {L_VIEW_NOTES} | {L_WARN_USER} ]
{L_THIS_POST_IP}: {POST_IP}{POST_IP} [ {POST_IPADDR} ]
{L_POSTED}: {POST_DATE}
{L_PREVIEW}
{POST_PREVIEW}
 
+ +
+ + +
+ + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + +
{L_MOD_OPTIONS}
{L_CHANGE_POSTER}
[ {L_FIND_USERNAME} ]
{L_MOD_OPTIONS}
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_IP_INFO}
{L_OTHER_USERS}
{userrow.USERNAME}{userrow.USERNAME} [ {userrow.NUM_POSTS} {userrow.L_POST_S} ]{SEARCH_IMG}
{L_NO_MATCHES_FOUND}
{L_IPS_POSTED_FROM}[ {L_LOOKUP_ALL} ]
{iprow.HOSTNAME} ({iprow.IP}){iprow.IP} [ {iprow.NUM_POSTS} {iprow.L_POST_S} ][ {L_LOOKUP_IP} ]
{L_NO_MATCHES_FOUND}
+ + + + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_queue.html b/phpBB/styles/subsilver2/template/mcp_queue.html new file mode 100644 index 0000000000..28132e7264 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_queue.html @@ -0,0 +1,46 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_DISPLAY_OPTIONS}
{L_DISPLAY_ITEMS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} {L_FORUM}     {L_ONLY_TOPIC}  
 {L_TOPIC}{L_POST}  {L_AUTHOR}  {L_POST_TIME}  {L_SELECT} 

{postrow.POST_SUBJECT}

+ {L_FORUM}: {postrow.FORUM_NAME}{postrow.FORUM_NAME}
{postrow.POST_AUTHOR_FULL}
+ [ {L_VIEW_DETAILS} ]
{postrow.POST_TIME}
{L_NO_POSTS}
  
+ +
+ + + + + +
{L_MARK_ALL} :: {L_UNMARK_ALL}
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_reports.html b/phpBB/styles/subsilver2/template/mcp_reports.html new file mode 100644 index 0000000000..15bb797a8e --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_reports.html @@ -0,0 +1,55 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_DISPLAY_OPTIONS}
{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} {L_FORUM}     {L_ONLY_TOPIC}  
 {L_POST}  {L_AUTHOR}  {L_REPORTER}  {L_REPORT_TIME}  {L_SELECT} 

{postrow.POST_SUBJECT}

+ {L_FORUM}: {postrow.FORUM_NAME}{postrow.FORUM_NAME}
{postrow.POST_AUTHOR_FULL}
+ {postrow.POST_TIME}
{postrow.REPORTER_FULL}{postrow.REPORT_TIME}
+ [ {L_VIEW_DETAILS} ]
{L_NO_POSTS}
+ + + +   + +
+ +
+ + + + + +
{L_MARK_ALL} :: {L_UNMARK_ALL}
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_topic.html b/phpBB/styles/subsilver2/template/mcp_topic.html new file mode 100644 index 0000000000..714cb75884 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_topic.html @@ -0,0 +1,141 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_SPLIT_TOPIC}
{L_SPLIT_TOPIC_EXPLAIN}
{L_SPLIT_SUBJECT}
{L_SPLIT_FORUM}
{L_TOPIC_ICON} + + + + +
checked="checked" />{L_NO_TOPIC_ICON} checked="checked" />
+
{L_MERGE_TOPIC}
{L_MERGE_TOPIC_EXPLAIN}
{L_MERGE_TOPIC_ID} {L_SELECT_TOPIC}
{TO_TOPIC_INFO}
{L_DISPLAY_OPTIONS}
{L_POSTS_PER_PAGE}
{L_POSTS_PER_PAGE_EXPLAIN}
{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
{L_AUTHOR}{L_MESSAGE}{L_SELECT}
{RETURN_TOPIC}
+ + + + + +
 {L_POST_SUBJECT}: {postrow.POST_SUBJECT}
+
checked="checked" />
+ + + + +
[ {L_POST_DETAILS} ]
+
+ + + + + + + +
{postrow.MESSAGE}

+ + + + + + +
+ {UNAPPROVED_IMG} {L_POST_UNAPPROVED} + {REPORTED_IMG}{L_POST_REPORTED} + {postrow.MINI_POST_IMG}{L_POSTED}: {postrow.POST_DATE}
+
+
 
+ +
+ + + + + +
{L_MARK_ALL} :: {L_UNMARK_ALL}
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_viewlogs.html b/phpBB/styles/subsilver2/template/mcp_viewlogs.html new file mode 100644 index 0000000000..785cada6bb --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_viewlogs.html @@ -0,0 +1,52 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_DISPLAY_OPTIONS}
{L_DISPLAY_LOG}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
{L_USERNAME}{L_IP}{L_TIME}{L_ACTION}
{L_LOGS_CURRENT_TOPIC} {TOPIC_NAME}
{log.USERNAME}{log.IP}{log.TIME}{log.ACTION}{L_VIEW_TOPIC} | {L_VIEW_TOPIC_LOGS}
{L_NO_ENTRIES}
+ + + + + + +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_warn_front.html b/phpBB/styles/subsilver2/template/mcp_warn_front.html new file mode 100644 index 0000000000..087e9124ff --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_warn_front.html @@ -0,0 +1,74 @@ + + +
+ + + + + + + + + + + + +
{L_SELECT_USER}
{L_FIND_USERNAME}:
[ {L_FIND_USERNAME} ]
+ +
+ +

+ + + + + + + + + + + + + + + + + + + + + + + +
{L_MOST_WARNINGS}
 {L_USERNAME}  {L_WARNINGS}  {L_LATEST_WARNING_TIME}  
{highest.USERNAME_FULL}{highest.WARNINGS}{highest.WARNING_TIME}{L_VIEW_NOTES}
{L_WARNINGS_ZERO_TOTAL}
+ +

+ + + + + + + + + + + + + + + + + + + + + + + +
{L_LATEST_WARNINGS}
 {L_USERNAME}  {L_TIME}  {L_TOTAL_WARNINGS}  
{latest.USERNAME_FULL}{latest.WARNING_TIME}{latest.WARNINGS}{L_VIEW_NOTES}
{L_WARNINGS_ZERO_TOTAL}
+ +

+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_warn_list.html b/phpBB/styles/subsilver2/template/mcp_warn_list.html new file mode 100644 index 0000000000..9b1d6c13ac --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_warn_list.html @@ -0,0 +1,43 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_WARNED_USERS}
 {L_USERNAME}  {L_WARNINGS}  {L_LATEST_WARNING_TIME}  
{user.USERNAME_FULL}{user.WARNINGS}{user.WARNING_TIME}{L_VIEW_NOTES}
{L_WARNINGS_ZERO_TOTAL}
{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
+ + + + + + +
{PAGE_NUMBER} [ {TOTAL_USERS} ]
+ +
+ +

+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_warn_post.html b/phpBB/styles/subsilver2/template/mcp_warn_post.html new file mode 100644 index 0000000000..957e9416d8 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_warn_post.html @@ -0,0 +1,58 @@ + + + + + + + + + + +
{L_POST}
+ + + + + + + + + + + + + + + + + +
{USERNAME}
{RANK_TITLE}
{RANK_IMG}
{AVATAR_IMG}
+
+ {POST} +
+ +

+ +
+ + + + + + + + + + + + + + + + +
{L_ADD_WARNING}
{L_ADD_WARNING_EXPLAIN}
{L_NOTIFY_USER_WARN}
  
+
+ +

+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_warn_user.html b/phpBB/styles/subsilver2/template/mcp_warn_user.html new file mode 100644 index 0000000000..254f020db1 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_warn_user.html @@ -0,0 +1,71 @@ + + + + + + + + + + +
{USERNAME}
+ + + + + + + + + + + + + + + + + +
{USERNAME}
{RANK_TITLE}
{RANK_IMG}
{AVATAR_IMG}
+
+ + + + + + + + + + + + + +
{L_JOINED}: {JOINED}
{L_TOTAL_POSTS}: {POSTS}
{L_WARNINGS}: {WARNINGS}
+
+ +

+ +
+ + + + + + + + + + + + + + + + +
{L_ADD_WARNING}
{L_ADD_WARNING_EXPLAIN}
{L_NOTIFY_USER_WARN}
  
+
+ +

+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/mcp_whois.html b/phpBB/styles/subsilver2/template/mcp_whois.html new file mode 100644 index 0000000000..54b93eec69 --- /dev/null +++ b/phpBB/styles/subsilver2/template/mcp_whois.html @@ -0,0 +1,15 @@ + + + + + + + + + + + + +
{L_WHOIS}
{RETURN_POST}
{WHOIS}
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/memberlist_body.html b/phpBB/styles/subsilver2/template/memberlist_body.html new file mode 100644 index 0000000000..d6fa99abaa --- /dev/null +++ b/phpBB/styles/subsilver2/template/memberlist_body.html @@ -0,0 +1,114 @@ + + + + + + + + + + + + + +
+ + + + + + + + + +
{L_USERNAME_BEGINS_WITH}:  {L_FIND_USERNAME}{L_HIDE_MEMBER_SEARCH}
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#{L_USERNAME}{L_JOINED}{L_POSTS}{L_RANK}{L_SEND_MESSAGE}{L_EMAIL}{L_WEBSITE}{L_MARK}
{L_GROUP_LEADER}
{L_GROUP_MEMBERS}
 {memberrow.ROW_NUMBER} {memberrow.USERNAME_FULL}{L_SELECT} ] {memberrow.JOINED} {memberrow.POSTS}{memberrow.RANK_IMG}{memberrow.RANK_TITLE} {PM_IMG}  {EMAIL_IMG}  {WWW_IMG}  {memberrow.PROFILE_FIELD1_VALUE}
+ {L_NO_GROUP_MEMBERS}{L_NO_MEMBERS} +
{L_SELECT_SORT_METHOD}:   {L_ORDER}  
+ +
+ + + + + + +
{PAGE_NUMBER} [ {TOTAL_USERS} ]{L_MARK_ALL} :: {L_UNMARK_ALL}
+ + + + + + +
+ + + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/memberlist_email.html b/phpBB/styles/subsilver2/template/memberlist_email.html new file mode 100644 index 0000000000..ba82dcfce1 --- /dev/null +++ b/phpBB/styles/subsilver2/template/memberlist_email.html @@ -0,0 +1,98 @@ + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_SEND_EMAIL}
{ERROR_MESSAGE}
{L_RECIPIENT}{USERNAME}
{L_SUBJECT}
{L_EMAIL_ADDRESS}
{L_REAL_NAME}
{L_DEST_LANG}
{L_DEST_LANG_EXPLAIN}
{L_MESSAGE_BODY}
{L_EMAIL_BODY_EXPLAIN}
{L_OPTIONS} + + + + + +
{L_CC_EMAIL}
+
+ +
+ +
+ +
+ + + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/memberlist_group.html b/phpBB/styles/subsilver2/template/memberlist_group.html new file mode 100644 index 0000000000..650868f810 --- /dev/null +++ b/phpBB/styles/subsilver2/template/memberlist_group.html @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + +
{L_GROUP_INFORMATION}
{L_GROUP_NAME}: style="color:#{GROUP_COLOR}">{GROUP_NAME}{AVATAR_IMG}
{RANK_IMG}{GROUP_RANK}

{PM_IMG}
{L_GROUP_DESC}:{GROUP_DESC}

{GROUP_TYPE}

diff --git a/phpBB/styles/subsilver2/template/memberlist_im.html b/phpBB/styles/subsilver2/template/memberlist_im.html new file mode 100644 index 0000000000..a4486ada21 --- /dev/null +++ b/phpBB/styles/subsilver2/template/memberlist_im.html @@ -0,0 +1,140 @@ + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_SEND_IM}
{L_SEND_IM_EXPLAIN}
{L_IM_RECIPIENT}: {USERNAME} [ {IM_CONTACT} ] {PRESENCE_IMG}

{L_IM_ADD_CONTACT}
{L_IM_SEND_MESSAGE}

{L_IM_DOWNLOAD_APP} | {L_IM_AIM_EXPRESS}
 
+ + + + {L_IM_ADD_CONTACT}
{L_IM_SEND_MESSAGE} +
 
{L_IM_MESSAGE}:
{L_IM_NO_JABBER}
{L_IM_SENT_JABBER}
+
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/memberlist_leaders.html b/phpBB/styles/subsilver2/template/memberlist_leaders.html new file mode 100644 index 0000000000..ba6dbde617 --- /dev/null +++ b/phpBB/styles/subsilver2/template/memberlist_leaders.html @@ -0,0 +1,71 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_USERNAME}{L_FORUMS}{L_PRIMARY_GROUP}{L_RANK}{L_SEND_MESSAGE}
{L_ADMINISTRATORS}
{admin.USERNAME_FULL}   + + style="font-weight: bold; color:#{admin.GROUP_COLOR}" href="{admin.U_GROUP}">{admin.GROUP_NAME} + + {admin.GROUP_NAME} + +  {admin.RANK_IMG}{admin.RANK_TITLE} {PM_IMG} 
{L_NO_ADMINISTRATORS}
{L_MODERATORS}
{mod.USERNAME_FULL}{L_ALL_FORUMS}   + + style="font-weight: bold; color:#{mod.GROUP_COLOR}" href="{mod.U_GROUP}">{mod.GROUP_NAME} + + {mod.GROUP_NAME} + +  {mod.RANK_IMG}{mod.RANK_TITLE} {PM_IMG} 
{L_NO_MODERATORS}
+ +
+ +
+ + + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/memberlist_search.html b/phpBB/styles/subsilver2/template/memberlist_search.html new file mode 100644 index 0000000000..dd104c5fd6 --- /dev/null +++ b/phpBB/styles/subsilver2/template/memberlist_search.html @@ -0,0 +1,126 @@ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_FIND_USERNAME}
{L_FIND_USERNAME_EXPLAIN}
{L_USERNAME}:{L_ICQ}:
{L_EMAIL}:{L_AIM}:
{L_JOINED}: {L_YIM}:
{L_LAST_ACTIVE}: {L_MSNM}:
{L_POSTS}: {L_JABBER}:
{L_SORT_BY}:  {L_POST_IP}:
{L_GROUP}:  
  
+ +
+ +
diff --git a/phpBB/styles/subsilver2/template/memberlist_view.html b/phpBB/styles/subsilver2/template/memberlist_view.html new file mode 100644 index 0000000000..5f6c55e0eb --- /dev/null +++ b/phpBB/styles/subsilver2/template/memberlist_view.html @@ -0,0 +1,195 @@ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_VIEWING_PROFILE}

{L_USER_PRESENCE}

{L_USER_FORUM}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_USER_IS_INACTIVE}
{L_INACTIVE_REASON}: {USER_INACTIVE_REASON}

{USERNAME} [ {L_USER_ADMIN} ]
{RANK_TITLE}
{RANK_IMG}
{AVATAR_IMG}
{ONLINE_IMG}
[ {L_USE_PERMISSIONS} ]
[ {L_ADD_FRIEND} | {L_ADD_FOE}{L_REMOVE_FRIEND}{L_REMOVE_FOE} ]
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_JOINED}: {JOINED}
{L_VISITED}: {VISITED}
{L_WARNINGS}: {WARNINGS}
[ {L_VIEW_NOTES} | {L_WARN_USER} ]
{L_TOTAL_POSTS}: {POSTS}
[{POSTS_PCT} / {POSTS_DAY}]
{L_SEARCH_USER_POSTS}
{L_ACTIVE_IN_FORUM}: {ACTIVE_FORUM}
[ {ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT} ]-
{L_ACTIVE_IN_TOPIC}: {ACTIVE_TOPIC}
[ {ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT} ]-
+

{L_CONTACT_USER}

{L_ABOUT_USER}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_EMAIL_ADDRESS}: {EMAIL_IMG}
{L_PM}: {PM_IMG}
{L_MSNM}: {MSN_IMG}{USER_MSN}
{L_YIM}: {YIM_IMG}{USER_YIM}
{L_AIM}: {AIM_IMG}{USER_AIM}
{L_ICQ}: {ICQ_IMG}{USER_ICQ}
{L_JABBER}: {JABBER_IMG}{USER_JABBER_IMG}
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_USERGROUPS}:
{L_LOCATION}: {LOCATION}
{L_AGE}: {AGE}
{L_OCCUPATION}: {OCCUPATION}
{L_INTERESTS}: {INTERESTS}
{L_WEBSITE}: {U_WWW}
{PROFILE_FIELD1_NAME}: {PROFILE_FIELD1_VALUE}
{custom_fields.PROFILE_FIELD_NAME}: {custom_fields.PROFILE_FIELD_VALUE}
+

{L_SIGNATURE}

{SIGNATURE}
+ +
+ +
+ +
+ + + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/message_body.html b/phpBB/styles/subsilver2/template/message_body.html new file mode 100644 index 0000000000..f61a3e6365 --- /dev/null +++ b/phpBB/styles/subsilver2/template/message_body.html @@ -0,0 +1,16 @@ + + + + + + + + + +
{MESSAGE_TITLE}

{MESSAGE_TEXT}


+ +
+ + + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/overall_footer.html b/phpBB/styles/subsilver2/template/overall_footer.html new file mode 100644 index 0000000000..64aefc64eb --- /dev/null +++ b/phpBB/styles/subsilver2/template/overall_footer.html @@ -0,0 +1,23 @@ + {RUN_CRON_TASK} + + + + +
+ [ {L_ACP} ]

+ Powered by phpBB © 2002, 2006 phpBB Group +
{TRANSLATION_INFO} +
[ {DEBUG_OUTPUT} ]
+
+ + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/overall_header.html b/phpBB/styles/subsilver2/template/overall_header.html new file mode 100644 index 0000000000..045cbfee17 --- /dev/null +++ b/phpBB/styles/subsilver2/template/overall_header.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + +{META} +{SITENAME} • {PAGE_TITLE} + + + + + + + + + + + + + +
+ +
+ + + + + +
{SITE_LOGO_IMG}

{SITENAME}

{SITE_DESCRIPTION}
+
+ + + +
+ + + + + +
{LAST_VISIT_DATE}{CURRENT_TIME}
+
+ +
+ +
+ + + + + +
+ + + +
diff --git a/phpBB/styles/subsilver2/template/pagination.html b/phpBB/styles/subsilver2/template/pagination.html new file mode 100644 index 0000000000..bf9c854d9a --- /dev/null +++ b/phpBB/styles/subsilver2/template/pagination.html @@ -0,0 +1 @@ +{L_GOTO_PAGE} {L_PREVIOUS}  {PAGINATION}  {L_NEXT} \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/posting_attach_body.html b/phpBB/styles/subsilver2/template/posting_attach_body.html new file mode 100644 index 0000000000..e9de2e7516 --- /dev/null +++ b/phpBB/styles/subsilver2/template/posting_attach_body.html @@ -0,0 +1,82 @@ +
+ + + + + + + {L_ADD_ATTACHMENT} +
{L_ADD_ATTACHMENT_EXPLAIN}
{L_FILENAME}
{L_FILE_COMMENT} + + + + + +
  + + + + +
+
+
{L_POSTED_ATTACHMENTS}
{L_FILENAME}{attach_row.FILENAME}
{L_FILE_COMMENT}{attach_row.S_HIDDEN} + + + + + +
  + + + + +
+
+
+ + + + + + +
{L_INFORMATION}
{L_DRAFT_LOADED}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
{L_LOAD_DRAFT}
{L_LOAD_DRAFT_EXPLAIN}
{L_SAVE_DATE}{L_DRAFT_TITLE}{L_OPTIONS}
{draftrow.DATE}{draftrow.DRAFT_SUBJECT} +
{L_TOPIC}: {draftrow.TITLE} +
{L_FORUM}: {draftrow.TITLE} +
{L_PRIVATE_MESSAGE} +
{L_NO_TOPIC_FORUM} +
{L_LOAD_DRAFT}
+ +
+ + + + + + + + + + + + + + + + + + +
{L_MOVE}
{L_UNGLOBALISE_EXPLAIN}

{L_SELECT_DESTINATION_FORUM}  


  
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_POST_A}
{ERROR}
{L_DELETE_POST}: [ {L_DELETE_POST_WARN} ]
{L_ICON}: + + + + +
{L_NO_TOPIC_ICON}{L_NO_PM_ICON}
+
{L_USERNAME}:
{L_TO}: + {S_HIDDEN_ADDRESS_FIELD} + + + {to_recipient.NAME}{to_recipient.NAME_FULL}   + + + {L_NO_TO_RECIPIENT} + +
{L_BCC}: + + + {bcc_recipient.NAME}{bcc_recipient.NAME_FULL}   + + + {L_NO_BCC_RECIPIENT} + +
{L_SUBJECT}:
{L_MESSAGE_BODY}:
{L_MESSAGE_BODY_EXPLAIN} 

+ + + + + + + + + + + + + + + +
{L_SMILIES}
+ + {smiley.SMILEY_CODE} + +
{L_MORE_SMILIES}
+ +
+ + + + + + + + + + +
+ +
+
{L_ATTACHMENTS}:  +
{L_OPTIONS}:
+ + + + + + + + + + + + + + + + + + +
{BBCODE_STATUS}
{IMG_STATUS}
{FLASH_STATUS}
{URL_STATUS}
{SMILIES_STATUS}
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_DISABLE_BBCODE}
{L_DISABLE_SMILIES}
{L_DISABLE_MAGIC_URL}
{L_ATTACH_SIG}
{L_NOTIFY_REPLY}
{L_LOCK_TOPIC}
{L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]
 {L_CHANGE_TOPIC_TO}{L_POST_TOPIC_AS}: {topic_type.L_TOPIC_TYPE}  
+
{L_STICK_TOPIC_FOR}:
{L_STICKY_ANNOUNCE_TIME_LIMIT}
 {L_DAYS} {L_STICK_TOPIC_FOR_EXPLAIN}
{L_EDIT_REASON}:
{L_POST_CONFIRMATION}
{L_POST_CONFIRM_EXPLAIN}
+ + {CONFIRM_IMAGE} +
{L_CONFIRM_CODE}:
{L_CONFIRM_CODE_EXPLAIN}
+ +   +   +   +   +
{L_POLL_DELETE}:
{S_HIDDEN_FIELDS} + +   + +   +   + +   +
+ +
+ + + + + + + + + + + + +
+ + + + + + + + +

{L_WHO_IS_ONLINE}

{LOGGED_IN_USER_LIST}
+ + +
+ + + + + +
+ + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/posting_buttons.html b/phpBB/styles/subsilver2/template/posting_buttons.html new file mode 100644 index 0000000000..dce4efb02f --- /dev/null +++ b/phpBB/styles/subsilver2/template/posting_buttons.html @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + {L_FONT_SIZE}: + + + + + + + + onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')" onmouseout="helpline('tip')" /> + + + + + + + colspan="2"> + + {L_FONT_COLOR} + + + diff --git a/phpBB/styles/subsilver2/template/posting_poll_body.html b/phpBB/styles/subsilver2/template/posting_poll_body.html new file mode 100644 index 0000000000..3a523182f7 --- /dev/null +++ b/phpBB/styles/subsilver2/template/posting_poll_body.html @@ -0,0 +1,36 @@ + + + {L_ADD_POLL} + + + {L_ADD_POLL_EXPLAIN} + + + {L_POLL_QUESTION}: + + + + {L_POLL_OPTIONS}:
{L_POLL_OPTIONS_EXPLAIN} + + + + {L_POLL_MAX_OPTIONS}:
{L_POLL_MAX_OPTIONS_EXPLAIN} + + + + {L_POLL_FOR}: +  {L_DAYS} {L_POLL_FOR_EXPLAIN} + + + + {L_POLL_VOTE_CHANGE}:
{L_POLL_VOTE_CHANGE_EXPLAIN} + + + + + + + {L_POLL_DELETE}: + checked="checked" /> + + diff --git a/phpBB/styles/subsilver2/template/posting_preview.html b/phpBB/styles/subsilver2/template/posting_preview.html new file mode 100644 index 0000000000..b990428f36 --- /dev/null +++ b/phpBB/styles/subsilver2/template/posting_preview.html @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + +
{L_PREVIEW}
{MINI_POST_IMG}{L_POSTED}: {POST_DATE}     {L_POST_SUBJECT}: {PREVIEW_SUBJECT}

+ + + + + + + + + + +
{POLL_QUESTION}
{L_POLL_LENGTH}
+ + + + + + + +
+ + + + + + {poll_option.POLL_OPTION_CAPTION}
+
{L_MAX_VOTES}
+
+ + + + +
{PREVIEW_MESSAGE}
+ +

+ + + + + + + + + + +
{L_ATTACHMENTS}:
{attachment.DISPLAY_ATTACHMENT}
+ +
_________________
{PREVIEW_SIGNATURE}
+
+ +
diff --git a/phpBB/styles/subsilver2/template/posting_progress_bar.html b/phpBB/styles/subsilver2/template/posting_progress_bar.html new file mode 100644 index 0000000000..9a7daede6d --- /dev/null +++ b/phpBB/styles/subsilver2/template/posting_progress_bar.html @@ -0,0 +1,44 @@ + + + + + + + +
+ + + + +

{L_UPLOAD_IN_PROGRESS}

{PROGRESS_BAR}


{L_CLOSE_WINDOW}

+
+ + + diff --git a/phpBB/styles/subsilver2/template/posting_review.html b/phpBB/styles/subsilver2/template/posting_review.html new file mode 100644 index 0000000000..eda1af6903 --- /dev/null +++ b/phpBB/styles/subsilver2/template/posting_review.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + +
{L_POST_REVIEW}
{L_POST_REVIEW_EXPLAIN}
+ + + + + + + + + + + + + + + + + + + + + +
{L_AUTHOR}{L_MESSAGE}
+ + + + +
+
+ + + + + + + +
 {L_POST_SUBJECT}: {post_review_row.POST_SUBJECT} 
+
+ + + + + + + +
+ + + + +
{post_review_row.MESSAGE}
+
+ + + + + + +
 {post_review_row.MINI_POST_IMG}{L_POSTED}: {post_review_row.POST_DATE}
+
+
+
+ +
\ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/posting_smilies.html b/phpBB/styles/subsilver2/template/posting_smilies.html new file mode 100644 index 0000000000..f48ef66c19 --- /dev/null +++ b/phpBB/styles/subsilver2/template/posting_smilies.html @@ -0,0 +1,27 @@ + + + + + + + + + +
+ + + + + + + +
{L_SMILIES}
{smiley.SMILEY_CODE}
{L_CLOSE_WINDOW}
+
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/posting_topic_review.html b/phpBB/styles/subsilver2/template/posting_topic_review.html new file mode 100644 index 0000000000..bc5e8c873c --- /dev/null +++ b/phpBB/styles/subsilver2/template/posting_topic_review.html @@ -0,0 +1,78 @@ + + + + + + + + +
{L_TOPIC_REVIEW} - {TOPIC_TITLE}
+ + + + + + + + + + + + + + + + + + + + + + +
{L_AUTHOR}{L_MESSAGE}
+ + + + +
+
+ + + + + + + +
 {L_POST_SUBJECT}: {topic_review_row.POST_SUBJECT} {QUOTE_IMG}
+
+ + + + + + + +
+ + + + +
+
{topic_review_row.MESSAGE}
+ + + +
+
+ + + + + + +
[ {L_POST_DETAILS} ]{topic_review_row.MINI_POST_IMG}{L_POSTED}: {topic_review_row.POST_DATE}
+
+
+
+ +
diff --git a/phpBB/styles/subsilver2/template/report_body.html b/phpBB/styles/subsilver2/template/report_body.html new file mode 100644 index 0000000000..83e33b4761 --- /dev/null +++ b/phpBB/styles/subsilver2/template/report_body.html @@ -0,0 +1,40 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
{L_REPORT_POST}
{L_REPORT_POST_EXPLAIN}
{L_REASON}:
{L_REPORT_NOTIFY}:
{L_REPORT_NOTIFY_EXPLAIN}
checked="checked" />  {L_YES}   checked="checked" />  {L_NO}
{L_MORE_INFO}:
{L_CAN_LEAVE_BLANK}
 
+
+ +
+ + + +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/search_body.html b/phpBB/styles/subsilver2/template/search_body.html new file mode 100644 index 0000000000..a914e5f38d --- /dev/null +++ b/phpBB/styles/subsilver2/template/search_body.html @@ -0,0 +1,80 @@ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_SEARCH_QUERY}
{L_SEARCH_KEYWORDS}:
{L_SEARCH_KEYWORDS_EXPLAIN}

{L_SEARCH_ALL_TERMS}
{L_SEARCH_ANY_TERMS}
{L_SEARCH_AUTHOR}:
{L_SEARCH_AUTHOR_EXPLAIN}
{L_SEARCH_FORUMS}:
{L_SEARCH_FORUMS_EXPLAIN}
{L_SEARCH_OPTIONS}
{L_SEARCH_SUBFORUMS}: {L_YES}   {L_NO}{L_SEARCH_WITHIN}: {L_SEARCH_TITLE_MSG}
{L_SEARCH_MSG_ONLY}
{L_SEARCH_TITLE_ONLY}
{L_SEARCH_FIRST_POST}
{L_RESULT_SORT}: {S_SELECT_SORT_KEY}
{L_SORT_ASCENDING}
{L_SORT_DESCENDING}
{L_DISPLAY_RESULTS}: {L_POSTS}   {L_TOPICS}
{L_RESULT_DAYS}: {S_SELECT_SORT_DAYS}{L_RETURN_FIRST}: {L_POST_CHARACTERS}
{S_HIDDEN_FIELDS}  
+ +
+ +
+ + + + + + + + + + + + + + + + +
{L_RECENT_SEARCHES}
{recentsearch.KEYWORDS}{recentsearch.TIME}
{L_NO_RECENT_SEARCHES}
+ +
+ +
+ + + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/search_results.html b/phpBB/styles/subsilver2/template/search_results.html new file mode 100644 index 0000000000..220ce4c046 --- /dev/null +++ b/phpBB/styles/subsilver2/template/search_results.html @@ -0,0 +1,146 @@ + + +
+ + + + + + + + + +
{SEARCH_TITLE}{SEARCH_MATCHES}
{L_SEARCHED_TOPIC}: {SEARCH_TOPIC}
{L_SEARCHED_FOR}: {SEARCH_WORDS} {L_IGNORED_TERMS}: {IGNORED_WORDS}
{L_SEARCH_IN_RESULTS}:
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  {L_TOPICS}  {L_AUTHOR}  {L_REPLIES}  {L_VIEWS}  {L_LAST_POST} 
{searchresults.TOPIC_FOLDER_IMG} + + + + + {NEWEST_POST_IMG} + {topicrow.ATTACH_ICON_IMG} {searchresults.TOPIC_TITLE} + + {searchresults.UNAPPROVED_IMG}  + + + {REPORTED_IMG}  + + +

[ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {searchresults.PAGINATION} ]

+ + +

{L_GLOBAL}

+ +

{L_IN} {searchresults.FORUM_TITLE}

+ +

{searchresults.TOPIC_AUTHOR_FULL}

{searchresults.TOPIC_REPLIES}

{searchresults.TOPIC_VIEWS}

+

{searchresults.LAST_POST_TIME}

+

{searchresults.LAST_POST_AUTHOR_FULL} + {searchresults.LAST_POST_IMG} +

+
{L_NO_SEARCH_RESULTS}
{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS} {L_SORT_BY}: {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_AUTHOR}{L_MESSAGE}
{searchresults.L_IGNORE_POST}

 {L_FORUM}: {searchresults.FORUM_TITLE}{L_GLOBAL}   {L_TOPIC}: {searchresults.TOPIC_TITLE}

+ + + + +
+
+ +  {L_POST_SUBJECT}: {searchresults.POST_SUBJECT} + + [ {L_JUMP_TO_POST} ] + +
+
{L_POSTED}: {searchresults.POST_DATE} 
+
+

{L_REPLIES}: {searchresults.TOPIC_REPLIES}
{L_VIEWS}: {searchresults.TOPIC_VIEWS}


+ + + + +
{searchresults.MESSAGE}
+
{L_NO_SEARCH_RESULTS}
{L_SORT_BY}: {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
+ + +
+ +
{PAGE_NUMBER} [ {SEARCH_MATCHES} ]
+ + +

+ + + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/searchbox.html b/phpBB/styles/subsilver2/template/searchbox.html new file mode 100644 index 0000000000..cb0bb5ba73 --- /dev/null +++ b/phpBB/styles/subsilver2/template/searchbox.html @@ -0,0 +1 @@ +
{L_SEARCH_FOR}:
diff --git a/phpBB/styles/subsilver2/template/simple_footer.html b/phpBB/styles/subsilver2/template/simple_footer.html new file mode 100644 index 0000000000..b8f1cc865b --- /dev/null +++ b/phpBB/styles/subsilver2/template/simple_footer.html @@ -0,0 +1,20 @@ + +
+ + + +
+ Powered by phpBB © 2002, 2006 phpBB Group +
+ + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/simple_header.html b/phpBB/styles/subsilver2/template/simple_header.html new file mode 100644 index 0000000000..3b97809f50 --- /dev/null +++ b/phpBB/styles/subsilver2/template/simple_header.html @@ -0,0 +1,22 @@ + + + + + + + + + + + + + +{META} +{SITENAME} • {PAGE_TITLE} + + + + + + +
\ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/template.cfg b/phpBB/styles/subsilver2/template/template.cfg new file mode 100644 index 0000000000..c83a1d94ad --- /dev/null +++ b/phpBB/styles/subsilver2/template/template.cfg @@ -0,0 +1,23 @@ +# +# phpBB Template Configuration File +# +# @package phpBB3 +# @copyright (c) 2005 phpBB Group +# @license http://opensource.org/licenses/gpl-license.php GNU Public License +# +# +# At the left is the name, please do not change this +# At the right the value is entered +# For on/off options the valid values are on, off, 1, 0, true and false +# +# Values get trimmed, if you want to add a space in front or at the end of +# the value, then enclose the value with single or double quotes. +# Single and double quotes do not need to be escaped. +# +# + +# General Information about this template +name = subsilver2 +copyright = © phpBB Group, 2003 +version = 3.0.0 + diff --git a/phpBB/styles/subsilver2/template/ucp_agreement.html b/phpBB/styles/subsilver2/template/ucp_agreement.html new file mode 100644 index 0000000000..d01a040a7a --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_agreement.html @@ -0,0 +1,58 @@ + + + + +
+ + + + + + + + +
{SITENAME} - {L_REGISTRATION}
+ + + + + + + + +

{L_COPPA_BIRTHDAY}

{L_COPPA_NO} :: {L_COPPA_YES}

+
{L_TERMS_OF_USE}

+
+

+ +
+
+
+ {S_HIDDEN_FIELDS} +
+ + + + + + + + + + +
{SITENAME} - {AGREEMENT_TITLE}
+ + + + +
+
{AGREEMENT_TEXT}

+
+ {L_BACK} +
+
+
+ + + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_attachments.html b/phpBB/styles/subsilver2/template/ucp_attachments.html new file mode 100644 index 0000000000..35dcd33ac4 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_attachments.html @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#{L_FILENAME}{L_POST_TIME}{L_FILESIZE}{L_DOWNLOADS}{L_DELETE}
+ + + + + + +
 [ {TOTAL_ATTACHMENTS} ] 
+
 {attachrow.ROW_NUMBER} {attachrow.FILENAME}
{L_PM}: {L_TOPIC}: {attachrow.TOPIC_TITLE}
 {attachrow.POST_TIME} {attachrow.SIZE}{attachrow.DOWNLOAD_COUNT}
{L_SORT_BY}:  
 
+ + + + + + + + + + + + +
{L_TITLE}
{L_UCP_NO_ATTACHMENTS}
+ + + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_footer.html b/phpBB/styles/subsilver2/template/ucp_footer.html new file mode 100644 index 0000000000..a6d1dec7a7 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_footer.html @@ -0,0 +1,13 @@ + + + + + + +
+ + + +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_groups_manage.html b/phpBB/styles/subsilver2/template/ucp_groups_manage.html new file mode 100644 index 0000000000..ed26b75140 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_groups_manage.html @@ -0,0 +1,264 @@ + + + + + + + +
+

{L_WARNING}

+

{ERROR_MSG}

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_USERGROUPS}
{L_GROUPS_EXPLAIN}
{L_GROUP_DETAILS}
for="group_name">{L_GROUP_NAME}: style="color: #{GROUP_COLOUR};">{GROUP_NAME}
+
checked="checked" /> {L_PARSE_BBCODE}   checked="checked" /> {L_PARSE_SMILIES}   checked="checked" /> {L_PARSE_URLS} +

{L_GROUP_TYPE_EXPLAIN}
+ {L_GROUP_OPEN}   + {L_GROUP_REQUEST}   + {L_GROUP_CLOSED}   + {L_GROUP_HIDDEN} +
{L_GROUP_SETTINGS_SAVE}

{L_GROUP_COLOR_EXPLAIN}
  [ {L_COLOUR_SWATCH} ]
{L_GROUP_AVATAR}

{L_AVATAR_EXPLAIN}
{AVATAR_IMAGE}

 {L_DELETE_AVATAR}

{L_UPLOAD_AVATAR_URL_EXPLAIN}

{L_LINK_REMOTE_AVATAR_EXPLAIN}

{L_LINK_REMOTE_SIZE_EXPLAIN}
px X px
{L_AVATAR_GALLERY}
 
+ + + + + + + + + + + + + +
{avatar_row.avatar_column.AVATAR_NAME}
+
  +
+ + + +

{L_GROUP_MEMBERS}

+ +

{L_GROUP_MEMBERS_EXPLAIN}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_USERNAME}{L_GROUP_DEFAULT}{L_JOINED}{L_POSTS}{L_MARK}
{L_GROUP_LEAD}
{leader.USERNAME}{L_YES}{L_NO}{leader.JOINED}{leader.USER_POSTS}
{L_GROUP_APPROVED}
{L_GROUP_PENDING}
{member.USERNAME}{L_YES}{L_NO}{member.JOINED}{member.USER_POSTS}
{L_GROUPS_NO_MEMBERS}
+ + + +
+
+ +

{L_ADD_USERS}

+ +

{L_ADD_USERS_EXPLAIN}

+ + + + + + + + + + + + + + + + +
{L_ADD_USERS}

{L_USER_GROUP_DEFAULT_EXPLAIN}
{L_YES}   {L_NO}

{L_USERNAMES_EXPLAIN}

[ {L_FIND_USERNAME} ]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_USERGROUPS}
{L_GROUPS_EXPLAIN}
{L_GROUP_DETAILS}{L_OPTIONS}
{L_GROUP_LEADER}
style="color: #{leader.GROUP_COLOUR};">{leader.GROUP_NAME}

{leader.GROUP_DESC}

{L_EDIT}{L_GROUP_LIST}
{L_NO_LEADERS}
 
+ + + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_groups_membership.html b/phpBB/styles/subsilver2/template/ucp_groups_membership.html new file mode 100644 index 0000000000..b92dabc967 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_groups_membership.html @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_USERGROUPS}
{L_GROUPS_EXPLAIN}
{L_GROUP_DETAILS}{L_SELECT}
{L_GROUP_LEADER}
checked="checked" value="{leader.GROUP_ID}" /> + style="color: #{leader.GROUP_COLOUR};">{leader.GROUP_NAME} +
{leader.GROUP_DESC} +
{leader.GROUP_STATUS} +
{L_GROUP_MEMBER}
checked="checked" value="{member.GROUP_ID}" /> + style="color: #{member.GROUP_COLOUR};">{member.GROUP_NAME} +
{member.GROUP_DESC} +
{member.GROUP_STATUS} +
{L_GROUP_PENDING}
  + style="color: #{pending.GROUP_COLOUR};">{pending.GROUP_NAME} +
{pending.GROUP_DESC} +
{pending.GROUP_STATUS} +
{L_GROUP_NONMEMBER}
  + style="color: #{nonmember.GROUP_COLOUR};">{nonmember.GROUP_NAME} +
{nonmember.GROUP_DESC} +
{nonmember.GROUP_STATUS} +
{L_SELECT}:   
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_header.html b/phpBB/styles/subsilver2/template/ucp_header.html new file mode 100644 index 0000000000..002d88f5ff --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_header.html @@ -0,0 +1,163 @@ + + + + +
+ + + + + + - + From 7c2832fb42e3c942dfe7323e36d50fbf1cb97dd4 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Tue, 3 Apr 2007 22:59:50 +0000 Subject: [PATCH 328/707] Thanks Thatbitextra, updated rollover buttons to remove the unneeded 1px "padding" in-between the two states, to make life a bit easier in fixing bugs #8444 & #9546 git-svn-id: file:///svn/phpbb/trunk@7278 89ea8834-ac86-4346-8a33-228a782c2dd0 --- .../imageset/en/button_pm_forward.gif | Bin 2184 -> 2168 bytes .../prosilver/imageset/en/button_pm_new.gif | Bin 2119 -> 2111 bytes .../prosilver/imageset/en/button_pm_reply.gif | Bin 2143 -> 2126 bytes .../imageset/en/button_topic_locked.gif | Bin 2020 -> 2011 bytes .../imageset/en/button_topic_new.gif | Bin 2753 -> 2737 bytes .../imageset/en/button_topic_reply.gif | Bin 2151 -> 2135 bytes .../prosilver/imageset/en/icon_contact_pm.gif | Bin 748 -> 677 bytes .../prosilver/imageset/en/icon_post_edit.gif | Bin 855 -> 853 bytes .../prosilver/imageset/en/icon_post_quote.gif | Bin 1111 -> 1109 bytes .../prosilver/imageset/icon_contact_aim.gif | Bin 614 -> 546 bytes .../prosilver/imageset/icon_contact_email.gif | Bin 590 -> 523 bytes .../prosilver/imageset/icon_contact_icq.gif | Bin 630 -> 562 bytes .../imageset/icon_contact_jabber.gif | Bin 1020 -> 1014 bytes .../prosilver/imageset/icon_contact_msnm.gif | Bin 656 -> 588 bytes .../prosilver/imageset/icon_contact_www.gif | Bin 658 -> 590 bytes .../prosilver/imageset/icon_contact_yahoo.gif | Bin 608 -> 541 bytes .../prosilver/imageset/icon_post_delete.gif | Bin 529 -> 528 bytes .../prosilver/imageset/icon_post_info.gif | Bin 504 -> 501 bytes .../prosilver/imageset/icon_post_report.gif | Bin 482 -> 481 bytes .../prosilver/imageset/icon_rate_bad.gif | Bin 527 -> 465 bytes .../prosilver/imageset/icon_rate_good.gif | Bin 524 -> 462 bytes 21 files changed, 0 insertions(+), 0 deletions(-) diff --git a/phpBB/styles/prosilver/imageset/en/button_pm_forward.gif b/phpBB/styles/prosilver/imageset/en/button_pm_forward.gif index edb0747b9dd3b3238fa0d19997da3dc3432c8873..3384df34be5926db98693854fd66da017ec9d013 100644 GIT binary patch literal 2168 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 K5Qg{$0suSH$#01O diff --git a/phpBB/styles/prosilver/imageset/en/button_pm_new.gif b/phpBB/styles/prosilver/imageset/en/button_pm_new.gif index f4faba3a4005661af281142d2128b875425db83d..af0cb616047270c95a22c8f9984f1265734de397 100644 GIT binary patch literal 2111 zcmV-F2*CG8Nk%w1VPF6<0OkMy?%Ut#*4p;t=lk*V?c?RnV|>?%o8z;-vm8RH~q}!LL z+Lou_oUGfRuHU4x-J`MOs<_{-y6L#Y=fKMC#?a=;(B;U_>dn;Y%+u}J-rnBf?(_J& z*YMru?f`1V09&d6Pm};ggAsGc5nG!gZn0pQ%80q-nZxLrzTSwb#hJCuwawzp-R$o5 z`^47b$=T#ClGAjx-0JoF3XaeakgDtL`T6+C#=^(LzvkrP z<>TSg($UJs!^p(J($UfX|Ns8}{{8*^{QUg;`}_L(`uX|!`1ttu_xJYp_VxAk^z`)e z^YilZ^6~NU@bK{O@9*yJ?(OaE?Ck98>+9<3>gnm}=;-L><>lPm+}POI&CSil#l^n9 zzPPx!w6wIau&|<{qL!AHkB^UxjEsbYgn4;+b8~ZUZf<5~X5r%HA^8LW004ggEC2ui z0AK(z000O7fPX7dQci}4h>41ejE#prTlxC?{Qds_00Rmfn6I9_Kh(G=T*$DY!-o(f zN{qM#-Ij@54BDgCrK87>Bout`7_!R;1t?KMP++0s0RIJ0%0~8cc$cb`8 z)2j;q9z6BZ(aRP;c-(lL`&6kkYF`2i9()o4guo}ia8NKdr$nnxxuwP=-z{s9W8-#)s3OInV4Q4TIFt`z@xP5y#0x&3N zLs$St=Y-;FVW1ud-Z2Lm=9w4XG*yft;e-@=pn!yiSvZCU3Yg%b2?UHm zfdmv-Fop#ZpeSKYYK5p%01H4M!2)B%Md27>d=bSR2I2vS7hs5SQZXG##18l$NznTpb>r9LU^0;Ot+D;ah4VFwyx*n!6! zW8iwKs0dYY#M~H015NNQW_uhQ>?f2h+2QK*FgrhNp5h4>&g&J`;?zqQlR6#`Ii$84n z<(Ow~u;i2n?D^-Qhn_Fz2Pw{O7gcmoF6teHl11ud;FS6qvZD^l7Gr#Yg(s@ZUIi9k zq-%Tc^G;s6v(<`Gf&w9Mafb2=R1pG;5h!p07h#N`KnGudF?|&*RxrT-6%L@3z^4MB zGmkDtf^m2uYdr7ecyos2?$^U1W}0J zu+T*<5<_uAnot+Wm;f@?1Oq(mKnT|707;e+B@vup1$=gIAak7j#gA7rX!l zri8%^j^G0!4atzMP+Wt|!-el%;f0J8-~h5vfdW+E0$R900ff1`@Qts00$@M{lnB1{ zl?M!4zyc3uV9FQZzzSNJWqDwU3B`S9Hnof%7m`^%8Ai`3U)aL`7%&1ZXs?noL&+zy z&;>bGVS)^(Kr^lI8!hM{1}~uI5wh@2@EEUtRcMW1#u&XXXhDDG6yN~Qh>`(#VF2bs zojeC)PyK~ppM&WF5M%%YA>6=}IoN_i1H;WrD2^{q;llE&(3C3_AbR>sNd&II!<~BJ zmgoH8Q|!q@BJT4k{**xwe1HWTyub!ofN4`&Y6-<5xN7STnnECA>?*_Oqb11{Mw{vbD*g8K_OIYH0xsCDiR8 pT~opk$VS`Rnqmk_D8dhT_JboZ?P|acu5gD7H6t8hw;~G!06U?+D~|vG literal 2119 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 EJ6a7+7XSbN literal 2143 zcmV-l2%z^zNk%w1VPF6=0Oo%H(Rz>LvcAr2gx{pH!$f1r#=`E~-`=CK$5L+Oy~pXy z)A8r(=fKL#V0!52==JsW_xJbk@bL5V^Yrxe_V)Ji@$v5N?(gsK+l`>|)Y|}R#*dGW z085QzWMt&3xZs?u(s79CxWvFXS;adn;U z$j|cf^4EWqzc*OUV|>+zn$K>9z&BXHI9S+}q~^)c$i%_KMP%EduN;-q5RuXA_WQ_F zZ`zip(}kGeueek!H*yG!vu8hj*<>TSg(a_%B;nUL5 zkj(1k^ZMrG;&Qjz*_Ec`;^5=F#opiH%ErTq$mrD4(aBzT==A$)wAuRk`QEL$=+)WX z-r&mF;~tjM?c?S7`S`@v;vtvP=hWHezsT5%oY#}1@8;;-p|9k}&f&Vl;kv}_?d|OB z?Cb06>gwwI`}_I%`TF|$$HTu0j?nn{`276*>FMdbDoy|Y|KZ~0A^8LW004ggEC2ui z0AK(!000O7fPYt7Sa^nqh>41ejE#(XAGxjl1F=8JG12T#L08wKfA1ol4?4w4dMvE>XP7LrcK%X2JAKJNNM<-8+ z5B*UXI+P;-77TJU7}^H~i>E9oPz*3MB!wS+o(9M;-)e zDq=`PA3=NwV-NuJVS|h^L zr=ApTx~ZU+emcRNNuD;rr~X*r>Z?G&K+zU%xVjP=eZ2AN7JXQtL`ENtG1f-1+u*|Yk>r)Zm@v_6)@{h9Nc#6?YH2DEAF`DmTPVW3Yu5JxBkfC?z`~D zEAPDY)@$#*_~t8zKXdf!@4o;CEbzbt7i{ps2+!dU9Sk?@@WT*CEb+t?S8VbB#dLHN zOdNc4?D5AShb;2QB$sUR$tTCL3@d(cjPlDc$1HQozBF-(6keF3^Ugf?Y>F3BsPab` zO)wM5(MTt)G$aKy5yl@-M=kZ#R99{F)mUe(_10C3F~u2qge~^iWS4FB*=VP&_S$Km zF@+d^B*8-#QTS~4-FS}@MHW0HQN$80&n)=hgqIwLA4?RmLl1H|;P~T^M=tr~lvi%~ z<(OkGM-MyX;RhXshb}td8HfEj#;B*R`sx+?VS2)_$1eNq2fOaMyb^HZhaDBj0l_D~ z^X~5NL2Y6J1QGb|NgWdW?n&{S@a{YWa^&s@^~&$@fWGe9-mM*_#JYWJL=)(v|U;%D5L=O)9 z2fIwitO%&@1sN#82x8EVK42gNAlx5CLI8mW%+C)W=mQ8tFaq}B4+9tgK_6o9LKtEo z1T~Z)2n1+>2PAL=uP7h|T-6W`_`w22{D-zo_bC&`Zzv@YfeFy}0SdU_is%!82uR>W z6vod56iA>5K?z zK9B(un4pXw;KUUB-~kbU;0`BDp&uep0TM7$fPR2q3NX2eewb1J4{L0r8J{$P4D>++ zBTyj)pmaw*-f@q+yOZgdWQP*OfFdIBfG0H~N)Ny<1d)tillqWIlPvImX3XLG1c)I! zV1Od^3sNgz$w%Hv({%Z{LkUQ*hfK;)gdYUq3ee|)I)GpVl9Z$bCSXY%jxYo-AZ86= z*g=hyPk`rnfcpBd0t%g{l^THM9n$4J@-Xra6!_gGiFucykW&vNKxOA?_+P?vW|;6zoJfkwW7 z8)hu20_S-{0ltPJHpBo;DMNJF!^B0%fwCsO(`c3yRG`#Cr@0t!PI}T7`IzAE-^OYFDcd@3G^x zu#K&3)#19u?O_|Z&8=>CdyPGC?r*L@hH!^VTwWlq2y%l07xKp3=Gu)5P~d?X{$PeK VjDc;~&8~L0%eFCeVY-0;06SP~L;nB( diff --git a/phpBB/styles/prosilver/imageset/en/button_topic_locked.gif b/phpBB/styles/prosilver/imageset/en/button_topic_locked.gif index af54b2ce1a663f2bb837c5a68a55f810334668ab..8d4c0ba08114db364853c2342a767f2ad5b15fc6 100644 GIT binary patch literal 2011 zcmV<12PF7MNk%w1VPF6<0OkMy@7&<%)!Fvr=lk*V?Be9gUwF=AeAtSd-L1Iev%d1w z+q^1Gzc*OGI9R|qS;ItP#YSbsMP$Q8W5-f%$Ww30RdLO0gUxJ%&~Ap$ZiUiuh|_zJ z(Rz>9f0WdQnbwG#)rXqbiJaSwpxBh8+Lou_oUGiTujHz@>A1w@$j|G})$Q5d>ek!m z)Yy1<$c5EfW_yD$mop9>5$Co-S7D2^ZM)d`{MHX`T6+x`1kks_Tk^$ z%*n;f$i&CPzvkrP<>TSx;^5-o-r?Wf;NINL$;QaU!TS06`1kk!|Ns8}{{8*^{QUg; z`}_L(`uX|!`1ttu_xJYp_VxAk^z`)e^YilZ^6~NU@bK{O@9*yJ?(OaE?Ck98>+9<3 z>gnm}=;-LItgNf6tE#H1gM)*Df`Wm8fif~OF)=YPFfcDKFaQ7lA^8LW004ggEC2ui z0AK(z000O7fPYL@SyG0Fh>41ejE#b1pa#GN*$A zDoB>WgQt#BqC!1td}Ymy)2C3)h>ZH8!Ga7K7BqNa<^_eT8?2IWI@N_$6Fozy4Us_V z0<~ZN8>onCrl^d&b@0%Ix)hVOGk^mNJ|l8)RuX_oEZA^n!&|^E7DNCn(#2QAgcl6X z95}?)&3x?Km0^d^X2E?gSwq9RwQDpYUrSi9g7u08641=9{TlXy2@5{7j{TZAn%fL| z^T~6gc^*E!U8kS3pyNlF=IlWz3s=bvtzw*Ufev|s@P3|P>Dp9EO&00R#Y+NVfZ`EEDytrT)M~3AdcfKw9K81G>#x8DE9|hu7Hcf9 zO~#?@vdlK??6c5DEA6z@I@_ci*k-Hkw%m5>?YH2DD=xS5A@jx@=%%agy6m>=?z`~D zE3dk5NOMjsU7S1bzWny~>r2q&y?C|gXS1sCW1;RF^?L}Ky(#TaLt z2ozX25%C{M5D`QVB$sUR$tb6+^2#i?>@vwg5RpX0OZZSk5)0?7^Uj_mQG^dmoHK+G z`TlG4(MY5FMi)j5an27)z(L2T{Rp^{BTYWUC5F2*=WxzM;ASe zUG}(e$1V5V-m>j>wRq>P_ukRkO%2(^mf=YmzpgQc7ha69Mz4m0;RP6H@G5v0gqwl* z1j`?gOV7)R|0jEU;!N% zLkAWh0x^t101JSCFhn8%^Ob-M>{|#LLI?&Ccux#cf`JYEw*wo%;DAsfASTGRBqpVf zL|=fw0tBE2HDFMKI^-c6#xM)PiNt&&P#pU{LBt#SFnnGx5e#UcgDTPh1~nX!3@<^p z4}mCk_hFxX*ayZns6ioVI9>(^FhW6jqKsm^4-Q}e102|qjyUk*7^zpf>cq!7?7L15 zcLcP~eI`ygX$SKsoFpjEP^{QAn?FJaaCN!cc;~8KLt5}6` t1Rs{Q@_ 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 CzalmO diff --git a/phpBB/styles/prosilver/imageset/en/button_topic_new.gif b/phpBB/styles/prosilver/imageset/en/button_topic_new.gif index ef76f0336d3b0c1dbe3b5845b22e556f4cba3cc4..5b7b1e0e605dd5aed90d5c0067c15c3b480c6d37 100644 GIT binary patch delta 2664 zcmV-u3YYc46|oh6M@dFFIbmP`G644g0Pfr0>DJol)!Fvr=lk*V?Be9>;p5I@eAbAX z*ovIjiJRT6xZ|_F;kv`+zQ^Xs&+^pU?d0aXDowyQSid(|z&KdII9bC)V#7pZ#YSbs zMPtN8WWz;c#!+p@Qf|moZ^u(_#!_y{RdLB)c*CDsU%hK)H-s;xd?b_e->Fo08>+baX^7s6Rve>B1?5fS| zvC;0c((b$0@XX=#-RAB9YQ_L%y#Qmm09&g7SE2w^o&Zgd085MjNQVGMf)RAe5m}ca ze$FChq9R|DGl!&Tu;FHqw1~Onh^fV< z%j>Mq?3uOAs>tEB)b6*{@2bJoyUyOs+UDKs_w4lh?)Cfd_WS7a`s(xg?(_Hg`S|$w z_xJbq;oscM$;Hgb#K*(G=H%k#m9M<>TV|`T6+w_y7O@ z{{H@d{r&y?{QUd-`}+F&`T6+0(2>FMd{=;-F==H=z(;o;%k-QC>W+}qpR*x1T|N#J|74zP`S^yu7)&xwN#jq@<*yqobZOo}QeXoR*fBlarH=kB^CoiHC=WgM)*9 zetvm*d3Serc6N4dZfP000R80KY}r6g!RHSNutZKRA%$$tlCh-NP+Iua@L0ZzRVr`O_#zo|%lXyHfe0R$gajafpr8b;`~YEs5+0}l z2oqMI0D_z$2!jMLcqqY!9Ucfm1+A3$;fAeTA%O-5@{$Z-0REy1FvYBr;DLU*;^U7# z1|h)|68L}Mijc1OAOVoB5a~b_LkC6lZ$ z!;Ln~0Jw}b-ejW+ldkyn%AI)LX@mr?nq#jY9eg zX9ysmf&?l|+UTQs-pNWd*i17`sMB0SO*FZ<(y4!6v9#)Ht3pWs(5eR>#2SkZ5YHpBvpE36pPjHuHX(+exE zyxOW?vZSkSx<^QmZU7Wu;4ZG~ri&{DOUSZ>1Q_VBE@$eZAVCZ2wjcotvH)DK!UEHf z?gM`kgrF`g!C+I3sK~rhueyHC;_=5G4vyC&!h)PT>L3`{MEm&ubbpsM;Jwn$+ z(AELg6pW2^&RWyLnbro>&~pt2V7+$QbJKrffC(2+aKQpu$N%z7H`MF`i!{?f154Ui z`&G;0j5qH1^?yt9vXuEwa#p zx?i`{Zu{-H=dSziy!Y<=@4(;U7cRsXZ~XDdC$IeS%s21+^SE>sR4utwZ~gVyXRm+# z_S|>x{rBJ3vJ^|BP!In3=%=rK_@jVA$wioiV$%Hd*KfZ`pkU;r!-fhklm0|^`e6{*N(6L4_K zRN|ls1aM_5B_M)Ya)z8NkN|%RY>CNOq*ILK!X`3+Xqxcw@y^t(SeAH$yR@$qL~gg?EsL<83M3^ z0GxqNA)u$3t(TY_-LJn$}Lmwtf2vi7|!c-)Xa#SJ7 zQ7ESr2f$=AJ5yhb)|VBc#bkkQshm`>Qk?|o3z3H`WK`&qm%iL%9{s?EGAN=HbRYv9 zNFifZIPy4=F~xr&IBwseo=}voEFOFo3s7Foe zQmciFIW)yqR?X^GyZS1oP+|*Rf|Od@`qn%dMIpKXLPI1p;)K8sHVGSHh&w#u8;%Hs W9yG}8W;^@Y8q`A|9Py2S0029-7HJ&- literal 2753 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 diff --git a/phpBB/styles/prosilver/imageset/en/button_topic_reply.gif b/phpBB/styles/prosilver/imageset/en/button_topic_reply.gif index 2c2a93585b05c7ea599a576d521c3e5dface83ee..e900c80c708d055098e399ef0fa6adef90cf9730 100644 GIT binary patch literal 2135 zcmV-d2&nf*Nk%w1VPF6<0OkMy@7&<-+u!!%=lk*V?Be9gUwF=AeAbAX-> z$Ww30RdLH;dd+Kt&~Ap#ZG_Kmh0<||(t3~Af0WdQnbwG#)rXqbiJaSwpxKqC*p#H# zlcU;}r{J8d+n}!Bq_X6yxZbU~>A1w=yT$Fs(B;U_>(15c&D814)9B06?b+Vy*4yXQ z+4Je_^62aF=js4z#sEu===A#vj?fU1(H@u7A(_-9n$>y1<$c5EfW_yD$mop9>5t3l zk<9Ad@A&2O`s?=l;_~_V`S|$w_xJbq%*n;f$i&CPzvkrP<>TSx;^5-o-r?Wf;NINL z$;QaU!TS06`1kk!|Ns8}{{8*^{QUg;`}_L(`uX|!`1ttu_xJYp_VxAk^z`)e^YilZ z^6~NU@bK{O@9*yJ?(OaE?Ck98>+9<3>gnm}=;-K=kB?+zWdHyFA^8LW004ggEC2ui z0AK(z000O7fPYn9VOoZVh>41ejE#n}-l1 zNQ^)s21ErMB!U3&@COKq9B?q0IFUjdk`Y3lM44jcL=Zn#Ld>Y(p@Ik)Vm@4>X3fr? z5Fh$;L$qjw6ghH`h!DU{jH5Xic%T5p4F?Vk7>J;nG)07@O(mvCAtHhYH)6-8P=NL* z*$5*4+7`Wufhf(QY}WW$<0kK3Hbvd|dqcQz1Q&#ZM2Mj{Md3FXM7%kin1T+%E+RaZ zXjn7n$CEV^=0G9zCort3U z8?*H>TY4yd=noxKRv7^cRZnbx35wrY6jg zDW!pa%BcxHd>U#UaMA4<7Kw zEAPDY)@$#*_~xtczIgbP$G-pvEbzbt7i{ps2q&y?9{%Xz@WT*CEb+t?S8VbB#TaL- zM>oOTvB$?Chb;2QB$sUR$tb6s@*T^tQijJW$1L;AG_UN-7nf`?hABMv?DNm2jIo6n zWc+aj7+6H2^wLZ>9SIg-T=B;rQZSK35m;xf_10W>?e*7Shb=bPNiZSBA5<98gcLxx z?e^QFNYR85R4n1d%Qfe%_uePpQHB#s95DqRd=zf@;fN=$_~MK=?)c-6<1xh%MU8Pi!dcvhwK5rYHnBhjead1<{8gsxqM?cP7_=y>? zcanzho(Rd+K|==;jUYh(dIO9gQ3np# zfM5mKlZ1ZzB&h&@_ye^6avI>%@CF<-L~y|XcJNk1xYxaZxT|x|!k!8o;D8cDKmcrz zK?D|P0|QiG0BGny2W()25nPagDu@6B1<*bfsK9&%D4_{eKm!$;Zv^(U!yEc{fmh_u z4X|p+5XxW&9sYw`oeLHAUf>2f3?KqBIHC&JAO|>{;Q}y>zzf&_hXGW;0djD|3nEYk zIn2R+4Uq^K0RjgwW{`bi2n}*niI2=(1{S$y3 zsKf>pRKN@tWT61ezy>^^wha1DUg8<6aXYa#0E$Xpac~-p95ku%P*qjfAbTg3nLIkE`n$cA&fu?a0jAO zrt*%=Y-Z;=gc2F3A&?x312QjY12vdo05rHj4c7ok_Oy=%G;rVxRA|C>pkxH~6JvYc zAOML7Ae-j2qYzZ7hILiXIz!}y8s4BpHT1;{P*fiT-9Sz*Hna@50VDP0wWkC8Z1(yXYE{2+JJ^Kpkb~L5ymFa;FC72p{`{x179Cf*SpenuWd+! z83g+YSRfW6fbE21?K;=UN_MW*V~A!q%h}E6pRpsKSV(ZNEn-Rr%T=H NjtvP)Xl@_?06RStF?j$0 literal 2151 zcmV-t2$=UrNk%w1VPF6=0Oo%H!$f0w!R6z#zVYYk+Lou^q_W3SZtUXZ+n}!Jz{%pf z#p%q`&TWL~=;-zJ_4oJp@bK{S^Yird^zrfW_V)Jf?(XmJ@7s-_0BXjMkB?+zWB^Nz z`|dn-^ zI9S(zl)yJw&u)d)hnm=wq|Re}^78WEue#QVnh=rE`T6+B#KG(K`{ncc9+%Y2$i#ia z=IYkl&~ApyV0zMekL~2$gXr}8=H%ktt+?K;x#6+A?%Ut( z+1~p3`QYB%-S7CsMP%~m>&8)SgwwI`}_I%`NzY*3XahF`uh0z`276*>FMdbDoy|Y|NsC0A^8LW004ggEC2ui z0AK(!000O7fPXklSa*hph>41ejE#L?BC6Ld+=Op@2SRVm`E!$Ii~4 z5Fh%ZK(uHd6D(K==>vvBfuk%E1ZiQ0!ip6M62PFE)I^`8O(mKz0i#b43S!5a5PFKK4Ef8fbv2@kQY$C z1kasWxJ2A;`WTS#TsZYUxeXMrj(b6$7jOD35Z;=$Y}yor`-{N7eIFY|iYyIdq)&VH z^&>nH@YC~(CT2Uq~W8D3a{0039;Sw$a#O5`U17D$A`rYLxk zDW!pa$|(wKd>X0+64>daYZ3(NPX(~X+6Mx$*4o7x5^1pptZQf?(G)@)0PCQ&N)#&q z091e=3d;6TE3621(d@GoM4)O08ALEat^UN}?YH2DEAF`DmTT_0=uTiEdlQ7~j~wvE zEAPDY)@$#*_~xtczH<08$G-pvEbzbt7i{ps2q&!Y9RASZ@WT*CEb+t?S8VbB#TaKy zM>oO5!N9f=xaQ1QpqR99{F)mUe(_10W>?KRdrNZ|w?WS4FB*=VP&_S$T> z?Kay^NU_5oN8FIb4nXIv_uixIki`v0_&~(VH5YF9;U~x82N6E-po1I@L@xQ{lvi%~ z<(Ox#`R1F;p#u+i_(2Eaq?dm9#$=1G@#?I%?)t@kq`vU%wAXHX!m)=w?*pBbKta3_ zaN~y^6Tmw`Kh9kENeR4nQit-M2-OMk%|9SV@P1e?2k(10z%RVHzYMPbA0&;Cf*x_` z@j(a@fj~lf9DpEE2py<^;0WZCM1TGyUBG|)9LV3x>cGAaI6wj)=z|D2Pyuf>1bylI zhr3euEb?8T108TdA4s5w6!hVODwx3tIIxEhgg^x<0Ko_`c!54(kOcX=zy;(tgBZ&2 z0w1uU{6HYU3OFEvB6vjsDFCa6Y`_l{FycSBmAX)o&jS>o0SEe!f+=1=4>XX#2}Hod zK6pS665zlHIzR&oc%Tn{puq$L*bs@Z5g-y^V+rx+Mn2_1ejYeu2=>q?KWyNLM%(}f z{NSq8wdsiuh`aY)8L?ejo(84~rfOsI9Wi1DZ&1|NwLnui>9vaD^2vBo`D#$|#IPd`x1knzhWKaG+ z@Bs~az=kqx2TDK?KsUC>0VI$J3Cbx?L1Ms`d01EYtn)-pkD{&Qnsn%RdO%5|<%#lRrzFxS)t=fgLPh5Bq>Rl)$l{fCXhC!q`q|RNS*g@Oc+V-~Uh@Ip1u#MjO_P4;j#vVQ=I9DL!xX4W|FZ=+90MsoCTi}~?r<=De dMBxTx_yZXNkcPK;_q*T?@7vN4fb0eW06QH;Tx9?N diff --git a/phpBB/styles/prosilver/imageset/en/icon_contact_pm.gif b/phpBB/styles/prosilver/imageset/en/icon_contact_pm.gif index 820a9777525e23db95ba71555763f897f8a06a5b..ec190118fe5be0251bd9a36552de1b5fa0c74cc8 100644 GIT binary patch literal 677 zcmV;W0$Tk?Nk%w1VH^M`0K@Ew70gh<>cVxiju-eC>9CEV@a(plgb6-a8M|s8LOBwdOS3S#=+qYn#W6X*=$g- z+Xk})fnZP&2}}qQavcy54^R(YUkr#I2oVSyd=Lf*9uG8zhY(Fq2??4Hkdh623w)WI zov8~DPYACNkbMsb2DzArBN4s`9b9dZvcg2js%GiuDZuYt#pAVZ4$SfPUm6ev^wn*89QrOTHvW5Q(V;eySZICJW}>C%GF zpFo2O4cgMD1fL9YF*s_0sZ*m+TS}NJA(VgtLM~9<%9X0rsZB5hAb@pg*Rv8@ZdhyJ zLID5*$Qqd1scwZ%8`64MyTO2fzXarNm;hkF009sN5P)zsz=REI*Cq`dSV+Xe0R|Kv zFjn*9mL4r8@M}212784$a5j8ZGlvE(FS-Ii;L?Hy5jGQ`V3@4y3N61)7*t>^Sp*ew z515kpDp>#!IJETjtT^1tjxraB@IbTo0Nh$~LlB_A-?(xiP?!=yOaxjUXc?f4{`mX4 zhcwk~`GArE!vJE103yc}Xkbf9G?3IHCAmbQo*3#Z(b5qVR%irh4rHj|h8%XNA#60s LB;tr4ga80L?XxS0 literal 748 zcmVx0#>K*bj-J}u z)?svw^7j1D&&$-(&f&Ym-rm~bik{Wg(dFdeB|l-ewzAF5$mQkXxwy3CQPM z0000S04V?f1^?jJjbv$_rl@37 z>%MT@Dr08fc&_Io=lcc0qVOvkjiZfnlUNK2iv(mztuB+wLW02<45AsUcr$`PI06gf z;tiU|OLN&Q7_i#{bAUogY$yv%6ajJ_3JMTV5MEyih#nLY6bO6@0u&w)G=_%?O-~C8 znh=nZ7JLPKnVX%d1qx3TuL_WT5EKHrn1>@0z7!o?ZIQGTX157_yAr(;30qx^LkfEk z5*(P>0Se3=4h|F-42z6G9ZL>VN>kPjBMwk^j9wHL-}m_VBMkup2?Yh(Gy&G2puvL% z_jT|P>JqLf77$8I*g=EEix@L%%(%~j$B!UGiu~B1g9sETQ~#R$z_O*wmoQ^~@IbSs z&6_xH&h${Br_Y~2gZiwAp{UWLNRuL^Su{Y=1i2D8#W1yM)2lQCXbli50stWuwu&9Q zHLKPp6CND+DwV9;05lQE6;Qzdfe32_Xzj$eK_>)oJ;+5MAcEloc@bzJ002M)1pp2x z@cKXlg1B;_B1SAEBI5@D7z0on+A>X#78ew5ya0hc#tud|_8QuO1)3LK5jb$EfCUMn z4{T_>wsr%W-!u#|pmr^V2EYMKf$ViH0R;|d`g+FvE@wxe4M>0xy8HufG`UfDV8Afm zyb3lXlMhB`~o ebi{@n8gbeMAciR7h$M!1+fF&9sNx4900296i8i4C diff --git a/phpBB/styles/prosilver/imageset/en/icon_post_edit.gif b/phpBB/styles/prosilver/imageset/en/icon_post_edit.gif index 9781f020417bbf6598e4d6f6ec4914685c53c227..19006f95a7b5b7fa8e6427210f9a45f041963b9e 100644 GIT binary patch literal 853 zcmV-b1FHN-Nk%w1VJZM90M!5h`|bBDowvPSHL(~&2@^@ev{OO znbnY?*_EZ>oUGHCr`4OO-lVeRs<`RN(c#3)?b+V++VE+uF~Z7 z0AH~KQER?d|RA>gwg?<>TYy;Nalj-{0BU+1A$9&d$z{kB^0gg>-auYHDg$R#r+% zO55J!A^8LW002J#EC2ui04e||000L6z@KnPEE41ej4E|HLKZkZJUlms zjhUK=D3CNRlrcOzEGwoE1*ruAEUEe^ z5C#d!3@ieu2@n;+*ttR%Cn>@&;4j4C-~|le3I;Fc;q2t#+Cn-gF!lBet^zOx3-$Q> z{p#_vM=;)xc`*_y#5bW~LVgL;#en#5fx?Rh=gHW}5#NK45@fs@@W229kqbETI_wo2X;B5__39yoXqu>r=<&!9txt`i~>3C$izSb!;`#T{Xnq|<^ zG+IF3;NgRb7&2Z&a1{VWO%}!@7ujp3bhxov%-7}76BaK-wXc1a8V5L5fK7C1hKH4DiWB- zf`j`Na2^a25>!uuLoE1m&I;QRAfh7{ni8OSD-c-XI|R!2!-Cidqr!IGMeyA!;*n=w zFgwNwn~MuhD5MI*sZv}`Bu1bDa@;K`z?d!?mAo literal 855 zcmV-d1E~B*Nk%w1VJZMA0M$PL|NsBIDos(9(S?PDyVB;=hMD^M`s(WH(&Y82tE}ba z<@osc15=obwc6w3B-UZ^77!EtmNkE41ej0SZBLM$j45fL+n zjhUK=0FVW67}{at|t-!CH46G z{p#_vM=;)xc?S|I#7CoHLVgL;9f0_-gu;sk=PB685g&|?92C6T0i(tZktI0tPyu2^ z2IL+na44PuM300D5(1F^<3I=i4_GMV9>C55^cql*!U_OB0H6dH9WWme0?LE_ z0eTcb*k1tYNkAb%^(;7aM1$`v(47h-I)b4o1ERNpfhWFWAbmeHh>b7?boU(y;jKcR zdFTbx`n$JJya2nHzUU6Vvs=%Ek|-f{~GcaVUk9fn{@f+=2FiHneR hY+`06rV$}nWo+tkSrLLICg+@oEtc1vcpec106S6ci+%tA diff --git a/phpBB/styles/prosilver/imageset/en/icon_post_quote.gif b/phpBB/styles/prosilver/imageset/en/icon_post_quote.gif index a15931711716e41d805676d758c331de83f9e269..c3708a1477407397362a5516d5fdb73d7f5cc34b 100644 GIT binary patch literal 1109 zcmV-b1giT-Nk%w1VKx9L0M!5h`|+Yzjs$Pw^ zim=iEYQ+F$yZ~6F2T_tDW1KUH(JyhTQI*kVp3iWo*s{*%%-rhT>h<#T^VHPS$;rt7 z|Ns8}{{8*^`uh6#`1tkp_3-fU?d|RA>gwj^=Huhz;Nak!o12f1kA;PWW@ctmQc^`l zMcdxvA^8LW002J#EC2ui05$+9000L6z@KnPEE41ejEXyZF+4pQE-frR zJT)&coSmMZprN9jf;&GiZage88g4r-qp`BFEvBeEJUK9}xHT~`4F?4a6u$)!#>f;4 z1qTf=5CziGG1JYz*fF(U8n`PlHn=)3G64q<0t*N-G6ezb?lK4q1P=!R6A%o?0__YC z5c;tjxDCgQ7nNqjs02gCi~|g2%#ct(zzla1-9?iik--6p0SZXG7+|DHiQ9(kXhEZ; zOB(K6#*7IwKuDK2Y2<`CZNba`mMMj-tUgfG7h4L_-!W z(13sh3K@*n2>N5Cjk9QNG%x@`K>-A36C}__)dm6u0w5S@aJE4Kv;`PA2p}NsS+Xl{ zC|<1iYJmg>D&QcHpuk?m65JwP9CEQW12`DpK->a{>C>o9LrBfKwd>ZTTU3}$yS8K; zwsY&=ZMzhaEscT;ACBlzku7QLJGtcSRe`e!7#!HCbR&<2_STk z0u7>7XyJtzGA0NKr-0!9K?f&T&|e24z;J^ND!kA_3>3=Hf($pf2qO*Jyr6;&E+Uen zAT}~)Lkk?X5Mc)-c=tgE64oF?FvCnRLkk5w@MM%TOu&pYDm-9K0Z>kJzzc=}=>-QL zqF_M^BM=z_1`Zq`Km_Wj*pv!TI`G0g5eRUA0{}d*&jS%a$-o1E%3wnchmOTz1y8>4 zLJb(e0Lu(6Kor9a0~8QwQ!X~8?wjw5+57?nLM^xu!3!~5TnWb=tJuOOzo^Ku$cKQ8&BPAQ;_}O$Y)AwL bt{Q0bf&0yz-_AVuOkd9D1ub;YK>z?d4CnHx literal 1111 zcmV-d1gQH*Nk%w1VKx9M0M$PL|NsBklcUpnkoEQT@bK{8-rrG`(cGr9g@uK@Dou*8 z(%tIy`uh5)sj3H2lH|F=`1tr{W@giiol;U#=H}+(gwv?;Nb1;?c}Su z$;rq?MMW=hs>oP#{r&xLsMubOx8Izs&0~DPI9cPy%>Zh}_2lT?!^yukSM1#209d5$ z#?bBV@&5k)o12@|)YIeT>GIUu>Fe(E^!D=e^8jVM`|)nq~%gtn|&kupL9QTw?H zkr?z!w%T-^MvPOKL@F?Zd`_?1@A!E`=xTIe8~^|l9U6j%h>41ejEV?*5D^m%F8~}J z5f~s0oSmMZprN9jf(Sn#ZV?<14Q>c8qp`BF0H&xB5iks`xEK%+5+w;FE58W`#>guq z2_+H`2MN;B5Yx@S*buc|4Y)B76u3Gd0|6x)4N3sg|lcWNKkR$LxKxuckIwdmBNJ&4-Tl1a8^PBvyJBf(z9Cfp)j9CEQW6&V;;Knx&*>C>o9A4tu*wd>ZT0Th@`ySC&E zwsY&=ZMzhaEscT;ACBlzku7QzrOwZ`19+puONy72Rv9Hhz|}dK-_@`8qgmD91WHc$W~ zB0CC#BV!Z*;2{7Lo?rlYESx|g1_J~$3o*&yWzAk5Rk10{@r!v_0o(1Mf#Y#`_W6kw3(SRNJ- zB?us3Py++75by#-5D+j!0)sXMV^dttppZu|3@{Y{RgNG?recvfgaIsR;DSqcLSSc8 zcYZp;sT!E-rLQb~DUARF{N$<-u%2WoL=3dh!j!e%8R`HGkP5-6RZ1|!3^+Js(y>3l zYQwnXGVo?PZ$bKW0bcvekS7Uy_Q}bqw-zcW1LTeiF02Ff%YZovd{6=o5X|6~ybNI3 zj06oaz-5fWHdAW9`?i?PFAN|AzzZ#a071r;c>FPo0BrILiyo7Fh{)Jf4B;#=$LvXm dL?{3&f;cDGU(NgV?DNm|?VR4wL`xS006Xa6=Jfyo diff --git a/phpBB/styles/prosilver/imageset/icon_contact_aim.gif b/phpBB/styles/prosilver/imageset/icon_contact_aim.gif index 07d9695a013b966b83edc7c643047d5cc39a6f1e..be039fcde28e1e6b73245800200bbdbb38a44e61 100644 GIT binary patch literal 546 zcmV+-0^R*bNk%w1VH5x;0K@&dJrZBht~$$j8Iv z?dT>Mgf2$7LAPp2T)}J9taDLjE)coTTulE2#$>-4;Bv|JY1b- zjisce2vDC%2T=hJxDT%#0S0iP4LotVx*ZJ-9R>jb2*(`{0mjG9($o;s4G-AV+uhzB zA}8V{A0Hm)=;`X{=I0t7@A2^S^6nb<_z)Ih4fy!>{va&a03bkx4*uSGP{6REg#;TM zH~=uAA;WVP8CFQ(fB}OH6)j@SXaNBRj~gPNWIP9hNaWZB?agN+wFcFgdnXoGXuDrkuKF#`q+03u8~N6dl%suutN(12h{o&a}^eF;E2+L*tZeFEC5`A1Aq$?5pZw}6oA|?=Y()D kAU3Xq$yp~;5ONO3d42#uE^?OXKqz)k8D&BlB~|z+0_pX z6xFmN($UR-X&`llncdvjI8t+tnW)y)(ZImG9yM0s;M}Z@DW$Bo-`?6uITp{($>ihT z0000K04V?f1^?jJjbv$(VzRAl z>u$;T&hE(F_-#;WG1_VxJp^8x(*0}^30^y{~8;D7`f z6i|53VIVyZ6Cz5KP$0vC1qv!ijL2?d#0Lcy003}6l&OKD zf(!{KNSHYwCeH*G4lGD`;J^l+F*RJ%0Mf!pkq7=L)xZwhg8&vu9%#@&!G>wi+!B`0ua#>Wt9O%FoWp)zr|@(9F5Gw70gh2@YEZ6}QQNy| zjd(`S&(F5Dw*UYCA^8LW0018VEC2ui02BZy000I5;Ma|0X_Deat!(R3*Z9uvSlxK8 zsAqqdynuYEx=>1_XN-5Lsyh0zr6p26`h9W^`);mrDi%dk_%-b!=ac1`rUFiF1s2 ztO5s{ryZsN2DP@gwE(6g5xu^@z`i36#Kp$P#Ul^P%+1cs$_Uca)YS+N9U>>&B_AIi z;Njxq;olw;=;`X~6X6o?@bU8S;1UTDartHYaSjO*;O-sZkbxk<3o!2pGn6*5Sa`O=~W z3_uMiKmZPb0-Y>1xV-2xC5LAe=qA6D-iXZiQX|r{Wc^zZ_tIJECAg;ldIXFi@<3!jZv8B1@he8QhM`I*QVu NLDU?%&*ee@06Y2#?CJmj literal 590 zcmV-U04A+0~7BM)>cqP-%0000K04V?f1^?jJjbv$(Vu7t} z>ted4Y7t74e&dkaQ($mz{ z2^SqAC)*_--rwNi;vXL6=I7|<Mddpr``?3Cbk^@G~ZZnH*;t#gNp)1&S!88Zc1QKu(rbA7F(# zfB?<1UXN-h_kbyb0yfVQP|y*>1GY?omMzM6?$H9}RJ_7P*Z_=jM*vh%toR~;1CIe< cID+_y<;$2Ym)pTvhf*3elCDcfT3rYLJH)gJ8~^|S diff --git a/phpBB/styles/prosilver/imageset/icon_contact_icq.gif b/phpBB/styles/prosilver/imageset/icon_contact_icq.gif index 3a25bde47ff120d194106d1fe6c5f0290a67ffac..48a09373ebb2fdf4404a8de6db6b8616ea895d0e 100644 GIT binary patch literal 562 zcmV-20?qwLNk%w1VH5x;0K@o z`-GjnyTs1{OalP_007zm0I2~62nOHZ+u7OH>+9+90m1+fPhw6h%-7#AJI2nHSk1DkZT2=O+%Q2vg9scV zK!6Zo!oqzXE=q{t;DJO34jNq0r%;|k421-*KyVPD0mugYCS1TM5JSrd92>ZNsB^%C ze=!3*c!^VDgrO`o0OgQ@BS@AOEF676k;6}U+&0{dV4*^VqBsp*z}i8=fCvBpMDXgg zV+0Cg31XOlRxMbUFEb33OCdl}2M}E1eBhD7UPBou^c_kOZ~y@TD8P^>NkRs^6bTbh z3}b@4ED|Uj4e7zJWYC|pNcQU?vEn66*)pv2Jz%My}Y@{#l)Gi(*W84QCM`}-`fDG z0ds|+7BEuX>ig8w&o4=9TX2ra*5~H|6#+~GyTs3goxOW%95W<2<>cVc&dKBA-l@ao z&(F`cwzdHO00000A^ti%Lr+jyK0|MCd2(rIXmlVlFfcSARA^-&aA0000K04V?f1^?j3jbv$(B7m)I z>tev@YLTX4%W}7)?N<+mhEb^qeVU#vkzi~LjKyXHNgzkeETpnwK&B50Ad9s!g3bqm zdVW-x<%a>xs2k^9IA`pfb}I`+27w6xF?#?JXLS$_4QO?ShlU9YZcq_jeqDwm01gfh zV32E52%jUM90+JsUv&mRsvMxT2y=lO6$lHbw5hcmqPh&R1`f2d92pK79K{r5!u_@BjM!b;^5}#93m&}B_Htd^7Hf`9ryV8`uO(y1q2-m&?>M`UjYXl ztRX<4Z6AS$1OOnIAfSK%1quWJfC#Vy#{>dA9JuJg!-Nd~9<|Oe!PUqJtP_)hsN#WUQ`#C QU#uY5ub}Y`A3^{CI}?BUIRF3v diff --git a/phpBB/styles/prosilver/imageset/icon_contact_jabber.gif b/phpBB/styles/prosilver/imageset/icon_contact_jabber.gif index 26882774de59570b96f523c0c80e2d357251aed2..e335433e97b099b47f4370d94f415b6ac04c5b77 100644 GIT binary patch literal 1014 zcmV`Nk%w1VH5x;0OkMy?D6*6N zrFfvJcd@*5mzsBri+8-bbg8FulahD4wREK(cIkG*Voj>#>4;nHUIDz+s``w>O{!7O8ed-+s9wQzOUHV(#y)lcbx z;osZZ*weg}vXWf2mSMf8gwMaE|FcEjqe|AbhRU>)&!}|cAh3*m6%V!v0|U4V9xIEZ91_9|2zvpzyE@CUi_Oml0Mob) zG1rV76vC(m1i2AN;)@{}<_rnB3LWe{qdp!N5EH`%4I+5BmoEf|3J4b*aKORC2Py3s z9kIY7M2sCESRj$|3LiE`Ot@b;0D$89Hy| zbg8k�V0t!>oXj)yWDlXW+O|{v?HS5;DAyZc_dF@#J!Z$SCo=wTl*FvWi)uga{k$ z%7x4TKg0|kDokX>#0pDHaYh|!%#qs-G~l2{4o3hHL|8$r;6oBbaM6YuUZi2e7jbOy z5)dndwL%pw6j((bONekn6ezR+gJ@Nh=*J2`fT9EyO01B>9wMM11{F;(0R#|N9Z3aK z6?#pf!;dPc-~t#*_|O89e)yneC`n8K#11NmAjJ`2@X&*nS1qBYno58{r5G{90D}@r ktVtK0bSB~E9Zb03LKsQlxq}~8U4<1`h=yh8AAtY>J2fv0)c^nh literal 1020 zcmVcbV#>3CQq}til*0qNGnJU@2cgVR)|CJlKxVUten*Gx` z{^~?@si*&@H+Q_ccb&ZF&0B`2r2nf$;NRN9!M@JKuD-pwzrMcz(++pByx`#6*w@m| z#Ace}OW;N9HY*W23I-`?BV*wp|3|KZ@<)YH$Jyv}%_ssFAI``#jNfqHU{oB!|^ z(#pBGqITuv;M>nSyuG^Kqe||gRR90o=f7LU)#GlBqv5@bZ<(cZwz2>Jm%+ZT=*YjB znS#^2l)a~f%CwW>t8CKI(5$<;Yhp>_;osNP$aA8b+s9vWv#sam)u2EOQm6sN78F=e z#RXBk(ZWk4C}5TXM69475n#v=M;>T|u|f~05uqX<3XlMb3qiP`z!yfu5ylWfOdteV z2_$gEWDr68#G+}zmI)X?hc=+Dl{ z!>iq0abwrBM6xDC>|FJ zI30z4K#$K=OBF;NVG2Nfe^C`o2m%KL19~2GbB_j#1qKF>g$e~3WeWue2NeYenW&uz z85tuB7?}i+UIqecMUAc8yy?1&T4LA2xZV4+|jNK z9ytuI-P_&g=+fNg=N!-EHUFa&&f?_mZB6(lIQ@Bl&tjM*N^3iR;MB9j0N8bEN+06z@Z@p17Wl}h+vm+g9Hiy0JxBW<%KU2W(vJaGXY`%0xpnc zQMaZ{2Llc#P+UOsq&OOC0%(v|XioqOG;kmr=Yj^?4_x;QkU&G6do)zo)}R5x0yxBF a&-So`28-Jlc36Eu{l&q40|$Nx0RTH3g!NPa literal 656 zcmV;B0&o3CNk%w1VH5x<0K^{vX@#a4I8f!~;iKlSnzPW{+}P^s=t^dTt-{>9)}Xz; zw?~kH#m2%VYMtKe`o!G#{QmUR)X>WBwGUOve!!aoHHnO(z`)GX%hlX$qk5gAl+Vt| z0000K04V?f1^?jZjbv$(V!;V) z>%PUv&Gal37g5hLjaVv<#c~KlYCR4D@;Gn+j%EOW^l(%bh~sbpJP3e;a~AWc3Pb=k za0nj|h4UyL7h5=^%QKz)Bv5KIRa4hR5x9dvV#4~qm3508Zb1QBHz z1P2Zf1P+;~od*#SBNzpl2#{V67HUO}t{$ztU{kZWk#D=Lu3}R|VQK*vydxVP8?DZ2 zZej;z&>P&*t`{9S7p~pg-RJ1i+~(-*=N=*_@+BYj_V@VtA07Pt{{Q{<0raVtWHRBx zf&mm3RB#!x0|Sd18cdkLA;5wK6Dkn!@ROlWiyXvg5Wqms&H@F0@?)SPfdmK{4s7Tc zU}}V>{8UKzYU)4+2?@w@<;G8d1Og=;P#Cb1LRdW-I7nphAk0?^680uu&>%pC3IZa; z6!0Yh&ZB&DHfUVIf`GIv^y<7x0RZC$j|qI96vu$h3Jd%m6{ zs(6#OOk8o0sL6zmoZsvFey7=2Y=>ujmy5XUt} z;^E%U&(F5Dw*UYCA^8LW0018VEC2ui02BZy000I5;Ma|0X_8{bVc6QTZk&zWS|0|r zNK{g&Hd>8SpgfL`L13`3427H=GPzVLJT>8=VLVV25y@cekZ3p~RUy%M5F`?XVkt>T z9J5X)(?}>16cP~;0t{hr3}|`=4G4k}3KTj50}+M{c^L)?2@47cfRYUgf(#5ABN`SB zeVz#h1r4#Kn5i9|opK2itYD_6sTvLo#GVR$zNTiu7I1QKWtP7e8W+LQg0#OC)Fspo zmeRir+|?u27wH=kzXJ>s7U|aK^70!M`0@4g`~CeRB2J(~XX3*L4+s+~T$u3SLJJ!9 zNbF#N;RX*IHl%9+fq(!ApgLT*coE|U3mrJiN}4bsfJ*`eMwZN&lFLdZE&~u~(4l0! z4hkSpfG~j)fSd#n9JqkcLWTqg5EKOfK!5<30HP{5&@{sW0$?EspsHkmRRjV!Ak<($ zfz>erCUhJFU;tGNYukeLhyVgnv{vil^}zNMSOEke6kA|*?BFv|_X0000K04V?f1^?jJjbv$(V$le~ z+Olq3jLlkCSFkvN2B|h$tpN#4juS?NvB(UCjT|z$R02FTVTE9<1ONyJW4v)t8Y2}% zLzoO44gg^3&^R`;PN6{105ky(2nZGlVQ>j(dKUy3f(QTsIu;BFh6#BE7aAH102qLh z1OS2w2^1p~83cWv8W#`*v89-)9i5$W8WOBvrl+YC8wn$q!w5( zpzH$+S(Px@iorsIh7>LU*gD371d(G5FvuzZuH3RCF+51xcB|gL9^!r~Yhl2HVhgsS zMSR98U<())WFC-}FI)kON3zAhxif&b9#nK_%h+k@&H@TF+#^7PXvv+mLWn(EMQy{m sb;p*CWr%coiPC58Y1JFBV>4gdfE diff --git a/phpBB/styles/prosilver/imageset/icon_contact_yahoo.gif b/phpBB/styles/prosilver/imageset/icon_contact_yahoo.gif index c6033d1b2fc7439720713782a24f379df9cde46f..305f297fdbde4593cd76a903810c1068e2e5b949 100644 GIT binary patch literal 541 zcmV+&0^(tiZ!NvRtGU;)K)SaiYtgY)SPufswNo%@OdAx|A z$7qhg!_L;O#LwX1+vVlq+}zmN+11t6(aOrl?Ck2$&&tov$>QPM($USky0*EvwB+O8 z85D+M%XN+*5XWYrY(TV#v>NgShm#9NM4_aR z6YNf8zh}S|2?`W*2n%_9d{t=*4tsQRBNCF69d|I2bPp1dladp65t0}R3ly6j5*Voy z9)ODt9it5q7$X?B6@E-f2@Den3#qoZ7#0!~$SV{N9SXA*BNfuq)Ya1?7TMa{+}haP z;M*M{C*>s{A0F!K?CtC69vboU^7ZuW8u|MB{QBw{00Rmf7*O4W2yWbTAXv~t1Ooyh z3V=u;7O_nhGN{8qfWU!>1_)#bFrcJK0ul_GR*>{DBnOfpAsXOdaKZ!(5LyO!FhIb8 z0xciZv?(C~!~+8i{KU}n08J0uDnuY4@qiNuJqbYANDPAtnGIk(IAFko19hGD0Qh)d z0t5*c1{}z6K^-3m0ANlW5CB<8FzVbmSZkng;R8Db44|;pL&66E)D@Uq00V^q1szPH literal 608 zcmV-m0-yayNk%w1VH5x<0K^{v+E8lLou`PP$7qhgvaGG^D^IS(&&tZj>(ti#2r^T7 zyyBn?>fph}!_L;ZxU}No+|SO*(9g=dy0%Gcy5!^E z0000K04V?f1^?jJjbv$(A``7_ z>qgAD&2(+kBd70tzmJxna7Yx6914wMnKU?_Q0UQMNGd53ieSrijvf!kW}q}Yw3@W~ z@dbyI0}4Z+l#mtd4r9Nkzy%5d5_1{@d3=0TX#x&=baEpNl9L^GFp_i;4Uv>?B_HVN>g((u9`Eq+^6>5+754b|`uXt{{{H|2{(G09puvL( z4Zb_Tz>S*@2^D%^P#}TD1Qi3sBDU#5hIbGG1OQ;MK!6Mr7N4kG8KA*J43bEibKxPD;I~z=>2w*`0q7Z}v$mwAl1_l8x0&wy`Xn+SGi9t|t z(*TSJ019|;@UGJy1SA0*c+kMY0st8-yyNo#K~0PcCLmJ@=A9b{a0@6_3;<|?1roq| ua2R32I|7&qK#;J2Km@jHheSX|dKm{~8$kP5-DBa4*DP4on@5{o2mm|nx&v(h diff --git a/phpBB/styles/prosilver/imageset/icon_post_delete.gif b/phpBB/styles/prosilver/imageset/icon_post_delete.gif index 0343c75ec75b1fdd7cc7fa97eb50b5f42f5cb13e..f51ffc24a66aa8374563b0429def4ea73a2caa80 100644 GIT binary patch literal 528 zcmV+r0`L7tNk%w1VH5x;0M!5hzAH`GJz?T*iROcv=!~K1k)`y=()ZTg)i77mFILSi zRLCt-#4J$3D^J!oT-{c7-(i2{eU|R5yz#on`Qz!9mzk)ltpET2{{H^`{r&v>{QCO( z`1ttu_xJYp_VxAk^Yioa^78QT@b2#J?Ck98>+9<3>gnm}n-&(F`y%*?pBxUsRZudlDGtE-`*p^}o4i;Iheg@u2Ae|UI!c6N4kb#-QD zX4~H5A^8LW002J#EC2ui02BZy000L6z@KnPEEQ@5<{(8sk!Jdm&t6t z;BYrb%xOC4v>L4;Z#N)N$hM2mcBc5oEzEI7BQicdJ2ZnhfE;{3IUXk`CKZE&JC7$G zi#Z=CoG3bzohTofAt@>_w@Q@RJqpJ_Hf>`1t}p^FuxY z5D*9)NHBl`A4GgSAjojw0)+k+3Y0)WU;zpN1U^hCalnNO6bgJapb?@Fg##sg{8+Ih zM}h}d65JRudrcNIY5;S$lK&K=I4YF$8 S3V`5CA)xnhd7^ literal 529 zcmV+s0`C1sNk%w1VH5x<0M$PLp`oGJJzgxLX`uF$u{{H^KD^KNp zme0@6-BxzUEmEketoh^VmY1325--V{r&E&ymfVT z-{0TngPPFL(CqB&+1c6f@bLBZ_4xSs_V)Jj^78!r{My>u)z#I1e}9salF~0$;%2*5<#t6sk-P;m&q8u z;BZ$*)R_+Gv>I(9Zw(Sj2{4G~28Fo6E!2%D6f{0Q122ODfFpcAIwTVl1rURS1CJ9V zi#j3^oDnILoe?6LB^(wOl9L3d93`0{Cm=F|8vutOCn1>>C>0ed8@>P=JQXMunI9et z%+1aoADI^yJk{3M(~C<5+}+;XSyE5q;YsG_=;`X~?CnUYlkt-fMUprQ`1$%QKJ-IA zEMV*yNU&f48$O8mU{J6j!3GKcF&wDj!9WZT0t|$xaAJoZJsw~HIb&l)Aqxp=0148f z$&LkGuq?vImkRyB4cxjWOON<(K)I>SaArksts&i1-g) diff --git a/phpBB/styles/prosilver/imageset/icon_post_info.gif b/phpBB/styles/prosilver/imageset/icon_post_info.gif index b666fa1ee5197bc3577bc60d85dabd233dc4ceac..af089d8656eff258d13e35630d5843c198263f1a 100644 GIT binary patch literal 501 zcmV_{rvp= z`uh6#`1tqt_xASo_4W1g^78QT@b2#J?Ck98>+9<3>gnm}J)YaD4*hdyS+}+;Z7DPJ{5as6QqFZI?+pYP7zGdS z3wDHK=dJ<<3KaMWm{*U;J$(cOJmBXb;J_j~+P#ZlumD3O_Y4f+H$i~KBpDGvH1ILW ry$A#d7&tjBqXd2}hix0+prSw$YAJI*+m;}}&uZI_W?RZMNe}=#(S7p%WQPM9~?(XjQ_xJ1T>(nq;^78W7K4Sg-{kpok>gwv?XM}5OYtYcp z=7XEvS$XN{>Ez_(_V)IYl9K%K^!WJr@w&(N*4@Fu!TkLETwGj!etz3bZS3sqq@<+d zb&vJ+^`D=g@bK`wyu9At-inHf#Kgq4wYBGvrS7b}zAH^-Wo609$%KT2#4J$R+1Zws zmfPOrA^8LW002J#EC2ui02BZz000L6z@KnPEECnI-LVzpg^r!tpTaUV(5Cm z+w5?8ikL4b1&U=p1)|a}Wur*ZQi@AgOk9p2CNDh@Aqp=eZ$|+jARdl|IT#>(MN2Lp zA1n$xA1;YV0TdK6H9k6`lu7|GJu@0HFrP^Q5D*#)CJ?DdODh{2E3!#H0TRX%yGTnI z7{bFpOU}>J)YaD4*x5-00Nvi--vmSe90=y;=;jpw;|vc1@bU5u3+zMO6Yw1g2L~lB z@EiaT*Y2H&10+cFt3b~l5q$d+RA|vJgFu2s0Jww4;b4h|Nbm_z(eFlui%B#-h$sN$ uHUJYiBuF3tER?(XjF?Ck67>+0(2>FMd@{>NGuwU$mB5M zaz&Iy=49f84qcQi#bvcID;P|r3Uyg5u-2KYWL`S8Sm#1Ux-ywiO%}qlk4zdOA~P(5 z8g)f38yh1dFD;IYe?&|iBqb#)Dw!l4i9#+N9VVqUHKit_lwK|#Cn&L}u_z}Vi7p=> zDZIVDx|A+|Aj8DP#gt4<%FD}7UC+?b($mopG&B&<)&v3A&olxJ3<)${)(-~<2;NZO z4Fv_`raV(psEn>Q;5Qro#R2mm`5KIdfs delta 449 zcmV;y0Y3iW1L6aJM@dFFIbjq4DFD?r0G5}TsH&{$>gvHOPyhe_%`Q|#L`3fH?$p%O z*E?Y2bB*6&f6vd)(l1uwY>4#8((CK%`uh6z_V)7f^4Zzh;Ae#W{r%+RFMeG{QUm@{`mO#+S=NdmX`PT_t4PL_4V~I;c11yD^BQ)p~c0;adB~Q zaBy>TbD5c$*gj%+cXw}ZZ?Unl)i76ug@w$_%w}e0k*_U(DF6Tl|3I5?NGuwU$mB3E zn+23b=I7&t4ri9EWoET8J)@DQ3Y|qFEYX>(WP%O`)d56C&LonKVb#I2k4z;O7ceb@ zC3QtJ6B8I1FCvbNe?&|fArurbDVZS|i9$062MDDG2Biq2lwLC&Bn+{qu?!>}i8Bxo zG`zjOx|B120>i|`#gt4<%FD}7UC+?b($mz^05vrL(AOv?+0Qi!3kd}^UDpmWG7aBQ z;R_EBcX@TCB!%S`Yv`WYXjA diff --git a/phpBB/styles/prosilver/imageset/icon_rate_bad.gif b/phpBB/styles/prosilver/imageset/icon_rate_bad.gif index 0d6c3ade604f37f17fbed4948702a037d149155a..790188940877c1c9cc92c67b41b0ca989588e711 100644 GIT binary patch literal 465 zcmV;?0WSVWNk%w1VH5x;0M!5h1_1)*dz9;dncIPu&xV)2jhM2Wp(_Ck9svmAV1N2@ zlJa$v)MkPBdYJEblpqik>v@#oeU-&-gZPc7-+z|gVU@kB5FC`^9O+z{+BqpAvKRGHSTC6`eDI_?uKQ$(|xV*T(z`?@6GBh7F9!xXG z6$;J`2ul;r&Ivv~A<_v83l8280zOI;-w+TC2iHm$3;_WV5fl^y7UD=3@bd!_AwDDP z0|HvWfPp{;4fc+J@KG>>4*=J)DFLvdV!|dq3KZb*kChJ&9HPlW(7`}QRu4p6EVXjj Hk01a$`g+4M literal 527 zcmV+q0`UDuNk%w1VH5x<0M$PL@^zB{007z9+3A$2xs#mg>gx3L^!SaZg@uJ=U||*( z7ApY@($dlk0R+^6m0n(6-rnAHbaeW1lHuXu85tSEgOc3b+zbp1+kuwX*Vp9av@!Ud3hxzB`ho~9UUF#=jXnSm=Y2a&WD&VFfi0+fdc^n;$VO8ca$Ch2;YB}?(Xj9 zdz2^%5z&U2XJ=>qlC0~1nNLSaosW|{J3FkDnzEdsudlDiiI~rZm-u>^AP^MAZi5B^ z0ssI2A^ti%Lr+jyK0|MCd2(rIXmlVlFfcSARA^-&aAA20ZIqp92_PK*h&K?EiD@xD=Qcd z<46PX^cX!20VnJ*2z2n`g$@!G?j3Ovz#xeLKCo$1;v1dV72O`}_Cz_wn)Z?d|R9>FMR=<>27p-rnBa z+}zmM*wob2iHV7BZf9}w>-7(cq%)COm-9v;V61T`KF4LkxfGb2nN3=A9`3kw<<8`nl3=^E=613vCX9To}-7Z(*3 z2`Jnn(xKnK1QQC_V}fBqf&>U6N;oi(2nLA~BG?-c#Ya5}ASW{8Vh@5xUMN$l{1F5I EJK2rEx&QzG literal 524 zcmV+n0`vVxNk%w1VH5x<0M$PL>FMbJ007|N;C;LO6B85E)YOH#^Q6S)$;!;_?d@J( zUWti`<>lqr*x2#$@tmr+dV6~&CMF9D3r0vukG0*3x$67-`5#YJkGSIo1_o(rY;16J0R#t9Qc|qL+Ac9QJUl#8TxXNE z+yDRoA^ti%Lr+jyK0|MCd2(rIXmlVlFfcSARA^-&aAAHK!dP!bnbWz1cOX=00IIG0u752 zO8^}VA&X!Vj*o}}9U&bZ1vN|z4V(oXCMF_Ls3rvst_WLP8nYT!Vz;=ty1Tr&a=8#B z0k}6L55rDqVm2Nd8^~8ZJR2V$5<3bC6HGcVFf1%SJ~K2F*hV_)GwdiB z0q;f!C>$IW6(=VQ$iPSBfIol+TEw`= Date: Wed, 4 Apr 2007 05:06:51 +0000 Subject: [PATCH 329/707] #9601 git-svn-id: file:///svn/phpbb/trunk@7279 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index 56235d8e88..cb7b43fb27 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -209,10 +209,14 @@ class acp_database $delete = request_var('delete', ''); $file = request_var('file', ''); - preg_match('#^backup_\d{10,}_[a-z\d]{16}\.(sql(?:\.(?:gz|bz2))?)$#', $file, $matches); + if (!preg_match('#^backup_\d{10,}_[a-z\d]{16}\.(sql(?:\.(?:gz|bz2))?)$#', $file, $matches)) + { + trigger_error($user->lang['BACKUP_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING); + } + $file_name = $phpbb_root_path . 'store/' . $matches[0]; - if (!(file_exists($file_name) && is_readable($file_name))) + if (!file_exists($file_name) || !is_readable($file_name))) { trigger_error($user->lang['BACKUP_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING); } From 35e6a47c6ad245d460627b128e160e10cba752b9 Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 5 Apr 2007 01:52:31 +0000 Subject: [PATCH 330/707] #9618 git-svn-id: file:///svn/phpbb/trunk@7280 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_users_signature.html | 6 +++--- phpBB/adm/style/editor.js | 1 + phpBB/styles/prosilver/template/editor.js | 1 + phpBB/styles/subsilver2/template/editor.js | 1 + phpBB/styles/subsilver2/template/posting_buttons.html | 6 +++--- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/phpBB/adm/style/acp_users_signature.html b/phpBB/adm/style/acp_users_signature.html index 3c66e52662..ded0b5dee1 100644 --- a/phpBB/adm/style/acp_users_signature.html +++ b/phpBB/adm/style/acp_users_signature.html @@ -5,9 +5,9 @@ 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]', {custom_tags.BBCODE_NAME}); - imageTag = false; + 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]', {custom_tags.BBCODE_NAME}); + var imageTag = false; // Helpline messages var help_line = { diff --git a/phpBB/adm/style/editor.js b/phpBB/adm/style/editor.js index 51634a60cd..2f490f4746 100644 --- a/phpBB/adm/style/editor.js +++ b/phpBB/adm/style/editor.js @@ -299,6 +299,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'; diff --git a/phpBB/styles/prosilver/template/editor.js b/phpBB/styles/prosilver/template/editor.js index 51634a60cd..2f490f4746 100644 --- a/phpBB/styles/prosilver/template/editor.js +++ b/phpBB/styles/prosilver/template/editor.js @@ -299,6 +299,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'; diff --git a/phpBB/styles/subsilver2/template/editor.js b/phpBB/styles/subsilver2/template/editor.js index 51634a60cd..2f490f4746 100644 --- a/phpBB/styles/subsilver2/template/editor.js +++ b/phpBB/styles/subsilver2/template/editor.js @@ -299,6 +299,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'; diff --git a/phpBB/styles/subsilver2/template/posting_buttons.html b/phpBB/styles/subsilver2/template/posting_buttons.html index dce4efb02f..eda483e48f 100644 --- a/phpBB/styles/subsilver2/template/posting_buttons.html +++ b/phpBB/styles/subsilver2/template/posting_buttons.html @@ -4,9 +4,9 @@ , {custom_tags.BBCODE_NAME}); - imageTag = false; + 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]', {custom_tags.BBCODE_NAME}); + var imageTag = false; // Helpline messages var help_line = { From 0dbbda7fd042cc10d1032ca40666178ae356ed0e Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 5 Apr 2007 13:16:44 +0000 Subject: [PATCH 331/707] #9597 git-svn-id: file:///svn/phpbb/trunk@7281 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/help_faq.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/help_faq.php b/phpBB/language/en/help_faq.php index 49192f91d5..a3e6a0ab4a 100644 --- a/phpBB/language/en/help_faq.php +++ b/phpBB/language/en/help_faq.php @@ -188,7 +188,7 @@ $help = array( ), array( 0 => 'What are sticky topics?', - 1 => 'Sticky topics appear below any announcements in viewforum and only on the first page. They are often quite important so you should read them where possible. As with announcements the board administrator determines what permissions are required to post sticky topics in each forum.' + 1 => 'Sticky topics appear below any announcements within the forum and only on the first page. They are often quite important so you should read them where possible. As with announcements the board administrator determines what permissions are required to post sticky topics in each forum.' ), array( 0 => 'What are locked topics?', From 03ae557474e6c94f80baffbb140a183d3ca4b7f5 Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 5 Apr 2007 14:27:04 +0000 Subject: [PATCH 332/707] #8689 git-svn-id: file:///svn/phpbb/trunk@7282 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/common.php | 1 + phpBB/styles/prosilver/template/posting_topic_review.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 0d3d2b4720..39284b3208 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -107,6 +107,7 @@ $lang = array_merge($lang, array( 'CHANGING_PREFERENCES' => 'Changing forum preferences', 'CHANGING_PROFILE' => 'Changing forum profile settings', 'CLICK_VIEW_PRIVMSG' => '%sGo to your inbox%s', + 'COLLAPSE_VIEW' => 'Collapse view', 'CLOSE_WINDOW' => 'Close window', 'COLOUR_SWATCH' => 'Colour swatch', 'COMMA_SEPARATOR' => ', ', // Used in pagination and secret yet-to-be-release style, use localised comma if appropriate, eg: Ideographic or Arabic diff --git a/phpBB/styles/prosilver/template/posting_topic_review.html b/phpBB/styles/prosilver/template/posting_topic_review.html index c8d3369eaf..d999d344da 100644 --- a/phpBB/styles/prosilver/template/posting_topic_review.html +++ b/phpBB/styles/prosilver/template/posting_topic_review.html @@ -1,6 +1,6 @@

- {L_EXPAND_VIEW} + {L_EXPAND_VIEW} {L_TOPIC_REVIEW}: {TOPIC_TITLE}

From 2a87d43850f4c0064eb7794598ccadc883bc8f5f Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 5 Apr 2007 15:21:28 +0000 Subject: [PATCH 333/707] #9585 git-svn-id: file:///svn/phpbb/trunk@7283 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/template/memberlist_view.html | 6 ++++-- phpBB/styles/prosilver/template/viewtopic_body.html | 9 +++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/phpBB/styles/prosilver/template/memberlist_view.html b/phpBB/styles/prosilver/template/memberlist_view.html index 086eadc7f1..e8db269aaa 100644 --- a/phpBB/styles/prosilver/template/memberlist_view.html +++ b/phpBB/styles/prosilver/template/memberlist_view.html @@ -53,8 +53,10 @@
{L_ICQ}:
{L_SEND_ICQ_MESSAGE}{USER_ICQ}
{L_JABBER}:
{L_SEND_JABBER_MESSAGE}
{L_JABBER}:
{USER_JABBER}
- -
{custom_fields.PROFILE_FIELD_NAME}:
{custom_fields.PROFILE_FIELD_VALUE}
+ +
{postrow.PROFILE_FIELD1_NAME}:
{postrow.PROFILE_FIELD1_VALUE}
+ +
{custom_fields.PROFILE_FIELD_NAME}:
{custom_fields.PROFILE_FIELD_VALUE}
{L_ADD_FRIEND}
diff --git a/phpBB/styles/prosilver/template/viewtopic_body.html b/phpBB/styles/prosilver/template/viewtopic_body.html index 0732190ea1..1ccc10619f 100644 --- a/phpBB/styles/prosilver/template/viewtopic_body.html +++ b/phpBB/styles/prosilver/template/viewtopic_body.html @@ -179,6 +179,15 @@
{L_JOINED}: {postrow.POSTER_JOINED}
{L_LOCATION}: {postrow.POSTER_FROM}
+ + +
{postrow.PROFILE_FIELD1_NAME}: {postrow.PROFILE_FIELD1_VALUE}
+ + + +
{postrow.custom_fields.PROFILE_FIELD_NAME}: {postrow.custom_fields.PROFILE_FIELD_VALUE}
+ +
From 554224e9e1d6de404a98b0021ba439e17ffa8826 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Thu, 5 Apr 2007 16:25:08 +0000 Subject: [PATCH 334/707] Backing out previous change, trying to stick to the design as subBlue originally envisaged. :D git-svn-id: file:///svn/phpbb/trunk@7284 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/admin.css | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 3363d13d48..3eb8c68d99 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -677,8 +677,7 @@ input, textarea { border-top: 1px solid #AFAEAA; border-right: 1px solid #D5D5C8; border-bottom: 1px solid #D5D5C8; -/* background-color: #E3DFD8;*/ - background-color: #F9F9F9; + background-color: #E3DFD8; } .rtl input, .rtl textarea { @@ -693,8 +692,7 @@ input:hover, textarea:hover { border-top: 1px solid #AFAEAA; border-right: 1px solid #AFAEAA; border-bottom: 1px solid #AFAEAA; -/* background-color: #E9E9E2; */ - background-color: #DCEBFE; + background-color: #E9E9E2; } input.langvalue, textarea.langvalue { @@ -947,8 +945,7 @@ fieldset dl dd label:hover { input:focus, textarea:focus { border: 1px solid #BC2A4D; -/* background-color: #E9E9E2;*/ - background-color: #F9F9F9; + background-color: #E9E9E2; color: #BC2A4D; } From 088c6e1c3eb8cc044c328dd0988da7a9862ef7d5 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 6 Apr 2007 13:14:15 +0000 Subject: [PATCH 335/707] ticket #9599 - Nils, please review! git-svn-id: file:///svn/phpbb/trunk@7285 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index d20002dd96..b7e809737b 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2616,7 +2616,11 @@ function make_clickable($text, $server_url = false) // relative urls for this board $magic_url_match[] = '#(^|[\n\t (])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#ie'; - $magic_url_replace[] = "'\$1' . ((strlen('\$3')) ? preg_replace('/(&|\?)sid=[0-9a-f]{32}$/', '', preg_replace('/(&|\?)sid=[0-9a-f]{32}&/', '\\\\1', '\$3')) : '\$2/') . ''"; + +// $magic_url_replace[] = "'\$1' . ((strlen('\$3')) ? preg_replace('/(&|\?)sid=[0-9a-f]{32}$/', '', preg_replace('/(&|\?)sid=[0-9a-f]{32}&/', '\\\\1', '\$3')) : '\$2/') . ''"; + + // Instead of the above, we do not call append_sid to not let the sid and the _extra_url being appended... + $magic_url_replace[] = "'\$1' . ((strlen('\$3')) ? preg_replace('/(&|\?)sid=[0-9a-f]{32}$/', '', preg_replace('/(&|\?)sid=[0-9a-f]{32}&/', '\\\\1', '\$3')) : '\$2/') . ''"; // matches a xxxx://aaaaa.bbb.cccc. ... $magic_url_match[] = '#(^|[\n\t (])(' . get_preg_expression('url_inline') . ')#ie'; From ba536c6270a1cd448e5a4add56686fd3fdc9d711 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 6 Apr 2007 14:03:20 +0000 Subject: [PATCH 336/707] some fixes git-svn-id: file:///svn/phpbb/trunk@7286 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/docs/AUTHORS | 2 +- phpBB/includes/acp/acp_groups.php | 1 + phpBB/includes/functions_display.php | 14 +++-- phpBB/includes/functions_template.php | 19 +++++- phpBB/includes/template.php | 60 +++++++++++-------- phpBB/includes/ucp/ucp_groups.php | 1 + phpBB/language/en/acp/common.php | 2 +- phpBB/styles/prosilver/template/mcp_post.html | 5 +- .../prosilver/template/search_body.html | 2 +- .../template/ucp_pm_viewmessage.html | 7 ++- .../styles/subsilver2/template/mcp_post.html | 2 +- 11 files changed, 75 insertions(+), 40 deletions(-) diff --git a/phpBB/docs/AUTHORS b/phpBB/docs/AUTHORS index f50044f944..9452c21ae7 100644 --- a/phpBB/docs/AUTHORS +++ b/phpBB/docs/AUTHORS @@ -6,7 +6,7 @@ /* *\ /* ********************************************************************** *\ -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) diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index 128cea2cb9..cbf46a1dc1 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -558,6 +558,7 @@ class acp_groups 'S_RANK_OPTIONS' => $rank_options, 'S_GROUP_OPTIONS' => group_select_options(false, false, (($user->data['user_type'] == USER_FOUNDER) ? false : 0)), + 'AVATAR' => $avatar_img, 'AVATAR_IMAGE' => $avatar_img, 'AVATAR_MAX_FILESIZE' => $config['avatar_filesize'], 'AVATAR_WIDTH' => (isset($group_row['group_avatar_width'])) ? $group_row['group_avatar_width'] : '', diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php index 1ab6dda638..23e2cd4106 100644 --- a/phpBB/includes/functions_display.php +++ b/phpBB/includes/functions_display.php @@ -287,24 +287,26 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod { foreach ($subforums[$forum_id] as $subforum_id => $subforum_row) { - // Update unread information if needed - if (!$forum_unread) - { - $forum_unread = (isset($forum_tracking_info[$subforum_id]) && $subforum_row['orig_forum_last_post_time'] > $forum_tracking_info[$subforum_id]) ? true : false; - } + $subforum_unread = (isset($forum_tracking_info[$subforum_id]) && $subforum_row['orig_forum_last_post_time'] > $forum_tracking_info[$subforum_id]) ? true : false; if ($subforum_row['display'] && $subforum_row['name']) { $subforums_list[] = array( 'link' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $subforum_id), 'name' => $subforum_row['name'], - 'unread' => $forum_unread, + 'unread' => $subforum_unread, ); } else { unset($subforums[$forum_id][$subforum_id]); } + + // If one subforum is unread the forum gets unread too... + if ($subforum_unread) + { + $forum_unread = true; + } } $l_subforums = (sizeof($subforums[$forum_id]) == 1) ? $user->lang['SUBFORUM'] . ': ' : $user->lang['SUBFORUMS'] . ': '; diff --git a/phpBB/includes/functions_template.php b/phpBB/includes/functions_template.php index 4e5b46c3f7..f37148658b 100644 --- a/phpBB/includes/functions_template.php +++ b/phpBB/includes/functions_template.php @@ -54,7 +54,7 @@ class template_compile * Load template source from file * @access private */ - function _tpl_load_file($handle) + function _tpl_load_file($handle, $store_in_db = false) { // Try and open template for read if (!file_exists($this->template->files[$handle])) @@ -66,6 +66,23 @@ class template_compile // Actually compile the code now. $this->compile_write($handle, $this->template->compiled_code[$handle]); + + // Store in database if required... + if ($store_in_db) + { + global $db, $user; + + $sql_ary = array( + 'template_id' => $user->theme['template_id'], + 'template_filename' => $this->template->filename[$handle], + 'template_included' => '', + 'template_mtime' => time(), + 'template_data' => trim(@file_get_contents($this->template->files[$handle])), + ); + + $sql = 'INSERT INTO ' . STYLES_TEMPLATE_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary); + $db->sql_query($sql); + } } /** diff --git a/phpBB/includes/template.php b/phpBB/includes/template.php index 259874488d..3326852ee7 100644 --- a/phpBB/includes/template.php +++ b/phpBB/includes/template.php @@ -222,44 +222,56 @@ class template if (isset($user->theme['template_storedb']) && $user->theme['template_storedb']) { - $sql = 'SELECT * FROM ' . STYLES_TEMPLATE_DATA_TABLE . ' + $sql = 'SELECT * + FROM ' . STYLES_TEMPLATE_DATA_TABLE . ' WHERE template_id = ' . $user->theme['template_id'] . " AND (template_filename = '" . $db->sql_escape($this->filename[$handle]) . "' OR template_included LIKE '%" . $db->sql_escape($this->filename[$handle]) . ":%')"; $result = $db->sql_query($sql); + $row = $db->sql_fetchrow($result); - while ($row = $db->sql_fetchrow($result)) + if ($row) { - if ($row['template_mtime'] < filemtime($phpbb_root_path . 'styles/' . $user->theme['template_path'] . '/template/' . $row['template_filename'])) + do { + if ($row['template_mtime'] < filemtime($phpbb_root_path . 'styles/' . $user->theme['template_path'] . '/template/' . $row['template_filename'])) + { + if ($row['template_filename'] == $this->filename[$handle]) + { + $compile->_tpl_load_file($handle); + } + else + { + $this->files[$row['template_filename']] = $this->root . '/' . $row['template_filename']; + $compile->_tpl_load_file($row['template_filename']); + unset($this->compiled_code[$row['template_filename']]); + unset($this->files[$row['template_filename']]); + } + } + if ($row['template_filename'] == $this->filename[$handle]) { - $compile->_tpl_load_file($handle); + $this->compiled_code[$handle] = $compile->compile(trim($row['template_data'])); + $compile->compile_write($handle, $this->compiled_code[$handle]); } else { - $this->files[$row['template_filename']] = $this->root . '/' . $row['template_filename']; - $compile->_tpl_load_file($row['template_filename']); - unset($this->compiled_code[$row['template_filename']]); - unset($this->files[$row['template_filename']]); - } - } - - if ($row['template_filename'] == $this->filename[$handle]) - { - $this->compiled_code[$handle] = $compile->compile(trim($row['template_data'])); - $compile->compile_write($handle, $this->compiled_code[$handle]); - } - else - { - // Only bother compiling if it doesn't already exist - if (!file_exists($this->cachepath . str_replace('/', '.', $row['template_filename']) . '.' . $phpEx)) - { - $this->filename[$row['template_filename']] = $row['template_filename']; - $compile->compile_write($row['template_filename'], $compile->compile(trim($row['template_data']))); - unset($this->filename[$row['template_filename']]); + // Only bother compiling if it doesn't already exist + if (!file_exists($this->cachepath . str_replace('/', '.', $row['template_filename']) . '.' . $phpEx)) + { + $this->filename[$row['template_filename']] = $row['template_filename']; + $compile->compile_write($row['template_filename'], $compile->compile(trim($row['template_data']))); + unset($this->filename[$row['template_filename']]); + } } } + while ($row = $db->sql_fetchrow($result)); + } + else + { + // Try to load from filesystem and instruct to insert into the styles table... + $compile->_tpl_load_file($handle, true); + return false; } $db->sql_freeresult($result); diff --git a/phpBB/includes/ucp/ucp_groups.php b/phpBB/includes/ucp/ucp_groups.php index 720d1f9467..5445d661b7 100644 --- a/phpBB/includes/ucp/ucp_groups.php +++ b/phpBB/includes/ucp/ucp_groups.php @@ -679,6 +679,7 @@ class ucp_groups 'S_DESC_SMILIES_CHECKED'=> $group_desc_data['allow_smilies'], 'S_RANK_OPTIONS' => $rank_options, + 'AVATAR' => $avatar_img, 'AVATAR_IMAGE' => $avatar_img, 'AVATAR_MAX_FILESIZE' => $config['avatar_filesize'], 'AVATAR_WIDTH' => (isset($group_row['group_avatar_width'])) ? $group_row['group_avatar_width'] : '', diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php index 350ba390e2..7d88571824 100644 --- a/phpBB/language/en/acp/common.php +++ b/phpBB/language/en/acp/common.php @@ -272,7 +272,7 @@ $lang = array_merge($lang, array( // PHP info $lang = array_merge($lang, array( - 'ACP_PHP_INFO_EXPLAIN' => 'This page lists information on the version of PHP installed on this server. It includes details of loaded modules, available variables and default settings. This information may be useful when diagnosing problems. Please be aware that some hosting companies will limit what information is displayed here for security reasons. You are advised to not give out any details on this page except when asked by official team members on the support forums.', + 'ACP_PHP_INFO_EXPLAIN' => 'This page lists information on the version of PHP installed on this server. It includes details of loaded modules, available variables and default settings. This information may be useful when diagnosing problems. Please be aware that some hosting companies will limit what information is displayed here for security reasons. You are advised to not give out any details on this page except when asked by official team members on the support forums.', 'NO_PHPINFO_AVAILABLE' => 'The PHP informations are unable to be determined. Phpinfo() has been disabled for security reasons.', )); diff --git a/phpBB/styles/prosilver/template/mcp_post.html b/phpBB/styles/prosilver/template/mcp_post.html index 446491a878..fd23bb3b74 100644 --- a/phpBB/styles/prosilver/template/mcp_post.html +++ b/phpBB/styles/prosilver/template/mcp_post.html @@ -138,11 +138,12 @@ - + +
-

{RETURN_QUEUE} | {RETURN_TOPIC_SIMPLE} | {RETURN_POST}{RETURN_REPORTS}{RETURN_TOPIC}

+

{RETURN_QUEUE} | {RETURN_TOPIC_SIMPLE} | {RETURN_POST}{RETURN_REPORTS} | {L_VIEW_TOPIC}{RETURN_TOPIC}

diff --git a/phpBB/styles/prosilver/template/search_body.html b/phpBB/styles/prosilver/template/search_body.html index 525d9820a2..95390c2545 100644 --- a/phpBB/styles/prosilver/template/search_body.html +++ b/phpBB/styles/prosilver/template/search_body.html @@ -44,7 +44,7 @@
-
+
diff --git a/phpBB/styles/prosilver/template/ucp_pm_viewmessage.html b/phpBB/styles/prosilver/template/ucp_pm_viewmessage.html index 8af9f2d716..5fb6e2c573 100644 --- a/phpBB/styles/prosilver/template/ucp_pm_viewmessage.html +++ b/phpBB/styles/prosilver/template/ucp_pm_viewmessage.html @@ -9,11 +9,12 @@
+ diff --git a/phpBB/styles/subsilver2/template/mcp_post.html b/phpBB/styles/subsilver2/template/mcp_post.html index 858e4c5a17..86669957fe 100644 --- a/phpBB/styles/subsilver2/template/mcp_post.html +++ b/phpBB/styles/subsilver2/template/mcp_post.html @@ -45,7 +45,7 @@
- + From 25fc4fdb664cb1c9cf892bb186e854061ab35468 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 6 Apr 2007 15:07:33 +0000 Subject: [PATCH 337/707] #8784 git-svn-id: file:///svn/phpbb/trunk@7287 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_styles.php | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php index db976f2f0a..f29010d1e6 100644 --- a/phpBB/includes/acp/acp_styles.php +++ b/phpBB/includes/acp/acp_styles.php @@ -1452,7 +1452,7 @@ parse_css_file = {PARSE_CSS_FILE} { while (($file = readdir($dp)) !== false) { - if (!is_file($dir . '/' . $file) && !is_link($dir . '/' . $file) && $file[0] != '.' && strtoupper($file) != 'CVS' && !sizeof($imagesetlist['lang'])) + if (!is_file($dir . '/' . $file) && !is_link($dir . '/' . $file) && $file[0] != '.' && strtoupper($file) != 'CVS') { $dp2 = @opendir("$dir/$file"); @@ -1463,10 +1463,9 @@ parse_css_file = {PARSE_CSS_FILE} while (($file2 = readdir($dp2)) !== false) { - $imglang = $file; if (preg_match('#\.(?:gif|jpg|png)$#', $file2)) { - $imagesetlist['lang'][] = "$file/$file2"; + $imagesetlist['all_lang'][$file][] = "$file/$file2"; } } closedir($dp2); @@ -1481,7 +1480,29 @@ parse_css_file = {PARSE_CSS_FILE} // Make sure the list of possible images is sorted alphabetically sort($imagesetlist['nolang']); - sort($imagesetlist['lang']); + foreach ($imagesetlist['all_lang'] as $lang => $data) + { + sort($imagesetlist['all_lang'][$lang]); + } + + if (isset($imagesetlist['all_lang'][$user->img_lang]) && sizeof($imagesetlist['all_lang'][$user->img_lang])) + { + $imglang = $lang; + $imagesetlist['lang'] = $imagesetlist['all_lang'][$user->img_lang]; + } + else + { + foreach ($imagesetlist['all_lang'] as $lang => $data) + { + if (sizeof($imagesetlist['all_lang'][$user->img_lang])) + { + $imglang = $lang; + $imagesetlist['lang'] = $imagesetlist['all_lang'][$lang]; + break; + } + } + } + unset($imagesetlist['all_lang']); $imagesetlist_options = ''; foreach ($imagesetlist as $type => $img_ary) From 3f6b104312b703701272f5253e391b37c3fcef6b Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 6 Apr 2007 17:49:47 +0000 Subject: [PATCH 338/707] add proper die() statements although /develop is never ever shipped with phpBB... git-svn-id: file:///svn/phpbb/trunk@7288 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/develop/fill.php | 9 +++++++++ phpBB/develop/generate_utf_casefold.php | 9 +++++++++ phpBB/develop/generate_utf_tables.php | 9 +++++++++ phpBB/develop/lang_duplicates.php | 9 +++++++++ phpBB/develop/regex.php | 9 +++++++++ phpBB/develop/search_fill.php | 9 +++++++++ phpBB/develop/utf_normalizer_test.php | 9 +++++++++ 7 files changed, 63 insertions(+) diff --git a/phpBB/develop/fill.php b/phpBB/develop/fill.php index 2aee3d333f..336e510d06 100644 --- a/phpBB/develop/fill.php +++ b/phpBB/develop/fill.php @@ -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 = './../'; diff --git a/phpBB/develop/generate_utf_casefold.php b/phpBB/develop/generate_utf_casefold.php index d9aace10ce..cb8ce489b7 100644 --- a/phpBB/develop/generate_utf_casefold.php +++ b/phpBB/develop/generate_utf_casefold.php @@ -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); diff --git a/phpBB/develop/generate_utf_tables.php b/phpBB/develop/generate_utf_tables.php index ffad9106d6..ce19c2a374 100644 --- a/phpBB/develop/generate_utf_tables.php +++ b/phpBB/develop/generate_utf_tables.php @@ -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); diff --git a/phpBB/develop/lang_duplicates.php b/phpBB/develop/lang_duplicates.php index 5a77c79543..5be48f69f0 100644 --- a/phpBB/develop/lang_duplicates.php +++ b/phpBB/develop/lang_duplicates.php @@ -4,6 +4,15 @@ Date: Fri, 6 Apr 2007 19:24:40 +0000 Subject: [PATCH 339/707] revert this change. It is actually not a bug. We use append_sid on *view* to let relative links correctly work. git-svn-id: file:///svn/phpbb/trunk@7289 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index b7e809737b..d20002dd96 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2616,11 +2616,7 @@ function make_clickable($text, $server_url = false) // relative urls for this board $magic_url_match[] = '#(^|[\n\t (])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#ie'; - -// $magic_url_replace[] = "'\$1' . ((strlen('\$3')) ? preg_replace('/(&|\?)sid=[0-9a-f]{32}$/', '', preg_replace('/(&|\?)sid=[0-9a-f]{32}&/', '\\\\1', '\$3')) : '\$2/') . ''"; - - // Instead of the above, we do not call append_sid to not let the sid and the _extra_url being appended... - $magic_url_replace[] = "'\$1' . ((strlen('\$3')) ? preg_replace('/(&|\?)sid=[0-9a-f]{32}$/', '', preg_replace('/(&|\?)sid=[0-9a-f]{32}&/', '\\\\1', '\$3')) : '\$2/') . ''"; + $magic_url_replace[] = "'\$1' . ((strlen('\$3')) ? preg_replace('/(&|\?)sid=[0-9a-f]{32}$/', '', preg_replace('/(&|\?)sid=[0-9a-f]{32}&/', '\\\\1', '\$3')) : '\$2/') . ''"; // matches a xxxx://aaaaa.bbb.cccc. ... $magic_url_match[] = '#(^|[\n\t (])(' . get_preg_expression('url_inline') . ')#ie'; From e3007bb6cf79f19e70cc9cf486f49eba574d20bc Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 6 Apr 2007 20:50:31 +0000 Subject: [PATCH 340/707] #9605 git-svn-id: file:///svn/phpbb/trunk@7290 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/memberlist.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 6c3a02ac42..144a316143 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -859,7 +859,7 @@ switch ($mode) $template_html = 'memberlist_body.html'; // Sorting - $sort_key_text = array('a' => $user->lang['SORT_USERNAME'], 'b' => $user->lang['SORT_LOCATION'], 'c' => $user->lang['SORT_JOINED'], 'd' => $user->lang['SORT_POST_COUNT'], 'e' => $user->lang['SORT_EMAIL'], 'f' => $user->lang['WEBSITE'], 'g' => $user->lang['ICQ'], 'h' => $user->lang['AIM'], 'i' => $user->lang['MSNM'], 'j' => $user->lang['YIM'], 'k' => $user->lang['JABBER']); + $sort_key_text = array('a' => $user->lang['SORT_USERNAME'], 'b' => $user->lang['SORT_LOCATION'], 'c' => $user->lang['SORT_JOINED'], 'd' => $user->lang['SORT_POST_COUNT'], 'e' => $user->lang['SORT_EMAIL'], 'f' => $user->lang['WEBSITE'], 'g' => $user->lang['ICQ'], 'h' => $user->lang['AIM'], 'i' => $user->lang['MSNM'], 'j' => $user->lang['YIM'], 'k' => $user->lang['JABBER'], 'n' => $user->lang['LAST_ACTIVE']); if ($auth->acl_get('u_viewonline')) { @@ -867,7 +867,7 @@ switch ($mode) } $sort_key_text['m'] = $user->lang['SORT_RANK']; - $sort_key_sql = array('a' => 'u.username_clean', 'b' => 'u.user_from', 'c' => 'u.user_regdate', 'd' => 'u.user_posts', 'e' => 'u.user_email', 'f' => 'u.user_website', 'g' => 'u.user_icq', 'h' => 'u.user_aim', 'i' => 'u.user_msnm', 'j' => 'u.user_yim', 'k' => 'u.user_jabber'); + $sort_key_sql = array('a' => 'u.username_clean', 'b' => 'u.user_from', 'c' => 'u.user_regdate', 'd' => 'u.user_posts', 'e' => 'u.user_email', 'f' => 'u.user_website', 'g' => 'u.user_icq', 'h' => 'u.user_aim', 'i' => 'u.user_msnm', 'j' => 'u.user_yim', 'k' => 'u.user_jabber', 'n' => 'u.user_lastvisit'); if ($auth->acl_get('u_viewonline')) { @@ -1381,12 +1381,12 @@ switch ($mode) 'U_SORT_POSTS' => $sort_url . '&sk=d&sd=' . (($sort_key == 'd' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_EMAIL' => $sort_url . '&sk=e&sd=' . (($sort_key == 'e' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_WEBSITE' => $sort_url . '&sk=f&sd=' . (($sort_key == 'f' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_LOCATION' => $sort_url . '&sk=n&sd=' . (($sort_key == 'n' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_LOCATION' => $sort_url . '&sk=b&sd=' . (($sort_key == 'b' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_ICQ' => $sort_url . '&sk=g&sd=' . (($sort_key == 'g' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_AIM' => $sort_url . '&sk=h&sd=' . (($sort_key == 'h' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_MSN' => $sort_url . '&sk=i&sd=' . (($sort_key == 'i' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_YIM' => $sort_url . '&sk=j&sd=' . (($sort_key == 'j' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_ACTIVE' => $sort_url . '&sk=k&sd=' . (($sort_key == 'k' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_ACTIVE' => $sort_url . '&sk=n&sd=' . (($sort_key == 'n' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_RANK' => $sort_url . '&sk=m&sd=' . (($sort_key == 'm' && $sort_dir == 'a') ? 'd' : 'a'), 'U_LIST_CHAR' => $sort_url . '&sk=a&sd=' . (($sort_key == 'l' && $sort_dir == 'a') ? 'd' : 'a'), From 39f8ef287af043e0724631094351c77b93191bba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Fri, 6 Apr 2007 23:09:00 +0000 Subject: [PATCH 341/707] #8669 #8745 #8762 #5417 #9525 #9568 #9574 #9577 #9640 #9641 #9644 git-svn-id: file:///svn/phpbb/trunk@7291 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/admin.css | 2 ++ phpBB/adm/style/overall_header.html | 2 ++ .../top.gif => imageset/icon_back_top.gif} | Bin phpBB/styles/prosilver/imageset/imageset.cfg | 2 ++ .../prosilver/template/memberlist_body.html | 2 +- .../prosilver/template/posting_editor.html | 17 +++++++++++++---- .../prosilver/template/search_results.html | 5 +++-- .../prosilver/template/viewforum_body.html | 4 ++-- .../prosilver/template/viewtopic_body.html | 2 +- phpBB/styles/prosilver/theme/colours.css | 9 ++++++++- phpBB/styles/prosilver/theme/common.css | 4 ++-- phpBB/styles/prosilver/theme/forms.css | 4 ++-- phpBB/styles/prosilver/theme/tweaks.css | 8 ++++++++ phpBB/styles/subsilver2/imageset/imageset.cfg | 2 ++ 14 files changed, 48 insertions(+), 15 deletions(-) rename phpBB/styles/prosilver/{theme/images/top.gif => imageset/icon_back_top.gif} (100%) diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 3eb8c68d99..0a5710f38c 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -1206,11 +1206,13 @@ input.disabled { width: 200px; color: #000; text-align: center; + border: 1px solid #AAA; } .tooltip span.top { background: #EFEFEF; font-weight: bold; + padding: 2px; } .tooltip span.bottom { diff --git a/phpBB/adm/style/overall_header.html b/phpBB/adm/style/overall_header.html index acbf00dff5..9024c08577 100644 --- a/phpBB/adm/style/overall_header.html +++ b/phpBB/adm/style/overall_header.html @@ -175,8 +175,10 @@ function switch_menu()
+
+
diff --git a/phpBB/styles/prosilver/template/search_results.html b/phpBB/styles/prosilver/template/search_results.html index 701983e404..98a3ff8c44 100644 --- a/phpBB/styles/prosilver/template/search_results.html +++ b/phpBB/styles/prosilver/template/search_results.html @@ -59,13 +59,14 @@ {searchresults.UNAPPROVED_IMG} {REPORTED_IMG}
{searchresults.PAGINATION} - {L_POST_BY_AUTHOR} {searchresults.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {searchresults.FIRST_POST_TIME} {searchresults.NEWEST_POST_IMG} + {L_POST_BY_AUTHOR} {searchresults.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {searchresults.FIRST_POST_TIME} {searchresults.NEWEST_POST_IMG} + {L_IN} {searchresults.FORUM_TITLE} ({L_GLOBAL})
{searchresults.TOPIC_REPLIES}
{searchresults.TOPIC_VIEWS}
{L_POST_BY_AUTHOR} {searchresults.LAST_POST_AUTHOR_FULL} - {searchresults.LAST_POST_IMG}
{L_POSTED_ON_DATE} {searchresults.LAST_POST_TIME}
+ {searchresults.LAST_POST_IMG}
{L_POSTED_ON_DATE} {searchresults.LAST_POST_TIME}
diff --git a/phpBB/styles/prosilver/template/viewforum_body.html b/phpBB/styles/prosilver/template/viewforum_body.html index 1e55c9aecd..c9fb73f6d6 100644 --- a/phpBB/styles/prosilver/template/viewforum_body.html +++ b/phpBB/styles/prosilver/template/viewforum_body.html @@ -194,8 +194,8 @@ {L_MARK_TOPICS_READ} {TOTAL_POSTS} {TOTAL_TOPICS} {TOTAL_USERS} - {PAGE_NUMBER} - {PAGINATION} + {PAGE_NUMBER} + • {PAGINATION} • {PAGE_NUMBER}
diff --git a/phpBB/styles/prosilver/template/viewtopic_body.html b/phpBB/styles/prosilver/template/viewtopic_body.html index 1ccc10619f..e298c7e42b 100644 --- a/phpBB/styles/prosilver/template/viewtopic_body.html +++ b/phpBB/styles/prosilver/template/viewtopic_body.html @@ -208,7 +208,7 @@ -
{L_BACK_TO_TOP}
+
{L_BACK_TO_TOP}
diff --git a/phpBB/styles/prosilver/theme/colours.css b/phpBB/styles/prosilver/theme/colours.css index bd93eb9493..37ca60320a 100644 --- a/phpBB/styles/prosilver/theme/colours.css +++ b/phpBB/styles/prosilver/theme/colours.css @@ -851,7 +851,7 @@ pmlist li.pm_foe_colour, .pm_foe_colour { /* Avatar gallery */ #gallery label { - background: #FFFFFF; + background-color: #FFFFFF; border-color: #CCC; } @@ -946,6 +946,13 @@ a.button1, a.button1:link, a.button1:visited, a.button1:active, a.button2, a.but color: #000000; } +/* Hover states */ +a.button1:hover, input.button1:hover, a.button2:hover, input.button2:hover, input.button3:hover { + border: 1px solid #BC2A4D; + background-position: 0 100%; + color: #BC2A4D; +} + input.search { background-image: url("{T_THEME_PATH}/images/icon_textbox_search.gif"); } \ No newline at end of file diff --git a/phpBB/styles/prosilver/theme/common.css b/phpBB/styles/prosilver/theme/common.css index 35a956b81b..935b81b9dd 100644 --- a/phpBB/styles/prosilver/theme/common.css +++ b/phpBB/styles/prosilver/theme/common.css @@ -429,14 +429,14 @@ dl.details { dl.details dt { float: left; - width: 11em; + width: 16em; text-align: right; color: #000000; display: block; } dl.details dd { - margin-left: 11em; + margin-left: 16em; padding-left: 5px; margin-bottom: 5px; color: #828282; diff --git a/phpBB/styles/prosilver/theme/forms.css b/phpBB/styles/prosilver/theme/forms.css index 2d2eb56fed..006ed3b026 100644 --- a/phpBB/styles/prosilver/theme/forms.css +++ b/phpBB/styles/prosilver/theme/forms.css @@ -347,9 +347,9 @@ a.button1, a.button1:link, a.button1:visited, a.button1:active, a.button2, a.but /* Hover states */ a.button1:hover, input.button1:hover, a.button2:hover, input.button2:hover, input.button3:hover { - border: 1px solid #BC2A4D; + border: 1px solid #BCBCBC; background-position: 0 100%; - color: #BC2A4D; + color: #BCBCBC; } /* Topic and forum Search */ diff --git a/phpBB/styles/prosilver/theme/tweaks.css b/phpBB/styles/prosilver/theme/tweaks.css index 387f2cf44b..4dd490ea33 100644 --- a/phpBB/styles/prosilver/theme/tweaks.css +++ b/phpBB/styles/prosilver/theme/tweaks.css @@ -45,3 +45,11 @@ html>body dd label input { vertical-align: text-bottom; } /* Align checkboxes/ra #tabs, #minitabs, .post, .navbar, fieldset dl, ul.topiclist dl, ul.linklist, dl.polls { height: 1%; } + +/* Simple fix so forum and topic lists always have a min-height set, even in IE6 + From http://www.dustindiaz.com/min-height-fast-hack */ +dl.icon { + min-height: 35px; + height: auto !important; + height: 35px; +} \ No newline at end of file diff --git a/phpBB/styles/subsilver2/imageset/imageset.cfg b/phpBB/styles/subsilver2/imageset/imageset.cfg index c9d9442a0c..80c9c349c6 100644 --- a/phpBB/styles/subsilver2/imageset/imageset.cfg +++ b/phpBB/styles/subsilver2/imageset/imageset.cfg @@ -84,6 +84,8 @@ img_global_unread_locked_mine = announce_unread_locked_mine.gif*18*19 img_pm_read = topic_read.gif*18*19 img_pm_unread = topic_unread.gif*18*19 +img_icon_back_top = + img_icon_contact_aim = {LANG}/icon_contact_aim.gif img_icon_contact_email = {LANG}/icon_contact_email.gif img_icon_contact_icq = {LANG}/icon_contact_icq.gif From 1232935c61f7287022a8551c0a78bd4d319d8ba1 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Sat, 7 Apr 2007 02:18:17 +0000 Subject: [PATCH 342/707] #8776 Numerous minimal test-cases and re-ordering of markup to attempt to get the same effect (way to spend 6 hours... thanks Internet Explorer @_@), it seems IE will randomly destroy the ability of 's with "display: block" to have negative margin when they are children of blocks which have padding. Have removed said padding from the offending parent and change the left-corner image to one that is _5000px_ wide (should cover QHDTV resolutions? :P), which creates the "double-border" effect top and bottom via a kind of a "sliding doors" way. IE7 works now, though there's some weird footer "flicker" when the menu is hovered (IE6 just does this al the while @_@). Better than nothing for now. Alternatively, nuke every PC which has IE installed. @_@ git-svn-id: file:///svn/phpbb/trunk@7292 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/images/corners_left.gif | Bin 174 -> 796 bytes phpBB/adm/style/admin.css | 20 +++++++------------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/phpBB/adm/images/corners_left.gif b/phpBB/adm/images/corners_left.gif index fdba34adbc886a0e49e5f8fd094b6d59ceac68b8..bacd27649559fe68d1b833ee6cc3947804de00d9 100644 GIT binary patch delta 764 zcmV;BupU|juO08P2*sONT?Rvl9uy{-^ zo6qR9dd+UT-|)D6POsbV_`H74@B9CNfr5jCg@%WSQUeVK1rY#{k&=^?m6n&7nVOrN zot~edp`xRtrKYEUsHv)}tgWuEu(7hUw6(UkxVgH!yuH4^z`?@9#Kp$P$jQpf%+1cv z(9zP<)YaD4*xB0K+}+;a;Njxqcgo+{v@2&!0ep3LQ$csL`WHlPX=xw5ijlP@_tnO0}xht5~yY-AWQc z0RUXXiXBU~tl6_@)2dy|wyoQ@aO29IOSi7wyLj{J-OIPH-@kwZ3m#0ku;Igqi!xYX zAhF}ekRwZfo=my2<;$2eYu?Pcv**vCLyI0wy0q!js8g$69XbGje5_;3o=v;9?c2C> z>)y?~x9{J;g9{%{ytwh>$dfCV;2QSw=g^}|pH98H_3PNPYv0bjyZ7(l!;2qJzVzb8 z<)+2GuUD}B1t{QufCLt3;DHDxsNk7`3^wTCgAhh2 z;dS)bgU^H*W~kwY9Cqm8haiS1;)o=cXyS<|=Cw#82FT;$i!jD00+o_zM{=bwNEDkvNw0029pDZ%sr delta 137 zcmV;40CxYJ2Ce}{M@dFFIbj9>3;@Iu0RR90+t<doc8wi znwpyV`T4T4vZ<)1yt=ootg4@%p7iweprD`s|NoIu9FbrPk!=k$1^^5I00k>x5D-o@ r1kF-F0Fej)A}|FY-G^e_(f|lN9}uVG(QG#tOomb!03y<35CQ-@LO4Ps diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 0a5710f38c..3410034803 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -285,26 +285,15 @@ a:active { ---------------------------------------- */ #acp { margin: 4px 0; - padding: 1px; + padding: 3px 1px; min-width: 550px; background-color: #FFFFFF; border: 1px #999999 solid; } -/* WinIE tweaks \*/ -* html .box .corner1 { width: 6px; background-position: 2px 0px; } -* html .box .corner3 { width: 6px; background-position: 2px -7px; } -* html .box .corner2, * html .box .corner4 { width: 7px; } -/* End tweaks */ - -/* Moz tweak to fix occasional 1px vertical rounding error with the -bottom corners. - The corner image is 1px taller so we make the container a bit taller too */ -html>body .box .corner3, html>body .box .corner4 { height: 6px; } - .panel { background: #F3F3F3 url("../images/innerbox_bg.gif") repeat-x top; - padding: 2px 0; + padding: 0; } span.corners-top, span.corners-bottom, @@ -339,6 +328,11 @@ span.corners-bottom span { background-position: 100% 100%; } +/* WinIE tweaks \*/ +* html span.corners-top, * html span.corners-bottom { background-image: url("../images/corners_left.gif"); } +* html span.corners-top span, * html span.corners-bottom span { background-image: url("../images/corners_right.gif"); } +/* End tweaks */ + /* Sub-navigation Menu ---------------------------------------- */ From 191276c61b0d6348d9f239951d350f19c3f350ea Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 7 Apr 2007 03:45:59 +0000 Subject: [PATCH 343/707] #9662 git-svn-id: file:///svn/phpbb/trunk@7293 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index cb7b43fb27..f86466934d 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -216,7 +216,7 @@ class acp_database $file_name = $phpbb_root_path . 'store/' . $matches[0]; - if (!file_exists($file_name) || !is_readable($file_name))) + if (!file_exists($file_name) || !is_readable($file_name)) { trigger_error($user->lang['BACKUP_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING); } From 145a68998b26c3c83019ed1b8a12db73ae7e3e74 Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 7 Apr 2007 04:09:34 +0000 Subject: [PATCH 344/707] #9667 git-svn-id: file:///svn/phpbb/trunk@7294 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/template/ucp_groups_manage.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/prosilver/template/ucp_groups_manage.html b/phpBB/styles/prosilver/template/ucp_groups_manage.html index 526de1f978..2cc5fd1f73 100644 --- a/phpBB/styles/prosilver/template/ucp_groups_manage.html +++ b/phpBB/styles/prosilver/template/ucp_groups_manage.html @@ -41,7 +41,7 @@
-
checked="checked" /> {L_PARSE_BBCODE}   checked="checked" /> {L_PARSE_SMILIES}   checked="checked" /> {L_PARSE_URLS}
+
  
From 9adec9a363b50c887cd3c34fcfe89e22908cdb1e Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 7 Apr 2007 04:17:44 +0000 Subject: [PATCH 345/707] *** empty log message *** git-svn-id: file:///svn/phpbb/trunk@7295 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/template/ucp_groups_manage.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/prosilver/template/ucp_groups_manage.html b/phpBB/styles/prosilver/template/ucp_groups_manage.html index 2cc5fd1f73..318c97d497 100644 --- a/phpBB/styles/prosilver/template/ucp_groups_manage.html +++ b/phpBB/styles/prosilver/template/ucp_groups_manage.html @@ -40,7 +40,7 @@
-
+
  
From 2d777e7e9ce611dacb3f44ed25bca58e58ad47ea Mon Sep 17 00:00:00 2001 From: David M Date: Sat, 7 Apr 2007 13:27:30 +0000 Subject: [PATCH 346/707] #9674 git-svn-id: file:///svn/phpbb/trunk@7296 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/memberlist.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 144a316143..7177be0714 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -859,7 +859,7 @@ switch ($mode) $template_html = 'memberlist_body.html'; // Sorting - $sort_key_text = array('a' => $user->lang['SORT_USERNAME'], 'b' => $user->lang['SORT_LOCATION'], 'c' => $user->lang['SORT_JOINED'], 'd' => $user->lang['SORT_POST_COUNT'], 'e' => $user->lang['SORT_EMAIL'], 'f' => $user->lang['WEBSITE'], 'g' => $user->lang['ICQ'], 'h' => $user->lang['AIM'], 'i' => $user->lang['MSNM'], 'j' => $user->lang['YIM'], 'k' => $user->lang['JABBER'], 'n' => $user->lang['LAST_ACTIVE']); + $sort_key_text = array('a' => $user->lang['SORT_USERNAME'], 'b' => $user->lang['SORT_LOCATION'], 'c' => $user->lang['SORT_JOINED'], 'd' => $user->lang['SORT_POST_COUNT'], 'e' => $user->lang['SORT_EMAIL'], 'f' => $user->lang['WEBSITE'], 'g' => $user->lang['ICQ'], 'h' => $user->lang['AIM'], 'i' => $user->lang['MSNM'], 'j' => $user->lang['YIM'], 'k' => $user->lang['JABBER']); if ($auth->acl_get('u_viewonline')) { @@ -867,7 +867,7 @@ switch ($mode) } $sort_key_text['m'] = $user->lang['SORT_RANK']; - $sort_key_sql = array('a' => 'u.username_clean', 'b' => 'u.user_from', 'c' => 'u.user_regdate', 'd' => 'u.user_posts', 'e' => 'u.user_email', 'f' => 'u.user_website', 'g' => 'u.user_icq', 'h' => 'u.user_aim', 'i' => 'u.user_msnm', 'j' => 'u.user_yim', 'k' => 'u.user_jabber', 'n' => 'u.user_lastvisit'); + $sort_key_sql = array('a' => 'u.username_clean', 'b' => 'u.user_from', 'c' => 'u.user_regdate', 'd' => 'u.user_posts', 'e' => 'u.user_email', 'f' => 'u.user_website', 'g' => 'u.user_icq', 'h' => 'u.user_aim', 'i' => 'u.user_msnm', 'j' => 'u.user_yim', 'k' => 'u.user_jabber'); if ($auth->acl_get('u_viewonline')) { @@ -1386,7 +1386,7 @@ switch ($mode) 'U_SORT_AIM' => $sort_url . '&sk=h&sd=' . (($sort_key == 'h' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_MSN' => $sort_url . '&sk=i&sd=' . (($sort_key == 'i' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_YIM' => $sort_url . '&sk=j&sd=' . (($sort_key == 'j' && $sort_dir == 'a') ? 'd' : 'a'), - 'U_SORT_ACTIVE' => $sort_url . '&sk=n&sd=' . (($sort_key == 'n' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_ACTIVE' => $sort_url . '&sk=l&sd=' . (($sort_key == 'l' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_RANK' => $sort_url . '&sk=m&sd=' . (($sort_key == 'm' && $sort_dir == 'a') ? 'd' : 'a'), 'U_LIST_CHAR' => $sort_url . '&sk=a&sd=' . (($sort_key == 'l' && $sort_dir == 'a') ? 'd' : 'a'), From 9ca34f8dfa8cf352d635d6fb52d077bc5a030f24 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Sat, 7 Apr 2007 23:32:47 +0000 Subject: [PATCH 347/707] Sync prosilver-ACP's feature to prosilver template (vanilla & website)... Always show a scrollbar for short pages - stops the jump when the scrollbar appears, non-ie browsers. git-svn-id: file:///svn/phpbb/trunk@7297 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/theme/common.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/phpBB/styles/prosilver/theme/common.css b/phpBB/styles/prosilver/theme/common.css index 935b81b9dd..a57246e5a3 100644 --- a/phpBB/styles/prosilver/theme/common.css +++ b/phpBB/styles/prosilver/theme/common.css @@ -9,6 +9,9 @@ html { font-size: 100%; + /* Always show a scrollbar for short pages - stops the jump when the scrollbar appears. non-ie browsers */ + height: 100%; + margin-bottom: 1px; } body { From ade09d36a10e9690e2a9d87eee91cb18920c4b21 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Sat, 7 Apr 2007 23:45:45 +0000 Subject: [PATCH 348/707] 0.1px is perfectly valid... stops the 1px-worth of scrollbar "jump" in Gecko browsers :D git-svn-id: file:///svn/phpbb/trunk@7298 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/admin.css | 2 +- phpBB/styles/prosilver/theme/common.css | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 3410034803..2cd706ac44 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -30,7 +30,7 @@ html { background: #DBD7D1; /* Always show a scrollbar for short pages - stops the jump when the scrollbar appears. non-ie browsers */ height: 100%; - margin-bottom: 1px; + margin-bottom: 0.1px; } body { diff --git a/phpBB/styles/prosilver/theme/common.css b/phpBB/styles/prosilver/theme/common.css index a57246e5a3..b382ebc411 100644 --- a/phpBB/styles/prosilver/theme/common.css +++ b/phpBB/styles/prosilver/theme/common.css @@ -9,9 +9,9 @@ html { font-size: 100%; - /* Always show a scrollbar for short pages - stops the jump when the scrollbar appears. non-ie browsers */ + /* Always show a scrollbar for short pages - stops the jump when the scrollbar appears. non-IE browsers */ height: 100%; - margin-bottom: 1px; + margin-bottom: 0.1px; } body { From 7915732d9a3119cb3ccc204abc6cb3b5c7a429be Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Sat, 7 Apr 2007 23:56:07 +0000 Subject: [PATCH 349/707] Backout last change... seems Opera 9.x wants to round non-integer pixels down. Don't want to be getting into esoteric CSS browser filtering rules when not needed. git-svn-id: file:///svn/phpbb/trunk@7299 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/admin.css | 2 +- phpBB/styles/prosilver/theme/common.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 2cd706ac44..3410034803 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -30,7 +30,7 @@ html { background: #DBD7D1; /* Always show a scrollbar for short pages - stops the jump when the scrollbar appears. non-ie browsers */ height: 100%; - margin-bottom: 0.1px; + margin-bottom: 1px; } body { diff --git a/phpBB/styles/prosilver/theme/common.css b/phpBB/styles/prosilver/theme/common.css index b382ebc411..170d4b0a83 100644 --- a/phpBB/styles/prosilver/theme/common.css +++ b/phpBB/styles/prosilver/theme/common.css @@ -11,7 +11,7 @@ html { font-size: 100%; /* Always show a scrollbar for short pages - stops the jump when the scrollbar appears. non-IE browsers */ height: 100%; - margin-bottom: 0.1px; + margin-bottom: 1px; } body { From 4f5cf86db9fa7f4525480355b73e4f63f321a3fb Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 8 Apr 2007 09:32:26 +0000 Subject: [PATCH 350/707] I should have sent this in a while ago O_O git-svn-id: file:///svn/phpbb/trunk@7300 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_admin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index a0fb8ddd54..df7a7f794a 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -2545,7 +2545,7 @@ function update_foes($group_id = false, $user_id = false) { case 'mysqli': case 'mysql4': - $sql = 'DELETE z.* + $sql = 'DELETE ' . ($db->sql_layer === 'mysqli' || version_compare($db->mysql_version, '4.1', '>=')) ? ZEBRA_TABLE : 'z.*' . ' FROM ' . ZEBRA_TABLE . ' z, ' . USER_GROUP_TABLE . ' ug WHERE z.zebra_id = ug.user_id AND z.foe = 1 From 539ac00f02f24266f598fb746b2e145e1ec46182 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 8 Apr 2007 09:43:21 +0000 Subject: [PATCH 351/707] - (x)HTML bug - added functionality for MySQL 5.0.37+ (on the community branch), EXPLAIN is now more detailed. To reap full benefits, use *NIX OS. This may or may not stay git-svn-id: file:///svn/phpbb/trunk@7301 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/db/dbal.php | 1 + phpBB/includes/db/mysql.php | 59 +++++++++++++++++++++++++++++++++++ phpBB/includes/db/mysqli.php | 60 ++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+) diff --git a/phpBB/includes/db/dbal.php b/phpBB/includes/db/dbal.php index 80fa1322e9..dbc0859733 100644 --- a/phpBB/includes/db/dbal.php +++ b/phpBB/includes/db/dbal.php @@ -626,6 +626,7 @@ class dbal
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_PM_TO}
{L_USERNAME}:
[ {L_FIND_USERNAME} ]
 
{L_USERNAMES}:

+ [ {L_FIND_USERNAME} ] +
{L_USERGROUPS}:
  
  
+
+ + + + + + + + + + + + + +
{L_OPTIONS}
{l_block1.L_TITLE} + + + + + + + +
+ + + + + + + +
{l_block1.L_TITLE} + +
+ +
+ + + + + + + + + + + + + + + + +
{L_MESSAGE_COLOURS}
{pm_colour_info.LANG}{pm_colour_info.IMG}{pm_colour_info.LANG}
+ +
+ + + + + + + + + + +
{L_FRIENDS}
+ + {L_FRIENDS_ONLINE} + + + +
+ + {L_FRIENDS_OFFLINE} + + + +
+ + +
diff --git a/phpBB/styles/subsilver2/template/ucp_main_bookmarks.html b/phpBB/styles/subsilver2/template/ucp_main_bookmarks.html new file mode 100644 index 0000000000..7df1d3d5ac --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_main_bookmarks.html @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_UCP}
{L_BOOKMARKS_EXPLAIN}
{L_BOOKMARKS}
{L_BOOKMARKS_DISABLED}
{topicrow.TOPIC_FOLDER_IMG}{L_DELETED_TOPIC} +

{topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TITLE}

+ {L_GLOBAL_ANNOUNCEMENT}{L_FORUM}: {topicrow.FORUM_NAME} + +

[ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ]

+ +
+

{topicrow.LAST_POST_TIME}

+

{topicrow.LAST_POST_AUTHOR_FULL} + {topicrow.LAST_POST_IMG} +

+
 {L_MOVE_UP} | {L_MOVE_DOWN} 
{L_NO_BOOKMARKS}
 
+ + + + + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_main_drafts.html b/phpBB/styles/subsilver2/template/ucp_main_drafts.html new file mode 100644 index 0000000000..05749efabe --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_main_drafts.html @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_UCP}
{L_DRAFTS_EXPLAIN}
{ERROR}
{L_SAVE_DATE}{L_DRAFT_TITLE}{L_OPTIONS}{L_DELETE}
{draftrow.DATE} +

{draftrow.DRAFT_SUBJECT}

+ {L_TOPIC}: {draftrow.TITLE} + {L_FORUM}: {draftrow.TITLE} + {L_PRIVATE_MESSAGE} + {L_NO_TOPIC_FORUM} +
{L_LOAD_DRAFT}
{L_VIEW_EDIT}
{L_NO_SAVED_DRAFTS}
 
{L_SUBJECT}:
{L_MESSAGE}:
{L_EDIT_DRAFT_EXPLAIN}
+ + + + + + + + + +
+ + + + +
+ +
+
+

{L_BACK_TO_DRAFTS}

{S_HIDDEN_FIELDS}  
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_main_front.html b/phpBB/styles/subsilver2/template/ucp_main_front.html new file mode 100644 index 0000000000..93bafe0798 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_main_front.html @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_UCP}

{L_UCP_WELCOME}

{L_IMPORTANT_NEWS}
{topicrow.TOPIC_FOLDER_IMG} +

{topicrow.NEWEST_POST_IMG} {topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TITLE}

{topicrow.GOTO_PAGE}

+
+

{topicrow.LAST_POST_TIME}

+

{topicrow.LAST_POST_AUTHOR_FULL} + {topicrow.LAST_POST_IMG} +

+
{L_NO_IMPORTANT_NEWS}
{L_YOUR_DETAILS}
+ + + + + + + + + + + + + + + + + + + + + + + + + +
{L_JOINED}: {JOINED}
{L_TOTAL_POSTS}: {POSTS}
[{POSTS_PCT} / {POSTS_DAY}]
{L_SEARCH_USER_POSTS}
{POSTS}
{L_ACTIVE_IN_FORUM}: {ACTIVE_FORUM}
[ {ACTIVE_FORUM_POSTS} / {ACTIVE_FORUM_PCT} ]-
{L_ACTIVE_IN_TOPIC}: {ACTIVE_TOPIC}
[ {ACTIVE_TOPIC_POSTS} / {ACTIVE_TOPIC_PCT} ]-
{L_YOUR_WARNINGS}: {WARNING_IMG} [ {WARNINGS} ]
+
 
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_main_subscribed.html b/phpBB/styles/subsilver2/template/ucp_main_subscribed.html new file mode 100644 index 0000000000..009ae928dd --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_main_subscribed.html @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_UCP}
{L_WATCHED_EXPLAIN}
{L_WATCHED_FORUMS}
{forumrow.FORUM_FOLDER_IMG}

{forumrow.FORUM_NAME}

{forumrow.LAST_POST_TIME}
{forumrow.LAST_POST_AUTHOR_FULL} {forumrow.LAST_POST_IMG}{L_NO_POSTS}
{L_NO_WATCHED_FORUMS}
{L_WATCHED_TOPICS}
+ + + + + + +
 [ {TOTAL_TOPICS} ] 
+
{topicrow.TOPIC_FOLDER_IMG} +

{topicrow.NEWEST_POST_IMG} {topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TITLE}


+ +

[ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ]

+ +
+

{topicrow.LAST_POST_TIME}

+

{topicrow.LAST_POST_AUTHOR_FULL} + {topicrow.LAST_POST_IMG} +

+
{L_NO_WATCHED_TOPICS}
 
+ + + + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_pm_history.html b/phpBB/styles/subsilver2/template/ucp_pm_history.html new file mode 100644 index 0000000000..e9e77863a0 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_pm_history.html @@ -0,0 +1,68 @@ + + + + + + + + +
{L_MESSAGE_HISTORY} - {TITLE}
+ + + + + + + + + + + + + + + + + + + + + + + + +
{L_AUTHOR}{L_MESSAGE}
+ + + + +
+
style="background-color:lightblue"> +
{L_PM_SUBJECT}: {history_row.SUBJECT}
{L_FOLDER}: {history_row.FOLDER}
+
+ + + + + + + +
+ + + + +
{history_row.MESSAGE}
+
+ + + + + + +
 {history_row.MINI_POST_IMG}{L_SENT_AT}: {history_row.SENT_DATE}
+
+
{L_VIEW_PM}
+
+ +
diff --git a/phpBB/styles/subsilver2/template/ucp_pm_message_footer.html b/phpBB/styles/subsilver2/template/ucp_pm_message_footer.html new file mode 100644 index 0000000000..61d3c8300e --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_pm_message_footer.html @@ -0,0 +1,41 @@ + + + + + + + + + +
+ + + + + +
+ + + {L_PRINT_PM} | + {L_FORWARD_PM} + + + + +
+ + + +   +
+ +
+ {L_DISPLAY_MESSAGES}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} +
+ +
+
+ + + + diff --git a/phpBB/styles/subsilver2/template/ucp_pm_message_header.html b/phpBB/styles/subsilver2/template/ucp_pm_message_header.html new file mode 100644 index 0000000000..0bbf658600 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_pm_message_header.html @@ -0,0 +1,34 @@ + + + + + +
+ + + + + +
+ + + + + + + + + + +
 [ {FOLDER_CUR_MESSAGES}/{FOLDER_MAX_MESSAGES} {L_MESSAGES} ({FOLDER_PERCENT}%) ]  [ {FOLDER_CUR_MESSAGES} {L_MESSAGES} ] 
+ + + + + + {L_VIEW_PREVIOUS_HISTORY} | {L_VIEW_NEXT_HISTORY} | + {L_VIEW_PREVIOUS_PM} | {L_VIEW_NEXT_PM}  + + +
+
diff --git a/phpBB/styles/subsilver2/template/ucp_pm_options.html b/phpBB/styles/subsilver2/template/ucp_pm_options.html new file mode 100644 index 0000000000..7e2326c084 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_pm_options.html @@ -0,0 +1,191 @@ + + + + + + + +
+ {ERROR_MESSAGE} + {NOTIFICATION_MESSAGE} +
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_ADD_NEW_RULE}
{L_IF}:{CHECK_CURRENT} 
 {RULE_CURRENT} 
  + + + + +  [ {L_FIND_USERNAME} ] + + {L_NO_GROUPS} + + + {COND_CURRENT} + + +  
 {ACTION_CURRENT} 
+ +
+ + + + + + + + + + + + + + + + + + + +
{L_DEFINED_RULES}
{rule.COUNT}{rule.CHECK}{rule.RULE}{rule.STRING}{rule.ACTION} -> {rule.FOLDER}
{L_NO_RULES_DEFINED}
+ +
+ + + + + + + + + + + + + + + + + +
{L_RENAME_FOLDER}
{L_RENAME_FOLDER}:
{L_NEW_FOLDER_NAME}:
+ +
+ + + + + + + + + + + + + + + + + + + + +
{L_ADD_FOLDER}
{L_MAX_FOLDER_REACHED}
{L_ADD_FOLDER}:
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + +
{L_REMOVE_FOLDER}
{L_REMOVE_FOLDER}: {L_AND}
  {L_MOVE_DELETED_MESSAGES_TO}  
  {L_DELETE_MESSAGES_IN_FOLDER}
 
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
{L_FOLDER_OPTIONS}
{L_IF_FOLDER_FULL}:  {L_DELETE_OLDEST_MESSAGES}
  {L_MOVE_TO_FOLDER}:
  {L_HOLD_NEW_MESSAGES}
{L_DEFAULT_ACTION}:
{L_DEFAULT_ACTION_EXPLAIN}
{DEFAULT_ACTION}
+
+ diff --git a/phpBB/styles/subsilver2/template/ucp_pm_popup.html b/phpBB/styles/subsilver2/template/ucp_pm_popup.html new file mode 100644 index 0000000000..ee49eb2a6b --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_pm_popup.html @@ -0,0 +1,37 @@ + + + + + + + + +
+ + + + +
+
+ + {L_LOGIN_CHECK_PM} + + {MESSAGE}

{CLICK_TO_VIEW} + +
+

{L_CLOSE_WINDOW}

+
+
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_pm_viewfolder.html b/phpBB/styles/subsilver2/template/ucp_pm_viewfolder.html new file mode 100644 index 0000000000..57c05afcc7 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_pm_viewfolder.html @@ -0,0 +1,121 @@ + + +
+ + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + +
{L_OPTIONS}
{L_DELIMITER}:
{L_ENCLOSURE}:
  
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + {RULE_REMOVED_MESSAGES} +
+ + + {NOT_MOVED_MESSAGES}
{RELEASE_MESSAGE_INFO} + +
 {L_SUBJECT}  {L_RECIPIENTS}{L_AUTHOR}  {L_SENT_AT}  {L_MARK} 
{messagerow.FOLDER_IMG}{messagerow.PM_ICON_IMG} + +   + + {messagerow.PM_IMG}  + + + + {messagerow.ATTACH_ICON_IMG} + + {L_MESSAGE_REMOVED_FROM_OUTBOX}
+ {L_DELETE_MESSAGE} + + {messagerow.SUBJECT} + + +
{L_PM_FROM_REMOVED_AUTHOR} + +

{messagerow.RECIPIENTS}{messagerow.MESSAGE_AUTHOR_FULL}

{messagerow.SENT_TIME}

{L_NO_MESSAGES}
+ + + + + + + +
+ +
 
+
  
+ +
+ +
+ + + + +
+ +
+ + diff --git a/phpBB/styles/subsilver2/template/ucp_pm_viewmessage.html b/phpBB/styles/subsilver2/template/ucp_pm_viewmessage.html new file mode 100644 index 0000000000..00fd2cba00 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_pm_viewmessage.html @@ -0,0 +1,124 @@ + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_PM_SUBJECT}:{SUBJECT}
{L_PM_FROM}:{MESSAGE_AUTHOR_FULL}
{L_SENT_AT}:{SENT_DATE}
{L_TO}: + + {to_recipient.NAME}{to_recipient.NAME_FULL}  + +
{L_BCC}: + + {bcc_recipient.NAME}{bcc_recipient.NAME_FULL}  + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
{L_MESSAGE}
+ + + + +
+
{MESSAGE}
+ + +

+ + + + + + + + + + +
{L_ATTACHMENTS}:
{attachment.DISPLAY_ATTACHMENT}
+ + + +

{L_DOWNLOAD_NOTICE}
+ + +
_________________
{SIGNATURE}
+ + + {EDITED_MESSAGE} + + +

+ + + + + +
{INFO_IMG} {DELETE_IMG}
+ +
+
+ +
+ + +
+ +
+ + + + diff --git a/phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html b/phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html new file mode 100644 index 0000000000..ba949751d9 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html @@ -0,0 +1,131 @@ + + + + + + +{SITENAME} :: {PAGE_TITLE} + + + + + + + + + + + + + + + + + +
{SITENAME}
{L_PRIVATE_MESSAGING}

{SUBJECT}
{PAGE_NUMBER}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
{L_PM_FROM}: {MESSAGE_AUTHOR} [ {SENT_DATE} ]
{L_TO}: + + class="blue">{to_recipient.NAME}  + +
{L_BCC}: + + class="blue">{bcc_recipient.NAME}  + +

{MESSAGE}
+ +
+ + + + + + + + + + +
{PAGE_NUMBER}{S_TIMEZONE}
Powered by phpBB © 2002, 2006 phpBB Group
http://www.phpbb.com/
+ + + diff --git a/phpBB/styles/subsilver2/template/ucp_prefs_personal.html b/phpBB/styles/subsilver2/template/ucp_prefs_personal.html new file mode 100644 index 0000000000..ffff4a4280 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_prefs_personal.html @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_TITLE}
{ERROR}
{L_SHOW_EMAIL}: checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_ADMIN_EMAIL}: checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_ALLOW_PM}:
{L_ALLOW_PM_EXPLAIN}
checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_HIDE_ONLINE}: checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_NOTIFY_METHOD}:
{L_NOTIFY_METHOD_EXPLAIN}
checked="checked" />{L_NOTIFY_METHOD_EMAIL}   checked="checked" />{L_NOTIFY_METHOD_IM}   checked="checked" />{L_NOTIFY_METHOD_BOTH}
{L_NOTIFY_ON_PM}: checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_POPUP_ON_PM}: checked="checked" />{L_YES}   checked="checked" />{L_NO}
{L_BOARD_LANGUAGE}:
{L_BOARD_STYLE}:
{L_BOARD_TIMEZONE}: + +
{L_BOARD_DST}: checked="checked" /> {L_YES}   checked="checked" /> {L_NO}
{L_BOARD_DATE_FORMAT}:
{L_BOARD_DATE_FORMAT_EXPLAIN}
+ +
style="display:none;">
+
{S_HIDDEN_FIELDS}  
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_prefs_post.html b/phpBB/styles/subsilver2/template/ucp_prefs_post.html new file mode 100644 index 0000000000..7ef608f379 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_prefs_post.html @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_TITLE}
{ERROR}
{L_DEFAULT_BBCODE}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_DEFAULT_SMILIES}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_DEFAULT_ADD_SIG}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_DEFAULT_NOTIFY}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{S_HIDDEN_FIELDS}  
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_prefs_view.html b/phpBB/styles/subsilver2/template/ucp_prefs_view.html new file mode 100644 index 0000000000..41b6cd88cd --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_prefs_view.html @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_TITLE}
{ERROR}
{L_VIEW_IMAGES}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_VIEW_FLASH}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_VIEW_SMILIES}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_VIEW_SIGS}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_VIEW_AVATARS}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_DISABLE_CENSORS}: checked="checked" />{L_YES}    checked="checked" />{L_NO}
{L_VIEW_TOPICS_DAYS}:{S_TOPIC_SORT_DAYS}
{L_VIEW_TOPICS_KEY}:{S_TOPIC_SORT_KEY}
{L_VIEW_TOPICS_DIR}:{S_TOPIC_SORT_DIR}
{L_VIEW_POSTS_DAYS}:{S_POST_SORT_DAYS}
{L_VIEW_POSTS_KEY}:{S_POST_SORT_KEY}
{L_VIEW_POSTS_DIR}:{S_POST_SORT_DIR}
{S_HIDDEN_FIELDS}  
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_profile_avatar.html b/phpBB/styles/subsilver2/template/ucp_profile_avatar.html new file mode 100644 index 0000000000..00a2e4f415 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_profile_avatar.html @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_TITLE}
{ERROR}
{L_CURRENT_IMAGE}:
{L_AVATAR_EXPLAIN}

+ {AVATAR}

 {L_DELETE_AVATAR} + +
{L_UPLOAD_AVATAR_FILE}:
{L_UPLOAD_AVATAR_URL}:
{L_UPLOAD_AVATAR_URL_EXPLAIN}
{L_LINK_REMOTE_AVATAR}:
{L_LINK_REMOTE_AVATAR_EXPLAIN}
{L_LINK_REMOTE_SIZE}:
{L_LINK_REMOTE_SIZE_EXPLAIN}
px X px
{L_AVATAR_GALLERY}: {L_DISPLAY_GALLERY}
{L_AVATAR_GALLERY}
{L_AVATAR_CATEGORY}:  
+ + + + + + + + + + + + + +
{avatar_row.avatar_column.AVATAR_NAME}
+
{S_HIDDEN_FIELDS}  
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_profile_profile_info.html b/phpBB/styles/subsilver2/template/ucp_profile_profile_info.html new file mode 100644 index 0000000000..564faa2524 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_profile_profile_info.html @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_TITLE}
{ERROR}
{L_PROFILE_INFO_NOTICE}
{L_UCP_ICQ}:
{L_UCP_AIM}:
{L_UCP_MSNM}:
{L_UCP_YIM}:
{L_UCP_JABBER}:
{L_WEBSITE}:
{L_LOCATION}:
{L_OCCUPATION}:
{L_INTERESTS}:
{L_BIRTHDAY}:
{L_BIRTHDAY_EXPLAIN}
{L_DAY}: {L_MONTH}: {L_YEAR}:
+ {profile_fields.LANG_NAME}: + * +
{profile_fields.LANG_EXPLAIN} +
{profile_fields.FIELD}
{profile_fields.ERROR}
{S_HIDDEN_FIELDS}  
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_profile_reg_details.html b/phpBB/styles/subsilver2/template/ucp_profile_reg_details.html new file mode 100644 index 0000000000..6ade4c8cba --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_profile_reg_details.html @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_TITLE}
{L_FORCE_PASSWORD_EXPLAIN}
{ERROR}
{L_USERNAME}:
{L_USERNAME_EXPLAIN}
{USERNAME}
{L_EMAIL_ADDRESS}: {EMAIL}
{L_CONFIRM_EMAIL}:
{L_CONFIRM_EMAIL_EXPLAIN}
{L_NEW_PASSWORD}:
{L_CHANGE_PASSWORD_EXPLAIN}
{L_CONFIRM_PASSWORD}:
{L_CONFIRM_PASSWORD_EXPLAIN}
{L_CONFIRM_CHANGES}
{L_CURRENT_PASSWORD}:
{L_CURRENT_PASSWORD_EXPLAIN}
{S_HIDDEN_FIELDS}  
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_profile_signature.html b/phpBB/styles/subsilver2/template/ucp_profile_signature.html new file mode 100644 index 0000000000..f5e8ba032a --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_profile_signature.html @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_TITLE}
{L_SIGNATURE_EXPLAIN}
{ERROR}
+ + + + + + + + + + +
+ + + + +
+ +
+
+
{L_OPTIONS}
+ + + + + + + + + + + + + + + + +
{BBCODE_STATUS}
{IMG_STATUS}
{FLASH_STATUS}
{URL_STATUS}
{SMILIES_STATUS}
+
+ + + + + + + + + + + + + + + + + + + +
{L_DISABLE_BBCODE}
{L_DISABLE_SMILIES}
{L_DISABLE_MAGIC_URL}
+
{L_SIGNATURE_PREVIEW}
{SIGNATURE_PREVIEW}
{S_HIDDEN_FIELDS}    
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_register.html b/phpBB/styles/subsilver2/template/ucp_register.html new file mode 100644 index 0000000000..870c2ae1c7 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_register.html @@ -0,0 +1,111 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_REGISTRATION}
{ERROR}
{L_REG_COND}
{L_ITEMS_REQUIRED}
{L_USERNAME}:
{L_USERNAME_EXPLAIN}
{L_EMAIL_ADDRESS}:
{L_CONFIRM_EMAIL}:
{L_PASSWORD}:
{L_PASSWORD_EXPLAIN}
{L_CONFIRM_PASSWORD}:
{L_LANGUAGE}:
{L_TIMEZONE}:
+ {profile_fields.LANG_NAME}: + * +
{profile_fields.LANG_EXPLAIN} +
{profile_fields.FIELD}
{profile_fields.ERROR}
{L_CONFIRMATION}
{L_CONFIRM_EXPLAIN}
{CONFIRM_IMG}
{L_CONFIRM_CODE}:
{L_CONFIRM_CODE_EXPLAIN}
{L_COPPA_COMPLIANCE}
{L_COPPA_EXPLAIN}
{S_HIDDEN_FIELDS}  
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_remind.html b/phpBB/styles/subsilver2/template/ucp_remind.html new file mode 100644 index 0000000000..47baf1d447 --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_remind.html @@ -0,0 +1,28 @@ + + +
+ +
+ + + + + + + + + + + + + + + + +
{L_SEND_PASSWORD}
{L_USERNAME}:
{L_EMAIL_ADDRESS}:
{L_EMAIL_REMIND}
{S_HIDDEN_FIELDS}  
+ +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_resend.html b/phpBB/styles/subsilver2/template/ucp_resend.html new file mode 100644 index 0000000000..df72b523bc --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_resend.html @@ -0,0 +1,28 @@ + + +
+ +
+ + + + + + + + + + + + + + + + +
{L_UCP_RESEND}
{L_USERNAME}:
{L_EMAIL_ADDRESS}:
{L_EMAIL_REMIND}
{S_HIDDEN_FIELDS}  
+ +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_zebra_foes.html b/phpBB/styles/subsilver2/template/ucp_zebra_foes.html new file mode 100644 index 0000000000..d87eed567c --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_zebra_foes.html @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_TITLE}
{L_FOES_EXPLAIN}
{ERROR}
{L_YOUR_FOES}:
{L_YOUR_FOES_EXPLAIN}
{L_NO_FOES}
{L_ADD_FOES}:
{L_ADD_FOES_EXPLAIN} [ {L_FIND_USERNAME} ]

{S_HIDDEN_FIELDS}  
+ + + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/ucp_zebra_friends.html b/phpBB/styles/subsilver2/template/ucp_zebra_friends.html new file mode 100644 index 0000000000..4be2b8838f --- /dev/null +++ b/phpBB/styles/subsilver2/template/ucp_zebra_friends.html @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_TITLE}
{L_FRIENDS_EXPLAIN}
{ERROR}
{L_YOUR_FRIENDS}:
{L_YOUR_FRIENDS_EXPLAIN}
{L_NO_FRIENDS}
{L_ADD_FRIENDS}:
{L_ADD_FRIENDS_EXPLAIN} [ {L_FIND_USERNAME} ]

{S_HIDDEN_FIELDS}  
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/viewforum_body.html b/phpBB/styles/subsilver2/template/viewforum_body.html new file mode 100644 index 0000000000..0b724db8d2 --- /dev/null +++ b/phpBB/styles/subsilver2/template/viewforum_body.html @@ -0,0 +1,321 @@ + + + +
+ +

{L_FORUM_RULES}


+ {L_FORUM_RULES_LINK} + +

{L_FORUM_RULES}


+ {FORUM_RULES} + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_ACTIVE_TOPICS}
 {L_TOPICS}  {L_TOPICS}  {L_AUTHOR}  {L_REPLIES}  {L_VIEWS}  {L_LAST_POST} 
{topicrow.TOPIC_FOLDER_IMG} + {NEWEST_POST_IMG} + {topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TYPE} {topicrow.TOPIC_TITLE} + + {UNAPPROVED_IMG}  + + + {REPORTED_IMG}  + + +

[ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ]

+ +

{topicrow.TOPIC_AUTHOR_FULL}

{topicrow.REPLIES}

{topicrow.VIEWS}

+

{topicrow.LAST_POST_TIME}

+

{topicrow.LAST_POST_AUTHOR_FULL} + {LAST_POST_IMG} +

+
{L_NO_TOPICS}{L_NO_TOPICS_TIME_FRAME}{L_NO_TOPICS}{L_NO_TOPICS_TIME_FRAME}
 
+ +
+ + + + +
+ + + + + +

+ + +
+ + + + + + +
{L_NO_READ_ACCESS}
+ + + +

+ +
+ + + + + + + + +

{L_LOGIN_LOGOUT}

{L_USERNAME}:   {L_PASSWORD}:   {L_LOG_ME_IN}  
+ +
+ + + +
+ + + + + + + + + + + + + + +
{POST_IMG} [ {TOTAL_TOPICS} ] 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
 {L_TOPICS}  {L_TOPICS}  {L_AUTHOR}  {L_REPLIES}  {L_VIEWS}  {L_LAST_POST} 
{L_ANNOUNCEMENTS}
{L_TOPICS}
{topicrow.TOPIC_FOLDER_IMG} + {NEWEST_POST_IMG} + {topicrow.ATTACH_ICON_IMG} {topicrow.TOPIC_TYPE} {topicrow.TOPIC_TITLE} + + {topicrow.UNAPPROVED_IMG}  + + + {REPORTED_IMG}  + + +

[ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ]

+ +

{topicrow.TOPIC_AUTHOR_FULL}

{topicrow.REPLIES}

{topicrow.VIEWS}

+

{topicrow.LAST_POST_TIME}

+

{topicrow.LAST_POST_AUTHOR_FULL} + {LAST_POST_IMG} +

+
{L_NO_TOPICS}{L_NO_TOPICS_TIME_FRAME}{L_NO_TOPICS}{L_NO_TOPICS_TIME_FRAME}
+ + + +
{L_DISPLAY_TOPICS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
+
+ + + + + + + + +
{POST_IMG} [ {TOTAL_TOPICS} ]
+ +
+ + +
+ + + + +
+ + + + + + + + +

{L_WHO_IS_ONLINE}

{LOGGED_IN_USER_LIST}

+ + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{FOLDER_NEW_IMG}{L_NEW_POSTS}  {FOLDER_IMG}{L_NO_NEW_POSTS}  {FOLDER_ANNOUNCE_IMG}{L_ICON_ANNOUNCEMENT}
{FOLDER_HOT_NEW_IMG}{L_NEW_POSTS_HOT}  {FOLDER_HOT_IMG}{L_NO_NEW_POSTS_HOT}  {FOLDER_STICKY_IMG}{L_ICON_STICKY}
{FOLDER_LOCKED_NEW_IMG}{L_NEW_POSTS_LOCKED}  {FOLDER_LOCKED_IMG}{L_NO_NEW_POSTS_LOCKED}  {FOLDER_MOVED_IMG}{L_MOVED_TOPIC}
+
{rules.RULE}
+ + +
+ + + + + + +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/viewonline_body.html b/phpBB/styles/subsilver2/template/viewonline_body.html new file mode 100644 index 0000000000..f7404d9b90 --- /dev/null +++ b/phpBB/styles/subsilver2/template/viewonline_body.html @@ -0,0 +1,56 @@ + + +

{TOTAL_REGISTERED_USERS_ONLINE}

+

{TOTAL_GUEST_USERS_ONLINE} [ {L_SWITCH_GUEST_DISPLAY} ]

+
+ + + + + + + +
{L_GOTO_PAGE} {L_PREVIOUS}  {PAGINATION}  {L_NEXT}
+ + + + + + + + + + + + + + + + + + + + + +
{L_USERNAME}{L_LAST_UPDATED}{L_FORUM_LOCATION}

{user_row.USERNAME}

{L_IP}: {user_row.USER_IP} » {L_WHOIS}

 {user_row.LASTUPDATE}

{user_row.FORUM_LOCATION}

{L_LEGEND} :: {LEGEND}
+ + + + + + + +
{L_GOTO_PAGE} {L_PREVIOUS}  {PAGINATION}  {L_NEXT}
+ + +
{L_ONLINE_EXPLAIN}
+ +
+ + + +
+ +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/viewonline_whois.html b/phpBB/styles/subsilver2/template/viewonline_whois.html new file mode 100644 index 0000000000..d10fa2ac0f --- /dev/null +++ b/phpBB/styles/subsilver2/template/viewonline_whois.html @@ -0,0 +1,12 @@ + + + + + + + + + +
{L_WHOIS}
{WHOIS}
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/viewtopic_body.html b/phpBB/styles/subsilver2/template/viewtopic_body.html new file mode 100644 index 0000000000..e41a11dbee --- /dev/null +++ b/phpBB/styles/subsilver2/template/viewtopic_body.html @@ -0,0 +1,345 @@ + + + +
+ +

{L_FORUM_RULES}


+ {L_FORUM_RULES_LINK} + +

{L_FORUM_RULES}


+ {FORUM_RULES} + +
+ +
+ + + + +

+ +
+ + + + + + + + + + +
{POST_IMG} {REPLY_IMG} [ {TOTAL_POSTS} ] 
+ + + + + + + + + + +
+ + + + + +
+

+ +
+ + + + + + + + + + + + + + + + + + + + + + +
{POLL_QUESTION}
{L_POLL_LENGTH}
+ + + + + + + + + + + + + + + + + +
+ + checked="checked" /> + + checked="checked" /> + + {poll_option.POLL_OPTION_CAPTION}{POLL_LEFT_CAP_IMG}{poll_option.POLL_OPTION_IMG}{POLL_RIGHT_CAP_IMG} {poll_option.POLL_OPTION_PERCENT} [ {poll_option.POLL_OPTION_RESULT} ]x
+
{L_MAX_VOTES}

{L_TOTAL_VOTES} : {TOTAL_VOTES}
{L_VIEW_RESULTS}
+ {S_HIDDEN_FIELDS} + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{L_AUTHOR}{L_MESSAGE}
{postrow.L_IGNORE_POST} + + + + + + + + + + +
 {L_POST_SUBJECT}: {postrow.POST_SUBJECT}
{postrow.MINI_POST_IMG}{L_POSTED}: {postrow.POST_DATE} 
+
+ + + + + + + + + + + + + + + + + + + + + +
{postrow.ONLINE_IMG}
{postrow.RANK_TITLE}
{postrow.RANK_IMG}
{postrow.POSTER_AVATAR}
+ + +
{L_JOINED}: {postrow.POSTER_JOINED} +
{L_POSTS}: {postrow.POSTER_POSTS} +
{L_LOCATION}: {postrow.POSTER_FROM} + + + +
{postrow.PROFILE_FIELD1_NAME}: {postrow.PROFILE_FIELD1_VALUE} + + + +
{postrow.custom_fields.PROFILE_FIELD_NAME}: {postrow.custom_fields.PROFILE_FIELD_VALUE} + +
+ +
+ + + + +
+ + + + + +
{UNAPPROVED_IMG} {L_POST_UNAPPROVED} {REPORTED_IMG} {L_POST_REPORTED}
+ +
+ + +
{postrow.MESSAGE}
+ + +

+ + + + + + + + + + +
{L_ATTACHMENTS}:
{postrow.attachment.DISPLAY_ATTACHMENT}
+ + + +

{L_DOWNLOAD_NOTICE}
+ + +
_________________
{postrow.SIGNATURE}
+ + + + +

+ + + + + + + +
{postrow.EDITED_MESSAGE}
{postrow.EDIT_REASON}
+ +

+ {postrow.EDITED_MESSAGE} + + + + + {postrow.BUMPED_MESSAGE} + + +

+ + + + + +
+ + {REPORT_IMG} + {INFO_IMG} + {WARN_IMG} + {DELETE_IMG} + +
+
+
{L_BACK_TO_TOP}
+ + + + + + +
{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS} {L_SORT_BY} {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} 
+ + + + + + + + + + +
{POST_IMG} {REPLY_IMG} [ {TOTAL_POSTS} ] 
+ +
+ + + +
+ + + + +
+ + + + + + + + +

{L_WHO_IS_ONLINE}

{LOGGED_IN_USER_LIST}

+ + +
+ + + + + + +
{L_QUICK_MOD}: {S_TOPIC_MOD}
{rules.RULE}
+ +
+ + + + + + +
+ + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/viewtopic_print.html b/phpBB/styles/subsilver2/template/viewtopic_print.html new file mode 100644 index 0000000000..4f44799613 --- /dev/null +++ b/phpBB/styles/subsilver2/template/viewtopic_print.html @@ -0,0 +1,137 @@ + + + + + + +{SITENAME} :: {PAGE_TITLE} + + + + + + + + + + + + + + + + + +
{SITENAME}
{U_FORUM}

{TOPIC_TITLE}
{U_TOPIC}
{PAGE_NUMBER}
+ + + +
+ + + + + + + + + + + + + +
{L_AUTHOR}:  style="color: {postrow.POST_AUTHOR_COLOUR}">{postrow.POST_AUTHOR} [ {postrow.POST_DATE} ]
{L_POST_SUBJECT}: {postrow.POST_SUBJECT}

{postrow.MESSAGE} + + +

+ + + + + + + + + + +
{L_ATTACHMENTS}:
{postrow.attachment.DISPLAY_ATTACHMENT}
+ + +
+ + +
+ + + + + + + + + + +
{PAGE_NUMBER}{S_TIMEZONE}
Powered by phpBB © 2002, 2006 phpBB Group
http://www.phpbb.com/
+ + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/theme/images/background.gif b/phpBB/styles/subsilver2/theme/images/background.gif new file mode 100644 index 0000000000000000000000000000000000000000..158a6256200b4ac9aadfa5df7b27b68752f8c6cf GIT binary patch literal 510 zcmV{LIwbM~A2D>+8+c+uh>m)7js| z&DFxo($w4G-QC^K*4*0Q<<;Ba)7s$1&eqP=+}7OU$p-s9-P%hSQi z(*OVeA^8LV00000EC2ui00jVq000L6z@2bNEb@-XWMa7lIGwU+R6wOluGgDZJL`67 zU~q0cUYO0cblSjXN8WFpT>hxn33z;Mzo+>96M=yRgoHhZhdzpnjE#c-I7+TiBM(%RMB+Z|c+{4b-#Lm~w*WTCOF)5% z*53dB|Nj2|+jRt;?ddQ)7#&E z|Ni~{A^8LV00000EC2ui0Qvw0000L6K!tEf6iz4<&_GEUI0pr2VLFwJBv?r+mD1@d z6%?wcxk1bjoXuu1*enK%ywf4rPp6Ciz!&&8e;XS-JRCAG5j8OwF)S-AB_%3536%?% z4w()BoF1MCprH(-0So~Ts2L9#tQid=4L>3xCOg34-CPx&h@xKZtBqy9C+F>aLv}Fq+0p|!ET)yZK^K;ypq3A5I$?Ps3 zo~QMqN*zQ9hWi>Y6k&L@qAS5l2@>j8D0_D8+N79rky~)}_8UhXy)Z)##x>}mNI?Jq EJ1XXQ%m4rY literal 0 HcmV?d00001 diff --git a/phpBB/styles/subsilver2/theme/images/cellpic1.gif b/phpBB/styles/subsilver2/theme/images/cellpic1.gif new file mode 100644 index 0000000000000000000000000000000000000000..715b8d4aa8b8752fc3e2ff6deb214cd424ad413f GIT binary patch literal 246 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 V?h#1_@wof%2q+W{CM75#06SVcbLs#9 literal 0 HcmV?d00001 diff --git a/phpBB/styles/subsilver2/theme/images/icon_mini_groups.gif b/phpBB/styles/subsilver2/theme/images/icon_mini_groups.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4d1c7bb70f67e7d0e06683bcf245f9bd7a7ffb6 GIT binary patch literal 222 zcmV<403rWJNk%w1VGIBb0K^{v=;-M3^77{9=I7_fz(%_4W1T<>l<`?2fn0@bK{W_xJq#{5^xG z077Fpfu;Zd|NsC0A^8LW0018VEC2ui01N;P000GB;8%2HNfzHlcx=lO*XFpcvvstq zkSynMK#oR3QfP!h<n5G#blH#z3Kvq*Mwb5WrwaTMi~^v5+tjjwN{jbT$&pqYW4g Y1d+{!F}VvWfE5fE9|SihCm$gIJMyS`#Q*>R literal 0 HcmV?d00001 diff --git a/phpBB/styles/subsilver2/theme/images/icon_mini_login.gif b/phpBB/styles/subsilver2/theme/images/icon_mini_login.gif new file mode 100644 index 0000000000000000000000000000000000000000..c7590a423f0765bbe9dae5b88b2a1df51933abcc GIT binary patch literal 233 zcmVW8kw{QUferM1S> z+WY+d;_B^roUQNk^(9?;(cRx>FMe$Vtuv9(d_Q;J%gv5wZe?H%L++p z=H})&fu;Zd|NsC0A^8LW0018VEC2ui01N;P000GM;HPzDNopeDt?Wu@*s>Z~W~>X= zt<4hzo5YIb$pjoL#>9dk3KT8Nq(DM!E}lfj1E~y11p&absT3#Q&cGtDY&L+6;zGJy jGUYdb!|7lsfEN=L6nqjG8V3=4jC=HGZs^78WR?Cd{gwv}>FWOe{^jN6JcFl>x6Jzb`uF$u^z`)Y?d|aJ@Bl(% zIDw@A00960|NsC0A^8LW0018VEC2ui01N;P000GC;8$>DNfuufcx=lC6}7nTLUC;8 zZ9FfLE{TLdFc?U~j-kg(kStJ3;&ORlFeGXR!_;U<7zV?u$(S3Yawo%7063IL1L6h< Z1Oo)6azNk*6M+*46(0c(CM75#06S(?bT9w_ literal 0 HcmV?d00001 diff --git a/phpBB/styles/subsilver2/theme/images/icon_mini_message.gif b/phpBB/styles/subsilver2/theme/images/icon_mini_message.gif new file mode 100644 index 0000000000000000000000000000000000000000..b8aea1eafb5cffabb6b2ceb80b5d8bae1795429f GIT binary patch literal 232 zcmVFJEN%jV|h z{{H?rfu;Zd{{R30A^8LW0015UEC2ui01N;P000GLpr>_YNor!jt?XK8QnOlD`_6Kw@B`E5YDFAPFvm3&vofOv)XC1!1V5 i1CvZg0?GI@2@?|u3lbU!3mb}y8wV%_5hf)lApkoXTx?_j literal 0 HcmV?d00001 diff --git a/phpBB/styles/subsilver2/theme/images/icon_mini_profile.gif b/phpBB/styles/subsilver2/theme/images/icon_mini_profile.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ec7c649e9d5770776a1e3fd6518536506054aa2 GIT binary patch literal 238 zcmVTWVIb4)pKkDQE{pg(ku*3r(Xsi$va zSWJ_+#k#+xfOq8b_@SJf6BHJJzv0rZY}DT3X0zIcgoB!7NcZ>m`~3X!^74bLzv$`e zkGISJ|Nl9GrT_o`A^8LW0018VEC2ui01N;P000GR;KzAnNpd3BO;wd-UB`{s7AQtg zVI4+x2}pooQNTLC3PHk@ATT~p=V1X@Er`p7gh3E3mWDP%(pCm&!zM%aWHy=tgF(?u oHl&P3AecBJb$A|l6asY=3k7%_8XN};2L}ZP6OAG!CMY2QJFk{zX8-^I literal 0 HcmV?d00001 diff --git a/phpBB/styles/subsilver2/theme/images/icon_mini_register.gif b/phpBB/styles/subsilver2/theme/images/icon_mini_register.gif new file mode 100644 index 0000000000000000000000000000000000000000..b49ac31ec996b7dad9e9b067c8a0ad5b61e3bbff GIT binary patch literal 224 zcmV<603ZKHNk%w1VGIBb0K^{vho-fXy3Y0W^)hCGAzF9){Qb7Z&4;eTnzFv*=jr0) z<<{ThkgB*+ew69%@aXODa+asz<>d@YYK*qa z>gwt^fu;Zd|NsC0A^8LW0018VEC2ui01N;P000GD;J0;TNp51`t?U|XRMD;%P*C0M zNd(}LGl>Rau>gw}Az;EJB^{4JVlel;DkLVN}i)4(UwLaNciBhl1fC a446D7qo8aK5qlYfg9j)9I3_0_ApkoRS#u}= literal 0 HcmV?d00001 diff --git a/phpBB/styles/subsilver2/theme/images/icon_mini_search.gif b/phpBB/styles/subsilver2/theme/images/icon_mini_search.gif new file mode 100644 index 0000000000000000000000000000000000000000..2bd1a648c05986bbb8be73ec1346224a269611d0 GIT binary patch literal 238 zcmV!-xiSeCWt_W$zo@_(zs$K2-j`uv>S z{e8RIujKz@rN;R9_=Bakx7Ov~^#63Aw(|D*((nK4@A2j3<@)^n4NGc8h^pu5>BZ{( zkGISJ|Nl9GrT_o`A^8LW0018VEC2ui01N;P000GR;KzAnNpd3Bt?bH;*K~M+HzeIf zb|X`41jwbc%TP9o-=U)ObTWy^aU-cXNSDm&r;un2B!@9aX>clFk6}PyYyg + +subSilver created by subBlue Design + + + + + + + + + +
Created by subBlue Design
+ + + \ No newline at end of file diff --git a/phpBB/styles/subsilver2/theme/images/no_avatar.gif b/phpBB/styles/subsilver2/theme/images/no_avatar.gif new file mode 100644 index 0000000000000000000000000000000000000000..80539c8c718ca0dab5e38ec2e47f10ba101e4237 GIT binary patch literal 474 zcmZ?wbhEHbjADpl*v!DNW&er&CoeJ(4Rk;%L3$Zj{t2A$T)o%g^;v6<1dYCw%y}8B zW(9v(TcC4(&F_6B>)t=;eY|JEhHK1B?I#v|tnjf)J(Kp?)7EqO%%`L5M)rM7F-6|cfO%ocM6s}k3&U6=0Mx5wc)1d`>kH&1t zIdO9T>@#OAFU<8@a{0>DDbf3G_O8FayFdNG!=C%ApFMvOTYhJc(vyQ94}Mtw`OC4@ z-#>M~OZa#DTdT0en^0RjhWyB^?fTw_t8*33o!+dbxY0RH$LjMp{yA#>6Rxjetx?at zv#k5{jW1p|b5pk_ok`%DZ6-Y9c=9P8p~I|&%Y|CJA_UK#h)yUAf^t80Ld^gF}W}@SOWlZ0R#L1 literal 0 HcmV?d00001 diff --git a/phpBB/styles/subsilver2/theme/images/whosonline.gif b/phpBB/styles/subsilver2/theme/images/whosonline.gif new file mode 100644 index 0000000000000000000000000000000000000000..b45092743218db5a4a6b80bf45a9f215c26ca7f4 GIT binary patch literal 929 zcmV;S177?`Nk%w1VJ-j}0Oo%H)z#I>(boU)2le&!%FD|ub(-DX-2x0}`3YGA0s^S1 zsvB15NnwrU<>g>hC~Tp;+1c3@X_M~m?*IR@MTe>3;o+K^nPz2V#KgtCyu4$YwxzAH zTaT)RvB*=Au>V(4|Nn06?Ck03={h<(qr}z!vjEE6jDgh5yF@aE_j9WK7nF z0K|$nt+ly*9UiX3&#=wg|I1pRrmz3tNdLx;slCVF>+$2`1umqsgf3$+1FL8ktE{bF9uG>iq&*aytY}kHW){A!5*iQ0l(1?8tO-$CPY4Om zLl`1!6dlx(EJxVcA8ukiHP06ctR_HU=Y=F5xxNWHTX-Z$K!g>I6a|M!z+xmHAr>vx zvD1M-$dUvpXb>dAQ9^(S4h5ZvFr$~R7@;Ebg0yUHBdBgK%+u~27Vx%(STHg z1gRqaP*|Wku)&A~QUnBPQ=>wK6;!b1yF(%F*#;M&)ToibPX#|ICQJw-fQA7B1acg8 zIMT5nKQg+gsInl&WdkYn?2%I#jEx0hdPA5#Vh)HmG#Kp2kfY&j+I#>&Ad|+)ivtdj09e0bL>2}XFy#4i;`<*G zWeBX0!Ndmo9qR=cAOT1eV2*u%xPSu&D*!M;92N*DAO=X_Fb#r&JWv1~`bjuo1`1d> z42FW3!bS!d5D?%B7-WD191#dcq97({5J3(;D4?SPKIBkFC^JUVM Date: Sun, 1 Apr 2007 23:41:23 +0000 Subject: [PATCH 314/707] Meik forgot to update this one. ;) git-svn-id: file:///svn/phpbb/trunk@7264 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/subsilver2/style.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/subsilver2/style.cfg b/phpBB/styles/subsilver2/style.cfg index 773ddc17ee..7465d36673 100644 --- a/phpBB/styles/subsilver2/style.cfg +++ b/phpBB/styles/subsilver2/style.cfg @@ -17,6 +17,6 @@ # # General Information about this style -name = subSilver +name = subsilver2 copyright = © 2005 phpBB Group version = 3.0.0 From 9850d7756ac0a140077264b8a152ff15495aa229 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Mon, 2 Apr 2007 14:56:04 +0000 Subject: [PATCH 315/707] test different colour for these fields? git-svn-id: file:///svn/phpbb/trunk@7265 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/admin.css | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index f4a99348b5..3363d13d48 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -677,7 +677,8 @@ input, textarea { border-top: 1px solid #AFAEAA; border-right: 1px solid #D5D5C8; border-bottom: 1px solid #D5D5C8; - background-color: #E3DFD8; +/* background-color: #E3DFD8;*/ + background-color: #F9F9F9; } .rtl input, .rtl textarea { @@ -692,7 +693,8 @@ input:hover, textarea:hover { border-top: 1px solid #AFAEAA; border-right: 1px solid #AFAEAA; border-bottom: 1px solid #AFAEAA; - background-color: #E9E9E2; +/* background-color: #E9E9E2; */ + background-color: #DCEBFE; } input.langvalue, textarea.langvalue { @@ -945,7 +947,8 @@ fieldset dl dd label:hover { input:focus, textarea:focus { border: 1px solid #BC2A4D; - background-color: #E9E9E2; +/* background-color: #E9E9E2;*/ + background-color: #F9F9F9; color: #BC2A4D; } From 1d1b5e6446667cc03cb765c789e269b4efa7e3a8 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Mon, 2 Apr 2007 15:47:23 +0000 Subject: [PATCH 316/707] some fixes... git-svn-id: file:///svn/phpbb/trunk@7266 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_admin.php | 11 ++++++++++- phpBB/includes/functions_display.php | 10 ++++++---- phpBB/includes/functions_upload.php | 2 +- phpBB/includes/session.php | 2 +- phpBB/includes/ucp/ucp_profile.php | 2 +- phpBB/install/install_update.php | 2 +- phpBB/language/en/acp/profile.php | 2 +- phpBB/language/en/common.php | 2 +- phpBB/language/en/install.php | 2 +- phpBB/language/en/ucp.php | 2 +- phpBB/styles/subsilver2/template/ucp_header.html | 2 +- 11 files changed, 25 insertions(+), 14 deletions(-) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index e9319dac33..a0fb8ddd54 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -2370,7 +2370,16 @@ function view_log($mode, &$log, &$log_count, $limit = 0, $offset = 0, $forum_id if (isset($user->lang[$row['log_operation']])) { $log[$i]['action'] = vsprintf($log[$i]['action'], $log_data_ary); - $log[$i]['action'] = str_replace("\n", '
', censor_text($log[$i]['action'])); + + // If within the admin panel we do not censor text out + if (defined('IN_ADMIN')) + { + $log[$i]['action'] = str_replace("\n", '
', $log[$i]['action']); + } + else + { + $log[$i]['action'] = str_replace("\n", '
', censor_text($log[$i]['action'])); + } } else { diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php index 7ce01571f8..1ab6dda638 100644 --- a/phpBB/includes/functions_display.php +++ b/phpBB/includes/functions_display.php @@ -296,8 +296,9 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod if ($subforum_row['display'] && $subforum_row['name']) { $subforums_list[] = array( - 'link' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $subforum_id), - 'name' => $subforum_row['name'] + 'link' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $subforum_id), + 'name' => $subforum_row['name'], + 'unread' => $forum_unread, ); } else @@ -360,7 +361,7 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod $s_subforums_list = array(); foreach ($subforums_list as $subforum) { - $s_subforums_list[] = '' . $subforum['name'] . ''; + $s_subforums_list[] = '' . $subforum['name'] . ''; } $s_subforums_list = (string) implode(', ', $s_subforums_list); @@ -402,7 +403,8 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod { $template->assign_block_vars('forumrow.subforum', array( 'U_SUBFORUM' => $subforum['link'], - 'SUBFORUM_NAME' => $subforum['name']) + 'SUBFORUM_NAME' => $subforum['name'], + 'S_UNREAD' => $subforum['unread']) ); } } diff --git a/phpBB/includes/functions_upload.php b/phpBB/includes/functions_upload.php index e07c91e8d0..cd14b26169 100644 --- a/phpBB/includes/functions_upload.php +++ b/phpBB/includes/functions_upload.php @@ -406,7 +406,7 @@ class fileerror extends filespec /** * File upload class -* Init class (all parameters optional and able to be set/overwritten seperatly) - scope is global and valid for all uploads +* Init class (all parameters optional and able to be set/overwritten separately) - scope is global and valid for all uploads * * @package phpBB3 */ diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 454c4fd648..2b845bc4d7 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -1409,7 +1409,7 @@ class user extends session // Does the user need to change their password? If so, redirect to the // ucp profile reg_details page ... of course do not redirect if we're already in the ucp - if (!defined('IN_ADMIN') && !defined('ADMIN_START') && $config['chg_passforce'] && $this->data['is_registered'] && $this->data['user_passchg'] < time() - ($config['chg_passforce'] * 86400)) + if (!defined('IN_ADMIN') && !defined('ADMIN_START') && $config['chg_passforce'] && $this->data['is_registered'] && $auth->acl_get('u_chgpasswd') && $this->data['user_passchg'] < time() - ($config['chg_passforce'] * 86400)) { if (strpos($this->page['query_string'], 'mode=reg_details') === false && $this->page['page_name'] != "ucp.$phpEx") { diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php index f50c322fce..8c9a9bdccf 100644 --- a/phpBB/includes/ucp/ucp_profile.php +++ b/phpBB/includes/ucp/ucp_profile.php @@ -243,7 +243,7 @@ class ucp_profile 'L_USERNAME_EXPLAIN' => sprintf($user->lang[$user_char_ary[str_replace('\\\\', '\\', $config['allow_name_chars'])] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']), 'L_CHANGE_PASSWORD_EXPLAIN' => sprintf($user->lang[$config['pass_complex'] . '_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']), - 'S_FORCE_PASSWORD' => ($config['chg_passforce'] && $user->data['user_passchg'] < time() - $config['chg_passforce']) ? true : false, + 'S_FORCE_PASSWORD' => ($auth->acl_get('u_chgpasswd') && $config['chg_passforce'] && $user->data['user_passchg'] < time() - ($config['chg_passforce'] * 86400)) ? true : false, 'S_CHANGE_USERNAME' => ($config['allow_namechange'] && $auth->acl_get('u_chgname')) ? true : false, 'S_CHANGE_EMAIL' => ($auth->acl_get('u_chgemail')) ? true : false, 'S_CHANGE_PASSWORD' => ($auth->acl_get('u_chgpasswd')) ? true : false) diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php index 5837a09834..3f18439f08 100644 --- a/phpBB/install/install_update.php +++ b/phpBB/install/install_update.php @@ -929,7 +929,7 @@ class install_update extends module } // If the file exists within the old directory the file got removed and we will write it back - // not a biggie, but we might want to state this circumstance seperatly later. + // not a biggie, but we might want to state this circumstance separately later. // if (file_exists($this->old_location . $file)) // { // $update_list['removed'][] = $file; diff --git a/phpBB/language/en/acp/profile.php b/phpBB/language/en/acp/profile.php index f690f6fdb7..9c82013390 100644 --- a/phpBB/language/en/acp/profile.php +++ b/phpBB/language/en/acp/profile.php @@ -129,7 +129,7 @@ $lang = array_merge($lang, array( 'STEP_1_EXPLAIN_EDIT' => 'Here you can change the basic parameters of your profile field. The relevant options are re-calculated within the second step, where you are able to preview and test the changed settings.', 'STEP_1_TITLE_CREATE' => 'Add profile field', 'STEP_1_TITLE_EDIT' => 'Edit profile field', - 'STEP_2_EXPLAIN_CREATE' => 'Here you are able to define some common options. Further you are able to preview the field you generated, as the user will see it. Play around with it until you are satisfied as how the field behaves.', + 'STEP_2_EXPLAIN_CREATE' => 'Here you are able to define some common options you may want to adjust.', 'STEP_2_EXPLAIN_EDIT' => 'Here you are able to change some common options. Further you are able to preview the changed field, as the user will see it. Play around with it until you are satisfied as how the field behaves.
Please note that changes to profile fields will not affect existing profile fields entered by your users.', 'STEP_2_TITLE_CREATE' => 'Profile type specific options', 'STEP_2_TITLE_EDIT' => 'Profile type specific options', diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 18ac1e8af9..0d3d2b4720 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -109,7 +109,7 @@ $lang = array_merge($lang, array( 'CLICK_VIEW_PRIVMSG' => '%sGo to your inbox%s', 'CLOSE_WINDOW' => 'Close window', 'COLOUR_SWATCH' => 'Colour swatch', - 'COMMA_SEPARATOR' => ', ', // Used in pagination and secret yet-to-be-release style, use localised comma if appropiate, eg: Ideographic or Arabic + 'COMMA_SEPARATOR' => ', ', // Used in pagination and secret yet-to-be-release style, use localised comma if appropriate, eg: Ideographic or Arabic 'CONFIRM' => 'Confirm', 'CONFIRM_CODE' => 'Confirmation code', 'CONFIRM_CODE_EXPLAIN' => 'Enter the code exactly as you see it in the image, it is case insensitive. Please note that a zero does not exist.', diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index df374e4a6f..854923dadb 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -415,7 +415,7 @@ $lang = array_merge($lang, array( 'OLD_UPDATE_FILES' => 'Update files are out of date. The update files found are for updating from phpBB %1$s to phpBB %2$s but the latest version of phpBB is %3$s.', 'PERFORM_DATABASE_UPDATE' => 'Perform database update', - 'PERFORM_DATABASE_UPDATE_EXPLAIN' => 'Below you will find a link to the database update script. This script needs to be run seperatly because updating the database might result in unexpected behaviour if you are logged in. The database update can take a while, so please do not stop the execution if it seems to hang. After you performed the database update, close the database update window and continue the update process.', + 'PERFORM_DATABASE_UPDATE_EXPLAIN' => 'Below you will find a link to the database update script. This script needs to be run separately because updating the database might result in unexpected behaviour if you are logged in. The database update can take a while, so please do not stop the execution if it seems to hang. After you performed the database update, close the database update window and continue the update process.', 'PREVIOUS_VERSION' => 'Previous version', 'PROGRESS' => 'Progress', diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index 7001b5bc7c..872c1a9d98 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -334,7 +334,7 @@ $lang = array_merge($lang, array( 'POST_REPLY_PM' => 'Reply to message', 'PRINT_PM' => 'Print view', 'PREFERENCES_UPDATED' => 'Your preferences have been updated.', - 'PROFILE_INFO_NOTICE' => 'Please note that this information will be viewable to other members. Be careful when including any personal details. Any fields marked with a * must be completed.', + 'PROFILE_INFO_NOTICE' => 'Please note that this information may be viewable to other members. Be careful when including any personal details. Any fields marked with a * must be completed.', 'PROFILE_UPDATED' => 'Your profile has been updated.', 'RECIPIENT' => 'Recipient', diff --git a/phpBB/styles/subsilver2/template/ucp_header.html b/phpBB/styles/subsilver2/template/ucp_header.html index 002d88f5ff..7fb507d403 100644 --- a/phpBB/styles/subsilver2/template/ucp_header.html +++ b/phpBB/styles/subsilver2/template/ucp_header.html @@ -60,7 +60,7 @@ - +
{user_row.USERNAME} {L_IP}: {user_row.USER_IP} » {L_WHOIS} {user_row.FORUM_LOCATION} {user_row.LASTUPDATE}{L_POST_DETAILS}
{RETURN_QUEUE} | {RETURN_TOPIC_SIMPLE} | {RETURN_POST}{RETURN_REPORTS}{RETURN_TOPIC}{RETURN_QUEUE} | {RETURN_TOPIC_SIMPLE} | {RETURN_POST}{RETURN_REPORTS} | {L_VIEW_TOPIC}{RETURN_TOPIC}
{L_POST_SUBJECT}:
' . $this->html_hold . ' diff --git a/phpBB/includes/db/mysql.php b/phpBB/includes/db/mysql.php index 2eb3a561bc..dfa4823a87 100644 --- a/phpBB/includes/db/mysql.php +++ b/phpBB/includes/db/mysql.php @@ -326,6 +326,22 @@ class dbal_mysql extends dbal */ function _sql_report($mode, $query = '') { + static $test_prof; + + // current detection method, might just switch to see the existance of INFORMATION_SCHEMA.PROFILING + if ($test_prof === null) + { + $test_prof = false; + if (strpos($this->mysql_version, 'community') !== false) + { + $ver = substr($this->mysql_version, 0, strpos($this->mysql_version, '-')); + if (version_compare($ver, '5.0.37', '>=') && version_compare($ver, '5.1', '<')) + { + $test_prof = true; + } + } + } + switch ($mode) { case 'start': @@ -344,6 +360,12 @@ class dbal_mysql extends dbal { $html_table = false; + // begin profiling + if ($test_prof) + { + @mysql_query('SET profiling = 1;', $this->db_connect_id); + } + if ($result = @mysql_query("EXPLAIN $explain_query", $this->db_connect_id)) { while ($row = @mysql_fetch_assoc($result)) @@ -357,6 +379,43 @@ class dbal_mysql extends dbal { $this->html_hold .= ''; } + + if ($test_prof) + { + $html_table = false; + + // get the last profile + if ($result = @mysql_query('SHOW PROFILE ALL;', $this->db_connect_id)) + { + $this->html_hold .= '
'; + while ($row = @mysql_fetch_assoc($result)) + { + // make HTML safe + if (!empty($row['Source_function'])) + { + $row['Source_function'] = str_replace(array('<', '>'), array('<', '>'), $row['Source_function']); + } + + // remove unsupported features + foreach ($row as $key => $val) + { + if ($val === null) + { + unset($row[$key]); + } + } + $html_table = $this->sql_report('add_select_row', $query, $html_table, $row); + } + } + @mysql_free_result($result); + + if ($html_table) + { + $this->html_hold .= ''; + } + + @mysql_query('SET profiling = 0;', $this->db_connect_id); + } } break; diff --git a/phpBB/includes/db/mysqli.php b/phpBB/includes/db/mysqli.php index 3149349411..c03c117085 100644 --- a/phpBB/includes/db/mysqli.php +++ b/phpBB/includes/db/mysqli.php @@ -294,6 +294,22 @@ class dbal_mysqli extends dbal */ function _sql_report($mode, $query = '') { + static $test_prof; + + // current detection method, might just switch to see the existance of INFORMATION_SCHEMA.PROFILING + if ($test_prof === null) + { + $test_prof = false; + if (strpos(mysqli_get_server_info($this->db_connect_id), 'community') !== false) + { + $ver = mysqli_get_server_version($this->db_connect_id); + if ($ver >= 50037 && $ver < 51000) + { + $test_prof = true; + } + } + } + switch ($mode) { case 'start': @@ -312,6 +328,12 @@ class dbal_mysqli extends dbal { $html_table = false; + // begin profiling + if ($test_prof) + { + @mysqli_query($this->db_connect_id, 'SET profiling = 1;'); + } + if ($result = @mysqli_query($this->db_connect_id, "EXPLAIN $explain_query")) { while ($row = @mysqli_fetch_assoc($result)) @@ -325,6 +347,43 @@ class dbal_mysqli extends dbal { $this->html_hold .= ''; } + + if ($test_prof) + { + $html_table = false; + + // get the last profile + if ($result = @mysqli_query($this->db_connect_id, 'SHOW PROFILE ALL;')) + { + $this->html_hold .= '
'; + while ($row = @mysqli_fetch_assoc($result)) + { + // make HTML safe + if (!empty($row['Source_function'])) + { + $row['Source_function'] = str_replace(array('<', '>'), array('<', '>'), $row['Source_function']); + } + + // remove unsupported features + foreach ($row as $key => $val) + { + if ($val === null) + { + unset($row[$key]); + } + } + $html_table = $this->sql_report('add_select_row', $query, $html_table, $row); + } + } + @mysqli_free_result($result); + + if ($html_table) + { + $this->html_hold .= ''; + } + + @mysqli_query($this->db_connect_id, 'SET profiling = 0;'); + } } break; @@ -347,6 +406,7 @@ class dbal_mysqli extends dbal break; } + @mysqli_query($this->db_connect_id, "SET profiling = 0;"); } } From 281c8763bd2f3d7e9dd83e7e7772009f18a69b86 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 8 Apr 2007 15:14:50 +0000 Subject: [PATCH 352/707] #9659 #9569 git-svn-id: file:///svn/phpbb/trunk@7302 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_modules.php | 9 ++++----- phpBB/includes/functions_convert.php | 2 +- phpBB/install/install_install.php | 12 ++++++------ 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/phpBB/includes/acp/acp_modules.php b/phpBB/includes/acp/acp_modules.php index e82365d0a5..585549fb99 100644 --- a/phpBB/includes/acp/acp_modules.php +++ b/phpBB/includes/acp/acp_modules.php @@ -721,7 +721,6 @@ class acp_modules if (!isset($module_data['module_id'])) { // no module_id means we're creating a new category/module - if ($module_data['parent_id']) { $sql = 'SELECT left_id, right_id @@ -754,8 +753,8 @@ class acp_modules AND {$row['left_id']} BETWEEN left_id AND right_id"; $db->sql_query($sql); - $module_data['left_id'] = $row['right_id']; - $module_data['right_id'] = $row['right_id'] + 1; + $module_data['left_id'] = (int) $row['right_id']; + $module_data['right_id'] = (int) $row['right_id'] + 1; } else { @@ -766,8 +765,8 @@ class acp_modules $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); - $module_data['left_id'] = $row['right_id'] + 1; - $module_data['right_id'] = $row['right_id'] + 2; + $module_data['left_id'] = (int) $row['right_id'] + 1; + $module_data['right_id'] = (int) $row['right_id'] + 2; } $sql = 'INSERT INTO ' . MODULES_TABLE . ' ' . $db->sql_build_array('INSERT', $module_data); diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index f2988792a6..8aa8f597e8 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -1194,7 +1194,7 @@ function restore_config($schema) { if (preg_match('/(.*)\((.*)\)/', $src, $m)) { - $var = (empty($m[2])) ? '' : "'" . addslashes($convert_config[$m[2]]) . "'"; + $var = (empty($m[2]) || empty($convert_config[$m[2]])) ? '' : "'" . addslashes($convert_config[$m[2]]) . "'"; $exec = '$config_value = ' . $m[1] . '(' . $var . ');'; eval($exec); } diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index 06c360d20c..5808b10557 100755 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -1415,7 +1415,7 @@ class install_install extends module $this->p_master->db_error($error['message'], $db->sql_error_sql, __LINE__, __FILE__); } - $categories[$cat_name]['id'] = $module_data['module_id']; + $categories[$cat_name]['id'] = (int) $module_data['module_id']; $categories[$cat_name]['parent_id'] = 0; // Create sub-categories... @@ -1427,7 +1427,7 @@ class install_install extends module 'module_basename' => '', 'module_enabled' => 1, 'module_display' => 1, - 'parent_id' => $categories[$cat_name]['id'], + 'parent_id' => (int) $categories[$cat_name]['id'], 'module_class' => $module_class, 'module_langname' => $level2_name, 'module_mode' => '', @@ -1443,8 +1443,8 @@ class install_install extends module $this->p_master->db_error($error['message'], $db->sql_error_sql, __LINE__, __FILE__); } - $categories[$level2_name]['id'] = $module_data['module_id']; - $categories[$level2_name]['parent_id'] = $categories[$cat_name]['id']; + $categories[$level2_name]['id'] = (int) $module_data['module_id']; + $categories[$level2_name]['parent_id'] = (int) $categories[$cat_name]['id']; } } } @@ -1466,7 +1466,7 @@ class install_install extends module 'module_basename' => $module_basename, 'module_enabled' => 1, 'module_display' => (isset($row['display'])) ? $row['display'] : 1, - 'parent_id' => $categories[$cat_name]['id'], + 'parent_id' => (int) $categories[$cat_name]['id'], 'module_class' => $module_class, 'module_langname' => $row['title'], 'module_mode' => $module_mode, @@ -1569,7 +1569,7 @@ class install_install extends module unset($module_data['left_id']); unset($module_data['right_id']); - $module_data['parent_id'] = $row2['module_id']; + $module_data['parent_id'] = (int) $row2['module_id']; $_module->update_module_data($module_data, true); From 0be22140b2338b4b77f257fd3c2928d5038287fd Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 8 Apr 2007 15:40:19 +0000 Subject: [PATCH 353/707] let approve/disapprove work in post details changed mcp_approve.html for confirm box to use the standard layout for all confirm boxes... git-svn-id: file:///svn/phpbb/trunk@7303 89ea8834-ac86-4346-8a33-228a782c2dd0 --- .../prosilver/template/mcp_approve.html | 72 ++++++++++--------- phpBB/styles/prosilver/template/mcp_post.html | 10 +-- .../styles/subsilver2/template/mcp_post.html | 2 +- 3 files changed, 45 insertions(+), 39 deletions(-) diff --git a/phpBB/styles/prosilver/template/mcp_approve.html b/phpBB/styles/prosilver/template/mcp_approve.html index 94f861c865..053c74d68f 100644 --- a/phpBB/styles/prosilver/template/mcp_approve.html +++ b/phpBB/styles/prosilver/template/mcp_approve.html @@ -1,47 +1,53 @@ - +
-
+
+
-

{MESSAGE_TITLE}

-

{ADDITIONAL_MSG}

+
-
- -
+

{MESSAGE_TITLE}

+

{ADDITIONAL_MSG}

+ +
+ +
+
 
+
+
+ + + +
+
+
+
+
+
+

{L_CAN_LEAVE_BLANK}
+
+
+ + +
 
-
+
{MESSAGE_TEXT}
- +
- -
-
-
-
-
-
-

{L_CAN_LEAVE_BLANK}
-
-
- +
+ {S_HIDDEN_FIELDS}  + +
-
-
 
-
{MESSAGE_TEXT}
-
-
- -
- {S_HIDDEN_FIELDS}  - -
+
+
- \ No newline at end of file + \ No newline at end of file diff --git a/phpBB/styles/prosilver/template/mcp_post.html b/phpBB/styles/prosilver/template/mcp_post.html index fd23bb3b74..6d82b5782e 100644 --- a/phpBB/styles/prosilver/template/mcp_post.html +++ b/phpBB/styles/prosilver/template/mcp_post.html @@ -46,19 +46,19 @@

{POST_SUBJECT}

{MINI_POST_IMG} {L_POSTED} {L_POST_BY_AUTHOR} {POST_AUTHOR_FULL} {L_POSTED_ON_DATE} {POST_DATE}

- + -
+

-   - +   +

diff --git a/phpBB/styles/subsilver2/template/mcp_post.html b/phpBB/styles/subsilver2/template/mcp_post.html index 86669957fe..34a93054a0 100644 --- a/phpBB/styles/subsilver2/template/mcp_post.html +++ b/phpBB/styles/subsilver2/template/mcp_post.html @@ -38,7 +38,7 @@
- + From 887863e5c5ba80cd1bcbcd6097719afe2178c672 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 8 Apr 2007 17:40:36 +0000 Subject: [PATCH 354/707] - overhaul of imagesets imagesets are now "intelligently" multilingual, one may use imagesets inside of CSS files now (as well as properties like the width and height of an imageset's image) all previous styles should change their imageset.cfg to be like prosilver and subsilver2 (notice how there is now an imageset.cfg in the /en folder, there should be one for each language) git-svn-id: file:///svn/phpbb/trunk@7304 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/develop/create_schema_files.php | 125 +--- phpBB/includes/acp/acp_styles.php | 465 +++++++++++---- phpBB/includes/constants.php | 1 + phpBB/includes/session.php | 45 +- phpBB/install/database_update.php | 558 ++++++++++++++++++ phpBB/install/schemas/firebird_schema.sql | 122 +--- phpBB/install/schemas/mssql_schema.sql | 121 +--- phpBB/install/schemas/mysql_40_schema.sql | 108 +--- phpBB/install/schemas/mysql_41_schema.sql | 108 +--- phpBB/install/schemas/oracle_schema.sql | 128 ++-- phpBB/install/schemas/postgres_schema.sql | 112 +--- phpBB/install/schemas/schema_data.sql | 189 +++++- phpBB/install/schemas/sqlite_schema.sql | 109 +--- phpBB/language/en/acp/styles.php | 2 + phpBB/style.php | 42 +- .../styles/prosilver/imageset/en/imageset.cfg | 35 ++ phpBB/styles/prosilver/imageset/imageset.cfg | 21 +- phpBB/styles/prosilver/theme/buttons.css | 6 +- phpBB/styles/prosilver/theme/colours.css | 51 +- .../subsilver2/imageset/en/imageset.cfg | 47 ++ phpBB/styles/subsilver2/imageset/imageset.cfg | 13 - 21 files changed, 1407 insertions(+), 1001 deletions(-) create mode 100644 phpBB/styles/prosilver/imageset/en/imageset.cfg create mode 100644 phpBB/styles/subsilver2/imageset/en/imageset.cfg diff --git a/phpBB/develop/create_schema_files.php b/phpBB/develop/create_schema_files.php index bc4e20e035..75017328a0 100644 --- a/phpBB/develop/create_schema_files.php +++ b/phpBB/develop/create_schema_files.php @@ -1628,115 +1628,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( @@ -1744,6 +1635,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( + 'imgset_id' => array('INDEX', 'imageset_id'), + ), + ); + $schema_data['phpbb_topics'] = array( 'COLUMNS' => array( 'topic_id' => array('UINT', NULL, 'auto_increment'), diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php index f29010d1e6..c8a7d4885a 100644 --- a/phpBB/includes/acp/acp_styles.php +++ b/phpBB/includes/acp/acp_styles.php @@ -90,7 +90,7 @@ parse_css_file = {PARSE_CSS_FILE} 'site_logo', ), 'buttons' => array( - 'icon_contact_aim', 'icon_contact_email', 'icon_contact_icq', 'icon_contact_jabber', 'icon_contact_msnm', 'icon_contact_pm', 'icon_contact_yahoo', 'icon_contact_www', 'icon_post_delete', 'icon_post_edit', 'icon_post_info', 'icon_post_quote', 'icon_post_report', 'icon_user_online', 'icon_user_offline', 'icon_user_profile', 'icon_user_search', 'icon_user_warn', 'button_pm_forward', 'button_pm_new', 'button_pm_reply', 'button_topic_locked', 'button_topic_new', 'button_topic_reply', + 'icon_back_top', 'icon_contact_aim', 'icon_contact_email', 'icon_contact_icq', 'icon_contact_jabber', 'icon_contact_msnm', 'icon_contact_pm', 'icon_contact_yahoo', 'icon_contact_www', 'icon_post_delete', 'icon_post_edit', 'icon_post_info', 'icon_post_quote', 'icon_post_report', 'icon_user_online', 'icon_user_offline', 'icon_user_profile', 'icon_user_search', 'icon_user_warn', 'button_pm_forward', 'button_pm_new', 'button_pm_reply', 'button_topic_locked', 'button_topic_new', 'button_topic_reply', ), 'icons' => array( 'icon_post_target', 'icon_post_target_unread', 'icon_topic_attach', 'icon_topic_latest', 'icon_topic_newest', 'icon_topic_reported', 'icon_topic_unapproved', 'icon_friend', 'icon_foe', @@ -372,35 +372,111 @@ parse_css_file = {PARSE_CSS_FILE} { $sql_ary = array(); - $cfg_data = parse_cfg_file("{$phpbb_root_path}styles/{$imageset_row['imageset_path']}/imageset/imageset.cfg"); - $imageset_definitions = array(); foreach ($this->imageset_keys as $topic => $key_array) { $imageset_definitions = array_merge($imageset_definitions, $key_array); } - - foreach ($cfg_data as $key => $value) + + $cfg_data_imageset = parse_cfg_file("{$phpbb_root_path}styles/{$imageset_row['imageset_path']}/imageset/imageset.cfg"); + + $db->sql_transaction('begin'); + + $sql = 'DELETE FROM ' . STYLES_IMAGESET_DATA_TABLE . ' + WHERE imageset_id = ' . $style_id; + $result = $db->sql_query($sql); + + foreach ($cfg_data_imageset as $image_name => $value) { - if (strpos($key, 'img_') === 0) + if (strpos($value, '*') !== false) { - $key = substr($key, 4); - if (in_array($key, $imageset_definitions)) + if (substr($value, -1, 1) === '*') { - $sql_ary[$key] = str_replace('{PATH}', "styles/{$imageset_row['imageset_path']}/imageset/", trim($value)); + list($image_filename, $image_height) = explode('*', $value); + $image_width = 0; + } + else + { + list($image_filename, $image_height, $image_width) = explode('*', $value); + } + } + else + { + $image_filename = $value; + $image_height = $image_width = 0; + } + + if (strpos($image_name, 'img_') === 0 && $image_filename) + { + $image_name = substr($image_name, 4); + if (in_array($image_name, $imageset_definitions)) + { + $sql_ary = array( + 'image_name' => $image_name, + 'image_filename' => $image_filename, + 'image_height' => (int) $image_height, + 'image_width' => (int) $image_width, + 'imageset_id' => $style_id, + 'image_lang' => '', + ); + $db->sql_query('INSERT INTO ' . STYLES_IMAGESET_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary)); } } } - unset($cfg_data); - if (sizeof($sql_ary)) + $sql = 'SELECT lang_dir + FROM ' . LANG_TABLE; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) { - $sql = 'UPDATE ' . STYLES_IMAGESET_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " - WHERE imageset_id = $style_id"; - $db->sql_query($sql); - } + if (@file_exists("{$phpbb_root_path}styles/{$imageset_row['imageset_path']}/imageset/{$row['lang_dir']}/imageset.cfg")) + { + $cfg_data_imageset_data = parse_cfg_file("{$phpbb_root_path}styles/{$imageset_row['imageset_path']}/imageset/{$row['lang_dir']}/imageset.cfg"); + foreach ($cfg_data_imageset_data as $image_name => $value) + { + if (strpos($value, '*') !== false) + { + if (substr($value, -1, 1) === '*') + { + list($image_filename, $image_height) = explode('*', $value); + $image_width = 0; + } + else + { + list($image_filename, $image_height, $image_width) = explode('*', $value); + } + } + else + { + $image_filename = $value; + $image_height = $image_width = 0; + } - $cache->destroy('sql', STYLES_IMAGESET_TABLE); + if (strpos($image_name, 'img_') === 0 && $image_filename) + { + $image_name = substr($image_name, 4); + if (in_array($image_name, $imageset_definitions)) + { + $sql_ary = array( + 'image_name' => $image_name, + 'image_filename' => $image_filename, + 'image_height' => $image_height, + 'image_width' => $image_width, + 'imageset_id' => $style_id, + 'image_lang' => $row['lang_dir'], + ); + $db->sql_query('INSERT INTO ' . STYLES_IMAGESET_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary)); + } + } + } + } + } + $db->sql_freeresult($result); + + $db->sql_transaction('commit'); + + $cache->destroy('sql', STYLES_IMAGESET_DATA_TABLE); add_log('admin', 'LOG_IMAGESET_REFRESHED', $imageset_row['imageset_name']); trigger_error($user->lang['IMAGESET_REFRESHED'] . adm_back_link($this->u_action)); @@ -1356,20 +1432,40 @@ parse_css_file = {PARSE_CSS_FILE} if ($imageset_id) { - $sql_select = ($imgname) ? ", $imgname" : ''; - - $sql = "SELECT imageset_path, imageset_name, imageset_copyright$sql_select - FROM " . STYLES_IMAGESET_TABLE . " + $sql = 'SELECT imageset_path, imageset_name + FROM ' . STYLES_IMAGESET_TABLE . " WHERE imageset_id = $imageset_id"; $result = $db->sql_query($sql); $imageset_row = $db->sql_fetchrow($result); $db->sql_freeresult($result); + $imageset_path = $imageset_row['imageset_path']; + $imageset_name = $imageset_row['imageset_name']; + + $sql_extra = ''; + if (strpos($imgname, '-') !== false) + { + list($imgname, $imgnamelang) = explode('-', $imgname); + $sql_extra = " AND image_lang IN('" . $db->sql_escape($imgnamelang) . "', '')"; + } + + $sql = 'SELECT image_filename, image_width, image_height, image_lang, image_id + FROM ' . STYLES_IMAGESET_DATA_TABLE . " + WHERE imageset_id = $imageset_id + AND image_name = '" . $db->sql_escape($imgname) . "'$sql_extra"; + $result = $db->sql_query($sql); + $imageset_data_row = $db->sql_fetchrow($result); + $image_filename = $imageset_data_row['image_filename']; + $image_width = $imageset_data_row['image_width']; + $image_height = $imageset_data_row['image_height']; + $image_lang = $imageset_data_row['image_lang']; + $image_id = $imageset_data_row['image_id']; + $db->sql_freeresult($result); + if (!$imageset_row) { trigger_error($user->lang['NO_IMAGESET'] . adm_back_link($this->u_action), E_USER_WARNING); } - extract($imageset_row); // Check to see whether the selected image exists in the table $valid_name = ($update) ? false : true; @@ -1390,7 +1486,8 @@ parse_css_file = {PARSE_CSS_FILE} // If imgwidth and imgheight are non-zero grab the actual size // from the image itself ... we ignore width settings for the poll center // image - $imgwidth = $imgheight = ''; + $imgwidth = $imgheight = 0; + $imglang = ''; if ($imageset_path && !file_exists("{$phpbb_root_path}styles/$imageset_path/imageset/$imgpath")) { @@ -1400,27 +1497,93 @@ parse_css_file = {PARSE_CSS_FILE} if ($imgsize && $imageset_path) { list($imgwidth, $imgheight) = getimagesize("{$phpbb_root_path}styles/$imageset_path/imageset/$imgpath"); - $imgheight = '*' . $imgheight; - $imgwidth = ($imgname != 'poll_center') ? '*' . $imgwidth : ''; + $imgwidth = ($imgname != 'poll_center') ? (int) $imgwidth : 0; + $imgheight = (int) $imgheight; } - $imgpath = preg_replace('/^([^\/]+\/)/', '{LANG}/', $imgpath) . $imgheight . $imgwidth; + if (strpos($imgpath, '/') !== false) + { + list($imglang, $imgfilename) = explode('/', $imgpath); + } + else + { + $imgfilename = $imgpath; + } - $sql = 'UPDATE ' . STYLES_IMAGESET_TABLE . " - SET $imgname = '" . $db->sql_escape($imgpath) . "' - WHERE imageset_id = $imageset_id"; - $db->sql_query($sql); + $sql_ary = array( + 'image_filename' => $imgfilename, + 'image_width' => $imgwidth, + 'image_height' => $imgheight, + 'image_lang' => $imglang, + ); - $cache->destroy('sql', STYLES_IMAGESET_TABLE); + // already exists + if ($imageset_data_row) + { + $sql = 'UPDATE ' . STYLES_IMAGESET_DATA_TABLE . ' + SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " + WHERE image_id = $image_id"; + $db->sql_query($sql); + } + // does not exist + else if (!$imageset_data_row) + { + $sql_ary['image_name'] = $image_name; + $sql_ary['imageset_id'] = $imageset_id; + $db->sql_query('INSERT INTO ' . STYLES_IMAGESET_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary)); + } + + $cache->destroy('sql', STYLES_IMAGESET_DATA_TABLE); add_log('admin', 'LOG_IMAGESET_EDIT', $imageset_name); $template->assign_var('SUCCESS', true); - $$imgname = $imgpath; } } } + $imglang = ''; + $imagesetlist = array('nolang' => array(), 'lang' => array()); + $langs = array(); + + $dir = "{$phpbb_root_path}styles/$imageset_path/imageset"; + $dp = @opendir($dir); + + if ($dp) + { + while (($file = readdir($dp)) !== false) + { + if (!is_file($dir . '/' . $file) && !is_link($dir . '/' . $file) && $file[0] != '.' && strtoupper($file) != 'CVS') + { + $langs[] = $file; + } + else if (preg_match('#\.(?:gif|jpg|png)$#', $file)) + { + $imagesetlist['nolang'][] = $file; + } + } + + if ($sql_extra) + { + $dp2 = @opendir("$dir/$imgnamelang"); + + if (!$dp2) + { + continue; + } + + while (($file2 = readdir($dp2)) !== false) + { + if (preg_match('#\.(?:gif|jpg|png)$#', $file2)) + { + $imagesetlist['lang'][] = "$imgnamelang/$file2"; + } + } + closedir($dp2); + } + closedir($dp); + } + // Generate list of image options $img_options = ''; foreach ($this->imageset_keys as $category => $img_ary) @@ -1431,89 +1594,46 @@ parse_css_file = {PARSE_CSS_FILE} foreach ($img_ary as $img) { - $template->assign_block_vars('category.images', array( - 'SELECTED' => ($img == $imgname), - 'VALUE' => $img, - 'TEXT' => (($category == 'custom') ? $img : $user->lang['IMG_' . strtoupper($img)]) - )); - } - } - - // TODO - // Check whether localised buttons exist in admins language first - // Clean up this code - $imglang = ''; - $imagesetlist = array('nolang' => array(), 'lang' => array()); - - $dir = "{$phpbb_root_path}styles/$imageset_path/imageset"; - $dp = @opendir($dir); - - if ($dp) - { - while (($file = readdir($dp)) !== false) - { - if (!is_file($dir . '/' . $file) && !is_link($dir . '/' . $file) && $file[0] != '.' && strtoupper($file) != 'CVS') + if ($category == 'buttons') { - $dp2 = @opendir("$dir/$file"); - - if (!$dp2) + foreach ($langs as $language) { - continue; + $template->assign_block_vars('category.images', array( + 'SELECTED' => ($img == $imgname), + 'VALUE' => $img . '-' . $language, + 'TEXT' => $user->lang['IMG_' . strtoupper($img)] . ' [ ' . $language . ' ]' + )); } - - while (($file2 = readdir($dp2)) !== false) - { - if (preg_match('#\.(?:gif|jpg|png)$#', $file2)) - { - $imagesetlist['all_lang'][$file][] = "$file/$file2"; - } - } - closedir($dp2); } - else if (preg_match('#\.(?:gif|jpg|png)$#', $file)) + else { - $imagesetlist['nolang'][] = $file; + $template->assign_block_vars('category.images', array( + 'SELECTED' => ($img == $imgname), + 'VALUE' => $img, + 'TEXT' => (($category == 'custom') ? $img : $user->lang['IMG_' . strtoupper($img)]) + )); } } - closedir($dp); } // Make sure the list of possible images is sorted alphabetically + sort($imagesetlist['lang']); sort($imagesetlist['nolang']); - foreach ($imagesetlist['all_lang'] as $lang => $data) - { - sort($imagesetlist['all_lang'][$lang]); - } - - if (isset($imagesetlist['all_lang'][$user->img_lang]) && sizeof($imagesetlist['all_lang'][$user->img_lang])) - { - $imglang = $lang; - $imagesetlist['lang'] = $imagesetlist['all_lang'][$user->img_lang]; - } - else - { - foreach ($imagesetlist['all_lang'] as $lang => $data) - { - if (sizeof($imagesetlist['all_lang'][$user->img_lang])) - { - $imglang = $lang; - $imagesetlist['lang'] = $imagesetlist['all_lang'][$lang]; - break; - } - } - } - unset($imagesetlist['all_lang']); $imagesetlist_options = ''; foreach ($imagesetlist as $type => $img_ary) { - $template->assign_block_vars('imagesetlist', array( - 'TYPE' => ($type == 'lang') - )); + if ($type !== 'lang' || $sql_extra) + { + $template->assign_block_vars('imagesetlist', array( + 'TYPE' => ($type == 'lang') + )); + } + foreach ($img_ary as $img) { $imgtext = preg_replace('/^([^\/]+\/)/', '', $img); - $selected = (!empty($imgname) && strpos($$imgname, $imgtext) !== false); + $selected = (!empty($imgname) && strpos($image_filename, $imgtext) !== false); if ($selected) { $template->assign_var('IMAGE_SELECT', true); @@ -1526,9 +1646,9 @@ parse_css_file = {PARSE_CSS_FILE} } } - $imgsize_bool = (!empty($imgname) && ($imgsize || preg_match('#\*\d+#', $$imgname))) ? true : false; + $imgsize_bool = (!empty($imgname) && $image_width && $image_height) ? true : false; - $img_info = (!empty($imgname)) ? explode('*', $$imgname) : array(); + $image_request = '../styles/' . $imageset_path . '/imageset/' . ($image_lang ? $imgnamelang . '/' : '') . $image_filename; $template->assign_vars(array( 'S_EDIT_IMAGESET' => true, @@ -1537,7 +1657,7 @@ parse_css_file = {PARSE_CSS_FILE} 'IMAGE_OPTIONS' => $img_options, 'IMAGELIST_OPTIONS' => $imagesetlist_options, 'IMAGE_SIZE' => $imgsize_bool, - 'IMAGE_REQUEST' => (!empty($img_info[0])) ? '../styles/' . $imageset_path . '/imageset/' . str_replace('{LANG}', $imglang, $img_info[0]) : '', + 'IMAGE_REQUEST' => $image_request, 'U_ACTION' => $this->u_action . "&action=edit&id=$imageset_id", 'U_BACK' => $this->u_action, 'NAME' => $imageset_name, @@ -1637,6 +1757,12 @@ parse_css_file = {PARSE_CSS_FILE} set_config('default_style', $new_id); } } + else if ($mode == 'imageset') + { + $sql = 'DELETE FROM ' . STYLES_IMAGESET_DATA_TABLE . " + WHERE imageset_id = $style_id"; + $db->sql_query($sql); + } else { $sql = 'UPDATE ' . STYLES_TABLE . " @@ -1883,11 +2009,27 @@ parse_css_file = {PARSE_CSS_FILE} { $imageset_cfg = str_replace(array('{MODE}', '{NAME}', '{COPYRIGHT}', '{VERSION}'), array($mode, $style_row['imageset_name'], $style_row['imageset_copyright'], $config['version']), $this->imageset_cfg); + $imageset_main = array(); + + $sql = 'SELECT image_filename, image_name, image_height, image_width + FROM ' . STYLES_IMAGESET_DATA_TABLE . " + WHERE imageset_id = $style_id + AND image_lang = ''"; + $result = $db->sql_query($sql); + while ($row = $db->sql_fetchrow($result)) + { + $imageset_main[$row['image_name']] = $row['image_filename'] . ($row['image_height'] ? '*' . $row['image_height']: '') . ($row['image_width'] ? '*' . $row['image_width']: ''); + } + $db->sql_freeresult($result); + foreach ($this->imageset_keys as $topic => $key_array) { foreach ($key_array as $key) { - $imageset_cfg .= "\nimg_" . $key . ' = ' . str_replace("styles/{$style_row['imageset_path']}/imageset/", '{PATH}', $style_row[$key]); + if (isset($imageset_main[$key])) + { + $imageset_cfg .= "\nimg_" . $key . ' = ' . str_replace("styles/{$style_row['imageset_path']}/imageset/", '{PATH}', $imageset_main[$key]); + } } } @@ -3021,7 +3163,7 @@ parse_css_file = {PARSE_CSS_FILE} if ($row) { - // If it exist, we just use the stlye on installation + // If it exist, we just use the style on installation if ($action == 'install') { $id = $row[$mode . '_id']; @@ -3079,27 +3221,8 @@ parse_css_file = {PARSE_CSS_FILE} ); break; + // all the heavy lifting is done later case 'imageset': - $cfg_data = parse_cfg_file("$root_path$mode/imageset.cfg"); - - $imageset_definitions = array(); - foreach ($this->imageset_keys as $topic => $key_array) - { - $imageset_definitions = array_merge($imageset_definitions, $key_array); - } - - foreach ($cfg_data as $key => $value) - { - if (strpos($key, 'img_') === 0) - { - $key = substr($key, 4); - if (in_array($key, $imageset_definitions)) - { - $sql_ary[$key] = str_replace('{PATH}', "styles/$path/imageset/", trim($value)); - } - } - } - unset($cfg_data); break; } @@ -3116,6 +3239,106 @@ parse_css_file = {PARSE_CSS_FILE} $filelist = filelist("{$root_path}template", '', 'html'); $this->store_templates('insert', $id, $path, $filelist); } + else if ($mode == 'imageset') + { + $cfg_data = parse_cfg_file("$root_path$mode/imageset.cfg"); + + $imageset_definitions = array(); + foreach ($this->imageset_keys as $topic => $key_array) + { + $imageset_definitions = array_merge($imageset_definitions, $key_array); + } + + foreach ($cfg_data as $key => $value) + { + if (strpos($value, '*') !== false) + { + if (substr($value, -1, 1) === '*') + { + list($image_filename, $image_height) = explode('*', $value); + $image_width = 0; + } + else + { + list($image_filename, $image_height, $image_width) = explode('*', $value); + } + } + else + { + $image_filename = $value; + $image_height = $image_width = 0; + } + + if (strpos($key, 'img_') === 0&& $image_filename) + { + $key = substr($key, 4); + if (in_array($key, $imageset_definitions)) + { + $sql_ary = array( + 'image_name' => $key, + 'image_filename' => str_replace('{PATH}', "styles/$path/imageset/", trim($image_filename)), + 'image_height' => $image_height, + 'image_width' => $image_width, + 'imageset_id' => $id, + 'image_lang' => '', + ); + $db->sql_query('INSERT INTO ' . STYLES_IMAGESET_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary)); + } + } + } + unset($cfg_data); + + $sql = 'SELECT lang_dir + FROM ' . LANG_TABLE; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + if (@file_exists("$root_path$mode/{$row['lang_dir']}/imageset.cfg")) + { + $cfg_data_imageset_data = parse_cfg_file("$root_path$mode/{$row['lang_dir']}/imageset.cfg"); + foreach ($cfg_data_imageset_data as $image_name => $value) + { + if (strpos($value, '*') !== false) + { + if (substr($value, -1, 1) === '*') + { + list($image_filename, $image_height) = explode('*', $value); + $image_width = 0; + } + else + { + list($image_filename, $image_height, $image_width) = explode('*', $value); + } + } + else + { + $image_filename = $value; + $image_height = $image_width = 0; + } + + if (strpos($image_name, 'img_') === 0 && $image_filename) + { + $image_name = substr($image_name, 4); + if (in_array($image_name, $imageset_definitions)) + { + $sql_ary = array( + 'image_name' => $image_name, + 'image_filename' => $image_filename, + 'image_height' => $image_height, + 'image_width' => $image_width, + 'imageset_id' => $id, + 'image_lang' => $row['lang_dir'], + ); + $db->sql_query('INSERT INTO ' . STYLES_IMAGESET_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary)); + } + } + } + unset($cfg_data_imageset_data); + } + } + $db->sql_freeresult($result); + } $db->sql_transaction('commit'); diff --git a/phpBB/includes/constants.php b/phpBB/includes/constants.php index cb6b816224..37b448df9f 100644 --- a/phpBB/includes/constants.php +++ b/phpBB/includes/constants.php @@ -206,6 +206,7 @@ define('STYLES_TEMPLATE_TABLE', $table_prefix . 'styles_template'); define('STYLES_TEMPLATE_DATA_TABLE',$table_prefix . 'styles_template_data'); define('STYLES_THEME_TABLE', $table_prefix . 'styles_theme'); define('STYLES_IMAGESET_TABLE', $table_prefix . 'styles_imageset'); +define('STYLES_IMAGESET_DATA_TABLE',$table_prefix . 'styles_imageset_data'); define('TOPICS_TABLE', $table_prefix . 'topics'); define('TOPICS_POSTED_TABLE', $table_prefix . 'topics_posted'); define('TOPICS_TRACK_TABLE', $table_prefix . 'topics_track'); diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 2b845bc4d7..fc380436d3 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -1166,6 +1166,7 @@ class user extends session var $lang_name; var $lang_path; var $img_lang; + var $img_array = array(); // Able to add new option (id 7) var $keyoptions = array('viewimg' => 0, 'viewflash' => 1, 'viewsmilies' => 2, 'viewsigs' => 3, 'viewavatars' => 4, 'viewcensors' => 5, 'attachsig' => 6, 'bbcode' => 8, 'smilies' => 9, 'popuppm' => 10); @@ -1366,6 +1367,17 @@ class user extends session $this->img_lang = (file_exists($phpbb_root_path . 'styles/' . $this->theme['imageset_path'] . '/imageset/' . $this->lang_name)) ? $this->lang_name : $config['default_lang']; + $sql = 'SELECT * + FROM ' . STYLES_IMAGESET_DATA_TABLE . ' + WHERE imageset_id = ' . $this->theme['imageset_id'] . " + AND image_lang IN('" . $db->sql_escape($this->img_lang) . "', '')"; + $result = $db->sql_query($sql, 3600); + + while ($row = $db->sql_fetchrow($result)) + { + $this->img_array[$row['image_name']] = $row; + } + // If this function got called from the error handler we are finished here. if (defined('IN_ERROR_HANDLER')) { @@ -1610,43 +1622,20 @@ class user extends session static $imgs; global $phpbb_root_path; - $img_data = &$imgs[$img . $suffix]; + $img_data = &$imgs[$img]; if (empty($img_data) || $width !== false) { - if (!isset($this->theme[$img]) || !$this->theme[$img]) + if (!isset($this->img_array[$img])) { // Do not fill the image to let designers decide what to do if the image is empty $img_data = ''; return $img_data; } - // Do not include dimensions? - if (strpos($this->theme[$img], '*') === false) - { - $imgsrc = trim($this->theme[$img]); - $width = $height = false; - } - else - { - if ($width === false) - { - list($imgsrc, $height, $width) = explode('*', $this->theme[$img]); - } - else - { - list($imgsrc, $height) = explode('*', $this->theme[$img]); - } - } - - if ($suffix !== '') - { - $imgsrc = str_replace('{SUFFIX}', $suffix, $imgsrc); - } - - $img_data['src'] = $phpbb_root_path . 'styles/' . $this->theme['imageset_path'] . '/imageset/' . str_replace('{LANG}', $this->img_lang, $imgsrc); - $img_data['width'] = $width; - $img_data['height'] = $height; + $img_data['src'] = $phpbb_root_path . 'styles/' . $this->theme['imageset_path'] . '/imageset/' . ($this->img_array[$img]['image_lang'] ? $this->img_array[$img]['image_lang'] .'/' : '') . $this->img_array[$img]['image_filename']; + $img_data['width'] = $this->img_array[$img]['image_width']; + $img_data['height'] = $this->img_array[$img]['image_height']; } $alt = (!empty($this->lang[$alt])) ? $this->lang[$alt] : $alt; diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index aee102ff37..a22f810e39 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -319,6 +319,9 @@ $database_update_info = array( USERS_TABLE => array( 'username_clean', ), + STYLES_IMAGESET_TABLE => array( + 'imgset_nm', + ), ), 'add_index' => array( SEARCH_WORDLIST_TABLE => array( @@ -343,6 +346,105 @@ $database_update_info = array( 'username_clean' => array('username_clean'), ), ), + // Add the following columns + 'drop_columns' => array( + STYLES_IMAGESET_TABLE => array( + 'site_logo', + 'upload_bar', + 'poll_left', + 'poll_center', + 'poll_right', + 'icon_friend', + 'icon_foe', + 'forum_link', + 'forum_read', + 'forum_read_locked', + 'forum_read_subforum', + 'forum_unread', + 'forum_unread_locked', + 'forum_unread_subforum', + 'topic_moved', + 'topic_read', + 'topic_read_mine', + 'topic_read_hot', + 'topic_read_hot_mine', + 'topic_read_locked', + 'topic_read_locked_mine', + 'topic_unread', + 'topic_unread_mine', + 'topic_unread_hot', + 'topic_unread_hot_mine', + 'topic_unread_locked', + 'topic_unread_locked_mine', + 'sticky_read', + 'sticky_read_mine', + 'sticky_read_locked', + 'sticky_read_locked_mine', + 'sticky_unread', + 'sticky_unread_mine', + 'sticky_unread_locked', + 'sticky_unread_locked_mine', + 'announce_read', + 'announce_read_mine', + 'announce_read_locked', + 'announce_read_locked_mine', + 'announce_unread', + 'announce_unread_mine', + 'announce_unread_locked', + 'announce_unread_locked_mine', + 'global_read', + 'global_read_mine', + 'global_read_locked', + 'global_read_locked_mine', + 'global_unread', + 'global_unread_mine', + 'global_unread_locked', + 'global_unread_locked_mine', + 'pm_read', + 'pm_unread', + 'icon_contact_aim', + 'icon_contact_email', + 'icon_contact_icq', + 'icon_contact_jabber', + 'icon_contact_msnm', + 'icon_contact_pm', + 'icon_contact_yahoo', + 'icon_contact_www', + 'icon_post_delete', + 'icon_post_edit', + 'icon_post_info', + 'icon_post_quote', + 'icon_post_report', + 'icon_post_target', + 'icon_post_target_unread', + 'icon_topic_attach', + 'icon_topic_latest', + 'icon_topic_newest', + 'icon_topic_reported', + 'icon_topic_unapproved', + 'icon_user_online', + 'icon_user_offline', + 'icon_user_profile', + 'icon_user_search', + 'icon_user_warn', + 'button_pm_forward', + 'button_pm_new', + 'button_pm_reply', + 'button_topic_locked', + 'button_topic_new', + 'button_topic_reply', + 'user_icon1', + 'user_icon2', + 'user_icon3', + 'user_icon4', + 'user_icon5', + 'user_icon6', + 'user_icon7', + 'user_icon8', + 'user_icon9', + 'user_icon10' + ), + ), ), ); @@ -521,6 +623,18 @@ foreach ($database_update_info as $version => $schema_changes) } } + // Drop columns? + if (!empty($schema_changes['drop_columns'])) + { + foreach ($schema_changes['drop_columns'] as $table => $columns) + { + foreach ($columns as $column) + { + sql_column_remove($map_dbms, $table, $column); + } + } + } + // Add primary keys? if (!empty($schema_changes['add_primary_keys'])) { @@ -577,6 +691,353 @@ $no_updates = true; // some code magic if (version_compare($current_version, '3.0.b5', '<=')) { + $tablename = $table_prefix . 'styles_imageset_data'; + switch ($map_dbms) + { + case 'mysql_41': + $sql_ary = array( + "CREATE TABLE $tablename ( + image_id smallint(4) UNSIGNED NOT NULL auto_increment, + image_name varchar(200) DEFAULT '' NOT NULL, + image_filename varchar(200) DEFAULT '' NOT NULL, + image_lang varchar(30) DEFAULT '' NOT NULL, + image_height smallint(4) UNSIGNED DEFAULT '0' NOT NULL, + image_width smallint(4) UNSIGNED DEFAULT '0' NOT NULL, + imageset_id tinyint(4) DEFAULT '0' NOT NULL, + PRIMARY KEY (image_id), + KEY imgset_id (imageset_id) + ) CHARACTER SET `utf8` COLLATE `utf8_bin`"); + break; + + case 'mysql_40': + $sql_ary = array( + "CREATE TABLE $tablename ( + image_id smallint(4) UNSIGNED NOT NULL auto_increment, + image_name varbinary(200) DEFAULT '' NOT NULL, + image_filename varbinary(200) DEFAULT '' NOT NULL, + image_lang varbinary(30) DEFAULT '' NOT NULL, + image_height smallint(4) UNSIGNED DEFAULT '0' NOT NULL, + image_width smallint(4) UNSIGNED DEFAULT '0' NOT NULL, + imageset_id tinyint(4) DEFAULT '0' NOT NULL, + PRIMARY KEY (image_id), + KEY imgset_id (imageset_id) + );"); + break; + + case 'mssql': + $sql_ary = array( + "CREATE TABLE [$tablename] ( + [image_id] [int] IDENTITY (1, 1) NOT NULL , + [image_name] [varchar] (200) DEFAULT ('') NOT NULL , + [image_filename] [varchar] (200) DEFAULT ('') NOT NULL , + [image_lang] [varchar] (30) DEFAULT ('') NOT NULL , + [image_height] [int] DEFAULT (0) NOT NULL , + [image_width] [int] DEFAULT (0) NOT NULL , + [imageset_id] [int] DEFAULT (0) NOT NULL + ) ON [PRIMARY]", + + "ALTER TABLE [$tablename] WITH NOCHECK ADD + CONSTRAINT [PK_$tablename] PRIMARY KEY CLUSTERED + ( + [image_id] + ) ON [PRIMARY]", + + "CREATE INDEX [imgset_id] ON [$tablename]([imageset_id]) ON [PRIMARY]", + ); + break; + + case 'oracle': + $sql_ary = array( + "CREATE TABLE $tablename ( + image_id number(4) NOT NULL, + image_name varchar2(200) DEFAULT '' , + image_filename varchar2(200) DEFAULT '' , + image_lang varchar2(30) DEFAULT '' , + image_height number(4) DEFAULT '0' NOT NULL, + image_width number(4) DEFAULT '0' NOT NULL, + imageset_id number(4) DEFAULT '0' NOT NULL, + CONSTRAINT pk_phpbb_styles_imageset_data PRIMARY KEY (image_id) + )", + + "CREATE INDEX {$tablename}_imgset_id ON $tablename (imageset_id)", + + "CREATE SEQUENCE {$tablename}_imgset_id_seq", + + "CREATE OR REPLACE TRIGGER t_$tablename + BEFORE INSERT ON $tablename + FOR EACH ROW WHEN ( + new.image_id IS NULL OR new.image_id = 0 + ) + BEGIN + SELECT {$tablename}_seq.nextval + INTO :new.image_id + FROM dual; + END", + ); + break; + + case 'postgres': + $sql_ary = array( + "CREATE SEQUENCE {$tablename}_seq;", + + "CREATE TABLE $tablename ( + image_id INT2 DEFAULT nextval('{$tablename}_seq'), + image_name varchar(200) DEFAULT '' NOT NULL, + image_filename varchar(200) DEFAULT '' NOT NULL, + image_lang varchar(30) DEFAULT '' NOT NULL, + image_height INT2 DEFAULT '0' NOT NULL CHECK (image_height >= 0), + image_width INT2 DEFAULT '0' NOT NULL CHECK (image_width >= 0), + imageset_id INT2 DEFAULT '0' NOT NULL, + PRIMARY KEY (image_id) + );", + + "CREATE INDEX {$tablename}_imgset_id ON $tablename (imageset_id);" + ); + break; + + case 'sqlite': + $sql_ary = array( + "CREATE TABLE $tablename ( + image_id INTEGER PRIMARY KEY NOT NULL , + image_name varchar(200) NOT NULL DEFAULT '', + image_filename varchar(200) NOT NULL DEFAULT '', + image_lang varchar(30) NOT NULL DEFAULT '', + image_height INTEGER UNSIGNED NOT NULL DEFAULT '0', + image_width INTEGER UNSIGNED NOT NULL DEFAULT '0', + imageset_id tinyint(4) NOT NULL DEFAULT '0' + );", + + "CREATE INDEX {$tablename}_imgset_id ON $tablename (imageset_id);" + ); + break; + + case 'firebird': + $sql_ary = array( + "CREATE TABLE $tablename ( + image_id INTEGER NOT NULL, + image_name VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, + image_filename VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, + image_lang VARCHAR(30) CHARACTER SET NONE DEFAULT '' NOT NULL, + image_height INTEGER DEFAULT 0 NOT NULL, + image_width INTEGER DEFAULT 0 NOT NULL, + imageset_id INTEGER DEFAULT 0 NOT NULL + );", + + "ALTER TABLE $tablename ADD PRIMARY KEY (image_id);", + + "CREATE INDEX {$tablename}_imgset_id ON $tablename(imageset_id);", + + "CREATE GENERATOR {$tablename}_gen;", + + "SET GENERATOR {$tablename}_gen TO 0;", + + "CREATE TRIGGER t_$tablename FOR $tablename + BEFORE INSERT + AS + BEGIN + NEW.image_id = GEN_ID({$tablename}_gen, 1); + END" + ); + break; + } + + // add the various statements + foreach ($sql_ary as $sql) + { + $db->sql_query($sql); + } + + $data = "INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('site_logo', 'site_logo.gif', '', 94, 170, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('upload_bar', 'upload_bar.gif', '', 16, 280, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('poll_left', 'poll_left.gif', '', 12, 4, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('poll_center', 'poll_center.gif', '', 12, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('poll_right', 'poll_right.gif', '', 12, 4, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_link', 'forum_link.gif', '', 25, 46, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read', 'forum_read.gif', '', 25, 46, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_locked', 'forum_read_locked.gif', '', 25, 46, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_subforum', 'forum_read_subforum.gif', '', 25, 46, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread', 'forum_unread.gif', '', 25, 46, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_locked', 'forum_unread_locked.gif', '', 25, 46, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_subforum', 'forum_unread_subforum.gif', '', 25, 46, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_moved', 'topic_moved.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read', 'topic_read.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_mine', 'topic_read_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_hot', 'topic_read_hot.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_hot_mine', 'topic_read_hot_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_locked', 'topic_read_locked.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_locked_mine', 'topic_read_locked_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread', 'topic_unread.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_mine', 'topic_unread_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_hot', 'topic_unread_hot.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_hot_mine', 'topic_unread_hot_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_locked', 'topic_unread_locked.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_locked_mine', 'topic_unread_locked_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read', 'sticky_read.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_mine', 'sticky_read_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_locked', 'sticky_read_locked.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_locked_mine', 'sticky_read_locked_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread', 'sticky_unread.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_mine', 'sticky_unread_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_locked', 'sticky_unread_locked.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_locked_mine', 'sticky_unread_locked_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read', 'announce_read.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_mine', 'announce_read_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_locked', 'announce_read_locked.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_locked_mine', 'announce_read_locked_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread', 'announce_unread.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_mine', 'announce_unread_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked', 'announce_unread_locked.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read', 'announce_read.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_mine', 'announce_read_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_locked', 'announce_read_locked.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_locked_mine', 'announce_read_locked_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread', 'announce_unread.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_mine', 'announce_unread_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked', 'announce_unread_locked.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_read', 'topic_read.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_unread', 'topic_unread.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target', 'icon_post_target.gif', '', 9, 12, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target_unread', 'icon_post_target_unread.gif', '', 9, 12, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_attach', 'icon_topic_attach.gif', '', 18, 14, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_latest', 'icon_topic_latest.gif', '', 9, 18, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_newest', 'icon_topic_newest.gif', '', 9, 18, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_reported', 'icon_topic_reported.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_unapproved', 'icon_topic_unapproved.gif', '', 18, 19, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_delete', 'icon_post_delete.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_info', 'icon_post_info.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_report', 'icon_post_report.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_offline', 'icon_user_offline.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_profile', 'icon_user_profile.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_search', 'icon_user_search.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_user_warn.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_delete', 'icon_post_delete.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_info', 'icon_post_info.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_report', 'icon_post_report.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_offline', 'icon_user_offline.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_profile', 'icon_user_profile.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_search', 'icon_user_search.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_user_warn.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'nl', 0, 0, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('site_logo', 'site_logo.gif', '', 52, 139, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('upload_bar', 'progress_bar.gif', '', 16, 280, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_link', 'forum_link.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read', 'forum_read.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_locked', 'forum_read_locked.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_subforum', 'forum_read_subforum.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread', 'forum_unread.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_locked', 'forum_read_locked.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_subforum', 'forum_unread_subforum.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_moved', 'topic_moved.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read', 'topic_read.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_mine', 'topic_read_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_hot', 'topic_read_hot.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_hot_mine', 'topic_read_hot_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_locked', 'topic_read_locked.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_locked_mine', 'topic_read_locked_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread', 'topic_unread.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_mine', 'topic_unread_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_hot', 'topic_unread_hot.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_hot_mine', 'topic_unread_hot_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_locked', 'topic_unread_locked.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_locked_mine', 'topic_unread_locked_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read', 'sticky_read.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_mine', 'sticky_read_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_locked', 'sticky_read.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_locked_mine', 'sticky_read_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread', 'sticky_unread.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_mine', 'sticky_unread_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_locked', 'sticky_unread.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_locked_mine', 'sticky_unread_locked_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read', 'announce_read.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_mine', 'announce_read_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_locked', 'announce_read_locked.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_locked_mine', 'announce_read_locked_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread', 'announce_unread.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_mine', 'announce_unread_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked', 'announce_unread.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read', 'announce_read.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_mine', 'announce_read_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_locked', 'announce_read_locked.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_locked_mine', 'announce_read_locked_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread', 'announce_unread.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_mine', 'announce_unread_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked', 'announce_unread_locked_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_read', 'topic_read.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_unread', 'topic_unread.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', '', 20, 72, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', '', 20, 72, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', '', 20, 72, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', '', 20, 72, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', '', 20, 72, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', '', 20, 72, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', '', 20, 72, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_delete', 'icon_post_delete.gif', '', 20, 20, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_info', 'icon_post_info.gif', '', 20, 20, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_report', 'icon_post_report.gif', '', 20, 20, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target', 'icon_post_target.gif', '', 9, 12, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target_unread', 'icon_post_target_unread.gif', '', 9, 12, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_attach', 'icon_topic_attach.gif', '', 10, 7, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_latest', 'icon_topic_latest.gif', '', 9, 12, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_newest', 'icon_topic_newest.gif', '', 9, 12, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_reported', 'icon_topic_reported.gif', '', 14, 16, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_unapproved', 'icon_topic_unapproved.gif', '', 14, 16, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_profile', 'icon_user_profile.gif', '', 11, 11, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_post_report.gif', '', 20, 20, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'en', 40, 28, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'en', 40, 42, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'en', 40, 54, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'en', 0, 0, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_offline', 'icon_user_offline.gif', 'en', 0, 0, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_search', 'icon_user_search.gif', 'en', 0, 0, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_forward', 'button_pm_forward.gif', 'en', 0, 0, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'en', 0, 0, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'en', 0, 0, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'en', 0, 0, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 0, 0, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 0, 0, 1);"; + $data = str_replace('phpbb_', $table_prefix, $data); + $sql_ary = explode("\n", $data); + + foreach ($sql_ary as $sql) + { + $db->sql_query($sql); + } + // sorting thang if ($map_dbms === 'mysql_41') { @@ -1080,6 +1541,103 @@ function sql_column_add($dbms, $table_name, $column_name, $column_data) } } +/** +* Drop column +*/ +function sql_column_remove($dbms, $table_name, $column_name) +{ + global $errored, $error_ary; + + switch ($dbms) + { + case 'firebird': + $sql = 'ALTER TABLE "' . $table_name . '" DROP "' . $column_name . '"'; + _sql($sql, $errored, $error_ary); + break; + + case 'mssql': + $sql = 'ALTER TABLE [' . $table_name . '] DROP COLUMN [' . $column_name . ']'; + _sql($sql, $errored, $error_ary); + break; + + case 'mysql_40': + case 'mysql_41': + $sql = 'ALTER TABLE `' . $table_name . '` DROP COLUMN `' . $column_name . '`'; + _sql($sql, $errored, $error_ary); + break; + + case 'oracle': + $sql = 'ALTER TABLE ' . $table_name . ' DROP ' . $column_name; + _sql($sql, $errored, $error_ary); + break; + + case 'postgres': + $sql = 'ALTER TABLE ' . $table_name . ' DROP COLUMN "' . $column_name . '"'; + _sql($sql, $errored, $error_ary); + break; + + case 'sqlite': + if (version_compare(sqlite_libversion(), '3.0') == -1) + { + global $db; + $sql = "SELECT sql + FROM sqlite_master + WHERE type = 'table' + AND name = '{$table_name}' + ORDER BY type DESC, name;"; + $result = $db->sql_query($sql); + + if (!$result) + { + break; + } + + $row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + + $db->sql_transaction('begin'); + + // Create a backup table and populate it, destroy the existing one + $db->sql_query(preg_replace('#CREATE\s+TABLE\s+"?' . $table_name . '"?#i', 'CREATE TEMPORARY TABLE ' . $table_name . '_temp', $row['sql'])); + $db->sql_query('INSERT INTO ' . $table_name . '_temp SELECT * FROM ' . $table_name); + $db->sql_query('DROP TABLE ' . $table_name); + + preg_match('#\((.*)\)#s', $row['sql'], $matches); + + $new_table_cols = trim($matches[1]); + $old_table_cols = preg_split('/,(?![\s\w]+\))/m', $new_table_cols); + $column_list = array(); + + foreach ($old_table_cols as $declaration) + { + $entities = preg_split('#\s+#', trim($declaration)); + if ($entities[0] == 'PRIMARY' || $entities[0] === '$column_name') + { + continue; + } + $column_list[] = $entities[0]; + } + + $columns = implode(',', $column_list); + + $new_table_cols = $new_table_cols = preg_replace('/' . $column_name . '[^,]+(?:,|$)/m', '', $new_table_cols); + + // create a new table and fill it up. destroy the temp one + $db->sql_query('CREATE TABLE ' . $table_name . ' (' . $new_table_cols . ');'); + $db->sql_query('INSERT INTO ' . $table_name . ' (' . $columns . ') SELECT ' . $columns . ' FROM ' . $table_name . '_temp;'); + $db->sql_query('DROP TABLE ' . $table_name . '_temp'); + + $db->sql_transaction('commit'); + } + else + { + $sql = 'ALTER TABLE ' . $table_name . ' DROP COLUMN ' . $column_name; + _sql($sql, $errored, $error_ary); + } + break; + } +} + function sql_index_drop($dbms, $index_name, $table_name) { global $dbms_type_map, $db; diff --git a/phpBB/install/schemas/firebird_schema.sql b/phpBB/install/schemas/firebird_schema.sql index 2e3ab48a97..e48b36c6b8 100644 --- a/phpBB/install/schemas/firebird_schema.sql +++ b/phpBB/install/schemas/firebird_schema.sql @@ -1148,101 +1148,7 @@ CREATE TABLE phpbb_styles_imageset ( imageset_id INTEGER NOT NULL, imageset_name VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE, imageset_copyright VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE, - imageset_path VARCHAR(100) CHARACTER SET NONE DEFAULT '' NOT NULL, - site_logo VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - upload_bar VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - poll_left VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - poll_center VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - poll_right VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_friend VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_foe VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - forum_link VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - forum_read VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - forum_read_locked VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - forum_read_subforum VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - forum_unread VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - forum_unread_locked VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - forum_unread_subforum VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_moved VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_read VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_read_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_read_hot VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_read_hot_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_read_locked VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_read_locked_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_unread VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_unread_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_unread_hot VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_unread_hot_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_unread_locked VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - topic_unread_locked_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - sticky_read VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - sticky_read_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - sticky_read_locked VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - sticky_read_locked_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - sticky_unread VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - sticky_unread_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - sticky_unread_locked VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - sticky_unread_locked_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - announce_read VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - announce_read_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - announce_read_locked VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - announce_read_locked_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - announce_unread VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - announce_unread_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - announce_unread_locked VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - announce_unread_locked_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - global_read VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - global_read_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - global_read_locked VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - global_read_locked_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - global_unread VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - global_unread_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - global_unread_locked VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - global_unread_locked_mine VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - pm_read VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - pm_unread VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_contact_aim VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_contact_email VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_contact_icq VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_contact_jabber VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_contact_msnm VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_contact_pm VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_contact_yahoo VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_contact_www VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_post_delete VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_post_edit VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_post_info VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_post_quote VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_post_report VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_post_target VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_post_target_unread VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_topic_attach VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_topic_latest VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_topic_newest VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_topic_reported VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_topic_unapproved VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_user_online VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_user_offline VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_user_profile VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_user_search VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - icon_user_warn VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - button_pm_forward VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - button_pm_new VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - button_pm_reply VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - button_topic_locked VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - button_topic_new VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - button_topic_reply VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - user_icon1 VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - user_icon2 VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - user_icon3 VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - user_icon4 VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - user_icon5 VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - user_icon6 VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - user_icon7 VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - user_icon8 VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - user_icon9 VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, - user_icon10 VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL + imageset_path VARCHAR(100) CHARACTER SET NONE DEFAULT '' NOT NULL );; ALTER TABLE phpbb_styles_imageset ADD PRIMARY KEY (imageset_id);; @@ -1260,6 +1166,32 @@ BEGIN END;; +# Table: 'phpbb_styles_imageset_data' +CREATE TABLE phpbb_styles_imageset_data ( + image_id INTEGER NOT NULL, + image_name VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, + image_filename VARCHAR(200) CHARACTER SET NONE DEFAULT '' NOT NULL, + image_lang VARCHAR(30) CHARACTER SET NONE DEFAULT '' NOT NULL, + image_height INTEGER DEFAULT 0 NOT NULL, + image_width INTEGER DEFAULT 0 NOT NULL, + imageset_id INTEGER DEFAULT 0 NOT NULL +);; + +ALTER TABLE phpbb_styles_imageset_data ADD PRIMARY KEY (image_id);; + +CREATE INDEX phpbb_styles_imageset_data_imgset_id ON phpbb_styles_imageset_data(imageset_id);; + +CREATE GENERATOR phpbb_styles_imageset_data_gen;; +SET GENERATOR phpbb_styles_imageset_data_gen TO 0;; + +CREATE TRIGGER t_phpbb_styles_imageset_data FOR phpbb_styles_imageset_data +BEFORE INSERT +AS +BEGIN + NEW.image_id = GEN_ID(phpbb_styles_imageset_data_gen, 1); +END;; + + # Table: 'phpbb_topics' CREATE TABLE phpbb_topics ( topic_id INTEGER NOT NULL, diff --git a/phpBB/install/schemas/mssql_schema.sql b/phpBB/install/schemas/mssql_schema.sql index 3fa46ff7dd..537da725a2 100644 --- a/phpBB/install/schemas/mssql_schema.sql +++ b/phpBB/install/schemas/mssql_schema.sql @@ -1356,101 +1356,7 @@ CREATE TABLE [phpbb_styles_imageset] ( [imageset_id] [int] IDENTITY (1, 1) NOT NULL , [imageset_name] [varchar] (255) DEFAULT ('') NOT NULL , [imageset_copyright] [varchar] (255) DEFAULT ('') NOT NULL , - [imageset_path] [varchar] (100) DEFAULT ('') NOT NULL , - [site_logo] [varchar] (200) DEFAULT ('') NOT NULL , - [upload_bar] [varchar] (200) DEFAULT ('') NOT NULL , - [poll_left] [varchar] (200) DEFAULT ('') NOT NULL , - [poll_center] [varchar] (200) DEFAULT ('') NOT NULL , - [poll_right] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_friend] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_foe] [varchar] (200) DEFAULT ('') NOT NULL , - [forum_link] [varchar] (200) DEFAULT ('') NOT NULL , - [forum_read] [varchar] (200) DEFAULT ('') NOT NULL , - [forum_read_locked] [varchar] (200) DEFAULT ('') NOT NULL , - [forum_read_subforum] [varchar] (200) DEFAULT ('') NOT NULL , - [forum_unread] [varchar] (200) DEFAULT ('') NOT NULL , - [forum_unread_locked] [varchar] (200) DEFAULT ('') NOT NULL , - [forum_unread_subforum] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_moved] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_read] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_read_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_read_hot] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_read_hot_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_read_locked] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_read_locked_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_unread] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_unread_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_unread_hot] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_unread_hot_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_unread_locked] [varchar] (200) DEFAULT ('') NOT NULL , - [topic_unread_locked_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [sticky_read] [varchar] (200) DEFAULT ('') NOT NULL , - [sticky_read_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [sticky_read_locked] [varchar] (200) DEFAULT ('') NOT NULL , - [sticky_read_locked_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [sticky_unread] [varchar] (200) DEFAULT ('') NOT NULL , - [sticky_unread_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [sticky_unread_locked] [varchar] (200) DEFAULT ('') NOT NULL , - [sticky_unread_locked_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [announce_read] [varchar] (200) DEFAULT ('') NOT NULL , - [announce_read_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [announce_read_locked] [varchar] (200) DEFAULT ('') NOT NULL , - [announce_read_locked_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [announce_unread] [varchar] (200) DEFAULT ('') NOT NULL , - [announce_unread_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [announce_unread_locked] [varchar] (200) DEFAULT ('') NOT NULL , - [announce_unread_locked_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [global_read] [varchar] (200) DEFAULT ('') NOT NULL , - [global_read_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [global_read_locked] [varchar] (200) DEFAULT ('') NOT NULL , - [global_read_locked_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [global_unread] [varchar] (200) DEFAULT ('') NOT NULL , - [global_unread_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [global_unread_locked] [varchar] (200) DEFAULT ('') NOT NULL , - [global_unread_locked_mine] [varchar] (200) DEFAULT ('') NOT NULL , - [pm_read] [varchar] (200) DEFAULT ('') NOT NULL , - [pm_unread] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_contact_aim] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_contact_email] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_contact_icq] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_contact_jabber] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_contact_msnm] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_contact_pm] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_contact_yahoo] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_contact_www] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_post_delete] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_post_edit] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_post_info] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_post_quote] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_post_report] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_post_target] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_post_target_unread] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_topic_attach] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_topic_latest] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_topic_newest] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_topic_reported] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_topic_unapproved] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_user_online] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_user_offline] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_user_profile] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_user_search] [varchar] (200) DEFAULT ('') NOT NULL , - [icon_user_warn] [varchar] (200) DEFAULT ('') NOT NULL , - [button_pm_forward] [varchar] (200) DEFAULT ('') NOT NULL , - [button_pm_new] [varchar] (200) DEFAULT ('') NOT NULL , - [button_pm_reply] [varchar] (200) DEFAULT ('') NOT NULL , - [button_topic_locked] [varchar] (200) DEFAULT ('') NOT NULL , - [button_topic_new] [varchar] (200) DEFAULT ('') NOT NULL , - [button_topic_reply] [varchar] (200) DEFAULT ('') NOT NULL , - [user_icon1] [varchar] (200) DEFAULT ('') NOT NULL , - [user_icon2] [varchar] (200) DEFAULT ('') NOT NULL , - [user_icon3] [varchar] (200) DEFAULT ('') NOT NULL , - [user_icon4] [varchar] (200) DEFAULT ('') NOT NULL , - [user_icon5] [varchar] (200) DEFAULT ('') NOT NULL , - [user_icon6] [varchar] (200) DEFAULT ('') NOT NULL , - [user_icon7] [varchar] (200) DEFAULT ('') NOT NULL , - [user_icon8] [varchar] (200) DEFAULT ('') NOT NULL , - [user_icon9] [varchar] (200) DEFAULT ('') NOT NULL , - [user_icon10] [varchar] (200) DEFAULT ('') NOT NULL + [imageset_path] [varchar] (100) DEFAULT ('') NOT NULL ) ON [PRIMARY] GO @@ -1465,6 +1371,31 @@ CREATE UNIQUE INDEX [imgset_nm] ON [phpbb_styles_imageset]([imageset_name]) ON GO +/* + Table: 'phpbb_styles_imageset_data' +*/ +CREATE TABLE [phpbb_styles_imageset_data] ( + [image_id] [int] IDENTITY (1, 1) NOT NULL , + [image_name] [varchar] (200) DEFAULT ('') NOT NULL , + [image_filename] [varchar] (200) DEFAULT ('') NOT NULL , + [image_lang] [varchar] (30) DEFAULT ('') NOT NULL , + [image_height] [int] DEFAULT (0) NOT NULL , + [image_width] [int] DEFAULT (0) NOT NULL , + [imageset_id] [int] DEFAULT (0) NOT NULL +) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_styles_imageset_data] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_styles_imageset_data] PRIMARY KEY CLUSTERED + ( + [image_id] + ) ON [PRIMARY] +GO + +CREATE INDEX [imgset_id] ON [phpbb_styles_imageset_data]([imageset_id]) ON [PRIMARY] +GO + + /* Table: 'phpbb_topics' */ diff --git a/phpBB/install/schemas/mysql_40_schema.sql b/phpBB/install/schemas/mysql_40_schema.sql index a1fec9867d..c2ecb99374 100644 --- a/phpBB/install/schemas/mysql_40_schema.sql +++ b/phpBB/install/schemas/mysql_40_schema.sql @@ -777,105 +777,25 @@ CREATE TABLE phpbb_styles_imageset ( imageset_name blob NOT NULL, imageset_copyright blob NOT NULL, imageset_path varbinary(100) DEFAULT '' NOT NULL, - site_logo varbinary(200) DEFAULT '' NOT NULL, - upload_bar varbinary(200) DEFAULT '' NOT NULL, - poll_left varbinary(200) DEFAULT '' NOT NULL, - poll_center varbinary(200) DEFAULT '' NOT NULL, - poll_right varbinary(200) DEFAULT '' NOT NULL, - icon_friend varbinary(200) DEFAULT '' NOT NULL, - icon_foe varbinary(200) DEFAULT '' NOT NULL, - forum_link varbinary(200) DEFAULT '' NOT NULL, - forum_read varbinary(200) DEFAULT '' NOT NULL, - forum_read_locked varbinary(200) DEFAULT '' NOT NULL, - forum_read_subforum varbinary(200) DEFAULT '' NOT NULL, - forum_unread varbinary(200) DEFAULT '' NOT NULL, - forum_unread_locked varbinary(200) DEFAULT '' NOT NULL, - forum_unread_subforum varbinary(200) DEFAULT '' NOT NULL, - topic_moved varbinary(200) DEFAULT '' NOT NULL, - topic_read varbinary(200) DEFAULT '' NOT NULL, - topic_read_mine varbinary(200) DEFAULT '' NOT NULL, - topic_read_hot varbinary(200) DEFAULT '' NOT NULL, - topic_read_hot_mine varbinary(200) DEFAULT '' NOT NULL, - topic_read_locked varbinary(200) DEFAULT '' NOT NULL, - topic_read_locked_mine varbinary(200) DEFAULT '' NOT NULL, - topic_unread varbinary(200) DEFAULT '' NOT NULL, - topic_unread_mine varbinary(200) DEFAULT '' NOT NULL, - topic_unread_hot varbinary(200) DEFAULT '' NOT NULL, - topic_unread_hot_mine varbinary(200) DEFAULT '' NOT NULL, - topic_unread_locked varbinary(200) DEFAULT '' NOT NULL, - topic_unread_locked_mine varbinary(200) DEFAULT '' NOT NULL, - sticky_read varbinary(200) DEFAULT '' NOT NULL, - sticky_read_mine varbinary(200) DEFAULT '' NOT NULL, - sticky_read_locked varbinary(200) DEFAULT '' NOT NULL, - sticky_read_locked_mine varbinary(200) DEFAULT '' NOT NULL, - sticky_unread varbinary(200) DEFAULT '' NOT NULL, - sticky_unread_mine varbinary(200) DEFAULT '' NOT NULL, - sticky_unread_locked varbinary(200) DEFAULT '' NOT NULL, - sticky_unread_locked_mine varbinary(200) DEFAULT '' NOT NULL, - announce_read varbinary(200) DEFAULT '' NOT NULL, - announce_read_mine varbinary(200) DEFAULT '' NOT NULL, - announce_read_locked varbinary(200) DEFAULT '' NOT NULL, - announce_read_locked_mine varbinary(200) DEFAULT '' NOT NULL, - announce_unread varbinary(200) DEFAULT '' NOT NULL, - announce_unread_mine varbinary(200) DEFAULT '' NOT NULL, - announce_unread_locked varbinary(200) DEFAULT '' NOT NULL, - announce_unread_locked_mine varbinary(200) DEFAULT '' NOT NULL, - global_read varbinary(200) DEFAULT '' NOT NULL, - global_read_mine varbinary(200) DEFAULT '' NOT NULL, - global_read_locked varbinary(200) DEFAULT '' NOT NULL, - global_read_locked_mine varbinary(200) DEFAULT '' NOT NULL, - global_unread varbinary(200) DEFAULT '' NOT NULL, - global_unread_mine varbinary(200) DEFAULT '' NOT NULL, - global_unread_locked varbinary(200) DEFAULT '' NOT NULL, - global_unread_locked_mine varbinary(200) DEFAULT '' NOT NULL, - pm_read varbinary(200) DEFAULT '' NOT NULL, - pm_unread varbinary(200) DEFAULT '' NOT NULL, - icon_contact_aim varbinary(200) DEFAULT '' NOT NULL, - icon_contact_email varbinary(200) DEFAULT '' NOT NULL, - icon_contact_icq varbinary(200) DEFAULT '' NOT NULL, - icon_contact_jabber varbinary(200) DEFAULT '' NOT NULL, - icon_contact_msnm varbinary(200) DEFAULT '' NOT NULL, - icon_contact_pm varbinary(200) DEFAULT '' NOT NULL, - icon_contact_yahoo varbinary(200) DEFAULT '' NOT NULL, - icon_contact_www varbinary(200) DEFAULT '' NOT NULL, - icon_post_delete varbinary(200) DEFAULT '' NOT NULL, - icon_post_edit varbinary(200) DEFAULT '' NOT NULL, - icon_post_info varbinary(200) DEFAULT '' NOT NULL, - icon_post_quote varbinary(200) DEFAULT '' NOT NULL, - icon_post_report varbinary(200) DEFAULT '' NOT NULL, - icon_post_target varbinary(200) DEFAULT '' NOT NULL, - icon_post_target_unread varbinary(200) DEFAULT '' NOT NULL, - icon_topic_attach varbinary(200) DEFAULT '' NOT NULL, - icon_topic_latest varbinary(200) DEFAULT '' NOT NULL, - icon_topic_newest varbinary(200) DEFAULT '' NOT NULL, - icon_topic_reported varbinary(200) DEFAULT '' NOT NULL, - icon_topic_unapproved varbinary(200) DEFAULT '' NOT NULL, - icon_user_online varbinary(200) DEFAULT '' NOT NULL, - icon_user_offline varbinary(200) DEFAULT '' NOT NULL, - icon_user_profile varbinary(200) DEFAULT '' NOT NULL, - icon_user_search varbinary(200) DEFAULT '' NOT NULL, - icon_user_warn varbinary(200) DEFAULT '' NOT NULL, - button_pm_forward varbinary(200) DEFAULT '' NOT NULL, - button_pm_new varbinary(200) DEFAULT '' NOT NULL, - button_pm_reply varbinary(200) DEFAULT '' NOT NULL, - button_topic_locked varbinary(200) DEFAULT '' NOT NULL, - button_topic_new varbinary(200) DEFAULT '' NOT NULL, - button_topic_reply varbinary(200) DEFAULT '' NOT NULL, - user_icon1 varbinary(200) DEFAULT '' NOT NULL, - user_icon2 varbinary(200) DEFAULT '' NOT NULL, - user_icon3 varbinary(200) DEFAULT '' NOT NULL, - user_icon4 varbinary(200) DEFAULT '' NOT NULL, - user_icon5 varbinary(200) DEFAULT '' NOT NULL, - user_icon6 varbinary(200) DEFAULT '' NOT NULL, - user_icon7 varbinary(200) DEFAULT '' NOT NULL, - user_icon8 varbinary(200) DEFAULT '' NOT NULL, - user_icon9 varbinary(200) DEFAULT '' NOT NULL, - user_icon10 varbinary(200) DEFAULT '' NOT NULL, PRIMARY KEY (imageset_id), UNIQUE imgset_nm (imageset_name(255)) ); +# Table: 'phpbb_styles_imageset_data' +CREATE TABLE phpbb_styles_imageset_data ( + image_id smallint(4) UNSIGNED NOT NULL auto_increment, + image_name varbinary(200) DEFAULT '' NOT NULL, + image_filename varbinary(200) DEFAULT '' NOT NULL, + image_lang varbinary(30) DEFAULT '' NOT NULL, + image_height smallint(4) UNSIGNED DEFAULT '0' NOT NULL, + image_width smallint(4) UNSIGNED DEFAULT '0' NOT NULL, + imageset_id tinyint(4) DEFAULT '0' NOT NULL, + PRIMARY KEY (image_id), + KEY imgset_id (imageset_id) +); + + # Table: 'phpbb_topics' CREATE TABLE phpbb_topics ( topic_id mediumint(8) UNSIGNED NOT NULL auto_increment, diff --git a/phpBB/install/schemas/mysql_41_schema.sql b/phpBB/install/schemas/mysql_41_schema.sql index 07f60d816e..a35fa79df8 100644 --- a/phpBB/install/schemas/mysql_41_schema.sql +++ b/phpBB/install/schemas/mysql_41_schema.sql @@ -777,105 +777,25 @@ CREATE TABLE phpbb_styles_imageset ( imageset_name varchar(255) DEFAULT '' NOT NULL, imageset_copyright varchar(255) DEFAULT '' NOT NULL, imageset_path varchar(100) DEFAULT '' NOT NULL, - site_logo varchar(200) DEFAULT '' NOT NULL, - upload_bar varchar(200) DEFAULT '' NOT NULL, - poll_left varchar(200) DEFAULT '' NOT NULL, - poll_center varchar(200) DEFAULT '' NOT NULL, - poll_right varchar(200) DEFAULT '' NOT NULL, - icon_friend varchar(200) DEFAULT '' NOT NULL, - icon_foe varchar(200) DEFAULT '' NOT NULL, - forum_link varchar(200) DEFAULT '' NOT NULL, - forum_read varchar(200) DEFAULT '' NOT NULL, - forum_read_locked varchar(200) DEFAULT '' NOT NULL, - forum_read_subforum varchar(200) DEFAULT '' NOT NULL, - forum_unread varchar(200) DEFAULT '' NOT NULL, - forum_unread_locked varchar(200) DEFAULT '' NOT NULL, - forum_unread_subforum varchar(200) DEFAULT '' NOT NULL, - topic_moved varchar(200) DEFAULT '' NOT NULL, - topic_read varchar(200) DEFAULT '' NOT NULL, - topic_read_mine varchar(200) DEFAULT '' NOT NULL, - topic_read_hot varchar(200) DEFAULT '' NOT NULL, - topic_read_hot_mine varchar(200) DEFAULT '' NOT NULL, - topic_read_locked varchar(200) DEFAULT '' NOT NULL, - topic_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - topic_unread varchar(200) DEFAULT '' NOT NULL, - topic_unread_mine varchar(200) DEFAULT '' NOT NULL, - topic_unread_hot varchar(200) DEFAULT '' NOT NULL, - topic_unread_hot_mine varchar(200) DEFAULT '' NOT NULL, - topic_unread_locked varchar(200) DEFAULT '' NOT NULL, - topic_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - sticky_read varchar(200) DEFAULT '' NOT NULL, - sticky_read_mine varchar(200) DEFAULT '' NOT NULL, - sticky_read_locked varchar(200) DEFAULT '' NOT NULL, - sticky_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - sticky_unread varchar(200) DEFAULT '' NOT NULL, - sticky_unread_mine varchar(200) DEFAULT '' NOT NULL, - sticky_unread_locked varchar(200) DEFAULT '' NOT NULL, - sticky_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - announce_read varchar(200) DEFAULT '' NOT NULL, - announce_read_mine varchar(200) DEFAULT '' NOT NULL, - announce_read_locked varchar(200) DEFAULT '' NOT NULL, - announce_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - announce_unread varchar(200) DEFAULT '' NOT NULL, - announce_unread_mine varchar(200) DEFAULT '' NOT NULL, - announce_unread_locked varchar(200) DEFAULT '' NOT NULL, - announce_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - global_read varchar(200) DEFAULT '' NOT NULL, - global_read_mine varchar(200) DEFAULT '' NOT NULL, - global_read_locked varchar(200) DEFAULT '' NOT NULL, - global_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - global_unread varchar(200) DEFAULT '' NOT NULL, - global_unread_mine varchar(200) DEFAULT '' NOT NULL, - global_unread_locked varchar(200) DEFAULT '' NOT NULL, - global_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - pm_read varchar(200) DEFAULT '' NOT NULL, - pm_unread varchar(200) DEFAULT '' NOT NULL, - icon_contact_aim varchar(200) DEFAULT '' NOT NULL, - icon_contact_email varchar(200) DEFAULT '' NOT NULL, - icon_contact_icq varchar(200) DEFAULT '' NOT NULL, - icon_contact_jabber varchar(200) DEFAULT '' NOT NULL, - icon_contact_msnm varchar(200) DEFAULT '' NOT NULL, - icon_contact_pm varchar(200) DEFAULT '' NOT NULL, - icon_contact_yahoo varchar(200) DEFAULT '' NOT NULL, - icon_contact_www varchar(200) DEFAULT '' NOT NULL, - icon_post_delete varchar(200) DEFAULT '' NOT NULL, - icon_post_edit varchar(200) DEFAULT '' NOT NULL, - icon_post_info varchar(200) DEFAULT '' NOT NULL, - icon_post_quote varchar(200) DEFAULT '' NOT NULL, - icon_post_report varchar(200) DEFAULT '' NOT NULL, - icon_post_target varchar(200) DEFAULT '' NOT NULL, - icon_post_target_unread varchar(200) DEFAULT '' NOT NULL, - icon_topic_attach varchar(200) DEFAULT '' NOT NULL, - icon_topic_latest varchar(200) DEFAULT '' NOT NULL, - icon_topic_newest varchar(200) DEFAULT '' NOT NULL, - icon_topic_reported varchar(200) DEFAULT '' NOT NULL, - icon_topic_unapproved varchar(200) DEFAULT '' NOT NULL, - icon_user_online varchar(200) DEFAULT '' NOT NULL, - icon_user_offline varchar(200) DEFAULT '' NOT NULL, - icon_user_profile varchar(200) DEFAULT '' NOT NULL, - icon_user_search varchar(200) DEFAULT '' NOT NULL, - icon_user_warn varchar(200) DEFAULT '' NOT NULL, - button_pm_forward varchar(200) DEFAULT '' NOT NULL, - button_pm_new varchar(200) DEFAULT '' NOT NULL, - button_pm_reply varchar(200) DEFAULT '' NOT NULL, - button_topic_locked varchar(200) DEFAULT '' NOT NULL, - button_topic_new varchar(200) DEFAULT '' NOT NULL, - button_topic_reply varchar(200) DEFAULT '' NOT NULL, - user_icon1 varchar(200) DEFAULT '' NOT NULL, - user_icon2 varchar(200) DEFAULT '' NOT NULL, - user_icon3 varchar(200) DEFAULT '' NOT NULL, - user_icon4 varchar(200) DEFAULT '' NOT NULL, - user_icon5 varchar(200) DEFAULT '' NOT NULL, - user_icon6 varchar(200) DEFAULT '' NOT NULL, - user_icon7 varchar(200) DEFAULT '' NOT NULL, - user_icon8 varchar(200) DEFAULT '' NOT NULL, - user_icon9 varchar(200) DEFAULT '' NOT NULL, - user_icon10 varchar(200) DEFAULT '' NOT NULL, PRIMARY KEY (imageset_id), UNIQUE imgset_nm (imageset_name) ) CHARACTER SET `utf8` COLLATE `utf8_bin`; +# Table: 'phpbb_styles_imageset_data' +CREATE TABLE phpbb_styles_imageset_data ( + image_id smallint(4) UNSIGNED NOT NULL auto_increment, + image_name varchar(200) DEFAULT '' NOT NULL, + image_filename varchar(200) DEFAULT '' NOT NULL, + image_lang varchar(30) DEFAULT '' NOT NULL, + image_height smallint(4) UNSIGNED DEFAULT '0' NOT NULL, + image_width smallint(4) UNSIGNED DEFAULT '0' NOT NULL, + imageset_id tinyint(4) DEFAULT '0' NOT NULL, + PRIMARY KEY (image_id), + KEY imgset_id (imageset_id) +) CHARACTER SET `utf8` COLLATE `utf8_bin`; + + # Table: 'phpbb_topics' CREATE TABLE phpbb_topics ( topic_id mediumint(8) UNSIGNED NOT NULL auto_increment, diff --git a/phpBB/install/schemas/oracle_schema.sql b/phpBB/install/schemas/oracle_schema.sql index a2e3532e2b..6fc1f4325b 100644 --- a/phpBB/install/schemas/oracle_schema.sql +++ b/phpBB/install/schemas/oracle_schema.sql @@ -1528,100 +1528,6 @@ CREATE TABLE phpbb_styles_imageset ( imageset_name varchar2(765) DEFAULT '' , imageset_copyright varchar2(765) DEFAULT '' , imageset_path varchar2(100) DEFAULT '' , - site_logo varchar2(200) DEFAULT '' , - upload_bar varchar2(200) DEFAULT '' , - poll_left varchar2(200) DEFAULT '' , - poll_center varchar2(200) DEFAULT '' , - poll_right varchar2(200) DEFAULT '' , - icon_friend varchar2(200) DEFAULT '' , - icon_foe varchar2(200) DEFAULT '' , - forum_link varchar2(200) DEFAULT '' , - forum_read varchar2(200) DEFAULT '' , - forum_read_locked varchar2(200) DEFAULT '' , - forum_read_subforum varchar2(200) DEFAULT '' , - forum_unread varchar2(200) DEFAULT '' , - forum_unread_locked varchar2(200) DEFAULT '' , - forum_unread_subforum varchar2(200) DEFAULT '' , - topic_moved varchar2(200) DEFAULT '' , - topic_read varchar2(200) DEFAULT '' , - topic_read_mine varchar2(200) DEFAULT '' , - topic_read_hot varchar2(200) DEFAULT '' , - topic_read_hot_mine varchar2(200) DEFAULT '' , - topic_read_locked varchar2(200) DEFAULT '' , - topic_read_locked_mine varchar2(200) DEFAULT '' , - topic_unread varchar2(200) DEFAULT '' , - topic_unread_mine varchar2(200) DEFAULT '' , - topic_unread_hot varchar2(200) DEFAULT '' , - topic_unread_hot_mine varchar2(200) DEFAULT '' , - topic_unread_locked varchar2(200) DEFAULT '' , - topic_unread_locked_mine varchar2(200) DEFAULT '' , - sticky_read varchar2(200) DEFAULT '' , - sticky_read_mine varchar2(200) DEFAULT '' , - sticky_read_locked varchar2(200) DEFAULT '' , - sticky_read_locked_mine varchar2(200) DEFAULT '' , - sticky_unread varchar2(200) DEFAULT '' , - sticky_unread_mine varchar2(200) DEFAULT '' , - sticky_unread_locked varchar2(200) DEFAULT '' , - sticky_unread_locked_mine varchar2(200) DEFAULT '' , - announce_read varchar2(200) DEFAULT '' , - announce_read_mine varchar2(200) DEFAULT '' , - announce_read_locked varchar2(200) DEFAULT '' , - announce_read_locked_mine varchar2(200) DEFAULT '' , - announce_unread varchar2(200) DEFAULT '' , - announce_unread_mine varchar2(200) DEFAULT '' , - announce_unread_locked varchar2(200) DEFAULT '' , - announce_unread_locked_mine varchar2(200) DEFAULT '' , - global_read varchar2(200) DEFAULT '' , - global_read_mine varchar2(200) DEFAULT '' , - global_read_locked varchar2(200) DEFAULT '' , - global_read_locked_mine varchar2(200) DEFAULT '' , - global_unread varchar2(200) DEFAULT '' , - global_unread_mine varchar2(200) DEFAULT '' , - global_unread_locked varchar2(200) DEFAULT '' , - global_unread_locked_mine varchar2(200) DEFAULT '' , - pm_read varchar2(200) DEFAULT '' , - pm_unread varchar2(200) DEFAULT '' , - icon_contact_aim varchar2(200) DEFAULT '' , - icon_contact_email varchar2(200) DEFAULT '' , - icon_contact_icq varchar2(200) DEFAULT '' , - icon_contact_jabber varchar2(200) DEFAULT '' , - icon_contact_msnm varchar2(200) DEFAULT '' , - icon_contact_pm varchar2(200) DEFAULT '' , - icon_contact_yahoo varchar2(200) DEFAULT '' , - icon_contact_www varchar2(200) DEFAULT '' , - icon_post_delete varchar2(200) DEFAULT '' , - icon_post_edit varchar2(200) DEFAULT '' , - icon_post_info varchar2(200) DEFAULT '' , - icon_post_quote varchar2(200) DEFAULT '' , - icon_post_report varchar2(200) DEFAULT '' , - icon_post_target varchar2(200) DEFAULT '' , - icon_post_target_unread varchar2(200) DEFAULT '' , - icon_topic_attach varchar2(200) DEFAULT '' , - icon_topic_latest varchar2(200) DEFAULT '' , - icon_topic_newest varchar2(200) DEFAULT '' , - icon_topic_reported varchar2(200) DEFAULT '' , - icon_topic_unapproved varchar2(200) DEFAULT '' , - icon_user_online varchar2(200) DEFAULT '' , - icon_user_offline varchar2(200) DEFAULT '' , - icon_user_profile varchar2(200) DEFAULT '' , - icon_user_search varchar2(200) DEFAULT '' , - icon_user_warn varchar2(200) DEFAULT '' , - button_pm_forward varchar2(200) DEFAULT '' , - button_pm_new varchar2(200) DEFAULT '' , - button_pm_reply varchar2(200) DEFAULT '' , - button_topic_locked varchar2(200) DEFAULT '' , - button_topic_new varchar2(200) DEFAULT '' , - button_topic_reply varchar2(200) DEFAULT '' , - user_icon1 varchar2(200) DEFAULT '' , - user_icon2 varchar2(200) DEFAULT '' , - user_icon3 varchar2(200) DEFAULT '' , - user_icon4 varchar2(200) DEFAULT '' , - user_icon5 varchar2(200) DEFAULT '' , - user_icon6 varchar2(200) DEFAULT '' , - user_icon7 varchar2(200) DEFAULT '' , - user_icon8 varchar2(200) DEFAULT '' , - user_icon9 varchar2(200) DEFAULT '' , - user_icon10 varchar2(200) DEFAULT '' , CONSTRAINT pk_phpbb_styles_imageset PRIMARY KEY (imageset_id), CONSTRAINT u_phpbb_imgset_nm UNIQUE (imageset_name) ) @@ -1644,6 +1550,40 @@ END; / +/* + Table: 'phpbb_styles_imageset_data' +*/ +CREATE TABLE phpbb_styles_imageset_data ( + image_id number(4) NOT NULL, + image_name varchar2(200) DEFAULT '' , + image_filename varchar2(200) DEFAULT '' , + image_lang varchar2(30) DEFAULT '' , + image_height number(4) DEFAULT '0' NOT NULL, + image_width number(4) DEFAULT '0' NOT NULL, + imageset_id number(4) DEFAULT '0' NOT NULL, + CONSTRAINT pk_phpbb_styles_imageset_data PRIMARY KEY (image_id) +) +/ + +CREATE INDEX phpbb_styles_imageset_data_imgset_id ON phpbb_styles_imageset_data (imageset_id) +/ + +CREATE SEQUENCE phpbb_styles_imageset_data_seq +/ + +CREATE OR REPLACE TRIGGER t_phpbb_styles_imageset_data +BEFORE INSERT ON phpbb_styles_imageset_data +FOR EACH ROW WHEN ( + new.image_id IS NULL OR new.image_id = 0 +) +BEGIN + SELECT phpbb_styles_imageset_data_seq.nextval + INTO :new.image_id + FROM dual; +END; +/ + + /* Table: 'phpbb_topics' */ diff --git a/phpBB/install/schemas/postgres_schema.sql b/phpBB/install/schemas/postgres_schema.sql index 910ae4f022..bc3b916007 100644 --- a/phpBB/install/schemas/postgres_schema.sql +++ b/phpBB/install/schemas/postgres_schema.sql @@ -1021,105 +1021,29 @@ CREATE TABLE phpbb_styles_imageset ( imageset_name varchar(255) DEFAULT '' NOT NULL, imageset_copyright varchar(255) DEFAULT '' NOT NULL, imageset_path varchar(100) DEFAULT '' NOT NULL, - site_logo varchar(200) DEFAULT '' NOT NULL, - upload_bar varchar(200) DEFAULT '' NOT NULL, - poll_left varchar(200) DEFAULT '' NOT NULL, - poll_center varchar(200) DEFAULT '' NOT NULL, - poll_right varchar(200) DEFAULT '' NOT NULL, - icon_friend varchar(200) DEFAULT '' NOT NULL, - icon_foe varchar(200) DEFAULT '' NOT NULL, - forum_link varchar(200) DEFAULT '' NOT NULL, - forum_read varchar(200) DEFAULT '' NOT NULL, - forum_read_locked varchar(200) DEFAULT '' NOT NULL, - forum_read_subforum varchar(200) DEFAULT '' NOT NULL, - forum_unread varchar(200) DEFAULT '' NOT NULL, - forum_unread_locked varchar(200) DEFAULT '' NOT NULL, - forum_unread_subforum varchar(200) DEFAULT '' NOT NULL, - topic_moved varchar(200) DEFAULT '' NOT NULL, - topic_read varchar(200) DEFAULT '' NOT NULL, - topic_read_mine varchar(200) DEFAULT '' NOT NULL, - topic_read_hot varchar(200) DEFAULT '' NOT NULL, - topic_read_hot_mine varchar(200) DEFAULT '' NOT NULL, - topic_read_locked varchar(200) DEFAULT '' NOT NULL, - topic_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - topic_unread varchar(200) DEFAULT '' NOT NULL, - topic_unread_mine varchar(200) DEFAULT '' NOT NULL, - topic_unread_hot varchar(200) DEFAULT '' NOT NULL, - topic_unread_hot_mine varchar(200) DEFAULT '' NOT NULL, - topic_unread_locked varchar(200) DEFAULT '' NOT NULL, - topic_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - sticky_read varchar(200) DEFAULT '' NOT NULL, - sticky_read_mine varchar(200) DEFAULT '' NOT NULL, - sticky_read_locked varchar(200) DEFAULT '' NOT NULL, - sticky_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - sticky_unread varchar(200) DEFAULT '' NOT NULL, - sticky_unread_mine varchar(200) DEFAULT '' NOT NULL, - sticky_unread_locked varchar(200) DEFAULT '' NOT NULL, - sticky_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - announce_read varchar(200) DEFAULT '' NOT NULL, - announce_read_mine varchar(200) DEFAULT '' NOT NULL, - announce_read_locked varchar(200) DEFAULT '' NOT NULL, - announce_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - announce_unread varchar(200) DEFAULT '' NOT NULL, - announce_unread_mine varchar(200) DEFAULT '' NOT NULL, - announce_unread_locked varchar(200) DEFAULT '' NOT NULL, - announce_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - global_read varchar(200) DEFAULT '' NOT NULL, - global_read_mine varchar(200) DEFAULT '' NOT NULL, - global_read_locked varchar(200) DEFAULT '' NOT NULL, - global_read_locked_mine varchar(200) DEFAULT '' NOT NULL, - global_unread varchar(200) DEFAULT '' NOT NULL, - global_unread_mine varchar(200) DEFAULT '' NOT NULL, - global_unread_locked varchar(200) DEFAULT '' NOT NULL, - global_unread_locked_mine varchar(200) DEFAULT '' NOT NULL, - pm_read varchar(200) DEFAULT '' NOT NULL, - pm_unread varchar(200) DEFAULT '' NOT NULL, - icon_contact_aim varchar(200) DEFAULT '' NOT NULL, - icon_contact_email varchar(200) DEFAULT '' NOT NULL, - icon_contact_icq varchar(200) DEFAULT '' NOT NULL, - icon_contact_jabber varchar(200) DEFAULT '' NOT NULL, - icon_contact_msnm varchar(200) DEFAULT '' NOT NULL, - icon_contact_pm varchar(200) DEFAULT '' NOT NULL, - icon_contact_yahoo varchar(200) DEFAULT '' NOT NULL, - icon_contact_www varchar(200) DEFAULT '' NOT NULL, - icon_post_delete varchar(200) DEFAULT '' NOT NULL, - icon_post_edit varchar(200) DEFAULT '' NOT NULL, - icon_post_info varchar(200) DEFAULT '' NOT NULL, - icon_post_quote varchar(200) DEFAULT '' NOT NULL, - icon_post_report varchar(200) DEFAULT '' NOT NULL, - icon_post_target varchar(200) DEFAULT '' NOT NULL, - icon_post_target_unread varchar(200) DEFAULT '' NOT NULL, - icon_topic_attach varchar(200) DEFAULT '' NOT NULL, - icon_topic_latest varchar(200) DEFAULT '' NOT NULL, - icon_topic_newest varchar(200) DEFAULT '' NOT NULL, - icon_topic_reported varchar(200) DEFAULT '' NOT NULL, - icon_topic_unapproved varchar(200) DEFAULT '' NOT NULL, - icon_user_online varchar(200) DEFAULT '' NOT NULL, - icon_user_offline varchar(200) DEFAULT '' NOT NULL, - icon_user_profile varchar(200) DEFAULT '' NOT NULL, - icon_user_search varchar(200) DEFAULT '' NOT NULL, - icon_user_warn varchar(200) DEFAULT '' NOT NULL, - button_pm_forward varchar(200) DEFAULT '' NOT NULL, - button_pm_new varchar(200) DEFAULT '' NOT NULL, - button_pm_reply varchar(200) DEFAULT '' NOT NULL, - button_topic_locked varchar(200) DEFAULT '' NOT NULL, - button_topic_new varchar(200) DEFAULT '' NOT NULL, - button_topic_reply varchar(200) DEFAULT '' NOT NULL, - user_icon1 varchar(200) DEFAULT '' NOT NULL, - user_icon2 varchar(200) DEFAULT '' NOT NULL, - user_icon3 varchar(200) DEFAULT '' NOT NULL, - user_icon4 varchar(200) DEFAULT '' NOT NULL, - user_icon5 varchar(200) DEFAULT '' NOT NULL, - user_icon6 varchar(200) DEFAULT '' NOT NULL, - user_icon7 varchar(200) DEFAULT '' NOT NULL, - user_icon8 varchar(200) DEFAULT '' NOT NULL, - user_icon9 varchar(200) DEFAULT '' NOT NULL, - user_icon10 varchar(200) DEFAULT '' NOT NULL, PRIMARY KEY (imageset_id) ); CREATE UNIQUE INDEX phpbb_styles_imageset_imgset_nm ON phpbb_styles_imageset (imageset_name); +/* + Table: 'phpbb_styles_imageset_data' +*/ +CREATE SEQUENCE phpbb_styles_imageset_data_seq; + +CREATE TABLE phpbb_styles_imageset_data ( + image_id INT2 DEFAULT nextval('phpbb_styles_imageset_data_seq'), + image_name varchar(200) DEFAULT '' NOT NULL, + image_filename varchar(200) DEFAULT '' NOT NULL, + image_lang varchar(30) DEFAULT '' NOT NULL, + image_height INT2 DEFAULT '0' NOT NULL CHECK (image_height >= 0), + image_width INT2 DEFAULT '0' NOT NULL CHECK (image_width >= 0), + imageset_id INT2 DEFAULT '0' NOT NULL, + PRIMARY KEY (image_id) +); + +CREATE INDEX phpbb_styles_imageset_data_imgset_id ON phpbb_styles_imageset_data (imageset_id); + /* Table: 'phpbb_topics' */ diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index 82689af296..8fbf1b6b26 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -383,8 +383,193 @@ INSERT INTO phpbb_styles (style_name, style_copyright, style_active, template_id INSERT INTO phpbb_styles (style_name, style_copyright, style_active, template_id, theme_id, imageset_id) VALUES ('subsilver2', '© phpBB Group', 1, 2, 2, 2); # -- phpbb_styles_imageset -INSERT INTO phpbb_styles_imageset (imageset_name, imageset_copyright, imageset_path, site_logo, upload_bar, poll_left, poll_center, poll_right, icon_friend, icon_foe, forum_link, forum_read, forum_read_locked, forum_read_subforum, forum_unread, forum_unread_locked, forum_unread_subforum, topic_moved, topic_read, topic_read_mine, topic_read_hot, topic_read_hot_mine, topic_read_locked, topic_read_locked_mine, topic_unread, topic_unread_mine, topic_unread_hot, topic_unread_hot_mine, topic_unread_locked, topic_unread_locked_mine, sticky_read, sticky_read_mine, sticky_read_locked, sticky_read_locked_mine, sticky_unread, sticky_unread_mine, sticky_unread_locked, sticky_unread_locked_mine, announce_read, announce_read_mine, announce_read_locked, announce_read_locked_mine, announce_unread, announce_unread_mine, announce_unread_locked, announce_unread_locked_mine, global_read, global_read_mine, global_read_locked, global_read_locked_mine, global_unread, global_unread_mine, global_unread_locked, global_unread_locked_mine, pm_read, pm_unread, icon_contact_aim, icon_contact_email, icon_contact_icq, icon_contact_jabber, icon_contact_msnm, icon_contact_pm, icon_contact_yahoo, icon_contact_www, icon_post_delete, icon_post_edit, icon_post_info, icon_post_quote, icon_post_report, icon_post_target, icon_post_target_unread, icon_topic_attach, icon_topic_latest, icon_topic_newest, icon_topic_reported, icon_topic_unapproved, icon_user_online, icon_user_offline, icon_user_profile, icon_user_search, icon_user_warn, button_pm_forward, button_pm_new, button_pm_reply, button_topic_locked, button_topic_new, button_topic_reply, user_icon1, user_icon2, user_icon3, user_icon4, user_icon5, user_icon6, user_icon7, user_icon8, user_icon9, user_icon10) VALUES ('prosilver', '© phpBB Group', 'prosilver', 'site_logo.gif*52*139', 'progress_bar.gif*16*280', '', '', '', '', '', 'forum_link.gif*27*27', 'forum_read.gif*27*27', 'forum_read_locked.gif*27*27', 'forum_read_subforum.gif*27*27', 'forum_unread.gif*27*27', 'forum_read_locked.gif*27*27', 'forum_unread_subforum.gif*27*27', 'topic_moved.gif*27*27', 'topic_read.gif*27*27', 'topic_read_mine.gif*27*27', 'topic_read_hot.gif*27*27', 'topic_read_hot_mine.gif*27*27', 'topic_read_locked.gif*27*27', 'topic_read_locked_mine.gif*27*27', 'topic_unread.gif*27*27', 'topic_unread_mine.gif*27*27', 'topic_unread_hot.gif*27*27', 'topic_unread_hot_mine.gif*27*27', 'topic_unread_locked.gif*27*27', 'topic_unread_locked_mine.gif*27*27', 'sticky_read.gif*27*27', 'sticky_read_mine.gif*27*27', 'sticky_read.gif*27*27', 'sticky_read_mine.gif*27*27', 'sticky_unread.gif*27*27', 'sticky_unread_mine.gif*27*27', 'sticky_unread.gif*27*27', 'sticky_unread_locked_mine.gif*27*27', 'announce_read.gif*27*27', 'announce_read_mine.gif*27*27', 'announce_read_locked.gif*27*27', 'announce_read_locked_mine.gif*27*27', 'announce_unread.gif*27*27', 'announce_unread_mine.gif*27*27', 'announce_unread.gif*27*27', 'announce_unread_locked_mine.gif*27*27', 'announce_read.gif*27*27', 'announce_read_mine.gif*27*27', 'announce_read_locked.gif*27*27', 'announce_read_locked_mine.gif*27*27', 'announce_unread.gif*27*27', 'announce_unread_mine.gif*27*27', 'announce_unread_locked_mine.gif*27*27', 'announce_unread_locked_mine.gif*27*27', 'topic_read.gif*27*27', 'topic_unread.gif*27*27', 'icon_contact_aim.gif*20*72', 'icon_contact_email.gif*20*72', 'icon_contact_icq.gif*20*72', 'icon_contact_jabber.gif*20*72', 'icon_contact_msnm.gif*20*72', '{LANG}/icon_contact_pm.gif', 'icon_contact_yahoo.gif*20*72', 'icon_contact_www.gif*20*72', 'icon_post_delete.gif*20*20', '{LANG}/icon_post_edit.gif', 'icon_post_info.gif*20*20', '{LANG}/icon_post_quote.gif', 'icon_post_report.gif*20*20', 'icon_post_target.gif*9*12', 'icon_post_target_unread.gif*9*12', 'icon_topic_attach.gif*10*7', 'icon_topic_latest.gif*9*12', 'icon_topic_newest.gif*9*12', 'icon_topic_reported.gif*14*16', 'icon_topic_unapproved.gif*14*16', '{LANG}/icon_user_online.gif', '{LANG}/icon_user_offline.gif', 'icon_user_profile.gif*11*11', '{LANG}/icon_user_search.gif', 'icon_post_report.gif*20*20', '{LANG}/button_pm_forward.gif', '{LANG}/button_pm_new.gif', '{LANG}/button_pm_reply', '{LANG}/button_topic_locked.gif', '{LANG}/button_topic_new.gif', '{LANG}/button_topic_reply.gif', '', '', '', '', '', '', '', '', '', ''); -INSERT INTO phpbb_styles_imageset (imageset_name, imageset_copyright, imageset_path, site_logo, upload_bar, poll_left, poll_center, poll_right, icon_friend, icon_foe, forum_link, forum_read, forum_read_locked, forum_read_subforum, forum_unread, forum_unread_locked, forum_unread_subforum, topic_moved, topic_read, topic_read_mine, topic_read_hot, topic_read_hot_mine, topic_read_locked, topic_read_locked_mine, topic_unread, topic_unread_mine, topic_unread_hot, topic_unread_hot_mine, topic_unread_locked, topic_unread_locked_mine, sticky_read, sticky_read_mine, sticky_read_locked, sticky_read_locked_mine, sticky_unread, sticky_unread_mine, sticky_unread_locked, sticky_unread_locked_mine, announce_read, announce_read_mine, announce_read_locked, announce_read_locked_mine, announce_unread, announce_unread_mine, announce_unread_locked, announce_unread_locked_mine, global_read, global_read_mine, global_read_locked, global_read_locked_mine, global_unread, global_unread_mine, global_unread_locked, global_unread_locked_mine, pm_read, pm_unread, icon_contact_aim, icon_contact_email, icon_contact_icq, icon_contact_jabber, icon_contact_msnm, icon_contact_pm, icon_contact_yahoo, icon_contact_www, icon_post_delete, icon_post_edit, icon_post_info, icon_post_quote, icon_post_report, icon_post_target, icon_post_target_unread, icon_topic_attach, icon_topic_latest, icon_topic_newest, icon_topic_reported, icon_topic_unapproved, icon_user_online, icon_user_offline, icon_user_profile, icon_user_search, icon_user_warn, button_pm_forward, button_pm_new, button_pm_reply, button_topic_locked, button_topic_new, button_topic_reply, user_icon1, user_icon2, user_icon3, user_icon4, user_icon5, user_icon6, user_icon7, user_icon8, user_icon9, user_icon10) VALUES ('subsilver2', '© phpBB Group', 'subsilver2', 'site_logo.gif*94*170', 'upload_bar.gif*16*280', 'poll_left.gif*12*4', 'poll_center.gif*12*', 'poll_right.gif*12*4', '', '', 'forum_link.gif*25*46', 'forum_read.gif*25*46', 'forum_read_locked.gif*25*46', 'forum_read_subforum.gif*25*46', 'forum_unread.gif*25*46', 'forum_unread_locked.gif*25*46', 'forum_unread_subforum.gif*25*46', 'topic_moved.gif*18*19', 'topic_read.gif*18*19', 'topic_read_mine.gif*18*19', 'topic_read_hot.gif*18*19', 'topic_read_hot_mine.gif*18*19', 'topic_read_locked.gif*18*19', 'topic_read_locked_mine.gif*18*19', 'topic_unread.gif*18*19', 'topic_unread_mine.gif*18*19', 'topic_unread_hot.gif*18*19', 'topic_unread_hot_mine.gif*18*19', 'topic_unread_locked.gif*18*19', 'topic_unread_locked_mine.gif*18*19', 'sticky_read.gif*18*19', 'sticky_read_mine.gif*18*19', 'sticky_read_locked.gif*18*19', 'sticky_read_locked_mine.gif*18*19', 'sticky_unread.gif*18*19', 'sticky_unread_mine.gif*18*19', 'sticky_unread_locked.gif*18*19', 'sticky_unread_locked_mine.gif*18*19', 'announce_read.gif*18*19', 'announce_read_mine.gif*18*19', 'announce_read_locked.gif*18*19', 'announce_read_locked_mine.gif*18*19', 'announce_unread.gif*18*19', 'announce_unread_mine.gif*18*19', 'announce_unread_locked.gif*18*19', 'announce_unread_locked_mine.gif*18*19', 'announce_read.gif*18*19', 'announce_read_mine.gif*18*19', 'announce_read_locked.gif*18*19', 'announce_read_locked_mine.gif*18*19', 'announce_unread.gif*18*19', 'announce_unread_mine.gif*18*19', 'announce_unread_locked.gif*18*19', 'announce_unread_locked_mine.gif*18*19', 'topic_read.gif*18*19', 'topic_unread.gif*18*19', '{LANG}/icon_contact_aim.gif', '{LANG}/icon_contact_email.gif', '{LANG}/icon_contact_icq.gif', '{LANG}/icon_contact_jabber.gif', '{LANG}/icon_contact_msnm.gif', '{LANG}/icon_contact_pm.gif', '{LANG}/icon_contact_yahoo.gif', '{LANG}/icon_contact_www.gif', '{LANG}/icon_post_delete.gif', '{LANG}/icon_post_edit.gif', '{LANG}/icon_post_info.gif', '{LANG}/icon_post_quote.gif', '{LANG}/icon_post_report.gif', 'icon_post_target.gif*9*12', 'icon_post_target_unread.gif*9*12', 'icon_topic_attach.gif*18*14', 'icon_topic_latest.gif*9*18', 'icon_topic_newest.gif*9*18', 'icon_topic_reported.gif*18*19', 'icon_topic_unapproved.gif*18*19', '{LANG}/icon_user_online.gif', '{LANG}/icon_user_offline.gif', '{LANG}/icon_user_profile.gif', '{LANG}/icon_user_search.gif', '{LANG}/icon_user_warn.gif', '', '{LANG}/button_pm_new.gif', '{LANG}/button_pm_reply.gif', '{LANG}/button_topic_locked.gif', '{LANG}/button_topic_new.gif', '{LANG}/button_topic_reply.gif', '', '', '', '', '', '', '', '', '', ''); +INSERT INTO phpbb_styles_imageset (imageset_name, imageset_copyright, imageset_path) VALUES ('prosilver', '© phpBB Group', 'prosilver'); +INSERT INTO phpbb_styles_imageset (imageset_name, imageset_copyright, imageset_path) VALUES ('subsilver2', '© phpBB Group', 'subsilver2'); + +# -- phpbb_styles_imageset_data +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('site_logo', 'site_logo.gif', '', 94, 170, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('upload_bar', 'upload_bar.gif', '', 16, 280, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('poll_left', 'poll_left.gif', '', 12, 4, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('poll_center', 'poll_center.gif', '', 12, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('poll_right', 'poll_right.gif', '', 12, 4, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_link', 'forum_link.gif', '', 25, 46, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read', 'forum_read.gif', '', 25, 46, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_locked', 'forum_read_locked.gif', '', 25, 46, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_subforum', 'forum_read_subforum.gif', '', 25, 46, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread', 'forum_unread.gif', '', 25, 46, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_locked', 'forum_unread_locked.gif', '', 25, 46, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_subforum', 'forum_unread_subforum.gif', '', 25, 46, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_moved', 'topic_moved.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read', 'topic_read.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_mine', 'topic_read_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_hot', 'topic_read_hot.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_hot_mine', 'topic_read_hot_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_locked', 'topic_read_locked.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_locked_mine', 'topic_read_locked_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread', 'topic_unread.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_mine', 'topic_unread_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_hot', 'topic_unread_hot.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_hot_mine', 'topic_unread_hot_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_locked', 'topic_unread_locked.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_locked_mine', 'topic_unread_locked_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read', 'sticky_read.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_mine', 'sticky_read_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_locked', 'sticky_read_locked.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_locked_mine', 'sticky_read_locked_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread', 'sticky_unread.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_mine', 'sticky_unread_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_locked', 'sticky_unread_locked.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_locked_mine', 'sticky_unread_locked_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read', 'announce_read.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_mine', 'announce_read_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_locked', 'announce_read_locked.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_locked_mine', 'announce_read_locked_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread', 'announce_unread.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_mine', 'announce_unread_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked', 'announce_unread_locked.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read', 'announce_read.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_mine', 'announce_read_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_locked', 'announce_read_locked.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_locked_mine', 'announce_read_locked_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread', 'announce_unread.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_mine', 'announce_unread_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked', 'announce_unread_locked.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_read', 'topic_read.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_unread', 'topic_unread.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target', 'icon_post_target.gif', '', 9, 12, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target_unread', 'icon_post_target_unread.gif', '', 9, 12, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_attach', 'icon_topic_attach.gif', '', 18, 14, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_latest', 'icon_topic_latest.gif', '', 9, 18, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_newest', 'icon_topic_newest.gif', '', 9, 18, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_reported', 'icon_topic_reported.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_unapproved', 'icon_topic_unapproved.gif', '', 18, 19, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_delete', 'icon_post_delete.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_info', 'icon_post_info.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_report', 'icon_post_report.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_offline', 'icon_user_offline.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_profile', 'icon_user_profile.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_search', 'icon_user_search.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_user_warn.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_delete', 'icon_post_delete.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_info', 'icon_post_info.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_report', 'icon_post_report.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_offline', 'icon_user_offline.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_profile', 'icon_user_profile.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_search', 'icon_user_search.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_user_warn.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'nl', 0, 0, 2); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('site_logo', 'site_logo.gif', '', 52, 139, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('upload_bar', 'progress_bar.gif', '', 16, 280, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_link', 'forum_link.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read', 'forum_read.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_locked', 'forum_read_locked.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_subforum', 'forum_read_subforum.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread', 'forum_unread.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_locked', 'forum_read_locked.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_subforum', 'forum_unread_subforum.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_moved', 'topic_moved.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read', 'topic_read.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_mine', 'topic_read_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_hot', 'topic_read_hot.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_hot_mine', 'topic_read_hot_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_locked', 'topic_read_locked.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read_locked_mine', 'topic_read_locked_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread', 'topic_unread.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_mine', 'topic_unread_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_hot', 'topic_unread_hot.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_hot_mine', 'topic_unread_hot_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_locked', 'topic_unread_locked.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_unread_locked_mine', 'topic_unread_locked_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read', 'sticky_read.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_mine', 'sticky_read_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_locked', 'sticky_read.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_read_locked_mine', 'sticky_read_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread', 'sticky_unread.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_mine', 'sticky_unread_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_locked', 'sticky_unread.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('sticky_unread_locked_mine', 'sticky_unread_locked_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read', 'announce_read.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_mine', 'announce_read_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_locked', 'announce_read_locked.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_locked_mine', 'announce_read_locked_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread', 'announce_unread.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_mine', 'announce_unread_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked', 'announce_unread.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read', 'announce_read.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_mine', 'announce_read_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_locked', 'announce_read_locked.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_locked_mine', 'announce_read_locked_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread', 'announce_unread.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_mine', 'announce_unread_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked', 'announce_unread_locked_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_read', 'topic_read.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_unread', 'topic_unread.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', '', 20, 72, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', '', 20, 72, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', '', 20, 72, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', '', 20, 72, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', '', 20, 72, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', '', 20, 72, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', '', 20, 72, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_delete', 'icon_post_delete.gif', '', 20, 20, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_info', 'icon_post_info.gif', '', 20, 20, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_report', 'icon_post_report.gif', '', 20, 20, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target', 'icon_post_target.gif', '', 9, 12, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target_unread', 'icon_post_target_unread.gif', '', 9, 12, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_attach', 'icon_topic_attach.gif', '', 10, 7, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_latest', 'icon_topic_latest.gif', '', 9, 12, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_newest', 'icon_topic_newest.gif', '', 9, 12, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_reported', 'icon_topic_reported.gif', '', 14, 16, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_unapproved', 'icon_topic_unapproved.gif', '', 14, 16, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_profile', 'icon_user_profile.gif', '', 11, 11, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_post_report.gif', '', 20, 20, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'en', 40, 28, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'en', 40, 42, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'en', 40, 54, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'en', 0, 0, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_offline', 'icon_user_offline.gif', 'en', 0, 0, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_search', 'icon_user_search.gif', 'en', 0, 0, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_forward', 'button_pm_forward.gif', 'en', 0, 0, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'en', 0, 0, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'en', 0, 0, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'en', 0, 0, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 0, 0, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 0, 0, 1); # -- phpbb_styles_template INSERT INTO phpbb_styles_template (template_name, template_copyright, template_path, bbcode_bitfield, template_storedb) VALUES ('prosilver', '© phpBB Group', 'prosilver', 'lNg=', 0); diff --git a/phpBB/install/schemas/sqlite_schema.sql b/phpBB/install/schemas/sqlite_schema.sql index 115c69376b..d1ac9abf81 100644 --- a/phpBB/install/schemas/sqlite_schema.sql +++ b/phpBB/install/schemas/sqlite_schema.sql @@ -749,105 +749,24 @@ CREATE TABLE phpbb_styles_imageset ( imageset_id INTEGER PRIMARY KEY NOT NULL , imageset_name varchar(255) NOT NULL DEFAULT '', imageset_copyright varchar(255) NOT NULL DEFAULT '', - imageset_path varchar(100) NOT NULL DEFAULT '', - site_logo varchar(200) NOT NULL DEFAULT '', - upload_bar varchar(200) NOT NULL DEFAULT '', - poll_left varchar(200) NOT NULL DEFAULT '', - poll_center varchar(200) NOT NULL DEFAULT '', - poll_right varchar(200) NOT NULL DEFAULT '', - icon_friend varchar(200) NOT NULL DEFAULT '', - icon_foe varchar(200) NOT NULL DEFAULT '', - forum_link varchar(200) NOT NULL DEFAULT '', - forum_read varchar(200) NOT NULL DEFAULT '', - forum_read_locked varchar(200) NOT NULL DEFAULT '', - forum_read_subforum varchar(200) NOT NULL DEFAULT '', - forum_unread varchar(200) NOT NULL DEFAULT '', - forum_unread_locked varchar(200) NOT NULL DEFAULT '', - forum_unread_subforum varchar(200) NOT NULL DEFAULT '', - topic_moved varchar(200) NOT NULL DEFAULT '', - topic_read varchar(200) NOT NULL DEFAULT '', - topic_read_mine varchar(200) NOT NULL DEFAULT '', - topic_read_hot varchar(200) NOT NULL DEFAULT '', - topic_read_hot_mine varchar(200) NOT NULL DEFAULT '', - topic_read_locked varchar(200) NOT NULL DEFAULT '', - topic_read_locked_mine varchar(200) NOT NULL DEFAULT '', - topic_unread varchar(200) NOT NULL DEFAULT '', - topic_unread_mine varchar(200) NOT NULL DEFAULT '', - topic_unread_hot varchar(200) NOT NULL DEFAULT '', - topic_unread_hot_mine varchar(200) NOT NULL DEFAULT '', - topic_unread_locked varchar(200) NOT NULL DEFAULT '', - topic_unread_locked_mine varchar(200) NOT NULL DEFAULT '', - sticky_read varchar(200) NOT NULL DEFAULT '', - sticky_read_mine varchar(200) NOT NULL DEFAULT '', - sticky_read_locked varchar(200) NOT NULL DEFAULT '', - sticky_read_locked_mine varchar(200) NOT NULL DEFAULT '', - sticky_unread varchar(200) NOT NULL DEFAULT '', - sticky_unread_mine varchar(200) NOT NULL DEFAULT '', - sticky_unread_locked varchar(200) NOT NULL DEFAULT '', - sticky_unread_locked_mine varchar(200) NOT NULL DEFAULT '', - announce_read varchar(200) NOT NULL DEFAULT '', - announce_read_mine varchar(200) NOT NULL DEFAULT '', - announce_read_locked varchar(200) NOT NULL DEFAULT '', - announce_read_locked_mine varchar(200) NOT NULL DEFAULT '', - announce_unread varchar(200) NOT NULL DEFAULT '', - announce_unread_mine varchar(200) NOT NULL DEFAULT '', - announce_unread_locked varchar(200) NOT NULL DEFAULT '', - announce_unread_locked_mine varchar(200) NOT NULL DEFAULT '', - global_read varchar(200) NOT NULL DEFAULT '', - global_read_mine varchar(200) NOT NULL DEFAULT '', - global_read_locked varchar(200) NOT NULL DEFAULT '', - global_read_locked_mine varchar(200) NOT NULL DEFAULT '', - global_unread varchar(200) NOT NULL DEFAULT '', - global_unread_mine varchar(200) NOT NULL DEFAULT '', - global_unread_locked varchar(200) NOT NULL DEFAULT '', - global_unread_locked_mine varchar(200) NOT NULL DEFAULT '', - pm_read varchar(200) NOT NULL DEFAULT '', - pm_unread varchar(200) NOT NULL DEFAULT '', - icon_contact_aim varchar(200) NOT NULL DEFAULT '', - icon_contact_email varchar(200) NOT NULL DEFAULT '', - icon_contact_icq varchar(200) NOT NULL DEFAULT '', - icon_contact_jabber varchar(200) NOT NULL DEFAULT '', - icon_contact_msnm varchar(200) NOT NULL DEFAULT '', - icon_contact_pm varchar(200) NOT NULL DEFAULT '', - icon_contact_yahoo varchar(200) NOT NULL DEFAULT '', - icon_contact_www varchar(200) NOT NULL DEFAULT '', - icon_post_delete varchar(200) NOT NULL DEFAULT '', - icon_post_edit varchar(200) NOT NULL DEFAULT '', - icon_post_info varchar(200) NOT NULL DEFAULT '', - icon_post_quote varchar(200) NOT NULL DEFAULT '', - icon_post_report varchar(200) NOT NULL DEFAULT '', - icon_post_target varchar(200) NOT NULL DEFAULT '', - icon_post_target_unread varchar(200) NOT NULL DEFAULT '', - icon_topic_attach varchar(200) NOT NULL DEFAULT '', - icon_topic_latest varchar(200) NOT NULL DEFAULT '', - icon_topic_newest varchar(200) NOT NULL DEFAULT '', - icon_topic_reported varchar(200) NOT NULL DEFAULT '', - icon_topic_unapproved varchar(200) NOT NULL DEFAULT '', - icon_user_online varchar(200) NOT NULL DEFAULT '', - icon_user_offline varchar(200) NOT NULL DEFAULT '', - icon_user_profile varchar(200) NOT NULL DEFAULT '', - icon_user_search varchar(200) NOT NULL DEFAULT '', - icon_user_warn varchar(200) NOT NULL DEFAULT '', - button_pm_forward varchar(200) NOT NULL DEFAULT '', - button_pm_new varchar(200) NOT NULL DEFAULT '', - button_pm_reply varchar(200) NOT NULL DEFAULT '', - button_topic_locked varchar(200) NOT NULL DEFAULT '', - button_topic_new varchar(200) NOT NULL DEFAULT '', - button_topic_reply varchar(200) NOT NULL DEFAULT '', - user_icon1 varchar(200) NOT NULL DEFAULT '', - user_icon2 varchar(200) NOT NULL DEFAULT '', - user_icon3 varchar(200) NOT NULL DEFAULT '', - user_icon4 varchar(200) NOT NULL DEFAULT '', - user_icon5 varchar(200) NOT NULL DEFAULT '', - user_icon6 varchar(200) NOT NULL DEFAULT '', - user_icon7 varchar(200) NOT NULL DEFAULT '', - user_icon8 varchar(200) NOT NULL DEFAULT '', - user_icon9 varchar(200) NOT NULL DEFAULT '', - user_icon10 varchar(200) NOT NULL DEFAULT '' + imageset_path varchar(100) NOT NULL DEFAULT '' ); CREATE UNIQUE INDEX phpbb_styles_imageset_imgset_nm ON phpbb_styles_imageset (imageset_name); +# Table: 'phpbb_styles_imageset_data' +CREATE TABLE phpbb_styles_imageset_data ( + image_id INTEGER PRIMARY KEY NOT NULL , + image_name varchar(200) NOT NULL DEFAULT '', + image_filename varchar(200) NOT NULL DEFAULT '', + image_lang varchar(30) NOT NULL DEFAULT '', + image_height INTEGER UNSIGNED NOT NULL DEFAULT '0', + image_width INTEGER UNSIGNED NOT NULL DEFAULT '0', + imageset_id tinyint(4) NOT NULL DEFAULT '0' +); + +CREATE INDEX phpbb_styles_imageset_data_imgset_id ON phpbb_styles_imageset_data (imageset_id); + # Table: 'phpbb_topics' CREATE TABLE phpbb_topics ( topic_id INTEGER PRIMARY KEY NOT NULL , diff --git a/phpBB/language/en/acp/styles.php b/phpBB/language/en/acp/styles.php index 73bbf0ad9f..cdf4694442 100644 --- a/phpBB/language/en/acp/styles.php +++ b/phpBB/language/en/acp/styles.php @@ -212,6 +212,8 @@ $lang = array_merge($lang, array( 'IMG_PM_READ' => 'Read private message', 'IMG_PM_UNREAD' => 'Unread private message', + 'IMG_ICON_BACK_TOP' => 'Top', + 'IMG_ICON_CONTACT_AIM' => 'AIM', 'IMG_ICON_CONTACT_EMAIL' => 'Send email', 'IMG_ICON_CONTACT_ICQ' => 'ICQ', diff --git a/phpBB/style.php b/phpBB/style.php index 8a190ed520..433a41e3e9 100644 --- a/phpBB/style.php +++ b/phpBB/style.php @@ -90,6 +90,19 @@ if ($id && $sid) $theme = $db->sql_fetchrow($result); $db->sql_freeresult($result); + $sql = 'SELECT * + FROM ' . STYLES_IMAGESET_DATA_TABLE . ' + WHERE imageset_id = ' . $id . " + AND image_lang IN('" . $db->sql_escape($user['user_lang']) . "', '')"; + $result = $db->sql_query($sql, 3600); + + $img_array = array(); + + while ($row = $db->sql_fetchrow($result)) + { + $img_array[$row['image_name']] = $row; + } + if (!$theme) { exit; @@ -140,49 +153,40 @@ if ($id && $sid) foreach ($matches[1] as $i => $img) { $img = strtolower($img); - if (!isset($theme[$img])) + if (!isset($img_array[$img])) { continue; } if (!isset($imgs[$img])) { - // Do not include dimensions? - if (strpos($theme[$img], '*') === false) - { - $imgsrc = trim($theme[$img]); - $width = $height = null; - } - else - { - list($imgsrc, $height, $width) = explode('*', $theme[$img]); - } - + $img_data = &$img_array[$img]; + $imgsrc = ($img_data['image_lang'] ? $img_data['image_lang'] . '/' : '') . $img_data['image_filename']; $imgs[$img] = array( - 'src' => $phpbb_root_path . 'styles/' . $theme['imageset_path'] . '/imageset/' . str_replace('{LANG}', $user['user_lang'], $imgsrc), - 'width' => $width, - 'height' => $height, + 'src' => $phpbb_root_path . 'styles/' . $theme['imageset_path'] . '/imageset/' . $imgsrc, + 'width' => $img_data['image_width'], + 'height' => $img_data['image_height'], ); } switch ($matches[2][$i]) { case 'SRC': - $replace = $imgs[$img]['src']; + $replace[] = $imgs[$img]['src']; break; case 'WIDTH': - $replace = $imgs[$img]['width']; + $replace[] = $imgs[$img]['width']; break; case 'HEIGHT': - $replace = $imgs[$img]['height']; + $replace[] = $imgs[$img]['height']; break; default: continue; } - $find = $matches[0][$i]; + $find[] = $matches[0][$i]; } if (sizeof($find)) diff --git a/phpBB/styles/prosilver/imageset/en/imageset.cfg b/phpBB/styles/prosilver/imageset/en/imageset.cfg new file mode 100644 index 0000000000..84029aa3b1 --- /dev/null +++ b/phpBB/styles/prosilver/imageset/en/imageset.cfg @@ -0,0 +1,35 @@ +# +# phpBB Imageset Configuration File +# +# @package phpBB3 +# @copyright (c) 2006 phpBB Group +# @license http://opensource.org/licenses/gpl-license.php GNU Public License +# +# +# At the left is the name, please do not change this +# At the right the value is entered +# For on/off options the valid values are on, off, 1, 0, true and false +# +# Values get trimmed, if you want to add a space in front or at the end of +# the value, then enclose the value with single or double quotes. +# Single and double quotes do not need to be escaped. +# +# + +# Images +img_icon_contact_pm = icon_contact_pm.gif*40*28 + +img_icon_post_edit = icon_post_edit.gif*40*42 +img_icon_post_quote = icon_post_quote.gif*40*54 + +img_icon_user_online = icon_user_online.gif +img_icon_user_offline = icon_user_offline.gif +img_icon_user_search = icon_user_search.gif + +img_button_pm_forward = button_pm_forward.gif +img_button_pm_new = button_pm_new.gif +img_button_pm_reply = button_pm_reply.gif + +img_button_topic_locked = button_topic_locked.gif +img_button_topic_new = button_topic_new.gif +img_button_topic_reply = button_topic_reply.gif diff --git a/phpBB/styles/prosilver/imageset/imageset.cfg b/phpBB/styles/prosilver/imageset/imageset.cfg index 0e0a85f5ce..08d974d582 100644 --- a/phpBB/styles/prosilver/imageset/imageset.cfg +++ b/phpBB/styles/prosilver/imageset/imageset.cfg @@ -91,14 +91,14 @@ img_icon_contact_email = icon_contact_email.gif*20*72 img_icon_contact_icq = icon_contact_icq.gif*20*72 img_icon_contact_jabber = icon_contact_jabber.gif*20*72 img_icon_contact_msnm = icon_contact_msnm.gif*20*72 -img_icon_contact_pm = {LANG}/icon_contact_pm.gif + img_icon_contact_www = icon_contact_www.gif*20*72 img_icon_contact_yahoo = icon_contact_yahoo.gif*20*72 img_icon_post_delete = icon_post_delete.gif*20*20 -img_icon_post_edit = {LANG}/icon_post_edit.gif + img_icon_post_info = icon_post_info.gif*20*20 -img_icon_post_quote = {LANG}/icon_post_quote.gif + img_icon_post_report = icon_post_report.gif*20*20 img_icon_post_target = icon_post_target.gif*9*12 img_icon_post_target_unread = icon_post_target_unread.gif*9*12 @@ -109,15 +109,8 @@ img_icon_topic_newest = icon_topic_newest.gif*9*12 img_icon_topic_reported = icon_topic_reported.gif*14*16 img_icon_topic_unapproved = icon_topic_unapproved.gif*14*16 -img_icon_user_online = {LANG}/icon_user_online.gif -img_icon_user_offline = {LANG}/icon_user_offline.gif -img_icon_user_profile = icon_user_profile.gif*11*11 -img_icon_user_search = {LANG}/icon_user_search.gif -img_icon_user_warn = icon_post_report.gif*20*20 -img_button_pm_forward = {LANG}/button_pm_forward.gif -img_button_pm_new = {LANG}/button_pm_new.gif -img_button_pm_reply = {LANG}/button_pm_reply -img_button_topic_locked = {LANG}/button_topic_locked.gif -img_button_topic_new = {LANG}/button_topic_new.gif -img_button_topic_reply = {LANG}/button_topic_reply.gif + +img_icon_user_profile = icon_user_profile.gif*11*11 + +img_icon_user_warn = icon_post_report.gif*20*20 diff --git a/phpBB/styles/prosilver/theme/buttons.css b/phpBB/styles/prosilver/theme/buttons.css index 26d47ce745..d135625c4d 100644 --- a/phpBB/styles/prosilver/theme/buttons.css +++ b/phpBB/styles/prosilver/theme/buttons.css @@ -150,11 +150,11 @@ ul.profile-icons li a:hover { background: none; } .quote-icon, .quote-icon a { background: none top left no-repeat; } ul.profile-icons li.pm-icon { - width: 28px; + width: {IMG_ICON_CONTACT_PM_WIDTH}px; } ul.profile-icons li.quote-icon { - width: 54px; + width: {IMG_ICON_POST_QUOTE_WIDTH}px; margin-left: 10px; } @@ -173,7 +173,7 @@ div.rank-image { .edit-icon, .edit-icon a { background: none top left no-repeat; } ul.profile-icons li.edit-icon { - width: 41px; + width: {IMG_ICON_POST_EDIT_WIDTH}px; } .delete-icon, .delete-icon a { background: none top left no-repeat; } diff --git a/phpBB/styles/prosilver/theme/colours.css b/phpBB/styles/prosilver/theme/colours.css index 37ca60320a..d2d3f22bdb 100644 --- a/phpBB/styles/prosilver/theme/colours.css +++ b/phpBB/styles/prosilver/theme/colours.css @@ -598,12 +598,12 @@ Colours and backgrounds for buttons.css -------------------------------------------------------------- */ /* Big button images */ -.reply-icon, .reply-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_topic_reply.gif"); } -.post-icon, .post-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_topic_new.gif") ;} -.locked-icon, .locked-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_topic_locked.gif"); } -.pmreply-icon, .pmreply-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_pm_reply.gif") ;} -.newpm-icon, .newpm-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_pm_new.gif") ;} -.forwardpm-icon, .forwardpm-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/button_pm_forward.gif") ;} +.reply-icon, .reply-icon a { background-image: url("{IMG_BUTTON_TOPIC_REPLY_SRC}"); } +.post-icon, .post-icon a { background-image: url("{IMG_BUTTON_TOPIC_NEW_SRC}") ;} +.locked-icon, .locked-icon a { background-image: url("{IMG_BUTTON_TOPIC_LOCKED_SRC}"); } +.pmreply-icon, .pmreply-icon a { background-image: url("{IMG_BUTTON_PM_REPLY_SRC}") ;} +.newpm-icon, .newpm-icon a { background-image: url("{IMG_BUTTON_PM_NEW_SRC}") ;} +.forwardpm-icon, .forwardpm-icon a { background-image: url("{IMG_BUTTON_PM_FORWARD_SRC}") ;} a.print { background-image: url("{T_THEME_PATH}/images/icon_print.gif"); @@ -634,34 +634,23 @@ a.fontsize { .icon-search { background-image: url("{T_THEME_PATH}/images/icon_search.gif"); } /* Profile & navigation icons */ -.email-icon, .email-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_email.gif"); } -.aim-icon, .aim-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_aim.gif"); } -.yahoo-icon, .yahoo-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_yahoo.gif"); } -.web-icon, .web-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_www.gif"); } -.msnm-icon, .msnm-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_msnm.gif"); } -.icq-icon, .icq-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_icq.gif"); } -.pm-icon, .pm-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/icon_contact_pm.gif"); } -.jabber-icon, .jabber-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_jabber.gif"); } -.quote-icon, .quote-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/icon_post_quote.gif"); } - -/* Profile & navigation icons */ -.email-icon, .email-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_email.gif"); } -.aim-icon, .aim-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_aim.gif"); } -.yahoo-icon, .yahoo-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_yahoo.gif"); } -.web-icon, .web-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_www.gif"); } -.msnm-icon, .msnm-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_msnm.gif"); } -.icq-icon, .icq-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_icq.gif"); } -.pm-icon, .pm-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/icon_contact_pm.gif"); } -.jabber-icon, .jabber-icon a { background-image: url("{T_IMAGESET_PATH}/icon_contact_jabber.gif"); } -.quote-icon, .quote-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/icon_post_quote.gif"); } +.email-icon, .email-icon a { background-image: url("{IMG_ICON_CONTACT_EMAIL_SRC}"); } +.aim-icon, .aim-icon a { background-image: url("{IMG_ICON_CONTACT_AIM_SRC}"); } +.yahoo-icon, .yahoo-icon a { background-image: url("{IMG_ICON_CONTACT_YAHOO_SRC}"); } +.web-icon, .web-icon a { background-image: url("{IMG_ICON_CONTACT_WWW_SRC}"); } +.msnm-icon, .msnm-icon a { background-image: url("{IMG_ICON_CONTACT_MSNM_SRC}"); } +.icq-icon, .icq-icon a { background-image: url("{IMG_ICON_CONTACT_ICQ_SRC}"); } +.pm-icon, .pm-icon a { background-image: url("{IMG_ICON_CONTACT_PM_SRC}"); } +.jabber-icon, .jabber-icon a { background-image: url("{IMG_ICON_CONTACT_JABBER_SRC}"); } +.quote-icon, .quote-icon a { background-image: url("{IMG_ICON_POST_QUOTE_SRC}"); } /* Moderator icons */ -.report-icon, .report-icon a { background-image: url("{T_IMAGESET_PATH}/icon_post_report.gif"); } -.warn-icon, .warn-icon a { background-image: url("{T_IMAGESET_PATH}/icon_post_report.gif"); } -.edit-icon, .edit-icon a { background-image: url("{T_IMAGESET_LANG_PATH}/icon_post_edit.gif"); } +.report-icon, .report-icon a { background-image: url("{IMG_ICON_POST_REPORT_SRC}"); } +.warn-icon, .warn-icon a { background-image: url("{IMG_ICON_POST_REPORT_SRC}"); } +.edit-icon, .edit-icon a { background-image: url("{IMG_ICON_POST_EDIT_SRC}"); } -.delete-icon, .delete-icon a { background-image: url("{T_IMAGESET_PATH}/icon_post_delete.gif"); } -.info-icon, .info-icon a { background-image: url("{T_IMAGESET_PATH}/icon_post_info.gif"); } +.delete-icon, .delete-icon a { background-image: url("{IMG_ICON_POST_DELETE_SRC}"); } +.info-icon, .info-icon a { background-image: url("{IMG_ICON_POST_INFO_SRC}"); } /* -------------------------------------------------------------- diff --git a/phpBB/styles/subsilver2/imageset/en/imageset.cfg b/phpBB/styles/subsilver2/imageset/en/imageset.cfg new file mode 100644 index 0000000000..c0cc699737 --- /dev/null +++ b/phpBB/styles/subsilver2/imageset/en/imageset.cfg @@ -0,0 +1,47 @@ +# +# phpBB Imageset Configuration File +# +# @package phpBB3 +# @copyright (c) 2005 phpBB Group +# @license http://opensource.org/licenses/gpl-license.php GNU Public License +# +# +# At the left is the name, please do not change this +# At the right the value is entered +# For on/off options the valid values are on, off, 1, 0, true and false +# +# Values get trimmed, if you want to add a space in front or at the end of +# the value, then enclose the value with single or double quotes. +# Single and double quotes do not need to be escaped. +# +# + +# Images +img_icon_contact_aim = icon_contact_aim.gif +img_icon_contact_email = icon_contact_email.gif +img_icon_contact_icq = icon_contact_icq.gif +img_icon_contact_jabber = icon_contact_jabber.gif +img_icon_contact_msnm = icon_contact_msnm.gif +img_icon_contact_pm = icon_contact_pm.gif +img_icon_contact_yahoo = icon_contact_yahoo.gif +img_icon_contact_www = icon_contact_www.gif + +img_icon_post_delete = icon_post_delete.gif +img_icon_post_edit = icon_post_edit.gif +img_icon_post_info = icon_post_info.gif +img_icon_post_quote = icon_post_quote.gif +img_icon_post_report = icon_post_report.gif + +img_icon_user_online = icon_user_online.gif +img_icon_user_offline = icon_user_offline.gif +img_icon_user_profile = icon_user_profile.gif +img_icon_user_search = icon_user_search.gif +img_icon_user_warn = icon_user_warn.gif + +img_button_pm_forward = +img_button_pm_new = button_pm_new.gif +img_button_pm_reply = button_pm_reply.gif +img_button_topic_locked = button_topic_locked.gif +img_button_topic_new = button_topic_new.gif +img_button_topic_reply = button_topic_reply.gif + diff --git a/phpBB/styles/subsilver2/imageset/imageset.cfg b/phpBB/styles/subsilver2/imageset/imageset.cfg index 80c9c349c6..b6192c0ede 100644 --- a/phpBB/styles/subsilver2/imageset/imageset.cfg +++ b/phpBB/styles/subsilver2/imageset/imageset.cfg @@ -109,16 +109,3 @@ img_icon_topic_newest = icon_topic_newest.gif*9*18 img_icon_topic_reported = icon_topic_reported.gif*18*19 img_icon_topic_unapproved = icon_topic_unapproved.gif*18*19 -img_icon_user_online = {LANG}/icon_user_online.gif -img_icon_user_offline = {LANG}/icon_user_offline.gif -img_icon_user_profile = {LANG}/icon_user_profile.gif -img_icon_user_search = {LANG}/icon_user_search.gif -img_icon_user_warn = {LANG}/icon_user_warn.gif - -img_button_pm_forward = -img_button_pm_new = {LANG}/button_pm_new.gif -img_button_pm_reply = {LANG}/button_pm_reply.gif -img_button_topic_locked = {LANG}/button_topic_locked.gif -img_button_topic_new = {LANG}/button_topic_new.gif -img_button_topic_reply = {LANG}/button_topic_reply.gif - From f7c683e17981db89095c7cb11d798e6e6ff158ee Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 8 Apr 2007 17:48:28 +0000 Subject: [PATCH 355/707] remove debug entries :P git-svn-id: file:///svn/phpbb/trunk@7305 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 23 ----------------------- phpBB/install/schemas/schema_data.sql | 23 ----------------------- 2 files changed, 46 deletions(-) diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index a22f810e39..0275ddab5f 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -928,29 +928,6 @@ if (version_compare($current_version, '3.0.b5', '<=')) INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'en', 0, 0, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 0, 0, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_delete', 'icon_post_delete.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_info', 'icon_post_info.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_report', 'icon_post_report.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_offline', 'icon_user_offline.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_profile', 'icon_user_profile.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_search', 'icon_user_search.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_user_warn.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'nl', 0, 0, 2); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'nl', 0, 0, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('site_logo', 'site_logo.gif', '', 52, 139, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('upload_bar', 'progress_bar.gif', '', 16, 280, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_link', 'forum_link.gif', '', 27, 27, 1); diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index 8fbf1b6b26..566f4b531f 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -468,29 +468,6 @@ INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'en', 0, 0, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 0, 0, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_delete', 'icon_post_delete.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_info', 'icon_post_info.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_report', 'icon_post_report.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_offline', 'icon_user_offline.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_profile', 'icon_user_profile.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_search', 'icon_user_search.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_user_warn.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'nl', 0, 0, 2); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'nl', 0, 0, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('site_logo', 'site_logo.gif', '', 52, 139, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('upload_bar', 'progress_bar.gif', '', 16, 280, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_link', 'forum_link.gif', '', 27, 27, 1); From d4b18ffb78ae69ac5b14792e9f3749f3b11df68f Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Mon, 9 Apr 2007 02:59:26 +0000 Subject: [PATCH 356/707] Blargh! Continuation of bug #9546 and some initial RTL related stuff. All prosilver images now have dimensions defined and CSS tidied up and refactored such that all localised images will show with their proper dimensions (eg: English imageset, "Locked Topic" and "New PM" had "phantom" white space to their right as clickable area)... which means languages like Turkish and Chinese, which typically have much short language strings can now have more "compact" images... and whatever languages that need 15+ characters for the equivalent of "Post" can now do so without having to shoehorn into a 96px width "big button". git-svn-id: file:///svn/phpbb/trunk@7306 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 44 +++---- phpBB/install/schemas/schema_data.sql | 44 +++---- .../prosilver/imageset/en/button_pm_new.gif | Bin 2111 -> 2005 bytes .../imageset/en/button_topic_locked.gif | Bin 2011 -> 1923 bytes .../styles/prosilver/imageset/en/imageset.cfg | 20 +-- .../prosilver/imageset/icon_user_warn.gif | Bin 0 -> 481 bytes phpBB/styles/prosilver/imageset/imageset.cfg | 24 ++-- phpBB/styles/prosilver/theme/buttons.css | 121 +++++++++--------- phpBB/styles/prosilver/theme/colours.css | 19 ++- 9 files changed, 139 insertions(+), 133 deletions(-) create mode 100755 phpBB/styles/prosilver/imageset/icon_user_warn.gif diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 0275ddab5f..6150cfeded 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -976,37 +976,37 @@ if (version_compare($current_version, '3.0.b5', '<=')) INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_read', 'topic_read.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_unread', 'topic_unread.gif', '', 27, 27, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', '', 20, 72, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', '', 20, 72, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', '', 20, 72, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', '', 20, 72, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', '', 20, 72, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', '', 20, 72, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', '', 20, 72, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', '', 20, 20, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', '', 20, 20, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', '', 20, 20, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', '', 20, 20, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', '', 20, 20, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', '', 20, 20, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', '', 20, 20, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_delete', 'icon_post_delete.gif', '', 20, 20, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_info', 'icon_post_info.gif', '', 20, 20, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_report', 'icon_post_report.gif', '', 20, 20, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target', 'icon_post_target.gif', '', 9, 12, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target_unread', 'icon_post_target_unread.gif', '', 9, 12, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target', 'icon_post_target.gif', '', 9, 11, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target_unread', 'icon_post_target_unread.gif', '', 9, 11, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_attach', 'icon_topic_attach.gif', '', 10, 7, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_latest', 'icon_topic_latest.gif', '', 9, 12, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_newest', 'icon_topic_newest.gif', '', 9, 12, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_latest', 'icon_topic_latest.gif', '', 9, 11, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_newest', 'icon_topic_newest.gif', '', 9, 11, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_reported', 'icon_topic_reported.gif', '', 14, 16, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_unapproved', 'icon_topic_unapproved.gif', '', 14, 16, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_profile', 'icon_user_profile.gif', '', 11, 11, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_post_report.gif', '', 20, 20, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'en', 40, 28, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'en', 40, 42, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'en', 40, 54, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'en', 0, 0, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_user_warn.gif', '', 20, 20, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'en', 20, 28, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'en', 20, 42, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'en', 20, 54, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'en', 58, 58, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_offline', 'icon_user_offline.gif', 'en', 0, 0, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_search', 'icon_user_search.gif', 'en', 0, 0, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_forward', 'button_pm_forward.gif', 'en', 0, 0, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'en', 0, 0, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'en', 0, 0, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'en', 0, 0, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 0, 0, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 0, 0, 1);"; + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_forward', 'button_pm_forward.gif', 'en', 25, 96, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'en', 25, 84, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'en', 25, 96, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'en', 25, 88, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 25, 96, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 25, 96, 1);"; $data = str_replace('phpbb_', $table_prefix, $data); $sql_ary = explode("\n", $data); diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index 566f4b531f..0fa5849a82 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -516,37 +516,37 @@ INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_read', 'topic_read.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_unread', 'topic_unread.gif', '', 27, 27, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', '', 20, 72, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', '', 20, 72, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', '', 20, 72, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', '', 20, 72, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', '', 20, 72, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', '', 20, 72, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', '', 20, 72, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', '', 20, 20, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', '', 20, 20, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', '', 20, 20, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_jabber', 'icon_contact_jabber.gif', '', 20, 20, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_msnm', 'icon_contact_msnm.gif', '', 20, 20, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_www', 'icon_contact_www.gif', '', 20, 20, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_yahoo', 'icon_contact_yahoo.gif', '', 20, 20, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_delete', 'icon_post_delete.gif', '', 20, 20, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_info', 'icon_post_info.gif', '', 20, 20, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_report', 'icon_post_report.gif', '', 20, 20, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target', 'icon_post_target.gif', '', 9, 12, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target_unread', 'icon_post_target_unread.gif', '', 9, 12, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target', 'icon_post_target.gif', '', 9, 11, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_target_unread', 'icon_post_target_unread.gif', '', 9, 11, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_attach', 'icon_topic_attach.gif', '', 10, 7, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_latest', 'icon_topic_latest.gif', '', 9, 12, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_newest', 'icon_topic_newest.gif', '', 9, 12, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_latest', 'icon_topic_latest.gif', '', 9, 11, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_newest', 'icon_topic_newest.gif', '', 9, 11, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_reported', 'icon_topic_reported.gif', '', 14, 16, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_topic_unapproved', 'icon_topic_unapproved.gif', '', 14, 16, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_profile', 'icon_user_profile.gif', '', 11, 11, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_post_report.gif', '', 20, 20, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'en', 40, 28, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'en', 40, 42, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'en', 40, 54, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'en', 0, 0, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_warn', 'icon_user_warn.gif', '', 20, 20, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_pm', 'icon_contact_pm.gif', 'en', 20, 28, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_edit', 'icon_post_edit.gif', 'en', 20, 42, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_post_quote', 'icon_post_quote.gif', 'en', 20, 54, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_online', 'icon_user_online.gif', 'en', 58, 58, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_offline', 'icon_user_offline.gif', 'en', 0, 0, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_user_search', 'icon_user_search.gif', 'en', 0, 0, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_forward', 'button_pm_forward.gif', 'en', 0, 0, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'en', 0, 0, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'en', 0, 0, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'en', 0, 0, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 0, 0, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 0, 0, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_forward', 'button_pm_forward.gif', 'en', 25, 96, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_new', 'button_pm_new.gif', 'en', 25, 84, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'en', 25, 96, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'en', 25, 88, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 25, 96, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 25, 96, 1); # -- phpbb_styles_template INSERT INTO phpbb_styles_template (template_name, template_copyright, template_path, bbcode_bitfield, template_storedb) VALUES ('prosilver', '© phpBB Group', 'prosilver', 'lNg=', 0); diff --git a/phpBB/styles/prosilver/imageset/en/button_pm_new.gif b/phpBB/styles/prosilver/imageset/en/button_pm_new.gif index af0cb616047270c95a22c8f9984f1265734de397..cc0381c6b27979aa7d0bfcea25928583653e4041 100644 GIT binary patch literal 2005 zcmV;`2P*hSNk%w1VN?Jz0Oo%H|NsB#>FNCZ{Jbhn3Xagn!@v3Y`TF|$`}_O&`1tDT z>g((4?Ck9A?d|vX_x1Jl_V)JZ=;-k9@b2#J@9*#Q^z`xZ@$>WZ{r&yLMrGuxxZs?u z^3>b@{{Fx?SpaIq$yIU3Qf|XVV~>xI(s78+ZG^u!SoY)R^78WApsvnid;ms+9hK7A zm8NaA+TPyb!$f0dW@g`{veVMh+l`>*$j{e_o5|Va>CDsW_4~=j!sX-P-J`Ml@$<@G zdF{r~>dn;Hl%&^xl+t^UV42F6mX-ipst}RU+Lou=m#2uS#nREy=E>0QDJne%IUPUw0U`Xwawzi#l`8k#G<02+}zyDV0wgvgznqlyVvlL%<6Qt+`hiPxVX3x zbI9%4-o)18=fKMO`S^**=*q^!Zf$lhjEvpp?wP~r&CSh-x#Y~41ejE#E{3m`1$(#{Qds_0RI`#W*}e!dkzvRTu5es422CH z$QVG8Vu%4l68agCB;iB{6)Bcr;6MaLAPKin6tQsOffzAnBxp&~9)z1Xb50zv<>o{P zNd^EJ3S>)(5I2Vm$a3>21d29nlo(K=B*i2*gANdp6GB1=24alBqOfaDdk@m8T{|&E zh_n;`A0Qd9RxaHKA}*%&VB-NrwIMv#WBOjIzLWi{2Unju_4Go^@FIa6Y2Nl-eoy$i^b zE9ZQnMQ7&DL)y4tq6H5T7erVefE=n+s@VrPZ!vzW@&{5zsMoT-2p9>-<^o2y#fF?mHSj0~8e0Kv5GEG(k}fQ&LprlrK_{WeODNxTXYb z#4yDdRn##;6&9>nr9Be_DyX0hJTbtaJ{+25MIi(_p`aHDO3|Q!zUZh4f$B)91ahEp z1p^jbF#;GCP&%kR4Wz2-s;su^>Z`EE>Z%1;urZ|qd`#x8DE9|hu7CUSM z6Zo2JvGy$B?6c5DEA6z@R%`9G*g9*E0^D}%?YH2DEAF`DmTNAz*YMIn0PMEw?z`~D zEAPDY)@yGA#>|k)y7u<#@4o=Q+dwW$yx@cy28^Qc!VEXui2-VyBFGZQKw|O##TaLt zhzZ zL>E196fUrk0|OB>?ex=7M=kZ#R99{F)ePhyG5`t`?e*9HDgeO9T%T+9*=VQj?brkW zknP)W$1QiXYy(iN0{}SSE8YolfK>`h6J^%n3I0(W3LL_j36$5PWKn0-#;2;S-V2}Yt9Q1htMHyh=DgZ02Km`i2 z)@`bw4}?Cz32C*y!2ldI&%p^KfFM8uLJXk70R}|x`T#W0K*9hd$WGD!1~)A~K<(iJ1Sj(3QDj;`?xTNHLL*w^`k)DpoAg_gpLELGl23wrwId~@CUa;;qwOYg9IjE zfeoCU3Yd4h@8vE<1|UKlj6j4He83HTSiu_vK*G9}s6Gx@AqQ3%5*iqA0~*L(2C&FN zigfRL;hWv^HZaEXVW2(0UOxMoB(qLZfJu5i0}a-AmE)hsT)levN!=Gq!*7{ z+$M^FfDRPH0T{KYMlGt4jy|rV9YDb1QrZ#$=z$B^n*$sKV1SACjcf+VsZMt)kOSlc z0RgESJ%&ouq8gPQbt{Kbm&(+pc4KTxi(oaTO4X`bRT%;@(Av*bF^sNy^{cGFMHgIf ngCley2RTctT0@b8E*xPDe;7m3T1MBp+V!p{V}T3c8VCS89tP2U literal 2111 zcmV-F2*CG8Nk%w1VPF6<0OkMy?%Ut#*4p;t=lk*V?c?RnV|>?%o8z;-vm8RH~q}!LL z+Lou_oUGfRuHU4x-J`MOs<_{-y6L#Y=fKMC#?a=;(B;U_>dn;Y%+u}J-rnBf?(_J& z*YMru?f`1V09&d6Pm};ggAsGc5nG!gZn0pQ%80q-nZxLrzTSwb#hJCuwawzp-R$o5 z`^47b$=T#ClGAjx-0JoF3XaeakgDtL`T6+C#=^(LzvkrP z<>TSg($UJs!^p(J($UfX|Ns8}{{8*^{QUg;`}_L(`uX|!`1ttu_xJYp_VxAk^z`)e z^YilZ^6~NU@bK{O@9*yJ?(OaE?Ck98>+9<3>gnm}=;-L><>lPm+}POI&CSil#l^n9 zzPPx!w6wIau&|<{qL!AHkB^UxjEsbYgn4;+b8~ZUZf<5~X5r%HA^8LW004ggEC2ui z0AK(z000O7fPX7dQci}4h>41ejE#prTlxC?{Qds_00Rmfn6I9_Kh(G=T*$DY!-o(f zN{qM#-Ij@54BDgCrK87>Bout`7_!R;1t?KMP++0s0RIJ0%0~8cc$cb`8 z)2j;q9z6BZ(aRP;c-(lL`&6kkYF`2i9()o4guo}ia8NKdr$nnxxuwP=-z{s9W8-#)s3OInV4Q4TIFt`z@xP5y#0x&3N zLs$St=Y-;FVW1ud-Z2Lm=9w4XG*yft;e-@=pn!yiSvZCU3Yg%b2?UHm zfdmv-Fop#ZpeSKYYK5p%01H4M!2)B%Md27>d=bSR2I2vS7hs5SQZXG##18l$NznTpb>r9LU^0;Ot+D;ah4VFwyx*n!6! zW8iwKs0dYY#M~H015NNQW_uhQ>?f2h+2QK*FgrhNp5h4>&g&J`;?zqQlR6#`Ii$84n z<(Ow~u;i2n?D^-Qhn_Fz2Pw{O7gcmoF6teHl11ud;FS6qvZD^l7Gr#Yg(s@ZUIi9k zq-%Tc^G;s6v(<`Gf&w9Mafb2=R1pG;5h!p07h#N`KnGudF?|&*RxrT-6%L@3z^4MB zGmkDtf^m2uYdr7ecyos2?$^U1W}0J zu+T*<5<_uAnot+Wm;f@?1Oq(mKnT|707;e+B@vup1$=gIAak7j#gA7rX!l zri8%^j^G0!4atzMP+Wt|!-el%;f0J8-~h5vfdW+E0$R900ff1`@Qts00$@M{lnB1{ zl?M!4zyc3uV9FQZzzSNJWqDwU3B`S9Hnof%7m`^%8Ai`3U)aL`7%&1ZXs?noL&+zy z&;>bGVS)^(Kr^lI8!hM{1}~uI5wh@2@EEUtRcMW1#u&XXXhDDG6yN~Qh>`(#VF2bs zojeC)PyK~ppM&WF5M%%YA>6=}IoN_i1H;WrD2^{q;llE&(3C3_AbR>sNd&II!<~BJ zmgoH8Q|!q@BJT4k{**xwe1HWTyub!ofN4`&Y6-<5xN7STnnECA>?*_Oqb11{Mw{vbD*g8K_OIYH0xsCDiR8 pT~opk$VS`Rnqmk_D8dhT_JboZ?P|acu5gD7H6t8hw;~G!06U?+D~|vG diff --git a/phpBB/styles/prosilver/imageset/en/button_topic_locked.gif b/phpBB/styles/prosilver/imageset/en/button_topic_locked.gif index 8d4c0ba08114db364853c2342a767f2ad5b15fc6..b08918a24f3c8d82d357b6abecef1a016f54488a 100644 GIT binary patch literal 1923 zcmV-}2YmQPNk%w1VORh%0Oo%H|NsB#>FK;GP5k`)3Xagn!@v6a`uX|!`}_O&`1tDT z>g((4?Ck9A?d|vX_wn)Z=;-M5^z`%d^YHNS_4W1k_V(`X?(gsK+l`H zgviZogMop8If2InNUbj~FM@)C*MF45MPuo>!~#XD?Be9e;qZflgX`??GBPsq)Z5Q) zg&rP1$yIUHhnlRctn%pV&1-|@-PKk`S{$SuMm;Z+Lov4*4rMJ)X{p6 z%*e#UL}KKsxX8r8?b_dc!{*R#hIzr|-L1Iz`1i`<@y=s>*p#H}&eg<4WXfN7>g?{* zdywO^zKqK0;_~^(Q*V&W>fP`7;osfm$j{Bm#>~mZ_xJYt`T6hM;Nafe=H%k%)Y*y1 z=p>reA(_41ejE#Wbx8o5oSmMZprN9pq@|llbyHbr zMF1ZIu(7hUw6(UkxVgHp9{@#YPzJBN#Kp$Pv>ygg1po-o(9zP<)YaD4*xAznh5!cN z;Njxq600RmfNU)&6emoK;G`P=!!-o(Z z2oMm_fg39&N?398aEKKzCA^4vIMHF3jAACL6tG94N)2DSRCJ(2hme~!XFl9lp{LKE z6(#~5QbK?a9|B4YsW7CB(J)1s^b|^^s1lbcvZfFdR6tgzCAt8uU~`9AAv(tX+()6U z+qV?|Cc;I^q%9KxVJL+0+Lnp{FKs7MaauR70Jw(TrZ9?Fg$c7eOsGKoc3*_cm@`M1 zsJVuKBbSc|s1d<4Xw91i+!4SBGiS}OBZwY>TEz@7xM!$9oq3;x-@t=Qm?)e$aN@>= z4_6sw$nTZLlP?!8*|CZ0CX@r;_n^D??++$|_uQm=lhF^zd*>3Q`@|cGKfM4EVkGI3MDGI&jmErXyXMFg`i^ydVE+Rgd^Z^0S-}A_ymYb&^QtQ zjYyz{KtvQH zM3JVL6OBoP0DD3gf|)9f@I@MBTCk#vETT~8nEN!~=%bKED(R$@R%+>`FUX+jrZT)x z={^jED(a}DmTKy$sHUpws-^C;z^kyvD(kGY)@tjmxaK#x8DE9|hu7HjOW z!EzH!0|7Ma?6c5DEA6z@R%`9G&o;0OD*!Ny?YH2DD{i*F_;CpwZJ46&y6m>=NgHrX z(Z?Tbys<_k_~xtczKN{y1{;6;VT2uX5Mc1Z2q&!Y!VEX;@WT)rJck`d{6WV55^@;f z?#3K-5u5M?LJ)L+fhw)mUe3E7bs`>cA!rkov#@B8YIn1EP*SfCvLn z5bD-M6Y-TMEEL-9B0Y2ODUh!3G>u&_DzvYyg4=AlQ(A z1%nF!Km|Q0Zo`=vWImAwTlC;~q&M6E!|JIE&h(;;5))nFGLq?NVfp!SWc`pgab@YtX|9WvZUT^)TE3yO>;m2`1q+8jw5x3*WFH01XGw zAOHpi9KeA9AoMa32fwqBK=J-Wfd2p(+-|^)8Gym{asY!2c&|oWi;;{7r=SmjKmZ&# z!3o|MzXwKe0tax#*Cz5i44kcaoX8*pC#X9SFen2n(1HqAkO2iIh-(Hq5aGO2yzUfl zh7UMFKO`VJ_>n+=XW9e~Yv>&hWFP|`Na7Ja5JMX>O*`8m9B>>6!M0G4iX5PT1Ps6e z4`z-A>Z5@Hp0~U)N|6Fr3=R@kz(zJ25sExy8gDRDJa8aje9ti72JX1NXY@b-K#-s2 zYA1l?5e^*pJ0$;Zhk(o=F^P~g;vDtIG|ISzj2PemA#tZW5+s1&1P|Om@CqqH%^5%n zoty~sn)kdd=#B#kcncC^KucO0(UKJ4np%9)!-?1c0fW(zW~OX4w2Ck`3FCkEhv1FVg02Y84%%O(N@gmV+*G$#PW z=?PfiO&Jx5!4da)#2A2+YX=FaKnF@tfpRS$2u-L$7g`UlspFv#ji^M;u{4+sKpPm% zs75zRjR6FWWUfGlNJmOiUI4%hSGbrN^5C(Sx|9@oFvAkg@P{*8fesPNsZMvw(}dCC J3N#G_06Tv4yea?y literal 2011 zcmV<12PF7MNk%w1VPF6<0OkMy@7&<%)!Fvr=lk*V?Be9gUwF=AeAtSd-L1Iev%d1w z+q^1Gzc*OGI9R|qS;ItP#YSbsMP$Q8W5-f%$Ww30RdLO0gUxJ%&~Ap$ZiUiuh|_zJ z(Rz>9f0WdQnbwG#)rXqbiJaSwpxBh8+Lou_oUGiTujHz@>A1w@$j|G})$Q5d>ek!m z)Yy1<$c5EfW_yD$mop9>5$Co-S7D2^ZM)d`{MHX`T6+x`1kks_Tk^$ z%*n;f$i&CPzvkrP<>TSx;^5-o-r?Wf;NINL$;QaU!TS06`1kk!|Ns8}{{8*^{QUg; z`}_L(`uX|!`1ttu_xJYp_VxAk^z`)e^YilZ^6~NU@bK{O@9*yJ?(OaE?Ck98>+9<3 z>gnm}=;-LItgNf6tE#H1gM)*Df`Wm8fif~OF)=YPFfcDKFaQ7lA^8LW004ggEC2ui z0AK(z000O7fPYL@SyG0Fh>41ejE#b1pa#GN*$A zDoB>WgQt#BqC!1td}Ymy)2C3)h>ZH8!Ga7K7BqNa<^_eT8?2IWI@N_$6Fozy4Us_V z0<~ZN8>onCrl^d&b@0%Ix)hVOGk^mNJ|l8)RuX_oEZA^n!&|^E7DNCn(#2QAgcl6X z95}?)&3x?Km0^d^X2E?gSwq9RwQDpYUrSi9g7u08641=9{TlXy2@5{7j{TZAn%fL| z^T~6gc^*E!U8kS3pyNlF=IlWz3s=bvtzw*Ufev|s@P3|P>Dp9EO&00R#Y+NVfZ`EEDytrT)M~3AdcfKw9K81G>#x8DE9|hu7Hcf9 zO~#?@vdlK??6c5DEA6z@I@_ci*k-Hkw%m5>?YH2DD=xS5A@jx@=%%agy6m>=?z`~D zE3dk5NOMjsU7S1bzWny~>r2q&y?C|gXS1sCW1;RF^?L}Ky(#TaLt z2ozX25%C{M5D`QVB$sUR$tb6+^2#i?>@vwg5RpX0OZZSk5)0?7^Uj_mQG^dmoHK+G z`TlG4(MY5FMi)j5an27)z(L2T{Rp^{BTYWUC5F2*=WxzM;ASe zUG}(e$1V5V-m>j>wRq>P_ukRkO%2(^mf=YmzpgQc7ha69Mz4m0;RP6H@G5v0gqwl* z1j`?gOV7)R|0jEU;!N% zLkAWh0x^t101JSCFhn8%^Ob-M>{|#LLI?&Ccux#cf`JYEw*wo%;DAsfASTGRBqpVf zL|=fw0tBE2HDFMKI^-c6#xM)PiNt&&P#pU{LBt#SFnnGx5e#UcgDTPh1~nX!3@<^p z4}mCk_hFxX*ayZns6ioVI9>(^FhW6jqKsm^4-Q}e102|qjyUk*7^zpf>cq!7?7L15 zcLcP~eI`ygX$SKsoFpjEP^{QAn?FJaaCN!cc;~8KLt5}6` t1R|2gkRDRJF6FRP}~22 zw%>K@g!_s057Jv6=5$P(K6AyYHUIzr|M&0T-@kwV{Q2|i*RLNxetiG_{oA*1U%!6+ z^y$-w4WTv%9GP*9McpP!bN=HlXV``%*)+(7Xs3nK%A8G{Z; z3CK?jZ2uf)7kKDM^`CfR@TkajitDqKM=gA@Q*@4|ZZ*`F@L9@L8mY74+RW7{aaLO+ zo;$hiGMX9SD|TpezmJrXlCe&+RH>_;w6wCazHVPny^D{GimIx%)=U+dPA5HCS+%96 zrc2cpPl?l$Q`gwIe4~cCT&JGAyyl+0`*uyyQ#gF&=+P-YzNb!~_K!V(;o_ys7X?gA z1TI`-VZ3qPgo&4j(s@oGzc>aj1?@Vv_bJfyXY*VuyWg9von7=;Up^;IUxA($mv*#m@*Q Sy`6P-wz+oD?VZLP4AuaD&E~8C literal 0 HcmV?d00001 diff --git a/phpBB/styles/prosilver/imageset/imageset.cfg b/phpBB/styles/prosilver/imageset/imageset.cfg index 08d974d582..53fe85f188 100644 --- a/phpBB/styles/prosilver/imageset/imageset.cfg +++ b/phpBB/styles/prosilver/imageset/imageset.cfg @@ -86,26 +86,26 @@ img_pm_unread = topic_unread.gif*27*27 img_icon_back_top = icon_back_top.gif -img_icon_contact_aim = icon_contact_aim.gif*20*72 -img_icon_contact_email = icon_contact_email.gif*20*72 -img_icon_contact_icq = icon_contact_icq.gif*20*72 -img_icon_contact_jabber = icon_contact_jabber.gif*20*72 -img_icon_contact_msnm = icon_contact_msnm.gif*20*72 +img_icon_contact_aim = icon_contact_aim.gif*20*20 +img_icon_contact_email = icon_contact_email.gif*20*20 +img_icon_contact_icq = icon_contact_icq.gif*20*20 +img_icon_contact_jabber = icon_contact_jabber.gif*20*20 +img_icon_contact_msnm = icon_contact_msnm.gif*20*20 -img_icon_contact_www = icon_contact_www.gif*20*72 -img_icon_contact_yahoo = icon_contact_yahoo.gif*20*72 +img_icon_contact_www = icon_contact_www.gif*20*20 +img_icon_contact_yahoo = icon_contact_yahoo.gif*20*20 img_icon_post_delete = icon_post_delete.gif*20*20 img_icon_post_info = icon_post_info.gif*20*20 img_icon_post_report = icon_post_report.gif*20*20 -img_icon_post_target = icon_post_target.gif*9*12 -img_icon_post_target_unread = icon_post_target_unread.gif*9*12 +img_icon_post_target = icon_post_target.gif*9*11 +img_icon_post_target_unread = icon_post_target_unread.gif*9*11 img_icon_topic_attach = icon_topic_attach.gif*10*7 -img_icon_topic_latest = icon_topic_latest.gif*9*12 -img_icon_topic_newest = icon_topic_newest.gif*9*12 +img_icon_topic_latest = icon_topic_latest.gif*9*11 +img_icon_topic_newest = icon_topic_newest.gif*9*11 img_icon_topic_reported = icon_topic_reported.gif*14*16 img_icon_topic_unapproved = icon_topic_unapproved.gif*14*16 @@ -113,4 +113,4 @@ img_icon_topic_unapproved = icon_topic_unapproved.gif*14*16 img_icon_user_profile = icon_user_profile.gif*11*11 -img_icon_user_warn = icon_post_report.gif*20*20 +img_icon_user_warn = icon_user_warn.gif*20*20 diff --git a/phpBB/styles/prosilver/theme/buttons.css b/phpBB/styles/prosilver/theme/buttons.css index d135625c4d..9711e11146 100644 --- a/phpBB/styles/prosilver/theme/buttons.css +++ b/phpBB/styles/prosilver/theme/buttons.css @@ -7,7 +7,11 @@ .buttons { float: left; width: auto; - height: 25px; /* Set to height of button */ + height: auto; +} + +.rtl .button { + float: right; } /* Rollover state */ @@ -15,9 +19,11 @@ float: left; margin: 0 5px 0 0; background-position: 0 100%; - /* Button dimensions */ - width: 96px; - height: 25px; +} + +.rtl .button div { + float: right; + margin: 0 0 0 5px; } /* Rolloff state */ @@ -33,13 +39,21 @@ .buttons div a:hover { background-image: none; } /* Big button images */ -.reply-icon, .reply-icon a { background: transparent none 0 0 no-repeat; } +.reply-icon, .reply-icon a { background: transparent none 0 0 no-repeat; } .post-icon, .post-icon a { background: transparent none 0 0 no-repeat; } -.locked-icon, .locked-icon a { background: transparent none 0 0 no-repeat; } +.locked-icon, .locked-icon a { background: transparent none 0 0 no-repeat; } .pmreply-icon, .pmreply-icon a { background: none 0 0 no-repeat; } .newpm-icon, .newpm-icon a { background: none 0 0 no-repeat; } .forwardpm-icon, .forwardpm-icon a { background: none 0 0 no-repeat; } +/* Set bug button dimensions */ +.buttons div.reply-icon { width: {IMG_BUTTON_TOPIC_REPLY_WIDTH}px; height: {IMG_BUTTON_TOPIC_REPLY_HEIGHT}px; } +.buttons div.post-icon { width: {IMG_BUTTON_TOPIC_NEW_WIDTH}px; height: {IMG_BUTTON_TOPIC_NEW_HEIGHT}px; } +.buttons div.locked-icon { width: {IMG_BUTTON_TOPIC_LOCKED_WIDTH}px; height: {IMG_BUTTON_TOPIC_LOCKED_HEIGHT}px; } +.buttons div.pmreply-icon { width: {IMG_BUTTON_PM_REPLY_WIDTH}px; height: {IMG_BUTTON_PM_REPLY_HEIGHT}px; } +.buttons div.newpm-icon { width: {IMG_BUTTON_PM_NEW_WIDTH}px; height: {IMG_BUTTON_PM_NEW_HEIGHT}px; } +.buttons div.forwardpm-icon { width: {IMG_BUTTON_PM_FORWARD_WIDTH}px; height: {IMG_BUTTON_PM_FORWARD_HEIGHT}px; } + /* Sub-header (navigation bar) --------------------------------------------- */ a.print, a.sendemail, a.fontsize { @@ -78,43 +92,38 @@ a.fontsize:hover { /* Icon images ---------------------------------------- */ -.icon-faq, .icon-members, .icon-home, .icon-ucp, .icon-register, .icon-logout, .icon-bookmark, .icon-bump, .icon-subscribe, .icon-unsubscribe, .icon-pages, .icon-search, .sitehome { +.sitehome, .icon-faq, .icon-members, .icon-home, .icon-ucp, .icon-register, .icon-logout, +.icon-bookmark, .icon-bump, .icon-subscribe, .icon-unsubscribe, .icon-pages, .icon-search{ background-position: 0 50%; background-repeat: no-repeat; - padding-left: 17px; - padding-top: 1px; + background-image: none; + padding: 1px 0 0 17px; } -.sitehome { background-image: none; } -.icon-faq { background-image: none; } -.icon-members { background-image: none; } -.icon-home { background-image: none; } -.icon-ucp { background-image: none; } -.icon-register { background-image: none; } -.icon-logout { background-image: none; } -.icon-bookmark { background-image: none; } -.icon-bump { background-image: none; } -.icon-subscribe { background-image: none; } -.icon-unsubscribe { background-image: none; } -.icon-pages { background-image: none; } +.rtl .sitehome, .rtl .icon-faq, .rtl .icon-members, .rtl .icon-home, .rtl .icon-ucp, .rtl .icon-register, .rtl .icon-logout, +.rtl .icon-bookmark, .rtl .icon-bump, .rtl .icon-subscribe, .rtl .icon-unsubscribe, .rtl .icon-pages, .rtl .icon-search{ + background-position: 100% 50%; + padding: 1px 17px 0 0; +} /* Poster profile icons ----------------------------------------*/ ul.profile-icons { padding-top: 10px; - height: 20px; list-style: none; } /* Rollover state */ ul.profile-icons li { float: left; - width: 23px; - height: 20px; - margin: 0 3px 3px 0; + margin: 0 6px 3px 0; background-position: 0 100%; } +.rtl ul.profile-icons li { + margin: 0 0 3px 6px; +} + /* Rolloff state */ ul.profile-icons li a { display: block; @@ -135,50 +144,48 @@ ul.profile-icons li a:hover { background: none; } } .postbody ul.profile-icons li { - margin: 0 0 0 3px; + margin: 0 3px; } /* Profile & navigation icons */ -.email-icon, .email-icon a { background: none top left no-repeat; } +.email-icon, .email-icon a { background: none top left no-repeat; } .aim-icon, .aim-icon a { background: none top left no-repeat; } .yahoo-icon, .yahoo-icon a { background: none top left no-repeat; } .web-icon, .web-icon a { background: none top left no-repeat; } -.msnm-icon, .msnm-icon a { background: none top left no-repeat; } -.icq-icon, .icq-icon a { background: none top left no-repeat; } -.pm-icon, .pm-icon a { background: none top left no-repeat; } +.msnm-icon, .msnm-icon a { background: none top left no-repeat; } +.icq-icon, .icq-icon a { background: none top left no-repeat; } .jabber-icon, .jabber-icon a { background: none top left no-repeat; } -.quote-icon, .quote-icon a { background: none top left no-repeat; } - -ul.profile-icons li.pm-icon { - width: {IMG_ICON_CONTACT_PM_WIDTH}px; -} - -ul.profile-icons li.quote-icon { - width: {IMG_ICON_POST_QUOTE_WIDTH}px; - margin-left: 10px; -} - -div.rank-image { - width: auto; - height: 10px; - position: absolute; - top: 0; - right: 0; - text-align: right; -} +.pm-icon, .pm-icon a { background: none top left no-repeat; } +.quote-icon, .quote-icon a { background: none top left no-repeat; } /* Moderator icons */ .report-icon, .report-icon a { background: none top left no-repeat; } .warn-icon, .warn-icon a { background: none top left no-repeat; } .edit-icon, .edit-icon a { background: none top left no-repeat; } - -ul.profile-icons li.edit-icon { - width: {IMG_ICON_POST_EDIT_WIDTH}px; -} - .delete-icon, .delete-icon a { background: none top left no-repeat; } .info-icon, .info-icon a { background: none top left no-repeat; } -ul.profile-icons li.info-icon, ul.profile-icons li.report-icon { - margin-left: 0; -} +/* Set profile icon dimensions */ +ul.profile-icons li.email-icon { width: {IMG_ICON_CONTACT_EMAIL_WIDTH}px; height: {IMG_ICON_CONTACT_EMAIL_HEIGHT}px; } +ul.profile-icons li.aim-icon { width: {IMG_ICON_CONTACT_AIM_WIDTH}px; height: {IMG_ICON_CONTACT_AIM_HEIGHT}px; } +ul.profile-icons li.yahoo-icon { width: {IMG_ICON_CONTACT_YAHOO_WIDTH}px; height: {IMG_ICON_CONTACT_YAHOO_HEIGHT}px; } +ul.profile-icons li.web-icon { width: {IMG_ICON_CONTACT_WWW_WIDTH}px; height: {IMG_ICON_CONTACT_WWW_HEIGHT}px; } +ul.profile-icons li.msnm-icon { width: {IMG_ICON_CONTACT_MSNM_WIDTH}px; height: {IMG_ICON_CONTACT_MSNM_HEIGHT}px; } +ul.profile-icons li.icq-icon { width: {IMG_ICON_CONTACT_ICQ_WIDTH}px; height: {IMG_ICON_CONTACT_ICQ_HEIGHT}px; } +ul.profile-icons li.jabber-icon { width: {IMG_ICON_CONTACT_JABBER_WIDTH}px; height: {IMG_ICON_CONTACT_JABBER_HEIGHT}px; } +ul.profile-icons li.pm-icon { width: {IMG_ICON_CONTACT_PM_WIDTH}px; height: {IMG_ICON_CONTACT_PM_HEIGHT}px; } +ul.profile-icons li.quote-icon { width: {IMG_ICON_POST_QUOTE_WIDTH}px; height: {IMG_ICON_POST_QUOTE_HEIGHT}px; } +ul.profile-icons li.report-icon { width: {IMG_ICON_POST_REPORT_WIDTH}px; height: {IMG_ICON_POST_REPORT_HEIGHT}px; } +ul.profile-icons li.edit-icon { width: {IMG_ICON_POST_EDIT_WIDTH}px; height: {IMG_ICON_POST_EDIT_HEIGHT}px; } +ul.profile-icons li.delete-icon { width: {IMG_ICON_POST_DELETE_WIDTH}px; height: {IMG_ICON_POST_DELETE_HEIGHT}px; } +ul.profile-icons li.info-icon { width: {IMG_ICON_POST_INFO_WIDTH}px; height: {IMG_ICON_POST_INFO_HEIGHT}px; } +ul.profile-icons li.warn-icon { width: {IMG_ICON_USER_WARN_WIDTH}px; height: {IMG_ICON_USER_WARN_HEIGHT}px; } + +/* Fix profile icon default margins */ +ul.profile-icons li.edit-icon { margin: 0 0 0 3px; } +ul.profile-icons li.quote-icon { margin: 0 0 0 10px; } +ul.profile-icons li.info-icon, ul.profile-icons li.report-icon { margin: 0 3px 0 0; } + +.rtl ul.profile-icons li.edit-icon { margin: 0 3px 0 0; } +.rtl ul.profile-icons li.quote-icon { margin: 0 10px 0 0; } +.rtl ul.profile-icons li.info-icon, .rtl ul.profile-icons li.report-icon { margin: 0 0 0 3px; } diff --git a/phpBB/styles/prosilver/theme/colours.css b/phpBB/styles/prosilver/theme/colours.css index d2d3f22bdb..92e5cc8e36 100644 --- a/phpBB/styles/prosilver/theme/colours.css +++ b/phpBB/styles/prosilver/theme/colours.css @@ -598,7 +598,7 @@ Colours and backgrounds for buttons.css -------------------------------------------------------------- */ /* Big button images */ -.reply-icon, .reply-icon a { background-image: url("{IMG_BUTTON_TOPIC_REPLY_SRC}"); } +.reply-icon, .reply-icon a { background-image: url("{IMG_BUTTON_TOPIC_REPLY_SRC}"); } .post-icon, .post-icon a { background-image: url("{IMG_BUTTON_TOPIC_NEW_SRC}") ;} .locked-icon, .locked-icon a { background-image: url("{IMG_BUTTON_TOPIC_LOCKED_SRC}"); } .pmreply-icon, .pmreply-icon a { background-image: url("{IMG_BUTTON_PM_REPLY_SRC}") ;} @@ -625,32 +625,31 @@ a.fontsize { .icon-home { background-image: url("{T_THEME_PATH}/images/icon_home.gif"); } .icon-ucp { background-image: url("{T_THEME_PATH}/images/icon_ucp.gif"); } .icon-register { background-image: url("{T_THEME_PATH}/images/icon_register.gif"); } -.icon-logout { background-image: url("{T_THEME_PATH}/images/icon_logout.gif"); } +.icon-logout { background-image: url("{T_THEME_PATH}/images/icon_logout.gif"); } .icon-bookmark { background-image: url("{T_THEME_PATH}/images/icon_bookmark.gif"); } .icon-bump { background-image: url("{T_THEME_PATH}/images/icon_bump.gif"); } .icon-subscribe { background-image: url("{T_THEME_PATH}/images/icon_subscribe.gif"); } .icon-unsubscribe { background-image: url("{T_THEME_PATH}/images/icon_unsubscribe.gif"); } .icon-pages { background-image: url("{T_THEME_PATH}/images/icon_pages.gif"); } -.icon-search { background-image: url("{T_THEME_PATH}/images/icon_search.gif"); } +.icon-search { background-image: url("{T_THEME_PATH}/images/icon_search.gif"); } /* Profile & navigation icons */ -.email-icon, .email-icon a { background-image: url("{IMG_ICON_CONTACT_EMAIL_SRC}"); } +.email-icon, .email-icon a { background-image: url("{IMG_ICON_CONTACT_EMAIL_SRC}"); } .aim-icon, .aim-icon a { background-image: url("{IMG_ICON_CONTACT_AIM_SRC}"); } .yahoo-icon, .yahoo-icon a { background-image: url("{IMG_ICON_CONTACT_YAHOO_SRC}"); } .web-icon, .web-icon a { background-image: url("{IMG_ICON_CONTACT_WWW_SRC}"); } -.msnm-icon, .msnm-icon a { background-image: url("{IMG_ICON_CONTACT_MSNM_SRC}"); } -.icq-icon, .icq-icon a { background-image: url("{IMG_ICON_CONTACT_ICQ_SRC}"); } -.pm-icon, .pm-icon a { background-image: url("{IMG_ICON_CONTACT_PM_SRC}"); } +.msnm-icon, .msnm-icon a { background-image: url("{IMG_ICON_CONTACT_MSNM_SRC}"); } +.icq-icon, .icq-icon a { background-image: url("{IMG_ICON_CONTACT_ICQ_SRC}"); } .jabber-icon, .jabber-icon a { background-image: url("{IMG_ICON_CONTACT_JABBER_SRC}"); } -.quote-icon, .quote-icon a { background-image: url("{IMG_ICON_POST_QUOTE_SRC}"); } +.pm-icon, .pm-icon a { background-image: url("{IMG_ICON_CONTACT_PM_SRC}"); } +.quote-icon, .quote-icon a { background-image: url("{IMG_ICON_POST_QUOTE_SRC}"); } /* Moderator icons */ .report-icon, .report-icon a { background-image: url("{IMG_ICON_POST_REPORT_SRC}"); } -.warn-icon, .warn-icon a { background-image: url("{IMG_ICON_POST_REPORT_SRC}"); } .edit-icon, .edit-icon a { background-image: url("{IMG_ICON_POST_EDIT_SRC}"); } - .delete-icon, .delete-icon a { background-image: url("{IMG_ICON_POST_DELETE_SRC}"); } .info-icon, .info-icon a { background-image: url("{IMG_ICON_POST_INFO_SRC}"); } +.warn-icon, .warn-icon a { background-image: url("{IMG_ICON_USER_WARN_SRC}"); } /* Need updated warn icon */ /* -------------------------------------------------------------- From cbdaae59574e916db4bfa588f70af637e6dea6b4 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Mon, 9 Apr 2007 03:03:04 +0000 Subject: [PATCH 357/707] comment speeling @_@ git-svn-id: file:///svn/phpbb/trunk@7307 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/theme/buttons.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/prosilver/theme/buttons.css b/phpBB/styles/prosilver/theme/buttons.css index 9711e11146..cd4efc6ccc 100644 --- a/phpBB/styles/prosilver/theme/buttons.css +++ b/phpBB/styles/prosilver/theme/buttons.css @@ -46,7 +46,7 @@ .newpm-icon, .newpm-icon a { background: none 0 0 no-repeat; } .forwardpm-icon, .forwardpm-icon a { background: none 0 0 no-repeat; } -/* Set bug button dimensions */ +/* Set big button dimensions */ .buttons div.reply-icon { width: {IMG_BUTTON_TOPIC_REPLY_WIDTH}px; height: {IMG_BUTTON_TOPIC_REPLY_HEIGHT}px; } .buttons div.post-icon { width: {IMG_BUTTON_TOPIC_NEW_WIDTH}px; height: {IMG_BUTTON_TOPIC_NEW_HEIGHT}px; } .buttons div.locked-icon { width: {IMG_BUTTON_TOPIC_LOCKED_WIDTH}px; height: {IMG_BUTTON_TOPIC_LOCKED_HEIGHT}px; } From 8f0d7bf823487e7550b9c3905bc7d1713ac1b859 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 9 Apr 2007 05:10:00 +0000 Subject: [PATCH 358/707] - Firebird is people too! (Firebird works again) - small style.php bug git-svn-id: file:///svn/phpbb/trunk@7308 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/develop/create_schema_files.php | 6 +++--- phpBB/install/database_update.php | 18 +++++++++--------- phpBB/install/schemas/firebird_schema.sql | 6 +++--- phpBB/install/schemas/mssql_schema.sql | 6 +++--- phpBB/install/schemas/mysql_40_schema.sql | 6 +++--- phpBB/install/schemas/mysql_41_schema.sql | 6 +++--- phpBB/install/schemas/oracle_schema.sql | 6 +++--- phpBB/install/schemas/postgres_schema.sql | 6 +++--- phpBB/install/schemas/sqlite_schema.sql | 6 +++--- phpBB/style.php | 2 +- 10 files changed, 34 insertions(+), 34 deletions(-) diff --git a/phpBB/develop/create_schema_files.php b/phpBB/develop/create_schema_files.php index 75017328a0..cf3e9e2e2c 100644 --- a/phpBB/develop/create_schema_files.php +++ b/phpBB/develop/create_schema_files.php @@ -858,7 +858,7 @@ function get_schema_struct() ), 'PRIMARY_KEY' => array('role_id', 'auth_option_id'), 'KEYS' => array( - 'auth_option_id' => array('INDEX', 'auth_option_id'), + 'ath_opt_id' => array('INDEX', 'auth_option_id'), ), ); @@ -1489,7 +1489,7 @@ function get_schema_struct() 'title_match' => array('BOOL', 0), ), 'KEYS' => array( - 'unique_match' => array('UNIQUE', array('word_id', 'post_id', 'title_match')), + 'unq_mtch' => array('UNIQUE', array('word_id', 'post_id', 'title_match')), 'word_id' => array('INDEX', 'word_id'), 'post_id' => array('INDEX', 'post_id'), ), @@ -1647,7 +1647,7 @@ function get_schema_struct() ), 'PRIMARY_KEY' => 'image_id', 'KEYS' => array( - 'imgset_id' => array('INDEX', 'imageset_id'), + 'i_id' => array('INDEX', 'imageset_id'), ), ); diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 6150cfeded..f6f7d8dac3 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -334,13 +334,13 @@ $database_update_info = array( 'auth_role_id' => array('auth_role_id'), ), ACL_ROLES_DATA_TABLE => array( - 'auth_option_id' => array('auth_option_id'), + 'ath_opt_id' => array('auth_option_id'), ), ), // Add the following unique indexes 'add_unique_index' => array( SEARCH_WORDMATCH_TABLE => array( - 'unique_match' => array('word_id', 'post_id', 'title_match'), + 'unq_mtch' => array('word_id', 'post_id', 'title_match'), ), USERS_TABLE => array( 'username_clean' => array('username_clean'), @@ -705,7 +705,7 @@ if (version_compare($current_version, '3.0.b5', '<=')) image_width smallint(4) UNSIGNED DEFAULT '0' NOT NULL, imageset_id tinyint(4) DEFAULT '0' NOT NULL, PRIMARY KEY (image_id), - KEY imgset_id (imageset_id) + KEY i_id (imageset_id) ) CHARACTER SET `utf8` COLLATE `utf8_bin`"); break; @@ -720,7 +720,7 @@ if (version_compare($current_version, '3.0.b5', '<=')) image_width smallint(4) UNSIGNED DEFAULT '0' NOT NULL, imageset_id tinyint(4) DEFAULT '0' NOT NULL, PRIMARY KEY (image_id), - KEY imgset_id (imageset_id) + KEY i_id (imageset_id) );"); break; @@ -742,7 +742,7 @@ if (version_compare($current_version, '3.0.b5', '<=')) [image_id] ) ON [PRIMARY]", - "CREATE INDEX [imgset_id] ON [$tablename]([imageset_id]) ON [PRIMARY]", + "CREATE INDEX [i_id] ON [$tablename]([imageset_id]) ON [PRIMARY]", ); break; @@ -759,7 +759,7 @@ if (version_compare($current_version, '3.0.b5', '<=')) CONSTRAINT pk_phpbb_styles_imageset_data PRIMARY KEY (image_id) )", - "CREATE INDEX {$tablename}_imgset_id ON $tablename (imageset_id)", + "CREATE INDEX {$tablename}_i_id ON $tablename (imageset_id)", "CREATE SEQUENCE {$tablename}_imgset_id_seq", @@ -791,7 +791,7 @@ if (version_compare($current_version, '3.0.b5', '<=')) PRIMARY KEY (image_id) );", - "CREATE INDEX {$tablename}_imgset_id ON $tablename (imageset_id);" + "CREATE INDEX {$tablename}_i_id ON $tablename (imageset_id);" ); break; @@ -807,7 +807,7 @@ if (version_compare($current_version, '3.0.b5', '<=')) imageset_id tinyint(4) NOT NULL DEFAULT '0' );", - "CREATE INDEX {$tablename}_imgset_id ON $tablename (imageset_id);" + "CREATE INDEX {$tablename}_i_id ON $tablename (imageset_id);" ); break; @@ -825,7 +825,7 @@ if (version_compare($current_version, '3.0.b5', '<=')) "ALTER TABLE $tablename ADD PRIMARY KEY (image_id);", - "CREATE INDEX {$tablename}_imgset_id ON $tablename(imageset_id);", + "CREATE INDEX {$tablename}_i_id ON $tablename(imageset_id);", "CREATE GENERATOR {$tablename}_gen;", diff --git a/phpBB/install/schemas/firebird_schema.sql b/phpBB/install/schemas/firebird_schema.sql index e48b36c6b8..3b0376e467 100644 --- a/phpBB/install/schemas/firebird_schema.sql +++ b/phpBB/install/schemas/firebird_schema.sql @@ -114,7 +114,7 @@ CREATE TABLE phpbb_acl_roles_data ( ALTER TABLE phpbb_acl_roles_data ADD PRIMARY KEY (role_id, auth_option_id);; -CREATE INDEX phpbb_acl_roles_data_auth_option_id ON phpbb_acl_roles_data(auth_option_id);; +CREATE INDEX phpbb_acl_roles_data_ath_opt_id ON phpbb_acl_roles_data(auth_option_id);; # Table: 'phpbb_acl_users' CREATE TABLE phpbb_acl_users ( @@ -954,7 +954,7 @@ CREATE TABLE phpbb_search_wordmatch ( title_match INTEGER DEFAULT 0 NOT NULL );; -CREATE UNIQUE INDEX phpbb_search_wordmatch_unique_match ON phpbb_search_wordmatch(word_id, post_id, title_match);; +CREATE UNIQUE INDEX phpbb_search_wordmatch_unq_mtch ON phpbb_search_wordmatch(word_id, post_id, title_match);; CREATE INDEX phpbb_search_wordmatch_word_id ON phpbb_search_wordmatch(word_id);; CREATE INDEX phpbb_search_wordmatch_post_id ON phpbb_search_wordmatch(post_id);; @@ -1179,7 +1179,7 @@ CREATE TABLE phpbb_styles_imageset_data ( ALTER TABLE phpbb_styles_imageset_data ADD PRIMARY KEY (image_id);; -CREATE INDEX phpbb_styles_imageset_data_imgset_id ON phpbb_styles_imageset_data(imageset_id);; +CREATE INDEX phpbb_styles_imageset_data_i_id ON phpbb_styles_imageset_data(imageset_id);; CREATE GENERATOR phpbb_styles_imageset_data_gen;; SET GENERATOR phpbb_styles_imageset_data_gen TO 0;; diff --git a/phpBB/install/schemas/mssql_schema.sql b/phpBB/install/schemas/mssql_schema.sql index 537da725a2..b12714c47a 100644 --- a/phpBB/install/schemas/mssql_schema.sql +++ b/phpBB/install/schemas/mssql_schema.sql @@ -142,7 +142,7 @@ ALTER TABLE [phpbb_acl_roles_data] WITH NOCHECK ADD ) ON [PRIMARY] GO -CREATE INDEX [auth_option_id] ON [phpbb_acl_roles_data]([auth_option_id]) ON [PRIMARY] +CREATE INDEX [ath_opt_id] ON [phpbb_acl_roles_data]([auth_option_id]) ON [PRIMARY] GO @@ -1136,7 +1136,7 @@ CREATE TABLE [phpbb_search_wordmatch] ( ) ON [PRIMARY] GO -CREATE UNIQUE INDEX [unique_match] ON [phpbb_search_wordmatch]([word_id], [post_id], [title_match]) ON [PRIMARY] +CREATE UNIQUE INDEX [unq_mtch] ON [phpbb_search_wordmatch]([word_id], [post_id], [title_match]) ON [PRIMARY] GO CREATE INDEX [word_id] ON [phpbb_search_wordmatch]([word_id]) ON [PRIMARY] @@ -1392,7 +1392,7 @@ ALTER TABLE [phpbb_styles_imageset_data] WITH NOCHECK ADD ) ON [PRIMARY] GO -CREATE INDEX [imgset_id] ON [phpbb_styles_imageset_data]([imageset_id]) ON [PRIMARY] +CREATE INDEX [i_id] ON [phpbb_styles_imageset_data]([imageset_id]) ON [PRIMARY] GO diff --git a/phpBB/install/schemas/mysql_40_schema.sql b/phpBB/install/schemas/mysql_40_schema.sql index c2ecb99374..590ad187b9 100644 --- a/phpBB/install/schemas/mysql_40_schema.sql +++ b/phpBB/install/schemas/mysql_40_schema.sql @@ -74,7 +74,7 @@ CREATE TABLE phpbb_acl_roles_data ( auth_option_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, auth_setting tinyint(2) DEFAULT '0' NOT NULL, PRIMARY KEY (role_id, auth_option_id), - KEY auth_option_id (auth_option_id) + KEY ath_opt_id (auth_option_id) ); @@ -653,7 +653,7 @@ CREATE TABLE phpbb_search_wordmatch ( post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, word_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, title_match tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - UNIQUE unique_match (word_id, post_id, title_match), + UNIQUE unq_mtch (word_id, post_id, title_match), KEY word_id (word_id), KEY post_id (post_id) ); @@ -792,7 +792,7 @@ CREATE TABLE phpbb_styles_imageset_data ( image_width smallint(4) UNSIGNED DEFAULT '0' NOT NULL, imageset_id tinyint(4) DEFAULT '0' NOT NULL, PRIMARY KEY (image_id), - KEY imgset_id (imageset_id) + KEY i_id (imageset_id) ); diff --git a/phpBB/install/schemas/mysql_41_schema.sql b/phpBB/install/schemas/mysql_41_schema.sql index a35fa79df8..1fb0966761 100644 --- a/phpBB/install/schemas/mysql_41_schema.sql +++ b/phpBB/install/schemas/mysql_41_schema.sql @@ -74,7 +74,7 @@ CREATE TABLE phpbb_acl_roles_data ( auth_option_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, auth_setting tinyint(2) DEFAULT '0' NOT NULL, PRIMARY KEY (role_id, auth_option_id), - KEY auth_option_id (auth_option_id) + KEY ath_opt_id (auth_option_id) ) CHARACTER SET `utf8` COLLATE `utf8_bin`; @@ -653,7 +653,7 @@ CREATE TABLE phpbb_search_wordmatch ( post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, word_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, title_match tinyint(1) UNSIGNED DEFAULT '0' NOT NULL, - UNIQUE unique_match (word_id, post_id, title_match), + UNIQUE unq_mtch (word_id, post_id, title_match), KEY word_id (word_id), KEY post_id (post_id) ) CHARACTER SET `utf8` COLLATE `utf8_bin`; @@ -792,7 +792,7 @@ CREATE TABLE phpbb_styles_imageset_data ( image_width smallint(4) UNSIGNED DEFAULT '0' NOT NULL, imageset_id tinyint(4) DEFAULT '0' NOT NULL, PRIMARY KEY (image_id), - KEY imgset_id (imageset_id) + KEY i_id (imageset_id) ) CHARACTER SET `utf8` COLLATE `utf8_bin`; diff --git a/phpBB/install/schemas/oracle_schema.sql b/phpBB/install/schemas/oracle_schema.sql index 6fc1f4325b..cc0881986a 100644 --- a/phpBB/install/schemas/oracle_schema.sql +++ b/phpBB/install/schemas/oracle_schema.sql @@ -188,7 +188,7 @@ CREATE TABLE phpbb_acl_roles_data ( ) / -CREATE INDEX phpbb_acl_roles_data_auth_option_id ON phpbb_acl_roles_data (auth_option_id) +CREATE INDEX phpbb_acl_roles_data_ath_opt_id ON phpbb_acl_roles_data (auth_option_id) / /* @@ -1270,7 +1270,7 @@ CREATE TABLE phpbb_search_wordmatch ( post_id number(8) DEFAULT '0' NOT NULL, word_id number(8) DEFAULT '0' NOT NULL, title_match number(1) DEFAULT '0' NOT NULL, - CONSTRAINT u_phpbb_unique_match UNIQUE (word_id, post_id, title_match) + CONSTRAINT u_phpbb_unq_mtch UNIQUE (word_id, post_id, title_match) ) / @@ -1565,7 +1565,7 @@ CREATE TABLE phpbb_styles_imageset_data ( ) / -CREATE INDEX phpbb_styles_imageset_data_imgset_id ON phpbb_styles_imageset_data (imageset_id) +CREATE INDEX phpbb_styles_imageset_data_i_id ON phpbb_styles_imageset_data (imageset_id) / CREATE SEQUENCE phpbb_styles_imageset_data_seq diff --git a/phpBB/install/schemas/postgres_schema.sql b/phpBB/install/schemas/postgres_schema.sql index bc3b916007..623db63ec3 100644 --- a/phpBB/install/schemas/postgres_schema.sql +++ b/phpBB/install/schemas/postgres_schema.sql @@ -170,7 +170,7 @@ CREATE TABLE phpbb_acl_roles_data ( PRIMARY KEY (role_id, auth_option_id) ); -CREATE INDEX phpbb_acl_roles_data_auth_option_id ON phpbb_acl_roles_data (auth_option_id); +CREATE INDEX phpbb_acl_roles_data_ath_opt_id ON phpbb_acl_roles_data (auth_option_id); /* Table: 'phpbb_acl_users' @@ -867,7 +867,7 @@ CREATE TABLE phpbb_search_wordmatch ( title_match INT2 DEFAULT '0' NOT NULL CHECK (title_match >= 0) ); -CREATE UNIQUE INDEX phpbb_search_wordmatch_unique_match ON phpbb_search_wordmatch (word_id, post_id, title_match); +CREATE UNIQUE INDEX phpbb_search_wordmatch_unq_mtch ON phpbb_search_wordmatch (word_id, post_id, title_match); CREATE INDEX phpbb_search_wordmatch_word_id ON phpbb_search_wordmatch (word_id); CREATE INDEX phpbb_search_wordmatch_post_id ON phpbb_search_wordmatch (post_id); @@ -1042,7 +1042,7 @@ CREATE TABLE phpbb_styles_imageset_data ( PRIMARY KEY (image_id) ); -CREATE INDEX phpbb_styles_imageset_data_imgset_id ON phpbb_styles_imageset_data (imageset_id); +CREATE INDEX phpbb_styles_imageset_data_i_id ON phpbb_styles_imageset_data (imageset_id); /* Table: 'phpbb_topics' diff --git a/phpBB/install/schemas/sqlite_schema.sql b/phpBB/install/schemas/sqlite_schema.sql index d1ac9abf81..84a869f8b1 100644 --- a/phpBB/install/schemas/sqlite_schema.sql +++ b/phpBB/install/schemas/sqlite_schema.sql @@ -75,7 +75,7 @@ CREATE TABLE phpbb_acl_roles_data ( PRIMARY KEY (role_id, auth_option_id) ); -CREATE INDEX phpbb_acl_roles_data_auth_option_id ON phpbb_acl_roles_data (auth_option_id); +CREATE INDEX phpbb_acl_roles_data_ath_opt_id ON phpbb_acl_roles_data (auth_option_id); # Table: 'phpbb_acl_users' CREATE TABLE phpbb_acl_users ( @@ -633,7 +633,7 @@ CREATE TABLE phpbb_search_wordmatch ( title_match INTEGER UNSIGNED NOT NULL DEFAULT '0' ); -CREATE UNIQUE INDEX phpbb_search_wordmatch_unique_match ON phpbb_search_wordmatch (word_id, post_id, title_match); +CREATE UNIQUE INDEX phpbb_search_wordmatch_unq_mtch ON phpbb_search_wordmatch (word_id, post_id, title_match); CREATE INDEX phpbb_search_wordmatch_word_id ON phpbb_search_wordmatch (word_id); CREATE INDEX phpbb_search_wordmatch_post_id ON phpbb_search_wordmatch (post_id); @@ -765,7 +765,7 @@ CREATE TABLE phpbb_styles_imageset_data ( imageset_id tinyint(4) NOT NULL DEFAULT '0' ); -CREATE INDEX phpbb_styles_imageset_data_imgset_id ON phpbb_styles_imageset_data (imageset_id); +CREATE INDEX phpbb_styles_imageset_data_i_id ON phpbb_styles_imageset_data (imageset_id); # Table: 'phpbb_topics' CREATE TABLE phpbb_topics ( diff --git a/phpBB/style.php b/phpBB/style.php index 433a41e3e9..7a2ed500c6 100644 --- a/phpBB/style.php +++ b/phpBB/style.php @@ -92,7 +92,7 @@ if ($id && $sid) $sql = 'SELECT * FROM ' . STYLES_IMAGESET_DATA_TABLE . ' - WHERE imageset_id = ' . $id . " + WHERE imageset_id = ' . $theme['imageset_id'] . " AND image_lang IN('" . $db->sql_escape($user['user_lang']) . "', '')"; $result = $db->sql_query($sql, 3600); From 7cbf74bfcafc5bb6b7971a9b06e24c248cce9120 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 9 Apr 2007 12:57:15 +0000 Subject: [PATCH 359/707] *** empty log message *** git-svn-id: file:///svn/phpbb/trunk@7309 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_admin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index df7a7f794a..275b8bc38d 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -2545,7 +2545,7 @@ function update_foes($group_id = false, $user_id = false) { case 'mysqli': case 'mysql4': - $sql = 'DELETE ' . ($db->sql_layer === 'mysqli' || version_compare($db->mysql_version, '4.1', '>=')) ? ZEBRA_TABLE : 'z.*' . ' + $sql = 'DELETE ' . (($db->sql_layer === 'mysqli' || version_compare($db->mysql_version, '4.1', '>=')) ? 'z.*' : ZEBRA_TABLE) . ' FROM ' . ZEBRA_TABLE . ' z, ' . USER_GROUP_TABLE . ' ug WHERE z.zebra_id = ug.user_id AND z.foe = 1 From 405b22f64e6bc1857f1265e10207707f34c2f3c3 Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Mon, 9 Apr 2007 16:04:30 +0000 Subject: [PATCH 360/707] - correctly initialise $words in fulltext_native [Bug #347] - display ignored words from sub-search-queries - "Return to search page" [Bug #9591] - spelling in coding guidelines - htmlspecialchars forwarded_for before logging git-svn-id: file:///svn/phpbb/trunk@7310 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/docs/coding-guidelines.html | 4 ++-- phpBB/includes/search/fulltext_native.php | 11 +++++++++-- phpBB/includes/session.php | 2 +- phpBB/language/en/search.php | 1 + phpBB/styles/prosilver/template/search_results.html | 2 +- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/phpBB/docs/coding-guidelines.html b/phpBB/docs/coding-guidelines.html index 3a92f76353..c3b6776dd2 100644 --- a/phpBB/docs/coding-guidelines.html +++ b/phpBB/docs/coding-guidelines.html @@ -193,7 +193,7 @@ p a { -

These are the phpBB Coding Guidelines for Olympus, all attempts should be made to follow it as closely as possible.
This document is (c) 2006 phpBB Group, copying or redistribution is not allowed without permission.

+

These are the phpBB Coding Guidelines for Olympus, all attempts should be made to follow them as closely as possible.
This document is (c) 2006 phpBB Group, copying or redistribution is not allowed without permission.

Coding Guidelines

@@ -1550,7 +1550,7 @@ div

Reason:

-

phpBB is one of the most translated OpenSource 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.

+

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.

Encoding:

diff --git a/phpBB/includes/search/fulltext_native.php b/phpBB/includes/search/fulltext_native.php index 66d64d3b66..35c1d9f24d 100755 --- a/phpBB/includes/search/fulltext_native.php +++ b/phpBB/includes/search/fulltext_native.php @@ -187,7 +187,7 @@ class fulltext_native extends search_backend preg_match_all('#([^\\s+\\-|*()]+)(?:$|[\\s+\\-|()])#u', $keywords, $exact_words); $exact_words = $exact_words[1]; - $common_ids = array(); + $common_ids = $words = array(); if (sizeof($exact_words)) { @@ -287,6 +287,14 @@ class fulltext_native extends search_backend $id_words[] = $words[$word_part]; $non_common_words[] = $word_part; } + else + { + $len = utf8_strlen($word_part); + if ($len < $this->word_length['min'] || $len > $this->word_length['max']) + { + $this->common_words[] = $word_part; + } + } } if (sizeof($id_words)) { @@ -311,7 +319,6 @@ class fulltext_native extends search_backend // else we only need one id else if (($wildcard = strpos($word, '*') !== false) || isset($words[$word])) { - if ($wildcard) { $len = utf8_strlen(str_replace('*', '', $word)); diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index fc380436d3..1dfeb43fd3 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -301,7 +301,7 @@ class session // Added logging temporarly to help debug bugs... if (defined('DEBUG_EXTRA')) { - add_log('critical', 'LOG_IP_BROWSER_FORWARDED_CHECK', $u_ip, $s_ip, $u_browser, $s_browser, $u_forwarded_for, $s_forwarded_for); + add_log('critical', 'LOG_IP_BROWSER_FORWARDED_CHECK', $u_ip, $s_ip, $u_browser, $s_browser, htmlspecialchars($u_forwarded_for), htmlspecialchars($s_forwarded_for)); } } } diff --git a/phpBB/language/en/search.php b/phpBB/language/en/search.php index f3db3af503..e8470f0e94 100644 --- a/phpBB/language/en/search.php +++ b/phpBB/language/en/search.php @@ -61,6 +61,7 @@ $lang = array_merge($lang, array( 'RESULT_DAYS' => 'Limit results to previous', 'RESULT_SORT' => 'Sort results by', 'RETURN_FIRST' => 'Return first', + 'RETURN_TO_SEARCH_ADV' => 'Return to advanced search', 'SEARCHED_FOR' => 'Search term used', 'SEARCHED_TOPIC' => 'Searched topic', diff --git a/phpBB/styles/prosilver/template/search_results.html b/phpBB/styles/prosilver/template/search_results.html index 98a3ff8c44..c61e3db3a5 100644 --- a/phpBB/styles/prosilver/template/search_results.html +++ b/phpBB/styles/prosilver/template/search_results.html @@ -6,7 +6,7 @@

{L_RETURN_TO}: {SEARCH_TOPIC}

-

{L_RETURN_TO} {L_SEARCH_ADV}

+

{L_RETURN_TO_SEARCH_ADV}

From 128be038dadf2e2d53e2284da0a5c222e39df568 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 9 Apr 2007 16:11:29 +0000 Subject: [PATCH 361/707] get out of my house! :P git-svn-id: file:///svn/phpbb/trunk@7311 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/subsilver2/imageset/imageset.cfg | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/phpBB/styles/subsilver2/imageset/imageset.cfg b/phpBB/styles/subsilver2/imageset/imageset.cfg index b6192c0ede..a6713ce1ae 100644 --- a/phpBB/styles/subsilver2/imageset/imageset.cfg +++ b/phpBB/styles/subsilver2/imageset/imageset.cfg @@ -86,20 +86,6 @@ img_pm_unread = topic_unread.gif*18*19 img_icon_back_top = -img_icon_contact_aim = {LANG}/icon_contact_aim.gif -img_icon_contact_email = {LANG}/icon_contact_email.gif -img_icon_contact_icq = {LANG}/icon_contact_icq.gif -img_icon_contact_jabber = {LANG}/icon_contact_jabber.gif -img_icon_contact_msnm = {LANG}/icon_contact_msnm.gif -img_icon_contact_pm = {LANG}/icon_contact_pm.gif -img_icon_contact_yahoo = {LANG}/icon_contact_yahoo.gif -img_icon_contact_www = {LANG}/icon_contact_www.gif - -img_icon_post_delete = {LANG}/icon_post_delete.gif -img_icon_post_edit = {LANG}/icon_post_edit.gif -img_icon_post_info = {LANG}/icon_post_info.gif -img_icon_post_quote = {LANG}/icon_post_quote.gif -img_icon_post_report = {LANG}/icon_post_report.gif img_icon_post_target = icon_post_target.gif*9*12 img_icon_post_target_unread = icon_post_target_unread.gif*9*12 From c8b5adf506b3011c2083594f826f43df97b0f926 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Mon, 9 Apr 2007 17:05:53 +0000 Subject: [PATCH 362/707] hopefully bringing back the unread link for pages being read but having unread posts on subsequent pages git-svn-id: file:///svn/phpbb/trunk@7312 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/viewtopic.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index 76fb8f6d4e..8d4183b52e 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -1505,11 +1505,20 @@ else } // If there are absolutely no more unread posts in this forum and unread posts shown, we can savely show the #unread link -if ($all_marked_read && $post_unread) +if ($all_marked_read) { - $template->assign_vars(array( - 'U_VIEW_UNREAD_POST' => '#unread', - )); + if ($post_unread) + { + $template->assign_vars(array( + 'U_VIEW_UNREAD_POST' => '#unread', + )); + } + else if (isset($topic_tracking_info[$topic_id]) && $topic_data['topic_last_post_time'] > $topic_tracking_info[$topic_id]) + { + $template->assign_vars(array( + 'U_VIEW_UNREAD_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id&view=unread") . '#unread', + )); + } } else if (!$all_marked_read) { From ff7d955f85bedb2b4791554e5811849602bff123 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 9 Apr 2007 18:33:07 +0000 Subject: [PATCH 363/707] #9725 git-svn-id: file:///svn/phpbb/trunk@7313 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 34 +++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index f6f7d8dac3..7f0b717a3d 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -691,6 +691,26 @@ $no_updates = true; // some code magic if (version_compare($current_version, '3.0.b5', '<=')) { + switch ($map_dbms) + { + case 'sqlite': + case 'firebird': + $db->sql_query('DELETE FROM ' . STYLES_IMAGESET_TABLE); + $db->sql_query('DELETE FROM ' . STYLES_TEMPLATE_TABLE); + $db->sql_query('DELETE FROM ' . STYLES_TABLE); + $db->sql_query('DELETE FROM ' . STYLES_IMAGESET_DATA_TABLE); + $db->sql_query('DELETE FROM ' . STYLES_THEME_TABLE); + break; + + default: + $db->sql_query('TRUNCATE TABLE ' . STYLES_IMAGESET_TABLE); + $db->sql_query('TRUNCATE TABLE ' . STYLES_TEMPLATE_TABLE); + $db->sql_query('TRUNCATE TABLE ' . STYLES_TABLE); + $db->sql_query('TRUNCATE TABLE ' . STYLES_IMAGESET_DATA_TABLE); + $db->sql_query('TRUNCATE TABLE ' . STYLES_THEME_TABLE); + break; + } + $tablename = $table_prefix . 'styles_imageset_data'; switch ($map_dbms) { @@ -847,7 +867,9 @@ if (version_compare($current_version, '3.0.b5', '<=')) $db->sql_query($sql); } - $data = "INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('site_logo', 'site_logo.gif', '', 94, 170, 2); + $data = "INSERT INTO phpbb_styles (style_name, style_copyright, style_active, template_id, theme_id, imageset_id) VALUES ('prosilver', '© phpBB Group', 1, 1, 1, 1); + INSERT INTO phpbb_styles (style_name, style_copyright, style_active, template_id, theme_id, imageset_id) VALUES ('subsilver2', '© phpBB Group', 1, 2, 2, 2); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('site_logo', 'site_logo.gif', '', 94, 170, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('upload_bar', 'upload_bar.gif', '', 16, 280, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('poll_left', 'poll_left.gif', '', 12, 4, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('poll_center', 'poll_center.gif', '', 12, 0, 2); @@ -1006,7 +1028,13 @@ if (version_compare($current_version, '3.0.b5', '<=')) INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_pm_reply', 'button_pm_reply.gif', 'en', 25, 96, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_locked', 'button_topic_locked.gif', 'en', 25, 88, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 25, 96, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 25, 96, 1);"; + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 25, 96, 1); + INSERT INTO phpbb_styles_imageset (imageset_name, imageset_copyright, imageset_path) VALUES ('prosilver', '© phpBB Group', 'prosilver'); + INSERT INTO phpbb_styles_imageset (imageset_name, imageset_copyright, imageset_path) VALUES ('subsilver2', '© phpBB Group', 'subsilver2'); + INSERT INTO phpbb_styles_template (template_name, template_copyright, template_path, bbcode_bitfield, template_storedb) VALUES ('prosilver', '© phpBB Group', 'prosilver', 'lNg=', 0); + INSERT INTO phpbb_styles_template (template_name, template_copyright, template_path, bbcode_bitfield, template_storedb) VALUES ('subsilver2', '© phpBB Group', 'subsilver2', 'kNg=', 0); + INSERT INTO phpbb_styles_theme (theme_name, theme_copyright, theme_path, theme_storedb, theme_data) VALUES ('prosilver', '© phpBB Group', 'prosilver', 1, ''); + INSERT INTO phpbb_styles_theme (theme_name, theme_copyright, theme_path, theme_storedb, theme_data) VALUES ('subsilver2', '© phpBB Group', 'subsilver2', 0, '');"; $data = str_replace('phpbb_', $table_prefix, $data); $sql_ary = explode("\n", $data); @@ -1026,6 +1054,8 @@ if (version_compare($current_version, '3.0.b5', '<=')) set_config('fulltext_native_common_thres', '5'); } + set_config('default_style', '1'); + $sql = 'SELECT m.word_id, COUNT(m.word_id) as word_count FROM ' . SEARCH_WORDMATCH_TABLE . ' m, ' . SEARCH_WORDLIST_TABLE . ' w WHERE m.word_id = w.word_id From 9d186df2abc5cba529afdba10c93394903aa9159 Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Mon, 9 Apr 2007 18:34:13 +0000 Subject: [PATCH 364/707] - "Return to search page" [Bug #9591] git-svn-id: file:///svn/phpbb/trunk@7314 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/template/message_body.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/prosilver/template/message_body.html b/phpBB/styles/prosilver/template/message_body.html index f92a00ca7f..1fb30a21cf 100644 --- a/phpBB/styles/prosilver/template/message_body.html +++ b/phpBB/styles/prosilver/template/message_body.html @@ -4,7 +4,7 @@

{MESSAGE_TITLE}

{MESSAGE_TEXT}

-

Return to search page

+

{L_RETURN_TO_SEARCH_ADV}

From 0a001ce48f94ef72d46bfc6ea2d1bc6bd1e9c1b5 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 9 Apr 2007 18:49:05 +0000 Subject: [PATCH 365/707] #9711 git-svn-id: file:///svn/phpbb/trunk@7315 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/template/ucp_pm_history.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/prosilver/template/ucp_pm_history.html b/phpBB/styles/prosilver/template/ucp_pm_history.html index a36cccd82e..aedf488f9d 100644 --- a/phpBB/styles/prosilver/template/ucp_pm_history.html +++ b/phpBB/styles/prosilver/template/ucp_pm_history.html @@ -1,6 +1,6 @@

- {L_EXPAND_VIEW} + {L_EXPAND_VIEW} {L_MESSAGE_HISTORY}: {TITLE}

From 6510afe6debfbd2933078f15b2702324993d7fd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Mon, 9 Apr 2007 19:37:13 +0000 Subject: [PATCH 366/707] #9689 git-svn-id: file:///svn/phpbb/trunk@7316 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/template/faq_body.html | 4 ++-- phpBB/styles/prosilver/template/viewtopic_body.html | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/phpBB/styles/prosilver/template/faq_body.html b/phpBB/styles/prosilver/template/faq_body.html index 0cc0f14b63..aec578985e 100644 --- a/phpBB/styles/prosilver/template/faq_body.html +++ b/phpBB/styles/prosilver/template/faq_body.html @@ -26,7 +26,7 @@ -
+
@@ -34,7 +34,7 @@

{faq_block.BLOCK_TITLE}

- +
{faq_block.faq_row.FAQ_QUESTION}
{faq_block.faq_row.FAQ_ANSWER}
diff --git a/phpBB/styles/prosilver/template/viewtopic_body.html b/phpBB/styles/prosilver/template/viewtopic_body.html index e298c7e42b..39efce34cd 100644 --- a/phpBB/styles/prosilver/template/viewtopic_body.html +++ b/phpBB/styles/prosilver/template/viewtopic_body.html @@ -9,7 +9,7 @@ {L_MODERATOR}{L_MODERATORS}: {MODERATORS} - +

@@ -57,6 +57,7 @@
+
From a80c9cd33d782579fa257d660428d420bff2eaaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Mon, 9 Apr 2007 19:43:12 +0000 Subject: [PATCH 367/707] Some cleanup git-svn-id: file:///svn/phpbb/trunk@7317 89ea8834-ac86-4346-8a33-228a782c2dd0 --- .../styles/prosilver/template/mcp_footer.html | 2 +- .../prosilver/template/memberlist_search.html | 10 ++++---- .../prosilver/template/posting_editor.html | 24 +++++++++---------- .../styles/prosilver/template/ucp_footer.html | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/phpBB/styles/prosilver/template/mcp_footer.html b/phpBB/styles/prosilver/template/mcp_footer.html index 7fd8258b3f..5a48d95f23 100644 --- a/phpBB/styles/prosilver/template/mcp_footer.html +++ b/phpBB/styles/prosilver/template/mcp_footer.html @@ -1,6 +1,6 @@
-
+
diff --git a/phpBB/styles/prosilver/template/memberlist_search.html b/phpBB/styles/prosilver/template/memberlist_search.html index f97c474b15..0db9af4bf4 100644 --- a/phpBB/styles/prosilver/template/memberlist_search.html +++ b/phpBB/styles/prosilver/template/memberlist_search.html @@ -42,9 +42,9 @@ function insert_single(user)
- +

{L_FIND_USERNAME_EXPLAIN}

- +
@@ -95,12 +95,12 @@ function insert_single(user)
-
+

- +
-   +  
diff --git a/phpBB/styles/prosilver/template/posting_editor.html b/phpBB/styles/prosilver/template/posting_editor.html index bfb38afad0..32405e53c4 100644 --- a/phpBB/styles/prosilver/template/posting_editor.html +++ b/phpBB/styles/prosilver/template/posting_editor.html @@ -2,7 +2,7 @@

{ERROR}

- +

{L_FIND_USERNAME}
@@ -15,7 +15,7 @@
- + @@ -48,7 +48,7 @@
-
 
+
@@ -89,7 +89,7 @@ - +
@@ -132,7 +132,7 @@

{L_POSTED_ATTACHMENTS}

- +
@@ -157,15 +157,15 @@
-
+
{S_HIDDEN_ADDRESS_FIELD} - {S_HIDDEN_FIELDS} onclick="document.getElementById('postform').action += '#preview';" />  -   + {S_HIDDEN_FIELDS} onclick="document.getElementById('postform').action += '#preview';" />  +      
- +
@@ -183,7 +183,7 @@
- +
@@ -217,7 +217,7 @@
- +
@@ -225,7 +225,7 @@
{L_STICK_TOPIC_FOR_EXPLAIN}
- +
diff --git a/phpBB/styles/prosilver/template/ucp_footer.html b/phpBB/styles/prosilver/template/ucp_footer.html index dbf393aafc..ce28ae7c4e 100644 --- a/phpBB/styles/prosilver/template/ucp_footer.html +++ b/phpBB/styles/prosilver/template/ucp_footer.html @@ -1,6 +1,6 @@
-
+
From c411c05060fdd5e91340ee112e80c5857be4f303 Mon Sep 17 00:00:00 2001 From: David M Date: Mon, 9 Apr 2007 19:44:25 +0000 Subject: [PATCH 368/707] #9551 git-svn-id: file:///svn/phpbb/trunk@7318 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_forums.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php index 3772b0a8e6..9330157ea0 100644 --- a/phpBB/includes/acp/acp_forums.php +++ b/phpBB/includes/acp/acp_forums.php @@ -1123,6 +1123,19 @@ class acp_forums $db->sql_query($sql); } } + else if ($row['forum_type'] == FORUM_CAT && $forum_data_sql['forum_type'] == FORUM_POST) + { + // Changing a category to a forum? Reset the data (you can't post directly in a cat, you must use a forum) + $forum_data_sql['forum_posts'] = 0; + $forum_data_sql['forum_topics'] = 0; + $forum_data_sql['forum_topics_real'] = 0; + $forum_data_sql['forum_last_post_id'] = 0; + $forum_data_sql['forum_last_post_subject'] = ''; + $forum_data_sql['forum_last_post_time'] = 0; + $forum_data_sql['forum_last_poster_id'] = 0; + $forum_data_sql['forum_last_poster_name'] = ''; + $forum_data_sql['forum_last_poster_colour'] = ''; + } if (sizeof($errors)) { From 4376e86a9e3d446369d518153a7ca7773024a8bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Dr=C3=B6scher?= Date: Mon, 9 Apr 2007 20:40:30 +0000 Subject: [PATCH 369/707] #9620 git-svn-id: file:///svn/phpbb/trunk@7319 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/template/posting_buttons.html | 6 +++--- phpBB/styles/prosilver/template/posting_editor.html | 5 ++++- phpBB/styles/prosilver/template/ucp_header.html | 4 ++-- phpBB/styles/prosilver/template/ucp_main_drafts.html | 8 ++++---- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/phpBB/styles/prosilver/template/posting_buttons.html b/phpBB/styles/prosilver/template/posting_buttons.html index 761402951b..edf42f6a61 100644 --- a/phpBB/styles/prosilver/template/posting_buttons.html +++ b/phpBB/styles/prosilver/template/posting_buttons.html @@ -1,7 +1,7 @@ diff --git a/phpBB/styles/subsilver2/template/posting_smilies.html b/phpBB/styles/subsilver2/template/posting_smilies.html index f48ef66c19..01564c9694 100644 --- a/phpBB/styles/subsilver2/template/posting_smilies.html +++ b/phpBB/styles/subsilver2/template/posting_smilies.html @@ -3,7 +3,7 @@ diff --git a/phpBB/styles/subsilver2/template/ucp_header.html b/phpBB/styles/subsilver2/template/ucp_header.html index 7fb507d403..ffbf1199e0 100644 --- a/phpBB/styles/subsilver2/template/ucp_header.html +++ b/phpBB/styles/subsilver2/template/ucp_header.html @@ -2,7 +2,7 @@ - +
@@ -15,7 +15,7 @@ - + @@ -27,7 +27,7 @@ diff --git a/phpBB/styles/subsilver2/template/viewforum_body.html b/phpBB/styles/subsilver2/template/viewforum_body.html index 0b724db8d2..5e56042dd1 100644 --- a/phpBB/styles/subsilver2/template/viewforum_body.html +++ b/phpBB/styles/subsilver2/template/viewforum_body.html @@ -300,7 +300,7 @@ - +
{L_USERNAME}:
[ {L_FIND_USERNAME} ]
{L_USERNAME}:
[ {L_FIND_USERNAME} ]

- [ {L_FIND_USERNAME} ] + [ {L_FIND_USERNAME} ]
{L_NO_NEW_POSTS_LOCKED}    {FOLDER_MOVED_IMG}{L_MOVED_TOPIC}{L_TOPIC_MOVED}
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index 214bc938e1..48ae70c7d6 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -1021,7 +1021,7 @@ while ($row = $db->sql_fetchrow($result)) 'viewonline' => $row['user_allow_viewonline'], 'allow_pm' => $row['user_allow_pm'], - 'avatar' => '', + 'avatar' => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) : '', 'age' => '', 'rank_title' => '', @@ -1041,25 +1041,6 @@ while ($row = $db->sql_fetchrow($result)) 'search' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'search_author=' . urlencode($row['username']) .'&showresults=posts') : '', ); - if ($row['user_avatar'] && $user->optionget('viewavatars')) - { - $avatar_img = ''; - - switch ($row['user_avatar_type']) - { - case AVATAR_UPLOAD: - $avatar_img = $config['avatar_path'] . '/'; - break; - - case AVATAR_GALLERY: - $avatar_img = $config['avatar_gallery_path'] . '/'; - break; - } - - $avatar_img .= $row['user_avatar']; - $user_cache[$poster_id]['avatar'] = ''; - } - get_user_rank($row['user_rank'], $row['user_posts'], $user_cache[$poster_id]['rank_title'], $user_cache[$poster_id]['rank_image'], $user_cache[$poster_id]['rank_image_src']); if (!empty($row['user_allow_viewemail']) || $auth->acl_get('a_email')) From f2ceb8b0bb2a92550c84a8ac79d64b8f88603274 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 12 Apr 2007 16:58:53 +0000 Subject: [PATCH 381/707] hmm... forgot the variable was used there too git-svn-id: file:///svn/phpbb/trunk@7331 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/ucp/ucp_profile.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php index 3cee288098..e6e495af26 100644 --- a/phpBB/includes/ucp/ucp_profile.php +++ b/phpBB/includes/ucp/ucp_profile.php @@ -547,8 +547,6 @@ class ucp_profile else { $template->assign_vars(array( - 'AVATAR' => $avatar_img, - 'AVATAR_SIZE' => $config['avatar_filesize'], 'AVATAR_WIDTH' => request_var('width', $user->data['user_avatar_width']), 'AVATAR_HEIGHT' => request_var('height', $user->data['user_avatar_height']), From 5ab287e83e1cad3bcebb68c649735b74995f45b3 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 12 Apr 2007 17:08:53 +0000 Subject: [PATCH 382/707] /me slaps Vic... and this for your first commit. :P You want to get your lines up, eh? :) git-svn-id: file:///svn/phpbb/trunk@7332 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/theme/stylesheet.css | 3507 +------------------ 1 file changed, 8 insertions(+), 3499 deletions(-) diff --git a/phpBB/styles/prosilver/theme/stylesheet.css b/phpBB/styles/prosilver/theme/stylesheet.css index 5467019f5e..c7db605bbb 100644 --- a/phpBB/styles/prosilver/theme/stylesheet.css +++ b/phpBB/styles/prosilver/theme/stylesheet.css @@ -9,3502 +9,11 @@ -------------------------------------------------------------- */ -/* General proSilver Markup Styles ----------------------------------------- */ - -* { - /* Reset browsers default margin, padding and font sizes */ - margin: 0; - padding: 0; -} - -html { - font-size: 100%; - /* Always show a scrollbar for short pages - stops the jump when the scrollbar appears. non-IE browsers */ - height: 100%; - margin-bottom: 1px; -} - -body { - /* Text-Sizing with ems: http://www.clagnut.com/blog/348/ */ - font-family: Verdana, Helvetica, Arial, sans-serif; - color: #828282; - background-color: #FFFFFF; - /*font-size: 62.5%; This sets the default font size to be equivalent to 10px */ - font-size: 10px; - margin: 0; - padding: 12px 0; -} - -h1 { - /* Forum name */ - font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; - margin-right: 200px; - color: #FFFFFF; - margin-top: 15px; - font-weight: bold; - font-size: 2em; -} - -h2 { - /* Forum header titles */ - font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; - font-weight: normal; - color: #3f3f3f; - font-size: 2em; - margin: 0.8em 0 0.2em 0; -} - -h2.solo { - margin-bottom: 1em; -} - -h3 { - /* Sub-headers (also used as post headers, but defined later) */ - font-family: Arial, Helvetica, sans-serif; - font-weight: bold; - text-transform: uppercase; - border-bottom: 1px solid #CCCCCC; - margin-bottom: 3px; - padding-bottom: 2px; - font-size: 1.05em; - color: #989898; - margin-top: 20px; -} - -h4 { - /* Forum and topic list titles */ - font-family: "Trebuchet MS", Verdana, Helvetica, Arial, Sans-serif; - font-size: 1.3em; -} - -p { - line-height: 1.3em; - font-size: 1.1em; - margin-bottom: 1.5em; -} - -img { - border-width: 0px; -} - -hr { - /* Also see tweaks.css */ - border: 0px none #FFFFFF; - border-top: 1px solid #CCCCCC; - height: 1px; - margin: 5px 0; - display: block; - clear: both; -} - -hr.dashed { - border-top: 1px dashed #CCCCCC; - margin: 10px 0; -} - -hr.divider { - display: none; -} - -p.right { - text-align: right; -} - -/* Main blocks ----------------------------------------- */ -#wrap { - padding: 0 20px; - min-width: 650px; -} - -#simple-wrap { - padding: 6px 10px; -} - -#page-body { - margin: 4px 0; - clear: both; -} - -#page-footer { - clear: both; -} - -#page-footer h3 { - margin-top: 20px; -} - -#logo { - float: left; - width: auto; - padding: 10px 13px 0 10px; -} - -a#logo:hover { - text-decoration: none; -} - -/* Search box ---------------------------------------------- */ -#search-box { - color: #FFFFFF; - position: absolute; - right: 35px; - top: 35px; - width: 17em; - text-align: right; - white-space: nowrap; /* For Opera */ -} - -#search-box #keywords { - width: 95px; - background-color: #FFF; -} - -#search-box input { - border: 1px solid #b0b0b0; -} - -/* .button1 style defined later, just a few tweaks for the search button version */ -#search-box input.button1 { - padding: 1px 5px; -} - -#search-box li { - text-align: right; - margin-top: 4px; -} - -#search-box img { - vertical-align: middle; - margin-right: 3px; -} - -/* Round cornered boxes and backgrounds ----------------------------------------- */ -.headerbar { - background: #ebebeb none repeat-x 0 0; - color: #FFFFFF; - margin-bottom: 4px; - padding: 0 5px; -} - -.navbar { - background-color: #ebebeb; - padding: 0 10px; -} - -.forabg { - background: #b1b1b1 none repeat-x 0 0; - margin-bottom: 4px; - padding: 0 5px; - clear: both; -} - -.forumbg { - background: #ebebeb none repeat-x 0 0; - margin-bottom: 4px; - padding: 0 5px; - clear: both; -} - -.panel { - margin-bottom: 4px; - padding: 0 10px; - background-color: #f3f3f3; - color: #3f3f3f; -} - -.post { - padding: 0 10px; - margin-bottom: 4px; - background-repeat: no-repeat; - background-position: 100% 0; -} - -.post:target .content { - color: #000000; -} - -.post:target h3 a { - color: #000000; -} - -.bg1 { background-color: #f7f7f7;} -.bg2 { background-color: #f2f2f2; } -.bg3 { background-color: #ebebeb; } - -.rowbg { - margin: 5px 5px 2px 5px; -} - -.ucprowbg { - background-color: #e2e2e2; -} - -.fieldsbg { - /*border: 1px #DBDEE2 solid;*/ - background-color: #eaeaea; -} - -span.corners-top, span.corners-bottom, span.corners-top span, span.corners-bottom span { - font-size: 1px; - line-height: 1px; - display: block; - height: 5px; - background-repeat: no-repeat; -} - -span.corners-top { - background-image: none; - background-position: 0 0; - margin: 0 -5px; -} - -span.corners-top span { - background-image: none; - background-position: 100% 0; -} - -span.corners-bottom { - background-image: none; - background-position: 0 100%; - margin: 0 -5px; - clear: both; -} - -span.corners-bottom span { - background-image: none;; - background-position: 100% 100%; -} - -.headbg span.corners-bottom { - margin-bottom: -1px; -} - -.post span.corners-top, .post span.corners-bottom, .panel span.corners-top, .panel span.corners-bottom, .navbar span.corners-top, .navbar span.corners-bottom { - margin: 0 -10px; -} - -.rules span.corners-top { - margin: 0 -10px 5px -10px; -} - -.rules span.corners-bottom { - margin: 5px -10px 0 -10px; -} - -/* Horizontal lists -----------------------------------------*/ -ul.linklist { - display: block; - margin: 0; -} - -ul.linklist li { - display: block; - list-style-type: none; - float: left; - width: auto; - margin-right: 5px; - font-size: 1.1em; - line-height: 2.2em; -} - -ul.linklist li.rightside, p.rightside { - float: right; - margin-right: 0; - margin-left: 5px; - text-align: right; -} - -ul.navlinks { - padding-bottom: 1px; - border-bottom: 1px solid #FFFFFF; - font-weight: bold; -} - -/* Table styles -----------------------------------------*/ -table.table1 { - /* See tweaks.css */ -} - -#ucp-main table.table1 { - padding: 2px; -} - -table.table1 thead th { - font-weight: normal; - text-transform: uppercase; - color: #FFFFFF; - line-height: 1.3em; - font-size: 1em; - padding: 0 0 4px 3px; -} - -table.table1 thead th span { - padding-left: 7px; -} - -table.table1 tbody tr { - border: 1px solid #cfcfcf; -} - -table.table1 tbody tr:hover, table.table1 tbody tr.hover { - background-color: #f6f6f6; - color: #000; -} - -table.table1 td { - color: #536482; - font-size: 1.1em; -} - -table.table1 tbody td { - padding: 5px; - border-top: 1px solid #FAFAFA; -} - -table.table1 tbody th { - padding: 5px; - border-bottom: 1px solid #000000; - text-align: left; - color: #333333; - background-color: #FFFFFF; -} - -/* Specific column styles */ -table.table1 .name { text-align: left; } -table.table1 .posts { text-align: center !important; width: 7%; } -table.table1 .joined { text-align: left; width: 15%; } -table.table1 .active { text-align: left; width: 15%; } -table.table1 .mark { text-align: center; width: 7%; } -table.table1 .info { text-align: left; width: 30%; } -table.table1 .info div { width: 100%; white-space: nowrap; overflow: hidden; } -table.table1 .autocol { line-height: 2em; white-space: nowrap; } -table.table1 thead .autocol { padding-left: 1em; } - -table.table1 span.rank-img { - float: right; - width: auto; -} - -table.info td { - padding: 3px; -} - -table.info tbody th { - padding: 3px; - text-align: right; - vertical-align: top; - color: #000000; - font-weight: normal; -} - -.forumbg table.table1 { - margin: 0 -2px -1px -1px; -} - -/* Misc layout styles ----------------------------------------- */ -/* column[1-2] styles are containers for two column layouts - Also see tweaks.css */ -.column1 { - float: left; - clear: left; - width: 49%; -} - -.column2 { - float: right; - clear: right; - width: 49%; -} - -/* General classes for placing floating blocks */ -.left-box { - float: left; - width: auto; - text-align: left; -} - -.right-box { - float: right; - width: auto; - text-align: right; -} - -dl.details { - /*font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;*/ - font-size: 1.1em; -} - -dl.details dt { - float: left; - width: 16em; - text-align: right; - color: #000000; - display: block; -} - -dl.details dd { - margin-left: 16em; - padding-left: 5px; - margin-bottom: 5px; - color: #828282; -} - -.sep { - color: #1198D9; -} - -/* Pagination ----------------------------------------- */ -.pagination { - height: 1%; /* IE tweak (holly hack) */ - width: auto; - text-align: right; - margin-top: 5px; - float: right; -} - -.pagination span.page-sep { - display:none; -} - -li.pagination { - margin-top: 0; -} - -.pagination strong, .pagination b { - font-weight: normal; -} - -.pagination span strong { - padding: 0 2px; - margin: 0 2px; - font-weight: normal; - color: #FFFFFF; - background-color: #bfbfbf; - border: 1px solid #bfbfbf; - font-size: 0.9em; -} - -.pagination span a, .pagination span a:link, .pagination span a:visited, .pagination span a:active { - font-weight: normal; - text-decoration: none; - color: #5C758C; - margin: 0 2px; - padding: 0 2px; - background-color: #eeeeee; - border: 1px solid #B4BAC0; - font-size: 0.9em; - line-height: 1.5em; -} - -.pagination span a:hover { - border-color: #d2d2d2; - background-color: #d2d2d2; - color: #FFF; - text-decoration: none; -} - -.pagination img { - vertical-align: middle; -} - -/* Pagination in viewforum for multipage topics */ -.row .pagination { - display: block; - float: right; - width: auto; - margin-top: 0; - padding: 1px 0 1px 15px; - font-size: 0.9em; - background: none 0 50% no-repeat; -} - -.row .pagination span a, li.pagination span a { - background-color: #FFFFFF; -} - -.row .pagination span a:hover, li.pagination span a:hover { - background-color: #d2d2d2; -} - -/* Miscellaneous styles ----------------------------------------- */ -#forum-permissions { - float: right; - width: auto; - padding-left: 5px; - margin-left: 5px; - margin-top: 10px; - text-align: right; -} - -.copyright { - padding: 5px; - text-align: center; - color: #555555; -} - -.small { - font-size: 0.9em !important; -} - -.titlespace { - margin-bottom: 15px; -} - -.headerspace { - margin-top: 20px; -} - -.error { - color: #bcbcbc; - font-weight: bold; - font-size: 1em; -} - -.reported { - background-color: #f7f7f7; -} - -li.reported:hover { - background-color: #ececec; -} - -div.rules { - background-color: #ececec; - color: #bcbcbc; - padding: 0 10px; - margin: 10px 0; - font-size: 1.1em; -} - -p.rules { - background-color: #ececec; - background-image: none; - padding: 5px; -} - -p.rules img { - vertical-align: middle; -} - -p.rules a { - vertical-align: middle; - clear: both; -} - -#top { - position: absolute; - top: -20px; -} - -.clear { - display: block; - clear: both; - font-size: 1px; - line-height: 1px; - background: transparent; -} -/* proSilver Link Styles ----------------------------------------- */ - -a:link { color: #898989; text-decoration: none; } -a:visited { color: #898989; text-decoration: none; } -a:hover { color: #d3d3d3; text-decoration: underline; } -a:active { color: #d2d2d2; text-decoration: none; } - -/* Coloured usernames */ -.username-coloured { - font-weight: bold; -} - -/* Links on gradient backgrounds */ -#search-box a:link, .navbg a:link, .forumbg .header a:link, .forabg .header a:link, th a:link { - color: #FFFFFF; - text-decoration: none; -} - -#search-box a:visited, .navbg a:visited, .forumbg .header a:visited, .forabg .header a:visited, th a:visited { - color: #FFFFFF; - text-decoration: none; -} - -#search-box a:hover, .navbg a:hover, .forumbg .header a:hover, .forabg .header a:hover, th a:hover { - color: #ffffff; - text-decoration: underline; -} - -#search-box a:active, .navbg a:active, .forumbg .header a:active, .forabg .header a:active, th a:active { - color: #ffffff; - text-decoration: none; -} - -/* Links for forum/topic lists */ -a.forumtitle { - font-family: "Trebuchet MS", Helvetica, Arial, Sans-serif; - font-size: 1.2em; - font-weight: bold; - color: #898989; - text-decoration: none; -} - -/* a.forumtitle:visited { color: #898989; } */ - -a.forumtitle:hover { - color: #bcbcbc; - text-decoration: underline; -} - -a.forumtitle:active { - color: #898989; -} - -a.topictitle { - font-family: "Trebuchet MS", Helvetica, Arial, Sans-serif; - font-size: 1.2em; - font-weight: bold; - color: #898989; - text-decoration: none; -} - -/* a.topictitle:visited { color: #d2d2d2; } */ - -a.topictitle:hover { - color: #bcbcbc; - text-decoration: underline; -} - -a.topictitle:active { - color: #898989; -} - -/* Post body links */ -.postlink { - text-decoration: none; - color: #d2d2d2; - border-bottom: 1px solid #d2d2d2; - padding-bottom: 0; -} - -.postlink:visited { - color: #bdbdbd; - border-bottom-style: dotted; - border-bottom-color: #666666; -} - -.postlink:active { - color: #d2d2d2; -} - -.postlink:hover { - background-color: #f6f6f6; - text-decoration: none; - color: #0D4473; -} - -.signature a, .signature a:visited, .signature a:active, .signature a:hover { - border: none; - text-decoration: underline; - background-color: transparent; -} - -/* Profile links */ -.postprofile a:link, .postprofile a:active, .postprofile a:visited, .postprofile dt.author a { - font-weight: bold; - color: #898989; - text-decoration: none; -} - -.postprofile a:hover, .postprofile dt.author a:hover { - text-decoration: underline; - color: #d3d3d3; -} - - -/* Profile searchresults */ -.search .postprofile a { - color: #898989; - text-decoration: none; - font-weight: normal; -} - -.search .postprofile a:hover { - color: #d3d3d3; - text-decoration: underline; -} - -/* Back to top of page */ -.back2top { - clear: both; - height: 11px; - text-align: right; -} - -a.top { - background: none no-repeat 50% 50%; - text-decoration: none; - width: 11px; - height: 11px; - display: block; - float: right; - overflow: hidden; - letter-spacing: 1000px; - text-indent: 11px; -} - -a.top2 { - background: none no-repeat 0 50%; - text-decoration: none; - padding-left: 15px; -} - -/* Arrow links */ -a.up { background: none no-repeat left center; } -a.down { background: none no-repeat right center; } -a.left { background: none no-repeat 3px 60%; } -a.right { background: none no-repeat 95% 60%; } - -a.up, a.up:link, a.up:active, a.up:visited { - padding-left: 10px; - text-decoration: none; - border-bottom-width: 0px; -} - -a.up:hover { - background-position: left top; - background-color: transparent; -} - -a.down, a.down:link, a.down:active, a.down:visited { - padding-right: 10px; -} - -a.down:hover { - background-position: right bottom; - text-decoration: none; -} - -a.left, a.left:active, a.left:visited { - padding-left: 12px; -} - -a.left:hover { - color: #d2d2d2; - text-decoration: none; - background-position: 0 60%; -} - -a.right, a.right:active, a.right:visited { - padding-right: 12px; -} - -a.right:hover { - color: #d2d2d2; - text-decoration: none; - background-position: 100% 60%; -} -/* proSilver Content Styles ----------------------------------------- */ - -ul.topiclist { - display: block; - list-style-type: none; - margin: 0; -} - -ul.forums { - background: #f9f9f9 none repeat-x 0 0; -} - -ul.topiclist li { - display: block; - list-style-type: none; - color: #777777; - margin: 0; -} - -ul.topiclist dl { - position: relative; -} - -ul.topiclist li.row dl { - padding: 2px 0; -} - -ul.topiclist dt { - display: block; - float: left; - width: 50%; - font-size: 1.1em; - padding-left: 5px; - padding-right: 5px; -} - -ul.topiclist dd { - display: block; - float: left; - border-left: 1px solid #FFFFFF; - padding: 4px 0; -} - -ul.topiclist dfn { - /* Labels for post/view counts */ - display: none; -} - -li.row { - border-top: 1px solid #FFFFFF; - border-bottom: 1px solid #8f8f8f; -} - -li.row strong { - font-weight: normal; - color: #000000; -} - -li.row:hover { - background-color: #f6f6f6; -} - -li.row:hover dd { - border-left-color: #CCCCCC; -} - -li.header dt, li.header dd { - line-height: 1em; - border-left-width: 0px; - margin: 2px 0 4px 0; - color: #FFFFFF; - padding-top: 2px; - padding-bottom: 2px; - font-size: 1em; - font-family: Arial, Helvetica, sans-serif; - text-transform: uppercase; -} - -li.header dt { - font-weight: bold; -} - -li.header dd { - margin-left: 1px; -} - -li.header dl.icon { - min-height: 0; -} - -li.header dl.icon dt { - /* Tweak for headers alignment when folder icon used */ - padding-left: 0; - padding-right: 44px; -} - -/* Forum list column styles */ -dl.icon { - min-height: 35px; - background-position: 10px 50%; /* Position of folder icon */ - background-repeat: no-repeat; -} - -dl.icon dt { - padding-left: 45px; /* Space for folder icon */ - background-repeat: no-repeat; - background-position: 27px 70%; /* Position of topic icon */ -} - -dd.posts, dd.topics, dd.views { - width: 8%; - text-align: center; - line-height: 2.2em; - font-size: 1.2em; -} - -dd.lastpost { - width: 25%; - font-size: 1.1em; -} - -dd.redirect { - font-size: 1.1em; - line-height: 2.5em; -} - -dd.moderation { - font-size: 1.1em; -} - -dd.lastpost span, ul.topiclist dd.searchby span, ul.topiclist dd.info span, ul.topiclist dd.time span, dd.redirect span, dd.moderation span { - display: block; - padding-left: 5px; -} - -dd.time { - width: auto; - line-height: 200%; - font-size: 1.1em; -} - -dd.extra { - width: 65px; - line-height: 200%; - text-align: center; - font-size: 1.1em; -} - -dd.mark { - float: right !important; - width: 40px; - text-align: center; - line-height: 200%; - font-size: 1.2em; -} - -dd.info { - width: 30%; -} - -dd.option { - width: 15%; - line-height: 200%; - text-align: center; - font-size: 1.1em; -} - -dd.searchby { - width: 47%; - font-size: 1.1em; - line-height: 1em; -} - -ul.topiclist dd.searchextra { - margin-left: 5px; - padding: 0.2em 0; - font-size: 1.1em; - color: #333333; - border-left: none; - clear: both; - width: 98%; - overflow: hidden; -} - -/* Container for post/reply buttons and pagination */ -.topic-actions { - margin-bottom: 3px; - font-size: 1.1em; - height: 28px; - min-height: 28px; -} -div[class].topic-actions { - height: auto; -} - -/* Post body styles -----------------------------------------*/ -.postbody { - padding: 0; - line-height: 1.48em; - color: #333333; - width: 76%; - float: left; - clear: both; -} - -.postbody .ignore { - font-size: 1.1em; -} - -.postbody h3.first { - /* The first post on the page uses this */ - font-size: 1.7em; -} - -.postbody h3 { - /* Postbody requires a different h3 format - so change it here */ - font-size: 1.5em; - padding: 2px 0 0 0; - margin: 0 0 0.3em 0 !important; - text-transform: none; - border: none; - font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif; - line-height: 125%; -} - -.postbody h3 img { - /* Also see tweaks.css */ - vertical-align: bottom; -} - -.postbody .content { - font-size: 1.3em; -} - -.search .postbody { - width: 68% -} - -/* Topic review panel -----------------------------------------*/ -#review { - margin-top: 2em; -} - -#topicreview { - padding-right: 5px; - overflow: auto; - height: 300px; -} - -#topicreview .postbody { - width: auto; - float: none; - margin: 0; - height: auto; -} - -#topicreview .post { - height: auto; -} - -#topicreview h2 { - border-bottom-width: 0px; -} - -/* Content container styles -----------------------------------------*/ -.content { - min-height: 3em; - overflow: hidden; - line-height: 1.4em; - font-family: "Lucida Grande", "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif; - font-size: 1em; - color: #333333; -} - -.content h2, .panel h2 { - font-weight: normal; - color: #989898; - border-bottom: 1px solid #CCCCCC; - font-size: 1.6em; - margin-top: 0.5em; - margin-bottom: 0.5em; - padding-bottom: 0.5em; -} - -.panel h3 { - margin: 0.5em 0; -} - -.panel p { - font-size: 1.2em; - margin-bottom: 1em; - line-height: 1.4em; -} - -.content p { - font-family: "Lucida Grande", "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif; - font-size: 1.2em; - margin-bottom: 1em; - line-height: 1.4em; -} - -dl.faq { - font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; - font-size: 1.1em; - margin-top: 1em; - margin-bottom: 2em; - line-height: 1.4em; -} - -dl.faq dt { - font-weight: bold; - color: #333333; -} - -.content dl.faq { - font-size: 1.2em; - margin-bottom: 0.5em; -} - -.content li { - list-style-type: inherit; -} - -.content ul, .content ol { - margin-bottom: 1em; - margin-left: 3em; -} - -.posthilit { - background-color: #f3f3f3; - color: #BCBCBC; - padding: 0 2px 1px 2px; -} - -.announce, .unreadpost { - /* Highlight the announcements & unread posts box */ - border-left-color: #BCBCBC; - border-right-color: #BCBCBC; -} - -/* Post author */ -p.author { - margin: 0 15em 0.6em 0; - padding: 0 0 5px 0; - font-family: Verdana, Helvetica, Arial, sans-serif; - font-size: 1em; - line-height: 1.2em; -} - -/* Post signature */ -.signature { - margin-top: 1.5em; - padding-top: 0.2em; - font-size: 1.1em; - border-top: 1px solid #CCCCCC; - clear: left; - line-height: 140%; - overflow: hidden; - width: 100%; -} - -dd .signature { - margin: 0; - padding: 0; - clear: none; - border: none; -} - -/* Post noticies */ -.notice { - font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; - width: auto; - margin-top: 1.5em; - padding-top: 0.2em; - font-size: 1em; - border-top: 1px dashed #CCCCCC; - clear: left; - line-height: 130%; -} - -/* Jump to post link for now */ -ul.searchresults { - list-style: none; - text-align: right; - clear: both; -} - -/* BB Code styles -----------------------------------------*/ -/* Quote block */ -blockquote { - /* Also see tweaks.css */ - margin: 1em 1px 1em 25px; - padding: 5px; - background: #ebebeb none 6px 8px no-repeat; - border:1px solid #dbdbdb; - font-size:0.95em; - margin:1em 1px 1em 25px; - overflow:hidden; - padding:5px; -} - -blockquote blockquote { - /* Nested quotes */ - background-color:#EFEED9; - font-size:1em; - margin:0.5em 1px 0pt 15px; -} - -blockquote blockquote blockquote { - /* Nested quotes */ - background-color: #EBEADD; -} - -blockquote cite { - /* Username/source of quoter */ - font-style: normal; - font-weight: bold; - margin-left: 20px; - display: block; - font-size: 0.9em; -} - -blockquote cite cite { - font-size: 1em; -} - -blockquote.uncited { - padding-top: 25px; -} - -/* Code block */ -dl.codebox { - padding: 3px; - background-color: #FFFFFF; - border: 1px solid #d8d8d8; - font-size: 1em; -} - -dl.codebox dt { - text-transform: uppercase; - border-bottom: 1px solid #CCCCCC; - margin-bottom: 3px; - font-size: 0.8em; - font-weight: bold; - display: block; -} - -blockquote dl.codebox { - margin-left: 0; -} - -dl.codebox code { - /* Also see tweaks.css */ - overflow: auto; - display: block; - height: auto; - max-height: 200px; - white-space: normal; - padding-top: 5px; - font: 0.9em Monaco, "Andale Mono","Courier New", Courier, mono; - line-height: 1.3em; - color: #8b8b8b; - margin: 2px 0; -} - -.syntaxbg { color: #FFFFFF; } -.syntaxcomment { color: #000000; } -.syntaxdefault { color: #bcbcbc; } -.syntaxhtml { color: #000000; } -.syntaxkeyword { color: #585858; } -.syntaxstring { color: #a7a7a7; } - -/* Attachments -----------------------------------------*/ -.attachbox { - float: left; - width: auto; - margin: 5px 5px 5px 0; - padding: 6px; - background-color: #FFFFFF; - border: 1px dashed #d8d8d8; - clear: left; -} - -.pm-message .attachbox { - background-color: #f3f3f3; -} - -.attachbox dt { - font-family: Arial, Helvetica, sans-serif; - text-transform: uppercase; -} - -.attachbox dd { - margin-top: 4px; - padding-top: 4px; - clear: left; - border-top: 1px solid #d8d8d8; -} - -.attachbox dd dd { - border: none; -} - -.attachbox p { - line-height: 110%; - color: #666666; - font-weight: normal; - clear: left; -} -.attachbox p.stats -{ - line-height: 110%; - color: #666666; - font-weight: normal; - clear: left; -} - -.attach-image { - margin: 3px 0; - width: 100%; - max-height: 350px; - overflow: auto; -} - -.attach-image img { - border: 1px solid #999999; - cursor: move; -} - -/* Inline image thumbnails */ -div.inline-attachment dl.thumbnail, div.inline-attachment dl.file { - display: block; - margin-bottom: 4px; -} - -dl.file { - font-family: Verdana, Arial, Helvetica, sans-serif; - display: block; -} - -dl.file dt { - text-transform: none; - margin: 0; - padding: 0; - font-weight: bold; - font-family: Verdana, Arial, Helvetica, sans-serif; -} - -dl.file dd { - color: #666666; - margin: 0; - padding: 0; -} - -dl.thumbnail img { - padding: 3px; - border: 1px solid #666666; - display: block; - background-color: #FFF; -} - -dl.thumbnail dd { - color: #666666; - font-style: italic; - font-family: Verdana, Arial, Helvetica, sans-serif; -} - -.attachbox dl.thumbnail dd { - font-size: 100%; -} - -dl.thumbnail dt a:hover { - background-color: #EEEEEE; -} - -dl.thumbnail dt a:hover img { - border: 1px solid #d2d2d2; -} - -/* Post poll styles -----------------------------------------*/ -fieldset.polls { - font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif; -} - -fieldset.polls dl { - margin-top: 5px; - border-top: 1px solid #e2e2e2; - padding: 5px 0 0 0; - line-height: 120%; - color: #666666; -} - -fieldset.polls dl.voted { - font-weight: bold; - color: #000000; -} - -fieldset.polls dt { - text-align: left; - float: left; - display: block; - width: 30%; - border-right: none; - padding: 0; - margin: 0; - font-size: 1.1em; -} - -fieldset.polls dd { - float: left; - width: 10%; - border-left: none; - padding: 0 5px; - margin-left: 0; - font-size: 1.1em; -} - -fieldset.polls dd.resultbar { - width: 50%; -} - -fieldset.polls dd input { - margin: 2px 0; -} - -fieldset.polls dd div { - text-align: right; - font-family: Arial, Helvetica, sans-serif; - color: #FFFFFF; - font-weight: bold; - padding: 0px 2px; - overflow: visible; - min-width: 2%; -} - -.pollbar1 { - background-color: #aaaaaa; - border-bottom: 1px solid #747474; - border-right: 1px solid #747474; -} - -.pollbar2 { - background-color: #bebebe; - border-bottom: 1px solid #8c8c8c; - border-right: 1px solid #8c8c8c; -} - -.pollbar3 { - background-color: #D1D1D1; - border-bottom: 1px solid #aaaaaa; - border-right: 1px solid #aaaaaa; -} - -.pollbar4 { - background-color: #e4e4e4; - border-bottom: 1px solid #bebebe; - border-right: 1px solid #bebebe; -} - -.pollbar5 { - background-color: #f8f8f8; - border-bottom: 1px solid #D1D1D1; - border-right: 1px solid #D1D1D1; -} - -/* Poster profile block -----------------------------------------*/ -.postprofile { - /* Also see tweaks.css */ - margin: 5px 0 10px 0; - min-height: 80px; - color: #666666; - border-left: 1px solid #FFFFFF; - width: 22%; - float: right; - display: inline; -} -.pm .postprofile { - border-left: 1px solid #DDDDDD; -} - -.postprofile dd, .postprofile dt { - line-height: 1.2em; - margin-left: 8px; -} - -.postprofile strong { - font-weight: normal; - color: #000000; -} - -.avatar { - border: none; - margin-bottom: 3px; -} - -.online { - background-image: none; - background-position: 100% 0; - background-repeat: no-repeat; -} - -/* Poster profile used by search*/ -.search .postprofile { - width: 30%; -} -/* proSilver Button Styles ----------------------------------------- */ - -/* Rollover buttons - Based on: http://wellstyled.com/css-nopreload-rollovers.html -----------------------------------------*/ -.buttons { - float: left; - width: auto; - height: auto; -} - -.rtl .button { - float: right; -} - -/* Rollover state */ -.buttons div { - float: left; - margin: 0 5px 0 0; - background-position: 0 100%; -} - -.rtl .button div { - float: right; - margin: 0 0 0 5px; -} - -/* Rolloff state */ -.buttons div a { - display: block; - width: 100%; - height: 100%; - background-position: 0 0; -} - -/* Hide text and hide off-state image when rolling over (prevents flicker in IE) */ -.buttons div span { display: none; } -.buttons div a:hover { background-image: none; } - -/* Big button images */ -.reply-icon, .reply-icon a { background: transparent none 0 0 no-repeat; } -.post-icon, .post-icon a { background: transparent none 0 0 no-repeat; } -.locked-icon, .locked-icon a { background: transparent none 0 0 no-repeat; } -.pmreply-icon, .pmreply-icon a { background: none 0 0 no-repeat; } -.newpm-icon, .newpm-icon a { background: none 0 0 no-repeat; } -.forwardpm-icon, .forwardpm-icon a { background: none 0 0 no-repeat; } - -/* Set big button dimensions */ -.buttons div.reply-icon { width: {IMG_BUTTON_TOPIC_REPLY_WIDTH}px; height: {IMG_BUTTON_TOPIC_REPLY_HEIGHT}px; } -.buttons div.post-icon { width: {IMG_BUTTON_TOPIC_NEW_WIDTH}px; height: {IMG_BUTTON_TOPIC_NEW_HEIGHT}px; } -.buttons div.locked-icon { width: {IMG_BUTTON_TOPIC_LOCKED_WIDTH}px; height: {IMG_BUTTON_TOPIC_LOCKED_HEIGHT}px; } -.buttons div.pmreply-icon { width: {IMG_BUTTON_PM_REPLY_WIDTH}px; height: {IMG_BUTTON_PM_REPLY_HEIGHT}px; } -.buttons div.newpm-icon { width: {IMG_BUTTON_PM_NEW_WIDTH}px; height: {IMG_BUTTON_PM_NEW_HEIGHT}px; } -.buttons div.forwardpm-icon { width: {IMG_BUTTON_PM_FORWARD_WIDTH}px; height: {IMG_BUTTON_PM_FORWARD_HEIGHT}px; } - -/* Sub-header (navigation bar) ---------------------------------------------- */ -a.print, a.sendemail, a.fontsize { - display: block; - overflow: hidden; - height: 18px; - text-indent: -5000px; - text-align: left; - background-repeat: no-repeat; -} - -a.print { - background-image: none; - width: 22px; -} - -a.sendemail { - background-image: none; - width: 22px; -} - -a.sendemail:hover { - background-position: 0px -18px; -} - -a.fontsize { - background-image: none; - background-position: 0 -1px; - width: 29px; -} - -a.fontsize:hover { - background-position: 0px -20px; - text-decoration: none; -} - -/* Icon images ----------------------------------------- */ -.sitehome, .icon-faq, .icon-members, .icon-home, .icon-ucp, .icon-register, .icon-logout, -.icon-bookmark, .icon-bump, .icon-subscribe, .icon-unsubscribe, .icon-pages, .icon-search{ - background-position: 0 50%; - background-repeat: no-repeat; - background-image: none; - padding: 1px 0 0 17px; -} - -.rtl .sitehome, .rtl .icon-faq, .rtl .icon-members, .rtl .icon-home, .rtl .icon-ucp, .rtl .icon-register, .rtl .icon-logout, -.rtl .icon-bookmark, .rtl .icon-bump, .rtl .icon-subscribe, .rtl .icon-unsubscribe, .rtl .icon-pages, .rtl .icon-search{ - background-position: 100% 50%; - padding: 1px 17px 0 0; -} - -/* Poster profile icons -----------------------------------------*/ -ul.profile-icons { - padding-top: 10px; - list-style: none; -} - -/* Rollover state */ -ul.profile-icons li { - float: left; - margin: 0 6px 3px 0; - background-position: 0 100%; -} - -.rtl ul.profile-icons li { - margin: 0 0 3px 6px; -} - -/* Rolloff state */ -ul.profile-icons li a { - display: block; - width: 100%; - height: 100%; - background-position: 0 0; -} - -/* Hide text and hide off-state image when rolling over (prevents flicker in IE) */ -ul.profile-icons li span { display:none; } -ul.profile-icons li a:hover { background: none; } - -/* Positioning of moderator icons */ -.postbody ul.profile-icons { - float: right; - width: auto; - padding: 0; -} - -.postbody ul.profile-icons li { - margin: 0 3px; -} - -/* Profile & navigation icons */ -.email-icon, .email-icon a { background: none top left no-repeat; } -.aim-icon, .aim-icon a { background: none top left no-repeat; } -.yahoo-icon, .yahoo-icon a { background: none top left no-repeat; } -.web-icon, .web-icon a { background: none top left no-repeat; } -.msnm-icon, .msnm-icon a { background: none top left no-repeat; } -.icq-icon, .icq-icon a { background: none top left no-repeat; } -.jabber-icon, .jabber-icon a { background: none top left no-repeat; } -.pm-icon, .pm-icon a { background: none top left no-repeat; } -.quote-icon, .quote-icon a { background: none top left no-repeat; } - -/* Moderator icons */ -.report-icon, .report-icon a { background: none top left no-repeat; } -.warn-icon, .warn-icon a { background: none top left no-repeat; } -.edit-icon, .edit-icon a { background: none top left no-repeat; } -.delete-icon, .delete-icon a { background: none top left no-repeat; } -.info-icon, .info-icon a { background: none top left no-repeat; } - -/* Set profile icon dimensions */ -ul.profile-icons li.email-icon { width: {IMG_ICON_CONTACT_EMAIL_WIDTH}px; height: {IMG_ICON_CONTACT_EMAIL_HEIGHT}px; } -ul.profile-icons li.aim-icon { width: {IMG_ICON_CONTACT_AIM_WIDTH}px; height: {IMG_ICON_CONTACT_AIM_HEIGHT}px; } -ul.profile-icons li.yahoo-icon { width: {IMG_ICON_CONTACT_YAHOO_WIDTH}px; height: {IMG_ICON_CONTACT_YAHOO_HEIGHT}px; } -ul.profile-icons li.web-icon { width: {IMG_ICON_CONTACT_WWW_WIDTH}px; height: {IMG_ICON_CONTACT_WWW_HEIGHT}px; } -ul.profile-icons li.msnm-icon { width: {IMG_ICON_CONTACT_MSNM_WIDTH}px; height: {IMG_ICON_CONTACT_MSNM_HEIGHT}px; } -ul.profile-icons li.icq-icon { width: {IMG_ICON_CONTACT_ICQ_WIDTH}px; height: {IMG_ICON_CONTACT_ICQ_HEIGHT}px; } -ul.profile-icons li.jabber-icon { width: {IMG_ICON_CONTACT_JABBER_WIDTH}px; height: {IMG_ICON_CONTACT_JABBER_HEIGHT}px; } -ul.profile-icons li.pm-icon { width: {IMG_ICON_CONTACT_PM_WIDTH}px; height: {IMG_ICON_CONTACT_PM_HEIGHT}px; } -ul.profile-icons li.quote-icon { width: {IMG_ICON_POST_QUOTE_WIDTH}px; height: {IMG_ICON_POST_QUOTE_HEIGHT}px; } -ul.profile-icons li.report-icon { width: {IMG_ICON_POST_REPORT_WIDTH}px; height: {IMG_ICON_POST_REPORT_HEIGHT}px; } -ul.profile-icons li.edit-icon { width: {IMG_ICON_POST_EDIT_WIDTH}px; height: {IMG_ICON_POST_EDIT_HEIGHT}px; } -ul.profile-icons li.delete-icon { width: {IMG_ICON_POST_DELETE_WIDTH}px; height: {IMG_ICON_POST_DELETE_HEIGHT}px; } -ul.profile-icons li.info-icon { width: {IMG_ICON_POST_INFO_WIDTH}px; height: {IMG_ICON_POST_INFO_HEIGHT}px; } -ul.profile-icons li.warn-icon { width: {IMG_ICON_USER_WARN_WIDTH}px; height: {IMG_ICON_USER_WARN_HEIGHT}px; } - -/* Fix profile icon default margins */ -ul.profile-icons li.edit-icon { margin: 0 0 0 3px; } -ul.profile-icons li.quote-icon { margin: 0 0 0 10px; } -ul.profile-icons li.info-icon, ul.profile-icons li.report-icon { margin: 0 3px 0 0; } - -.rtl ul.profile-icons li.edit-icon { margin: 0 3px 0 0; } -.rtl ul.profile-icons li.quote-icon { margin: 0 10px 0 0; } -.rtl ul.profile-icons li.info-icon, .rtl ul.profile-icons li.report-icon { margin: 0 0 0 3px; } -/* proSilver Control Panel Styles ----------------------------------------- */ - - -/* Main CP box -----------------------------------------*/ -#cp-menu { - float:left; - width: 19%; - margin-top: 1em; - margin-bottom: 5px; -} - -#cp-main { - float: left; - width: 81%; -} - -#cp-main .content { - padding: 0; -} - -#cp-main h3, #cp-main hr, #cp-menu hr { - border-color: #bfbfbf; -} - -#cp-main .panel p { - font-size: 1.1em; -} - -#cp-main .panel ol { - margin-left: 2em; - font-size: 1.1em; -} - -#cp-main .panel li.row { - border-bottom: 1px solid #cbcbcb; - border-top: 1px solid #F9F9F9; -} - -ul.cplist { - margin-bottom: 5px; - border-top: 1px solid #cbcbcb; -} - -#cp-main .panel li.header dd, #cp-main .panel li.header dt { - color: #000000; - margin-bottom: 2px; -} - -#cp-main table.table1 { - margin-bottom: 1em; -} - -#cp-main table.table1 thead th { - color: #333333; - font-weight: bold; - border-bottom: 1px solid #333333; - padding: 5px; -} - -#cp-main table.table1 tbody th { - font-style: italic; - background-color: transparent !important; - border-bottom: none; -} - -#cp-main .pagination { - float: right; - width: auto; - padding-top: 1px; -} - -#cp-main .postbody p { - font-size: 1.1em; -} - -#cp-main .pm-message { - border: 1px solid #e2e2e2; - margin: 10px 0; - background-color: #FFFFFF; - width: auto; - float: none; -} - -.pm-message h2 { - padding-bottom: 5px; -} - -#cp-main .postbody h3, #cp-main .box2 h3 { - margin-top: 0; -} - -#cp-main .buttons { - margin-left: 0px; -} - -#cp-main ul.linklist { - margin: 0; -} - -/* MCP Specific tweaks */ -.mcp-main .postbody { - width: 100%; -} - -/* CP tabbed menu -----------------------------------------*/ -#tabs { - line-height: normal; - margin: 20px 0 -1px 7px; - min-width: 570px; -} - -#tabs ul { - margin:0; - padding: 0; - list-style: none; -} - -#tabs li { - display: inline; - margin: 0; - padding: 0; - font-size: 1em; - font-weight: bold; -} - -#tabs a { - float: left; - background: none no-repeat 0% -35px; - margin: 0 1px 0 0; - padding: 0 0 0 5px; - text-decoration: none; - position: relative; -} - -#tabs a span { - float: left; - display: block; - background: none no-repeat 100% -35px; - padding: 6px 10px 6px 5px; - color: #828282; - white-space: nowrap; -} - -#tabs a:hover span { - color: #bcbcbc; -} - -#tabs .activetab a { - background-position: 0 0; - border-bottom: 1px solid #ebebeb; -} - -#tabs .activetab a span { - background-position: 100% 0; - padding-bottom: 7px; - color: #333333; -} - -#tabs a:hover { - background-position: 0 -70px; -} - -#tabs a:hover span { - background-position:100% -70px; -} - -#tabs .activetab a:hover { - background-position: 0 0; -} - -#tabs .activetab a:hover span { - color: #000000; - background-position: 100% 0; -} - -/* Mini tabbed menu used in MCP -----------------------------------------*/ -#minitabs { - line-height: normal; - margin: -20px 7px 0 0; -} - -#minitabs ul { - margin:0; - padding: 0; - list-style: none; -} - -#minitabs li { - display: block; - float: right; - padding: 0 10px 4px 10px; - font-size: 1em; - font-weight: bold; - background-color: #f2f2f2; - margin-left: 2px; -} - -#minitabs a { -} - -#minitabs a:hover { - text-decoration: none; -} - -#minitabs li.activetab { - background-color: #F9F9F9; -} - -#minitabs li.activetab a, #minitabs li.activetab a:hover { - color: #333333; -} - -/* UCP navigation menu -----------------------------------------*/ -/* Container for sub-navigation list */ -#navigation { - width: 100%; - padding-top: 36px; -} - -#navigation ul { - list-style:none; -} - -/* Default list state */ -#navigation li { - margin: 1px 0; - padding: 0; - font-weight: bold; - display: inline; -} - -/* Link styles for the sub-section links */ -#navigation a { - display: block; - padding: 5px; - margin: 1px 0; - text-decoration: none; - font-weight: bold; - color: #333; - background: #cfcfcf none repeat-y 100% 0; -} - -#navigation a:hover { - text-decoration: none; - background-color: #c6c6c6; - color: #bcbcbc; - background-image: none; -} - -#navigation #active-subsection a { - display: block; - color: #d3d3d3; - background-color: #F9F9F9; - background-image: none; -} - -#navigation #active-subsection a:hover { - color: #d3d3d3; -} - -/* Preferences pane layout -----------------------------------------*/ -#cp-main h2 { - border-bottom: none; - padding: 0; - margin-left: 10px; - color: #333333; -} - -#cp-main .panel { - background-color: #F9F9F9; -} - -#cp-main .pm { - background-color: #FFFFFF; -} - -#cp-main span.corners-top, #cp-menu span.corners-top { - background-image: none; -} - -#cp-main span.corners-top span, #cp-menu span.corners-top span { - background-image: none; -} - -#cp-main span.corners-bottom, #cp-menu span.corners-bottom { - background-image: none; -} - -#cp-main span.corners-bottom span, #cp-menu span.corners-bottom span { - background-image: none; -} - -/* Topicreview */ -#cp-main .panel #topicreview span.corners-top, #cp-menu .panel #topicreview span.corners-top { - background-image: none; -} - -#cp-main .panel #topicreview span.corners-top span, #cp-menu .panel #topicreview span.corners-top span { - background-image: none; -} - -#cp-main .panel #topicreview span.corners-bottom, #cp-menu .panel #topicreview span.corners-bottom { - background-image: none; -} - -#cp-main .panel #topicreview span.corners-bottom span, #cp-menu .panel #topicreview span.corners-bottom span { - background-image: none; -} - -/* Friends list */ -.cp-mini { - background-color: #f9f9f9; - padding: 0 5px; - margin: 10px 15px 10px 5px; -} - -.cp-mini span.corners-top, .cp-mini span.corners-bottom { - margin: 0 -5px; -} - -dl.mini dt { - font-weight: bold; - color: #676767; -} - -dl.mini dd { - padding-top: 4px; -} - -.friend-online { - font-weight: bold; -} - -.friend-offline { - font-style: italic; -} - -/* PM Styles -----------------------------------------*/ -#pm-menu { - line-height: 2.5em; -} - -/* PM Message history */ -.current { - color: #999999; -} - -/* Defined rules list for PM options */ -ol.def-rules { - padding-left: 0; -} - -ol.def-rules li { - line-height: 180%; - padding: 1px; -} - -/* PM marking colours */ -.pmlist li.bg1 { - border: solid 3px transparent; - border-width: 0 3px; -} - -.pmlist li.bg2 { - border: solid 3px transparent; - border-width: 0 3px; -} - -.pmlist li.pm_message_reported_colour, .pm_message_reported_colour { - border-left-color: #bcbcbc; - border-right-color: #bcbcbc; -} - -.pmlist li.pm_marked_colour, .pm_marked_colour { - border: solid 3px #ffffff; - border-width: 0 3px; -} - -.pmlist li.pm_replied_colour, .pm_replied_colour { - border: solid 3px #c2c2c2; - border-width: 0 3px; -} - -.pmlist li.pm_friend_colour, .pm_friend_colour { - border: solid 3px #bdbdbd; - border-width: 0 3px; -} - -.pmlist li.pm_foe_colour, .pm_foe_colour { - border: solid 3px #000000; - border-width: 0 3px; -} - -.pm-legend { - border-left-width: 10px; - border-left-style: solid; - border-right-width: 0px; - margin-bottom: 3px; - padding-left: 3px; -} - -/* Avatar gallery */ -#gallery label { - position: relative; - float: left; - margin: 10px; - padding: 5px; - width: auto; - background: #FFFFFF; - border: 1px solid #CCC; - text-align: center; -} - -#gallery label:hover { - background-color: #EEE; -} -/* proSilver Form Styles ----------------------------------------- */ - -/* General form styles -----------------------------------------*/ -fieldset { - border-width: 0px; - font-family: Verdana, Helvetica, Arial, sans-serif; - font-size: 1.1em; -} - -input { - font-weight: normal; - cursor: pointer; - vertical-align: middle; - padding: 0 3px; - font-size: 1em; - font-family: Verdana, Helvetica, Arial, sans-serif; -} - -select { - font-family: Verdana, Helvetica, Arial, sans-serif; - font-weight: normal; - cursor: pointer; - vertical-align: middle; - border: 1px solid #666666; - padding: 1px; - background-color: #FAFAFA; -} - -option { - padding-right: 1em; -} - -textarea { - font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; - width: 60%; - padding: 2px; - font-size: 1em; - line-height: 1.4em; -} - -label { - cursor: default; - padding-right: 5px; - color: #676767; -} - -label input { - vertical-align: middle; -} - -label img { - vertical-align: middle; -} - -/* Definition list layout for forms ----------------------------------------- */ -fieldset dl { - padding: 4px 0; -} - -fieldset dt { - float: left; - width: 40%; - text-align: left; - display: block; -} - -fieldset dd { - margin-left: 41%; - vertical-align: top; - margin-bottom: 3px; -} - -/* Specific layout 1 */ -fieldset.fields1 dt { - width: 10em; - border-right-width: 0px; -} - -fieldset.fields1 dd { - margin-left: 10em; - border-left-width: 0px; -} - -fieldset.fields1 { - background-color: transparent; -} - -fieldset.fields1 div { - margin-bottom: 3px; -} - -/* Specific layout 2 */ -fieldset.fields2 dt { - width: 15em; - border-right-width: 0px; -} - -fieldset.fields2 dd { - margin-left: 16em; - border-left-width: 0px; -} - -/* Form elements */ -dt label { - font-weight: bold; - text-align: left; -} - -dd label { - white-space: nowrap; - color: #333; -} - -dd input, dd textarea { - margin-right: 3px; -} - -dd select { - width: auto; -} - -dd textarea { - width: 85%; -} - -/* Hover effects */ -fieldset dl:hover dt label { - color: #000000; -} - -fieldset.fields2 dl:hover dt label { - color: inherit; -} - -#timezone { - width: 95%; -} - -* html #timezone { - width: 50%; -} - -/* Quick-login on index page */ -fieldset.quick-login { - margin-top: 5px; -} - -fieldset.quick-login input { - width: 15%; - vertical-align: middle; - margin-right: 5px; - background-color: #f3f3f3; -} - -fieldset.quick-login label { - white-space: nowrap; - padding-right: 2px; -} - -/* Display options on viewtopic/viewforum pages */ -fieldset.display-options { - text-align: center; - margin: 3px 0 5px 0; -} - -fieldset.display-options label { - white-space: nowrap; - padding-right: 2px; -} - -fieldset.display-options a { - margin-top: 3px; -} - -/* Display actions for ucp and mcp pages */ -fieldset.display-actions { - text-align: right; - line-height: 2em; - white-space: nowrap; - padding-right: 1em; -} - -fieldset.display-actions label { - white-space: nowrap; - padding-right: 2px; -} - -fieldset.sort-options { - line-height: 2em; -} - -/* MCP forum selection*/ -fieldset.forum-selection { - margin: 5px 0 3px 0; - float: right; -} - -fieldset.forum-selection2 { - margin: 13px 0 3px 0; - float: right; -} - -/* Jumpbox */ -fieldset.jumpbox { - text-align: right; - margin-top: 15px; - height: 2.5em; -} - -fieldset.quickmod { - width: 50%; - float: right; - text-align: right; - height: 2.5em; -} - -/* Submit button fieldset */ -fieldset.submit-buttons { - text-align: center; - vertical-align: middle; - margin: 5px 0; -} - -fieldset.submit-buttons input { - vertical-align: middle; - padding-top: 3px; - padding-bottom: 3px; -} - -/* Posting page styles -----------------------------------------*/ - -/* Buttons used in the editor */ -#format-buttons { - margin: 15px 0 2px 0; -} - -#format-buttons input, #format-buttons select { - vertical-align: middle; -} - -/* Main message box */ -#message-box { - width: 80%; -} - -#message-box textarea { - font-family: "Trebuchet MS", Verdana, Helvetica, Arial, sans-serif; - width: 100%; - font-size: 1.2em; - color: #333333; -} - -/* Emoticons panel */ -#smiley-box { - width: 18%; - float: right; -} - -#smiley-box img { - margin: 3px; -} - -/* Input field styles ----------------------------------------- */ -.inputbox { - background-color: #FFFFFF; - border: 1px solid #c0c0c0; - color: #333333; - padding: 2px; - cursor: text; -} - -.inputbox:hover { - border: 1px solid #eaeaea; -} - -.inputbox:focus { - border: 1px solid #eaeaea; - color: #0F4987; -} - -input.checkbox { - width: auto !important; - background-color: transparent !important; -} - -input.inputbox { width: 85%; } -input.medium { width: 50%; } -input.narrow { width: 25%; } -input.tiny { width: 110px; } - -textarea.inputbox { - width: 85%; -} - -.autowidth { - width: auto !important; -} - -/* Form button styles ----------------------------------------- */ -input.button1, input.button2 { - font-size: 1em; -} - -a.button1, input.button1, input.button3, a.button2, input.button2 { - width: auto !important; - padding-top: 1px; - padding-bottom: 1px; - font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; - color: #000; - background: #FAFAFA none repeat-x top; -} - -a.button1, input.button1 { - font-weight: bold; - border: 1px solid #666666; -} - -input.button3 { - padding: 0; - margin: 0; - line-height: 5px; - height: 12px; - background-image: none; - font-variant: small-caps; -} - -/* Alternative button */ -a.button2, input.button2, input.button3 { - border: 1px solid #666666; -} - -/* button in the style of the form buttons */ -a.button1, a.button1:link, a.button1:visited, a.button1:active, a.button2, a.button2:link, a.button2:visited, a.button2:active { - text-decoration: none; - color: #000000; - padding: 2px 8px; - line-height: 250%; - vertical-align: text-bottom; - background-position: 0 1px; -} - -/* Hover states */ -a.button1:hover, input.button1:hover, a.button2:hover, input.button2:hover, input.button3:hover { - border: 1px solid #BCBCBC; - background-position: 0 100%; - color: #BCBCBC; -} - -/* Topic and forum Search */ -.search-box { - margin-top: 3px; - margin-left: 5px; - float: left; -} - -.search-box input { -} - -input.search { - background-image: none; - background-repeat: no-repeat; - background-position: left 1px; - padding-left: 17px; -} -/* proSilver Style Sheet Tweaks - -These style definitions are mainly IE specific -tweaks required due to its poor CSS support. --------------------------------------------------*/ - -* html table, * html select, * html input { font-size: 100%; } -* html hr { margin: 0; } -* html span.corners-top, * html span.corners-bottom { background-image: url("{T_THEME_PATH}/images/corners_left.gif"); } -* html span.corners-top span, * html span.corners-bottom span { background-image: url("{T_THEME_PATH}/images/corners_right.gif"); } - -table.table1 { - width: 99%; /* IE < 6 browsers */ - /* Tantek hack */ - voice-family: "\"}\""; - voice-family: inherit; - width: 100%; -} -html>body table.table1 { width: 100%; } /* Reset 100% for opera */ - -* html ul.topiclist li { position: relative; } -* html .postbody h3 img { vertical-align: middle; } - -/* Form styles */ -html>body dd label input { vertical-align: text-bottom; } /* Align checkboxes/radio buttons nicely */ - -* html input.button1, * html input.button2 { - padding-bottom: 0; - margin-bottom: 1px; -} - -/* Misc layout styles */ -* html .column1, * html .column2 { width: 45%; } - -/* Nice method for clearing floated blocks without having to insert any extra markup (like spacer above) - From http://www.positioniseverything.net/easyclearing.html */ -#tabs:after, #minitabs:after, .post:after, .navbar:after, fieldset dl:after, ul.topiclist dl:after, ul.linklist:after, dl.polls:after { - content: "."; - display: block; - height: 0; - clear: both; - visibility: hidden; -} - -#tabs, #minitabs, .post, .navbar, fieldset dl, ul.topiclist dl, ul.linklist, dl.polls { - height: 1%; -} - -/* Simple fix so forum and topic lists always have a min-height set, even in IE6 - From http://www.dustindiaz.com/min-height-fast-hack */ -dl.icon { - min-height: 35px; - height: auto !important; - height: 35px; -} -/* --------------------------------------------------------------- -Colours and backgrounds for common.css --------------------------------------------------------------- */ - -body { - color: #536482; - background-color: #FFFFFF; -} - -h1 { - color: #FFFFFF; -} - -h2 { - color: #28313F; -} - -h3 { - border-bottom-color: #CCCCCC; - color: #115098; -} - -hr { - border-color: #FFFFFF; - border-top-color: #CCCCCC; -} - -hr.dashed { - border-top-color: #CCCCCC; -} - -/* Search box ---------------------------------------------- */ - -#search-box { - color: #FFFFFF; -} - -#search-box #keywords { - background-color: #FFF; -} - -#search-box input { - border-color: #0075B0; -} - -/* Round cornered boxes and backgrounds ----------------------------------------- */ -.headerbar { - background-color: #12A3EB; - background-image: url("{T_THEME_PATH}/images/bg_header.gif"); - color: #FFFFFF; -} - -.navbar { - background-color: #cadceb; -} - -.forabg { - background-color: #0076b1; - background-image: url("{T_THEME_PATH}/images/bg_list.gif"); -} - -.forumbg { - background-color: #12A3EB; - background-image: url("{T_THEME_PATH}/images/bg_header.gif"); -} - -.panel { - background-color: #ECF1F3; - color: #28313F; -} - -.post:target .content { - color: #000000; -} - -.post:target h3 a { - color: #000000; -} - -.bg1 { background-color: #ECF3F7; } -.bg2 { background-color: #e1ebf2; } -.bg3 { background-color: #cadceb; } - -.ucprowbg { - background-color: #DCDEE2; -} - -.fieldsbg { - background-color: #E7E8EA; -} - -span.corners-top { - background-image: url("{T_THEME_PATH}/images/corners_left.png"); -} - -span.corners-top span { - background-image: url("{T_THEME_PATH}/images/corners_right.png"); -} - -span.corners-bottom { - background-image: url("{T_THEME_PATH}/images/corners_left.png"); -} - -span.corners-bottom span { - background-image: url("{T_THEME_PATH}/images/corners_right.png"); -} - -/* Horizontal lists -----------------------------------------*/ - -ul.navlinks { - border-bottom-color: #FFFFFF; -} - -/* Table styles -----------------------------------------*/ -table.table1 thead th { - color: #FFFFFF; -} - -table.table1 tbody tr { - border-color: #BFC1CF; -} - -table.table1 tbody tr:hover, table.table1 tbody tr.hover { - background-color: #CFE1F6; - color: #000; -} - -table.table1 td { - color: #536482; -} - -table.table1 tbody td { - border-top-color: #FAFAFA; -} - -table.table1 tbody th { - border-bottom-color: #000000; - color: #333333; - background-color: #FFFFFF; -} - -table.info tbody th { - color: #000000; -} - -/* Misc layout styles ----------------------------------------- */ -dl.details dt { - color: #000000; -} - -dl.details dd { - color: #536482; -} - -/* Pagination ----------------------------------------- */ - -.pagination span strong { - color: #FFFFFF; - background-color: #4692BF; - border-color: #4692BF; -} - -.pagination span a, .pagination span a:link, .pagination span a:visited, .pagination span a:active { - color: #5C758C; - background-color: #ECEDEE; - border-color: #B4BAC0; -} - -.pagination span a:hover { - border-color: #368AD2; - background-color: #368AD2; - color: #FFF; -} - -/* Pagination in viewforum for multipage topics */ -.row .pagination { - background-image: url("{T_THEME_PATH}/images/icon_pages.gif"); -} - -.row .pagination span a, li.pagination span a { - background-color: #FFFFFF; -} - -.row .pagination span a:hover, li.pagination span a:hover { - background-color: #368AD2; -} - -/* Miscellaneous styles ----------------------------------------- */ - -.copyright { - color: #555555; -} - -.error { - color: #BC2A4D; -} - -.reported { - background-color: #F7ECEF; -} - -li.reported:hover { - background-color: #ECD5D8 !important; -} -.sticky, .announce { - /* you can add a background for stickies and announcements*/ -} - -div.rules { - background-color: #ECD5D8; - color: #BC2A4D; -} - -p.rules { - background-color: #ECD5D8; - background-image: none; -} - -/* --------------------------------------------------------------- -Colours and backgrounds for links.css --------------------------------------------------------------- */ - -a:link { color: #105289; } -a:visited { color: #105289; } -a:hover { color: #D31141; } -a:active { color: #368AD2; } - -/* Links on gradient backgrounds */ -#search-box a:link, .navbg a:link, .forumbg .header a:link, .forabg .header a:link, th a:link { - color: #FFFFFF; -} - -#search-box a:visited, .navbg a:visited, .forumbg .header a:visited, .forabg .header a:visited, th a:visited { - color: #FFFFFF; -} - -#search-box a:hover, .navbg a:hover, .forumbg .header a:hover, .forabg .header a:hover, th a:hover { - color: #A8D8FF; -} - -#search-box a:active, .navbg a:active, .forumbg .header a:active, .forabg .header a:active, th a:active { - color: #C8E6FF; -} - -/* Links for forum/topic lists */ -a.forumtitle { - color: #105289; -} - -/* a.forumtitle:visited { color: #105289; } */ - -a.forumtitle:hover { - color: #BC2A4D; -} - -a.forumtitle:active { - color: #105289; -} - -a.topictitle { - color: #105289; -} - -/* a.topictitle:visited { color: #368AD2; } */ - -a.topictitle:hover { - color: #BC2A4D; -} - -a.topictitle:active { - color: #105289; -} - -/* Post body links */ -.postlink { - color: #368AD2; - border-bottom-color: #368AD2; -} - -.postlink:visited { - color: #5D8FBD; - border-bottom-color: #666666; -} - -.postlink:active { - color: #368AD2; -} - -.postlink:hover { - background-color: #D0E4F6; - color: #0D4473; -} - -.signature a, .signature a:visited, .signature a:active, .signature a:hover { - background-color: transparent; -} - -/* Profile links */ -.postprofile a:link, .postprofile a:active, .postprofile a:visited, .postprofile dt.author a { - color: #105289; -} - -.postprofile a:hover, .postprofile dt.author a:hover { - color: #D31141; -} - -/* Profile searchresults */ -.search .postprofile a { - color: #105289; -} - -.search .postprofile a:hover { - color: #D31141; -} - -/* Back to top of page */ -a.top { - background-image: url("{T_THEME_PATH}/images/top.gif"); -} - -a.top2 { - background-image: url("{T_THEME_PATH}/images/top.gif"); -} - -/* Arrow links */ -a.up { background-image: url("{T_THEME_PATH}/images/arrow_up.gif") } -a.down { background-image: url("{T_THEME_PATH}/images/arrow_down.gif") } -a.left { background-image: url("{T_THEME_PATH}/images/arrow_left.gif") } -a.right { background-image: url("{T_THEME_PATH}/images/arrow_right.gif") } - -a.up:hover { - background-color: transparent; -} - -a.left:hover { - color: #368AD2; -} - -a.right:hover { - color: #368AD2; -} - - -/* --------------------------------------------------------------- -Colours and backgrounds for content.css --------------------------------------------------------------- */ - -ul.forums { - background-color: #eef5f9; - background-image: url("{T_THEME_PATH}/images/gradient.gif"); -} - -ul.topiclist li { - color: #4C5D77; -} - -ul.topiclist dd { - border-left-color: #FFFFFF; -} - -li.row { - border-top-color: #FFFFFF; - border-bottom-color: #00608F; -} - -li.row strong { - color: #000000; -} - -li.row:hover { - background-color: #F6F4D0; -} - -li.row:hover dd { - border-left-color: #CCCCCC; -} - -li.header dt, li.header dd { - color: #FFFFFF; -} - -/* Forum list column styles */ -ul.topiclist dd.searchextra { - color: #333333; -} - -/* Post body styles -----------------------------------------*/ -.postbody { - color: #333333; -} - -/* Content container styles -----------------------------------------*/ -.content { - color: #333333; -} - -.content h2, .panel h2 { - color: #115098; - border-bottom-color: #CCCCCC; -} - -dl.faq dt { - color: #333333; -} - -.posthilit { - background-color: #F3BFCC; - color: #BC2A4D; -} - -.announce, .unreadpost { - /* Highlight the announcements & unread posts box */ - border-left-color: #BC2A4D; - border-right-color: #BC2A4D; -} - -/* Post signature */ -.signature { - border-top-color: #CCCCCC; -} - -/* Post noticies */ -.notice { - border-top-color: #CCCCCC; -} - -/* BB Code styles -----------------------------------------*/ -/* Quote block */ -blockquote { - background-color: #EBEADD; - background-image: url("{T_THEME_PATH}/images/quote.gif"); - border-color:#DBDBCE; -} - -blockquote blockquote { - /* Nested quotes */ - background-color:#EFEED9; -} - -blockquote blockquote blockquote { - /* Nested quotes */ - background-color: #EBEADD; -} - -/* Code block */ -dl.codebox { - background-color: #FFFFFF; - border-color: #C9D2D8; -} - -dl.codebox dt { - border-bottom-color: #CCCCCC; -} - -dl.codebox code { - color: #2E8B57; -} - -.syntaxbg { color: #FFFFFF; } -.syntaxcomment { color: #FF8000; } -.syntaxdefault { color: #0000BB; } -.syntaxhtml { color: #000000; } -.syntaxkeyword { color: #007700; } -.syntaxstring { color: #DD0000; } - -/* Attachments -----------------------------------------*/ -.attachbox { - background-color: #FFFFFF; - border-color: #C9D2D8; -} - -.pm-message .attachbox { - background-color: #F2F3F3; -} - -.attachbox dd { - border-top-color: #C9D2D8; -} - -.attachbox p { - color: #666666; -} - -.attachbox p.stats -{ - color: #666666; -} - -.attach-image img { - border-color: #999999; -} - -/* Inline image thumbnails */ - -dl.file dd { - color: #666666; -} - -dl.thumbnail img { - border-color: #666666; - background-color: #FFFFFF; -} - -dl.thumbnail dd { - color: #666666; -} - -dl.thumbnail dt a:hover { - background-color: #EEEEEE; -} - -dl.thumbnail dt a:hover img { - border-color: #368AD2; -} - -/* Post poll styles -----------------------------------------*/ - -fieldset.polls dl { - border-top-color: #DCDEE2; - color: #666666; -} - -fieldset.polls dl.voted { - color: #000000; -} - -fieldset.polls dd div { - color: #FFFFFF; -} - -.pollbar1 { - background-color: #AA2346; - border-bottom-color: #74162C; - border-right-color: #74162C; -} - -.pollbar2 { - background-color: #BE1E4A; - border-bottom-color: #8C1C38; - border-right-color: #8C1C38; -} - -.pollbar3 { - background-color: #D11A4E; - border-bottom-color: #AA2346; - border-right-color: #AA2346; -} - -.pollbar4 { - background-color: #E41653; - border-bottom-color: #BE1E4A; - border-right-color: #BE1E4A; -} - -.pollbar5 { - background-color: #F81157; - border-bottom-color: #D11A4E; - border-right-color: #D11A4E; -} - -/* Poster profile block -----------------------------------------*/ -.postprofile { - color: #666666; - border-left-color: #FFFFFF; -} - -.pm .postprofile { - border-left-color: #DDDDDD; -} - -.postprofile strong { - color: #000000; -} - -.online { - background-image: url("{T_IMAGESET_LANG_PATH}/icon_user_online.gif"); -} - -/* --------------------------------------------------------------- -Colours and backgrounds for buttons.css --------------------------------------------------------------- */ - -/* Big button images */ -.reply-icon, .reply-icon a { background-image: url("{IMG_BUTTON_TOPIC_REPLY_SRC}"); } -.post-icon, .post-icon a { background-image: url("{IMG_BUTTON_TOPIC_NEW_SRC}") ;} -.locked-icon, .locked-icon a { background-image: url("{IMG_BUTTON_TOPIC_LOCKED_SRC}"); } -.pmreply-icon, .pmreply-icon a { background-image: url("{IMG_BUTTON_PM_REPLY_SRC}") ;} -.newpm-icon, .newpm-icon a { background-image: url("{IMG_BUTTON_PM_NEW_SRC}") ;} -.forwardpm-icon, .forwardpm-icon a { background-image: url("{IMG_BUTTON_PM_FORWARD_SRC}") ;} - -a.print { - background-image: url("{T_THEME_PATH}/images/icon_print.gif"); -} - -a.sendemail { - background-image: url("{T_THEME_PATH}/images/icon_sendemail.gif"); -} - -a.fontsize { - background-image: url("{T_THEME_PATH}/images/icon_fontsize.gif"); -} - -/* Icon images ----------------------------------------- */ -.sitehome { background-image: url("{T_THEME_PATH}/images/icon_home.gif"); } -.icon-faq { background-image: url("{T_THEME_PATH}/images/icon_faq.gif"); } -.icon-members { background-image: url("{T_THEME_PATH}/images/icon_members.gif"); } -.icon-home { background-image: url("{T_THEME_PATH}/images/icon_home.gif"); } -.icon-ucp { background-image: url("{T_THEME_PATH}/images/icon_ucp.gif"); } -.icon-register { background-image: url("{T_THEME_PATH}/images/icon_register.gif"); } -.icon-logout { background-image: url("{T_THEME_PATH}/images/icon_logout.gif"); } -.icon-bookmark { background-image: url("{T_THEME_PATH}/images/icon_bookmark.gif"); } -.icon-bump { background-image: url("{T_THEME_PATH}/images/icon_bump.gif"); } -.icon-subscribe { background-image: url("{T_THEME_PATH}/images/icon_subscribe.gif"); } -.icon-unsubscribe { background-image: url("{T_THEME_PATH}/images/icon_unsubscribe.gif"); } -.icon-pages { background-image: url("{T_THEME_PATH}/images/icon_pages.gif"); } -.icon-search { background-image: url("{T_THEME_PATH}/images/icon_search.gif"); } - -/* Profile & navigation icons */ -.email-icon, .email-icon a { background-image: url("{IMG_ICON_CONTACT_EMAIL_SRC}"); } -.aim-icon, .aim-icon a { background-image: url("{IMG_ICON_CONTACT_AIM_SRC}"); } -.yahoo-icon, .yahoo-icon a { background-image: url("{IMG_ICON_CONTACT_YAHOO_SRC}"); } -.web-icon, .web-icon a { background-image: url("{IMG_ICON_CONTACT_WWW_SRC}"); } -.msnm-icon, .msnm-icon a { background-image: url("{IMG_ICON_CONTACT_MSNM_SRC}"); } -.icq-icon, .icq-icon a { background-image: url("{IMG_ICON_CONTACT_ICQ_SRC}"); } -.jabber-icon, .jabber-icon a { background-image: url("{IMG_ICON_CONTACT_JABBER_SRC}"); } -.pm-icon, .pm-icon a { background-image: url("{IMG_ICON_CONTACT_PM_SRC}"); } -.quote-icon, .quote-icon a { background-image: url("{IMG_ICON_POST_QUOTE_SRC}"); } - -/* Moderator icons */ -.report-icon, .report-icon a { background-image: url("{IMG_ICON_POST_REPORT_SRC}"); } -.edit-icon, .edit-icon a { background-image: url("{IMG_ICON_POST_EDIT_SRC}"); } -.delete-icon, .delete-icon a { background-image: url("{IMG_ICON_POST_DELETE_SRC}"); } -.info-icon, .info-icon a { background-image: url("{IMG_ICON_POST_INFO_SRC}"); } -.warn-icon, .warn-icon a { background-image: url("{IMG_ICON_USER_WARN_SRC}"); } /* Need updated warn icon */ - -/* --------------------------------------------------------------- -Colours and backgrounds for cp.css --------------------------------------------------------------- */ - -/* Main CP box -----------------------------------------*/ - -#cp-main h3, #cp-main hr, #cp-menu hr { - border-color: #A4B3BF; -} - -#cp-main .panel li.row { - border-bottom-color: #B5C1CB; - border-top-color: #F9F9F9; -} - -ul.cplist { - border-top-color: #B5C1CB; -} - -#cp-main .panel li.header dd, #cp-main .panel li.header dt { - color: #000000; -} - -#cp-main table.table1 thead th { - color: #333333; - border-bottom-color: #333333; -} - -#cp-main .pm-message { - border-color: #DBDEE2; - background-color: #FFFFFF; -} - -/* CP tabbed menu -----------------------------------------*/ -#tabs a { - background-image: url("{T_THEME_PATH}/images/bg_tabs1.gif"); -} - -#tabs a span { - background-image: url("{T_THEME_PATH}/images/bg_tabs2.gif"); - color: #536482; -} - -#tabs a:hover span { - color: #BC2A4D; -} - -#tabs .activetab a { - border-bottom-color: #CADCEB; -} - -#tabs .activetab a span { - color: #333333; -} - -#tabs .activetab a:hover span { - color: #000000; -} - -/* Mini tabbed menu used in MCP -----------------------------------------*/ -#minitabs li { - background-color: #E1EBF2; -} - -#minitabs li.activetab { - background-color: #F9F9F9; -} - -#minitabs li.activetab a, #minitabs li.activetab a:hover { - color: #333333; -} - -/* UCP navigation menu -----------------------------------------*/ - -/* Link styles for the sub-section links */ -#navigation a { - color: #333; - background-color: #B2C2CF; - background-image: url("{T_THEME_PATH}/images/bg_menu.gif"); -} - -#navigation a:hover { - background-color: #aabac6; - color: #BC2A4D; -} - -#navigation #active-subsection a { - color: #D31141; - background-color: #F9F9F9; - background-image: none; -} - -#navigation #active-subsection a:hover { - color: #D31141; -} - -/* Preferences pane layout -----------------------------------------*/ -#cp-main h2 { - color: #333333; -} - -#cp-main .panel { - background-color: #F9F9F9; -} - -#cp-main .pm { - background-color: #FFFFFF; -} - -#cp-main span.corners-top, #cp-menu span.corners-top { - background-image: url("{T_THEME_PATH}/images/corners_left2.gif"); -} - -#cp-main span.corners-top span, #cp-menu span.corners-top span { - background-image: url("{T_THEME_PATH}/images/corners_right2.gif"); -} - -#cp-main span.corners-bottom, #cp-menu span.corners-bottom { - background-image: url("{T_THEME_PATH}/images/corners_left2.gif"); -} - -#cp-main span.corners-bottom span, #cp-menu span.corners-bottom span { - background-image: url("{T_THEME_PATH}/images/corners_right2.gif"); -} - -/* Topicreview */ -#cp-main .panel #topicreview span.corners-top, #cp-menu .panel #topicreview span.corners-top { - background-image: url("{T_THEME_PATH}/images/corners_left.gif"); -} - -#cp-main .panel #topicreview span.corners-top span, #cp-menu .panel #topicreview span.corners-top span { - background-image: url("{T_THEME_PATH}/images/corners_right.gif"); -} - -#cp-main .panel #topicreview span.corners-bottom, #cp-menu .panel #topicreview span.corners-bottom { - background-image: url("{T_THEME_PATH}/images/corners_left.gif"); -} - -#cp-main .panel #topicreview span.corners-bottom span, #cp-menu .panel #topicreview span.corners-bottom span { - background-image: url("{T_THEME_PATH}/images/corners_right.gif"); -} - -/* Friends list */ -.cp-mini { - background-color: #eef5f9; -} - -dl.mini dt { - color: #425067; -} - -/* PM Styles -----------------------------------------*/ -/* PM Message history */ -.current { - color: #999999 !important; -} - -/* PM marking colours */ -.pmlist li.pm_message_reported_colour, .pm_message_reported_colour { - border-left-color: #BC2A4D; - border-right-color: #BC2A4D; -} - -.pmlist li.pm_marked_colour, .pm_marked_colour { - border-color: #FF6600; -} - -.pmlist li.pm_replied_colour, .pm_replied_colour { - border-color: #A9B8C2; -} - -.pmlist li.pm_friend_colour, .pm_friend_colour { - border-color: #5D8FBD; -} - -pmlist li.pm_foe_colour, .pm_foe_colour { - border-color: #000000; -} - -/* Avatar gallery */ -#gallery label { - background-color: #FFFFFF; - border-color: #CCC; -} - -#gallery label:hover { - background-color: #EEE; -} - -/* --------------------------------------------------------------- -Colours and backgrounds for forms.css --------------------------------------------------------------- */ - -/* General form styles -----------------------------------------*/ -select { - border-color: #666666; - background-color: #FAFAFA; -} - -label { - color: #425067; -} - -/* Definition list layout for forms ----------------------------------------- */ -dd label { - color: #333; -} - -/* Hover effects */ -fieldset dl:hover dt label { - color: #000000; -} - -fieldset.fields2 dl:hover dt label { - color: inherit; -} - -/* Quick-login on index page */ -fieldset.quick-login input { - background-color: #F2F3F3; -} - -/* Posting page styles -----------------------------------------*/ - -#message-box textarea { - color: #333333; -} - -/* Input field styles ----------------------------------------- */ -.inputbox { - background-color: #FFFFFF; - border-color: #B4BAC0; - color: #333333; -} - -.inputbox:hover { - border-color: #11A3EA; -} - -.inputbox:focus { - border-color: #11A3EA; - color: #0F4987; -} - -/* Form button styles ----------------------------------------- */ - -a.button1, input.button1, input.button3, a.button2, input.button2 { - color: #000; - background-color: #FAFAFA; - background-image: url("{T_THEME_PATH}/images/bg_button.gif"); -} - -a.button1, input.button1 { - border-color: #666666; -} - -input.button3 { - background-image: none; -} - -/* Alternative button */ -a.button2, input.button2, input.button3 { - border-color: #666666; -} - -/* button in the style of the form buttons */ -a.button1, a.button1:link, a.button1:visited, a.button1:active, a.button2, a.button2:link, a.button2:visited, a.button2:active { - color: #000000; -} - -/* Hover states */ -a.button1:hover, input.button1:hover, a.button2:hover, input.button2:hover, input.button3:hover { - border: 1px solid #BC2A4D; - background-position: 0 100%; - color: #BC2A4D; -} - -input.search { - background-image: url("{T_THEME_PATH}/images/icon_textbox_search.gif"); -} \ No newline at end of file +@import url("common.css"); +@import url("links.css"); +@import url("content.css"); +@import url("buttons.css"); +@import url("cp.css"); +@import url("forms.css"); +@import url("tweaks.css"); +@import url("colours.css"); From cb37c99b85ae364f455ea2e03611e6ae2a8a5aba Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Thu, 12 Apr 2007 17:26:41 +0000 Subject: [PATCH 383/707] #9716 - sortof. Prescriptive validation-istas, whom should know better. :P git-svn-id: file:///svn/phpbb/trunk@7333 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/template/bbcode.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/phpBB/styles/prosilver/template/bbcode.html b/phpBB/styles/prosilver/template/bbcode.html index 47ea34d90f..edcdcfb76a 100644 --- a/phpBB/styles/prosilver/template/bbcode.html +++ b/phpBB/styles/prosilver/template/bbcode.html @@ -8,9 +8,9 @@
  • -
    {USERNAME} {L_WROTE}: -
    -
    +
    {USERNAME} {L_WROTE}: +
    +
    {L_CODE}: {L_SELECT_ALL}
    From 3d70ffd92478cdd3d8a936bd9197d42200231ea3 Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 12 Apr 2007 19:02:56 +0000 Subject: [PATCH 384/707] #9817 git-svn-id: file:///svn/phpbb/trunk@7334 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/template/login_forum.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/prosilver/template/login_forum.html b/phpBB/styles/prosilver/template/login_forum.html index ac262828e4..f47586f469 100644 --- a/phpBB/styles/prosilver/template/login_forum.html +++ b/phpBB/styles/prosilver/template/login_forum.html @@ -2,7 +2,7 @@

    {L_LOGIN} {FORUM_NAME}

    - +
    From 8cad62fc8589a5524890631e5c0f67d72c55e6a8 Mon Sep 17 00:00:00 2001 From: Vic D'Elfant Date: Thu, 12 Apr 2007 19:34:36 +0000 Subject: [PATCH 385/707] This is a nicer way of doing the NOT()... Oh and I forgot to say hi in my first commit here, so here goes.. Hi everyone :) git-svn-id: file:///svn/phpbb/trunk@7335 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/ucp/ucp_pm_options.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/ucp/ucp_pm_options.php b/phpBB/includes/ucp/ucp_pm_options.php index d7171273a2..cb55236936 100644 --- a/phpBB/includes/ucp/ucp_pm_options.php +++ b/phpBB/includes/ucp/ucp_pm_options.php @@ -725,7 +725,7 @@ function define_cond_option($hardcoded, $cond_option, $rule_option, $global_rule $sql .= 'WHERE'; } - $sql .= " NOT (g.group_name IN ('GUESTS', 'BOTS') AND g.group_type = " . GROUP_SPECIAL . ') + $sql .= " (g.group_name NOT IN ('GUESTS', 'BOTS') OR g.group_type <> " . GROUP_SPECIAL . ') ORDER BY g.group_type DESC, g.group_name ASC'; $result = $db->sql_query($sql); From 99e4a61e7f6af6109821f2e28686bc5048589d70 Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 12 Apr 2007 19:44:13 +0000 Subject: [PATCH 386/707] #9693 git-svn-id: file:///svn/phpbb/trunk@7336 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/theme/colours.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/styles/prosilver/theme/colours.css b/phpBB/styles/prosilver/theme/colours.css index aa9e9776f9..c946a501ae 100644 --- a/phpBB/styles/prosilver/theme/colours.css +++ b/phpBB/styles/prosilver/theme/colours.css @@ -328,11 +328,11 @@ a.topictitle:active { /* Back to top of page */ a.top { - background-image: url("{T_THEME_PATH}/images/top.gif"); + background-image: url("{T_IMAGESET_PATH}/images/top.gif"); } a.top2 { - background-image: url("{T_THEME_PATH}/images/top.gif"); + background-image: url("{T_IMAGESET_PATH}/images/top.gif"); } /* Arrow links */ From d3a093e56d1b69d2516c083072aab9b4beb41816 Mon Sep 17 00:00:00 2001 From: David M Date: Thu, 12 Apr 2007 23:12:10 +0000 Subject: [PATCH 387/707] #9795 git-svn-id: file:///svn/phpbb/trunk@7337 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 7 +++---- phpBB/install/schemas/schema_data.sql | 7 +++---- .../prosilver/imageset/forum_unread_unlocked.gif | Bin 0 -> 677 bytes phpBB/styles/prosilver/imageset/imageset.cfg | 9 +++------ 4 files changed, 9 insertions(+), 14 deletions(-) create mode 100644 phpBB/styles/prosilver/imageset/forum_unread_unlocked.gif diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 3f22ee8f5b..e13d8dda87 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -951,13 +951,12 @@ if (version_compare($current_version, '3.0.b5', '<=')) INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 0, 0, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 0, 0, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('site_logo', 'site_logo.gif', '', 52, 139, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('upload_bar', 'progress_bar.gif', '', 16, 280, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_link', 'forum_link.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read', 'forum_read.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_locked', 'forum_read_locked.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_subforum', 'forum_read_subforum.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread', 'forum_unread.gif', '', 27, 27, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_locked', 'forum_read_locked.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_locked', 'forum_unread_locked.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_subforum', 'forum_unread_subforum.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_moved', 'topic_moved.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read', 'topic_read.gif', '', 27, 27, 1); @@ -986,7 +985,7 @@ if (version_compare($current_version, '3.0.b5', '<=')) INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_locked_mine', 'announce_read_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread', 'announce_unread.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_mine', 'announce_unread_mine.gif', '', 27, 27, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked', 'announce_unread.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked', 'announce_unread_locked.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read', 'announce_read.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_mine', 'announce_read_mine.gif', '', 27, 27, 1); @@ -994,7 +993,7 @@ if (version_compare($current_version, '3.0.b5', '<=')) INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_locked_mine', 'announce_read_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread', 'announce_unread.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_mine', 'announce_unread_mine.gif', '', 27, 27, 1); - INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked', 'announce_unread_locked_mine.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked', 'announce_unread_locked.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_read', 'topic_read.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_unread', 'topic_unread.gif', '', 27, 27, 1); diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index 157826ace6..6e1623ef8c 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -469,13 +469,12 @@ INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_new', 'button_topic_new.gif', 'en', 0, 0, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('button_topic_reply', 'button_topic_reply.gif', 'en', 0, 0, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('site_logo', 'site_logo.gif', '', 52, 139, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('upload_bar', 'progress_bar.gif', '', 16, 280, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_link', 'forum_link.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read', 'forum_read.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_locked', 'forum_read_locked.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_read_subforum', 'forum_read_subforum.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread', 'forum_unread.gif', '', 27, 27, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_locked', 'forum_read_locked.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_locked', 'forum_unread_locked.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('forum_unread_subforum', 'forum_unread_subforum.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_moved', 'topic_moved.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('topic_read', 'topic_read.gif', '', 27, 27, 1); @@ -504,7 +503,7 @@ INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_read_locked_mine', 'announce_read_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread', 'announce_unread.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_mine', 'announce_unread_mine.gif', '', 27, 27, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked', 'announce_unread.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked', 'announce_unread_locked.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('announce_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read', 'announce_read.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_mine', 'announce_read_mine.gif', '', 27, 27, 1); @@ -512,7 +511,7 @@ INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_read_locked_mine', 'announce_read_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread', 'announce_unread.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_mine', 'announce_unread_mine.gif', '', 27, 27, 1); -INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked', 'announce_unread_locked_mine.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked', 'announce_unread_locked.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_read', 'topic_read.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_unread', 'topic_unread.gif', '', 27, 27, 1); diff --git a/phpBB/styles/prosilver/imageset/forum_unread_unlocked.gif b/phpBB/styles/prosilver/imageset/forum_unread_unlocked.gif new file mode 100644 index 0000000000000000000000000000000000000000..34f1d46ad76d7826d739a5bbb7d772e1d2bb488c GIT binary patch literal 677 zcmV;W0$Tk?Nk%w1VH*G&0M$PLs5Mc@OKIrp?fLoo)79A3tGMO4#KgwR*qf{4=IK>c zRqt+%h=_>h!p!UK@OgQ8#awp%{{GK^mgeZ|)V09%>+bB!)8XUiMMXu}&DHhx_uAdy z^!4}4V||sCmC1LF^7Hl1(bmgE`o6flXR z&&;f2p+(MU7p>8mWx!IC!R)Hr>t~w58x^4}5iT!-goSkj7ARjtHZy>N1Cf%G121(J zJ8wfX29Pl^EiD0~0iULoF$Ob3A{`YkF&eTv3$?Yeva&HR6&;H^7O*(O#5l6W#k&nA zKLsci127=dAfY?g*e%o`Fas4R1s@Uv969Fa=;`PhF(V(~134`7^DWr-3-t3KF$fTH zF>>e_NU)&6f;m#n*wH`(3kMJ*N^~GVz=Vqx9k9^QV22zHIwnf2m_WsblPVGjZ~#LU z3Irf4%Cv@U1A!Voa^`fv0Rf7_4>+En0S-V64y zseQ|qX-)=2GMH#U!olGSdI=op+f`|a5)6Di5fPxlzzLX5@@?#af$ImNNAD Date: Fri, 13 Apr 2007 03:55:33 +0000 Subject: [PATCH 388/707] #9677 git-svn-id: file:///svn/phpbb/trunk@7338 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_profile_fields.php | 4 ++++ .../prosilver/template/custom_profile_fields.html | 10 +++++----- .../prosilver/template/ucp_profile_profile_info.html | 3 ++- phpBB/styles/prosilver/template/ucp_register.html | 2 +- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/phpBB/includes/functions_profile_fields.php b/phpBB/includes/functions_profile_fields.php index 05bea54bd7..a645b67a22 100644 --- a/phpBB/includes/functions_profile_fields.php +++ b/phpBB/includes/functions_profile_fields.php @@ -62,10 +62,14 @@ class custom_profile // Return templated field $tpl_snippet = $this->process_field_row('change', $row); + // Some types are multivalue, we can't give them a field_id as we would not know which to pick + $type = (int) $row['field_type']; + $template->assign_block_vars('profile_fields', array( 'LANG_NAME' => $row['lang_name'], 'LANG_EXPLAIN' => $row['lang_explain'], 'FIELD' => $tpl_snippet, + 'FIELD_ID' => ($type == 6 || ($type == 4 && $row['field_length'] == '1')) ? '' : 'pf_' . $row['field_ident'], 'S_REQUIRED' => ($row['field_required']) ? true : false) ); } diff --git a/phpBB/styles/prosilver/template/custom_profile_fields.html b/phpBB/styles/prosilver/template/custom_profile_fields.html index 19f1dac6b6..2988bf8140 100644 --- a/phpBB/styles/prosilver/template/custom_profile_fields.html +++ b/phpBB/styles/prosilver/template/custom_profile_fields.html @@ -1,27 +1,27 @@ - - + - + - checked="checked" /> + checked="checked" /> - + diff --git a/phpBB/styles/prosilver/template/ucp_profile_profile_info.html b/phpBB/styles/prosilver/template/ucp_profile_profile_info.html index 7146918613..7ae6fd054b 100644 --- a/phpBB/styles/prosilver/template/ucp_profile_profile_info.html +++ b/phpBB/styles/prosilver/template/ucp_profile_profile_info.html @@ -56,7 +56,8 @@
    -

    {profile_fields.LANG_EXPLAIN}
    +
    +
    {profile_fields.LANG_EXPLAIN}
    {profile_fields.ERROR}
    {profile_fields.FIELD}
    diff --git a/phpBB/styles/prosilver/template/ucp_register.html b/phpBB/styles/prosilver/template/ucp_register.html index 3de28b0c43..13befd02da 100644 --- a/phpBB/styles/prosilver/template/ucp_register.html +++ b/phpBB/styles/prosilver/template/ucp_register.html @@ -63,7 +63,7 @@
    -
    +

    {profile_fields.LANG_EXPLAIN}
    {profile_fields.ERROR}
    {profile_fields.FIELD}
    From 9eae6d7b494caab1ba074330f991b1c2f6ee1589 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 13 Apr 2007 03:57:04 +0000 Subject: [PATCH 389/707] #9811 git-svn-id: file:///svn/phpbb/trunk@7339 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/message_parser.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php index 44bebc20c6..b55a5fa069 100644 --- a/phpBB/includes/message_parser.php +++ b/phpBB/includes/message_parser.php @@ -543,7 +543,7 @@ class bbcode_firstpass extends bbcode { array_push($list_end_tags, '/list:o:' . $this->bbcode_uid); } - $out .= $buffer . ':' . $this->bbcode_uid . ']'; + $out .= 'list' . substr($buffer, 4) . ':' . $this->bbcode_uid . ']'; $tok = '['; } else From a05c522f313ab5e1acc81569e9fa54022907e845 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 13 Apr 2007 04:12:31 +0000 Subject: [PATCH 390/707] #9825 git-svn-id: file:///svn/phpbb/trunk@7340 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/template/bbcode.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/prosilver/template/bbcode.html b/phpBB/styles/prosilver/template/bbcode.html index edcdcfb76a..3e81a58bea 100644 --- a/phpBB/styles/prosilver/template/bbcode.html +++ b/phpBB/styles/prosilver/template/bbcode.html @@ -37,4 +37,4 @@ {DESCRIPTION} - \ No newline at end of file + \ No newline at end of file From a8afdd121525d7adfe37e09f535472557ff36e2f Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 04:13:50 +0000 Subject: [PATCH 391/707] #9736 Quidquid latine dictum sit, altum sonatur. :P git-svn-id: file:///svn/phpbb/trunk@7341 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 4 ++-- phpBB/includes/ucp/ucp_pm_compose.php | 2 +- phpBB/language/en/common.php | 1 + phpBB/posting.php | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index d20002dd96..594b1c4346 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -3299,7 +3299,7 @@ function truncate_string($string, $max_length = 60, $allow_reply = true, $append $strip_reply = false; $stripped = false; - if ($allow_reply && strpos($string, 'Re: ') === 0) + if ($allow_reply && strpos($string, $user->lang['SUBJECT_CONCERNING_PREFIX']) === 0) { $strip_reply = true; $string = substr($string, 4); @@ -3318,7 +3318,7 @@ function truncate_string($string, $max_length = 60, $allow_reply = true, $append if ($strip_reply) { - $string = 'Re: ' . $string; + $string = $user->lang['SUBJECT_CONCERNING_PREFIX'] . $string; } if ($append != '' && $stripped) diff --git a/phpBB/includes/ucp/ucp_pm_compose.php b/phpBB/includes/ucp/ucp_pm_compose.php index 6c9bfdbdb3..ef37a59bff 100644 --- a/phpBB/includes/ucp/ucp_pm_compose.php +++ b/phpBB/includes/ucp/ucp_pm_compose.php @@ -674,7 +674,7 @@ function compose_pm($id, $mode, $action) if (($action == 'reply' || $action == 'quote' || $action == 'quotepost') && !$preview && !$refresh) { - $message_subject = ((!preg_match('/^Re:/', $message_subject)) ? 'Re: ' : '') . censor_text($message_subject); + $message_subject = ((strpos($message_subject, $user->lang['SUBJECT_CONCERNING_PREFIX']) !== 0) ? $user->lang['SUBJECT_CONCERNING_PREFIX'] : '') . censor_text($message_subject); } if ($action == 'forward' && !$preview && !$refresh && !$submit) diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 1bf7d27d25..ffd257ce28 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -504,6 +504,7 @@ $lang = array_merge($lang, array( 'SUBFORUM' => 'Subforum', 'SUBFORUMS' => 'Subforums', 'SUBJECT' => 'Subject', + 'SUBJECT_CONCERNING_PREFIX' => 'Re: ', // This is Latin or "concerning" or "about", most Latin influenced languages (id est: those with Latin script) can use this "as is". Localise phrase and punctuation if required. 'SUBMIT' => 'Submit', 'TERMS_USE' => 'Terms of use', diff --git a/phpBB/posting.php b/phpBB/posting.php index d1b6946d6d..3441e91076 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -1063,7 +1063,7 @@ if ($mode == 'quote' && !$submit && !$preview && !$refresh) if (($mode == 'reply' || $mode == 'quote') && !$submit && !$preview && !$refresh) { - $post_data['post_subject'] = ((strpos($post_data['post_subject'], 'Re: ') !== 0) ? 'Re: ' : '') . censor_text($post_data['post_subject']); + $post_data['post_subject'] = ((strpos($post_data['post_subject'], $user->lang['SUBJECT_CONCERNING_PREFIX']) !== 0) ? $user->lang['SUBJECT_CONCERNING_PREFIX'] : '') . censor_text($post_data['post_subject']); } $attachment_data = $message_parser->attachment_data; From 65a02689c7c86339b49da9a74bb3ebc25cf4d8c3 Mon Sep 17 00:00:00 2001 From: David M Date: Fri, 13 Apr 2007 04:20:13 +0000 Subject: [PATCH 392/707] #9824 git-svn-id: file:///svn/phpbb/trunk@7342 89ea8834-ac86-4346-8a33-228a782c2dd0 --- .../styles/prosilver/template/attachment.html | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/phpBB/styles/prosilver/template/attachment.html b/phpBB/styles/prosilver/template/attachment.html index 7f6e403026..1bb23b8eac 100644 --- a/phpBB/styles/prosilver/template/attachment.html +++ b/phpBB/styles/prosilver/template/attachment.html @@ -72,25 +72,25 @@ - - + + - - + + - - - - - + + + + +
    - - + + From 7ec687d9231d9fa4402584308fd9690bf6b6da7c Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 04:54:04 +0000 Subject: [PATCH 393/707] Not #9760 Missing helpline for inline attachments, only used for subsilver2 though, the UI in prosilver is different and makes that helpline redundant. git-svn-id: file:///svn/phpbb/trunk@7343 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/common.php | 1 - phpBB/language/en/posting.php | 2 ++ phpBB/styles/subsilver2/template/posting_body.html | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index ffd257ce28..1bf7d27d25 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -504,7 +504,6 @@ $lang = array_merge($lang, array( 'SUBFORUM' => 'Subforum', 'SUBFORUMS' => 'Subforums', 'SUBJECT' => 'Subject', - 'SUBJECT_CONCERNING_PREFIX' => 'Re: ', // This is Latin or "concerning" or "about", most Latin influenced languages (id est: those with Latin script) can use this "as is". Localise phrase and punctuation if required. 'SUBMIT' => 'Submit', 'TERMS_USE' => 'Terms of use', diff --git a/phpBB/language/en/posting.php b/phpBB/language/en/posting.php index 05b8411a40..db3782aca2 100644 --- a/phpBB/language/en/posting.php +++ b/phpBB/language/en/posting.php @@ -40,6 +40,7 @@ $lang = array_merge($lang, array( 'ATTACH_QUOTA_REACHED' => 'Sorry, the board attachment quota has been reached.', 'ATTACH_SIG' => 'Attach a signature (signatures can be altered via the UCP)', + 'BBCODE_A_HELP' => 'Inline uploaded attachment: [attachment=]filename.ext[/attachment]', 'BBCODE_B_HELP' => 'Bold text: [b]text[/b]', 'BBCODE_C_HELP' => 'Code display: [code]code[/code]', 'BBCODE_E_HELP' => 'List: Add list element', @@ -168,6 +169,7 @@ $lang = array_merge($lang, array( 'SAVE_DATE' => 'Saved at', 'SAVE_DRAFT' => 'Save draft', 'SAVE_DRAFT_CONFIRM' => 'Please note that saved drafts only include the subject and the message, any other element will be removed. Do you want to save your draft now?', + 'SUBJECT_CONCERNING_PREFIX' => 'Re: ', // This is Latin or "concerning" or "about", most Latin influenced languages (id est: those with Latin script) can use this "as is". Localise phrase and punctuation if required. 'SMILIES' => 'Smilies', 'SMILIES_ARE_OFF' => 'Smilies are OFF', 'SMILIES_ARE_ON' => 'Smilies are ON', diff --git a/phpBB/styles/subsilver2/template/posting_body.html b/phpBB/styles/subsilver2/template/posting_body.html index 483d857f28..492bd445a7 100644 --- a/phpBB/styles/subsilver2/template/posting_body.html +++ b/phpBB/styles/subsilver2/template/posting_body.html @@ -229,7 +229,7 @@ {L_ATTACHMENTS}: -   +   From a0a78f7eb9943dc9fff0b99fab081cdecc957b03 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 04:56:52 +0000 Subject: [PATCH 394/707] That wasn't supposed to happen :o git-svn-id: file:///svn/phpbb/trunk@7344 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/common.php | 1 + phpBB/language/en/posting.php | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 1bf7d27d25..ffd257ce28 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -504,6 +504,7 @@ $lang = array_merge($lang, array( 'SUBFORUM' => 'Subforum', 'SUBFORUMS' => 'Subforums', 'SUBJECT' => 'Subject', + 'SUBJECT_CONCERNING_PREFIX' => 'Re: ', // This is Latin or "concerning" or "about", most Latin influenced languages (id est: those with Latin script) can use this "as is". Localise phrase and punctuation if required. 'SUBMIT' => 'Submit', 'TERMS_USE' => 'Terms of use', diff --git a/phpBB/language/en/posting.php b/phpBB/language/en/posting.php index db3782aca2..970bcbd40b 100644 --- a/phpBB/language/en/posting.php +++ b/phpBB/language/en/posting.php @@ -169,7 +169,6 @@ $lang = array_merge($lang, array( 'SAVE_DATE' => 'Saved at', 'SAVE_DRAFT' => 'Save draft', 'SAVE_DRAFT_CONFIRM' => 'Please note that saved drafts only include the subject and the message, any other element will be removed. Do you want to save your draft now?', - 'SUBJECT_CONCERNING_PREFIX' => 'Re: ', // This is Latin or "concerning" or "about", most Latin influenced languages (id est: those with Latin script) can use this "as is". Localise phrase and punctuation if required. 'SMILIES' => 'Smilies', 'SMILIES_ARE_OFF' => 'Smilies are OFF', 'SMILIES_ARE_ON' => 'Smilies are ON', From dc51764615111c76396248ddf17372b7b9d3df6b Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 05:03:55 +0000 Subject: [PATCH 395/707] #9736 Quidquid latine dictum sit, altum sonatur... redux! :P git-svn-id: file:///svn/phpbb/trunk@7345 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 594b1c4346..61aba60146 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -3295,6 +3295,8 @@ function get_preg_expression($mode) */ function truncate_string($string, $max_length = 60, $allow_reply = true, $append = '') { + global $user; + $chars = array(); $strip_reply = false; From e5008b025d5d3cff433a9f0b77da6da9ff098f0d Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 05:33:42 +0000 Subject: [PATCH 396/707] #9759 Completely reworded the FAQ for Summer Time, purged Americanism (well, ed them :P) and removed the un-used GROUP_DST var. git-svn-id: file:///svn/phpbb/trunk@7346 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/acp/board.php | 2 +- phpBB/language/en/acp/groups.php | 1 - phpBB/language/en/common.php | 2 +- phpBB/language/en/help_faq.php | 2 +- phpBB/language/en/ucp.php | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/phpBB/language/en/acp/board.php b/phpBB/language/en/acp/board.php index 68fea544ab..529ae051fa 100644 --- a/phpBB/language/en/acp/board.php +++ b/phpBB/language/en/acp/board.php @@ -45,7 +45,7 @@ $lang = array_merge($lang, array( 'RELATIVE_DAYS' => 'Relative days', 'SITE_DESC' => 'Site description', 'SITE_NAME' => 'Site name', - 'SYSTEM_DST' => 'Enable Daylight Savings Time', + 'SYSTEM_DST' => 'Enable Summer Time/DST', 'SYSTEM_TIMEZONE' => 'System timezone', 'WARNINGS_EXPIRE' => 'Warning duration', 'WARNINGS_EXPIRE_EXPLAIN' => 'Number of days that will elapse before the warning will automatically expire from a user’s record', diff --git a/phpBB/language/en/acp/groups.php b/phpBB/language/en/acp/groups.php index fa49030ccb..05cbb9625c 100644 --- a/phpBB/language/en/acp/groups.php +++ b/phpBB/language/en/acp/groups.php @@ -56,7 +56,6 @@ $lang = array_merge($lang, array( 'GROUP_DEMOTE' => 'Demote group leader', 'GROUP_DESC' => 'Group description', 'GROUP_DETAILS' => 'Group details', - 'GROUP_DST' => 'Group daylight savings', 'GROUP_EDIT_EXPLAIN' => 'Here you can edit an existing group. You can change its name, description and type (open, closed, etc.). You can also set certain groupwide options such as colouration, rank, etc. Changes made here override users current settings. Please note that group members can alter their avatar unless you set appropriate user permissions.', 'GROUP_ERR_USERS_EXIST' => 'The specified users are already members of this group', 'GROUP_FOUNDER_MANAGE' => 'Founder manage only', diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index ffd257ce28..eb62f3a495 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -730,7 +730,7 @@ $lang = array_merge($lang, array( '12.75' => 'UTC + 12:45 hours', '13' => 'UTC + 13 hours', '14' => 'UTC + 14 hours', - 'dst' => '[ DST ]', + 'dst' => '[ DST ]', ), 'tz_zones' => array( diff --git a/phpBB/language/en/help_faq.php b/phpBB/language/en/help_faq.php index a3e6a0ab4a..1dc2219bb3 100644 --- a/phpBB/language/en/help_faq.php +++ b/phpBB/language/en/help_faq.php @@ -84,7 +84,7 @@ $help = array( ), array( 0 => 'I changed the timezone and the time is still wrong!', - 1 => 'If you are sure you have set the timezone correctly and the time is still different the most likely answer is daylight savings time (or summer time as it is known in the UK and other places). The board is not designed to handle the changeovers between standard and daylight time so during summer months the time may be an hour different from the real local time.' + 1 => 'If you are sure you have set the timezone and Summer Time/DST correctly and the time is still different, then the time as stored on the servers clock is incorrect and the Administrators will need to make the correction.' ), array( 0 => 'My language is not in the list!', diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index ca656b7a84..1c47dc5db2 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -93,7 +93,7 @@ $lang = array_merge($lang, array( 'BIRTHDAY_EXPLAIN' => 'Setting a year will list your age when it is your birthday.', 'BOARD_DATE_FORMAT' => 'My date format', 'BOARD_DATE_FORMAT_EXPLAIN' => 'The syntax used is identical to the PHP date() function', - 'BOARD_DST' => 'Daylight Saving Time is in effect', + 'BOARD_DST' => 'Summer Time/DST is in effect', 'BOARD_LANGUAGE' => 'My language', 'BOARD_STYLE' => 'My board style', 'BOARD_TIMEZONE' => 'My timezone', From 7758112f47cadf6d37c6b649055a91560eb4e049 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 05:35:52 +0000 Subject: [PATCH 397/707] #9758 git-svn-id: file:///svn/phpbb/trunk@7347 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/ucp.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index 1c47dc5db2..f0d543f4be 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -78,7 +78,7 @@ $lang = array_merge($lang, array( 'ALLOW_PM' => 'Allow users to send you private messages', 'ALLOW_PM_EXPLAIN' => 'Note that administrators and moderators will always be able to send you messages.', 'ALREADY_ACTIVATED' => 'You have already activated your account', - 'ATTACHMENTS_EXPLAIN' => 'This is a list of attachments you have made in posts to this forum.', + 'ATTACHMENTS_EXPLAIN' => 'This is a list of attachments you have made in posts to this board.', 'ATTACHMENTS_DELETED' => 'Attachments successfully deleted.', 'ATTACHMENT_DELETED' => 'Attachment successfully deleted.', 'AVATAR_CATEGORY' => 'Category', From 001f548a33f20934dad654196c1aaeadb81ee647 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 05:47:12 +0000 Subject: [PATCH 398/707] #9756 git-svn-id: file:///svn/phpbb/trunk@7348 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/help_faq.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/help_faq.php b/phpBB/language/en/help_faq.php index 1dc2219bb3..62c7b78de6 100644 --- a/phpBB/language/en/help_faq.php +++ b/phpBB/language/en/help_faq.php @@ -328,7 +328,7 @@ $help = array( ), array( 0 => 'Who do I contact about abusive and/or legal matters related to this board?', - 1 => 'You should contact the administrator of this board. If you cannot find who this you should first contact one of the forum moderators and ask them who you should in turn contact. If still get no response you should contact the owner of the domain (do a whois lookup) or, if this is running on a free service (e.g. yahoo, free.fr, f2s.com, etc.), the management or abuse department of that service. Please note that phpBB Group has absolutely no control and cannot in any way be held liable over how, where or by whom this board is used. It is absolutely pointless contacting phpBB Group in relation to any legal (cease and desist, liable, defamatory comment, etc.) matter not directly related to the phpbb.com website or the discrete software of phpBB itself. If you do email phpBB Group about any third party use of this software then you should expect a terse response or no response at all.' + 1 => 'Any of the administrators listed on the “The team” page should be an appropriate point of contact for your complaints. If this still get no response you should contact the owner of the domain (do a whois lookup) or, if this is running on a free service (e.g. Yahoo!, free.fr, f2s.com, etc.), the management or abuse department of that service. Please note that the phpBB Group has absolutely no jurisdiction and cannot in any way be held liable over how, where or by whom this board is used. Do not contact the phpBB Group in relation to any legal (cease and desist, liable, defamatory comment, etc.) matter not directly related to the phpBB.com website or the discrete software of phpBB itself. If you do email phpBB Group about any third party use of this software then you should expect a terse response or no response at all.' ) ); From 3b60c51604d50467f459464cba7a52c1f15c47a8 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 05:52:30 +0000 Subject: [PATCH 399/707] #9524 git-svn-id: file:///svn/phpbb/trunk@7349 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/acp/attachments.php | 4 ++-- phpBB/language/en/common.php | 4 ++-- phpBB/language/en/ucp.php | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/phpBB/language/en/acp/attachments.php b/phpBB/language/en/acp/attachments.php index f43835c7b0..8f7d88eb45 100644 --- a/phpBB/language/en/acp/attachments.php +++ b/phpBB/language/en/acp/attachments.php @@ -82,11 +82,11 @@ $lang = array_merge($lang, array( 'EXCLUDE_FROM_ALLOWED_IP' => 'Exclude IP from allowed IPs/hostnames', 'EXCLUDE_FROM_DISALLOWED_IP' => 'Exclude IP from disallowed IPs/hostnames', 'EXTENSIONS_UPDATED' => 'Extensions successfully updated', - 'EXTENSION_EXIST' => 'The extension %s already exist', + 'EXTENSION_EXIST' => 'The extension %s already exists', 'EXTENSION_GROUP' => 'Extension group', 'EXTENSION_GROUPS' => 'Extension groups', 'EXTENSION_GROUP_DELETED' => 'Extension group successfully deleted.', - 'EXTENSION_GROUP_EXIST' => 'The extension group %s already exist', + 'EXTENSION_GROUP_EXIST' => 'The extension group %s already exists', 'GO_TO_EXTENSIONS' => 'Go to extension management screen', 'GROUP_NAME' => 'Group name', diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index eb62f3a495..bc8989f8c2 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -110,7 +110,7 @@ $lang = array_merge($lang, array( 'COLLAPSE_VIEW' => 'Collapse view', 'CLOSE_WINDOW' => 'Close window', 'COLOUR_SWATCH' => 'Colour swatch', - 'COMMA_SEPARATOR' => ', ', // Used in pagination and secret yet-to-be-release style, use localised comma if appropriate, eg: Ideographic or Arabic + 'COMMA_SEPARATOR' => ', ', // Used in pagination of ACP & prosilver, use localised comma if appropriate, eg: Ideographic or Arabic 'CONFIRM' => 'Confirm', 'CONFIRM_CODE' => 'Confirmation code', 'CONFIRM_CODE_EXPLAIN' => 'Enter the code exactly as you see it in the image, it is case insensitive. Please note that a zero does not exist.', @@ -680,7 +680,7 @@ $lang = array_merge($lang, array( 'Feb' => 'Feb', 'Mar' => 'Mar', 'Apr' => 'Apr', - 'May_short' => 'May', // Short representation of "May". May_short used because in english the short and long date are the same for May. + 'May_short' => 'May', // Short representation of "May". May_short used because in English the short and long date are the same for May. 'Jun' => 'Jun', 'Jul' => 'Jul', 'Aug' => 'Aug', diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index f0d543f4be..44fa4a4eaf 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -186,7 +186,7 @@ $lang = array_merge($lang, array( 'FOES_UPDATED' => 'Your foes list has been updated successfully', 'FOLDER_ADDED' => 'Folder successfully added', 'FOLDER_MESSAGE_STATUS' => '%1$d from %2$d messages stored', - 'FOLDER_NAME_EXIST' => 'Folder %s already exist', + 'FOLDER_NAME_EXIST' => 'Folder %s already exists', 'FOLDER_OPTIONS' => 'Folder options', 'FOLDER_RENAMED' => 'Folder successfully renamed', 'FOLDER_REMOVED' => 'Folder successfully removed', From 2853c380a5d3503c4895f9851e2816eff2a55593 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 06:00:13 +0000 Subject: [PATCH 400/707] #8703 git-svn-id: file:///svn/phpbb/trunk@7350 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/common.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index bc8989f8c2..e34aae5eec 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -606,8 +606,8 @@ $lang = array_merge($lang, array( 'VIEWS' => 'Views', 'VIEW_BOOKMARKS' => 'View bookmarks', 'VIEW_FORUM_LOGS' => 'View Logs', - 'VIEW_LATEST_POST' => 'View latest post', - 'VIEW_NEWEST_POST' => 'View latest unread post', + 'VIEW_LATEST_POST' => 'View the latest post', + 'VIEW_NEWEST_POST' => 'View first unread post', 'VIEW_NOTES' => 'View user notes', 'VIEW_ONLINE_TIME' => 'This data is based on users active over the past %d minute', 'VIEW_ONLINE_TIMES' => 'This data is based on users active over the past %d minutes', From bdd206fe332386fb8069499c55a314f4a8be0738 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 06:09:52 +0000 Subject: [PATCH 401/707] #8654 git-svn-id: file:///svn/phpbb/trunk@7351 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/help_faq.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/help_faq.php b/phpBB/language/en/help_faq.php index 62c7b78de6..567717067f 100644 --- a/phpBB/language/en/help_faq.php +++ b/phpBB/language/en/help_faq.php @@ -120,7 +120,7 @@ $help = array( ), array( 0 => 'How do I create a poll?', - 1 => 'Creating a poll is easy, when you post a new topic (or edit the first post of a topic, if you have permission) you should see an Add Poll form below the main posting box (if you cannot see this then you probably do not have rights to create polls). You should enter a title for the poll and then at least two options (to set an option type in the poll question and click the Add option button. You can also set a time limit for the poll, 0 is an infinite poll. There will be a limit to the number of options you can list, this is set by the board administrator.' + 1 => 'Creating a poll is easy, when you post a new topic (or edit the first post of a topic, if you have permission) you should see the “Poll creation” tab below the main posting form (if you cannot see this then you do not have appropriate permissions to create polls). You should enter a title for the poll in “Poll question” and then at least two options in the “Poll options” textarea (limit is set by the board administrator), with each option separated by a new line. You can also set the number of options user may select during voting under “Options per user”, setting a time limit in days for the poll (0 is a poll of infinite duration) and lastly the option if users are allowed to amend their votes.' ), array( 0 => 'How do I edit or delete a poll?', From bb43f8f0de7c1cdc640ddca980e089de695442bf Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 06:12:25 +0000 Subject: [PATCH 402/707] bleh git-svn-id: file:///svn/phpbb/trunk@7352 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/help_faq.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/help_faq.php b/phpBB/language/en/help_faq.php index 567717067f..750819ef5d 100644 --- a/phpBB/language/en/help_faq.php +++ b/phpBB/language/en/help_faq.php @@ -328,7 +328,7 @@ $help = array( ), array( 0 => 'Who do I contact about abusive and/or legal matters related to this board?', - 1 => 'Any of the administrators listed on the “The team” page should be an appropriate point of contact for your complaints. If this still get no response you should contact the owner of the domain (do a whois lookup) or, if this is running on a free service (e.g. Yahoo!, free.fr, f2s.com, etc.), the management or abuse department of that service. Please note that the phpBB Group has absolutely no jurisdiction and cannot in any way be held liable over how, where or by whom this board is used. Do not contact the phpBB Group in relation to any legal (cease and desist, liable, defamatory comment, etc.) matter not directly related to the phpBB.com website or the discrete software of phpBB itself. If you do email phpBB Group about any third party use of this software then you should expect a terse response or no response at all.' + 1 => 'Any of the administrators listed on the “The team” page should be an appropriate point of contact for your complaints. If this still gets no response then you should contact the owner of the domain (do a whois lookup) or, if this is running on a free service (e.g. Yahoo!, free.fr, f2s.com, etc.), the management or abuse department of that service. Please note that the phpBB Group has absolutely no jurisdiction and cannot in any way be held liable over how, where or by whom this board is used. Do not contact the phpBB Group in relation to any legal (cease and desist, liable, defamatory comment, etc.) matter not directly related to the phpBB.com website or the discrete software of phpBB itself. If you do email phpBB Group about any third party use of this software then you should expect a terse response or no response at all.' ) ); From 59c4fad29693584f44fe3acf4de12291c4d8f170 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 06:34:09 +0000 Subject: [PATCH 403/707] icon_back_top.gif wasn't imagesetified and was an ugly inlined image in viewtopic... bleurgh! :P git-svn-id: file:///svn/phpbb/trunk@7353 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/database_update.php | 1 + phpBB/install/schemas/schema_data.sql | 1 + phpBB/styles/prosilver/imageset/imageset.cfg | 2 +- phpBB/styles/prosilver/template/viewtopic_body.html | 2 +- phpBB/styles/prosilver/theme/colours.css | 4 ++-- phpBB/styles/prosilver/theme/links.css | 4 ++-- 6 files changed, 8 insertions(+), 6 deletions(-) diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index e13d8dda87..1ce64acb79 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -997,6 +997,7 @@ if (version_compare($current_version, '3.0.b5', '<=')) INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_read', 'topic_read.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_unread', 'topic_unread.gif', '', 27, 27, 1); + INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_back_top', 'icon_back_top.gif', '', 11, 11, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', '', 20, 20, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', '', 20, 20, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', '', 20, 20, 1); diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index 6e1623ef8c..c0657dd26e 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -515,6 +515,7 @@ INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('global_unread_locked_mine', 'announce_unread_locked_mine.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_read', 'topic_read.gif', '', 27, 27, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('pm_unread', 'topic_unread.gif', '', 27, 27, 1); +INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_back_top', 'icon_back_top.gif', '', 11, 11, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_aim', 'icon_contact_aim.gif', '', 20, 20, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_email', 'icon_contact_email.gif', '', 20, 20, 1); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('icon_contact_icq', 'icon_contact_icq.gif', '', 20, 20, 1); diff --git a/phpBB/styles/prosilver/imageset/imageset.cfg b/phpBB/styles/prosilver/imageset/imageset.cfg index 6af9ed56af..21dc56e00b 100644 --- a/phpBB/styles/prosilver/imageset/imageset.cfg +++ b/phpBB/styles/prosilver/imageset/imageset.cfg @@ -83,7 +83,7 @@ img_global_unread_locked_mine = announce_unread_locked_mine.gif*27*27 img_pm_read = topic_read.gif*27*27 img_pm_unread = topic_unread.gif*27*27 -img_icon_back_top = icon_back_top.gif +img_icon_back_top = icon_back_top.gif*11*11 img_icon_contact_aim = icon_contact_aim.gif*20*20 img_icon_contact_email = icon_contact_email.gif*20*20 diff --git a/phpBB/styles/prosilver/template/viewtopic_body.html b/phpBB/styles/prosilver/template/viewtopic_body.html index 494686f419..c785d541e1 100644 --- a/phpBB/styles/prosilver/template/viewtopic_body.html +++ b/phpBB/styles/prosilver/template/viewtopic_body.html @@ -209,7 +209,7 @@
    -
    {L_BACK_TO_TOP}
    + diff --git a/phpBB/styles/prosilver/theme/colours.css b/phpBB/styles/prosilver/theme/colours.css index c946a501ae..71ad7b4ec4 100644 --- a/phpBB/styles/prosilver/theme/colours.css +++ b/phpBB/styles/prosilver/theme/colours.css @@ -328,11 +328,11 @@ a.topictitle:active { /* Back to top of page */ a.top { - background-image: url("{T_IMAGESET_PATH}/images/top.gif"); + background-image: url("{IMG_ICON_BACK_TOP_SRC}"); } a.top2 { - background-image: url("{T_IMAGESET_PATH}/images/top.gif"); + background-image: url("{IMG_ICON_BACK_TOP_SRC}"); } /* Arrow links */ diff --git a/phpBB/styles/prosilver/theme/links.css b/phpBB/styles/prosilver/theme/links.css index c04d7f0420..733a3cc8d3 100644 --- a/phpBB/styles/prosilver/theme/links.css +++ b/phpBB/styles/prosilver/theme/links.css @@ -136,8 +136,8 @@ a.topictitle:active { a.top { background: none no-repeat 50% 50%; text-decoration: none; - width: 11px; - height: 11px; + width: {IMG_ICON_BACK_TOP_WIDTH}px; + height: {IMG_ICON_BACK_TOP_HEIGHT}px; display: block; float: right; overflow: hidden; From 5cde784419c77fe808e03b47007ef8f12fa83049 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Fri, 13 Apr 2007 15:33:22 +0000 Subject: [PATCH 404/707] Revert and undoing bug #9736 Won't fix, at least for 3.0.x. Re-review come 3.2.x and perhaps may be able to get localised prefixes, so something like: Sv: Re: Antwort: ... doesn't happen. :P git-svn-id: file:///svn/phpbb/trunk@7354 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 6 ++---- phpBB/includes/ucp/ucp_pm_compose.php | 2 +- phpBB/language/en/common.php | 1 - phpBB/posting.php | 2 +- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 61aba60146..d20002dd96 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -3295,13 +3295,11 @@ function get_preg_expression($mode) */ function truncate_string($string, $max_length = 60, $allow_reply = true, $append = '') { - global $user; - $chars = array(); $strip_reply = false; $stripped = false; - if ($allow_reply && strpos($string, $user->lang['SUBJECT_CONCERNING_PREFIX']) === 0) + if ($allow_reply && strpos($string, 'Re: ') === 0) { $strip_reply = true; $string = substr($string, 4); @@ -3320,7 +3318,7 @@ function truncate_string($string, $max_length = 60, $allow_reply = true, $append if ($strip_reply) { - $string = $user->lang['SUBJECT_CONCERNING_PREFIX'] . $string; + $string = 'Re: ' . $string; } if ($append != '' && $stripped) diff --git a/phpBB/includes/ucp/ucp_pm_compose.php b/phpBB/includes/ucp/ucp_pm_compose.php index ef37a59bff..6c9bfdbdb3 100644 --- a/phpBB/includes/ucp/ucp_pm_compose.php +++ b/phpBB/includes/ucp/ucp_pm_compose.php @@ -674,7 +674,7 @@ function compose_pm($id, $mode, $action) if (($action == 'reply' || $action == 'quote' || $action == 'quotepost') && !$preview && !$refresh) { - $message_subject = ((strpos($message_subject, $user->lang['SUBJECT_CONCERNING_PREFIX']) !== 0) ? $user->lang['SUBJECT_CONCERNING_PREFIX'] : '') . censor_text($message_subject); + $message_subject = ((!preg_match('/^Re:/', $message_subject)) ? 'Re: ' : '') . censor_text($message_subject); } if ($action == 'forward' && !$preview && !$refresh && !$submit) diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index e34aae5eec..97248cba0c 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -504,7 +504,6 @@ $lang = array_merge($lang, array( 'SUBFORUM' => 'Subforum', 'SUBFORUMS' => 'Subforums', 'SUBJECT' => 'Subject', - 'SUBJECT_CONCERNING_PREFIX' => 'Re: ', // This is Latin or "concerning" or "about", most Latin influenced languages (id est: those with Latin script) can use this "as is". Localise phrase and punctuation if required. 'SUBMIT' => 'Submit', 'TERMS_USE' => 'Terms of use', diff --git a/phpBB/posting.php b/phpBB/posting.php index 3441e91076..d1b6946d6d 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -1063,7 +1063,7 @@ if ($mode == 'quote' && !$submit && !$preview && !$refresh) if (($mode == 'reply' || $mode == 'quote') && !$submit && !$preview && !$refresh) { - $post_data['post_subject'] = ((strpos($post_data['post_subject'], $user->lang['SUBJECT_CONCERNING_PREFIX']) !== 0) ? $user->lang['SUBJECT_CONCERNING_PREFIX'] : '') . censor_text($post_data['post_subject']); + $post_data['post_subject'] = ((strpos($post_data['post_subject'], 'Re: ') !== 0) ? 'Re: ' : '') . censor_text($post_data['post_subject']); } $attachment_data = $message_parser->attachment_data; From fb2454314450ad36dc5c1480749dad51d9d1c87e Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Sun, 15 Apr 2007 10:59:26 +0000 Subject: [PATCH 405/707] - m_warn is no longer a local moderation permission - magic urls should properly use html entities - speed up posting on big boards, MAX(post_id) query can be simplified a lot in certain cases - user IP list should be labelled with "Other users" [Bug #9707] git-svn-id: file:///svn/phpbb/trunk@7355 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 4 ++-- phpBB/includes/functions_posting.php | 20 +++++++++++++------- phpBB/includes/mcp/mcp_post.php | 2 +- phpBB/includes/mcp/mcp_queue.php | 2 +- phpBB/includes/mcp/mcp_reports.php | 4 ++-- phpBB/install/database_update.php | 6 ++++++ phpBB/install/schemas/schema_data.sql | 2 +- phpBB/language/en/acp/permissions_phpbb.php | 2 +- phpBB/language/en/mcp.php | 2 +- phpBB/memberlist.php | 2 +- phpBB/viewtopic.php | 2 +- 11 files changed, 30 insertions(+), 18 deletions(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index d20002dd96..b36b902991 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2620,11 +2620,11 @@ function make_clickable($text, $server_url = false) // matches a xxxx://aaaaa.bbb.cccc. ... $magic_url_match[] = '#(^|[\n\t (])(' . get_preg_expression('url_inline') . ')#ie'; - $magic_url_replace[] = "'\$1' . ((strlen('\$2') > 55) ? substr(str_replace('&', '&', '\$2'), 0, 39) . ' ... ' . substr(str_replace('&', '&', '\$2'), -10) : '\$2') . ''"; + $magic_url_replace[] = "'\$1' . ((strlen('\$2') > 55) ? str_replace('&', '&', substr(str_replace('&', '&', '\$2'), 0, 39)) . ' ... ' . str_replace('&', '&', substr(str_replace('&', '&', '\$2'), -10)) : '\$2') . ''"; // matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing $magic_url_match[] = '#(^|[\n\t (])(' . get_preg_expression('www_url_inline') . ')#ie'; - $magic_url_replace[] = "'\$1' . ((strlen('\$2') > 55) ? substr(str_replace('&', '&', '\$2'), 0, 39) . ' ... ' . substr(str_replace('&', '&', '\$2'), -10) : '\$2') . ''"; + $magic_url_replace[] = "'\$1' . ((strlen('\$2') > 55) ? str_replace('&', '&', substr(str_replace('&', '&', '\$2'), 0, 39)) . ' ... ' . str_replace('&', '&', substr(str_replace('&', '&', '\$2'), -10)) : '\$2') . ''"; // matches an email@domain type address at the start of a line, or after a space or after what might be a BBCode. $magic_url_match[] = '/(^|[\n\t )])(' . get_preg_expression('email') . ')/ie'; diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index 9e4a5c0843..c5eb47a6ac 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -99,10 +99,12 @@ function generate_smilies($mode, $forum_id) * Update last post information * Should be used instead of sync() if only the last post information are out of sync... faster * -* @param string $type Can be forum|topic -* @param mixed $ids topic/forum ids +* @param string $type Can be forum|topic +* @param mixed $ids topic/forum ids +* @param bool $return_update_sql true: SQL query shall be returned, false: execute SQL +* @param int $min_post_id 0: no bottom limit known, 1..n: MAX(post_id) >= n */ -function update_post_information($type, $ids, $return_update_sql = false) +function update_post_information($type, $ids, $return_update_sql = false, $min_post_id = 0) { global $db; @@ -113,6 +115,8 @@ function update_post_information($type, $ids, $return_update_sql = false) $update_sql = $empty_forums = $not_empty_forums = array(); + $min_post_id_sql = ($min_post_id) ? ' AND p.post_id >= ' . $min_post_id : ''; + if ($type != 'topic') { $topic_join = ', ' . TOPICS_TABLE . ' t'; @@ -130,7 +134,8 @@ function update_post_information($type, $ids, $return_update_sql = false) FROM ' . POSTS_TABLE . " p $topic_join WHERE " . $db->sql_in_set('p.' . $type . '_id', $ids) . " $topic_condition - AND p.post_approved = 1"; + AND p.post_approved = 1 + $min_post_id_sql"; } else { @@ -139,6 +144,7 @@ function update_post_information($type, $ids, $return_update_sql = false) WHERE " . $db->sql_in_set('p.' . $type . '_id', $ids) . " $topic_condition AND p.post_approved = 1 + $min_post_id_sql GROUP BY p.{$type}_id"; } $result = $db->sql_query($sql); @@ -1872,14 +1878,14 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u { if ($topic_type != POST_GLOBAL) { - $update_sql = update_post_information('forum', $data['forum_id'], true); + $update_sql = update_post_information('forum', $data['forum_id'], true, $data['post_id']); if (sizeof($update_sql)) { $sql_data[FORUMS_TABLE]['stat'][] = implode(', ', $update_sql[$data['forum_id']]); } } - $update_sql = update_post_information('topic', $data['topic_id'], true); + $update_sql = update_post_information('topic', $data['topic_id'], true, $data['post_id']); if (sizeof($update_sql)) { $sql_data[TOPICS_TABLE]['stat'][] = implode(', ', $update_sql[$data['topic_id']]); @@ -1888,7 +1894,7 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u if ($make_global) { - $update_sql = update_post_information('forum', $data['forum_id'], true); + $update_sql = update_post_information('forum', $data['forum_id'], true, $data['post_id']); if (sizeof($update_sql)) { $sql_data[FORUMS_TABLE]['stat'][] = implode(', ', $update_sql[$data['forum_id']]); diff --git a/phpBB/includes/mcp/mcp_post.php b/phpBB/includes/mcp/mcp_post.php index d38d6c2a1b..ea2e2fafd7 100644 --- a/phpBB/includes/mcp/mcp_post.php +++ b/phpBB/includes/mcp/mcp_post.php @@ -141,7 +141,7 @@ function mcp_post_details($id, $mode, $action) 'U_MCP_APPROVE' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue&mode=approve_details&f=' . $post_info['forum_id'] . '&p=' . $post_id), 'U_MCP_REPORT' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=reports&mode=report_details&f=' . $post_info['forum_id'] . '&p=' . $post_id), 'U_MCP_USER_NOTES' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $post_info['user_id']), - 'U_MCP_WARN_USER' => ($auth->acl_getf_global('m_warn')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $post_info['user_id']) : '', + 'U_MCP_WARN_USER' => ($auth->acl_get('m_warn')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $post_info['user_id']) : '', 'U_VIEW_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $post_info['forum_id'] . '&p=' . $post_info['post_id'] . '#p' . $post_info['post_id']), 'U_VIEW_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $post_info['forum_id'] . '&t=' . $post_info['topic_id']), diff --git a/phpBB/includes/mcp/mcp_queue.php b/phpBB/includes/mcp/mcp_queue.php index 673e65dd58..0e8976c5d0 100644 --- a/phpBB/includes/mcp/mcp_queue.php +++ b/phpBB/includes/mcp/mcp_queue.php @@ -143,7 +143,7 @@ class mcp_queue 'U_MCP_APPROVE' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue&mode=approve_details&f=' . $post_info['forum_id'] . '&p=' . $post_id), 'U_MCP_REPORT' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=reports&mode=report_details&f=' . $post_info['forum_id'] . '&p=' . $post_id), 'U_MCP_USER_NOTES' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $post_info['user_id']), - 'U_MCP_WARN_USER' => ($auth->acl_getf_global('m_warn')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $post_info['user_id']) : '', + 'U_MCP_WARN_USER' => ($auth->acl_get('m_warn')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $post_info['user_id']) : '', 'U_VIEW_POST' => $post_url, 'U_VIEW_TOPIC' => $topic_url, diff --git a/phpBB/includes/mcp/mcp_reports.php b/phpBB/includes/mcp/mcp_reports.php index b5b1dc0cf7..6ee46bc834 100755 --- a/phpBB/includes/mcp/mcp_reports.php +++ b/phpBB/includes/mcp/mcp_reports.php @@ -147,8 +147,8 @@ class mcp_reports 'U_MCP_REPORT' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=reports&mode=report_details&f=' . $post_info['forum_id'] . '&p=' . $post_id), 'U_MCP_REPORTER_NOTES' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $report['user_id']), 'U_MCP_USER_NOTES' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $post_info['user_id']), - 'U_MCP_WARN_REPORTER' => ($auth->acl_getf_global('m_warn')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $report['user_id']) : '', - 'U_MCP_WARN_USER' => ($auth->acl_getf_global('m_warn')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $post_info['user_id']) : '', + 'U_MCP_WARN_REPORTER' => ($auth->acl_get('m_warn')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $report['user_id']) : '', + 'U_MCP_WARN_USER' => ($auth->acl_get('m_warn')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $post_info['user_id']) : '', 'U_VIEW_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $post_info['forum_id'] . '&p=' . $post_info['post_id'] . '#p' . $post_info['post_id']), 'U_VIEW_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $post_info['forum_id'] . '&t=' . $post_info['topic_id']), diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 1ce64acb79..5ec0f8ffd2 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -1082,6 +1082,12 @@ if (version_compare($current_version, '3.0.b5', '<=')) $db->sql_query($sql); } unset($sql_in); + + $sql = 'UPDATE ' . ACL_OPTIONS_TABLE . ' SET is_local = 0 WHERE auth_option = \'m_warn\''; + $db->sql_query($sql); + + $sql = 'UPDATE ' . MODULES_TABLE . ' SET module_auth = \'acl_m_warn && acl_f_read,$id\' WHERE module_basename = \'warn\' AND module_mode = \'warn_post\''; + $db->sql_query($sql); $no_updates = false; } diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index c0657dd26e..597d37d269 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -270,10 +270,10 @@ INSERT INTO phpbb_acl_options (auth_option, is_local, is_global) VALUES ('m_merg INSERT INTO phpbb_acl_options (auth_option, is_local, is_global) VALUES ('m_move', 1, 1); INSERT INTO phpbb_acl_options (auth_option, is_local, is_global) VALUES ('m_report', 1, 1); INSERT INTO phpbb_acl_options (auth_option, is_local, is_global) VALUES ('m_split', 1, 1); -INSERT INTO phpbb_acl_options (auth_option, is_local, is_global) VALUES ('m_warn', 1, 1); # -- Global moderator auth option (not a local option) INSERT INTO phpbb_acl_options (auth_option, is_local, is_global) VALUES ('m_ban', 0, 1); +INSERT INTO phpbb_acl_options (auth_option, is_local, is_global) VALUES ('m_warn', 0, 1); # -- Admin related auth options INSERT INTO phpbb_acl_options (auth_option, is_global) VALUES ('a_', 1); diff --git a/phpBB/language/en/acp/permissions_phpbb.php b/phpBB/language/en/acp/permissions_phpbb.php index 47105d8828..97b7425f52 100644 --- a/phpBB/language/en/acp/permissions_phpbb.php +++ b/phpBB/language/en/acp/permissions_phpbb.php @@ -175,7 +175,7 @@ $lang = array_merge($lang, array( 'acl_m_merge' => array('lang' => 'Can merge topics', 'cat' => 'topic_actions'), 'acl_m_info' => array('lang' => 'Can view post details', 'cat' => 'misc'), - 'acl_m_warn' => array('lang' => 'Can issue warnings', 'cat' => 'misc'), + 'acl_m_warn' => array('lang' => 'Can issue warnings', 'cat' => 'misc'), // This moderator setting is only global (and not local) 'acl_m_ban' => array('lang' => 'Can manage bans', 'cat' => 'misc'), // This moderator setting is only global (and not local) )); diff --git a/phpBB/language/en/mcp.php b/phpBB/language/en/mcp.php index d985cb6c6d..433846b402 100644 --- a/phpBB/language/en/mcp.php +++ b/phpBB/language/en/mcp.php @@ -222,7 +222,7 @@ $lang = array_merge($lang, array( 'NO_TOPICS_QUEUE' => 'No topics', 'ONLY_TOPIC' => 'Only topic "%s"', - 'OTHER_USERS' => 'Users posting from this IP', + 'OTHER_USERS' => 'Other users posting from this IP', 'POSTER' => 'Poster', 'POSTS_APPROVED_SUCCESS' => 'The selected posts have been approved', diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index bad74fe12d..9659a96a6c 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1464,7 +1464,7 @@ function show_profile($data) 'U_SEARCH_USER' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", "author_id=$user_id&sr=posts") : '', 'U_NOTES' => $auth->acl_getf_global('m_') ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $user_id, true, $user->session_id) : '', - 'U_WARN' => $auth->acl_getf_global('m_warn') ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $user_id, true, $user->session_id) : '', + 'U_WARN' => $auth->acl_get('m_warn') ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $user_id, true, $user->session_id) : '', 'U_PM' => ($config['allow_privmsg'] && $auth->acl_get('u_sendpm') && ($data['user_allow_pm'] || $auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_'))) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&u=' . $user_id) : '', 'U_EMAIL' => $email, 'U_WWW' => (!empty($data['user_website'])) ? $data['user_website'] : '', diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php index 48ae70c7d6..1da4d75fbb 100644 --- a/phpBB/viewtopic.php +++ b/phpBB/viewtopic.php @@ -1409,7 +1409,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i) 'U_NEXT_POST_ID' => ($i < $i_total && isset($rowset[$post_list[$i + 1]])) ? $rowset[$post_list[$i + 1]]['post_id'] : '', 'U_PREV_POST_ID' => $prev_post_id, 'U_NOTES' => ($auth->acl_getf_global('m_')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $poster_id, true, $user->session_id) : '', - 'U_WARN' => ($auth->acl_getf_global('m_warn') && $poster_id != $user->data['user_id'] && $poster_id != ANONYMOUS) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_post&f=' . $forum_id . '&p=' . $row['post_id'], true, $user->session_id) : '', + 'U_WARN' => ($auth->acl_get('m_warn') && $poster_id != $user->data['user_id'] && $poster_id != ANONYMOUS) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_post&f=' . $forum_id . '&p=' . $row['post_id'], true, $user->session_id) : '', 'POST_ID' => $row['post_id'], 'POSTER_ID' => $poster_id, From 24367c94e98c939d6c1e67e9bbf5db77503b0ba0 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 15 Apr 2007 14:38:23 +0000 Subject: [PATCH 406/707] #9864 git-svn-id: file:///svn/phpbb/trunk@7356 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/posting.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/phpBB/posting.php b/phpBB/posting.php index d1b6946d6d..07ed0946ee 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -85,6 +85,7 @@ switch ($mode) case 'delete': if (!$post_id) { + $user->setup('posting'); trigger_error('NO_POST'); } @@ -123,7 +124,7 @@ switch ($mode) if (!$sql) { - $user->setup(array('posting', 'mcp', 'viewtopic')); + $user->setup('posting'); trigger_error('NO_POST_MODE'); } @@ -133,6 +134,10 @@ $db->sql_freeresult($result); if (!$post_data) { + if (!($mode == 'post' || $mode == 'bump' || $mode == 'reply')) + { + $user->setup('posting'); + } trigger_error(($mode == 'post' || $mode == 'bump' || $mode == 'reply') ? 'NO_TOPIC' : 'NO_POST'); } From 781331d2a5834f51df63fba1458f98dcf1794f9e Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 15 Apr 2007 17:51:20 +0000 Subject: [PATCH 407/707] #9822 git-svn-id: file:///svn/phpbb/trunk@7357 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_users.php | 2 +- phpBB/includes/ucp/ucp_profile.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index 7312dd3bf0..b7ec9c75f4 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -984,7 +984,7 @@ class acp_users 'msn' => array('string', true, 5, 255), 'jabber' => array( array('string', true, 5, 255), - array('match', true, '#^[a-z0-9\.\-_\+]+?@(.*?\.)*?[a-z0-9\-_]+?\.[a-z]{2,4}(/.*)?$#i')), + array('match', true, '#^[^@:\'"<>&\x00-\x1F\x7F\t\r\n]+@(.*?\.)*?[a-z0-9\-_]+?\.[a-z]{2,4}(/.*)?$#iu')), 'yim' => array('string', true, 5, 255), 'website' => array( array('string', true, 12, 255), diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php index e6e495af26..aecd88934a 100644 --- a/phpBB/includes/ucp/ucp_profile.php +++ b/phpBB/includes/ucp/ucp_profile.php @@ -292,7 +292,7 @@ class ucp_profile 'msn' => array('string', true, 5, 255), 'jabber' => array( array('string', true, 5, 255), - array('match', true, '#^[a-z0-9\.\-_\+]+?@(.*?\.)*?[a-z0-9\-_]+?\.[a-z]{2,4}(/.*)?$#i')), + array('match', true, '#^[^@:\'"<>&\x00-\x1F\x7F\t\r\n]+@(.*?\.)*?[a-z0-9\-_]+?\.[a-z]{2,4}(/.*)?$#iu')), 'yim' => array('string', true, 5, 255), 'website' => array( array('string', true, 12, 255), From 4cad875b855b14cfe7846ac3b5dc377a171400d4 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 15 Apr 2007 18:41:25 +0000 Subject: [PATCH 408/707] #9847 git-svn-id: file:///svn/phpbb/trunk@7358 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/common.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 97248cba0c..191d428c5f 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -559,7 +559,7 @@ $lang = array_merge($lang, array( 'TOTAL_LOG' => '1 log', 'TOTAL_LOGS' => '%d logs', 'TOTAL_NO_PM' => '0 private messages in total', - 'TOTAL_PM' => '1 private messages in total', + 'TOTAL_PM' => '1 private message in total', 'TOTAL_PMS' => '%d private messages in total', 'TOTAL_POSTS' => 'Total posts', 'TOTAL_POSTS_OTHER' => 'Total posts %d', From 57e402b15de0bc544280c802d3036b1708fcbb79 Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 15 Apr 2007 19:00:43 +0000 Subject: [PATCH 409/707] #9836 git-svn-id: file:///svn/phpbb/trunk@7359 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index b36b902991..c15c3f971d 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2196,7 +2196,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa $redirect .= ($user->page['page_dir']) ? $user->page['page_dir'] . '/' : ''; } - $redirect .= $user->page['page_name'] . (($user->page['query_string']) ? '?' . $user->page['query_string'] : ''); + $redirect .= $user->page['page_name'] . (($user->page['query_stringquery_string']) ? '?' . htmlspecialchars($user->page['query_string']) : ''); } $s_hidden_fields = build_hidden_fields(array('redirect' => $redirect, 'sid' => $user->session_id)); From 6e92276b87ee57b45598cb559ebce7db999ce3ac Mon Sep 17 00:00:00 2001 From: David M Date: Sun, 15 Apr 2007 20:46:36 +0000 Subject: [PATCH 410/707] *** empty log message *** git-svn-id: file:///svn/phpbb/trunk@7360 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index c15c3f971d..f7cefca462 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2196,7 +2196,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa $redirect .= ($user->page['page_dir']) ? $user->page['page_dir'] . '/' : ''; } - $redirect .= $user->page['page_name'] . (($user->page['query_stringquery_string']) ? '?' . htmlspecialchars($user->page['query_string']) : ''); + $redirect .= $user->page['page_name'] . (($user->page['query_string']) ? '?' . htmlspecialchars($user->page['query_string']) : ''); } $s_hidden_fields = build_hidden_fields(array('redirect' => $redirect, 'sid' => $user->session_id)); From c76a2cdfe867952c3b1087a585589debc0b5d648 Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Sun, 15 Apr 2007 21:40:25 +0000 Subject: [PATCH 411/707] - viewtopic/forum search boxes should also use search config option and u_search permission [Bug #9850] - mcp_reports was still using some of the mcp_queue post_id logic, changed enough to report_id logic to make it work properly now. I hope I didn't miss any external places referring to mcp_reports which send it a post_id_list. I really wonder whether people don't test the MCP at all? Good that I noticed this myself when fixing an incorrect language string (No reports selected) message [Bug #9741] - forgot to check in the changed mcp/info file for mcp_warn with global m_warn option - mcp_post.html was missing a submit button for changing the poster in prosilver [Bug #9771] - language variables in javascript in templates should use LA_ not L_ for proper escaping of single quotes git-svn-id: file:///svn/phpbb/trunk@7361 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/mcp/info/mcp_warn.php | 2 +- phpBB/includes/mcp/mcp_reports.php | 153 ++++++++++-------- phpBB/language/en/mcp.php | 1 + phpBB/styles/prosilver/template/mcp_post.html | 9 +- .../prosilver/template/mcp_reports.html | 4 +- .../prosilver/template/overall_header.html | 2 +- .../styles/subsilver2/template/mcp_post.html | 2 +- .../subsilver2/template/mcp_reports.html | 2 +- phpBB/viewforum.php | 2 +- phpBB/viewtopic.php | 2 +- 10 files changed, 102 insertions(+), 77 deletions(-) diff --git a/phpBB/includes/mcp/info/mcp_warn.php b/phpBB/includes/mcp/info/mcp_warn.php index b5bef23be6..d53f35e00d 100644 --- a/phpBB/includes/mcp/info/mcp_warn.php +++ b/phpBB/includes/mcp/info/mcp_warn.php @@ -23,7 +23,7 @@ class mcp_warn_info 'front' => array('title' => 'MCP_WARN_FRONT', 'auth' => 'aclf_m_warn', 'cat' => array('MCP_WARN')), 'list' => array('title' => 'MCP_WARN_LIST', 'auth' => 'aclf_m_warn', 'cat' => array('MCP_WARN')), 'warn_user' => array('title' => 'MCP_WARN_USER', 'auth' => 'aclf_m_warn', 'cat' => array('MCP_WARN')), - 'warn_post' => array('title' => 'MCP_WARN_POST', 'auth' => 'acl_m_warn,$id || (!$id && aclf_m_warn)', 'cat' => array('MCP_WARN')), + 'warn_post' => array('title' => 'MCP_WARN_POST', 'auth' => 'acl_m_warn && acl_f_read,$id', 'cat' => array('MCP_WARN')), ), ); } diff --git a/phpBB/includes/mcp/mcp_reports.php b/phpBB/includes/mcp/mcp_reports.php index 6ee46bc834..33c71b47b1 100755 --- a/phpBB/includes/mcp/mcp_reports.php +++ b/phpBB/includes/mcp/mcp_reports.php @@ -41,14 +41,14 @@ class mcp_reports case 'delete': include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx); - $post_id_list = request_var('post_id_list', array(0)); + $report_id_list = request_var('report_id_list', array(0)); - if (!sizeof($post_id_list)) + if (!sizeof($report_id_list)) { - trigger_error('NO_POST_SELECTED'); + trigger_error('NO_REPORT_SELECTED'); } - close_report($post_id_list, $mode, $action); + close_report($report_id_list, $mode, $action); break; } @@ -64,7 +64,7 @@ class mcp_reports // closed reports are accessed by report id $report_id = request_var('r', 0); - $sql = 'SELECT r.post_id, r.user_id, r.report_closed, report_time, r.report_text, rr.reason_title, rr.reason_description, u.username, u.username_clean, u.user_colour + $sql = 'SELECT r.post_id, r.user_id, r.report_id, r.report_closed, report_time, r.report_text, rr.reason_title, rr.reason_description, u.username, u.username_clean, u.user_colour FROM ' . REPORTS_TABLE . ' r, ' . REPORTS_REASONS_TABLE . ' rr, ' . USERS_TABLE . ' u WHERE ' . (($report_id) ? 'r.report_id = ' . $report_id : "r.post_id = $post_id AND r.report_closed = 0") . ' AND rr.reason_id = r.reason_id @@ -75,19 +75,17 @@ class mcp_reports if (!$report) { - trigger_error('NO_POST_REPORT'); + trigger_error('NO_REPORT_REPORT'); } - if ($report_id) - { - $post_id = $report['post_id']; - } + $post_id = $report['post_id']; + $report_id = $report['report_id']; $post_info = get_post_data(array($post_id), 'm_report', true); if (!sizeof($post_info)) { - trigger_error('NO_POST_SELECTED'); + trigger_error('NO_REPORT_SELECTED'); } $post_info = $post_info[$post_id]; @@ -158,9 +156,10 @@ class mcp_reports 'RETURN_REPORTS' => sprintf($user->lang['RETURN_REPORTS'], '', ''), 'REPORTED_IMG' => $user->img('icon_topic_reported', $user->lang['POST_REPORTED']), + 'REPORT_DATE' => $user->format_date($report['report_time']), + 'REPORT_ID' => $report_id, 'REPORT_REASON_TITLE' => $reason['title'], 'REPORT_REASON_DESCRIPTION' => $reason['description'], - 'REPORT_DATE' => $user->format_date($report['report_time']), 'REPORT_TEXT' => $report['report_text'], 'POST_AUTHOR_FULL' => get_username_string('full', $post_info['user_id'], $post_info['username'], $post_info['user_colour'], $post_info['post_username']), @@ -335,6 +334,7 @@ class mcp_reports 'POST_ID' => $row['post_id'], 'POST_SUBJECT' => $row['post_subject'], 'POST_TIME' => $user->format_date($row['post_time']), + 'REPORT_ID' => $row['report_id'], 'REPORT_TIME' => $user->format_date($row['report_time']), 'TOPIC_TITLE' => $row['topic_title']) ); @@ -370,11 +370,23 @@ class mcp_reports /** * Closes a report */ -function close_report($post_id_list, $mode, $action) +function close_report($report_id_list, $mode, $action) { global $db, $template, $user, $config; global $phpEx, $phpbb_root_path; + $sql = 'SELECT r.post_id + FROM ' . REPORTS_TABLE . ' r + WHERE ' . $db->sql_in_set('r.report_id', $report_id_list); + $result = $db->sql_query($sql); + + $post_id_list = array(); + while ($row = $db->sql_fetchrow($result)) + { + $post_id_list[] = $row['post_id']; + } + $post_id_list = array_unique($post_id_list); + if (!check_ids($post_id_list, POSTS_TABLE, 'post_id', array('m_report'))) { trigger_error('NOT_AUTHORISED'); @@ -395,67 +407,68 @@ function close_report($post_id_list, $mode, $action) $success_msg = ''; $s_hidden_fields = build_hidden_fields(array( - 'i' => 'reports', - 'mode' => $mode, - 'post_id_list' => $post_id_list, - 'action' => $action, - 'redirect' => $redirect) + 'i' => 'reports', + 'mode' => $mode, + 'report_id_list' => $report_id_list, + 'action' => $action, + 'redirect' => $redirect) ); if (confirm_box(true)) { $post_info = get_post_data($post_id_list, 'm_report'); - $sql = 'SELECT r.post_id, r.report_closed, r.user_id, r.user_notify, u.username, u.username_clean, u.user_email, u.user_jabber, u.user_lang, u.user_notify_type + $sql = 'SELECT r.report_id, r.post_id, r.report_closed, r.user_id, r.user_notify, u.username, u.username_clean, u.user_email, u.user_jabber, u.user_lang, u.user_notify_type FROM ' . REPORTS_TABLE . ' r, ' . USERS_TABLE . ' u - WHERE ' . $db->sql_in_set('r.post_id', array_keys($post_info)) . ' + WHERE ' . $db->sql_in_set('r.report_id', $report_id_list) . ' ' . (($action == 'close') ? 'AND r.report_closed = 0' : '') . ' AND r.user_id = u.user_id'; $result = $db->sql_query($sql); - $reports = array(); + $reports = $close_report_posts = $close_report_topics = $notify_reporters = $report_id_list = array(); while ($report = $db->sql_fetchrow($result)) { - $reports[$report['post_id']] = $report; + $reports[$report['report_id']] = $report; + $report_id_list[] = $report['report_id']; + + if (!$report['report_closed']) + { + $close_report_posts[] = $report['post_id']; + $close_report_topics[] = $post_info[$report['post_id']]['topic_id']; + } + + if ($report['user_notify'] && !$report['report_closed']) + { + $notify_reporters[$report['report_id']] = &$reports[$report['report_id']]; + } } $db->sql_freeresult($result); - $close_report_posts = $close_report_topics = $notify_reporters = array(); - foreach ($post_info as $post_id => $post_data) - { - if (isset($reports[$post_id])) - { - $close_report_posts[] = $post_id; - $close_report_topics[] = $post_data['topic_id']; - - if ($reports[$post_id]['user_notify'] && !$reports[$post_id]['report_closed']) - { - $notify_reporters[$post_id] = $reports[$post_id]; - } - } - } - - if (sizeof($close_report_posts)) + if (sizeof($reports)) { + $close_report_posts = array_unique($close_report_posts); $close_report_topics = array_unique($close_report_topics); - // Get a list of topics that still contain reported posts - $sql = 'SELECT DISTINCT topic_id - FROM ' . POSTS_TABLE . ' - WHERE ' . $db->sql_in_set('topic_id', $close_report_topics) . ' - AND post_reported = 1 - AND ' . $db->sql_in_set('post_id', $close_report_posts, true); - $result = $db->sql_query($sql); - - $keep_report_topics = array(); - while ($row = $db->sql_fetchrow($result)) + if (sizeof($close_report_posts)) { - $keep_report_topics[] = $row['topic_id']; - } - $db->sql_freeresult($result); + // Get a list of topics that still contain reported posts + $sql = 'SELECT DISTINCT topic_id + FROM ' . POSTS_TABLE . ' + WHERE ' . $db->sql_in_set('topic_id', $close_report_topics) . ' + AND post_reported = 1 + AND ' . $db->sql_in_set('post_id', $close_report_posts, true); + $result = $db->sql_query($sql); - $close_report_topics = array_diff($close_report_topics, $keep_report_topics); - unset($keep_report_topics); + $keep_report_topics = array(); + while ($row = $db->sql_fetchrow($result)) + { + $keep_report_topics[] = $row['topic_id']; + } + $db->sql_freeresult($result); + + $close_report_topics = array_diff($close_report_topics, $keep_report_topics); + unset($keep_report_topics); + } $db->sql_transaction('begin'); @@ -463,26 +476,30 @@ function close_report($post_id_list, $mode, $action) { $sql = 'UPDATE ' . REPORTS_TABLE . ' SET report_closed = 1 - WHERE ' . $db->sql_in_set('post_id', $close_report_posts); + WHERE ' . $db->sql_in_set('report_id', $report_id_list); } else { $sql = 'DELETE FROM ' . REPORTS_TABLE . ' - WHERE ' . $db->sql_in_set('post_id', $close_report_posts); + WHERE ' . $db->sql_in_set('report_id', $report_id_list); } $db->sql_query($sql); - $sql = 'UPDATE ' . POSTS_TABLE . ' - SET post_reported = 0 - WHERE ' . $db->sql_in_set('post_id', $close_report_posts); - $db->sql_query($sql); - if (sizeof($close_report_topics)) + if (sizeof($close_report_posts)) { - $sql = 'UPDATE ' . TOPICS_TABLE . ' - SET topic_reported = 0 - WHERE ' . $db->sql_in_set('topic_id', $close_report_topics); + $sql = 'UPDATE ' . POSTS_TABLE . ' + SET post_reported = 0 + WHERE ' . $db->sql_in_set('post_id', $close_report_posts); $db->sql_query($sql); + + if (sizeof($close_report_topics)) + { + $sql = 'UPDATE ' . TOPICS_TABLE . ' + SET topic_reported = 0 + WHERE ' . $db->sql_in_set('topic_id', $close_report_topics); + $db->sql_query($sql); + } } $db->sql_transaction('commit'); @@ -494,13 +511,15 @@ function close_report($post_id_list, $mode, $action) // Notify reporters if (sizeof($notify_reporters)) { - foreach ($notify_reporters as $post_id => $reporter) + foreach ($notify_reporters as $report_id => $reporter) { if ($reporter['user_id'] == ANONYMOUS) { continue; } + $post_id = $reporter['post_id']; + $messenger->template('report_' . $action . 'd', $reporter['user_lang']); $messenger->to($reporter['user_email'], $reporter['username']); @@ -516,15 +535,15 @@ function close_report($post_id_list, $mode, $action) $messenger->send($reporter['user_notify_type']); } } - unset($notify_reporters, $post_info); + unset($notify_reporters, $post_info, $reports); $messenger->save_queue(); - $success_msg = (sizeof($post_id_list) == 1) ? 'REPORT_' . strtoupper($action) . 'D_SUCCESS' : 'REPORTS_' . strtoupper($action) . 'D_SUCCESS'; + $success_msg = (sizeof($report_id_list) == 1) ? 'REPORT_' . strtoupper($action) . 'D_SUCCESS' : 'REPORTS_' . strtoupper($action) . 'D_SUCCESS'; } else { - confirm_box(false, $user->lang[strtoupper($action) . '_REPORT' . ((sizeof($post_id_list) == 1) ? '' : 'S') . '_CONFIRM'], $s_hidden_fields); + confirm_box(false, $user->lang[strtoupper($action) . '_REPORT' . ((sizeof($report_id_list) == 1) ? '' : 'S') . '_CONFIRM'], $s_hidden_fields); } $redirect = request_var('redirect', "index.$phpEx"); diff --git a/phpBB/language/en/mcp.php b/phpBB/language/en/mcp.php index 433846b402..8552925f51 100644 --- a/phpBB/language/en/mcp.php +++ b/phpBB/language/en/mcp.php @@ -217,6 +217,7 @@ $lang = array_merge($lang, array( 'NO_POST_SELECTED' => 'You must select at least one post to perform this action', 'NO_REASON_DISAPPROVAL' => 'Please give an appropriate reason for disapproval', 'NO_REPORTS' => 'No reports', + 'NO_REPORT_SELECTED' => 'You must select at least one report to perform this action', 'NO_TOPIC_ICON' => 'None', 'NO_TOPIC_SELECTED' => 'You must select at least one topic to perform this action', 'NO_TOPICS_QUEUE' => 'No topics', diff --git a/phpBB/styles/prosilver/template/mcp_post.html b/phpBB/styles/prosilver/template/mcp_post.html index 6d82b5782e..a16396f094 100644 --- a/phpBB/styles/prosilver/template/mcp_post.html +++ b/phpBB/styles/prosilver/template/mcp_post.html @@ -31,7 +31,7 @@   - + @@ -110,7 +110,12 @@
    -
    [ {L_FIND_USERNAME} ]
    +
    + + +
    + [ {L_FIND_USERNAME} ] +
    diff --git a/phpBB/styles/prosilver/template/mcp_reports.html b/phpBB/styles/prosilver/template/mcp_reports.html index 04f0d74682..67c9c84f6b 100644 --- a/phpBB/styles/prosilver/template/mcp_reports.html +++ b/phpBB/styles/prosilver/template/mcp_reports.html @@ -43,7 +43,7 @@ {postrow.REPORTER_FULL} {L_REPORTED_ON_DATE} {postrow.REPORT_TIME}
    {L_FORUM}: {postrow.FORUM_NAME}
    -
    +
    @@ -75,7 +75,7 @@
      - +
    diff --git a/phpBB/styles/prosilver/template/overall_header.html b/phpBB/styles/prosilver/template/overall_header.html index 811dfce3ae..0d6d5f3cd0 100644 --- a/phpBB/styles/prosilver/template/overall_header.html +++ b/phpBB/styles/prosilver/template/overall_header.html @@ -129,7 +129,7 @@ - - diff --git a/phpBB/styles/prosilver/template/posting_buttons.html b/phpBB/styles/prosilver/template/posting_buttons.html index 35356f2e84..6da383def5 100644 --- a/phpBB/styles/prosilver/template/posting_buttons.html +++ b/phpBB/styles/prosilver/template/posting_buttons.html @@ -1,3 +1,4 @@ + + + + +
    @@ -85,8 +113,9 @@ +
    - \ No newline at end of file + diff --git a/phpBB/styles/prosilver/template/posting_editor.html b/phpBB/styles/prosilver/template/posting_editor.html index 304deef6ba..0d86a5e7e3 100644 --- a/phpBB/styles/prosilver/template/posting_editor.html +++ b/phpBB/styles/prosilver/template/posting_editor.html @@ -118,7 +118,7 @@ -
    +
    {BBCODE_STATUS}
    {IMG_STATUS}
    diff --git a/phpBB/styles/prosilver/theme/common.css b/phpBB/styles/prosilver/theme/common.css index 170d4b0a83..f60fdec719 100644 --- a/phpBB/styles/prosilver/theme/common.css +++ b/phpBB/styles/prosilver/theme/common.css @@ -128,6 +128,7 @@ p.right { float: left; width: auto; padding: 10px 13px 0 10px; + height: auto; } a#logo:hover { @@ -138,14 +139,22 @@ a#logo:hover { --------------------------------------------- */ #search-box { color: #FFFFFF; - position: absolute; - right: 35px; - top: 35px; - width: 17em; + position: relative; + margin-top: 30px; + margin-right: 5px; + display: block; + float: right; text-align: right; white-space: nowrap; /* For Opera */ } +.rtl #search-box { + float: left; + text-align: left; + margin-right: 0; + margin-left: 5px; +} + #search-box #keywords { width: 95px; background-color: #FFF; @@ -170,6 +179,16 @@ a#logo:hover { margin-right: 3px; } +/* Site description and logo */ +#site-description { + float: left; + width: 70%; +} + +.rtl #site-description { + float: right; +} + /* Round cornered boxes and backgrounds ---------------------------------------- */ .headerbar { diff --git a/phpBB/styles/prosilver/theme/links.css b/phpBB/styles/prosilver/theme/links.css index 733a3cc8d3..a6418914a5 100644 --- a/phpBB/styles/prosilver/theme/links.css +++ b/phpBB/styles/prosilver/theme/links.css @@ -73,7 +73,6 @@ a.topictitle:active { /* Post body links */ .postlink { - text-decoration: none; color: #d2d2d2; border-bottom: 1px solid #d2d2d2; padding-bottom: 0; diff --git a/phpBB/styles/prosilver/theme/tweaks.css b/phpBB/styles/prosilver/theme/tweaks.css index 4dd490ea33..e3a2557fc5 100644 --- a/phpBB/styles/prosilver/theme/tweaks.css +++ b/phpBB/styles/prosilver/theme/tweaks.css @@ -52,4 +52,13 @@ dl.icon { min-height: 35px; height: auto !important; height: 35px; +} + +* html #search-box { + margin-right: 35px; +} + +* html .rtl #search-box { + margin-right: 0; + margin-left: 35px; } \ No newline at end of file diff --git a/phpBB/styles/subsilver2/template/editor.js b/phpBB/styles/subsilver2/template/editor.js index c9d6321394..339609b56e 100644 --- a/phpBB/styles/subsilver2/template/editor.js +++ b/phpBB/styles/subsilver2/template/editor.js @@ -64,7 +64,7 @@ function bbstyle(bbnumber) else { insert_text('[*]'); - document.forms[form_name].elements[text_name].focus(); + document.forms[form_name].elements[text_name].focus(); } } @@ -103,7 +103,7 @@ function bbfontstyle(bbopen, bbclose) //The new position for the cursor after adding the bbcode var caret_pos = getCaretPosition(textarea).start; - var new_pos = caret_pos + bbopen.length; + var new_pos = caret_pos + bbopen.length; // Open tag insert_text(bbopen + bbclose); @@ -118,9 +118,8 @@ function bbfontstyle(bbopen, bbclose) // IE else if (document.selection) { - var range = textarea.createTextRange(); - range.move("character", new_pos); + range.move("character", new_pos); range.select(); storeCaret(textarea); } @@ -230,7 +229,7 @@ function addquote(post_id, username) theSelection = theSelection.replace(//ig, '\n'); theSelection = theSelection.replace(/<\;/ig, '<'); theSelection = theSelection.replace(/>\;/ig, '>'); - theSelection = theSelection.replace(/&\;/ig, '&'); + theSelection = theSelection.replace(/&\;/ig, '&'); } else if (document.all) { @@ -374,7 +373,6 @@ function getCaretPosition(txtarea) // dirty and slow IE way else if(document.selection) { - // get current selection var range = document.selection.createRange(); @@ -393,7 +391,7 @@ function getCaretPosition(txtarea) // 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; diff --git a/phpBB/styles/subsilver2/template/mcp_ban.html b/phpBB/styles/subsilver2/template/mcp_ban.html index 1834e729ba..a995163f39 100644 --- a/phpBB/styles/subsilver2/template/mcp_ban.html +++ b/phpBB/styles/subsilver2/template/mcp_ban.html @@ -49,7 +49,7 @@ {L_BAN_LENGTH}: -
    (YYYY-MM-DD) +
    {L_YEAR_MONTH_DAY} {L_BAN_EXCLUDE}:
    {L_BAN_EXCLUDE_EXPLAIN} From 6b28ae8b2286e659785708e958a26befda88fa4b Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Wed, 2 May 2007 21:08:50 +0000 Subject: [PATCH 502/707] some tiny changes git-svn-id: file:///svn/phpbb/trunk@7452 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/develop/adjust_avatars.php | 26 ++++++++-------- phpBB/includes/auth.php | 12 ++++---- phpBB/includes/functions_user.php | 26 +++++++++------- phpBB/install/database_update.php | 40 ++++++++++++++++++++++--- phpBB/style.php | 7 ++++- phpBB/styles/prosilver/theme/common.css | 1 - phpBB/styles/prosilver/theme/links.css | 1 + 7 files changed, 76 insertions(+), 37 deletions(-) diff --git a/phpBB/develop/adjust_avatars.php b/phpBB/develop/adjust_avatars.php index f2d46e9a52..5133ed8081 100755 --- a/phpBB/develop/adjust_avatars.php +++ b/phpBB/develop/adjust_avatars.php @@ -32,8 +32,8 @@ if (!isset($config['avatar_salt'])) // 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; + FROM ' . GROUPS_TABLE . ' + WHERE group_avatar_type = ' . AVATAR_UPLOAD; // We'll skip these, so remember them $group_avatars = array(); @@ -44,21 +44,20 @@ $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) + if ($new_avatar_name !== false) { $sql = 'UPDATE ' . USERS_TABLE . " - SET user_avatar = '$new_avatar_name' - WHERE user_avatar = '{$row['group_avatar']}' + 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 = '$new_avatar_name' + SET group_avatar = '" . $db->sql_escape($new_avatar_name) . "' WHERE group_id = {$row['group_id']}"; $db->sql_query($sql); } @@ -66,7 +65,7 @@ while ($row = $db->sql_fetchrow($result)) { echo '
    Failed updating group ' . $row['group_id'] . "\n"; } - + if ($echos > 200) { echo '
    ' . "\n"; @@ -84,21 +83,19 @@ $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 '
    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) + if ($new_avatar_name !== false) { $sql = 'UPDATE ' . USERS_TABLE . " - SET user_avatar = '$new_avatar_name' + SET user_avatar = '" . $db->sql_escape($new_avatar_name) . "' WHERE user_id = {$row['user_id']}"; $db->sql_query($sql); } @@ -139,4 +136,5 @@ function adjust_avatar($old_name, $midfix) } return false; } + ?> \ No newline at end of file diff --git a/phpBB/includes/auth.php b/phpBB/includes/auth.php index de1b669eba..3b05652a87 100644 --- a/phpBB/includes/auth.php +++ b/phpBB/includes/auth.php @@ -486,8 +486,8 @@ class auth { global $db; - $sql_user = ($user_id !== false) ? ((!is_array($user_id)) ? "user_id = $user_id" : $db->sql_in_set('user_id', $user_id)) : ''; - $sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? "AND a.forum_id = $forum_id" : 'AND ' . $db->sql_in_set('a.forum_id', $forum_id)) : ''; + $sql_user = ($user_id !== false) ? ((!is_array($user_id)) ? 'user_id = ' . (int) $user_id : $db->sql_in_set('user_id', array_map('intval', $user_id))) : ''; + $sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? 'AND a.forum_id = ' . (int) $forum_id : 'AND ' . $db->sql_in_set('a.forum_id', array_map('intval', $forum_id))) : ''; $sql_opts = ''; @@ -628,8 +628,8 @@ class auth { global $db; - $sql_user = ($user_id !== false) ? ((!is_array($user_id)) ? "user_id = $user_id" : $db->sql_in_set('user_id', $user_id)) : ''; - $sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? "AND a.forum_id = $forum_id" : 'AND ' . $db->sql_in_set('a.forum_id', $forum_id)) : ''; + $sql_user = ($user_id !== false) ? ((!is_array($user_id)) ? 'user_id = ' . (int) $user_id : $db->sql_in_set('user_id', array_map('intval', $user_id))) : ''; + $sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? 'AND a.forum_id = ' . (int) $forum_id : 'AND ' . $db->sql_in_set('a.forum_id', array_map('intval', $forum_id))) : ''; $sql_opts = ''; @@ -682,8 +682,8 @@ class auth { global $db; - $sql_group = ($group_id !== false) ? ((!is_array($group_id)) ? "group_id = $group_id" : $db->sql_in_set('group_id', $group_id)) : ''; - $sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? "AND a.forum_id = $forum_id" : 'AND ' . $db->sql_in_set('a.forum_id', $forum_id)) : ''; + $sql_group = ($group_id !== false) ? ((!is_array($group_id)) ? 'group_id = ' . (int) $group_id : $db->sql_in_set('group_id', array_map('intval', $group_id))) : ''; + $sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? 'AND a.forum_id = ' . (int) $forum_id : 'AND ' . $db->sql_in_set('a.forum_id', array_map('intval', $forum_id))) : ''; $sql_opts = ''; diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 457e286840..69990a9524 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -2468,27 +2468,32 @@ function group_user_attributes($action, $group_id, $user_id_ary = false, $userna return true; } - /** * A small version of validate_username to check for a group name's existence. To be called directly. */ -function group_validate_groupname($group_id, $groupname) +function group_validate_groupname($group_id, $group_name) { global $config, $db; - $groupname = utf8_clean_string($groupname); + $group_name = utf8_clean_string($group_name); if (!empty($group_id)) { $sql = 'SELECT group_name - FROM ' . GROUPS_TABLE . ' - WHERE group_id = ' . (int)$group_id; + FROM ' . GROUPS_TABLE . ' + WHERE group_id = ' . (int) $group_id; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); - - $allowed_groupname = utf8_clean_string($row['group_name']); - if ($allowed_groupname == $groupname) + + if (!$row) + { + return false; + } + + $allowed_groupname = utf8_clean_string($row['group_name']); + + if ($allowed_groupname == $group_name) { return false; } @@ -2496,7 +2501,7 @@ function group_validate_groupname($group_id, $groupname) $sql = 'SELECT group_name FROM ' . GROUPS_TABLE . " - WHERE LOWER(group_name) = '" . $db->sql_escape(utf8_strtolower($groupname)) . "'"; + WHERE LOWER(group_name) = '" . $db->sql_escape(utf8_strtolower($group_name)) . "'"; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); @@ -2505,11 +2510,10 @@ function group_validate_groupname($group_id, $groupname) { return 'GROUP_NAME_TAKEN'; } + return false; } - - /** * Set users default group * diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 82faa022ad..287379fcd8 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -60,6 +60,20 @@ require($phpbb_root_path . 'includes/constants.' . $phpEx); require($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx); require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx); +// If we are on PHP >= 6.0.0 we do not need some code +if (version_compare(PHP_VERSION, '6.0.0-dev', '>=')) +{ + /** + * @ignore + */ + define('STRIP', false); +} +else +{ + set_magic_quotes_runtime(0); + define('STRIP', (get_magic_quotes_gpc()) ? true : false); +} + $user = new user(); $cache = new cache(); $db = new $sql_db(); @@ -698,16 +712,19 @@ if (version_compare($current_version, '3.0.b5', '<=')) $db->sql_query('DELETE FROM ' . STYLES_IMAGESET_TABLE); $db->sql_query('DELETE FROM ' . STYLES_TEMPLATE_TABLE); $db->sql_query('DELETE FROM ' . STYLES_TABLE); - $db->sql_query('DELETE FROM ' . STYLES_IMAGESET_DATA_TABLE); $db->sql_query('DELETE FROM ' . STYLES_THEME_TABLE); + +// $db->sql_query('DELETE FROM ' . STYLES_IMAGESET_DATA_TABLE); break; default: $db->sql_query('TRUNCATE TABLE ' . STYLES_IMAGESET_TABLE); $db->sql_query('TRUNCATE TABLE ' . STYLES_TEMPLATE_TABLE); $db->sql_query('TRUNCATE TABLE ' . STYLES_TABLE); - $db->sql_query('TRUNCATE TABLE ' . STYLES_IMAGESET_DATA_TABLE); $db->sql_query('TRUNCATE TABLE ' . STYLES_THEME_TABLE); + +// This table does not exist, as well as the constant not exist... +// $db->sql_query('TRUNCATE TABLE ' . STYLES_IMAGESET_DATA_TABLE); break; } @@ -869,6 +886,8 @@ if (version_compare($current_version, '3.0.b5', '<=')) $data = "INSERT INTO phpbb_styles (style_name, style_copyright, style_active, template_id, theme_id, imageset_id) VALUES ('prosilver', '© phpBB Group', 1, 1, 1, 1); INSERT INTO phpbb_styles (style_name, style_copyright, style_active, template_id, theme_id, imageset_id) VALUES ('subsilver2', '© phpBB Group', 1, 2, 2, 2); + INSERT INTO phpbb_styles_imageset (imageset_name, imageset_copyright, imageset_path) VALUES ('prosilver', '© phpBB Group', 'prosilver'); + INSERT INTO phpbb_styles_imageset (imageset_name, imageset_copyright, imageset_path) VALUES ('subsilver2', '© phpBB Group', 'subsilver2'); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('site_logo', 'site_logo.gif', '', 94, 170, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('upload_bar', 'upload_bar.gif', '', 16, 280, 2); INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('poll_left', 'poll_left.gif', '', 12, 4, 2); @@ -1089,10 +1108,23 @@ if (version_compare($current_version, '3.0.b5', '<=')) set_config('avatar_salt', md5(mt_rand())); - $sql = 'UPDATE ' . ACL_OPTIONS_TABLE . ' SET is_local = 0 WHERE auth_option = \'m_warn\''; + $sql = 'UPDATE ' . ACL_OPTIONS_TABLE . " + SET is_local = 0 + WHERE auth_option = 'm_warn'"; $db->sql_query($sql); - $sql = 'UPDATE ' . MODULES_TABLE . ' SET module_auth = \'acl_m_warn && acl_f_read,$id\' WHERE module_basename = \'warn\' AND module_mode = \'warn_post\''; + $cache->destroy('_acl_options'); + + $sql = 'UPDATE ' . MODULES_TABLE . ' + SET module_auth = \'acl_m_warn && acl_f_read,$id\' + WHERE module_basename = \'warn\' + AND module_mode = \'warn_post\' + AND module_class = \'mcp\''; + $db->sql_query($sql); + + $cache->destroy('_modules_mcp'); + + $sql = 'UPDATE ' . USERS_TABLE . " SET user_permissions = ''"; $db->sql_query($sql); $no_updates = false; diff --git a/phpBB/style.php b/phpBB/style.php index 84a2394744..38ffd5426b 100644 --- a/phpBB/style.php +++ b/phpBB/style.php @@ -128,9 +128,14 @@ if ($id && $sid) $db->sql_query($sql); $cache->destroy('sql', STYLES_THEME_TABLE); + + header('Expires: 0'); + } + else + { + header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); } - header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); header('Content-type: text/css'); // Parse Theme Data diff --git a/phpBB/styles/prosilver/theme/common.css b/phpBB/styles/prosilver/theme/common.css index f60fdec719..459e2cbc2a 100644 --- a/phpBB/styles/prosilver/theme/common.css +++ b/phpBB/styles/prosilver/theme/common.css @@ -128,7 +128,6 @@ p.right { float: left; width: auto; padding: 10px 13px 0 10px; - height: auto; } a#logo:hover { diff --git a/phpBB/styles/prosilver/theme/links.css b/phpBB/styles/prosilver/theme/links.css index a6418914a5..733a3cc8d3 100644 --- a/phpBB/styles/prosilver/theme/links.css +++ b/phpBB/styles/prosilver/theme/links.css @@ -73,6 +73,7 @@ a.topictitle:active { /* Post body links */ .postlink { + text-decoration: none; color: #d2d2d2; border-bottom: 1px solid #d2d2d2; padding-bottom: 0; From 5e7a80cbd836a9f5daff45076a4ba02abd3c85a6 Mon Sep 17 00:00:00 2001 From: Henry Sudhof Date: Thu, 3 May 2007 09:27:02 +0000 Subject: [PATCH 503/707] Still finetuning avatar uploading and delivery. Remember that the recent changes broke compatibility with old uploaded avatars and that there were changes to the database entries. git-svn-id: file:///svn/phpbb/trunk@7453 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_upload.php | 2 ++ phpBB/includes/functions_user.php | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/functions_upload.php b/phpBB/includes/functions_upload.php index 92c6b1a938..99d321ede9 100644 --- a/phpBB/includes/functions_upload.php +++ b/phpBB/includes/functions_upload.php @@ -111,7 +111,9 @@ class filespec break; case 'avatar': + $this->extension = strtolower($this->extension); $this->realname = $prefix . $user_id . '.' . $this->extension; + break; case 'unique_ext': diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 69990a9524..b41b329cce 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -1642,7 +1642,7 @@ function avatar_upload($data, &$error) $error = array_merge($error, $file->error); } - return array(AVATAR_UPLOAD, $data['user_id'] . '_' . substr(time(), -5) . '.' . $file->get('extension'), $file->get('width'), $file->get('height')); + return array(AVATAR_UPLOAD, $data['user_id'] . '_' . time() . '.' . $file->get('extension'), $file->get('width'), $file->get('height')); } /** From 58ac5df6b376ef57c333565b94698c41b02e67cf Mon Sep 17 00:00:00 2001 From: Henry Sudhof Date: Thu, 3 May 2007 09:40:21 +0000 Subject: [PATCH 504/707] finetuning. git-svn-id: file:///svn/phpbb/trunk@7454 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/develop/adjust_avatars.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/phpBB/develop/adjust_avatars.php b/phpBB/develop/adjust_avatars.php index 5133ed8081..81599e694b 100755 --- a/phpBB/develop/adjust_avatars.php +++ b/phpBB/develop/adjust_avatars.php @@ -101,6 +101,11 @@ while ($row = $db->sql_fetchrow($result)) } 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 '
    Failed updating user ' . $row['user_id'] . "\n"; } @@ -128,11 +133,13 @@ function adjust_avatar($old_name, $midfix) global $config, $phpbb_root_path; $avatar_path = $phpbb_root_path . $config['avatar_path']; - if (@file_exists($avatar_path . '/' . $old_name) && @is_writable($avatar_path . '/' . $old_name)) + $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)) { - $new_name = $config['avatar_salt'] . '_' . $midfix . '.' . substr(strrchr($old_name, '.'), 1); @rename($avatar_path . '/' . $old_name, $avatar_path . '/' . $new_name); - return $midfix . '.' . substr(strrchr($old_name, '.'), 1); + return $midfix . '.' . $extension; } return false; } From f7b51337c55f88f19f8b9406b64e7d03150efa2c Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 3 May 2007 14:29:22 +0000 Subject: [PATCH 505/707] some language-specific adjustements fix prune users (adding the list of users to the confirmation page) tried to fix the show/hide trigger in ACP by not using width: auto; (which gets somehow inherited to each other element) git-svn-id: file:///svn/phpbb/trunk@7455 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/index.php | 6 +- phpBB/adm/style/acp_main.html | 4 +- phpBB/adm/style/acp_permissions.html | 23 ++- phpBB/adm/style/confirm_body.html | 2 +- phpBB/adm/style/confirm_body_prune.html | 30 +++ phpBB/adm/style/overall_header.html | 23 ++- phpBB/develop/create_schema_files.php | 4 +- phpBB/develop/create_variable_overview.php | 2 +- phpBB/docs/INSTALL.html | 6 +- phpBB/download.php | 38 ++-- phpBB/includes/acm/acm_file.php | 4 +- phpBB/includes/acp/acp_attachments.php | 2 +- phpBB/includes/acp/acp_board.php | 2 +- phpBB/includes/acp/acp_groups.php | 2 +- phpBB/includes/acp/acp_prune.php | 192 +++++++++++------- phpBB/includes/acp/acp_styles.php | 8 +- phpBB/includes/acp/acp_users.php | 6 +- phpBB/includes/functions.php | 6 +- phpBB/includes/functions_convert.php | 4 +- phpBB/includes/functions_user.php | 2 +- phpBB/includes/mcp/mcp_front.php | 15 +- phpBB/includes/ucp/ucp_groups.php | 2 +- phpBB/includes/ucp/ucp_profile.php | 2 +- phpBB/install/install_convert.php | 2 +- phpBB/install/install_install.php | 12 +- phpBB/install/install_update.php | 2 +- phpBB/language/en/acp/attachments.php | 8 +- phpBB/language/en/acp/ban.php | 14 +- phpBB/language/en/acp/board.php | 56 ++--- phpBB/language/en/acp/common.php | 34 ++-- phpBB/language/en/acp/email.php | 4 +- phpBB/language/en/acp/groups.php | 4 +- phpBB/language/en/acp/language.php | 2 +- phpBB/language/en/acp/permissions.php | 4 +- phpBB/language/en/acp/permissions_phpbb.php | 10 +- phpBB/language/en/acp/posting.php | 16 +- phpBB/language/en/acp/profile.php | 2 +- phpBB/language/en/acp/prune.php | 4 + phpBB/language/en/acp/styles.php | 8 +- phpBB/language/en/acp/users.php | 7 +- phpBB/language/en/common.php | 74 +++---- phpBB/language/en/email/admin_send_email.txt | 4 +- .../en/email/admin_welcome_activated.txt | 2 +- .../en/email/admin_welcome_inactive.txt | 4 +- .../en/email/coppa_resend_inactive.txt | 2 +- .../en/email/coppa_welcome_inactive.txt | 2 +- phpBB/language/en/email/email_notify.txt | 6 +- phpBB/language/en/email/installed.txt | 2 +- .../language/en/email/profile_send_email.txt | 4 +- .../en/email/user_reactivate_account.txt | 2 +- .../en/email/user_resend_inactive.txt | 2 +- phpBB/language/en/email/user_welcome.txt | 2 +- .../en/email/user_welcome_inactive.txt | 2 +- phpBB/language/en/help_bbcode.php | 4 +- phpBB/language/en/help_faq.php | 18 +- phpBB/language/en/install.php | 18 +- phpBB/language/en/mcp.php | 2 +- phpBB/language/en/memberlist.php | 20 +- phpBB/language/en/posting.php | 4 +- phpBB/language/en/ucp.php | 54 ++--- phpBB/language/en/viewtopic.php | 2 +- .../styles/prosilver/template/mcp_front.html | 3 +- 62 files changed, 444 insertions(+), 363 deletions(-) create mode 100644 phpBB/adm/style/confirm_body_prune.html diff --git a/phpBB/adm/index.php b/phpBB/adm/index.php index d0d91adbbb..84fc31c290 100644 --- a/phpBB/adm/index.php +++ b/phpBB/adm/index.php @@ -483,12 +483,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]); } } diff --git a/phpBB/adm/style/acp_main.html b/phpBB/adm/style/acp_main.html index 7d29a43070..6b96a3e418 100644 --- a/phpBB/adm/style/acp_main.html +++ b/phpBB/adm/style/acp_main.html @@ -94,14 +94,14 @@
    -
    +

     
    -
    +

     
    diff --git a/phpBB/adm/style/acp_permissions.html b/phpBB/adm/style/acp_permissions.html index 22bc012377..7d752c250c 100644 --- a/phpBB/adm/style/acp_permissions.html +++ b/phpBB/adm/style/acp_permissions.html @@ -17,7 +17,7 @@

    {L_EXPLAIN}

    -

    {L_FORUMS}: {FORUM_NAMES}

    +

    {L_FORUMS}: {FORUM_NAMES}

    @@ -32,11 +32,12 @@
      {L_ALL_FORUMS}
    - -
    +

    {S_HIDDEN_FIELDS} +

    +
    @@ -52,11 +53,12 @@
    - -
    +

    {S_HIDDEN_FIELDS} +

    +
    @@ -75,11 +77,11 @@
    [ {L_FIND_USERNAME} ]
     {L_SELECT_ANONYMOUS}
    - -
    +

    {S_HIDDEN_FIELDS} +

    @@ -94,11 +96,12 @@
    - -
    +

    {S_HIDDEN_FIELDS} +

    +
    @@ -106,7 +109,7 @@
    - +

    {L_USERS}

    diff --git a/phpBB/adm/style/confirm_body.html b/phpBB/adm/style/confirm_body.html index 6c1894e748..2fbb1a60d7 100644 --- a/phpBB/adm/style/confirm_body.html +++ b/phpBB/adm/style/confirm_body.html @@ -3,7 +3,7 @@
    -

    {MESSAGE_TITLE}

    +

    {MESSAGE_TITLE}

    {MESSAGE_TEXT}

    {S_HIDDEN_FIELDS} diff --git a/phpBB/adm/style/confirm_body_prune.html b/phpBB/adm/style/confirm_body_prune.html new file mode 100644 index 0000000000..9481386231 --- /dev/null +++ b/phpBB/adm/style/confirm_body_prune.html @@ -0,0 +1,30 @@ + + + + +
    +

    {MESSAGE_TITLE}

    +

    {MESSAGE_TEXT}

    + + {S_HIDDEN_FIELDS} + +
    +   + +
    + +

    {L_PRUNE_USERS_LIST}

    +

    {L_PRUNE_USERS_LIST_DEACTIVATE}

    {L_PRUNE_USERS_LIST_DELETE}

    + +
    + + » {users.USERNAME} [{L_USER_ADMIN}]
    + + +

    + +
    + + + + diff --git a/phpBB/adm/style/overall_header.html b/phpBB/adm/style/overall_header.html index 9024c08577..d75d89ab13 100644 --- a/phpBB/adm/style/overall_header.html +++ b/phpBB/adm/style/overall_header.html @@ -120,32 +120,33 @@ function switch_menu() var menu = document.getElementById('menu'); var main = document.getElementById('main'); var toggle = document.getElementById('toggle'); - var handle = document.getElementById('toggle-handle'); + var handle = document.getElementById('toggle-handle'); - switch(menu_state) - { - //hidden + switch (menu_state) + { + // hide case 'shown': - main.style.width = 'auto'; - menu.style.display = 'none'; + 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; - //shown + break; + + // show case 'hidden': main.style.width = '76%'; - menu.style.display = 'block'; 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; + handle.style.backgroundRepeat = 'no-repeat'; + break; } } diff --git a/phpBB/develop/create_schema_files.php b/phpBB/develop/create_schema_files.php index f0cb989eb0..b912c69a40 100644 --- a/phpBB/develop/create_schema_files.php +++ b/phpBB/develop/create_schema_files.php @@ -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(); diff --git a/phpBB/develop/create_variable_overview.php b/phpBB/develop/create_variable_overview.php index 8337004c30..3782f53e4c 100644 --- a/phpBB/develop/create_variable_overview.php +++ b/phpBB/develop/create_variable_overview.php @@ -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'))); diff --git a/phpBB/docs/INSTALL.html b/phpBB/docs/INSTALL.html index cfbcacd126..1e00c2f653 100644 --- a/phpBB/docs/INSTALL.html +++ b/phpBB/docs/INSTALL.html @@ -209,12 +209,12 @@ p a { diff --git a/phpBB/download.php b/phpBB/download.php index 98f3e03c0b..5a90059ae1 100644 --- a/phpBB/download.php +++ b/phpBB/download.php @@ -159,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); @@ -270,33 +260,37 @@ else function send_avatar_to_browser($file) { global $config, $phpbb_root_path; + $prefix = $config['avatar_salt'] . '_'; - $img_dir = $config['avatar_path']; + $image_dir = $config['avatar_path']; + // worst-case default $browser = (!empty($_SERVER['HTTP_USER_AGENT'])) ? htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT']) : 'msie 6.0'; - // Adjust img_dir path (no trailing slash) - if (substr($img_dir, -1, 1) == '/' || substr($img_dir, -1, 1) == '\\') + // Adjust image_dir path (no trailing slash) + if (substr($image_dir, -1, 1) == '/' || substr($image_dir, -1, 1) == '\\') { - $img_dir = substr($img_dir, 0, -1) . '/'; + $image_dir = substr($image_dir, 0, -1) . '/'; } - $img_dir = str_replace(array('../', '..\\', './', '.\\'), '', $img_dir); - if ($img_dir && ($img_dir[0] == '/' || $img_dir[0] == '\\')) + $image_dir = str_replace(array('../', '..\\', './', '.\\'), '', $image_dir); + + if ($image_dir && ($image_dir[0] == '/' || $image_dir[0] == '\\')) { - $img_dir = ''; + $image_dir = ''; } - $file_path = $phpbb_root_path . $img_dir . '/' . $prefix . $file; + $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)); + $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'); diff --git a/phpBB/includes/acm/acm_file.php b/phpBB/includes/acm/acm_file.php index e18008421e..f98873fdbf 100644 --- a/phpBB/includes/acm/acm_file.php +++ b/phpBB/includes/acm/acm_file.php @@ -83,9 +83,9 @@ class acm else { // Now, this occurred how often? ... phew, just tell the user then... - if (!@is_writeable($this->cache_dir)) + if (!@is_writable($this->cache_dir)) { - trigger_error($this->cache_dir . ' is NOT writeable.', E_USER_ERROR); + trigger_error($this->cache_dir . ' is NOT writable.', E_USER_ERROR); } trigger_error('Not able to open ' . $this->cache_dir . 'data_global.' . $phpEx, E_USER_ERROR); diff --git a/phpBB/includes/acp/acp_attachments.php b/phpBB/includes/acp/acp_attachments.php index ed8daf911f..1db18f6d5c 100644 --- a/phpBB/includes/acp/acp_attachments.php +++ b/phpBB/includes/acp/acp_attachments.php @@ -1145,7 +1145,7 @@ class acp_attachments { global $user, $phpbb_root_path; - // Does the target directory exist, is it a directory and writeable. + // Does the target directory exist, is it a directory and writable. if ($create_directory) { if (!file_exists($phpbb_root_path . $upload_dir)) diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php index d7f692a525..629a119e69 100644 --- a/phpBB/includes/acp/acp_board.php +++ b/phpBB/includes/acp/acp_board.php @@ -31,7 +31,7 @@ class acp_board * Validation types are: * string, int, bool, * script_path (absolute path in url - beginning with / and no trailing slash), - * rpath (relative), rwpath (realtive, writeable), path (relative path, but able to escape the root), wpath (writeable) + * rpath (relative), rwpath (realtive, writable), path (relative path, but able to escape the root), wpath (writable) */ switch ($mode) { diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index 0cd2c2527b..d40a8ae47b 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -37,7 +37,7 @@ class acp_groups $update = (isset($_POST['update'])) ? true : false; // Clear some vars - $can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && is_writeable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false; + $can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && @is_writable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false; $group_row = array(); // Grab basic data for group, if group_id is set and exists diff --git a/phpBB/includes/acp/acp_prune.php b/phpBB/includes/acp/acp_prune.php index 49c68beef1..a516a8b194 100644 --- a/phpBB/includes/acp/acp_prune.php +++ b/phpBB/includes/acp/acp_prune.php @@ -210,82 +210,12 @@ class acp_prune if ($prune) { + $action = request_var('action', 'deactivate'); + if (confirm_box(true)) { - $users = request_var('users', '', true); - $action = request_var('action', 'deactivate'); - $deleteposts = request_var('deleteposts', 0); - - if ($users) - { - $users = explode("\n", $users); - $where_sql = ' AND ' . $db->sql_in_set('username_clean', array_map('utf8_clean_string', $users)); - } - else - { - $username = request_var('username', '', true); - $email = request_var('email', ''); - - $joined_select = request_var('joined_select', 'lt'); - $active_select = request_var('active_select', 'lt'); - $count_select = request_var('count_select', 'eq'); - $joined = request_var('joined', ''); - $active = request_var('active', ''); - - $active = ($active) ? explode('-', $active) : array(); - $joined = ($joined) ? explode('-', $joined) : array(); - - if ((sizeof($active) && sizeof($active) != 3) || (sizeof($joined) && sizeof($joined) != 3)) - { - trigger_error($user->lang['WRONG_ACTIVE_JOINED_DATE'] . adm_back_link($this->u_action), E_USER_WARNING); - } - - $count = request_var('count', 0); - - $key_match = array('lt' => '<', 'gt' => '>', 'eq' => '='); - $sort_by_types = array('username', 'user_email', 'user_posts', 'user_regdate', 'user_lastvisit'); - - $where_sql = ''; - $where_sql .= ($username) ? " AND username_clean LIKE '" . $db->sql_escape(str_replace('*', '%', utf8_clean_string($username))) . "'" : ''; - $where_sql .= ($email) ? " AND user_email LIKE '" . $db->sql_escape(str_replace('*', '%', $email)) . "' " : ''; - $where_sql .= (sizeof($joined)) ? " AND user_regdate " . $key_match[$joined_select] . ' ' . gmmktime(0, 0, 0, (int) $joined[1], (int) $joined[2], (int) $joined[0]) : ''; - $where_sql .= ($count) ? " AND user_posts " . $key_match[$count_select] . " $count " : ''; - $where_sql .= (sizeof($active)) ? " AND user_lastvisit " . $key_match[$active_select] . " " . gmmktime(0, 0, 0, (int) $active[1], (int) $active[2], (int) $active[0]) : ''; - } - - // Get bot ids - $sql = 'SELECT user_id - FROM ' . BOTS_TABLE; - $result = $db->sql_query($sql); - - $bot_ids = array(); - while ($row = $db->sql_fetchrow($result)) - { - $bot_ids[] = $row['user_id']; - } - $db->sql_freeresult($result); - - // Do not prune founder members - $sql = 'SELECT user_id, username - FROM ' . USERS_TABLE . ' - WHERE user_id <> ' . ANONYMOUS . ' - AND user_type <> ' . USER_FOUNDER . " - $where_sql"; - $result = $db->sql_query($sql); - - $where_sql = ''; $user_ids = $usernames = array(); - - while ($row = $db->sql_fetchrow($result)) - { - // Do not prune bots and the user currently pruning. - if ($row['user_id'] != $user->data['user_id'] && !in_array($row['user_id'], $bot_ids)) - { - $user_ids[] = $row['user_id']; - $usernames[$row['user_id']] = $row['username']; - } - } - $db->sql_freeresult($result); + $this->get_prune_users($user_ids, $usernames); if (sizeof($user_ids)) { @@ -328,6 +258,30 @@ class acp_prune } else { + // We list the users which will be pruned... + $user_ids = $usernames = array(); + $this->get_prune_users($user_ids, $usernames); + + if (!sizeof($user_ids)) + { + trigger_error($user->lang['USER_PRUNE_FAILURE'] . adm_back_link($this->u_action), E_USER_WARNING); + } + + // Assign to template + foreach ($user_ids as $user_id) + { + $template->assign_block_vars('users', array( + 'USERNAME' => $usernames[$user_id], + 'U_PROFILE' => append_sid($phpbb_root_path . 'memberlist.' . $phpEx, 'mode=viewprofile&u=' . $user_id), + 'U_USER_ADMIN' => ($auth->acl_get('a_user')) ? append_sid("{$phpbb_admin_path}index.$phpEx", 'i=users&mode=overview&u=' . $user_id, true, $user->session_id) : '', + )); + } + + $template->assign_vars(array( + 'S_DEACTIVATE' => ($action == 'deactivate') ? true : false, + 'S_DELETE' => ($action == 'delete') ? true : false, + )); + confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array( 'i' => $id, 'mode' => $mode, @@ -341,11 +295,11 @@ class acp_prune 'active_select' => request_var('active_select', ''), 'active' => request_var('active', ''), 'count_select' => request_var('count_select', ''), - 'count' => request_var('count', 0), + 'count' => request_var('count', ''), 'deleteposts' => request_var('deleteposts', 0), 'action' => request_var('action', ''), - ))); + )), 'confirm_body_prune.html'); } } @@ -379,6 +333,94 @@ class acp_prune 'U_FIND_USER' => append_sid($phpbb_root_path . "memberlist.$phpEx", 'mode=searchuser&form=acp_prune&field=users')) ); } + + /** + * Get user_ids/usernames from those being pruned + */ + function get_prune_users(&$user_ids, &$usernames) + { + global $user, $db; + + $users = request_var('users', '', true); + $deleteposts = request_var('deleteposts', 0); + + if ($users) + { + $users = explode("\n", $users); + $where_sql = ' AND ' . $db->sql_in_set('username_clean', array_map('utf8_clean_string', $users)); + } + else + { + $username = request_var('username', '', true); + $email = request_var('email', ''); + + $joined_select = request_var('joined_select', 'lt'); + $active_select = request_var('active_select', 'lt'); + $count_select = request_var('count_select', 'eq'); + $joined = request_var('joined', ''); + $active = request_var('active', ''); + + $active = ($active) ? explode('-', $active) : array(); + $joined = ($joined) ? explode('-', $joined) : array(); + + if ((sizeof($active) && sizeof($active) != 3) || (sizeof($joined) && sizeof($joined) != 3)) + { + trigger_error($user->lang['WRONG_ACTIVE_JOINED_DATE'] . adm_back_link($this->u_action), E_USER_WARNING); + } + + $count = request_var('count', ''); + + $key_match = array('lt' => '<', 'gt' => '>', 'eq' => '='); + $sort_by_types = array('username', 'user_email', 'user_posts', 'user_regdate', 'user_lastvisit'); + + $where_sql = ''; + $where_sql .= ($username) ? " AND username_clean LIKE '" . $db->sql_escape(str_replace('*', '%', utf8_clean_string($username))) . "'" : ''; + $where_sql .= ($email) ? " AND user_email LIKE '" . $db->sql_escape(str_replace('*', '%', $email)) . "' " : ''; + $where_sql .= (sizeof($joined)) ? " AND user_regdate " . $key_match[$joined_select] . ' ' . gmmktime(0, 0, 0, (int) $joined[1], (int) $joined[2], (int) $joined[0]) : ''; + $where_sql .= ($count !== '') ? " AND user_posts " . $key_match[$count_select] . ' ' . (int) $count . ' ' : ''; + $where_sql .= (sizeof($active)) ? " AND user_lastvisit " . $key_match[$active_select] . " " . gmmktime(0, 0, 0, (int) $active[1], (int) $active[2], (int) $active[0]) : ''; + } + + // Protect the admin, do not prune if no options are given... + if (!$where_sql) + { + return; + } + + // Get bot ids + $sql = 'SELECT user_id + FROM ' . BOTS_TABLE; + $result = $db->sql_query($sql); + + $bot_ids = array(); + while ($row = $db->sql_fetchrow($result)) + { + $bot_ids[] = $row['user_id']; + } + $db->sql_freeresult($result); + + // Do not prune founder members + $sql = 'SELECT user_id, username + FROM ' . USERS_TABLE . ' + WHERE user_id <> ' . ANONYMOUS . ' + AND user_type <> ' . USER_FOUNDER . " + $where_sql"; + $result = $db->sql_query($sql); + + $where_sql = ''; + $user_ids = $usernames = array(); + + while ($row = $db->sql_fetchrow($result)) + { + // Do not prune bots and the user currently pruning. + if ($row['user_id'] != $user->data['user_id'] && !in_array($row['user_id'], $bot_ids)) + { + $user_ids[] = $row['user_id']; + $usernames[$row['user_id']] = $row['username']; + } + } + $db->sql_freeresult($result); + } } ?> \ No newline at end of file diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php index f079d228e2..ed49b6df06 100644 --- a/phpBB/includes/acp/acp_styles.php +++ b/phpBB/includes/acp/acp_styles.php @@ -698,7 +698,7 @@ parse_css_file = {PARSE_CSS_FILE} $additional = ''; // If the template is stored on the filesystem try to write the file else store it in the database - if (!$safe_mode && !$template_info['template_storedb'] && file_exists($file) && is_writeable($file)) + if (!$safe_mode && !$template_info['template_storedb'] && file_exists($file) && @is_writable($file)) { if (!($fp = fopen($file, 'wb'))) { @@ -1358,7 +1358,7 @@ parse_css_file = {PARSE_CSS_FILE} } // where should we store the CSS? - if (!$safe_mode && !$theme_info['theme_storedb'] && file_exists($stylesheet_path) && is_writeable($stylesheet_path)) + if (!$safe_mode && !$theme_info['theme_storedb'] && file_exists($stylesheet_path) && @is_writable($stylesheet_path)) { // write stylesheet to file if (!($fp = fopen($stylesheet_path, 'wb'))) @@ -2307,7 +2307,7 @@ parse_css_file = {PARSE_CSS_FILE} { $theme_data = $this->db_theme_data($style_row); } - else if (!$store_db && !$safe_mode && is_writeable("{$phpbb_root_path}styles/{$style_row['theme_path']}/theme/stylesheet.css")) + else if (!$store_db && !$safe_mode && @is_writable("{$phpbb_root_path}styles/{$style_row['theme_path']}/theme/stylesheet.css")) { $store_db = 1; $theme_data = $style_row['theme_data']; @@ -2331,7 +2331,7 @@ parse_css_file = {PARSE_CSS_FILE} if ($style_row['template_storedb'] != $store_db) { - if (!$store_db && !$safe_mode && is_writeable("{$phpbb_root_path}styles/{$style_row['template_path']}/template")) + if (!$store_db && !$safe_mode && @is_writable("{$phpbb_root_path}styles/{$style_row['template_path']}/template")) { $sql = 'SELECT * FROM ' . STYLES_TEMPLATE_DATA_TABLE . " diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index c7df637fee..1e8a7b8f3e 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -252,9 +252,9 @@ class acp_users $ban_give_reason = request_var('ban_give_reason', '', true); // Log not used at the moment, we simply utilize the ban function. - user_ban(substr($action, 3), $ban, 0, 0, 0, $ban_reason, $ban_give_reason); + $result = user_ban(substr($action, 3), $ban, 0, 0, 0, $ban_reason, $ban_give_reason); - trigger_error($user->lang['BAN_SUCCESSFUL'] . adm_back_link($this->u_action . '&u=' . $user_id)); + trigger_error((($result === false) ? $user->lang['BAN_ALREADY_ENTERED'] : $user->lang['BAN_SUCCESSFUL']) . adm_back_link($this->u_action . '&u=' . $user_id)); break; @@ -1339,7 +1339,7 @@ class acp_users include($phpbb_root_path . 'includes/functions_display.' . $phpEx); - $can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && is_writeable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false; + $can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && @is_writable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false; if ($submit) { diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index efff0424d8..7782cba893 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2878,14 +2878,14 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count, $display_cat = ATTACHMENT_CATEGORY_NONE; } - $download_link = append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $attachment['attach_id'] . '&f=' . (int) $forum_id . '&mode=view'); + $download_link = append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $attachment['attach_id'] . '&mode=view'); switch ($display_cat) { // Images case ATTACHMENT_CATEGORY_IMAGE: $l_downloaded_viewed = 'VIEWED_COUNT'; - $inline_link = append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $attachment['attach_id'] . '&f=' . (int) $forum_id); + $inline_link = append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $attachment['attach_id']); $block_array += array( 'S_IMAGE' => true, @@ -2898,7 +2898,7 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count, // Images, but display Thumbnail case ATTACHMENT_CATEGORY_THUMB: $l_downloaded_viewed = 'VIEWED_COUNT'; - $thumbnail_link = append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $attachment['attach_id'] . '&t=1&f=' . (int) $forum_id); + $thumbnail_link = append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $attachment['attach_id'] . '&t=1'); $block_array += array( 'S_THUMBNAIL' => true, diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index c02d736695..514da99e39 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -2269,7 +2269,7 @@ function copy_dir($src, $trg, $copy_subdirs = true, $overwrite = false, $die_on_ @chmod($trg_path, 0777); } - if (!is_writeable($trg_path)) + if (!@is_writable($trg_path)) { $bad_dirs[] = path($config['script_path']) . $trg; } @@ -2336,7 +2336,7 @@ function copy_dir($src, $trg, $copy_subdirs = true, $overwrite = false, $die_on_ @chmod($trg_path . $dir, 0777); } - if (!is_writeable($trg_path . $dir)) + if (!@is_writable($trg_path . $dir)) { $bad_dirs[] = $trg . $dir; $bad_dirs[] = $trg_path . $dir; diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index b41b329cce..1f4f9b2d3f 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -1806,7 +1806,7 @@ function avatar_process_user(&$error, $custom_userdata = false) $avatar_select = basename(request_var('avatar_select', '')); // Can we upload? - $can_upload = ($config['allow_avatar_upload'] && file_exists($phpbb_root_path . $config['avatar_path']) && is_writeable($phpbb_root_path . $config['avatar_path']) && $change_avatar && (@ini_get('file_uploads') || strtolower(@ini_get('file_uploads')) == 'on')) ? true : false; + $can_upload = ($config['allow_avatar_upload'] && file_exists($phpbb_root_path . $config['avatar_path']) && @is_writable($phpbb_root_path . $config['avatar_path']) && $change_avatar && (@ini_get('file_uploads') || strtolower(@ini_get('file_uploads')) == 'on')) ? true : false; if ((!empty($_FILES['uploadfile']['name']) || $data['uploadurl']) && $can_upload) { diff --git a/phpBB/includes/mcp/mcp_front.php b/phpBB/includes/mcp/mcp_front.php index 6904d6dfd1..8bebbc71bd 100644 --- a/phpBB/includes/mcp/mcp_front.php +++ b/phpBB/includes/mcp/mcp_front.php @@ -144,13 +144,13 @@ function mcp_front_view($id, $mode, $action) $global_id = $forum_list[0]; $sql = $db->sql_build_query('SELECT', array( - 'SELECT' => 'r.report_time, p.post_id, p.post_subject, u.username, u.username_clean, u.user_colour, u.user_id, t.topic_id, t.topic_title, f.forum_id, f.forum_name', + 'SELECT' => 'r.report_time, p.post_id, p.post_subject, p.post_time, u.username, u.username_clean, u.user_colour, u.user_id, u2.username as author_name, u2.username_clean as author_name_clean, u2.user_colour as author_colour, u2.user_id as author_id, t.topic_id, t.topic_title, f.forum_id, f.forum_name', 'FROM' => array( REPORTS_TABLE => 'r', REPORTS_REASONS_TABLE => 'rr', TOPICS_TABLE => 't', - USERS_TABLE => 'u', + USERS_TABLE => array('u', 'u2'), POSTS_TABLE => 'p' ), @@ -166,6 +166,7 @@ function mcp_front_view($id, $mode, $action) AND r.reason_id = rr.reason_id AND p.topic_id = t.topic_id AND r.user_id = u.user_id + AND p.poster_id = u2.user_id AND p.forum_id IN (0, ' . implode(', ', $forum_list) . ')', 'ORDER_BY' => 'p.post_time DESC' @@ -192,11 +193,17 @@ function mcp_front_view($id, $mode, $action) 'REPORTER_COLOUR' => get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']), 'U_REPORTER' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']), + 'AUTHOR_FULL' => get_username_string('full', $row['author_id'], $row['author_name'], $row['author_colour']), + 'AUTHOR' => get_username_string('username', $row['author_id'], $row['author_name'], $row['author_colour']), + 'AUTHOR_COLOUR' => get_username_string('colour', $row['author_id'], $row['author_name'], $row['author_colour']), + 'U_AUTHOR' => get_username_string('profile', $row['author_id'], $row['author_name'], $row['author_colour']), + 'FORUM_NAME' => (!$global_topic) ? $row['forum_name'] : $user->lang['GLOBAL_ANNOUNCEMENT'], 'TOPIC_TITLE' => $row['topic_title'], 'SUBJECT' => ($row['post_subject']) ? $row['post_subject'] : $user->lang['NO_SUBJECT'], - 'REPORT_TIME' => $user->format_date($row['report_time'])) - ); + 'REPORT_TIME' => $user->format_date($row['report_time']), + 'POST_TIME' => $user->format_date($row['post_time']), + )); } } diff --git a/phpBB/includes/ucp/ucp_groups.php b/phpBB/includes/ucp/ucp_groups.php index 5b891cf1bb..99371d2024 100644 --- a/phpBB/includes/ucp/ucp_groups.php +++ b/phpBB/includes/ucp/ucp_groups.php @@ -449,7 +449,7 @@ class ucp_groups $avatar_select = basename(request_var('avatar_select', '')); $category = basename(request_var('category', '')); - $can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && is_writeable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false; + $can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && @is_writable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false; // Did we submit? if ($update) diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php index a7ce7ac024..cea9a43ffd 100644 --- a/phpBB/includes/ucp/ucp_profile.php +++ b/phpBB/includes/ucp/ucp_profile.php @@ -511,7 +511,7 @@ class ucp_profile $avatar_select = basename(request_var('avatar_select', '')); $category = basename(request_var('category', '')); - $can_upload = ($config['allow_avatar_upload'] && file_exists($phpbb_root_path . $config['avatar_path']) && is_writeable($phpbb_root_path . $config['avatar_path']) && $auth->acl_get('u_chgavatar') && (@ini_get('file_uploads') || strtolower(@ini_get('file_uploads')) == 'on')) ? true : false; + $can_upload = ($config['allow_avatar_upload'] && file_exists($phpbb_root_path . $config['avatar_path']) && @is_writable($phpbb_root_path . $config['avatar_path']) && $auth->acl_get('u_chgavatar') && (@ini_get('file_uploads') || strtolower(@ini_get('file_uploads')) == 'on')) ? true : false; if ($submit) { diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 4c8d4aca1f..4c406d5105 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -826,7 +826,7 @@ class install_convert extends module $this->p_master->error($user->lang['DEV_NO_TEST_FILE'], __LINE__, __FILE__); } - if (!$local_path || !is_writeable($phpbb_root_path . $local_path)) + if (!$local_path || !@is_writable($phpbb_root_path . $local_path)) { if (!$local_path) { diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index 3ea5fde7ee..55180ec80d 100755 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -402,14 +402,14 @@ class install_install extends module // Now really check if (file_exists($phpbb_root_path . $dir) && is_dir($phpbb_root_path . $dir)) { - if (!is_writeable($phpbb_root_path . $dir)) + if (!@is_writable($phpbb_root_path . $dir)) { @chmod($phpbb_root_path . $dir, 0777); } $exists = true; } - // Now check if it is writeable by storing a simple file + // Now check if it is writable by storing a simple file $fp = @fopen($phpbb_root_path . $dir . 'test_lock', 'wb'); if ($fp !== false) { @@ -422,7 +422,7 @@ class install_install extends module $passed['files'] = ($exists && $write && $passed['files']) ? true : false; $exists = ($exists) ? '' . $lang['FOUND'] . '' : '' . $lang['NOT_FOUND'] . ''; - $write = ($write) ? ', ' . $lang['WRITEABLE'] . '' : (($exists) ? ', ' . $lang['UNWRITEABLE'] . '' : ''); + $write = ($write) ? ', ' . $lang['WRITABLE'] . '' : (($exists) ? ', ' . $lang['UNWRITABLE'] . '' : ''); $template->assign_block_vars('checks', array( 'TITLE' => $dir, @@ -447,7 +447,7 @@ class install_install extends module $write = $exists = true; if (file_exists($phpbb_root_path . $dir)) { - if (!is_writeable($phpbb_root_path . $dir)) + if (!@is_writable($phpbb_root_path . $dir)) { $write = false; } @@ -458,7 +458,7 @@ class install_install extends module } $exists_str = ($exists) ? '' . $lang['FOUND'] . '' : '' . $lang['NOT_FOUND'] . ''; - $write_str = ($write) ? ', ' . $lang['WRITEABLE'] . '' : (($exists) ? ', ' . $lang['UNWRITEABLE'] . '' : ''); + $write_str = ($write) ? ', ' . $lang['WRITABLE'] . '' : (($exists) ? ', ' . $lang['UNWRITABLE'] . '' : ''); $template->assign_block_vars('checks', array( 'TITLE' => $dir, @@ -872,7 +872,7 @@ class install_install extends module $config_data .= '?' . '>'; // Done this to prevent highlighting editors getting confused! // Attempt to write out the config file directly. If it works, this is the easiest way to do it ... - if ((file_exists($phpbb_root_path . 'config.' . $phpEx) && is_writeable($phpbb_root_path . 'config.' . $phpEx)) || is_writable($phpbb_root_path)) + if ((file_exists($phpbb_root_path . 'config.' . $phpEx) && is_writable($phpbb_root_path . 'config.' . $phpEx)) || is_writable($phpbb_root_path)) { // Assume it will work ... if nothing goes wrong below $written = true; diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php index 3f18439f08..b306ab4930 100644 --- a/phpBB/install/install_update.php +++ b/phpBB/install/install_update.php @@ -6,7 +6,7 @@ * @copyright (c) 2006 phpBB Group * @license http://opensource.org/licenses/gpl-license.php GNU Public License * -* @todo check for writeable cache/store/files directory +* @todo check for writable cache/store/files directory */ /** diff --git a/phpBB/language/en/acp/attachments.php b/phpBB/language/en/acp/attachments.php index 8f7d88eb45..31d94265fa 100644 --- a/phpBB/language/en/acp/attachments.php +++ b/phpBB/language/en/acp/attachments.php @@ -49,9 +49,9 @@ $lang = array_merge($lang, array( 'ASSIGNED_GROUP' => 'Assigned extension group', 'ATTACH_EXTENSIONS_URL' => 'Extensions', 'ATTACH_EXT_GROUPS_URL' => 'Extension groups', - 'ATTACH_MAX_FILESIZE' => 'Maximum filesize', + 'ATTACH_MAX_FILESIZE' => 'Maximum file size', 'ATTACH_MAX_FILESIZE_EXPLAIN' => 'Maximum size of each file, with 0 being unlimited.', - 'ATTACH_MAX_PM_FILESIZE' => 'Maximum filesize messaging', + 'ATTACH_MAX_PM_FILESIZE' => 'Maximum file size messaging', 'ATTACH_MAX_PM_FILESIZE_EXPLAIN' => 'Maximum drive space available per user for private message attachments, with 0 being unlimited.', 'ATTACH_ORPHAN_URL' => 'Orphan attachments', 'ATTACH_POST_ID' => 'Post ID', @@ -98,12 +98,12 @@ $lang = array_merge($lang, array( 'MAX_ATTACHMENTS' => 'Max attachments per post', 'MAX_ATTACHMENTS_PM' => 'Max attachments per message', - 'MAX_EXTGROUP_FILESIZE' => 'Maximum filesize', + 'MAX_EXTGROUP_FILESIZE' => 'Maximum file size', 'MAX_IMAGE_SIZE' => 'Maximum image dimensions', 'MAX_IMAGE_SIZE_EXPLAIN' => 'Maximum size of image attachments. Set both values to 0px by 0px to disable dimension checking.', 'MAX_THUMB_WIDTH' => 'Maximum thumbnail width in pixel', 'MAX_THUMB_WIDTH_EXPLAIN' => 'A generated thumbnail will not exceed the width set here', - 'MIN_THUMB_FILESIZE' => 'Minimum thumbnail filesize', + 'MIN_THUMB_FILESIZE' => 'Minimum thumbnail file size', 'MIN_THUMB_FILESIZE_EXPLAIN' => 'Do not create a thumbnail for images smaller than this.', 'MODE_INLINE' => 'Inline', 'MODE_PHYSICAL' => 'Physical', diff --git a/phpBB/language/en/acp/ban.php b/phpBB/language/en/acp/ban.php index 58834cbc14..f6fce80f2e 100644 --- a/phpBB/language/en/acp/ban.php +++ b/phpBB/language/en/acp/ban.php @@ -36,7 +36,7 @@ $lang = array_merge($lang, array( '30_MINS' => '30 minutes', '6_HOURS' => '6 hours', - 'ACP_BAN_EXPLAIN' => 'Here you can control the banning of users by name, IP or email address. These methods prevent a user reaching any part of the board. You can give a short (255 character) reason for the ban if you wish. This will be displayed in the admin log. The length of a ban can also be specified. If you want the ban to end on a specific date rather than after a set time period select Until for the ban length and enter a date in yyyy-mm-dd format.', + 'ACP_BAN_EXPLAIN' => 'Here you can control the banning of users by name, IP or e-mail address. These methods prevent a user reaching any part of the board. You can give a short (255 character) reason for the ban if you wish. This will be displayed in the admin log. The length of a ban can also be specified. If you want the ban to end on a specific date rather than after a set time period select Until for the ban length and enter a date in yyyy-mm-dd format.', 'BAN_EXCLUDE' => 'Exclude from banning', 'BAN_LENGTH' => 'Length of ban', @@ -44,12 +44,12 @@ $lang = array_merge($lang, array( 'BAN_GIVE_REASON' => 'Reason shown to the banned', 'BAN_UPDATE_SUCCESSFUL' => 'The banlist has been updated successfully.', - 'EMAIL_BAN' => 'Ban one or more email addresses', - 'EMAIL_BAN_EXCLUDE_EXPLAIN' => 'Enable this to exclude the entered email address from all current bans.', - 'EMAIL_BAN_EXPLAIN' => 'To specify more than one email address enter each on a new line. To match partial addresses use * as the wildcard, e.g. *@hotmail.com, *@*.domain.tld, etc.', - 'EMAIL_NO_BANNED' => 'No banned email addresses', - 'EMAIL_UNBAN' => 'Un-ban or un-exclude emails', - 'EMAIL_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple email addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded email addresses are emphasised.', + 'EMAIL_BAN' => 'Ban one or more e-mail addresses', + 'EMAIL_BAN_EXCLUDE_EXPLAIN' => 'Enable this to exclude the entered e-mail address from all current bans.', + 'EMAIL_BAN_EXPLAIN' => 'To specify more than one e-mail address enter each on a new line. To match partial addresses use * as the wildcard, e.g. *@hotmail.com, *@*.domain.tld, etc.', + 'EMAIL_NO_BANNED' => 'No banned e-mail addresses', + 'EMAIL_UNBAN' => 'Un-ban or un-exclude e-mails', + 'EMAIL_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple e-mail addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded e-mail addresses are emphasised.', 'IP_BAN' => 'Ban one or more IPs', 'IP_BAN_EXCLUDE_EXPLAIN' => 'Enable this to exclude the entered IP from all current bans.', diff --git a/phpBB/language/en/acp/board.php b/phpBB/language/en/acp/board.php index 416e041706..e46f6eca3c 100644 --- a/phpBB/language/en/acp/board.php +++ b/phpBB/language/en/acp/board.php @@ -78,7 +78,7 @@ $lang = array_merge($lang, array( // Avatar Settings $lang = array_merge($lang, array( - 'ACP_AVATAR_SETTINGS_EXPLAIN' => 'Avatars are generally small, unique images a user can associate with themselves. Depending on the style they are usually displayed below the username when viewing topics. Here you can determine how users can define their avatars. Please note that in order to upload avatars you need to have created the directory you name below and ensure it can be written to by the web server. Please also note that filesize limits are only imposed on uploaded avatars, they do not apply to remotely linked images.', + 'ACP_AVATAR_SETTINGS_EXPLAIN' => 'Avatars are generally small, unique images a user can associate with themselves. Depending on the style they are usually displayed below the username when viewing topics. Here you can determine how users can define their avatars. Please note that in order to upload avatars you need to have created the directory you name below and ensure it can be written to by the web server. Please also note that file size limits are only imposed on uploaded avatars, they do not apply to remotely linked images.', 'ALLOW_LOCAL' => 'Enable gallery avatars', 'ALLOW_REMOTE' => 'Enable remote avatars', @@ -186,8 +186,8 @@ $lang = array_merge($lang, array( 'ACC_NONE' => 'None', 'ACC_USER' => 'User', // 'ACC_USER_ADMIN' => 'User + Admin', - 'ALLOW_EMAIL_REUSE' => 'Allow email address re-use', - 'ALLOW_EMAIL_REUSE_EXPLAIN' => 'Different users can register with the same email address.', + 'ALLOW_EMAIL_REUSE' => 'Allow e-mail address re-use', + 'ALLOW_EMAIL_REUSE_EXPLAIN' => 'Different users can register with the same e-mail address.', 'COPPA' => 'COPPA', 'COPPA_FAX' => 'COPPA fax number', 'COPPA_MAIL' => 'COPPA mailing address', @@ -285,10 +285,10 @@ $lang = array_merge($lang, array( 'LDAP_DN' => 'LDAP base dn', 'LDAP_DN_EXPLAIN' => 'This is the Distinguished Name, locating the user information, e.g. o=My Company,c=US', - 'LDAP_EMAIL' => 'LDAP email attribute', - 'LDAP_EMAIL_EXPLAIN' => 'Set this to the name of your user entry email attribute (if one exists) in order to automatically set the email address for new users. Leaving this empty results in empty email address for users who log in for the first time.', + 'LDAP_EMAIL' => 'LDAP e-mail attribute', + 'LDAP_EMAIL_EXPLAIN' => 'Set this to the name of your user entry e-mail attribute (if one exists) in order to automatically set the e-mail address for new users. Leaving this empty results in empty e-mail address for users who log in for the first time.', 'LDAP_INCORRECT_USER_PASSWORD' => 'Binding to LDAP server failed with specified user/password.', - 'LDAP_NO_EMAIL' => 'The specified email attribute does not exist.', + 'LDAP_NO_EMAIL' => 'The specified e-mail attribute does not exist.', 'LDAP_NO_IDENTITY' => 'Could not find a login identity for %s', 'LDAP_PASSWORD' => 'LDAP password', 'LDAP_PASSWORD_EXPLAIN' => 'Leave blank to use anonymous access. Else fill in the password for the above user. WARNING: This password will be stored as plain text in the database visible to everybody who can access your database.', @@ -302,7 +302,7 @@ $lang = array_merge($lang, array( // Server Settings $lang = array_merge($lang, array( - 'ACP_SERVER_SETTINGS_EXPLAIN' => 'Here you define server and domain dependant settings. Please ensure the data you enter is accurate, errors will result in emails containing incorrect information. When entering the domain name remember it does include http:// or other protocol term. Only alter the port number if you know your server uses a different value, port 80 is correct in most cases.', + 'ACP_SERVER_SETTINGS_EXPLAIN' => 'Here you define server and domain dependant settings. Please ensure the data you enter is accurate, errors will result in e-mails containing incorrect information. When entering the domain name remember it does include http:// or other protocol term. Only alter the port number if you know your server uses a different value, port 80 is correct in most cases.', 'ENABLE_GZIP' => 'Enable GZip compression', 'ENABLE_GZIP_EXPLAIN' => 'Generated content will be compressed prior to sending it to the user if his browser supports it. This can reduce network traffic but will also increase CPU usage on both server and client side.', @@ -343,8 +343,8 @@ $lang = array_merge($lang, array( 'CHECK_DNSBL_EXPLAIN' => 'If enabled the user’s IP address is checked against the following DNSBL services on registration and posting: spamcop.net, dsbl.org and spamhaus.org. This lookup may take a while, depending on the server’s configuration. If slowdowns are experienced or too many false positives reported it is recommended to disable this check.', 'CLASS_B' => 'A.B', 'CLASS_C' => 'A.B.C', - 'EMAIL_CHECK_MX' => 'Check email domain for valid MX record', - 'EMAIL_CHECK_MX_EXPLAIN' => 'If enabled, the email domain provided on registration and profile changes is checked for a valid MX record.', + 'EMAIL_CHECK_MX' => 'Check e-mail domain for valid MX record', + 'EMAIL_CHECK_MX_EXPLAIN' => 'If enabled, the e-mail domain provided on registration and profile changes is checked for a valid MX record.', 'FORCE_PASS_CHANGE' => 'Force password change', 'FORCE_PASS_CHANGE_EXPLAIN' => 'Require user to change their password after a set number of days. Set this value to 0 disables this behaviour.', 'FORWARDED_FOR_VALID' => 'Validated X_FORWARDED_FOR header', @@ -366,24 +366,24 @@ $lang = array_merge($lang, array( // Email Settings $lang = array_merge($lang, array( - 'ACP_EMAIL_SETTINGS_EXPLAIN' => 'This information is used when the board sends emails to your users. Please ensure the email address you specify is valid, any bounced or undeliverable messages will likely be sent to that address. If your host does not provide a native (PHP based) email service you can instead send messages directly using SMTP. This requires the address of an appropriate server (ask your provider if necessary), do not specify any old name here! If the server requires authentication (and only if it does) enter the necessary username and password. Please note only basic authentication is offered, different authentication implementations are not currently supported.', + 'ACP_EMAIL_SETTINGS_EXPLAIN' => 'This information is used when the board sends e-mails to your users. Please ensure the e-mail address you specify is valid, any bounced or undeliverable messages will likely be sent to that address. If your host does not provide a native (PHP based) e-mail service you can instead send messages directly using SMTP. This requires the address of an appropriate server (ask your provider if necessary), do not specify any old name here! If the server requires authentication (and only if it does) enter the necessary username and password. Please note only basic authentication is offered, different authentication implementations are not currently supported.', - 'ADMIN_EMAIL' => 'Return email address', - 'ADMIN_EMAIL_EXPLAIN' => 'This will be used as the return address on all emails, the technical contact email address. It will always be used as the Return-Path and Sender address in emails.', - 'BOARD_EMAIL_FORM' => 'Users send email via board', - 'BOARD_EMAIL_FORM_EXPLAIN' => 'Instead of showing the users email address users are able to send emails via the board.', - 'BOARD_HIDE_EMAILS' => 'Hide email addresses', - 'BOARD_HIDE_EMAILS_EXPLAIN' => 'This function keeps email addresses completely private.', - 'CONTACT_EMAIL' => 'Contact email address', - 'CONTACT_EMAIL_EXPLAIN' => 'This address will be used whenever a specific contact point is needed, e.g. spam, error output, etc. It will always be used as the From and Reply-To address in emails.', - 'EMAIL_FUNCTION_NAME' => 'Email function name', - 'EMAIL_FUNCTION_NAME_EXPLAIN' => 'The email function used to send mails through PHP.', - 'EMAIL_PACKAGE_SIZE' => 'Email package size', - 'EMAIL_PACKAGE_SIZE_EXPLAIN' => 'This is the number of emails sent in one package.', - 'EMAIL_SIG' => 'Email signature', - 'EMAIL_SIG_EXPLAIN' => 'This text will be attached to all emails the board sends.', - 'ENABLE_EMAIL' => 'Enable board-wide emails', - 'ENABLE_EMAIL_EXPLAIN' => 'If this is set to disabled no emails will be sent by the board at all.', + 'ADMIN_EMAIL' => 'Return e-mail address', + 'ADMIN_EMAIL_EXPLAIN' => 'This will be used as the return address on all e-mails, the technical contact e-mail address. It will always be used as the Return-Path and Sender address in e-mails.', + 'BOARD_EMAIL_FORM' => 'Users send e-mail via board', + 'BOARD_EMAIL_FORM_EXPLAIN' => 'Instead of showing the users e-mail address users are able to send e-mails via the board.', + 'BOARD_HIDE_EMAILS' => 'Hide e-mail addresses', + 'BOARD_HIDE_EMAILS_EXPLAIN' => 'This function keeps e-mail addresses completely private.', + 'CONTACT_EMAIL' => 'Contact e-mail address', + 'CONTACT_EMAIL_EXPLAIN' => 'This address will be used whenever a specific contact point is needed, e.g. spam, error output, etc. It will always be used as the From and Reply-To address in e-mails.', + 'EMAIL_FUNCTION_NAME' => 'E-mail function name', + 'EMAIL_FUNCTION_NAME_EXPLAIN' => 'The e-mail function used to send mails through PHP.', + 'EMAIL_PACKAGE_SIZE' => 'E-mail package size', + 'EMAIL_PACKAGE_SIZE_EXPLAIN' => 'This is the number of e-mails sent in one package.', + 'EMAIL_SIG' => 'E-mail signature', + 'EMAIL_SIG_EXPLAIN' => 'This text will be attached to all e-mails the board sends.', + 'ENABLE_EMAIL' => 'Enable board-wide e-mails', + 'ENABLE_EMAIL_EXPLAIN' => 'If this is set to disabled no e-mails will be sent by the board at all.', 'SMTP_AUTH_METHOD' => 'Authentication method for SMTP', 'SMTP_AUTH_METHOD_EXPLAIN' => 'Only used if a username/password is set, ask your provider if you are unsure which method to use.', 'SMTP_CRAM_MD5' => 'CRAM-MD5', @@ -399,8 +399,8 @@ $lang = array_merge($lang, array( 'SMTP_SETTINGS' => 'SMTP settings', 'SMTP_USERNAME' => 'SMTP username', 'SMTP_USERNAME_EXPLAIN' => 'Only enter a username if your SMTP server requires it.', - 'USE_SMTP' => 'Use SMTP server for email', - 'USE_SMTP_EXPLAIN' => 'Select “Yes” if you want or have to send email via a named server instead of the local mail function.', + 'USE_SMTP' => 'Use SMTP server for e-mail', + 'USE_SMTP_EXPLAIN' => 'Select “Yes” if you want or have to send e-mail via a named server instead of the local mail function.', )); // Jabber settings diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php index c9a541696c..fd6ef88480 100644 --- a/phpBB/language/en/acp/common.php +++ b/phpBB/language/en/acp/common.php @@ -43,7 +43,7 @@ $lang = array_merge($lang, array( 'ACP_BACKUP' => 'Backup', 'ACP_BAN' => 'Banning', - 'ACP_BAN_EMAILS' => 'Ban emails', + 'ACP_BAN_EMAILS' => 'Ban e-mails', 'ACP_BAN_IPS' => 'Ban IPs', 'ACP_BAN_USERNAMES' => 'Ban usernames', 'ACP_BASIC_PERMISSIONS' => 'Basic permissions', @@ -77,7 +77,7 @@ $lang = array_merge($lang, array( 'ACP_DISALLOW' => 'Disallow', 'ACP_DISALLOW_USERNAMES' => 'Disallow usernames', - 'ACP_EMAIL_SETTINGS' => 'Email settings', + 'ACP_EMAIL_SETTINGS' => 'E-mail settings', 'ACP_EXTENSION_GROUPS' => 'Manage extension groups', 'ACP_FORUM_BASED_PERMISSIONS' => 'Forum based permissions', @@ -116,7 +116,7 @@ $lang = array_merge($lang, array( 'ACP_MANAGE_RANKS' => 'Manage ranks', 'ACP_MANAGE_REASONS' => 'Manage report/denial reasons', 'ACP_MANAGE_USERS' => 'Manage users', - 'ACP_MASS_EMAIL' => 'Mass email', + 'ACP_MASS_EMAIL' => 'Mass e-mail', 'ACP_MESSAGES' => 'Messages', 'ACP_MESSAGE_SETTINGS' => 'Private message settings', 'ACP_MODULE_MANAGEMENT' => 'Module management', @@ -207,7 +207,7 @@ $lang = array_merge($lang, array( 'DIMENSIONS' => 'Dimensions', 'DIRECTORY_DOES_NOT_EXIST' => 'The entered path “%s” does not exist.', 'DIRECTORY_NOT_DIR' => 'The entered path “%s” is not a directory.', - 'DIRECTORY_NOT_WRITEABLE' => 'The entered path “%s” is not writeable.', + 'DIRECTORY_NOT_WRITABLE' => 'The entered path “%s” is not writable.', 'DISABLE' => 'Disable', 'DOWNLOAD' => 'Download', 'DOWNLOAD_AS' => 'Download as', @@ -241,7 +241,7 @@ $lang = array_merge($lang, array( 'NOTIFY' => 'Notification', 'NO_ADMIN' => 'You are not authorised to administrate this board.', - 'NO_EMAILS_DEFINED' => 'No valid email addresses found', + 'NO_EMAILS_DEFINED' => 'No valid e-mail addresses found', 'NO_PASSWORD_SUPPLIED' => 'You need to enter your password to access the Administration Control Panel.', 'OFF' => 'Off', @@ -280,7 +280,7 @@ $lang = array_merge($lang, array( // Logs $lang = array_merge($lang, array( 'ACP_ADMIN_LOGS_EXPLAIN' => 'This lists all the actions carried out by board administrators. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.', - 'ACP_CRITICAL_LOGS_EXPLAIN' => 'This lists the actions carried out by the board itself. This log provides you with information you are able to use for solving specific problems, for example non-delivery of emails. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.', + 'ACP_CRITICAL_LOGS_EXPLAIN' => 'This lists the actions carried out by the board itself. This log provides you with information you are able to use for solving specific problems, for example non-delivery of e-mails. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.', 'ACP_MOD_LOGS_EXPLAIN' => 'This lists all actions done on forums, topics and posts as well as actions carried out on users by moderators, including banning. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.', 'ACP_USERS_LOGS_EXPLAIN' => 'This lists all actions carried out by users or on users (warnings and user notes).', 'ALL_ENTRIES' => 'All entries', @@ -360,8 +360,8 @@ $lang = array_merge($lang, array( 'INACTIVE_REASON_REMIND' => 'Forced user account reactivation', 'INACTIVE_REASON_UNKNOWN' => 'Unknown', 'INACTIVE_USERS' => 'Inactive users', - 'INACTIVE_USERS_EXPLAIN' => 'This is a list of users who have registered but whose accounts are inactive. You can activate, delete or remind (by sending an email) these users if you wish.', - 'INACTIVE_USERS_EXPLAIN_INDEX' => 'This is a list of the last 10 registered users who have inactive accounts. A full list is available from the appropriate menu item or by following the link below from where you can activate, delete or remind (by sending an email) these users if you wish.', + 'INACTIVE_USERS_EXPLAIN' => 'This is a list of users who have registered but whose accounts are inactive. You can activate, delete or remind (by sending an e-mail) these users if you wish.', + 'INACTIVE_USERS_EXPLAIN_INDEX' => 'This is a list of the last 10 registered users who have inactive accounts. A full list is available from the appropriate menu item or by following the link below from where you can activate, delete or remind (by sending an e-mail) these users if you wish.', 'NO_INACTIVE_USERS' => 'No inactive users', @@ -415,13 +415,13 @@ $lang = array_merge($lang, array( 'LOG_BAN_EXCLUDE_USER' => 'Excluded user from ban for reason “%1$s
    » %2$s', 'LOG_BAN_EXCLUDE_IP' => 'Excluded IP from ban for reason “%1$s
    » %2$s', - 'LOG_BAN_EXCLUDE_EMAIL' => 'Excluded email from ban for reason “%1$s
    » %2$s', + 'LOG_BAN_EXCLUDE_EMAIL' => 'Excluded e-mail from ban for reason “%1$s
    » %2$s', 'LOG_BAN_USER' => 'Banned user for reason “%1$s
    » %2$s', 'LOG_BAN_IP' => 'Banned IP for reason “%1$s
    » %2$s', - 'LOG_BAN_EMAIL' => 'Banned email for reason “%1$s
    » %2$s', + 'LOG_BAN_EMAIL' => 'Banned e-mail for reason “%1$s
    » %2$s', 'LOG_UNBAN_USER' => 'Unbanned user
    » %s', 'LOG_UNBAN_IP' => 'Unbanned IP
    » %s', - 'LOG_UNBAN_EMAIL' => 'Unbanned email
    » %s', + 'LOG_UNBAN_EMAIL' => 'Unbanned e-mail
    » %s', 'LOG_BBCODE_ADD' => 'Added new BBCode
    » %s', 'LOG_BBCODE_EDIT' => 'Edited BBCode
    » %s', @@ -441,7 +441,7 @@ $lang = array_merge($lang, array( 'LOG_CONFIG_AUTH' => 'Altered authentication settings', 'LOG_CONFIG_AVATAR' => 'Altered avatar settings', 'LOG_CONFIG_COOKIE' => 'Altered cookie settings', - 'LOG_CONFIG_EMAIL' => 'Altered email settings', + 'LOG_CONFIG_EMAIL' => 'Altered e-mail settings', 'LOG_CONFIG_FEATURES' => 'Altered board features', 'LOG_CONFIG_LOAD' => 'Altered load settings', 'LOG_CONFIG_MESSAGE' => 'Altered private message settings', @@ -483,7 +483,7 @@ $lang = array_merge($lang, array( 'LOG_DOWNLOAD_REMOVE_IP' => 'Removed IP/hostname from download list
    » %s', 'LOG_ERROR_JABBER' => 'Jabber error
    » %s', - 'LOG_ERROR_EMAIL' => 'Email error
    » %s', + 'LOG_ERROR_EMAIL' => 'E-mail error
    » %s', 'LOG_FORUM_ADD' => 'Created new forum
    » %s', 'LOG_FORUM_DEL_FORUM' => 'Deleted forum
    » %s', @@ -521,7 +521,7 @@ $lang = array_merge($lang, array( 'LOG_INACTIVE_ACTIVATE' => 'Activated inactive users
    » %s', 'LOG_INACTIVE_DELETE' => 'Deleted inactive users
    » %s', - 'LOG_INACTIVE_REMIND' => 'Sent reminder emails to inactive users
    » %s', + 'LOG_INACTIVE_REMIND' => 'Sent reminder e-mails to inactive users
    » %s', 'LOG_INSTALL_CONVERTED' => 'Converted from %1$s to phpBB %2$s', 'LOG_INSTALL_INSTALLED' => 'Installed phpBB %s', @@ -538,7 +538,7 @@ $lang = array_merge($lang, array( 'LOG_LANGUAGE_FILE_REPLACED' => 'Replaced language file
    » %s', 'LOG_LANGUAGE_FILE_SUBMITTED' => 'Submitted language file and placed in store folder
    » %s', - 'LOG_MASS_EMAIL' => 'Sent mass email
    » %s', + 'LOG_MASS_EMAIL' => 'Sent mass e-mail
    » %s', 'LOG_MCP_CHANGE_POSTER' => 'Changed poster in topic “%1$s”
    » from %2$s to %3$s', @@ -620,7 +620,7 @@ $lang = array_merge($lang, array( 'LOG_USER_ACTIVE' => 'User activated
    » %s', 'LOG_USER_BAN_USER' => 'Banned User via user management for reason “%1$s
    » %2$s', 'LOG_USER_BAN_IP' => 'Banned IP via user management for reason “%1$s
    » %2$s', - 'LOG_USER_BAN_EMAIL' => 'Banned email via user management for reason “%1$s
    » %2$s', + 'LOG_USER_BAN_EMAIL' => 'Banned e-mail via user management for reason “%1$s
    » %2$s', 'LOG_USER_DELETED' => 'Deleted user
    » %s', 'LOG_USER_DEL_ATTACH' => 'Removed all attachments made by the user
    » %s', 'LOG_USER_DEL_AVATAR' => 'Removed user avatar
    » %s', @@ -630,7 +630,7 @@ $lang = array_merge($lang, array( 'LOG_USER_MOVE_POSTS' => 'Moved user posts
    » posts by “%1$s” to forum “%2$s”', 'LOG_USER_NEW_PASSWORD' => 'Changed user password
    » %s', 'LOG_USER_REACTIVATE' => 'Forced user account reactivation
    » %s', - 'LOG_USER_UPDATE_EMAIL' => 'User “%1$s” changed email
    » from “%2$s” to “%3$s”', + 'LOG_USER_UPDATE_EMAIL' => 'User “%1$s” changed e-mail
    » from “%2$s” to “%3$s”', 'LOG_USER_UPDATE_NAME' => 'Changed username
    » from “%1$s” to “%2$s”', 'LOG_USER_USER_UPDATE' => 'Updated user details
    » %s', diff --git a/phpBB/language/en/acp/email.php b/phpBB/language/en/acp/email.php index 190fd7949e..3c6d6bbe21 100644 --- a/phpBB/language/en/acp/email.php +++ b/phpBB/language/en/acp/email.php @@ -32,12 +32,12 @@ if (empty($lang) || !is_array($lang)) // Email settings $lang = array_merge($lang, array( - 'ACP_MASS_EMAIL_EXPLAIN' => 'Here you can email a message to either all of your users or all users of a specific group having the option to receive mass emails enabled. To achive this an email will be sent out to the administrative email address supplied, with a blind carbon copy sent to all recipients. The default setting is to only include 50 recipients in such an email, for more recipients more emails will be sent. If you are emailing a large group of people please be patient after submitting and do not stop the page halfway through. It is normal for a mass emailing to take a long time, you will be notified when the script has completed.', + 'ACP_MASS_EMAIL_EXPLAIN' => 'Here you can e-mail a message to either all of your users or all users of a specific group having the option to receive mass e-mails enabled. To achive this an e-mail will be sent out to the administrative e-mail address supplied, with a blind carbon copy sent to all recipients. The default setting is to only include 50 recipients in such an e-mail, for more recipients more e-mails will be sent. If you are emailing a large group of people please be patient after submitting and do not stop the page halfway through. It is normal for a mass emailing to take a long time, you will be notified when the script has completed.', 'ALL_USERS' => 'All users', 'COMPOSE' => 'Compose', - 'EMAIL_SEND_ERROR' => 'There were one or more errors while sending the email. Please check the %sError log%s for detailed error messages.', + 'EMAIL_SEND_ERROR' => 'There were one or more errors while sending the e-mail. Please check the %sError log%s for detailed error messages.', 'EMAIL_SENT' => 'This message has been sent.', 'EMAIL_SENT_QUEUE' => 'This message has been queued for sending.', diff --git a/phpBB/language/en/acp/groups.php b/phpBB/language/en/acp/groups.php index cb33b590ca..7df477bfc8 100644 --- a/phpBB/language/en/acp/groups.php +++ b/phpBB/language/en/acp/groups.php @@ -56,7 +56,7 @@ $lang = array_merge($lang, array( 'GROUP_DEMOTE' => 'Demote group leader', 'GROUP_DESC' => 'Group description', 'GROUP_DETAILS' => 'Group details', - 'GROUP_EDIT_EXPLAIN' => 'Here you can edit an existing group. You can change its name, description and type (open, closed, etc.). You can also set certain groupwide options such as colouration, rank, etc. Changes made here override users current settings. Please note that group members can alter their avatar unless you set appropriate user permissions.', + 'GROUP_EDIT_EXPLAIN' => 'Here you can edit an existing group. You can change its name, description and type (open, closed, etc.). You can also set certain group wide options such as colouration, rank, etc. Changes made here override users current settings. Please note that group members can alter their avatar unless you set appropriate user permissions.', 'GROUP_ERR_USERS_EXIST' => 'The specified users are already members of this group', 'GROUP_FOUNDER_MANAGE' => 'Founder manage only', 'GROUP_FOUNDER_MANAGE_EXPLAIN' => 'Restrict group management for this group for founders only. Users having group permissions are still able to see this group as well as this groups members.', @@ -85,7 +85,7 @@ $lang = array_merge($lang, array( 'GROUP_REQUEST' => 'Request', 'GROUP_SETTINGS' => 'Set user preferences', 'GROUP_SETTINGS_EXPLAIN' => 'Here you can force changes in users current preferences. Please note these settings are not saved for the group itself. They are intended as a quick method of altering the preferences of all users in this group.', - 'GROUP_SETTINGS_SAVE' => 'Groupwide settings', + 'GROUP_SETTINGS_SAVE' => 'Group wide settings', 'GROUP_TIMEZONE' => 'Group timezone', 'GROUP_TYPE' => 'Group type', 'GROUP_TYPE_EXPLAIN' => 'This determines which users can join or view this group.', diff --git a/phpBB/language/en/acp/language.php b/phpBB/language/en/acp/language.php index 4c586e1815..77aa8e6aa8 100644 --- a/phpBB/language/en/acp/language.php +++ b/phpBB/language/en/acp/language.php @@ -34,7 +34,7 @@ $lang = array_merge($lang, array( 'ACP_FILES' => 'Admin language files', 'ACP_LANGUAGE_PACKS_EXPLAIN' => 'Here you are able to install/remove language packs', - 'EMAIL_FILES' => 'Email templates', + 'EMAIL_FILES' => 'E-mail templates', 'FILE_CONTENTS' => 'File contents', 'FILE_FROM_STORAGE' => 'File from storage folder', diff --git a/phpBB/language/en/acp/permissions.php b/phpBB/language/en/acp/permissions.php index a1cea09db7..e41ea8a758 100644 --- a/phpBB/language/en/acp/permissions.php +++ b/phpBB/language/en/acp/permissions.php @@ -77,13 +77,13 @@ $lang = array_merge($lang, array( 'ACP_FORUM_PERMISSIONS_EXPLAIN' => 'Here you can alter which users and groups can access which forums. To assign moderators or define administrators please use the appropriate page.', 'ACP_GLOBAL_MODERATORS_EXPLAIN' => 'Here you can assign global moderator rights to users or groups. These moderators are like ordinary moderators except they have access to every forum on your board.', 'ACP_GROUPS_FORUM_PERMISSIONS_EXPLAIN' => 'Here you can assign forum permissions to groups.', - 'ACP_GROUPS_PERMISSIONS_EXPLAIN' => 'Here you can assign global permissions to groups - user permissions, global moderator permissions and administrator permissions. User permissions include capabilities such as the use of avatars, sending private messages, et cetera; global moderator permissions such as approving posts, manage topics, manage bans, et ecetera and lastly administrator permissions such as altering permissions, define custom BBCodes, manage forums, et cetera. Individual users permissions should only be changed in rare occasions, the preferred method is putting users in groups and assigning the group’s permissions.', + 'ACP_GROUPS_PERMISSIONS_EXPLAIN' => 'Here you can assign global permissions to groups - user permissions, global moderator permissions and administrator permissions. User permissions include capabilities such as the use of avatars, sending private messages, et cetera; global moderator permissions such as approving posts, manage topics, manage bans, etcetera and lastly administrator permissions such as altering permissions, define custom BBCodes, manage forums, et cetera. Individual users permissions should only be changed in rare occasions, the preferred method is putting users in groups and assigning the group’s permissions.', 'ACP_ADMIN_ROLES_EXPLAIN' => 'Here you are able to manage the roles for administrative permissions. Roles are effective permissions, if you change a role the items having this role assigned will change it’s permissions too.', 'ACP_FORUM_ROLES_EXPLAIN' => 'Here you are able to manage the roles for forum permissions. Roles are effective permissions, if you change a role the items having this role assigned will change it’s permissions too.', 'ACP_MOD_ROLES_EXPLAIN' => 'Here you are able to manage the roles for moderative permissions. Roles are effective permissions, if you change a role the items having this role assigned will change it’s permissions too.', 'ACP_USER_ROLES_EXPLAIN' => 'Here you are able to manage the roles for user permissions. Roles are effective permissions, if you change a role the items having this role assigned will change it’s permissions too.', 'ACP_USERS_FORUM_PERMISSIONS_EXPLAIN' => 'Here you can assign forum permissions to users.', - 'ACP_USERS_PERMISSIONS_EXPLAIN' => 'Here you can assign global permissions to users - user permissions, global moderator permissions and administrator permissions. User permissions include capabilities such as the use of avatars, sending private messages, et cetera; global moderator permissions such as approving posts, manage topics, manage bans, et ecetera and lastly administrator permissions such as altering permissions, define custom BBCodes, manage forums, et cetera. To alter these settings for large numbers of users the Group permissions system is the preferred method. User’s permissions should only be changed in rare occasions, the preferred method is putting users in groups and assigning the group’s permissions.', + 'ACP_USERS_PERMISSIONS_EXPLAIN' => 'Here you can assign global permissions to users - user permissions, global moderator permissions and administrator permissions. User permissions include capabilities such as the use of avatars, sending private messages, et cetera; global moderator permissions such as approving posts, manage topics, manage bans, etcetera and lastly administrator permissions such as altering permissions, define custom BBCodes, manage forums, et cetera. To alter these settings for large numbers of users the Group permissions system is the preferred method. User’s permissions should only be changed in rare occasions, the preferred method is putting users in groups and assigning the group’s permissions.', 'ACP_VIEW_ADMIN_PERMISSIONS_EXPLAIN' => 'Here you can view the effective administrative permissions assigned to the selected users/groups', 'ACP_VIEW_GLOBAL_MOD_PERMISSIONS_EXPLAIN' => 'Here you can view the global moderative permissions assigned to the selected users/groups', 'ACP_VIEW_FORUM_PERMISSIONS_EXPLAIN' => 'Here you can view the forum permissions assigned to the selected users/groups and forums', diff --git a/phpBB/language/en/acp/permissions_phpbb.php b/phpBB/language/en/acp/permissions_phpbb.php index 97b7425f52..8cdbc492c4 100644 --- a/phpBB/language/en/acp/permissions_phpbb.php +++ b/phpBB/language/en/acp/permissions_phpbb.php @@ -91,7 +91,7 @@ $lang = array_merge($lang, array( 'acl_u_viewprofile' => array('lang' => 'Can view profiles', 'cat' => 'profile'), 'acl_u_chgname' => array('lang' => 'Can change username', 'cat' => 'profile'), 'acl_u_chgpasswd' => array('lang' => 'Can change password', 'cat' => 'profile'), - 'acl_u_chgemail' => array('lang' => 'Can change email address', 'cat' => 'profile'), + 'acl_u_chgemail' => array('lang' => 'Can change e-mail address', 'cat' => 'profile'), 'acl_u_chgavatar' => array('lang' => 'Can change avatar', 'cat' => 'profile'), 'acl_u_chggrp' => array('lang' => 'Can change default usergroup', 'cat' => 'profile'), @@ -107,7 +107,7 @@ $lang = array_merge($lang, array( 'acl_u_pm_edit' => array('lang' => 'Can edit own private messages', 'cat' => 'pm'), 'acl_u_pm_delete' => array('lang' => 'Can remove private messages from own folder', 'cat' => 'pm'), 'acl_u_pm_forward' => array('lang' => 'Can forward private messages', 'cat' => 'pm'), - 'acl_u_pm_emailpm' => array('lang' => 'Can email private messages', 'cat' => 'pm'), + 'acl_u_pm_emailpm' => array('lang' => 'Can e-mail private messages', 'cat' => 'pm'), 'acl_u_pm_printpm' => array('lang' => 'Can print private messages', 'cat' => 'pm'), 'acl_u_pm_attach' => array('lang' => 'Can attach files in private messages', 'cat' => 'pm'), 'acl_u_pm_download' => array('lang' => 'Can download files in private messages', 'cat' => 'pm'), @@ -116,7 +116,7 @@ $lang = array_merge($lang, array( 'acl_u_pm_img' => array('lang' => 'Can post images in private messages', 'cat' => 'pm'), 'acl_u_pm_flash' => array('lang' => 'Can post Flash in private messages', 'cat' => 'pm'), - 'acl_u_sendemail' => array('lang' => 'Can send emails', 'cat' => 'misc'), + 'acl_u_sendemail' => array('lang' => 'Can send e-mails', 'cat' => 'misc'), 'acl_u_sendim' => array('lang' => 'Can send instant messages', 'cat' => 'misc'), 'acl_u_ignoreflood' => array('lang' => 'Can ignore flood limit', 'cat' => 'misc'), 'acl_u_hideonline' => array('lang' => 'Can hide online status', 'cat' => 'misc'), @@ -153,7 +153,7 @@ $lang = array_merge($lang, array( 'acl_f_report' => array('lang' => 'Can report posts', 'cat' => 'actions'), 'acl_f_subscribe' => array('lang' => 'Can subscribe forum', 'cat' => 'actions'), 'acl_f_print' => array('lang' => 'Can print topics', 'cat' => 'actions'), - 'acl_f_email' => array('lang' => 'Can email topics', 'cat' => 'actions'), + 'acl_f_email' => array('lang' => 'Can e-mail topics', 'cat' => 'actions'), 'acl_f_search' => array('lang' => 'Can search the forum', 'cat' => 'misc'), 'acl_f_ignoreflood' => array('lang' => 'Can ignore flood limit', 'cat' => 'misc'), @@ -221,7 +221,7 @@ $lang = array_merge($lang, array( 'acl_a_clearlogs' => array('lang' => 'Can clear logs', 'cat' => 'misc'), 'acl_a_modules' => array('lang' => 'Can manage modules', 'cat' => 'misc'), 'acl_a_language' => array('lang' => 'Can manage language packs', 'cat' => 'misc'), - 'acl_a_email' => array('lang' => 'Can send mass email', 'cat' => 'misc'), + 'acl_a_email' => array('lang' => 'Can send mass e-mail', 'cat' => 'misc'), 'acl_a_bots' => array('lang' => 'Can manage bots', 'cat' => 'misc'), 'acl_a_reasons' => array('lang' => 'Can manage report/denial reasons', 'cat' => 'misc'), 'acl_a_backup' => array('lang' => 'Can backup/restore database', 'cat' => 'misc'), diff --git a/phpBB/language/en/acp/posting.php b/phpBB/language/en/acp/posting.php index a517afa85d..e73360c6c0 100644 --- a/phpBB/language/en/acp/posting.php +++ b/phpBB/language/en/acp/posting.php @@ -33,15 +33,15 @@ if (empty($lang) || !is_array($lang)) // BBCodes // Note to translators: you can translate everything but what's between { and } $lang = array_merge($lang, array( - 'ACP_BBCODES_EXPLAIN' => 'BBCode is a special implementation of HTML offering greater control over what and how something is displayed. From this page you can add, remove and edit custom BBCodes', + 'ACP_BBCODES_EXPLAIN' => 'BBCode is a special implementation of HTML offering greater control over what and how something is displayed. From this page you can add, remove and edit custom BBCodes.', 'ADD_BBCODE' => 'Add a new BBCode', 'BBCODE_ADDED' => 'BBCode added successfully.', 'BBCODE_EDITED' => 'BBCode edited successfully.', 'BBCODE_NOT_EXIST' => 'The BBCode you selected does not exist.', - 'BBCODE_HELPLINE' => 'Helpline', - 'BBCODE_HELPLINE_EXPLAIN' => 'This field contains the mouseover text of the BBCode', - 'BBCODE_HELPLINE_TEXT' => 'Helpline text', + 'BBCODE_HELPLINE' => 'Help line', + 'BBCODE_HELPLINE_EXPLAIN' => 'This field contains the mouse over text of the BBCode', + 'BBCODE_HELPLINE_TEXT' => 'Help line text', 'BBCODE_INVALID_TAG_NAME' => 'The BBCode tag name that you selected already exists.', 'BBCODE_OPEN_ENDED_TAG' => 'Your custom BBCode must contain both an opening and a closing tag.', 'BBCODE_TAG' => 'Tag', @@ -60,17 +60,17 @@ $lang = array_merge($lang, array( 'TOKEN' => 'Token', 'TOKENS' => 'Tokens', - 'TOKENS_EXPLAIN' => 'Tokens are placeholders for user input. The input will be validated only if it matches the corresponding definition. If needed, you can number them by adding a number as the last character between the braces, e.g. {USERNAME1}, {USERNAME2}.

    In addition to these tokens you can use any of lang string present in your language/ directory like this: {L_<stringname>} where <stringname> is the name of the translated string you want to add. For example, {L_WROTE} will be displayed as "wrote" or its translation according to user’s locale', + 'TOKENS_EXPLAIN' => 'Tokens are placeholders for user input. The input will be validated only if it matches the corresponding definition. If needed, you can number them by adding a number as the last character between the braces, e.g. {USERNAME1}, {USERNAME2}.

    In addition to these tokens you can use any language string present in your language/ directory like this: {L_<STRINGNAME>} where <STRINGNAME> is the name of the translated string you want to add. For example, {L_WROTE} will be displayed as "wrote" or its translation according to user’s locale', 'TOKEN_DEFINITION' => 'What can it be?', 'TOO_MANY_BBCODES' => 'You cannot create any more BBCodes. Please remove one or more BBCodes then try again.', 'tokens' => array( 'TEXT' => 'Any text, including foreign characters, numbers, etc…', 'NUMBER' => 'Any series of digits', - 'EMAIL' => 'A valid email address', - 'URL' => 'A valid URL using any protocol (http, ftp, etc… cannot be used for javascript exploits). If none is given, "http://" is prepended to the string', + 'EMAIL' => 'A valid e-mail address', + 'URL' => 'A valid URL using any protocol (http, ftp, etc… cannot be used for javascript exploits). If none is given, "http://" is prefixed to the string', 'LOCAL_URL' => 'A local URL. The URL must be relative to the topic page and cannot contain a server name or protocol', - 'COLOR' => 'A HTML color, can be either in the numeric form #FF1234 or a CSS colour keyword such as fuchsia or InactiveBorder' + 'COLOR' => 'A HTML colour, can be either in the numeric form #FF1234 or a CSS colour keyword such as fuchsia or InactiveBorder' ) )); diff --git a/phpBB/language/en/acp/profile.php b/phpBB/language/en/acp/profile.php index 2bb8d64e1b..d7c1024817 100644 --- a/phpBB/language/en/acp/profile.php +++ b/phpBB/language/en/acp/profile.php @@ -82,7 +82,7 @@ $lang = array_merge($lang, array( 'FIELD_INT' => 'Numbers', 'FIELD_LENGTH' => 'Length of input box', 'FIELD_NOT_FOUND' => 'Profile field not found.', - 'FIELD_STRING' => 'Single textfield', + 'FIELD_STRING' => 'Single text field', 'FIELD_TEXT' => 'Textarea', 'FIELD_TYPE' => 'Field type', 'FIELD_TYPE_EXPLAIN' => 'You are not able to change the field type later.', diff --git a/phpBB/language/en/acp/prune.php b/phpBB/language/en/acp/prune.php index ad2a998c21..8d01f64d44 100644 --- a/phpBB/language/en/acp/prune.php +++ b/phpBB/language/en/acp/prune.php @@ -44,6 +44,10 @@ $lang = array_merge($lang, array( 'LAST_ACTIVE_EXPLAIN' => 'Enter a date in YYYY-MM-DD format.', + 'PRUNE_USERS_LIST' => 'Users to be pruned', + 'PRUNE_USERS_LIST_DELETE' => 'With the selected critera for pruning users the following accounts will be removed.', + 'PRUNE_USERS_LIST_DEACTIVATE' => 'With the selected critera for pruning users the following accounts will be deactivated.', + 'SELECT_USERS_EXPLAIN' => 'Enter specific usernames here, they will be used in preference to the criteria above.', 'USER_DEACTIVATE_SUCCESS' => 'The selected users have been deactivated successfully.', diff --git a/phpBB/language/en/acp/styles.php b/phpBB/language/en/acp/styles.php index cdf4694442..0726a69cc7 100644 --- a/phpBB/language/en/acp/styles.php +++ b/phpBB/language/en/acp/styles.php @@ -54,7 +54,7 @@ $lang = array_merge($lang, array( 'CACHE' => 'Cache', 'CACHE_CACHED' => 'Cached', 'CACHE_FILENAME' => 'Template file', - 'CACHE_FILESIZE' => 'Filesize', + 'CACHE_FILESIZE' => 'File size', 'CACHE_MODIFIED' => 'Modified', 'CONFIRM_IMAGESET_REFRESH' => 'Are you sure you wish to refresh all imageset data? The settings from the imageset configuration file will overwrite all modifications to the imageset which have been carried out with the imageset editor.', 'CONFIRM_TEMPLATE_CLEAR_CACHE' => 'Are you sure you wish to clear all cached versions of your template files?', @@ -89,9 +89,9 @@ $lang = array_merge($lang, array( 'EDIT_DETAILS_STYLE' => 'Edit style', 'EDIT_DETAILS_STYLE_EXPLAIN' => 'Using the form below you can modify this existing style. You may alter the combination of template, theme and imageset which define the style itself. You may also make the style the default one.', 'EDIT_DETAILS_TEMPLATE' => 'Edit template details', - 'EDIT_DETAILS_TEMPLATE_EXPLAIN' => 'Here you can edit certain template details such as its name. You may also have the option to switch storage of the stylesheet from the filesystem to the database and vice versa. This option depends on your PHP configuration and whether your template set can be written to by the webserver.', + 'EDIT_DETAILS_TEMPLATE_EXPLAIN' => 'Here you can edit certain template details such as its name. You may also have the option to switch storage of the stylesheet from the filesystem to the database and vice versa. This option depends on your PHP configuration and whether your template set can be written to by the web server.', 'EDIT_DETAILS_THEME' => 'Edit theme details', - 'EDIT_DETAILS_THEME_EXPLAIN' => 'Here you can edit certain theme details such as its name. You may also have the option to switch storage of the stylesheet from the filesystem to the database and vice versa. This option depends on your PHP configuration and whether your stylesheet can be written to by the webserver.', + 'EDIT_DETAILS_THEME_EXPLAIN' => 'Here you can edit certain theme details such as its name. You may also have the option to switch storage of the stylesheet from the filesystem to the database and vice versa. This option depends on your PHP configuration and whether your stylesheet can be written to by the web server.', 'EDIT_IMAGESET' => 'Edit imageset', 'EDIT_IMAGESET_EXPLAIN' => 'Here you can edit the individual images which define the imageset. You can also specify dimensions for the image. Dimensions are optional, specifying them can overcome certain rendering issues with some browsers. By not specifying them you reduce the size of the database record a little.', 'EDIT_TEMPLATE' => 'Edit template', @@ -215,7 +215,7 @@ $lang = array_merge($lang, array( 'IMG_ICON_BACK_TOP' => 'Top', 'IMG_ICON_CONTACT_AIM' => 'AIM', - 'IMG_ICON_CONTACT_EMAIL' => 'Send email', + 'IMG_ICON_CONTACT_EMAIL' => 'Send e-mail', 'IMG_ICON_CONTACT_ICQ' => 'ICQ', 'IMG_ICON_CONTACT_JABBER' => 'Jabber', 'IMG_ICON_CONTACT_MSNM' => 'MSNM', diff --git a/phpBB/language/en/acp/users.php b/phpBB/language/en/acp/users.php index abcc874e40..8e5fb9e202 100644 --- a/phpBB/language/en/acp/users.php +++ b/phpBB/language/en/acp/users.php @@ -34,6 +34,7 @@ $lang = array_merge($lang, array( 'ADMIN_SIG_PREVIEW' => 'Signature preview', 'AT_LEAST_ONE_FOUNDER' => 'You are not able to change this founder to a normal user. There needs to be at least one founder enabled for this board. If you want to change this users founder status, promote another user to be a founder first.', + 'BAN_ALREADY_ENTERED' => 'The ban had been previously entered successfully. The ban list has not been updated.', 'BAN_SUCCESSFUL' => 'Ban entered successfully.', 'CANNOT_BAN_FOUNDER' => 'You are not allowed to ban founder accounts.', @@ -48,7 +49,7 @@ $lang = array_merge($lang, array( 'CANNOT_REMOVE_YOURSELF' => 'You are not allowed to remove your own user account.', 'CANNOT_SET_FOUNDER_BOT' => 'You are not able to promote ignored users to be founders.', 'CANNOT_SET_FOUNDER_INACTIVE' => 'You need to activate users before you promote them to founders, only activated users are able to be promoted.', - 'CONFIRM_EMAIL_EXPLAIN' => 'You only need to specify this if you are changing the users email address.', + 'CONFIRM_EMAIL_EXPLAIN' => 'You only need to specify this if you are changing the users e-mail address.', 'DELETE_POSTS' => 'Delete posts', 'DELETE_USER' => 'Delete user', @@ -86,8 +87,8 @@ $lang = array_merge($lang, array( 'USER_ADMIN_ACTIVATE' => 'Activate account', 'USER_ADMIN_ACTIVATED' => 'User activated successfully.', 'USER_ADMIN_AVATAR_REMOVED' => 'Successfully removed avatar from user account.', - 'USER_ADMIN_BAN_EMAIL' => 'Ban by email', - 'USER_ADMIN_BAN_EMAIL_REASON' => 'Email address banned via user management', + 'USER_ADMIN_BAN_EMAIL' => 'Ban by e-mail', + 'USER_ADMIN_BAN_EMAIL_REASON' => 'E-mail address banned via user management', 'USER_ADMIN_BAN_IP' => 'Ban by IP', 'USER_ADMIN_BAN_IP_REASON' => 'IP banned via user management', 'USER_ADMIN_BAN_NAME_REASON' => 'Username banned via user management', diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index d78ae62769..1e16b8cea1 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -48,12 +48,12 @@ $lang = array_merge($lang, array( '6_MONTHS' => '6 months', '7_DAYS' => '7 days', - 'ACCOUNT_ALREADY_ACTIVATED' => 'Your account is already activated.', + 'ACCOUNT_ALREADY_ACTIVATED' => 'Your account has already been activated.', 'ACCOUNT_DEACTIVATED' => 'Your account has been manually deactivated and is only able to be reactivated by an administrator.', 'ACCOUNT_NOT_ACTIVATED' => 'Your account has not been activated yet.', 'ACP' => 'Administration Control Panel', 'ACTIVE' => 'active', - 'ACTIVE_ERROR' => 'You have specified an inactive username. Please activate your account and try again. If you continue to have problems please contact a board administrator.', + 'ACTIVE_ERROR' => 'The specified username is currently inactive. If you have problems activating your account, please contact a board administrator.', 'ADMINISTRATOR' => 'Administrator', 'ADMINISTRATORS' => 'Administrators', 'AGE' => 'Age', @@ -66,32 +66,32 @@ $lang = array_merge($lang, array( 'ALL_TIMES' => 'All times are %1$s %2$s', 'ALL_TOPICS' => 'All Topics', 'AND' => 'And', - 'ARE_WATCHING_FORUM' => 'You have subscribed to receive updates on this forum.', - 'ARE_WATCHING_TOPIC' => 'You have subscribed to receive updates on this topic.', + 'ARE_WATCHING_FORUM' => 'You have subscribed to be notified of new posts in this forum.', + 'ARE_WATCHING_TOPIC' => 'You have subscribed to be notified of new posts in this topic.', 'ASCENDING' => 'Ascending', 'ATTACHMENTS' => 'Attachments', - 'ATTACHED_IMAGE_NOT_IMAGE' => 'You tried to attach an invalid image file.', + 'ATTACHED_IMAGE_NOT_IMAGE' => 'The image file you tried to attach is invalid.', 'AUTHOR' => 'Author', - 'AUTH_NO_PROFILE_CREATED' => 'Creating a user profile failed.', - 'AVATAR_DISALLOWED_EXTENSION' => 'The extension %s is not allowed.', - 'AVATAR_EMPTY_REMOTE_DATA' => 'Avatar could not be uploaded, the remote data appears to be invalid or corrupted.', + 'AUTH_NO_PROFILE_CREATED' => 'The creation of a user profile was unsuccessful.', + 'AVATAR_DISALLOWED_EXTENSION' => 'This file cannot be displayed because the extension %s is not allowed.', + 'AVATAR_EMPTY_REMOTE_DATA' => 'The specified avatar could not be uploaded because the remote data appears to be invalid or corrupted.', 'AVATAR_EMPTY_FILEUPLOAD' => 'The uploaded avatar file is empty.', 'AVATAR_INVALID_FILENAME' => '%s is an invalid filename.', 'AVATAR_NOT_UPLOADED' => 'Avatar could not be uploaded.', - 'AVATAR_NO_SIZE' => 'Could not obtain width or height of linked avatar, please enter them manually.', - 'AVATAR_PARTIAL_UPLOAD' => 'The uploaded file was only partially uploaded.', - 'AVATAR_PHP_SIZE_NA' => 'The avatar’s filesize is too large.
    Could not determine the maximum size defined by PHP in php.ini.', - 'AVATAR_PHP_SIZE_OVERRUN' => 'The avatar’s filesize is too large, maximum upload size is %d MB.
    Please note this is set in php.ini and cannot be overridden.', + 'AVATAR_NO_SIZE' => 'The width or height of the linked avatar could not be determined. Please enter them manually.', + 'AVATAR_PARTIAL_UPLOAD' => 'The specified file was only partially uploaded.', + 'AVATAR_PHP_SIZE_NA' => 'The avatar’s filesize is too large.
    The maximum allowed filesize set in php.ini could not be determined.', + 'AVATAR_PHP_SIZE_OVERRUN' => 'The avatar’s filesize is too large. The maximum allowed upload size is %d MB.
    Please note this is set in php.ini and cannot be overridden.', 'AVATAR_URL_INVALID' => 'The URL you specified is invalid.', 'AVATAR_URL_NOT_FOUND' => 'The file specified could not be found.', 'AVATAR_WRONG_FILESIZE' => 'The avatar must be between 0 and %1d %2s.', - 'AVATAR_WRONG_SIZE' => 'The avatar must be at least %1$d pixels wide, %2$d pixels high and at most %3$d pixels wide and %4$d pixels high. The submitted avatar is %5$d pixels wide and %6$d pixels high.', + 'AVATAR_WRONG_SIZE' => 'The submitted avatar is %5$d pixels wide and %6$d pixels high. Avatars must be at least %1$d pixels wide and %2$d pixels high, but no larger than %3$d pixels wide and %4$d pixels high.', 'BACK_TO_TOP' => 'Top', 'BACK_TO_PREV' => 'Back to previous page', - 'BAN_TRIGGERED_BY_EMAIL'=> 'This ban has been issued on your email address.', - 'BAN_TRIGGERED_BY_IP' => 'This ban has been issued on your IP address.', - 'BAN_TRIGGERED_BY_USER' => 'This ban has been issued on your username.', + 'BAN_TRIGGERED_BY_EMAIL'=> 'A ban has been issued on your e-mail address.', + 'BAN_TRIGGERED_BY_IP' => 'A ban has been issued on your IP address.', + 'BAN_TRIGGERED_BY_USER' => 'A ban has been issued on your username.', 'BBCODE_GUIDE' => 'BBCode guide', 'BCC' => 'BCC', 'BIRTHDAYS' => 'Birthdays', @@ -117,7 +117,7 @@ $lang = array_merge($lang, array( 'COMMA_SEPARATOR' => ', ', // Used in pagination of ACP & prosilver, use localised comma if appropriate, eg: Ideographic or Arabic 'CONFIRM' => 'Confirm', 'CONFIRM_CODE' => 'Confirmation code', - 'CONFIRM_CODE_EXPLAIN' => 'Enter the code exactly as you see it in the image, it is case insensitive. Please note that a zero does not exist.', + 'CONFIRM_CODE_EXPLAIN' => 'Enter the code exactly as it appears. All letters are case insensitive, there is no zero.', 'CONFIRM_CODE_WRONG' => 'The confirmation code you entered was incorrect.', 'CONFIRM_OPERATION' => 'Are you sure you wish to carry out this operation?', 'CONGRATULATIONS' => 'Congratulations to', @@ -151,16 +151,16 @@ $lang = array_merge($lang, array( 'VIEWED_COUNT_NONE' => 'Not viewed yet', 'EDIT_POST' => 'Edit post', - 'EMAIL' => 'Email', - 'EMAIL_ADDRESS' => 'Email address', - 'EMAIL_SMTP_ERROR_RESPONSE' => 'Ran into problems sending email at Line %1$s. Response: %2$s', + 'EMAIL' => 'E-mail', + 'EMAIL_ADDRESS' => 'E-mail address', + 'EMAIL_SMTP_ERROR_RESPONSE' => 'Ran into problems sending e-mail at Line %1$s. Response: %2$s', 'EMPTY_SUBJECT' => 'You must specify a subject when posting a new topic.', 'ENABLED' => 'Enabled', 'ENCLOSURE' => 'Enclosure', 'ERR_CHANGING_DIRECTORY' => 'Unable to change directory', 'ERR_CONNECTING_SERVER' => 'Error connecting to the server', - 'ERR_UNABLE_TO_LOGIN' => 'Error on login. Supplied username or password wrong.', - 'ERR_WRONG_PATH_TO_PHPBB' => 'The phpBB path entered seems to be not valid.', + 'ERR_UNABLE_TO_LOGIN' => 'The specified username or password is incorrect.', + 'ERR_WRONG_PATH_TO_PHPBB' => 'The phpBB path specified appears to be invalid.', 'EXPAND_VIEW' => 'Expand view', 'EXTENSION' => 'Extension', 'EXTENSION_DISABLED_AFTER_POSTING' => 'The extension %s has been deactivated and can no longer be displayed', @@ -168,7 +168,7 @@ $lang = array_merge($lang, array( 'FAQ' => 'FAQ', 'FAQ_EXPLAIN' => 'Frequently Asked Questions', 'FILENAME' => 'Filename', - 'FILESIZE' => 'Filesize', + 'FILESIZE' => 'File size', 'FILEDATE' => 'File date', 'FILE_COMMENT' => 'File comment', 'FILE_NOT_FOUND' => 'The requested file could not be found', @@ -184,7 +184,7 @@ $lang = array_merge($lang, array( 'FORUM_LOCATION' => 'Forum location', 'FORUM_LOCKED' => 'Forum locked', 'FORUM_RULES' => 'Forum rules', - 'FORUM_RULES_LINK' => 'Please click to view the forum rules', + 'FORUM_RULES_LINK' => 'Please click here to view the forum rules', 'FROM' => 'from', 'FSOCK_DISABLED' => 'The operation could not be completed because the fsockopen function has been disabled or the server being queried could not be found.', @@ -220,7 +220,7 @@ $lang = array_merge($lang, array( 'GROUPS' => 'Groups', 'GROUP_ERR_TYPE' => 'Inappropriate group type specified.', 'GROUP_ERR_USERNAME' => 'No group name specified.', - 'GROUP_ERR_USER_LONG' => 'Group name is too long. A maximum of 60 characters are allowed.', + 'GROUP_ERR_USER_LONG' => 'Group names cannot exceed 60 characters. The specified group name is too long.', 'GUEST' => 'Guest', 'GUEST_USERS_ONLINE' => 'There are %d guest users online', 'GUEST_USERS_TOTAL' => '%d guests', @@ -250,14 +250,14 @@ $lang = array_merge($lang, array( 'ICQ_STATUS' => 'ICQ status', 'IF' => 'If', 'IMAGE' => 'Image', - 'IMAGE_FILETYPE_INVALID' => 'Image filetype %d for mimetype %s not supported.', - 'IMAGE_FILETYPE_MISMATCH' => 'Image filetype mismatch: expected extension %1$s but extension %2$s given.', + 'IMAGE_FILETYPE_INVALID' => 'Image file type %d for mimetype %s not supported.', + 'IMAGE_FILETYPE_MISMATCH' => 'Image file type mismatch: expected extension %1$s but extension %2$s given.', 'IN' => 'in', 'INDEX' => 'Index page', 'INFORMATION' => 'Information', 'INTERESTS' => 'Interests', 'INVALID_DIGEST_CHALLENGE' => 'Invalid digest challenge', - 'INVALID_EMAIL_LOG' => '%s possibly an invalid email address?', + 'INVALID_EMAIL_LOG' => '%s possibly an invalid e-mail address?', 'IP' => 'IP', 'IP_BLACKLISTED' => 'Your IP %1$s has been blocked because it is blacklisted. For details please see %2$s.', @@ -340,9 +340,9 @@ $lang = array_merge($lang, array( 'NO_AUTH_OPERATION' => 'You do not have the necessary permissions to complete this operation.', 'NO_CONNECT_TO_SMTP_HOST' => 'Could not connect to smtp host : %s : %s', 'NO_BIRTHDAYS' => 'No birthdays today', - 'NO_EMAIL_MESSAGE' => 'Email message was blank', + 'NO_EMAIL_MESSAGE' => 'E-mail message was blank', 'NO_EMAIL_RESPONSE_CODE' => 'Could not get mail server response codes', - 'NO_EMAIL_SUBJECT' => 'No email subject specified', + 'NO_EMAIL_SUBJECT' => 'No e-mail subject specified', 'NO_FORUM' => 'The forum you selected does not exist.', 'NO_FORUMS' => 'This board has no forums', 'NO_GROUP' => 'The requested usergroup does not exist.', @@ -441,7 +441,7 @@ $lang = array_merge($lang, array( 'REPORT_BY' => 'Report by', 'REPORT_POST' => 'Report this post', 'REPORTING_POST' => 'Reporting post', - 'RESEND_ACTIVATION' => 'Resend activation email', + 'RESEND_ACTIVATION' => 'Resend activation e-mail', 'RESET' => 'Reset', 'RESTORE_PERMISSIONS' => 'Restore permissions', 'RETURN_INDEX' => '%sReturn to the index page%s', @@ -484,7 +484,7 @@ $lang = array_merge($lang, array( 'SELECT' => 'Select', 'SELECT_DESTINATION_FORUM' => 'Please select a destination forum', 'SELECT_FORUM' => 'Select a forum', - 'SEND_EMAIL' => 'Email', + 'SEND_EMAIL' => 'E-mail', 'SEND_PRIVATE_MESSAGE' => 'Send private message', 'SETTINGS' => 'Settings', 'SIGNATURE' => 'Signature', @@ -527,8 +527,8 @@ $lang = array_merge($lang, array( 'TOO_LONG_PASSWORD_CONFIRM' => 'The password confirmation you entered is too long.', 'TOO_LONG_USER_PASSWORD' => 'The password you entered is too long.', 'TOO_LONG_USERNAME' => 'The username you entered is too long.', - 'TOO_LONG_EMAIL' => 'The email address you entered is too long.', - 'TOO_LONG_EMAIL_CONFIRM' => 'The email address confirmation you entered is too long.', + 'TOO_LONG_EMAIL' => 'The e-mail address you entered is too long.', + 'TOO_LONG_EMAIL_CONFIRM' => 'The e-mail address confirmation you entered is too long.', 'TOO_LONG_WEBSITE' => 'The website address you entered is too long.', 'TOO_LONG_YIM' => 'The Yahoo! Messenger name you entered is too long.', @@ -546,8 +546,8 @@ $lang = array_merge($lang, array( 'TOO_SHORT_PASSWORD_CONFIRM' => 'The password confirmation you entered is too short.', 'TOO_SHORT_USER_PASSWORD' => 'The password you entered is too short.', 'TOO_SHORT_USERNAME' => 'The username you entered is too short.', - 'TOO_SHORT_EMAIL' => 'The email address you entered is too short.', - 'TOO_SHORT_EMAIL_CONFIRM' => 'The email address confirmation you entered is too short.', + 'TOO_SHORT_EMAIL' => 'The e-mail address you entered is too short.', + 'TOO_SHORT_EMAIL_CONFIRM' => 'The e-mail address confirmation you entered is too short.', 'TOO_SHORT_WEBSITE' => 'The website address you entered is too short.', 'TOO_SHORT_YIM' => 'The Yahoo! Messenger name you entered is too short.', @@ -586,7 +586,7 @@ $lang = array_merge($lang, array( 'UNWATCHED_TOPICS' => 'You are no longer watching the selected topics.', 'UPDATE' => 'Update', 'UPLOAD_IN_PROGRESS' => 'The upload is currently in progress', - 'URL_REDIRECT' => 'If your browser does not support meta redirection please click %sHERE%s to be redirected.', + 'URL_REDIRECT' => 'If your browser does not support meta redirection %splease click HERE to be redirected%s.', 'USERGROUPS' => 'Groups', 'USERNAME' => 'Username', 'USERNAMES' => 'Usernames', diff --git a/phpBB/language/en/email/admin_send_email.txt b/phpBB/language/en/email/admin_send_email.txt index b778496258..6687404527 100644 --- a/phpBB/language/en/email/admin_send_email.txt +++ b/phpBB/language/en/email/admin_send_email.txt @@ -1,9 +1,9 @@ -The following is an email sent to you by an administrator of "{SITENAME}". If this message is spam, contains abusive or other comments you find offensive please contact the webmaster of the board at the following address: +The following is an e-mail sent to you by an administrator of "{SITENAME}". If this message is spam, contains abusive or other comments you find offensive please contact the webmaster of the board at the following address: {CONTACT_EMAIL} -Include this full email (particularly the headers). +Include this full e-mail (particularly the headers). Message sent to you follows: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/phpBB/language/en/email/admin_welcome_activated.txt b/phpBB/language/en/email/admin_welcome_activated.txt index 0e4658b969..c16a403f00 100644 --- a/phpBB/language/en/email/admin_welcome_activated.txt +++ b/phpBB/language/en/email/admin_welcome_activated.txt @@ -2,6 +2,6 @@ Subject: Account activated Hello {USERNAME}, -Your account on "{SITENAME}" has now been activated, you may login using the username and password you received in a previous email. +Your account on "{SITENAME}" has now been activated, you may login using the username and password you received in a previous e-mail. {EMAIL_SIG} \ No newline at end of file diff --git a/phpBB/language/en/email/admin_welcome_inactive.txt b/phpBB/language/en/email/admin_welcome_inactive.txt index 29d5e7d818..0d75f33c18 100644 --- a/phpBB/language/en/email/admin_welcome_inactive.txt +++ b/phpBB/language/en/email/admin_welcome_inactive.txt @@ -2,14 +2,14 @@ Subject: Welcome to "{SITENAME}" - {U_BOARD} {WELCOME_MSG} -Please keep this email for your records. Your account information is as follows: +Please keep this e-mail for your records. Your account information is as follows: ---------------------------- Username: {USERNAME} Password: {PASSWORD} ---------------------------- -Your account is currently inactive, the administrator of the board will need to activate it before you can log in. You will receive another email when this has occurred. +Your account is currently inactive, the administrator of the board will need to activate it before you can log in. You will receive another e-mail when this has occurred. Please do not forget your password as it has been encrypted in our database and we cannot retrieve it for you. However, should you forget your password you can request a new one which will be activated in the same way as this account. diff --git a/phpBB/language/en/email/coppa_resend_inactive.txt b/phpBB/language/en/email/coppa_resend_inactive.txt index a69f9086b2..b1e45213e9 100644 --- a/phpBB/language/en/email/coppa_resend_inactive.txt +++ b/phpBB/language/en/email/coppa_resend_inactive.txt @@ -16,7 +16,7 @@ OR mail it to: Permission to participate at "{SITENAME}" Username: {USERNAME} -Email: {EMAIL_ADDRESS} +E-mail: {EMAIL_ADDRESS} I HAVE REVIEWED THE INFORMATION PROVIDED BY MY CHILD AND HEREBY GRANT PERMISSION TO "{SITENAME}" TO STORE THIS INFORMATION. I UNDERSTAND THIS INFORMATION CAN BE CHANGED AT ANY TIME BY ENTERING A PASSWORD. diff --git a/phpBB/language/en/email/coppa_welcome_inactive.txt b/phpBB/language/en/email/coppa_welcome_inactive.txt index 1cb28f65bd..1167502c8a 100644 --- a/phpBB/language/en/email/coppa_welcome_inactive.txt +++ b/phpBB/language/en/email/coppa_welcome_inactive.txt @@ -17,7 +17,7 @@ Permission to participate at "{SITENAME}" Username: {USERNAME} Password: {PASSWORD} -Email: {EMAIL_ADDRESS} +E-mail: {EMAIL_ADDRESS} I HAVE REVIEWED THE INFORMATION PROVIDED BY MY CHILD AND HEREBY GRANT PERMISSION TO "{SITENAME}" TO STORE THIS INFORMATION. I UNDERSTAND THIS INFORMATION CAN BE CHANGED AT ANY TIME BY ENTERING A PASSWORD. diff --git a/phpBB/language/en/email/email_notify.txt b/phpBB/language/en/email/email_notify.txt index 725b52f0cc..0d0ac7fc28 100644 --- a/phpBB/language/en/email/email_notify.txt +++ b/phpBB/language/en/email/email_notify.txt @@ -1,8 +1,8 @@ -Subject: "{SITENAME}" - Email a friend +Subject: "{SITENAME}" - E-mail a friend Hello {TO_USERNAME}, -This email was sent from "{SITENAME}" by {FROM_USERNAME} who thought you may be interested in the following topic: +This e-mail was sent from "{SITENAME}" by {FROM_USERNAME} who thought you may be interested in the following topic: {TOPIC_NAME} @@ -10,7 +10,7 @@ You can find it at: {U_TOPIC} -A message from {FROM_USERNAME} may also be included below. Please note that this message has not been seen or approved by the board administrators. If you wish to complain about having received this email please contact the board administrator at {BOARD_CONTACT}. Please quote the message headers when contacting this address. +A message from {FROM_USERNAME} may also be included below. Please note that this message has not been seen or approved by the board administrators. If you wish to complain about having received this e-mail please contact the board administrator at {BOARD_CONTACT}. Please quote the message headers when contacting this address. ---------- diff --git a/phpBB/language/en/email/installed.txt b/phpBB/language/en/email/installed.txt index 61cd345774..01a0ddb1da 100644 --- a/phpBB/language/en/email/installed.txt +++ b/phpBB/language/en/email/installed.txt @@ -4,7 +4,7 @@ Congratulations, You have successfully installed phpBB on your server. -This email contains important information on your installation that you should keep safe. The password has been encrypted in the database and cannot be recovered, although you can request a new password should you lose this one +This e-mail contains important information on your installation that you should keep safe. The password has been encrypted in the database and cannot be recovered, although you can request a new password should you lose this one ---------------------------- Username: {USERNAME} diff --git a/phpBB/language/en/email/profile_send_email.txt b/phpBB/language/en/email/profile_send_email.txt index 3e63777c9f..9fb19e7eb1 100644 --- a/phpBB/language/en/email/profile_send_email.txt +++ b/phpBB/language/en/email/profile_send_email.txt @@ -1,11 +1,11 @@ Hello {TO_USERNAME}, -The following is an email sent to you by {FROM_USERNAME} via your account on "{SITENAME}". If this message is spam, contains abusive or other comments you find offensive please contact the webmaster of the board at the following address: +The following is an e-mail sent to you by {FROM_USERNAME} via your account on "{SITENAME}". If this message is spam, contains abusive or other comments you find offensive please contact the webmaster of the board at the following address: {BOARD_CONTACT} -Include this full email (particularly the headers). Please note that the reply address to this email has been set to that of {FROM_USERNAME}. +Include this full e-mail (particularly the headers). Please note that the reply address to this e-mail has been set to that of {FROM_USERNAME}. Message sent to you follows ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/phpBB/language/en/email/user_reactivate_account.txt b/phpBB/language/en/email/user_reactivate_account.txt index 3709723423..444933b633 100644 --- a/phpBB/language/en/email/user_reactivate_account.txt +++ b/phpBB/language/en/email/user_reactivate_account.txt @@ -3,7 +3,7 @@ Subject: Reactivate your account on "{SITENAME}" - {U_BOARD} A board administrator forced your account to be reactivated. Your account is currently inactive. Please follow the steps listed here to reactivate your account. -Please keep this email for your records. Your account information is as follows: +Please keep this e-mail for your records. Your account information is as follows: ---------------------------- Username: {USERNAME} diff --git a/phpBB/language/en/email/user_resend_inactive.txt b/phpBB/language/en/email/user_resend_inactive.txt index 061ffedae1..f0a0034aa5 100644 --- a/phpBB/language/en/email/user_resend_inactive.txt +++ b/phpBB/language/en/email/user_resend_inactive.txt @@ -2,7 +2,7 @@ Subject: Welcome to "{SITENAME}" - {U_BOARD} {WELCOME_MSG} -Please keep this email for your records. Your account information is as follows: +Please keep this e-mail for your records. Your account information is as follows: ---------------------------- Username: {USERNAME} diff --git a/phpBB/language/en/email/user_welcome.txt b/phpBB/language/en/email/user_welcome.txt index 5389e92f4e..52957082fb 100644 --- a/phpBB/language/en/email/user_welcome.txt +++ b/phpBB/language/en/email/user_welcome.txt @@ -2,7 +2,7 @@ Subject: Welcome to "{SITENAME}" - {U_BOARD} {WELCOME_MSG} -Please keep this email for your records. Your account information is as follows: +Please keep this e-mail for your records. Your account information is as follows: ---------------------------- Username: {USERNAME} diff --git a/phpBB/language/en/email/user_welcome_inactive.txt b/phpBB/language/en/email/user_welcome_inactive.txt index 65d0d20a56..3cd5e3c2ea 100644 --- a/phpBB/language/en/email/user_welcome_inactive.txt +++ b/phpBB/language/en/email/user_welcome_inactive.txt @@ -2,7 +2,7 @@ Subject: Welcome to "{SITENAME}" - {U_BOARD} {WELCOME_MSG} -Please keep this email for your records. Your account information is as follows: +Please keep this e-mail for your records. Your account information is as follows: ---------------------------- Username: {USERNAME} diff --git a/phpBB/language/en/help_bbcode.php b/phpBB/language/en/help_bbcode.php index 7e7a7dffe9..7e0e4669f2 100644 --- a/phpBB/language/en/help_bbcode.php +++ b/phpBB/language/en/help_bbcode.php @@ -68,7 +68,7 @@ $help = array( ), array( 0 => 'Creating an Un-ordered list', - 1 => 'BBCode supports two types of lists, unordered and ordered. They are essentially the same as their HTML equivalents. An unordered list ouputs each item in your list sequentially one after the other indenting each with a bullet character. To create an unordered list you use [list][/list] and define each item within the list using [*]. For example to list your favourite colours you could use:

    [list]
    [*]Red
    [*]Blue
    [*]Yellow
    [/list]

    This would generate the following list:
    • Red
    • Blue
    • Yellow
    ' + 1 => 'BBCode supports two types of lists, unordered and ordered. They are essentially the same as their HTML equivalents. An unordered list outputs each item in your list sequentially one after the other indenting each with a bullet character. To create an unordered list you use [list][/list] and define each item within the list using [*]. For example to list your favourite colours you could use:

    [list]
    [*]Red
    [*]Blue
    [*]Yellow
    [/list]

    This would generate the following list:
    • Red
    • Blue
    • Yellow
    ' ), array( 0 => 'Creating an Ordered list', @@ -80,7 +80,7 @@ $help = array( ), array( 0 => 'Linking to another site', - 1 => 'phpBB BBCode supports a number of ways of creating URIs, Uniform Resource Indicators better known as URLs.
    • The first of these uses the [url=][/url] tag, whatever you type after the = sign will cause the contents of that tag to act as a URL. For example to link to phpBB.com you could use:

      [url=http://www.phpbb.com/]Visit phpBB![/url]

      This would generate the following link, Visit phpBB! Please notice that the link opens in the same window or a new window depending on the users browser preferences.
    • If you want the URL itself displayed as the link you can do this by simply using:

      [url]http://www.phpbb.com/[/url]

      This would generate the following link, http://www.phpbb.com/
    • Additionally phpBB features something called Magic Links, this will turn any syntactically correct URL into a link without you needing to specify any tags or even the leading http://. For example typing www.phpbb.com into your message will automatically lead to www.phpbb.com being output when you view the message.
    • The same thing applies equally to email addresses, you can either specify an address explicitly for example:

      [email]no.one@domain.adr[/email]

      which will output no.one@domain.adr or you can just type no.one@domain.adr into your message and it will be automatically converted when you view.
    As with all the BBCode tags you can wrap URLs around any of the other tags such as [img][/img] (see next entry), [b][/b], etc. As with the formatting tags it is up to you to ensure the correct open and close order is following, for example:

    [url=http://www.google.com/][img]http://www.google.com/intl/en_ALL/images/logo.gif[/url][/img]

    is not correct which may lead to your post being deleted so take care.' + 1 => 'phpBB BBCode supports a number of ways of creating URIs, Uniform Resource Indicators better known as URLs.
    • The first of these uses the [url=][/url] tag, whatever you type after the = sign will cause the contents of that tag to act as a URL. For example to link to phpBB.com you could use:

      [url=http://www.phpbb.com/]Visit phpBB![/url]

      This would generate the following link, Visit phpBB! Please notice that the link opens in the same window or a new window depending on the users browser preferences.
    • If you want the URL itself displayed as the link you can do this by simply using:

      [url]http://www.phpbb.com/[/url]

      This would generate the following link, http://www.phpbb.com/
    • Additionally phpBB features something called Magic Links, this will turn any syntactically correct URL into a link without you needing to specify any tags or even the leading http://. For example typing www.phpbb.com into your message will automatically lead to www.phpbb.com being output when you view the message.
    • The same thing applies equally to e-mail addresses, you can either specify an address explicitly for example:

      [email]no.one@domain.adr[/email]

      which will output no.one@domain.adr or you can just type no.one@domain.adr into your message and it will be automatically converted when you view.
    As with all the BBCode tags you can wrap URLs around any of the other tags such as [img][/img] (see next entry), [b][/b], etc. As with the formatting tags it is up to you to ensure the correct open and close order is following, for example:

    [url=http://www.google.com/][img]http://www.google.com/intl/en_ALL/images/logo.gif[/url][/img]

    is not correct which may lead to your post being deleted so take care.' ), array( 0 => '--', diff --git a/phpBB/language/en/help_faq.php b/phpBB/language/en/help_faq.php index 86323c2330..a08f57a08e 100644 --- a/phpBB/language/en/help_faq.php +++ b/phpBB/language/en/help_faq.php @@ -52,11 +52,11 @@ $help = array( ), array( 0 => 'I registered but cannot login!', - 1 => 'Firstly check your are entering the correct username and password. If they are okay then one of two things may have happened. If COPPA support is enabled and you clicked the I am under 13 years old link while registering then you will have to follow the instructions you received. If this is not the case then does your account need activating? Some boards will require all new registrations be activated, either by yourself or by the administrator before you can logon. When you registered it would have told you whether activation was required. If you were sent an email then follow the instructions, if you did not receive the email then are you sure your email address is valid? One reason activation is used is to reduce the possibility of rogue users abusing the board anonymously. If you are sure the email address you used is valid then try contacting the board administrator.' + 1 => 'Firstly check your are entering the correct username and password. If they are okay then one of two things may have happened. If COPPA support is enabled and you clicked the I am under 13 years old link while registering then you will have to follow the instructions you received. If this is not the case then does your account need activating? Some boards will require all new registrations be activated, either by yourself or by the administrator before you can logon. When you registered it would have told you whether activation was required. If you were sent an e-mail then follow the instructions, if you did not receive the e-mail then are you sure your e-mail address is valid? One reason activation is used is to reduce the possibility of rogue users abusing the board anonymously. If you are sure the e-mail address you used is valid then try contacting the board administrator.' ), array( 0 => 'I registered in the past but cannot login any more?!', - 1 => 'The most likely reasons for this are; you entered an incorrect username or password (check the email you were sent when you first registered) or the administrator has deleted your account for some reason. If it is the later case then perhaps you did not post anything? It is usual for boards to periodically remove users who have not posted anything so as to reduce the size of the database. Try registering again and get involved in discussions.' + 1 => 'The most likely reasons for this are; you entered an incorrect username or password (check the e-mail you were sent when you first registered) or the administrator has deleted your account for some reason. If it is the later case then perhaps you did not post anything? It is usual for boards to periodically remove users who have not posted anything so as to reduce the size of the database. Try registering again and get involved in discussions.' ), array( 0 => 'What is COPPA?', @@ -99,8 +99,8 @@ $help = array( 1 => 'In general you cannot directly change the wording of any rank (ranks appear below your username in topics and on your profile depending on the style used). Most boards use ranks to indicate the number of posts you have made and to identify certain users, e.g. moderators and administrators may have a special rank. Please do not abuse the board by posting unnecessarily just to increase your rank, you will probably find the moderator or administrator will simply lower your post count.' ), array( - 0 => 'When I click the email link for a user it asks me to login?', - 1 => 'Sorry but only registered users can send email to people via the built-in email form (if the admin has enabled this feature). This is to prevent malicious use of the email system by anonymous users.' + 0 => 'When I click the e-mail link for a user it asks me to login?', + 1 => 'Sorry but only registered users can send e-mail to people via the built-in e-mail form (if the admin has enabled this feature). This is to prevent malicious use of the e-mail system by anonymous users.' ), array( 0 => '--', @@ -112,7 +112,7 @@ $help = array( ), array( 0 => 'How do I edit or delete a post?', - 1 => 'Unless you are the board admin or forum moderator you can only edit or delete your own posts. You can edit a post (sometimes for only a limited time after it was made) by clicking the edit button for the relevant post. If someone has already replied to the post you will find a small piece of text output below the post when you return to the topic, which lists the number of times you edited it along with when. This will not appear if no one has replied, nor will not appear if moderators or administrators edit the post though they may leave a note as to why they’ve edited the post at their own disgression. Please note that normal users cannot delete a post once someone has replied.' + 1 => 'Unless you are the board admin or forum moderator you can only edit or delete your own posts. You can edit a post (sometimes for only a limited time after it was made) by clicking the edit button for the relevant post. If someone has already replied to the post you will find a small piece of text output below the post when you return to the topic, which lists the number of times you edited it along with when. This will not appear if no one has replied, nor will not appear if moderators or administrators edit the post though they may leave a note as to why they’ve edited the post at their own digression. Please note that normal users cannot delete a post once someone has replied.' ), array( 0 => 'How do I add a signature to my post?', @@ -247,8 +247,8 @@ $help = array( 1 => 'You may block a user from sending you private messages by using message rules within your User Control Panel. If you are receiving abusive private messages from someone inform the board admin, they have the power to prevent a user from sending private messages at all.' ), array( - 0 => 'I have received a spamming or abusive email from someone on this board!', - 1 => 'We are sorry to hear that. The email form feature of this board includes safeguards to try and track users who send such posts. You should email the board administrator with a full copy of the email you received, it is very important this include the headers (these list details of the user that sent the email). They can then take action.' + 0 => 'I have received a spamming or abusive e-mail from someone on this board!', + 1 => 'We are sorry to hear that. The e-mail form feature of this board includes safeguards to try and track users who send such posts. You should e-mail the board administrator with a full copy of the e-mail you received, it is very important this include the headers (these list details of the user that sent the e-mail). They can then take action.' ), array( 0 => '--', @@ -320,7 +320,7 @@ $help = array( ), array( 0 => 'Who wrote this bulletin board?', - 1 => 'This software (in its unmodified form) is produced, released and is copyright phpBB Group. It is made available under the GNU General Public Licence and may be freely distributed, see link for more details' + 1 => 'This software (in its unmodified form) is produced, released and is copyright phpBB Group. It is made available under the GNU General Public License and may be freely distributed, see link for more details' ), array( 0 => 'Why isn’t X feature available?', @@ -328,7 +328,7 @@ $help = array( ), array( 0 => 'Who do I contact about abusive and/or legal matters related to this board?', - 1 => 'Any of the administrators listed on the “The team” page should be an appropriate point of contact for your complaints. If this still gets no response then you should contact the owner of the domain (do a whois lookup) or, if this is running on a free service (e.g. Yahoo!, free.fr, f2s.com, etc.), the management or abuse department of that service. Please note that the phpBB Group has absolutely no jurisdiction and cannot in any way be held liable over how, where or by whom this board is used. Do not contact the phpBB Group in relation to any legal (cease and desist, liable, defamatory comment, etc.) matter not directly related to the phpBB.com website or the discrete software of phpBB itself. If you do email phpBB Group about any third party use of this software then you should expect a terse response or no response at all.' + 1 => 'Any of the administrators listed on the “The team” page should be an appropriate point of contact for your complaints. If this still gets no response then you should contact the owner of the domain (do a whois lookup) or, if this is running on a free service (e.g. Yahoo!, free.fr, f2s.com, etc.), the management or abuse department of that service. Please note that the phpBB Group has absolutely no jurisdiction and cannot in any way be held liable over how, where or by whom this board is used. Do not contact the phpBB Group in relation to any legal (cease and desist, liable, defamatory comment, etc.) matter not directly related to the phpBB.com website or the discrete software of phpBB itself. If you do e-mail phpBB Group about any third party use of this software then you should expect a terse response or no response at all.' ) ); diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index a8e9b39d37..b0e5d7175f 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -66,7 +66,7 @@ $lang = array_merge($lang, array( 'CONFIG_FILE_WRITTEN' => 'The configuration file has been written. You may now proceed to the next step of the installation', 'CONFIG_PHPBB_EMPTY' => 'The phpBB3 config variable for "%s" is empty.', 'CONFIG_RETRY' => 'Retry', - 'CONTACT_EMAIL_CONFIRM' => 'Confirm contact email', + 'CONTACT_EMAIL_CONFIRM' => 'Confirm contact e-mail', 'CONTINUE_CONVERT' => 'Continue conversion', 'CONTINUE_CONVERT_BODY' => 'A previous conversion attempt has been determined. You are now able to choose between starting a new conversion or continuing the conversion.', 'CONTINUE_LAST' => 'Continue last statements', @@ -155,7 +155,7 @@ $lang = array_merge($lang, array( 'FILES_OPTIONAL' => 'Optional files and directories', 'FILES_OPTIONAL_EXPLAIN' => 'Optional - These files, directories or permission settings are not required. The installation system will attempt to use various techniques to create them if they do not exist or cannot be written to. However, the presence of these will speed installation.', 'FILES_REQUIRED' => 'Files and Directories', - 'FILES_REQUIRED_EXPLAIN' => 'Required - In order to function correctly phpBB needs to be able to access or write to certain files or directories. If you see “Not Found” you need to create the relevant file or directory. If you see “Unwriteable” you need to change the permissions on the file or directory to allow phpBB to write to it.', + 'FILES_REQUIRED_EXPLAIN' => 'Required - In order to function correctly phpBB needs to be able to access or write to certain files or directories. If you see “Not Found” you need to create the relevant file or directory. If you see “Unwritable” you need to change the permissions on the file or directory to allow phpBB to write to it.', 'FILLING_TABLE' => 'Filling table %s', 'FILLING_TABLES' => 'Filling tables', 'FINAL_STEP' => 'Processing final step', @@ -195,7 +195,7 @@ $lang = array_merge($lang, array( 'INSTALL_NEXT_FAIL' => 'Some tests failed and you should correct these problems before proceeding to the next stage. Failure to do so may result in an incomplete installation.', 'INSTALL_NEXT_PASS' => 'All the basic tests have been passed and you may proceed to the next stage of installation. If you have changed any permissions, modules, etc. and wish to re-test you can do so if you wish.', 'INSTALL_PANEL' => 'Installation Panel', - 'INSTALL_SEND_CONFIG' => 'Unfortunately phpBB could not write the configuration information directly to your config.php. This may be because the file does not exist or is not writeable. A number of options will be listed below enabling you to complete installation of config.php.', + 'INSTALL_SEND_CONFIG' => 'Unfortunately phpBB could not write the configuration information directly to your config.php. This may be because the file does not exist or is not writable. A number of options will be listed below enabling you to complete installation of config.php.', 'INSTALL_START' => 'Start install', 'INSTALL_TEST' => 'Test again', 'INST_ERR' => 'Installation error', @@ -209,8 +209,8 @@ $lang = array_merge($lang, array( 'INST_ERR_DB_NO_FIREBIRD_PS'=> 'The database you selected for Firebird has a page size less than 8192, it must be at least 8192.', 'INST_ERR_DB_NO_POSTGRES' => 'The database you have selected was not created in UNICODE or UTF8 encoding. Try installing with a database in UNICODE or UTF8 encoding', 'INST_ERR_DB_NO_NAME' => 'No database name specified', - 'INST_ERR_EMAIL_INVALID' => 'The email address you entered is invalid', - 'INST_ERR_EMAIL_MISMATCH' => 'The emails you entered did not match.', + 'INST_ERR_EMAIL_INVALID' => 'The e-mail address you entered is invalid', + 'INST_ERR_EMAIL_MISMATCH' => 'The e-mails you entered did not match.', 'INST_ERR_FATAL' => 'Fatal installation error', 'INST_ERR_FATAL_DB' => 'A fatal and unrecoverable database error has occurred. This may be because the specified user does not have appropriate rights to CREATE TABLES or INSERT data, etc. Further information may be given below. Please contact your hosting provider in the first instance or the support forums of phpBB for further assistance.', 'INST_ERR_FTP_PATH' => 'Could not change to the given directory, please check the path.', @@ -318,13 +318,13 @@ $lang = array_merge($lang, array( 'UNABLE_WRITE_LOCK' => 'Unable to write lock file', 'UNAVAILABLE' => 'Unavailable', - 'UNWRITEABLE' => 'Unwriteable', - 'UPDATE_TOPICS_POSTED' => 'Generating topics posted informations', + 'UNWRITABLE' => 'Unwritable', + 'UPDATE_TOPICS_POSTED' => 'Generating topics posted information', 'VERSION' => 'Version', 'WELCOME_INSTALL' => 'Welcome to phpBB 3 Installation', - 'WRITEABLE' => 'Writeable', + 'WRITABLE' => 'Writable', )); // Updater @@ -483,7 +483,7 @@ $lang = array_merge($lang, array( 'UPDATE_METHOD_EXPLAIN' => 'You are now able to choose your preferred update method. Using the FTP upload will present you with a form you need to enter your FTP account details into. With this method the files will be automatically moved to the new location and backups of the old files being created by appending .bak to the filename. If you choose to download the modified files you are able to unpack and upload them to their correct location manually later.', 'UPDATE_SUCCESS' => 'Update was successful', 'UPDATE_SUCCESS_EXPLAIN' => 'Successfully updated all files. The next step involves checking all files again to make sure the files got updated correctly.', - 'UPDATE_VERSION_OPTIMIZE' => 'Updating version and optimizing tables', + 'UPDATE_VERSION_OPTIMIZE' => 'Updating version and optimising tables', 'UPDATING_DATA' => 'Updating data', 'UPDATING_TO_LATEST_STABLE' => 'Updating database to latest stable release', 'UPDATED_VERSION' => 'Updated version', diff --git a/phpBB/language/en/mcp.php b/phpBB/language/en/mcp.php index 23ed2a87d6..2266eccf59 100644 --- a/phpBB/language/en/mcp.php +++ b/phpBB/language/en/mcp.php @@ -128,7 +128,7 @@ $lang = array_merge($lang, array( 'MCP_ADD' => 'Add a warning', 'MCP_BAN' => 'Banning', - 'MCP_BAN_EMAILS' => 'Ban emails', + 'MCP_BAN_EMAILS' => 'Ban e-mails', 'MCP_BAN_IPS' => 'Ban IPs', 'MCP_BAN_USERNAMES' => 'Ban Usernames', diff --git a/phpBB/language/en/memberlist.php b/phpBB/language/en/memberlist.php index f44517d48e..5a1e232472 100644 --- a/phpBB/language/en/memberlist.php +++ b/phpBB/language/en/memberlist.php @@ -42,24 +42,24 @@ $lang = array_merge($lang, array( 'BEFORE' => 'Before', - 'CC_EMAIL' => 'Send a copy of this email to yourself', + 'CC_EMAIL' => 'Send a copy of this e-mail to yourself', 'CONTACT_USER' => 'Contact', 'DEST_LANG' => 'Language', 'DEST_LANG_EXPLAIN' => 'Select an appropriate language (if available) for the recipient of this message.', - 'EMAIL_BODY_EXPLAIN' => 'This message will be sent as plain text, do not include any HTML or BBCode. The return address for this message will be set to your email address.', - 'EMAIL_DISABLED' => 'Sorry but all email related functions have been disabled.', - 'EMAIL_SENT' => 'The email has been sent.', - 'EMAIL_TOPIC_EXPLAIN' => 'This message will be sent as plain text, do not include any HTML or BBCode. Please note that the topic information is already included in the message. The return address for this message will be set to your email address.', - 'EMPTY_ADDRESS_EMAIL' => 'You must provide a valid email address for the recipient.', + 'EMAIL_BODY_EXPLAIN' => 'This message will be sent as plain text, do not include any HTML or BBCode. The return address for this message will be set to your e-mail address.', + 'EMAIL_DISABLED' => 'Sorry but all e-mail related functions have been disabled.', + 'EMAIL_SENT' => 'The e-mail has been sent.', + 'EMAIL_TOPIC_EXPLAIN' => 'This message will be sent as plain text, do not include any HTML or BBCode. Please note that the topic information is already included in the message. The return address for this message will be set to your e-mail address.', + 'EMPTY_ADDRESS_EMAIL' => 'You must provide a valid e-mail address for the recipient.', 'EMPTY_MESSAGE_EMAIL' => 'You must enter a message to be emailed.', 'EMPTY_NAME_EMAIL' => 'You must enter the real name of the recipient.', - 'EMPTY_SUBJECT_EMAIL' => 'You must specify a subject for the email.', + 'EMPTY_SUBJECT_EMAIL' => 'You must specify a subject for the e-mail.', 'EQUAL_TO' => 'Equal to', 'FIND_USERNAME_EXPLAIN' => 'Use this form to search for specific members. You do not need to fill out all fields. To match partial data use * as a wildcard. When entering dates use the format YYYY-MM-DD, e.g. 2004-02-29. Use the mark checkboxes to select one or more usernames (several usernames may be accepted depending on the form itself) and click the Select Marked button to return to the previous form.', - 'FLOOD_EMAIL_LIMIT' => 'You cannot send another email at this time. Please try again later.', + 'FLOOD_EMAIL_LIMIT' => 'You cannot send another e-mail at this time. Please try again later.', 'GROUP_LEADER' => 'Group leader', @@ -95,7 +95,7 @@ $lang = array_merge($lang, array( 'MORE_THAN' => 'More than', - 'NO_EMAIL' => 'You are not permitted to send email to this user.', + 'NO_EMAIL' => 'You are not permitted to send e-mail to this user.', 'NO_VIEW_USERS' => 'You are not authorised to view the member list or profiles.', 'ORDER' => 'Order', @@ -119,7 +119,7 @@ $lang = array_merge($lang, array( 'SEND_MESSAGE' => 'Message', 'SEND_MSNM_MESSAGE' => 'Send MSNM/WLM message', 'SEND_YIM_MESSAGE' => 'Send YIM message', - 'SORT_EMAIL' => 'Email', + 'SORT_EMAIL' => 'E-mail', 'SORT_LAST_ACTIVE' => 'Last active', 'SORT_POST_COUNT' => 'Post count', diff --git a/phpBB/language/en/posting.php b/phpBB/language/en/posting.php index cce00674f7..a188da1d11 100644 --- a/phpBB/language/en/posting.php +++ b/phpBB/language/en/posting.php @@ -133,8 +133,8 @@ $lang = array_merge($lang, array( 'NO_POST_MODE' => 'No post mode specified', 'PARTIAL_UPLOAD' => 'The uploaded file was only partially uploaded', - 'PHP_SIZE_NA' => 'The attachment’s filesize is too large.
    Could not determine the maximum size defined by PHP in php.ini.', - 'PHP_SIZE_OVERRUN' => 'The attachment’s filesize is too large, the maximum upload size is %d MB.
    Please note this is set in php.ini and cannot be overridden.', + 'PHP_SIZE_NA' => 'The attachment’s file size is too large.
    Could not determine the maximum size defined by PHP in php.ini.', + 'PHP_SIZE_OVERRUN' => 'The attachment’s file size is too large, the maximum upload size is %d MB.
    Please note this is set in php.ini and cannot be overridden.', 'PLACE_INLINE' => 'Place inline', 'POLL_DELETE' => 'Delete poll', 'POLL_FOR' => 'Run poll for', diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index 71c9b5a31e..6236c92aeb 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -45,9 +45,9 @@ $lang = array_merge($lang, array(
    We may also create cookies external to the phpBB software whilst browsing “%1$s”, though these are outside the scope of this document which is intended to only cover the pages created by the phpBB software. The second way in which we collect your information is by what you submit to us. This can be, and is not limited to: posting as an anonymous user (hereinafter “anonymous posts”), registering on “%1$s” (hereinafter “your account”) and posts submitted by you after registration and whilst logged in (hereinafter “your posts”).

    - Your account will at a bare minimum contain a uniquely identifiable name (hereinafter “your user name”), a personal password used for logging into your account (hereinafter “your password”) and a personal, valid email address (hereinafter “your email”). Your information for your account at “%1$s” is protected by data-protection laws applicable in the country that hosts us. Any information beyond your user name, your password and your email required by “%1$s” during the registration process are at our digression what is mandatory and what is optional. In all cases, you have the option of what information in your account is publicly displayed. Furthermore, within your account, you have the option to opt-in or opt-out of automatically generated emails from the phpBB software.
    + Your account will at a bare minimum contain a uniquely identifiable name (hereinafter “your user name”), a personal password used for logging into your account (hereinafter “your password”) and a personal, valid e-mail address (hereinafter “your e-mail”). Your information for your account at “%1$s” is protected by data-protection laws applicable in the country that hosts us. Any information beyond your user name, your password and your e-mail required by “%1$s” during the registration process are at our digression what is mandatory and what is optional. In all cases, you have the option of what information in your account is publicly displayed. Furthermore, within your account, you have the option to opt-in or opt-out of automatically generated e-mails from the phpBB software.

    - Your password is ciphered (a one-way hash) so that it is secure. However, it is recommended that you do not reuse the same password across a number of different websites. Your password is the means of accessing your account at “%1$s”, so please guard it carefully and under no circumstance will anyone affiliated with “%1$s”, phpBB or another 3rd party, legitimately ask you for your password. Should you forget your password for your account, you can use the “I forgot my password” feature provided by the phpBB software. This process will ask you to submit your user name and your email, then the phpBB software will generate a new password to reclaim your account.
    + Your password is ciphered (a one-way hash) so that it is secure. However, it is recommended that you do not reuse the same password across a number of different websites. Your password is the means of accessing your account at “%1$s”, so please guard it carefully and under no circumstance will anyone affiliated with “%1$s”, phpBB or another 3rd party, legitimately ask you for your password. Should you forget your password for your account, you can use the “I forgot my password” feature provided by the phpBB software. This process will ask you to submit your user name and your e-mail, then the phpBB software will generate a new password to reclaim your account.
    ', )); @@ -57,12 +57,12 @@ $lang = array_merge($lang, array( 'ACCOUNT_ACTIVE_ADMIN' => 'The account has now been activated.', 'ACCOUNT_ACTIVE_PROFILE' => 'Your account has now been successfully reactivated.', 'ACCOUNT_ADDED' => 'Thank you for registering, your account has been created. You may now login with your username and password.', - 'ACCOUNT_COPPA' => 'Your account has been created but has to be approved, please check your email for details.', - 'ACCOUNT_EMAIL_CHANGED' => 'Your account has been updated. However, this forum requires account reactivation on email changes. An activation key has been sent to the new email address you provided. Please check your email for further information.', - 'ACCOUNT_EMAIL_CHANGED_ADMIN' => 'Your account has been updated. However, this forum requires account reactivation by the administrators on email changes. An email has been sent to them and you will be informed when your account has been reactivated.', - 'ACCOUNT_INACTIVE' => 'Your account has been created. However, this forum requires account activation, an activation key has been sent to the email address you provided. Please check your email for further information.', - 'ACCOUNT_INACTIVE_ADMIN' => 'Your account has been created. However, this forum requires account activation by the administrator group. An email has been sent to them and you will be informed when your account has been activated.', - 'ACTIVATION_EMAIL_SENT' => 'The activation email has been sent to your email address.', + 'ACCOUNT_COPPA' => 'Your account has been created but has to be approved, please check your e-mail for details.', + 'ACCOUNT_EMAIL_CHANGED' => 'Your account has been updated. However, this forum requires account reactivation on e-mail changes. An activation key has been sent to the new e-mail address you provided. Please check your e-mail for further information.', + 'ACCOUNT_EMAIL_CHANGED_ADMIN' => 'Your account has been updated. However, this forum requires account reactivation by the administrators on e-mail changes. An e-mail has been sent to them and you will be informed when your account has been reactivated.', + 'ACCOUNT_INACTIVE' => 'Your account has been created. However, this forum requires account activation, an activation key has been sent to the e-mail address you provided. Please check your e-mail for further information.', + 'ACCOUNT_INACTIVE_ADMIN' => 'Your account has been created. However, this forum requires account activation by the administrator group. An e-mail has been sent to them and you will be informed when your account has been activated.', + 'ACTIVATION_EMAIL_SENT' => 'The activation e-mail has been sent to your e-mail address.', 'ADD' => 'Add', 'ADD_BCC' => 'Add [BCC]', 'ADD_FOES' => 'Add new foes', @@ -73,7 +73,7 @@ $lang = array_merge($lang, array( 'ADD_NEW_RULE' => 'Add new rule', 'ADD_RULE' => 'Add rule', 'ADD_TO' => 'Add [To]', - 'ADMIN_EMAIL' => 'Administrators can email me information', + 'ADMIN_EMAIL' => 'Administrators can e-mail me information', 'AGREE' => 'I agree to these terms', 'ALLOW_PM' => 'Allow users to send you private messages', 'ALLOW_PM_EXPLAIN' => 'Note that administrators and moderators will always be able to send you messages.', @@ -82,7 +82,7 @@ $lang = array_merge($lang, array( 'ATTACHMENTS_DELETED' => 'Attachments successfully deleted.', 'ATTACHMENT_DELETED' => 'Attachment successfully deleted.', 'AVATAR_CATEGORY' => 'Category', - 'AVATAR_EXPLAIN' => 'Maximum dimensions; width %1$d pixels, height %2$d pixels, filesize %3$dkB.', + 'AVATAR_EXPLAIN' => 'Maximum dimensions; width %1$d pixels, height %2$d pixels, file size %3$dkB.', 'AVATAR_FEATURES_DISABLED' => 'The avatar functionality is currently disabled.', 'AVATAR_GALLERY' => 'Local gallery', 'AVATAR_GENERAL_UPLOAD_ERROR' => 'Could not upload avatar to %s', @@ -112,8 +112,8 @@ $lang = array_merge($lang, array( 'CLICK_RETURN_FOLDER' => '%1$sReturn to your “%3$s” folder%2$s', 'CONFIRMATION' => 'Confirmation of registration', 'CONFIRM_CHANGES' => 'Confirm changes', - 'CONFIRM_EMAIL' => 'Confirm email address', - 'CONFIRM_EMAIL_EXPLAIN' => 'You only need to specify this if you are changing your email address.', + 'CONFIRM_EMAIL' => 'Confirm e-mail address', + 'CONFIRM_EMAIL_EXPLAIN' => 'You only need to specify this if you are changing your e-mail address.', 'CONFIRM_EXPLAIN' => 'To prevent automated registrations the board administrator requires you to enter a confirmation code. The code is displayed in the image you should see below. If you are visually impaired or cannot otherwise read this code please contact the %sBoard Administrator%s.', 'CONFIRM_PASSWORD' => 'Confirm password', 'CONFIRM_PASSWORD_EXPLAIN' => 'You only need to confirm your password if you changed it above', @@ -123,7 +123,7 @@ $lang = array_merge($lang, array( 'CREATE_FOLDER' => 'Add folder…', 'CURRENT_IMAGE' => 'Current image', 'CURRENT_PASSWORD' => 'Current password', - 'CURRENT_PASSWORD_EXPLAIN' => 'You must confirm your current password if you wish to change it, alter your email address or username.', + 'CURRENT_PASSWORD_EXPLAIN' => 'You must confirm your current password if you wish to change it, alter your e-mail address or username.', 'CUR_PASSWORD_ERROR' => 'The current password you entered is incorrect.', 'CUSTOM_DATEFORMAT' => 'Custom…', @@ -152,17 +152,17 @@ $lang = array_merge($lang, array( 'DEMOTE_SELECTED' => 'Demote selected', 'DISABLE_CENSORS' => 'Enable word censoring', 'DISPLAY_GALLERY' => 'Display gallery', - 'DOMAIN_NO_MX_RECORD_EMAIL' => 'The entered email domain has no valid MX record.', + 'DOMAIN_NO_MX_RECORD_EMAIL' => 'The entered e-mail domain has no valid MX record.', 'DOWNLOADS' => 'Downloads', 'DRAFTS_DELETED' => 'All selected drafts were successfully deleted.', 'DRAFTS_EXPLAIN' => 'Here you can view, edit and delete your saved drafts.', 'DRAFT_UPDATED' => 'Draft successfully updated.', 'EDIT_DRAFT_EXPLAIN' => 'Here you are able to edit your draft. Drafts do not contain attachment and poll information.', - 'EMAIL_BANNED_EMAIL' => 'The email address you entered is not allowed to be used.', - 'EMAIL_INVALID_EMAIL' => 'The email address you entered is invalid.', - 'EMAIL_REMIND' => 'This must be the email address you supplied when registering.', - 'EMAIL_TAKEN_EMAIL' => 'The entered email address is already in use', + 'EMAIL_BANNED_EMAIL' => 'The e-mail address you entered is not allowed to be used.', + 'EMAIL_INVALID_EMAIL' => 'The e-mail address you entered is invalid.', + 'EMAIL_REMIND' => 'This must be the e-mail address you supplied when registering.', + 'EMAIL_TAKEN_EMAIL' => 'The entered e-mail address is already in use', 'EMPTY_DRAFT' => 'You must enter a message to submit your changes', 'EMPTY_DRAFT_TITLE' => 'You must enter a draft title', 'EXPORT_AS_XML' => 'Export as XML', @@ -249,13 +249,13 @@ $lang = array_merge($lang, array( 'MOVE_TO_FOLDER' => 'Move to folder', 'MOVE_UP' => 'Move up', - 'NEW_EMAIL_ERROR' => 'The email addresses you entered do not match.', + 'NEW_EMAIL_ERROR' => 'The e-mail addresses you entered do not match.', 'NEW_FOLDER_NAME' => 'New folder name', 'NEW_PASSWORD' => 'New password', 'NEW_PASSWORD_ERROR' => 'The passwords you entered do not match.', 'NOTIFY_METHOD' => 'Notification method', 'NOTIFY_METHOD_BOTH' => 'Both', - 'NOTIFY_METHOD_EMAIL' => 'Email only', + 'NOTIFY_METHOD_EMAIL' => 'E-mail only', 'NOTIFY_METHOD_EXPLAIN' => 'Method for sending messages sent via this board.', 'NOTIFY_METHOD_IM' => 'Jabber only', 'NOTIFY_ON_PM' => 'Notify me on new private messages', @@ -286,7 +286,7 @@ $lang = array_merge($lang, array( 'NO_BCC_RECIPIENT' => 'None', 'NO_BOOKMARKS' => 'You have no bookmarks', 'NO_BOOKMARKS_SELECTED' => 'You have selected no bookmarks', - 'NO_EMAIL_USER' => 'The email/username information submitted could not be found', + 'NO_EMAIL_USER' => 'The e-mail/username information submitted could not be found', 'NO_FOES' => 'No foes currently defined', 'NO_FRIENDS' => 'No friends currently defined', 'NO_FRIENDS_OFFLINE' => 'No friends offline', @@ -311,7 +311,7 @@ $lang = array_merge($lang, array( 'PASS_TYPE_SYMBOL_EXPLAIN' => 'Password must be between %1$d and %2$d characters long, must contain letters in mixed case, must contain numbers and must contain symbols', 'PASSWORD' => 'Password', 'PASSWORD_ACTIVATED' => 'Your new password has been activated', - 'PASSWORD_UPDATED' => 'Your password has been sent successfully to your original email address.', + 'PASSWORD_UPDATED' => 'Your password has been sent successfully to your original e-mail address.', 'PERMISSIONS_RESTORED' => 'Successfully restored original permissions.', 'PERMISSIONS_TRANSFERRED' => 'Successfully transferred permissions from %s, you are now able to browse the forum with the users permissions.
    Please note that admin permissions were not transferred. You are able to revert to your permission set at any time.', 'PM_DISABLED' => 'Private messaging has been disabled on this board', @@ -365,7 +365,7 @@ $lang = array_merge($lang, array( 'SEARCH_YOUR_POSTS' => 'Show your posts', 'SEND_PASSWORD' => 'Send password', 'SENT_AT' => 'Sent at', - 'SHOW_EMAIL' => 'Users can contact me by email', + 'SHOW_EMAIL' => 'Users can contact me by e-mail', 'SIGNATURE_EXPLAIN' => 'This is a block of text that can be added to posts you make. There is a %d character limit', 'SIGNATURE_PREVIEW' => 'Your signature will appear like this in posts', 'SIGNATURE_TOO_LONG' => 'Your signature is too long.', @@ -375,7 +375,7 @@ $lang = array_merge($lang, array( 'SORT_EXTENSION' => 'Extension', 'SORT_FILENAME' => 'Filename', 'SORT_POST_TIME' => 'Post time', - 'SORT_SIZE' => 'Filesize', + 'SORT_SIZE' => 'File size', 'TIMEZONE' => 'Timezone', 'TO' => 'To', @@ -384,12 +384,12 @@ $lang = array_merge($lang, array( 'UCP' => 'User Control Panel', 'UCP_ACTIVATE' => 'Activate account', - 'UCP_ADMIN_ACTIVATE' => 'Please note that you will need to enter a valid email address before your account is activated. The administrator will review your account and if approved you will receive an email at the address you specified.', + 'UCP_ADMIN_ACTIVATE' => 'Please note that you will need to enter a valid e-mail address before your account is activated. The administrator will review your account and if approved you will receive an e-mail at the address you specified.', 'UCP_AIM' => 'AOL Instant Messenger', 'UCP_ATTACHMENTS' => 'Attachments', 'UCP_COPPA_BEFORE' => 'Before %s', 'UCP_COPPA_ON_AFTER' => 'On or after %s', - 'UCP_EMAIL_ACTIVATE' => 'Please note that you will need to enter a valid email address before your account is activated. You will receive an email at the address you provide that contains an account activation link.', + 'UCP_EMAIL_ACTIVATE' => 'Please note that you will need to enter a valid e-mail address before your account is activated. You will receive an e-mail at the address you provide that contains an account activation link.', 'UCP_ICQ' => 'ICQ number', 'UCP_JABBER' => 'Jabber address', @@ -429,7 +429,7 @@ $lang = array_merge($lang, array( 'UCP_REGISTER_DISABLE' => 'Creating a new account is currently not possible.', 'UCP_REMIND' => 'Send password', - 'UCP_RESEND' => 'Send activation email', + 'UCP_RESEND' => 'Send activation e-mail', 'UCP_WELCOME' => 'Welcome to the User Control Panel. From here you can monitor, view and update your profile, preferences, subscribed forums and topics. You can also send messages to other users (if permitted). Please ensure you read any announcements before continuing.', 'UCP_YIM' => 'Yahoo Messenger', 'UCP_ZEBRA' => 'Friends & Foes', diff --git a/phpBB/language/en/viewtopic.php b/phpBB/language/en/viewtopic.php index 1361a345f7..60d066f771 100644 --- a/phpBB/language/en/viewtopic.php +++ b/phpBB/language/en/viewtopic.php @@ -48,7 +48,7 @@ $lang = array_merge($lang, array( 'EDITED_TIMES_TOTAL' => 'Last edited by %1$s on %2$s, edited %3$d times in total', 'EDITED_TIME_TOTAL' => 'Last edited by %1$s on %2$s, edited %3$d time in total', - 'EMAIL_TOPIC' => 'Email friend', + 'EMAIL_TOPIC' => 'E-mail friend', 'ERROR_NO_ATTACHMENT' => 'The selected attachment does not exist anymore', 'FILE_NOT_FOUND_404' => 'The file %s does not exist.', diff --git a/phpBB/styles/prosilver/template/mcp_front.html b/phpBB/styles/prosilver/template/mcp_front.html index c89a557abe..00c045b894 100644 --- a/phpBB/styles/prosilver/template/mcp_front.html +++ b/phpBB/styles/prosilver/template/mcp_front.html @@ -82,8 +82,7 @@
    {report.SUBJECT} {report.ATTACH_ICON_IMG}
    - {L_POSTED} {L_POST_BY_AUTHOR} - {report.AUTHOR}{report.AUTHOR} {L_POSTED_ON_DATE} {report.POST_TIME} + {L_POSTED} {L_POST_BY_AUTHOR} {report.AUTHOR_FULL} {L_POSTED_ON_DATE} {report.POST_TIME}
    {L_REPORTED} {L_POST_BY_AUTHOR} {report.REPORTER_FULL} {L_REPORTED_ON_DATE} {report.REPORT_TIME}
    From a465b06923af558429b3c7642c52309d61574029 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Fri, 4 May 2007 12:30:21 +0000 Subject: [PATCH 506/707] added class for disabled options in ACP E_USER_ERROR now using language keys if available [related to #10445] UCP/MCP title tags [#10441] Check $start parameter in viewforum [#10435] Check for postable forum for moving user posts within users ACP [#10433] Show error if admin tries to put forums beneath linked forums [related to #10433] Correctly catch attachments while moving posts [#10431] language change in install.html [#10425] Updated AUTHORS file git-svn-id: file:///svn/phpbb/trunk@7456 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/admin.css | 4 +++ phpBB/docs/AUTHORS | 21 +++++++---- phpBB/docs/INSTALL.html | 2 +- phpBB/docs/coding-guidelines.html | 2 +- phpBB/includes/acp/acp_forums.php | 34 ++++++++++++++---- phpBB/includes/acp/acp_permissions.php | 2 +- phpBB/includes/acp/acp_users.php | 32 ++++++++++++----- phpBB/includes/functions.php | 36 +++++++++++++++---- phpBB/includes/functions_admin.php | 2 +- phpBB/includes/mcp/mcp_main.php | 3 +- phpBB/includes/session.php | 4 +-- phpBB/includes/ucp/ucp_pm_compose.php | 2 ++ phpBB/includes/utf/utf_tools.php | 4 +-- phpBB/language/en/acp/forums.php | 6 ++-- phpBB/language/en/common.php | 5 ++- phpBB/memberlist.php | 2 +- .../prosilver/template/overall_header.html | 2 +- .../prosilver/template/simple_header.html | 2 +- .../subsilver2/template/overall_header.html | 2 +- .../subsilver2/template/simple_header.html | 2 +- phpBB/viewforum.php | 6 ++++ 21 files changed, 129 insertions(+), 46 deletions(-) diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 7c015f0dae..406047262c 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -714,6 +714,10 @@ option { color: #000; } +option.disabled-option { + color: #aaa; +} + .rtl option { padding: 0 0 0 1em; } diff --git a/phpBB/docs/AUTHORS b/phpBB/docs/AUTHORS index 799787cf42..eadc0f8711 100644 --- a/phpBB/docs/AUTHORS +++ b/phpBB/docs/AUTHORS @@ -9,21 +9,30 @@ 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.) + dhn (Dominik Drscher) 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] - GrahamJE (Graham Eames) - [09/2005 - 11/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 -- Original subSilver by subBlue Design, Tom Beddard, (c) 2001 phpBB Group prosilver by subBlue Design, Tom Beddard, (c) 2004 phpBB Group diff --git a/phpBB/docs/INSTALL.html b/phpBB/docs/INSTALL.html index 1e00c2f653..97678ca48f 100644 --- a/phpBB/docs/INSTALL.html +++ b/phpBB/docs/INSTALL.html @@ -212,7 +212,7 @@ p a {
  • Change the permissions on config.php to be writable by all (666 or -rw-rw-rw- within your FTP Client)
  • Change the permissions on the following directories to be writable by all (777 or -rwxrwxrwx within your FTP Client):
    store/, cache/, files/ and images/avatars/upload/.
  • -
  • 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.
  • +
  • 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.
  • Click the INSTALL tab, follow the steps and fill out all the requested information.
  • Change the permissions on config.php to be writable only by yourself (644 or -rw-r--r-- within your FTP Client)
  • phpBB3 should now be available, please MAKE SURE you read at least Section 6 below for important, security related post-installation instructions.
  • diff --git a/phpBB/docs/coding-guidelines.html b/phpBB/docs/coding-guidelines.html index 2ddc8e9971..131f9049f3 100644 --- a/phpBB/docs/coding-guidelines.html +++ b/phpBB/docs/coding-guidelines.html @@ -1055,7 +1055,7 @@ trigger_error($user->lang['NO_FORUM']);
    -trigger_error('NO_APPROPRIATE_MODE', E_USER_ERROR);
    +trigger_error('NO_MODE', E_USER_ERROR);
     	

    Url formatting

    diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php index 9330157ea0..7ae04848d6 100644 --- a/phpBB/includes/acp/acp_forums.php +++ b/phpBB/includes/acp/acp_forums.php @@ -345,7 +345,7 @@ class acp_forums $start = request_var('start', $row2['min_topic_id']); - $batch_size = 3000; + $batch_size = 2000; $end = $start + $batch_size; // Sync all topics in batch mode... @@ -370,8 +370,8 @@ class acp_forums meta_refresh(0, $url); $template->assign_vars(array( - 'U_PROGRESS_BAR' => $this->u_action . "&action=progress_bar&start=$start&total={$row['forum_topics_real']}", - 'UA_PROGRESS_BAR' => str_replace('&', '&', $this->u_action) . "&action=progress_bar&start=$start&total={$row['forum_topics_real']}", + 'U_PROGRESS_BAR' => $this->u_action . "&action=progress_bar&start=$topics_done&total={$row['forum_topics_real']}", + 'UA_PROGRESS_BAR' => str_replace('&', '&', $this->u_action) . "&action=progress_bar&start=$topics_done&total={$row['forum_topics_real']}", 'S_CONTINUE_SYNC' => true, 'L_PROGRESS_EXPLAIN' => sprintf($user->lang['SYNC_IN_PROGRESS_EXPLAIN'], $topics_done, $row['forum_topics_real'])) ); @@ -933,7 +933,7 @@ class acp_forums if ($forum_data_sql['parent_id']) { - $sql = 'SELECT left_id, right_id + $sql = 'SELECT left_id, right_id, forum_type FROM ' . FORUMS_TABLE . ' WHERE forum_id = ' . $forum_data_sql['parent_id']; $result = $db->sql_query($sql); @@ -945,6 +945,12 @@ class acp_forums trigger_error($user->lang['PARENT_NOT_EXIST'] . adm_back_link($this->u_action . '&' . $this->parent_id), E_USER_WARNING); } + if ($row['forum_type'] == FORUM_LINK) + { + $errors[] = $user->lang['PARENT_IS_LINK_FORUM']; + return $errors; + } + $sql = 'UPDATE ' . FORUMS_TABLE . ' SET left_id = left_id + 2, right_id = right_id + 2 WHERE left_id > ' . $row['right_id']; @@ -1185,7 +1191,21 @@ class acp_forums */ function move_forum($from_id, $to_id) { - global $db; + global $db, $user; + + $to_data = $moved_ids = $errors = array(); + + // Check if we want to move to a parent with link type + if ($to_id > 0) + { + $to_data = $this->get_forum_info($to_id); + + if ($to_data['forum_type'] == FORUM_LINK) + { + $errors[] = $user->lang['PARENT_IS_LINK_FORUM']; + return $errors; + } + } $moved_forums = get_forum_branch($from_id, 'children', 'descending'); $from_data = $moved_forums[0]; @@ -1212,8 +1232,6 @@ class acp_forums if ($to_id > 0) { - $to_data = $this->get_forum_info($to_id); - // Resync new parents $sql = 'UPDATE ' . FORUMS_TABLE . " SET right_id = right_id + $diff, forum_parents = '' @@ -1256,6 +1274,8 @@ class acp_forums SET left_id = left_id $diff, right_id = right_id $diff, forum_parents = '' WHERE " . $db->sql_in_set('forum_id', $moved_ids); $db->sql_query($sql); + + return $errors; } /** diff --git a/phpBB/includes/acp/acp_permissions.php b/phpBB/includes/acp/acp_permissions.php index 4a1f209ea0..71c2c764ed 100644 --- a/phpBB/includes/acp/acp_permissions.php +++ b/phpBB/includes/acp/acp_permissions.php @@ -305,7 +305,7 @@ class acp_permissions $s_forum_options = ''; foreach ($forum_list as $f_id => $f_row) { - $s_forum_options .= ''; + $s_forum_options .= ''; } // Build subforum options diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index 1e8a7b8f3e..2dca5fa7b6 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -445,7 +445,9 @@ class acp_users break; case 'moveposts': - + + $user->add_lang('acp/forums'); + $new_forum_id = request_var('new_f', 0); if (!$new_forum_id) @@ -462,6 +464,24 @@ class acp_users return; } + // Is the new forum postable to? + $sql = 'SELECT forum_name, forum_type + FROM ' . FORUMS_TABLE . " + WHERE forum_id = $new_forum_id"; + $result = $db->sql_query($sql); + $forum_info = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + + if (!$forum_info) + { + trigger_error($user->lang['NO_FORUM'] . adm_back_link($this->u_action . '&u=' . $user_id), E_USER_WARNING); + } + + if ($forum_info['forum_type'] != FORUM_POST) + { + trigger_error($user->lang['MOVE_POSTS_NO_POSTABLE_FORUM'] . adm_back_link($this->u_action . '&u=' . $user_id), E_USER_WARNING); + } + // Two stage? // Move topics comprising only posts from this user $topic_id_ary = $move_topic_ary = $move_post_ary = $new_topic_id_ary = array(); @@ -482,7 +502,7 @@ class acp_users if (sizeof($topic_id_ary)) { - $sql = 'SELECT topic_id, forum_id, topic_title, topic_replies, topic_replies_real + $sql = 'SELECT topic_id, forum_id, topic_title, topic_replies, topic_replies_real, topic_attachment FROM ' . TOPICS_TABLE . ' WHERE ' . $db->sql_in_set('topic_id', array_keys($topic_id_ary)); $result = $db->sql_query($sql); @@ -496,7 +516,7 @@ class acp_users else { $move_post_ary[$row['topic_id']]['title'] = $row['topic_title']; - $move_post_ary[$row['topic_id']]['attach'] = ($row['attach']) ? 1 : 0; + $move_post_ary[$row['topic_id']]['attach'] = ($row['topic_attachment']) ? 1 : 0; } $forum_id_ary[] = $row['forum_id']; @@ -567,12 +587,6 @@ class acp_users sync('forum', 'forum_id', $forum_id_ary); } - $sql = 'SELECT forum_name - FROM ' . FORUMS_TABLE . " - WHERE forum_id = $new_forum_id"; - $result = $db->sql_query($sql, 3600); - $forum_info = $db->sql_fetchrow($result); - $db->sql_freeresult($result); add_log('admin', 'LOG_USER_MOVE_POSTS', $user_row['username'], $forum_info['forum_name']); add_log('user', $user_id, 'LOG_USER_MOVE_POSTS_USER', $forum_info['forum_name']); diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 7782cba893..3bb3266528 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -3516,6 +3516,31 @@ function msg_handler($errno, $msg_text, $errfile, $errline) case E_USER_ERROR: + if (!empty($user) && !empty($user->lang)) + { + $msg_text = (!empty($user->lang[$msg_text])) ? $user->lang[$msg_text] : $msg_text; + $msg_title = (!isset($msg_title)) ? $user->lang['GENERAL_ERROR'] : ((!empty($user->lang[$msg_title])) ? $user->lang[$msg_title] : $msg_title); + + $l_return_index = sprintf($user->lang['RETURN_INDEX'], '', ''); + $l_notify = ''; + + if (!empty($config['board_contact'])) + { + $l_notify = '

    ' . sprintf($user->lang['NOTIFY_ADMIN_EMAIL'], $config['board_contact']) . '

    '; + } + } + else + { + $msg_title = 'General Error'; + $l_return_index = 'Return to index page'; + $l_notify = ''; + + if (!empty($config['board_contact'])) + { + $l_notify = '

    Please notify the board administrator or webmaster: ' . $config['board_contact'] . '

    '; + } + } + garbage_collection(); // Try to not call the adm page data... @@ -3538,19 +3563,16 @@ function msg_handler($errno, $msg_text, $errfile, $errline) echo ''; echo '
    '; echo ' '; echo '
    '; echo '
    '; - echo '

    General Error

    '; + echo '

    ' . $msg_title . '

    '; echo '
    ' . $msg_text . '
    '; - if (!empty($config['board_contact'])) - { - echo '

    Please notify the board administrator or webmaster: ' . $config['board_contact'] . '

    '; - } - + echo $l_notify; + echo '
    '; echo '
    '; echo '
    \ No newline at end of file diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php index 12327694cf..d42e52ea15 100644 --- a/phpBB/includes/acp/acp_styles.php +++ b/phpBB/includes/acp/acp_styles.php @@ -934,13 +934,13 @@ parse_css_file = {PARSE_CSS_FILE} $marker = 'MARKER' . time(); $code = highlight_string(str_replace("\n", $marker, $code), true); $code = str_replace($marker, "\n", $code); - $str_from = array('', '', '','[', ']', '.', ':'); $str_to = array('', '', '', '[', ']', '.', ':'); $code = str_replace($str_from, $str_to, $code); $code = preg_replace('#^()\n?(.*?)\n?()$#ism', '$1$2$3', $code); - + $code = substr($code, strlen('')); + $code = substr($code, 0, -1 * strlen('')); $code = explode("\n", $code); foreach ($code as $key => $line) @@ -976,9 +976,14 @@ parse_css_file = {PARSE_CSS_FILE} foreach ($file_ary as $file) { - $file = str_replace('/', '.', $file); + $file = str_replace('/', '.', $file); + + // perform some dirty guessing to get the path right. + // We assume that three dots in a row were '../' + $tpl_file = str_replace('.', '/', $file); + $tpl_file = str_replace('///', '../', $tpl_file); + $filename = "{$cache_prefix}_$file.html.$phpEx"; - $template->assign_block_vars('file', array( 'U_VIEWSOURCE' => $this->u_action . "&action=cache&id=$template_id&source=$file", @@ -987,7 +992,7 @@ parse_css_file = {PARSE_CSS_FILE} 'CACHED' => $user->format_date(filemtime("{$phpbb_root_path}cache/$filename")), 'FILENAME' => $file, 'FILESIZE' => sprintf('%.1f KB', filesize("{$phpbb_root_path}cache/$filename") / 1024), - 'MODIFIED' => $user->format_date((!$template_row['template_storedb']) ? filemtime("{$phpbb_root_path}styles/{$template_row['template_path']}/template/" . str_replace('.', '/', $file) . '.html') : $filemtime[$file . '.html'])) + 'MODIFIED' => $user->format_date((!$template_row['template_storedb']) ? filemtime("{$phpbb_root_path}styles/{$template_row['template_path']}/template/$tpl_file.html") : $filemtime[$file . '.html'])) ); } unset($filemtime); From 38e08367d2f7dbf1127c8ac7912e9a0532d5f366 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Wed, 16 May 2007 14:45:13 +0000 Subject: [PATCH 658/707] label changes, language fixes... git-svn-id: file:///svn/phpbb/trunk@7608 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/install_update.html | 8 ++--- phpBB/includes/functions_convert.php | 9 +++--- phpBB/includes/functions_profile_fields.php | 4 +-- phpBB/includes/functions_upload.php | 6 ++++ phpBB/includes/mcp/mcp_reports.php | 2 +- phpBB/includes/search/fulltext_native.php | 2 +- phpBB/includes/ucp/ucp_pm_compose.php | 2 +- phpBB/install/index.php | 4 +-- phpBB/install/install_convert.php | 2 ++ phpBB/install/install_update.php | 2 +- phpBB/language/en/acp/board.php | 4 +-- phpBB/language/en/acp/common.php | 6 ++-- phpBB/language/en/acp/permissions.php | 4 +-- phpBB/language/en/acp/styles.php | 2 +- phpBB/language/en/common.php | 9 +++--- .../en/email/user_remind_inactive.txt | 2 +- phpBB/language/en/help_faq.php | 2 +- phpBB/language/en/install.php | 32 +++++++++---------- phpBB/language/en/memberlist.php | 2 +- phpBB/language/en/ucp.php | 12 +++---- .../prosilver/template/posting_poll_body.html | 2 +- .../template/ucp_main_bookmarks.html | 3 +- 22 files changed, 66 insertions(+), 55 deletions(-) diff --git a/phpBB/adm/style/install_update.html b/phpBB/adm/style/install_update.html index 58f839f548..dd6e615df2 100644 --- a/phpBB/adm/style/install_update.html +++ b/phpBB/adm/style/install_update.html @@ -192,20 +192,20 @@
    -
      {L_MERGE_NO_MERGE_NEW_OPTION}
    +
    [{L_SHOW_DIFF_FINAL}] 
    -
      {L_MERGE_NO_MERGE_MOD_OPTION}
    +
    [{L_SHOW_DIFF_FINAL}] 
    -
      {L_MERGE_NEW_FILE_OPTION}
    +
    [{L_SHOW_DIFF_FINAL}]
    -
      {L_MERGE_MOD_FILE_OPTION}
    +
    [{L_SHOW_DIFF_FINAL}]
    diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index b27ab6789e..fba79ae22b 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -1870,8 +1870,9 @@ function update_dynamic_config() set_config('newest_user_colour', $row['user_colour'], true); } - set_config('record_online_users', 1, true); - set_config('record_online_date', time(), true); +// Also do not reset record online user/date. There will be old data or the fresh data from the schema. +// set_config('record_online_users', 1, true); +// set_config('record_online_date', time(), true); $sql = 'SELECT COUNT(post_id) AS stat FROM ' . POSTS_TABLE . ' @@ -1994,8 +1995,8 @@ function update_topics_posted() foreach ($topic_row as $topic_id) { $sql_ary[] = array( - 'user_id' => $user_id, - 'topic_id' => $topic_id, + 'user_id' => (int) $user_id, + 'topic_id' => (int) $topic_id, 'topic_posted' => 1, ); } diff --git a/phpBB/includes/functions_profile_fields.php b/phpBB/includes/functions_profile_fields.php index a645b67a22..47d3ae03a9 100644 --- a/phpBB/includes/functions_profile_fields.php +++ b/phpBB/includes/functions_profile_fields.php @@ -993,7 +993,7 @@ class custom_profile_admin extends custom_profile ); $options = array( - 0 => array('TITLE' => $user->lang['FIELD_TYPE'], 'EXPLAIN' => $user->lang['BOOL_TYPE_EXPLAIN'], 'FIELD' => 'vars['field_length'] == 1) ? ' checked="checked"' : '') . ' />' . $user->lang['RADIO_BUTTONS'] . '   vars['field_length'] == 2) ? ' checked="checked"' : '') . ' />' . $user->lang['CHECKBOX'] . '   '), + 0 => array('TITLE' => $user->lang['FIELD_TYPE'], 'EXPLAIN' => $user->lang['BOOL_TYPE_EXPLAIN'], 'FIELD' => ''), 1 => array('TITLE' => $user->lang['DEFAULT_VALUE'], 'FIELD' => $this->process_field_row('preview', $profile_row)) ); @@ -1059,7 +1059,7 @@ class custom_profile_admin extends custom_profile $options = array( 0 => array('TITLE' => $user->lang['DEFAULT_VALUE'], 'FIELD' => $this->process_field_row('preview', $profile_row)), - 1 => array('TITLE' => $user->lang['ALWAYS_TODAY'], 'FIELD' => ' ' . $user->lang['YES'] . ' ' . $user->lang['NO']), + 1 => array('TITLE' => $user->lang['ALWAYS_TODAY'], 'FIELD' => ''), ); return $options; diff --git a/phpBB/includes/functions_upload.php b/phpBB/includes/functions_upload.php index 84afbbb9bd..93254a0d08 100644 --- a/phpBB/includes/functions_upload.php +++ b/phpBB/includes/functions_upload.php @@ -685,6 +685,12 @@ class fileupload return $file; } + // Make sure $path not beginning with / + if (strpos($path, '/') === 0) + { + $path = substr($path, 1); + } + fputs($fsock, 'GET /' . $path . " HTTP/1.1\r\n"); fputs($fsock, "HOST: " . $host . "\r\n"); fputs($fsock, "Connection: close\r\n\r\n"); diff --git a/phpBB/includes/mcp/mcp_reports.php b/phpBB/includes/mcp/mcp_reports.php index 267289542c..15ce7af689 100755 --- a/phpBB/includes/mcp/mcp_reports.php +++ b/phpBB/includes/mcp/mcp_reports.php @@ -179,7 +179,7 @@ class mcp_reports 'U_VIEW_REPORTER_PROFILE' => get_username_string('profile', $report['user_id'], $report['username'], $report['user_colour']), 'POST_PREVIEW' => $message, - 'POST_SUBJECT' => $post_info['post_subject'], + 'POST_SUBJECT' => ($post_info['post_subject']) ? $post_info['post_subject'] : $user->lang['NO_SUBJECT'], 'POST_DATE' => $user->format_date($post_info['post_time']), 'POST_IP' => $post_info['poster_ip'], 'POST_IPADDR' => @gethostbyaddr($post_info['poster_ip']), diff --git a/phpBB/includes/search/fulltext_native.php b/phpBB/includes/search/fulltext_native.php index 200d8d8f59..1f375c8f51 100755 --- a/phpBB/includes/search/fulltext_native.php +++ b/phpBB/includes/search/fulltext_native.php @@ -1653,7 +1653,7 @@ class fulltext_native extends search_backend $tpl = '

    ' . $user->lang['YES_SEARCH_UPDATE_EXPLAIN'] . '
    -
     ' . $user->lang['YES'] . '   ' . $user->lang['NO'] . '
    +

    ' . $user->lang['MIN_SEARCH_CHARS_EXPLAIN'] . '
    diff --git a/phpBB/includes/ucp/ucp_pm_compose.php b/phpBB/includes/ucp/ucp_pm_compose.php index 0611a9f6e2..c2dfc8dfb2 100644 --- a/phpBB/includes/ucp/ucp_pm_compose.php +++ b/phpBB/includes/ucp/ucp_pm_compose.php @@ -553,7 +553,7 @@ function compose_pm($id, $mode, $action) { if (!$subject) { - $error[] = $user->lang['NO_SUBJECT']; + $error[] = $user->lang['EMPTY_MESSAGE_SUBJECT']; } if (!sizeof($address_list)) diff --git a/phpBB/install/index.php b/phpBB/install/index.php index fcec4be254..293522bfa6 100755 --- a/phpBB/install/index.php +++ b/phpBB/install/index.php @@ -658,8 +658,8 @@ class module $tpl_type_cond = explode('_', $tpl_type[1]); $type_no = ($tpl_type_cond[0] == 'disabled' || $tpl_type_cond[0] == 'enabled') ? false : true; - $tpl_no = ' ' . (($type_no) ? $lang['NO'] : $lang['DISABLED']); - $tpl_yes = ' ' . (($type_no) ? $lang['YES'] : $lang['ENABLED']); + $tpl_no = ''; + $tpl_yes = ''; $tpl = ($tpl_type_cond[0] == 'yes' || $tpl_type_cond[0] == 'enabled') ? $tpl_yes . '  ' . $tpl_no : $tpl_no . '  ' . $tpl_yes; break; diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php index 91c96134d0..c0129e3c29 100644 --- a/phpBB/install/install_convert.php +++ b/phpBB/install/install_convert.php @@ -1554,7 +1554,9 @@ class install_convert extends module if ($final_jump == 1) { $db->sql_return_on_error(true); + update_topics_posted(); + $template->assign_block_vars('checks', array( 'TITLE' => $user->lang['UPDATE_TOPICS_POSTED'], 'RESULT' => $user->lang['DONE'], diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php index b306ab4930..cd24444505 100644 --- a/phpBB/install/install_update.php +++ b/phpBB/install/install_update.php @@ -457,7 +457,7 @@ class install_update extends module $radio_buttons = ''; foreach ($methods as $method) { - $radio_buttons .= ' ' . $method . ' '; + $radio_buttons .= ''; } $template->assign_vars(array( diff --git a/phpBB/language/en/acp/board.php b/phpBB/language/en/acp/board.php index ff535fee4d..fc9820aa9c 100644 --- a/phpBB/language/en/acp/board.php +++ b/phpBB/language/en/acp/board.php @@ -263,8 +263,8 @@ $lang = array_merge($lang, array( 'LOAD_CPF_VIEWTOPIC' => 'Display custom profile fields on topic pages', 'LOAD_USER_ACTIVITY' => 'Show user’s activity', 'LOAD_USER_ACTIVITY_EXPLAIN' => 'Displays active topic/forum in user profiles and user control panel. It is recommended to disable this on boards with more than one million posts.', - 'RECOMPILE_STYLES' => 'Recompile stale style components', - 'RECOMPILE_STYLES_EXPLAIN' => 'Check for updated style configurations and components files on filesystem and recompile.', + 'RECOMPILE_STYLES' => 'Recompile stale style components', + 'RECOMPILE_STYLES_EXPLAIN' => 'Check for updated style components on filesystem and recompile.', 'YES_ANON_READ_MARKING' => 'Enable topic marking for guests', 'YES_ANON_READ_MARKING_EXPLAIN' => 'Stores read/unread status information for guests. If disabled posts are always read for guests.', 'YES_BIRTHDAYS' => 'Enable birthday listing', diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php index 9d8661b7ea..e17df3c86b 100644 --- a/phpBB/language/en/acp/common.php +++ b/phpBB/language/en/acp/common.php @@ -251,8 +251,8 @@ $lang = array_merge($lang, array( 'PARSE_SMILIES' => 'Parse smilies', 'PARSE_URLS' => 'Parse links', 'PERMISSIONS_TRANSFERRED' => 'Permissions transferred', - 'PERMISSIONS_TRANSFERRED_EXPLAIN' => 'You are currently having the permissions from %1$s. You are able to browse the forum with the users permissions but not access the administration control panel since admin permissions were not transferred. You are able to revert to your permission set at any time.', - 'PIXEL' => 'px', + 'PERMISSIONS_TRANSFERRED_EXPLAIN' => 'You currently have the permissions from %1$s. You are able to browse the board with this user’s permissions, but not access the administration control panel since admin permissions were not transferred. You can revert to your permission set at any time.', + 'PIXEL' => 'px', 'PROCEED_TO_ACP' => '%sProceed to the ACP%s', 'REMIND' => 'Remind', @@ -296,7 +296,7 @@ $lang = array_merge($lang, array( // Index page $lang = array_merge($lang, array( - 'ADMIN_INTRO' => 'Thank you for choosing phpBB as your forum solution. This screen will give you a quick overview of all the various statistics of your board. The links on the left hand side of this screen allow you to control every aspect of your forum experience. Each page will have instructions on how to use the tools.', + 'ADMIN_INTRO' => 'Thank you for choosing phpBB as your board solution. This screen will give you a quick overview of all the various statistics of your board. The links on the left hand side of this screen allow you to control every aspect of your board experience. Each page will have instructions on how to use the tools.', 'ADMIN_LOG' => 'Logged administrator actions', 'ADMIN_LOG_INDEX_EXPLAIN' => 'This gives an overview of the last five actions carried out by board administrators. A full copy of the log can be viewed from the appropriate menu item or following the link below.', 'AVATAR_DIR_SIZE' => 'Avatar directory size', diff --git a/phpBB/language/en/acp/permissions.php b/phpBB/language/en/acp/permissions.php index 7a297a8b5b..ee05c5a568 100644 --- a/phpBB/language/en/acp/permissions.php +++ b/phpBB/language/en/acp/permissions.php @@ -48,7 +48,7 @@ $lang = array_merge($lang, array(
    -

    For further information on setting up and managing permissions on your phpBB3 forum, please see Chapter 1.5 of our Quick Start Guide.

    +

    For further information on setting up and managing permissions on your phpBB3 board, please see Chapter 1.5 of our Quick Start Guide.

    ', 'ACL_NEVER' => 'Never', @@ -169,7 +169,7 @@ $lang = array_merge($lang, array( 'ROLE_USER_STANDARD' => 'Standard Features', 'ROLE_DESCRIPTION_ADMIN_FORUM' => 'Can access the forum management and forum permission settings.', - 'ROLE_DESCRIPTION_ADMIN_FULL' => 'Has access to all administrative functions of this forum.
    Not recommended.', + 'ROLE_DESCRIPTION_ADMIN_FULL' => 'Has access to all administrative functions of this board.
    Not recommended.', 'ROLE_DESCRIPTION_ADMIN_STANDARD' => 'Has access to most administrative features but is not allowed to use server or system related tools.', 'ROLE_DESCRIPTION_ADMIN_USERGROUP' => 'Can manage groups and users: Able to change permissions, settings, manage bans, and manage ranks.', 'ROLE_DESCRIPTION_FORUM_BOT' => 'This role is recommended for bots and search spiders.', diff --git a/phpBB/language/en/acp/styles.php b/phpBB/language/en/acp/styles.php index ce9386e4df..25ce8d13c8 100644 --- a/phpBB/language/en/acp/styles.php +++ b/phpBB/language/en/acp/styles.php @@ -34,7 +34,7 @@ $lang = array_merge($lang, array( 'ACP_IMAGESETS_EXPLAIN' => 'Imagesets comprise all the button, forum, folder, etc. and other non-style specific images used by the board. Here you can edit, export or delete existing imagesets and import or activate new sets.', 'ACP_STYLES_EXPLAIN' => 'Here you can manage the available styles on your board. A style consists off a template, theme and imageset. You may alter existing styles, delete, deactivate, reactivate, create or import new ones. You can also see what a style will look like using the preview function. The current default style is noted by the presence of an asterisk (*). Also listed is the total user count for each style, note that overriding user styles will not be reflected here.', 'ACP_TEMPLATES_EXPLAIN' => 'A template set comprises all the markup used to generate the layout of your board. Here you can edit existing template sets, delete, export, import and preview sets. You can also modify the templating code used to generate BBCode.', - 'ACP_THEMES_EXPLAIN' => 'From here you can create, install, edit, delete and export themes. A theme is the combination of colours and images that are applied to your templates to define the basic look of your forum. The range of options open to you depends on the configuration of your server and phpBB installation, see the manual for further details. Please note that when creating new themes the use of an existing theme as a basis is optional.', + 'ACP_THEMES_EXPLAIN' => 'From here you can create, install, edit, delete and export themes. A theme is the combination of colours and images that are applied to your templates to define the basic look of your board. The range of options open to you depends on the configuration of your server and phpBB installation, see the manual for further details. Please note that when creating new themes the use of an existing theme as a basis is optional.', 'ADD_IMAGESET' => 'Create imageset', 'ADD_IMAGESET_EXPLAIN' => 'Here you can create a new imageset. Depending on your server configuration and file permissions you may have additional options here. For example you may be able to base this imageset on an existing one. You may also be able to upload or import (from the store directory) a imageset archive. If you upload or import an archive the imageset name can be optionally taken from the archive name (to do this leave the imageset name blank).', 'ADD_STYLE' => 'Create style', diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 9b3aaac335..151ea30f34 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -108,8 +108,8 @@ $lang = array_merge($lang, array( 'CANCEL' => 'Cancel', 'CHANGE' => 'Change', 'CHANGE_FONT_SIZE' => 'Change font size', - 'CHANGING_PREFERENCES' => 'Changing forum preferences', - 'CHANGING_PROFILE' => 'Changing forum profile settings', + 'CHANGING_PREFERENCES' => 'Changing board preferences', + 'CHANGING_PROFILE' => 'Changing profile settings', 'CLICK_VIEW_PRIVMSG' => '%sGo to your inbox%s', 'COLLAPSE_VIEW' => 'Collapse view', 'CLOSE_WINDOW' => 'Close window', @@ -155,6 +155,7 @@ $lang = array_merge($lang, array( 'EMAIL_ADDRESS' => 'E-mail address', 'EMAIL_SMTP_ERROR_RESPONSE' => 'Ran into problems sending e-mail at Line %1$s. Response: %2$s.', 'EMPTY_SUBJECT' => 'You must specify a subject when posting a new topic.', + 'EMPTY_MESSAGE_SUBJECT' => 'You must specify a subject when composing a new message.', 'ENABLED' => 'Enabled', 'ENCLOSURE' => 'Enclosure', 'ERR_CHANGING_DIRECTORY' => 'Unable to change directory.', @@ -361,7 +362,7 @@ $lang = array_merge($lang, array( 'NO_ONLINE_USERS' => 'No registered users', 'NO_POSTS' => 'No posts', 'NO_POSTS_TIME_FRAME' => 'No posts exist inside this topic for the selected time frame.', - 'NO_SUBJECT' => 'No subject specified.', + 'NO_SUBJECT' => 'No subject specified', // Used for posts having no subject defined but displayed within management pages. 'NO_SUCH_SEARCH_MODULE' => 'The specified search backend doesn’t exist.', 'NO_SUPPORTED_AUTH_METHODS' => 'No supported authentication methods.', 'NO_TOPIC' => 'The requested topic does not exist.', @@ -436,7 +437,7 @@ $lang = array_merge($lang, array( 'REG_USER_ONLINE' => 'There is %d registered user and ', 'REG_USER_TOTAL' => '%d registered, ', 'REMOVE' => 'Remove', - 'REMOVE_INSTALL' => 'Please delete, move or rename the install directory before you use your forum. If this directory is still present, only the Administration Control Panel (ACP) will be accessible.', + 'REMOVE_INSTALL' => 'Please delete, move or rename the install directory before you use your board. If this directory is still present, only the Administration Control Panel (ACP) will be accessible.', 'REPLIES' => 'Replies', 'REPLY_WITH_QUOTE' => 'Reply with quote', 'REPLYING_GLOBAL_ANNOUNCE' => 'Replying to global announcement', diff --git a/phpBB/language/en/email/user_remind_inactive.txt b/phpBB/language/en/email/user_remind_inactive.txt index 601a9ad6f9..49dea02044 100644 --- a/phpBB/language/en/email/user_remind_inactive.txt +++ b/phpBB/language/en/email/user_remind_inactive.txt @@ -2,7 +2,7 @@ Subject: Inactive account reminder Hello {USERNAME}, -On {REGISTER_DATE} you registered a new account at "{SITENAME}". To date you have not activated this account which is a prerequisite for forum login. For your convenience the activation link is repeated below. +On {REGISTER_DATE} you registered a new account at "{SITENAME}". To date you have not activated this account which is a prerequisite for board login. For your convenience the activation link is repeated below. {U_ACTIVATE} diff --git a/phpBB/language/en/help_faq.php b/phpBB/language/en/help_faq.php index 8ef704ba3d..2f66f8e3a4 100644 --- a/phpBB/language/en/help_faq.php +++ b/phpBB/language/en/help_faq.php @@ -256,7 +256,7 @@ $help = array( ), array( 0 => 'What is my Friends and Foes list?', - 1 => 'You can use these lists to organise other members of the forum. Members added to your friends list will be listed within your User Control Panel for quick access to see their online status and to send them private messages. Subject to template support, posts from these users may also be highlighted. If you add a user to your foes list then any posts made by them will be hidden by default.' + 1 => 'You can use these lists to organise other members of the board. Members added to your friends list will be listed within your User Control Panel for quick access to see their online status and to send them private messages. Subject to template support, posts from these users may also be highlighted. If you add a user to your foes list then any posts made by them will be hidden by default.' ), array( 0 => 'How can I add / remove users to my friends or foes list?', diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index 98688fd957..486931fda8 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -73,9 +73,9 @@ $lang = array_merge($lang, array( 'CONTINUE_OLD_CONVERSION' => 'Continue previously started conversion', 'CONVERT' => 'Convert', 'CONVERT_COMPLETE' => 'Conversion completed', - 'CONVERT_COMPLETE_EXPLAIN' => 'You have now successfully converted your board to phpBB 3.0. You can now login and access your forum. Remember that help on using phpBB is available online via the Documentation and the support forums.', + 'CONVERT_COMPLETE_EXPLAIN' => 'You have now successfully converted your board to phpBB 3.0. You can now login and access your board. Remember that help on using phpBB is available online via the Documentation and the support forums.', 'CONVERT_INTRO' => 'Welcome to the phpBB Unified Convertor Framework', - 'CONVERT_INTRO_BODY' => 'From here, you are able to import data from other (installed) forum systems. The list below shows all the conversion modules currently available. If there is no convertor shown in this list for the forum software you wish to convert from, please check our website where further conversion modules may be available for download.', + 'CONVERT_INTRO_BODY' => 'From here, you are able to import data from other (installed) board systems. The list below shows all the conversion modules currently available. If there is no convertor shown in this list for the board software you wish to convert from, please check our website where further conversion modules may be available for download.', 'CONVERT_NEW_CONVERSION' => 'New conversion', 'CONVERT_NOT_EXIST' => 'The specified convertor does not exist.', 'CONVERT_SETTINGS_VERIFIED' => 'The information you entered has been verified. To start the conversion process, push the button below to begin.', @@ -85,7 +85,7 @@ $lang = array_merge($lang, array( 'CONV_ERROR_CONFIG_EMPTY' => 'There is no configuration information available for the conversion.', 'CONV_ERROR_FORUM_ACCESS' => 'Unable to get forum access information.', 'CONV_ERROR_GET_CATEGORIES' => 'Unable to get categories.', - 'CONV_ERROR_GET_CONFIG' => 'Could not retrieve your forum configuration.', + 'CONV_ERROR_GET_CONFIG' => 'Could not retrieve your board configuration.', 'CONV_ERROR_COULD_NOT_READ' => 'Unable to access/read "%s".', 'CONV_ERROR_GROUP_ACCESS' => 'Unable to get group authentication information.', 'CONV_ERROR_INCONSISTENT_GROUPS' => 'Inconsistency in groups table detected in add_bots() - you need to add all special groups if you do it manually.', @@ -94,7 +94,7 @@ $lang = array_merge($lang, array( 'CONV_ERROR_INSERT_USER_GROUP' => 'Unable to insert user into user_group table.', 'CONV_ERROR_MESSAGE_PARSER' => 'Message parser error', 'CONV_ERROR_NO_AVATAR_PATH' => 'Note to developer: you must specify $convertor[\'avatar_path\'] to use %s.', - 'CONV_ERROR_NO_FORUM_PATH' => 'The relative path to the source forum has not been specified.', + 'CONV_ERROR_NO_FORUM_PATH' => 'The relative path to the source board has not been specified.', 'CONV_ERROR_NO_GALLERY_PATH' => 'Note to developer: you must specify $convertor[\'avatar_gallery_path\'] to use %s.', 'CONV_ERROR_NO_GROUP' => 'Group "%1$s" could not be found in %2$s.', 'CONV_ERROR_NO_RANKS_PATH' => 'Note to developer: you must specify $convertor[\'ranks_path\'] to use %s.', @@ -109,7 +109,7 @@ $lang = array_merge($lang, array( 'CONV_SAVED_MESSAGES' => 'Saved messages', 'COULD_NOT_COPY' => 'Could not copy file %1$s to %2$s

    Please check that the target directory exists and is writable by the webserver.', - 'COULD_NOT_FIND_PATH' => 'Could not find path to your former forum. Please check your settings and try again.
    » Specified source path was %s.', + 'COULD_NOT_FIND_PATH' => 'Could not find path to your former board. Please check your settings and try again.
    » Specified source path was %s.', 'DBMS' => 'Database type', 'DB_CONFIG' => 'Database configuration', @@ -128,8 +128,8 @@ $lang = array_merge($lang, array( 'DB_USERNAME' => 'Database username', 'DB_TEST' => 'Test connection', 'DEFAULT_LANG' => 'Default board language', - 'DEFAULT_PREFIX_IS' => 'The convertor was not able to find tables with the specified prefix. Please make sure you have entered the correct details for the forum you are converting from. The default table prefix for %1$s is %2$s.', - 'DEV_NO_TEST_FILE' => 'No value has been specified for the test_file variable in the convertor. If you are a user of this convertor, you should not be seeing this error, please report this message to the convertor author. If you are a convertor author, you must specify the name of a file which exists in the source forum to allow the path to it to be verified.', + 'DEFAULT_PREFIX_IS' => 'The convertor was not able to find tables with the specified prefix. Please make sure you have entered the correct details for the board you are converting from. The default table prefix for %1$s is %2$s.', + 'DEV_NO_TEST_FILE' => 'No value has been specified for the test_file variable in the convertor. If you are a user of this convertor, you should not be seeing this error, please report this message to the convertor author. If you are a convertor author, you must specify the name of a file which exists in the source board to allow the path to it to be verified.', 'DIRECTORIES_AND_FILES' => 'Directory and file setup', 'DISABLE_KEYS' => 'Disabling keys', 'DLL_FIREBIRD' => 'Firebird', @@ -159,10 +159,10 @@ $lang = array_merge($lang, array( 'FILLING_TABLE' => 'Filling table %s', 'FILLING_TABLES' => 'Filling tables', 'FINAL_STEP' => 'Processing final step', - 'FORUM_ADDRESS' => 'Forum address', - 'FORUM_ADDRESS_EXPLAIN' => 'This is the URL of your former forum, for example http://www.example.com/phpBB2/. If an address is entered here and not left empty every instance of this address will be replaced by your new forum address within messages, private messages and signatures.', + 'FORUM_ADDRESS' => 'Board address', + 'FORUM_ADDRESS_EXPLAIN' => 'This is the URL of your former board, for example http://www.example.com/phpBB2/. If an address is entered here and not left empty every instance of this address will be replaced by your new board address within messages, private messages and signatures.', 'FORUM_PATH' => 'Forum path', - 'FORUM_PATH_EXPLAIN' => 'This is the relative path on disk to your former forum from the root of your phpBB install.', + 'FORUM_PATH_EXPLAIN' => 'This is the relative path on disk to your former board from the root of your phpBB installation.', 'FOUND' => 'Found', 'FTP_CONFIG' => 'Transfer config by FTP', 'FTP_CONFIG_EXPLAIN' => 'phpBB has detected the presence of the FTP module on this server. You may attempt to install your config.php via this if you wish. You will need to supply the information listed below. Remember your username and password are those to your server! (ask your hosting provider for details if you are unsure what these are).', @@ -177,10 +177,10 @@ $lang = array_merge($lang, array( 'INSTALL_CONGRATS' => 'Congratulations!', 'INSTALL_CONGRATS_EXPLAIN' => '

    You have now successfully installed phpBB %1$s. From here, you have two options as to what to do with your newly installed phpBB3:

    -

    Convert an existing forum to phpBB3

    -

    The phpBB Unified Convertor Framework supports the conversion of phpBB 2.0.x and other forum systems to phpBB3. If you have an existing forum that you wish to convert, please proceed on to the convertor.

    +

    Convert an existing board to phpBB3

    +

    The phpBB Unified Convertor Framework supports the conversion of phpBB 2.0.x and other board systems to phpBB3. If you have an existing board that you wish to convert, please proceed on to the convertor.

    Go live with your phpBB3!

    -

    Clicking the button below will take you to your Administration Control Panel (ACP). Take some time to examine the options available to you. Remember that help is available online via the Documentation and the support forums, see the README for further information.

    Please now delete, move or rename the install directory before you use your forum. If this directory is still present, only the Administration Control Panel (ACP) will be accessible.

    ', +

    Clicking the button below will take you to your Administration Control Panel (ACP). Take some time to examine the options available to you. Remember that help is available online via the Documentation and the support forums, see the README for further information.

    Please now delete, move or rename the install directory before you use your board. If this directory is still present, only the Administration Control Panel (ACP) will be accessible.

    ', 'INSTALL_INTRO' => 'Welcome to Installation', // TODO: write some more introductions here 'INSTALL_INTRO_BODY' => 'With this option, it is possible to install phpBB onto your server.

    In order to proceed, you will need your database settings. If you do not know your database settings, please contact your host and ask for them. You will not be able to continue without them. You need:

    @@ -217,7 +217,7 @@ $lang = array_merge($lang, array( 'INSTALL_TEST' => 'Test again', 'INST_ERR' => 'Installation error', 'INST_ERR_DB_CONNECT' => 'Could not connect to the database, see error message below.', - 'INST_ERR_DB_FORUM_PATH' => 'The database file specified is within your forum directory tree. You should put this file in a non web-accessible location.', + 'INST_ERR_DB_FORUM_PATH' => 'The database file specified is within your board directory tree. You should put this file in a non web-accessible location.', 'INST_ERR_DB_NO_ERROR' => 'No error message given.', 'INST_ERR_DB_NO_MYSQLI' => 'The version of MySQL installed on this machine is incompatible with the “MySQL with MySQLi Extension” option you have selected. Please try the “MySQL” option instead.', 'INST_ERR_DB_NO_SQLITE' => 'The version of the SQLite extension you have installed is too old, it must be upgraded to at least 2.8.2.', @@ -307,7 +307,7 @@ $lang = array_merge($lang, array( 'SERVER_CONFIG' => 'Server configuration', 'SEARCH_INDEX_UNCONVERTED' => 'Search index was not converted', 'SEARCH_INDEX_UNCONVERTED_EXPLAIN' => 'Your old search index was not converted. Searching will always yield an empty result. To create a new search index go to the Administration Control Panel, select Maintenance and then choose Search index from the submenu.', - 'SOFTWARE' => 'Forum software', + 'SOFTWARE' => 'Board software', 'SPECIFY_OPTIONS' => 'Specify conversion options', 'STAGE_ADMINISTRATOR' => 'Administrator details', 'STAGE_ADVANCED' => 'Advanced settings', @@ -328,7 +328,7 @@ $lang = array_merge($lang, array( 'SUB_SUPPORT' => 'Support', 'SUCCESSFUL_CONNECT' => 'Successful connection', // TODO: Write some text on obtaining support - 'SUPPORT_BODY' => 'During the release candidate phase full support will be given at the phpBB 3.0.x support forums. We will provide answers to general setup questions, configuration problems, conversion problems and support for determining common problems mostly related to bugs. We will also allow discussions about modifications and custom code/style additions.

    For additional assistance, please refer to our Quick Start Guide and the online documentation.

    To ensure you stay up to date with the latest news and releases, why not subscribe to our mailing list?', + 'SUPPORT_BODY' => 'During the release candidate phase full support will be given at the phpBB 3.0.x support forums. We will provide answers to general setup questions, configuration problems, conversion problems and support for determining common problems mostly related to bugs. We also allow discussions about modifications and custom code/style additions.

    For additional assistance, please refer to our Quick Start Guide and the online documentation.

    To ensure you stay up to date with the latest news and releases, why not subscribe to our mailing list?', 'SYNC_FORUMS' => 'Starting to sync forums', 'SYNC_TOPICS' => 'Starting to sync topics', 'SYNC_TOPIC_ID' => 'Synchronising topics from topic_id %1$s to %2$s.', diff --git a/phpBB/language/en/memberlist.php b/phpBB/language/en/memberlist.php index 11977a1d5c..f4219feb61 100644 --- a/phpBB/language/en/memberlist.php +++ b/phpBB/language/en/memberlist.php @@ -127,7 +127,7 @@ $lang = array_merge($lang, array( 'USER_ADMIN' => 'Administrate user', 'USER_FORUM' => 'User statistics', 'USER_ONLINE' => 'Online', - 'USER_PRESENCE' => 'Forum presence', + 'USER_PRESENCE' => 'Board presence', 'VIEWING_PROFILE' => 'Viewing profile - %s', 'VISITED' => 'Last visited', diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index 4174330d5c..0b428b69eb 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -58,10 +58,10 @@ $lang = array_merge($lang, array( 'ACCOUNT_ACTIVE_PROFILE' => 'Your account has now been successfully reactivated.', 'ACCOUNT_ADDED' => 'Thank you for registering, your account has been created. You may now login with your username and password.', 'ACCOUNT_COPPA' => 'Your account has been created but has to be approved, please check your e-mail for details.', - 'ACCOUNT_EMAIL_CHANGED' => 'Your account has been updated. However, this forum requires account reactivation on e-mail changes. An activation key has been sent to the new e-mail address you provided. Please check your e-mail for further information.', - 'ACCOUNT_EMAIL_CHANGED_ADMIN' => 'Your account has been updated. However, this forum requires account reactivation by the administrators on e-mail changes. An e-mail has been sent to them and you will be informed when your account has been reactivated.', - 'ACCOUNT_INACTIVE' => 'Your account has been created. However, this forum requires account activation, an activation key has been sent to the e-mail address you provided. Please check your e-mail for further information.', - 'ACCOUNT_INACTIVE_ADMIN' => 'Your account has been created. However, this forum requires account activation by the administrator group. An e-mail has been sent to them and you will be informed when your account has been activated.', + 'ACCOUNT_EMAIL_CHANGED' => 'Your account has been updated. However, this board requires account reactivation on e-mail changes. An activation key has been sent to the new e-mail address you provided. Please check your e-mail for further information.', + 'ACCOUNT_EMAIL_CHANGED_ADMIN' => 'Your account has been updated. However, this board requires account reactivation by the administrators on e-mail changes. An e-mail has been sent to them and you will be informed when your account has been reactivated.', + 'ACCOUNT_INACTIVE' => 'Your account has been created. However, this board requires account activation, an activation key has been sent to the e-mail address you provided. Please check your e-mail for further information.', + 'ACCOUNT_INACTIVE_ADMIN' => 'Your account has been created. However, this board requires account activation by the administrator group. An e-mail has been sent to them and you will be informed when your account has been activated.', 'ACTIVATION_EMAIL_SENT' => 'The activation e-mail has been sent to your e-mail address.', 'ADD' => 'Add', 'ADD_BCC' => 'Add [BCC]', @@ -314,7 +314,7 @@ $lang = array_merge($lang, array( 'PASSWORD_ACTIVATED' => 'Your new password has been activated.', 'PASSWORD_UPDATED' => 'Your password has been sent successfully to your original e-mail address.', 'PERMISSIONS_RESTORED' => 'Successfully restored original permissions.', - 'PERMISSIONS_TRANSFERRED' => 'Successfully transferred permissions from %s, you are now able to browse the forum with the users permissions.
    Please note that admin permissions were not transferred. You are able to revert to your permission set at any time.', + 'PERMISSIONS_TRANSFERRED' => 'Successfully transferred permissions from %s, you are now able to browse the board with the users permissions.
    Please note that admin permissions were not transferred. You are able to revert to your permission set at any time.', 'PM_DISABLED' => 'Private messaging has been disabled on this board.', 'PM_FROM' => 'From', 'PM_FROM_REMOVED_AUTHOR' => 'This message was sent by a user no longer registered.', @@ -404,7 +404,7 @@ $lang = array_merge($lang, array( 'UCP_MSNM' => 'MSN Messenger', 'UCP_NO_ATTACHMENTS' => 'You have posted no files.', - 'UCP_PREFS' => 'Forum preferences', + 'UCP_PREFS' => 'Board preferences', 'UCP_PREFS_PERSONAL' => 'Edit global settings', 'UCP_PREFS_POST' => 'Edit posting defaults', 'UCP_PREFS_VIEW' => 'Edit display options', diff --git a/phpBB/styles/prosilver/template/posting_poll_body.html b/phpBB/styles/prosilver/template/posting_poll_body.html index b606e85db8..ca721748e9 100644 --- a/phpBB/styles/prosilver/template/posting_poll_body.html +++ b/phpBB/styles/prosilver/template/posting_poll_body.html @@ -34,7 +34,7 @@

    -
    {L_POLL_VOTE_CHANGE_EXPLAIN}
    +
    diff --git a/phpBB/styles/prosilver/template/ucp_main_bookmarks.html b/phpBB/styles/prosilver/template/ucp_main_bookmarks.html index 6a19d62609..7d59df1a02 100644 --- a/phpBB/styles/prosilver/template/ucp_main_bookmarks.html +++ b/phpBB/styles/prosilver/template/ucp_main_bookmarks.html @@ -27,8 +27,9 @@
  • -
    {L_DELETED_TOPIC}
    +
    {L_DELETED_TOPIC}
    +
    From 00da476aa726460f1788e30d567dd12bec75adfd Mon Sep 17 00:00:00 2001 From: Henry Sudhof Date: Wed, 16 May 2007 16:55:22 +0000 Subject: [PATCH 659/707] #11042 git-svn-id: file:///svn/phpbb/trunk@7609 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_styles.php | 2 +- phpBB/language/en/acp/styles.php | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php index d42e52ea15..4721b09e73 100644 --- a/phpBB/includes/acp/acp_styles.php +++ b/phpBB/includes/acp/acp_styles.php @@ -96,7 +96,7 @@ parse_css_file = {PARSE_CSS_FILE} 'icon_post_target', 'icon_post_target_unread', 'icon_topic_attach', 'icon_topic_latest', 'icon_topic_newest', 'icon_topic_reported', 'icon_topic_unapproved', 'icon_friend', 'icon_foe', ), 'forums' => array( - 'forum_link', 'forum_read', 'forum_read_locked', 'forum_read_subforum', 'forum_unread', 'forum_unread_locked', 'forum_unread_subforum', + 'forum_link', 'forum_read', 'forum_read_locked', 'forum_read_subforum', 'forum_unread', 'forum_unread_locked', 'forum_unread_subforum', 'subforum_read', 'subforum_unread' ), 'folders' => array( 'topic_moved', 'topic_read', 'topic_read_mine', 'topic_read_hot', 'topic_read_hot_mine', 'topic_read_locked', 'topic_read_locked_mine', 'topic_unread', 'topic_unread_mine', 'topic_unread_hot', 'topic_unread_hot_mine', 'topic_unread_locked', 'topic_unread_locked_mine', 'sticky_read', 'sticky_read_mine', 'sticky_read_locked', 'sticky_read_locked_mine', 'sticky_unread', 'sticky_unread_mine', 'sticky_unread_locked', 'sticky_unread_locked_mine', 'announce_read', 'announce_read_mine', 'announce_read_locked', 'announce_read_locked_mine', 'announce_unread', 'announce_unread_mine', 'announce_unread_locked', 'announce_unread_locked_mine', 'global_read', 'global_read_mine', 'global_read_locked', 'global_read_locked_mine', 'global_unread', 'global_unread_mine', 'global_unread_locked', 'global_unread_locked_mine', 'subforum_read', 'subforum_unread', 'pm_read', 'pm_unread', diff --git a/phpBB/language/en/acp/styles.php b/phpBB/language/en/acp/styles.php index 25ce8d13c8..7380322da4 100644 --- a/phpBB/language/en/acp/styles.php +++ b/phpBB/language/en/acp/styles.php @@ -161,7 +161,9 @@ $lang = array_merge($lang, array( 'IMG_FORUM_UNREAD' => 'Forum new posts', 'IMG_FORUM_UNREAD_LOCKED' => 'Forum new posts locked', 'IMG_FORUM_UNREAD_SUBFORUM' => 'Subforum new posts', - + 'IMG_SUBFORUM_READ' => 'Legend subforum', + 'IMG_SUBFORUM_UNREAD' => 'Legend subforum new posts', + 'IMG_TOPIC_MOVED' => 'Topic moved', 'IMG_TOPIC_READ' => 'Topic', From 27fb37109f0d7b13f3b0d9de413b7ffc45aeaadb Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Wed, 16 May 2007 17:27:16 +0000 Subject: [PATCH 660/707] #11040 git-svn-id: file:///svn/phpbb/trunk@7610 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/schemas/schema_data.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index 6d3047fb3c..7268145932 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -613,10 +613,10 @@ INSERT INTO phpbb_acl_groups (group_id, forum_id, auth_option_id, auth_role_id, # -- Demo Topic -INSERT INTO phpbb_topics (topic_title, topic_poster, topic_time, topic_views, topic_replies, topic_replies_real, forum_id, topic_status, topic_type, topic_first_post_id, topic_first_poster_name, topic_first_poster_colour, topic_last_post_id, topic_last_poster_id, topic_last_poster_name, topic_last_poster_colour, topic_last_post_subject, topic_last_post_time, topic_last_view_time, poll_title) VALUES ('Welcome to phpBB 3', 2, 972086460, 0, 0, 0, 2, 0, 0, 1, 'Admin', 'AA0000', 1, 2, 'Admin', 'AA0000', 'Welcome to phpBB 3', 972086460, 972086460, ''); +INSERT INTO phpbb_topics (topic_title, topic_poster, topic_time, topic_views, topic_replies, topic_replies_real, forum_id, topic_status, topic_type, topic_first_post_id, topic_first_poster_name, topic_first_poster_colour, topic_last_post_id, topic_last_poster_id, topic_last_poster_name, topic_last_poster_colour, topic_last_post_subject, topic_last_post_time, topic_last_view_time, poll_title) VALUES ('Welcome to phpBB3', 2, 972086460, 0, 0, 0, 2, 0, 0, 1, 'Admin', 'AA0000', 1, 2, 'Admin', 'AA0000', 'Welcome to phpBB3', 972086460, 972086460, ''); # -- Demo Post -INSERT INTO phpbb_posts (topic_id, forum_id, poster_id, icon_id, post_time, post_username, poster_ip, post_subject, post_text, post_checksum, bbcode_uid) VALUES (1, 2, 2, 1, 972086460, '', '127.0.0.1', 'Welcome to phpBB 3', 'This is an example post in your phpBB 3.0 installation. You may delete this post, this topic and even this forum if you like since everything seems to be working!', '5dd683b17f641daf84c040bfefc58ce9', ''); +INSERT INTO phpbb_posts (topic_id, forum_id, poster_id, icon_id, post_time, post_username, poster_ip, post_subject, post_text, post_checksum, bbcode_uid) VALUES (1, 2, 2, 0, 972086460, '', '127.0.0.1', 'Welcome to phpBB3', 'This is an example post in your phpBB 3.0 installation. You may delete this post, this topic and even this forum if you like since everything seems to be working!', '5dd683b17f641daf84c040bfefc58ce9', ''); # -- Admin posted to the demo topic INSERT INTO phpbb_topics_posted (user_id, topic_id, topic_posted) VALUES (2, 1, 1); From 15743dc7ac7ae8985e785096d2e3ed2a046c6e32 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Wed, 16 May 2007 17:38:05 +0000 Subject: [PATCH 661/707] #10982 git-svn-id: file:///svn/phpbb/trunk@7611 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/message_parser.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php index 9b3dcad871..532bc057ab 100644 --- a/phpBB/includes/message_parser.php +++ b/phpBB/includes/message_parser.php @@ -691,11 +691,13 @@ class bbcode_firstpass extends bbcode $tok = '['; $buffer = ''; - // Add space at the end of the closing tag if not happened before to allow following urls/smilies to be parsed correctly + /* Add space at the end of the closing tag if not happened before to allow following urls/smilies to be parsed correctly + * Do not try to think for the user. :/ Do not parse urls/smilies if there is no space - is the same as with other bbcodes too. + * Also, we won't have any spaces within $in anyway, only adding up spaces -> #10982 if (!$in || $in[0] !== ' ') { $out .= ' '; - } + }*/ } else if (preg_match('#^quote(?:="(.*?)")?$#is', $buffer, $m)) { From 34bd3a9b1c06f45db6ab563dbb82729ff104e5a7 Mon Sep 17 00:00:00 2001 From: David M Date: Wed, 16 May 2007 19:20:50 +0000 Subject: [PATCH 662/707] #11012 - For now, only founders can clear the cache ( we might change this ) git-svn-id: file:///svn/phpbb/trunk@7612 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_main.html | 11 ++++++++++- phpBB/includes/acp/acp_main.php | 16 ++++++++++++++++ phpBB/language/en/acp/common.php | 6 ++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/phpBB/adm/style/acp_main.html b/phpBB/adm/style/acp_main.html index 696d384ff8..80c7f09d6e 100644 --- a/phpBB/adm/style/acp_main.html +++ b/phpBB/adm/style/acp_main.html @@ -126,7 +126,16 @@
    - + + +
    +
    +

    {L_PURGE_CACHE_EXPLAIN}
    +
    +
    +
    + + diff --git a/phpBB/includes/acp/acp_main.php b/phpBB/includes/acp/acp_main.php index d49f933008..b944765011 100644 --- a/phpBB/includes/acp/acp_main.php +++ b/phpBB/includes/acp/acp_main.php @@ -77,6 +77,10 @@ class acp_main $confirm = true; $confirm_lang = 'RESYNC_POST_MARKING_CONFIRM'; break; + case 'purge_cache': + $confirm = true; + $confirm_lang = 'PURGE_CACHE_CONFIRM'; + break; default: $confirm = true; @@ -257,6 +261,17 @@ class acp_main add_log('admin', 'LOG_RESYNC_POST_MARKING'); break; + + case 'purge_cache': + if ((int) $user->data['user_type'] !== USER_FOUNDER) + { + trigger_error($user->lang['NO_AUTH_OPERATION'] . adm_back_link($this->u_action), E_USER_WARNING); + } + + global $cache; + $cache->purge(); + add_log('admin', 'LOG_PURGE_CACHE'); + break; } } } @@ -362,6 +377,7 @@ class acp_main 'U_INACTIVE_USERS' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=inactive&mode=list'), 'S_ACTION_OPTIONS' => ($auth->acl_get('a_board')) ? true : false, + 'S_FOUNDER' => ($user->data['user_type'] == USER_FOUNDER) ? true : false, ) ); diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php index e17df3c86b..2c7d8de7f3 100644 --- a/phpBB/language/en/acp/common.php +++ b/phpBB/language/en/acp/common.php @@ -320,6 +320,10 @@ $lang = array_merge($lang, array( 'POSTS_PER_DAY' => 'Posts per day', + 'PURGE_CACHE' => 'Purge the cache', + 'PURGE_CACHE_CONFIRM' => 'Are you sure you wish to purge the cache?', + 'PURGE_CACHE_EXPLAIN' => 'Purge all cache related items, this includes any cached template files or queries.', + 'RESET_DATE' => 'Reset board’s start date', 'RESET_DATE_CONFIRM' => 'Are you sure you wish to reset the board’s start date?', 'RESET_ONLINE' => 'Reset most users ever online', @@ -583,6 +587,8 @@ $lang = array_merge($lang, array( 'LOG_PRUNE_USER_DEL_DEL' => 'Users pruned and posts deleted
    » %s', 'LOG_PRUNE_USER_DEL_ANON' => 'Users pruned and posts retained
    » %s', + 'LOG_PURGE_CACHE' => 'Purged cache', + 'LOG_RANK_ADDED' => 'Added new rank
    » %s', 'LOG_RANK_REMOVED' => 'Removed rank
    » %s', 'LOG_RANK_UPDATED' => 'Updated rank
    » %s', From 9d5e18714d527ffbad2d3a687db9ba6e07deb684 Mon Sep 17 00:00:00 2001 From: David M Date: Wed, 16 May 2007 20:12:18 +0000 Subject: [PATCH 663/707] #11048 git-svn-id: file:///svn/phpbb/trunk@7613 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/help_bbcode.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/phpBB/language/en/help_bbcode.php b/phpBB/language/en/help_bbcode.php index 7e0e4669f2..fb1caebd28 100644 --- a/phpBB/language/en/help_bbcode.php +++ b/phpBB/language/en/help_bbcode.php @@ -40,7 +40,7 @@ $help = array( ), array( 0 => 'How to create bold, italic and underlined text', - 1 => 'BBCode includes tags to allow you to quickly change the basic style of your text. This is achieved in the following ways:
    • To make a piece of text bold enclose it in [b][/b], eg.

      [b]Hello[/b]

      will become Hello
    • For underlining use [u][/u], for example:

      [u]Good Morning[/u]

      becomes Good Morning
    • To italicise text use [i][/i], eg.

      This is [i]Great![/i]

      would give This is Great!
    ' + 1 => 'BBCode includes tags to allow you to quickly change the basic style of your text. This is achieved in the following ways:
    • To make a piece of text bold enclose it in [b][/b], eg.

      [b]Hello[/b]

      will become Hello
    • For underlining use [u][/u], for example:

      [u]Good Morning[/u]

      becomes Good Morning
    • To italicise text use [i][/i], eg.

      This is [i]Great![/i]

      would give This is Great!
    ' ), array( 0 => 'How to change the text colour or size', @@ -72,7 +72,7 @@ $help = array( ), array( 0 => 'Creating an Ordered list', - 1 => 'The second type of list, an ordered list gives you control over what is output before each item. To create an ordered list you use [list=1][/list] to create a numbered list or alternatively [list=a][/list] for an alphabetical list. As with the unordered list items are specified using [*]. For example:

    [list=1]
    [*]Go to the shops
    [*]Buy a new computer
    [*]Swear at computer when it crashes
    [/list]

    will generate the following:
    1. Go to the shops
    2. Buy a new computer
    3. Swear at computer when it crashes
    Whereas for an alphabetical list you would use:

    [list=a]
    [*]The first possible answer
    [*]The second possible answer
    [*]The third possible answer
    [/list]

    giving
    1. The first possible answer
    2. The second possible answer
    3. The third possible answer
    ' + 1 => 'The second type of list, an ordered list gives you control over what is output before each item. To create an ordered list you use [list=1][/list] to create a numbered list or alternatively [list=a][/list] for an alphabetical list. As with the unordered list items are specified using [*]. For example:

    [list=1]
    [*]Go to the shops
    [*]Buy a new computer
    [*]Swear at computer when it crashes
    [/list]

    will generate the following:
    1. Go to the shops
    2. Buy a new computer
    3. Swear at computer when it crashes
    Whereas for an alphabetical list you would use:

    [list=a]
    [*]The first possible answer
    [*]The second possible answer
    [*]The third possible answer
    [/list]

    giving
    1. The first possible answer
    2. The second possible answer
    3. The third possible answer
    ' ), array( 0 => '--', @@ -80,7 +80,7 @@ $help = array( ), array( 0 => 'Linking to another site', - 1 => 'phpBB BBCode supports a number of ways of creating URIs, Uniform Resource Indicators better known as URLs.
    • The first of these uses the [url=][/url] tag, whatever you type after the = sign will cause the contents of that tag to act as a URL. For example to link to phpBB.com you could use:

      [url=http://www.phpbb.com/]Visit phpBB![/url]

      This would generate the following link, Visit phpBB! Please notice that the link opens in the same window or a new window depending on the users browser preferences.
    • If you want the URL itself displayed as the link you can do this by simply using:

      [url]http://www.phpbb.com/[/url]

      This would generate the following link, http://www.phpbb.com/
    • Additionally phpBB features something called Magic Links, this will turn any syntactically correct URL into a link without you needing to specify any tags or even the leading http://. For example typing www.phpbb.com into your message will automatically lead to www.phpbb.com being output when you view the message.
    • The same thing applies equally to e-mail addresses, you can either specify an address explicitly for example:

      [email]no.one@domain.adr[/email]

      which will output no.one@domain.adr or you can just type no.one@domain.adr into your message and it will be automatically converted when you view.
    As with all the BBCode tags you can wrap URLs around any of the other tags such as [img][/img] (see next entry), [b][/b], etc. As with the formatting tags it is up to you to ensure the correct open and close order is following, for example:

    [url=http://www.google.com/][img]http://www.google.com/intl/en_ALL/images/logo.gif[/url][/img]

    is not correct which may lead to your post being deleted so take care.' + 1 => 'phpBB BBCode supports a number of ways of creating URIs, Uniform Resource Indicators better known as URLs.
    • The first of these uses the [url=][/url] tag, whatever you type after the = sign will cause the contents of that tag to act as a URL. For example to link to phpBB.com you could use:

      [url=http://www.phpbb.com/]Visit phpBB![/url]

      This would generate the following link, Visit phpBB! Please notice that the link opens in the same window or a new window depending on the users browser preferences.
    • If you want the URL itself displayed as the link you can do this by simply using:

      [url]http://www.phpbb.com/[/url]

      This would generate the following link, http://www.phpbb.com/
    • Additionally phpBB features something called Magic Links, this will turn any syntactically correct URL into a link without you needing to specify any tags or even the leading http://. For example typing www.phpbb.com into your message will automatically lead to www.phpbb.com being output when you view the message.
    • The same thing applies equally to e-mail addresses, you can either specify an address explicitly for example:

      [email]no.one@domain.adr[/email]

      which will output no.one@domain.adr or you can just type no.one@domain.adr into your message and it will be automatically converted when you view.
    As with all the BBCode tags you can wrap URLs around any of the other tags such as [img][/img] (see next entry), [b][/b], etc. As with the formatting tags it is up to you to ensure the correct open and close order is following, for example:

    [url=http://www.google.com/][img]http://www.google.com/intl/en_ALL/images/logo.gif[/url][/img]

    is not correct which may lead to your post being deleted so take care.' ), array( 0 => '--', From 94a91530da9f952a8b6e729ff187932706282f5a Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 17 May 2007 11:59:06 +0000 Subject: [PATCH 664/707] adjust smilies. Also allow adding more codes to existing smilies... no one noticed this before. :/ git-svn-id: file:///svn/phpbb/trunk@7614 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_icons.html | 60 +++++++++++++ phpBB/adm/style/editor.js | 27 +++--- phpBB/images/smilies/icon_biggrin.gif | Bin 172 -> 0 bytes phpBB/images/smilies/icon_confused.gif | Bin 171 -> 0 bytes phpBB/images/smilies/icon_e_biggrin.gif | Bin 0 -> 413 bytes phpBB/images/smilies/icon_e_confused.gif | Bin 0 -> 410 bytes phpBB/images/smilies/icon_e_geek.gif | Bin 0 -> 410 bytes phpBB/images/smilies/icon_e_sad.gif | Bin 0 -> 420 bytes phpBB/images/smilies/icon_e_smile.gif | Bin 0 -> 416 bytes phpBB/images/smilies/icon_e_surprised.gif | Bin 0 -> 427 bytes phpBB/images/smilies/icon_e_ugeek.gif | Bin 0 -> 422 bytes phpBB/images/smilies/icon_e_wink.gif | Bin 0 -> 413 bytes phpBB/images/smilies/icon_frown.gif | Bin 171 -> 0 bytes phpBB/images/smilies/icon_sad.gif | Bin 171 -> 0 bytes phpBB/images/smilies/icon_smile.gif | Bin 174 -> 0 bytes phpBB/images/smilies/icon_surprised.gif | Bin 174 -> 0 bytes phpBB/images/smilies/icon_wink.gif | Bin 170 -> 0 bytes phpBB/includes/acp/acp_icons.php | 103 ++++++++++++++++++++-- phpBB/includes/functions_posting.php | 14 ++- phpBB/install/schemas/schema_data.sql | 66 +++++++++----- phpBB/language/en/acp/posting.php | 5 ++ 21 files changed, 229 insertions(+), 46 deletions(-) delete mode 100644 phpBB/images/smilies/icon_biggrin.gif delete mode 100644 phpBB/images/smilies/icon_confused.gif create mode 100644 phpBB/images/smilies/icon_e_biggrin.gif create mode 100644 phpBB/images/smilies/icon_e_confused.gif create mode 100644 phpBB/images/smilies/icon_e_geek.gif create mode 100644 phpBB/images/smilies/icon_e_sad.gif create mode 100644 phpBB/images/smilies/icon_e_smile.gif create mode 100644 phpBB/images/smilies/icon_e_surprised.gif create mode 100644 phpBB/images/smilies/icon_e_ugeek.gif create mode 100644 phpBB/images/smilies/icon_e_wink.gif delete mode 100644 phpBB/images/smilies/icon_frown.gif delete mode 100644 phpBB/images/smilies/icon_sad.gif delete mode 100644 phpBB/images/smilies/icon_smile.gif delete mode 100644 phpBB/images/smilies/icon_surprised.gif delete mode 100644 phpBB/images/smilies/icon_wink.gif diff --git a/phpBB/adm/style/acp_icons.html b/phpBB/adm/style/acp_icons.html index 40a2cd166e..81f56cc299 100644 --- a/phpBB/adm/style/acp_icons.html +++ b/phpBB/adm/style/acp_icons.html @@ -4,6 +4,43 @@ + + + + « {L_BACK}

    {L_TITLE}

    @@ -20,6 +57,7 @@ {L_CONFIG} + {L_URL} {L_LOCATION} @@ -64,6 +102,27 @@ + + + {L_ADD_SMILEY_CODE} + + + + + + + + + + + + + + + + {L_NO_ICONS} + + @@ -71,6 +130,7 @@  

    + diff --git a/phpBB/adm/style/editor.js b/phpBB/adm/style/editor.js index c7632633d9..e82b9d5d62 100644 --- a/phpBB/adm/style/editor.js +++ b/phpBB/adm/style/editor.js @@ -55,12 +55,12 @@ 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(); @@ -117,7 +117,6 @@ function bbfontstyle(bbopen, bbclose) // IE else if (document.selection) { - var range = textarea.createTextRange(); range.move("character", new_pos); range.select(); @@ -135,19 +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; @@ -164,7 +164,7 @@ 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; @@ -366,15 +366,14 @@ 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(); @@ -385,7 +384,7 @@ 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); } diff --git a/phpBB/images/smilies/icon_biggrin.gif b/phpBB/images/smilies/icon_biggrin.gif deleted file mode 100644 index d3527723c6d8a0ddfa7ca0bfe1ab8fce0055918c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmZ?wbhEHbgxLc6$23b2ZD19|4%af-@@>3F2nzSlmGt}{{R2@|NpQ5 zKLsg(0L7myj0_CC3_2h#$P5OS$PJ#HS#x(>T`Hg?&Q{P6{IT@*|fe Qt&nb$oR(_V$-rO@0AZ~_>i_@% diff --git a/phpBB/images/smilies/icon_confused.gif b/phpBB/images/smilies/icon_confused.gif deleted file mode 100644 index 0c49e06983f1fff4bc0834b4d86ce39b8a36a914..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmZ?wbhEHbZXiyV-#U P9L#x)b-Z(h7#XYqI2k)k diff --git a/phpBB/images/smilies/icon_e_biggrin.gif b/phpBB/images/smilies/icon_e_biggrin.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d5cd010d7668e997fdb0be4a9a240d431b89a54 GIT binary patch literal 413 zcmV;O0b>3~Nk%w1VGjTi0M$PL{<{zV@*Mx<7*s+ja&BcrIVRVT5&o+U{>TtkOf&wZ z3}aV7{@fPmzZU+r4(po_{?Zfn_V)ki8UEQ7l8kt9V>nwT>9UfD-S$611K!_u(A-?H};)@7&wiT}Ubb00960 z|N8p+A^8LW002J#EC2ui01p5W000KMz@ISEx_m017$qWXmM*SLz#@U&I;AFOB@Ij^ zr%7YO`RNiluU8^qKoGV9Y38y7dOhk1kI;x_9XJws76bwWZ#@7iFB>NU0upR)eEJ06e`s3LYUsBn2#_JSaTW4{}W-1qKHP3h4#~BTYgh3n?`QH7FhJ?oAjnF)|qW HK>z?d=UbxV literal 0 HcmV?d00001 diff --git a/phpBB/images/smilies/icon_e_confused.gif b/phpBB/images/smilies/icon_e_confused.gif new file mode 100644 index 0000000000000000000000000000000000000000..ed8327080430360adc47e7f60ab58a247b70f333 GIT binary patch literal 410 zcmV;L0cHM2Nk%w1VGjTi0M$PLns6KbqzwMs760-a*NhSV$`Jms4vmL)RZBDetqo&W zK>nx=?7b6PNG$7{4@EjB_V)JvwhsQn50Z>{abr6Ey$^M0MY_1M{<#kS=o$az82-f& z{?Zfw?Hl>;BV$%GUsO72Tsw$>ZhUfHo0yI2>FDn6?bX!L{NWhxtr3`mL)_cgesf^$ z)g9*4IhBxnZed1wZdtpC71@{)!haHhTqS;9Cs9N$@bK@no-X_CAJ)b&|Nr_+J}CeI z0Q&m+A^8LW002J#EC2ui01p5W000KJz@HHEvV2Fk(#4suN;4>JkY1P>)mLL~||Gz2s?AnWW+7b7q+7xzH` EI}UTG3;+NC literal 0 HcmV?d00001 diff --git a/phpBB/images/smilies/icon_e_geek.gif b/phpBB/images/smilies/icon_e_geek.gif new file mode 100644 index 0000000000000000000000000000000000000000..c1947cc03bfd3778327558128b56d1ca5f81da4c GIT binary patch literal 410 zcmV;L0cHM2Nk%w1VG#fk0M$PLyXqbOs}2A19AsBE{-q55vktrC9GY?**NhRn?N?k) zG`sOw{@NA(yANxrE&j|AkkDUdT0Zvn_K}NtMLH*SXhpiXvj6BA|K%9|)fBt(Aph+f z`R^mU>sNeoUYnSW>gnk2?(Nmo(bmQ=?wJmGZdtbHSMAjue^dtSz7+8A@0f!_+}qfG zUMGHYV7u=h!haI};1{%>E^c8)=F~avst|KzJ-~qyvfdrpm=b|pCHw6k{=*M5Gcy1H z0Q&m+A^8LW002J#EC2ui01*HY000KJz@P9ZnN%XS$ZR4RIz<&4N3gk^WCM}&_gPH^ zR7{MK8hnN-#SRRKQ4iV_k|MjLi@{NV8p6GA?NggzLBgg-tGFB*=HJ`0iwln{fA zFE2hX0FetmlnIuL0HrAMAbXy=4ImpTc2oxY&LLd<>HwZ8~3hV4c79KMt7VJR) EJGc6-RR910 literal 0 HcmV?d00001 diff --git a/phpBB/images/smilies/icon_e_sad.gif b/phpBB/images/smilies/icon_e_sad.gif new file mode 100644 index 0000000000000000000000000000000000000000..57f00ba6019b7498683195900d48cf19a0978e9b GIT binary patch literal 420 zcmV;V0bBk@Nk%w1VGjTi0M$PLV^%Z&@*LNU5&qN@{;duErVUn1GybRzV^=`_#}Meh z7XRrPQbjN8n-4`gC;r?P_V)Jvu@3&e50Z>{abr4lXhpiXvj626|Lq(8wGR32BL2e< zUsO7qX&C;w4v2tmd~#lzcO9FUjq2&>@9*yZqYV1``Tzg`{NWjxgF|j%Mzo$T?yV7i zUMJa@5`J@F-pw`K+t|T?67Rhd?bRKMgmaaUe6@}kd2U&OTqXbi`dvsWXj?he)X_^m zDf;^QA^8LW002J#EC2ui01p5W000KTz@HFetMDj1)dV7J_9`$<0JEU2IK8GQrQz`c zi-lJK5dBDoZeYE*JO;d(gH(fI*3$)Q@JMVzH5@1lK80-$g+3B23;-xTJ&`_$kv%>c z3>1huJ|;c`oj#lqI|iUSC!7hQsXh@73^NI{8ygZH84&~o4GbSQwGy|v1P8_)A3XrV z9y`v?1<^Y(KOiB^y2S-MB^@t9Bn~VQx(5X%B@J^;BMvUw=mHKSO+q6GEiwW!IUMx$ OO)P*=fx`m8AOJf__pFKl literal 0 HcmV?d00001 diff --git a/phpBB/images/smilies/icon_e_smile.gif b/phpBB/images/smilies/icon_e_smile.gif new file mode 100644 index 0000000000000000000000000000000000000000..6bb8d04b72ab226d31e23512669648cadc0419c3 GIT binary patch literal 416 zcmV;R0bl+{Nk%w1VGjTi0M$PLns6Kb(i8s55dNeL|MDDiZe`bu5&z^ERZBDf=^0~J zK>o1~=)V?QNG$7{4@NpC{;Uo5_V)hV7XG;o{@E4&!Vi*+c>c8xabr6F?HhGyMY_1M z{>2dfs15$T5BcsQV^%X?R61!~JBWa8eR5u#n2qY`=H zGy3}aA^8LW002J#EC2ui01p5W000KPz@IQu(}*x4m?a`?qA2CKutOcyc$@0pur(ud<#{tYjDPS2?2ND4s6&@=&ASnk2JUoQ~kscEh zIT#cY5^EFzdpi>s3k?VXsHg&n9;6Ek4+ty*1strS3k47k2qQEcKEcAm0{|l^AQK)w zJ+9;`pAi4@98^Usab`-ndlX_< zIGL4-{=yIbsSWYC5&otPK{zJ*?;zyk;ag2FUQ#yx#}NM16w!+j{;dt&+}i%x760iO z{=N_X-4_4t8~(WtYEmr!!1&vheGq84eZn%Wm`dq zer)x~6Xn-9vYIZ<%g0SbFHuD?#KOImbRXBsFxI3Ld2U&KbYH-l7ytkIOFk+8|Nj60 z0Q&m+A^8LW002J#EC2ui01p5Y000Kaz@M-rK#)WVgh0srok*{U!LwPxSQ+LbB{fV# zBh7%a_z@^w?fCQ#safIJ~QfIB<`GJb?UhIl57JRb)l9gBt< zmOKCl6dIVGZWRn4ngBd9E&-|mqN4x+7$`G2Iu*7I3AwNh4GAqYA`HSDJ;fNj4Nk%w1VG{rn0M$PL{<{y4%7L|(BmUSF{;Ca+(t>7LHvY2?{-g}y^WFdQ z9D8+bnr#|IIw#wd5k#GqQ%EvaMlJUC_K)3!{>c%K;f6Vpk#%TAy126c=o$az82RoZ z|Lq(8!4HqvgNT4`K0Z5}n2k$7F5&p!>gnk2?(Nmo(Qjiz?bRLbnGW3B*kV^c?y3-& zgG1=Q7JYMH{@@qz@bAmy<4Hw3=F~Y{P&w)8=arCrl8t+FWIcXfCxKig-tgY=yb=Ha z0Q&m+A^8LW002J#EC2ui022Tb000KVz@Jbkxm^r7!wDxDI)$bSZKL31P=b}|DGar! zifRTna2Y~F-!E1Jhcg;7rPnC^)V{plXNB$cLOwDhgoHjCJ_(8mJQiwq4-*xWlRh2= z1p%6lfsqq=6Q7uQn~ye@9;qHa6h4}-J~2ZOe;oh-e-KU|0v*1$2L}Yh2n-)iCI+_v z!NSA{5h_nF49o|52-yrTTqO-G!OsXObzDC-4Gshm>@?gJ2mn0Ll_`4 QATaRbvH-*ac|iaGJ3}Y7Jpcdz literal 0 HcmV?d00001 diff --git a/phpBB/images/smilies/icon_e_wink.gif b/phpBB/images/smilies/icon_e_wink.gif new file mode 100644 index 0000000000000000000000000000000000000000..1957f24eac3eb079076791d68f52a558b4cad76b GIT binary patch literal 413 zcmV;O0b>3~Nk%w1VGjTi0M$PLwU#63zZPX!G@5W5{?ZfvqzwMb5dZQV*NhSWO3}&n+79no;onlfz#*#9;YTLCOsS) z4OJ!}ApK?wX{q#0LE0xAg!D=UURJ`NBN z6dM^45o;N6i4YSC6bl5Wr+kT{3JMnsHGF-c6DbS~78EG}5{Z_h3_c$P10p8^4!^Cz zAHx(fKO+O8DU`wm#3Mo|7dXq!*cNk5CKoIW-~|X5CQU*n4>mgpE<7Ra?oA#eH#r{p HK>z?d2m+=N literal 0 HcmV?d00001 diff --git a/phpBB/images/smilies/icon_frown.gif b/phpBB/images/smilies/icon_frown.gif deleted file mode 100644 index d2ac78c04bd1f50059ce9c1fa9534dcee2195579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmZ?wbhEHbaoDCD!-THXQ zaD}Q`!Ef~@t%4VS^H`jpHe@qRnmW&T1rN_M_11z^Th4v=m-`t@{9)jl*%hj`aoDCD!-THXQ zaD}Q`!Ef~@t%4VS^H`jpHe@qRnmW&T1rN_M_11z^Th4v=m-`t@{9)jl*%hj`3F2nzSlmGt}{tp7jjg5`} z|9}1eDNqRrDE?$&WMJT9&;fBkW-zcsU+|R7ntLO3**QsZu>uaJIn9DTj_MrhAC|2y zn^DM@#l<(@zDcWq`B+oyDaGR~0+SdoFXD`_(PqAxy<2o0Q>0^(jhH~$tb+>(~Mkip?iSJVUa9D@n#Zhbsv zutHU>;J1F0R>6zE2`tV}8xE^#?@bGklrZsUYAp!;dbG*vY{CM88Jk-qvwbqQUtQFY Pm?x1IA$CiJiNP8Goi0B( diff --git a/phpBB/includes/acp/acp_icons.php b/phpBB/includes/acp/acp_icons.php index 801b61112f..66bc377490 100644 --- a/phpBB/includes/acp/acp_icons.php +++ b/phpBB/includes/acp/acp_icons.php @@ -101,7 +101,49 @@ class acp_icons case 'add': - $order_list = ''; + $smilies = $default_row = array(); + $smiley_options = $order_list = $add_order_list = ''; + + if ($action == 'add' && $mode == 'smilies') + { + $sql = 'SELECT * + FROM ' . SMILIES_TABLE . ' + ORDER BY smiley_order'; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + if (empty($smilies[$row['smiley_url']])) + { + $smilies[$row['smiley_url']] = $row; + } + } + $db->sql_freeresult($result); + + if (sizeof($smilies)) + { + foreach ($smilies as $row) + { + $selected = false; + + if (!$smiley_options) + { + $selected = true; + $default_row = $row; + } + $smiley_options .= ''; + + $template->assign_block_vars('smile', array( + 'SMILEY_URL' => addslashes($row['smiley_url']), + 'CODE' => addslashes($row['code']), + 'EMOTION' => addslashes($row['emotion']), + 'WIDTH' => $row['smiley_width'], + 'HEIGHT' => $row['smiley_height'], + 'ORDER' => $row['smiley_order'] + 1, + )); + } + } + } $sql = "SELECT * FROM $table @@ -137,6 +179,11 @@ class acp_icons $after_txt = ($mode == 'smilies') ? $row['code'] : $row['icons_url']; $order_list = '' . $order_list; + + if (!empty($default_row)) + { + $add_order_list = '' . $add_order_list; + } } } $db->sql_freeresult($result); @@ -166,14 +213,14 @@ class acp_icons 'L_WIDTH' => $user->lang[$lang . '_WIDTH'], 'L_HEIGHT' => $user->lang[$lang . '_HEIGHT'], 'L_ORDER' => $user->lang[$lang . '_ORDER'], + 'L_NO_ICONS' => $user->lang['NO_' . $lang . '_' . strtoupper($action)], 'COLSPAN' => $colspan, 'ID' => $icon_id, 'U_BACK' => $this->u_action, 'U_ACTION' => $this->u_action . '&action=' . (($action == 'add') ? 'create' : 'modify'), - ) - ); + )); foreach ($data as $img => $img_row) { @@ -188,8 +235,28 @@ class acp_icons 'ID' => (isset($img_row[$fields . '_id'])) ? $img_row[$fields . '_id'] : 0, 'WIDTH' => (!empty($img_row[$fields .'_width'])) ? $img_row[$fields .'_width'] : $img_row['width'], 'HEIGHT' => (!empty($img_row[$fields .'_height'])) ? $img_row[$fields .'_height'] : $img_row['height'], - 'POSTING_CHECKED' => (!empty($img_row['display_on_posting']) || $action == 'add') ? ' checked="checked"' : '') - ); + 'POSTING_CHECKED' => (!empty($img_row['display_on_posting']) || $action == 'add') ? ' checked="checked"' : '', + )); + } + + // Ok, another row for adding an addition code for a pre-existing image... + if ($action == 'add' && $mode == 'smilies' && sizeof($smilies)) + { + $template->assign_vars(array( + 'S_ADD_CODE' => true, + + 'S_IMG_OPTIONS' => $smiley_options, + 'S_ADD_ORDER_LIST' => $add_order_list, + 'IMG_SRC' => $phpbb_root_path . $img_path . '/' . $default_row['smiley_url'], + 'IMG_PATH' => $img_path, + 'PHPBB_ROOT_PATH' => $phpbb_root_path, + + 'CODE' => $default_row['code'], + 'EMOTION' => $default_row['emotion'], + + 'WIDTH' => $default_row['smiley_width'], + 'HEIGHT' => $default_row['smiley_height'], + )); } return; @@ -212,6 +279,32 @@ class acp_icons $image_code = request_var('code', array('' => '')); $image_display_on_posting = (isset($_POST['display_on_posting'])) ? request_var('display_on_posting', array('' => 0)) : array(); + // Ok, add the relevant bits if we are adding new codes to existing emoticons... + if (!empty($_POST['add_additional_code'])) + { + $add_image = request_var('add_image', ''); + $add_code = request_var('add_code', ''); + $add_emotion = request_var('add_emotion', '', true); + + if ($add_image && $add_emotion && $add_code) + { + $images[] = $add_image; + $image_add[$add_image] = true; + + $image_code[$add_image] = $add_code; + $image_emotion[$add_image] = $add_emotion; + $image_width[$add_image] = request_var('add_width', 0); + $image_height[$add_image] = request_var('add_height', 0); + + if (!empty($_POST['add_display_on_posting'])) + { + $image_display_on_posting[$add_image] = 1; + } + + $image_order[$add_image] = request_var('add_order', 0); + } + } + foreach ($images as $image) { if (($mode == 'smilies' && ($image_emotion[$image] == '' || $image_code[$image] == '')) || diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index becd792388..bea1c7397b 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -64,9 +64,19 @@ function generate_smilies($mode, $forum_id) ORDER BY smiley_order'; $result = $db->sql_query($sql, 3600); + $smilies = array(); while ($row = $db->sql_fetchrow($result)) { - if ($row['smiley_url'] !== $last_url) + if (empty($smilies[$row['smiley_url']])) + { + $smilies[$row['smiley_url']] = $row; + } + } + $db->sql_freeresult($result); + + if (sizeof($smilies)) + { + foreach ($smilies as $row) { $template->assign_block_vars('smiley', array( 'SMILEY_CODE' => $row['code'], @@ -77,9 +87,7 @@ function generate_smilies($mode, $forum_id) 'SMILEY_DESC' => $row['emotion']) ); } - $last_url = $row['smiley_url']; } - $db->sql_freeresult($result); if ($mode == 'inline' && $display_link) { diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index 7268145932..b59288a1b8 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -622,30 +622,48 @@ INSERT INTO phpbb_posts (topic_id, forum_id, poster_id, icon_id, post_time, post INSERT INTO phpbb_topics_posted (user_id, topic_id, topic_posted) VALUES (2, 1, 1); # -- Smilies -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':D', 'icon_biggrin.gif', 'Very Happy', 15, 15, 1); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':)', 'icon_smile.gif', 'Smile', 15, 15, 2); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':(', 'icon_sad.gif', 'Sad', 15, 15, 3); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':o', 'icon_surprised.gif', 'Surprised', 15, 15, 4); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':eek:', 'icon_surprised.gif', 'Surprised', 15, 15, 4); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES ('8O', 'icon_eek.gif', 'Shocked', 15, 15, 5); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':?', 'icon_confused.gif', 'Confused', 15, 15, 6); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES ('8)', 'icon_cool.gif', 'Cool', 15, 15, 7); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':lol:', 'icon_lol.gif', 'Laughing', 15, 15, 8); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':x', 'icon_mad.gif', 'Mad', 15, 15, 9); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':P', 'icon_razz.gif', 'Razz', 15, 15, 10); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':oops:', 'icon_redface.gif', 'Embarassed', 15, 15, 11); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':cry:', 'icon_cry.gif', 'Crying or Very sad', 15, 15, 12); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':evil:', 'icon_evil.gif', 'Evil or Very Mad', 15, 15, 13); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':twisted:', 'icon_twisted.gif', 'Twisted Evil', 15, 15, 14); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':roll:', 'icon_rolleyes.gif', 'Rolling Eyes', 15, 15, 15); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (';)', 'icon_wink.gif', 'Wink', 15, 15, 16); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':!:', 'icon_exclaim.gif', 'Exclamation', 15, 15, 17); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':?:', 'icon_question.gif', 'Question', 15, 15, 18); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':idea:', 'icon_idea.gif', 'Idea', 15, 15, 19); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':arrow:', 'icon_arrow.gif', 'Arrow', 15, 15, 20); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':|', 'icon_neutral.gif', 'Neutral', 15, 15, 21); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':mrgreen:', 'icon_mrgreen.gif', 'Mr. Green', 15, 15, 22); - +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':D', 'icon_e_biggrin.gif', 'Very Happy', 15, 17, 1); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':-D', 'icon_e_biggrin.gif', 'Very Happy', 15, 17, 2); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':grin:', 'icon_e_biggrin.gif', 'Very Happy', 15, 17, 3); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':)', 'icon_e_smile.gif', 'Smile', 15, 17, 4); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':-)', 'icon_e_smile.gif', 'Smile', 15, 17, 5); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':smile:', 'icon_e_smile.gif', 'Smile', 15, 17, 6); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (';)', 'icon_e_wink.gif', 'Wink', 15, 17, 7); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (';-)', 'icon_e_wink.gif', 'Wink', 15, 17, 8); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':wink:', 'icon_e_wink.gif', 'Wink', 15, 17, 9); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':(', 'icon_e_sad.gif', 'Sad', 15, 17, 10); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':-(', 'icon_e_sad.gif', 'Sad', 15, 17, 11); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':sad:', 'icon_e_sad.gif', 'Sad', 15, 17, 12); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':o', 'icon_e_surprised.gif', 'Surprised', 15, 17, 13); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':-o', 'icon_e_surprised.gif', 'Surprised', 15, 17, 14); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':eek:', 'icon_e_surprised.gif', 'Surprised', 15, 17, 15); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':shock:', 'icon_eek.gif', 'Shocked', 15, 15, 16); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':?', 'icon_e_confused.gif', 'Confused', 15, 17, 17); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':-?', 'icon_e_confused.gif', 'Confused', 15, 17, 18); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':???:', 'icon_e_confused.gif', 'Confused', 15, 17, 19); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES ('8-)', 'icon_cool.gif', 'Cool', 15, 15, 20); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':cool:', 'icon_cool.gif', 'Cool', 15, 15, 21); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':lol:', 'icon_lol.gif', 'Laughing', 15, 15, 22); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':x', 'icon_mad.gif', 'Mad', 15, 15, 23); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':-x', 'icon_mad.gif', 'Mad', 15, 15, 24); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':mad:', 'icon_mad.gif', 'Mad', 15, 15, 25); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':P', 'icon_razz.gif', 'Razz', 15, 15, 26); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':-P', 'icon_razz.gif', 'Razz', 15, 15, 27); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':razz:', 'icon_razz.gif', 'Razz', 15, 15, 28); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':oops:', 'icon_redface.gif', 'Embarassed', 15, 15, 29); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':cry:', 'icon_cry.gif', 'Crying or Very sad', 15, 15, 30); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':evil:', 'icon_evil.gif', 'Evil or Very Mad', 15, 15, 31); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':twisted:', 'icon_twisted.gif', 'Twisted Evil', 15, 15, 32); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':roll:', 'icon_rolleyes.gif', 'Rolling Eyes', 15, 15, 33); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':!:', 'icon_exclaim.gif', 'Exclamation', 15, 15, 34); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':?:', 'icon_question.gif', 'Question', 15, 15, 35); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':idea:', 'icon_idea.gif', 'Idea', 15, 15, 36); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':arrow:', 'icon_arrow.gif', 'Arrow', 15, 15, 37); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':|', 'icon_neutral.gif', 'Neutral', 15, 15, 38); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':-|', 'icon_neutral.gif', 'Neutral', 15, 15, 39); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':mrgreen:', 'icon_mrgreen.gif', 'Mr. Green', 15, 15, 40); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':geek:', 'icon_e_geek.gif', 'Geek', 15, 17, 41); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':ugeek:', 'icon_e_ugeek.gif', 'Uber Geek', 15, 17, 42); # -- icons INSERT INTO phpbb_icons (icons_url, icons_width, icons_height, icons_order, display_on_posting) VALUES ('misc/fire.gif', 16, 16, 1, 1); diff --git a/phpBB/language/en/acp/posting.php b/phpBB/language/en/acp/posting.php index 9dc6281a1e..aa319ddb94 100644 --- a/phpBB/language/en/acp/posting.php +++ b/phpBB/language/en/acp/posting.php @@ -79,6 +79,7 @@ $lang = array_merge($lang, array( 'ACP_ICONS_EXPLAIN' => 'From this page you can add, remove and edit the icons users may add to their topics or posts. These icons are generally displayed next to topic titles on the forum listing, or the post subjects in topic listings. You can also install and create new packages of icons.', 'ACP_SMILIES_EXPLAIN' => 'Smilies or emoticons are typically small, sometimes animated images used to convey an emotion or feeling. From this page you can add, remove and edit the emoticons users can use in their posts and private messages. You can also install and create new packages of smilies.', 'ADD_SMILIES' => 'Add multiple smilies', + 'ADD_SMILEY_CODE' => 'Add additional smiley code', 'ADD_ICONS' => 'Add multiple icons', 'AFTER_ICONS' => 'After %s', 'AFTER_SMILIES' => 'After %s', @@ -123,8 +124,12 @@ $lang = array_merge($lang, array( 'MASS_ADD_SMILIES' => 'Add multiple smilies', + 'NO_ICONS_ADD' => 'There are no icons available for adding.', + 'NO_ICONS_EDIT' => 'There are no icons available for modifying.', 'NO_ICONS_EXPORT' => 'You have no icons with which to create a package.', 'NO_ICONS_PAK' => 'No icon packages found.', + 'NO_SMILIES_ADD' => 'There are no smilies available for adding.', + 'NO_SMILIES_EDIT' => 'There are no smilies available for modifying.', 'NO_SMILIES_EXPORT' => 'You have no smilies with which to create a package.', 'NO_SMILIES_PAK' => 'No smiley packages found.', From a2c81d763fa2e591bf3aa8f48ffeed4beb363975 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 17 May 2007 13:01:17 +0000 Subject: [PATCH 665/707] #11046 - properly show load button. git-svn-id: file:///svn/phpbb/trunk@7615 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_posting.php | 13 ++++++++++--- phpBB/posting.php | 6 +++--- phpBB/styles/prosilver/template/posting_editor.html | 2 ++ phpBB/styles/prosilver/template/posting_layout.html | 1 + .../styles/prosilver/template/ucp_main_drafts.html | 2 +- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index bea1c7397b..9fe27fdd1a 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -844,13 +844,20 @@ function load_drafts($topic_id = 0, $forum_id = 0, $id = 0) $link_topic = $link_forum = $link_pm = false; $insert_url = $view_url = $title = ''; - if (isset($topic_rows[$draft['topic_id']]) && $auth->acl_get('f_read', $topic_rows[$draft['topic_id']]['forum_id'])) + if (isset($topic_rows[$draft['topic_id']]) + && ( + ($topic_rows[$draft['topic_id']]['forum_id'] && $auth->acl_get('f_read', $topic_rows[$draft['topic_id']]['forum_id'])) + || + (!$topic_rows[$draft['topic_id']]['forum_id'] && $auth->acl_getf_global('f_read')) + )) { + $topic_forum_id = ($topic_rows[$draft['topic_id']]['forum_id']) ? $topic_rows[$draft['topic_id']]['forum_id'] : $forum_id; + $link_topic = true; - $view_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $topic_rows[$draft['topic_id']]['forum_id'] . '&t=' . $draft['topic_id']); + $view_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $topic_forum_id . '&t=' . $draft['topic_id']); $title = $topic_rows[$draft['topic_id']]['topic_title']; - $insert_url = append_sid("{$phpbb_root_path}posting.$phpEx", 'f=' . $topic_rows[$draft['topic_id']]['forum_id'] . '&t=' . $draft['topic_id'] . '&mode=reply&d=' . $draft['draft_id']); + $insert_url = append_sid("{$phpbb_root_path}posting.$phpEx", 'f=' . $topic_forum_id . '&t=' . $draft['topic_id'] . '&mode=reply&d=' . $draft['draft_id']); } else if ($draft['forum_id'] && $auth->acl_get('f_read', $draft['forum_id'])) { diff --git a/phpBB/posting.php b/phpBB/posting.php index c14cde21d4..77f8aa720d 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -412,9 +412,9 @@ if ($user->data['is_registered'] && $auth->acl_get('u_savedrafts') && ($mode == { $sql = 'SELECT draft_id FROM ' . DRAFTS_TABLE . ' - WHERE (forum_id IN (' . $forum_id . ', 0)' . (($topic_id) ? " OR topic_id = $topic_id" : '') . ') - AND (forum_id <> 0 AND topic_id <> 0) - AND user_id = ' . $user->data['user_id'] . + WHERE user_id = ' . $user->data['user_id'] . + (($forum_id) ? ' AND forum_id = ' . (int) $forum_id : '') . + (($topic_id) ? ' AND topic_id = ' . (int) $topic_id : '') . (($draft_id) ? " AND draft_id <> $draft_id" : ''); $result = $db->sql_query_limit($sql, 1); diff --git a/phpBB/styles/prosilver/template/posting_editor.html b/phpBB/styles/prosilver/template/posting_editor.html index e13941003c..578f80c892 100644 --- a/phpBB/styles/prosilver/template/posting_editor.html +++ b/phpBB/styles/prosilver/template/posting_editor.html @@ -141,8 +141,10 @@ + +
    diff --git a/phpBB/styles/prosilver/template/posting_layout.html b/phpBB/styles/prosilver/template/posting_layout.html index ed7733852a..b5c5e7dcfd 100644 --- a/phpBB/styles/prosilver/template/posting_layout.html +++ b/phpBB/styles/prosilver/template/posting_layout.html @@ -22,6 +22,7 @@
    +
    diff --git a/phpBB/styles/prosilver/template/ucp_main_drafts.html b/phpBB/styles/prosilver/template/ucp_main_drafts.html index 80805b69f0..b60e478ce3 100644 --- a/phpBB/styles/prosilver/template/ucp_main_drafts.html +++ b/phpBB/styles/prosilver/template/ucp_main_drafts.html @@ -44,7 +44,7 @@ {L_NO_TOPIC_FORUM} -
    {draftrow.DATE}
    {L_LOAD_DRAFT}{L_VIEW_EDIT}
    +
    {draftrow.DATE}
    {L_LOAD_DRAFT}{L_VIEW_EDIT}
  • From fbd741606055ed75c0ff1bc2a110d880cad4cbd4 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 17 May 2007 13:23:13 +0000 Subject: [PATCH 666/707] #11074 - only process and check (as well as display) images if the category also matches. ;) git-svn-id: file:///svn/phpbb/trunk@7616 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/download.php | 16 +++++++++++++--- phpBB/includes/functions.php | 4 +++- phpBB/includes/functions_posting.php | 6 +++++- phpBB/includes/functions_upload.php | 4 ++-- phpBB/includes/functions_user.php | 1 + 5 files changed, 24 insertions(+), 7 deletions(-) diff --git a/phpBB/download.php b/phpBB/download.php index ff4b1660cc..c1f28c080f 100644 --- a/phpBB/download.php +++ b/phpBB/download.php @@ -214,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']; @@ -227,7 +237,7 @@ else if (($display_cat == ATTACHMENT_CATEGORY_NONE || $display_cat == ATTACHMENT $db->sql_query($sql); } -if ($mode === 'view' && (strpos($attachment['mimetype'], 'image') === 0) && strpos(strtolower($user->browser), 'msie') !== false) +if ($display_cat == ATTACHMENT_CATEGORY_IMAGE && $mode === 'view' && (strpos($attachment['mimetype'], 'image') === 0) && strpos(strtolower($user->browser), 'msie') !== false) { wrap_img_in_html(append_sid('./download.' . $phpEx, 'id=' . $attachment['attach_id']), $attachment['real_filename']); } @@ -247,7 +257,7 @@ else } else { - send_file_to_browser($attachment, $config['upload_path'], $extensions[$attachment['extension']]['display_cat']); + send_file_to_browser($attachment, $config['upload_path'], $display_cat); exit; } } @@ -358,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'; } diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 922c85d06d..4f4ecb5117 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2987,7 +2987,7 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count, $display_cat = ATTACHMENT_CATEGORY_NONE; } - $download_link = append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $attachment['attach_id'] . '&mode=view'); + $download_link = append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $attachment['attach_id']); switch ($display_cat) { @@ -2995,6 +2995,7 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count, case ATTACHMENT_CATEGORY_IMAGE: $l_downloaded_viewed = 'VIEWED_COUNT'; $inline_link = append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $attachment['attach_id']); + $download_link .= '&mode=view'; $block_array += array( 'S_IMAGE' => true, @@ -3008,6 +3009,7 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count, case ATTACHMENT_CATEGORY_THUMB: $l_downloaded_viewed = 'VIEWED_COUNT'; $thumbnail_link = append_sid("{$phpbb_root_path}download.$phpEx", 'id=' . $attachment['attach_id'] . '&t=1'); + $download_link = '&mode=view'; $block_array += array( 'S_THUMBNAIL' => true, diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index 9fe27fdd1a..d75a548d1b 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -408,7 +408,11 @@ function upload_attachment($form_name, $forum_id, $local = false, $local_storage } $file->clean_filename('unique', $user->data['user_id'] . '_'); - $file->move_file($config['upload_path']); + + // Are we uploading an image *and* this image being within the image category? Only then perform additional image checks. + $no_image = ($cat_id == ATTACHMENT_CATEGORY_IMAGE) ? false : true; + + $file->move_file($config['upload_path'], false, $no_image); if (sizeof($file->error)) { diff --git a/phpBB/includes/functions_upload.php b/phpBB/includes/functions_upload.php index 93254a0d08..93b809f296 100644 --- a/phpBB/includes/functions_upload.php +++ b/phpBB/includes/functions_upload.php @@ -230,7 +230,7 @@ class filespec * @param octal $chmod Permission mask for chmodding the file after a successful move * @access public */ - function move_file($destination, $overwrite = false, $chmod = 0666) + function move_file($destination, $overwrite = false, $skip_image_check = false, $chmod = 0666) { global $user, $phpbb_root_path; @@ -315,7 +315,7 @@ class filespec // Try to get real filesize from destination folder $this->filesize = (@filesize($this->destination_file)) ? @filesize($this->destination_file) : $this->filesize; - if ($this->is_image()) + if ($this->is_image() && !$skip_image_check) { $this->width = $this->height = 0; diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 3da49026c9..a53577d68d 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -1853,6 +1853,7 @@ function avatar_get_dimensions($avatar, $avatar_type, &$error, $current_x = 0, $ $avatar = $phpbb_root_path . $config['avatar_gallery_path'] . '/' . $avatar ; break; } + // Make sure getimagesize works... if (($image_data = @getimagesize($avatar)) === false) { From 1ade9361894fe686e155f9b026dff6d5818f0538 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Thu, 17 May 2007 14:10:32 +0000 Subject: [PATCH 667/707] #10946 git-svn-id: file:///svn/phpbb/trunk@7617 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/language/en/help_bbcode.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/language/en/help_bbcode.php b/phpBB/language/en/help_bbcode.php index fb1caebd28..3f8d6875ca 100644 --- a/phpBB/language/en/help_bbcode.php +++ b/phpBB/language/en/help_bbcode.php @@ -60,7 +60,7 @@ $help = array( ), array( 0 => 'Outputting code or fixed width data', - 1 => 'If you want to output a piece of code or in fact anything that requires a fixed width, eg. Courier type font you should enclose the text in [code][/code] tags, eg.

    [code]echo "This is some code";[/code]

    All formatting used within [code][/code] tags is retained when you later view it.' + 1 => 'If you want to output a piece of code or in fact anything that requires a fixed width, eg. Courier type font you should enclose the text in [code][/code] tags, eg.

    [code]echo "This is some code";[/code]

    All formatting used within [code][/code] tags is retained when you later view it. PHP syntax highlighting can be enabled using [code=php][/code] and is recommended when posting PHP code samples as it improves readability.' ), array( 0 => '--', From 929fa966708a022ec329e015f89b78c7894e7ff6 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 17 May 2007 14:12:20 +0000 Subject: [PATCH 668/707] no duplication of icons... git-svn-id: file:///svn/phpbb/trunk@7618 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_styles.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php index 4721b09e73..270095b647 100644 --- a/phpBB/includes/acp/acp_styles.php +++ b/phpBB/includes/acp/acp_styles.php @@ -99,7 +99,7 @@ parse_css_file = {PARSE_CSS_FILE} 'forum_link', 'forum_read', 'forum_read_locked', 'forum_read_subforum', 'forum_unread', 'forum_unread_locked', 'forum_unread_subforum', 'subforum_read', 'subforum_unread' ), 'folders' => array( - 'topic_moved', 'topic_read', 'topic_read_mine', 'topic_read_hot', 'topic_read_hot_mine', 'topic_read_locked', 'topic_read_locked_mine', 'topic_unread', 'topic_unread_mine', 'topic_unread_hot', 'topic_unread_hot_mine', 'topic_unread_locked', 'topic_unread_locked_mine', 'sticky_read', 'sticky_read_mine', 'sticky_read_locked', 'sticky_read_locked_mine', 'sticky_unread', 'sticky_unread_mine', 'sticky_unread_locked', 'sticky_unread_locked_mine', 'announce_read', 'announce_read_mine', 'announce_read_locked', 'announce_read_locked_mine', 'announce_unread', 'announce_unread_mine', 'announce_unread_locked', 'announce_unread_locked_mine', 'global_read', 'global_read_mine', 'global_read_locked', 'global_read_locked_mine', 'global_unread', 'global_unread_mine', 'global_unread_locked', 'global_unread_locked_mine', 'subforum_read', 'subforum_unread', 'pm_read', 'pm_unread', + 'topic_moved', 'topic_read', 'topic_read_mine', 'topic_read_hot', 'topic_read_hot_mine', 'topic_read_locked', 'topic_read_locked_mine', 'topic_unread', 'topic_unread_mine', 'topic_unread_hot', 'topic_unread_hot_mine', 'topic_unread_locked', 'topic_unread_locked_mine', 'sticky_read', 'sticky_read_mine', 'sticky_read_locked', 'sticky_read_locked_mine', 'sticky_unread', 'sticky_unread_mine', 'sticky_unread_locked', 'sticky_unread_locked_mine', 'announce_read', 'announce_read_mine', 'announce_read_locked', 'announce_read_locked_mine', 'announce_unread', 'announce_unread_mine', 'announce_unread_locked', 'announce_unread_locked_mine', 'global_read', 'global_read_mine', 'global_read_locked', 'global_read_locked_mine', 'global_unread', 'global_unread_mine', 'global_unread_locked', 'global_unread_locked_mine', 'pm_read', 'pm_unread', ), 'polls' => array( 'poll_left', 'poll_center', 'poll_right', From c0caf7652fb699ec38488df6f52f354534dd22d1 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 17 May 2007 14:59:33 +0000 Subject: [PATCH 669/707] Fixing some tiny bugs... - correctly close span tags within code=php git-svn-id: file:///svn/phpbb/trunk@7619 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/acp_attachments.html | 6 ++++-- phpBB/adm/style/acp_styles.html | 1 + phpBB/includes/mcp/mcp_forum.php | 6 +++--- phpBB/includes/mcp/mcp_queue.php | 6 ++++-- phpBB/includes/mcp/mcp_topic.php | 5 ++--- phpBB/includes/message_parser.php | 2 +- phpBB/install/schemas/schema_data.sql | 2 +- phpBB/language/en/acp/attachments.php | 4 +++- phpBB/language/en/acp/ban.php | 4 ++-- phpBB/language/en/acp/groups.php | 2 +- phpBB/language/en/install.php | 2 +- phpBB/language/en/posting.php | 1 + phpBB/styles/prosilver/template/index_body.html | 4 +++- phpBB/styles/prosilver/template/mcp_forum.html | 8 ++++---- phpBB/styles/prosilver/template/mcp_queue.html | 4 ++-- phpBB/styles/prosilver/template/mcp_topic.html | 4 ++-- phpBB/styles/prosilver/template/overall_header.html | 2 +- phpBB/styles/prosilver/template/posting_pm_layout.html | 2 +- phpBB/styles/subsilver2/template/mcp_footer.html | 2 +- phpBB/styles/subsilver2/template/posting_body.html | 2 +- 20 files changed, 39 insertions(+), 30 deletions(-) diff --git a/phpBB/adm/style/acp_attachments.html b/phpBB/adm/style/acp_attachments.html index 7d2b2c60b1..cee60b4185 100644 --- a/phpBB/adm/style/acp_attachments.html +++ b/phpBB/adm/style/acp_attachments.html @@ -243,8 +243,10 @@ {groups.GROUP_NAME} -
    » {L_NOT_ALLOWED_IN_PM} -
    » {L_ONLY_ALLOWED_IN_PM} +
    » {L_NOT_ALLOWED_IN_PM} +
    » {L_ONLY_ALLOWED_IN_PM} +
    » {L_NOT_ALLOWED_IN_PM_POST} +
    » {L_ALLOWED_IN_PM_POST} {groups.CATEGORY}  {ICON_EDIT}  {ICON_DELETE}  diff --git a/phpBB/adm/style/acp_styles.html b/phpBB/adm/style/acp_styles.html index 47efd249ec..2b067cb292 100644 --- a/phpBB/adm/style/acp_styles.html +++ b/phpBB/adm/style/acp_styles.html @@ -384,6 +384,7 @@ | {L_PREVIEW} + {L_UNINSTALLED} diff --git a/phpBB/includes/mcp/mcp_forum.php b/phpBB/includes/mcp/mcp_forum.php index b35bfde649..4387e02739 100644 --- a/phpBB/includes/mcp/mcp_forum.php +++ b/phpBB/includes/mcp/mcp_forum.php @@ -16,7 +16,7 @@ function mcp_forum_view($id, $mode, $action, $forum_info) global $template, $db, $user, $auth, $cache, $module; global $phpEx, $phpbb_root_path, $config; - $user->add_lang('viewtopic'); + $user->add_lang(array('viewtopic', 'viewforum')); include_once($phpbb_root_path . 'includes/functions_display.' . $phpEx); @@ -120,8 +120,8 @@ function mcp_forum_view($id, $mode, $action, $forum_info) 'PAGINATION' => generate_pagination($url . "&i=$id&action=$action&mode=$mode" . (($merge_select) ? $selected_ids : ''), $forum_topics, $topics_per_page, $start), 'PAGE_NUMBER' => on_page($forum_topics, $topics_per_page, $start), - 'TOTAL' => $forum_topics) - ); + 'TOTAL_TOPICS' => ($forum_topics == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $forum_topics), + )); // Grab icons $icons = $cache->obtain_icons(); diff --git a/phpBB/includes/mcp/mcp_queue.php b/phpBB/includes/mcp/mcp_queue.php index 05f143a9c3..d5b4f8d422 100644 --- a/phpBB/includes/mcp/mcp_queue.php +++ b/phpBB/includes/mcp/mcp_queue.php @@ -173,6 +173,8 @@ class mcp_queue case 'unapproved_topics': case 'unapproved_posts': + $user->add_lang(array('viewtopic', 'viewforum')); + $topic_id = request_var('t', 0); $forum_info = array(); @@ -385,8 +387,8 @@ class mcp_queue 'PAGINATION' => generate_pagination($this->u_action . "&f=$forum_id&st=$sort_days&sk=$sort_key&sd=$sort_dir", $total, $config['topics_per_page'], $start), 'PAGE_NUMBER' => on_page($total, $config['topics_per_page'], $start), 'TOPIC_ID' => $topic_id, - 'TOTAL' => $total) - ); + 'TOTAL' => ($total == 1) ? (($mode == 'unapproved_posts') ? $user->lang['VIEW_TOPIC_POST'] : $user->lang['VIEW_FORUM_TOPIC']) : sprintf((($mode == 'unapproved_posts') ? $user->lang['VIEW_TOPIC_POSTS'] : $user->lang['VIEW_FORUM_TOPICS']), $total), + )); $this->tpl_name = 'mcp_queue'; break; diff --git a/phpBB/includes/mcp/mcp_topic.php b/phpBB/includes/mcp/mcp_topic.php index 0ed6c05f88..3c49477ca2 100644 --- a/phpBB/includes/mcp/mcp_topic.php +++ b/phpBB/includes/mcp/mcp_topic.php @@ -137,7 +137,6 @@ function mcp_topic_view($id, $mode, $action) foreach ($rowset as $i => $row) { - $message = $row['post_text']; $post_subject = ($row['post_subject'] != '') ? $row['post_subject'] : $topic_info['topic_title']; $message = str_replace("\n", '
    ', $message); @@ -247,8 +246,8 @@ function mcp_topic_view($id, $mode, $action) 'PAGE_NUMBER' => on_page($total, $posts_per_page, $start), 'PAGINATION' => (!$posts_per_page) ? '' : generate_pagination(append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&t={$topic_info['topic_id']}&mode=$mode&action=$action&to_topic_id=$to_topic_id&posts_per_page=$posts_per_page&st=$sort_days&sk=$sort_key&sd=$sort_dir"), $total, $posts_per_page, $start), - 'TOTAL' => $total) - ); + 'TOTAL_POSTS' => ($total == 1) ? $user->lang['VIEW_TOPIC_POST'] : sprintf($user->lang['VIEW_TOPIC_POSTS'], $total), + )); } /** diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php index 532bc057ab..0969603999 100644 --- a/phpBB/includes/message_parser.php +++ b/phpBB/includes/message_parser.php @@ -404,7 +404,7 @@ class bbcode_firstpass extends bbcode if ($remove_tags) { - $code = preg_replace('#()?\?>#', '', $code); + $code = preg_replace('#()?\?>()#', '$1 $2', $code); } $code = preg_replace('#^(.*)#s', '$2', $code); diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index b59288a1b8..0eca81022f 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -650,7 +650,7 @@ INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_heigh INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':P', 'icon_razz.gif', 'Razz', 15, 15, 26); INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':-P', 'icon_razz.gif', 'Razz', 15, 15, 27); INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':razz:', 'icon_razz.gif', 'Razz', 15, 15, 28); -INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':oops:', 'icon_redface.gif', 'Embarassed', 15, 15, 29); +INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':oops:', 'icon_redface.gif', 'Embarrassed', 15, 15, 29); INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':cry:', 'icon_cry.gif', 'Crying or Very sad', 15, 15, 30); INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':evil:', 'icon_evil.gif', 'Evil or Very Mad', 15, 15, 31); INSERT INTO phpbb_smilies (code, smiley_url, emotion, smiley_width, smiley_height, smiley_order) VALUES (':twisted:', 'icon_twisted.gif', 'Twisted Evil', 15, 15, 32); diff --git a/phpBB/language/en/acp/attachments.php b/phpBB/language/en/acp/attachments.php index 08ef23aaab..b9a352960a 100644 --- a/phpBB/language/en/acp/attachments.php +++ b/phpBB/language/en/acp/attachments.php @@ -40,6 +40,7 @@ $lang = array_merge($lang, array( 'ADMIN_UPLOAD_ERROR' => 'Errors while trying to attach file: “%s”.', 'ALLOWED_FORUMS' => 'Allowed forums', 'ALLOWED_FORUMS_EXPLAIN' => 'Able to post the assigned extensions at the selected (or all if selected) forums.', + 'ALLOWED_IN_PM_POST' => 'Allowed', 'ALLOW_ATTACHMENTS' => 'Allow attachments', 'ALLOW_ALL_FORUMS' => 'Allow all forums', 'ALLOW_IN_PM' => 'Allowed in private messaging', @@ -109,7 +110,8 @@ $lang = array_merge($lang, array( 'MODE_INLINE' => 'Inline', 'MODE_PHYSICAL' => 'Physical', - 'NOT_ALLOWED_IN_PM' => 'Not allowed in private messages', + 'NOT_ALLOWED_IN_PM' => 'Only allowed in posts', + 'NOT_ALLOWED_IN_PM_POST' => 'Not allowed', 'NOT_ASSIGNED' => 'Not assigned', 'NO_EXT_GROUP' => 'None', 'NO_EXT_GROUP_NAME' => 'No group name entered', diff --git a/phpBB/language/en/acp/ban.php b/phpBB/language/en/acp/ban.php index 6bd3128bf9..7e48c19b65 100644 --- a/phpBB/language/en/acp/ban.php +++ b/phpBB/language/en/acp/ban.php @@ -36,7 +36,7 @@ $lang = array_merge($lang, array( '30_MINS' => '30 minutes', '6_HOURS' => '6 hours', - 'ACP_BAN_EXPLAIN' => 'Here you can control the banning of users by name, IP or e-mail address. These methods prevent a user reaching any part of the board. You can give a short (maximum 3000 characters) reason for the ban if you wish. This will be displayed in the admin log. The duration of a ban can also be specified. If you want the ban to end on a specific date rather than after a set time period select Until -> for the ban length and enter a date in yyyy-mm-dd format.', + 'ACP_BAN_EXPLAIN' => 'Here you can control the banning of users by name, IP or e-mail address. These methods prevent a user reaching any part of the board. You can give a short (maximum 3000 characters) reason for the ban if you wish. This will be displayed in the admin log. The duration of a ban can also be specified. If you want the ban to end on a specific date rather than after a set time period select Until -> for the ban length and enter a date in YYYY-MM-DD format.', 'BAN_EXCLUDE' => 'Exclude from banning', 'BAN_LENGTH' => 'Length of ban', @@ -59,7 +59,7 @@ $lang = array_merge($lang, array( 'IP_UNBAN' => 'Un-ban or un-exclude IPs', 'IP_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple IP addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded IPs are emphasised.', - 'LENGTH_BAN_INVALID' => 'The date has to be formated YYYY-MM-DD', + 'LENGTH_BAN_INVALID' => 'The date has to be formatted YYYY-MM-DD.', 'PERMANENT' => 'Permanent', diff --git a/phpBB/language/en/acp/groups.php b/phpBB/language/en/acp/groups.php index 95ef0444c1..c831a87981 100644 --- a/phpBB/language/en/acp/groups.php +++ b/phpBB/language/en/acp/groups.php @@ -31,7 +31,7 @@ if (empty($lang) || !is_array($lang)) // in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine $lang = array_merge($lang, array( - 'ACP_GROUPS_MANAGE_EXPLAIN' => 'From this panel you can administrate all your usergroups, you can delete, create and edit existing groups. You may choose moderators, toggle open/closed group status and set the group name and description.', + 'ACP_GROUPS_MANAGE_EXPLAIN' => 'From this panel you can administrate all your usergroups, you can delete, create and edit existing groups. You may choose group leaders, toggle open/closed group status and set the group name and description.', 'ADD_USERS' => 'Add users', 'ADD_USERS_EXPLAIN' => 'Here you can add new users to the group. You may select whether this group becomes the new default for the selected users. Additionally you can define them as group leaders. Please enter each username on a separate line.', diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index 486931fda8..765be3b6a0 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -161,7 +161,7 @@ $lang = array_merge($lang, array( 'FINAL_STEP' => 'Processing final step', 'FORUM_ADDRESS' => 'Board address', 'FORUM_ADDRESS_EXPLAIN' => 'This is the URL of your former board, for example http://www.example.com/phpBB2/. If an address is entered here and not left empty every instance of this address will be replaced by your new board address within messages, private messages and signatures.', - 'FORUM_PATH' => 'Forum path', + 'FORUM_PATH' => 'Board path', 'FORUM_PATH_EXPLAIN' => 'This is the relative path on disk to your former board from the root of your phpBB installation.', 'FOUND' => 'Found', 'FTP_CONFIG' => 'Transfer config by FTP', diff --git a/phpBB/language/en/posting.php b/phpBB/language/en/posting.php index b7cd3178ca..480a95c392 100644 --- a/phpBB/language/en/posting.php +++ b/phpBB/language/en/posting.php @@ -79,6 +79,7 @@ $lang = array_merge($lang, array( 'DISABLE_SMILIES' => 'Disable smilies', 'DISALLOWED_EXTENSION' => 'The extension %s is not allowed.', 'DRAFT_LOADED' => 'Draft loaded into posting area, you may want to finish your post now.
    Your draft will be deleted after submitting this post.', + 'DRAFT_LOADED_PM' => 'Draft loaded into message area, you may want to finish your private message now.
    Your draft will be deleted after submitting this private message.', 'DRAFT_SAVED' => 'Draft successfully saved.', 'DRAFT_TITLE' => 'Draft title', diff --git a/phpBB/styles/prosilver/template/index_body.html b/phpBB/styles/prosilver/template/index_body.html index d702e88ea4..a2888610da 100644 --- a/phpBB/styles/prosilver/template/index_body.html +++ b/phpBB/styles/prosilver/template/index_body.html @@ -4,7 +4,9 @@

    {L_MCP} ]

    diff --git a/phpBB/styles/prosilver/template/mcp_forum.html b/phpBB/styles/prosilver/template/mcp_forum.html index 86889d35ea..d05f9401ff 100644 --- a/phpBB/styles/prosilver/template/mcp_forum.html +++ b/phpBB/styles/prosilver/template/mcp_forum.html @@ -10,10 +10,10 @@
    - + @@ -70,10 +70,10 @@
    - + diff --git a/phpBB/styles/prosilver/template/mcp_queue.html b/phpBB/styles/prosilver/template/mcp_queue.html index b762c393eb..096ed8243a 100644 --- a/phpBB/styles/prosilver/template/mcp_queue.html +++ b/phpBB/styles/prosilver/template/mcp_queue.html @@ -17,7 +17,7 @@ @@ -72,7 +72,7 @@ diff --git a/phpBB/styles/prosilver/template/mcp_topic.html b/phpBB/styles/prosilver/template/mcp_topic.html index 256c83fb37..f27ab7f5d0 100644 --- a/phpBB/styles/prosilver/template/mcp_topic.html +++ b/phpBB/styles/prosilver/template/mcp_topic.html @@ -129,10 +129,10 @@ onload_functions.push('subPanels()');
    - + diff --git a/phpBB/styles/prosilver/template/overall_header.html b/phpBB/styles/prosilver/template/overall_header.html index 5404d8b4ff..bb5ca7e35b 100644 --- a/phpBB/styles/prosilver/template/overall_header.html +++ b/phpBB/styles/prosilver/template/overall_header.html @@ -106,7 +106,7 @@

    {L_SKIP}

    - + diff --git a/phpBB/styles/subsilver2/template/mcp_footer.html b/phpBB/styles/subsilver2/template/mcp_footer.html index 790c093be6..3105c15ae4 100644 --- a/phpBB/styles/subsilver2/template/mcp_footer.html +++ b/phpBB/styles/subsilver2/template/mcp_footer.html @@ -7,7 +7,7 @@ - +
     [ {TOTAL} ]  [ {TOTAL_TOPICS}{TOTAL_POSTS}{TOTAL}
    diff --git a/phpBB/styles/subsilver2/template/posting_body.html b/phpBB/styles/subsilver2/template/posting_body.html index 492bd445a7..e8d6332c9f 100644 --- a/phpBB/styles/subsilver2/template/posting_body.html +++ b/phpBB/styles/subsilver2/template/posting_body.html @@ -43,7 +43,7 @@ {L_INFORMATION} - {L_DRAFT_LOADED} + {L_DRAFT_LOADED_PM}{L_DRAFT_LOADED} From bd949d0b23879a91123136f8e1153bbb6b0e5d15 Mon Sep 17 00:00:00 2001 From: Jonathan Stanley Date: Thu, 17 May 2007 16:21:33 +0000 Subject: [PATCH 670/707] Bit more space for the i18n's string for "Mark", whatever it may be. git-svn-id: file:///svn/phpbb/trunk@7620 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/styles/prosilver/theme/content.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/styles/prosilver/theme/content.css b/phpBB/styles/prosilver/theme/content.css index 676211b72d..3360a4ef58 100644 --- a/phpBB/styles/prosilver/theme/content.css +++ b/phpBB/styles/prosilver/theme/content.css @@ -156,7 +156,7 @@ dd.extra { dd.mark { float: right !important; - width: 40px; + width: 9%; text-align: center; line-height: 200%; font-size: 1.2em; From 34fe17f758a37a698512a992b792325f3e68d22e Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 17 May 2007 16:33:52 +0000 Subject: [PATCH 671/707] so some version_compare magic. :o git-svn-id: file:///svn/phpbb/trunk@7621 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acp/acp_update.php | 3 +-- phpBB/install/database_update.php | 4 ++-- phpBB/install/install_update.php | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/phpBB/includes/acp/acp_update.php b/phpBB/includes/acp/acp_update.php index 050c547445..a1a5dbaf3a 100644 --- a/phpBB/includes/acp/acp_update.php +++ b/phpBB/includes/acp/acp_update.php @@ -40,10 +40,9 @@ class acp_update $latest_version = trim($info[0]); $announcement_url = trim($info[1]); - $update_archive_link = 'http://www.phpbb.com/files/releases/phpBB-' . $config['version'] . '_to_' . $latest_version . '.zip'; $update_link = append_sid($phpbb_root_path . 'install/index.' . $phpEx, 'mode=update'); - $up_to_date = (version_compare(strtolower($config['version']), strtolower($latest_version), '<')) ? false : true; + $up_to_date = (version_compare(str_replace('rc', 'RC', strtolower($config['version'])), str_replace('rc', 'RC', strtolower($latest_version)), '<')) ? false : true; $template->assign_vars(array( 'S_UP_TO_DATE' => $up_to_date, diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index ec90b4e205..10e4be3ac4 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -565,8 +565,8 @@ $db->sql_freeresult($result); echo $lang['PREVIOUS_VERSION'] . ' :: ' . $config['version'] . '
    '; echo $lang['UPDATED_VERSION'] . ' :: ' . $updates_to_version . ''; -$current_version = strtolower($config['version']); -$latest_version = strtolower($updates_to_version); +$current_version = str_replace('rc', 'RC', strtolower($config['version'])); +$latest_version = str_replace('rc', 'RC', strtolower($updates_to_version)); $orig_version = $config['version']; // If the latest version and the current version are 'unequal', we will update the version_update_from, else we do not update anything. diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php index cd24444505..bc5ce0c57c 100644 --- a/phpBB/install/install_update.php +++ b/phpBB/install/install_update.php @@ -137,7 +137,7 @@ class install_update extends module // For the current version we trick a bit. ;) $this->current_version = (!empty($config['version_update_from'])) ? $config['version_update_from'] : $config['version']; - $up_to_date = (version_compare(strtolower($this->current_version), strtolower($this->latest_version), '<')) ? false : true; + $up_to_date = (version_compare(str_replace('rc', 'RC', strtolower($this->current_version)), str_replace('rc', 'RC', strtolower($this->latest_version), '<'))) ? false : true; // Check for a valid update directory, else point the user to the phpbb.com website if (!file_exists($phpbb_root_path . 'install/update') || !file_exists($phpbb_root_path . 'install/update/index.' . $phpEx) || !file_exists($this->old_location) || !file_exists($this->new_location)) @@ -154,7 +154,7 @@ class install_update extends module // Make sure the update directory holds the correct information // Since admins are able to run the update/checks more than once we only check if the current version is lower or equal than the version to which we update to. - if (version_compare(strtolower($this->current_version), strtolower($this->update_info['version']['to']), '>')) + if (version_compare(str_replace('rc', 'RC', strtolower($this->current_version)), str_replace('rc', 'RC', strtolower($this->update_info['version']['to'])), '>')) { $template->assign_vars(array( 'S_ERROR' => true, From e206d63ed4b52675f56a8ce484695fbb557eba53 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 17 May 2007 17:40:01 +0000 Subject: [PATCH 672/707] hmm git-svn-id: file:///svn/phpbb/trunk@7622 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/style/overall_footer.html | 2 +- phpBB/adm/style/simple_footer.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/adm/style/overall_footer.html b/phpBB/adm/style/overall_footer.html index 6d8349bc92..5518e74330 100644 --- a/phpBB/adm/style/overall_footer.html +++ b/phpBB/adm/style/overall_footer.html @@ -9,7 +9,7 @@
    diff --git a/phpBB/adm/style/overall_footer.html b/phpBB/adm/style/overall_footer.html index 5518e74330..1185df44bb 100644 --- a/phpBB/adm/style/overall_footer.html +++ b/phpBB/adm/style/overall_footer.html @@ -19,7 +19,7 @@ diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 4f4ecb5117..7879495f6c 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -3729,7 +3729,7 @@ function msg_handler($errno, $msg_text, $errfile, $errline) echo ' '; echo ' '; echo ' '; echo ''; echo ''; diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 10e4be3ac4..d4f4cdfc44 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -1243,7 +1243,7 @@ $cache->purge(); diff --git a/phpBB/install/index.php b/phpBB/install/index.php index 293522bfa6..656b6fed95 100755 --- a/phpBB/install/index.php +++ b/phpBB/install/index.php @@ -568,7 +568,7 @@ class module echo ' '; echo ' '; echo ' '; echo ''; echo ''; diff --git a/phpBB/styles/prosilver/template/overall_footer.html b/phpBB/styles/prosilver/template/overall_footer.html index eee1e394ae..05fc5087bd 100644 --- a/phpBB/styles/prosilver/template/overall_footer.html +++ b/phpBB/styles/prosilver/template/overall_footer.html @@ -32,7 +32,7 @@ The phpBB Group : 2006 //--> -