Index: trunk/kernel/include/item.php =================================================================== diff -u -r105 -r288 --- trunk/kernel/include/item.php (.../item.php) (revision 105) +++ trunk/kernel/include/item.php (.../item.php) (revision 288) @@ -666,6 +666,7 @@ function AssignPrimaryCategory($SourceTable) { + $catid = 0; $sql = "SELECT * FROM $SourceTable WHERE ItemResourceId=".$this->Get("ResourceId")." LIMIT 1"; $rs = $this->adodbConnection->Execute($sql); if($rs && !$rs->EOF) @@ -674,7 +675,6 @@ $this->SetPrimaryCategory($catid,$SourceTable); } return $catid; - } function GetPrimaryCategory($SourceTable = "") Index: trunk/admin/import/inlinkimport2.php =================================================================== diff -u -r203 -r288 --- trunk/admin/import/inlinkimport2.php (.../inlinkimport2.php) (revision 203) +++ trunk/admin/import/inlinkimport2.php (.../inlinkimport2.php) (revision 288) @@ -75,79 +75,61 @@ require_once ($pathtoroot."kernel/admin/include/navmenu.php"); require_once ($pathtolocal."admin/include/navmenu.php"); require_once($pathtoroot.$admin."/toolbar.php"); -//Set Section -$section = "in-portal:inlink_inport"; -//Set Environment Variable -$envar = "env=" . BuildEnv(); - -$formaction = $adminURL."/import/import.php?".$envar; - $sec = $objSections->GetSection($section); - $objCatToolBar = new clsToolBar(); - -if (true) -{ + //Set Section + $section = "in-portal:inlink_inport"; - if(true) - { - $MouseOver="swap('moveleft','toolbar/tool_prev_f2.gif');"; - $MouseOut="swap('moveleft', 'toolbar/tool_prev.gif');"; + //Set Environment Variable + $envar = "env=" . BuildEnv(); + $var = '?env='.BuildEnv(); + + $sec = $objSections->GetSection($section); + $objCatToolBar = new clsToolBar(); + + // Previous Button + $MouseOver="swap('moveleft','toolbar/tool_prev_f2.gif');"; + $MouseOut="swap('moveleft', 'toolbar/tool_prev.gif');"; + $link = $adminURL.'/import/inlinkimport1.php'.$var; + $objCatToolBar->Add('moveleft','la_ToolTip_PreviousStep', $link, $MouseOver, $MouseOut,'','tool_prev.gif'); + + // Next Button + $MouseOver = "if( ChoiseMade('import_form','choose') !== false ) swap('moveright','toolbar/tool_next_f2.gif');"; + $MouseOut = "if( ChoiseMade('import_form','choose') !== false ) swap('moveright', 'toolbar/tool_next.gif');"; + + if($ro_perm) + { + $click_url = $adminURL."/import/inlinkimport1.php".$var; + $onClick = "if( ChoiseMade('import_form','choose') ) document.location= '$click_url'; "; + } + else + { + $click_url = $adminURL."/import/inlinkimport3.php".$var; + $onClick = "ImportRedirect('import_form', ChoiseMade('import_form','choose'), '$click_url');"; + } + $objCatToolBar->Add("moveright",'la_ToolTip_NextStep','#',$MouseOver,$MouseOut,$onClick,"tool_next_f3.gif"); + + // header + $title = admin_language("la_performing_import")." - ".admin_language("la_Step")." 2"; + int_header($objCatToolBar,NULL,$title); - $var="?env=".BuildEnv()."&en=$en_prev"; - $link=$adminURL."/import/inlinkimport1.php".$var; - - $objCatToolBar->Add("moveleft",admin_language("la_ToolTip_Previous")." ".admin_language("la_Text_Step"),$link,$MouseOver,$MouseOut,"","tool_prev.gif"); - } - - if(true) - { - $MouseOver="if (document.inlinkimport2.choose[0].checked) swap('moveright','toolbar/tool_next_f2.gif');"; - $MouseOut="if (document.inlinkimport2.choose[0].checked) swap('moveright', 'toolbar/tool_next.gif');"; - - - $var="?env=".BuildEnv()."&en=$en_next"; - $ro_perm = $objSession->HasSystemPermission("SYSTEM_ACCESS.READONLY"); - $script_name = $ro_perm ? 'inlinkimport1' : 'inlinkimport3'; - $link2=$adminURL."/import/".$script_name.".php".$var; - - $onClick="if (document.inlinkimport2.choose[0].checked) document.location= '$link2'; "; - - $link="#"; - $objCatToolBar->Add("moveright",admin_language("la_ToolTip_Next")." ".admin_language("la_Text_Step"),$link,$MouseOver,$MouseOut,$onClick,"tool_next_f3.gif"); - } - - $title = admin_language("la_performing_import")." - ".admin_language("la_Step")." 2"; - - int_header($objCatToolBar,NULL,$title); -} ?> - +
+ -"> - - > - - - > - - - - - - -
- - Select the program you are importing the data from: - -
- - -
-
-
-
-
-
+ + > + Select the program you are importing the data from: + + > + + $iscript) + echo '
'."\n"; + ?> + + + + \ No newline at end of file Index: trunk/admin/import/inlinkimport3.php =================================================================== diff -u -r13 -r288 --- trunk/admin/import/inlinkimport3.php (.../inlinkimport3.php) (revision 13) +++ trunk/admin/import/inlinkimport3.php (.../inlinkimport3.php) (revision 288) @@ -76,102 +76,80 @@ require_once ($pathtoroot."kernel/admin/include/navmenu.php"); require_once ($pathtolocal."admin/include/navmenu.php"); require_once($pathtoroot.$admin."/toolbar.php"); -//Set Section -$section = "in-portal:inlink_inport"; -//Set Environment Variable -$envar = "env=" . BuildEnv(); + //Set Section + $section = "in-portal:inlink_inport"; -$formaction = $adminURL."/import/import.php?".$envar; - $sec = $objSections->GetSection($section); - $objCatToolBar = new clsToolBar(); - -if (true) -{ + //Set Environment Variable + $envar = "env=" . BuildEnv(); + $var = "?env=".BuildEnv(); - if(true) - { - $MouseOver="swap('moveleft','toolbar/tool_prev_f2.gif');"; - $MouseOut="swap('moveleft', 'toolbar/tool_prev.gif');"; - $var="?env=".BuildEnv()."&en=$en_prev"; - $link=$adminURL."/import/inlinkimport2.php".$var; - + + if( isset($_POST['import_id']) ) $objSession->SetVariable('ImportScriptID', $_POST['import_id']); + $import_script = GetImportScript( $objSession->GetVariable('ImportScriptID') ); + + + $sec = $objSections->GetSection($section); + $objCatToolBar = new clsToolBar(); + + // Previous Button + $MouseOver = "swap('moveleft','toolbar/tool_prev_f2.gif');"; + $MouseOut = "swap('moveleft', 'toolbar/tool_prev.gif');"; + $link = $adminURL."/import/inlinkimport2.php".$var; $objCatToolBar->Add("moveleft",admin_language("la_ToolTip_Previous")." ".admin_language("la_Text_Step"),$link,$MouseOver,$MouseOut,"","tool_prev.gif"); - } + + // Next Button + $MouseOver = "swap('moveright','toolbar/tool_next_f2.gif');"; + $MouseOut = "swap('moveright', 'toolbar/tool_next.gif');"; + $link2 = $adminURL."/import/inlinkimport4.php".$var; + $onClick = "document.import_form.submit();"; + $objCatToolBar->Add("moveright",admin_language("la_ToolTip_Next")." ".admin_language("la_Text_Step"),'#',$MouseOver,$MouseOut,$onClick,"tool_next.gif"); - if(true) - { - $MouseOver="swap('moveright','toolbar/tool_next_f2.gif');"; - $MouseOut="swap('moveright', 'toolbar/tool_next.gif');"; - - - $var="?env=".BuildEnv()."&en=$en_next"; - $link2=$adminURL."/import/inlinkimport4.php".$var; - - $onClick="document.inlinkimport3.submit(); "; - - $link="#"; - $objCatToolBar->Add("moveright",admin_language("la_ToolTip_Next")." ".admin_language("la_Text_Step"),$link,$MouseOver,$MouseOut,$onClick,"tool_next.gif"); - } - - $title = admin_language("la_performing_import")." - ".admin_language("la_Step")." 3"; - - int_header($objCatToolBar,NULL,$title); -} + // Header + $title = admin_language("la_performing_import")." - ".admin_language("la_Step")." 3"; + int_header($objCatToolBar,NULL,$title); ?> +
+ - - - > - - - - - - > - - - - - - > - - - - - - > - - - - - > - - - - - - - - -
- - -
- -
- -
- -
- -
- GetVariable("error_importing"); ?> -
+ + > + + + + + + > + + + "> + + + > + + + "> + + + > + + + "> + + + > + + + "> + + + + GetVariable("error_importing"); ?> + + + \ No newline at end of file Index: trunk/kernel/include/portaluser.php =================================================================== diff -u -r271 -r288 --- trunk/kernel/include/portaluser.php (.../portaluser.php) (revision 271) +++ trunk/kernel/include/portaluser.php (.../portaluser.php) (revision 288) @@ -808,16 +808,12 @@ "Phone","Street", "City", "State", "Zip", "Country", "CreatedOn","dob"), array($Login, $Password, $FirstName, $LastName, $Email, $Status, $Phone, $Street, $City, $State, $Zip, $Country, $CreatedOn, $dob)); - if($CheckBanned) - { - $BrokenRule = $u->CheckBanned(); - } - + + $BrokenRule = $CheckBanned ? $u->CheckBanned() : false; if(!$BrokenRule) { $u->Create(); return $u; - } return $BrokenRule; /*md5($Password)*/ Index: trunk/admin/import/inlinkimport4.php =================================================================== diff -u -r27 -r288 --- trunk/admin/import/inlinkimport4.php (.../inlinkimport4.php) (revision 27) +++ trunk/admin/import/inlinkimport4.php (.../inlinkimport4.php) (revision 288) @@ -75,141 +75,129 @@ require_once ($pathtoroot."kernel/admin/include/navmenu.php"); require_once ($pathtolocal."admin/include/navmenu.php"); require_once($pathtoroot.$admin."/toolbar.php"); -//Set Section -$section = "in-portal:inlink_inport"; -//Set Environment Variable -$envar = "env=" . BuildEnv(); + + //Set Section + $section = "in-portal:inlink_inport"; + + //Set Environment Variable + $envar = "env=" . BuildEnv(); + + $sec = $objSections->GetSection($section); + $objCatToolBar = new clsToolBar(); -$formaction = $adminURL."/import/import.php?".$envar; -$sec = $objSections->GetSection($section); -$objCatToolBar = new clsToolBar(); -$formaction = "import.php?".$envar; + //check if the previous input is correct + if( $_POST["Action"] == 'checkconn') + { + // save supplied connection info + $objSession->SetVariable("import_inlink_sql_type", $_POST["inlink_sql_type"]); + $objSession->SetVariable("import_inlink_server", $_POST["inlink_server"]); + $objSession->SetVariable("import_inlink_db", $_POST["inlink_db"]); + $objSession->SetVariable("import_inlink_user", $_POST["inlink_user"]); + $objSession->SetVariable("import_inlink_pass", $_POST["inlink_pass"]); + $objSession->SetVariable("error_importing", ''); + + + $inlink_sql_type = $objSession->GetVariable("import_inlink_sql_type"); + $inlink_server = $objSession->GetVariable("import_inlink_server"); + $inlink_db = $objSession->GetVariable("import_inlink_db"); + $inlink_user = $objSession->GetVariable("import_inlink_user"); + $inlink_pass = $objSession->GetVariable("import_inlink_pass"); + + // check supplied connection + $linkconn = ADONewConnection($inlink_sql_type); + if(!$linkconn->PConnect($inlink_server, $inlink_user, $inlink_pass, $inlink_db) || $inlink_server =="" || $inlink_db=="") + { + $objSession->SetVariable("error_importing","Error: The connection to the DB failed please check your settings"); + header("Location:inlinkimport3.php?".$envar); + } + unset($linkconn); + } -//check if the previous input is correct -if( $_POST["Action"]=="checkconn") -{ - $objSession->SetVariable("import_inlink_sql_type",$_POST["inlink_sql_type"]); - $objSession->SetVariable("import_inlink_server",$_POST["inlink_server"]); - $objSession->SetVariable("import_inlink_db",$_POST["inlink_db"]); - $objSession->SetVariable("import_inlink_user",$_POST["inlink_user"]); - $objSession->SetVariable("import_inlink_pass",$_POST["inlink_pass"]); - $objSession->SetVariable("error_importing",""); - - $inlink_sql_type=$objSession->GetVariable("import_inlink_sql_type"); - $inlink_server=$objSession->GetVariable("import_inlink_server"); - $inlink_db=$objSession->GetVariable("import_inlink_db"); - $inlink_user=$objSession->GetVariable("import_inlink_user"); - $inlink_pass=$objSession->GetVariable("import_inlink_pass"); - - - $linkconn = ADONewConnection($inlink_sql_type); - - if(!$linkconn->PConnect($inlink_server, $inlink_user, $inlink_pass, $inlink_db) || $inlink_server =="" || $inlink_db=="") - { - // echo "Database connection failed. DB Type: $sql_type, DB Server: $inlink_server, DB User: $inlink_user, DB Name: $inlink_db"; //fatal; - $objSession->SetVariable("error_importing","Error: The connection to the DB failed please check your settings"); - header("Location:inlinkimport3.php?".$envar); - //$linkconn->ErrorMsg(); - } - unset($linkconn); -} -//if it is not then we redirect the user back to the page with a message of what went wrong. - -if (true) -{ + $import_script = GetImportScript( $objSession->GetVariable('ImportScriptID') ); - if(true) - { - - $MouseOver="swap('moveleft','toolbar/tool_prev_f2.gif');"; - $MouseOut="swap('moveleft', 'toolbar/tool_prev.gif');"; - $var="?env=".BuildEnv()."&en=$en_prev"; - $link=$adminURL."/import/inlinkimport3.php".$var; + $var = "?env=".BuildEnv(); + // Previous Button + $MouseOver = "swap('moveleft','toolbar/tool_prev_f2.gif');"; + $MouseOut = "swap('moveleft', 'toolbar/tool_prev.gif');"; + $link = $adminURL."/import/inlinkimport3.php".$var; $objCatToolBar->Add("moveleft",admin_language("la_ToolTip_Previous")." ".admin_language("la_Text_Step"),$link,$MouseOver,$MouseOut,"","tool_prev.gif"); - } - - if(true) - { - $MouseOver="swap('moveright','toolbar/tool_next_f2.gif');"; - $MouseOut="swap('moveright', 'toolbar/tool_next.gif');"; - $var="?env=".BuildEnv()."&en=$en_next"; - $link=$adminURL."/import/inlinkimport4.php".$var; - - $onClick="if(document.inlinkimport4.user_admin.value=='' || document.inlinkimport4.user_regular.value=='' || document.inlinkimport4.init_cat.value=='' || document.inlinkimport4.link_image.value =='') alert('Please fill in all of the fields'); else import_submit('inlinkimport4','$formaction','');"; - $link="#"; - $objCatToolBar->Add("moveright",admin_language("la_ToolTip_Next")." ".admin_language("la_Text_Step"),$link,$MouseOver,$MouseOut,$onClick,"tool_next.gif"); - } + // Next Button + $MouseOver = "swap('moveright','toolbar/tool_next_f2.gif');"; + $MouseOut = "swap('moveright', 'toolbar/tool_next.gif');"; + $formaction = $adminURL.'/import/'.$import_script['url'].'.php?'.$envar; + $link = $adminURL."/import/inlinkimport4.php".$var; + $onClick = "if( !CheckFinalForm('import_form') ) alert('Please fill in all of the fields'); else import_submit('import_form','$formaction',''); "; + $objCatToolBar->Add("moveright",admin_language("la_ToolTip_Next")." ".admin_language("la_Text_Step"),'#',$MouseOver,$MouseOut,$onClick,"tool_next.gif"); - $title = admin_language("la_performing_import")." - ".admin_language("la_Step")." 4"; - - int_header($objCatToolBar,NULL,$title); -} + // Header + $title = admin_language("la_performing_import")." - ".admin_language("la_Step")." 4"; + int_header($objCatToolBar,NULL,$title); + ?> +
"> + -"> - - > - - - - > - - - - > - > + + + + > + + + + > + - - - > - - - - - - - - -
- GetVariable("user_admin_names"); ?> - - - - - -
- GetVariable("user_regular_names"); ?> - - - - - -
- GetVariable("categoryid"); - if($catid>0) - { - $c = $objCatList->GetItemByField("ResourceId",$catid); - $path = prompt_language($objConfig->Get("Root_Name")). ">".$c->GetCachedNavBar(); - } - else - $path = prompt_language($objConfig->Get("Root_Name")); + + +
+ GetVariable("user_admin_names"); ?> + "> + + +
+ GetVariable("user_regular_names"); ?> + "> + + +
GetVariable('categoryid'); + $path = prompt_language($objConfig->Get("Root_Name")); + if($catid > 0) + { + $c = $objCatList->GetItemByField('ResourceId', $catid); + $path .= ">".$c->GetCachedNavBar(); + } ?> - - - - - - - - -
- -
-
+ + + + "> + + + + + + + > + + + "> + + + + + + + Index: trunk/kernel/admin/include/toolbar/inlink_inport.php =================================================================== diff -u --- trunk/kernel/admin/include/toolbar/inlink_inport.php (revision 0) +++ trunk/kernel/admin/include/toolbar/inlink_inport.php (revision 288) @@ -0,0 +1,94 @@ +HasSystemPermission("SYSTEM_ACCESS.READONLY"); +?> + + \ No newline at end of file Index: trunk/admin/import/phpbb_import.php =================================================================== diff -u --- trunk/admin/import/phpbb_import.php (revision 0) +++ trunk/admin/import/phpbb_import.php (revision 288) @@ -0,0 +1,427 @@ +Get("Site_Path"); + +$admin = $objConfig->Get("AdminDirectory"); +if(!strlen($admin)) + $admin = "admin"; + +$localURL=$rootURL."kernel/"; +$imagesURL = $rootURL."admin/images"; +$adminURL = $rootURL.$admin; + +//admin only util +$pathtolocal = $pathtoroot."kernel/"; +require_once ($pathtoroot."admin/include/elements.php"); +require_once ($pathtoroot."kernel/admin/include/navmenu.php"); +require_once ($pathtolocal."admin/include/navmenu.php"); +require_once($pathtoroot."admin/toolbar.php"); +//Set Section +$section = "in-portal:inlink_inport"; +//Set Environment Variable +$envar = "env=" . BuildEnv(); + +$sec = $objSections->GetSection($section); +$title = admin_language("la_performing_import")." - ".admin_language("la_Step")." 4"; +int_header(null,NULL,$title); + + +$import_steps = Array(); +$import_steps[] = Array('id' => 'users', 'caption' => 'Users, avatars'); // users + avatars +$import_steps[] = Array('id' => 'user_banlist', 'caption' => 'Users Banrules'); // banned users +$import_steps[] = Array('id' => 'cats', 'caption' => 'Categories'); +$import_steps[] = Array('id' => 'forums', 'caption' => 'Forums'); +$import_steps[] = Array('id' => 'topics', 'caption' => 'Topics'); +$import_steps[] = Array('id' => 'posts', 'caption' => 'Posts'); +$import_steps[] = Array('id' => 'smiles', 'caption' => 'Smiles'); + +error_reporting(E_ALL); +ini_set('display_errors',1); +ini_set('max_execution_time', 0); +ini_set('memory_limit', '250M'); + +function PrintStep($step_rec) +{ + echo ' + +   + '.$step_rec['caption'].' + + 0% () + +   + '; + +} + +function echof($s) // not in use +{ + echo $s; + flush(); +} + +?> + +
+ + + > + + + + +
Script Running: 0 s
+
+GetVariable('bb_prefix'); // may be phpBB uses prefix + $sql_type = $objSession->GetVariable("import_inlink_sql_type"); + $db_server = $objSession->GetVariable("import_inlink_server"); + $db_name = $objSession->GetVariable("import_inlink_db"); + $db_user = $objSession->GetVariable("import_inlink_user"); + $db_pass = $objSession->GetVariable("import_inlink_pass"); + $import_category_id = $objSession->GetVariable('import_category_id'); + + $user_admin = $objSession->GetVariable("user_admin_values"); + $user_regular = $objSession->GetVariable("user_regular_values"); + + //$admin_group =& new clsPortalGroup($user_admin); + $user_group =& new clsPortalGroup($user_regular); + + + + + // made connection to source database + $db =& ADONewConnection($sql_type); + $db->PConnect($db_server, $db_user, $db_pass, $db_name); + + // get connection to destination database + $dst_db =& GetADODBConnection(); + + // if connection error occured, then say this + if(!$db) + { + echo "Database connection failed. DB Type: $sql_type, DB Server: $inlink_server, DB User: $inlink_user, DB Name: $inlink_db"; //fatal; + echo $db->ErrorMsg(); + exit; + } + + $begin_time = microtime(); + // connection made, so begin import + + // create custom fields for in-bulletin users (and show them on general tab) + $user_fields = new clsCustomFieldList(DT_USER); + $user_fields_created = $user_fields->GetFieldNames(); + $uf_defs = Array( 'user_msn' => 'user_msnm', 'user_icq' => 'user_icq', 'user_aim' => 'user_aim', + 'user_yahoo' => 'user_yim', 'user_website' => 'user_website', + 'user_occupation' => 'user_occ', 'user_interests' => 'user_interests'); + + $pesistant_vars = Array('my_signature' => 'user_sig', 'bb_posts' => 'user_posts', + 'smileys' => 'user_allowsmile', 'bbcode' => 'user_allowbbcode', + 'bb_signatures' => 'user_attachsig'); + + foreach($uf_defs as $pending_uf => $no_in_use) + if( !in_array($pending_uf, $user_fields_created) ) // don't create one customfield twice :) + $user_fields->AddField(DT_USER, $pending_uf, '', 1, 'la_bb', 'la_'.$pending_uf, 'text', ''); + + // get users + $cache['users'] = Array(); + $sql = 'SELECT * FROM '.$bb_prefix.'users ORDER BY user_id'; + $rs = $db->Execute($sql); + InitCounter('users', $rs->RecordCount() ); + + // Create Anonymous User + $user =& $objUsers->Add_User('Guest', '', 'anonymous@user.com', time(), '', '', 1, '', '', '', '', '', ''); + $cache['users'][ -1 ] = $user->UniqueId(); + $cache['users'][ 0 ] = $user->UniqueId(); + unset($user); + + while(!$rs->EOF) + { + $rec =& $rs->fields; + $address = explode(',', $rec['user_from']); // state, country + foreach($address as $id => $addr_part) $address[$id] = trim($addr_part); + $user_state = isset( $address[0] ) ? $address[0] : ''; + $user_country = isset( $address[1] ) ? $address[1] : ''; + + $user =& $objUsers->Add_User($rec['username'], $rec['user_password'], $rec['user_email'], $rec['user_regdate'], + '', '', $rec['user_active'], '', '', '', $user_state, '', $user_country); + + $user_id = $user->UniqueId(); + + // set user pesistant variables (why not custom fields) + foreach($pesistant_vars as $dst_field => $src_field) + SetPersistantVariable($user_id, $dst_field, $rec[$src_field]); + + // set user custom fields + foreach($uf_defs as $dst_field => $src_field) + $user->SetCustomField($dst_field, $rec[$src_field]); + $user->SaveCustomFields(); + + // add user to user_group specified (in import step 3) + $user_group->AddUser($user_id, 1); + + // add created user to cache + $cache['users'][ $rec['user_id'] ] = Array('new_id' => $user_id, 'username' => $rec['username']); + $processed['users']++; + unset($user); + SetStepPercent('users'); + $rs->MoveNext(); + } + //unset($objUsers); + + // get ban rules + $sql = 'SELECT * FROM '.$bb_prefix.'banlist ORDER BY ban_id'; + $rs = $db->Execute($sql); + $banrule_priority = 1; + InitCounter('user_banlist', $rs->RecordCount() ); + while(!$rs->EOF) + { + $rec =& $rs->fields; + if( $rec['ban_userid'] ) + { + $tmp =& $objBanList->AddRule(DT_USER, 0, 'Login',1, $cache['users'][ $rec['ban_userid'] ]['username'], $banrule_priority, 1); + unset($tmp); + $banrule_priority++; + } + + if( $rec['ban_ip'] ) + { + $tmp =& $objBanList->AddRule(DT_USER, 0, 'ip',1, DecodeIP( $rec['ban_ip'] ), $banrule_priority, 1); + unset($tmp); + $banrule_priority++; + } + + if( $rec['ban_email'] ) + { + $tmp =& $objBanList->AddRule(DT_USER, 0, 'Email',1, $rec['ban_email'], $banrule_priority, 1); + unset($tmp); + $banrule_priority++; + } + $processed['user_banlist']++; + SetStepPercent('user_banlist'); + $rs->MoveNext(); + } + unset($objBanList); + + // get categories + $cache['cats'] = Array(); + $sql = 'SELECT * FROM '.$bb_prefix.'categories ORDER BY cat_order'; + $rs = $db->Execute($sql); + InitCounter('cats', $rs->RecordCount() ); + while(!$rs->EOF) + { + $rec =& $rs->fields; + $category =& $objCatList->Add( $import_category_id, $rec['cat_title'], $rec['cat_title'], time(), + 0, 1, 2, 2, 2, $rec['cat_order'] / 10, '', ''); + $cache['cats'][ $rec['cat_id'] ] = Array( 'new_id' => $category->UniqueId() ); + $processed['cats']++; + SetStepPercent('cats'); + unset($category); + $rs->MoveNext(); + } + + // get forums + $cache['forums'] = Array(); + $sql = 'SELECT * FROM '.$bb_prefix.'forums ORDER BY cat_id'; + $rs = $db->Execute($sql); + InitCounter('forums', $rs->RecordCount() ); + while(!$rs->EOF) + { + $rec =& $rs->fields; + $category =& $objCatList->Add( $cache['cats'][ $rec['cat_id'] ]['new_id'], $rec['forum_name'], + $rec['forum_desc'], time(), 0, 1, 2, 2, 2, $rec['forum_order'], '', ''); + $cache['forums'][ $rec['forum_id'] ] = Array( 'new_id' => $category->UniqueId() ); + $processed['forums']++; + SetStepPercent('forums'); + unset($category); + $rs->MoveNext(); + } + //unset($objCatList); + + // get topics + $cache['topics'] = Array(); + $sql = 'SELECT * FROM '.$bb_prefix.'topics ORDER BY forum_id'; + $rs = $db->Execute($sql); + InitCounter('topics', $rs->RecordCount() ); + while(!$rs->EOF) + { + $rec =& $rs->fields; + $rec['topic_replies'] = $rec['topic_replies'] > 0 ? $rec['topic_replies'] : 0; + $topic =& $objTopicList->Add_Topic( $rec['topic_title'], $cache['forums'][ $rec['forum_id'] ]['new_id'], + 1, 0, 0, $rec['topic_time'], GetUserID( $rec['topic_poster'] ), + Array('Posts' => $rec['topic_replies'], 'Views' => $rec['topic_views']) ); + + $cache['topics'][ $rec['topic_id'] ] = Array( 'new_id' => $topic->UniqueId() ); + $processed['topics']++; + SetStepPercent('topics'); + unset($topic); + $rs->MoveNext(); + } + unset($objTopicList); + + // get posts + $cache['posts'] = Array(); + $sql = 'SELECT * FROM '.$bb_prefix.'posts p LEFT JOIN '.$bb_prefix.'posts_text pt ON pt.post_id = p.post_id ORDER BY topic_id'; + $rs = $db->Execute($sql); + InitCounter('posts', $rs->RecordCount() + $total['topics'] ); // update each topic info too + while(!$rs->EOF) + { + $rec =& $rs->fields; + $post =& new clsPosting(); + $post->Set( Array('IPAddress', 'PosterAlias', 'Subject', 'PostingText', 'CreatedOn', 'CreatedById', 'TopicId' ), + Array( + DecodeIP( $rec['poster_ip'] ), + GetUserName( $rec['poster_id'] ), + $rec['post_subject'], + $rec['post_text'], + $rec['post_time'], + GetUserID( $rec['poster_id'] ), + $cache['topics'][ $rec['topic_id'] ]['new_id'] ) + ); + $post->Create(); + $cache['posts'][ $rec['post_id'] ] = Array( 'new_id' => $post->UniqueId() ); + $processed['posts']++; + SetStepPercent('posts'); + unset($post); + $rs->MoveNext(); + } + + // set lastpostid for each topic + $sql = 'SELECT topic_id, MAX(post_time) AS pt, post_id FROM '.$bb_prefix.' posts GROUP BY topic_id ORDER BY post_time DESC'; + $rs = $db->Execute($sql); + $update_sql = 'UPDATE '.GetTablePrefix().'Topic SET LastPostId = %s, LastPostDate = %s'; + while(!$rs->EOF) + { + $rec =& $rs->fields; + $tmp = sprintf($update_sql, $cache['posts'][ $rec['post_id'] ]['new_id'], $rec['pt']); + $db->Execute($tmp); + $processed['posts']++; + SetStepPercent('posts'); + $rs->MoveNext(); + } + + +// functions used + +function SetPersistantVariable($user_id, $var_name, $var_value) +{ + global $dst_db; + $sql_template = "REPLACE INTO ".GetTablePrefix()."PersistantSessionData (PortalUserId, VariableName, VariableValue) VALUES (%s,'%s','%s')"; + $dst_db->Execute( sprintf($sql_template, $user_id, $var_name, $var_value) ); +} + +function SetStepPercent($step_id, $new_percent = false) +{ + if($new_percent === false) + { + global $total, $processed, $progress_display; + $new_percent = ($processed[$step_id] / $total[$step_id]) * 100; + $new_percent = round($new_percent, 1); + if( $processed[$step_id] % $progress_display[$step_id] != 0 ) return false; + } + $time_runs = microtime() - $GLOBALS['begin_time']; + echo ''; + flush(); +} + +function DecodeIP($ip) +{ + $i = 0; + $ip_len = strlen($ip); + $ip_parts = Array(); + while($i < $ip_len) + { + $ip_parts[] = hexdec( substr($ip, $i, 2) ); + $i += 2; + } + return implode('.', $ip_parts); +} + +function GetUserID($old_user_id) +{ + global $cache; + return $cache['users'][ $old_user_id ]['new_id']; +} + +function GetUserName($old_user_id) +{ + global $cache; + return $cache['users'][ $old_user_id ]['username']; +} + +function InitCounter($step_id, $total_count) +{ + global $processed, $total, $progress_display; + $processed[$step_id] = 0; + $total[$step_id] = $total_count; + $progress_display[$step_id] = ceil($total[$step_id] / 10); // display progress in 1 of 10 times requested + + +} + +?> \ No newline at end of file Index: trunk/kernel/frontaction.php =================================================================== diff -u -r275 -r288 --- trunk/kernel/frontaction.php (.../frontaction.php) (revision 275) +++ trunk/kernel/frontaction.php (.../frontaction.php) (revision 288) @@ -26,12 +26,10 @@ unset($script); } - switch($Action) - { - case "m_login": - // if($objSession->ValidSession()) - // $objSession->Logout(); - //echo $objSession->GetSessionKey()."
\n"; +switch($Action) +{ + case "m_login": + // if($objSession->ValidSession()) $objSession->Logout(); if ($objConfig->Get("CookieSessions") == 1 && $_COOKIE["CookiesTest"] != "1") { $FormError["login"]["login_user"] = language("lu_cookies_error"); } @@ -823,7 +821,7 @@ echo $Action.":".$DownloadId; die(); break; - case "m_simple_subsearch": + case "m_simple_subsearch": $keywords = $_POST["keywords"]; $type = $objItemTypes->GetTypeByName("Category"); $objSearch = new clsSearchResults("Category","clsCategory"); @@ -848,12 +846,12 @@ //$objSearch->SetRelevence($type->Get("ItemType"), "CategoryId"); } $SearchPerformed = TRUE; - } - else { + } + else { $MissingCount = SetMissingDataErrors("m_simplesearch"); $MissingCount++; $FormError["m_simplesearch"]["keywords"] = language("lu_no_keyword"); - } - break; - } + } + break; +} ?> Index: trunk/admin/include/elements.php =================================================================== diff -u -r38 -r288 --- trunk/admin/include/elements.php (.../elements.php) (revision 38) +++ trunk/admin/include/elements.php (.../elements.php) (revision 288) @@ -337,7 +337,7 @@ //*********************************** //Table Alternating colors -function int_table_color($reset_color=0) +function int_table_color($reset_color=0, $return_result = false) { static $colorset; @@ -351,7 +351,12 @@ else $colorset = "table_color1"; - print "class=\"".$colorset."\""; + $ret = "class=\"".$colorset."\""; + if($return_result) + return $ret; + else + print $ret; + }//Table Alternating colors //Table Alternating colors with return Index: trunk/kernel/action.php =================================================================== diff -u -r283 -r288 --- trunk/kernel/action.php (.../action.php) (revision 283) +++ trunk/kernel/action.php (.../action.php) (revision 288) @@ -35,6 +35,43 @@ switch($Action) { + case "m_save_import_config": + // Set New Import Category + if( isset($_POST['categorylist']) ) + { + $cat_id = $_POST['categorylist']; + $objSession->SetVariable('categoryid', $cat_id); + $cat = $objCatList->GetByResource($cat_id); + if(is_object($cat)) + { + $navbar = $cat->Get('CachedNavbar'); + $objSession->SetVariable('catnavbar', $navbar); + $objSession->SetVariable('import_category_id', $cat->UniqueId() ); + } + $objSession->SetVariable('categorylist', $_POST['categorylist']); + } + + // Set Import Admin Group + if( isset($_POST['grouplist1']) ) + { + $group_id = $_POST['grouplist1']; + $group = $objGroups->GetItem($group_id); + $objSession->SetVariable('user_admin_names', $group->Get('Name')); + $objSession->SetVariable('user_admin_values', $group->Get('GroupId')); + $objSession->SetVariable('grouplist1', $_POST['grouplist1']); + } + + // Set Import User Group + if( isset($_POST['grouplist2']) ) + { + $group_id = $_POST['grouplist2']; + $group = $objGroups->GetItem($group_id); + $objSession->SetVariable('user_regular_names', $group->Get('Name')); + $objSession->SetVariable('user_regular_values', $group->Get('GroupId')); + $objSession->SetVariable('grouplist2', $_POST['grouplist2']); + } + break; + case "m_add_user": $dupe_user = ''; //$user_pending = (int)$_POST["user_pending"]; @@ -1997,7 +2034,8 @@ $u->Deny(); } } - break; + break; + } /* image upload management */ Index: trunk/admin/users/adduser_groups.php =================================================================== diff -u -r278 -r288 --- trunk/admin/users/adduser_groups.php (.../adduser_groups.php) (revision 278) +++ trunk/admin/users/adduser_groups.php (.../adduser_groups.php) (revision 288) @@ -230,10 +230,10 @@ $SearchWords = $objSession->GetVariable("GroupSearchWord"); if(strlen($SearchWords)) { - $where = " AND Personal=0 AND ". $objGroups->AdminSearchWhereClause($SearchWords); + $where = " AND ". $objGroups->AdminSearchWhereClause($SearchWords); } else - $where = " AND Personal=0 "; + $where = ''; if(strlen($GroupFilter)) $where .= " AND $GroupFilter "; @@ -247,7 +247,7 @@ if($objSession->HasSystemPermission("DEBUG.LIST")) echo htmlentities($sql,ENT_NOQUOTES)."
\n"; - +//echo "SQL: $sql
"; $objGroups->Query_Item($sql); /* ---------------------------------------- Configure the list view ---------------------------------------- */ Index: trunk/kernel/include/customfield.php =================================================================== diff -u -r104 -r288 --- trunk/kernel/include/customfield.php (.../customfield.php) (revision 104) +++ trunk/kernel/include/customfield.php (.../customfield.php) (revision 288) @@ -102,8 +102,7 @@ $DataTable = GetTablePrefix()."CustomMetaData"; $sql = "SELECT $table.*,$DataTable.Value as Value, $DataTable.CustomDataId as CustomDataId FROM ".$table." LEFT JOIN $DataTable ON "; $sql .= "(".$table.".CustomFieldId=$DataTable.CustomFieldId AND $DataTable.ResourceId=$ResourceId) WHERE Type=".$this->Type; - if((int)$_GLOBALS["debuglevel"]) - echo $sql."
\n"; + if( isset($GLOBALS["debuglevel"]) && $GLOBALS["debuglevel"]) echo $sql."
\n"; $rs = $this->adodbConnection->Execute($sql); while($rs && !$rs->EOF) {