sleep(1); echo "Alert: need to stop? You have 5s to cancel... processing in: "; foreach (["5..", "4..", "3..", "2..", "1..", "starting!\n"] as $num) { sleep(1); echo "{$num}"; } sleep(1); if (!$flags['--debug-local']) { $ingester->slack("ContentDM Harvester - Starting Ingest: {$index} | Total # Records: {$total}", true); } // drill through each record in collection for ($i = 0; $i < $total; $i++) { echo "\n #{$i} - \n\n"; $alias = "ingest.{$index}"; $di = $records[$i]['pointer']; $info = $ingester->getItemInfo($index, $di); $pages = json_decode($info, true); $json = []; //TODO - put all this code in a foreach language, and set the language key on each iteration //TODO - create language testing code (sometime in future, CONTENTdm doesn't split up info based on language key (yet?...)) //TODO - something like: foreach ($pages as $entryLanguageKey => $v){} $entryLanguageKey = '_defaultLanguage'; $json[$entryLanguageKey]['_json'] = $pages; $json[$entryLanguageKey]['_item'] = $ingester->mapValuesToFields($json[$entryLanguageKey]['_json'], $remap); //after drill down, set some ubc related variables //image data echo " Getting image info ({$index}, {$di})\n"; $imgInfo = json_decode($ingester->getImageInfo($index, $di), true); $ingester->parseImageInfo($json[$entryLanguageKey]['_item'], $imgInfo); //pointers and handles with dmrecord $json[$entryLanguageKey]['_item']['ubc.internal.repo.handle'] = $di;