Skip to content

Commit

Permalink
Supporting 'Guest Speaker' - #176
Browse files Browse the repository at this point in the history
  • Loading branch information
bfren committed Sep 20, 2024
1 parent 00893f0 commit d78b907
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 3 deletions.
3 changes: 2 additions & 1 deletion src/classes/lectionary/lectionary.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@ public function __construct()
title: Arr::get($service, "Title"),
main_reading: Arr::get($service, "Main Reading"),
additional_reading: Arr::get($service, "Additional Reading"),
psalms: Arr::map(explode(";", Arr::get($service, "Psalms", "")), "trim")
psalms: Arr::map(explode(";", Arr::get($service, "Psalms", "")), "trim"),
guest_speaker: Arr::get($service, "Guest Speaker")
);
}

Expand Down
4 changes: 3 additions & 1 deletion src/classes/lectionary/service.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ class Service
* @param string|null $main_reading Optional main reading.
* @param string|null $additional_reading Optional additional reading.
* @param string[] $psalms Optional psalms.
* @param string|null $guest_speaker Optional guest speaker.
* @return void
*/
public function __construct(
Expand All @@ -32,6 +33,7 @@ public function __construct(
public readonly ?string $title,
public readonly ?string $main_reading,
public readonly ?string $additional_reading,
public readonly array $psalms
public readonly array $psalms,
public readonly ?string $guest_speaker
) {}
}
7 changes: 6 additions & 1 deletion src/classes/rota/builder.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ public static function build_combined_rota(Lectionary $lectionary, array $servic
main_reading: $lectionary_service->main_reading,
additional_reading: $lectionary_service->additional_reading,
psalms: $lectionary_service->psalms ?: [],
guest_speaker: $lectionary_service->guest_speaker,
ministries: $rota_service->ministries
);
}
Expand Down Expand Up @@ -220,7 +221,11 @@ public static function get_description(
if ($include_people && $service->ministries) {
$description[] = "= Ministries =";
foreach ($service->ministries as $name => $service_ministry) {
$description[] = sprintf("%s: %s", $name, join(", ", $service_ministry->people));
$people = Arr::map($service_ministry->people, function ($person) use ($service) {
return $person == "Guest Speaker" ? $service->guest_speaker : $person;
});

$description[] = sprintf("%s: %s", $name, join(", ", $people));
}
$description[] = "";
}
Expand Down
2 changes: 2 additions & 0 deletions src/classes/rota/combined-service.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ class Combined_Service
* @param string|null $main_reading Optional main reading.
* @param string|null $additional_reading Optional additional reading.
* @param string[] $psalms Optional psalms.
* @param string|null $guest_speaker Optional guest speaker.
* @param Service_Ministry[] $ministries Ministries from the rota.
* @return void
*/
Expand All @@ -36,6 +37,7 @@ public function __construct(
public readonly ?string $main_reading,
public readonly ?string $additional_reading,
public readonly array $psalms,
public readonly ?string $guest_speaker,
public readonly array $ministries
) {}
}

0 comments on commit d78b907

Please sign in to comment.