Source of file ExternalContentImportContentTask.php
Size: 1,127 Bytes - Last Modified: 2021-12-23T10:34:50+00:00
/var/www/docs.ssmods.com/process/src/code/tasks/ExternalContentImportContentTask.php
12345678910111213141516171819202122232425262728293031323334353637383940 | <?php /** * External content - run import as a build task, importing content into a new container */ class ExternalContentImportContentTask extends BuildTask { public function run($request) { $id = $request->getVar('ID'); if ((!is_numeric($id) && !preg_match('/^[0-9]+_[0-9]+$/', $id)) || !$id) { echo "<p>Specify ?ID=(number) or ?ID=(ID)_(Code)</p>\n"; return; } $includeSelected = false; $includeChildren = true; $duplicates = 'Duplicate'; $selected = $id; $target = new Page; $target->Title = "Import on " . date('Y-m-d H:i:s'); $target->write(); $targetType = 'SiteTree'; $from = ExternalContent::getDataObjectFor($selected); if ($from instanceof ExternalContentSource) { $selected = false; } $importer = null; $importer = $from->getContentImporter($targetType); if ($importer) { $importer->import($from, $target, $includeSelected, $includeChildren, $duplicates); } } } |