12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- /**
- * This page is called to load "asynchronously" some xml file into the database
- * parameters
- * 'file' string Name of the file to load
- * 'session_status' string 'start', 'continue' or 'end'
- * 'percent' integer 0..100 the percentage of completion once the file has been loaded
- */
- require_once('../application/utils.inc.php');
- require_once('../core/config.class.inc.php');
- require_once('../core/cmdbsource.class.inc.php');
- require_once('./setuppage.class.inc.php');
- require_once('./xmldataloader.class.inc.php');
- define('TMP_CONFIG_FILE', '../tmp-config-itop.php');
- //define('FINAL_CONFIG_FILE', '../config-itop.php');
- // Never cache this page
- header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
- header("Expires: Fri, 17 Jul 1970 05:00:00 GMT"); // Date in the past
- /**
- * Main program
- */
- $sFileName = Utils::ReadParam('file', '');
- $sSessionStatus = Utils::ReadParam('session_status', '');
- $iPercent = (integer)Utils::ReadParam('percent', 0);
- setup_web_page::log("Info - Loading file: $sFileName");
- try
- {
- if (empty($sFileName) || !file_exists($sFileName))
- {
- throw(new Exception("File $sFileName does not exist"));
- }
-
- $oDataLoader = new XMLDataLoader(TMP_CONFIG_FILE); // When called by the wizard, the final config is not yet there
- if ($sSessionStatus == 'start')
- {
- $oChange = MetaModel::NewObject("CMDBChange");
- $oChange->Set("date", time());
- $oChange->Set("userinfo", "Initialization");
- $iChangeId = $oChange->DBInsert();
- setup_web_page::log("Info - starting data load session");
- $oDataLoader->StartSession($oChange);
- }
- $oDataLoader->LoadFile($sFileName);
- $sResult = sprintf("Info - loading of %s done. (Overall %d %% completed).", basename($sFileName), $iPercent);
- echo $sResult;
- setup_web_page::log($sResult);
- if ($sSessionStatus == 'end')
- {
- $oDataLoader->EndSession();
- setup_web_page::log("Info - ending data load session");
- }
- }
- catch(Exception $e)
- {
- echo "<p>An error happened while loading the data</p>\n";
- echo '<p>'.$e."</p>\n";
- setup_web_page::log("Error - An error happened while loading the data. ".$e);
- }
- ?>
|