From f383c3a4325bc173b6f9676274bc19694be6f9c0 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 05 Jun 2026 16:49:44 +0000
Subject: [PATCH] =Modified the Feed Fields config in Registrar, to utilize the built in functionality there

---
 alegacy.php |  213 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 182 insertions(+), 31 deletions(-)

diff --git a/alegacy.php b/alegacy.php
index a7a2b22..3416d05 100644
--- a/alegacy.php
+++ b/alegacy.php
@@ -43,7 +43,8 @@
     exit;
 }
 
-use JVBase\managers\CacheManager;
+use JVBase\base\Site;
+use JVBase\registrar\Registrar;
 
 add_filter('jvb_base', function () {
     return 'altr_';
@@ -67,10 +68,71 @@
 require(AJV_DIR . '/login/_setup.php');
 require(AJV_DIR . '/taxonomies/_setup.php');
 require(AJV_DIR . '/users/_setup.php');
+require(AJV_DIR . '/blocks/_setup.php');
 require(AJV_DIR . '/seo.php');
 //require(AJV_DIR . '/files/fileManagement.php');
 
 
+add_action('plugins_loaded', 'aei_siteDefinition', 2);
+add_action('jvbLoadDefinitions', 'aei_siteDefinition');
+function aei_siteDefinition():void
+{
+    if (!class_exists('JVBase\base\Site')) {
+        return;
+    }
+    $site = Site::getInstance();
+    $site->set('icons', 'light');
+    $site->setAll([
+        'is_directory',
+        'dashboard',
+        'magic_link',
+        'feed_block',
+//        'faq',
+        'referrals'
+//        'has_map',
+//        'referrals',
+    ]);
+    $site->setIntegrations([
+        'cloudflare',
+        'facebook',
+        'gmb',
+        'maps',
+        'helcim',
+        'postmark',
+        'instagram',
+        'umami'
+    ]);
+
+    $login = $site->login();
+    $site->setDirectorySingular('List');
+    $site->setDirectoryPlural('Lists');
+
+
+}
+
+//add_action('plugins_loaded', 'aei_membership_settings', 10);
+//function aei_membership_settings():void
+//{
+//    if (!class_exists('JVBase\base\Site')) {
+//        return;
+//    }
+//    $site = Site::getInstance();
+//    $membership = $site->membership();
+//    $membership->setAll([
+//        'invitable',
+//        'term_approval',
+//        'member_verified'
+//    ]);
+//
+//    $membership->setInvitable([
+//        'artist'    => ['artist', 'enthusiast'],
+//        'enthusiast' => ['enthusiast']
+//    ]);
+//
+//    $membership->setApprovers(['artist']);
+//    $membership->setCanSeeForum(['artist']);
+//}
+
 /**
  * Defines base options like:
  *         - directory & Membership
@@ -87,7 +149,7 @@
  *         - rewrite rules
  *         - archive title
  */
-add_filter('jvb_site', 'altr_setup_site');
+//add_filter('jvb_site', 'altr_setup_site');
 function altr_setup_site():array
 {
     return [
@@ -97,6 +159,7 @@
         'has_membership'      => false,
         'has_map'             => true,
         'dashboard'           => true,
+        'faq'                 => true,
         'referrals'           => true,
         'magicLink'           => true,
         'support'         => false,
@@ -201,7 +264,7 @@
                 </a>
             </li>
             <li>
-                <a href="https://bsky.app/profile/legacyrebrand.test" target="_blank" rel="nofollow" title="Find us on Bluesky">
+                <a href="https://bsky.app/profile/legacytattooremoval.ca" target="_blank" rel="nofollow" title="Find us on Bluesky">
                     '.jvbIcon('butterfly').'
                     <span class="screen-reader-text">
                         Find us on Bluesky
@@ -243,19 +306,6 @@
 
 
 
-function altr_render_core_post_excerpt(array $block, string $content)
-{
-
-    global $post;
-    if (!has_excerpt($post)) {
-        return '';
-    }
-    $excerpt = $post->post_excerpt;
-
-    $before = is_singular() ? '<span class="tldr" title="Too Long, Didn\'t Read" data-short="TLDR:" data-long="TOO LONG, DIDN\'T READ:">TLDR:</span>' : '';
-    $excerpt = $before.$excerpt;
-    return '<div class="excerpt">'.apply_filters('the_content', $excerpt).'</div>';
-}
 
 add_action( 'init', 'altr_add_excerpts_to_pages' );
 function altr_add_excerpts_to_pages() {
@@ -279,29 +329,130 @@
     return 'logo-triangle';
 }
 
-function altr_render_core_site_logo(array $block, string $content):string
+function altr_title_generator(?string $type = null):string
 {
-    $open = $close = '';
+    if (!$type) {
+        $obj = get_queried_object();
 
-    if (!is_home() && !is_front_page()) {
-        $open = '<a href="'.get_home_url().'" rel="home">';
-        $close = '</a>';
+        if (is_tax()) {
+            $type = $obj->taxonomy;
+        } elseif (is_post_type_archive()) {
+            $type = $obj->name;
+        } elseif (is_singular()) {
+            $type = $obj->post_type;
+        } else {
+            error_log('Could not determine type: '.print_r($obj, true));
+            return '';
+        }
     }
-    return $open.'<span class="logo">'.jvbIcon('logo-triangle').jvbIcon('logo-text-only').'</span>'.$close;
-}
 
-add_filter('jvbSummaryHeader', 'altr_progress_summary_header', 10, 2);
 
-function altr_progress_summary_header(string $title, string $type):string
-{
-    switch ($type) {
+    $registrar = Registrar::getInstance($type);
+    if (!$registrar) {
+        error_log('Could not find registrar for '.$type);
+        return '';
+    }
+
+    switch($registrar->getSlug()) {
         case 'progress':
-            return JVB_CONTENT[$type]['plural'];
+            return $registrar->getPlural();
+        case 'skin_type':
+            $name = get_queried_object()->name;
+            $basic =  match($name) {
+                'i','ii','iii','iv type 1' => 'Lighter Skin',
+                'iv type 2', 'v', 'vi' => 'Darker Skin'
+            };
+            return '<small>How We Remove Tattoos On </small> '.$basic.' <small>(FitzPatrick Skin Type '.$name.')</small>';
+        case 'age':
+            $name = strtolower(get_queried_object()->name);
+            if (str_contains($name, 'years')) {
+                $name = str_replace('years', 'year', $name);
+            }
+            if (str_contains($name, 'months')) {
+                $name = str_replace('months', 'month', $name);
+            }
+            if (str_contains($name, 'weeks')) {
+                $name = str_replace('weeks', 'week', $name);
+            }
+            return '<small>How We Remove </small>'.ucwords($name).' Old<small> Tattoos</small>';
+
+        case 'timeline':
+            $name = strtolower(get_queried_object()->name);
+            return '<small>Laser Tattoo Removal </small>'.ucwords($name).' Later';
+        case 'goal':
+            $name = get_queried_object()->name;
+            $name = match($name) {
+                'Complete Removal' => 'Completely Remove Tattoos',
+                'Cover Up Tattoo' => 'Fade Tattoos for a Cover Up',
+                default => 'Clean Up Tattoo Blowout'
+            };
+            return '<small>How we </small>'.$name;
+        case 'style':
+        case 'body_part':
+        case 'theme':
+            $name = get_queried_object()->name;
+            return '<small>How We Remove </small>'.ucwords($name).' Tattoos';
         default:
-            $obj = get_queried_object();
-            return '<small>Before & After Laser Tattoo Removal</small><small>'.JVB_TAXONOMY[$type]['singular'].':</small>'.str_replace(JVB_TAXONOMY[$type]['singular'].': ','',$title);
+            error_log('No title preset found for '.$registrar->getSlug());
+            return '';
     }
 }
+
+add_filter('get_the_archive_title', 'altr_archive_title', 10, 1);
+function altr_archive_title(string $title):string
+{
+    return altr_title_generator();
+}
+
+add_filter('the_seo_framework_title_from_generation', 'altr_title_filter', 10, 2);
+function altr_title_filter(string $title, $args):string
+{
+    $newTitle = '';
+
+    $tsf = tsf();
+
+    $type = null;
+    if (null === $args) {
+        // We're in the loop
+        if ($tsf->query()->is_tax()) {
+            $type = $tsf->query()->get_current_taxonomy();
+        }
+    } else {
+        if (!empty($args['taxonomy']??'')) {
+            $type = $args['taxonomy'];
+        }
+    }
+
+    if ($type) {
+        $newTitle = altr_title_generator(jvbNoBase($type));
+    }
+
+    return empty($newTitle) ? $title : wp_strip_all_tags($newTitle);
+}
+
+
+//add_filter('jvbSummaryHeader', 'altr_progress_summary_header', 10, 2);
+//
+//function altr_progress_summary_header(string $title, string $type):string
+//{
+//    $pre = $singular = '';
+//    $registrar = Registrar::getInstance($type);
+//
+//    switch ($type) {
+//
+//
+//    }
+//    $pre = 'Before & After Laser Tattoo Removal';
+//    if (is_tax()) {
+//        return '<small>Before & After </small>'.get_queried_object()->name.'<small> Tattoo Removal</small>';
+//    } elseif (is_post_type_archive()) {
+//        $singular = Registrar::getInstance($type)->getSingular();
+//    } elseif (is_singular()) {
+//        global $post;
+//        $singular = $post->post_title;
+//    }
+//    return '<small>Before & After Laser Tattoo Removal</small>'.$singular;
+//}
 add_filter('jvbSummaryHeaderExtra', 'altr_progress_summary_header_extra', 10, 2);
 
 function altr_progress_summary_header_extra(string $title, string $type):string
@@ -373,4 +524,4 @@
             'in_footer'	=> true
         ]
     );
-}
+}
\ No newline at end of file

--
Gitblit v1.10.0