From bad59c66549eb601fed963ed013f9b79305ca003 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Wed, 07 Jan 2026 20:09:14 +0000
Subject: [PATCH] =Feedblock integrated with refactored taxonomy selector
---
inc/rest/routes/Invitations.php | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 53 insertions(+), 6 deletions(-)
diff --git a/inc/rest/routes/Invitations.php b/inc/rest/routes/Invitations.php
index 401cb07..4022790 100644
--- a/inc/rest/routes/Invitations.php
+++ b/inc/rest/routes/Invitations.php
@@ -48,6 +48,11 @@
// Add hooks for processing accepted invitations
add_action('user_register', [$this, 'checkInvitation'], 10, 1);
+
+ add_filter('jvbLoginLabels', [$this, 'modifyLoginLabels'], 10, 2);
+
+
+
add_action('jvb_daily_maintenance', [$this, 'cleanupExpiredInvitations']);
// Add filter for bulk operation handling
@@ -753,9 +758,9 @@
}
$toContentTax = implode(' ', $toContentTax);
- $button = jvbMailButton($signup_url, 'Join the Scene!');
- $link = jvbEmailLink($signup_url);
- $signature = jvbSignature();
+ $button = JVB()->email()->button($signup_url, 'Join the Scene!');
+ $link = JVB()->email()->link($signup_url);
+ $signature = JVB()->email()->signature();
$message = sprintf(
'<p>Hi %s!</p>
@@ -797,7 +802,7 @@
);
- $success = jvbMail($email, $subject, $message);
+ $success = JVB()->email()->sendEmail($email, $subject, $message);
if (!$success) {
@@ -845,7 +850,7 @@
$name
);
- $success = jvbMail($email, $subject, $content, 'INVITATION REVOKED');
+ $success = JVB()->email()->sendEmail($email, $subject, $content, 'INVITATION REVOKED');
if (!$success) {
JVB()->error()->log(
'invitation_revoke_email',
@@ -1004,7 +1009,6 @@
$key = $this->cache->generateKey($args);
$cache = $this->cache->get($key);
- $cache = false;
if ($cache) {
return new WP_REST_Response($cache);
}
@@ -1344,4 +1348,47 @@
];
}
}
+
+ public function modifyLoginLabels(array $labels, array $get_params): array
+ {
+ // Only modify if invitation params present
+ if (!array_key_exists('invite', $get_params) || !array_key_exists('email', $get_params)) {
+ return $labels;
+ }
+ $email = sanitize_email($get_params['email']);
+ $token = sanitize_text_field($get_params['invite']);
+ $user = email_exists($email);
+ if (!$user) {
+ return $labels;
+ }
+ $role = jvbUserRole($user);
+ // Get invitation data
+ $data = $this->verifyInvitation(
+ $token,
+ $email,
+ $role,
+ );
+
+ if (!$data) {
+ return $labels;
+ }
+
+ // Build custom message
+ $inviters = json_decode($data->inviters, true);
+ $name = $data->name;
+ $names = array_map(function($inviter) {
+ $artist = jvbContentFromUser((int)$inviter['user_id']);
+ return $artist['name'] ?: $artist['display_name'];
+ }, $inviters);
+
+ $message = count($names) > 1
+ ? 'are already here, and have invited you to join in!'
+ : ' is already here, and invited you to join in!';
+
+ // Modify labels
+ $labels['title'] = 'Join the Scene, ' . $data->name;
+ $labels['description'] = [jvbCommaList($names) . ' ' . $message];
+
+ return $labels;
+ }
}
--
Gitblit v1.10.0