diff --git a/action.php b/action.php index 38ccf99..6fbe920 100644 --- a/action.php +++ b/action.php @@ -138,6 +138,14 @@ switch ($VARS['action']) { } $family->setPhotoPermission($photopermission); + $private = $VARS['private']; + if (!empty($private) && $private == "1") { + $private = true; + } else { + $private = false; + } + $family->setPrivate($private); + $family->save(); // diff --git a/database.mwb b/database.mwb index af3129d..c859bfc 100644 Binary files a/database.mwb and b/database.mwb differ diff --git a/langs/en/labels.json b/langs/en/labels.json index 5c8a93b..0b97e26 100644 --- a/langs/en/labels.json +++ b/langs/en/labels.json @@ -54,5 +54,6 @@ "This payment is a membership renewal (automatically add one year to the family's membership)": "This payment is a membership renewal (automatically add one year to the family's membership)", "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." + "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)" } diff --git a/lib/Family.lib.php b/lib/Family.lib.php index 520fcde..be35c46 100644 --- a/lib/Family.lib.php +++ b/lib/Family.lib.php @@ -22,6 +22,7 @@ class Family { private $newsletter = 1; private $children = []; private $expires = 0; + private $private = false; public function __construct() { @@ -55,7 +56,8 @@ class Family { 'father_name (father)', 'mother_name (mother)', 'photo_permission (photo)', - 'expires' + 'expires', + 'private' ], [ "familyid" => $this->id ]); @@ -74,6 +76,7 @@ class Family { $this->photo = $f['photo'] == 1; $this->newsletter = $f['newsletter']; $this->expires = strtotime($f['expires']); + $this->private = $f['private'] == 1; foreach ($children as $c) { $this->children[] = (new Child())->load($c); @@ -97,7 +100,8 @@ class Family { "zip" => $this->getZip(), "photo_permission" => $this->getPhotoPermission(), "newsletter_method" => $this->getNewsletter(), - "expires" => date("Y-m-d", $this->getExpires()) + "expires" => date("Y-m-d", $this->getExpires()), + "private" => $this->getPrivate() ], [ "familyid" => $this->id ]); @@ -114,7 +118,8 @@ class Family { "zip" => $this->getZip(), "photo_permission" => $this->getPhotoPermission(), "newsletter_method" => $this->getNewsletter(), - "expires" => date("Y-m-d", $this->getExpires()) + "expires" => date("Y-m-d", $this->getExpires()), + "private" => $this->getPrivate() ]); $this->id = $database->id(); } @@ -181,6 +186,10 @@ class Family { return $this->expires; } + public function getPrivate(): bool { + return $this->private == true; + } + public function setName(string $name) { @@ -275,4 +284,8 @@ class Family { } } + public function setPrivate(bool $private) { + $this->private = $private; + } + } diff --git a/pages/editfamily.php b/pages/editfamily.php index 12d175b..93db183 100644 --- a/pages/editfamily.php +++ b/pages/editfamily.php @@ -282,24 +282,40 @@ if (empty($VARS['id']) || !$database->has('families', ['familyid' => $VARS['id']

Consent

-

- get("Okay to use photos?"); ?> - - getPhotoPermission()) { - echo "checked"; - } - ?> required> - - - - getPhotoPermission()) { - echo "checked"; - } - ?> required> - - +

+
+ get("Okay to use photos?"); ?> +
+ + getPhotoPermission()) { + echo "checked"; + } + ?> required> + + + + getPhotoPermission()) { + echo "checked"; + } + ?> required> + + +
+ +
+ + getPrivate()) { + echo "checked"; + } + ?>> + + +
+
+