Commit a634d2fb authored by Administrator's avatar Administrator 💬

fix: do not require lessons definition in other languages

parent 7ae25447
...@@ -298,11 +298,13 @@ class M3P2Plugin extends Plugin ...@@ -298,11 +298,13 @@ class M3P2Plugin extends Plugin
$target_pages = array_filter($pages->instances(), function (Page $p) use ($lesson_slug) { $target_pages = array_filter($pages->instances(), function (Page $p) use ($lesson_slug) {
$page_config = $p->header(); $page_config = $p->header();
if ( ! isset($page_config->lessons) || empty($page_config->lessons)) { if ( ! isset($page_config->lessons) || empty($page_config->lessons)) {
return false; return false;
} }
foreach ($page_config->lessons as $lesson) { foreach ($page_config->lessons as $lesson) {
if ( ! isset($lesson['slug'])) { if ( ! isset($lesson['slug'])) {
...@@ -333,11 +335,11 @@ class M3P2Plugin extends Plugin ...@@ -333,11 +335,11 @@ class M3P2Plugin extends Plugin
}; };
$mar = array_filter($ha->lessons, $fdp); $mar = array_filter($ha->lessons, $fdp);
assert($mar && !empty($mar), "No lesson found for $lesson_slug in page ".$a->url()); assert($mar && ! empty($mar), "No lesson found for $lesson_slug in page ".$a->url());
$ma = array_shift($mar); $ma = array_shift($mar);
$mbr = array_filter($hb->lessons, $fdp); $mbr = array_filter($hb->lessons, $fdp);
assert($mbr && !empty($mbr), "No lesson found for $lesson_slug in page ".$b->url()); assert($mbr && ! empty($mbr), "No lesson found for $lesson_slug in page ".$b->url());
$mb = array_shift($mbr); $mb = array_shift($mbr);
if ($ma && isset($ma['order'])) { if ($ma && isset($ma['order'])) {
...@@ -350,23 +352,25 @@ class M3P2Plugin extends Plugin ...@@ -350,23 +352,25 @@ class M3P2Plugin extends Plugin
return $la - $lb; return $la - $lb;
}); });
if (empty($target_pages)) { if (empty($target_pages)) {
return; return false;
} }
$current_lesson_lang = $target_pages[0]->language(); $current_lesson_lang = $target_pages[0]->language();
$current_lesson_name = ""; $current_lesson_name = ""; // unused for now
$current_found = false; $current_found = false;
$previous_found = false; $previous_found = false;
$next_found = false; $next_found = false;
$previous_lesson_slug = ""; $previous_lesson_slug = "";
$previous_lesson_name = ""; $previous_lesson_name = ""; // unused for now
$next_lesson_slug = ""; $next_lesson_slug = "";
$other_lessons = []; // of slug => ['name' => …, 'slug' => …] $other_lessons = []; // of slug => ['name' => …, 'slug' => …]
foreach ($target_pages as $target_page) { foreach ($target_pages as $target_page) {
$page_config = $target_page->header(); $page_config = $target_page->header();
if ( ! isset($page_config->lessons) || empty($page_config->lessons)) { if ( ! isset($page_config->lessons) || empty($page_config->lessons)) {
return false; // Unless we edit the code above, this _should_ never happen.
die("Some pages are lacking a lessons configuration.");
} }
foreach ($page_config->lessons as $page_lesson) { foreach ($page_config->lessons as $page_lesson) {
if ( ! isset($page_lesson['slug'])) { if ( ! isset($page_lesson['slug'])) {
...@@ -415,7 +419,7 @@ class M3P2Plugin extends Plugin ...@@ -415,7 +419,7 @@ class M3P2Plugin extends Plugin
$page_config = $translated_target_page->header(); $page_config = $translated_target_page->header();
if ( ! isset($page_config->lessons) || empty($page_config->lessons)) { if ( ! isset($page_config->lessons) || empty($page_config->lessons)) {
return false; continue; // other languages may not define lessons
} }
foreach ($page_config->lessons as $lesson) { foreach ($page_config->lessons as $lesson) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment