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);
-}
?>
-
+
\ 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);
?>
+
\ 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);
+
?>
+
+
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();
+}
+
+?>
+
+
+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)
{