Index: trunk/admin/import/import_funcs.php
===================================================================
diff -u
--- trunk/admin/import/import_funcs.php (revision 0)
+++ trunk/admin/import/import_funcs.php (revision 419)
@@ -0,0 +1,200 @@
+
+
+
+ |
+
+
+ |
+ |
+
+SCREEN_END;
+
+ $i = 1;
+ while($i < $is_count)
+ {
+ echo PrintDummy();
+ $i++;
+ }
+
+ int_subsection_title( admin_language("la_performing_import").' - Initializing ...', 3);
+ $RowColor = int_table_color(0, true);
+ echo <<
+ Script Running: 0s |
+
+
+
+SCREEN_END;
+
+ int_footer();
+ flush();
+ }
+
+ /**
+ * @return string
+ * @param Array $step_rec
+ * @desc Returns one row of step-info table
+ */
+ function PrintStep($step_rec)
+ {
+ $step_rec['percent'] = round( ($step_rec['rec_no'] / $step_rec['recs_count']) * 100, 2);
+ $step_rec['details'] = '('.$step_rec['rec_no'].' of '.$step_rec['recs_count'].')';
+ return '
+
+ '.$step_rec['caption'].' |
+
+ '.$step_rec['percent'].'% '.$step_rec['details'].'
+ |
+
';
+ }
+
+
+ /**
+ * @return void
+ * @param Array $import_steps
+ * @desc Save step info to database
+ */
+ function DumpStepsInfo($import_steps)
+ {
+ global $dst_db, $ImportTable, $cache;
+
+ $sql = 'UPDATE '.$ImportTable.' SET bbi_rec_no = %s, bbi_recs_count = %s, bbi_current = %s, bbi_cache = %s WHERE bbi_step = \'%s\'';
+ foreach ($import_steps as $istep)
+ {
+ $sc = serialize( $cache[ $istep['id'] ] );
+ $tmp = sprintf($sql, $istep['rec_no'], $istep['recs_count'], $istep['current'], $dst_db->qstr($sc), $istep['id']);
+ $dst_db->Execute($tmp);
+ }
+
+
+ }
+
+
+ /**
+ * @return void
+ * @param Array $step_info
+ * @param Array $import_steps
+ * @desc Redirects to next step or continues this step
+ */
+ function StepRedirect($step_info)
+ {
+ global $rootURL, $admin, $StepIndex, $import_steps, $dst_db, $ImportTable;
+ if($step_info['rec_no'] == $step_info['recs_count'])
+ {
+ $import_steps[ $step_info['id'] ]['current'] = 0;
+ $NewCurrent = array_search( $step_info['id'], $StepIndex) + 1;
+ if( array_key_exists($NewCurrent, $StepIndex) )
+ {
+ $import_steps[ $StepIndex[$NewCurrent] ]['current'] = 1;
+ }
+ else
+ {
+ global $objSession, $adminURL;
+ $objSession->SetVariable('PermCache_UpdateRequired', 1);
+ $objSession->SetVariable('ReturnScript', 'browse.php'); // redirect to catalog when finished
+ $NumCats = TableCount($objCatList->SourceTable,'',0);
+ $dst_db->Execute('DROP TABLE IF EXISTS '.$ImportTable);
+ echo '';
+ }
+ }
+ DumpStepsInfo($import_steps);
+ echo '';
+
+ }
+
+
+// ========================================================================================================
+
+ function GetStepName($step_id)
+ {
+ global $import_steps;
+ $ret = '';
+ foreach($import_steps as $istep)
+ if($istep['id'] == $step_id)
+ {
+ $ret = $istep['caption'];
+ break;
+ }
+ return $ret;
+ }
+
+
+
+ function PrintDummy()
+ {
+ return '
+ |
+ |
+
';
+ }
+
+ function GetMC()
+ {
+ $tmp = explode(' ', microtime() );
+ return $tmp[1];
+ }
+
+ 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 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 SetTotals($step_name)
+ {
+ global $objSession;
+ $run_time = GetMC() - $objSession->GetVariable('import_begins');
+ echo '';
+ }
+
+?>
\ No newline at end of file