| Conditions | 3 |
| Paths | 6 |
| Total Lines | 26 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 23 | public function generate(PageCollection $pageCollection, \Closure $messageCallback) |
||
| 24 | { |
||
| 25 | $generatedPages = new PageCollection(); |
||
| 26 | |||
| 27 | $filteredPages = $pageCollection->filter(function (Page $page) { |
||
| 28 | return null !== $page->getVariable('external'); |
||
| 29 | }); |
||
| 30 | |||
| 31 | /* @var $page Page */ |
||
| 32 | foreach ($filteredPages as $page) { |
||
| 33 | try { |
||
| 34 | $pageContent = file_get_contents($page->getVariable('external'), false); |
||
| 35 | $html = (new Converter()) |
||
| 36 | ->convertBody($pageContent); |
||
| 37 | $page->setHtml($html); |
||
| 38 | |||
| 39 | $generatedPages->add($page); |
||
| 40 | } catch (\Exception $e) { |
||
| 41 | $error = sprintf('Cannot get contents from %s', $page->getVariable('external')); |
||
| 42 | $message = sprintf("Unable to generate '%s': %s", $page->getId(), $error); |
||
| 43 | call_user_func_array($messageCallback, ['GENERATE_ERROR', $message]); |
||
| 44 | } |
||
| 45 | } |
||
| 46 | |||
| 47 | return $generatedPages; |
||
| 48 | } |
||
| 49 | } |
||
| 50 |