phpBB

Development Wiki

PhpBB3.1

From phpBB Development Wiki

phpBB 3.1, codename Ascraeus, is the next major feature release in the phpBB 3.x line.

Requirements

Most of the system requirements are the same as 3.0.x. The most notable change is that PHP >= 5.3.3 is now required. Newer versions of PostgreSQL, SQLite, and MySQL are pending discussion[1].

Request for Comments

The set of features that were proposed for phpBB 3.1 can be found here: Request for Comments

Composer

In order to use phpBB 3.1 in development, you need to run Composer[2] from within the phpBB directory. This will install some external PHP library dependencies. See the README[3] "installing dependencies" section for more instructions.

Moving from 3.0 to 3.1

Styles and template engine changes 3.1

If you replace the files of your style with 3.1 compatible ones, before running the database update from 3.0 to 3.1, these styles will stay installed.

Template Engine Changes in 3.1

Working with the new config class

The new config class

Search Backends

Search backend classes must follow the new naming convention so a backend in includes/search/foobar.php has to contain a class called phpbb_search_foobar and must implement a get_name() method returning the name to be displayed in the ACP.

phpbb_ Class Prefix

Some classes have been renamed to avoid conflicts with other software. If you are referencing the name of any of these classes, you will have to change them:

  • session => phpbb_session
  • user => phpbb_user
  • auth => phpbb_auth

Note: The prefix is added to class names, not to the variables that are instances of the class. $user and $auth are still used in phpBB 3.1.

Dependency Injection Container

The service objects are now created and managed by the Dependency Injection Container.

JavaScript onload_functions changed

The onload_functions array allowed calling certain JavaScript functions on page load. Instead of pushing extra function calls to this array you should use jQuery to handle onload calls

Before:

onload_functions.push('do_something()');

After:

$(document).ready(function() { 
do_something();
})

Changes to Functions

  • phpBB/includes/functions_install.php
    • The array returned by get_available_dbms() no longer contains COMMENTS keys. See PHPBB3-10969.
    • Function remove_remarks(&$sql) was removed. Use phpbb_remove_comments($input) instead. See PHPBB3-10969.

  • phpBB/includes/functions_admin.php
    • Function remove_comments(&$output) was removed. Use phpbb_remove_comments($input) from phpBB/includes/functions_install.php instead. See PHPBB3-10969.

  • phpBB/includes/functions.php
    • Function generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = false, $tpl_prefix = ) was removed. Use phpbb_generate_template_pagination($template, $base_url, $block_var_name, $num_items, $per_page, $start_item = 1, $reverse_count = false, $ignore_on_page = false) instead. See PHPBB3-10968.
    • Function on_page($num_items, $per_page, $start) was removed. Use phpbb_on_page($template, $user, $num_items, $per_page, $start) instead.

  • phpBB/includes/functions_display.php
    • Function topic_generate_pagination($replies, $url) was removed. Use phpbb_generate_template_pagination($template, $base_url, $block_var_name, $num_items, $per_page, $start_item = 1, $reverse_count = false, $ignore_on_page = false) instead. See PHPBB3-10968.

  • phpBB/includes/functions_convert.php
    • Function gen_email_hash($email) has been deprecated. Use phpbb_email_hash($email) instead.

  • phpBB/includes/functions_admin.php
    • Function cache_moderators() has been deprecated. Use phpbb_cache_moderators($db, $cache, $auth) instead.

  • phpBB/includes/functions_admin.php
    • Function update_foes($group_id = false, $user_id = false) has been deprecated. Use phpbb_update_foes($db, $auth, $group_id, $user_id) instead.

  • phpBB/includes/functions_compatability.php
    • Function get_user_avatar($avatar, $avatar_type, $avatar_width, $avatar_height, $alt = 'USER_AVATAR', $ignore_config = false) has been deprecated. Use phpbb_get_avatar($row, $alt, $ignore_config) instead.

  • phpBB/includes/functions_compatability.php
    • Function phpbb_hash($password) has been deprecated. Use $passwords_manager->hash($password) instead.

  • phpBB/includes/functions_compatability.php
    • Function phpbb_check_hash($password, $hash) has been deprecated. Use $passwords_manager->check($password, $hash) instead.

  • phpBB/includes/functions_compatability.php
    • Function phpbb_clean_path($path) has been deprecated. Use $phpbb_path_helper->clean_path($path) instead. See PHPBB3-12250.

  • phpBB/includes/functions.php
    • Function set_config() has been deprecated. Use $config->set($key, $value, $cache = true) instead. See PHPBB3-9988.

  • phpBB/includes/functions.php
    • Function request_var() has been deprecated. Use $request->variable() instead. See PHPBB3-9716.

  • phpBB/includes/functions.php
    • Function set_config_count() has been deprecated. Use $config->increment() instead.

  • phpBB/includes/functions.php
    • Function tz_select($default = '', $truncate = false) has been deprecated. Use phpbb_timezone_select($user, $default, $truncate) instead.

  • phpBB/includes/functions.php
    • Function add_log() has been deprecated. Use $phpbb_log->add() instead. See PHPBB3-10714.

  • phpBB/includes/functions.php
    • Function set_var(&$result, $var, $type, $multibyte = false) has been deprecated. Use $type_cast_helper->set_var() instead. See PHPBB3-9716.

  • phpBB/includes/functions_install.php
    • Function get_tables(&$db) has been deprecated. Use $db_tools->sql_list_tables() instead. See PHPBB3-8240.