phpBB 2.0.13 to phpBB 2.0.14 Code Changes



These are the Changes from phpBB 2.0.13 to phpBB 2.0.14 summed up into a little Mod. This might be very helpful if you want to update your Board and have installed a bunch of Mods. Then it's normally easier to apply the Code Changes than to install all Mods again.

When you find a 'AFTER, ADD'-Statement, the Code have to be added after the last line quoted in the 'FIND'-Statement.
When you find a 'BEFORE, ADD'-Statement, the Code have to be added before the first line quoted in the 'FIND'-Statement.
When you find a 'REPLACE WITH'-Statement, the Code quoted in the 'FIND'-Statement have to be replaced completely with the quoted Code in the 'REPLACE WITH'-Statement.

After you have finished this tutorial, you have to upload the install/update_to_latest.php file, execute it and then delete it from your webspace.


Furthermore, please remove the file db/oracle.php from your webspace.

  • admin/admin_styles.php




  1. FIND - Line 78
    2.0.13 Code:


             include($phpbb_root_path. "templates/" . $install_to . "/theme_info.cfg");



    REPLACE WITH
    2.0.14 Code:


             include($phpbb_root_path. "templates/" . basename($install_to) . "/theme_info.cfg");




  2. FIND - Line 742
    2.0.13 Code:


             $fp = @fopen($phpbb_root_path . 'templates/' . $template_name . '/theme_info.cfg', 'w');



    REPLACE WITH
    2.0.14 Code:


             $fp = @fopen($phpbb_root_path . 'templates/' . basename($template_name) . '/theme_info.cfg', 'w');



  • admin/page_header_admin.php




  1. FIND - Line 38
    2.0.13 Code:


       $useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;



    REPLACE WITH
    2.0.14 Code:


       $useragent = (isset($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) ? $HTTP_SERVER_VARS['HTTP_USER_AGENT'] : getenv('HTTP_USER_AGENT');



  • admin/page_footer_admin.php




  1. FIND - Line 36
    2.0.13 Code:


       'PHPBB_VERSION' => '2' . $board_config['version'],



    REPLACE WITH
    2.0.14 Code:


       'PHPBB_VERSION' => ($userdata['user_level'] == ADMIN && $userdata['user_id'] != ANONYMOUS) ? '2' . $board_config['version'] : '',



  • db/postgres7.php




  1. FIND - Line 125
    2.0.13 Code:


             $query = preg_replace("/LIMIT ([0-9]+),([ 0-9]+)/", "LIMIT \\2 OFFSET \\1", $query);



    AFTER, ADD
    2.0.14 Code:


             $query = preg_replace('#(.*WHERE.*)(username|user_email|ban_email) = \'(.*)\'#ise', "\"\\1LOWER(\\2) = '\" . strtolower('\\3') . \"'\"", $query);



  • includes/page_header.php




  1. FIND - Line 38
    2.0.13 Code:


       $useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;



    REPLACE WITH
    2.0.14 Code:


       $useragent = (isset($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) ? $HTTP_SERVER_VARS['HTTP_USER_AGENT'] : getenv('HTTP_USER_AGENT');




  2. FIND - Line 469
    2.0.13 Code:


    if (!empty($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache/2'))



    REPLACE WITH
    2.0.14 Code:


    if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))



  • includes/sessions.php




  1. FIND - Line 53
    2.0.13 Code:


          $session_id = '';
       }




    AFTER, ADD
    2.0.14 Code:


       $page_id = (int) $page_id;





  2. FIND - Line 92
    2.0.13 Code:


                   // No match; don't login, set as anonymous user
                   $login = 0;
                   $enable_autologin = 0;
                   $user_id = $userdata['user_id'] = ANONYMOUS;



    AFTER, ADD
    2.0.14 Code:


                
                   $sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS;
                   $result = $db->sql_query($sql);
                   $userdata = $db->sql_fetchrow($result);
                   $db->sql_freeresult($result);




  3. FIND - Line 105
    2.0.13 Code:


                // Autologin is not set. Don't login, set as anonymous user
                $login = 0;
                $enable_autologin = 0;
                $user_id = $userdata['user_id'] = ANONYMOUS;



    AFTER, ADD
    2.0.14 Code:



                $sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS;
                $result = $db->sql_query($sql);
                $userdata = $db->sql_fetchrow($result);
                $db->sql_freeresult($result);




  4. FIND - Line 244
    2.0.13 Code:


       //
       // Does a session exist?
       //



    BEFORE, ADD
    2.0.14 Code:


       $thispage_id = (int) $thispage_id;




  • modcp.php




  1. FIND - Line 130
    2.0.13 Code:


          message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
       }
       $topic_row = $db->sql_fetchrow($result);




    AFTER, ADD
    2.0.14 Code:


       if (!$topic_row)
       {
          message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
       }





  2. FIND - Line 150
    2.0.13 Code:


          message_die(GENERAL_MESSAGE, 'Forum_not_exist');
       }
       $topic_row = $db->sql_fetchrow($result);



    AFTER, ADD
    2.0.14 Code:



       if (!$topic_row)
       {
          message_die(GENERAL_MESSAGE, 'Forum_not_exist');
       }



  • privmsg.php




  1. FIND - Line 566
    2.0.13 Code:


       if ( !$board_config['allow_html'] )
       {
          if ( $user_sig != '' && $privmsg['privmsgs_enable_sig'] && $userdata['user_allowhtml'] )



    REPLACE WITH
    2.0.14 Code:


       if ( !$board_config['allow_html'] || !$userdata['user_allowhtml'])
       {
          if ( $user_sig != '')




  2. FIND - Line 1531
    2.0.13 Code:


          if ( !$html_on )
          {
             if ( $user_sig != '' || !$userdata['user_allowhtml'] )



    REPLACE WITH
    2.0.14 Code:


          if ( !$html_on || !$board_config['allow_html'] || !$userdata['user_allowhtml'] )
          {
             if ( $user_sig != '' )



  • search.php




  1. FIND - Line 200
    2.0.13 Code:


                $search_author = str_replace('*', '%', trim($search_author));



    BEFORE, ADD
    2.0.14 Code:


                if (preg_match('#^[\*%]+$#', trim($search_author)) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($search_author))))
                {
                   $search_author = '';
                }





  2. FIND - Line 269
    2.0.13 Code:



             for($i = 0; $i < count($split_search); $i++)
             {



    AFTER, ADD
    2.0.14 Code:


                if (preg_match('#^[\*%]+$#', trim($split_search[$i])) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($split_search[$i]))))
                {
                   $split_search[$i] = '';
                   continue;
                }





  3. FIND - Line 416
    2.0.13 Code:


          // Author name search
          //
          if ( $search_author != '' )
          {



    AFTER, ADD
    2.0.14 Code:


             if (preg_match('#^[\*%]+$#', trim($search_author)) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($search_author))))
             {
                $search_author = '';
             }




  • viewtopic.php




  1. FIND - Line 1052
    2.0.13 Code:


       if ( !$board_config['allow_html'] )
       {
          if ( $user_sig != '' && $userdata['user_allowhtml'] )



    REPLACE WITH
    2.0.14 Code:


       if ( !$board_config['allow_html'] || !$userdata['user_allowhtml'])
       {
          if ( $user_sig != '' )




  2. FIND - Line 1122
    2.0.13 Code:


             $user_sig = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $user_sig . '<'), 1, -1));
          }

          $message = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $message . '<'), 1, -1));



    REPLACE WITH
    2.0.14 Code:


             $user_sig = str_replace('\"', '"', substr(@preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "@preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $user_sig . '<'), 1, -1));
          }

          $message = str_replace('\"', '"', substr(@preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "@preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $message . '<'), 1, -1));