array(
			'controller' 	=> 'import_main_ui',
			'path' 			=> null,
			'ui' 			=> 'import_admin_form_ui',
			'uipath' 		=> null
		),
		'cat'		=> array(
			'controller' 	=> 'import_cat_ui',
			'path' 			=> null,
			'ui' 			=> 'import_cat_form_ui',
			'uipath' 		=> null
		)					
	);	
	protected $adminMenu = array(
		'main/list'		=> array('caption'=> LAN_LIST, 'perm' => '0'),
	//	'main/create'	=> array('caption'=> 'Create import', 'perm' => '0'),
//		'cat/list' 		=> array('caption'=> 'Categories', 'perm' => '0'),
//		'cat/create' 	=> array('caption'=> "Create Category", 'perm' => '0'),
	//	'main/prefs' 	=> array('caption'=> LAN_PREFS, 'perm' => '0'),
	//	'main/custom'	=> array('caption'=> 'Custom Page', 'perm' => '0')		
	);
	protected $adminMenuAliases = array(
		'main/edit'	=> 'main/list'				
	);	
	
	protected $menuTitle = LAN_PLUGIN_IMPORT_NAME;
}
class import_main_ui extends e_admin_ui
{
	
	protected $pluginTitle			= LAN_PLUGIN_IMPORT_NAME;
	protected $pluginName			= 'import';
	protected $table				= false;
	
	protected $providers			= array(); // the different types of import. 
	protected $deleteExisting		= false; // delete content from existing table during import. 
	protected $selectedTables		= array(); // User selection of what tables to import. eg. news, pages etc. 
	protected $importClass			= null;
	protected $checked_class_list	= '';
	
	// Definitions of available areas to import
	protected $importTables = array(
		'users' 		=> array('message' => LAN_CONVERT_25, 			'classfile' => 'import_user_class.php', 'classname' => 'user_import'),
		'userclass' 	=> array('message' => LAN_CONVERT_73, 			'nolist'=>true, 'classfile' => 'import_user_class.php', 'classname' => 'userclass_import'),
		'news' 			=> array('message' => LAN_CONVERT_28,			'classfile' => 'import_news_class.php', 'classname' => 'news_import'),
		'newscategory' 	=> array('message' => LAN_CONVERT_74,		'nolist'=>true, 'classfile' => 'import_news_class.php', 'classname' => 'newscategory_import'),
		'page' 			=> array('message' => LAN_CONVERT_65,				    'classfile' => 'import_page_class.php', 'classname' => 'page_import'),
		'pagechapter' 	=> array('message' => LAN_CONVERT_66,			'nolist'=>true, 'classfile' => 'import_page_class.php', 'classname' => 'pagechapter_import'),
		'links' 		=> array('message' => LAN_CONVERT_67, 					'classfile' => 'import_links_class.php', 'classname' => 'links_import'),	
		'media' 		=> array('message' => LAN_CONVERT_68, 					'classfile' => 'import_media_class.php', 'classname' => 'media_import'),
		'forum' 		=> array('message' => LAN_CONVERT_69, 					'classfile' => 'import_forum_class.php', 'classname' => 'forum_import'),
		'forumthread' 	=> array('message' => LAN_CONVERT_70, 	'classfile' => 'import_forum_class.php', 'classname' => 'forumthread_import', 'nolist'=>true),
		'forumpost' 	=> array('message' => LAN_CONVERT_71, 			'classfile' => 'import_forum_class.php', 'classname' => 'forumpost_import', 'nolist'=>true),
		'forumtrack' 	=> array('message' => LAN_CONVERT_72, 			'classfile' => 'import_forum_class.php', 'classname' => 'forumtrack_import', 'nolist'=>true),
		//	'comments' 		=> array('message'=> LAN_COMMENTS),
	//	'polls' 		=> array('message' => LAN_CONVERT_27)
	);	
	
		// without any Order or Limit. 
		
		
	function init()
	{
		$fl = e107::getFile();
		
		$importClassList = $fl->get_files(e_PLUGIN.'import/providers', "^.+?_import_class\.php$", "standard", 1);
		
		foreach($importClassList as $file)
		{
			$tag = str_replace('_class.php','',$file['fname']);
			
			$key = str_replace("_import_class.php","",$file['fname']);
			if($key === 'template')
			{
				continue;
			}
			include_once($file['path'].$file['fname']);		// This will set up the variables
			
			$this->providers[$key] = $this->getMeta($tag);
			if(!empty($_GET['type']))
			{
				$this->importClass = filter_var($_GET['type'])."_import";
			}
			
		}	
		uksort($this->providers,'strcasecmp');
		
	}	
	
	
	function help()
	{
		
		return "Some help text for admin-ui";	
		
	}
	
	
	
	
	
	function getMeta($class_name)
	{
		if(class_exists($class_name))
		{
			$obj = new $class_name;
			return array('title' => vartrue($obj->title), 'description' => vartrue($obj->description), 'supported' => vartrue($obj->supported));
		}
		else
		{
			e107::getMessage()->addDebug("Missing class: ".$class_name);	
		}
		
	}
	
	
		
	
	// After selection - decide where to route things. 	
	function importPage()
	{
		
	//	print_a($_POST);
	
		if(!empty($_POST['import_delete_existing_data']))
		{
			$this->deleteExisting = varset($_POST['import_delete_existing_data'],0);
		}
		
		if(!empty($_POST['classes_select']))
		{
			$this->checked_class_list = implode(',',$_POST['classes_select']);
		}
		
		if(!empty($_POST['createUserExtended'])) //TODO 
		{
			$this->createUserExtended = true; 
		}
		
		if(!empty($_POST['selectedTables']))
		{
			$this->selectedTables = $_POST['selectedTables'];
		}
			
		if(!empty($_POST['runConversion'])) // default method. 
		{
			$this->runConversion($_POST['import_source']);
			return;	
		}
		
				
		
		$this->showImportOptions($_GET['type']);	
		
	}
	
	
	
	
	
	
	
			
		
	function listPage()
	{
		$mes = e107::getMessage();
		$frm = e107::getForm();
		
		$tableCount = 0;
	//	$mes->addDebug(print_a($this->providers,true));
		
		$text = "
			
";
		
			echo $mes->render().$text; 
			// $ns->tablerender(LAN_PLUGIN_IMPORT_NAME, $mes->render().$text);
		
	}
	
	
	
	function runConversion($import_source)
	{
		$frm = e107::getForm();	
		$ns = e107::getRender();	
		$mes = e107::getMessage();
		
		$abandon = TRUE;
	
	 	switch ($import_source)
		{
			case 'csv' : 
			
			break;
	
			case 'db' :
				if($this->dbImport() == false)
				{
					$abandon = true;
				}
			break;
			
			case 'rss' :
				if($this->rssImport() == false)
				{
					$abandon = true;
				}
			break;
		}
		
		
//		if ($msg)
//		{
//			$mes->add($msg, E_MESSAGE_INFO); //  $ns -> tablerender(LAN_CONVERT_30, $msg);
//			$msg = '';
//		}
	
		if ($abandon)
		{
		//	unset($_POST['do_conversion']);
			$text = "
			";
			echo $mes->render(). $text;
			
		//	$ns -> tablerender(LAN_CONVERT_30,$mes->render(). $text);
			
		}
	}
	function renderConfig()
	{
		
	}
	
		
	function showImportOptions($type='csv')
	{
		global $csv_names, $e_userclass;
		$mode = $this->importClass;
		
		$frm = e107::getForm();
		$ns = e107::getRender();
		
		$mes = e107::getMessage();
		
		if (class_exists($mode))
		{
			$mes->addDebug("Class Available: ".$mode);   
			$proObj = new $mode;
			if($proObj->init()===FALSE)
			{
				return;
			}
		}
	
		$message = "".LAN_CONVERT_05."";
		$mes->add($message, E_MESSAGE_WARNING);
	
		$text = "
		";
	
		// Now a little bit of JS to initialise some of the display divs etc
	//  	$temp = '';
	//  	if(varset($import_source)) { $temp .=  "disp('{$import_source}');"; }
	//  	if (varset($current_db_type)) $temp .= " flagbits('{$current_db_type}');";
	//  	if (varset($temp)) $text .= "";
		
		$this->addTitle($importType); 
		echo $mes->render().$text; 
		
	//  	$ns -> tablerender(LAN_PLUGIN_IMPORT_NAME.SEP.$importType, $mes->render().$text);
	
	}
	
	
	private function getDatabases()
	{
		$tmp = e107::getDb()->gen("SHOW DATABASES");
		$databases = e107::getDb()->db_getList();
		$arr = array();
		$exclude = array('mysql', 'information_schema', 'performance_schema', 'phpmyadmin');
		foreach($databases as $v)
		{
			$id = $v['Database'];
			if(in_array($id,$exclude))
			{
				continue;
			}
			$arr[$id] = $id;
		}
	    return $arr;
	}
	
		
	function rssImport()
	{
		global $current_db_type;
		
		$mes = e107::getMessage();
		$mes->addDebug("Loading: RSS");	
		
		if(!varset($_POST['runConversion']))
		{
			$mes->addWarning("Under Construction"); 	
		}	
		
		return $this->dbImport('xml');
		
	}
	
	
	
