[ Index ] |
PHP Cross Reference of phpBB-3.1.12-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * 4 * This file is part of the phpBB Forum Software package. 5 * 6 * @copyright (c) phpBB Limited <https://www.phpbb.com> 7 * @license GNU General Public License, version 2 (GPL-2.0) 8 * 9 * For full copyright and license information, please see 10 * the docs/CREDITS.txt file. 11 * 12 */ 13 14 /** 15 * NOTE to potential convertor authors. Please use this file to get 16 * familiar with the structure since we added some bare explanations here. 17 * 18 * Since this file gets included more than once on one page you are not able to add functions to it. 19 * Instead use a functions_ file. 20 * 21 * @ignore 22 */ 23 if (!defined('IN_PHPBB')) 24 { 25 exit; 26 } 27 28 $phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $phpEx); 29 extract($phpbb_config_php_file->get_all()); 30 unset($dbpasswd); 31 32 $dbms = $phpbb_config_php_file->convert_30_dbms_to_31($dbms); 33 34 /** 35 * $convertor_data provides some basic information about this convertor which is 36 * used on the initial list of convertors and to populate the default settings 37 */ 38 $convertor_data = array( 39 'forum_name' => 'phpBB 2.0.x', 40 'version' => '1.0.3', 41 'phpbb_version' => '3.1.12', 42 'author' => '<a href="https://www.phpbb.com/">phpBB Limited</a>', 43 'dbms' => $dbms, 44 'dbhost' => $dbhost, 45 'dbport' => $dbport, 46 'dbuser' => $dbuser, 47 'dbpasswd' => '', 48 'dbname' => $dbname, 49 'table_prefix' => 'phpbb_', 50 'forum_path' => '../forums', 51 'author_notes' => '', 52 ); 53 54 /** 55 * $tables is a list of the tables (minus prefix) which we expect to find in the 56 * source forum. It is used to guess the prefix if the specified prefix is incorrect 57 */ 58 $tables = array( 59 'auth_access', 60 'banlist', 61 'categories', 62 'disallow', 63 'forum_prune', 64 'forums', 65 'groups', 66 'posts', 67 'posts_text', 68 'privmsgs', 69 'privmsgs_text', 70 'ranks', 71 'smilies', 72 'topics', 73 'topics_watch', 74 'user_group', 75 'users', 76 'vote_desc', 77 'vote_results', 78 'vote_voters', 79 'words' 80 ); 81 82 /** 83 * $config_schema details how the board configuration information is stored in the source forum. 84 * 85 * 'table_format' can take the value 'file' to indicate a config file. In this case array_name 86 * is set to indicate the name of the array the config values are stored in 87 * Example of using a file: 88 * $config_schema = array( 89 * 'table_format' => 'file', 90 * 'filename' => 'NAME OF FILE', // If the file is not in the root directory, the path needs to be added with no leading slash 91 * 'array_name' => 'NAME OF ARRAY', // Only used if the configuration file stores the setting in an array. 92 * 'settings' => array( 93 * 'board_email' => 'SUPPORT_EMAIL', // target config name => source target name 94 * ) 95 * ); 96 * 'table_format' can be an array if the values are stored in a table which is an assosciative array 97 * (as per phpBB 2.0.x) 98 * If left empty, values are assumed to be stored in a table where each config setting is 99 * a column (as per phpBB 1.x) 100 * 101 * In either of the latter cases 'table_name' indicates the name of the table in the database 102 * 103 * 'settings' is an array which maps the name of the config directive in the source forum 104 * to the config directive in phpBB3. It can either be a direct mapping or use a function. 105 * Please note that the contents of the old config value are passed to the function, therefore 106 * an in-built function requiring the variable passed by reference is not able to be used. Since 107 * empty() is such a function we created the function is_empty() to be used instead. 108 */ 109 $config_schema = array( 110 'table_name' => 'config', 111 'table_format' => array('config_name' => 'config_value'), 112 'settings' => array( 113 'allow_bbcode' => 'allow_bbcode', 114 'allow_smilies' => 'allow_smilies', 115 'allow_sig' => 'allow_sig', 116 'allow_namechange' => 'allow_namechange', 117 'allow_avatar_local' => 'allow_avatar_local', 118 'allow_avatar_remote' => 'allow_avatar_remote', 119 'allow_avatar_upload' => 'allow_avatar_upload', 120 'board_disable' => 'board_disable', 121 'sitename' => 'phpbb_set_encoding(sitename)', 122 'site_desc' => 'phpbb_set_encoding(site_desc)', 123 'session_length' => 'session_length', 124 'board_email_sig' => 'phpbb_set_encoding(board_email_sig)', 125 'posts_per_page' => 'posts_per_page', 126 'topics_per_page' => 'topics_per_page', 127 'enable_confirm' => 'enable_confirm', 128 'board_email_form' => 'board_email_form', 129 'override_user_style' => 'override_user_style', 130 'hot_threshold' => 'hot_threshold', 131 'max_poll_options' => 'max_poll_options', 132 'max_sig_chars' => 'max_sig_chars', 133 'pm_max_msgs' => 'max_inbox_privmsgs', 134 'smtp_delivery' => 'smtp_delivery', 135 'smtp_host' => 'smtp_host', 136 'smtp_username' => 'smtp_username', 137 'smtp_password' => 'smtp_password', 138 'require_activation' => 'require_activation', 139 'flood_interval' => 'flood_interval', 140 'avatar_filesize' => 'avatar_filesize', 141 'avatar_max_width' => 'avatar_max_width', 142 'avatar_max_height' => 'avatar_max_height', 143 'default_dateformat' => 'phpbb_set_encoding(default_dateformat)', 144 'board_timezone' => 'phpbb_convert_timezone(board_timezone)', 145 'allow_privmsg' => 'not(privmsg_disable)', 146 'gzip_compress' => 'gzip_compress', 147 'coppa_enable' => '!is_empty(coppa_mail)', 148 'coppa_fax' => 'coppa_fax', 149 'coppa_mail' => 'coppa_mail', 150 'record_online_users' => 'record_online_users', 151 'record_online_date' => 'record_online_date', 152 'board_startdate' => 'board_startdate', 153 ) 154 ); 155 156 /** 157 * $test_file is the name of a file which is present on the source 158 * forum which can be used to check that the path specified by the 159 * user was correct 160 */ 161 $test_file = 'modcp.php'; 162 163 /** 164 * If this is set then we are not generating the first page of information but getting the conversion information. 165 */ 166 if (!$get_info) 167 { 168 // Test to see if the birthday MOD is installed on the source forum 169 // Niels' birthday mod 170 if (get_config_value('birthday_required') !== false || get_config_value('bday_require') !== false) 171 { 172 define('MOD_BIRTHDAY', true); 173 } 174 175 // TerraFrost's validated birthday mod 176 if (get_config_value('bday_require') !== false) 177 { 178 define('MOD_BIRTHDAY_TERRA', true); 179 } 180 181 // Test to see if the attachment MOD is installed on the source forum 182 // If it is, we will convert this data as well 183 $src_db->sql_return_on_error(true); 184 185 $sql = "SELECT config_value 186 FROM {$convert->src_table_prefix}attachments_config 187 WHERE config_name = 'upload_dir'"; 188 $result = $src_db->sql_query($sql); 189 190 if ($result && $row = $src_db->sql_fetchrow($result)) 191 { 192 // Here the constant is defined 193 define('MOD_ATTACHMENT', true); 194 195 // Here i add more tables to be checked in the old forum 196 $tables += array( 197 'attachments', 198 'attachments_desc', 199 'extensions', 200 'extension_groups' 201 ); 202 203 $src_db->sql_freeresult($result); 204 } 205 else if ($result) 206 { 207 $src_db->sql_freeresult($result); 208 } 209 210 211 /** 212 * Tests for further MODs can be included here. 213 * Please use constants for this, prefixing them with MOD_ 214 */ 215 216 $src_db->sql_return_on_error(false); 217 218 // Now let us set a temporary config variable for user id incrementing 219 $sql = "SELECT user_id 220 FROM {$convert->src_table_prefix}users 221 WHERE user_id = 1"; 222 $result = $src_db->sql_query($sql); 223 $user_id = (int) $src_db->sql_fetchfield('user_id'); 224 $src_db->sql_freeresult($result); 225 226 // If there is a user id 1, we need to increment user ids. :/ 227 if ($user_id === 1) 228 { 229 // Try to get the maximum user id possible... 230 $sql = "SELECT MAX(user_id) AS max_user_id 231 FROM {$convert->src_table_prefix}users"; 232 $result = $src_db->sql_query($sql); 233 $user_id = (int) $src_db->sql_fetchfield('max_user_id'); 234 $src_db->sql_freeresult($result); 235 236 set_config('increment_user_id', ($user_id + 1), true); 237 } 238 else 239 { 240 set_config('increment_user_id', 0, true); 241 } 242 243 // Overwrite maximum avatar width/height 244 @define('DEFAULT_AVATAR_X_CUSTOM', get_config_value('avatar_max_width')); 245 @define('DEFAULT_AVATAR_Y_CUSTOM', get_config_value('avatar_max_height')); 246 247 // additional table used only during conversion 248 @define('USERCONV_TABLE', $table_prefix . 'userconv'); 249 250 /** 251 * Description on how to use the convertor framework. 252 * 253 * 'schema' Syntax Description 254 * -> 'target' => Target Table. If not specified the next table will be handled 255 * -> 'primary' => Primary Key. If this is specified then this table is processed in batches 256 * -> 'query_first' => array('target' or 'src', Query to execute before beginning the process 257 * (if more than one then specified as array)) 258 * -> 'function_first' => Function to execute before beginning the process (if more than one then specified as array) 259 * (This is mostly useful if variables need to be given to the converting process) 260 * -> 'test_file' => This is not used at the moment but should be filled with a file from the old installation 261 * 262 * // DB Functions 263 * 'distinct' => Add DISTINCT to the select query 264 * 'where' => Add WHERE to the select query 265 * 'group_by' => Add GROUP BY to the select query 266 * 'left_join' => Add LEFT JOIN to the select query (if more than one joins specified as array) 267 * 'having' => Add HAVING to the select query 268 * 269 * // DB INSERT array 270 * This one consist of three parameters 271 * First Parameter: 272 * The key need to be filled within the target table 273 * If this is empty, the target table gets not assigned the source value 274 * Second Parameter: 275 * Source value. If the first parameter is specified, it will be assigned this value. 276 * If the first parameter is empty, this only gets added to the select query 277 * Third Parameter: 278 * Custom Function. Function to execute while storing source value into target table. 279 * The functions return value get stored. 280 * The function parameter consist of the value of the second parameter. 281 * 282 * types: 283 * - empty string == execute nothing 284 * - string == function to execute 285 * - array == complex execution instructions 286 * 287 * Complex execution instructions: 288 * @todo test complex execution instructions - in theory they will work fine 289 * 290 * By defining an array as the third parameter you are able to define some statements to be executed. The key 291 * is defining what to execute, numbers can be appended... 292 * 293 * 'function' => execute function 294 * 'execute' => run code, whereby all occurrences of {VALUE} get replaced by the last returned value. 295 * The result *must* be assigned/stored to {RESULT}. 296 * 'typecast' => typecast value 297 * 298 * The returned variables will be made always available to the next function to continue to work with. 299 * 300 * example (variable inputted is an integer of 1): 301 * 302 * array( 303 * 'function1' => 'increment_by_one', // returned variable is 2 304 * 'typecast' => 'string', // typecast variable to be a string 305 * 'execute' => '{RESULT} = {VALUE} . ' is good';', // returned variable is '2 is good' 306 * 'function2' => 'replace_good_with_bad', // returned variable is '2 is bad' 307 * ), 308 * 309 */ 310 311 $convertor = array( 312 'test_file' => 'viewtopic.php', 313 314 'avatar_path' => get_config_value('avatar_path') . '/', 315 'avatar_gallery_path' => get_config_value('avatar_gallery_path') . '/', 316 'smilies_path' => get_config_value('smilies_path') . '/', 317 'upload_path' => (defined('MOD_ATTACHMENT')) ? phpbb_get_files_dir() . '/' : '', 318 'thumbnails' => (defined('MOD_ATTACHMENT')) ? array('thumbs/', 't_') : '', 319 'ranks_path' => false, // phpBB 2.0.x had no config value for a ranks path 320 321 // We empty some tables to have clean data available 322 'query_first' => array( 323 array('target', $convert->truncate_statement . SEARCH_RESULTS_TABLE), 324 array('target', $convert->truncate_statement . SEARCH_WORDLIST_TABLE), 325 array('target', $convert->truncate_statement . SEARCH_WORDMATCH_TABLE), 326 array('target', $convert->truncate_statement . LOG_TABLE), 327 ), 328 329 // 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. 330 // Instead every file gets copied while processing the corresponding attachment entry. 331 // if (defined("MOD_ATTACHMENT")) { import_attachment_files(); phpbb_copy_thumbnails(); } 332 333 // phpBB2 allowed some similar usernames to coexist which would have the same 334 // username_clean in phpBB3 which is not possible, so we'll give the admin a list 335 // of user ids and usernames and let him deicde what he wants to do with them 336 'execute_first' => ' 337 phpbb_create_userconv_table(); 338 import_avatar_gallery(); 339 if (defined("MOD_ATTACHMENT")) phpbb_import_attach_config(); 340 phpbb_insert_forums(); 341 ', 342 343 'execute_last' => array(' 344 add_bots(); 345 ', ' 346 update_folder_pm_count(); 347 ', ' 348 update_unread_count(); 349 ', (defined('MOD_ATTACHMENT')) ? ' 350 phpbb_attachment_extension_group_name(); 351 ' : ' 352 ', ' 353 phpbb_convert_authentication(\'start\'); 354 ', ' 355 phpbb_convert_authentication(\'first\'); 356 ', ' 357 phpbb_convert_authentication(\'second\'); 358 ', ' 359 phpbb_convert_authentication(\'third\'); 360 '), 361 362 'schema' => array( 363 array( 364 'target' => USERCONV_TABLE, 365 'query_first' => array('target', $convert->truncate_statement . USERCONV_TABLE), 366 367 368 array('user_id', 'users.user_id', ''), 369 array('username_clean', 'users.username', array('function1' => 'phpbb_set_encoding', 'function2' => 'utf8_clean_string')), 370 ), 371 372 array( 373 'target' => (defined('MOD_ATTACHMENT')) ? ATTACHMENTS_TABLE : '', 374 'primary' => 'attachments.attach_id', 375 'query_first' => (defined('MOD_ATTACHMENT')) ? array('target', $convert->truncate_statement . ATTACHMENTS_TABLE) : '', 376 'autoincrement' => 'attach_id', 377 378 array('attach_id', 'attachments.attach_id', ''), 379 array('post_msg_id', 'attachments.post_id', ''), 380 array('topic_id', 'posts.topic_id', ''), 381 array('in_message', 0, ''), 382 array('is_orphan', 0, ''), 383 array('poster_id', 'attachments.user_id_1 AS poster_id', 'phpbb_user_id'), 384 array('physical_filename', 'attachments_desc.physical_filename', 'import_attachment'), 385 array('real_filename', 'attachments_desc.real_filename', 'phpbb_set_encoding'), 386 array('download_count', 'attachments_desc.download_count', ''), 387 array('attach_comment', 'attachments_desc.comment', array('function1' => 'phpbb_set_encoding', 'function2' => 'utf8_htmlspecialchars')), 388 array('extension', 'attachments_desc.extension', ''), 389 array('mimetype', 'attachments_desc.mimetype', ''), 390 array('filesize', 'attachments_desc.filesize', ''), 391 array('filetime', 'attachments_desc.filetime', ''), 392 array('thumbnail', 'attachments_desc.thumbnail', ''), 393 394 'where' => 'attachments_desc.attach_id = attachments.attach_id AND attachments.privmsgs_id = 0 AND posts.post_id = attachments.post_id', 395 'group_by' => 'attachments.attach_id' 396 ), 397 398 array( 399 'target' => (defined('MOD_ATTACHMENT')) ? ATTACHMENTS_TABLE : '', 400 'primary' => 'attachments.attach_id', 401 'autoincrement' => 'attach_id', 402 403 array('attach_id', 'attachments.attach_id', ''), 404 array('post_msg_id', 'attachments.privmsgs_id', ''), 405 array('topic_id', 0, ''), 406 array('in_message', 1, ''), 407 array('is_orphan', 0, ''), 408 array('poster_id', 'attachments.user_id_1 AS poster_id', 'phpbb_user_id'), 409 array('physical_filename', 'attachments_desc.physical_filename', 'import_attachment'), 410 array('real_filename', 'attachments_desc.real_filename', 'phpbb_set_encoding'), 411 array('download_count', 'attachments_desc.download_count', ''), 412 array('attach_comment', 'attachments_desc.comment', array('function1' => 'phpbb_set_encoding', 'function2' => 'utf8_htmlspecialchars')), 413 array('extension', 'attachments_desc.extension', ''), 414 array('mimetype', 'attachments_desc.mimetype', ''), 415 array('filesize', 'attachments_desc.filesize', ''), 416 array('filetime', 'attachments_desc.filetime', ''), 417 array('thumbnail', 'attachments_desc.thumbnail', ''), 418 419 'where' => 'attachments_desc.attach_id = attachments.attach_id AND attachments.post_id = 0', 420 'group_by' => 'attachments.attach_id' 421 ), 422 423 array( 424 'target' => (defined('MOD_ATTACHMENT')) ? EXTENSIONS_TABLE : '', 425 'query_first' => (defined('MOD_ATTACHMENT')) ? array('target', $convert->truncate_statement . EXTENSIONS_TABLE) : '', 426 'autoincrement' => 'extension_id', 427 428 array('extension_id', 'extensions.ext_id', ''), 429 array('group_id', 'extensions.group_id', ''), 430 array('extension', 'extensions.extension', ''), 431 ), 432 433 array( 434 'target' => (defined('MOD_ATTACHMENT')) ? EXTENSION_GROUPS_TABLE : '', 435 'query_first' => (defined('MOD_ATTACHMENT')) ? array('target', $convert->truncate_statement . EXTENSION_GROUPS_TABLE) : '', 436 'autoincrement' => 'group_id', 437 438 array('group_id', 'extension_groups.group_id', ''), 439 array('group_name', 'extension_groups.group_name', array('function1' => 'phpbb_set_encoding', 'function2' => 'utf8_htmlspecialchars')), 440 array('cat_id', 'extension_groups.cat_id', 'phpbb_attachment_category'), 441 array('allow_group', 'extension_groups.allow_group', ''), 442 array('download_mode', 1, ''), 443 array('upload_icon', '', ''), 444 array('max_filesize', 'extension_groups.max_filesize', ''), 445 array('allowed_forums', 'extension_groups.forum_permissions', 'phpbb_attachment_forum_perms'), 446 array('allow_in_pm', 1, ''), 447 ), 448 449 array( 450 'target' => BANLIST_TABLE, 451 'execute_first' => 'phpbb_check_username_collisions();', 452 'query_first' => array('target', $convert->truncate_statement . BANLIST_TABLE), 453 454 array('ban_ip', 'banlist.ban_ip', 'decode_ban_ip'), 455 array('ban_userid', 'banlist.ban_userid', 'phpbb_user_id'), 456 array('ban_email', 'banlist.ban_email', ''), 457 array('ban_reason', '', ''), 458 array('ban_give_reason', '', ''), 459 460 'where' => "banlist.ban_ip NOT LIKE '%.%'", 461 ), 462 463 array( 464 'target' => BANLIST_TABLE, 465 466 array('ban_ip', 'banlist.ban_ip', ''), 467 array('ban_userid', 0, ''), 468 array('ban_email', '', ''), 469 array('ban_reason', '', ''), 470 array('ban_give_reason', '', ''), 471 472 'where' => "banlist.ban_ip LIKE '%.%'", 473 ), 474 475 array( 476 'target' => DISALLOW_TABLE, 477 'query_first' => array('target', $convert->truncate_statement . DISALLOW_TABLE), 478 479 array('disallow_username', 'disallow.disallow_username', 'phpbb_disallowed_username'), 480 ), 481 482 array( 483 'target' => RANKS_TABLE, 484 'query_first' => array('target', $convert->truncate_statement . RANKS_TABLE), 485 'autoincrement' => 'rank_id', 486 487 array('rank_id', 'ranks.rank_id', ''), 488 array('rank_title', 'ranks.rank_title', array('function1' => 'phpbb_set_default_encoding', 'function2' => 'utf8_htmlspecialchars')), 489 array('rank_min', 'ranks.rank_min', array('typecast' => 'int', 'execute' => '{RESULT} = ({VALUE}[0] < 0) ? 0 : {VALUE}[0];')), 490 array('rank_special', 'ranks.rank_special', ''), 491 array('rank_image', 'ranks.rank_image', 'import_rank'), 492 ), 493 494 array( 495 'target' => TOPICS_TABLE, 496 'query_first' => array('target', $convert->truncate_statement . TOPICS_TABLE), 497 'primary' => 'topics.topic_id', 498 'autoincrement' => 'topic_id', 499 500 array('topic_id', 'topics.topic_id', ''), 501 array('forum_id', 'topics.forum_id', ''), 502 array('icon_id', 0, ''), 503 array('topic_poster', 'topics.topic_poster AS poster_id', 'phpbb_user_id'), 504 array('topic_attachment', ((defined('MOD_ATTACHMENT')) ? 'topics.topic_attachment' : 0), ''), 505 array('topic_title', 'topics.topic_title', 'phpbb_set_encoding'), 506 array('topic_time', 'topics.topic_time', ''), 507 array('topic_views', 'topics.topic_views', ''), 508 array('topic_posts_approved', 'topics.topic_replies', 'phpbb_topic_replies_to_posts'), 509 array('topic_posts_unapproved', 0, ''), 510 array('topic_posts_softdeleted',0, ''), 511 array('topic_last_post_id', 'topics.topic_last_post_id', ''), 512 array('topic_status', 'topics.topic_status', 'is_topic_locked'), 513 array('topic_moved_id', 0, ''), 514 array('topic_type', 'topics.topic_type', 'phpbb_convert_topic_type'), 515 array('topic_first_post_id', 'topics.topic_first_post_id', ''), 516 array('topic_last_view_time', 'posts.post_time', 'intval'), 517 array('topic_visibility', ITEM_APPROVED, ''), 518 519 array('poll_title', 'vote_desc.vote_text', array('function1' => 'null_to_str', 'function2' => 'phpbb_set_encoding', 'function3' => 'htmlspecialchars_decode', 'function4' => 'utf8_htmlspecialchars')), 520 array('poll_start', 'vote_desc.vote_start', 'null_to_zero'), 521 array('poll_length', 'vote_desc.vote_length', 'null_to_zero'), 522 array('poll_max_options', 1, ''), 523 array('poll_vote_change', 0, ''), 524 525 'left_join' => array ( 'topics LEFT JOIN vote_desc ON topics.topic_id = vote_desc.topic_id AND topics.topic_vote = 1', 526 'topics LEFT JOIN posts ON topics.topic_last_post_id = posts.post_id', 527 ), 528 'where' => 'topics.topic_moved_id = 0', 529 ), 530 531 array( 532 'target' => TOPICS_TABLE, 533 'primary' => 'topics.topic_id', 534 'autoincrement' => 'topic_id', 535 536 array('topic_id', 'topics.topic_id', ''), 537 array('forum_id', 'topics.forum_id', ''), 538 array('icon_id', 0, ''), 539 array('topic_poster', 'topics.topic_poster AS poster_id', 'phpbb_user_id'), 540 array('topic_attachment', ((defined('MOD_ATTACHMENT')) ? 'topics.topic_attachment' : 0), ''), 541 array('topic_title', 'topics.topic_title', 'phpbb_set_encoding'), 542 array('topic_time', 'topics.topic_time', ''), 543 array('topic_views', 'topics.topic_views', ''), 544 array('topic_posts_approved', 'topics.topic_replies', 'phpbb_topic_replies_to_posts'), 545 array('topic_posts_unapproved', 0, ''), 546 array('topic_posts_softdeleted',0, ''), 547 array('topic_last_post_id', 'topics.topic_last_post_id', ''), 548 array('topic_status', ITEM_MOVED, ''), 549 array('topic_moved_id', 'topics.topic_moved_id', ''), 550 array('topic_type', 'topics.topic_type', 'phpbb_convert_topic_type'), 551 array('topic_first_post_id', 'topics.topic_first_post_id', ''), 552 array('topic_visibility', ITEM_APPROVED, ''), 553 554 array('poll_title', 'vote_desc.vote_text', array('function1' => 'null_to_str', 'function2' => 'phpbb_set_encoding', 'function3' => 'htmlspecialchars_decode', 'function4' => 'utf8_htmlspecialchars')), 555 array('poll_start', 'vote_desc.vote_start', 'null_to_zero'), 556 array('poll_length', 'vote_desc.vote_length', 'null_to_zero'), 557 array('poll_max_options', 1, ''), 558 array('poll_vote_change', 0, ''), 559 560 'left_join' => 'topics LEFT JOIN vote_desc ON topics.topic_id = vote_desc.topic_id AND topics.topic_vote = 1', 561 'where' => 'topics.topic_moved_id <> 0', 562 ), 563 564 array( 565 'target' => TOPICS_WATCH_TABLE, 566 'primary' => 'topics_watch.topic_id', 567 'query_first' => array('target', $convert->truncate_statement . TOPICS_WATCH_TABLE), 568 569 array('topic_id', 'topics_watch.topic_id', ''), 570 array('user_id', 'topics_watch.user_id', 'phpbb_user_id'), 571 array('notify_status', 'topics_watch.notify_status', ''), 572 ), 573 574 array( 575 'target' => SMILIES_TABLE, 576 'query_first' => array('target', $convert->truncate_statement . SMILIES_TABLE), 577 'autoincrement' => 'smiley_id', 578 579 array('smiley_id', 'smilies.smilies_id', ''), 580 array('code', 'smilies.code', array('function1' => 'phpbb_smilie_html_decode', 'function2' => 'phpbb_set_encoding', 'function3' => 'utf8_htmlspecialchars')), 581 array('emotion', 'smilies.emoticon', 'phpbb_set_encoding'), 582 array('smiley_url', 'smilies.smile_url', 'import_smiley'), 583 array('smiley_width', 'smilies.smile_url', 'get_smiley_width'), 584 array('smiley_height', 'smilies.smile_url', 'get_smiley_height'), 585 array('smiley_order', 'smilies.smilies_id', ''), 586 array('display_on_posting', 'smilies.smilies_id', 'get_smiley_display'), 587 588 'order_by' => 'smilies.smilies_id ASC', 589 ), 590 591 array( 592 'target' => POLL_OPTIONS_TABLE, 593 'primary' => 'vote_results.vote_option_id', 594 'query_first' => array('target', $convert->truncate_statement . POLL_OPTIONS_TABLE), 595 596 array('poll_option_id', 'vote_results.vote_option_id', ''), 597 array('topic_id', 'vote_desc.topic_id', ''), 598 array('', 'topics.topic_poster AS poster_id', 'phpbb_user_id'), 599 array('poll_option_text', 'vote_results.vote_option_text', array('function1' => 'phpbb_set_encoding', 'function2' => 'htmlspecialchars_decode', 'function3' => 'utf8_htmlspecialchars')), 600 array('poll_option_total', 'vote_results.vote_result', ''), 601 602 'where' => 'vote_results.vote_id = vote_desc.vote_id', 603 'left_join' => 'vote_desc LEFT JOIN topics ON topics.topic_id = vote_desc.topic_id', 604 ), 605 606 array( 607 'target' => POLL_VOTES_TABLE, 608 'primary' => 'vote_desc.topic_id', 609 'query_first' => array('target', $convert->truncate_statement . POLL_VOTES_TABLE), 610 611 array('poll_option_id', VOTE_CONVERTED, ''), 612 array('topic_id', 'vote_desc.topic_id', ''), 613 array('vote_user_id', 'vote_voters.vote_user_id', 'phpbb_user_id'), 614 array('vote_user_ip', 'vote_voters.vote_user_ip', 'decode_ip'), 615 616 'where' => 'vote_voters.vote_id = vote_desc.vote_id', 617 ), 618 619 array( 620 'target' => WORDS_TABLE, 621 'primary' => 'words.word_id', 622 'query_first' => array('target', $convert->truncate_statement . WORDS_TABLE), 623 'autoincrement' => 'word_id', 624 625 array('word_id', 'words.word_id', ''), 626 array('word', 'words.word', 'phpbb_set_encoding'), 627 array('replacement', 'words.replacement', 'phpbb_set_encoding'), 628 ), 629 630 array( 631 'target' => POSTS_TABLE, 632 'primary' => 'posts.post_id', 633 'autoincrement' => 'post_id', 634 'query_first' => array('target', $convert->truncate_statement . POSTS_TABLE), 635 'execute_first' => ' 636 $config["max_post_chars"] = 0; 637 $config["min_post_chars"] = 0; 638 $config["max_quote_depth"] = 0; 639 ', 640 641 array('post_id', 'posts.post_id', ''), 642 array('topic_id', 'posts.topic_id', ''), 643 array('forum_id', 'posts.forum_id', ''), 644 array('poster_id', 'posts.poster_id', 'phpbb_user_id'), 645 array('icon_id', 0, ''), 646 array('poster_ip', 'posts.poster_ip', 'decode_ip'), 647 array('post_time', 'posts.post_time', ''), 648 array('enable_bbcode', 'posts.enable_bbcode', ''), 649 array('', 'posts.enable_html', ''), 650 array('enable_smilies', 'posts.enable_smilies', ''), 651 array('enable_sig', 'posts.enable_sig', ''), 652 array('enable_magic_url', 1, ''), 653 array('post_username', 'posts.post_username', 'phpbb_set_encoding'), 654 array('post_subject', 'posts_text.post_subject', 'phpbb_set_encoding'), 655 array('post_attachment', ((defined('MOD_ATTACHMENT')) ? 'posts.post_attachment' : 0), ''), 656 array('post_edit_time', 'posts.post_edit_time', array('typecast' => 'int')), 657 array('post_edit_count', 'posts.post_edit_count', ''), 658 array('post_edit_reason', '', ''), 659 array('post_edit_user', '', 'phpbb_post_edit_user'), 660 array('post_visibility', ITEM_APPROVED, ''), 661 662 array('bbcode_uid', 'posts.post_time', 'make_uid'), 663 array('post_text', 'posts_text.post_text', 'phpbb_prepare_message'), 664 array('', 'posts_text.bbcode_uid AS old_bbcode_uid', ''), 665 array('bbcode_bitfield', '', 'get_bbcode_bitfield'), 666 array('post_checksum', '', ''), 667 668 // Commented out inline search indexing, this takes up a LOT of time. :D 669 // @todo We either need to enable this or call the rebuild search functionality post convert 670 /* array('', '', 'search_indexing'), 671 array('', 'posts_text.post_text AS message', ''), 672 array('', 'posts_text.post_subject AS title', ''),*/ 673 674 'where' => 'posts.post_id = posts_text.post_id' 675 ), 676 677 array( 678 'target' => PRIVMSGS_TABLE, 679 'primary' => 'privmsgs.privmsgs_id', 680 'autoincrement' => 'msg_id', 681 'query_first' => array( 682 array('target', $convert->truncate_statement . PRIVMSGS_TABLE), 683 array('target', $convert->truncate_statement . PRIVMSGS_RULES_TABLE), 684 ), 685 686 'execute_first' => ' 687 $config["max_post_chars"] = 0; 688 $config["min_post_chars"] = 0; 689 $config["max_quote_depth"] = 0; 690 ', 691 692 array('msg_id', 'privmsgs.privmsgs_id', ''), 693 array('root_level', 0, ''), 694 array('author_id', 'privmsgs.privmsgs_from_userid AS poster_id', 'phpbb_user_id'), 695 array('icon_id', 0, ''), 696 array('author_ip', 'privmsgs.privmsgs_ip', 'decode_ip'), 697 array('message_time', 'privmsgs.privmsgs_date', ''), 698 array('enable_bbcode', 'privmsgs.privmsgs_enable_bbcode AS enable_bbcode', ''), 699 array('', 'privmsgs.privmsgs_enable_html AS enable_html', ''), 700 array('enable_smilies', 'privmsgs.privmsgs_enable_smilies AS enable_smilies', ''), 701 array('enable_magic_url', 1, ''), 702 array('enable_sig', 'privmsgs.privmsgs_attach_sig', ''), 703 array('message_subject', 'privmsgs.privmsgs_subject', 'phpbb_set_encoding'), // Already specialchared in 2.0.x 704 array('message_attachment', ((defined('MOD_ATTACHMENT')) ? 'privmsgs.privmsgs_attachment' : 0), ''), 705 array('message_edit_reason', '', ''), 706 array('message_edit_user', 0, ''), 707 array('message_edit_time', 0, ''), 708 array('message_edit_count', 0, ''), 709 710 array('bbcode_uid', 'privmsgs.privmsgs_date AS post_time', 'make_uid'), 711 array('message_text', 'privmsgs_text.privmsgs_text', 'phpbb_prepare_message'), 712 array('', 'privmsgs_text.privmsgs_bbcode_uid AS old_bbcode_uid', ''), 713 array('bbcode_bitfield', '', 'get_bbcode_bitfield'), 714 array('to_address', 'privmsgs.privmsgs_to_userid', 'phpbb_privmsgs_to_userid'), 715 array('bcc_address', '', ''), 716 717 'where' => 'privmsgs.privmsgs_id = privmsgs_text.privmsgs_text_id' 718 ), 719 720 array( 721 'target' => PRIVMSGS_FOLDER_TABLE, 722 'primary' => 'users.user_id', 723 'query_first' => array('target', $convert->truncate_statement . PRIVMSGS_FOLDER_TABLE), 724 725 array('user_id', 'users.user_id', 'phpbb_user_id'), 726 array('folder_name', $user->lang['CONV_SAVED_MESSAGES'], ''), 727 array('pm_count', 0, ''), 728 729 'where' => 'users.user_id <> -1', 730 ), 731 732 // Inbox 733 array( 734 'target' => PRIVMSGS_TO_TABLE, 735 'primary' => 'privmsgs.privmsgs_id', 736 'query_first' => array('target', $convert->truncate_statement . PRIVMSGS_TO_TABLE), 737 738 array('msg_id', 'privmsgs.privmsgs_id', ''), 739 array('user_id', 'privmsgs.privmsgs_to_userid', 'phpbb_user_id'), 740 array('author_id', 'privmsgs.privmsgs_from_userid', 'phpbb_user_id'), 741 array('pm_deleted', 0, ''), 742 array('pm_new', 'privmsgs.privmsgs_type', 'phpbb_new_pm'), 743 array('pm_unread', 'privmsgs.privmsgs_type', 'phpbb_unread_pm'), 744 array('pm_replied', 0, ''), 745 array('pm_marked', 0, ''), 746 array('pm_forwarded', 0, ''), 747 array('folder_id', PRIVMSGS_INBOX, ''), 748 749 'where' => 'privmsgs.privmsgs_id = privmsgs_text.privmsgs_text_id 750 AND (privmsgs.privmsgs_type = 0 OR privmsgs.privmsgs_type = 1 OR privmsgs.privmsgs_type = 5)', 751 ), 752 753 // Outbox 754 array( 755 'target' => PRIVMSGS_TO_TABLE, 756 'primary' => 'privmsgs.privmsgs_id', 757 758 array('msg_id', 'privmsgs.privmsgs_id', ''), 759 array('user_id', 'privmsgs.privmsgs_from_userid', 'phpbb_user_id'), 760 array('author_id', 'privmsgs.privmsgs_from_userid', 'phpbb_user_id'), 761 array('pm_deleted', 0, ''), 762 array('pm_new', 0, ''), 763 array('pm_unread', 0, ''), 764 array('pm_replied', 0, ''), 765 array('pm_marked', 0, ''), 766 array('pm_forwarded', 0, ''), 767 array('folder_id', PRIVMSGS_OUTBOX, ''), 768 769 'where' => 'privmsgs.privmsgs_id = privmsgs_text.privmsgs_text_id 770 AND (privmsgs.privmsgs_type = 1 OR privmsgs.privmsgs_type = 5)', 771 ), 772 773 // Sentbox 774 array( 775 'target' => PRIVMSGS_TO_TABLE, 776 'primary' => 'privmsgs.privmsgs_id', 777 778 array('msg_id', 'privmsgs.privmsgs_id', ''), 779 array('user_id', 'privmsgs.privmsgs_from_userid', 'phpbb_user_id'), 780 array('author_id', 'privmsgs.privmsgs_from_userid', 'phpbb_user_id'), 781 array('pm_deleted', 0, ''), 782 array('pm_new', 'privmsgs.privmsgs_type', 'phpbb_new_pm'), 783 array('pm_unread', 'privmsgs.privmsgs_type', 'phpbb_unread_pm'), 784 array('pm_replied', 0, ''), 785 array('pm_marked', 0, ''), 786 array('pm_forwarded', 0, ''), 787 array('folder_id', PRIVMSGS_SENTBOX, ''), 788 789 'where' => 'privmsgs.privmsgs_id = privmsgs_text.privmsgs_text_id 790 AND privmsgs.privmsgs_type = 2', 791 ), 792 793 // Savebox (SAVED IN) 794 array( 795 'target' => PRIVMSGS_TO_TABLE, 796 'primary' => 'privmsgs.privmsgs_id', 797 798 array('msg_id', 'privmsgs.privmsgs_id', ''), 799 array('user_id', 'privmsgs.privmsgs_to_userid', 'phpbb_user_id'), 800 array('author_id', 'privmsgs.privmsgs_from_userid', 'phpbb_user_id'), 801 array('pm_deleted', 0, ''), 802 array('pm_new', 'privmsgs.privmsgs_type', 'phpbb_new_pm'), 803 array('pm_unread', 'privmsgs.privmsgs_type', 'phpbb_unread_pm'), 804 array('pm_replied', 0, ''), 805 array('pm_marked', 0, ''), 806 array('pm_forwarded', 0, ''), 807 array('folder_id', 'privmsgs.privmsgs_to_userid', 'phpbb_get_savebox_id'), 808 809 'where' => 'privmsgs.privmsgs_id = privmsgs_text.privmsgs_text_id 810 AND privmsgs.privmsgs_type = 3', 811 ), 812 813 // Savebox (SAVED OUT) 814 array( 815 'target' => PRIVMSGS_TO_TABLE, 816 'primary' => 'privmsgs.privmsgs_id', 817 818 array('msg_id', 'privmsgs.privmsgs_id', ''), 819 array('user_id', 'privmsgs.privmsgs_from_userid', 'phpbb_user_id'), 820 array('author_id', 'privmsgs.privmsgs_from_userid', 'phpbb_user_id'), 821 array('pm_deleted', 0, ''), 822 array('pm_new', 'privmsgs.privmsgs_type', 'phpbb_new_pm'), 823 array('pm_unread', 'privmsgs.privmsgs_type', 'phpbb_unread_pm'), 824 array('pm_replied', 0, ''), 825 array('pm_marked', 0, ''), 826 array('pm_forwarded', 0, ''), 827 array('folder_id', 'privmsgs.privmsgs_from_userid', 'phpbb_get_savebox_id'), 828 829 'where' => 'privmsgs.privmsgs_id = privmsgs_text.privmsgs_text_id 830 AND privmsgs.privmsgs_type = 4', 831 ), 832 833 array( 834 'target' => GROUPS_TABLE, 835 'autoincrement' => 'group_id', 836 'query_first' => array( 837 array('target', $convert->truncate_statement . GROUPS_TABLE), 838 array('target', $convert->truncate_statement . TEAMPAGE_TABLE), 839 ), 840 841 array('group_id', 'groups.group_id', ''), 842 array('group_type', 'groups.group_type', 'phpbb_convert_group_type'), 843 array('group_display', 0, ''), 844 array('group_legend', 0, ''), 845 array('group_name', 'groups.group_name', 'phpbb_convert_group_name'), // phpbb_set_encoding called in phpbb_convert_group_name 846 array('group_desc', 'groups.group_description', 'phpbb_set_encoding'), 847 848 'where' => 'groups.group_single_user = 0', 849 ), 850 851 array( 852 'target' => USER_GROUP_TABLE, 853 'query_first' => array('target', $convert->truncate_statement . USER_GROUP_TABLE), 854 'execute_first' => ' 855 add_default_groups(); 856 add_groups_to_teampage(); 857 ', 858 859 array('group_id', 'groups.group_id', ''), 860 array('user_id', 'groups.group_moderator', 'phpbb_user_id'), 861 array('group_leader', 1, ''), 862 array('user_pending', 0, ''), 863 864 'where' => 'groups.group_single_user = 0 AND groups.group_moderator <> 0', 865 ), 866 867 array( 868 'target' => USER_GROUP_TABLE, 869 870 array('group_id', 'user_group.group_id', ''), 871 array('user_id', 'user_group.user_id', 'phpbb_user_id'), 872 array('group_leader', 0, ''), 873 array('user_pending', 'user_group.user_pending', ''), 874 875 'where' => 'user_group.group_id = groups.group_id AND groups.group_single_user = 0 AND groups.group_moderator <> user_group.user_id', 876 ), 877 878 array( 879 'target' => USERS_TABLE, 880 'primary' => 'users.user_id', 881 'autoincrement' => 'user_id', 882 'query_first' => array( 883 array('target', 'DELETE FROM ' . USERS_TABLE . ' WHERE user_id <> ' . ANONYMOUS), 884 array('target', $convert->truncate_statement . BOTS_TABLE), 885 array('target', $convert->truncate_statement . USER_NOTIFICATIONS_TABLE), 886 ), 887 888 'execute_last' => ' 889 remove_invalid_users(); 890 ', 891 892 array('user_id', 'users.user_id', 'phpbb_user_id'), 893 array('', 'users.user_id AS poster_id', 'phpbb_user_id'), 894 array('user_type', 'users.user_active', 'set_user_type'), 895 array('group_id', 'users.user_level', 'phpbb_set_primary_group'), 896 array('user_regdate', 'users.user_regdate', ''), 897 array('username', 'users.username', 'phpbb_set_default_encoding'), // recode to utf8 with default lang 898 array('username_clean', 'users.username', array('function1' => 'phpbb_set_default_encoding', 'function2' => 'utf8_clean_string')), 899 array('user_password', 'users.user_password', 'phpbb_convert_password_hash'), 900 array('user_posts', 'users.user_posts', 'intval'), 901 array('user_email', 'users.user_email', 'strtolower'), 902 array('user_email_hash', 'users.user_email', 'gen_email_hash'), 903 array('user_birthday', ((defined('MOD_BIRTHDAY')) ? 'users.user_birthday' : ''), 'phpbb_get_birthday'), 904 array('user_lastvisit', 'users.user_lastvisit', 'intval'), 905 array('user_lastmark', 'users.user_lastvisit', 'intval'), 906 array('user_lang', $config['default_lang'], ''), 907 array('', 'users.user_lang', ''), 908 array('user_timezone', 'users.user_timezone', 'phpbb_convert_timezone'), 909 array('user_dateformat', 'users.user_dateformat', array('function1' => 'phpbb_set_encoding', 'function2' => 'fill_dateformat')), 910 array('user_inactive_reason', '', 'phpbb_inactive_reason'), 911 array('user_inactive_time', '', 'phpbb_inactive_time'), 912 913 array('user_jabber', '', ''), 914 array('user_rank', 'users.user_rank', 'intval'), 915 array('user_permissions', '', ''), 916 917 array('user_avatar', 'users.user_avatar', 'phpbb_import_avatar'), 918 array('user_avatar_type', 'users.user_avatar_type', 'phpbb_avatar_type'), 919 array('user_avatar_width', 'users.user_avatar', 'phpbb_get_avatar_width'), 920 array('user_avatar_height', 'users.user_avatar', 'phpbb_get_avatar_height'), 921 922 array('user_new_privmsg', 'users.user_new_privmsg', ''), 923 array('user_unread_privmsg', 0, ''), //'users.user_unread_privmsg' 924 array('user_last_privmsg', 'users.user_last_privmsg', 'intval'), 925 array('user_emailtime', 'users.user_emailtime', 'null_to_zero'), 926 array('user_notify', 'users.user_notify', 'intval'), 927 array('user_notify_pm', 'users.user_notify_pm', 'intval'), 928 array('user_notify_type', NOTIFY_EMAIL, ''), 929 array('user_allow_pm', 'users.user_allow_pm', 'intval'), 930 array('user_allow_viewonline', 'users.user_allow_viewonline', 'intval'), 931 array('user_allow_viewemail', 'users.user_viewemail', 'intval'), 932 array('user_actkey', 'users.user_actkey', ''), 933 array('user_newpasswd', '', ''), // Users need to re-request their password... 934 array('user_style', $config['default_style'], ''), 935 936 array('user_options', '', 'set_user_options'), 937 array('', 'users.user_popup_pm AS popuppm', ''), 938 array('', 'users.user_allowhtml AS html', ''), 939 array('', 'users.user_allowbbcode AS bbcode', ''), 940 array('', 'users.user_allowsmile AS smile', ''), 941 array('', 'users.user_attachsig AS attachsig',''), 942 943 array('user_sig_bbcode_uid', 'users.user_regdate', 'make_uid'), 944 array('user_sig', 'users.user_sig', 'phpbb_prepare_message'), 945 array('', 'users.user_sig_bbcode_uid AS old_bbcode_uid', ''), 946 array('user_sig_bbcode_bitfield', '', 'get_bbcode_bitfield'), 947 array('', 'users.user_regdate AS post_time', ''), 948 949 array('', 'users.user_notify_pm', 'phpbb_add_notification_options'), 950 951 'where' => 'users.user_id <> -1', 952 ), 953 954 array( 955 'target' => PROFILE_FIELDS_DATA_TABLE, 956 'primary' => 'users.user_id', 957 'query_first' => array( 958 array('target', $convert->truncate_statement . PROFILE_FIELDS_DATA_TABLE), 959 ), 960 961 array('user_id', 'users.user_id', 'phpbb_user_id'), 962 array('pf_phpbb_occupation', 'users.user_occ', array('function1' => 'phpbb_set_encoding')), 963 array('pf_phpbb_interests', 'users.user_interests', array('function1' => 'phpbb_set_encoding')), 964 array('pf_phpbb_location', 'users.user_from', array('function1' => 'phpbb_set_encoding')), 965 array('pf_phpbb_icq', 'users.user_icq', array('function1' => 'phpbb_set_encoding')), 966 array('pf_phpbb_wlm', 'users.user_msnm', array('function1' => 'phpbb_set_encoding')), 967 array('pf_phpbb_yahoo', 'users.user_yim', array('function1' => 'phpbb_set_encoding')), 968 array('pf_phpbb_aol', 'users.user_aim', array('function1' => 'phpbb_set_encoding')), 969 array('pf_phpbb_website', 'users.user_website', 'validate_website'), 970 971 'where' => 'users.user_id <> -1', 972 ), 973 ), 974 ); 975 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Jan 11 00:25:41 2018 | Cross-referenced by PHPXref 0.7.1 |