$XmlFromFile = new SimpleXMLElement(file_get_contents($fileToProcess)); } } if ($XmlFromFile) { $ModelsInDb = Model::GetModels(); $SetsInDb = Set::GetSets(); $DatesInDb = Date::GetDates(); $VideosInDb = Video::GetVideos(); if (isset($argv) && $argc > 0) { $bi = new BusyIndicator(count($XmlFromFile->Model), 0); } foreach ($XmlFromFile->Model as $Model) { if (isset($argv) && $argc > 0) { $bi->Next(); } $ModelInDb = Model::Filter($ModelsInDb, NULL, (string) $Model->attributes()->firstname, (string) $Model->attributes()->lastname); if ($ModelInDb) { $ModelInDb = $ModelInDb[0]; } /* @var $Model2Process Model */ $Model2Process = $ModelInDb ? $ModelInDb : new Model(); // Provide a one-model-only import for impatient developers if ($Model2Process->getID() && $ModelID && $Model2Process->getID() !== $ModelID) { continue; } $Model2Process->setFirstName((string) $Model->attributes()->firstname); $Model2Process->setLastName((string) $Model->attributes()->lastname); $birthDate = strtotime((string) $Model->attributes()->birthdate); if ($birthDate !== FALSE) { $Model2Process->setBirthdate($birthDate); } else {
if ($Model->getRemarks()) { $xmlw->startElement('Remarks'); $xmlw->text($Model->getRemarks()); $xmlw->endElement(); } } $xmlw->endElement(); $xmlw->flush(); ob_flush(); flush(); } if (!is_null($Date) && (!is_null($UpdatesPic) || !is_null($UpdatesVid))) { $mPic = preg_match_all('/(?<ModelName>[A-Z]+)(?<SetName>[0-9]+)/i', $UpdatesPic, $matchesPic, PREG_SPLIT_NO_EMPTY); $mVid = preg_match_all('/(?<ModelName>[A-Z]+)(?<SetName>[0-9]+)/i', $UpdatesVid, $matchesVid, PREG_SPLIT_NO_EMPTY); foreach ($matchesPic["ModelName"] as $mPict) { $mInDB = Model::Filter($Models, NULL, NULL, NULL, $mPict); $name = preg_match('/^(?<FirstName>[A-Z]+[a-z]*)(?<LastNameInitial>[A-Z])??$/', $mPict, $splitName); $fname = $name ? $splitName['FirstName'] : NULL; $lname = $name && array_key_exists('LastNameInitial', $splitName) ? $splitName['LastNameInitial'] : NULL; $mInDB = $mInDB ? $mInDB[0] : new Model(NULL, $fname, $lname); /* @var $ModelInDB Model */ foreach ($Models as $ModelInDB) { $mInDB = $ModelInDB->GetShortName() == $mPict ? $ModelInDB : new Model(NULL, $mPict); XmlOutputModel($mInDB); } /* foreach($Models as $ModelInDB) { var_dump($mPic); var_dump($mInDB); break;