From f851b240f51f1d2939c26089826803e0ac21195d Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Mon, 17 Dec 2018 19:54:57 -0700 Subject: [PATCH] Exclude "private" members from directory and flag them in other reports (close #18) --- langs/en/labels.json | 3 ++- lib/mkmemberdirectory.php | 6 +++++- lib/reports.php | 7 +++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/langs/en/labels.json b/langs/en/labels.json index 0b97e26..10648c9 100644 --- a/langs/en/labels.json +++ b/langs/en/labels.json @@ -55,5 +55,6 @@ "All members expired or expiring within a month.": "All members expired or expiring within a month.", "All the data from the member directory in a spreadsheet.": "All the data from the member directory in a spreadsheet.", "A formatted and up-to-date HACHE member directory.": "A formatted and up-to-date HACHE member directory.", - "Member wishes to be remain private (excluded from member directory)": "Member wishes to be remain private (excluded from member directory)" + "Member wishes to be remain private (excluded from member directory)": "Member wishes to be remain private (excluded from member directory)", + "Private": "Private" } diff --git a/lib/mkmemberdirectory.php b/lib/mkmemberdirectory.php index ca37f4a..91d3766 100644 --- a/lib/mkmemberdirectory.php +++ b/lib/mkmemberdirectory.php @@ -21,7 +21,11 @@ use Dompdf\Dompdf; $familylist = $database->select("families", "familyid", ["ORDER" => ["familyname"]]); $families = []; foreach ($familylist as $f) { - $families[] = (new Family())->load($f); + $fam = (new Family())->load($f); + if ($fam->getPrivate()) { + continue; + } + $families[] = $fam; } $format = "html"; diff --git a/lib/reports.php b/lib/reports.php index 77e3b8f..69a5604 100644 --- a/lib/reports.php +++ b/lib/reports.php @@ -59,11 +59,13 @@ function getMemberReport($filter = []): Report { $Strings->get("Photo Permission", false), $Strings->get("Newsletter", false), $Strings->get("Expires", false), - $Strings->get("Children", false) + $Strings->get("Private", false), + $Strings->get("Children", false), ]); $families = []; foreach ($familyids as $id) { - $families[] = (new Family())->load($id); + $f = (new Family())->load($id); + $families[] = $f; } foreach ($families as $f) { $newsletter = ""; @@ -95,6 +97,7 @@ function getMemberReport($filter = []): Report { $f->getPhotoPermission() ? $Strings->get("Yes", false) : $Strings->get("No", false), $newsletter, date("Y-m-d", $f->getExpires()), + $f->getPrivate() ? $Strings->get("Yes", false) : $Strings->get("No", false), implode(", ", $children) ]); }