Date: Wed, 3 Jan 2024 23:12:01 -0500
Subject: [PATCH 047/431] API updates for Events
---
src/python/WebApi.py | 124 +++++++++++++++++++++++++++++++------------
1 file changed, 89 insertions(+), 35 deletions(-)
diff --git a/src/python/WebApi.py b/src/python/WebApi.py
index 22aa0219..5652be52 100644
--- a/src/python/WebApi.py
+++ b/src/python/WebApi.py
@@ -187,11 +187,17 @@ def get_person_info_for_sync(person_obj):
Data.Title = "Saved Searches"
-if "InvsForDivs" in Data.a:
+if "Invs" in Data.a:
apiCalled = True
regex = re.compile('[^0-9,]')
divs = regex.sub('', Data.divs)
+ if (len(divs)) < 1:
+ divs = '0'
+
+ mtgHist = -int(Data.mtgHist) if Data.mtgHist != "" else 0
+ mtgFuture = int(Data.mtgFuture) if Data.mtgFuture != "" else 365
+ featMtgs = 1 if Data.featMtgs != "" else 2 # value is directly used in SQL comparison.
leadMemTypes = Data.leadMemTypes or ""
leadMemTypes = regex.sub('', leadMemTypes)
@@ -203,7 +209,7 @@ def get_person_info_for_sync(person_obj):
hostMemTypes = "NULL"
# noinspection SqlResolve,SqlUnusedCte,SqlRedundantOrderingDirection
- invSql = '''
+ invSql = ('''
WITH cteTargetOrgs as
(
SELECT
@@ -223,6 +229,9 @@ def get_person_info_for_sync(person_obj):
o.OrgPickList,
o.MainLeaderId,
o.ImageUrl,
+ o.BadgeUrl,
+ o.RegistrationMobileId,
+ o.ShowRegistrantsInMobile,
o.CampusId,
o.RegSettingXml.exist('/Settings/AskItems') AS hasRegQuestions,
FORMAT(o.RegStart, 'yyyy-MM-ddTHH:mm:ss') AS regStart,
@@ -230,13 +239,24 @@ def get_person_info_for_sync(person_obj):
FORMAT(o.FirstMeetingDate, 'yyyy-MM-ddTHH:mm:ss') AS firstMeeting,
FORMAT(o.LastMeetingDate, 'yyyy-MM-ddTHH:mm:ss') AS lastMeeting
FROM dbo.Organizations o
- WHERE o.OrganizationId = (
- SELECT MIN(OrgId) min
- FROM dbo.DivOrg do
- WHERE do.OrgId = o.OrganizationId
- AND do.DivId IN ({})
+ WHERE ( o.OrganizationId = (
+ SELECT MIN(OrgId) min
+ FROM dbo.DivOrg do
+ WHERE do.OrgId = o.OrganizationId
+ AND do.DivId IN ({0})
+ )
+ AND o.organizationStatusId = 30
+ )
+ OR ( o.ShowInSites = {2}
+ AND o.OrganizationId = (
+ SELECT MIN(m.OrganizationId) org
+ FROM Meetings m
+ WHERE m.OrganizationId = o.OrganizationId
+ AND m.MeetingDate > DATEADD(day, {3}, GETDATE())
+ AND m.MeetingDate < DATEADD(day, {4}, GETDATE())
+ GROUP BY m.OrganizationId
+ )
)
- AND o.organizationStatusId = 30
),
-- select all members for these organizations to avoid multiple scans of Organization members table
cteOrganizationMembers AS
@@ -263,21 +283,39 @@ def get_person_info_for_sync(person_obj):
(SELECT OrganizationId, STRING_AGG(ag, ',') WITHIN GROUP (ORDER BY ag ASC) AS PeopleAge
FROM (
SELECT omi.OrganizationId,
- (CASE
- WHEN pi.Age > 69 THEN '70+'
- ELSE CONVERT(VARCHAR(2), (FLOOR(pi.Age / 10.0) * 10), 70) + 's'
- END) as ag
+ (IIF(pi.Age > 69, '70+', CONVERT(VARCHAR(2), (FLOOR(pi.Age / 10.0) * 10), 70) + 's')) as ag
FROM cteOrganizationMembers omi
INNER JOIN dbo.People pi WITH(NOLOCK)
ON omi.PeopleId = pi.PeopleId
WHERE pi.Age > 19
GROUP BY omi.OrganizationId,
- (CASE
- WHEN pi.Age > 69 THEN '70+'
- ELSE CONVERT(VARCHAR(2), (FLOOR(pi.Age / 10.0) * 10), 70) + 's'
- END)
+ (IIF(pi.Age > 69, '70+', CONVERT(VARCHAR(2), (FLOOR(pi.Age / 10.0) * 10), 70) + 's'))
) AS ag_agg
GROUP BY ag_agg.OrganizationId
+ ), ''' + '''
+ -- pull aggregate meetings for all target organizations
+ cteMeeting AS
+ (
+ SELECT cto.OrganizationId,
+ (
+ SELECT om.MeetingId as mtgId,
+ FORMAT(om.meetingDate, 'yyyy-MM-ddTHH:mm:ss') as mtgStartDt,
+ null as mtgEndDt, -- TODO end time
+ om.Location as location,
+ om.Description as name,
+ 1 - om.DidNotMeet as status,
+ om.Capacity as capacity,
+ CAST(me.Data as INT) as parentMtgId
+ FROM dbo.Meetings om
+ INNER JOIN cteTargetOrgs o
+ ON om.OrganizationId = o.OrganizationId
+ LEFT JOIN dbo.MeetingExtra me
+ ON om.MeetingId = me.MeetingId AND 'ParentMeeting' = me.Field
+ WHERE om.MeetingDate > DATEADD(day, {3}, GETDATE())
+ AND om.OrganizationId = cto.OrganizationId
+ FOR JSON PATH, INCLUDE_NULL_VALUES
+ ) as OrgMeetings
+ FROM cteTargetOrgs cto
),
-- pull aggregate schedules for all target organizations
cteSchedule AS
@@ -288,7 +326,7 @@ def get_person_info_for_sync(person_obj):
INNER JOIN cteTargetOrgs o
ON os.OrganizationId = o.OrganizationId
WHERE cto.OrganizationId = os.OrganizationId
- FOR JSON PATH
+ FOR JSON PATH, INCLUDE_NULL_VALUES
) as OrgSchedule
FROM cteTargetOrgs cto),
-- pull aggregate divisions for all target organizations
@@ -320,7 +358,7 @@ def get_person_info_for_sync(person_obj):
(SELECT TOP 1 omh.PeopleId
FROM dbo.OrganizationMembers omh
WHERE o.OrganizationId = omh.OrganizationId
- AND omh.MemberTypeId IN ({})) = ph.PeopleId
+ AND omh.MemberTypeId IN ({1})) = ph.PeopleId
LEFT JOIN dbo.Families fh ON
ph.FamilyId = fh.FamilyId
LEFT JOIN dbo.AddressInfo paih ON
@@ -350,6 +388,9 @@ def get_person_info_for_sync(person_obj):
, o.[OrgPickList] AS [orgPickList]
, o.[MainLeaderId] AS [mainLeaderId]
, o.[ImageUrl] AS [imageUrl]
+ , o.[BadgeUrl] AS [badgeUrl]
+ , o.[RegistrationMobileId] AS [registrationMobileId]
+ , o.[ShowRegistrantsInMobile] AS [showRegistrantsInMobile]
, o.[hasRegQuestions] AS [hasRegQuestions]
, o.[regStart] AS [regStart]
, o.[regEnd] AS [regEnd]
@@ -373,7 +414,7 @@ def get_person_info_for_sync(person_obj):
ON o.OrganizationId = aa.OrganizationId
LEFT JOIN cteSchedule s
ON o.OrganizationId = s.OrganizationId
- LEFT JOIN cteMeetings m
+ LEFT JOIN cteMeeting m
ON o.OrganizationId = m.OrganizationId
LEFT JOIN cteDivision d
ON o.OrganizationId = d.OrganizationId
@@ -381,7 +422,7 @@ def get_person_info_for_sync(person_obj):
ON o.OrganizationId = ol.OrganizationId
LEFT JOIN lookup.Campus c
ON o.CampusId = c.Id
- ORDER BY o.parentInvId ASC, o.OrganizationId ASC'''.format(divs, hostMemTypes)
+ ORDER BY o.parentInvId ASC, o.OrganizationId ASC''').format(divs, hostMemTypes, featMtgs, mtgHist, mtgFuture)
groups = model.SqlListDynamicData(invSql)
@@ -393,10 +434,8 @@ def get_person_info_for_sync(person_obj):
g.divs = g.divs.split(',')
if g.meetings is not None:
- # noinspection PyUnresolvedReferences
- g.meetings = g.meetings.split(' | ')
- for i, s in enumerate(g.meetings):
- g.meetings[i] = {'dt': s[0:19], 'type': s[20:]}
+ # noinspection PyTypeChecker
+ g.meetings = json.loads(g.meetings)
else:
g.meetings = []
@@ -913,11 +952,13 @@ def get_person_info_for_sync(person_obj):
# Prep SQL for People Extra Values
pevSql = ''
- if inData.has_key('meta') and isinstance(inData['meta'], dict) and inData['meta'].has_key('pev') and len(inData['meta']['pev']) > 0:
+ if inData.has_key('meta') and isinstance(inData['meta'], dict) and inData['meta'].has_key('pev') and len(
+ inData['meta']['pev']) > 0:
pevSql = []
for pev in inData['meta']['pev']:
pevSql.append("([Field] = '{}' AND [Type] = '{}')".format(pev['field'], pev['type']))
- # noinspection SqlResolve
+
+ # noinspection SqlResolve,Annotator
pevSql = """SELECT Field, StrValue, DateValue, Data, IntValue, BitValue, [Type],
CONCAT('pev', SUBSTRING(CONVERT(NVARCHAR(18), HASHBYTES('MD2', CONCAT([Field], [Type])), 1), 3, 8)) Hash
FROM PeopleExtra
@@ -931,8 +972,9 @@ def get_person_info_for_sync(person_obj):
fevSql = []
for fev in inData['meta']['fev']:
fevSql.append("([Field] = '{}' AND [Type] = '{}')".format(fev['field'], fev['type']))
+
if len(fevSql) > 0:
- # noinspection SqlResolve
+ # noinspection SqlResolve,Annotator
fevSql = """SELECT Field, StrValue, DateValue, Data, IntValue, BitValue, [Type],
CONCAT('fev', SUBSTRING(CONVERT(NVARCHAR(18), HASHBYTES('MD2', CONCAT([Field], [Type])), 1), 3, 8)) Hash
FROM FamilyExtra
@@ -940,10 +982,22 @@ def get_person_info_for_sync(person_obj):
else:
fevSql = ''
- # noinspection SqlResolve
- invSql = "SELECT om.OrganizationId iid, CONCAT('mt', mt.Id) memType, CONCAT('at', at.Id) attType, om.UserData descr FROM OrganizationMembers om LEFT JOIN lookup.MemberType mt on om.MemberTypeId = mt.Id LEFT JOIN lookup.AttendType at ON mt.AttendanceTypeId = at.Id WHERE om.Pending = 0 AND mt.Inactive = 0 AND at.Guest = 0 AND om.PeopleId = {0} AND om.OrganizationId IN ({1})"
-
- # noinspection SqlResolve
+ # noinspection SqlResolve,Annotator
+ invSql = """SELECT om.OrganizationId iid,
+ CONCAT('mt', mt.Id) memType,
+ CONCAT('at', at.Id) attType,
+ om.UserData descr
+ FROM OrganizationMembers om
+ LEFT JOIN lookup.MemberType mt
+ ON om.MemberTypeId = mt.Id
+ LEFT JOIN lookup.AttendType at
+ ON mt.AttendanceTypeId = at.Id
+ WHERE om.Pending = 0
+ AND mt.Inactive = 0
+ AND at.Guest = 0
+ AND om.PeopleId = {0} AND om.OrganizationId IN ({1})"""
+
+ # noinspection SqlResolve,Annotator
famGeoSql = """SELECT geo.Longitude, geo.Latitude
FROM AddressInfo ai LEFT JOIN Geocodes geo ON ai.FullAddress = geo.Address WHERE ai.FamilyId = {}"""
@@ -1032,7 +1086,6 @@ def get_person_info_for_sync(person_obj):
Data.rules = rules # handy for debugging
Data.success = True
-
if "report_run" in Data.a and model.HttpMethod == "post":
apiCalled = True
@@ -1096,7 +1149,8 @@ def get_person_info_for_sync(person_obj):
model.Title = "Logging out..."
model.Header = "Logging out..."
model.Script = ""
- print("")
+ print(
+ "")
apiCalled = True
if ("login" in Data.a or Data.r != '') and model.HttpMethod == "get": # r parameter implies desired redir after login.
@@ -1214,8 +1268,8 @@ def get_person_info_for_sync(person_obj):
model.Title = "Error"
model.Header = "Something went wrong."
- print("Please email the following error message to " + model.Setting("AdminMail",
- "the church staff") + ".
")
+ print("Please email the following error message to " +
+ model.Setting("AdminMail", "the church staff") + ".
")
print(response)
print_exception()
print("")
From 40ec8177517c5f6584b17d414845f98654ec38de Mon Sep 17 00:00:00 2001
From: "James K."
Date: Wed, 3 Jan 2024 23:17:54 -0500
Subject: [PATCH 048/431] typo
---
src/TouchPoint-WP/Partner.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/TouchPoint-WP/Partner.php b/src/TouchPoint-WP/Partner.php
index e3239b59..e0c72262 100644
--- a/src/TouchPoint-WP/Partner.php
+++ b/src/TouchPoint-WP/Partner.php
@@ -390,7 +390,7 @@ public static function updateFromTouchPoint(bool $verbose = false)
// Excerpt / Summary
$post->post_excerpt = self::getFamEvAsContent($summaryEv, $f, null);
- // Partner Category This can't be moved to Taxonomy class because values aren't know.n.
+ // Partner Category This can't be moved to Taxonomy class because values aren't known.
if ($categoryEv !== '') {
$category = $f->familyEV->$categoryEv->value ?? null;
// Insert Term if new
From e8c0e0c6347a08a93a8897d9b6bae438159c9dcb Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 4 Jan 2024 08:39:02 -0500
Subject: [PATCH 049/431] API updates. Settings for Events.
---
src/TouchPoint-WP/Involvement.php | 27 ++++++----
.../Involvement_PostTypeSettings.php | 2 +
src/TouchPoint-WP/TouchPointWP_Settings.php | 6 +--
src/templates/admin/invKoForm.php | 10 ++++
src/templates/meeting-archive.php | 51 +++++++++++++++++++
5 files changed, 84 insertions(+), 12 deletions(-)
create mode 100644 src/templates/meeting-archive.php
diff --git a/src/TouchPoint-WP/Involvement.php b/src/TouchPoint-WP/Involvement.php
index 6b125d41..d58dc941 100644
--- a/src/TouchPoint-WP/Involvement.php
+++ b/src/TouchPoint-WP/Involvement.php
@@ -560,7 +560,7 @@ public function nextMeeting(): ?DateTimeImmutable
if ($this->_nextMeeting === null) {
// meetings
foreach ($this->meetings() as $m) {
- $mdt = $m->dt;
+ $mdt = $m->mtgStartDt;
if ($mdt > $now) {
if ($this->_nextMeeting === null || $mdt < $this->_nextMeeting) {
$this->_nextMeeting = $mdt;
@@ -622,7 +622,7 @@ private static function computeCommonOccurrences(array $meetings = [], array $sc
continue;
}
- $dt = $m->dt;
+ $dt = $m->mtgStartDt;
if ($dt < $now) {
continue;
@@ -2085,11 +2085,12 @@ final protected static function updateInvolvementPostsForType(Involvement_PostTy
}
try {
- $response = TouchPointWP::instance()->apiGet(
- "InvsForDivs",
- array_merge($qOpts, ['divs' => $divs]),
- 180
- );
+ $qOpts['divs'] = $divs;
+ if ($typeSets->importMeetings) {
+ $qOpts['mtgHist'] = TouchPointWP::instance()->settings->mc_archive_days;
+ $qOpts['mtgFuture'] = TouchPointWP::instance()->settings->mc_future_days;
+ }
+ $response = TouchPointWP::instance()->apiGet("Invs", $qOpts, 180);
} catch (TouchPointWP_Exception $e) {
return false;
}
@@ -2108,6 +2109,9 @@ final protected static function updateInvolvementPostsForType(Involvement_PostTy
$now = new DateTimeImmutable(null, $siteTz);
$aYear = new DateInterval('P1Y');
$nowPlus1Y = $now->add($aYear);
+ $histDays = TouchPointWP::instance()->settings->mc_hist_days;
+ $histVal = new DateInterval("P{$histDays}D");
+ $nowMinusH = $now->sub($histVal);
unset($aYear);
} catch (Exception $e) {
return false;
@@ -2151,7 +2155,9 @@ final protected static function updateInvolvementPostsForType(Involvement_PostTy
}
foreach ($inv->meetings as $i => $m) {
try {
- $m->dt = new DateTimeImmutable($m->dt, $siteTz);
+ $m->mtgStartDt = new DateTimeImmutable($m->mtgStartDt, $siteTz);
+ $m->mtgEndDt = ($m->mtgEndDt == null ? null :
+ new DateTimeImmutable($m->mtgEndDt, $siteTz));
} catch (Exception $e) {
unset($inv->meetings[$i]);
}
@@ -2183,7 +2189,10 @@ final protected static function updateInvolvementPostsForType(Involvement_PostTy
// 'continue' causes involvement to be deleted (or not created).
// Filter by end dates to stay relevant
- if ($inv->lastMeeting !== null && $inv->lastMeeting < $now) { // last meeting already happened.
+ if ($inv->lastMeeting !== null && (
+ (!$typeSets->importMeetings && $inv->lastMeeting < $now) ||
+ ($typeSets->importMeetings && $inv->lastMeeting < $nowMinusH))
+ ) { // last meeting was long enough ago to no longer be relevant.
if ($verbose) {
echo "Stopping processing because all meetings are in the past. Involvement will be deleted from WordPress.
";
}
diff --git a/src/TouchPoint-WP/Involvement_PostTypeSettings.php b/src/TouchPoint-WP/Involvement_PostTypeSettings.php
index 57dd8cfc..aa7c63d5 100644
--- a/src/TouchPoint-WP/Involvement_PostTypeSettings.php
+++ b/src/TouchPoint-WP/Involvement_PostTypeSettings.php
@@ -22,6 +22,7 @@
* @property-read bool $useImages
* @property-read bool $useGeo
* @property-read bool $hierarchical
+ * @property-read bool $importMeetings
* @property-read string $groupBy
* @property-read string[] $excludeIf
* @property-read string[] $leaderTypes
@@ -45,6 +46,7 @@ class Involvement_PostTypeSettings
protected bool $useImages = false;
protected bool $useGeo = false;
protected bool $hierarchical = false;
+ protected bool $importMeetings = false;
protected string $groupBy = "";
protected array $excludeIf = [];
protected array $leaderTypes = [];
diff --git a/src/TouchPoint-WP/TouchPointWP_Settings.php b/src/TouchPoint-WP/TouchPointWP_Settings.php
index 16ccd7be..cffa8560 100644
--- a/src/TouchPoint-WP/TouchPointWP_Settings.php
+++ b/src/TouchPoint-WP/TouchPointWP_Settings.php
@@ -69,9 +69,9 @@
* @property-read string ec_use_standardizing_style Whether to insert the standardizing stylesheet into mobile app requests.
*
* @property-read string mc_slug Slug for meetings in the meeting calendar (e.g. "events" for church.org/events)
- * @property-read string mc_future_days Number of days into the future to import.
- * @property-read string mc_archive_days Number of days to wait to move something to history.
- * @property-read string mc_hist_days Number of days of history to keep.
+ * @property-read int mc_future_days Number of days into the future to import.
+ * @property-read int mc_archive_days Number of days to wait to move something to history.
+ * @property-read int mc_hist_days Number of days of history to keep.
* @property-read string mc_deletion_method Determines how meetings should be handled in WordPress if they're deleted in TouchPoint
*
* @property-read string rc_name_plural What resident codes should be called, plural (e.g. "Resident Codes" or "Zones")
diff --git a/src/templates/admin/invKoForm.php b/src/templates/admin/invKoForm.php
index a4fc25c1..759c1979 100644
--- a/src/templates/admin/invKoForm.php
+++ b/src/templates/admin/invKoForm.php
@@ -72,6 +72,15 @@
+ enable_meeting_cal === "on") { ?>
+
+ |
+
+ |
+ |
+
+
+
@@ -242,6 +251,7 @@ function InvType(data) {
this.useImages = ko.observable(data.useImages ?? true);
this.excludeIf = ko.observable(data.excludeIf ?? []);
this.hierarchical = ko.observable(data.hierarchical ?? false);
+ this.importMeetings = ko.observable(data.importMeetings ?? false);
this.groupBy = ko.observable(data.groupBy ?? "");
this.leaderTypes = ko.observableArray(data.leaderTypes ?? []);
this.hostTypes = ko.observableArray(data.hostTypes ?? []);
diff --git a/src/templates/meeting-archive.php b/src/templates/meeting-archive.php
new file mode 100644
index 00000000..71721111
--- /dev/null
+++ b/src/templates/meeting-archive.php
@@ -0,0 +1,51 @@
+name : false;
+
+get_header($postType);
+
+$description = get_the_archive_description();
+
+if (have_posts()) {
+ global $wp_query;
+
+ TouchPointWP::enqueuePartialsStyle();
+ ?>
+
+
+ tax_query->queries = $taxQuery;
+ $wp_query->query_vars['tax_query'] = $taxQuery;
+ $wp_query->is_tax = false; // prevents templates from thinking this is a taxonomy archive
+} else {
+ $loadedPart = get_template_part('list-none', 'meeting-list-none');
+ if ($loadedPart === false) {
+ require TouchPointWP::$dir . "/src/templates/parts/meeting-list-none.php";
+ }
+}
+
+get_footer();
\ No newline at end of file
From c11f0bdc2949c161b6342a7010eb089416e1b803 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 4 Jan 2024 08:39:24 -0500
Subject: [PATCH 050/431] Resolve an issue when user isn't logged in.
---
src/TouchPoint-WP/TouchPointWP.php | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index d9631480..c72eb492 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -500,6 +500,10 @@ public static function currentUserIsAdmin(): bool
return false;
}
+ if ( ! function_exists('wp_get_current_user')) {
+ return false;
+ }
+
return current_user_can('manage_options');
}
From 964d9873d1da4b360c1bd5dc39408ecf7b0413ad Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 4 Jan 2024 23:10:00 -0500
Subject: [PATCH 051/431] Fix #162, I think?
---
src/TouchPoint-WP/Involvement.php | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/TouchPoint-WP/Involvement.php b/src/TouchPoint-WP/Involvement.php
index d58dc941..eee47660 100644
--- a/src/TouchPoint-WP/Involvement.php
+++ b/src/TouchPoint-WP/Involvement.php
@@ -664,11 +664,14 @@ protected function scheduleString_calc(): ?string
$timeStr = substr($k, 2);
if ( ! in_array($timeStr, $uniqueTimeStrings, true)) {
$uniqueTimeStrings[] = $timeStr;
+ }
- $weekday = "d" . $k[0];
- if ( ! isset($days[$weekday])) {
- $days[$weekday] = [];
- }
+ $weekday = "d" . $k[0];
+ if ( ! isset($days[$weekday])) {
+ $days[$weekday] = [];
+ }
+
+ if ( ! in_array($co['example'], $days[$weekday], true)) {
$days[$weekday][] = $co['example'];
}
}
From 8a2e809d42d38caa01a42f8fb19f35297cfb8292 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 4 Jan 2024 23:30:48 -0500
Subject: [PATCH 052/431] Resolve an issue where filters don't work if the map
failed to load.
---
assets/js/base-defer.js | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/assets/js/base-defer.js b/assets/js/base-defer.js
index f33625f2..72b7b7ba 100644
--- a/assets/js/base-defer.js
+++ b/assets/js/base-defer.js
@@ -354,7 +354,11 @@ class TP_MapMarker
}
get inBounds() {
- return this.gMkr.getMap().getBounds().contains(this.gMkr.getPosition());
+ let map = this.gMkr.getMap();
+ if (!map) { // if map failed to render for some reason, this prevents entries from being hidden.
+ return true;
+ }
+ return map.getBounds().contains(this.gMkr.getPosition());
}
get useIcon() {
From 5ad2f0180bd60872288275a6158eecdc0cadbd76 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Fri, 5 Jan 2024 09:45:23 -0500
Subject: [PATCH 053/431] Moving meta key; php 8 syntax
---
src/TouchPoint-WP/Involvement.php | 14 ++++++--------
src/TouchPoint-WP/Partner.php | 3 ++-
src/TouchPoint-WP/Person.php | 2 +-
src/TouchPoint-WP/TouchPointWP.php | 7 ++++---
4 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/TouchPoint-WP/Involvement.php b/src/TouchPoint-WP/Involvement.php
index eee47660..7c5e3c50 100644
--- a/src/TouchPoint-WP/Involvement.php
+++ b/src/TouchPoint-WP/Involvement.php
@@ -86,8 +86,6 @@ class Involvement implements api, updatesViaCron, hasGeo, module
public string $post_excerpt;
protected WP_Post $post;
- public const INVOLVEMENT_META_KEY = TouchPointWP::SETTINGS_PREFIX . "invId";
-
public object $attributes;
protected array $divisions;
@@ -107,7 +105,7 @@ protected function __construct(object $object)
// WP_Post Object
$this->post = $object;
$this->name = $object->post_title;
- $this->invId = intval($object->{self::INVOLVEMENT_META_KEY});
+ $this->invId = intval($object->{TouchPointWP::INVOLVEMENT_META_KEY});
$this->post_id = $object->ID;
$this->invType = get_post_type($this->post_id);
@@ -1136,7 +1134,7 @@ private static function getWpPostByInvolvementId($postType, $involvementId)
$q = new WP_Query([
'post_type' => $postType,
- 'meta_key' => self::INVOLVEMENT_META_KEY,
+ 'meta_key' => TouchPointWP::INVOLVEMENT_META_KEY,
'meta_value' => $involvementId,
'numberposts' => 2
// only need one, but if there's two, there should be an error condition.
@@ -1551,7 +1549,7 @@ protected static final function filterDropdownHtml(array $params, Involvement_Po
*/
public static function fromPost(WP_Post $post): Involvement
{
- $iid = intval($post->{self::INVOLVEMENT_META_KEY});
+ $iid = intval($post->{TouchPointWP::INVOLVEMENT_META_KEY});
if ( ! isset(self::$_instances[$iid])) {
self::$_instances[$iid] = new Involvement($post);
@@ -2270,7 +2268,7 @@ final protected static function updateInvolvementPostsForType(Involvement_PostTy
'post_type' => $typeSets->postType,
'post_name' => $titleToUse,
'meta_input' => [
- self::INVOLVEMENT_META_KEY => $inv->involvementId
+ TouchPointWP::INVOLVEMENT_META_KEY => $inv->involvementId
]
]
);
@@ -2288,7 +2286,7 @@ final protected static function updateInvolvementPostsForType(Involvement_PostTy
}
/** @var $post WP_Post */
- if ($inv->description == null || trim($inv->description) == "") {
+ if ($inv->description == null || trim($inv->description) === "") {
$post->post_content = null;
} else {
$post->post_content = Utilities::standardizeHtml($inv->description, "involvement-import");
@@ -2585,7 +2583,7 @@ public static function filterPublishDate($theDate, $format, $post = null): strin
$post = get_post($post);
}
- $theDate = self::scheduleString(intval($post->{self::INVOLVEMENT_META_KEY})) ?? "";
+ $theDate = self::scheduleString(intval($post->{TouchPointWP::INVOLVEMENT_META_KEY})) ?? "";
}
return $theDate;
diff --git a/src/TouchPoint-WP/Partner.php b/src/TouchPoint-WP/Partner.php
index e0c72262..bf933d01 100644
--- a/src/TouchPoint-WP/Partner.php
+++ b/src/TouchPoint-WP/Partner.php
@@ -18,6 +18,7 @@
use Exception;
use JsonSerializable;
+use stdClass;
use WP_Error;
use WP_Post;
use WP_Query;
@@ -81,7 +82,7 @@ class Partner implements api, JsonSerializable, updatesViaCron, hasGeo, module
*/
protected function __construct(object $object)
{
- $this->attributes = (object)[];
+ $this->attributes = new stdClass();
if (gettype($object) === "object" && get_class($object) == WP_Post::class) {
// WP_Post Object
diff --git a/src/TouchPoint-WP/Person.php b/src/TouchPoint-WP/Person.php
index c6f9aa57..eecd2e44 100644
--- a/src/TouchPoint-WP/Person.php
+++ b/src/TouchPoint-WP/Person.php
@@ -707,7 +707,7 @@ protected static function updateFromTouchPoint(bool $verbose = false)
// Get the InvIds for the Involvement Type's Posts
$postType = $type->postTypeWithPrefix();
- $key = Involvement::INVOLVEMENT_META_KEY;
+ $key = TouchPointWP::INVOLVEMENT_META_KEY;
global $wpdb;
/** @noinspection SqlResolve */
$sql = "SELECT pm.meta_value AS iid
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index c72eb492..b551dfee 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -91,6 +91,10 @@ class TouchPointWP
public const CACHE_NONE = 20;
private static int $cacheLevel = self::CACHE_PUBLIC;
+
+ public const INVOLVEMENT_META_KEY = TouchPointWP::SETTINGS_PREFIX . "invId";
+
+
/**
* @var string Used for imploding arrays together in human-friendly formats.
*/
@@ -673,9 +677,6 @@ public static function load($file): TouchPointWP
// Load Involvements tool if enabled.
if ($instance->settings->enable_involvements === "on") {
- if ( ! TOUCHPOINT_COMPOSER_ENABLED) {
- require_once 'Involvement.php';
- }
$instance->involvements = Involvement::load();
}
From 95cb7859ddd1ee7cb4f7a3d21d53bec582b439e5 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Sat, 6 Jan 2024 19:24:35 -0500
Subject: [PATCH 054/431] Month calendar grid function
---
src/TouchPoint-WP/Meeting.php | 79 +++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)
diff --git a/src/TouchPoint-WP/Meeting.php b/src/TouchPoint-WP/Meeting.php
index 5810a997..f8e77db2 100644
--- a/src/TouchPoint-WP/Meeting.php
+++ b/src/TouchPoint-WP/Meeting.php
@@ -66,6 +66,85 @@ public static function api(array $uri): bool
return false;
}
+ /**
+ * Print a calendar grid for a given month and year.
+ *
+ * @param WP_Query $q
+ * @param int|null $month
+ * @param int|null $year
+ *
+ * @return void
+ */
+ public static function printCalendarGrid(WP_Query $q, int $month = null, int $year = null)
+ {
+ try {
+ // Validate month & year; create $d as a day within the month
+ $tz = wp_timezone();
+ if ($month < 1 || $month > 12 || $year < 2020 || $year > 2100) {
+ $d = new DateTime('now', $tz);
+ $d = new DateTime($d->format('Y-m-01'), $tz);
+ } else {
+ $d = new DateTime("$year-$month-01", $tz);
+ }
+ } catch (Exception $e) {
+ echo "";
+ return;
+ }
+
+ // Get the day of the week for the first day of the month (0 = Sunday, 1 = Monday, ..., 6 = Saturday)
+ $offsetDays = intval($d->format('w')); // w: Numeric representation of the day of the week
+ $d->modify("-$offsetDays days");
+
+ // Create a table to display the calendar
+ echo ''; // TODO 1i18n
+ echo '| Sun | Mon | Tue | Wed | Thu | Fri | Sat | ';
+
+ $isMonthBefore = ($offsetDays !== 0);
+ $isMonthAfter = false;
+ $aDay = new DateInterval("P1D");
+
+ // Loop through the days of the month
+ do {
+ $cellClass = "";
+ if ($isMonthBefore) {
+ $cellClass = "before";
+ } elseif ($isMonthAfter) {
+ $cellClass = "after";
+ }
+
+ $day = $d->format("j");
+ $wd = $d->format("w");
+
+ if ($wd === '0') {
+ echo "";
+ }
+
+ // Print the cell
+ echo "| ";
+ echo "$day";
+ // TODO print items
+ echo " | ";
+
+ if ($wd === '6') {
+ echo " ";
+ }
+
+ // Increment days
+ $mo1 = $d->format('n');
+ $d->add($aDay);
+ $mo2 = $d->format('n');
+
+ if ($mo1 !== $mo2) {
+ if ($isMonthBefore) {
+ $isMonthBefore = false;
+ } else {
+ $isMonthAfter = true;
+ }
+ }
+ } while (!$isMonthAfter || $d->format('w') !== '0');
+ echo ' ';
+ }
+
/**
* @param $opts
*
From cd0920536033a9cc0673029c2cec9522cc9ed119 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Wed, 17 Jan 2024 14:50:38 -0500
Subject: [PATCH 055/431] Moving function related to translation to a separate
class.
---
src/TouchPoint-WP/Utilities/Translation.php | 52 +++++++++++++++++++++
1 file changed, 52 insertions(+)
create mode 100644 src/TouchPoint-WP/Utilities/Translation.php
diff --git a/src/TouchPoint-WP/Utilities/Translation.php b/src/TouchPoint-WP/Utilities/Translation.php
new file mode 100644
index 00000000..6447b5ae
--- /dev/null
+++ b/src/TouchPoint-WP/Utilities/Translation.php
@@ -0,0 +1,52 @@
+settings->camp_name_singular;
+ return strtolower($cName) == "language";
+ }
+
+ /**
+ * Take a string and return the language code that it matches. Null if no match or WPML isn't enabled.
+ *
+ * @param string $string
+ *
+ * @return string|null
+ */
+ public static function getWpmlLangCodeForString(string $string): ?string
+ {
+ if (!defined("ICL_LANGUAGE_CODE")) {
+ return null;
+ }
+
+ global $wpdb;
+
+ $lang_code_query = "
+ SELECT language_code
+ FROM {$wpdb->prefix}icl_languages_translations
+ WHERE name = %s OR language_code = %s
+ ";
+
+ return $wpdb->get_var($wpdb->prepare($lang_code_query, $string, $string));
+ }
+}
\ No newline at end of file
From 1e25defcac623d62992eba774fdbf5fc9af8b849 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Wed, 17 Jan 2024 14:51:46 -0500
Subject: [PATCH 056/431] Adding a function for now+1y because that's common
enough.
---
src/TouchPoint-WP/Utilities.php | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/src/TouchPoint-WP/Utilities.php b/src/TouchPoint-WP/Utilities.php
index 8853c6cf..fa965942 100644
--- a/src/TouchPoint-WP/Utilities.php
+++ b/src/TouchPoint-WP/Utilities.php
@@ -5,6 +5,7 @@
namespace tp\TouchPointWP;
+use DateInterval;
use DateTimeImmutable;
use DateTimeInterface;
use Exception;
@@ -54,7 +55,21 @@ public static function dateTimeNow(): DateTimeImmutable
return self::$_dateTimeNow;
}
+ /**
+ * @return DateTimeImmutable
+ */
+ public static function dateTimeNowPlus1Y(): DateTimeImmutable
+ {
+ if (self::$_dateTimeNowPlus1Y === null) {
+ $aYear = new DateInterval('P1Y');
+ self::$_dateTimeNowPlus1Y = self::dateTimeNow()->add($aYear);
+ }
+
+ return self::$_dateTimeNowPlus1Y;
+ }
+
private static ?DateTimeImmutable $_dateTimeNow = null;
+ private static ?DateTimeImmutable $_dateTimeNowPlus1Y = null;
/**
* Gets the plural form of a weekday name.
@@ -391,10 +406,10 @@ public static function getAllHeaders(): array
* @param string|null $newUrl
* @param string $title
*
- * @return void
+ * @return int|string The attachmentId for the image. Can be reused for other posts.
* @since 0.0.24
*/
- public static function updatePostImageFromUrl(int $postId, ?string $newUrl, string $title): void
+ public static function updatePostImageFromUrl(int $postId, ?string $newUrl, string $title)
{
// Required for image handling
require_once(ABSPATH . 'wp-admin/includes/media.php');
@@ -434,7 +449,13 @@ public static function updatePostImageFromUrl(int $postId, ?string $newUrl, stri
} catch (Exception $e) {
echo "Exception occurred: " . $e->getMessage();
wp_delete_attachment($attId, true);
+ return 0;
+ }
+ if (is_wp_error($attId)) {
+ echo "Exception occurred: " . $attId->get_error_message();
+ return 0;
}
+ return $attId;
}
/**
From e6bd5e30761c8ce1a12e07bd2898c5ed8021ebe4 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Mon, 22 Jan 2024 15:00:41 -0500
Subject: [PATCH 057/431] Allowing standardizeHtml to take a null input
(converting it to a blank)
---
src/TouchPoint-WP/Utilities.php | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/TouchPoint-WP/Utilities.php b/src/TouchPoint-WP/Utilities.php
index fa965942..3f42ed54 100644
--- a/src/TouchPoint-WP/Utilities.php
+++ b/src/TouchPoint-WP/Utilities.php
@@ -508,13 +508,17 @@ public static function standardizeHTags(int $maxAllowed, string $input): string
}
/**
- * @param string $html The HTML to be standardized.
+ * @param ?string $html The HTML to be standardized.
* @param ?string $context A context string to pass to hooks.
*
* @return string
*/
- public static function standardizeHtml(string $html, ?string $context = null): string
+ public static function standardizeHtml(?string $html, ?string $context = null): string
{
+ if ($html === null) {
+ $html = "";
+ }
+
// The tp_standardize_html filter would completely replace the pre-defined process.
$o = apply_filters(TouchPointWP::HOOK_PREFIX . 'standardize_html', $html, $context);
if ($o !== $html) {
From c633e5c4927549be57baa2806f2dd84d0b98c85e Mon Sep 17 00:00:00 2001
From: "James K."
Date: Mon, 22 Jan 2024 21:43:04 -0500
Subject: [PATCH 058/431] standards compliance for php 8
---
src/TouchPoint-WP/Report.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/TouchPoint-WP/Report.php b/src/TouchPoint-WP/Report.php
index 29f98c80..7312ecfb 100644
--- a/src/TouchPoint-WP/Report.php
+++ b/src/TouchPoint-WP/Report.php
@@ -352,7 +352,7 @@ public function getPost(bool $create = false): ?WP_Post
new TouchPointWP_Exception("Multiple Posts Exist", 170006);
}
if ($counts > 0) { // post exists already.
- $this->post = $reportPosts[0];
+ $this->post = reset($reportPosts);
} elseif ($create) {
$postId = wp_insert_post([
'post_type' => self::POST_TYPE,
@@ -602,9 +602,9 @@ public static function updateCron(): void
/**
* Handle which data should be converted to JSON. Used for posting to the API.
*
- * @return mixed data which can be serialized by json_encode
+ * @return array data which can be serialized by json_encode
*/
- public function jsonSerialize()
+ public function jsonSerialize(): array
{
return [
'name' => $this->name,
From d39d06edd84a0806a3a2937759393aaf2b53a91c Mon Sep 17 00:00:00 2001
From: "James K."
Date: Wed, 7 Feb 2024 11:12:31 -0500
Subject: [PATCH 059/431] Rename phpdoc.xml. Closes #167.
---
phpdoc.xml => phpdoc.dist.xml | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename phpdoc.xml => phpdoc.dist.xml (100%)
diff --git a/phpdoc.xml b/phpdoc.dist.xml
similarity index 100%
rename from phpdoc.xml
rename to phpdoc.dist.xml
From 7c22bd3ce9d504212618e843caddadc854255494 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Sat, 10 Feb 2024 18:14:17 -0500
Subject: [PATCH 060/431] php min to 8.0. V back to 0.0.90. Related changes.
---
.idea/php.xml | 2 +-
composer.json | 4 +-
package.json | 2 +-
src/TouchPoint-WP/EventsCalendar.php | 2 +-
src/TouchPoint-WP/Involvement.php | 45 ++--
.../Involvement_PostTypeSettings.php | 32 ++-
src/TouchPoint-WP/TouchPointWP.php | 54 ++--
src/TouchPoint-WP/TouchPointWP_AdminAPI.php | 7 +-
src/TouchPoint-WP/TouchPointWP_Settings.php | 230 ++++++++++--------
src/TouchPoint-WP/Utilities.php | 65 +++--
src/python/WebApi.py | 2 +-
touchpoint-wp.php | 2 +-
12 files changed, 268 insertions(+), 179 deletions(-)
diff --git a/.idea/php.xml b/.idea/php.xml
index 299cb8ee..a20c6b90 100644
--- a/.idea/php.xml
+++ b/.idea/php.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/composer.json b/composer.json
index ebee13e1..8a9d67f0 100644
--- a/composer.json
+++ b/composer.json
@@ -3,7 +3,7 @@
"description": "A WordPress Plugin for integrating with TouchPoint Church Management Software.",
"license": "AGPL-3.0-or-later",
"type": "wordpress-plugin",
- "version": "1.0.0",
+ "version": "0.0.90",
"keywords": [
"wordpress",
"wp",
@@ -27,7 +27,7 @@
}
},
"require": {
- "php": ">=7.4.0",
+ "php": ">=8.0",
"composer/installers": "~1.0",
"ext-json": "*",
"ext-zip": "*"
diff --git a/package.json b/package.json
index 0e882e0a..4e5933cd 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "touchpoint-wp",
- "version": "1.0.0",
+ "version": "0.0.90",
"description": "A WordPress Plugin for integrating with TouchPoint Church Management Software.",
"directories": {
"doc": "docs"
diff --git a/src/TouchPoint-WP/EventsCalendar.php b/src/TouchPoint-WP/EventsCalendar.php
index 5ee9728d..a6bf27d5 100644
--- a/src/TouchPoint-WP/EventsCalendar.php
+++ b/src/TouchPoint-WP/EventsCalendar.php
@@ -19,7 +19,7 @@
* Provides an interface to bridge the gap between The Events Calendar plugin (by ModernTribe) and the TouchPoint
* mobile app.
*
- * @deprecated since 1.0.0
+ * @deprecated since 0.0.90
*/
abstract class EventsCalendar implements api, module
{
diff --git a/src/TouchPoint-WP/Involvement.php b/src/TouchPoint-WP/Involvement.php
index 7c5e3c50..77cf67b1 100644
--- a/src/TouchPoint-WP/Involvement.php
+++ b/src/TouchPoint-WP/Involvement.php
@@ -25,7 +25,7 @@
use tp\TouchPointWP\Utilities\Http;
use tp\TouchPointWP\Utilities\PersonArray;
use tp\TouchPointWP\Utilities\PersonQuery;
-use WP_Error;
+use tp\TouchPointWP\Utilities\Translation;
use WP_Post;
use WP_Query;
use WP_Term;
@@ -140,7 +140,7 @@ protected function __construct(object $object)
}
// clean up involvement type to not have hook prefix, if it does.
- if (strpos($this->invType, TouchPointWP::HOOK_PREFIX) === 0) {
+ if (str_starts_with($this->invType, TouchPointWP::HOOK_PREFIX)) {
$this->invType = substr($this->invType, strlen(TouchPointWP::HOOK_PREFIX));
}
@@ -171,7 +171,7 @@ protected function __construct(object $object)
'slug' => $t->slug
];
$ta = $t->taxonomy;
- if (strpos($ta, TouchPointWP::HOOK_PREFIX) === 0) {
+ if (str_starts_with($ta, TouchPointWP::HOOK_PREFIX)) {
$ta = substr_replace($ta, "", 0, $hookLength);
}
if ( ! isset($this->attributes->$ta)) {
@@ -252,8 +252,6 @@ final protected static function &allTypeSettings(): array
public static function init(): void
{
foreach (self::allTypeSettings() as $type) {
- /** @var $type Involvement_PostTypeSettings */
-
register_post_type(
$type->postType,
[
@@ -330,9 +328,9 @@ public static function checkUpdates(): void
*
* @param bool $verbose Whether to print debugging info.
*
- * @return false|int False on failure, or the number of groups that were updated or deleted.
+ * @return int False on failure, or the number of groups that were updated or deleted.
*/
- public static function updateFromTouchPoint(bool $verbose = false)
+ public final static function updateFromTouchPoint(bool $verbose = false): int
{
$count = 0;
$success = true;
@@ -432,7 +430,7 @@ public static function templateFilter(string $template): string
* @return bool|string True if involvement can be joined. False if no registration exists. Or, a string with why
* it can't be joined otherwise.
*/
- public function acceptingNewMembers()
+ public function acceptingNewMembers(): bool|string
{
if (get_post_meta($this->post_id, TouchPointWP::SETTINGS_PREFIX . "groupFull", true) === '1') {
return __("Currently Full", 'TouchPoint-WP');
@@ -442,7 +440,7 @@ public function acceptingNewMembers()
return __("Currently Closed", 'TouchPoint-WP');
}
- $now = current_datetime();
+ $now = Utilities::dateTimeNow();
$regStart = get_post_meta($this->post_id, TouchPointWP::SETTINGS_PREFIX . "regStart", true);
if ($regStart !== false && $regStart !== '' && $regStart > $now) {
return __("Registration Not Open Yet", 'TouchPoint-WP');
@@ -517,7 +515,7 @@ protected function schedules(): array
* @param int $invId
* @param ?Involvement $inv
*
- * @return string
+ * @return ?string
*/
public static function scheduleString(int $invId, $inv = null): ?string
{
@@ -529,7 +527,7 @@ public static function scheduleString(int $invId, $inv = null): ?string
if (! $inv) {
try {
$inv = self::fromInvId($invId);
- } catch (TouchPointWP_Exception $e) {
+ } catch (TouchPointWP_Exception) {
return null;
}
}
@@ -542,7 +540,7 @@ public static function scheduleString(int $invId, $inv = null): ?string
self::SCHEDULE_STRING_CACHE_EXPIRATION
);
}
- return $inv->_scheduleString;
+ return $inv->_scheduleString === "" ? null : $inv->_scheduleString;
}
/**
@@ -646,11 +644,11 @@ private static function computeCommonOccurrences(array $meetings = [], array $sc
*
* @return string
*/
- protected function scheduleString_calc(): ?string
+ protected function scheduleString_calc(): string
{
$commonOccurrences = self::computeCommonOccurrences($this->meetings(), $this->schedules());
- $dayStr = null;
+ $dayStr = "";
$timeFormat = get_option('time_format');
$dateFormat = get_option('date_format');
@@ -884,7 +882,7 @@ public static function actionsShortcode($params = [], string $content = ""): str
try {
$inv = self::fromPost($post);
$iid = $inv->invId;
- } catch (TouchPointWP_Exception $e) {
+ } catch (TouchPointWP_Exception) {
$iid = null;
}
}
@@ -1543,14 +1541,18 @@ protected static final function filterDropdownHtml(array $params, Involvement_Po
*
* @param WP_Post $post
*
- * @return Involvement
+ * @return ?Involvement
*
* @throws TouchPointWP_Exception If the involvement can't be created from the post, an exception is thrown.
*/
- public static function fromPost(WP_Post $post): Involvement
+ public static function fromPost(WP_Post $post): ?Involvement
{
$iid = intval($post->{TouchPointWP::INVOLVEMENT_META_KEY});
+ if ($iid === 0) {
+ return null;
+ }
+
if ( ! isset(self::$_instances[$iid])) {
self::$_instances[$iid] = new Involvement($post);
}
@@ -1584,6 +1586,7 @@ public static function api(array $uri): bool
case "nearby":
TouchPointWP::doCacheHeaders(TouchPointWP::CACHE_PRIVATE);
self::ajaxNearby();
+ /** @noinspection PhpUnreachableStatementInspection */
exit;
case "force-sync":
@@ -1872,7 +1875,7 @@ public static function updateCron(): void
{
try {
self::updateFromTouchPoint();
- } catch (Exception $ex) {
+ } catch (Exception) {
}
}
@@ -1955,7 +1958,7 @@ public static function sortPosts(WP_Post $a, WP_Post $b): int
$b = self::fromPost($b);
return self::sort($a, $b);
- } catch (TouchPointWP_Exception $ex) {
+ } catch (TouchPointWP_Exception) {
return $a <=> $b;
}
}
@@ -2114,7 +2117,7 @@ final protected static function updateInvolvementPostsForType(Involvement_PostTy
$histVal = new DateInterval("P{$histDays}D");
$nowMinusH = $now->sub($histVal);
unset($aYear);
- } catch (Exception $e) {
+ } catch (Exception) {
return false;
}
@@ -2610,7 +2613,7 @@ public static function filterAuthor($author): string
$i = Involvement::fromPost($post);
$author = $i->leaders()->__toString();
- } catch (TouchPointWP_Exception $e) {
+ } catch (TouchPointWP_Exception) {
}
}
diff --git a/src/TouchPoint-WP/Involvement_PostTypeSettings.php b/src/TouchPoint-WP/Involvement_PostTypeSettings.php
index aa7c63d5..ae8bcb17 100644
--- a/src/TouchPoint-WP/Involvement_PostTypeSettings.php
+++ b/src/TouchPoint-WP/Involvement_PostTypeSettings.php
@@ -94,6 +94,25 @@ public function __construct(object $o)
}
}
+ /**
+ * Get a list of all division IDs that are being imported by all types.
+ *
+ * @return int[]
+ */
+ public static function getAllDivs(): array
+ {
+ $r = [];
+ foreach (self::instance() as $s) {
+ $r = [...$r, ...$s->importDivs];
+ }
+ return array_unique($r);
+ }
+
+ /**
+ * Get the Post Type for use with WordPress functions
+ *
+ * @return string
+ */
public function postTypeWithPrefix(): string
{
self::instance();
@@ -101,6 +120,11 @@ public function postTypeWithPrefix(): string
return TouchPointWP::HOOK_PREFIX . $this->postType;
}
+ /**
+ * Get the Post Type without the hook prefix.
+ *
+ * @return string
+ */
public function postTypeWithoutPrefix(): string
{
self::instance();
@@ -216,7 +240,7 @@ public static function validateNewSettings(string $new): string
$name = preg_replace('/\W+/', '-', strtolower($type->namePlural));
try {
$type->slug = $name . ($first ? "" : "-" . bin2hex(random_bytes(1)));
- } catch (Exception $e) {
+ } catch (Exception) {
$type->slug = $name . ($first ? "" : "-" . bin2hex($count++));
}
$first = false;
@@ -251,7 +275,7 @@ public static function validateNewSettings(string $new): string
$slug = preg_replace('/\W+/', '', strtolower($type->slug));
try {
$type->postType = self::POST_TYPE_PREFIX . $slug . ($first ? "" : "_" . bin2hex(random_bytes(1)));
- } catch (Exception $e) {
+ } catch (Exception) {
$type->postType = self::POST_TYPE_PREFIX . $slug . ($first ? "" : "_" . bin2hex($count++));
}
$first = false;
@@ -305,7 +329,7 @@ protected static function memberTypesToInts($memberTypes): array
*/
public function leaderTypeInts(): array
{
- return self::memberTypesToInts($this->leaderTypes);
+ return Utilities::idArrayToIntArray($this->leaderTypes);
}
/**
@@ -319,6 +343,6 @@ public function hostTypeInts(): ?array
return null;
}
- return self::memberTypesToInts($this->hostTypes);
+ return Utilities::idArrayToIntArray($this->hostTypes);
}
}
\ No newline at end of file
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index b551dfee..2f0f2a2b 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -32,7 +32,7 @@ class TouchPointWP
/**
* Version number
*/
- public const VERSION = "1.0.0";
+ public const VERSION = "0.0.90";
/**
* The Token
@@ -254,10 +254,10 @@ protected function __construct(string $file = '')
public static function cronAdd15Minutes($schedules)
{
// Adds once weekly to the existing schedules.
- $schedules['tp_every_15_minutes'] = array(
+ $schedules['tp_every_15_minutes'] = [
'interval' => 15 * 60,
'display' => __('Every 15 minutes', 'TouchPoint-WP')
- );
+ ];
return $schedules;
}
@@ -272,7 +272,7 @@ public static function cronAdd15Minutes($schedules)
* @since 0.0.23
*
*/
- public static function capitalPyScript($text): string
+ public static function capitalPyScript(mixed $text): string
{
if ( ! self::instance()->settings->hasValidApiSettings()) {
return $text;
@@ -384,7 +384,7 @@ public function parseRequest($continue, $wp, $extraVars): bool
$reqUri['path'] = $reqUri['path'] ?? "";
// Remove trailing slash if it exists (and, it probably does)
- if (substr($reqUri['path'], -1) === '/') {
+ if (str_ends_with($reqUri['path'], '/')) {
$reqUri['path'] = substr($reqUri['path'], 0, -1);
}
@@ -587,7 +587,7 @@ public function getJsLocalizationDir(): string
/**
* Load plugin textdomain
*/
- public function loadLocalizations()
+ public function loadLocalizations(): void
{
$locale = apply_filters('plugin_locale', get_locale(), 'TouchPoint-WP');
@@ -920,11 +920,11 @@ public static function requireStyle(string $name = null): void
*/
public function filterByTag(?string $tag, ?string $handle): string
{
- if (strpos($tag, 'async') !== false &&
+ if (str_contains($tag, 'async') &&
strpos($handle, '-async') > 0) {
$tag = str_replace(' src=', ' async="async" src=', $tag);
}
- if (strpos($tag, 'defer') !== false &&
+ if (str_contains($tag, 'defer') &&
strpos($handle, '-defer') > 0
) {
$tag = str_replace('";
+echo "";
?>
|
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
@@ -272,6 +296,7 @@ function InvType(data) {
this.namePlural = ko.observable(data.namePlural ?? "");
this.slug = ko.observable(data.slug ?? "smallgroup").extend({slug: 0});
this.importDivs = ko.observable(data.importDivs ?? []);
+ this.importCampuses = ko.observable(data.importCampuses ?? []);
this.useGeo = ko.observable(data.useGeo ?? false);
this.useImages = ko.observable(data.useImages ?? true);
this.excludeIf = ko.observable(data.excludeIf ?? []);
@@ -302,6 +327,19 @@ function InvType(data) {
}
})
+ this._importCampusesAll = ko.pureComputed({
+ read: function() {
+ return self.importCampuses().length === 0;
+ },
+ write: function(value) {
+ if (value) {
+ self.importCampuses([]);
+ } else if (self.importCampuses().length === 0) {
+ self.importCampuses(['c0']);
+ }
+ }
+ });
+
// operations
this.toggleVisibility = function() {
self._visible(! self._visible())
@@ -321,6 +359,7 @@ function InvTypeVM(invData) {
self.invTypes = ko.observableArray(invInits);
self.divisions = tpvm._vmContext.divs;
self.keywords = tpvm._vmContext.kws;
+ self.campuses = tpvm._vmContext.campuses;
// Operations
self.addInvType = function() {
From 38e79b50cf771ccb5d2625a56e02db079f698bd4 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 21 Nov 2024 20:13:36 -0500
Subject: [PATCH 210/431] Automatically update private key periodically.
---
src/TouchPoint-WP/Stats.php | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/TouchPoint-WP/Stats.php b/src/TouchPoint-WP/Stats.php
index ad7202fe..24a9cbb9 100644
--- a/src/TouchPoint-WP/Stats.php
+++ b/src/TouchPoint-WP/Stats.php
@@ -161,7 +161,9 @@ public static function migrate(): void
*/
public static function updateCron(): void
{
- self::instance()->submitStats();
+ $i = self::instance();
+ $i->replacePrivateKey();
+ $i->submitStats();
}
/**
@@ -297,6 +299,18 @@ public function jsonSerialize(): array
return $r;
}
+ /**
+ * Replace the private key with a new one. Should be done periodically.
+ *
+ * @return void
+ */
+ protected function replacePrivateKey(): void
+ {
+ $this->privateKey = Utilities::createGuid();
+ $this->_dirty = true;
+ $this->updateDb();
+ }
+
/**
* Update the stats that are determined from queries.
*
From 99362cd14d428b48f6f09b72686d9ecb6b6ac321 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 21 Nov 2024 20:14:55 -0500
Subject: [PATCH 211/431] Version bump and translation updates
---
composer.json | 2 +-
docs | 2 +-
i18n/TouchPoint-WP-es_ES.po | 207 +++++++++---------
i18n/TouchPoint-WP.pot | 225 ++++++++++----------
package.json | 2 +-
src/TouchPoint-WP/TouchPointWP.php | 2 +-
src/TouchPoint-WP/Utilities/DateFormats.php | 6 +-
src/python/WebApi.py | 2 +-
touchpoint-wp.php | 2 +-
9 files changed, 236 insertions(+), 214 deletions(-)
diff --git a/composer.json b/composer.json
index 42c30436..cc55b172 100644
--- a/composer.json
+++ b/composer.json
@@ -3,7 +3,7 @@
"description": "A WordPress Plugin for integrating with TouchPoint Church Management Software.",
"license": "AGPL-3.0-or-later",
"type": "wordpress-plugin",
- "version": "0.0.94",
+ "version": "0.0.95",
"keywords": [
"wordpress",
"wp",
diff --git a/docs b/docs
index 5a910bf2..e53d723f 160000
--- a/docs
+++ b/docs
@@ -1 +1 @@
-Subproject commit 5a910bf25a4c0f33996ed097f8f3bc5d09a9ea3a
+Subproject commit e53d723f44bfc397d48a2707d8a9d2567762ff56
diff --git a/i18n/TouchPoint-WP-es_ES.po b/i18n/TouchPoint-WP-es_ES.po
index 775cffb9..7cd03594 100644
--- a/i18n/TouchPoint-WP-es_ES.po
+++ b/i18n/TouchPoint-WP-es_ES.po
@@ -36,56 +36,57 @@ msgstr "James K"
msgid "https://github.com/jkrrv"
msgstr "https://github.com/jkrrv"
-#: src/templates/admin/invKoForm.php:17
+#: src/templates/admin/invKoForm.php:18
#: src/templates/admin/locationsKoForm.php:13
#: src/templates/admin/locationsKoForm.php:58
msgid "Delete"
msgstr "Borrar"
-#: src/templates/admin/invKoForm.php:23
+#: src/templates/admin/invKoForm.php:24
msgid "Singular Name"
msgstr "Nombre singular"
-#: src/templates/admin/invKoForm.php:31
+#: src/templates/admin/invKoForm.php:32
msgid "Plural Name"
msgstr "Nombre Plural"
-#: src/templates/admin/invKoForm.php:39
+#: src/templates/admin/invKoForm.php:40
msgid "Slug"
msgstr "Slug"
-#: src/templates/admin/invKoForm.php:47
+#: src/templates/admin/invKoForm.php:48
#: src/TouchPoint-WP/TouchPointWP_Settings.php:992
msgid "Divisions to Import"
msgstr "Divisiones a Importar"
-#: src/templates/admin/invKoForm.php:60
+#: src/templates/admin/invKoForm.php:84
msgid "Import Hierarchically (Parent-Child Relationships)"
msgstr "Importar jerárquicamente (relaciones padre-hijo)"
-#: src/templates/admin/invKoForm.php:86
+#: src/templates/admin/invKoForm.php:110
msgid "Use Geographic Location"
msgstr "Usar ubicación geográfica"
-#: src/templates/admin/invKoForm.php:92
+#: src/templates/admin/invKoForm.php:116
msgid "Exclude Involvements if"
msgstr "Excluir participaciones si"
-#: src/templates/admin/invKoForm.php:96
+#: src/templates/admin/invKoForm.php:120
msgid "Involvement is Closed"
msgstr "La participación está cerrada"
-#: src/templates/admin/invKoForm.php:100
+#: src/templates/admin/invKoForm.php:124
msgid "Involvement is a Child Involvement"
msgstr "La participación es una participación infantil"
-#: src/templates/admin/invKoForm.php:122
+#: src/templates/admin/invKoForm.php:146
msgid "Leader Member Types"
msgstr "Tipos de miembros de lÃder"
-#: src/templates/admin/invKoForm.php:125
-#: src/templates/admin/invKoForm.php:141
-#: src/templates/admin/invKoForm.php:293
+#: src/templates/admin/invKoForm.php:63
+#: src/templates/admin/invKoForm.php:149
+#: src/templates/admin/invKoForm.php:165
+#: src/templates/admin/invKoForm.php:318
#: src/templates/parts/involvement-nearby-list.php:2
#: src/TouchPoint-WP/Meeting.php:746
#: src/TouchPoint-WP/Rsvp.php:75
@@ -94,80 +95,80 @@ msgstr "Tipos de miembros de lÃder"
msgid "Loading..."
msgstr "Cargando..."
-#: src/templates/admin/invKoForm.php:137
+#: src/templates/admin/invKoForm.php:161
msgid "Host Member Types"
msgstr "Tipos de miembros anfitriones"
-#: src/templates/admin/invKoForm.php:153
+#: src/templates/admin/invKoForm.php:177
msgid "Default Grouping"
msgstr "Agrupación Predeterminada"
-#: src/templates/admin/invKoForm.php:157
+#: src/templates/admin/invKoForm.php:181
msgid "No Grouping"
msgstr "Sin agrupar"
-#: src/templates/admin/invKoForm.php:158
+#: src/templates/admin/invKoForm.php:182
msgid "Upcoming / Current"
msgstr "Próximo / Actual"
-#: src/templates/admin/invKoForm.php:159
+#: src/templates/admin/invKoForm.php:183
msgid "Current / Upcoming"
msgstr "Actual / Próximo"
-#: src/templates/admin/invKoForm.php:167
+#: src/templates/admin/invKoForm.php:191
msgid "Default Filters"
msgstr "Filtros predeterminados"
-#: src/templates/admin/invKoForm.php:199
+#: src/templates/admin/invKoForm.php:223
msgid "Gender"
msgstr "Género"
-#: src/templates/admin/invKoForm.php:213
+#: src/templates/admin/invKoForm.php:237
#: src/TouchPoint-WP/Involvement.php:1853
-#: src/TouchPoint-WP/Taxonomies.php:744
+#: src/TouchPoint-WP/Taxonomies.php:750
msgid "Weekday"
msgstr "DÃa laborable"
-#: src/templates/admin/invKoForm.php:217
+#: src/templates/admin/invKoForm.php:241
#: src/TouchPoint-WP/Involvement.php:1879
-#: src/TouchPoint-WP/Taxonomies.php:802
+#: src/TouchPoint-WP/Taxonomies.php:808
msgid "Time of Day"
msgstr "Hora del dÃa"
-#: src/templates/admin/invKoForm.php:221
+#: src/templates/admin/invKoForm.php:245
msgid "Prevailing Marital Status"
msgstr "Estado civil prevaleciente"
-#: src/templates/admin/invKoForm.php:225
-#: src/TouchPoint-WP/Taxonomies.php:831
+#: src/templates/admin/invKoForm.php:249
+#: src/TouchPoint-WP/Taxonomies.php:837
msgid "Age Group"
msgstr "Grupo de edad"
-#: src/templates/admin/invKoForm.php:230
+#: src/templates/admin/invKoForm.php:254
msgid "Task Owner"
msgstr "Propietario de la tarea"
-#: src/templates/admin/invKoForm.php:237
+#: src/templates/admin/invKoForm.php:261
msgid "Contact Leader Task Keywords"
msgstr "Palabras clave de la tarea del lÃder de contacto"
-#: src/templates/admin/invKoForm.php:248
+#: src/templates/admin/invKoForm.php:272
msgid "Join Task Keywords"
msgstr "Unirse a las palabras clave de la tarea"
-#: src/templates/admin/invKoForm.php:264
+#: src/templates/admin/invKoForm.php:288
msgid "Add Involvement Post Type"
msgstr "Agregar tipo de publicación de participación"
-#: src/templates/admin/invKoForm.php:271
+#: src/templates/admin/invKoForm.php:295
msgid "Small Group"
msgstr "Grupo Pequeño"
-#: src/templates/admin/invKoForm.php:272
+#: src/templates/admin/invKoForm.php:296
msgid "Small Groups"
msgstr "Grupos Pequeños"
-#: src/templates/admin/invKoForm.php:403
+#: src/templates/admin/invKoForm.php:442
msgid "Select..."
msgstr "Seleccione..."
@@ -235,53 +236,53 @@ msgstr "Cualquier"
msgid "The %s listed are only those shown on the map."
msgstr "Los %s enumerados son solo los que se muestran en el mapa."
-#: src/TouchPoint-WP/Involvement.php:3554
+#: src/TouchPoint-WP/Involvement.php:3556
msgid "Men Only"
msgstr "Solo hombres"
-#: src/TouchPoint-WP/Involvement.php:3557
+#: src/TouchPoint-WP/Involvement.php:3559
msgid "Women Only"
msgstr "Solo mujeres"
-#: src/TouchPoint-WP/Involvement.php:3634
+#: src/TouchPoint-WP/Involvement.php:3636
msgid "Contact Leaders"
msgstr "Contacta con las lÃderes"
-#: src/TouchPoint-WP/Involvement.php:3704
-#: src/TouchPoint-WP/Involvement.php:3763
+#: src/TouchPoint-WP/Involvement.php:3706
+#: src/TouchPoint-WP/Involvement.php:3765
msgid "Register"
msgstr "RegÃstrate ahora"
-#: src/TouchPoint-WP/Involvement.php:3710
+#: src/TouchPoint-WP/Involvement.php:3712
msgid "Create Account"
msgstr "Crear cuenta"
-#: src/TouchPoint-WP/Involvement.php:3714
+#: src/TouchPoint-WP/Involvement.php:3716
msgid "Schedule"
msgstr "Programe"
-#: src/TouchPoint-WP/Involvement.php:3719
+#: src/TouchPoint-WP/Involvement.php:3721
msgid "Give"
msgstr "Dar"
-#: src/TouchPoint-WP/Involvement.php:3722
+#: src/TouchPoint-WP/Involvement.php:3724
msgid "Manage Subscriptions"
msgstr "Administrar suscripciones"
-#: src/TouchPoint-WP/Involvement.php:3725
+#: src/TouchPoint-WP/Involvement.php:3727
msgid "Record Attendance"
msgstr "Registre su asistencia"
-#: src/TouchPoint-WP/Involvement.php:3728
+#: src/TouchPoint-WP/Involvement.php:3730
msgid "Get Tickets"
msgstr "Obtener boletos"
-#: src/TouchPoint-WP/Involvement.php:3754
+#: src/TouchPoint-WP/Involvement.php:3756
#: assets/js/base-defer.js:1001
msgid "Join"
msgstr "Únete"
-#: src/TouchPoint-WP/Involvement.php:3651
+#: src/TouchPoint-WP/Involvement.php:3653
#: src/TouchPoint-WP/Partner.php:1318
msgid "Show on Map"
msgstr "Muestra en el mapa"
@@ -313,38 +314,38 @@ msgstr "Contacta"
msgid "RSVP"
msgstr "RSVP"
-#: src/TouchPoint-WP/TouchPointWP.php:2023
+#: src/TouchPoint-WP/TouchPointWP.php:2027
msgid "Unknown Type"
msgstr "Tipo desconocido"
-#: src/TouchPoint-WP/TouchPointWP.php:2080
+#: src/TouchPoint-WP/TouchPointWP.php:2084
msgid "Your Searches"
msgstr "Tus búsquedas"
-#: src/TouchPoint-WP/TouchPointWP.php:2083
+#: src/TouchPoint-WP/TouchPointWP.php:2087
msgid "Public Searches"
msgstr "Búsquedas públicas"
-#: src/TouchPoint-WP/TouchPointWP.php:2086
+#: src/TouchPoint-WP/TouchPointWP.php:2090
msgid "Status Flags"
msgstr "Indicadores de Estado"
-#: src/TouchPoint-WP/TouchPointWP.php:2091
-#: src/TouchPoint-WP/TouchPointWP.php:2092
+#: src/TouchPoint-WP/TouchPointWP.php:2095
+#: src/TouchPoint-WP/TouchPointWP.php:2096
msgid "Current Value"
msgstr "Valor actual"
-#: src/TouchPoint-WP/TouchPointWP.php:2209
-#: src/TouchPoint-WP/TouchPointWP.php:2245
+#: src/TouchPoint-WP/TouchPointWP.php:2213
+#: src/TouchPoint-WP/TouchPointWP.php:2249
msgid "Invalid or incomplete API Settings."
msgstr "Configuración de API no válida o incompleta."
-#: src/TouchPoint-WP/TouchPointWP.php:2259
-#: src/TouchPoint-WP/TouchPointWP.php:2303
+#: src/TouchPoint-WP/TouchPointWP.php:2263
+#: src/TouchPoint-WP/TouchPointWP.php:2307
msgid "Host appears to be missing from TouchPoint-WP configuration."
msgstr "Parece que falta el host en la configuración de TouchPoint-WP."
-#: src/TouchPoint-WP/TouchPointWP.php:2435
+#: src/TouchPoint-WP/TouchPointWP.php:2439
msgid "People Query Failed"
msgstr "Consulta de registros de personas fallida"
@@ -971,7 +972,7 @@ msgstr "Enviar"
msgid "Nothing to submit."
msgstr "Nada que enviar."
-#: src/TouchPoint-WP/TouchPointWP.php:2376
+#: src/TouchPoint-WP/TouchPointWP.php:2380
msgid "The scripts on TouchPoint that interact with this plugin are out-of-date, and an automatic update failed."
msgstr "Los scripts en TouchPoint que interactúan con este complemento están desactualizados y falló una actualización automática."
@@ -1027,7 +1028,7 @@ msgid "Next"
msgstr "Siguiente"
#: src/TouchPoint-WP/Involvement.php:1901
-#: src/TouchPoint-WP/Taxonomies.php:863
+#: src/TouchPoint-WP/Taxonomies.php:869
msgid "Marital Status"
msgstr "Estado civil"
@@ -1109,15 +1110,15 @@ msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Sat"
msgstr "Sáb"
-#: src/templates/admin/invKoForm.php:104
+#: src/templates/admin/invKoForm.php:128
msgid "Based on Involvement setting in TouchPoint"
msgstr "Basado en la configuración de participación en TouchPoint"
-#: src/templates/admin/invKoForm.php:104
+#: src/templates/admin/invKoForm.php:128
msgid "Involvement does not meet weekly"
msgstr "La participación no se reúne semanalmente"
-#: src/templates/admin/invKoForm.php:108
+#: src/templates/admin/invKoForm.php:132
msgid "Involvement does not have a Schedule"
msgstr "La participación no tiene horario"
@@ -1220,7 +1221,6 @@ msgid "reset the map"
msgstr "restablecer el mapa"
#. translators: %1$s is the date(s), %2$s is the time(s).
-#. Translators: %1$s is the start date, %2$s is the start time.
#: src/TouchPoint-WP/Involvement.php:995
#: src/TouchPoint-WP/Involvement.php:1027
#: src/TouchPoint-WP/Involvement.php:1120
@@ -1262,7 +1262,7 @@ msgstr "%1$s, hasta el %2$s"
#. translators: number of miles
#: src/templates/parts/involvement-nearby-list.php:10
-#: src/TouchPoint-WP/Involvement.php:3575
+#: src/TouchPoint-WP/Involvement.php:3577
msgctxt "miles. Unit is appended to a number. %2.1f is the number, so %2.1fmi looks like '12.3mi'"
msgid "%2.1fmi"
msgstr "%2.1fmi"
@@ -1271,11 +1271,11 @@ msgstr "%2.1fmi"
msgid "The username of a user account in TouchPoint with API permissions. It is strongly recommended that you create a separate person/user for this purpose, rather than using a staff member's account."
msgstr "El nombre de usuario de una cuenta de usuario en TouchPoint con permisos API. Se recomienda encarecidamente que cree una persona/usuario independiente para este fin, en lugar de utilizar la cuenta de un miembro del personal."
-#: src/templates/admin/invKoForm.php:112
+#: src/templates/admin/invKoForm.php:136
msgid "Involvement has a registration type of \"No Online Registration\""
msgstr "La participación tiene un tipo de registro de \"No Online Registration\""
-#: src/templates/admin/invKoForm.php:116
+#: src/templates/admin/invKoForm.php:140
msgid "Involvement registration has ended (end date is past)"
msgstr "El registro de participación ha finalizado (la fecha de finalización ya pasó)"
@@ -1292,7 +1292,7 @@ msgid "Could not locate."
msgstr "No se pudo localizar."
#: src/TouchPoint-WP/Meeting.php:672
-#: src/TouchPoint-WP/TouchPointWP.php:1027
+#: src/TouchPoint-WP/TouchPointWP.php:1029
msgid "Only GET requests are allowed."
msgstr "Solo se permiten solicitudes GET."
@@ -1306,8 +1306,8 @@ msgstr "Solo se permiten solicitudes POST."
msgid "Invalid data provided."
msgstr "Datos proporcionados no válidos."
-#: src/TouchPoint-WP/Involvement.php:3859
-#: src/TouchPoint-WP/Involvement.php:3962
+#: src/TouchPoint-WP/Involvement.php:3861
+#: src/TouchPoint-WP/Involvement.php:3964
msgid "Invalid Post Type."
msgstr "Tipo de publicación no válida."
@@ -1315,64 +1315,64 @@ msgstr "Tipo de publicación no válida."
msgid "Enable Campuses"
msgstr "Habilitar Campus"
-#: src/TouchPoint-WP/Taxonomies.php:652
+#: src/TouchPoint-WP/Taxonomies.php:658
msgid "Classify posts by their general locations."
msgstr "clasificar las publicaciones por sus ubicaciones generales."
-#: src/TouchPoint-WP/Taxonomies.php:681
+#: src/TouchPoint-WP/Taxonomies.php:687
msgid "Classify posts by their church campus."
msgstr "Clasifique las publicaciones por el campus."
#. translators: %s: taxonomy name, singular
-#: src/TouchPoint-WP/Taxonomies.php:712
+#: src/TouchPoint-WP/Taxonomies.php:718
msgid "Classify things by %s."
msgstr "Clasifica las cosas por %s."
-#: src/TouchPoint-WP/Taxonomies.php:743
+#: src/TouchPoint-WP/Taxonomies.php:749
msgid "Classify involvements by the day on which they meet."
msgstr "Clasificar las participaciones por el dÃa en que se reúnen."
-#: src/TouchPoint-WP/Taxonomies.php:744
+#: src/TouchPoint-WP/Taxonomies.php:750
msgid "Weekdays"
msgstr "DÃas de semana"
-#: src/TouchPoint-WP/Taxonomies.php:770
+#: src/TouchPoint-WP/Taxonomies.php:776
msgid "Classify involvements by tense (present, future, past)"
msgstr "Clasificar las implicaciones por tiempo (presente, futuro, pasado)"
-#: src/TouchPoint-WP/Taxonomies.php:774
+#: src/TouchPoint-WP/Taxonomies.php:780
msgid "Tense"
msgstr "Tiempo"
-#: src/TouchPoint-WP/Taxonomies.php:774
+#: src/TouchPoint-WP/Taxonomies.php:780
msgid "Tenses"
msgstr "Tiempos"
-#: src/TouchPoint-WP/Taxonomies.php:797
+#: src/TouchPoint-WP/Taxonomies.php:803
msgid "Classify involvements by the portion of the day in which they meet."
msgstr "Clasifique las participaciones por la parte del dÃa en que se reúnen."
-#: src/TouchPoint-WP/Taxonomies.php:803
+#: src/TouchPoint-WP/Taxonomies.php:809
msgid "Times of Day"
msgstr "Tiempos del DÃa"
-#: src/TouchPoint-WP/Taxonomies.php:829
+#: src/TouchPoint-WP/Taxonomies.php:835
msgid "Classify involvements and users by their age groups."
msgstr "Clasifica las implicaciones y los usuarios por sus grupos de edad."
-#: src/TouchPoint-WP/Taxonomies.php:832
+#: src/TouchPoint-WP/Taxonomies.php:838
msgid "Age Groups"
msgstr "Grupos de Edad"
-#: src/TouchPoint-WP/Taxonomies.php:858
+#: src/TouchPoint-WP/Taxonomies.php:864
msgid "Classify involvements by whether participants are mostly single or married."
msgstr "Clasifique las participaciones según si los participantes son en su mayorÃa solteros o casados."
-#: src/TouchPoint-WP/Taxonomies.php:864
+#: src/TouchPoint-WP/Taxonomies.php:870
msgid "Marital Statuses"
msgstr "Estados Civiles"
-#: src/TouchPoint-WP/Taxonomies.php:897
+#: src/TouchPoint-WP/Taxonomies.php:903
msgid "Classify Partners by category chosen in settings."
msgstr "Clasifique a los ministeriales por categorÃa elegida en la configuración."
@@ -1431,11 +1431,11 @@ msgstr "Cada 15 minutos"
msgid "Language"
msgstr "Idioma"
-#: src/templates/admin/invKoForm.php:67
+#: src/templates/admin/invKoForm.php:91
msgid "Import Images from TouchPoint"
msgstr "Importar imágenes desde TouchPoint"
-#: src/templates/admin/invKoForm.php:71
+#: src/templates/admin/invKoForm.php:95
msgid "Importing images sometimes conflicts with other plugins. Disabling image imports can help."
msgstr "La importación de imágenes a veces entra en conflicto con otros complementos. Deshabilitar las importaciones de imágenes puede ayudar."
@@ -1452,7 +1452,7 @@ msgstr "Calendarios de Reuniones"
msgid "Import Meetings from TouchPoint to a calendar on your website."
msgstr "Importe reuniones desde TouchPoint a un calendario en su sitio web."
-#: src/templates/admin/invKoForm.php:78
+#: src/templates/admin/invKoForm.php:102
msgid "Import All Meetings to Calendar"
msgstr "Importe reuniones a los calendarios"
@@ -1480,7 +1480,7 @@ msgstr "Eliminar siempre de WordPress"
msgid "Mark the occurrence as cancelled"
msgstr "Marcar la ocurrencia como cancelada"
-#: src/TouchPoint-WP/Involvement.php:3949
+#: src/TouchPoint-WP/Involvement.php:3951
#: src/TouchPoint-WP/Person.php:1833
msgid "Contact Prohibited."
msgstr "Contacto prohibido."
@@ -1505,7 +1505,7 @@ msgstr "Algo salió mal."
msgid "You may need to sign in."
msgstr "Es posible que tengas que iniciar sesión."
-#: src/TouchPoint-WP/Involvement.php:3939
+#: src/TouchPoint-WP/Involvement.php:3941
#: src/TouchPoint-WP/Person.php:1850
msgid "Contact Blocked for Spam."
msgstr "Contacto bloqueado por spam."
@@ -1585,7 +1585,7 @@ msgstr "hoy"
msgid "Tomorrow"
msgstr "mañana"
-#: src/templates/admin/invKoForm.php:366
+#: src/templates/admin/invKoForm.php:405
msgid "(named person)"
msgstr "(persona nombrada)"
@@ -1631,7 +1631,7 @@ msgid "%s is cancelled."
msgstr "%s esta cancelado."
#. Translators: %s is the system name. "TouchPoint" by default.
-#: src/TouchPoint-WP/Involvement.php:3663
+#: src/TouchPoint-WP/Involvement.php:3665
msgid "Involvement in %s"
msgstr "Participaciones en %s"
@@ -1724,8 +1724,7 @@ msgstr "todo el dia los %1$s"
msgid "Creating a Meeting object from an object without a post_id is not yet supported."
msgstr "Aún no se admite la creación de un objeto de reunión a partir de un objeto sin post_id."
-#. translators: %1$s is the start time, %2$s is the end time.
-#. Translators: %1$s is the start date, %2$s is the end date.
+#. translators: %1$s is the start date/time, %2$s is the end date/time.
#: src/TouchPoint-WP/Utilities/DateFormats.php:89
#: src/TouchPoint-WP/Utilities/DateFormats.php:326
msgid "%1$s – %2$s"
@@ -1822,15 +1821,15 @@ msgstr "Integre la versión 2.0 de la aplicación móvil personalizada con el ca
msgid "This %s has been Cancelled."
msgstr "Este %s ha sido Cancelado."
-#: src/templates/admin/invKoForm.php:173
+#: src/templates/admin/invKoForm.php:197
msgid "Division"
msgstr "Division"
-#: src/templates/admin/invKoForm.php:180
+#: src/templates/admin/invKoForm.php:204
msgid "Resident Code"
msgstr "Código de Residente"
-#: src/templates/admin/invKoForm.php:187
+#: src/templates/admin/invKoForm.php:211
msgid "Campus"
msgstr "Campus"
@@ -1858,3 +1857,15 @@ msgstr "Permitir que los desarrolladores de TouchPoint-WP incluyan públicamente
#: src/TouchPoint-WP/TouchPointWP_Settings.php:446
msgid "Helps other prospective churches see what can be done by combining WordPress with the best ChMS on the planet. Only applies if this site is accessible on the public internet."
msgstr "Ayuda a otras iglesias potenciales a ver lo que se puede hacer combinando WordPress con el mejor ChMS del planeta. Solo se aplica si este sitio es accesible en Internet público."
+
+#: src/templates/admin/invKoForm.php:60
+msgid "Import Campuses"
+msgstr "Importar Campus"
+
+#: src/templates/admin/invKoForm.php:67
+msgid "All Campuses"
+msgstr "Todos los campus"
+
+#: src/templates/admin/invKoForm.php:71
+msgid "(No Campus)"
+msgstr "(Sin campus)"
diff --git a/i18n/TouchPoint-WP.pot b/i18n/TouchPoint-WP.pot
index 58dfbe9d..63a78e97 100644
--- a/i18n/TouchPoint-WP.pot
+++ b/i18n/TouchPoint-WP.pot
@@ -2,14 +2,14 @@
# This file is distributed under the AGPLv3+.
msgid ""
msgstr ""
-"Project-Id-Version: TouchPoint WP 0.0.94\n"
+"Project-Id-Version: TouchPoint WP 0.0.95\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/TouchPoint-WP\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"POT-Creation-Date: 2024-11-19T13:48:25+00:00\n"
+"POT-Creation-Date: 2024-11-22T01:13:58+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.11.0\n"
"X-Domain: TouchPoint-WP\n"
@@ -39,186 +39,199 @@ msgstr ""
msgid "https://github.com/jkrrv"
msgstr ""
-#: src/templates/admin/invKoForm.php:17
+#: src/templates/admin/invKoForm.php:18
#: src/templates/admin/locationsKoForm.php:13
#: src/templates/admin/locationsKoForm.php:58
msgid "Delete"
msgstr ""
-#: src/templates/admin/invKoForm.php:23
+#: src/templates/admin/invKoForm.php:24
msgid "Singular Name"
msgstr ""
-#: src/templates/admin/invKoForm.php:31
+#: src/templates/admin/invKoForm.php:32
msgid "Plural Name"
msgstr ""
-#: src/templates/admin/invKoForm.php:39
+#: src/templates/admin/invKoForm.php:40
msgid "Slug"
msgstr ""
-#: src/templates/admin/invKoForm.php:47
+#: src/templates/admin/invKoForm.php:48
#: src/TouchPoint-WP/TouchPointWP_Settings.php:992
msgid "Divisions to Import"
msgstr ""
#: src/templates/admin/invKoForm.php:60
-msgid "Import Hierarchically (Parent-Child Relationships)"
+msgid "Import Campuses"
+msgstr ""
+
+#: src/templates/admin/invKoForm.php:63
+#: src/templates/admin/invKoForm.php:149
+#: src/templates/admin/invKoForm.php:165
+#: src/templates/admin/invKoForm.php:318
+#: src/templates/parts/involvement-nearby-list.php:2
+#: src/TouchPoint-WP/Meeting.php:746
+#: src/TouchPoint-WP/Rsvp.php:75
+#: assets/js/base-defer.js:192
+#: assets/js/base-defer.js:1133
+msgid "Loading..."
msgstr ""
#: src/templates/admin/invKoForm.php:67
-msgid "Import Images from TouchPoint"
+msgid "All Campuses"
msgstr ""
#: src/templates/admin/invKoForm.php:71
+msgid "(No Campus)"
+msgstr ""
+
+#: src/templates/admin/invKoForm.php:84
+msgid "Import Hierarchically (Parent-Child Relationships)"
+msgstr ""
+
+#: src/templates/admin/invKoForm.php:91
+msgid "Import Images from TouchPoint"
+msgstr ""
+
+#: src/templates/admin/invKoForm.php:95
msgid "Importing images sometimes conflicts with other plugins. Disabling image imports can help."
msgstr ""
-#: src/templates/admin/invKoForm.php:78
+#: src/templates/admin/invKoForm.php:102
msgid "Import All Meetings to Calendar"
msgstr ""
-#: src/templates/admin/invKoForm.php:86
+#: src/templates/admin/invKoForm.php:110
msgid "Use Geographic Location"
msgstr ""
-#: src/templates/admin/invKoForm.php:92
+#: src/templates/admin/invKoForm.php:116
msgid "Exclude Involvements if"
msgstr ""
-#: src/templates/admin/invKoForm.php:96
+#: src/templates/admin/invKoForm.php:120
msgid "Involvement is Closed"
msgstr ""
-#: src/templates/admin/invKoForm.php:100
+#: src/templates/admin/invKoForm.php:124
msgid "Involvement is a Child Involvement"
msgstr ""
-#: src/templates/admin/invKoForm.php:104
+#: src/templates/admin/invKoForm.php:128
msgid "Based on Involvement setting in TouchPoint"
msgstr ""
-#: src/templates/admin/invKoForm.php:104
+#: src/templates/admin/invKoForm.php:128
msgid "Involvement does not meet weekly"
msgstr ""
-#: src/templates/admin/invKoForm.php:108
+#: src/templates/admin/invKoForm.php:132
msgid "Involvement does not have a Schedule"
msgstr ""
-#: src/templates/admin/invKoForm.php:112
+#: src/templates/admin/invKoForm.php:136
msgid "Involvement has a registration type of \"No Online Registration\""
msgstr ""
-#: src/templates/admin/invKoForm.php:116
+#: src/templates/admin/invKoForm.php:140
msgid "Involvement registration has ended (end date is past)"
msgstr ""
-#: src/templates/admin/invKoForm.php:122
+#: src/templates/admin/invKoForm.php:146
msgid "Leader Member Types"
msgstr ""
-#: src/templates/admin/invKoForm.php:125
-#: src/templates/admin/invKoForm.php:141
-#: src/templates/admin/invKoForm.php:293
-#: src/templates/parts/involvement-nearby-list.php:2
-#: src/TouchPoint-WP/Meeting.php:746
-#: src/TouchPoint-WP/Rsvp.php:75
-#: assets/js/base-defer.js:192
-#: assets/js/base-defer.js:1133
-msgid "Loading..."
-msgstr ""
-
-#: src/templates/admin/invKoForm.php:137
+#: src/templates/admin/invKoForm.php:161
msgid "Host Member Types"
msgstr ""
-#: src/templates/admin/invKoForm.php:153
+#: src/templates/admin/invKoForm.php:177
msgid "Default Grouping"
msgstr ""
-#: src/templates/admin/invKoForm.php:157
+#: src/templates/admin/invKoForm.php:181
msgid "No Grouping"
msgstr ""
-#: src/templates/admin/invKoForm.php:158
+#: src/templates/admin/invKoForm.php:182
msgid "Upcoming / Current"
msgstr ""
-#: src/templates/admin/invKoForm.php:159
+#: src/templates/admin/invKoForm.php:183
msgid "Current / Upcoming"
msgstr ""
-#: src/templates/admin/invKoForm.php:167
+#: src/templates/admin/invKoForm.php:191
msgid "Default Filters"
msgstr ""
-#: src/templates/admin/invKoForm.php:173
+#: src/templates/admin/invKoForm.php:197
msgid "Division"
msgstr ""
-#: src/templates/admin/invKoForm.php:180
+#: src/templates/admin/invKoForm.php:204
msgid "Resident Code"
msgstr ""
-#: src/templates/admin/invKoForm.php:187
+#: src/templates/admin/invKoForm.php:211
msgid "Campus"
msgstr ""
-#: src/templates/admin/invKoForm.php:199
+#: src/templates/admin/invKoForm.php:223
msgid "Gender"
msgstr ""
-#: src/templates/admin/invKoForm.php:213
+#: src/templates/admin/invKoForm.php:237
#: src/TouchPoint-WP/Involvement.php:1853
-#: src/TouchPoint-WP/Taxonomies.php:744
+#: src/TouchPoint-WP/Taxonomies.php:750
msgid "Weekday"
msgstr ""
-#: src/templates/admin/invKoForm.php:217
+#: src/templates/admin/invKoForm.php:241
#: src/TouchPoint-WP/Involvement.php:1879
-#: src/TouchPoint-WP/Taxonomies.php:802
+#: src/TouchPoint-WP/Taxonomies.php:808
msgid "Time of Day"
msgstr ""
-#: src/templates/admin/invKoForm.php:221
+#: src/templates/admin/invKoForm.php:245
msgid "Prevailing Marital Status"
msgstr ""
-#: src/templates/admin/invKoForm.php:225
-#: src/TouchPoint-WP/Taxonomies.php:831
+#: src/templates/admin/invKoForm.php:249
+#: src/TouchPoint-WP/Taxonomies.php:837
msgid "Age Group"
msgstr ""
-#: src/templates/admin/invKoForm.php:230
+#: src/templates/admin/invKoForm.php:254
msgid "Task Owner"
msgstr ""
-#: src/templates/admin/invKoForm.php:237
+#: src/templates/admin/invKoForm.php:261
msgid "Contact Leader Task Keywords"
msgstr ""
-#: src/templates/admin/invKoForm.php:248
+#: src/templates/admin/invKoForm.php:272
msgid "Join Task Keywords"
msgstr ""
-#: src/templates/admin/invKoForm.php:264
+#: src/templates/admin/invKoForm.php:288
msgid "Add Involvement Post Type"
msgstr ""
-#: src/templates/admin/invKoForm.php:271
+#: src/templates/admin/invKoForm.php:295
msgid "Small Group"
msgstr ""
-#: src/templates/admin/invKoForm.php:272
+#: src/templates/admin/invKoForm.php:296
msgid "Small Groups"
msgstr ""
-#: src/templates/admin/invKoForm.php:366
+#: src/templates/admin/invKoForm.php:405
msgid "(named person)"
msgstr ""
-#: src/templates/admin/invKoForm.php:403
+#: src/templates/admin/invKoForm.php:442
msgid "Select..."
msgstr ""
@@ -282,7 +295,7 @@ msgstr ""
#. translators: number of miles
#: src/templates/parts/involvement-nearby-list.php:10
-#: src/TouchPoint-WP/Involvement.php:3575
+#: src/TouchPoint-WP/Involvement.php:3577
msgctxt "miles. Unit is appended to a number. %2.1f is the number, so %2.1fmi looks like '12.3mi'"
msgid "%2.1fmi"
msgstr ""
@@ -344,7 +357,6 @@ msgid "Registration Closed"
msgstr ""
#. translators: %1$s is the date(s), %2$s is the time(s).
-#. Translators: %1$s is the start date, %2$s is the start time.
#: src/TouchPoint-WP/Involvement.php:995
#: src/TouchPoint-WP/Involvement.php:1027
#: src/TouchPoint-WP/Involvement.php:1120
@@ -408,7 +420,7 @@ msgid "Language"
msgstr ""
#: src/TouchPoint-WP/Involvement.php:1901
-#: src/TouchPoint-WP/Taxonomies.php:863
+#: src/TouchPoint-WP/Taxonomies.php:869
msgid "Marital Status"
msgstr ""
@@ -456,73 +468,73 @@ msgstr ""
msgid "Could not locate."
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3554
+#: src/TouchPoint-WP/Involvement.php:3556
msgid "Men Only"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3557
+#: src/TouchPoint-WP/Involvement.php:3559
msgid "Women Only"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3634
+#: src/TouchPoint-WP/Involvement.php:3636
msgid "Contact Leaders"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3651
+#: src/TouchPoint-WP/Involvement.php:3653
#: src/TouchPoint-WP/Partner.php:1318
msgid "Show on Map"
msgstr ""
#. Translators: %s is the system name. "TouchPoint" by default.
-#: src/TouchPoint-WP/Involvement.php:3663
+#: src/TouchPoint-WP/Involvement.php:3665
msgid "Involvement in %s"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3704
-#: src/TouchPoint-WP/Involvement.php:3763
+#: src/TouchPoint-WP/Involvement.php:3706
+#: src/TouchPoint-WP/Involvement.php:3765
msgid "Register"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3710
+#: src/TouchPoint-WP/Involvement.php:3712
msgid "Create Account"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3714
+#: src/TouchPoint-WP/Involvement.php:3716
msgid "Schedule"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3719
+#: src/TouchPoint-WP/Involvement.php:3721
msgid "Give"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3722
+#: src/TouchPoint-WP/Involvement.php:3724
msgid "Manage Subscriptions"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3725
+#: src/TouchPoint-WP/Involvement.php:3727
msgid "Record Attendance"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3728
+#: src/TouchPoint-WP/Involvement.php:3730
msgid "Get Tickets"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3754
+#: src/TouchPoint-WP/Involvement.php:3756
#: assets/js/base-defer.js:1001
msgid "Join"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3859
-#: src/TouchPoint-WP/Involvement.php:3962
+#: src/TouchPoint-WP/Involvement.php:3861
+#: src/TouchPoint-WP/Involvement.php:3964
msgid "Invalid Post Type."
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3939
+#: src/TouchPoint-WP/Involvement.php:3941
#: src/TouchPoint-WP/Person.php:1850
msgid "Contact Blocked for Spam."
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3949
+#: src/TouchPoint-WP/Involvement.php:3951
#: src/TouchPoint-WP/Person.php:1833
msgid "Contact Prohibited."
msgstr ""
@@ -559,7 +571,7 @@ msgid "Unknown"
msgstr ""
#: src/TouchPoint-WP/Meeting.php:672
-#: src/TouchPoint-WP/TouchPointWP.php:1027
+#: src/TouchPoint-WP/TouchPointWP.php:1029
msgid "Only GET requests are allowed."
msgstr ""
@@ -667,64 +679,64 @@ msgstr ""
msgid "New %s"
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:652
+#: src/TouchPoint-WP/Taxonomies.php:658
msgid "Classify posts by their general locations."
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:681
+#: src/TouchPoint-WP/Taxonomies.php:687
msgid "Classify posts by their church campus."
msgstr ""
#. translators: %s: taxonomy name, singular
-#: src/TouchPoint-WP/Taxonomies.php:712
+#: src/TouchPoint-WP/Taxonomies.php:718
msgid "Classify things by %s."
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:743
+#: src/TouchPoint-WP/Taxonomies.php:749
msgid "Classify involvements by the day on which they meet."
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:744
+#: src/TouchPoint-WP/Taxonomies.php:750
msgid "Weekdays"
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:770
+#: src/TouchPoint-WP/Taxonomies.php:776
msgid "Classify involvements by tense (present, future, past)"
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:774
+#: src/TouchPoint-WP/Taxonomies.php:780
msgid "Tense"
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:774
+#: src/TouchPoint-WP/Taxonomies.php:780
msgid "Tenses"
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:797
+#: src/TouchPoint-WP/Taxonomies.php:803
msgid "Classify involvements by the portion of the day in which they meet."
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:803
+#: src/TouchPoint-WP/Taxonomies.php:809
msgid "Times of Day"
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:829
+#: src/TouchPoint-WP/Taxonomies.php:835
msgid "Classify involvements and users by their age groups."
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:832
+#: src/TouchPoint-WP/Taxonomies.php:838
msgid "Age Groups"
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:858
+#: src/TouchPoint-WP/Taxonomies.php:864
msgid "Classify involvements by whether participants are mostly single or married."
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:864
+#: src/TouchPoint-WP/Taxonomies.php:870
msgid "Marital Statuses"
msgstr ""
-#: src/TouchPoint-WP/Taxonomies.php:897
+#: src/TouchPoint-WP/Taxonomies.php:903
msgid "Classify Partners by category chosen in settings."
msgstr ""
@@ -732,42 +744,42 @@ msgstr ""
msgid "Every 15 minutes"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2023
+#: src/TouchPoint-WP/TouchPointWP.php:2027
msgid "Unknown Type"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2080
+#: src/TouchPoint-WP/TouchPointWP.php:2084
msgid "Your Searches"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2083
+#: src/TouchPoint-WP/TouchPointWP.php:2087
msgid "Public Searches"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2086
+#: src/TouchPoint-WP/TouchPointWP.php:2090
msgid "Status Flags"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2091
-#: src/TouchPoint-WP/TouchPointWP.php:2092
+#: src/TouchPoint-WP/TouchPointWP.php:2095
+#: src/TouchPoint-WP/TouchPointWP.php:2096
msgid "Current Value"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2209
-#: src/TouchPoint-WP/TouchPointWP.php:2245
+#: src/TouchPoint-WP/TouchPointWP.php:2213
+#: src/TouchPoint-WP/TouchPointWP.php:2249
msgid "Invalid or incomplete API Settings."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2259
-#: src/TouchPoint-WP/TouchPointWP.php:2303
+#: src/TouchPoint-WP/TouchPointWP.php:2263
+#: src/TouchPoint-WP/TouchPointWP.php:2307
msgid "Host appears to be missing from TouchPoint-WP configuration."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2376
+#: src/TouchPoint-WP/TouchPointWP.php:2380
msgid "The scripts on TouchPoint that interact with this plugin are out-of-date, and an automatic update failed."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2435
+#: src/TouchPoint-WP/TouchPointWP.php:2439
msgid "People Query Failed"
msgstr ""
@@ -1534,8 +1546,7 @@ msgstr ""
msgid "Expand"
msgstr ""
-#. translators: %1$s is the start time, %2$s is the end time.
-#. Translators: %1$s is the start date, %2$s is the end date.
+#. translators: %1$s is the start date/time, %2$s is the end date/time.
#: src/TouchPoint-WP/Utilities/DateFormats.php:89
#: src/TouchPoint-WP/Utilities/DateFormats.php:326
msgid "%1$s – %2$s"
diff --git a/package.json b/package.json
index 06a92658..fef681e5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "touchpoint-wp",
- "version": "0.0.94",
+ "version": "0.0.95",
"description": "A WordPress Plugin for integrating with TouchPoint Church Management Software.",
"directories": {
"doc": "docs"
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index e00a1ed8..f457866d 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -35,7 +35,7 @@ class TouchPointWP
/**
* Version number
*/
- public const VERSION = "0.0.94";
+ public const VERSION = "0.0.95";
/**
* The Token
diff --git a/src/TouchPoint-WP/Utilities/DateFormats.php b/src/TouchPoint-WP/Utilities/DateFormats.php
index 16177069..e57f51ec 100644
--- a/src/TouchPoint-WP/Utilities/DateFormats.php
+++ b/src/TouchPoint-WP/Utilities/DateFormats.php
@@ -85,7 +85,7 @@ public static function TimeRangeStringFormatted(DateTimeInterface $startDt, Date
$startStr = self::TimeStringFormatted($startDt);
$endStr = self::TimeStringFormatted($endDt);
- // translators: %1$s is the start time, %2$s is the end time.
+ // translators: %1$s is the start date/time, %2$s is the end date/time.
$ts = wp_sprintf(__('%1$s – %2$s', 'TouchPoint-WP'), $startStr, $endStr);
/**
@@ -322,7 +322,7 @@ public static function DurationToStringArray(?DateTimeInterface $start, ?DateTim
$date1 = self::DateStringFormattedShort($start);
$date2 = self::DateStringFormattedShort($end);
- // Translators: %1$s is the start date, %2$s is the end date.
+ // translators: %1$s is the start date/time, %2$s is the end date/time.
$r['datetime'] = wp_sprintf(__('%1$s – %2$s', 'TouchPoint-WP'), $date1, $date2);
} else {
@@ -343,7 +343,7 @@ public static function DurationToStringArray(?DateTimeInterface $start, ?DateTim
$date = self::DateStringFormatted($start);
$time = self::TimeStringFormatted($start);
- // Translators: %1$s is the start date, %2$s is the start time.
+ // translators: %1$s is the date(s), %2$s is the time(s).
$r['datetime'] = wp_sprintf(__('%1$s at %2$s', 'TouchPoint-WP'), $date, $time);
} else {
diff --git a/src/python/WebApi.py b/src/python/WebApi.py
index a0824092..283a5c1a 100644
--- a/src/python/WebApi.py
+++ b/src/python/WebApi.py
@@ -5,7 +5,7 @@
import linecache
import sys
-VERSION = "0.0.94"
+VERSION = "0.0.95"
sgContactEvName = "Contact"
diff --git a/touchpoint-wp.php b/touchpoint-wp.php
index 785860a0..4c54688e 100644
--- a/touchpoint-wp.php
+++ b/touchpoint-wp.php
@@ -14,7 +14,7 @@
Plugin URI: https://github.com/tenthpres/touchpoint-wp
Update URI: https://github.com/tenthpres/touchpoint-wp
Description: A WordPress Plugin for integrating with TouchPoint Church Management Software.
-Version: 0.0.94
+Version: 0.0.95
Author: James K
Author URI: https://github.com/jkrrv
License: AGPLv3+
From f039fa667837bee24e093ab2983431ca823a45b0 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Fri, 22 Nov 2024 12:43:11 -0500
Subject: [PATCH 212/431] Add a dashboard widget with some simple stats.
---
docs | 2 +-
i18n/TouchPoint-WP-es_ES.po | 144 ++++++++++---------
i18n/TouchPoint-WP.pot | 146 +++++++++++---------
src/TouchPoint-WP/Report.php | 2 +-
src/TouchPoint-WP/Stats.php | 14 +-
src/TouchPoint-WP/TouchPointWP.php | 2 +
src/TouchPoint-WP/TouchPointWP_Widget.php | 117 ++++++++++++++++
src/TouchPoint-WP/Utilities.php | 14 ++
src/TouchPoint-WP/Utilities/DateFormats.php | 29 ++--
9 files changed, 325 insertions(+), 145 deletions(-)
create mode 100644 src/TouchPoint-WP/TouchPointWP_Widget.php
diff --git a/docs b/docs
index e53d723f..4ddcde14 160000
--- a/docs
+++ b/docs
@@ -1 +1 @@
-Subproject commit e53d723f44bfc397d48a2707d8a9d2567762ff56
+Subproject commit 4ddcde146fa218887d0b60482b187a512fd1bd80
diff --git a/i18n/TouchPoint-WP-es_ES.po b/i18n/TouchPoint-WP-es_ES.po
index 7cd03594..2e2c014d 100644
--- a/i18n/TouchPoint-WP-es_ES.po
+++ b/i18n/TouchPoint-WP-es_ES.po
@@ -314,38 +314,38 @@ msgstr "Contacta"
msgid "RSVP"
msgstr "RSVP"
-#: src/TouchPoint-WP/TouchPointWP.php:2027
+#: src/TouchPoint-WP/TouchPointWP.php:2029
msgid "Unknown Type"
msgstr "Tipo desconocido"
-#: src/TouchPoint-WP/TouchPointWP.php:2084
+#: src/TouchPoint-WP/TouchPointWP.php:2086
msgid "Your Searches"
msgstr "Tus búsquedas"
-#: src/TouchPoint-WP/TouchPointWP.php:2087
+#: src/TouchPoint-WP/TouchPointWP.php:2089
msgid "Public Searches"
msgstr "Búsquedas públicas"
-#: src/TouchPoint-WP/TouchPointWP.php:2090
+#: src/TouchPoint-WP/TouchPointWP.php:2092
msgid "Status Flags"
msgstr "Indicadores de Estado"
-#: src/TouchPoint-WP/TouchPointWP.php:2095
-#: src/TouchPoint-WP/TouchPointWP.php:2096
+#: src/TouchPoint-WP/TouchPointWP.php:2097
+#: src/TouchPoint-WP/TouchPointWP.php:2098
msgid "Current Value"
msgstr "Valor actual"
-#: src/TouchPoint-WP/TouchPointWP.php:2213
-#: src/TouchPoint-WP/TouchPointWP.php:2249
+#: src/TouchPoint-WP/TouchPointWP.php:2215
+#: src/TouchPoint-WP/TouchPointWP.php:2251
msgid "Invalid or incomplete API Settings."
msgstr "Configuración de API no válida o incompleta."
-#: src/TouchPoint-WP/TouchPointWP.php:2263
-#: src/TouchPoint-WP/TouchPointWP.php:2307
+#: src/TouchPoint-WP/TouchPointWP.php:2265
+#: src/TouchPoint-WP/TouchPointWP.php:2309
msgid "Host appears to be missing from TouchPoint-WP configuration."
msgstr "Parece que falta el host en la configuración de TouchPoint-WP."
-#: src/TouchPoint-WP/TouchPointWP.php:2439
+#: src/TouchPoint-WP/TouchPointWP.php:2441
msgid "People Query Failed"
msgstr "Consulta de registros de personas fallida"
@@ -809,7 +809,7 @@ msgid "Save Settings"
msgstr "Guardar ajustes"
#: src/TouchPoint-WP/Person.php:1451
-#: src/TouchPoint-WP/Utilities.php:271
+#: src/TouchPoint-WP/Utilities.php:285
#: assets/js/base-defer.js:18
msgid "and"
msgstr "y"
@@ -972,7 +972,7 @@ msgstr "Enviar"
msgid "Nothing to submit."
msgstr "Nada que enviar."
-#: src/TouchPoint-WP/TouchPointWP.php:2380
+#: src/TouchPoint-WP/TouchPointWP.php:2382
msgid "The scripts on TouchPoint that interact with this plugin are out-of-date, and an automatic update failed."
msgstr "Los scripts en TouchPoint que interactúan con este complemento están desactualizados y falló una actualización automática."
@@ -1040,72 +1040,72 @@ msgstr "Años"
msgid "Genders"
msgstr "Géneros"
-#: src/TouchPoint-WP/Utilities.php:121
+#: src/TouchPoint-WP/Utilities.php:135
msgctxt "e.g. event happens weekly on..."
msgid "Sundays"
msgstr "los domingos"
-#: src/TouchPoint-WP/Utilities.php:122
+#: src/TouchPoint-WP/Utilities.php:136
msgctxt "e.g. event happens weekly on..."
msgid "Mondays"
msgstr "los lunes"
-#: src/TouchPoint-WP/Utilities.php:123
+#: src/TouchPoint-WP/Utilities.php:137
msgctxt "e.g. event happens weekly on..."
msgid "Tuesdays"
msgstr "los martes"
-#: src/TouchPoint-WP/Utilities.php:124
+#: src/TouchPoint-WP/Utilities.php:138
msgctxt "e.g. event happens weekly on..."
msgid "Wednesdays"
msgstr "los miércoles"
-#: src/TouchPoint-WP/Utilities.php:125
+#: src/TouchPoint-WP/Utilities.php:139
msgctxt "e.g. event happens weekly on..."
msgid "Thursdays"
msgstr "los jueves"
-#: src/TouchPoint-WP/Utilities.php:126
+#: src/TouchPoint-WP/Utilities.php:140
msgctxt "e.g. event happens weekly on..."
msgid "Fridays"
msgstr "los viernes"
-#: src/TouchPoint-WP/Utilities.php:127
+#: src/TouchPoint-WP/Utilities.php:141
msgctxt "e.g. event happens weekly on..."
msgid "Saturdays"
msgstr "los sábados"
-#: src/TouchPoint-WP/Utilities.php:173
+#: src/TouchPoint-WP/Utilities.php:187
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Sun"
msgstr "Dom"
-#: src/TouchPoint-WP/Utilities.php:174
+#: src/TouchPoint-WP/Utilities.php:188
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Mon"
msgstr "Lun"
-#: src/TouchPoint-WP/Utilities.php:175
+#: src/TouchPoint-WP/Utilities.php:189
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Tue"
msgstr "Mar"
-#: src/TouchPoint-WP/Utilities.php:176
+#: src/TouchPoint-WP/Utilities.php:190
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Wed"
msgstr "Mié"
-#: src/TouchPoint-WP/Utilities.php:177
+#: src/TouchPoint-WP/Utilities.php:191
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Thu"
msgstr "Jue"
-#: src/TouchPoint-WP/Utilities.php:178
+#: src/TouchPoint-WP/Utilities.php:192
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Fri"
msgstr "Vie"
-#: src/TouchPoint-WP/Utilities.php:179
+#: src/TouchPoint-WP/Utilities.php:193
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Sat"
msgstr "Sáb"
@@ -1163,37 +1163,37 @@ msgstr "Ubicaciones"
msgid "Locations are physical places, probably campuses. None are required, but they can help present geographic information clearly."
msgstr "Las ubicaciones son lugares fÃsicos, probablemente campus. No se requiere ninguno, pero pueden ayudar a presentar la información geográfica con claridad."
-#: src/TouchPoint-WP/Utilities.php:221
+#: src/TouchPoint-WP/Utilities.php:235
msgctxt "Time of Day"
msgid "Late Night"
msgstr "Tarde en la noche"
-#: src/TouchPoint-WP/Utilities.php:223
+#: src/TouchPoint-WP/Utilities.php:237
msgctxt "Time of Day"
msgid "Early Morning"
msgstr "Madrugada"
-#: src/TouchPoint-WP/Utilities.php:225
+#: src/TouchPoint-WP/Utilities.php:239
msgctxt "Time of Day"
msgid "Morning"
msgstr "Mañana"
-#: src/TouchPoint-WP/Utilities.php:227
+#: src/TouchPoint-WP/Utilities.php:241
msgctxt "Time of Day"
msgid "Midday"
msgstr "MediodÃa"
-#: src/TouchPoint-WP/Utilities.php:229
+#: src/TouchPoint-WP/Utilities.php:243
msgctxt "Time of Day"
msgid "Afternoon"
msgstr "Tarde"
-#: src/TouchPoint-WP/Utilities.php:231
+#: src/TouchPoint-WP/Utilities.php:245
msgctxt "Time of Day"
msgid "Evening"
msgstr "Tardecita"
-#: src/TouchPoint-WP/Utilities.php:233
+#: src/TouchPoint-WP/Utilities.php:247
msgctxt "Time of Day"
msgid "Night"
msgstr "Noche"
@@ -1225,8 +1225,9 @@ msgstr "restablecer el mapa"
#: src/TouchPoint-WP/Involvement.php:1027
#: src/TouchPoint-WP/Involvement.php:1120
#: src/TouchPoint-WP/Involvement.php:1144
-#: src/TouchPoint-WP/Utilities/DateFormats.php:283
-#: src/TouchPoint-WP/Utilities/DateFormats.php:347
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:67
+#: src/TouchPoint-WP/Utilities/DateFormats.php:288
+#: src/TouchPoint-WP/Utilities/DateFormats.php:352
msgid "%1$s at %2$s"
msgstr "%1$s a las %2$s"
@@ -1292,17 +1293,17 @@ msgid "Could not locate."
msgstr "No se pudo localizar."
#: src/TouchPoint-WP/Meeting.php:672
-#: src/TouchPoint-WP/TouchPointWP.php:1029
+#: src/TouchPoint-WP/TouchPointWP.php:1031
msgid "Only GET requests are allowed."
msgstr "Solo se permiten solicitudes GET."
#: src/TouchPoint-WP/Meeting.php:700
-#: src/TouchPoint-WP/TouchPointWP.php:360
+#: src/TouchPoint-WP/TouchPointWP.php:362
msgid "Only POST requests are allowed."
msgstr "Solo se permiten solicitudes POST."
#: src/TouchPoint-WP/Meeting.php:710
-#: src/TouchPoint-WP/TouchPointWP.php:369
+#: src/TouchPoint-WP/TouchPointWP.php:371
msgid "Invalid data provided."
msgstr "Datos proporcionados no válidos."
@@ -1571,17 +1572,17 @@ msgid "Select post types which should have Resident Codes available as a native
msgstr "Seleccione los tipos de publicaciones que deberÃan tener códigos de residente disponibles como taxonomÃa nativa."
#: src/TouchPoint-WP/Utilities/DateFormats.php:119
-#: src/TouchPoint-WP/Utilities/DateFormats.php:191
+#: src/TouchPoint-WP/Utilities/DateFormats.php:194
msgid "Tonight"
msgstr "este noche"
#: src/TouchPoint-WP/Utilities/DateFormats.php:121
-#: src/TouchPoint-WP/Utilities/DateFormats.php:193
+#: src/TouchPoint-WP/Utilities/DateFormats.php:196
msgid "Today"
msgstr "hoy"
-#: src/TouchPoint-WP/Utilities/DateFormats.php:127
-#: src/TouchPoint-WP/Utilities/DateFormats.php:199
+#: src/TouchPoint-WP/Utilities/DateFormats.php:128
+#: src/TouchPoint-WP/Utilities/DateFormats.php:203
msgid "Tomorrow"
msgstr "mañana"
@@ -1589,7 +1590,7 @@ msgstr "mañana"
msgid "(named person)"
msgstr "(persona nombrada)"
-#: src/TouchPoint-WP/Utilities.php:482
+#: src/TouchPoint-WP/Utilities.php:496
msgid "Expand"
msgstr "Ampliar"
@@ -1602,25 +1603,25 @@ msgid "Scheduled"
msgstr "Programado"
#. translators: %1$s is "Monday". %2$s is "January 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:144
+#: src/TouchPoint-WP/Utilities/DateFormats.php:147
msgctxt "Date format string"
msgid "Last %1$s, %2$s"
msgstr "el pasado %1$s %2$s"
#. translators: %1$s is "Monday". %2$s is "January 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:150
+#: src/TouchPoint-WP/Utilities/DateFormats.php:153
msgctxt "Date format string"
msgid "This %1$s, %2$s"
msgstr "este %1$s %2$s"
#. translators: %1$s is "Monday". %2$s is "January 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:156
+#: src/TouchPoint-WP/Utilities/DateFormats.php:159
msgctxt "Date format string"
msgid "Next %1$s, %2$s"
msgstr "el proximo %1$s %2$s"
#. translators: %1$s is "Monday". %2$s is "January 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:161
+#: src/TouchPoint-WP/Utilities/DateFormats.php:164
msgctxt "Date format string"
msgid "%1$s, %2$s"
msgstr "%1$s %2$s"
@@ -1685,22 +1686,22 @@ msgstr "Reunión"
msgid "Event"
msgstr "Evento"
-#: src/TouchPoint-WP/Utilities/DateFormats.php:134
+#: src/TouchPoint-WP/Utilities/DateFormats.php:137
msgctxt "Date string for day of the week, when the year is current."
msgid "l"
msgstr "l"
-#: src/TouchPoint-WP/Utilities/DateFormats.php:135
+#: src/TouchPoint-WP/Utilities/DateFormats.php:138
msgctxt "Date string when the year is current."
msgid "F j"
msgstr "j F"
-#: src/TouchPoint-WP/Utilities/DateFormats.php:137
+#: src/TouchPoint-WP/Utilities/DateFormats.php:140
msgctxt "Date string for day of the week, when the year is not current."
msgid "l"
msgstr "l"
-#: src/TouchPoint-WP/Utilities/DateFormats.php:138
+#: src/TouchPoint-WP/Utilities/DateFormats.php:141
msgctxt "Date string when the year is not current."
msgid "F j, Y"
msgstr "j F Y"
@@ -1726,55 +1727,55 @@ msgstr "Aún no se admite la creación de un objeto de reunión a partir de un o
#. translators: %1$s is the start date/time, %2$s is the end date/time.
#: src/TouchPoint-WP/Utilities/DateFormats.php:89
-#: src/TouchPoint-WP/Utilities/DateFormats.php:326
+#: src/TouchPoint-WP/Utilities/DateFormats.php:331
msgid "%1$s – %2$s"
msgstr "%1$s – %2$s"
-#: src/TouchPoint-WP/Utilities/DateFormats.php:206
+#: src/TouchPoint-WP/Utilities/DateFormats.php:211
msgctxt "Short date string for day of the week, when the year is current."
msgid "D"
msgstr "D"
-#: src/TouchPoint-WP/Utilities/DateFormats.php:207
+#: src/TouchPoint-WP/Utilities/DateFormats.php:212
msgctxt "Short date string when the year is current."
msgid "M j"
msgstr "j M"
-#: src/TouchPoint-WP/Utilities/DateFormats.php:209
+#: src/TouchPoint-WP/Utilities/DateFormats.php:214
msgctxt "Short date string for day of the week, when the year is not current."
msgid "D"
msgstr "D"
-#: src/TouchPoint-WP/Utilities/DateFormats.php:210
+#: src/TouchPoint-WP/Utilities/DateFormats.php:215
msgctxt "Short date string when the year is not current."
msgid "M j, Y"
msgstr "j M Y"
#. translators: %1$s is the start date, %2$s start time, %3$s is the end date, and %4$s end time.
-#: src/TouchPoint-WP/Utilities/DateFormats.php:359
+#: src/TouchPoint-WP/Utilities/DateFormats.php:364
msgid "%1$s at %2$s – %3$s at %4$s"
msgstr "%1$s a %2$s – %3$s a %4$s"
#. translators: %1$s is "Mon". %2$s is "Jan 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:216
+#: src/TouchPoint-WP/Utilities/DateFormats.php:221
msgctxt "Short date format string"
msgid "Last %1$s, %2$s"
msgstr "el pasado %1$s %2$s"
#. translators: %1$s is "Mon". %2$s is "Jan 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:222
+#: src/TouchPoint-WP/Utilities/DateFormats.php:227
msgctxt "Short date format string"
msgid "This %1$s, %2$s"
msgstr "este %1$s %2$s"
#. translators: %1$s is "Mon". %2$s is "Jan 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:228
+#: src/TouchPoint-WP/Utilities/DateFormats.php:233
msgctxt "Short date format string"
msgid "Next %1$s, %2$s"
msgstr "proximo %1$s %2$s"
#. translators: %1$s is "Mon". %2$s is "Jan 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:233
+#: src/TouchPoint-WP/Utilities/DateFormats.php:238
msgctxt "Short date format string"
msgid "%1$s, %2$s"
msgstr "%1$s %2$s"
@@ -1837,7 +1838,7 @@ msgstr "Campus"
msgid "All Day"
msgstr "todo el dia"
-#: src/TouchPoint-WP/Utilities.php:276
+#: src/TouchPoint-WP/Utilities.php:290
msgctxt "list of items, and *others*"
msgid "others"
msgstr "otros"
@@ -1869,3 +1870,20 @@ msgstr "Todos los campus"
#: src/templates/admin/invKoForm.php:71
msgid "(No Campus)"
msgstr "(Sin campus)"
+
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:37
+msgid "TouchPoint-WP Status"
+msgstr "Estado de TouchPoint-WP"
+
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:92
+msgid "Imported"
+msgstr "Importadas"
+
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:93
+msgid "Last Updated"
+msgstr "Actualizada"
+
+#: src/TouchPoint-WP/Utilities/DateFormats.php:130
+#: src/TouchPoint-WP/Utilities/DateFormats.php:205
+msgid "Yesterday"
+msgstr "Ayer"
diff --git a/i18n/TouchPoint-WP.pot b/i18n/TouchPoint-WP.pot
index 63a78e97..71300fa4 100644
--- a/i18n/TouchPoint-WP.pot
+++ b/i18n/TouchPoint-WP.pot
@@ -9,7 +9,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"POT-Creation-Date: 2024-11-22T01:13:58+00:00\n"
+"POT-Creation-Date: 2024-11-22T17:39:16+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.11.0\n"
"X-Domain: TouchPoint-WP\n"
@@ -361,8 +361,9 @@ msgstr ""
#: src/TouchPoint-WP/Involvement.php:1027
#: src/TouchPoint-WP/Involvement.php:1120
#: src/TouchPoint-WP/Involvement.php:1144
-#: src/TouchPoint-WP/Utilities/DateFormats.php:283
-#: src/TouchPoint-WP/Utilities/DateFormats.php:347
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:67
+#: src/TouchPoint-WP/Utilities/DateFormats.php:288
+#: src/TouchPoint-WP/Utilities/DateFormats.php:352
msgid "%1$s at %2$s"
msgstr ""
@@ -571,17 +572,17 @@ msgid "Unknown"
msgstr ""
#: src/TouchPoint-WP/Meeting.php:672
-#: src/TouchPoint-WP/TouchPointWP.php:1029
+#: src/TouchPoint-WP/TouchPointWP.php:1031
msgid "Only GET requests are allowed."
msgstr ""
#: src/TouchPoint-WP/Meeting.php:700
-#: src/TouchPoint-WP/TouchPointWP.php:360
+#: src/TouchPoint-WP/TouchPointWP.php:362
msgid "Only POST requests are allowed."
msgstr ""
#: src/TouchPoint-WP/Meeting.php:710
-#: src/TouchPoint-WP/TouchPointWP.php:369
+#: src/TouchPoint-WP/TouchPointWP.php:371
msgid "Invalid data provided."
msgstr ""
@@ -618,7 +619,7 @@ msgid "Person in %s"
msgstr ""
#: src/TouchPoint-WP/Person.php:1451
-#: src/TouchPoint-WP/Utilities.php:271
+#: src/TouchPoint-WP/Utilities.php:285
#: assets/js/base-defer.js:18
msgid "and"
msgstr ""
@@ -744,42 +745,42 @@ msgstr ""
msgid "Every 15 minutes"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2027
+#: src/TouchPoint-WP/TouchPointWP.php:2029
msgid "Unknown Type"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2084
+#: src/TouchPoint-WP/TouchPointWP.php:2086
msgid "Your Searches"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2087
+#: src/TouchPoint-WP/TouchPointWP.php:2089
msgid "Public Searches"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2090
+#: src/TouchPoint-WP/TouchPointWP.php:2092
msgid "Status Flags"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2095
-#: src/TouchPoint-WP/TouchPointWP.php:2096
+#: src/TouchPoint-WP/TouchPointWP.php:2097
+#: src/TouchPoint-WP/TouchPointWP.php:2098
msgid "Current Value"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2213
-#: src/TouchPoint-WP/TouchPointWP.php:2249
+#: src/TouchPoint-WP/TouchPointWP.php:2215
+#: src/TouchPoint-WP/TouchPointWP.php:2251
msgid "Invalid or incomplete API Settings."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2263
-#: src/TouchPoint-WP/TouchPointWP.php:2307
+#: src/TouchPoint-WP/TouchPointWP.php:2265
+#: src/TouchPoint-WP/TouchPointWP.php:2309
msgid "Host appears to be missing from TouchPoint-WP configuration."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2380
+#: src/TouchPoint-WP/TouchPointWP.php:2382
msgid "The scripts on TouchPoint that interact with this plugin are out-of-date, and an automatic update failed."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2439
+#: src/TouchPoint-WP/TouchPointWP.php:2441
msgid "People Query Failed"
msgstr ""
@@ -1432,231 +1433,248 @@ msgstr ""
msgid "Save Settings"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:121
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:37
+msgid "TouchPoint-WP Status"
+msgstr ""
+
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:92
+msgid "Imported"
+msgstr ""
+
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:93
+msgid "Last Updated"
+msgstr ""
+
+#: src/TouchPoint-WP/Utilities.php:135
msgctxt "e.g. event happens weekly on..."
msgid "Sundays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:122
+#: src/TouchPoint-WP/Utilities.php:136
msgctxt "e.g. event happens weekly on..."
msgid "Mondays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:123
+#: src/TouchPoint-WP/Utilities.php:137
msgctxt "e.g. event happens weekly on..."
msgid "Tuesdays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:124
+#: src/TouchPoint-WP/Utilities.php:138
msgctxt "e.g. event happens weekly on..."
msgid "Wednesdays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:125
+#: src/TouchPoint-WP/Utilities.php:139
msgctxt "e.g. event happens weekly on..."
msgid "Thursdays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:126
+#: src/TouchPoint-WP/Utilities.php:140
msgctxt "e.g. event happens weekly on..."
msgid "Fridays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:127
+#: src/TouchPoint-WP/Utilities.php:141
msgctxt "e.g. event happens weekly on..."
msgid "Saturdays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:173
+#: src/TouchPoint-WP/Utilities.php:187
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Sun"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:174
+#: src/TouchPoint-WP/Utilities.php:188
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Mon"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:175
+#: src/TouchPoint-WP/Utilities.php:189
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Tue"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:176
+#: src/TouchPoint-WP/Utilities.php:190
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Wed"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:177
+#: src/TouchPoint-WP/Utilities.php:191
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Thu"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:178
+#: src/TouchPoint-WP/Utilities.php:192
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Fri"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:179
+#: src/TouchPoint-WP/Utilities.php:193
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Sat"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:221
+#: src/TouchPoint-WP/Utilities.php:235
msgctxt "Time of Day"
msgid "Late Night"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:223
+#: src/TouchPoint-WP/Utilities.php:237
msgctxt "Time of Day"
msgid "Early Morning"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:225
+#: src/TouchPoint-WP/Utilities.php:239
msgctxt "Time of Day"
msgid "Morning"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:227
+#: src/TouchPoint-WP/Utilities.php:241
msgctxt "Time of Day"
msgid "Midday"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:229
+#: src/TouchPoint-WP/Utilities.php:243
msgctxt "Time of Day"
msgid "Afternoon"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:231
+#: src/TouchPoint-WP/Utilities.php:245
msgctxt "Time of Day"
msgid "Evening"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:233
+#: src/TouchPoint-WP/Utilities.php:247
msgctxt "Time of Day"
msgid "Night"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:276
+#: src/TouchPoint-WP/Utilities.php:290
msgctxt "list of items, and *others*"
msgid "others"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:482
+#: src/TouchPoint-WP/Utilities.php:496
msgid "Expand"
msgstr ""
#. translators: %1$s is the start date/time, %2$s is the end date/time.
#: src/TouchPoint-WP/Utilities/DateFormats.php:89
-#: src/TouchPoint-WP/Utilities/DateFormats.php:326
+#: src/TouchPoint-WP/Utilities/DateFormats.php:331
msgid "%1$s – %2$s"
msgstr ""
#: src/TouchPoint-WP/Utilities/DateFormats.php:119
-#: src/TouchPoint-WP/Utilities/DateFormats.php:191
+#: src/TouchPoint-WP/Utilities/DateFormats.php:194
msgid "Tonight"
msgstr ""
#: src/TouchPoint-WP/Utilities/DateFormats.php:121
-#: src/TouchPoint-WP/Utilities/DateFormats.php:193
+#: src/TouchPoint-WP/Utilities/DateFormats.php:196
msgid "Today"
msgstr ""
-#: src/TouchPoint-WP/Utilities/DateFormats.php:127
-#: src/TouchPoint-WP/Utilities/DateFormats.php:199
+#: src/TouchPoint-WP/Utilities/DateFormats.php:128
+#: src/TouchPoint-WP/Utilities/DateFormats.php:203
msgid "Tomorrow"
msgstr ""
-#: src/TouchPoint-WP/Utilities/DateFormats.php:134
+#: src/TouchPoint-WP/Utilities/DateFormats.php:130
+#: src/TouchPoint-WP/Utilities/DateFormats.php:205
+msgid "Yesterday"
+msgstr ""
+
+#: src/TouchPoint-WP/Utilities/DateFormats.php:137
msgctxt "Date string for day of the week, when the year is current."
msgid "l"
msgstr ""
-#: src/TouchPoint-WP/Utilities/DateFormats.php:135
+#: src/TouchPoint-WP/Utilities/DateFormats.php:138
msgctxt "Date string when the year is current."
msgid "F j"
msgstr ""
-#: src/TouchPoint-WP/Utilities/DateFormats.php:137
+#: src/TouchPoint-WP/Utilities/DateFormats.php:140
msgctxt "Date string for day of the week, when the year is not current."
msgid "l"
msgstr ""
-#: src/TouchPoint-WP/Utilities/DateFormats.php:138
+#: src/TouchPoint-WP/Utilities/DateFormats.php:141
msgctxt "Date string when the year is not current."
msgid "F j, Y"
msgstr ""
#. translators: %1$s is "Monday". %2$s is "January 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:144
+#: src/TouchPoint-WP/Utilities/DateFormats.php:147
msgctxt "Date format string"
msgid "Last %1$s, %2$s"
msgstr ""
#. translators: %1$s is "Monday". %2$s is "January 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:150
+#: src/TouchPoint-WP/Utilities/DateFormats.php:153
msgctxt "Date format string"
msgid "This %1$s, %2$s"
msgstr ""
#. translators: %1$s is "Monday". %2$s is "January 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:156
+#: src/TouchPoint-WP/Utilities/DateFormats.php:159
msgctxt "Date format string"
msgid "Next %1$s, %2$s"
msgstr ""
#. translators: %1$s is "Monday". %2$s is "January 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:161
+#: src/TouchPoint-WP/Utilities/DateFormats.php:164
msgctxt "Date format string"
msgid "%1$s, %2$s"
msgstr ""
-#: src/TouchPoint-WP/Utilities/DateFormats.php:206
+#: src/TouchPoint-WP/Utilities/DateFormats.php:211
msgctxt "Short date string for day of the week, when the year is current."
msgid "D"
msgstr ""
-#: src/TouchPoint-WP/Utilities/DateFormats.php:207
+#: src/TouchPoint-WP/Utilities/DateFormats.php:212
msgctxt "Short date string when the year is current."
msgid "M j"
msgstr ""
-#: src/TouchPoint-WP/Utilities/DateFormats.php:209
+#: src/TouchPoint-WP/Utilities/DateFormats.php:214
msgctxt "Short date string for day of the week, when the year is not current."
msgid "D"
msgstr ""
-#: src/TouchPoint-WP/Utilities/DateFormats.php:210
+#: src/TouchPoint-WP/Utilities/DateFormats.php:215
msgctxt "Short date string when the year is not current."
msgid "M j, Y"
msgstr ""
#. translators: %1$s is "Mon". %2$s is "Jan 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:216
+#: src/TouchPoint-WP/Utilities/DateFormats.php:221
msgctxt "Short date format string"
msgid "Last %1$s, %2$s"
msgstr ""
#. translators: %1$s is "Mon". %2$s is "Jan 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:222
+#: src/TouchPoint-WP/Utilities/DateFormats.php:227
msgctxt "Short date format string"
msgid "This %1$s, %2$s"
msgstr ""
#. translators: %1$s is "Mon". %2$s is "Jan 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:228
+#: src/TouchPoint-WP/Utilities/DateFormats.php:233
msgctxt "Short date format string"
msgid "Next %1$s, %2$s"
msgstr ""
#. translators: %1$s is "Mon". %2$s is "Jan 1".
-#: src/TouchPoint-WP/Utilities/DateFormats.php:233
+#: src/TouchPoint-WP/Utilities/DateFormats.php:238
msgctxt "Short date format string"
msgid "%1$s, %2$s"
msgstr ""
#. translators: %1$s is the start date, %2$s start time, %3$s is the end date, and %4$s end time.
-#: src/TouchPoint-WP/Utilities/DateFormats.php:359
+#: src/TouchPoint-WP/Utilities/DateFormats.php:364
msgid "%1$s at %2$s – %3$s at %4$s"
msgstr ""
diff --git a/src/TouchPoint-WP/Report.php b/src/TouchPoint-WP/Report.php
index ce34ec3c..e130c0d3 100644
--- a/src/TouchPoint-WP/Report.php
+++ b/src/TouchPoint-WP/Report.php
@@ -144,7 +144,7 @@ public static function load(): bool
/// Cron ///
////////////
- // Setup cron for updating People daily.
+ // Setup cron for updating Reports daily.
add_action(self::CRON_HOOK, [self::class, 'updateCron']);
if ( ! wp_next_scheduled(self::CRON_HOOK)) {
// Runs every 15 minutes, starting now.
diff --git a/src/TouchPoint-WP/Stats.php b/src/TouchPoint-WP/Stats.php
index 24a9cbb9..ba857834 100644
--- a/src/TouchPoint-WP/Stats.php
+++ b/src/TouchPoint-WP/Stats.php
@@ -236,10 +236,16 @@ public function __get(string $name)
/**
* Assemble the information that's submitted.
*
+ * @param bool $updateQueried
+ *
* @return array
*/
- public function getStatsForSubmission(): array
+ public function getStatsForSubmission(bool $updateQueried = false): array
{
+ if ($updateQueried) {
+ $this->updateQueriedStats();
+ }
+
$data = $this->jsonSerialize();
$sets = TouchPointWP::instance()->settings;
@@ -321,9 +327,9 @@ protected function updateQueriedStats(): void
global $wpdb;
$this->involvementPosts = $wpdb->get_var("SELECT COUNT(DISTINCT meta_value) as c FROM $wpdb->postmeta WHERE meta_key = 'tp_invId'") ?? -1;
- $this->meetings = $wpdb->get_var("SELECT COUNT(DISTINCT meta_value) as c FROM $wpdb->postmeta WHERE meta_key = 'tp_mtgId'") ?? -1;
- $this->people = $wpdb->get_var("SELECT COUNT(DISTINCT meta_value) as c FROM $wpdb->usermeta WHERE meta_key = 'tp_peopleId';") ?? -1;
- $this->partnerPosts = $wpdb->get_var("SELECT COUNT(*) as c FROM $wpdb->posts WHERE post_type = 'tp_partner'") ?? -1;
+ $this->meetings = $wpdb->get_var("SELECT COUNT(DISTINCT meta_value) as c FROM $wpdb->postmeta WHERE meta_key = 'tp_mtgId'") ?? -1;
+ $this->people = $wpdb->get_var("SELECT COUNT(DISTINCT meta_value) as c FROM $wpdb->usermeta WHERE meta_key = 'tp_peopleId';") ?? -1;
+ $this->partnerPosts = $wpdb->get_var("SELECT COUNT(*) as c FROM $wpdb->posts WHERE post_type = 'tp_partner'") ?? -1;
$this->_dirty = true;
}
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index f457866d..fa914b67 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -298,8 +298,10 @@ public function admin(): TouchPointWP_AdminAPI
if ($this->admin === null) {
if ( ! TOUCHPOINT_COMPOSER_ENABLED) {
require_once 'TouchPointWP_AdminAPI.php';
+ require_once 'TouchPointWP_Widget.php';
}
$this->admin = new TouchPointWP_AdminAPI();
+ TouchPointWP_Widget::init();
}
return $this->admin;
diff --git a/src/TouchPoint-WP/TouchPointWP_Widget.php b/src/TouchPoint-WP/TouchPointWP_Widget.php
new file mode 100644
index 00000000..43e89a0c
--- /dev/null
+++ b/src/TouchPoint-WP/TouchPointWP_Widget.php
@@ -0,0 +1,117 @@
+getStatsForSubmission(true);
+ $settings = TouchPointWP::instance()->settings;
+
+ global $wpdb;
+ $rpt = Report::POST_TYPE;
+ $reportData = $wpdb->get_row("SELECT MAX(post_modified) as ts, COUNT(*) as cnt FROM $wpdb->posts WHERE post_type = '$rpt'");
+
+ echo '';
+ echo ' ';
+
+ echo " | ";
+
+ echo "" . __("Imported", "TouchPoint-WP") . " | ";
+ echo "" . __("Last Updated", "TouchPoint-WP") . " | ";
+
+ echo '| People | ' . $stats->people . ' | ' . self::timestampToFormated($settings->person_cron_last_run) . " | ";
+
+ if ($settings->enable_involvements === "on") {
+ echo '| Involvements | ' . $stats->involvementPosts . ' | ' . self::timestampToFormated($settings->inv_cron_last_run) . " | ";
+ }
+
+ if ($settings->enable_meeting_cal === "on") {
+ echo '| Meetings | ' . $stats->meetings . ' | ' . self::timestampToFormated($settings->inv_cron_last_run) . " | ";
+ }
+
+ if ($settings->enable_global === "on") {
+ echo '| Partners | ' . $stats->partnerPosts . ' | ' . self::timestampToFormated($settings->global_cron_last_run) . " | ";
+ }
+
+ echo '| Reports | ' . $reportData->cnt . ' | ' . self::timestampToFormated($reportData->ts) . " | ";
+
+ echo " ";
+
+ echo ' Version ' . TouchPointWP::VERSION . " ";
+
+ echo ' ';
+ }
+}
\ No newline at end of file
diff --git a/src/TouchPoint-WP/Utilities.php b/src/TouchPoint-WP/Utilities.php
index 6a0ead78..78ef94f4 100644
--- a/src/TouchPoint-WP/Utilities.php
+++ b/src/TouchPoint-WP/Utilities.php
@@ -89,6 +89,19 @@ public static function dateTimeNowPlus1D(): DateTimeImmutable
return self::$_dateTimeNowPlus1D;
}
+
+ /**
+ * @return DateTimeImmutable
+ */
+ public static function dateTimeNowMinus1D(): DateTimeImmutable
+ {
+ if (self::$_dateTimeNowMinus1D === null) {
+ $aDay = new DateInterval('P-1D');
+ self::$_dateTimeNowMinus1D = self::dateTimeNow()->add($aDay);
+ }
+
+ return self::$_dateTimeNowMinus1D;
+ }
/**
* @return DateTimeZone
@@ -106,6 +119,7 @@ public static function utcTimeZone(): DateTimeZone
private static ?DateTimeImmutable $_dateTimeTodayAtMidnight = null;
private static ?DateTimeImmutable $_dateTimeNowPlus1Y = null;
private static ?DateTimeImmutable $_dateTimeNowPlus1D = null;
+ private static ?DateTimeImmutable $_dateTimeNowMinus1D = null;
private static ?DateTimeZone $_utcTimeZone = null;
/**
diff --git a/src/TouchPoint-WP/Utilities/DateFormats.php b/src/TouchPoint-WP/Utilities/DateFormats.php
index e57f51ec..25cf8ea6 100644
--- a/src/TouchPoint-WP/Utilities/DateFormats.php
+++ b/src/TouchPoint-WP/Utilities/DateFormats.php
@@ -121,10 +121,13 @@ public static function DateStringFormatted(DateTimeInterface $dt): string
$r = __("Today", "TouchPoint-WP");
}
} else {
- // Tomorrow
+ // Tomorrow & Yesterday
$tomorrow = Utilities::dateTimeNowPlus1D();
+ $yesterday = Utilities::dateTimeNowMinus1D();
if ($tomorrow->format("Ymd") === $dt->format("Ymd")) {
$r = __("Tomorrow", "TouchPoint-WP");
+ } elseif ($yesterday->format("Ymd") === $dt->format("Ymd")) {
+ $r = __("Yesterday", "TouchPoint-WP");
} else {
$ts = DateFormats::timestampWithoutOffset($dt);
$nowTs = DateFormats::timestampWithoutOffset($now);
@@ -142,16 +145,16 @@ public static function DateStringFormatted(DateTimeInterface $dt): string
if ($ts < $nowTs && $ts - $nowTs > -7 * 86400) {
// translators: %1$s is "Monday". %2$s is "January 1".
$r = sprintf(_x('Last %1$s, %2$s', "Date format string", 'TouchPoint-WP'), $day, $date);
- }
+
// This week
- else if ($ts > $nowTs && $ts - $nowTs < 7 * 86400) {
+ } else if ($ts > $nowTs && $ts - $nowTs < 7 * 86400) {
// translators: %1$s is "Monday". %2$s is "January 1".
$r = sprintf(_x('This %1$s, %2$s', "Date format string", 'TouchPoint-WP'), $day, $date);
- }
+
// Next week
- else if ($ts > $nowTs && $ts - $nowTs < 14 * 86400) {
+ } else if ($ts > $nowTs && $ts - $nowTs < 14 * 86400) {
// translators: %1$s is "Monday". %2$s is "January 1".
$r = sprintf(_x('Next %1$s, %2$s', "Date format string", 'TouchPoint-WP'), $day, $date);
@@ -193,16 +196,18 @@ public static function DateStringFormattedShort(DateTimeInterface $dt): string
$r = __("Today", "TouchPoint-WP");
}
} else {
- // Tomorrow
+ // Tomorrow & Yesterday
$tomorrow = Utilities::dateTimeNowPlus1D();
+ $yesterday = Utilities::dateTimeNowMinus1D();
if ($tomorrow->format("Ymd") === $dt->format("Ymd")) {
$r = __("Tomorrow", "TouchPoint-WP");
+ } elseif ($yesterday->format("Ymd") === $dt->format("Ymd")) {
+ $r = __("Yesterday", "TouchPoint-WP");
} else {
$ts = DateFormats::timestampWithoutOffset($dt);
$nowTs = DateFormats::timestampWithoutOffset($now);
-
- if ($tomorrow->format("Y") === $dt->format("Y")) { // Same Year
+ if ($now->format("Y") === $dt->format("Y")) { // Same Year
$day = wp_date(_x('D', "Short date string for day of the week, when the year is current.", "TouchPoint-WP"), $ts);
$date = wp_date(_x('M j', "Short date string when the year is current.", "TouchPoint-WP"), $ts);
} else {
@@ -214,16 +219,16 @@ public static function DateStringFormattedShort(DateTimeInterface $dt): string
if ($ts < $nowTs && $ts - $nowTs > -7 * 86400) {
// translators: %1$s is "Mon". %2$s is "Jan 1".
$r = sprintf(_x('Last %1$s, %2$s', "Short date format string", 'TouchPoint-WP'), $day, $date);
- }
+
// This week
- else if ($ts > $nowTs && $ts - $nowTs < 7 * 86400) {
+ } else if ($ts > $nowTs && $ts - $nowTs < 7 * 86400) {
// translators: %1$s is "Mon". %2$s is "Jan 1".
$r = sprintf(_x('This %1$s, %2$s', "Short date format string", 'TouchPoint-WP'), $day, $date);
- }
+
// Next week
- else if ($ts > $nowTs && $ts - $nowTs < 14 * 86400) {
+ } else if ($ts > $nowTs && $ts - $nowTs < 14 * 86400) {
// translators: %1$s is "Mon". %2$s is "Jan 1".
$r = sprintf(_x('Next %1$s, %2$s', "Short date format string", 'TouchPoint-WP'), $day, $date);
From b94429bc4363507fbaf0baaba34eef041ad2a551 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Fri, 22 Nov 2024 13:06:01 -0500
Subject: [PATCH 213/431] Adding reports to submitted stats
---
src/TouchPoint-WP/Stats.php | 3 +++
src/TouchPoint-WP/TouchPointWP.php | 1 +
2 files changed, 4 insertions(+)
diff --git a/src/TouchPoint-WP/Stats.php b/src/TouchPoint-WP/Stats.php
index ba857834..ff9f9d1c 100644
--- a/src/TouchPoint-WP/Stats.php
+++ b/src/TouchPoint-WP/Stats.php
@@ -24,6 +24,7 @@
* @property int $involvementJoins
* @property int $involvementContacts
* @property int $involvementPosts
+ * @property int $reportPosts
* @property int $meetings
* @property int $rsvps
* @property int $people
@@ -42,6 +43,7 @@ class Stats implements api, \JsonSerializable, updatesViaCron
protected int $involvementJoins = 0;
protected int $involvementContacts = 0;
protected int $involvementPosts = 0; // updated by query
+ protected int $reportPosts = 0; // updated by query
protected int $meetings = 0; // updated by query
protected int $rsvps = 0;
protected int $people = 0; // updated by query
@@ -327,6 +329,7 @@ protected function updateQueriedStats(): void
global $wpdb;
$this->involvementPosts = $wpdb->get_var("SELECT COUNT(DISTINCT meta_value) as c FROM $wpdb->postmeta WHERE meta_key = 'tp_invId'") ?? -1;
+ $this->reportPosts = $wpdb->get_var("SELECT COUNT(*) as c FROM $wpdb->posts WHERE post_type = 'tp_report'") ?? -1;
$this->meetings = $wpdb->get_var("SELECT COUNT(DISTINCT meta_value) as c FROM $wpdb->postmeta WHERE meta_key = 'tp_mtgId'") ?? -1;
$this->people = $wpdb->get_var("SELECT COUNT(DISTINCT meta_value) as c FROM $wpdb->usermeta WHERE meta_key = 'tp_peopleId';") ?? -1;
$this->partnerPosts = $wpdb->get_var("SELECT COUNT(*) as c FROM $wpdb->posts WHERE post_type = 'tp_partner'") ?? -1;
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index fa914b67..c89c99b7 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -682,6 +682,7 @@ protected function createTables(): void
involvementJoins int(10) DEFAULT 0,
involvementContacts int(10) DEFAULT 0,
involvementPosts int(10) DEFAULT 0,
+ reportPosts int(10) DEFAULT 0,
meetings int(10) DEFAULT 0,
rsvps int(10) DEFAULT 0,
people int(10) DEFAULT 0,
From b78a81e6ebce9e197ce3952d2dc23c4c8b6a65a3 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Fri, 22 Nov 2024 13:08:51 -0500
Subject: [PATCH 214/431] Updating several settings
---
i18n/TouchPoint-WP-es_ES.po | 384 ++++++++++----------
i18n/TouchPoint-WP.pot | 378 +++++++++----------
src/TouchPoint-WP/TouchPointWP_Settings.php | 22 +-
3 files changed, 370 insertions(+), 414 deletions(-)
diff --git a/i18n/TouchPoint-WP-es_ES.po b/i18n/TouchPoint-WP-es_ES.po
index 2e2c014d..abb41fe6 100644
--- a/i18n/TouchPoint-WP-es_ES.po
+++ b/i18n/TouchPoint-WP-es_ES.po
@@ -55,7 +55,7 @@ msgid "Slug"
msgstr "Slug"
#: src/templates/admin/invKoForm.php:48
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:992
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:977
msgid "Divisions to Import"
msgstr "Divisiones a Importar"
@@ -314,497 +314,497 @@ msgstr "Contacta"
msgid "RSVP"
msgstr "RSVP"
-#: src/TouchPoint-WP/TouchPointWP.php:2029
+#: src/TouchPoint-WP/TouchPointWP.php:2030
msgid "Unknown Type"
msgstr "Tipo desconocido"
-#: src/TouchPoint-WP/TouchPointWP.php:2086
+#: src/TouchPoint-WP/TouchPointWP.php:2087
msgid "Your Searches"
msgstr "Tus búsquedas"
-#: src/TouchPoint-WP/TouchPointWP.php:2089
+#: src/TouchPoint-WP/TouchPointWP.php:2090
msgid "Public Searches"
msgstr "Búsquedas públicas"
-#: src/TouchPoint-WP/TouchPointWP.php:2092
+#: src/TouchPoint-WP/TouchPointWP.php:2093
msgid "Status Flags"
msgstr "Indicadores de Estado"
-#: src/TouchPoint-WP/TouchPointWP.php:2097
#: src/TouchPoint-WP/TouchPointWP.php:2098
+#: src/TouchPoint-WP/TouchPointWP.php:2099
msgid "Current Value"
msgstr "Valor actual"
-#: src/TouchPoint-WP/TouchPointWP.php:2215
-#: src/TouchPoint-WP/TouchPointWP.php:2251
+#: src/TouchPoint-WP/TouchPointWP.php:2216
+#: src/TouchPoint-WP/TouchPointWP.php:2252
msgid "Invalid or incomplete API Settings."
msgstr "Configuración de API no válida o incompleta."
-#: src/TouchPoint-WP/TouchPointWP.php:2265
-#: src/TouchPoint-WP/TouchPointWP.php:2309
+#: src/TouchPoint-WP/TouchPointWP.php:2266
+#: src/TouchPoint-WP/TouchPointWP.php:2310
msgid "Host appears to be missing from TouchPoint-WP configuration."
msgstr "Parece que falta el host en la configuración de TouchPoint-WP."
-#: src/TouchPoint-WP/TouchPointWP.php:2441
+#: src/TouchPoint-WP/TouchPointWP.php:2442
msgid "People Query Failed"
msgstr "Consulta de registros de personas fallida"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:258
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:257
msgid "Basic Settings"
msgstr "Ajustes básicos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:259
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:258
msgid "Connect to TouchPoint and choose which features you wish to use."
msgstr "Conéctese a TouchPoint y elija qué funciones desea usar."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:263
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:262
msgid "Enable Authentication"
msgstr "Habilitar autenticación"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:264
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:263
msgid "Allow TouchPoint users to sign into this website with TouchPoint."
msgstr "Permita que los usuarios de TouchPoint inicien sesión en este sitio web con TouchPoint."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:275
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:274
msgid "Enable RSVP Tool"
msgstr "Habilitar la herramienta RSVP"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:276
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:275
msgid "Add a crazy-simple RSVP button to WordPress event pages."
msgstr "Agregue un botón RSVP muy simple a las páginas de eventos de WordPress."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:283
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:282
msgid "Enable Involvements"
msgstr "Habilitar Participaciones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:284
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:283
msgid "Load Involvements from TouchPoint for involvement listings and entries native in your website."
msgstr "Cargue participaciones desde TouchPoint para obtener listas de participación y entradas nativas en su sitio web."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:305
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:304
msgid "Enable Public People Lists"
msgstr "Habilitar listas de personas públicas"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:306
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:305
msgid "Import public people listings from TouchPoint (e.g. staff or elders)"
msgstr "Importe listados públicos de personas desde TouchPoint (por ejemplo, personal o ancianos)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:316
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:315
msgid "Enable Global Partner Listings"
msgstr "Habilitar listados de Socios Globales"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:317
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:316
msgid "Import ministry partners from TouchPoint to list publicly."
msgstr "Importe socios ministeriales de TouchPoint para incluirlos en una lista pública."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:338
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:337
msgid "Display Name"
msgstr "Nombre para mostrar"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:339
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:338
msgid "What your church calls your TouchPoint database."
msgstr "Lo que su iglesia llama su base de datos TouchPoint."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:349
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:348
msgid "TouchPoint Host Name"
msgstr "Nombre de host del TouchPoint"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:350
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:349
msgid "The domain for your TouchPoint database, without the https or any slashes."
msgstr "El dominio de su base de datos TouchPoint, sin https ni barras."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:362
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:361
msgid "Custom Mobile App Deeplink Host Name"
msgstr "Nombre de host de enlace profundo de aplicación móvil personalizada"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:374
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:373
msgid "TouchPoint API Username"
msgstr "Nombre de usuario de la API de TouchPoint"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:386
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:385
msgid "TouchPoint API User Password"
msgstr "Contraseña de usuario de la API de TouchPoint"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:387
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:386
msgid "The password of a user account in TouchPoint with API permissions."
msgstr "La contraseña de una cuenta de usuario en TouchPoint con permisos de API."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:399
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:398
msgid "TouchPoint API Script Name"
msgstr "Nombre de la secuencia de comandos de la API de TouchPoint"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:400
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:399
msgid "The name of the Python script loaded into TouchPoint. Don't change this unless you know what you're doing."
msgstr "El nombre de la secuencia de comandos de Python cargada en TouchPoint. No cambies esto a menos que sepas lo que estás haciendo."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:411
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:410
msgid "Google Maps Javascript API Key"
msgstr "Clave de la API de Javascript de Google Maps"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:412
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:411
msgid "Required for embedding maps."
msgstr "Necesario para incrustar mapas."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:423
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:422
msgid "Google Maps Geocoding API Key"
msgstr "Clave API de codificación geográfica de Google Maps"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:424
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:423
msgid "Optional. Allows for reverse geocoding of user locations."
msgstr "Opcional. Permite la geocodificación inversa de las ubicaciones de los usuarios."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:464
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:469
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:463
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:468
msgid "Generate Scripts"
msgstr "Generar secuencias de comandos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:468
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:467
msgid "Upload the package to {tpName} here"
msgstr "Sube el paquete a {tpName} aquÃ"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:485
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:484
msgid "People"
msgstr "Gente"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:486
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:485
msgid "Manage how people are synchronized between TouchPoint and WordPress."
msgstr "Administre cómo se sincronizan las personas entre TouchPoint y WordPress."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:490
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:489
msgid "Contact Keywords"
msgstr "Palabras clave de contacto"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:491
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:490
msgid "These keywords will be used when someone clicks the \"Contact\" button on a Person's listing or profile."
msgstr "Estas palabras clave se utilizarán cuando alguien haga clic en el botón \"Contactar\" en la lista o el perfil de una Persona."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:502
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:501
msgid "Extra Value for WordPress User ID"
msgstr "Valor Adicional para la ID de usuario de WordPress"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:503
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:502
msgid "The name of the extra value to use for the WordPress User ID. If you are using multiple WordPress instances with one TouchPoint database, you will need these values to be unique between WordPress instances. In most cases, the default is fine."
msgstr "El nombre del valor adicional que se usará para el ID de usuario de WordPress. Si está utilizando varias instancias de WordPress con una base de datos de TouchPoint, necesitará que estos valores sean únicos entre las instancias de WordPress. En la mayorÃa de los casos, el valor predeterminado está bien."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:513
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:512
msgid "Extra Value: Biography"
msgstr "Valor Adicional: BiografÃa"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:514
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:513
msgid "Import a Bio from a Person Extra Value field. Can be an HTML or Text Extra Value. This will overwrite any values set by WordPress. Leave blank to not import."
msgstr "Importe una biografÃa desde un campo de Valor Adicional de Persona. Puede ser un Valor Adicional HTML o de texto. Esto sobrescribirá cualquier valor establecido por WordPress. Dejar en blanco para no importar."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:524
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:762
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:523
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:761
msgid "Extra Values to Import"
msgstr "Valor Adicional para importar"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:525
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:524
msgid "Import People Extra Value fields as User Meta data."
msgstr "Importe campos de valor extra de personas como metadatos de usuario."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:541
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:540
msgid "Authentication"
msgstr "Autenticación"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:542
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:541
msgid "Allow users to log into WordPress using TouchPoint."
msgstr "Permita que los usuarios inicien sesión en WordPress usando TouchPoint."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:546
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:545
msgid "Make TouchPoint the default authentication method."
msgstr "Haga que TouchPoint sea el método de autenticación predeterminado."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:556
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:555
msgid "Enable Auto-Provisioning"
msgstr "Habilitar el aprovisionamiento automático"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:557
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:556
msgid "Automatically create WordPress users, if needed, to match authenticated TouchPoint users."
msgstr "Cree automáticamente usuarios de WordPress, si es necesario, para que coincidan con los usuarios autenticados de TouchPoint."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:566
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:565
msgid "Change 'Edit Profile' links"
msgstr "Cambiar los enlaces 'Editar perfil'"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:567
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:566
msgid "\"Edit Profile\" links will take the user to their TouchPoint profile, instead of their WordPress profile."
msgstr "Los enlaces \"Editar perfil\" llevarán al usuario a su perfil de TouchPoint, en lugar de a su perfil de WordPress."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:576
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:575
msgid "Enable full logout"
msgstr "Habilitar cierre de sesión completo"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:577
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:576
msgid "Logout of TouchPoint when logging out of WordPress."
msgstr "Cierre sesión en TouchPoint al cerrar sesión en WordPress."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:583
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:582
msgid "Prevent Subscriber Admin Bar"
msgstr "Prevenir la barra de administración de suscriptores"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:584
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:583
msgid "By enabling this option, users who can't edit anything won't see the Admin bar."
msgstr "Al habilitar esta opción, los usuarios que no pueden editar nada no verán la barra de administración."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:598
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:597
msgid "Involvements"
msgstr "Involucramientos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:599
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:598
msgid "Import Involvements from TouchPoint to list them on your website, for Small Groups, Classes, and more. Select the division(s) that immediately correspond to the type of Involvement you want to list. For example, if you want a Small Group list and have a Small Group Division, only select the Small Group Division. If you want Involvements to be filterable by additional Divisions, select those Divisions on the Divisions tab, not here."
msgstr "Importe participaciones desde TouchPoint para enumerarlas en su sitio web, para grupos pequeños, clases y más. Seleccione la(s) división(es) que corresponda(n) inmediatamente al tipo de participación que desea enumerar. Por ejemplo, si desea una lista de grupos pequeños y tiene una división de grupos pequeños, solo seleccione la división de grupos pequeños. Si desea que las participaciones se puedan filtrar por divisiones adicionales, seleccione esas divisiones en la pestaña Divisiones, no aquÃ."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:604
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:603
msgid "Involvement Post Types"
msgstr "Tipos de publicaciones de Involucramientos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:634
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:633
msgid "Global Partners"
msgstr "Misioneros"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:635
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:634
msgid "Manage how global partners are imported from TouchPoint for listing on WordPress. Partners are grouped by family, and content is provided through Family Extra Values. This works for both People and Business records."
msgstr "Administre cómo se importan los socios globales desde TouchPoint para incluirlos en WordPress. Los socios se agrupan por familia y el contenido se proporciona a través de Valor Extra Familiar. Esto funciona tanto para registros de personas como de empresas."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:639
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:638
msgid "Global Partner Name (Plural)"
msgstr "Nombre de los misioneros (plural)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:640
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:639
msgid "What you call Global Partners at your church"
msgstr "Lo que llamas los Misioneros en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:650
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:649
msgid "Global Partner Name (Singular)"
msgstr "Nombre de un misionero (singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:651
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:650
msgid "What you call a Global Partner at your church"
msgstr "Lo que llamas un Misionero en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:661
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:660
msgid "Global Partner Name for Secure Places (Plural)"
msgstr "Nombre de los misioneros para lugares seguros (plural)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:662
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:661
msgid "What you call Secure Global Partners at your church"
msgstr "Lo que llamas un Misionero seguro en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:672
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:671
msgid "Global Partner Name for Secure Places (Singular)"
msgstr "Nombre de un misionero para lugares seguros (singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:673
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:672
msgid "What you call a Secure Global Partner at your church"
msgstr "Lo que llamas los Misioneros seguros en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:683
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:682
msgid "Global Partner Slug"
msgstr "Slug de Socio Global"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:684
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:683
msgid "The root path for Global Partner posts"
msgstr "La ruta raÃz para las publicaciones de Socios Globales"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:696
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:695
msgid "Saved Search"
msgstr "Búsqueda Guardada"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:697
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:696
msgid "Anyone who is included in this saved search will be included in the listing."
msgstr "Cualquiera que esté incluido en esta búsqueda guardada se incluirá en la lista."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:707
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:706
msgid "Extra Value: Description"
msgstr "Valor Adicional: Descripción"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:708
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:707
msgid "Import a description from a Family Extra Value field. Can be an HTML or Text Extra Value. This becomes the body of the Global Partner post."
msgstr "Importe una descripción de un campo de Valor Extra Familiar. Puede ser un valor adicional HTML o de texto. Esto se convierte en el cuerpo de la publicación del socio global."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:718
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:717
msgid "Extra Value: Summary"
msgstr "Valor Adicional: Resumen"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:719
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:718
msgid "Optional. Import a short description from a Family Extra Value field. Can be an HTML or Text Extra Value. If not provided, the full bio will be truncated."
msgstr "Opcional. Importe una breve descripción de un campo de Valor Extra Familiar. Puede ser un Valor Adicional HTML o de texto. Si no se proporciona, la biografÃa completa se truncará."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:729
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:728
msgid "Latitude Override"
msgstr "Anulación de latitud"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:730
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:729
msgid "Designate a text Family Extra Value that will contain a latitude that overrides any locations on the partner's profile for the partner map. Both latitude and longitude must be provided for an override to take place."
msgstr "Designe un Valor Familiar Adicional de texto que contenga una latitud que anule cualquier ubicación en el perfil del socio para el mapa de socios. Tanto la latitud como la longitud deben proporcionarse para que se produzca una anulación."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:740
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:739
msgid "Longitude Override"
msgstr "Anulación de longitud"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:741
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:740
msgid "Designate a text Family Extra Value that will contain a longitude that overrides any locations on the partner's profile for the partner map. Both latitude and longitude must be provided for an override to take place."
msgstr "Designe un Valor Familiar Adicional de texto que contenga una longitud que anule cualquier ubicación en el perfil del socio para el mapa de socios. Tanto la latitud como la longitud deben proporcionarse para que se produzca una anulación."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:751
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:750
msgid "Public Location"
msgstr "Ubicación Pública"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:752
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:751
msgid "Designate a text Family Extra Value that will contain the partner's location, as you want listed publicly. For partners who have DecoupleLocation enabled, this field will be associated with the map point, not the list entry."
msgstr "Designe un Valor Adicional Familiar de texto que contendrá la ubicación del socio, como desea que se enumere públicamente. Para los socios que tienen DecoupleLocation habilitado, este campo se asociará con el punto del mapa, no con la entrada de la lista."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:763
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:762
msgid "Import Family Extra Value fields as Meta data on the partner's post"
msgstr "Importe campos de Valor Adicional Familiar como Metadatos en la publicación del socio"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:774
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:773
msgid "Primary Taxonomy"
msgstr "TaxonomÃa Primaria"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:775
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:774
msgid "Import a Family Extra Value as the primary means by which partners are organized."
msgstr "Importe un Valor Adicional Familiar como el medio principal por el cual se organizan los socios."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:818
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:817
msgid "Events for Custom Mobile App"
msgstr "Eventos para la aplicación móvil personalizada"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:823
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:822
msgid "Preview"
msgstr "Preestrena"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:838
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:837
msgid "Use Standardizing Stylesheet"
msgstr "Usar hoja de estilo de estandarización"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:839
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:838
msgid "Inserts some basic CSS into the events feed to clean up display"
msgstr "Inserta algo de CSS básico en el feed de eventos para limpiar la pantalla"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:950
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:935
msgid "Divisions"
msgstr "Divisiones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:951
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:936
msgid "Import Divisions from TouchPoint to your website as a taxonomy. These are used to classify users and involvements."
msgstr "Importe Divisiones desde TouchPoint a su sitio web como una taxonomÃa. Estos se utilizan para clasificar a los usuarios y las participaciones."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:955
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:940
msgid "Division Name (Plural)"
msgstr "Nombre de la División (plural)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:956
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:941
msgid "What you call Divisions at your church"
msgstr "Lo que llamas Divisiones en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:967
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:952
msgid "Division Name (Singular)"
msgstr "Nombre de la División (Singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:968
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:953
msgid "What you call a Division at your church"
msgstr "Lo que llamas una división en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:979
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:964
msgid "Division Slug"
msgstr "Slug de División"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:980
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:965
msgid "The root path for the Division Taxonomy"
msgstr "La ruta raÃz para la TaxonomÃa de División"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:993
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:978
msgid "These Divisions will be imported for the taxonomy"
msgstr "Estas Divisiones se importarán para la taxonomÃa"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1044
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1029
msgid "Campuses"
msgstr "Campus"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1045
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1030
msgid "Import Campuses from TouchPoint to your website as a taxonomy. These are used to classify users and involvements."
msgstr "Importe Campus desde TouchPoint a su sitio web como una taxonomÃa. Estos se utilizan para clasificar a los usuarios y las participaciones."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1052
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1037
msgid "Campus Name (Plural)"
msgstr "Nombre del Campus (Plural)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1053
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1038
msgid "What you call Campuses at your church"
msgstr "Lo que llamas Campus en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1064
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1049
msgid "Campus Name (Singular)"
msgstr "Nombre del Campus (Singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1065
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1050
msgid "What you call a Campus at your church"
msgstr "Lo que llamas un Campus en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1076
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1061
msgid "Campus Slug"
msgstr "Slug de Campus"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1077
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1062
msgid "The root path for the Campus Taxonomy"
msgstr "La ruta raÃz para la TaxonomÃa del Campus"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1093
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1078
msgid "Resident Codes"
msgstr "Códigos de Residentes"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1094
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1079
msgid "Import Resident Codes from TouchPoint to your website as a taxonomy. These are used to classify users and involvements that have locations."
msgstr "Importe Códigos de Residentes desde TouchPoint a su sitio web como una taxonomÃa. Estos se utilizan para clasificar los usuarios y las participaciones que tienen ubicaciones."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1098
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1083
msgid "Resident Code Name (Plural)"
msgstr "Nombre de Código de Tesidente (Plural)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1099
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1084
msgid "What you call Resident Codes at your church"
msgstr "Lo que llamas Códigos de Residente en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1110
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1095
msgid "Resident Code Name (Singular)"
msgstr "Nombre de Código de Residente (singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1111
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1096
msgid "What you call a Resident Code at your church"
msgstr "Lo que llamas un Código de Residencia en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1122
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1107
msgid "Resident Code Slug"
msgstr "Slug de Código Residente"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1123
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1108
msgid "The root path for the Resident Code Taxonomy"
msgstr "La ruta raÃz para la TaxonomÃa del Código de Residente"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1299
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1284
msgid "password saved"
msgstr "contraseña guardada"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1353
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1354
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1338
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1339
msgid "TouchPoint-WP"
msgstr "TouchPoint-WP"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1402
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1387
msgid "Settings"
msgstr "Ajustes"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1639
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1627
msgid "Script Update Failed"
msgstr "Actualización de secuencia de comandos fallida"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1761
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1749
msgid "TouchPoint-WP Settings"
msgstr "Configuración de TouchPoint-WP"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1812
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1800
msgid "Save Settings"
msgstr "Guardar ajustes"
@@ -972,7 +972,7 @@ msgstr "Enviar"
msgid "Nothing to submit."
msgstr "Nada que enviar."
-#: src/TouchPoint-WP/TouchPointWP.php:2382
+#: src/TouchPoint-WP/TouchPointWP.php:2383
msgid "The scripts on TouchPoint that interact with this plugin are out-of-date, and an automatic update failed."
msgstr "Los scripts en TouchPoint que interactúan con este complemento están desactualizados y falló una actualización automática."
@@ -1154,12 +1154,12 @@ msgstr "Añade una ubicación"
msgid "The Campus"
msgstr "El campus"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1019
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1025
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1004
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1010
msgid "Locations"
msgstr "Ubicaciones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1020
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1005
msgid "Locations are physical places, probably campuses. None are required, but they can help present geographic information clearly."
msgstr "Las ubicaciones son lugares fÃsicos, probablemente campus. No se requiere ninguno, pero pueden ayudar a presentar la información geográfica con claridad."
@@ -1268,7 +1268,7 @@ msgctxt "miles. Unit is appended to a number. %2.1f is the number, so %2.1fmi l
msgid "%2.1fmi"
msgstr "%2.1fmi"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:375
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:374
msgid "The username of a user account in TouchPoint with API permissions. It is strongly recommended that you create a separate person/user for this purpose, rather than using a staff member's account."
msgstr "El nombre de usuario de una cuenta de usuario en TouchPoint con permisos API. Se recomienda encarecidamente que cree una persona/usuario independiente para este fin, en lugar de utilizar la cuenta de un miembro del personal."
@@ -1293,7 +1293,7 @@ msgid "Could not locate."
msgstr "No se pudo localizar."
#: src/TouchPoint-WP/Meeting.php:672
-#: src/TouchPoint-WP/TouchPointWP.php:1031
+#: src/TouchPoint-WP/TouchPointWP.php:1032
msgid "Only GET requests are allowed."
msgstr "Solo se permiten solicitudes GET."
@@ -1312,7 +1312,7 @@ msgstr "Datos proporcionados no válidos."
msgid "Invalid Post Type."
msgstr "Tipo de publicación no válida."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:327
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:326
msgid "Enable Campuses"
msgstr "Habilitar Campus"
@@ -1377,7 +1377,7 @@ msgstr "Estados Civiles"
msgid "Classify Partners by category chosen in settings."
msgstr "Clasifique a los ministeriales por categorÃa elegida en la configuración."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:328
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:327
msgid "Import campuses as a taxonomy. (You probably want to do this if you're multi-campus.)"
msgstr "Importar campus como taxonomÃa. (Probablemente quieras hacer esto si tienes varios campus)."
@@ -1445,11 +1445,11 @@ msgctxt "list of people, and *others*"
msgid "others"
msgstr "otros"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:851
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:850
msgid "Meeting Calendars"
msgstr "Calendarios de Reuniones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:852
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:851
msgid "Import Meetings from TouchPoint to a calendar on your website."
msgstr "Importe reuniones desde TouchPoint a un calendario en su sitio web."
@@ -1457,44 +1457,28 @@ msgstr "Importe reuniones desde TouchPoint a un calendario en su sitio web."
msgid "Import All Meetings to Calendar"
msgstr "Importe reuniones a los calendarios"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:880
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:879
msgid "Meetings Slug"
msgstr "Slug de reuniones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:881
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:880
msgid "The root path for Meetings"
msgstr "La ruta raÃz para las reuniones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:932
-msgid "Meeting Deletion Handling"
-msgstr "Manejo de eliminación de reuniones"
-
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:933
-msgid "When a Meeting is deleted in TouchPoint that has already been imported to WordPress, how should that be handled?"
-msgstr "Cuando se elimina una reunión en TouchPoint que ya se ha importado a WordPress, ¿cómo se debe manejar?"
-
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:939
-msgid "Always delete from WordPress"
-msgstr "Eliminar siempre de WordPress"
-
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:940
-msgid "Mark the occurrence as cancelled"
-msgstr "Marcar la ocurrencia como cancelada"
-
#: src/TouchPoint-WP/Involvement.php:3951
#: src/TouchPoint-WP/Person.php:1833
msgid "Contact Prohibited."
msgstr "Contacto prohibido."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:547
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:546
msgid "By checking this box, the TouchPoint login page will become the default. To prevent the redirect and reach the standard WordPress login page, add 'tp_no_redirect' as a URL parameter."
msgstr "Al marcar esta casilla, la página de inicio de sesión de TouchPoint se convertirá en la predeterminada. Para evitar la redirección y llegar a la página de inicio de sesión estándar de WordPress, agregue 'tp_no_redirect' como parámetro de URL."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:363
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:362
msgid "The domain for your mobile app deeplinks, without the https or any slashes. If you aren't using the custom mobile app, leave this blank."
msgstr "El dominio de los enlaces profundos de su aplicación móvil, sin https ni barras diagonales. Si no está utilizando la aplicación móvil personalizada, déjelo en blanco."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:467
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:466
msgid "Once your settings on this page are set and saved, use this tool to generate the scripts needed for TouchPoint in a convenient installation package."
msgstr "Una vez que haya configurado y guardado la configuración en esta página, utilice esta herramienta para generar los scripts necesarios para TouchPoint en un paquete de instalación conveniente."
@@ -1526,48 +1510,40 @@ msgctxt "What Meetings should be called, singular."
msgid "Event"
msgstr "Evento"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:294
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:293
msgid "Enable Meeting Calendar"
msgstr "Habilitar calendario de reuniones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:295
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:294
msgid "Load Meetings from TouchPoint for a calendar, native in your website."
msgstr "Cargue reuniones desde TouchPoint para un calendario nativo en su sitio web."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:893
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:892
msgid "Days of Future"
msgstr "DÃas del futuro"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:894
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:893
msgid "Meetings more than this many days in the future will not be imported."
msgstr "No se importarán reuniones que superen estos dÃas en el futuro."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:906
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:905
msgid "Archive After Days"
msgstr "Archivo después de dÃas"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:907
-msgid "Meetings more than this many days in the past will be moved to the Events Archive. Once this date passes, meeting information will no longer update."
-msgstr "Las reuniones que hayan transcurrido más de esta cantidad de dÃas pasados se trasladarán al Archivo de eventos. Una vez que pase esta fecha, la información de la reunión ya no se actualizará."
-
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:919
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:918
msgid "Days of History"
msgstr "DÃas de la Historia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:920
-msgid "Meetings will be kept for the public calendar until the event is this many days in the past."
-msgstr "Las reuniones se mantendrán para el calendario público hasta que hayan transcurrido tantos dÃas desde el evento."
-
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1004
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1135
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:989
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1120
msgid "Post Types"
msgstr "Tipos de publicaciones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1005
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:990
msgid "Select post types which should have Divisions available as a native taxonomy."
msgstr "Seleccione los tipos de publicaciones que deberÃan tener Divisiones disponibles como taxonomÃa nativa."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1136
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1121
msgid "Select post types which should have Resident Codes available as a native taxonomy."
msgstr "Seleccione los tipos de publicaciones que deberÃan tener códigos de residente disponibles como taxonomÃa nativa."
@@ -1650,39 +1626,39 @@ msgstr "Reunión en %s"
msgid "Person in %s"
msgstr "Persona en %s"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:856
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:855
msgid "Meeting Name (Plural)"
msgstr "Nombre de las reuniones (singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:857
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:856
msgid "What you call Meetings at your church"
msgstr "Lo que llamas Reuniones en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:862
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:864
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:861
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:863
msgid "Meetings"
msgstr "Reuniones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:862
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:864
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:861
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:863
msgid "Events"
msgstr "Eventos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:868
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:867
msgid "Meeting Name (Singular)"
msgstr "Nombre de la reunión (singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:869
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:868
msgid "What you call a Meeting at your church"
msgstr "Cómo se llama una Reunión en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:874
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:876
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:873
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:875
msgid "Meeting"
msgstr "Reunión"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:874
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:876
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:873
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:875
msgid "Event"
msgstr "Evento"
@@ -1789,31 +1765,31 @@ msgstr "No hay %s publicados para este mes."
msgid "Radius (miles)"
msgstr "Radio (millas)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:792
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:791
msgid "Events Calendar plugin by Modern Tribe"
msgstr "Complemento de calendario de eventos de Modern Tribe"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:796
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:795
msgid "TouchPoint Meetings"
msgstr "reuniones de TouchPoint"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:802
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:801
msgid "App 2.0 Calendar"
msgstr "Calendario de la app 2.0"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:807
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:806
msgid "Events Provider"
msgstr "Proveedor de eventos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:808
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:807
msgid "The source of events for version 2.0 of the Custom Mobile App."
msgstr "El origen de los eventos para la versión 2.0 de la aplicación móvil personalizada."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:821
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:820
msgid "To use your Events Calendar events in the Custom mobile app, set the Provider to Wordpress Plugin - Modern Tribe (regardless of which provider you're using above) and use this url:"
msgstr "Para usar sus eventos del Calendario de eventos en la aplicación móvil personalizada, configure el Proveedor en Wordpress Plugin - Modern Tribe (independientemente del proveedor que esté utilizando anteriormente) y use esta URL:"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:803
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:802
msgid "Integrate Custom Mobile app version 2.0 with The Events Calendar from Modern Tribe."
msgstr "Integre la versión 2.0 de la aplicación móvil personalizada con el calendario de eventos de Modern Tribe."
@@ -1843,19 +1819,19 @@ msgctxt "list of items, and *others*"
msgid "others"
msgstr "otros"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:434
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:433
msgid "ipapi.co API Key"
msgstr "Clave API de ipapi.co"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:435
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:434
msgid "Optional. Allows for geolocation of user IP addresses. This generally will work without a key, but may be rate limited."
msgstr "Opcional. Permite la geolocalización de las direcciones IP de los usuarios. Por lo general, esto funcionará sin una clave, pero puede tener una frecuencia limitada."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:445
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:444
msgid "Allow the TouchPoint-WP developers to publicly list your site/church as using TouchPoint-WP"
msgstr "Permitir que los desarrolladores de TouchPoint-WP incluyan públicamente su sitio/iglesia como usuarios de TouchPoint-WP"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:446
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:445
msgid "Helps other prospective churches see what can be done by combining WordPress with the best ChMS on the planet. Only applies if this site is accessible on the public internet."
msgstr "Ayuda a otras iglesias potenciales a ver lo que se puede hacer combinando WordPress con el mejor ChMS del planeta. Solo se aplica si este sitio es accesible en Internet público."
@@ -1887,3 +1863,11 @@ msgstr "Actualizada"
#: src/TouchPoint-WP/Utilities/DateFormats.php:205
msgid "Yesterday"
msgstr "Ayer"
+
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:906
+msgid "Meetings more than this many days in the past will no longer update from TouchPoint, allowing you to keep some historical event information on the calendar for reference, even if you reuse and update the information in the Involvement."
+msgstr "Las reuniones con más de esta cantidad de dÃas en el pasado ya no se actualizarán desde TouchPoint, lo que le permitirá conservar información histórica de eventos en el calendario para referencia, incluso si reutiliza y actualiza la información en Participación."
+
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:919
+msgid "Meetings will be kept on the calendar until the event is this many days in the past. Once an event is older than this, it'll be deleted."
+msgstr "Las reuniones se mantendrán en el calendario hasta que el evento tenga esta cantidad de dÃas en el pasado. Una vez que un evento tenga más de esta cantidad de dÃas, se eliminará."
diff --git a/i18n/TouchPoint-WP.pot b/i18n/TouchPoint-WP.pot
index 71300fa4..977622c1 100644
--- a/i18n/TouchPoint-WP.pot
+++ b/i18n/TouchPoint-WP.pot
@@ -9,7 +9,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"POT-Creation-Date: 2024-11-22T17:39:16+00:00\n"
+"POT-Creation-Date: 2024-11-22T18:07:49+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.11.0\n"
"X-Domain: TouchPoint-WP\n"
@@ -58,7 +58,7 @@ msgid "Slug"
msgstr ""
#: src/templates/admin/invKoForm.php:48
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:992
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:977
msgid "Divisions to Import"
msgstr ""
@@ -572,7 +572,7 @@ msgid "Unknown"
msgstr ""
#: src/TouchPoint-WP/Meeting.php:672
-#: src/TouchPoint-WP/TouchPointWP.php:1031
+#: src/TouchPoint-WP/TouchPointWP.php:1032
msgid "Only GET requests are allowed."
msgstr ""
@@ -745,691 +745,675 @@ msgstr ""
msgid "Every 15 minutes"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2029
+#: src/TouchPoint-WP/TouchPointWP.php:2030
msgid "Unknown Type"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2086
+#: src/TouchPoint-WP/TouchPointWP.php:2087
msgid "Your Searches"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2089
+#: src/TouchPoint-WP/TouchPointWP.php:2090
msgid "Public Searches"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2092
+#: src/TouchPoint-WP/TouchPointWP.php:2093
msgid "Status Flags"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2097
#: src/TouchPoint-WP/TouchPointWP.php:2098
+#: src/TouchPoint-WP/TouchPointWP.php:2099
msgid "Current Value"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2215
-#: src/TouchPoint-WP/TouchPointWP.php:2251
+#: src/TouchPoint-WP/TouchPointWP.php:2216
+#: src/TouchPoint-WP/TouchPointWP.php:2252
msgid "Invalid or incomplete API Settings."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2265
-#: src/TouchPoint-WP/TouchPointWP.php:2309
+#: src/TouchPoint-WP/TouchPointWP.php:2266
+#: src/TouchPoint-WP/TouchPointWP.php:2310
msgid "Host appears to be missing from TouchPoint-WP configuration."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2382
+#: src/TouchPoint-WP/TouchPointWP.php:2383
msgid "The scripts on TouchPoint that interact with this plugin are out-of-date, and an automatic update failed."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2441
+#: src/TouchPoint-WP/TouchPointWP.php:2442
msgid "People Query Failed"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:258
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:257
msgid "Basic Settings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:259
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:258
msgid "Connect to TouchPoint and choose which features you wish to use."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:263
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:262
msgid "Enable Authentication"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:264
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:263
msgid "Allow TouchPoint users to sign into this website with TouchPoint."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:275
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:274
msgid "Enable RSVP Tool"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:276
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:275
msgid "Add a crazy-simple RSVP button to WordPress event pages."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:283
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:282
msgid "Enable Involvements"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:284
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:283
msgid "Load Involvements from TouchPoint for involvement listings and entries native in your website."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:294
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:293
msgid "Enable Meeting Calendar"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:295
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:294
msgid "Load Meetings from TouchPoint for a calendar, native in your website."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:305
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:304
msgid "Enable Public People Lists"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:306
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:305
msgid "Import public people listings from TouchPoint (e.g. staff or elders)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:316
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:315
msgid "Enable Global Partner Listings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:317
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:316
msgid "Import ministry partners from TouchPoint to list publicly."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:327
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:326
msgid "Enable Campuses"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:328
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:327
msgid "Import campuses as a taxonomy. (You probably want to do this if you're multi-campus.)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:338
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:337
msgid "Display Name"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:339
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:338
msgid "What your church calls your TouchPoint database."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:349
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:348
msgid "TouchPoint Host Name"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:350
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:349
msgid "The domain for your TouchPoint database, without the https or any slashes."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:362
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:361
msgid "Custom Mobile App Deeplink Host Name"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:363
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:362
msgid "The domain for your mobile app deeplinks, without the https or any slashes. If you aren't using the custom mobile app, leave this blank."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:374
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:373
msgid "TouchPoint API Username"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:375
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:374
msgid "The username of a user account in TouchPoint with API permissions. It is strongly recommended that you create a separate person/user for this purpose, rather than using a staff member's account."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:386
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:385
msgid "TouchPoint API User Password"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:387
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:386
msgid "The password of a user account in TouchPoint with API permissions."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:399
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:398
msgid "TouchPoint API Script Name"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:400
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:399
msgid "The name of the Python script loaded into TouchPoint. Don't change this unless you know what you're doing."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:411
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:410
msgid "Google Maps Javascript API Key"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:412
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:411
msgid "Required for embedding maps."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:423
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:422
msgid "Google Maps Geocoding API Key"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:424
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:423
msgid "Optional. Allows for reverse geocoding of user locations."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:434
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:433
msgid "ipapi.co API Key"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:435
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:434
msgid "Optional. Allows for geolocation of user IP addresses. This generally will work without a key, but may be rate limited."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:445
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:444
msgid "Allow the TouchPoint-WP developers to publicly list your site/church as using TouchPoint-WP"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:446
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:445
msgid "Helps other prospective churches see what can be done by combining WordPress with the best ChMS on the planet. Only applies if this site is accessible on the public internet."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:464
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:469
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:463
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:468
msgid "Generate Scripts"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:467
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:466
msgid "Once your settings on this page are set and saved, use this tool to generate the scripts needed for TouchPoint in a convenient installation package."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:468
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:467
msgid "Upload the package to {tpName} here"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:485
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:484
msgid "People"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:486
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:485
msgid "Manage how people are synchronized between TouchPoint and WordPress."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:490
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:489
msgid "Contact Keywords"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:491
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:490
msgid "These keywords will be used when someone clicks the \"Contact\" button on a Person's listing or profile."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:502
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:501
msgid "Extra Value for WordPress User ID"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:503
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:502
msgid "The name of the extra value to use for the WordPress User ID. If you are using multiple WordPress instances with one TouchPoint database, you will need these values to be unique between WordPress instances. In most cases, the default is fine."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:513
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:512
msgid "Extra Value: Biography"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:514
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:513
msgid "Import a Bio from a Person Extra Value field. Can be an HTML or Text Extra Value. This will overwrite any values set by WordPress. Leave blank to not import."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:524
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:762
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:523
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:761
msgid "Extra Values to Import"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:525
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:524
msgid "Import People Extra Value fields as User Meta data."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:541
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:540
msgid "Authentication"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:542
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:541
msgid "Allow users to log into WordPress using TouchPoint."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:546
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:545
msgid "Make TouchPoint the default authentication method."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:547
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:546
msgid "By checking this box, the TouchPoint login page will become the default. To prevent the redirect and reach the standard WordPress login page, add 'tp_no_redirect' as a URL parameter."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:556
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:555
msgid "Enable Auto-Provisioning"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:557
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:556
msgid "Automatically create WordPress users, if needed, to match authenticated TouchPoint users."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:566
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:565
msgid "Change 'Edit Profile' links"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:567
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:566
msgid "\"Edit Profile\" links will take the user to their TouchPoint profile, instead of their WordPress profile."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:576
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:575
msgid "Enable full logout"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:577
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:576
msgid "Logout of TouchPoint when logging out of WordPress."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:583
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:582
msgid "Prevent Subscriber Admin Bar"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:584
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:583
msgid "By enabling this option, users who can't edit anything won't see the Admin bar."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:598
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:597
msgid "Involvements"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:599
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:598
msgid "Import Involvements from TouchPoint to list them on your website, for Small Groups, Classes, and more. Select the division(s) that immediately correspond to the type of Involvement you want to list. For example, if you want a Small Group list and have a Small Group Division, only select the Small Group Division. If you want Involvements to be filterable by additional Divisions, select those Divisions on the Divisions tab, not here."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:604
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:603
msgid "Involvement Post Types"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:634
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:633
msgid "Global Partners"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:635
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:634
msgid "Manage how global partners are imported from TouchPoint for listing on WordPress. Partners are grouped by family, and content is provided through Family Extra Values. This works for both People and Business records."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:639
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:638
msgid "Global Partner Name (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:640
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:639
msgid "What you call Global Partners at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:650
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:649
msgid "Global Partner Name (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:651
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:650
msgid "What you call a Global Partner at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:661
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:660
msgid "Global Partner Name for Secure Places (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:662
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:661
msgid "What you call Secure Global Partners at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:672
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:671
msgid "Global Partner Name for Secure Places (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:673
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:672
msgid "What you call a Secure Global Partner at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:683
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:682
msgid "Global Partner Slug"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:684
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:683
msgid "The root path for Global Partner posts"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:696
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:695
msgid "Saved Search"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:697
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:696
msgid "Anyone who is included in this saved search will be included in the listing."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:707
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:706
msgid "Extra Value: Description"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:708
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:707
msgid "Import a description from a Family Extra Value field. Can be an HTML or Text Extra Value. This becomes the body of the Global Partner post."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:718
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:717
msgid "Extra Value: Summary"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:719
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:718
msgid "Optional. Import a short description from a Family Extra Value field. Can be an HTML or Text Extra Value. If not provided, the full bio will be truncated."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:729
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:728
msgid "Latitude Override"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:730
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:729
msgid "Designate a text Family Extra Value that will contain a latitude that overrides any locations on the partner's profile for the partner map. Both latitude and longitude must be provided for an override to take place."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:740
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:739
msgid "Longitude Override"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:741
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:740
msgid "Designate a text Family Extra Value that will contain a longitude that overrides any locations on the partner's profile for the partner map. Both latitude and longitude must be provided for an override to take place."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:751
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:750
msgid "Public Location"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:752
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:751
msgid "Designate a text Family Extra Value that will contain the partner's location, as you want listed publicly. For partners who have DecoupleLocation enabled, this field will be associated with the map point, not the list entry."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:763
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:762
msgid "Import Family Extra Value fields as Meta data on the partner's post"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:774
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:773
msgid "Primary Taxonomy"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:775
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:774
msgid "Import a Family Extra Value as the primary means by which partners are organized."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:792
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:791
msgid "Events Calendar plugin by Modern Tribe"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:796
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:795
msgid "TouchPoint Meetings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:802
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:801
msgid "App 2.0 Calendar"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:803
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:802
msgid "Integrate Custom Mobile app version 2.0 with The Events Calendar from Modern Tribe."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:807
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:806
msgid "Events Provider"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:808
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:807
msgid "The source of events for version 2.0 of the Custom Mobile App."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:818
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:817
msgid "Events for Custom Mobile App"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:821
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:820
msgid "To use your Events Calendar events in the Custom mobile app, set the Provider to Wordpress Plugin - Modern Tribe (regardless of which provider you're using above) and use this url:"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:823
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:822
msgid "Preview"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:838
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:837
msgid "Use Standardizing Stylesheet"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:839
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:838
msgid "Inserts some basic CSS into the events feed to clean up display"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:851
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:850
msgid "Meeting Calendars"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:852
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:851
msgid "Import Meetings from TouchPoint to a calendar on your website."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:856
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:855
msgid "Meeting Name (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:857
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:856
msgid "What you call Meetings at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:862
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:864
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:861
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:863
msgid "Meetings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:862
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:864
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:861
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:863
msgid "Events"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:868
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:867
msgid "Meeting Name (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:869
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:868
msgid "What you call a Meeting at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:874
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:876
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:873
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:875
msgid "Meeting"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:874
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:876
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:873
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:875
msgid "Event"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:880
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:879
msgid "Meetings Slug"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:881
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:880
msgid "The root path for Meetings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:893
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:892
msgid "Days of Future"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:894
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:893
msgid "Meetings more than this many days in the future will not be imported."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:906
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:905
msgid "Archive After Days"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:907
-msgid "Meetings more than this many days in the past will be moved to the Events Archive. Once this date passes, meeting information will no longer update."
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:906
+msgid "Meetings more than this many days in the past will no longer update from TouchPoint, allowing you to keep some historical event information on the calendar for reference, even if you reuse and update the information in the Involvement."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:919
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:918
msgid "Days of History"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:920
-msgid "Meetings will be kept for the public calendar until the event is this many days in the past."
-msgstr ""
-
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:932
-msgid "Meeting Deletion Handling"
-msgstr ""
-
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:933
-msgid "When a Meeting is deleted in TouchPoint that has already been imported to WordPress, how should that be handled?"
-msgstr ""
-
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:939
-msgid "Always delete from WordPress"
-msgstr ""
-
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:940
-msgid "Mark the occurrence as cancelled"
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:919
+msgid "Meetings will be kept on the calendar until the event is this many days in the past. Once an event is older than this, it'll be deleted."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:950
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:935
msgid "Divisions"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:951
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:936
msgid "Import Divisions from TouchPoint to your website as a taxonomy. These are used to classify users and involvements."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:955
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:940
msgid "Division Name (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:956
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:941
msgid "What you call Divisions at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:967
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:952
msgid "Division Name (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:968
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:953
msgid "What you call a Division at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:979
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:964
msgid "Division Slug"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:980
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:965
msgid "The root path for the Division Taxonomy"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:993
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:978
msgid "These Divisions will be imported for the taxonomy"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1004
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1135
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:989
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1120
msgid "Post Types"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1005
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:990
msgid "Select post types which should have Divisions available as a native taxonomy."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1019
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1025
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1004
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1010
msgid "Locations"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1020
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1005
msgid "Locations are physical places, probably campuses. None are required, but they can help present geographic information clearly."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1044
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1029
msgid "Campuses"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1045
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1030
msgid "Import Campuses from TouchPoint to your website as a taxonomy. These are used to classify users and involvements."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1052
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1037
msgid "Campus Name (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1053
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1038
msgid "What you call Campuses at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1064
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1049
msgid "Campus Name (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1065
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1050
msgid "What you call a Campus at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1076
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1061
msgid "Campus Slug"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1077
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1062
msgid "The root path for the Campus Taxonomy"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1093
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1078
msgid "Resident Codes"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1094
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1079
msgid "Import Resident Codes from TouchPoint to your website as a taxonomy. These are used to classify users and involvements that have locations."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1098
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1083
msgid "Resident Code Name (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1099
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1084
msgid "What you call Resident Codes at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1110
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1095
msgid "Resident Code Name (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1111
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1096
msgid "What you call a Resident Code at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1122
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1107
msgid "Resident Code Slug"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1123
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1108
msgid "The root path for the Resident Code Taxonomy"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1136
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1121
msgid "Select post types which should have Resident Codes available as a native taxonomy."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1299
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1284
msgid "password saved"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1353
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1354
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1338
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1339
msgid "TouchPoint-WP"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1402
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1387
msgid "Settings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1639
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1627
msgid "Script Update Failed"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1761
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1749
msgid "TouchPoint-WP Settings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1812
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1800
msgid "Save Settings"
msgstr ""
diff --git a/src/TouchPoint-WP/TouchPointWP_Settings.php b/src/TouchPoint-WP/TouchPointWP_Settings.php
index 54ea88e1..71162a74 100644
--- a/src/TouchPoint-WP/TouchPointWP_Settings.php
+++ b/src/TouchPoint-WP/TouchPointWP_Settings.php
@@ -78,7 +78,6 @@
* @property-read int mc_future_days Number of days into the future to import.
* @property-read int mc_archive_days Number of days to wait to move something to history.
* @property-read int|string mc_hist_days Number of days of history to keep. (Can be '' if module isn't enabled.)
- * @property-read string mc_deletion_method Determines how meetings should be handled in WordPress if they're deleted in TouchPoint
*
* @property-read string rc_name_plural What resident codes should be called, plural (e.g. "Resident Codes" or "Zones")
* @property-read string rc_name_singular What a resident code should be called, singular (e.g. "Resident Code" or "Zone")
@@ -905,7 +904,7 @@ private function settingsFields(bool|string $includeDetail = false): array
'id' => 'mc_archive_days',
'label' => __('Archive After Days', 'TouchPoint-WP'),
'description' => __(
- 'Meetings more than this many days in the past will be moved to the Events Archive. Once this date passes, meeting information will no longer update.',
+ 'Meetings more than this many days in the past will no longer update from TouchPoint, allowing you to keep some historical event information on the calendar for reference, even if you reuse and update the information in the Involvement.',
'TouchPoint-WP'
),
'type' => 'number',
@@ -918,7 +917,7 @@ private function settingsFields(bool|string $includeDetail = false): array
'id' => 'mc_hist_days',
'label' => __('Days of History', 'TouchPoint-WP'),
'description' => __(
- 'Meetings will be kept for the public calendar until the event is this many days in the past.',
+ "Meetings will be kept on the calendar until the event is this many days in the past. Once an event is older than this, it'll be deleted.",
'TouchPoint-WP'
),
'type' => 'number',
@@ -927,20 +926,6 @@ private function settingsFields(bool|string $includeDetail = false): array
'max' => 1825,
'min' => 0
],
- [
- 'id' => 'mc_deletion_method',
- 'label' => __('Meeting Deletion Handling', 'TouchPoint-WP'),
- 'description' => __(
- 'When a Meeting is deleted in TouchPoint that has already been imported to WordPress, how should that be handled?',
- 'TouchPoint-WP'
- ),
- 'type' => 'select',
- 'options' => [
- 'delete' => __('Always delete from WordPress', 'TouchPoint-WP'),
- 'cancel' => __('Mark the occurrence as cancelled', 'TouchPoint-WP'),
- ],
- 'default' => 'delete',
- ],
],
];
}
@@ -1617,6 +1602,9 @@ public function migrate(): void
$years = TouchPointWP::TTL_IP_GEO;
$wpdb->query("DELETE FROM $tableName WHERE `updatedDT` < NOW() - INTERVAL $years YEAR OR `data` LIKE 'Too many rapid requests.%';");
+ // 0.0.95 - Remove never-really-used option for deletion handling
+ delete_option('tp_mc_deletion_method');
+
// Update version string
$this->set('version', TouchPointWP::VERSION);
}
From ca1b07b4d24b19f9a25032e215c9deb300aeedb7 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Fri, 22 Nov 2024 14:25:37 -0500
Subject: [PATCH 215/431] Timezone-related bug
---
src/TouchPoint-WP/TouchPointWP_Widget.php | 6 ++++--
src/TouchPoint-WP/Utilities.php | 3 ++-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/TouchPoint-WP/TouchPointWP_Widget.php b/src/TouchPoint-WP/TouchPointWP_Widget.php
index 43e89a0c..759292c8 100644
--- a/src/TouchPoint-WP/TouchPointWP_Widget.php
+++ b/src/TouchPoint-WP/TouchPointWP_Widget.php
@@ -50,17 +50,19 @@ protected static function timestampToFormated(mixed $timestamp): string
{
if (!is_numeric($timestamp)) {
try {
- $timestamp = new \DateTime($timestamp);
+ $timestamp = new \DateTime($timestamp, wp_timezone());
} catch (\Exception $e) {
return 'Never';
}
} else {
try {
- $timestamp = new \DateTime('@' . $timestamp);
+ $timestamp = new \DateTime('@' . $timestamp, Utilities::utcTimeZone());
+
} catch (\Exception $e) {
return 'Never';
}
}
+ $timestamp->setTimezone(wp_timezone());
return wp_sprintf(
// translators: %1$s is the date(s), %2$s is the time(s).
diff --git a/src/TouchPoint-WP/Utilities.php b/src/TouchPoint-WP/Utilities.php
index 78ef94f4..a05b41b6 100644
--- a/src/TouchPoint-WP/Utilities.php
+++ b/src/TouchPoint-WP/Utilities.php
@@ -96,7 +96,8 @@ public static function dateTimeNowPlus1D(): DateTimeImmutable
public static function dateTimeNowMinus1D(): DateTimeImmutable
{
if (self::$_dateTimeNowMinus1D === null) {
- $aDay = new DateInterval('P-1D');
+ $aDay = new DateInterval('P1D');
+ $aDay->invert = 1;
self::$_dateTimeNowMinus1D = self::dateTimeNow()->add($aDay);
}
From 9668b2fa2294e23c13b0d62404f0dc1e718dfb72 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Sun, 24 Nov 2024 11:31:33 -0500
Subject: [PATCH 216/431] Replace references with imports
---
src/TouchPoint-WP/TouchPointWP_Widget.php | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/TouchPoint-WP/TouchPointWP_Widget.php b/src/TouchPoint-WP/TouchPointWP_Widget.php
index 759292c8..a7b419ce 100644
--- a/src/TouchPoint-WP/TouchPointWP_Widget.php
+++ b/src/TouchPoint-WP/TouchPointWP_Widget.php
@@ -5,6 +5,8 @@
namespace tp\TouchPointWP;
+use DateTime;
+use Exception;
use tp\TouchPointWP\Utilities\DateFormats;
if ( ! defined('ABSPATH')) {
@@ -50,15 +52,15 @@ protected static function timestampToFormated(mixed $timestamp): string
{
if (!is_numeric($timestamp)) {
try {
- $timestamp = new \DateTime($timestamp, wp_timezone());
- } catch (\Exception $e) {
+ $timestamp = new DateTime($timestamp, wp_timezone());
+ } catch (Exception) {
return 'Never';
}
} else {
try {
- $timestamp = new \DateTime('@' . $timestamp, Utilities::utcTimeZone());
+ $timestamp = new DateTime('@' . $timestamp, Utilities::utcTimeZone());
- } catch (\Exception $e) {
+ } catch (Exception) {
return 'Never';
}
}
From 313d29e677f8940a6d35568aa43c04b333a7f0cc Mon Sep 17 00:00:00 2001
From: "James K."
Date: Sun, 24 Nov 2024 18:01:37 -0500
Subject: [PATCH 217/431] Allowing SVG reports to have background colors.
Closes #212
---
docs | 2 +-
src/TouchPoint-WP/Report.php | 24 +++++++---
src/TouchPoint-WP/Utilities/Database.php | 45 +++++++++++++++++++
.../Utilities/ImageConversions.php | 15 ++++++-
4 files changed, 76 insertions(+), 10 deletions(-)
create mode 100644 src/TouchPoint-WP/Utilities/Database.php
diff --git a/docs b/docs
index 4ddcde14..d99ffbf9 160000
--- a/docs
+++ b/docs
@@ -1 +1 @@
-Subproject commit 4ddcde146fa218887d0b60482b187a512fd1bd80
+Subproject commit d99ffbf9acd0da60003f3ee043afbb887b871554
diff --git a/src/TouchPoint-WP/Report.php b/src/TouchPoint-WP/Report.php
index e130c0d3..d3a9f284 100644
--- a/src/TouchPoint-WP/Report.php
+++ b/src/TouchPoint-WP/Report.php
@@ -9,6 +9,7 @@
use DateTime;
use Exception;
use JsonSerializable;
+use tp\TouchPointWP\Utilities\Database;
use tp\TouchPointWP\Utilities\Http;
use tp\TouchPointWP\Utilities\ImageConversions;
use WP_Error;
@@ -255,13 +256,24 @@ public static function api(array $uri): bool
break;
case "svg.png":
- $cached = get_post_meta($r->getPost()->ID, self::META_PREFIX . "svg_png", true);
+ $bgColor = $_GET['bg'] ?? null;
+
+ if ($bgColor !== null) {
+ $bgColor = strtolower($bgColor);
+ if (preg_match('/^[0-9a-f]{6}$/', $bgColor)) {
+ $bgColor = "#" . $bgColor;
+ }
+ }
+
+ $bgColorStr = ($bgColor === null) ? "" : "_$bgColor";
+
+ $cached = get_post_meta($r->getPost()->ID, self::META_PREFIX . "svg_png" . $bgColorStr, true);
if ($cached !== '') {
$content = base64_decode($cached);
} else {
try {
- $content = ImageConversions::svgToPng($content);
- update_post_meta($r->getPost()->ID, self::META_PREFIX . "svg_png", base64_encode($content));
+ $content = ImageConversions::svgToPng($content, $bgColor);
+ update_post_meta($r->getPost()->ID, self::META_PREFIX . "svg_png" . $bgColorStr, base64_encode($content));
} catch (TouchPointWP_Exception $e) {
http_response_code(Http::SERVICE_UNAVAILABLE);
echo $e->getMessage();
@@ -497,10 +509,8 @@ protected function submitUpdate()
return null;
}
- // Clear the cached PNG if it exists.
- if (get_post_meta($this->post->ID, self::META_PREFIX . "svg_png", true) !== '') {
- update_post_meta($this->post->ID, self::META_PREFIX . "svg_png", '');
- }
+ // Clear the cached PNGs if they exist.
+ Database::deletePostMetaByPrefix($this->post->ID, self::META_PREFIX . "svg_png");
return wp_update_post($this->post);
}
diff --git a/src/TouchPoint-WP/Utilities/Database.php b/src/TouchPoint-WP/Utilities/Database.php
new file mode 100644
index 00000000..e1851d4c
--- /dev/null
+++ b/src/TouchPoint-WP/Utilities/Database.php
@@ -0,0 +1,45 @@
+get_col(
+ $wpdb->prepare(
+ "SELECT meta_key FROM $wpdb->postmeta WHERE post_id = %d AND meta_key LIKE %s",
+ $postId,
+ $wpdb->esc_like($prefix) . '%'
+ )
+ );
+
+ // Loop through each meta key and delete it
+ $success = true;
+ foreach ($meta_keys as $meta_key) {
+ $success *= delete_post_meta($postId, $meta_key);
+ }
+ return $success;
+ }
+}
\ No newline at end of file
diff --git a/src/TouchPoint-WP/Utilities/ImageConversions.php b/src/TouchPoint-WP/Utilities/ImageConversions.php
index 637b5d54..49c2c491 100644
--- a/src/TouchPoint-WP/Utilities/ImageConversions.php
+++ b/src/TouchPoint-WP/Utilities/ImageConversions.php
@@ -17,7 +17,7 @@ abstract class ImageConversions
* @throws \ImagickException
* @throws TouchPointWP_Exception
*/
- public static function svgToPng($svgContent): string
+ public static function svgToPng($svgContent, ?string $backgroundColor = null): string
{
$svg = new DOMDocument();
$svg->loadXML($svgContent);
@@ -36,7 +36,18 @@ public static function svgToPng($svgContent): string
$im = new \Imagick();
$im->setResolution(300, 300);
- $im->setBackgroundColor(new \ImagickPixel('transparent'));
+
+ if (!empty($backgroundColor)) {
+ try {
+ $pxColor = new \ImagickPixel($backgroundColor);
+ $im->setBackgroundColor($pxColor);
+ } catch (\ImagickPixelException) {
+ $im->setBackgroundColor(new \ImagickPixel('transparent'));
+ }
+ } else {
+ $im->setBackgroundColor(new \ImagickPixel('transparent'));
+ }
+
$im->readImageBlob($svg->saveXML());
$im->setImageAlphaChannel(\Imagick::ALPHACHANNEL_ACTIVATE);
From f9e994ae8d5d730224f60e3f3febb8409a72ba4c Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 28 Nov 2024 14:02:32 -0500
Subject: [PATCH 218/431] Provide a non-empty response to this API endpoint.
---
src/TouchPoint-WP/Stats.php | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/TouchPoint-WP/Stats.php b/src/TouchPoint-WP/Stats.php
index ff9f9d1c..914f1fc5 100644
--- a/src/TouchPoint-WP/Stats.php
+++ b/src/TouchPoint-WP/Stats.php
@@ -284,6 +284,7 @@ protected function submitStats(): void
'timeout' => 10,
'blocking' => false,
]);
+ echo "ok";
}
/**
@@ -435,7 +436,7 @@ public static function handleSubmission(): bool
return false;
}
- echo $r;
+ echo $r;
return true;
}
}
\ No newline at end of file
From 3a230bd216b155d556e08ee6cd435ad31f08c217 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 28 Nov 2024 14:15:57 -0500
Subject: [PATCH 219/431] Add site logo in reported stats, add a filter to
prevent or adjust reporting, and update docs/i18n.
---
docs | 2 +-
i18n/TouchPoint-WP-es_ES.po | 102 ++++++++++----------
i18n/TouchPoint-WP.pot | 92 +++++++++---------
src/TouchPoint-WP/Stats.php | 21 +++-
src/TouchPoint-WP/TouchPointWP.php | 1 +
src/TouchPoint-WP/TouchPointWP_Settings.php | 4 +-
6 files changed, 121 insertions(+), 101 deletions(-)
diff --git a/docs b/docs
index d99ffbf9..2b93d032 160000
--- a/docs
+++ b/docs
@@ -1 +1 @@
-Subproject commit d99ffbf9acd0da60003f3ee043afbb887b871554
+Subproject commit 2b93d032d2306cca5631e7f30f9665825b8eafb8
diff --git a/i18n/TouchPoint-WP-es_ES.po b/i18n/TouchPoint-WP-es_ES.po
index abb41fe6..9a201c6e 100644
--- a/i18n/TouchPoint-WP-es_ES.po
+++ b/i18n/TouchPoint-WP-es_ES.po
@@ -314,38 +314,38 @@ msgstr "Contacta"
msgid "RSVP"
msgstr "RSVP"
-#: src/TouchPoint-WP/TouchPointWP.php:2030
+#: src/TouchPoint-WP/TouchPointWP.php:2031
msgid "Unknown Type"
msgstr "Tipo desconocido"
-#: src/TouchPoint-WP/TouchPointWP.php:2087
+#: src/TouchPoint-WP/TouchPointWP.php:2088
msgid "Your Searches"
msgstr "Tus búsquedas"
-#: src/TouchPoint-WP/TouchPointWP.php:2090
+#: src/TouchPoint-WP/TouchPointWP.php:2091
msgid "Public Searches"
msgstr "Búsquedas públicas"
-#: src/TouchPoint-WP/TouchPointWP.php:2093
+#: src/TouchPoint-WP/TouchPointWP.php:2094
msgid "Status Flags"
msgstr "Indicadores de Estado"
-#: src/TouchPoint-WP/TouchPointWP.php:2098
#: src/TouchPoint-WP/TouchPointWP.php:2099
+#: src/TouchPoint-WP/TouchPointWP.php:2100
msgid "Current Value"
msgstr "Valor actual"
-#: src/TouchPoint-WP/TouchPointWP.php:2216
-#: src/TouchPoint-WP/TouchPointWP.php:2252
+#: src/TouchPoint-WP/TouchPointWP.php:2217
+#: src/TouchPoint-WP/TouchPointWP.php:2253
msgid "Invalid or incomplete API Settings."
msgstr "Configuración de API no válida o incompleta."
-#: src/TouchPoint-WP/TouchPointWP.php:2266
-#: src/TouchPoint-WP/TouchPointWP.php:2310
+#: src/TouchPoint-WP/TouchPointWP.php:2267
+#: src/TouchPoint-WP/TouchPointWP.php:2311
msgid "Host appears to be missing from TouchPoint-WP configuration."
msgstr "Parece que falta el host en la configuración de TouchPoint-WP."
-#: src/TouchPoint-WP/TouchPointWP.php:2442
+#: src/TouchPoint-WP/TouchPointWP.php:2443
msgid "People Query Failed"
msgstr "Consulta de registros de personas fallida"
@@ -809,7 +809,7 @@ msgid "Save Settings"
msgstr "Guardar ajustes"
#: src/TouchPoint-WP/Person.php:1451
-#: src/TouchPoint-WP/Utilities.php:285
+#: src/TouchPoint-WP/Utilities.php:286
#: assets/js/base-defer.js:18
msgid "and"
msgstr "y"
@@ -972,7 +972,7 @@ msgstr "Enviar"
msgid "Nothing to submit."
msgstr "Nada que enviar."
-#: src/TouchPoint-WP/TouchPointWP.php:2383
+#: src/TouchPoint-WP/TouchPointWP.php:2384
msgid "The scripts on TouchPoint that interact with this plugin are out-of-date, and an automatic update failed."
msgstr "Los scripts en TouchPoint que interactúan con este complemento están desactualizados y falló una actualización automática."
@@ -1040,72 +1040,72 @@ msgstr "Años"
msgid "Genders"
msgstr "Géneros"
-#: src/TouchPoint-WP/Utilities.php:135
+#: src/TouchPoint-WP/Utilities.php:136
msgctxt "e.g. event happens weekly on..."
msgid "Sundays"
msgstr "los domingos"
-#: src/TouchPoint-WP/Utilities.php:136
+#: src/TouchPoint-WP/Utilities.php:137
msgctxt "e.g. event happens weekly on..."
msgid "Mondays"
msgstr "los lunes"
-#: src/TouchPoint-WP/Utilities.php:137
+#: src/TouchPoint-WP/Utilities.php:138
msgctxt "e.g. event happens weekly on..."
msgid "Tuesdays"
msgstr "los martes"
-#: src/TouchPoint-WP/Utilities.php:138
+#: src/TouchPoint-WP/Utilities.php:139
msgctxt "e.g. event happens weekly on..."
msgid "Wednesdays"
msgstr "los miércoles"
-#: src/TouchPoint-WP/Utilities.php:139
+#: src/TouchPoint-WP/Utilities.php:140
msgctxt "e.g. event happens weekly on..."
msgid "Thursdays"
msgstr "los jueves"
-#: src/TouchPoint-WP/Utilities.php:140
+#: src/TouchPoint-WP/Utilities.php:141
msgctxt "e.g. event happens weekly on..."
msgid "Fridays"
msgstr "los viernes"
-#: src/TouchPoint-WP/Utilities.php:141
+#: src/TouchPoint-WP/Utilities.php:142
msgctxt "e.g. event happens weekly on..."
msgid "Saturdays"
msgstr "los sábados"
-#: src/TouchPoint-WP/Utilities.php:187
+#: src/TouchPoint-WP/Utilities.php:188
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Sun"
msgstr "Dom"
-#: src/TouchPoint-WP/Utilities.php:188
+#: src/TouchPoint-WP/Utilities.php:189
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Mon"
msgstr "Lun"
-#: src/TouchPoint-WP/Utilities.php:189
+#: src/TouchPoint-WP/Utilities.php:190
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Tue"
msgstr "Mar"
-#: src/TouchPoint-WP/Utilities.php:190
+#: src/TouchPoint-WP/Utilities.php:191
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Wed"
msgstr "Mié"
-#: src/TouchPoint-WP/Utilities.php:191
+#: src/TouchPoint-WP/Utilities.php:192
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Thu"
msgstr "Jue"
-#: src/TouchPoint-WP/Utilities.php:192
+#: src/TouchPoint-WP/Utilities.php:193
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Fri"
msgstr "Vie"
-#: src/TouchPoint-WP/Utilities.php:193
+#: src/TouchPoint-WP/Utilities.php:194
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Sat"
msgstr "Sáb"
@@ -1163,37 +1163,37 @@ msgstr "Ubicaciones"
msgid "Locations are physical places, probably campuses. None are required, but they can help present geographic information clearly."
msgstr "Las ubicaciones son lugares fÃsicos, probablemente campus. No se requiere ninguno, pero pueden ayudar a presentar la información geográfica con claridad."
-#: src/TouchPoint-WP/Utilities.php:235
+#: src/TouchPoint-WP/Utilities.php:236
msgctxt "Time of Day"
msgid "Late Night"
msgstr "Tarde en la noche"
-#: src/TouchPoint-WP/Utilities.php:237
+#: src/TouchPoint-WP/Utilities.php:238
msgctxt "Time of Day"
msgid "Early Morning"
msgstr "Madrugada"
-#: src/TouchPoint-WP/Utilities.php:239
+#: src/TouchPoint-WP/Utilities.php:240
msgctxt "Time of Day"
msgid "Morning"
msgstr "Mañana"
-#: src/TouchPoint-WP/Utilities.php:241
+#: src/TouchPoint-WP/Utilities.php:242
msgctxt "Time of Day"
msgid "Midday"
msgstr "MediodÃa"
-#: src/TouchPoint-WP/Utilities.php:243
+#: src/TouchPoint-WP/Utilities.php:244
msgctxt "Time of Day"
msgid "Afternoon"
msgstr "Tarde"
-#: src/TouchPoint-WP/Utilities.php:245
+#: src/TouchPoint-WP/Utilities.php:246
msgctxt "Time of Day"
msgid "Evening"
msgstr "Tardecita"
-#: src/TouchPoint-WP/Utilities.php:247
+#: src/TouchPoint-WP/Utilities.php:248
msgctxt "Time of Day"
msgid "Night"
msgstr "Noche"
@@ -1225,7 +1225,7 @@ msgstr "restablecer el mapa"
#: src/TouchPoint-WP/Involvement.php:1027
#: src/TouchPoint-WP/Involvement.php:1120
#: src/TouchPoint-WP/Involvement.php:1144
-#: src/TouchPoint-WP/TouchPointWP_Widget.php:67
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:71
#: src/TouchPoint-WP/Utilities/DateFormats.php:288
#: src/TouchPoint-WP/Utilities/DateFormats.php:352
msgid "%1$s at %2$s"
@@ -1293,7 +1293,7 @@ msgid "Could not locate."
msgstr "No se pudo localizar."
#: src/TouchPoint-WP/Meeting.php:672
-#: src/TouchPoint-WP/TouchPointWP.php:1032
+#: src/TouchPoint-WP/TouchPointWP.php:1033
msgid "Only GET requests are allowed."
msgstr "Solo se permiten solicitudes GET."
@@ -1411,16 +1411,16 @@ msgstr "Agregar Nuevo %s"
msgid "New %s"
msgstr "Nuevo %s"
-#: src/TouchPoint-WP/Report.php:176
+#: src/TouchPoint-WP/Report.php:177
msgid "TouchPoint Reports"
msgstr "Informes de TouchPoint"
-#: src/TouchPoint-WP/Report.php:177
+#: src/TouchPoint-WP/Report.php:178
msgid "TouchPoint Report"
msgstr "Informe de TouchPoint"
#. translators: Last updated date/time for a report. %1$s is the date. %2$s is the time.
-#: src/TouchPoint-WP/Report.php:405
+#: src/TouchPoint-WP/Report.php:417
msgid "Updated on %1$s at %2$s"
msgstr "Actualizada %1$s %2$s"
@@ -1566,7 +1566,7 @@ msgstr "mañana"
msgid "(named person)"
msgstr "(persona nombrada)"
-#: src/TouchPoint-WP/Utilities.php:496
+#: src/TouchPoint-WP/Utilities.php:497
msgid "Expand"
msgstr "Ampliar"
@@ -1814,7 +1814,7 @@ msgstr "Campus"
msgid "All Day"
msgstr "todo el dia"
-#: src/TouchPoint-WP/Utilities.php:290
+#: src/TouchPoint-WP/Utilities.php:291
msgctxt "list of items, and *others*"
msgid "others"
msgstr "otros"
@@ -1827,14 +1827,6 @@ msgstr "Clave API de ipapi.co"
msgid "Optional. Allows for geolocation of user IP addresses. This generally will work without a key, but may be rate limited."
msgstr "Opcional. Permite la geolocalización de las direcciones IP de los usuarios. Por lo general, esto funcionará sin una clave, pero puede tener una frecuencia limitada."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:444
-msgid "Allow the TouchPoint-WP developers to publicly list your site/church as using TouchPoint-WP"
-msgstr "Permitir que los desarrolladores de TouchPoint-WP incluyan públicamente su sitio/iglesia como usuarios de TouchPoint-WP"
-
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:445
-msgid "Helps other prospective churches see what can be done by combining WordPress with the best ChMS on the planet. Only applies if this site is accessible on the public internet."
-msgstr "Ayuda a otras iglesias potenciales a ver lo que se puede hacer combinando WordPress con el mejor ChMS del planeta. Solo se aplica si este sitio es accesible en Internet público."
-
#: src/templates/admin/invKoForm.php:60
msgid "Import Campuses"
msgstr "Importar Campus"
@@ -1847,15 +1839,15 @@ msgstr "Todos los campus"
msgid "(No Campus)"
msgstr "(Sin campus)"
-#: src/TouchPoint-WP/TouchPointWP_Widget.php:37
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:39
msgid "TouchPoint-WP Status"
msgstr "Estado de TouchPoint-WP"
-#: src/TouchPoint-WP/TouchPointWP_Widget.php:92
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:96
msgid "Imported"
msgstr "Importadas"
-#: src/TouchPoint-WP/TouchPointWP_Widget.php:93
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:97
msgid "Last Updated"
msgstr "Actualizada"
@@ -1871,3 +1863,11 @@ msgstr "Las reuniones con más de esta cantidad de dÃas en el pasado ya no se a
#: src/TouchPoint-WP/TouchPointWP_Settings.php:919
msgid "Meetings will be kept on the calendar until the event is this many days in the past. Once an event is older than this, it'll be deleted."
msgstr "Las reuniones se mantendrán en el calendario hasta que el evento tenga esta cantidad de dÃas en el pasado. Una vez que un evento tenga más de esta cantidad de dÃas, se eliminará."
+
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:444
+msgid "List Site in Directory"
+msgstr "Listar sitio en directorio"
+
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:445
+msgid "Allow the TouchPoint-WP developers to publicly list your site/church as using TouchPoint-WP. Helps other prospective churches see what can be done by combining WordPress with the best ChMS on the planet. Only applies if this site is accessible on the public internet."
+msgstr "Permita que los desarrolladores de TouchPoint-WP incluyan públicamente su sitio o iglesia como sitios que usan TouchPoint-WP. Esto ayuda a otras iglesias potenciales a ver lo que se puede hacer al combinar WordPress con el mejor ChMS del planeta. Solo se aplica si este sitio es accesible en Internet público."
diff --git a/i18n/TouchPoint-WP.pot b/i18n/TouchPoint-WP.pot
index 977622c1..92ee09b7 100644
--- a/i18n/TouchPoint-WP.pot
+++ b/i18n/TouchPoint-WP.pot
@@ -9,7 +9,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"POT-Creation-Date: 2024-11-22T18:07:49+00:00\n"
+"POT-Creation-Date: 2024-11-28T19:12:52+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.11.0\n"
"X-Domain: TouchPoint-WP\n"
@@ -361,7 +361,7 @@ msgstr ""
#: src/TouchPoint-WP/Involvement.php:1027
#: src/TouchPoint-WP/Involvement.php:1120
#: src/TouchPoint-WP/Involvement.php:1144
-#: src/TouchPoint-WP/TouchPointWP_Widget.php:67
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:71
#: src/TouchPoint-WP/Utilities/DateFormats.php:288
#: src/TouchPoint-WP/Utilities/DateFormats.php:352
msgid "%1$s at %2$s"
@@ -572,7 +572,7 @@ msgid "Unknown"
msgstr ""
#: src/TouchPoint-WP/Meeting.php:672
-#: src/TouchPoint-WP/TouchPointWP.php:1032
+#: src/TouchPoint-WP/TouchPointWP.php:1033
msgid "Only GET requests are allowed."
msgstr ""
@@ -619,7 +619,7 @@ msgid "Person in %s"
msgstr ""
#: src/TouchPoint-WP/Person.php:1451
-#: src/TouchPoint-WP/Utilities.php:285
+#: src/TouchPoint-WP/Utilities.php:286
#: assets/js/base-defer.js:18
msgid "and"
msgstr ""
@@ -637,16 +637,16 @@ msgstr ""
msgid "You may need to sign in."
msgstr ""
-#: src/TouchPoint-WP/Report.php:176
+#: src/TouchPoint-WP/Report.php:177
msgid "TouchPoint Reports"
msgstr ""
-#: src/TouchPoint-WP/Report.php:177
+#: src/TouchPoint-WP/Report.php:178
msgid "TouchPoint Report"
msgstr ""
#. translators: Last updated date/time for a report. %1$s is the date. %2$s is the time.
-#: src/TouchPoint-WP/Report.php:405
+#: src/TouchPoint-WP/Report.php:417
msgid "Updated on %1$s at %2$s"
msgstr ""
@@ -745,42 +745,42 @@ msgstr ""
msgid "Every 15 minutes"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2030
+#: src/TouchPoint-WP/TouchPointWP.php:2031
msgid "Unknown Type"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2087
+#: src/TouchPoint-WP/TouchPointWP.php:2088
msgid "Your Searches"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2090
+#: src/TouchPoint-WP/TouchPointWP.php:2091
msgid "Public Searches"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2093
+#: src/TouchPoint-WP/TouchPointWP.php:2094
msgid "Status Flags"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2098
#: src/TouchPoint-WP/TouchPointWP.php:2099
+#: src/TouchPoint-WP/TouchPointWP.php:2100
msgid "Current Value"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2216
-#: src/TouchPoint-WP/TouchPointWP.php:2252
+#: src/TouchPoint-WP/TouchPointWP.php:2217
+#: src/TouchPoint-WP/TouchPointWP.php:2253
msgid "Invalid or incomplete API Settings."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2266
-#: src/TouchPoint-WP/TouchPointWP.php:2310
+#: src/TouchPoint-WP/TouchPointWP.php:2267
+#: src/TouchPoint-WP/TouchPointWP.php:2311
msgid "Host appears to be missing from TouchPoint-WP configuration."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2383
+#: src/TouchPoint-WP/TouchPointWP.php:2384
msgid "The scripts on TouchPoint that interact with this plugin are out-of-date, and an automatic update failed."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2442
+#: src/TouchPoint-WP/TouchPointWP.php:2443
msgid "People Query Failed"
msgstr ""
@@ -921,11 +921,11 @@ msgid "Optional. Allows for geolocation of user IP addresses. This generally wi
msgstr ""
#: src/TouchPoint-WP/TouchPointWP_Settings.php:444
-msgid "Allow the TouchPoint-WP developers to publicly list your site/church as using TouchPoint-WP"
+msgid "List Site in Directory"
msgstr ""
#: src/TouchPoint-WP/TouchPointWP_Settings.php:445
-msgid "Helps other prospective churches see what can be done by combining WordPress with the best ChMS on the planet. Only applies if this site is accessible on the public internet."
+msgid "Allow the TouchPoint-WP developers to publicly list your site/church as using TouchPoint-WP. Helps other prospective churches see what can be done by combining WordPress with the best ChMS on the planet. Only applies if this site is accessible on the public internet."
msgstr ""
#: src/TouchPoint-WP/TouchPointWP_Settings.php:463
@@ -1417,129 +1417,129 @@ msgstr ""
msgid "Save Settings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Widget.php:37
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:39
msgid "TouchPoint-WP Status"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Widget.php:92
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:96
msgid "Imported"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Widget.php:93
+#: src/TouchPoint-WP/TouchPointWP_Widget.php:97
msgid "Last Updated"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:135
+#: src/TouchPoint-WP/Utilities.php:136
msgctxt "e.g. event happens weekly on..."
msgid "Sundays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:136
+#: src/TouchPoint-WP/Utilities.php:137
msgctxt "e.g. event happens weekly on..."
msgid "Mondays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:137
+#: src/TouchPoint-WP/Utilities.php:138
msgctxt "e.g. event happens weekly on..."
msgid "Tuesdays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:138
+#: src/TouchPoint-WP/Utilities.php:139
msgctxt "e.g. event happens weekly on..."
msgid "Wednesdays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:139
+#: src/TouchPoint-WP/Utilities.php:140
msgctxt "e.g. event happens weekly on..."
msgid "Thursdays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:140
+#: src/TouchPoint-WP/Utilities.php:141
msgctxt "e.g. event happens weekly on..."
msgid "Fridays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:141
+#: src/TouchPoint-WP/Utilities.php:142
msgctxt "e.g. event happens weekly on..."
msgid "Saturdays"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:187
+#: src/TouchPoint-WP/Utilities.php:188
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Sun"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:188
+#: src/TouchPoint-WP/Utilities.php:189
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Mon"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:189
+#: src/TouchPoint-WP/Utilities.php:190
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Tue"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:190
+#: src/TouchPoint-WP/Utilities.php:191
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Wed"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:191
+#: src/TouchPoint-WP/Utilities.php:192
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Thu"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:192
+#: src/TouchPoint-WP/Utilities.php:193
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Fri"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:193
+#: src/TouchPoint-WP/Utilities.php:194
msgctxt "e.g. \"Event happens weekly on...\" or \"This ...\""
msgid "Sat"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:235
+#: src/TouchPoint-WP/Utilities.php:236
msgctxt "Time of Day"
msgid "Late Night"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:237
+#: src/TouchPoint-WP/Utilities.php:238
msgctxt "Time of Day"
msgid "Early Morning"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:239
+#: src/TouchPoint-WP/Utilities.php:240
msgctxt "Time of Day"
msgid "Morning"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:241
+#: src/TouchPoint-WP/Utilities.php:242
msgctxt "Time of Day"
msgid "Midday"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:243
+#: src/TouchPoint-WP/Utilities.php:244
msgctxt "Time of Day"
msgid "Afternoon"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:245
+#: src/TouchPoint-WP/Utilities.php:246
msgctxt "Time of Day"
msgid "Evening"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:247
+#: src/TouchPoint-WP/Utilities.php:248
msgctxt "Time of Day"
msgid "Night"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:290
+#: src/TouchPoint-WP/Utilities.php:291
msgctxt "list of items, and *others*"
msgid "others"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:496
+#: src/TouchPoint-WP/Utilities.php:497
msgid "Expand"
msgstr ""
diff --git a/src/TouchPoint-WP/Stats.php b/src/TouchPoint-WP/Stats.php
index 914f1fc5..28d38f0e 100644
--- a/src/TouchPoint-WP/Stats.php
+++ b/src/TouchPoint-WP/Stats.php
@@ -261,6 +261,7 @@ public function getStatsForSubmission(bool $updateQueried = false): array
$data['wpTimezone'] = get_option('timezone_string');
$data['adminEmail'] = get_option('admin_email');
$data['siteName'] = get_bloginfo('name');
+ $data['siteLogoUrl'] = esc_url( wp_get_attachment_image_src( get_theme_mod( 'custom_logo' ), 'full' )[0] );
$data['listPublicly'] = 1 * ($sets->enable_public_listing === 'on');
$data['installId'] = $this->installId;
$data['privateKey'] = $this->privateKey;
@@ -279,7 +280,25 @@ protected function submitStats(): void
$data = $this->getStatsForSubmission();
- wp_remote_post(self::SUBMISSION_ENDPOINT, [
+ /**
+ * This plugin is designed to be used by other churches, but to help troubleshoot and understand usage, some
+ * basic statistics are sent back to Tenth. This filter allows you to change the endpoint to which the data is
+ * sent, which may be necessary if you have a proxy system setup. It also allows you to disable the sending of
+ * all information back to Tenth by setting the value to an empty string.
+ *
+ * The URL must use https.
+ *
+ * @since 0.0.96 Added
+ *
+ * @param string $endpoint The endpoint value to use.
+ */
+ $endpoint = (string)apply_filters('tp_stats_endpoint', self::SUBMISSION_ENDPOINT);
+
+ if ( ! str_starts_with($endpoint, 'https://')) {
+ return;
+ }
+
+ wp_remote_post($endpoint, [
'body' => ['data' => $data],
'timeout' => 10,
'blocking' => false,
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index c89c99b7..3f114957 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -672,6 +672,7 @@ protected function createTables(): void
wpTimezone varchar(50) NOT NULL,
adminEmail varchar(255) NOT NULL,
siteName varchar(255) NOT NULL,
+ siteLogo varchar(512) NOT NULL,
createdDT datetime DEFAULT NOW(),
updatedDT datetime DEFAULT NOW() ON UPDATE NOW(),
diff --git a/src/TouchPoint-WP/TouchPointWP_Settings.php b/src/TouchPoint-WP/TouchPointWP_Settings.php
index 71162a74..c203c7ac 100644
--- a/src/TouchPoint-WP/TouchPointWP_Settings.php
+++ b/src/TouchPoint-WP/TouchPointWP_Settings.php
@@ -441,9 +441,9 @@ private function settingsFields(bool|string $includeDetail = false): array
],
[
'id' => 'enable_public_listing',
- 'label' => __('Allow the TouchPoint-WP developers to publicly list your site/church as using TouchPoint-WP', 'TouchPoint-WP'),
+ 'label' => __('List Site in Directory', 'TouchPoint-WP'),
'description' => __(
- "Helps other prospective churches see what can be done by combining WordPress with the best ChMS on the planet. Only applies if this site is accessible on the public internet.",
+ "Allow the TouchPoint-WP developers to publicly list your site/church as using TouchPoint-WP. Helps other prospective churches see what can be done by combining WordPress with the best ChMS on the planet. Only applies if this site is accessible on the public internet.",
'TouchPoint-WP'
),
'type' => 'checkbox',
From e4e0010eb0b8fc608642acd9c5c0ebd638c0cdfa Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 28 Nov 2024 14:32:49 -0500
Subject: [PATCH 220/431] Hook documentation improvements
---
docs | 2 +-
src/TouchPoint-WP/Involvement.php | 9 +++++++--
src/TouchPoint-WP/Partner.php | 17 ++++++++++++++---
src/TouchPoint-WP/Report.php | 6 ++++--
src/TouchPoint-WP/Stats.php | 4 +++-
src/TouchPoint-WP/TouchPointWP.php | 10 ++++++++--
src/TouchPoint-WP/TouchPointWP_Settings.php | 2 ++
src/TouchPoint-WP/Utilities.php | 17 ++++++++++-------
src/TouchPoint-WP/Utilities/DateFormats.php | 2 +-
9 files changed, 50 insertions(+), 19 deletions(-)
diff --git a/docs b/docs
index 2b93d032..01f959fa 160000
--- a/docs
+++ b/docs
@@ -1 +1 @@
-Subproject commit 2b93d032d2306cca5631e7f30f9665825b8eafb8
+Subproject commit 01f959faa7b2ef2c2307d6aef36454a2be2466b1
diff --git a/src/TouchPoint-WP/Involvement.php b/src/TouchPoint-WP/Involvement.php
index 7d1b242c..119d3c2d 100644
--- a/src/TouchPoint-WP/Involvement.php
+++ b/src/TouchPoint-WP/Involvement.php
@@ -436,6 +436,9 @@ public final static function updateFromTouchPoint(bool $verbose = false): int
*/
public static function templateFilter(string $template): string
{
+ $className = self::class;
+ $useTemplates = true;
+
/**
* Determines whether the plugin's default templates should be used. Theme developers can return false in this
* filter to prevent the default templates from applying, especially if they conflict with the theme.
@@ -447,7 +450,7 @@ public static function templateFilter(string $template): string
* @param bool $value The value to return. True will allow the default templates to be applied.
* @param string $className The name of the class calling for the template.
*/
- if (!!apply_filters('tp_use_default_templates', true, self::class)) {
+ if (!!apply_filters('tp_use_default_templates', $useTemplates, $className)) {
$postTypesToFilter = Involvement_PostTypeSettings::getPostTypes();
$templateFilesToOverwrite = self::TEMPLATES_TO_OVERWRITE;
@@ -3891,6 +3894,8 @@ private static function ajaxInvJoin(): void
*/
protected static function allowContact(string $invType): bool
{
+ $allowed = true;
+
/**
* Determines whether contact of any kind is allowed. This is meant to prevent abuse in contact forms by
* removing the ability to contact people and thereby hiding the forms.
@@ -3899,7 +3904,7 @@ protected static function allowContact(string $invType): bool
*
* @param bool $allowed True if contact is allowed.
*/
- $allowed = !!apply_filters('tp_allow_contact', true);
+ $allowed = !!apply_filters('tp_allow_contact', $allowed);
/**
* Determines whether contact is allowed for any Involvements. This is called *after* tp_allow_contact, and
diff --git a/src/TouchPoint-WP/Partner.php b/src/TouchPoint-WP/Partner.php
index 943d86c9..275c4851 100644
--- a/src/TouchPoint-WP/Partner.php
+++ b/src/TouchPoint-WP/Partner.php
@@ -563,18 +563,24 @@ public static function updateFromTouchPoint(bool $verbose = false)
*/
public static function templateFilter(string $template): string
{
+ $className = self::class;
+ $useTemplates = true;
+
/**
* Determines whether the plugin's default templates should be used. Theme developers can return false in this
* filter to prevent the default templates from applying, especially if they conflict with the theme.
*
* Default is true.
*
- * @since 0.0.6 Added
+ * TODO merge with the same filter in Involvement
*
* @param bool $value The value to return. True will allow the default templates to be applied.
* @param string $className The name of the class calling for the template.
+ *
+ *@since 0.0.6 Added
+ *
*/
- if (!!apply_filters('tp_use_default_templates', true, self::class)) {
+ if (!!apply_filters('tp_use_default_templates', $useTemplates, $className)) {
$postTypesToFilter = self::POST_TYPE;
$templateFilesToOverwrite = self::TEMPLATES_TO_OVERWRITE;
@@ -685,6 +691,9 @@ public static function listShortcode($params = [], string $content = ""): string
}
$params = array_change_key_case($params, CASE_LOWER);
+ $useCss = true;
+ $className = self::class;
+
// set some defaults
/** @noinspection SpellCheckingInspection */
$params = shortcode_atts(
@@ -697,10 +706,12 @@ public static function listShortcode($params = [], string $content = ""): string
*
* @since 0.0.15 Added
*
+ * TODO merge with the same filter in Involvement
+ *
* @param bool $useCss Whether or not to include the default CSS. True = include
* @param string $className The name of the current calling class.
*/
- 'includecss' => apply_filters('tp_use_css', true, self::class),
+ 'includecss' => apply_filters('tp_use_css', $useCss, $className),
'itemclass' => self::$itemClass,
],
$params,
diff --git a/src/TouchPoint-WP/Report.php b/src/TouchPoint-WP/Report.php
index d3a9f284..af3ac4a5 100644
--- a/src/TouchPoint-WP/Report.php
+++ b/src/TouchPoint-WP/Report.php
@@ -394,13 +394,15 @@ public static function reportShortcode($params = [], string $content = ""): stri
// Add Figure elt with a unique ID
$idAttr = "id=\"" . wp_unique_id('tp-report-') . "\"";
+ $class = self::$classDefault;
+
/**
* Filter the class name to be used for the displaying the report.
*
- * @param string $className The class name to be used.
+ * @param string $class The class name to be used.
* @param Report $report The report being displayed.
*/
- $class = apply_filters("tp_rpt_figure_class", self::$classDefault, $report);
+ $class = apply_filters("tp_rpt_figure_class", $class, $report);
$permalink = esc_attr(get_post_permalink($report->getPost()));
diff --git a/src/TouchPoint-WP/Stats.php b/src/TouchPoint-WP/Stats.php
index 28d38f0e..76d476af 100644
--- a/src/TouchPoint-WP/Stats.php
+++ b/src/TouchPoint-WP/Stats.php
@@ -280,6 +280,8 @@ protected function submitStats(): void
$data = $this->getStatsForSubmission();
+ $endpoint = self::SUBMISSION_ENDPOINT;
+
/**
* This plugin is designed to be used by other churches, but to help troubleshoot and understand usage, some
* basic statistics are sent back to Tenth. This filter allows you to change the endpoint to which the data is
@@ -292,7 +294,7 @@ protected function submitStats(): void
*
* @param string $endpoint The endpoint value to use.
*/
- $endpoint = (string)apply_filters('tp_stats_endpoint', self::SUBMISSION_ENDPOINT);
+ $endpoint = (string)apply_filters('tp_stats_endpoint', $endpoint);
if ( ! str_starts_with($endpoint, 'https://')) {
return;
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index 3f114957..70eef512 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -978,12 +978,15 @@ public static function requireScript(string $name = null): void
public static function requireStyle(string $name = null): void
{
$filename = strtolower($name);
+
+ $includeStyle = true;
+
/**
* Filter to determine if a given stylesheet (which comes with TouchPoint-WP) should be included.
*
* @params bool $include Whether to include the stylesheet.
*/
- if ( ! apply_filters("tp_include_style_$filename", true)) {
+ if ( ! apply_filters("tp_include_style_$filename", $includeStyle)) {
return;
}
@@ -2541,12 +2544,15 @@ public static function enqueuePartialsStyle(): void
*/
public static function enqueueActionsStyle(string $action): void
{
+ $includeActionsStyle = true;
+
/**
* Filter to determine if the stylesheet that adjusts SWAL and other action-related items should be included.
*
* @params bool $include Whether to include the styles. Default true = include.
+ * @params string $action The action that is being performed.
*/
- $includeActionsStyle = !!apply_filters("tp_include_actions_style", true, $action);
+ $includeActionsStyle = !!apply_filters("tp_include_actions_style", $includeActionsStyle, $action);
if ($includeActionsStyle) {
wp_enqueue_style(
TouchPointWP::SHORTCODE_PREFIX . 'actions-style',
diff --git a/src/TouchPoint-WP/TouchPointWP_Settings.php b/src/TouchPoint-WP/TouchPointWP_Settings.php
index c203c7ac..42a427c5 100644
--- a/src/TouchPoint-WP/TouchPointWP_Settings.php
+++ b/src/TouchPoint-WP/TouchPointWP_Settings.php
@@ -1260,6 +1260,8 @@ private function settingsFields(bool|string $includeDetail = false): array
* Adjust the settings array before it's returned.
*
* @since 0.0.90 Added
+ *
+ * @params array $this->settings The settings array.
*/
$this->settings = apply_filters('tp_settings_fields', $this->settings);
diff --git a/src/TouchPoint-WP/Utilities.php b/src/TouchPoint-WP/Utilities.php
index a05b41b6..037fa398 100644
--- a/src/TouchPoint-WP/Utilities.php
+++ b/src/TouchPoint-WP/Utilities.php
@@ -357,18 +357,20 @@ public static function getPostContentWithShortcode($shortcode): array
*/
public static function getColorFor(string $itemName, string $setName): string
{
+ $current = null;
+
/**
* Allows for a custom color function to assign a color for a given value.
*
* @since 0.0.90 Added
*
- * @param mixed $current The current value. Null is provided to the function because the color hasn't otherwise been determined yet.
+ * @param ?string $current The current value. Null is provided to the function because the color hasn't otherwise been determined yet.
* @param string $itemName The name of the current item.
* @param string $setName The name of the set to which the item belongs.
*
- * @return string|null The color in hex, starting with '#'. Null to defer to the default color assignment.
+ * @return ?string The color in hex, starting with '#'. Null to defer to the default color assignment.
*/
- $r = apply_filters('tp_custom_color_function', null, $itemName, $setName);
+ $r = apply_filters('tp_custom_color_function', $current, $itemName, $setName);
if ($r !== null)
return $r;
@@ -386,6 +388,7 @@ public static function getColorFor(string $itemName, string $setName): string
self::$colorAssignments[$setName][] = $itemName;
}
+ $array = [];
/**
* Allows for a custom color set to be used for color assignment to match branding. This filter should return an
* array of colors in hex format, starting with '#'. The colors will be assigned in order, but it is not
@@ -394,10 +397,10 @@ public static function getColorFor(string $itemName, string $setName): string
*
* @since 0.0.90 Added
*
- * @param string[] $array The array of colors in hex format, starting with '#'.
+ * @param string[] $array The array of colors in hex format strings, starting with '#'.
* @param string $setName The name of the set for which the colors are needed.
*/
- $colorSet = apply_filters('tp_custom_color_set', [], $setName);
+ $colorSet = apply_filters('tp_custom_color_set', $array, $setName);
if (count($colorSet) > 0) {
return $colorSet[$idx % count($colorSet)];
@@ -678,7 +681,7 @@ public static function standardizeHtml(?string $html, ?string $context = null):
* @return string The standardized HTML.
*/
$html = apply_filters('tp_pre_standardize_html', $html, $context);
-
+ $maxHeader = 2;
/**
* The maximum header level to allow in an HTML string. Default is 2.
@@ -690,7 +693,7 @@ public static function standardizeHtml(?string $html, ?string $context = null):
*
* @return int The maximum header level to allow in the HTML.
*/
- $maxHeader = intval(apply_filters('tp_standardize_h_tags_max_h', 2, $context));
+ $maxHeader = intval(apply_filters('tp_standardize_h_tags_max_h', $maxHeader, $context));
$allowedTags = [
'p', 'br', 'a', 'em', 'strong', 'b', 'i', 'u', 'hr', 'ul', 'ol', 'li',
diff --git a/src/TouchPoint-WP/Utilities/DateFormats.php b/src/TouchPoint-WP/Utilities/DateFormats.php
index 25cf8ea6..5de1ea25 100644
--- a/src/TouchPoint-WP/Utilities/DateFormats.php
+++ b/src/TouchPoint-WP/Utilities/DateFormats.php
@@ -98,7 +98,7 @@ public static function TimeRangeStringFormatted(DateTimeInterface $startDt, Date
* @param string $startStr The start string, with default formatting.
* @param string $endStr The end string, with default formatting
* @param DateTimeInterface $startDt The DateTimeInterface object for the start.
- * @param DateTimeInterface $endDt The DateTimeInterface object for the $end.
+ * @param DateTimeInterface $endDt The DateTimeInterface object for the end.
*/
return apply_filters('tp_adjust_time_range_string', $ts, $startStr, $endStr, $startDt, $endDt);
}
From 1bee5368c5b6afe0cbb8a65124bdddf9070ce930 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Sun, 1 Dec 2024 08:06:24 -0500
Subject: [PATCH 221/431] Correcting issue with Report sync.
---
src/TouchPoint-WP/Report.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/TouchPoint-WP/Report.php b/src/TouchPoint-WP/Report.php
index af3ac4a5..c2a43118 100644
--- a/src/TouchPoint-WP/Report.php
+++ b/src/TouchPoint-WP/Report.php
@@ -26,6 +26,7 @@
require_once "storedAsPost.php";
require_once "Utilities/ImageConversions.php";
require_once "Utilities/Http.php";
+ require_once "Utilities/Database.php";
}
/**
From 04b90186de75eb35d0fa41910fd8f26a55ecf5be Mon Sep 17 00:00:00 2001
From: "James K."
Date: Sun, 1 Dec 2024 17:43:05 -0500
Subject: [PATCH 222/431] Syntactic items in Report.php
---
src/TouchPoint-WP/Report.php | 32 ++++++++++++++++++++++----------
1 file changed, 22 insertions(+), 10 deletions(-)
diff --git a/src/TouchPoint-WP/Report.php b/src/TouchPoint-WP/Report.php
index c2a43118..013973be 100644
--- a/src/TouchPoint-WP/Report.php
+++ b/src/TouchPoint-WP/Report.php
@@ -240,12 +240,18 @@ public static function api(array $uri): bool
case "py":
TouchPointWP::doCacheHeaders(TouchPointWP::CACHE_NONE);
- $r = Report::fromParams([
- 'type' => 'python',
- 'name' => $filename,
- 'p1' => $_GET['p1'] ?? ''
- ]);
- $content = $r->content();
+ try {
+ $r = Report::fromParams([
+ 'type' => 'python',
+ 'name' => $filename,
+ 'p1' => $_GET['p1'] ?? ''
+ ]);
+ $content = $r->content();
+ } catch (TouchPointWP_Exception) {
+ http_response_code(Http::SERVER_ERROR);
+ exit;
+ }
+
if ($content === self::DEFAULT_CONTENT) {
http_response_code(Http::NOT_FOUND);
exit;
@@ -300,11 +306,16 @@ public static function api(array $uri): bool
case "sql":
TouchPointWP::doCacheHeaders(TouchPointWP::CACHE_NONE);
header("Cache-Control: max-age=3600, must-revalidate, public");
+ try {
$r = Report::fromParams([
'type' => 'sql',
'name' => $filename,
'p1' => $_GET['p1'] ?? ''
]);
+ } catch (TouchPointWP_Exception) {
+ http_response_code(Http::SERVER_ERROR);
+ exit;
+ }
$content = $r->content();
if ($content === self::DEFAULT_CONTENT) {
http_response_code(Http::NOT_FOUND);
@@ -353,8 +364,9 @@ protected function title(): string
*
* @return string
*/
- public static function reportShortcode($params = [], string $content = ""): string
+ public static function reportShortcode(mixed $params = [], string $content = ""): string
{
+ /** @noinspection PhpRedundantOptionalArgumentInspection */
$params = array_change_key_case($params, CASE_LOWER);
$params = shortcode_atts(
@@ -506,7 +518,7 @@ public function getPost(bool $create = false): ?WP_Post
*
* @return int|WP_Error|null
*/
- protected function submitUpdate()
+ protected function submitUpdate(): int|null|WP_Error
{
if ( ! $this->getPost()) {
return null;
@@ -597,7 +609,7 @@ public static function updateFromTouchPoint(bool $forceEvenIfNotDue = false): in
foreach ($updates as $u) {
try {
$report = self::fromParams($u);
- } catch (TouchPointWP_Exception $e) {
+ } catch (TouchPointWP_Exception) {
continue;
}
@@ -726,7 +738,7 @@ public static function updateCron(): void
if ( ! $forked) {
self::updateFromTouchPoint();
}
- } catch (Exception $ex) {
+ } catch (Exception) {
}
}
From 53829c189ee162b6a6a1a7e77ae1d98288c0a002 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Mon, 2 Dec 2024 13:33:25 -0500
Subject: [PATCH 223/431] Making ids clearer
---
src/TouchPoint-WP/Involvement.php | 2 +-
src/TouchPoint-WP/Meeting.php | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/TouchPoint-WP/Involvement.php b/src/TouchPoint-WP/Involvement.php
index 119d3c2d..eca5de62 100644
--- a/src/TouchPoint-WP/Involvement.php
+++ b/src/TouchPoint-WP/Involvement.php
@@ -754,7 +754,7 @@ protected static function scheduleStrings(int $invId, $inv = null): ?array
* This is separated out to a static method to prevent involvement from being instantiated (with those database
* hits) when the content is cached. (10x faster or more)
*
- * @param int $objId
+ * @param int $objId Involvement Id.
* @param ?Involvement $obj
*
* @return ?string
diff --git a/src/TouchPoint-WP/Meeting.php b/src/TouchPoint-WP/Meeting.php
index df97ecf5..9b9052b2 100644
--- a/src/TouchPoint-WP/Meeting.php
+++ b/src/TouchPoint-WP/Meeting.php
@@ -183,6 +183,16 @@ protected function __construct(object $object)
$this->registerConstruction();
}
+ /**
+ * Get the Meeting ID.
+ *
+ * @return int
+ */
+ public function mtgId(): int
+ {
+ return $this->mtgId;
+ }
+
/**
* Create a Meeting object from a Meeting ID. Only Meetings that are already imported as Posts are currently
From 30d2f0ab812ef86c743799507358ad999eba5a90 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Tue, 3 Dec 2024 14:56:55 -0500
Subject: [PATCH 224/431] Dealing with bug in stats logo submission.
---
src/TouchPoint-WP/Stats.php | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/TouchPoint-WP/Stats.php b/src/TouchPoint-WP/Stats.php
index 76d476af..b00d5934 100644
--- a/src/TouchPoint-WP/Stats.php
+++ b/src/TouchPoint-WP/Stats.php
@@ -261,7 +261,12 @@ public function getStatsForSubmission(bool $updateQueried = false): array
$data['wpTimezone'] = get_option('timezone_string');
$data['adminEmail'] = get_option('admin_email');
$data['siteName'] = get_bloginfo('name');
- $data['siteLogoUrl'] = esc_url( wp_get_attachment_image_src( get_theme_mod( 'custom_logo' ), 'full' )[0] );
+ $data['siteLogoUrl'] = get_theme_mod('custom_logo');
+ if ($data['siteLogoUrl']) {
+ $data['siteLogoUrl'] = esc_url(wp_get_attachment_image_src($data['siteLogoUrl'], 'full')[0]);
+ } else {
+ $data['siteLogoUrl'] = '';
+ }
$data['listPublicly'] = 1 * ($sets->enable_public_listing === 'on');
$data['installId'] = $this->installId;
$data['privateKey'] = $this->privateKey;
From 70c6c17ea748e3c9f5212eaa5a907e4d42b94fe5 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 19 Dec 2024 22:39:39 -0500
Subject: [PATCH 225/431] Fixes issue calculating calendar range. Closes #215.
Possibly related to #207.
---
src/TouchPoint-WP/CalendarGrid.php | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/TouchPoint-WP/CalendarGrid.php b/src/TouchPoint-WP/CalendarGrid.php
index ff2aabac..e551f3df 100644
--- a/src/TouchPoint-WP/CalendarGrid.php
+++ b/src/TouchPoint-WP/CalendarGrid.php
@@ -74,7 +74,9 @@ public function __construct(WP_Query $q, int $month = null, int $year = null)
$d = new DateTime('now', $tz);
$d = new DateTime($d->format('Y-m-01 00:00:00'), $tz);
} else {
- $d = new DateTime("$year-$month-01", $tz);
+ $d = new DateTime(null, $tz);
+ $d->setDate($year, $month, 1);
+ $d->setTime(0, 0);
}
} catch (Exception $e) {
$this->html = "";
@@ -88,6 +90,12 @@ public function __construct(WP_Query $q, int $month = null, int $year = null)
// Get the day of the week for the first day of the month (0 = Sunday, 1 = Monday, ..., 6 = Saturday)
$offsetDays = intval($d->format('w')); // w: Numeric representation of the day of the week
+
+ // Extra days at the end of the month
+ $daysInMonth = intval($d->format('t'));
+ $daysToShow = 7 * ceil(($daysInMonth + $offsetDays) / 7);
+
+ // Set start of range to be before the offset
try {
$d->modify("-$offsetDays days");
} catch (Exception) { // Exception is not feasible.
@@ -95,10 +103,6 @@ public function __construct(WP_Query $q, int $month = null, int $year = null)
$d->setTimezone($tz);
$r = "";
- // Extra days at the end of the month
- $daysInMonth = intval($d->format('t'));
- $daysToShow = ((42 - $daysInMonth - $offsetDays) % 7) + $daysInMonth;
-
// Create a table to display the calendar
$r .= '';
foreach (Utilities::getDaysOfWeekShort() as $dayStr) {
From 6f3a4c6046b32df99f94f0e499fbb8b1d8d8db99 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Tue, 21 Jan 2025 17:30:58 -0500
Subject: [PATCH 226/431] Resolve an issue where involvements aren't
instantiated in JS for maps
---
src/TouchPoint-WP/Involvement.php | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/TouchPoint-WP/Involvement.php b/src/TouchPoint-WP/Involvement.php
index eca5de62..3ab60c86 100644
--- a/src/TouchPoint-WP/Involvement.php
+++ b/src/TouchPoint-WP/Involvement.php
@@ -2419,6 +2419,12 @@ public static function mapShortcode($params = [], string $content = ""): string
if ($params['all']) {
self::requireAllObjectsInJs();
self::$_hasArchiveMap = true;
+ } else {
+ // enqueue this object for js instantiation
+ $post = get_post();
+ if ($post) {
+ self::fromPost($post)?->enqueueForJsInstantiation();
+ }
}
$script = file_get_contents(TouchPointWP::$dir . "/src/js-partials/involvement-map-inline.js");
From ff6bda5e386064a5f284453b577e3debb89283b1 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Tue, 4 Feb 2025 10:24:45 -0500
Subject: [PATCH 227/431] Adding a method that confirms if post matches a class
---
src/TouchPoint-WP/Involvement.php | 18 +++++++++++++++---
src/TouchPoint-WP/Meeting.php | 12 ++++++++++++
src/TouchPoint-WP/Partner.php | 12 ++++++++++++
src/TouchPoint-WP/PostTypeCapable.php | 10 ++++++++++
4 files changed, 49 insertions(+), 3 deletions(-)
diff --git a/src/TouchPoint-WP/Involvement.php b/src/TouchPoint-WP/Involvement.php
index 3ab60c86..e5d22d5d 100644
--- a/src/TouchPoint-WP/Involvement.php
+++ b/src/TouchPoint-WP/Involvement.php
@@ -3021,7 +3021,7 @@ protected static function doPostUpdate($post, object $inv, Involvement_PostTypeS
}
/**
- * @param \WP_Post|object $post The parent post, which could be a group or Meeting.
+ * @param WP_Post|object $post The parent post, which could be a group or Meeting.
* @param object $inv The involvement object from the API.
* @param Involvement_PostTypeSettings $typeSets
* @param int $imagePostId
@@ -3837,15 +3837,27 @@ public function getTouchPointId(): int
/**
* Indicates if the given post can be instantiated as an Involvement.
*
- * @param \WP_Post $post
+ * @param WP_Post $post
*
* @return bool
*/
- public static function postIsType(\WP_Post $post): bool
+ public static function postIsType(WP_Post $post): bool
{
return intval(get_post_meta($post->ID, TouchPointWP::INVOLVEMENT_META_KEY, true)) > 0;
}
+ /**
+ * Indicates if the given post type name is the post type for this class.
+ *
+ * @param string $postType
+ *
+ * @return bool
+ */
+ public static function postTypeMatches(string $postType): bool
+ {
+ return str_starts_with($postType, "tp_inv_") || $postType == "tp_smallgroup" || $postType == "tp_course";
+ }
+
/**
* Handles the API call to join an involvement through a 'join' button.
*/
diff --git a/src/TouchPoint-WP/Meeting.php b/src/TouchPoint-WP/Meeting.php
index 9b9052b2..74359e11 100644
--- a/src/TouchPoint-WP/Meeting.php
+++ b/src/TouchPoint-WP/Meeting.php
@@ -799,6 +799,18 @@ public static function postIsType(WP_Post $post): bool
return intval(get_post_meta($post->ID, Meeting::MEETING_META_KEY, true)) > 0;
}
+ /**
+ * Indicates if the given post type name is the post type for this class.
+ *
+ * @param string $postType
+ *
+ * @return bool
+ */
+ public static function postTypeMatches(string $postType): bool
+ {
+ return $postType === self::POST_TYPE;
+ }
+
public static function load(): bool
{
if (self::$_isLoaded) {
diff --git a/src/TouchPoint-WP/Partner.php b/src/TouchPoint-WP/Partner.php
index 275c4851..b395d6c5 100644
--- a/src/TouchPoint-WP/Partner.php
+++ b/src/TouchPoint-WP/Partner.php
@@ -1456,6 +1456,18 @@ public static function postIsType(WP_Post $post): bool
return intval(get_post_meta($post->ID, self::FAMILY_META_KEY, true)) > 0;
}
+ /**
+ * Indicates if the given post type name is the post type for this class.
+ *
+ * @param string $postType
+ *
+ * @return bool
+ */
+ public static function postTypeMatches(string $postType): bool
+ {
+ return $postType === self::POST_TYPE;
+ }
+
/**
* Serialize. Mostly, manage the security requirements.
*
diff --git a/src/TouchPoint-WP/PostTypeCapable.php b/src/TouchPoint-WP/PostTypeCapable.php
index 8128e413..1c4bcd8b 100644
--- a/src/TouchPoint-WP/PostTypeCapable.php
+++ b/src/TouchPoint-WP/PostTypeCapable.php
@@ -122,6 +122,16 @@ public abstract function getActionButtons(string $context = null, string $btnCla
public static abstract function postIsType(WP_Post $post): bool;
+ /**
+ * Indicates if the given post type name is the post type for this class.
+ *
+ * @param string $postType
+ *
+ * @return bool
+ */
+ public static abstract function postTypeMatches(string $postType): bool;
+
+
/**
* Gets a TouchPoint item ID number, regardless of what type of object this is.
*
From 9f9aa83f7d5ffa27896ed4bd31522e62fb48d17a Mon Sep 17 00:00:00 2001
From: "James K."
Date: Tue, 4 Feb 2025 14:13:36 -0500
Subject: [PATCH 228/431] Resolve a null issue
---
src/TouchPoint-WP/CalendarGrid.php | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/TouchPoint-WP/CalendarGrid.php b/src/TouchPoint-WP/CalendarGrid.php
index e551f3df..c742f1af 100644
--- a/src/TouchPoint-WP/CalendarGrid.php
+++ b/src/TouchPoint-WP/CalendarGrid.php
@@ -68,15 +68,14 @@ public function __construct(WP_Query $q, int $month = null, int $year = null)
try {
// Validate month & year; create $d as a day within the month
$tz = wp_timezone();
- $month = intval($month);
+ $monthInt = intval($month);
+ $monthStr = substr("0$monthInt", -2);
$year = intval($year);
- if ($month < 1 || $month > 12 || $year < 2020 || $year > 2100) {
+ if ($monthInt < 1 || $monthInt > 12 || $year < 2020 || $year > 2100) {
$d = new DateTime('now', $tz);
$d = new DateTime($d->format('Y-m-01 00:00:00'), $tz);
} else {
- $d = new DateTime(null, $tz);
- $d->setDate($year, $month, 1);
- $d->setTime(0, 0);
+ $d = new DateTime("$year-$monthStr-01 00:00:00", $tz);
}
} catch (Exception $e) {
$this->html = "";
From 24d5523ec42b4524164ec8238bd9e8f0fc4c487f Mon Sep 17 00:00:00 2001
From: "James K."
Date: Tue, 11 Feb 2025 10:29:12 -0500
Subject: [PATCH 229/431] Add rate limiting to IP API
---
src/TouchPoint-WP/TouchPointWP.php | 11 +++++++++++
src/TouchPoint-WP/TouchPointWP_Settings.php | 1 +
2 files changed, 12 insertions(+)
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index 70eef512..7b282367 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -1234,6 +1234,11 @@ protected function getIpData(string $ip, bool $useApi = true)
return false;
}
+ if (intval($this->settings->ipapi_ratelimit_exp) > time()) {
+ // Rate limited.
+ return false;
+ }
+
$ipapi_key = $this->settings->ipapi_key;
if ($ipapi_key !== "") {
$ipapi_key = [
@@ -1248,9 +1253,15 @@ protected function getIpData(string $ip, bool $useApi = true)
$return = $return['body'];
if (str_contains($return, 'Too many rapid requests')) {
+ $this->settings->set('ipapi_ratelimit_exp', time() + 10); // defer for 10 seconds.
throw new TouchPointWP_Exception("IP Geolocation Error: Too many requests", 178001);
}
+ if (str_contains($return, 'RateLimited')) {
+ $this->settings->set('ipapi_ratelimit_exp', time() + 300); // defer for 5 minutes.
+ throw new TouchPointWP_Exception("IP Geolocation Error: Rate Limited", 178001);
+ }
+
try {
json_decode($return, flags: JSON_THROW_ON_ERROR);
} catch (JsonException) {
diff --git a/src/TouchPoint-WP/TouchPointWP_Settings.php b/src/TouchPoint-WP/TouchPointWP_Settings.php
index 42a427c5..312f5292 100644
--- a/src/TouchPoint-WP/TouchPointWP_Settings.php
+++ b/src/TouchPoint-WP/TouchPointWP_Settings.php
@@ -32,6 +32,7 @@
* @property-read string google_maps_api_key Google Maps API Key for embedded maps
* @property-read string google_geo_api_key Google Maps API Key for geocoding
* @property-read string ipapi_key The API key for ipapi.co for geolocation.
+ * @property-read ?int ipapi_ratelimit_exp The time at which the rate limit for ipapi.co will expire.
*
* @property-read string enable_public_listing Whether to allow the site to be listed as using TouchPoint-WP
*
From ac3c29235f7949a6001ae1f1dd3dd06fe9cc5cdf Mon Sep 17 00:00:00 2001
From: "James K."
Date: Tue, 11 Feb 2025 10:48:22 -0500
Subject: [PATCH 230/431] Resolving an issue where an array key is not defined.
---
src/TouchPoint-WP/Report.php | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/TouchPoint-WP/Report.php b/src/TouchPoint-WP/Report.php
index 013973be..8a053d00 100644
--- a/src/TouchPoint-WP/Report.php
+++ b/src/TouchPoint-WP/Report.php
@@ -70,7 +70,8 @@ protected function __construct($params)
{
$this->name = $params['name'];
$this->type = $params['type'];
- $this->interval = max(floor(floatval($params['interval']) * 4) / 4, 0.25);
+ $interval = $params['interval'] ?? 24;
+ $this->interval = max(floor(floatval($interval) * 4) / 4, 0.25);
$this->p1 = $params['p1'] ?? "";
}
@@ -108,6 +109,8 @@ public static function fromParams($params): self
throw new TouchPointWP_Exception("Invalid Report type.", 173002);
}
+ $params['interval'] = floatval($params['interval'] ?? 24);
+
$key = self::cacheKey($params);
if (isset(self::$_instances[$key])) {
self::$_instances[$key]->mergeParams($params);
From 3adea6010f358e399bdbdab15e9bac53afe5c700 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Wed, 12 Feb 2025 13:19:37 -0500
Subject: [PATCH 231/431] Significantly extending validity of IP cache
---
src/TouchPoint-WP/TouchPointWP.php | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index 7b282367..37ec46f8 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -88,7 +88,8 @@ class TouchPointWP
*/
public const CACHE_TTL = 8;
- public const TTL_IP_GEO = 5; // years
+ public const TTL_IP_GEO = 5; // years until deleted
+ public const TTU_IP_GEO = 180; // days until updated
/**
* Caching
@@ -1214,8 +1215,9 @@ protected function getIpData(string $ip, bool $useApi = true)
global $wpdb;
$tableName = $wpdb->base_prefix . self::TABLE_IP_GEO;
+ $days = self::TTU_IP_GEO;
/** @noinspection SqlResolve */
- $q = $wpdb->prepare("SELECT * FROM $tableName WHERE ip = %s and updatedDt > (NOW() - INTERVAL 30 DAY)", $ip_pton);
+ $q = $wpdb->prepare("SELECT * FROM $tableName WHERE ip = %s and updatedDt > (NOW() - INTERVAL $days DAY)", $ip_pton);
$cache = $wpdb->get_row($q);
if ($cache) {
$this->ipData = $cache->data;
From fc32941fe34a37c771a8dd1fbbf618a79a880e98 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Wed, 12 Feb 2025 13:30:48 -0500
Subject: [PATCH 232/431] Improving rate limiting again
---
src/TouchPoint-WP/TouchPointWP.php | 4 ++--
src/TouchPoint-WP/TouchPointWP_Settings.php | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index 37ec46f8..2b2394f7 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -1256,12 +1256,12 @@ protected function getIpData(string $ip, bool $useApi = true)
if (str_contains($return, 'Too many rapid requests')) {
$this->settings->set('ipapi_ratelimit_exp', time() + 10); // defer for 10 seconds.
- throw new TouchPointWP_Exception("IP Geolocation Error: Too many requests", 178001);
+ throw new TouchPointWP_Exception("IP Geolocation Error: Too many requests. Backing off for 10 seconds.", 178001);
}
if (str_contains($return, 'RateLimited')) {
$this->settings->set('ipapi_ratelimit_exp', time() + 300); // defer for 5 minutes.
- throw new TouchPointWP_Exception("IP Geolocation Error: Rate Limited", 178001);
+ throw new TouchPointWP_Exception("IP Geolocation Error: Rate Limited. Backing off for 5 minutes.", 178001);
}
try {
diff --git a/src/TouchPoint-WP/TouchPointWP_Settings.php b/src/TouchPoint-WP/TouchPointWP_Settings.php
index 312f5292..fbf702ca 100644
--- a/src/TouchPoint-WP/TouchPointWP_Settings.php
+++ b/src/TouchPoint-WP/TouchPointWP_Settings.php
@@ -1603,7 +1603,7 @@ public function migrate(): void
// 0.0.94 - Cleanup old IP Geo data
$tableName = $wpdb->base_prefix . TouchPointWP::TABLE_IP_GEO;
$years = TouchPointWP::TTL_IP_GEO;
- $wpdb->query("DELETE FROM $tableName WHERE `updatedDT` < NOW() - INTERVAL $years YEAR OR `data` LIKE 'Too many rapid requests.%';");
+ $wpdb->query("DELETE FROM $tableName WHERE `updatedDT` < NOW() - INTERVAL $years YEAR OR `data` LIKE '%error\": true%';");
// 0.0.95 - Remove never-really-used option for deletion handling
delete_option('tp_mc_deletion_method');
From 19965dff7c4e93edf642693dadc192e9191294d0 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Sun, 16 Feb 2025 22:30:22 -0500
Subject: [PATCH 233/431] Correcting issue where __destruct should always be
public
---
src/TouchPoint-WP/Stats.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/TouchPoint-WP/Stats.php b/src/TouchPoint-WP/Stats.php
index b00d5934..770f1343 100644
--- a/src/TouchPoint-WP/Stats.php
+++ b/src/TouchPoint-WP/Stats.php
@@ -109,7 +109,7 @@ protected function __construct()
*
* @throws Exception
*/
- protected function __destruct()
+ public function __destruct()
{
if ($this->_dirty) {
throw new Exception("Stats object was not saved.");
From cfaa257a5349cdb87ad440db98e763a31ef487f7 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Sun, 16 Feb 2025 22:33:34 -0500
Subject: [PATCH 234/431] Correcting an issue that caused map shortcode to not
work for meetings
---
src/TouchPoint-WP/Involvement.php | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/TouchPoint-WP/Involvement.php b/src/TouchPoint-WP/Involvement.php
index e5d22d5d..8fbadf58 100644
--- a/src/TouchPoint-WP/Involvement.php
+++ b/src/TouchPoint-WP/Involvement.php
@@ -2423,7 +2423,13 @@ public static function mapShortcode($params = [], string $content = ""): string
// enqueue this object for js instantiation
$post = get_post();
if ($post) {
- self::fromPost($post)?->enqueueForJsInstantiation();
+ $inv = null;
+ if (Meeting::postIsType($post)) {
+ $inv = Meeting::fromPost($post)?->involvement();
+ } elseif (Involvement::postIsType($post)) {
+ $inv = Involvement::fromPost($post);
+ }
+ $inv?->enqueueForJsInstantiation();
}
}
From a93b22569d87274f82d4802dd0a9fefa094bc4a5 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 27 Feb 2025 14:10:07 -0500
Subject: [PATCH 235/431] Some adjustments to the calendar grid api
---
src/TouchPoint-WP/CalendarGrid.php | 24 ++++++++++++++++++++++++
src/templates/meeting-archive.php | 10 +---------
2 files changed, 25 insertions(+), 9 deletions(-)
diff --git a/src/TouchPoint-WP/CalendarGrid.php b/src/TouchPoint-WP/CalendarGrid.php
index c742f1af..ffca369c 100644
--- a/src/TouchPoint-WP/CalendarGrid.php
+++ b/src/TouchPoint-WP/CalendarGrid.php
@@ -464,4 +464,28 @@ protected static function getMonthNameForDate(DateTimeInterface $date): string
}
return $label;
}
+
+
+ protected static ?CalendarGrid $defaultItem = null;
+
+ /**
+ * Get a standard calendar grid, as would be used for most applications on a standard archive page.
+ *
+ * @return CalendarGrid
+ */
+ public final static function getDefaultGrid(): CalendarGrid
+ {
+ global $wp_query;
+ if (self::$defaultItem === null) {
+ if (!isset($_GET['page']) || !preg_match('/^(?P[0-9]{2})-(?P[0-9]{4})$/', $_GET['page'], $matches)) {
+ $matches = [
+ 'mo' => null,
+ 'yr' => null
+ ];
+ }
+
+ self::$defaultItem = new CalendarGrid($wp_query, $matches['mo'], $matches['yr']);
+ }
+ return self::$defaultItem;
+ }
}
\ No newline at end of file
diff --git a/src/templates/meeting-archive.php b/src/templates/meeting-archive.php
index 7d62f5d5..e69ba196 100644
--- a/src/templates/meeting-archive.php
+++ b/src/templates/meeting-archive.php
@@ -36,15 +36,7 @@
[0-9]{2})-(?P[0-9]{4})$/', $_GET['page'], $matches)) {
- $matches = [
- 'mo' => null,
- 'yr' => null
- ];
- }
-
- $grid = new CalendarGrid($wp_query, $matches['mo'], $matches['yr']);
-
+ $grid = CalendarGrid::getDefaultGrid();
echo $grid->navBar(true);
echo $grid;
if ($grid->eventCount > 0) {
From 38e4fb64e147a30d04714cc5088db210b2f90daa Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 27 Feb 2025 14:25:56 -0500
Subject: [PATCH 236/431] Adding calendar grid shortcode
---
src/TouchPoint-WP/CalendarGrid.php | 23 +++++++++++++++++++++++
src/TouchPoint-WP/Meeting.php | 6 ++++++
src/templates/meeting-archive.php | 14 ++------------
3 files changed, 31 insertions(+), 12 deletions(-)
diff --git a/src/TouchPoint-WP/CalendarGrid.php b/src/TouchPoint-WP/CalendarGrid.php
index ffca369c..39d05e59 100644
--- a/src/TouchPoint-WP/CalendarGrid.php
+++ b/src/TouchPoint-WP/CalendarGrid.php
@@ -488,4 +488,27 @@ public final static function getDefaultGrid(): CalendarGrid
}
return self::$defaultItem;
}
+
+ /**
+ * @return void
+ */
+ public static function shortcode(): void
+ {
+ if (have_posts()) {
+ global $wp_query;
+
+ $grid = self::getDefaultGrid();
+ echo $grid->navBar(true);
+ echo $grid;
+ if ($grid->eventCount > 0) {
+ echo $grid->navBar(false, 'bottom');
+ }
+
+ wp_reset_query();
+ $taxQuery = [[]];
+ $wp_query->tax_query->queries = $taxQuery;
+ $wp_query->query_vars['tax_query'] = $taxQuery;
+ $wp_query->is_tax = false; // prevents templates from thinking this is a taxonomy archive
+ }
+ }
}
\ No newline at end of file
diff --git a/src/TouchPoint-WP/Meeting.php b/src/TouchPoint-WP/Meeting.php
index 74359e11..8551f827 100644
--- a/src/TouchPoint-WP/Meeting.php
+++ b/src/TouchPoint-WP/Meeting.php
@@ -43,6 +43,8 @@ class Meeting extends PostTypeCapable implements api, module, hasGeo, hierarchic
public const MEETING_STATUS_META_KEY = TouchPointWP::SETTINGS_PREFIX . "status";
public const MEETING_INV_ID_META_KEY = TouchPointWP::SETTINGS_PREFIX . "mtgInvId";
+ public const SHORTCODE_GRID = TouchPointWP::SHORTCODE_PREFIX . "calendar";
+
public const STATUS_CANCELLED = "cancelled";
public const STATUS_SCHEDULED = "scheduled";
public const STATUS_UNKNOWN = "unknown";
@@ -821,6 +823,10 @@ public static function load(): bool
add_action(TouchPointWP::INIT_ACTION_HOOK, [self::class, 'init']);
+ if ( ! shortcode_exists(self::SHORTCODE_GRID)) {
+ add_shortcode(self::SHORTCODE_GRID, [CalendarGrid::class, "shortcode"]);
+ }
+
return true;
}
diff --git a/src/templates/meeting-archive.php b/src/templates/meeting-archive.php
index e69ba196..3d1b4073 100644
--- a/src/templates/meeting-archive.php
+++ b/src/templates/meeting-archive.php
@@ -36,18 +36,8 @@
navBar(true);
- echo $grid;
- if ($grid->eventCount > 0) {
- echo $grid->navBar(false, 'bottom');
- }
-
- wp_reset_query();
- $taxQuery = [[]];
- $wp_query->tax_query->queries = $taxQuery;
- $wp_query->query_vars['tax_query'] = $taxQuery;
- $wp_query->is_tax = false; // prevents templates from thinking this is a taxonomy archive
+ CalendarGrid::shortcode();
+
}
?>
From faf18afc02b8e5eb992ed9b065403ec3059f06bc Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 27 Feb 2025 14:31:34 -0500
Subject: [PATCH 237/431] Correcting a comment
---
src/TouchPoint-WP/storedAsPost.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/TouchPoint-WP/storedAsPost.php b/src/TouchPoint-WP/storedAsPost.php
index 2d587268..b28e8487 100644
--- a/src/TouchPoint-WP/storedAsPost.php
+++ b/src/TouchPoint-WP/storedAsPost.php
@@ -8,7 +8,7 @@
use WP_Post;
/**
- * This is a base interface for classes that have "schedule" strings.
+ * This is a base interface for classes that store TouchPoint items as posts in WordPress.
*/
interface storedAsPost
{
From 64f77b8480a8168ff16584985e0e3f645929c243 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 27 Feb 2025 14:47:38 -0500
Subject: [PATCH 238/431] Improving inline documentation
---
src/TouchPoint-WP/CalendarGrid.php | 7 +++++++
src/TouchPoint-WP/EventsCalendar.php | 2 ++
src/TouchPoint-WP/ExtraValueHandler.php | 6 ++++--
src/TouchPoint-WP/api.php | 4 +++-
src/TouchPoint-WP/extraValues.php | 2 +-
5 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/src/TouchPoint-WP/CalendarGrid.php b/src/TouchPoint-WP/CalendarGrid.php
index 39d05e59..0a541d3a 100644
--- a/src/TouchPoint-WP/CalendarGrid.php
+++ b/src/TouchPoint-WP/CalendarGrid.php
@@ -29,7 +29,14 @@
* @package TouchPointWP
*/
class CalendarGrid {
+ /**
+ * @var ?DateTimeImmutable The date of the next month.
+ */
public ?DateTimeImmutable $next = null;
+
+ /**
+ * @var ?DateTimeImmutable The date of the previous month.
+ */
public ?DateTimeImmutable $prev = null;
/**
diff --git a/src/TouchPoint-WP/EventsCalendar.php b/src/TouchPoint-WP/EventsCalendar.php
index 5f9e59a3..04d17a43 100644
--- a/src/TouchPoint-WP/EventsCalendar.php
+++ b/src/TouchPoint-WP/EventsCalendar.php
@@ -20,6 +20,8 @@
* Provides an interface to bridge the gap between The Events Calendar plugin (by Modern Tribe) and the TouchPoint
* mobile app.
*
+ * This class and its features are deprecated since it will no longer be needed when mobile v2 is retired.
+ *
* @since 0.0.90 Deprecated. Will be removed once v2.0 apps are no longer in use, as this won't be necessary for 3.0+.
* @deprecated since 0.0.90 Will not be necessary once mobile 3.0 exists.
*/
diff --git a/src/TouchPoint-WP/ExtraValueHandler.php b/src/TouchPoint-WP/ExtraValueHandler.php
index b2bd8741..9718c4af 100644
--- a/src/TouchPoint-WP/ExtraValueHandler.php
+++ b/src/TouchPoint-WP/ExtraValueHandler.php
@@ -8,11 +8,13 @@
use DateTime;
/**
- * Manages the handling of Extra Values. Items that support Extra Values MUST use the ExtraValues Trait.
+ * Classes that have extra values should implement the ExtraValues trait, which provides a ExtraValues() method which
+ * returns an instance of this class and allows getting the values via its getter. That trait has the abstract methods
+ * that need to be implemented for Extra Values to be available.
*/
class ExtraValueHandler
{
- /** @var object|extraValues $owner */
+ /** @var object|extraValues $owner The object that has extra values */
protected object $owner; // Must have the extraValues trait.
/**
diff --git a/src/TouchPoint-WP/api.php b/src/TouchPoint-WP/api.php
index 8fae0c90..3055c69b 100644
--- a/src/TouchPoint-WP/api.php
+++ b/src/TouchPoint-WP/api.php
@@ -11,7 +11,9 @@
/**
- * API Interface
+ * Any classes that handle API requests from the client via /touchpoint-api/ should implement this interface.
+ *
+ * This is NOT for the connection to TouchPoint's API, but rather for XHR and such from the client.
*/
interface api
{
diff --git a/src/TouchPoint-WP/extraValues.php b/src/TouchPoint-WP/extraValues.php
index e289e310..95329540 100644
--- a/src/TouchPoint-WP/extraValues.php
+++ b/src/TouchPoint-WP/extraValues.php
@@ -14,7 +14,7 @@
}
/**
- * Enables a class with Extra Values
+ * Enables a class to have Extra Values. Defines several abstract methods that must be implemented.
*/
trait extraValues
{
From 2e58017d71c39cc35c36e534524f466342437973 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 27 Feb 2025 14:49:20 -0500
Subject: [PATCH 239/431] boring i18n update
---
i18n/TouchPoint-WP-es_ES.po | 528 +++++++++++++++++------------------
i18n/TouchPoint-WP.pot | 532 ++++++++++++++++++------------------
2 files changed, 530 insertions(+), 530 deletions(-)
diff --git a/i18n/TouchPoint-WP-es_ES.po b/i18n/TouchPoint-WP-es_ES.po
index 9a201c6e..204bc25d 100644
--- a/i18n/TouchPoint-WP-es_ES.po
+++ b/i18n/TouchPoint-WP-es_ES.po
@@ -55,7 +55,7 @@ msgid "Slug"
msgstr "Slug"
#: src/templates/admin/invKoForm.php:48
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:977
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:978
msgid "Divisions to Import"
msgstr "Divisiones a Importar"
@@ -88,7 +88,7 @@ msgstr "Tipos de miembros de lÃder"
#: src/templates/admin/invKoForm.php:165
#: src/templates/admin/invKoForm.php:318
#: src/templates/parts/involvement-nearby-list.php:2
-#: src/TouchPoint-WP/Meeting.php:746
+#: src/TouchPoint-WP/Meeting.php:758
#: src/TouchPoint-WP/Rsvp.php:75
#: assets/js/base-defer.js:192
#: assets/js/base-defer.js:1133
@@ -124,13 +124,13 @@ msgid "Gender"
msgstr "Género"
#: src/templates/admin/invKoForm.php:237
-#: src/TouchPoint-WP/Involvement.php:1853
+#: src/TouchPoint-WP/Involvement.php:1856
#: src/TouchPoint-WP/Taxonomies.php:750
msgid "Weekday"
msgstr "DÃa laborable"
#: src/templates/admin/invKoForm.php:241
-#: src/TouchPoint-WP/Involvement.php:1879
+#: src/TouchPoint-WP/Involvement.php:1882
#: src/TouchPoint-WP/Taxonomies.php:808
msgid "Time of Day"
msgstr "Hora del dÃa"
@@ -174,7 +174,7 @@ msgstr "Seleccione..."
#. translators: %s will be the plural post type (e.g. Small Groups)
#: src/templates/parts/involvement-list-none.php:16
-#: src/TouchPoint-WP/Involvement.php:2099
+#: src/TouchPoint-WP/Involvement.php:2102
msgid "No %s Found."
msgstr "No se encontraron %s"
@@ -200,99 +200,99 @@ msgstr "Su token de inicio de sesión no es válido."
msgid "Session could not be validated."
msgstr "No se pudo validar la sesión."
-#: src/TouchPoint-WP/EventsCalendar.php:77
+#: src/TouchPoint-WP/EventsCalendar.php:79
msgid "Recurring"
msgstr "Periódico"
-#: src/TouchPoint-WP/EventsCalendar.php:80
-#: src/TouchPoint-WP/EventsCalendar.php:297
+#: src/TouchPoint-WP/EventsCalendar.php:82
+#: src/TouchPoint-WP/EventsCalendar.php:299
msgid "Multi-Day"
msgstr "varios dÃas"
-#: src/TouchPoint-WP/Involvement.php:495
+#: src/TouchPoint-WP/Involvement.php:498
msgid "Currently Full"
msgstr "Actualmente lleno"
-#: src/TouchPoint-WP/Involvement.php:500
+#: src/TouchPoint-WP/Involvement.php:503
msgid "Currently Closed"
msgstr "Actualmente cerrado"
-#: src/TouchPoint-WP/Involvement.php:507
+#: src/TouchPoint-WP/Involvement.php:510
msgid "Registration Not Open Yet"
msgstr "Registro aún no abierto"
-#: src/TouchPoint-WP/Involvement.php:513
+#: src/TouchPoint-WP/Involvement.php:516
msgid "Registration Closed"
msgstr "Registro cerrado"
-#: src/TouchPoint-WP/Involvement.php:1728
-#: src/TouchPoint-WP/Partner.php:814
+#: src/TouchPoint-WP/Involvement.php:1731
+#: src/TouchPoint-WP/Partner.php:825
msgid "Any"
msgstr "Cualquier"
#. translators: %s is for the user-provided term for the items on the map (e.g. Small Group or Partner)
-#: src/TouchPoint-WP/Involvement.php:1936
-#: src/TouchPoint-WP/Partner.php:838
+#: src/TouchPoint-WP/Involvement.php:1939
+#: src/TouchPoint-WP/Partner.php:849
msgid "The %s listed are only those shown on the map."
msgstr "Los %s enumerados son solo los que se muestran en el mapa."
-#: src/TouchPoint-WP/Involvement.php:3556
+#: src/TouchPoint-WP/Involvement.php:3571
msgid "Men Only"
msgstr "Solo hombres"
-#: src/TouchPoint-WP/Involvement.php:3559
+#: src/TouchPoint-WP/Involvement.php:3574
msgid "Women Only"
msgstr "Solo mujeres"
-#: src/TouchPoint-WP/Involvement.php:3636
+#: src/TouchPoint-WP/Involvement.php:3651
msgid "Contact Leaders"
msgstr "Contacta con las lÃderes"
-#: src/TouchPoint-WP/Involvement.php:3706
-#: src/TouchPoint-WP/Involvement.php:3765
+#: src/TouchPoint-WP/Involvement.php:3721
+#: src/TouchPoint-WP/Involvement.php:3780
msgid "Register"
msgstr "RegÃstrate ahora"
-#: src/TouchPoint-WP/Involvement.php:3712
+#: src/TouchPoint-WP/Involvement.php:3727
msgid "Create Account"
msgstr "Crear cuenta"
-#: src/TouchPoint-WP/Involvement.php:3716
+#: src/TouchPoint-WP/Involvement.php:3731
msgid "Schedule"
msgstr "Programe"
-#: src/TouchPoint-WP/Involvement.php:3721
+#: src/TouchPoint-WP/Involvement.php:3736
msgid "Give"
msgstr "Dar"
-#: src/TouchPoint-WP/Involvement.php:3724
+#: src/TouchPoint-WP/Involvement.php:3739
msgid "Manage Subscriptions"
msgstr "Administrar suscripciones"
-#: src/TouchPoint-WP/Involvement.php:3727
+#: src/TouchPoint-WP/Involvement.php:3742
msgid "Record Attendance"
msgstr "Registre su asistencia"
-#: src/TouchPoint-WP/Involvement.php:3730
+#: src/TouchPoint-WP/Involvement.php:3745
msgid "Get Tickets"
msgstr "Obtener boletos"
-#: src/TouchPoint-WP/Involvement.php:3756
+#: src/TouchPoint-WP/Involvement.php:3771
#: assets/js/base-defer.js:1001
msgid "Join"
msgstr "Únete"
-#: src/TouchPoint-WP/Involvement.php:3653
-#: src/TouchPoint-WP/Partner.php:1318
+#: src/TouchPoint-WP/Involvement.php:3668
+#: src/TouchPoint-WP/Partner.php:1329
msgid "Show on Map"
msgstr "Muestra en el mapa"
#. translators: %s is for the user-provided "Global Partner" and "Secure Partner" terms.
-#: src/TouchPoint-WP/Partner.php:845
+#: src/TouchPoint-WP/Partner.php:856
msgid "The %1$s listed are only those shown on the map, as well as all %2$s."
msgstr "Los %1$s enumerados son solo los que se muestran en el mapa, asà como todos los %2$s."
-#: src/TouchPoint-WP/Partner.php:1259
+#: src/TouchPoint-WP/Partner.php:1270
msgid "Not Shown on Map"
msgstr "No se muestra en el mapa"
@@ -308,503 +308,503 @@ msgstr "ID de Personas de TouchPoint"
msgid "Contact"
msgstr "Contacta"
-#: src/TouchPoint-WP/Meeting.php:745
-#: src/TouchPoint-WP/Meeting.php:766
+#: src/TouchPoint-WP/Meeting.php:757
+#: src/TouchPoint-WP/Meeting.php:778
#: src/TouchPoint-WP/Rsvp.php:80
msgid "RSVP"
msgstr "RSVP"
-#: src/TouchPoint-WP/TouchPointWP.php:2031
+#: src/TouchPoint-WP/TouchPointWP.php:2047
msgid "Unknown Type"
msgstr "Tipo desconocido"
-#: src/TouchPoint-WP/TouchPointWP.php:2088
+#: src/TouchPoint-WP/TouchPointWP.php:2104
msgid "Your Searches"
msgstr "Tus búsquedas"
-#: src/TouchPoint-WP/TouchPointWP.php:2091
+#: src/TouchPoint-WP/TouchPointWP.php:2107
msgid "Public Searches"
msgstr "Búsquedas públicas"
-#: src/TouchPoint-WP/TouchPointWP.php:2094
+#: src/TouchPoint-WP/TouchPointWP.php:2110
msgid "Status Flags"
msgstr "Indicadores de Estado"
-#: src/TouchPoint-WP/TouchPointWP.php:2099
-#: src/TouchPoint-WP/TouchPointWP.php:2100
+#: src/TouchPoint-WP/TouchPointWP.php:2115
+#: src/TouchPoint-WP/TouchPointWP.php:2116
msgid "Current Value"
msgstr "Valor actual"
-#: src/TouchPoint-WP/TouchPointWP.php:2217
-#: src/TouchPoint-WP/TouchPointWP.php:2253
+#: src/TouchPoint-WP/TouchPointWP.php:2233
+#: src/TouchPoint-WP/TouchPointWP.php:2269
msgid "Invalid or incomplete API Settings."
msgstr "Configuración de API no válida o incompleta."
-#: src/TouchPoint-WP/TouchPointWP.php:2267
-#: src/TouchPoint-WP/TouchPointWP.php:2311
+#: src/TouchPoint-WP/TouchPointWP.php:2283
+#: src/TouchPoint-WP/TouchPointWP.php:2327
msgid "Host appears to be missing from TouchPoint-WP configuration."
msgstr "Parece que falta el host en la configuración de TouchPoint-WP."
-#: src/TouchPoint-WP/TouchPointWP.php:2443
+#: src/TouchPoint-WP/TouchPointWP.php:2459
msgid "People Query Failed"
msgstr "Consulta de registros de personas fallida"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:257
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:258
msgid "Basic Settings"
msgstr "Ajustes básicos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:258
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:259
msgid "Connect to TouchPoint and choose which features you wish to use."
msgstr "Conéctese a TouchPoint y elija qué funciones desea usar."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:262
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:263
msgid "Enable Authentication"
msgstr "Habilitar autenticación"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:263
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:264
msgid "Allow TouchPoint users to sign into this website with TouchPoint."
msgstr "Permita que los usuarios de TouchPoint inicien sesión en este sitio web con TouchPoint."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:274
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:275
msgid "Enable RSVP Tool"
msgstr "Habilitar la herramienta RSVP"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:275
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:276
msgid "Add a crazy-simple RSVP button to WordPress event pages."
msgstr "Agregue un botón RSVP muy simple a las páginas de eventos de WordPress."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:282
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:283
msgid "Enable Involvements"
msgstr "Habilitar Participaciones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:283
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:284
msgid "Load Involvements from TouchPoint for involvement listings and entries native in your website."
msgstr "Cargue participaciones desde TouchPoint para obtener listas de participación y entradas nativas en su sitio web."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:304
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:305
msgid "Enable Public People Lists"
msgstr "Habilitar listas de personas públicas"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:305
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:306
msgid "Import public people listings from TouchPoint (e.g. staff or elders)"
msgstr "Importe listados públicos de personas desde TouchPoint (por ejemplo, personal o ancianos)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:315
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:316
msgid "Enable Global Partner Listings"
msgstr "Habilitar listados de Socios Globales"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:316
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:317
msgid "Import ministry partners from TouchPoint to list publicly."
msgstr "Importe socios ministeriales de TouchPoint para incluirlos en una lista pública."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:337
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:338
msgid "Display Name"
msgstr "Nombre para mostrar"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:338
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:339
msgid "What your church calls your TouchPoint database."
msgstr "Lo que su iglesia llama su base de datos TouchPoint."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:348
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:349
msgid "TouchPoint Host Name"
msgstr "Nombre de host del TouchPoint"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:349
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:350
msgid "The domain for your TouchPoint database, without the https or any slashes."
msgstr "El dominio de su base de datos TouchPoint, sin https ni barras."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:361
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:362
msgid "Custom Mobile App Deeplink Host Name"
msgstr "Nombre de host de enlace profundo de aplicación móvil personalizada"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:373
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:374
msgid "TouchPoint API Username"
msgstr "Nombre de usuario de la API de TouchPoint"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:385
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:386
msgid "TouchPoint API User Password"
msgstr "Contraseña de usuario de la API de TouchPoint"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:386
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:387
msgid "The password of a user account in TouchPoint with API permissions."
msgstr "La contraseña de una cuenta de usuario en TouchPoint con permisos de API."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:398
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:399
msgid "TouchPoint API Script Name"
msgstr "Nombre de la secuencia de comandos de la API de TouchPoint"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:399
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:400
msgid "The name of the Python script loaded into TouchPoint. Don't change this unless you know what you're doing."
msgstr "El nombre de la secuencia de comandos de Python cargada en TouchPoint. No cambies esto a menos que sepas lo que estás haciendo."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:410
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:411
msgid "Google Maps Javascript API Key"
msgstr "Clave de la API de Javascript de Google Maps"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:411
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:412
msgid "Required for embedding maps."
msgstr "Necesario para incrustar mapas."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:422
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:423
msgid "Google Maps Geocoding API Key"
msgstr "Clave API de codificación geográfica de Google Maps"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:423
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:424
msgid "Optional. Allows for reverse geocoding of user locations."
msgstr "Opcional. Permite la geocodificación inversa de las ubicaciones de los usuarios."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:463
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:468
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:464
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:469
msgid "Generate Scripts"
msgstr "Generar secuencias de comandos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:467
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:468
msgid "Upload the package to {tpName} here"
msgstr "Sube el paquete a {tpName} aquÃ"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:484
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:485
msgid "People"
msgstr "Gente"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:485
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:486
msgid "Manage how people are synchronized between TouchPoint and WordPress."
msgstr "Administre cómo se sincronizan las personas entre TouchPoint y WordPress."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:489
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:490
msgid "Contact Keywords"
msgstr "Palabras clave de contacto"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:490
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:491
msgid "These keywords will be used when someone clicks the \"Contact\" button on a Person's listing or profile."
msgstr "Estas palabras clave se utilizarán cuando alguien haga clic en el botón \"Contactar\" en la lista o el perfil de una Persona."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:501
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:502
msgid "Extra Value for WordPress User ID"
msgstr "Valor Adicional para la ID de usuario de WordPress"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:502
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:503
msgid "The name of the extra value to use for the WordPress User ID. If you are using multiple WordPress instances with one TouchPoint database, you will need these values to be unique between WordPress instances. In most cases, the default is fine."
msgstr "El nombre del valor adicional que se usará para el ID de usuario de WordPress. Si está utilizando varias instancias de WordPress con una base de datos de TouchPoint, necesitará que estos valores sean únicos entre las instancias de WordPress. En la mayorÃa de los casos, el valor predeterminado está bien."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:512
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:513
msgid "Extra Value: Biography"
msgstr "Valor Adicional: BiografÃa"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:513
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:514
msgid "Import a Bio from a Person Extra Value field. Can be an HTML or Text Extra Value. This will overwrite any values set by WordPress. Leave blank to not import."
msgstr "Importe una biografÃa desde un campo de Valor Adicional de Persona. Puede ser un Valor Adicional HTML o de texto. Esto sobrescribirá cualquier valor establecido por WordPress. Dejar en blanco para no importar."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:523
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:761
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:524
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:762
msgid "Extra Values to Import"
msgstr "Valor Adicional para importar"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:524
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:525
msgid "Import People Extra Value fields as User Meta data."
msgstr "Importe campos de valor extra de personas como metadatos de usuario."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:540
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:541
msgid "Authentication"
msgstr "Autenticación"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:541
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:542
msgid "Allow users to log into WordPress using TouchPoint."
msgstr "Permita que los usuarios inicien sesión en WordPress usando TouchPoint."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:545
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:546
msgid "Make TouchPoint the default authentication method."
msgstr "Haga que TouchPoint sea el método de autenticación predeterminado."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:555
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:556
msgid "Enable Auto-Provisioning"
msgstr "Habilitar el aprovisionamiento automático"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:556
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:557
msgid "Automatically create WordPress users, if needed, to match authenticated TouchPoint users."
msgstr "Cree automáticamente usuarios de WordPress, si es necesario, para que coincidan con los usuarios autenticados de TouchPoint."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:565
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:566
msgid "Change 'Edit Profile' links"
msgstr "Cambiar los enlaces 'Editar perfil'"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:566
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:567
msgid "\"Edit Profile\" links will take the user to their TouchPoint profile, instead of their WordPress profile."
msgstr "Los enlaces \"Editar perfil\" llevarán al usuario a su perfil de TouchPoint, en lugar de a su perfil de WordPress."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:575
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:576
msgid "Enable full logout"
msgstr "Habilitar cierre de sesión completo"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:576
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:577
msgid "Logout of TouchPoint when logging out of WordPress."
msgstr "Cierre sesión en TouchPoint al cerrar sesión en WordPress."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:582
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:583
msgid "Prevent Subscriber Admin Bar"
msgstr "Prevenir la barra de administración de suscriptores"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:583
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:584
msgid "By enabling this option, users who can't edit anything won't see the Admin bar."
msgstr "Al habilitar esta opción, los usuarios que no pueden editar nada no verán la barra de administración."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:597
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:598
msgid "Involvements"
msgstr "Involucramientos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:598
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:599
msgid "Import Involvements from TouchPoint to list them on your website, for Small Groups, Classes, and more. Select the division(s) that immediately correspond to the type of Involvement you want to list. For example, if you want a Small Group list and have a Small Group Division, only select the Small Group Division. If you want Involvements to be filterable by additional Divisions, select those Divisions on the Divisions tab, not here."
msgstr "Importe participaciones desde TouchPoint para enumerarlas en su sitio web, para grupos pequeños, clases y más. Seleccione la(s) división(es) que corresponda(n) inmediatamente al tipo de participación que desea enumerar. Por ejemplo, si desea una lista de grupos pequeños y tiene una división de grupos pequeños, solo seleccione la división de grupos pequeños. Si desea que las participaciones se puedan filtrar por divisiones adicionales, seleccione esas divisiones en la pestaña Divisiones, no aquÃ."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:603
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:604
msgid "Involvement Post Types"
msgstr "Tipos de publicaciones de Involucramientos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:633
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:634
msgid "Global Partners"
msgstr "Misioneros"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:634
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:635
msgid "Manage how global partners are imported from TouchPoint for listing on WordPress. Partners are grouped by family, and content is provided through Family Extra Values. This works for both People and Business records."
msgstr "Administre cómo se importan los socios globales desde TouchPoint para incluirlos en WordPress. Los socios se agrupan por familia y el contenido se proporciona a través de Valor Extra Familiar. Esto funciona tanto para registros de personas como de empresas."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:638
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:639
msgid "Global Partner Name (Plural)"
msgstr "Nombre de los misioneros (plural)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:639
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:640
msgid "What you call Global Partners at your church"
msgstr "Lo que llamas los Misioneros en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:649
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:650
msgid "Global Partner Name (Singular)"
msgstr "Nombre de un misionero (singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:650
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:651
msgid "What you call a Global Partner at your church"
msgstr "Lo que llamas un Misionero en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:660
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:661
msgid "Global Partner Name for Secure Places (Plural)"
msgstr "Nombre de los misioneros para lugares seguros (plural)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:661
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:662
msgid "What you call Secure Global Partners at your church"
msgstr "Lo que llamas un Misionero seguro en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:671
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:672
msgid "Global Partner Name for Secure Places (Singular)"
msgstr "Nombre de un misionero para lugares seguros (singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:672
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:673
msgid "What you call a Secure Global Partner at your church"
msgstr "Lo que llamas los Misioneros seguros en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:682
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:683
msgid "Global Partner Slug"
msgstr "Slug de Socio Global"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:683
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:684
msgid "The root path for Global Partner posts"
msgstr "La ruta raÃz para las publicaciones de Socios Globales"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:695
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:696
msgid "Saved Search"
msgstr "Búsqueda Guardada"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:696
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:697
msgid "Anyone who is included in this saved search will be included in the listing."
msgstr "Cualquiera que esté incluido en esta búsqueda guardada se incluirá en la lista."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:706
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:707
msgid "Extra Value: Description"
msgstr "Valor Adicional: Descripción"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:707
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:708
msgid "Import a description from a Family Extra Value field. Can be an HTML or Text Extra Value. This becomes the body of the Global Partner post."
msgstr "Importe una descripción de un campo de Valor Extra Familiar. Puede ser un valor adicional HTML o de texto. Esto se convierte en el cuerpo de la publicación del socio global."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:717
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:718
msgid "Extra Value: Summary"
msgstr "Valor Adicional: Resumen"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:718
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:719
msgid "Optional. Import a short description from a Family Extra Value field. Can be an HTML or Text Extra Value. If not provided, the full bio will be truncated."
msgstr "Opcional. Importe una breve descripción de un campo de Valor Extra Familiar. Puede ser un Valor Adicional HTML o de texto. Si no se proporciona, la biografÃa completa se truncará."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:728
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:729
msgid "Latitude Override"
msgstr "Anulación de latitud"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:729
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:730
msgid "Designate a text Family Extra Value that will contain a latitude that overrides any locations on the partner's profile for the partner map. Both latitude and longitude must be provided for an override to take place."
msgstr "Designe un Valor Familiar Adicional de texto que contenga una latitud que anule cualquier ubicación en el perfil del socio para el mapa de socios. Tanto la latitud como la longitud deben proporcionarse para que se produzca una anulación."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:739
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:740
msgid "Longitude Override"
msgstr "Anulación de longitud"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:740
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:741
msgid "Designate a text Family Extra Value that will contain a longitude that overrides any locations on the partner's profile for the partner map. Both latitude and longitude must be provided for an override to take place."
msgstr "Designe un Valor Familiar Adicional de texto que contenga una longitud que anule cualquier ubicación en el perfil del socio para el mapa de socios. Tanto la latitud como la longitud deben proporcionarse para que se produzca una anulación."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:750
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:751
msgid "Public Location"
msgstr "Ubicación Pública"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:751
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:752
msgid "Designate a text Family Extra Value that will contain the partner's location, as you want listed publicly. For partners who have DecoupleLocation enabled, this field will be associated with the map point, not the list entry."
msgstr "Designe un Valor Adicional Familiar de texto que contendrá la ubicación del socio, como desea que se enumere públicamente. Para los socios que tienen DecoupleLocation habilitado, este campo se asociará con el punto del mapa, no con la entrada de la lista."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:762
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:763
msgid "Import Family Extra Value fields as Meta data on the partner's post"
msgstr "Importe campos de Valor Adicional Familiar como Metadatos en la publicación del socio"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:773
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:774
msgid "Primary Taxonomy"
msgstr "TaxonomÃa Primaria"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:774
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:775
msgid "Import a Family Extra Value as the primary means by which partners are organized."
msgstr "Importe un Valor Adicional Familiar como el medio principal por el cual se organizan los socios."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:817
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:818
msgid "Events for Custom Mobile App"
msgstr "Eventos para la aplicación móvil personalizada"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:822
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:823
msgid "Preview"
msgstr "Preestrena"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:837
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:838
msgid "Use Standardizing Stylesheet"
msgstr "Usar hoja de estilo de estandarización"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:838
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:839
msgid "Inserts some basic CSS into the events feed to clean up display"
msgstr "Inserta algo de CSS básico en el feed de eventos para limpiar la pantalla"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:935
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:936
msgid "Divisions"
msgstr "Divisiones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:936
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:937
msgid "Import Divisions from TouchPoint to your website as a taxonomy. These are used to classify users and involvements."
msgstr "Importe Divisiones desde TouchPoint a su sitio web como una taxonomÃa. Estos se utilizan para clasificar a los usuarios y las participaciones."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:940
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:941
msgid "Division Name (Plural)"
msgstr "Nombre de la División (plural)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:941
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:942
msgid "What you call Divisions at your church"
msgstr "Lo que llamas Divisiones en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:952
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:953
msgid "Division Name (Singular)"
msgstr "Nombre de la División (Singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:953
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:954
msgid "What you call a Division at your church"
msgstr "Lo que llamas una división en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:964
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:965
msgid "Division Slug"
msgstr "Slug de División"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:965
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:966
msgid "The root path for the Division Taxonomy"
msgstr "La ruta raÃz para la TaxonomÃa de División"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:978
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:979
msgid "These Divisions will be imported for the taxonomy"
msgstr "Estas Divisiones se importarán para la taxonomÃa"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1029
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1030
msgid "Campuses"
msgstr "Campus"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1030
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1031
msgid "Import Campuses from TouchPoint to your website as a taxonomy. These are used to classify users and involvements."
msgstr "Importe Campus desde TouchPoint a su sitio web como una taxonomÃa. Estos se utilizan para clasificar a los usuarios y las participaciones."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1037
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1038
msgid "Campus Name (Plural)"
msgstr "Nombre del Campus (Plural)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1038
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1039
msgid "What you call Campuses at your church"
msgstr "Lo que llamas Campus en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1049
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1050
msgid "Campus Name (Singular)"
msgstr "Nombre del Campus (Singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1050
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1051
msgid "What you call a Campus at your church"
msgstr "Lo que llamas un Campus en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1061
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1062
msgid "Campus Slug"
msgstr "Slug de Campus"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1062
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1063
msgid "The root path for the Campus Taxonomy"
msgstr "La ruta raÃz para la TaxonomÃa del Campus"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1078
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1079
msgid "Resident Codes"
msgstr "Códigos de Residentes"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1079
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1080
msgid "Import Resident Codes from TouchPoint to your website as a taxonomy. These are used to classify users and involvements that have locations."
msgstr "Importe Códigos de Residentes desde TouchPoint a su sitio web como una taxonomÃa. Estos se utilizan para clasificar los usuarios y las participaciones que tienen ubicaciones."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1083
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1084
msgid "Resident Code Name (Plural)"
msgstr "Nombre de Código de Tesidente (Plural)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1084
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1085
msgid "What you call Resident Codes at your church"
msgstr "Lo que llamas Códigos de Residente en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1095
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1096
msgid "Resident Code Name (Singular)"
msgstr "Nombre de Código de Residente (singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1096
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1097
msgid "What you call a Resident Code at your church"
msgstr "Lo que llamas un Código de Residencia en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1107
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1108
msgid "Resident Code Slug"
msgstr "Slug de Código Residente"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1108
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1109
msgid "The root path for the Resident Code Taxonomy"
msgstr "La ruta raÃz para la TaxonomÃa del Código de Residente"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1284
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1287
msgid "password saved"
msgstr "contraseña guardada"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1338
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1339
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1341
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1342
msgid "TouchPoint-WP"
msgstr "TouchPoint-WP"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1387
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1390
msgid "Settings"
msgstr "Ajustes"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1627
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1630
msgid "Script Update Failed"
msgstr "Actualización de secuencia de comandos fallida"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1749
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1752
msgid "TouchPoint-WP Settings"
msgstr "Configuración de TouchPoint-WP"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1800
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1803
msgid "Save Settings"
msgstr "Guardar ajustes"
@@ -972,7 +972,7 @@ msgstr "Enviar"
msgid "Nothing to submit."
msgstr "Nada que enviar."
-#: src/TouchPoint-WP/TouchPointWP.php:2384
+#: src/TouchPoint-WP/TouchPointWP.php:2400
msgid "The scripts on TouchPoint that interact with this plugin are out-of-date, and an automatic update failed."
msgstr "Los scripts en TouchPoint que interactúan con este complemento están desactualizados y falló una actualización automática."
@@ -1027,16 +1027,16 @@ msgstr "OK"
msgid "Next"
msgstr "Siguiente"
-#: src/TouchPoint-WP/Involvement.php:1901
+#: src/TouchPoint-WP/Involvement.php:1904
#: src/TouchPoint-WP/Taxonomies.php:869
msgid "Marital Status"
msgstr "Estado civil"
-#: src/TouchPoint-WP/Involvement.php:1914
+#: src/TouchPoint-WP/Involvement.php:1917
msgid "Age"
msgstr "Años"
-#: src/TouchPoint-WP/Involvement.php:1785
+#: src/TouchPoint-WP/Involvement.php:1788
msgid "Genders"
msgstr "Géneros"
@@ -1154,12 +1154,12 @@ msgstr "Añade una ubicación"
msgid "The Campus"
msgstr "El campus"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1004
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1010
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1005
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1011
msgid "Locations"
msgstr "Ubicaciones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1005
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1006
msgid "Locations are physical places, probably campuses. None are required, but they can help present geographic information clearly."
msgstr "Las ubicaciones son lugares fÃsicos, probablemente campus. No se requiere ninguno, pero pueden ayudar a presentar la información geográfica con claridad."
@@ -1198,33 +1198,33 @@ msgctxt "Time of Day"
msgid "Night"
msgstr "Noche"
-#: src/TouchPoint-WP/Involvement.php:1902
+#: src/TouchPoint-WP/Involvement.php:1905
msgctxt "Marital status for a group of people"
msgid "Mostly Single"
msgstr "MayorÃa solteras"
-#: src/TouchPoint-WP/Involvement.php:1903
+#: src/TouchPoint-WP/Involvement.php:1906
msgctxt "Marital status for a group of people"
msgid "Mostly Married"
msgstr "MayorÃa casadas"
#. translators: %s is the link to "reset the map"
-#: src/TouchPoint-WP/Involvement.php:1944
-#: src/TouchPoint-WP/Partner.php:854
+#: src/TouchPoint-WP/Involvement.php:1947
+#: src/TouchPoint-WP/Partner.php:865
msgid "Zoom out or %s to see more."
msgstr "Alejar o %s para ver más."
-#: src/TouchPoint-WP/Involvement.php:1947
-#: src/TouchPoint-WP/Partner.php:857
+#: src/TouchPoint-WP/Involvement.php:1950
+#: src/TouchPoint-WP/Partner.php:868
msgctxt "Zoom out or reset the map to see more."
msgid "reset the map"
msgstr "restablecer el mapa"
#. translators: %1$s is the date(s), %2$s is the time(s).
-#: src/TouchPoint-WP/Involvement.php:995
-#: src/TouchPoint-WP/Involvement.php:1027
-#: src/TouchPoint-WP/Involvement.php:1120
-#: src/TouchPoint-WP/Involvement.php:1144
+#: src/TouchPoint-WP/Involvement.php:998
+#: src/TouchPoint-WP/Involvement.php:1030
+#: src/TouchPoint-WP/Involvement.php:1123
+#: src/TouchPoint-WP/Involvement.php:1147
#: src/TouchPoint-WP/TouchPointWP_Widget.php:71
#: src/TouchPoint-WP/Utilities/DateFormats.php:288
#: src/TouchPoint-WP/Utilities/DateFormats.php:352
@@ -1232,43 +1232,43 @@ msgid "%1$s at %2$s"
msgstr "%1$s a las %2$s"
#. translators: {start date} through {end date} e.g. February 14 through August 12
-#: src/TouchPoint-WP/Involvement.php:1036
+#: src/TouchPoint-WP/Involvement.php:1039
msgid "%1$s through %2$s"
msgstr "%1$s al %2$s"
#. translators: {schedule}, {start date} through {end date} e.g. Sundays at 11am, February 14 through August 12
-#: src/TouchPoint-WP/Involvement.php:1045
+#: src/TouchPoint-WP/Involvement.php:1048
msgid "%1$s, %2$s through %3$s"
msgstr "%1$s, %2$s al %3$s"
#. translators: Starts {start date} e.g. Starts September 15
-#: src/TouchPoint-WP/Involvement.php:1054
+#: src/TouchPoint-WP/Involvement.php:1057
msgid "Starts %1$s"
msgstr "Comienza el %1$s"
#. translators: {schedule}, starting {start date} e.g. Sundays at 11am, starting February 14
-#: src/TouchPoint-WP/Involvement.php:1062
+#: src/TouchPoint-WP/Involvement.php:1065
msgid "%1$s, starting %2$s"
msgstr "%1$s, comienza el %2$s"
#. translators: Through {end date} e.g. Through September 15
-#: src/TouchPoint-WP/Involvement.php:1070
+#: src/TouchPoint-WP/Involvement.php:1073
msgid "Through %1$s"
msgstr "Hasta el %1$s"
#. translators: {schedule}, through {end date} e.g. Sundays at 11am, through February 14
-#: src/TouchPoint-WP/Involvement.php:1078
+#: src/TouchPoint-WP/Involvement.php:1081
msgid "%1$s, through %2$s"
msgstr "%1$s, hasta el %2$s"
#. translators: number of miles
#: src/templates/parts/involvement-nearby-list.php:10
-#: src/TouchPoint-WP/Involvement.php:3577
+#: src/TouchPoint-WP/Involvement.php:3592
msgctxt "miles. Unit is appended to a number. %2.1f is the number, so %2.1fmi looks like '12.3mi'"
msgid "%2.1fmi"
msgstr "%2.1fmi"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:374
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:375
msgid "The username of a user account in TouchPoint with API permissions. It is strongly recommended that you create a separate person/user for this purpose, rather than using a staff member's account."
msgstr "El nombre de usuario de una cuenta de usuario en TouchPoint con permisos API. Se recomienda encarecidamente que cree una persona/usuario independiente para este fin, en lugar de utilizar la cuenta de un miembro del personal."
@@ -1280,39 +1280,39 @@ msgstr "La participación tiene un tipo de registro de \"No Online Registration\
msgid "Involvement registration has ended (end date is past)"
msgstr "El registro de participación ha finalizado (la fecha de finalización ya pasó)"
-#: src/TouchPoint-WP/Involvement.php:2040
+#: src/TouchPoint-WP/Involvement.php:2043
msgid "This involvement type doesn't exist."
msgstr "Este tipo de participación no existe."
-#: src/TouchPoint-WP/Involvement.php:2050
+#: src/TouchPoint-WP/Involvement.php:2053
msgid "This involvement type doesn't have geographic locations enabled."
msgstr "Este tipo de participación no tiene habilitadas las ubicaciones geográficas."
-#: src/TouchPoint-WP/Involvement.php:2069
+#: src/TouchPoint-WP/Involvement.php:2072
msgid "Could not locate."
msgstr "No se pudo localizar."
-#: src/TouchPoint-WP/Meeting.php:672
-#: src/TouchPoint-WP/TouchPointWP.php:1033
+#: src/TouchPoint-WP/Meeting.php:684
+#: src/TouchPoint-WP/TouchPointWP.php:1037
msgid "Only GET requests are allowed."
msgstr "Solo se permiten solicitudes GET."
-#: src/TouchPoint-WP/Meeting.php:700
-#: src/TouchPoint-WP/TouchPointWP.php:362
+#: src/TouchPoint-WP/Meeting.php:712
+#: src/TouchPoint-WP/TouchPointWP.php:363
msgid "Only POST requests are allowed."
msgstr "Solo se permiten solicitudes POST."
-#: src/TouchPoint-WP/Meeting.php:710
-#: src/TouchPoint-WP/TouchPointWP.php:371
+#: src/TouchPoint-WP/Meeting.php:722
+#: src/TouchPoint-WP/TouchPointWP.php:372
msgid "Invalid data provided."
msgstr "Datos proporcionados no válidos."
-#: src/TouchPoint-WP/Involvement.php:3861
-#: src/TouchPoint-WP/Involvement.php:3964
+#: src/TouchPoint-WP/Involvement.php:3888
+#: src/TouchPoint-WP/Involvement.php:3993
msgid "Invalid Post Type."
msgstr "Tipo de publicación no válida."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:326
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:327
msgid "Enable Campuses"
msgstr "Habilitar Campus"
@@ -1377,7 +1377,7 @@ msgstr "Estados Civiles"
msgid "Classify Partners by category chosen in settings."
msgstr "Clasifique a los ministeriales por categorÃa elegida en la configuración."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:327
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:328
msgid "Import campuses as a taxonomy. (You probably want to do this if you're multi-campus.)"
msgstr "Importar campus como taxonomÃa. (Probablemente quieras hacer esto si tienes varios campus)."
@@ -1411,24 +1411,24 @@ msgstr "Agregar Nuevo %s"
msgid "New %s"
msgstr "Nuevo %s"
-#: src/TouchPoint-WP/Report.php:177
+#: src/TouchPoint-WP/Report.php:181
msgid "TouchPoint Reports"
msgstr "Informes de TouchPoint"
-#: src/TouchPoint-WP/Report.php:178
+#: src/TouchPoint-WP/Report.php:182
msgid "TouchPoint Report"
msgstr "Informe de TouchPoint"
#. translators: Last updated date/time for a report. %1$s is the date. %2$s is the time.
-#: src/TouchPoint-WP/Report.php:417
+#: src/TouchPoint-WP/Report.php:435
msgid "Updated on %1$s at %2$s"
msgstr "Actualizada %1$s %2$s"
-#: src/TouchPoint-WP/TouchPointWP.php:266
+#: src/TouchPoint-WP/TouchPointWP.php:267
msgid "Every 15 minutes"
msgstr "Cada 15 minutos"
-#: src/TouchPoint-WP/Involvement.php:1828
+#: src/TouchPoint-WP/Involvement.php:1831
msgid "Language"
msgstr "Idioma"
@@ -1445,11 +1445,11 @@ msgctxt "list of people, and *others*"
msgid "others"
msgstr "otros"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:850
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:851
msgid "Meeting Calendars"
msgstr "Calendarios de Reuniones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:851
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:852
msgid "Import Meetings from TouchPoint to a calendar on your website."
msgstr "Importe reuniones desde TouchPoint a un calendario en su sitio web."
@@ -1457,28 +1457,28 @@ msgstr "Importe reuniones desde TouchPoint a un calendario en su sitio web."
msgid "Import All Meetings to Calendar"
msgstr "Importe reuniones a los calendarios"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:879
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:880
msgid "Meetings Slug"
msgstr "Slug de reuniones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:880
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:881
msgid "The root path for Meetings"
msgstr "La ruta raÃz para las reuniones"
-#: src/TouchPoint-WP/Involvement.php:3951
+#: src/TouchPoint-WP/Involvement.php:3980
#: src/TouchPoint-WP/Person.php:1833
msgid "Contact Prohibited."
msgstr "Contacto prohibido."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:546
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:547
msgid "By checking this box, the TouchPoint login page will become the default. To prevent the redirect and reach the standard WordPress login page, add 'tp_no_redirect' as a URL parameter."
msgstr "Al marcar esta casilla, la página de inicio de sesión de TouchPoint se convertirá en la predeterminada. Para evitar la redirección y llegar a la página de inicio de sesión estándar de WordPress, agregue 'tp_no_redirect' como parámetro de URL."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:362
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:363
msgid "The domain for your mobile app deeplinks, without the https or any slashes. If you aren't using the custom mobile app, leave this blank."
msgstr "El dominio de los enlaces profundos de su aplicación móvil, sin https ni barras diagonales. Si no está utilizando la aplicación móvil personalizada, déjelo en blanco."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:466
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:467
msgid "Once your settings on this page are set and saved, use this tool to generate the scripts needed for TouchPoint in a convenient installation package."
msgstr "Una vez que haya configurado y guardado la configuración en esta página, utilice esta herramienta para generar los scripts necesarios para TouchPoint en un paquete de instalación conveniente."
@@ -1490,7 +1490,7 @@ msgstr "Algo salió mal."
msgid "You may need to sign in."
msgstr "Es posible que tengas que iniciar sesión."
-#: src/TouchPoint-WP/Involvement.php:3941
+#: src/TouchPoint-WP/Involvement.php:3970
#: src/TouchPoint-WP/Person.php:1850
msgid "Contact Blocked for Spam."
msgstr "Contacto bloqueado por spam."
@@ -1500,50 +1500,50 @@ msgid "Registration Blocked for Spam."
msgstr "Registro bloqueado por spam."
#: src/templates/meeting-archive.php:27
-#: src/TouchPoint-WP/Meeting.php:269
+#: src/TouchPoint-WP/Meeting.php:281
msgctxt "What Meetings should be called, plural."
msgid "Events"
msgstr "Eventos"
-#: src/TouchPoint-WP/Meeting.php:270
+#: src/TouchPoint-WP/Meeting.php:282
msgctxt "What Meetings should be called, singular."
msgid "Event"
msgstr "Evento"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:293
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:294
msgid "Enable Meeting Calendar"
msgstr "Habilitar calendario de reuniones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:294
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:295
msgid "Load Meetings from TouchPoint for a calendar, native in your website."
msgstr "Cargue reuniones desde TouchPoint para un calendario nativo en su sitio web."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:892
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:893
msgid "Days of Future"
msgstr "DÃas del futuro"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:893
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:894
msgid "Meetings more than this many days in the future will not be imported."
msgstr "No se importarán reuniones que superen estos dÃas en el futuro."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:905
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:906
msgid "Archive After Days"
msgstr "Archivo después de dÃas"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:918
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:919
msgid "Days of History"
msgstr "DÃas de la Historia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:989
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1120
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:990
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1121
msgid "Post Types"
msgstr "Tipos de publicaciones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:990
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:991
msgid "Select post types which should have Divisions available as a native taxonomy."
msgstr "Seleccione los tipos de publicaciones que deberÃan tener Divisiones disponibles como taxonomÃa nativa."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1121
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1122
msgid "Select post types which should have Resident Codes available as a native taxonomy."
msgstr "Seleccione los tipos de publicaciones que deberÃan tener códigos de residente disponibles como taxonomÃa nativa."
@@ -1566,15 +1566,15 @@ msgstr "mañana"
msgid "(named person)"
msgstr "(persona nombrada)"
-#: src/TouchPoint-WP/Utilities.php:497
+#: src/TouchPoint-WP/Utilities.php:500
msgid "Expand"
msgstr "Ampliar"
-#: src/TouchPoint-WP/Meeting.php:549
+#: src/TouchPoint-WP/Meeting.php:561
msgid "Cancelled"
msgstr "Cancelado"
-#: src/TouchPoint-WP/Meeting.php:550
+#: src/TouchPoint-WP/Meeting.php:562
msgid "Scheduled"
msgstr "Programado"
@@ -1603,21 +1603,21 @@ msgid "%1$s, %2$s"
msgstr "%1$s %2$s"
#. Translators: %s is the singular name of the of a Meeting, such as "Event".
-#: src/TouchPoint-WP/CalendarGrid.php:189
+#: src/TouchPoint-WP/CalendarGrid.php:199
msgid "%s is cancelled."
msgstr "%s esta cancelado."
#. Translators: %s is the system name. "TouchPoint" by default.
-#: src/TouchPoint-WP/Involvement.php:3665
+#: src/TouchPoint-WP/Involvement.php:3680
msgid "Involvement in %s"
msgstr "Participaciones en %s"
-#: src/TouchPoint-WP/Meeting.php:422
+#: src/TouchPoint-WP/Meeting.php:434
msgid "In the Past"
msgstr "en el pasado"
#. Translators: %s is the system name. "TouchPoint" by default.
-#: src/TouchPoint-WP/Meeting.php:494
+#: src/TouchPoint-WP/Meeting.php:506
msgid "Meeting in %s"
msgstr "Reunión en %s"
@@ -1626,39 +1626,39 @@ msgstr "Reunión en %s"
msgid "Person in %s"
msgstr "Persona en %s"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:855
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:856
msgid "Meeting Name (Plural)"
msgstr "Nombre de las reuniones (singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:856
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:857
msgid "What you call Meetings at your church"
msgstr "Lo que llamas Reuniones en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:861
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:863
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:862
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:864
msgid "Meetings"
msgstr "Reuniones"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:861
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:863
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:862
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:864
msgid "Events"
msgstr "Eventos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:867
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:868
msgid "Meeting Name (Singular)"
msgstr "Nombre de la reunión (singular)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:868
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:869
msgid "What you call a Meeting at your church"
msgstr "Cómo se llama una Reunión en tu iglesia"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:873
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:875
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:874
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:876
msgid "Meeting"
msgstr "Reunión"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:873
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:875
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:874
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:876
msgid "Event"
msgstr "Evento"
@@ -1682,7 +1682,7 @@ msgctxt "Date string when the year is not current."
msgid "F j, Y"
msgstr "j F Y"
-#: src/TouchPoint-WP/Meeting.php:551
+#: src/TouchPoint-WP/Meeting.php:563
msgctxt "Event Status is not a recognized value."
msgid "Unknown"
msgstr "desconocido"
@@ -1692,12 +1692,12 @@ msgid "Creating an Involvement object from an object without a post_id is not ye
msgstr "Aún no se admite la creación de un objeto de participación a partir de un objeto sin post_id."
#. translators: "Mon All Day" or "Sundays All Day"
-#: src/TouchPoint-WP/Involvement.php:998
-#: src/TouchPoint-WP/Involvement.php:1021
+#: src/TouchPoint-WP/Involvement.php:1001
+#: src/TouchPoint-WP/Involvement.php:1024
msgid "%1$s All Day"
msgstr "todo el dia los %1$s"
-#: src/TouchPoint-WP/Meeting.php:94
+#: src/TouchPoint-WP/Meeting.php:96
msgid "Creating a Meeting object from an object without a post_id is not yet supported."
msgstr "Aún no se admite la creación de un objeto de reunión a partir de un objeto sin post_id."
@@ -1757,7 +1757,7 @@ msgid "%1$s, %2$s"
msgstr "%1$s %2$s"
#. Translators: %s is the plural name of the of the Meetings, such as "Events".
-#: src/TouchPoint-WP/CalendarGrid.php:269
+#: src/TouchPoint-WP/CalendarGrid.php:279
msgid "There are no %s published for this month."
msgstr "No hay %s publicados para este mes."
@@ -1765,31 +1765,31 @@ msgstr "No hay %s publicados para este mes."
msgid "Radius (miles)"
msgstr "Radio (millas)"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:791
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:792
msgid "Events Calendar plugin by Modern Tribe"
msgstr "Complemento de calendario de eventos de Modern Tribe"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:795
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:796
msgid "TouchPoint Meetings"
msgstr "reuniones de TouchPoint"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:801
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:802
msgid "App 2.0 Calendar"
msgstr "Calendario de la app 2.0"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:806
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:807
msgid "Events Provider"
msgstr "Proveedor de eventos"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:807
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:808
msgid "The source of events for version 2.0 of the Custom Mobile App."
msgstr "El origen de los eventos para la versión 2.0 de la aplicación móvil personalizada."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:820
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:821
msgid "To use your Events Calendar events in the Custom mobile app, set the Provider to Wordpress Plugin - Modern Tribe (regardless of which provider you're using above) and use this url:"
msgstr "Para usar sus eventos del Calendario de eventos en la aplicación móvil personalizada, configure el Proveedor en Wordpress Plugin - Modern Tribe (independientemente del proveedor que esté utilizando anteriormente) y use esta URL:"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:802
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:803
msgid "Integrate Custom Mobile app version 2.0 with The Events Calendar from Modern Tribe."
msgstr "Integre la versión 2.0 de la aplicación móvil personalizada con el calendario de eventos de Modern Tribe."
@@ -1810,7 +1810,7 @@ msgstr "Código de Residente"
msgid "Campus"
msgstr "Campus"
-#: src/TouchPoint-WP/Involvement.php:1022
+#: src/TouchPoint-WP/Involvement.php:1025
msgid "All Day"
msgstr "todo el dia"
@@ -1819,11 +1819,11 @@ msgctxt "list of items, and *others*"
msgid "others"
msgstr "otros"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:433
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:434
msgid "ipapi.co API Key"
msgstr "Clave API de ipapi.co"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:434
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:435
msgid "Optional. Allows for geolocation of user IP addresses. This generally will work without a key, but may be rate limited."
msgstr "Opcional. Permite la geolocalización de las direcciones IP de los usuarios. Por lo general, esto funcionará sin una clave, pero puede tener una frecuencia limitada."
@@ -1856,18 +1856,18 @@ msgstr "Actualizada"
msgid "Yesterday"
msgstr "Ayer"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:906
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:907
msgid "Meetings more than this many days in the past will no longer update from TouchPoint, allowing you to keep some historical event information on the calendar for reference, even if you reuse and update the information in the Involvement."
msgstr "Las reuniones con más de esta cantidad de dÃas en el pasado ya no se actualizarán desde TouchPoint, lo que le permitirá conservar información histórica de eventos en el calendario para referencia, incluso si reutiliza y actualiza la información en Participación."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:919
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:920
msgid "Meetings will be kept on the calendar until the event is this many days in the past. Once an event is older than this, it'll be deleted."
msgstr "Las reuniones se mantendrán en el calendario hasta que el evento tenga esta cantidad de dÃas en el pasado. Una vez que un evento tenga más de esta cantidad de dÃas, se eliminará."
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:444
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:445
msgid "List Site in Directory"
msgstr "Listar sitio en directorio"
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:445
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:446
msgid "Allow the TouchPoint-WP developers to publicly list your site/church as using TouchPoint-WP. Helps other prospective churches see what can be done by combining WordPress with the best ChMS on the planet. Only applies if this site is accessible on the public internet."
msgstr "Permita que los desarrolladores de TouchPoint-WP incluyan públicamente su sitio o iglesia como sitios que usan TouchPoint-WP. Esto ayuda a otras iglesias potenciales a ver lo que se puede hacer al combinar WordPress con el mejor ChMS del planeta. Solo se aplica si este sitio es accesible en Internet público."
diff --git a/i18n/TouchPoint-WP.pot b/i18n/TouchPoint-WP.pot
index 92ee09b7..ffa7dcf7 100644
--- a/i18n/TouchPoint-WP.pot
+++ b/i18n/TouchPoint-WP.pot
@@ -1,4 +1,4 @@
-# Copyright (C) 2024 James K
+# Copyright (C) 2025 James K
# This file is distributed under the AGPLv3+.
msgid ""
msgstr ""
@@ -9,7 +9,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"POT-Creation-Date: 2024-11-28T19:12:52+00:00\n"
+"POT-Creation-Date: 2025-02-27T19:48:49+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.11.0\n"
"X-Domain: TouchPoint-WP\n"
@@ -58,7 +58,7 @@ msgid "Slug"
msgstr ""
#: src/templates/admin/invKoForm.php:48
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:977
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:978
msgid "Divisions to Import"
msgstr ""
@@ -71,7 +71,7 @@ msgstr ""
#: src/templates/admin/invKoForm.php:165
#: src/templates/admin/invKoForm.php:318
#: src/templates/parts/involvement-nearby-list.php:2
-#: src/TouchPoint-WP/Meeting.php:746
+#: src/TouchPoint-WP/Meeting.php:758
#: src/TouchPoint-WP/Rsvp.php:75
#: assets/js/base-defer.js:192
#: assets/js/base-defer.js:1133
@@ -183,13 +183,13 @@ msgid "Gender"
msgstr ""
#: src/templates/admin/invKoForm.php:237
-#: src/TouchPoint-WP/Involvement.php:1853
+#: src/TouchPoint-WP/Involvement.php:1856
#: src/TouchPoint-WP/Taxonomies.php:750
msgid "Weekday"
msgstr ""
#: src/templates/admin/invKoForm.php:241
-#: src/TouchPoint-WP/Involvement.php:1879
+#: src/TouchPoint-WP/Involvement.php:1882
#: src/TouchPoint-WP/Taxonomies.php:808
msgid "Time of Day"
msgstr ""
@@ -277,14 +277,14 @@ msgid "This %s has been Cancelled."
msgstr ""
#: src/templates/meeting-archive.php:27
-#: src/TouchPoint-WP/Meeting.php:269
+#: src/TouchPoint-WP/Meeting.php:281
msgctxt "What Meetings should be called, plural."
msgid "Events"
msgstr ""
#. translators: %s will be the plural post type (e.g. Small Groups)
#: src/templates/parts/involvement-list-none.php:16
-#: src/TouchPoint-WP/Involvement.php:2099
+#: src/TouchPoint-WP/Involvement.php:2102
msgid "No %s Found."
msgstr ""
@@ -295,7 +295,7 @@ msgstr ""
#. translators: number of miles
#: src/templates/parts/involvement-nearby-list.php:10
-#: src/TouchPoint-WP/Involvement.php:3577
+#: src/TouchPoint-WP/Involvement.php:3592
msgctxt "miles. Unit is appended to a number. %2.1f is the number, so %2.1fmi looks like '12.3mi'"
msgid "%2.1fmi"
msgstr ""
@@ -318,21 +318,21 @@ msgid "Session could not be validated."
msgstr ""
#. Translators: %s is the singular name of the of a Meeting, such as "Event".
-#: src/TouchPoint-WP/CalendarGrid.php:189
+#: src/TouchPoint-WP/CalendarGrid.php:199
msgid "%s is cancelled."
msgstr ""
#. Translators: %s is the plural name of the of the Meetings, such as "Events".
-#: src/TouchPoint-WP/CalendarGrid.php:269
+#: src/TouchPoint-WP/CalendarGrid.php:279
msgid "There are no %s published for this month."
msgstr ""
-#: src/TouchPoint-WP/EventsCalendar.php:77
+#: src/TouchPoint-WP/EventsCalendar.php:79
msgid "Recurring"
msgstr ""
-#: src/TouchPoint-WP/EventsCalendar.php:80
-#: src/TouchPoint-WP/EventsCalendar.php:297
+#: src/TouchPoint-WP/EventsCalendar.php:82
+#: src/TouchPoint-WP/EventsCalendar.php:299
msgid "Multi-Day"
msgstr ""
@@ -340,27 +340,27 @@ msgstr ""
msgid "Creating an Involvement object from an object without a post_id is not yet supported."
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:495
+#: src/TouchPoint-WP/Involvement.php:498
msgid "Currently Full"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:500
+#: src/TouchPoint-WP/Involvement.php:503
msgid "Currently Closed"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:507
+#: src/TouchPoint-WP/Involvement.php:510
msgid "Registration Not Open Yet"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:513
+#: src/TouchPoint-WP/Involvement.php:516
msgid "Registration Closed"
msgstr ""
#. translators: %1$s is the date(s), %2$s is the time(s).
-#: src/TouchPoint-WP/Involvement.php:995
-#: src/TouchPoint-WP/Involvement.php:1027
-#: src/TouchPoint-WP/Involvement.php:1120
-#: src/TouchPoint-WP/Involvement.php:1144
+#: src/TouchPoint-WP/Involvement.php:998
+#: src/TouchPoint-WP/Involvement.php:1030
+#: src/TouchPoint-WP/Involvement.php:1123
+#: src/TouchPoint-WP/Involvement.php:1147
#: src/TouchPoint-WP/TouchPointWP_Widget.php:71
#: src/TouchPoint-WP/Utilities/DateFormats.php:288
#: src/TouchPoint-WP/Utilities/DateFormats.php:352
@@ -368,236 +368,236 @@ msgid "%1$s at %2$s"
msgstr ""
#. translators: "Mon All Day" or "Sundays All Day"
-#: src/TouchPoint-WP/Involvement.php:998
-#: src/TouchPoint-WP/Involvement.php:1021
+#: src/TouchPoint-WP/Involvement.php:1001
+#: src/TouchPoint-WP/Involvement.php:1024
msgid "%1$s All Day"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:1022
+#: src/TouchPoint-WP/Involvement.php:1025
msgid "All Day"
msgstr ""
#. translators: {start date} through {end date} e.g. February 14 through August 12
-#: src/TouchPoint-WP/Involvement.php:1036
+#: src/TouchPoint-WP/Involvement.php:1039
msgid "%1$s through %2$s"
msgstr ""
#. translators: {schedule}, {start date} through {end date} e.g. Sundays at 11am, February 14 through August 12
-#: src/TouchPoint-WP/Involvement.php:1045
+#: src/TouchPoint-WP/Involvement.php:1048
msgid "%1$s, %2$s through %3$s"
msgstr ""
#. translators: Starts {start date} e.g. Starts September 15
-#: src/TouchPoint-WP/Involvement.php:1054
+#: src/TouchPoint-WP/Involvement.php:1057
msgid "Starts %1$s"
msgstr ""
#. translators: {schedule}, starting {start date} e.g. Sundays at 11am, starting February 14
-#: src/TouchPoint-WP/Involvement.php:1062
+#: src/TouchPoint-WP/Involvement.php:1065
msgid "%1$s, starting %2$s"
msgstr ""
#. translators: Through {end date} e.g. Through September 15
-#: src/TouchPoint-WP/Involvement.php:1070
+#: src/TouchPoint-WP/Involvement.php:1073
msgid "Through %1$s"
msgstr ""
#. translators: {schedule}, through {end date} e.g. Sundays at 11am, through February 14
-#: src/TouchPoint-WP/Involvement.php:1078
+#: src/TouchPoint-WP/Involvement.php:1081
msgid "%1$s, through %2$s"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:1728
-#: src/TouchPoint-WP/Partner.php:814
+#: src/TouchPoint-WP/Involvement.php:1731
+#: src/TouchPoint-WP/Partner.php:825
msgid "Any"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:1785
+#: src/TouchPoint-WP/Involvement.php:1788
msgid "Genders"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:1828
+#: src/TouchPoint-WP/Involvement.php:1831
msgid "Language"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:1901
+#: src/TouchPoint-WP/Involvement.php:1904
#: src/TouchPoint-WP/Taxonomies.php:869
msgid "Marital Status"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:1902
+#: src/TouchPoint-WP/Involvement.php:1905
msgctxt "Marital status for a group of people"
msgid "Mostly Single"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:1903
+#: src/TouchPoint-WP/Involvement.php:1906
msgctxt "Marital status for a group of people"
msgid "Mostly Married"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:1914
+#: src/TouchPoint-WP/Involvement.php:1917
msgid "Age"
msgstr ""
#. translators: %s is for the user-provided term for the items on the map (e.g. Small Group or Partner)
-#: src/TouchPoint-WP/Involvement.php:1936
-#: src/TouchPoint-WP/Partner.php:838
+#: src/TouchPoint-WP/Involvement.php:1939
+#: src/TouchPoint-WP/Partner.php:849
msgid "The %s listed are only those shown on the map."
msgstr ""
#. translators: %s is the link to "reset the map"
-#: src/TouchPoint-WP/Involvement.php:1944
-#: src/TouchPoint-WP/Partner.php:854
+#: src/TouchPoint-WP/Involvement.php:1947
+#: src/TouchPoint-WP/Partner.php:865
msgid "Zoom out or %s to see more."
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:1947
-#: src/TouchPoint-WP/Partner.php:857
+#: src/TouchPoint-WP/Involvement.php:1950
+#: src/TouchPoint-WP/Partner.php:868
msgctxt "Zoom out or reset the map to see more."
msgid "reset the map"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:2040
+#: src/TouchPoint-WP/Involvement.php:2043
msgid "This involvement type doesn't exist."
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:2050
+#: src/TouchPoint-WP/Involvement.php:2053
msgid "This involvement type doesn't have geographic locations enabled."
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:2069
+#: src/TouchPoint-WP/Involvement.php:2072
msgid "Could not locate."
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3556
+#: src/TouchPoint-WP/Involvement.php:3571
msgid "Men Only"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3559
+#: src/TouchPoint-WP/Involvement.php:3574
msgid "Women Only"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3636
+#: src/TouchPoint-WP/Involvement.php:3651
msgid "Contact Leaders"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3653
-#: src/TouchPoint-WP/Partner.php:1318
+#: src/TouchPoint-WP/Involvement.php:3668
+#: src/TouchPoint-WP/Partner.php:1329
msgid "Show on Map"
msgstr ""
#. Translators: %s is the system name. "TouchPoint" by default.
-#: src/TouchPoint-WP/Involvement.php:3665
+#: src/TouchPoint-WP/Involvement.php:3680
msgid "Involvement in %s"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3706
-#: src/TouchPoint-WP/Involvement.php:3765
+#: src/TouchPoint-WP/Involvement.php:3721
+#: src/TouchPoint-WP/Involvement.php:3780
msgid "Register"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3712
+#: src/TouchPoint-WP/Involvement.php:3727
msgid "Create Account"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3716
+#: src/TouchPoint-WP/Involvement.php:3731
msgid "Schedule"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3721
+#: src/TouchPoint-WP/Involvement.php:3736
msgid "Give"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3724
+#: src/TouchPoint-WP/Involvement.php:3739
msgid "Manage Subscriptions"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3727
+#: src/TouchPoint-WP/Involvement.php:3742
msgid "Record Attendance"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3730
+#: src/TouchPoint-WP/Involvement.php:3745
msgid "Get Tickets"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3756
+#: src/TouchPoint-WP/Involvement.php:3771
#: assets/js/base-defer.js:1001
msgid "Join"
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3861
-#: src/TouchPoint-WP/Involvement.php:3964
+#: src/TouchPoint-WP/Involvement.php:3888
+#: src/TouchPoint-WP/Involvement.php:3993
msgid "Invalid Post Type."
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3941
+#: src/TouchPoint-WP/Involvement.php:3970
#: src/TouchPoint-WP/Person.php:1850
msgid "Contact Blocked for Spam."
msgstr ""
-#: src/TouchPoint-WP/Involvement.php:3951
+#: src/TouchPoint-WP/Involvement.php:3980
#: src/TouchPoint-WP/Person.php:1833
msgid "Contact Prohibited."
msgstr ""
-#: src/TouchPoint-WP/Meeting.php:94
+#: src/TouchPoint-WP/Meeting.php:96
msgid "Creating a Meeting object from an object without a post_id is not yet supported."
msgstr ""
-#: src/TouchPoint-WP/Meeting.php:270
+#: src/TouchPoint-WP/Meeting.php:282
msgctxt "What Meetings should be called, singular."
msgid "Event"
msgstr ""
-#: src/TouchPoint-WP/Meeting.php:422
+#: src/TouchPoint-WP/Meeting.php:434
msgid "In the Past"
msgstr ""
#. Translators: %s is the system name. "TouchPoint" by default.
-#: src/TouchPoint-WP/Meeting.php:494
+#: src/TouchPoint-WP/Meeting.php:506
msgid "Meeting in %s"
msgstr ""
-#: src/TouchPoint-WP/Meeting.php:549
+#: src/TouchPoint-WP/Meeting.php:561
msgid "Cancelled"
msgstr ""
-#: src/TouchPoint-WP/Meeting.php:550
+#: src/TouchPoint-WP/Meeting.php:562
msgid "Scheduled"
msgstr ""
-#: src/TouchPoint-WP/Meeting.php:551
+#: src/TouchPoint-WP/Meeting.php:563
msgctxt "Event Status is not a recognized value."
msgid "Unknown"
msgstr ""
-#: src/TouchPoint-WP/Meeting.php:672
-#: src/TouchPoint-WP/TouchPointWP.php:1033
+#: src/TouchPoint-WP/Meeting.php:684
+#: src/TouchPoint-WP/TouchPointWP.php:1037
msgid "Only GET requests are allowed."
msgstr ""
-#: src/TouchPoint-WP/Meeting.php:700
-#: src/TouchPoint-WP/TouchPointWP.php:362
+#: src/TouchPoint-WP/Meeting.php:712
+#: src/TouchPoint-WP/TouchPointWP.php:363
msgid "Only POST requests are allowed."
msgstr ""
-#: src/TouchPoint-WP/Meeting.php:710
-#: src/TouchPoint-WP/TouchPointWP.php:371
+#: src/TouchPoint-WP/Meeting.php:722
+#: src/TouchPoint-WP/TouchPointWP.php:372
msgid "Invalid data provided."
msgstr ""
-#: src/TouchPoint-WP/Meeting.php:745
-#: src/TouchPoint-WP/Meeting.php:766
+#: src/TouchPoint-WP/Meeting.php:757
+#: src/TouchPoint-WP/Meeting.php:778
#: src/TouchPoint-WP/Rsvp.php:80
msgid "RSVP"
msgstr ""
#. translators: %s is for the user-provided "Global Partner" and "Secure Partner" terms.
-#: src/TouchPoint-WP/Partner.php:845
+#: src/TouchPoint-WP/Partner.php:856
msgid "The %1$s listed are only those shown on the map, as well as all %2$s."
msgstr ""
-#: src/TouchPoint-WP/Partner.php:1259
+#: src/TouchPoint-WP/Partner.php:1270
msgid "Not Shown on Map"
msgstr ""
@@ -637,16 +637,16 @@ msgstr ""
msgid "You may need to sign in."
msgstr ""
-#: src/TouchPoint-WP/Report.php:177
+#: src/TouchPoint-WP/Report.php:181
msgid "TouchPoint Reports"
msgstr ""
-#: src/TouchPoint-WP/Report.php:178
+#: src/TouchPoint-WP/Report.php:182
msgid "TouchPoint Report"
msgstr ""
#. translators: Last updated date/time for a report. %1$s is the date. %2$s is the time.
-#: src/TouchPoint-WP/Report.php:417
+#: src/TouchPoint-WP/Report.php:435
msgid "Updated on %1$s at %2$s"
msgstr ""
@@ -741,679 +741,679 @@ msgstr ""
msgid "Classify Partners by category chosen in settings."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:266
+#: src/TouchPoint-WP/TouchPointWP.php:267
msgid "Every 15 minutes"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2031
+#: src/TouchPoint-WP/TouchPointWP.php:2047
msgid "Unknown Type"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2088
+#: src/TouchPoint-WP/TouchPointWP.php:2104
msgid "Your Searches"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2091
+#: src/TouchPoint-WP/TouchPointWP.php:2107
msgid "Public Searches"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2094
+#: src/TouchPoint-WP/TouchPointWP.php:2110
msgid "Status Flags"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2099
-#: src/TouchPoint-WP/TouchPointWP.php:2100
+#: src/TouchPoint-WP/TouchPointWP.php:2115
+#: src/TouchPoint-WP/TouchPointWP.php:2116
msgid "Current Value"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2217
-#: src/TouchPoint-WP/TouchPointWP.php:2253
+#: src/TouchPoint-WP/TouchPointWP.php:2233
+#: src/TouchPoint-WP/TouchPointWP.php:2269
msgid "Invalid or incomplete API Settings."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2267
-#: src/TouchPoint-WP/TouchPointWP.php:2311
+#: src/TouchPoint-WP/TouchPointWP.php:2283
+#: src/TouchPoint-WP/TouchPointWP.php:2327
msgid "Host appears to be missing from TouchPoint-WP configuration."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2384
+#: src/TouchPoint-WP/TouchPointWP.php:2400
msgid "The scripts on TouchPoint that interact with this plugin are out-of-date, and an automatic update failed."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP.php:2443
+#: src/TouchPoint-WP/TouchPointWP.php:2459
msgid "People Query Failed"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:257
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:258
msgid "Basic Settings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:258
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:259
msgid "Connect to TouchPoint and choose which features you wish to use."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:262
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:263
msgid "Enable Authentication"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:263
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:264
msgid "Allow TouchPoint users to sign into this website with TouchPoint."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:274
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:275
msgid "Enable RSVP Tool"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:275
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:276
msgid "Add a crazy-simple RSVP button to WordPress event pages."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:282
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:283
msgid "Enable Involvements"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:283
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:284
msgid "Load Involvements from TouchPoint for involvement listings and entries native in your website."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:293
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:294
msgid "Enable Meeting Calendar"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:294
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:295
msgid "Load Meetings from TouchPoint for a calendar, native in your website."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:304
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:305
msgid "Enable Public People Lists"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:305
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:306
msgid "Import public people listings from TouchPoint (e.g. staff or elders)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:315
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:316
msgid "Enable Global Partner Listings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:316
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:317
msgid "Import ministry partners from TouchPoint to list publicly."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:326
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:327
msgid "Enable Campuses"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:327
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:328
msgid "Import campuses as a taxonomy. (You probably want to do this if you're multi-campus.)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:337
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:338
msgid "Display Name"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:338
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:339
msgid "What your church calls your TouchPoint database."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:348
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:349
msgid "TouchPoint Host Name"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:349
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:350
msgid "The domain for your TouchPoint database, without the https or any slashes."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:361
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:362
msgid "Custom Mobile App Deeplink Host Name"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:362
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:363
msgid "The domain for your mobile app deeplinks, without the https or any slashes. If you aren't using the custom mobile app, leave this blank."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:373
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:374
msgid "TouchPoint API Username"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:374
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:375
msgid "The username of a user account in TouchPoint with API permissions. It is strongly recommended that you create a separate person/user for this purpose, rather than using a staff member's account."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:385
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:386
msgid "TouchPoint API User Password"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:386
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:387
msgid "The password of a user account in TouchPoint with API permissions."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:398
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:399
msgid "TouchPoint API Script Name"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:399
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:400
msgid "The name of the Python script loaded into TouchPoint. Don't change this unless you know what you're doing."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:410
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:411
msgid "Google Maps Javascript API Key"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:411
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:412
msgid "Required for embedding maps."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:422
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:423
msgid "Google Maps Geocoding API Key"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:423
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:424
msgid "Optional. Allows for reverse geocoding of user locations."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:433
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:434
msgid "ipapi.co API Key"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:434
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:435
msgid "Optional. Allows for geolocation of user IP addresses. This generally will work without a key, but may be rate limited."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:444
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:445
msgid "List Site in Directory"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:445
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:446
msgid "Allow the TouchPoint-WP developers to publicly list your site/church as using TouchPoint-WP. Helps other prospective churches see what can be done by combining WordPress with the best ChMS on the planet. Only applies if this site is accessible on the public internet."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:463
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:468
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:464
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:469
msgid "Generate Scripts"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:466
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:467
msgid "Once your settings on this page are set and saved, use this tool to generate the scripts needed for TouchPoint in a convenient installation package."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:467
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:468
msgid "Upload the package to {tpName} here"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:484
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:485
msgid "People"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:485
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:486
msgid "Manage how people are synchronized between TouchPoint and WordPress."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:489
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:490
msgid "Contact Keywords"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:490
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:491
msgid "These keywords will be used when someone clicks the \"Contact\" button on a Person's listing or profile."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:501
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:502
msgid "Extra Value for WordPress User ID"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:502
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:503
msgid "The name of the extra value to use for the WordPress User ID. If you are using multiple WordPress instances with one TouchPoint database, you will need these values to be unique between WordPress instances. In most cases, the default is fine."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:512
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:513
msgid "Extra Value: Biography"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:513
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:514
msgid "Import a Bio from a Person Extra Value field. Can be an HTML or Text Extra Value. This will overwrite any values set by WordPress. Leave blank to not import."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:523
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:761
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:524
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:762
msgid "Extra Values to Import"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:524
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:525
msgid "Import People Extra Value fields as User Meta data."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:540
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:541
msgid "Authentication"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:541
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:542
msgid "Allow users to log into WordPress using TouchPoint."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:545
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:546
msgid "Make TouchPoint the default authentication method."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:546
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:547
msgid "By checking this box, the TouchPoint login page will become the default. To prevent the redirect and reach the standard WordPress login page, add 'tp_no_redirect' as a URL parameter."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:555
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:556
msgid "Enable Auto-Provisioning"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:556
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:557
msgid "Automatically create WordPress users, if needed, to match authenticated TouchPoint users."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:565
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:566
msgid "Change 'Edit Profile' links"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:566
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:567
msgid "\"Edit Profile\" links will take the user to their TouchPoint profile, instead of their WordPress profile."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:575
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:576
msgid "Enable full logout"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:576
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:577
msgid "Logout of TouchPoint when logging out of WordPress."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:582
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:583
msgid "Prevent Subscriber Admin Bar"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:583
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:584
msgid "By enabling this option, users who can't edit anything won't see the Admin bar."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:597
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:598
msgid "Involvements"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:598
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:599
msgid "Import Involvements from TouchPoint to list them on your website, for Small Groups, Classes, and more. Select the division(s) that immediately correspond to the type of Involvement you want to list. For example, if you want a Small Group list and have a Small Group Division, only select the Small Group Division. If you want Involvements to be filterable by additional Divisions, select those Divisions on the Divisions tab, not here."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:603
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:604
msgid "Involvement Post Types"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:633
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:634
msgid "Global Partners"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:634
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:635
msgid "Manage how global partners are imported from TouchPoint for listing on WordPress. Partners are grouped by family, and content is provided through Family Extra Values. This works for both People and Business records."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:638
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:639
msgid "Global Partner Name (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:639
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:640
msgid "What you call Global Partners at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:649
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:650
msgid "Global Partner Name (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:650
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:651
msgid "What you call a Global Partner at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:660
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:661
msgid "Global Partner Name for Secure Places (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:661
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:662
msgid "What you call Secure Global Partners at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:671
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:672
msgid "Global Partner Name for Secure Places (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:672
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:673
msgid "What you call a Secure Global Partner at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:682
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:683
msgid "Global Partner Slug"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:683
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:684
msgid "The root path for Global Partner posts"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:695
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:696
msgid "Saved Search"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:696
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:697
msgid "Anyone who is included in this saved search will be included in the listing."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:706
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:707
msgid "Extra Value: Description"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:707
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:708
msgid "Import a description from a Family Extra Value field. Can be an HTML or Text Extra Value. This becomes the body of the Global Partner post."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:717
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:718
msgid "Extra Value: Summary"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:718
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:719
msgid "Optional. Import a short description from a Family Extra Value field. Can be an HTML or Text Extra Value. If not provided, the full bio will be truncated."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:728
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:729
msgid "Latitude Override"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:729
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:730
msgid "Designate a text Family Extra Value that will contain a latitude that overrides any locations on the partner's profile for the partner map. Both latitude and longitude must be provided for an override to take place."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:739
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:740
msgid "Longitude Override"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:740
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:741
msgid "Designate a text Family Extra Value that will contain a longitude that overrides any locations on the partner's profile for the partner map. Both latitude and longitude must be provided for an override to take place."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:750
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:751
msgid "Public Location"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:751
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:752
msgid "Designate a text Family Extra Value that will contain the partner's location, as you want listed publicly. For partners who have DecoupleLocation enabled, this field will be associated with the map point, not the list entry."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:762
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:763
msgid "Import Family Extra Value fields as Meta data on the partner's post"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:773
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:774
msgid "Primary Taxonomy"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:774
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:775
msgid "Import a Family Extra Value as the primary means by which partners are organized."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:791
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:792
msgid "Events Calendar plugin by Modern Tribe"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:795
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:796
msgid "TouchPoint Meetings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:801
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:802
msgid "App 2.0 Calendar"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:802
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:803
msgid "Integrate Custom Mobile app version 2.0 with The Events Calendar from Modern Tribe."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:806
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:807
msgid "Events Provider"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:807
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:808
msgid "The source of events for version 2.0 of the Custom Mobile App."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:817
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:818
msgid "Events for Custom Mobile App"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:820
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:821
msgid "To use your Events Calendar events in the Custom mobile app, set the Provider to Wordpress Plugin - Modern Tribe (regardless of which provider you're using above) and use this url:"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:822
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:823
msgid "Preview"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:837
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:838
msgid "Use Standardizing Stylesheet"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:838
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:839
msgid "Inserts some basic CSS into the events feed to clean up display"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:850
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:851
msgid "Meeting Calendars"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:851
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:852
msgid "Import Meetings from TouchPoint to a calendar on your website."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:855
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:856
msgid "Meeting Name (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:856
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:857
msgid "What you call Meetings at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:861
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:863
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:862
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:864
msgid "Meetings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:861
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:863
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:862
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:864
msgid "Events"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:867
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:868
msgid "Meeting Name (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:868
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:869
msgid "What you call a Meeting at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:873
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:875
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:874
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:876
msgid "Meeting"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:873
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:875
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:874
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:876
msgid "Event"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:879
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:880
msgid "Meetings Slug"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:880
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:881
msgid "The root path for Meetings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:892
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:893
msgid "Days of Future"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:893
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:894
msgid "Meetings more than this many days in the future will not be imported."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:905
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:906
msgid "Archive After Days"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:906
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:907
msgid "Meetings more than this many days in the past will no longer update from TouchPoint, allowing you to keep some historical event information on the calendar for reference, even if you reuse and update the information in the Involvement."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:918
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:919
msgid "Days of History"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:919
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:920
msgid "Meetings will be kept on the calendar until the event is this many days in the past. Once an event is older than this, it'll be deleted."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:935
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:936
msgid "Divisions"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:936
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:937
msgid "Import Divisions from TouchPoint to your website as a taxonomy. These are used to classify users and involvements."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:940
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:941
msgid "Division Name (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:941
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:942
msgid "What you call Divisions at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:952
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:953
msgid "Division Name (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:953
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:954
msgid "What you call a Division at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:964
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:965
msgid "Division Slug"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:965
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:966
msgid "The root path for the Division Taxonomy"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:978
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:979
msgid "These Divisions will be imported for the taxonomy"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:989
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1120
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:990
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1121
msgid "Post Types"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:990
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:991
msgid "Select post types which should have Divisions available as a native taxonomy."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1004
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1010
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1005
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1011
msgid "Locations"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1005
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1006
msgid "Locations are physical places, probably campuses. None are required, but they can help present geographic information clearly."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1029
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1030
msgid "Campuses"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1030
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1031
msgid "Import Campuses from TouchPoint to your website as a taxonomy. These are used to classify users and involvements."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1037
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1038
msgid "Campus Name (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1038
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1039
msgid "What you call Campuses at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1049
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1050
msgid "Campus Name (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1050
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1051
msgid "What you call a Campus at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1061
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1062
msgid "Campus Slug"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1062
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1063
msgid "The root path for the Campus Taxonomy"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1078
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1079
msgid "Resident Codes"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1079
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1080
msgid "Import Resident Codes from TouchPoint to your website as a taxonomy. These are used to classify users and involvements that have locations."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1083
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1084
msgid "Resident Code Name (Plural)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1084
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1085
msgid "What you call Resident Codes at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1095
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1096
msgid "Resident Code Name (Singular)"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1096
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1097
msgid "What you call a Resident Code at your church"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1107
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1108
msgid "Resident Code Slug"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1108
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1109
msgid "The root path for the Resident Code Taxonomy"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1121
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1122
msgid "Select post types which should have Resident Codes available as a native taxonomy."
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1284
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1287
msgid "password saved"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1338
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1339
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1341
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1342
msgid "TouchPoint-WP"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1387
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1390
msgid "Settings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1627
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1630
msgid "Script Update Failed"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1749
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1752
msgid "TouchPoint-WP Settings"
msgstr ""
-#: src/TouchPoint-WP/TouchPointWP_Settings.php:1800
+#: src/TouchPoint-WP/TouchPointWP_Settings.php:1803
msgid "Save Settings"
msgstr ""
@@ -1539,7 +1539,7 @@ msgctxt "list of items, and *others*"
msgid "others"
msgstr ""
-#: src/TouchPoint-WP/Utilities.php:497
+#: src/TouchPoint-WP/Utilities.php:500
msgid "Expand"
msgstr ""
From 6d8e35b4ebf17363aa46746b0b386e3a46471cc1 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 27 Feb 2025 14:59:54 -0500
Subject: [PATCH 240/431] Correcting a shortcode typo
---
src/TouchPoint-WP/Meeting.php | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/TouchPoint-WP/Meeting.php b/src/TouchPoint-WP/Meeting.php
index 8551f827..77bc1ecc 100644
--- a/src/TouchPoint-WP/Meeting.php
+++ b/src/TouchPoint-WP/Meeting.php
@@ -43,7 +43,7 @@ class Meeting extends PostTypeCapable implements api, module, hasGeo, hierarchic
public const MEETING_STATUS_META_KEY = TouchPointWP::SETTINGS_PREFIX . "status";
public const MEETING_INV_ID_META_KEY = TouchPointWP::SETTINGS_PREFIX . "mtgInvId";
- public const SHORTCODE_GRID = TouchPointWP::SHORTCODE_PREFIX . "calendar";
+ public const SHORTCODE_GRID = TouchPointWP::SHORTCODE_PREFIX . "Calendar";
public const STATUS_CANCELLED = "cancelled";
public const STATUS_SCHEDULED = "scheduled";
@@ -823,6 +823,10 @@ public static function load(): bool
add_action(TouchPointWP::INIT_ACTION_HOOK, [self::class, 'init']);
+ //////////////////
+ /// Shortcodes ///
+ //////////////////
+
if ( ! shortcode_exists(self::SHORTCODE_GRID)) {
add_shortcode(self::SHORTCODE_GRID, [CalendarGrid::class, "shortcode"]);
}
From 1c243e2a1a17eedf6bd29e2f145ec0acb3dc2869 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 27 Feb 2025 19:16:07 -0500
Subject: [PATCH 241/431] Correct a few issues with WordPress menu Customizer
---
src/TouchPoint-WP/Involvement.php | 12 +++++++++++-
src/TouchPoint-WP/Partner.php | 13 ++++++++++++-
src/TouchPoint-WP/Report.php | 12 +++++++++++-
src/TouchPoint-WP/Taxonomies.php | 2 +-
4 files changed, 35 insertions(+), 4 deletions(-)
diff --git a/src/TouchPoint-WP/Involvement.php b/src/TouchPoint-WP/Involvement.php
index 8fbadf58..3cfb3ae2 100644
--- a/src/TouchPoint-WP/Involvement.php
+++ b/src/TouchPoint-WP/Involvement.php
@@ -297,7 +297,17 @@ public static function init(): void
],
'query_var' => $type->slug,
'can_export' => false,
- 'delete_with_user' => false
+ 'delete_with_user' => false,
+ 'capability_type' => 'post',
+ 'capabilities' => [
+ 'create_posts' => 'do_not_allow', // Disable creating new posts
+ 'edit_posts' => 'do_not_allow', // Disable editing posts
+ 'edit_others_posts' => 'do_not_allow', // Disable editing others' posts
+ 'delete_posts' => 'do_not_allow', // Disable deleting posts
+ 'delete_others_posts' => 'do_not_allow', // Disable deleting others' posts
+ 'publish_posts' => 'do_not_allow', // Disable publishing posts
+ ],
+ 'map_meta_cap' => true, // Ensure users can still view posts
]
);
}
diff --git a/src/TouchPoint-WP/Partner.php b/src/TouchPoint-WP/Partner.php
index b395d6c5..30233d4b 100644
--- a/src/TouchPoint-WP/Partner.php
+++ b/src/TouchPoint-WP/Partner.php
@@ -233,7 +233,18 @@ public static function init(): void
],
'query_var' => TouchPointWP::instance()->settings->global_slug,
'can_export' => false,
- 'delete_with_user' => false
+ 'delete_with_user' => false,
+ 'capability_type' => 'post',
+ 'capabilities' => [
+ 'create_posts' => 'do_not_allow', // Disable creating new posts
+ 'edit_posts' => 'do_not_allow', // Disable editing posts
+ 'edit_others_posts' => 'do_not_allow', // Disable editing others' posts
+ 'delete_posts' => 'do_not_allow', // Disable deleting posts
+ 'delete_others_posts' => 'do_not_allow', // Disable deleting others' posts
+ 'publish_posts' => 'do_not_allow', // Disable publishing posts
+ ],
+ 'map_meta_cap' => true, // Ensure users can still view posts
+
]
);
diff --git a/src/TouchPoint-WP/Report.php b/src/TouchPoint-WP/Report.php
index 8a053d00..84c88cf8 100644
--- a/src/TouchPoint-WP/Report.php
+++ b/src/TouchPoint-WP/Report.php
@@ -190,7 +190,17 @@ public static function init(): void
'has_archive' => false,
'rewrite' => false,
'can_export' => false,
- 'delete_with_user' => false
+ 'delete_with_user' => false,
+ 'capability_type' => 'post',
+ 'capabilities' => [
+ 'create_posts' => 'do_not_allow', // Disable creating new posts
+ 'edit_posts' => 'do_not_allow', // Disable editing posts
+ 'edit_others_posts' => 'do_not_allow', // Disable editing others' posts
+ 'delete_posts' => 'do_not_allow', // Disable deleting posts
+ 'delete_others_posts' => 'do_not_allow', // Disable deleting others' posts
+ 'publish_posts' => 'do_not_allow', // Disable publishing posts
+ ],
+ 'map_meta_cap' => true, // Ensure users can still view posts
]
);
}
diff --git a/src/TouchPoint-WP/Taxonomies.php b/src/TouchPoint-WP/Taxonomies.php
index a0569bc5..63184c4a 100644
--- a/src/TouchPoint-WP/Taxonomies.php
+++ b/src/TouchPoint-WP/Taxonomies.php
@@ -26,7 +26,7 @@ abstract class Taxonomies
public const TAX_GP_CATEGORY = TouchPointWP::HOOK_PREFIX . "partner_category";
public const TAX_WEEKDAY = TouchPointWP::HOOK_PREFIX . "weekday";
public const TAX_TENSE_FUTURE = "future";
- public const TAX_DAYTIME = TouchPointWP::HOOK_PREFIX . "timeOfDay";
+ public const TAX_DAYTIME = TouchPointWP::HOOK_PREFIX . "timeofday";
public const TAX_TENSE = TouchPointWP::HOOK_PREFIX . "tense";
public const TAXMETA_LOOKUP_ID = TouchPointWP::HOOK_PREFIX . "lookup_id";
From f65b3205ee37f8a2f7e63ed8be18d7bcf43fc4b5 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Thu, 27 Feb 2025 19:36:53 -0500
Subject: [PATCH 242/431] minor spacing
---
src/TouchPoint-WP/Involvement.php | 2 +-
src/TouchPoint-WP/Partner.php | 3 +--
src/TouchPoint-WP/Report.php | 2 +-
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/TouchPoint-WP/Involvement.php b/src/TouchPoint-WP/Involvement.php
index 3cfb3ae2..6a0677d7 100644
--- a/src/TouchPoint-WP/Involvement.php
+++ b/src/TouchPoint-WP/Involvement.php
@@ -301,7 +301,7 @@ public static function init(): void
'capability_type' => 'post',
'capabilities' => [
'create_posts' => 'do_not_allow', // Disable creating new posts
- 'edit_posts' => 'do_not_allow', // Disable editing posts
+ 'edit_posts' => 'do_not_allow', // Disable editing posts
'edit_others_posts' => 'do_not_allow', // Disable editing others' posts
'delete_posts' => 'do_not_allow', // Disable deleting posts
'delete_others_posts' => 'do_not_allow', // Disable deleting others' posts
diff --git a/src/TouchPoint-WP/Partner.php b/src/TouchPoint-WP/Partner.php
index 30233d4b..17df2f6c 100644
--- a/src/TouchPoint-WP/Partner.php
+++ b/src/TouchPoint-WP/Partner.php
@@ -237,14 +237,13 @@ public static function init(): void
'capability_type' => 'post',
'capabilities' => [
'create_posts' => 'do_not_allow', // Disable creating new posts
- 'edit_posts' => 'do_not_allow', // Disable editing posts
+ 'edit_posts' => 'do_not_allow', // Disable editing posts
'edit_others_posts' => 'do_not_allow', // Disable editing others' posts
'delete_posts' => 'do_not_allow', // Disable deleting posts
'delete_others_posts' => 'do_not_allow', // Disable deleting others' posts
'publish_posts' => 'do_not_allow', // Disable publishing posts
],
'map_meta_cap' => true, // Ensure users can still view posts
-
]
);
diff --git a/src/TouchPoint-WP/Report.php b/src/TouchPoint-WP/Report.php
index 84c88cf8..fbac7e83 100644
--- a/src/TouchPoint-WP/Report.php
+++ b/src/TouchPoint-WP/Report.php
@@ -194,7 +194,7 @@ public static function init(): void
'capability_type' => 'post',
'capabilities' => [
'create_posts' => 'do_not_allow', // Disable creating new posts
- 'edit_posts' => 'do_not_allow', // Disable editing posts
+ 'edit_posts' => 'do_not_allow', // Disable editing posts
'edit_others_posts' => 'do_not_allow', // Disable editing others' posts
'delete_posts' => 'do_not_allow', // Disable deleting posts
'delete_others_posts' => 'do_not_allow', // Disable deleting others' posts
From efa2a2e7ca21b4fbdf1ffd4c99d7f83b0c65b423 Mon Sep 17 00:00:00 2001
From: "James K."
Date: Fri, 28 Feb 2025 18:35:14 -0500
Subject: [PATCH 243/431] Resolving a (previously unknown) issue with
defer/async script tags.
---
src/TouchPoint-WP/TouchPointWP.php | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/TouchPoint-WP/TouchPointWP.php b/src/TouchPoint-WP/TouchPointWP.php
index 2b2394f7..98a85cac 100644
--- a/src/TouchPoint-WP/TouchPointWP.php
+++ b/src/TouchPoint-WP/TouchPointWP.php
@@ -1012,12 +1012,13 @@ public static function requireStyle(string $name = null): void
*/
public function filterByTag(?string $tag, ?string $handle): string
{
- if (str_contains($tag, 'async') &&
- strpos($handle, '-async') > 0) {
+ if (!str_contains($tag, ' async') &&
+ strpos($handle, '-async') > 0
+ ) {
$tag = str_replace(' src=', ' async="async" src=', $tag);
}
- if (str_contains($tag, 'defer') &&
- strpos($handle, '-defer') > 0
+ if (!str_contains($tag, ' defer') &&
+ strpos($handle, '-defer') > 0
) {
$tag = str_replace(' |