	/** MAIN IMPORT AREA */
	function dbImport($mode='db')
	{
		
		$mes = e107::getMessage();
		$tp = e107::getParser();
		
		$mes->addDebug("dbImport(): Loading: ".$this->importClass);
		
		if(!is_array($this->importTables))
		{
			$mes->addError("dbImport(): No areas selected for import");  // db connect failed
			return false;	
		}
		
		if (class_exists($this->importClass))
		{
			$mes->addDebug("dbImport(): Converter Class Available: ".$this->importClass);   
			$converter = new $this->importClass ;
			$converter->init();
		}
		else
		{
			$mes->addError(LAN_CONVERT_42. "[".$this->importClass."]");
			$mes->addDebug("dbImport(): Class NOT Available: ".$this->importClass);   
			
			return false;
		}
		
		if($mode == 'db') // Don't do DB check on RSS/XML 
		{
			if (empty($_POST['dbParamDatabase']))
			{
				$mes->addError(LAN_CONVERT_41);
				return false;
			}
		
			$result = $converter->database($tp->filter($_POST['dbParamDatabase']),  $tp->filter($_POST['dbParamPrefix']));
		//	$result = $converter->database($tp->filter($_POST['dbParamDatabase']),  $tp->filter($_POST['dbParamPrefix']), true);
			if ($result !== true)
			{
				$mes->addError(LAN_CONVERT_43.": ".$result);  // db connect failed
				return false;
			}	
		}	
		
	
		if(vartrue($converter->override))
		{
			$mes->addDebug("dbImport(): Override Active!" );
			return;
		}	
		
		
		
		// Return 
		foreach($this->selectedTables as $k => $tm)
		{
			$v = $this->importTables[$k];
			
			$loopCounter = 0;
			$errorCounter = 0;
				
			if (is_readable($v['classfile'])) // Load our class for either news, pages etc. 
			{
				$mes->addDebug("dbImport(): Including File: ".$v['classfile']);
				require_once($v['classfile']);
			}
			else
			{
				$mes->addError(LAN_CONVERT_45.': '.$v['classfile']);   // can't read class file.
				return false;
			}
			
			$mes->addDebug("dbImport(): Importing: ".$k);
			
			$exporter = new $v['classname'];		// Writes the output data
	
		  	if(is_object($exporter))
			{
				$mes->addDebug("dbImport(): Exporter Class Initiated: ".$v['classname']);	
				
				if(is_object($exporter->helperClass))
				{
					$mes->addDebug("dbImport(): Initiated Helper Class");		
					$converter->helperClass = $exporter->helperClass;
				}
				
			}
			else
			{
				$mes->addDebug("dbImport(): Couldn't Initiate Class: ".$v['classname']);		
			}
			
			
		  	$result = $converter->setupQuery($k, !$this->deleteExisting);
							
			if ($result !== true)
			{
				$mes->addError(LAN_CONVERT_44.' '.$k);   // couldn't set query
				break;
			}
					
		
		  
				 				 	
			if($k == 'users')  // Do any type-specific default setting
			{
				$mes->addDebug("dbImport(): Overriding Default for user_class: ".$this->checked_class_list);	
				$exporter->overrideDefault('user_class', $this->checked_class_list);
			//	break;
			}
					
			if ($this->deleteExisting == true)
			{
				$mes->addDebug("dbImport(): Emptying target table. ");
				$exporter->emptyTargetDB();		// Clean output DB - reasonably safe now	
			} 
					
			while ($row = $converter->getNext($exporter->getDefaults(),$mode))
			{
				$loopCounter++;
				$result = $exporter->saveData($row);
				if ($result !== TRUE)
				{
					$errorCounter++;
					$line_error = $exporter->getErrorText($result);
				//	if ($msg) $msg .= "
";
					$msg = str_replace(array('[x]','[y]'),array($line_error,$k),LAN_CONVERT_46).$loopCounter;
					$mes->addError($msg);   // couldn't set query
				}
			}
					
			$converter->endQuery(); 
					
			unset($exporter);
					
					
			$msg = str_replace(array('[x]','[y]', '[z]','[w]'),
			array($loopCounter,$loopCounter-$errorCounter,$errorCounter, $k),LAN_CONVERT_47);
			$mes->addSuccess($msg);   // couldn't set query				
		}
		
		
		
		
		
		
		
		
		
		
		return true;
		
		// $abandon = FALSE;	
	}
	
	
	
	
}
/*
// Source DB types (i.e. CMS types) supported. Key of each element is the 'short code' for the type
$import_class_names = array();			// Title
$import_class_comment = array();		// Descriptive comment
$import_class_support = array();		// Array of data types supported
// Definitions of available areas to import
$db_import_blocks = array(
	'users' 		=> array('message' => LAN_CONVERT_25, 	'classfile' => 'import_user_class.php', 'classname' => 'user_import'),
	'news' 			=> array('message' => LAN_CONVERT_28,	'classfile' => 'import_news_class.php', 'classname' => 'news_import'),
	'page' 			=> array('message' => "Pages",			'classfile' => 'import_page_class.php', 'classname' => 'page_import'),
	'links' 		=> array('message' => "Links", 			'classfile' => 'import_links_class.php', 'classname' => 'links_import'),	
	'media' 		=> array('message' => "Media", 			'classfile' => 'import_media_class.php', 'classname' => 'media_import'),
	'comments' 		=> array('message'=> "Comments"),
//	'forumdefs' 	=> array('message' => LAN_CONVERT_26),
//	'forumposts' 	=> array('message' => LAN_CONVERT_48), 
//	'polls' 		=> array('message' => LAN_CONVERT_27)
);
// See what DB-based imports are available (don't really want it here, but gets it into the header script)
require_once(e_HANDLER.'file_class.php');
$fl = new e_file;
$importClassList = $fl->get_files(e_PLUGIN.'import/providers', "^.+?_import_class\.php$", "standard", 1);
foreach($importClassList as $file)
{
	$tag = str_replace('_class.php','',$file['fname']);
	include_once($file['path'].$file['fname']);		// This will set up the variables
}
unset($importClassList);
unset($fl);
asort($import_class_names);
if(varset($_POST['import_source']))
{
	$import_source = varset($_POST['import_source'],'csv');
	if(varset($_POST['classes_select']))
	{
		$checked_class_list = implode(',',$_POST['classes_select']);
	}
 	$import_delete_existing_data = varset($_POST['import_delete_existing_data'],0);
	$current_csv = varset($_POST['csv_format'],'default');
	$csv_pw_not_encrypted = varset($_POST['csv_pw_not_encrypted'],0);
	$csv_data_file = varset($_POST['csv_data_file'],'import.csv');
	$current_db_type = varset($_POST['db_import_type'],key($import_class_names));
}
$db_blocks_to_import = array();
foreach ($db_import_blocks as $k => $v)
{
  if (isset($_POST['import_block_'.$k]))
  {
	$db_blocks_to_import[$k] = 1;
  }
}
// require_once(e_ADMIN."auth.php");
if (!is_object($e_userclass))
{
  require_once(e_HANDLER."userclass_class.php");		// Modified class handler
  $e_userclass = new user_class;
}
define('CSV_DEF_FILE','csv_import.txt');		// Supplementary CSV format definitions
// Definitions of available CSV-based imports
$csv_formats = array('default' => 'user_name,user_password');
$csv_names = array('default' => LAN_CONVERT_12);
$csv_options = array('default' => 'simple');
$csv_option_settings = array(
		'simple' 	=> array('separator' => ',', 'envelope' => ''),
		'simple_sq'	=> array('separator' => ',', 'envelope' => "'"),
		'simple_dq' => array('separator' => ',', 'envelope' => '"'),
		'simple_semi' => array('separator' => ',', 'envelope' => ';'),
		'simple_bar' => array('separator' => ',', 'envelope' => '|')
	);
// See what CSV format definitions are available
if (is_readable(CSV_DEF_FILE))
{
  $csv_temp = file(CSV_DEF_FILE);
  foreach ($csv_temp as $line)
  {
	$line = trim(str_replace("\n","",$line));
	if ($line)
	{
	  list($temp,$name,$options,$line) = explode(',',$line,4);
	  $temp = trim($temp);
	  $name = trim($name);
	  $options = trim($options);
	  $line = trim($line);
	  if ($temp && $name && $options && $line)  
	  {
		$csv_formats[$temp] = $line;		// Add any new definitions
		$csv_names[$temp] = $name;
		$csv_options[$temp] = $options;
	  }
	}
  }
  unset($csv_temp);
}
$msg = '';
//======================================================
// 		Executive routine - actually do conversion
//======================================================
if(isset($_POST['do_conversion']))
{
	$abandon = TRUE;
	
 	switch ($import_source)
	{
		case 'csv' : 
			if (!isset($csv_formats[$current_csv])) $msg = "CSV File format error
";
		  	if (!is_readable($csv_data_file)) $msg = LAN_CONVERT_31;
		  	if (!isset($csv_options[$current_csv])) $msg = LAN_CONVERT_37.' '.$current_csv;
		  	if (!isset($csv_option_settings[$csv_options[$current_csv]]))
			{
				$msg = LAN_CONVERT_37.' '.$csv_options[$current_csv];	
			} 
		  
		  	if (!$msg)
		  	{
				$field_list = explode(',',$csv_formats[$current_csv]);
				$separator = $csv_option_settings[$csv_options[$current_csv]]['separator'];
				$enveloper = $csv_option_settings[$csv_options[$current_csv]]['envelope'];
				if (IMPORT_DEBUG) echo "CSV import: {$current_csv}  Fields: {$csv_formats[$current_csv]}
";
				require_once('import_user_class.php');
				$usr = new user_import;
				$usr->overrideDefault('user_class',$checked_class_list);
				if (($source_data = file($csv_data_file)) === FALSE) $msg = LAN_CONVERT_32;
				if ($import_delete_existing_data) $usr->emptyTargetDB();				// Delete existing users - reasonably safe now
				$line_counter = 0;
				$error_counter = 0;
				$write_counter = 0;
				foreach ($source_data as $line)
				{
			  		$line_counter++;
			  		$line_error = FALSE;
			  		if ($line = trim($line))
			  		{
						$usr_data = $usr->getDefaults();		// Reset user data
						$line_data = csv_split($line, $separator, $enveloper);
						$field_data = current($line_data);
						foreach ($field_list as $f)
						{
				  			if ($field_data === FALSE) $line_error = TRUE;
				  			if ($f != 'dummy') $usr_data[$f] = $field_data;
				  			$field_data = next($line_data);
						}
						if ($line_error)
						{
				  			if ($msg) $msg .= "
";
				  			$msg .= LAN_CONVERT_33.$line_counter;
				  			$error_counter++;
						}
						else
						{
							if ($csv_pw_not_encrypted)
							{
								$usr_data['user_password'] = md5($usr_data['user_password']);
							}
				 			$line_error = $usr->saveData($usr_data);
							if ($line_error === TRUE)
							{
								$write_counter++;
							}
							else
							{
								$line_error = $usr->getErrorText($line_error);
								if ($msg) $msg .= "
";
								$msg .= str_replace('--ERRNUM--',$line_error,LAN_CONVERT_34).$line_counter;
								$error_counter++;
							}
						}
					}
				}
			if ($msg) $msg .= "
";
			if ($import_delete_existing_data) $msg .= LAN_CONVERT_40.'
';
			$msg .= str_replace(array('--LINES--','--USERS--', '--ERRORS--'),array($line_counter,$write_counter,$error_counter),LAN_CONVERT_35);
			}
		break;
		case 'db' :
			if(dbImport() == false)
			{
				$abandon = true;
			}
		break;
		
		case 'rss' :
			if(rssImport() == false)
			{
				$abandon = true;
			}
		break;
	}
	if ($msg)
	{
		$mes->add($msg, E_MESSAGE_INFO); //  $ns -> tablerender(LAN_CONVERT_30, $msg);
		$msg = '';
	}
	if ($abandon)
	{
	//	unset($_POST['do_conversion']);
		$text = "
		";
		$ns -> tablerender(LAN_CONVERT_30,$mes->render(). $text);
		require_once(e_ADMIN."footer.php");
		exit;
	}
}
*/
/*
function rssImport()
{
	global $current_db_type, $db_import_blocks, $import_delete_existing_data,$db_blocks_to_import;
	
	$mes = e107::getMessage();
	$mes->addDebug("Loading: RSS");	
	if(!varset($_POST['do_conversion']))
	{
		$mes->addWarning("Under Construction"); 	
	}	
	
	return dbImport('xml');
	
}
function dbImport($mode='db')
{
	global $current_db_type, $db_import_blocks, $import_delete_existing_data,$db_blocks_to_import;
	
	$mes = e107::getMessage();
	
	// if (IMPORT_DEBUG) echo "Importing: {$current_db_type}
";
	$mes->addDebug("Loading: ".$current_db_type);
	
	if (class_exists($current_db_type))
	{
		$mes->addDebug("Class Available: ".$current_db_type);   
		$converter = new $current_db_type;
		$converter->init();
	}
	else
	{
		$mes->addError(LAN_CONVERT_42. "[".$current_db_type."]");
		return false;
	}
	
	if($mode == 'db') // Don't do DB check on RSS/XML 
	{
		if (!isset($_POST['dbParamHost']) || !isset($_POST['dbParamUsername']) || !isset($_POST['dbParamPassword']) || !isset($_POST['dbParamDatabase']))
		{
			$mes->addError(LAN_CONVERT_41);
			return false;
		}
	
		$result = $converter->db_Connect($_POST['dbParamHost'],	$_POST['dbParamUsername'], $_POST['dbParamPassword'], $_POST['dbParamDatabase'],  $_POST['dbParamPrefix']);
		if ($result !== TRUE)
		{
			$mes->addError(LAN_CONVERT_43.": ".$result);  // db connect failed
			return false;
		}	
	}	
	if(!is_array($db_import_blocks))
	{
		$mes->addError("No areas selected for import");  // db connect failed
		return false;	
	}
	if(vartrue($converter->override))
	{
		return;
	}
		
	foreach ($db_import_blocks as $k => $v)
	{
		if (isset($db_blocks_to_import[$k]))
		{
			$loopCounter = 0;
			$errorCounter = 0;
			
			if (is_readable($v['classfile']))
			{
				require_once($v['classfile']);
			}
			else
			{
				$mes->addError(LAN_CONVERT_45.': '.$v['classfile']);   // can't read class file.
				return false;
			}
			if (varset($_POST["import_block_{$k}"],0) == 1)
			{
				//if (IMPORT_DEBUG) echo "Importing: {$k}
";
				$mes->addDebug("Importing: ".$k);
				
			  	$result = $converter->setupQuery($k,!$import_delete_existing_data);
						
			  	if ($result !== TRUE)
			  	{
					$mes->addError(LAN_CONVERT_44.' '.$k);   // couldn't set query
					//	$msg .= "Prefix = ".$converter->DBPrefix;
					break;
			  	}
				
			  	$exporter = new $v['classname'];		// Writes the output data
			 				 	
				switch ($k)  // Do any type-specific default setting
				{
					case 'users' :
					  $exporter->overrideDefault('user_class',$checked_class_list);
					  break;
				}
				
			  	if ($import_delete_existing_data)
				{
					$exporter->emptyTargetDB();		// Clean output DB - reasonably safe now	
				} 
				
				while ($row = $converter->getNext($exporter->getDefaults(),$mode))
				{
					$loopCounter++;
		   			$result = $exporter->saveData($row);
					if ($result !== TRUE)
					{
						$errorCounter++;
						$line_error = $exporter->getErrorText($result);
					//	if ($msg) $msg .= "
";
						$msg = str_replace(array('--ERRNUM--','--DB--'),array($line_error,$k),LAN_CONVERT_46).$loopCounter;
						$mes->addError($msg);   // couldn't set query
					}
				}
				
				$converter->endQuery(); 
				
				unset($exporter);
				
				
				$msg = str_replace(array('--LINES--','--USERS--', '--ERRORS--','--BLOCK--'),
				array($loopCounter,$loopCounter-$errorCounter,$errorCounter, $k),LAN_CONVERT_47);
				$mes->addSuccess($msg);   // couldn't set query
			}
			else
			  {
			  		$mes->addDebug("Error: _POST['import_block_{$k}'] = ".$_POST['import_block_{$k}']);   // cou
					
			  }
		  }
		  else
		  {
		  		$mes->addDebug("\$db_blocks_to_import doesn't contain key: ".$k);   // cou
				
		  }
		}
//	  $msg = LAN_CONVERT_29;
	return true;
	// $abandon = FALSE;	
}
*/
//======================================================
// 					Display front page
//======================================================
new import_admin();
require_once(e_ADMIN."auth.php");
e107::getAdminUI()->runPage();
require_once(e_ADMIN."footer.php");
function csv_split(&$data,$delim=',',$enveloper='')
{
  $ret_array = array();
  $fldval='';
  $enclosed = false;
// $fldcount=0;
// $linecount=0;
  for($i=0, $iMax = strlen($data); $i< $iMax; $i++)
  {
	$c=$data[$i];
	switch($c)
	{
	  case $enveloper :
		if($enclosed && ($i $val)
  {
	$blocks .= "block_names[{$i}]='{$it}';\n";
	$i++;
  }
  $i = 0;
  foreach ($import_class_support as $k => $v)
  {
	$vals .= "db_names[$i] = '{$k}';\n";
	$comments .= "comment_text[$i] = '{$import_class_comment[$k]}';\n";
//	$temp = $import_class_support[$k];		// Array of import types supported
	$j = 0;
	$m = 1;		// Mask bit
	foreach ($db_import_blocks as $it => $val)
	{
	  if (in_array($it,$v)) $j = $j + $m;
	  $m = $m + $m;
	}
	$texts .= "db_options[{$i}] = {$j};\n";
	$i++;
  }
  $text = "
	";
	return $text;
}
*/