Menu

IPBWiki and IPB 3.3

Help
balerion
2012-03-24
2013-05-28
1 2 > >> (Page 1 of 2)
  • balerion

    balerion - 2012-03-24

    Anyone know how compatible these are right now? Or does IPBWiki need some work to get it compatible with the latest version of the forum?

     
  • Peter Newman

    Peter Newman - 2012-03-24

    People only needed to make a few minor tweaks to get 3.2 working. They're mentioned on the forum although they haven't all made it into a proper release yet. As long as 3.3 doesn't have too many major changes, then hopefully it should be reasonably smooth.

    You're the first person to ask about 3.3 here, so either it just works and no-ones said anything (probably unlikely) or no-one has tried yet.

    The best thing, if it's possible for you, is to set it up on a test forum and let us know what happens/what errors it throws, and we can hopefully work round most of them reasonably easily.

     
  • Ruedy

    Ruedy - 2012-04-03

    It works fine!

     
  • Peter Newman

    Peter Newman - 2012-04-03

    That's great news. Did you have to change anything at all?

     
  • balerion

    balerion - 2012-04-22

    Alas, since upgrading, we seem to have not had the bridge working properly for some reason. Users on our forum are not getting access to editing on the wiki.

    Anyone have any suggestions on that score, things I can do to figure out the problem?

     
  • Richard Rees

    Richard Rees - 2012-05-13

    Trying to use IPB 3.3.2 and MEDIAWIKI 1.19.0 with IPBWIKI 3.0 but all I get is DRIVER ERROR can this work, or should I go back to earlier versions?

     
  • Anonymous

    Anonymous - 2012-06-16

    Fixed ipbwiki_setup.php, just copy and paste (Install works on IP.Board 3.3.2)

    Removed MySQL Columns:
    - sys_module_parent
    - sys_module_tables
    - sys_module_hooks

    <?php
    /*
    +--------------------------------------------------------
    | Package: IpbWiki Core
    | Copyright (c) 2006-2011 Peter De Decker
    | http://www.ipbwiki.com
    +--------------------------------------------------------
    */
    if (file_exists ('initdata.php')) {
      //Load init data if present
      require_once( 'initdata.php' );
    } else {
      //Set some defaults
      define( 'CP_DIRECTORY', 'admin' );
    }
    if (!defined('WRK_DIR')) {
        define ('WRK_DIR', getcwd());
    }
    if (!defined('KERNEL_PATH')) {
        define ('KERNEL_PATH', 'ips_kernel/');
        define ('IPS_KERNEL_PATH', 'ips_kernel/');
    }
    define( 'IPB_THIS_SCRIPT' , 'admin'   );
    define( 'IPB_LOAD_SQL'    , 'admin_queries' );
    define( 'IN_IPB', 0 );
    define('IPBWIKI', 1);
    define('IPBWIKI_LONG_VER', 22004);
    define('IPBWIKI_HUMAN_VER', '2.2.4');
    class ipbwiki_setup {
      // constructor, will take care of the program flow...
        function ipbwiki_setup () {
            switch (isset($_GET['act']) && ($_GET['act']))
            {
                case 'check_entries':
                    $this->check_entries();
                    break;
                default:
                    $this->entry();
                    break;
            }
        }
        function print_top($title="")
        {
            echo "<html>
                      <head><title>IpbWiki Set Up : $title </title>
                      <style type='text/css'>
                        body {
                            font: x-small sans-serif;
                            background: #f9f9f9 url(headbg.jpg) 0 0 no-repeat;
                            color: black;
                            margin: 0;
                            padding: 0;
                        }
                        table {
                            font-size: 100%;
                            background: transparent;
                            color: black;
                        }
                        td {
                            text-align: left;
                        }
                        a {
                            text-decoration: none;
                            color: #002bb8;
                            background: none;
                        }
                        a:visited {
                            color: #5a3696;
                        }
                        a:active {
                            color: #faa700;
                        }
                        a:hover {
                            text-decoration: underline;
                        }
                      </style>
                      </head>
                     <body marginheight='0' marginwidth='0' leftmargin='30' topmargin='30' bgcolor='#FFFFFF'><center><table width='80%'>
                     <H1>IpbWiki Set Up : $title</H1>
                     <br />
                     ";
        }
        function print_footer () {
            echo "</table></center></body></html>";
        }
        function add_row ($text) {
            echo "<tr><td>$text</td></tr>";
        }
        function entry() {
            $this->print_top ('Checking configuration.');
            if ( !file_exists ('conf_global.php') ) {
                echo "<td><p><form method='post' action='?act=re-entry'><B>The file conf_global.php does not exist. Please set up Invision Power Board first before you install IpbWiki.<BR>Click the button below to try again.<p><input type='submit' value='Try Again'></form></td>";
                $this->print_footer();
                return;
            }
            // IPB 1.3
            if (file_exists ('sources/admin/admin_pages.php')) {
                if ( ! is_writable ('sources/Admin/admin_pages.php')) {
                    echo "<td><p><form method='post' action='?act=re-entry'><B>The file sources/Admin/admin_pages.php is not writable, please chmod it to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                    $this->print_footer();
                    return;
                }
                if ( ! is_writable ('admin.php')) {
                    echo "<td><p><form method='post' action='?act=re-entry'><B>The file admin.php is not writable, please chmod it to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                    $this->print_footer();
                    return;
                }
                if ( ! is_writable ('index.php')) {
                    echo "<td><p><form method='post' action='?act=re-entry'><B>The file index.php is not writable, please chmod it to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                    $this->print_footer();
                    return;
                }
            }
            // IPB 2.0
            if (file_exists ('sources/admin/admin_pages.php')) {
                if ( ! is_writable ('sources/admin/admin_pages.php')) {
                    echo "<td><p><form method='post' action='?act=re-entry'><B>The file sources/admin/admin_pages.php is not writable, please chmod it to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                    $this->print_footer();
                    return;
                }
                if ( ! is_writable ('admin.php')) {
                    echo "<td><p><form method='post' action='?act=re-entry'><B>The file admin.php is not writable, please chmod it to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                    $this->print_footer();
                    return;
                }
                if ( ! is_writable ('index.php')) {
                    echo "<td><p><form method='post' action='?act=re-entry'><B>The file index.php is not writable, please chmod it to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                    $this->print_footer();
                    return;
                }
                if ( ! is_writable('sources/online.php')) {
                    echo "<td><p><form method='post' action='?act=re-entry'><B>The file sources/online.php is not writable, please chmod it to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                    $this->print_footer();
                    return;
                }
            }
            
            echo "<td><p><form method='post' action='?act=check_entries'>configuration prerequisites ok, please click the button to Start the installation.<BR><BR><input type='submit' value='Start Install'></form></td>";
            $this->print_footer();
        }
        function do_replace ($in) {
            if (strpos($in,base64_decode('aHR0cDovL3d3dy5pcGJ3aWtpLmNvbQ==')) === FALSE) {
                        $in = str_replace(base64_decode('PCUgQ09QWVJJR0hUICU+'),base64_decode('PCEtLSAtLT4gPGRpdiBjbGFzcz0nY29weXJpZ2h0MicgYWxpZ249J2NlbnRlcic+QnJpZGdlZCBCeSA8QSBIUkVGPWh0dHA6Ly93d3cuaXBid2lraS5jb20gc3R5bGU9J3RleHQtZGVjb3JhdGlvbjpub25lJyB0YXJnZXQ9J19ibGFuayc+SXBiV2lraTogSW50ZWdyYXRpb24gT2YgSW52aXNpb24gUG93ZXIgQm9hcmQgYW5kIE1lZGlhV2lraTwvQT4gJmNvcHk7IDxBIEhSRUY9aHR0cDovL3d3dy5nbG9iYWxzb2Z0LmJlIHN0eWxlPSd0ZXh0LWRlY29yYXRpb246bm9uZScgdGFyZ2V0PSdfYmxhbmsnPkdsb2JhbFNvZnQ8L0E+PC9kaXY+PCUgQ09QWVJJR0hUICU+'),$in);
            }
            $in = str_replace("'","''",$in);
            $in = str_replace("\\","\\\\",$in);
            return $in;
        }
        
        function do_css ($css) {
                if (strlen($css)>0) {
                    if (strpos($css,'.copyright2') === FALSE) { 
              $pos = strpos($css,'.copyright');
              if ($pos !== FALSE) {
                            $pos2 = strpos($css,'}',$pos); 
                            $str=substr($css,$pos,$pos2-$pos+1);
                            $temp = '';
                            $remember = FALSE;
                            $result = '.copyright2 { ';
                            for ($i=1; $i<=strlen($str); $i++) {
                                if ((substr($str,$i,1) == '{') or (substr($str,$i,1) == ';')) {
                                    if ($remember) {
                                        $result .= $temp . ';';
                    }
                                    $temp = '';
                                    $remember = FALSE;
                  } else if (substr($str,$i,1) == ':') {
                                    if ((trim($temp) == 'background') or (trim($temp) == 'font-size') or (trim($temp) == 'color')) {
                                        $remember = true;
                                        $temp .= substr($str,$i,1);
                                    }
                                } else {
                                    $temp .= substr($str,$i,1);
                                }
                            }
                            $result .= ' }';
                            $css .= "\r\n" . $result;
                        }
                    }
                    $css = str_replace ("'","''",$css);
          }
          return $css;
        }
        function check_entries() {
            $ipb13 = 0;
            $ipb20 = 0;
            $ipb21 = 0;
            $ipb22 = 0;
            $ipb30 = 0;
            // double check!
            // check if it is the invision power board directory they passed us on...
            if ( file_exists (CP_DIRECTORY . '/api/api_core.php')) {
                $ipb30 = 1;
                $this->print_top ("Installing...");            
            } else {
                if ( !file_exists ("conf_global.php")) {
                    $this->print_top ('Configuration Error.');
                    echo "<td><p><form method='post' action='?act=re-entry'><B>The file conf_global.php does not exist.<BR>Click the below button to go back to the entry screen where you can correct the path.<p><input type='submit' value='Try Again'></form></td>";
                    $this->print_footer();
                    return;
                }
                // we have to import the xml on a 2.1 board anyway, assume if the xml exists that it is a 2.1+ board...
                if (file_exists ('ipbwiki.xml')) {
                    if (file_exists ('converge_local/converge.php')) {
                        $ipb22 = 1;
                    } else {
                        $ipb21 = 1;
                    }
                } else {
                    if (file_exists ('ips_kernel/class_db_mysql.php')) {
                        $ipb20 = 1;
                    } else {
                        $ipb13 = 1;
                    }
                }
        
                if (($ipb20 == 1) or ($ipb13 == 1)) {
                    // check if we need to modify admin.php
                    // reset flag & counters...
                    $settings1_found = false;
                    $i1 = 0;
                    $j1 = 0;
    
                    $fp = fopen('admin.php', 'r');
                    while( !feof($fp) ) {
                        $str = fgets($fp);
                        // 2.0
                        if (trim($str) === "'ipbwiki'   => array( 'ipbwiki'         , 'ipbwiki'),            // <-- this line was automatically added by the IPBWiki Installer.") {
                            $settings1_found = true;
                        }
                        // 1.3
                        if (trim($str) === "'ipbwiki'    => 'ipbwiki',  // <-- this line was automatically added by the IPBWiki Installer.") {
                            $settings1_found = true;
                        }
                        if (($ipb20 == 1) and (trim($str) === "'emailerror'=> array( 'emailerror'      , 'emailerror'     ),")) {
                            // target found, let's add the IPBWIKI Settings...
                            if (!$settings1_found) {
                                $arr1[$i1++] = "                     'ipbwiki'   => array( 'ipbwiki'         , 'ipbwiki'),            // <-- this line was automatically added by the IPBWiki Installer.\n";
                            }
                        }
                        if (($ipb13 == 1) and (trim($str) === "'csite'     => 'ad_dynamiclite',")) {
                            if (!$settings1_found) {
                                $arr1[$i1++] = "                     'ipbwiki'    => 'ipbwiki',  // <-- this line was automatically added by the IPBWiki Installer.\n";
                            }
                        }
                        $arr1[$i1++] = $str;
                    }
                    fclose($fp);
        
                    // check if we need to modify sources/admin/admin_pages.php (we do this check before so that we don't have to bother the user in the middle of the install to chmod a file we're not going to change anyway)
                    // reset flag & counters...
                    $settings2_found = false;
                    $added_to_settings2 = false;
                    $i2 = 0;
                    $j2 = 0;
    
                    if ($ipb13 == 1) {
                        $fp = fopen('sources/admin/admin_pages.php', 'r');
                    } else {
                        $fp = fopen('sources/admin/admin_pages.php', 'r');
                    }
                    while( !feof($fp) )
                    {
                        $str = fgets($fp);
                  if (trim($str) === "// IpbWiki Administration Plugin") {
                      $settings2_found = true;
                    }
                        if (($settings2_found) and (trim($str) === "2 => array( 'IpbWiki Group Access',  'act=ipbwiki'),")) {
                            $added_to_settings2 = true;
                            $arr2[$i2++] = "                                   2 => array( 'IpbWiki Discussion', 'act=ipbwiki&code=discussion'),\n";
                            $str         = "                                   3 => array( 'IpbWiki Group Access',  'act=ipbwiki'),\n";
                        }
                        if (($settings2_found) and (trim($str) === "3 => array( 'IpbWiki Group Access',  'act=ipbwiki'),")) {
                            $added_to_settings2 = true;
                            $arr2[$i2++] = "                                   3 => array( 'IpbWiki SEO', 'act=ipbwiki&code=seo'),\n";
                            $str         = "                                   4 => array( 'IpbWiki Group Access',  'act=ipbwiki'),\n";
                        }
                        if (($settings2_found) and (trim($str) === "4 => array( 'IpbWiki Group Access',  'act=ipbwiki'),")) {
                            $added_to_settings2 = true;
                            $arr2[$i2++] = "                                   4 => array( 'IpbWiki Namespaces', 'act=ipbwiki&code=namespaces'),\n";
                            $str         = "                                   5 => array( 'IpbWiki Group Access',  'act=ipbwiki'),\n";
                        }
                        if (($settings2_found) and (trim($str) === "5 => array( 'IpbWiki Group Access',  'act=ipbwiki'),")) {
                            $added_to_settings2 = true;
                            $arr2[$i2++] = "                                   5 => array( 'IpbWiki Copyright Removal',  'act=ipbwiki&code=copyrightremoval'),\n";
                            $str         = "                                   6 => array( 'IpbWiki Group Access', 'act=ipbwiki'),\n";
                        }
                        if (($settings2_found) and (trim($str) === "6 => array( 'IpbWiki Group Access', 'act=ipbwiki'),")) {
                            $added_to_settings2 = true;
                            $arr2[$i2++] = "                                   6 => array( 'IpbWiki Skin',  'act=ipbwiki&code=skin'),\n";
                            $str         = "                                   7 => array( 'IpbWiki Group Access', 'act=ipbwiki'),\n";
                        }
                        if (trim($str) === '?>') {
                            // end of php found, let's add the IPBWIKI Settings...
                            if (!$settings2_found) {
                                $arr2[$i2++] = "// The settings below were automatically added by the IpbWiki installer.\n";
                                $arr2[$i2++] = "// If you make manual changes, please keep track in case you need to\n";
                                $arr2[$i2++] = "// recreate them later.\n";
                                $arr2[$i2++] = "\n";
                                $arr2[$i2++] = "// IpbWiki Administration Plugin\n";
                                $arr2[$i2++] = "\$PAGES[count(\$PAGES)+1] = array (\n";
                                $arr2[$i2++] = "                                   1 => array( 'IpbWiki Configuration', 'act=ipbwiki&code=setup'),\n";
                                $arr2[$i2++] = "                                   2 => array( 'IpbWiki Discussion',    'act=ipbwiki&code=discussion'),\n";
                                $arr2[$i2++] = "                                   3 => array( 'IpbWiki SEO',  'act=ipbwiki&code=seo'),\n";
                                $arr2[$i2++] = "                                   4 => array( 'IpbWiki Namespaces',  'act=ipbwiki&code=namespaces'),\n";
                                $arr2[$i2++] = "                                   5 => array( 'IpbWiki Copyright Removal',  'act=ipbwiki&code=copyrightremoval'),\n";
                                $arr2[$i2++] = "                                   6 => array( 'IpbWiki Skin',  'act=ipbwiki&code=skin'),\n";
                                $arr2[$i2++] = "                                   7 => array( 'IpbWiki Group Access',  'act=ipbwiki'),\n";
                                $arr2[$i2++] = "                                  );\n";
                                if ($ipb13 == 1) {
                                    $arr2[$i2++] = "\$CATS[count(\$CATS)+1]   = 'IpbWiki';\n";
                                } else {
                                    $arr2[$i2++] = "\$CATS[count(\$CATS)+1]   = array( 'IpbWiki'           , '#F9FFA2' );\n";
                                }
                                $arr2[$i2++] = "\$DESC[count(\$DESC)+1]   = 'Manage your IpbWiki.';\n";
                                $arr2[$i2++] = "\n";
                            }
                        }
                        $arr2[$i2++] = $str;
                    }
                    fclose($fp);
        
                    // check if we need to modify index.php
                    // reset flag & counters...
                    $settings3_found = false;
                    $i3 = 0;
                    $j3 = 0;
    
                    $fp = fopen('index.php', 'r');
                    while( !feof($fp) ) {
                        $str = fgets($fp);
                        // 2.0
                        if (trim($str) === "'ipbwiki_discussion' => array ('ipbwiki_discussion', 'ipbwiki_discussion' ), // <-- this line was automatically added by the IPBWiki Installer.") {
                            $settings3_found = true;
                        }
                        // 1.3
                        if (trim($str) === "'ipbwiki_discussion'   => 'ipbwiki_discussion',  // <-- this line was automatically added by the IPBWiki Installer.") {
                            $settings3_found = true;
                        }
                        if (($ipb20 == 1) and (trim($str) === "'findpost'   => array( 'findpost'           , 'findpost'      ),")) {
                            // target found, let's add the IPBWIKI Settings...
                            if (!$settings3_found) {
                                $arr3[$i3++] = "                 'ipbwiki_discussion' => array ('ipbwiki_discussion', 'ipbwiki_discussion' ), // <-- this line was automatically added by the IPBWiki Installer.\n";
                            }
                        }
                        if (($ipb13 == 1) and (trim($str) === "'module'   => 'modules',")) {
                            if (!$settings3_found) {
                                $arr3[$i3++] = "                 'ipbwiki_discussion'   => 'ipbwiki_discussion',  // <-- this line was automatically added by the IPBWiki Installer.\n";
                            }
                        }
                        $arr3[$i3++] = $str;
                    }
                    fclose($fp);
        
                    // check if we need to modify sources/online.php
                    // reset flag & counters...
                    $settings4_found = false;
                    $i4 = 0;
                    $j4 = 0;
                    $cnt = 0;
        
                    $fp = fopen('sources/online.php', 'r');
                    while( !feof($fp) ) {
                        $str = fgets($fp);
                        // 2.0
                        if (trim($str) === "// MOD: IpbWiki") {
                            $settings4_found = true;
                        }
                        if (trim($str) === '$line = " {$ibforums->lang['. "'board_index'". ']}";'  ) {
                            $cnt++;
                        }
                        if (($cnt == 2) and (trim($str)==="}")) {
                            $cnt++;
                        } else if (($cnt == 3) and (trim($str)==="}")) {
                            $cnt++;
                        }
                        if ($cnt == 4) {
                            // target found, let's add the IPBWIKI Settings...
                            $arr4[$i4++] = $str;
                            $arr4[$i4++] = "                // MOD: IpbWiki\r\n";
                            $arr4[$i4++] = '                if ($sess[' . "'location'] == 'mod:ipbwiki') {\r\n";
                            $arr4[$i4++] = "                    \$line = \" <a href='{\$sess['location_1_type']}'>Viewing {\$sess['location_2_type']}</a> \";\r\n";
                            $str         = "                }\r\n";
                            $cnt = 999;
                        }
                        $arr4[$i4++] = $str;
                    }
                    fclose($fp);
        
        
                    // double check!
                    // check if we have write access on the sources/online.php file
                    if (!$settings4_found) {
                        if ( ! is_writable ('sources/online.php') ) {
                            echo "<td><p><form method='post' action='?act=re-entry'><B>The file sources/online.php is not writable, please chmod it to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                            $this->print_footer();
                            return;
                        }
                    }
                    // check if we have write access on the forum admin_pages.php file...
                    if ($ipb13 == 1) {
                        $admin_pages = 'sources/Admin/admin_pages.php';
                    } else {
                        $admin_pages = 'sources/admin/admin_pages.php';
                    }
                    if (( ! $settings2_found) or ($added_to_settings2)) {
                        if ( ! is_writable ($admin_pages)) {
                            $this->print_top ('Checking file access permissions.');
                            // let's also check admin.php while we're busy...
                            if ( ! $settings1_found and ! is_writable ('admin.php')) {
                                echo "<td><p><form method='post' action='?act=re-entry'><B>The files admin.php and " . $admin_pages . " are not writable, please chmod them to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                            } else {
                                echo "<td><p><form method='post' action='?act=re-entry'><B>The file " . $admin_pages . " is not writable, please chmod it to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                            }
                            $this->print_footer();
                            return;
                        }
                    }
        
                    // check if we have write access on the forum admin.php file...
                    if ( ! $settings1_found ) {
                        if ( ! is_writable ('admin.php')) {
                            $this->print_top ('Checking file access permissions.');
                            echo "<td><p><form method='post' action='?act=re-entry'><B>The file admin.php is not writable, please chmod it to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                            $this->print_footer();
                            return;
                        }
                    }
        
                    // check if we have write access on the forum admin.php file...
                    if ( ! $settings3_found ) {
                        if ( ! is_writable ('index.php')) {
                            $this->print_top ('Checking file access permissions.');
                            echo "<td><p><form method='post' action='?act=re-entry'><B>The file index.php is not writable, please chmod it to 777, then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                            $this->print_footer();
                            return;
                        }
                    }
        
                    $this->print_top ("Installing...");
    
                    $this->add_row ("Appending IpbWiki processing to ..index.php...");
                    if (! $settings3_found) {
                        $fp = fopen('index.php', 'w');
                        while ($j3 <= $i3) {
                            fwrite ($fp, $arr3[$j3++]);
                        }
                        fclose ($fp);
                    } else {
                        $this->add_row ('Info: ..index.php was already modified for IpbWiki. Settings not reapplied.');
                    }
    
                    $this->add_row ("Appending IpbWiki processing to ..admin.php...");
                    if (! $settings1_found) {
                        $fp = fopen('admin.php', 'w');
                        while ($j1 <= $i1) {
                            fwrite ($fp, $arr1[$j1++]);
                        }
                        fclose ($fp);
                    } else {
                        $this->add_row ('Info: ..admin.php was already modified for IpbWiki. Settings not reapplied.');
                    }
    
                    $this->add_row ("Appending IpbWiki processing to .." . $admin_pages . "...");
                    if ((! $settings2_found) or ($added_to_settings2)) {
                        $fp = fopen($admin_pages, 'w');
                        while ($j2 <= $i2) {
                            fwrite ($fp, $arr2[$j2++]);
                        }
                        fclose ($fp);
                    } else {
                        $this->add_row ('Info: ..'. $admin_pages . ' was already modified for IpbWiki. Settings not reapplied.');
                    }
    
                    $this->add_row ("Appending IpbWiki processing to ..sources/online.php...");
                    if (! $settings4_found) {
                        $fp = fopen('sources/online.php', 'w');
                        while ($j4 <= $i4) {
                            fwrite ($fp, $arr4[$j4++]);
                        }
                        fclose ($fp);
                    } else {
                        $this->add_row ('Info: ..sources/online.php was already modified for IpbWiki. Settings not reapplied.');
                    }
                } else {
                    $this->print_top ("Installing...");
                }
            }
            require_once ('conf_global.php');
            
            if ($ipb13 == 1) {
                $INFO['sql_driver'] = !$INFO['sql_driver'] ? 'mysql' : $INFO['sql_driver'];
                require ( 'sources/Drivers/'.$INFO['sql_driver']).".php";
                $DB = new db_driver;
                $DB->obj['sql_database']     = $INFO['sql_database'];
                $DB->obj['sql_user']         = $INFO['sql_user'];
                $DB->obj['sql_pass']         = $INFO['sql_pass'];
                $DB->obj['sql_host']         = $INFO['sql_host'];
                $DB->obj['sql_tbl_prefix']   = $INFO['sql_tbl_prefix'];
                $DB->connect();
            } else { 
                if ($ipb30 == 1) {
                    require ('ipbwiki_db.php');
                    $DB = new ipbwiki_db();
                } else { // IPB 2.x
                    $INFO['sql_driver'] = !$INFO['sql_driver'] ? 'mysql' : $INFO['sql_driver'];
                    require ( KERNEL_PATH.'class_db_'.strtolower($INFO['sql_driver']).".php" );
                    if ($ipb21 == 1 or $ipb20 == 1) {
                        $DB = new db_driver;
                    } else { // ipb 2.2 +
                        $classname = "db_driver_".$INFO['sql_driver'];
                        $DB = new $classname;
                    }
                    $DB->obj['sql_database']     = $INFO['sql_database'];
                    $DB->obj['sql_user']         = $INFO['sql_user'];
                    $DB->obj['sql_pass']         = $INFO['sql_pass'];
                    $DB->obj['sql_host']         = $INFO['sql_host'];
                    $DB->obj['sql_tbl_prefix']   = $INFO['sql_tbl_prefix'];
                    $DB->obj['use_shutdown']     = 0;
                    $DB->obj['query_cache_file'] = 'sources/sql/'.strtolower($INFO['sql_driver']).'_queries.php';
                    $DB->obj['debug']            = 0;
                    $DB->connect();
                }
            }
            $ibf_prefix                  = $INFO['sql_tbl_prefix'];
            if ($ipb30 == 1) {
                $DB->query ("SELECT app_id FROM ".$ibf_prefix."core_applications WHERE app_title = 'IpbWiki'");
                if ($row = $DB->fetch_row()) {
                    $app_id = $row[app_id];
                    $DB->query ("UPDATE ".$ibf_prefix."core_applications" .
                                            "    SET app_version = '" . IPBWIKI_HUMAN_VER . "', app_long_version = " . IPBWIKI_LONG_VER . 
                                            "  WHERE app_id = " . $app_id );
                } else {
                    $DB->query ("SELECT MAX(app_id) as app_id FROM ".$ibf_prefix."core_applications");
                    if ($row = $DB->fetch_row()) {
                        $app_id = $row[app_id] + 1;
                        $DB->query ("INSERT INTO ".$ibf_prefix."core_applications" .
                                                "  (app_id, app_title, app_public_title, app_description, app_author, app_version, app_long_version, app_directory, app_added, app_position, app_protected, app_enabled, app_location) " .
                                                "VALUES " .
                                                "  (" . $app_id . ", 'IpbWiki', 'Wiki', 'Integration of Invision Power Board and MediaWiki', 'Peter De Decker', '" . IPBWIKI_HUMAN_VER . "', " . IPBWIKI_LONG_VER . ", 'ipbwiki', 1246304128, 0, 0, 1, 'other') ");
                    }
                }
                
                // admin module
                $DB->query ("SELECT sys_module_id FROM ".$ibf_prefix."core_sys_module WHERE sys_module_title = 'IpbWiki' and sys_module_admin = 1");
                if ($row = $DB->fetch_row()) {
                    $module_id = $row[sys_module_id];
                    $DB->query ("UPDATE ".$ibf_prefix."core_sys_module" .
                                            "    SET sys_module_version = '" . IPBWIKI_HUMAN_VER . "'" .
                                            "  WHERE sys_module_id = " . $module_id );
                } else {
                    $DB->query ("SELECT MAX(sys_module_id) as sys_module_id FROM ".$ibf_prefix."core_sys_module");
                    if ($row = $DB->fetch_row()) {
                        $module_id = $row[sys_module_id] + 1;
                        $sql = "INSERT INTO ".$ibf_prefix."core_sys_module" .
                                                "  (sys_module_id, sys_module_title, sys_module_application, sys_module_key, sys_module_description, sys_module_version, sys_module_protected, sys_module_visible, sys_module_position, sys_module_admin) " .
                                                "VALUES " .
                                                "  (" . $module_id . ", 'IpbWiki', 'ipbwiki', 'ipbwiki', 'IpbWiki: Integration of Invision Power Board and MediaWiki', '" . IPBWIKI_HUMAN_VER . "',  0, 1, 0, 1) ";
                        $DB->query ($sql);
                    }
                }
                
                // public module
                $DB->query ("SELECT sys_module_id FROM ".$ibf_prefix."core_sys_module WHERE sys_module_title = 'IpbWiki' and sys_module_admin = 0");
                if ($row = $DB->fetch_row()) {
                    $module_id = $row[sys_module_id];
                    $DB->query ("UPDATE ".$ibf_prefix."core_sys_module" .
                                            "    SET sys_module_version = '" . IPBWIKI_HUMAN_VER . "'" .
                                            "  WHERE sys_module_id = " . $module_id );
                } else {
                    $DB->query ("SELECT MAX(sys_module_id) as sys_module_id FROM ".$ibf_prefix."core_sys_module");
                    if ($row = $DB->fetch_row()) {
                        $module_id = $row[sys_module_id] + 1;
                        $sql = "INSERT INTO ".$ibf_prefix."core_sys_module" .
                                                "  (sys_module_id, sys_module_title, sys_module_application, sys_module_key, sys_module_description, sys_module_version, sys_module_protected, sys_module_visible, sys_module_position, sys_module_admin) " .
                                                "VALUES " .
                                                "  (" . $module_id . ", 'IpbWiki', 'ipbwiki', 'ipbwiki', 'IpbWiki: Integration of Invision Power Board and MediaWiki', '" . IPBWIKI_HUMAN_VER . "', 0, 1, 0, 0) ";
                        $DB->query ($sql);
                    }
                }
            }
            if (($ipb20 == 0) and ($ipb13 == 0) and ($ipb30 == 0)) { // IPB 2.1, 2.2 or 2.3
                // Load xml class
                require( KERNEL_PATH.'class_xml.php' );
                
                // let's import the xml file...
                if (! file_exists ("ipbwiki.xml")) {
                    echo "<td><p><form method='post' action='?act=re-entry'><B>The file ipbwiki.xml does not exist, please upload the file and then click the button below to try again.<p><input type='submit' value='Try again'></form></td>";
                    $this->print_footer();
                    return;
                }
                // read the file...
                $content = implode( '', @file("ipbwiki.xml") );
                // Get current components.
                $DB->simple_construct( array( 'select' => 'com_id, com_section',
                                              'from'   => 'components',
                                              'order'  => 'com_id' ) );
                $DB->simple_exec();
                while ( $row = $DB->fetch_row() ) {
                    $cur_components[ $row['com_section'] ] = $row['com_id'];
                }
                $xml = new class_xml();
                // Unpack the datafile
                $xml->xml_parse_document( $content );
                // pArse
                $fields = array( 'com_title'   , 'com_description', 'com_author' , 'com_url', 'com_version', 'com_menu_data',
                                 'com_enabled' , 'com_safemode'   , 'com_section', 'com_filename', 'com_url_title', 'com_url_uri' );
                if ( ! is_array( $xml->xml_array['componentexport']['componentgroup']['component'][0]  ) ) {
                    // Ensure [0] is populated
                    $tmp = $xml->xml_array['componentexport']['componentgroup']['component'];
                    unset($xml->xml_array['componentexport']['componentgroup']['component']);
                    $xml->xml_array['componentexport']['componentgroup']['component'][0] = $tmp;
                }
                foreach( $xml->xml_array['componentexport']['componentgroup']['component'] as $id => $item )
                {
                    $newrow = array();
                    foreach( $fields as $f ) {
                        $newrow[$f] = $item[ $f ]['VALUE'];
                    }
                    $DB->force_data_type = array( 'com_version' => 'string' );
                    if ( $cur_components[ $item['com_section']['VALUE'] ] ) { // Update
                        $DB->do_update( 'components', $newrow, 'com_id='.$cur_components[ $item['com_section']['VALUE'] ] );
                    } else { // Insert
                        $newrow['com_date_added'] = time();
                        $DB->do_insert( 'components', $newrow );
                    }
                }
            }
    
            // make a second db connection...
            if ($ipb13 == 1) {
                $INFO['sql_driver'] = !$INFO['sql_driver'] ? 'mysql' : $INFO['sql_driver'];
                //require ( 'sources/Drivers/'.$INFO['sql_driver']).".php" );
                $DB2 = new db_driver;
                $DB2->obj['sql_database']     = $INFO['sql_database'];
                $DB2->obj['sql_user']         = $INFO['sql_user'];
                $DB2->obj['sql_pass']         = $INFO['sql_pass'];
                $DB2->obj['sql_host']         = $INFO['sql_host'];
                $DB2->obj['sql_tbl_prefix']   = $INFO['sql_tbl_prefix'];
                $DB2->connect();
            } else {
                if ($ipb30 == 1) {
                    $DB2 = new ipbwiki_db();
                } else { // IPB 2.x
                    if ($ipb21 == 1 or $ipb20 == 1) {
                        $DB2 = new db_driver;
                    } else { // ipb 2.2 +
                        $DB2 = new $classname;
                    }
                    $DB2->obj['sql_database']     = $INFO['sql_database'];
                    $DB2->obj['sql_user']         = $INFO['sql_user'];
                    $DB2->obj['sql_pass']         = $INFO['sql_pass'];
                    $DB2->obj['sql_host']         = $INFO['sql_host'];
                    $DB2->obj['sql_tbl_prefix']   = $INFO['sql_tbl_prefix'];
                    $DB2->obj['use_shutdown']     = 0;
                    $DB2->obj['query_cache_file'] = 'sources/sql/'.strtolower($INFO['sql_driver']).'_queries.php';
                    $DB2->obj['debug']            = 0;
                    $DB2->connect();
                }
            }
            // add tables to the database...
            if (strcasecmp($INFO['sql_driver'],'mssql') == 0) {
                //-------------------------------------------------------------------------------------------------------------------------------
                // MsSQL
                //-------------------------------------------------------------------------------------------------------------------------------
                $this->add_row ("Adding tables to (mssql) database...");
                $DB->allow_sub_select=1;
                $sql="IF NOT EXISTS (SELECT * FROM sysobjects WHERE name = '" . $ibf_prefix . "ipbwiki_conf') " .
                     "CREATE TABLE " . $ibf_prefix . "ipbwiki_conf (" .
                     "   conf_id    char(10) NOT NULL, " .
                     "   conf_value text, " .
                     "PRIMARY KEY (conf_id) " .
                     ");";
                $res = $DB->query ($sql);
                $DB->allow_sub_select=1;
                $sql="IF NOT EXISTS (SELECT * FROM sysobjects WHERE name = '" . $ibf_prefix . "ipbwiki_group') " .
                     "CREATE TABLE " . $ibf_prefix . "ipbwiki_group (" .
                     "  g_id int NOT NULL, " .
                     "  posts int NOT NULL, " .
                     "  ug_group char(16) NOT NULL default '', " .
                     "  PRIMARY KEY (g_id,posts) " .
                     ");";
                $res = $DB->query ($sql);
                $DB->allow_sub_select=1;
                $sql="IF NOT EXISTS (SELECT * FROM sysobjects WHERE name = '" . $ibf_prefix . "ipbwiki_group_rights') " .
                     "CREATE TABLE " . $ibf_prefix . "ipbwiki_group_rights ( " .
                     "  g_id int NOT NULL, " .
                     // bits for ipbwiki rights...
                     "  ir_read             tinyint default 0, " .
                     "  ir_edit             tinyint default 0, " .
                     "  ir_minoredit        tinyint default 0, " .
                     "  ir_createpage       tinyint default 0, " .
                     "  ir_createtalk       tinyint default 0, " .
                     "  ir_move             tinyint default 0, " .
                     "  ir_delete           tinyint default 0, " .
                     "  ir_deletedhistory   tinyint default 0, " .
                     "  ir_undelete         tinyint default 0, " .
                     "  ir_protect          tinyint default 0, " .
                     "  ir_block            tinyint default 0, " .
                     "  ir_userrights       tinyint default 0, " .
                     "  ir_createaccount    tinyint default 0, " .
                     "  ir_upload           tinyint default 0, " .
                     "  ir_reupload         tinyint default 0, " .
                     "  ir_reuploadshared   tinyint default 0, " .
                     "  ir_rollback         tinyint default 0, " .
                     "  ir_patrol           tinyint default 0, " .
                     "  ir_import           tinyint default 0, " .
                     "  ir_importupload     tinyint default 0, " .
                     "  ir_editinterface    tinyint default 0, " .
                     "  ir_siteadmin        tinyint default 0, " .
                     "  ir_bot              tinyint default 0, " .
                     "  ir_asksql           tinyint default 0, " .
                     "  ir_checkuser        tinyint default 0, " .
                     "  ir_makesysop        tinyint default 0, " .
                     "  ir_viewrate         tinyint default 0, " .
                     "  ir_canrate          tinyint default 0, " .
                     // number of posts required before the right is applied...
                     "  ir_read_posts_req               int default 0, " .
                     "  ir_edit_posts_req               int default 0, " .
                     "  ir_minoredit_posts_req          int default 0, " .
                     "  ir_createpage_posts_req         int default 0, " .
                     "  ir_createtalk_posts_req         int default 0, " .
                     "  ir_move_posts_req               int default 0, " .
                     "  ir_delete_posts_req             int default 0, " .
                     "  ir_deletedhistory_posts_req     int default 0, " .
                     "  ir_undelete_posts_req           int default 0, " .
                     "  ir_protect_posts_req            int default 0, " .
                     "  ir_block_posts_req              int default 0, " .
                     "  ir_userrights_posts_req         int default 0, " .
                     "  ir_createaccount_posts_req      int default 0, " .
                     "  ir_upload_posts_req             int default 0, " .
                     "  ir_reupload_posts_req           int default 0, " .
                     "  ir_reuploadshared_posts_req     int default 0, " .
                     "  ir_rollback_posts_req           int default 0, " .
                     "  ir_patrol_posts_req             int default 0, " .
                     "  ir_import_posts_req             int default 0, " .
                     "  ir_importupload_posts_req       int default 0, " .
                     "  ir_editinterface_posts_req      int default 0, " .
                     "  ir_siteadmin_posts_req          int default 0, " .
                     "  ir_bot_posts_req                int default 0, " .
                     "  ir_asksql_posts_req             int default 0, " .
                     "  ir_checkuser_posts_req          int default 0, " .
                     "  ir_makesysop_posts_req          int default 0, " .
                     "  ir_viewrate_posts_req           int default 0, " .
                     "  ir_canrate_posts_req            int default 0, " .
                     "  PRIMARY KEY (g_id) " .
                     ");";
                $res = $DB->query ($sql);
                $DB->allow_sub_select=1;
                $sql="IF NOT EXISTS (SELECT * FROM sysobjects WHERE name = '" . $ibf_prefix . "ipbwiki_discussion_topic') " .
                     "CREATE TABLE " . $ibf_prefix . "ipbwiki_discussion_topic (" .
                     "   id                         int IDENTITY(1,1) NOT NULL, " .
                     "   topic_id                   int NULL, " .
                     "   member_id                  int NOT NULL, " .
                     "   article_title              varchar(255), " .
                     "   article_url                varchar(255), " .
                     "   article_content            text NULL, " .
                     "   namespace                  int NULL, " .
                     "  PRIMARY KEY (id) " .
                     "); " .
                     "CREATE INDEX idx1_".$ibf_prefix."ipbwiki_discussion_topic ON " . $ibf_prefix . "ipbwiki_discussion_topic ( article_title )";
                $res = $DB->query ($sql);
                $DB->allow_sub_select=1;
                $sql="IF NOT EXISTS (SELECT * FROM sysobjects WHERE name = '" . $ibf_prefix . "ipbwiki_skin') " .
                     "CREATE TABLE IF NOT EXISTS `" . $ibf_prefix . "ipbwiki_skin` (" .
                     "   `skin_id`                      int NOT NULL, " .
                     "   `skin_type`                    int NOT NULL, " .
                     "   `custom_skin_name`             varchar(100) NOT NULL DEFAULT '', " .
                     "   `logo_picture`                 varchar(255) NOT NULL DEFAULT '', " .
                     "    prerendered_css               text NULL, " .
                     "    topmenul                      text NULL, " .
                     "    topmenulc                     text NULL, " .
                     "    topmenur                      text NULL, " .
                     "    topmenurc                     text NULL, " .
                     "    leftmenu                      text NULL, " .
                     "    leftmenuc                     text NULL, " .
                     "  PRIMARY KEY (skin_id) " .
                     ");";
                $res = $DB->query ($sql);
            } else {  // mysql
                //-------------------------------------------------------------------------------------------------------------------------------
                // MySQL
                //-------------------------------------------------------------------------------------------------------------------------------
                $this->add_row ("Adding tables to (mysql) database...");
                $sql="CREATE TABLE IF NOT EXISTS `" . $ibf_prefix . "ipbwiki_conf` (" .
                     "   `conf_id`    char(10) NOT NULL, " .
                     "   `conf_value` text, " .
                     "PRIMARY KEY (conf_id) " .
                     ") TYPE=InnoDB;";
                $res = $DB->query ($sql);
    
                $sql="CREATE TABLE IF NOT EXISTS `" . $ibf_prefix . "ipbwiki_group` (" .
                     "  g_id int(3) NOT NULL, " .
                     "  posts mediumint(6) NOT NULL, " .
                     "  ug_group char(16) NOT NULL default '', " .
                     "  PRIMARY KEY (g_id,posts) " .
                     ") TYPE=InnoDB;";
                $res = $DB->query ($sql);
                $sql="CREATE TABLE IF NOT EXISTS `" . $ibf_prefix . "ipbwiki_group_rights` ( " .
                     "  g_id int(3) NOT NULL, " .
                     // bits for ipbwiki rights...
                     "  ir_read             tinyint(1) default 0, " .
                     "  ir_edit             tinyint(1) default 0, " .
                     "  ir_minoredit        tinyint(1) default 0, " .
                     "  ir_createpage       tinyint(1) default 0, " .
                     "  ir_createtalk       tinyint(1) default 0, " .
                     "  ir_move             tinyint(1) default 0, " .
                     "  ir_delete           tinyint(1) default 0, " .
                     "  ir_deletedhistory   tinyint(1) default 0, " .
                     "  ir_undelete         tinyint(1) default 0, " .
                     "  ir_protect          tinyint(1) default 0, " .
                     "  ir_block            tinyint(1) default 0, " .
                     "  ir_userrights       tinyint(1) default 0, " .
                     "  ir_createaccount    tinyint(1) default 0, " .
                     "  ir_upload           tinyint(1) default 0, " .
                     "  ir_reupload         tinyint(1) default 0, " .
                     "  ir_reuploadshared   tinyint(1) default 0, " .
                     "  ir_rollback         tinyint(1) default 0, " .
                     "  ir_patrol           tinyint(1) default 0, " .
                     "  ir_import           tinyint(1) default 0, " .
                     "  ir_importupload     tinyint(1) default 0, " .
                     "  ir_editinterface    tinyint(1) default 0, " .
                     "  ir_siteadmin        tinyint(1) default 0, " .
                     "  ir_bot              tinyint(1) default 0, " .
                     "  ir_asksql           tinyint(1) default 0, " .
                     "  ir_checkuser        tinyint(1) default 0, " .
                     "  ir_makesysop        tinyint(1) default 0, " .
                     "  ir_viewrate         tinyint default 0, " .
                     "  ir_canrate          tinyint default 0, " .
                     // number of posts required before the right is applied...
                     "  ir_read_posts_req               mediumint(6) default 0, " .
                     "  ir_edit_posts_req               mediumint(6) default 0, " .
                     "  ir_minoredit_posts_req          mediumint(6) default 0, " .
                     "  ir_createpage_posts_req         mediumint(6) default 0, " .
                     "  ir_createtalk_posts_req         mediumint(6) default 0, " .
                     "  ir_move_posts_req               mediumint(6) default 0, " .
                     "  ir_delete_posts_req             mediumint(6) default 0, " .
                     "  ir_deletedhistory_posts_req     mediumint(6) default 0, " .
                     "  ir_undelete_posts_req           mediumint(6) default 0, " .
                     "  ir_protect_posts_req            mediumint(6) default 0, " .
                     "  ir_block_posts_req              mediumint(6) default 0, " .
                     "  ir_userrights_posts_req         mediumint(6) default 0, " .
                     "  ir_createaccount_posts_req      mediumint(6) default 0, " .
                     "  ir_upload_posts_req             mediumint(6) default 0, " .
                     "  ir_reupload_posts_req           mediumint(6) default 0, " .
                     "  ir_reuploadshared_posts_req     mediumint(6) default 0, " .
                     "  ir_rollback_posts_req           mediumint(6) default 0, " .
                     "  ir_patrol_posts_req             mediumint(6) default 0, " .
                     "  ir_import_posts_req             mediumint(6) default 0, " .
                     "  ir_importupload_posts_req       mediumint(6) default 0, " .
                     "  ir_editinterface_posts_req      mediumint(6) default 0, " .
                     "  ir_siteadmin_posts_req          mediumint(6) default 0, " .
                     "  ir_bot_posts_req                mediumint(6) default 0, " .
                     "  ir_asksql_posts_req             mediumint(6) default 0, " .
                     "  ir_checkuser_posts_req          mediumint(6) default 0, " .
                     "  ir_makesysop_posts_req          mediumint(6) default 0, " .
                     "  ir_viewrate_posts_req           int default 0, " .
                     "  ir_canrate_posts_req            int default 0, " .
                     "  PRIMARY KEY (g_id) " .
                     ") TYPE=InnoDB;";
                $res = $DB->query ($sql);
                $sql="CREATE TABLE IF NOT EXISTS `" . $ibf_prefix . "ipbwiki_discussion_topic` (" .
                     "   `id`                           int(10) NOT NULL auto_increment, " .
                     "   `topic_id`                     int(10) NULL, " .
                     "   `member_id`                    int(10) NOT NULL, " .
                     "   `article_title`                varchar(255), " .
                     "   `article_url`                  varchar(255), " .
                     "   `article_content`              text NULL, " .
                     "   `namespace`                    int NULL, " .
                     "  PRIMARY KEY (id), " .
                     "  KEY discussion_topic (article_title) " .
                     ") TYPE=InnoDB;";
                $res = $DB->query ($sql);
                $sql="CREATE TABLE IF NOT EXISTS `" . $ibf_prefix . "ipbwiki_skin` (" .
                        "   `skin_id`                       int(10) NOT NULL, " .
                        "   `skin_type`                 int(1) NOT NULL, " .
                        "   `custom_skin_name`             varchar(100) NOT NULL DEFAULT '', " .
                        "   `logo_picture`                  varchar(255) NOT NULL DEFAULT '', " .
                        "    prerendered_css               text NULL, " .
                        "    topmenul                      text NULL, " .
                        "    topmenulc                     text NULL, " .
                        "    topmenur                      text NULL, " .
                        "    topmenurc                     text NULL, " .
                        "    leftmenu                      text NULL, " .
                        "    leftmenuc                     text NULL, " .
                        "  PRIMARY KEY (skin_id) " .
                        ") TYPE=InnoDB;";
                $res = $DB->query ($sql);
                if (($DB->field_exists( 'article_content', $ibf_prefix.'ipbwiki_discussion_topic') == 0) and ($DB->field_exists( 'article_content', 'ipbwiki_discussion_topic') == 0)) {
                    $this->add_row ("Upgrading ipbwiki_discussion_topic table...");
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_discussion_topic ADD article_content text NULL";
                    $res = $DB->query ($sql);
                }
                if (($DB->field_exists( 'namespace', $ibf_prefix.'ipbwiki_discussion_topic') == 0) and ($DB->field_exists( 'namespace', 'ipbwiki_discussion_topic') == 0)) {
                    $this->add_row ("Upgrading ipbwiki_discussion_topic table...");
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_discussion_topic ADD namespace int NULL";
                    $res = $DB->query ($sql);
                }
                if (($DB->field_exists( 'ir_viewrate', $ibf_prefix.'ipbwiki_group_rights') == 0) and ($DB->field_exists( 'ir_viewrate', 'ipbwiki_group_rights') == 0)) {
                    $this->add_row ("Upgrading ipbwiki_group_rights table...");
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_viewrate tinyint(1) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_canrate tinyint(1) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_viewrate_posts_req mediumint(6) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_canrate_posts_req mediumint(6) default 0";
                    $res = $DB->query ($sql);
                }
    
                if (($DB->field_exists( 'topmenul', $ibf_prefix.'ipbwiki_skin') == 0) and ($DB->field_exists( 'topmenul', 'ipbwiki_skin') == 0)) {
                    $this->add_row ("Upgrading ipbwiki_skin table...");
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_skin ADD topmenul text NULL";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_skin ADD topmenulc text NULL";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_skin ADD topmenur text NULL";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_skin ADD topmenurc text NULL";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_skin ADD leftmenu text NULL";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_skin ADD leftmenuc text NULL";
                    $res = $DB->query ($sql);
                }
                if (($ipb13 == 0) and ($DB->field_exists( 'ir_minoredit', $ibf_prefix.'ipbwiki_group_rights') == 0) and ($DB->field_exists( 'ir_minoredit', 'ipbwiki_group_rights') == 0)) {
                    $this->add_row ("Upgrading ipbwiki_group_rights table...");
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_minoredit tinyint(1) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_createpage tinyint(1) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_createtalk tinyint(1) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_reupload tinyint(1) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_reuploadshared tinyint(1) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_deletedhistory tinyint(1) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_import tinyint(1) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_importupload tinyint(1) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_minoredit_posts_req mediumint(6) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_createpage_posts_req mediumint(6) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_createtalk_posts_req mediumint(6) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_reupload_posts_req mediumint(6) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_reuploadshared_posts_req mediumint(6) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_deletedhistory_posts_req mediumint(6) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_import_posts_req mediumint(6) default 0";
                    $res = $DB->query ($sql);
                    $sql="ALTER TABLE " . $ibf_prefix . "ipbwiki_group_rights ADD ir_importupload_posts_req mediumint(6) default 0";
                    $res = $DB->query ($sql);
                    $this->add_row ("Converting ipbwiki_group bitmasks...");
                    $DB->query ("SELECT * FROM ".$ibf_prefix."ipbwiki_group");
                    while ($group = $DB->fetch_row()) {
                        $mask = 0;
                        if (substr($group['ug_group'],  0, 1) == 1) { $mask += 1; } // read
                        if (substr($group['ug_group'],  1, 1) == 1) { $mask += 2; } // createaccount
                        if (substr($group['ug_group'],  2, 1) == 1) { $mask += 4; } // edit
                        if (substr($group['ug_group'],  3, 1) == 1) { $mask += 64; } // upload
                        if (substr($group['ug_group'],  4, 1) == 1) { $mask += 512; } // move
                        if (substr($group['ug_group'],  5, 1) == 1) { $mask += 1024; } // delete
                        if (substr($group['ug_group'],  6, 1) == 1) { $mask += 4096; } // undelete
                        if (substr($group['ug_group'],  7, 1) == 1) { $mask += 8192; } // protect
                        if (substr($group['ug_group'],  8, 1) == 1) { $mask += 16384; } // block
                        if (substr($group['ug_group'],  9, 1) == 1) { $mask += 32768; } // rollback
                        if (substr($group['ug_group'], 10, 1) == 1) { $mask += 65536; } // patrol
                        if (substr($group['ug_group'], 11, 1) == 1) { $mask += 524288; } // editinterface
                        if (substr($group['ug_group'], 12, 1) == 1) { $mask += 1048576; } // siteadmin
                        if (substr($group['ug_group'], 13, 1) == 1) { $mask += 2097152; } // bot
                        if (substr($group['ug_group'], 14, 1) == 1) { $mask += 4194304; } // asksql
                        if (substr($group['ug_group'], 15, 1) == 1) { $mask += 8388608; } // checkuser
                        if (substr($group['ug_group'], 16, 1) == 1) { $mask += 16777216; } // userrights (useless right if you use ipbwiki)
                        if (substr($group['ug_group'], 17, 1) == 1) { $mask += 33554432; } // makesysop (useless right if you use ipbwiki)
                        $DB2->query ("UPDATE " . $ibf_prefix . "ipbwiki_group SET ug_group='". $mask . "' WHERE g_id=" . $group['g_id'] . " AND posts = " . $group['posts']);
                    }
                }
            }
            if ($ipb30 == 0) {
                $do = 1;
                $DB->query ("select * from ".$ibf_prefix."ipbwiki_conf where conf_id='copyrr'" );
                if ($row = $DB->fetch_row()) {
                    if(strlen($row['conf_value']) > 1) {
                            $do = 0;
                    }
                }
                if (($ipb13 == 0) and ($ipb30 == 0) and ($do == 1)) {
                    $this->add_row("Rebuilding css...");
                    // image url setting
                    $DB->query ("select * from ".$ibf_prefix."conf_settings where conf_key='ipb_img_url'" );
                    if ($row = $DB->fetch_row()) {
                        $ipb_img_url = ( $row['conf_value'] != '' ) ? $row['conf_value'] : $row['conf_default'] ;
                        $ipb_img_url = ($ipb_img_url == '{blank}' ) ? '' : $ipb_img_url;
                    } else {
                        $ipb_img_url = '';
                    }
                    
                    $DB->query ('SELECT set_skin_set_id, set_wrapper,set_cache_wrapper,set_css_method, set_css, set_cache_css, set_image_dir FROM '.$ibf_prefix.'skin_sets');
                    while ($row = $DB->fetch_row()) {
                        $row['set_wrapper'] = $this->do_replace($row['set_wrapper']);
                        $row['set_cache_wrapper'] = $this->do_replace($row['set_cache_wrapper']);
                        if ($row['set_css_method'] == 0) { // WTF???!!!
                            $row['set_css'] = $this->do_css($row['set_css']);
                        } else {
                            $row['set_css'] = $this->do_css($row['set_cache_css']);
                        }
                        $DB2->query ('UPDATE '.$ibf_prefix."skin_sets SET set_css='".$row['set_css']."',set_wrapper='".$row['set_wrapper']."', set_cache_wrapper='".$row['set_cache_wrapper']."' WHERE set_skin_set_id=".$row['set_skin_set_id']);
                        $css  = "/*------------------------------------------------------------------*/\n";
                        $css .= "/* FILE GENERATED BY INVISION POWER BOARD                           */\n";
                        $css .= "/* DO NOT EDIT BY HAND WITHOUT RESYNCHRONISING BACK TO THE DATABASE */\n";
                        $css .= "/* OR CHANGES TO THIS FILE WILL BE LOST WHEN NEXT EDITED FROM THE   */\n";
                        $css .= "/* ADMIN CONTROL PANEL                                              */\n";
                        $css .= "/* STYLE DIRECTORY: <#IMG_DIR#>                                     */\n";
                        $css .= "/* CACHE FILE: Generated: ".gmdate( "D, d M Y H:i:s \G\M\T" )." */\n";
                        $css .= "/*------------------------------------------------------------------*/\n\n";
                        $css .= "/*~START CSS~*/\n\n";
                        $css .= $row['set_css'];
    
                        // make sure directories are correct...
                        $css = str_replace( "url({$row['set_image_dir']}/", "url(style_images/<#IMG_DIR#>/", $css );
                        $css = str_replace( "url(<#IMG_DIR#>/", "url(style_images/<#IMG_DIR#>/", $css );
                        $css = preg_replace( "#url\((style_images/)?\d+?/#i", "url(style_images/<#IMG_DIR#>/", $css );
                        if ( $ipb_img_url ) {
                            if ( ! preg_match( "#/$#", $ipb_img_url ) )
                            {
                                $ipb_img_url .= '/';
                            }
    
                            $css = preg_replace( "#url\(('|\")?style_images/#", "url(\\1{$ipb_img_url}style_images/", $css );
                        }                
                        $css  = str_replace ('<#IMG_DIR#>', $row['set_image_dir'], $css);
                        $css  = str_replace( "\r\n" , "\n", $css );
                        $css  = str_replace( "\r"   , "\n", $css );
                        if ( ! $ipb_img_url ) {
                            $css = preg_replace( '#([\(|\s*|\'])(style_images/)#', '\\1', $css );
                        }
                        $css = str_replace ("\0","",$css);
                        $css_filename = "style_images/css_".$row['set_skin_set_id'].".css";
                        if (is_writable($css_filename)) {
                            if ( $fh = fopen( $css_filename, 'w' ) ) {
                                fwrite ( $fh, $css );
                                fclose($fh);
                            }
                        }
                    }
                }
            }
            if (($ipb30 == 1) and ($do == 1)) {
                $this->add_row("Rebuilding css...");
                // image url setting
                $DB->query ("select * from ".$ibf_prefix."core_sys_conf_settings where conf_key='ipb_img_url'" );
                if ($row = $DB->fetch_row()) {
                    $ipb_img_url = ( $row['conf_value'] != '' ) ? $row['conf_value'] : $row['conf_default'] ;
                    $ipb_img_url = ($ipb_img_url == '{blank}' ) ? '' : $ipb_img_url;
                } else {
                    $ipb_img_url = '';
                }
        }
    
            if (($ipb20 == 0) and ($ipb13 == 0)) { // IPB 2.1 or higher...
                // Enlarge the session table to allow bigger locations...
                $this->add_row ("Enlarging session storage...");
                $DB->query ("ALTER TABLE ". $ibf_prefix ."sessions MODIFY location_1_type VARCHAR(250)"); // will store wiki - url
                $DB->query ("ALTER TABLE ". $ibf_prefix ."sessions MODIFY location_2_type VARCHAR(250)"); // will store wiki - location
    
                // set the wiki link in the board header correctly
                if ($ipb30 == 0) {
                    $DB->query ("SELECT * FROM ".$ibf_prefix."ipbwiki_conf WHERE conf_id='WikiPath'");
                    if ($res = $DB->fetch_row()) {
                        $wiki_path = $res['conf_value'];               
                        $DB->query ("UPDATE ".$ibf_prefix."components SET com_url_uri = '".$wiki_path."' WHERE com_title='IpbWiki'");
                        // update the components cache
                        $components = array();
                        $DB->query ( 'select com_id,com_enabled,com_section,com_filename,com_url_uri,com_url_title,com_position from '.$ibf_prefix.'components where com_enabled=1 order by com_position ASC');
    
                        while ( $r = $DB->fetch_row() )
                        {
                            $components[] = $r;
                        }
    
                        $value = serialize($components);
                        $value = mysql_escape_string($value);
                        $DB->query ('DELETE FROM '.$ibf_prefix."cache_store WHERE cs_key='components'");
                        $DB->query ('INSERT INTO '.$ibf_prefix."cache_store (cs_key,cs_value,cs_extra,cs_array) VALUES ('components','".$value."','','1')");
                    }
                }
            } else { // IPB 1.3 or IPB 2.0 
                if ($DB->field_exists( 'location_1_type', $ibf_prefix.'sessions') == 0) {
                    $this->add_row ("Enhancing session storage...");
                    $DB->query ("ALTER TABLE ". $ibf_prefix ."sessions ADD location_1_type VARCHAR(250)"); // will store wiki - url
                    $DB->query ("ALTER TABLE ". $ibf_prefix ."sessions ADD location_2_type VARCHAR(250)"); // will store wiki - location
                }        
            }
            chdir (WRK_DIR);
            $this->add_row('');
            $this->add_row('');
            $this->add_row('<H3>Securing installation...</H3>');
            $this->add_row('');
            $print='';
            ob_start();  // catch the annoying chmod warnings...
            if ($ipb20 == 1) {
                $print='<tr><td>Please chmod the following files to 644:</td></tr>';
                if (!chmod ('admin.php', 0644)) {
                    $print=$print.'<tr><td>   - forums/admin.php</td></tr>';
                }
                if (!chmod ('/sources/admin/admin_pages.php', 0644)) {
                    $print=$print.'<tr><td>   - forums/sources/admin/admin_pages.php</td></tr>';
                }
            }
            ob_end_clean();
            echo $print;
            $this->add_row('Please <b>delete</b> the <b>ipbwiki_setup.php</b> file in your forums folder. (If you need to reinstall you can always upload it again later.)');
            $this->add_row('');
            $this->add_row('');
            $this->add_row('After you executed the above actions, click the button below to go to your Forum Admin CP Panel.');
            $this->add_row('');
            if ($ipb30 == 1) {
                $this->add_row('When logged in to your Admin CP Panel, go to My Apps -&gt; IpbWiki and assign ipbwiki permissions to all user groups.');
            } else {
                $this->add_row('When logged in to your Admin CP Panel, scroll to the bottom and open the group "IpbWiki" and assign ipbwiki permissions to all user groups.');
            }
    
            if ($ipb30 == 1) {
                echo "<td><p><form method='post' action='" . $INFO['board_url'] . '/' . CP_DIRECTORY . "/index.php'><input type='submit' value='Go to forum Admin CP Panel'></form></td>";        
            } else {
                echo "<td><p><form method='post' action='{$INFO['board_url']}/admin.php'><input type='submit' value='Go to forum Admin CP Panel'></form></td>";
            }
            $this->print_footer();
        }
    
        function txt_stripslashes($t)
        {
            if ( get_magic_quotes_gpc() ) {
                $t = stripslashes($t);
            }
            return $t;
        }
            
        function clean_value($val) {
            $val = str_replace( "&#032;", " ", $val );
            $val = str_replace( "&"            , "&amp;"         , $val );
            $val = str_replace( "<!--"         , "&#60;&#33;--"  , $val );
            $val = str_replace( "-->"          , "--&#62;"       , $val );
            $val = preg_replace( "/<script/i"  , "&#60;script"   , $val );
            $val = str_replace( ">"            , "&gt;"          , $val );
            $val = str_replace( "<"            , "&lt;"          , $val );
            $val = str_replace( "\""           , "&quot;"        , $val );
            $val = preg_replace( "/\n/"        , "<br />"        , $val ); // Convert literal newlines
            $val = preg_replace( "/\\\$/"      , "&#036;"        , $val );
            $val = preg_replace( "/\r/"        , ""              , $val ); // Remove literal carriage returns
            $val = str_replace( "!"            , "&#33;"         , $val );
            $val = str_replace( "'"            , "&#39;"         , $val ); // IMPORTANT: It helps to increase sql query safety.
            $val = $this->txt_stripslashes ($val);
            $val = preg_replace( "/\\\(?!&amp;#|\?#)/", "&#092;", $val );
            return $val;
        }
        function unclean_value ($val) {
            $val = str_replace( "&#60;&#33;--"     , "<!--"      , $val );
            $val = str_replace( "--&#62;"          , "-->"       , $val );
            $val = str_replace( "&#60;script"      , "<script"   , $val );
            $val = str_replace( "&gt;"             , ">"         , $val );
            $val = str_replace( "&lt;"             , "<"         , $val );
            $val = str_replace( "&quot;"           , "\""        , $val );
            $val = str_replace( "<br />"           , "\\n"       , $val ); // Convert literal newlines
            $val = str_replace( "&#036;"           , "\$"        , $val );
            $val = str_replace( "&#33;"            , "!"         , $val );
            $val = str_replace( "&#39;"            , "'"         , $val ); // IMPORTANT: It helps to increase sql query safety.
            $val = str_replace( "&amp;"            , "&"         , $val );
            return $val;
        }       
    }
    new ipbwiki_setup();
    ?>
    
     
  • kappu

    kappu - 2012-06-16

    work fine, im using ipb 3.3.2 and latest mediawiki 1.19,  i just upgrade my board from 3.0 to 3.3.2 :D

     
  • Richard Rees

    Richard Rees - 2012-06-21

    Hi All, I finally managed to get this working the way I want it to, full integration with users and the skin.
    A big thank you to all of you who posted here trying to help out.

    I am using IPB 3.3.3 and MediaWiki 1.19 The site is Here

     
  • Brophy

    Brophy - 2012-07-16

    Hello, I'm getting the following error when trying to install. Im using IPB 3.3.3 and MediaWiki 1.1.9

    mySQL query error: CREATE TABLE IF NOT EXISTS `sys_ipbwiki_conf` (   `conf_id`    char(10) NOT NULL,    `conf_value` text, PRIMARY KEY (conf_id) ) TYPE=InnoDB;
    SQL error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=InnoDB' at line 1
    SQL error code: 1064
    Date: Monday 16th July 2012 11:45:44 AM
     ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     Date: Mon, 16 Jul 2012 11:45:44 +0000
     Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=InnoDB' at line 1
     IP Address: 178.63.28.38 - /ipbwiki_setup.php?act=check_entries
     ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     mySQL query error: CREATE TABLE IF NOT EXISTS `sys_ipbwiki_conf` (   `conf_id`    char(10) NOT NULL,    `conf_value` text, PRIMARY KEY (conf_id) ) TYPE=InnoDB;
     .--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
     | File                                                                       | Function                                                                      | Line No.          |
     |----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
     | G:\Websites\saesrpg.net\ipbwiki_setup.php                                  | [ipbwiki_db].query                                                            | 821               |
     '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
     | G:\Websites\saesrpg.net\ipbwiki_setup.php                                  | [ipbwiki_setup].check_entries                                                 | 42                |
     '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
     | G:\Websites\saesrpg.net\ipbwiki_setup.php                                  | [ipbwiki_setup].ipbwiki_setup                                                 | 1227              |
     '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'</textarea>
    
     
  • Brophy

    Brophy - 2012-07-16

    I resolved it by changing all instances of Type=InnoDB to ENGINE=InnoDB

     
  • Peter Newman

    Peter Newman - 2012-07-16

    Dirkseer, could you let us know what changes you had to make please, so we can integrate them and others can benefit too.

    Thanks brophy-uk, this has been noted, and fixed in Subversion, but we've not done a new release yet.

     
  • Anonymous

    Anonymous - 2012-08-11

    I`ve try to integrate wiki with IpbWiki on 3.3.3.
    Without success  yet.
    Install on wiki and ipb just not began because on "detabase error".
    But.. IPB works, wiki works, and what can be problem?

     
  • Peter Newman

    Peter Newman - 2012-08-12

    ssm_ssm, can you either try janvier123's code in post 7, and/or replacing Type=InnoDB to ENGINE=InnoDB as brophy-uk mentions. This partly depends on if you upgraded or it's a fresh install, and what version of MySQL you're using. If you use  janvier123's code, and then replace Type=InnoDB to ENGINE=InnoDB, it should work in all instances.

    We're looking to get something generic enough to work across all recent IPB installs soon. There's an initial version you can try here, which might not be perfect:
    http://ipbwiki.svn.sourceforge.net/viewvc/ipbwiki/Ipb20/forum/ipbwiki_setup.php?content-type=text%2Fplain

     
  • Anonymous

    Anonymous - 2012-08-12

    In AC after install attempt:

    IpbWiki
    Peter De Decker
    This application can not be installed. Check that inslallation directory is right. Outside applications can`t be istalled in IPS directory and vice versa.

     
  • Monkeyra

    Monkeyra - 2012-09-14

    IPB 3.3.4 and MW 1.19 don't work, it's spitting me driver errors. I've tried the suggestions above and the new code provided, but no joy.  Is anyone running it successfully?

     
  • Peter Newman

    Peter Newman - 2012-09-16

    Hi monkeyra, sorry to hear its not working for you. Are you getting errors during install, or is it not working after its been installed?

    Can you have a look in your server error logs and give some more detail on the driver errors you're getting please.

     
  • Monkeyra

    Monkeyra - 2012-09-16

    Hi,

    Errors upon installation (when running either of the setup files, the forum one or the wiki one).

    I don't suppose you know where the error logs would be stored? I'm on a linux dedicated server.

    Cheers

     
  • Peter Newman

    Peter Newman - 2012-09-16

    Hmm, is it an upgrade from an older board? Or a clean install?

    I've just rolled a new install with the MySQL issue fixed, for if you're running a new MySQL server, I'm having issues getting it onto the sourceforge page, but try the new file from here.

    Error logs will probably be in somewhere like /var/log/apache2/error.log, it kind of depends on how exactly your server is setup, what OS its running etc.

    If the above doesn't work, can you try janvier123's code in post 7.

     
  • Monkeyra

    Monkeyra - 2012-09-16

    Hi,

    It's an old board, with a clean install of MW.

    I've tried the latest version you attached in post 19, and have also tried janvier123's code.  I've just been in touch with my host as I couldn't find any errors being logged, and nor could they:

    "It seems to be something in the function check_entries() in the
    ipbwiki_setup.php script. It doesnt appear to be giving any errors anywhere".

    Cheers

    Nick

     
  • Peter Newman

    Peter Newman - 2012-09-17

    Can you paste the whole IPB driver error please.

    If that doesn't look like it's got any detail, try checking Tools and Settings -> Logs -> SQL Error Logs, or cache/sql_error_latest.cgi, or any similar recent files in the cache folder. There's more info from IPB here.

    Are you actually using MySQL, or some other database?

    There should also be a way to turn on SQL debugging in IPB so it prints the details of Driver Errors, they'll probably suggest you don't, but if the above doesn't help, we're at a dead end unless we can find out what's going wrong. Alternatively you could add lots more echo statements into the code, so we can find out which bits its failing on.

     
  • Richard Rees

    Richard Rees - 2012-09-17

    @ pjnewman Hi, sorry for taking so long to come back to you on this, I have been out of the loop for a while with a heart problem.
    It has been too long for me to remember exactly what I did to get my site working, so I will build a new one and document all the changes. When that is done I will post my hacks here.
    Please check anything I do very carefully, I am not a programmer and wont know if I am opening up any vulnerabilities or not. I generally just hack away until it works or I give up. :)

    Richard

     
  • Monkeyra

    Monkeyra - 2012-09-17

    It's not logging the error anywhere, that's the problem. Not in the server logs or in the usual IPB places.  Guess I may have to knock this idea on the head!

     
  • Scenepirat

    Scenepirat - 2012-09-25

    Has anyone brought it to run? I am racking my head here, but I otherwise not available to work.

     
  • Anonymous

    Anonymous - 2012-12-14

    Getting this error after install.

    Deprecated: Assigning the return value of new by reference is deprecated in /var/www/brewboard/forum/wiki/ipbwiki_interface.php on line 1045

    Deprecated: Assigning the return value of new by reference is deprecated in /var/www/brewboard/forum/wiki/extensions/ipbwiki/ipbwiki_authplugin.php on line 24

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/brewboard/forum/wiki/ipbwiki_interface.php:1045) in /var/www/brewboard/forum/wiki/includes/WebResponse.php on line 38

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/brewboard/forum/wiki/ipbwiki_interface.php:1045) in /var/www/brewboard/forum/wiki/includes/WebResponse.php on line 38

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/brewboard/forum/wiki/ipbwiki_interface.php:1045) in /var/www/brewboard/forum/wiki/includes/WebResponse.php on line 38

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/brewboard/forum/wiki/ipbwiki_interface.php:1045) in /var/www/brewboard/forum/wiki/includes/WebResponse.php on line 38

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/brewboard/forum/wiki/ipbwiki_interface.php:1045) in /var/www/brewboard/forum/wiki/includes/WebResponse.php on line 38

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/brewboard/forum/wiki/ipbwiki_interface.php:1045) in /var/www/brewboard/forum/wiki/includes/WebResponse.php on line 38

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/brewboard/forum/wiki/ipbwiki_interface.php:1045) in /var/www/brewboard/forum/wiki/includes/WebResponse.php on line 38

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.