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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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 presentrequire_once('initdata.php');}else{//Set some defaultsdefine('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');classipbwiki_setup{// constructor, will take care of the program flow...functionipbwiki_setup(){switch(isset($_GET['act'])&&($_GET['act'])){case'check_entries':$this->check_entries();break;default:$this->entry();break;}}functionprint_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 /> ";}functionprint_footer(){echo"</table></center></body></html>";}functionadd_row($text){echo"<tr><td>$text</td></tr>";}functionentry() {$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.3if(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.0if(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();}functiondo_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;}functiondo_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;}elseif(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;}functioncheck_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.0if(trim($str)==="'ipbwiki' => array( 'ipbwiki' , 'ipbwiki'), // <-- this line was automatically added by the IPBWiki Installer."){$settings1_found=true;}// 1.3if(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.0if(trim($str)==="'ipbwiki_discussion' => array ('ipbwiki_discussion', 'ipbwiki_discussion' ), // <-- this line was automatically added by the IPBWiki Installer."){$settings3_found=true;}// 1.3if(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.0if(trim($str)==="// MOD: IpbWiki"){$settings4_found=true;}if(trim($str)==='$line = " {$ibforums->lang['."'board_index'".']}";'){$cnt++;}if(($cnt==2)and(trim($str)==="}")){$cnt++;}elseif(($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 fileif(!$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_foundand!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=newdb_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=newipbwiki_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==1or$ipb20==1){$DB=newdb_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 classrequire(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=newclass_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($fieldsas$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=newdb_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=newipbwiki_db();}else{// IPB 2.xif($ipb21==1or$ipb20==1){$DB2=newdb_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;}// readif(substr($group['ug_group'],1,1)==1){$mask+=2;}// createaccountif(substr($group['ug_group'],2,1)==1){$mask+=4;}// editif(substr($group['ug_group'],3,1)==1){$mask+=64;}// uploadif(substr($group['ug_group'],4,1)==1){$mask+=512;}// moveif(substr($group['ug_group'],5,1)==1){$mask+=1024;}// deleteif(substr($group['ug_group'],6,1)==1){$mask+=4096;}// undeleteif(substr($group['ug_group'],7,1)==1){$mask+=8192;}// protectif(substr($group['ug_group'],8,1)==1){$mask+=16384;}// blockif(substr($group['ug_group'],9,1)==1){$mask+=32768;}// rollbackif(substr($group['ug_group'],10,1)==1){$mask+=65536;}// patrolif(substr($group['ug_group'],11,1)==1){$mask+=524288;}// editinterfaceif(substr($group['ug_group'],12,1)==1){$mask+=1048576;}// siteadminif(substr($group['ug_group'],13,1)==1){$mask+=2097152;}// botif(substr($group['ug_group'],14,1)==1){$mask+=4194304;}// asksqlif(substr($group['ug_group'],15,1)==1){$mask+=8388608;}// checkuserif(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 correctlyif($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 -> 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();}functiontxt_stripslashes($t){if(get_magic_quotes_gpc()){$t=stripslashes($t);}return$t;}functionclean_value($val){$val=str_replace(" "," ",$val);$val=str_replace("&","&",$val);$val=str_replace("<!--","<!--",$val);$val=str_replace("-->","-->",$val);$val=preg_replace("/<script/i","<script",$val);$val=str_replace(">",">",$val);$val=str_replace("<","<",$val);$val=str_replace("\"",""",$val);$val=preg_replace("/\n/","<br />",$val);// Convert literal newlines$val=preg_replace("/\\\$/","$",$val);$val=preg_replace("/\r/","",$val);// Remove literal carriage returns$val=str_replace("!","!",$val);$val=str_replace("'","'",$val);// IMPORTANT: It helps to increase sql query safety.$val=$this->txt_stripslashes($val);$val=preg_replace("/\\\(?!&#|\?#)/","\",$val);return$val;}functionunclean_value($val){$val=str_replace("<!--","<!--",$val);$val=str_replace("-->","-->",$val);$val=str_replace("<script","<script",$val);$val=str_replace(">",">",$val);$val=str_replace("<","<",$val);$val=str_replace(""","\"",$val);$val=str_replace("<br />","\\n",$val);// Convert literal newlines$val=str_replace("$","\$",$val);$val=str_replace("!","!",$val);$val=str_replace("'","'",$val);// IMPORTANT: It helps to increase sql query safety.$val=str_replace("&","&",$val);return$val;}}newipbwiki_setup();?>
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@ 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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Has anyone brought it to run? I am racking my head here, but I otherwise not available to work.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
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.
It works fine!
That's great news. Did you have to change anything at all?
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?
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?
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
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
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
Hello, I'm getting the following error when trying to install. Im using IPB 3.3.3 and MediaWiki 1.1.9
I resolved it by changing all instances of Type=InnoDB to ENGINE=InnoDB
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.
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?
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
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.
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?
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.
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
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.
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
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.
@ 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
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!
Has anyone brought it to run? I am racking my head here, but I otherwise not available to work.
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