Repository navigation
Expand file tree
/
Copy pathprogress.php
More file actions
44 lines (32 loc) · 1.43 KB
/
Copy pathprogress.php
File metadata and controls
44 lines (32 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
require_once 'autoload.php';
use ProjectEuler\Main\Site;
use ProjectEuler\Content\ProgressContent;
use ProjectEuler\Renderers\ProgressRenderer;
$site = new Site();
$progressContent = new ProgressContent();
$problems = $progressContent->getProblemsInfo();
$nrProblemsTranslated = 0;
foreach ($problems as $problem) {
if ($problem['is_translated']) {
$nrProblemsTranslated++;
}
}
$nrProblemsTotal = count($problems);
$progressTpl = file_get_contents('templates/progress/progress.tpl');
$translatedCellTpl = file_get_contents('templates/progress/translated_cell.tpl');
$notTranslatedCellTpl = file_get_contents('templates/progress/not_translated_cell.tpl');
$levelReachedTpl = file_get_contents('templates/progress/level_reached.tpl');
$levelNotReachedTpl = file_get_contents('templates/progress/level_not_reached.tpl');
$renderer = new ProgressRenderer();
$renderedLevels = $renderer->renderLevels($levelReachedTpl, $levelNotReachedTpl, $nrProblemsTotal, $nrProblemsTranslated);
$renderedCells = $renderer->renderCells($translatedCellTpl, $notTranslatedCellTpl, $problems, $nrProblemsTotal);
$finalContent = $renderer->renderProgressPage(
$progressTpl,
array('rendered_levels' => $renderedLevels, 'rendered_cells' => $renderedCells),
$nrProblemsTotal,
$nrProblemsTranslated
);
$htmlout = $site->getFullPageTemplate('progress.php');
$htmlout = str_replace('{page_content}', $finalContent, $htmlout);
echo $htmlout;