From 7333b141895467acaebd297001e6e0b3503226c5 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 31 May 2026 15:24:13 +0000
Subject: [PATCH] =fixes to cover summary outputs, projects, and more

---
 taxonomies/project.php |   35 +++++++++++++++++++++++++++++------
 1 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/taxonomies/project.php b/taxonomies/project.php
index 341e489..01f7792 100644
--- a/taxonomies/project.php
+++ b/taxonomies/project.php
@@ -1,5 +1,6 @@
 <?php
 // /taxonomies/progress.php
+use JVBase\base\SchemaHelper;
 use JVBase\managers\Cache;
 use JVBase\meta\Meta;
 use JVBase\registrar\Registrar;
@@ -186,9 +187,9 @@
                     'type'  => 'select',
                     'label' => 'Type',
                     'options'   => [
-                        'JVBase\managers\SEO\render\Thing\Person'   => 'Person',
-                        'JVBase\managers\SEO\render\Thing\Organization\LocalBusiness\LocalBusiness' => 'Local Business',
-                        'JVBase\managers\SEO\render\Thing\Organization\Organization' => 'Organization'
+                        'person'   => 'Person',
+                        'business' => 'Local Business',
+                        'organization' => 'Organization'
                     ]
                 ],
                 'name'  => [
@@ -375,7 +376,6 @@
         'about'             => [
             'type'              => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork',
             'name'              => '{{name}}',
-            'creator'           => '{{CREATOR}}',
             'sourceOrganization'=> '{{forType}}',
             'abstract'          => '{{summary}}'
         ],
@@ -434,7 +434,7 @@
     }
 
 
-    return '<p>Or see <a href="'.get_home_url(null,'/projects/').'">all projects</a>.</p>';
+    return '<p>Or see <a href="'.get_home_url(null,'/lists/projects/').'">all projects</a>.</p>';
 }
 
 add_filter('jvbBeforeSummary', 'ajv_project_before_summary', 10, 2);
@@ -786,7 +786,7 @@
             if (!empty($meta->get($term))) {
                 $registrar = Registrar::getInstance($term);
 
-                $titleExtra .= '<li>'.jvbIcon($registrar->getIcon()).jvbGetTermLink($meta->get($term), BASE.$term).'</li>';
+                $titleExtra .= '<li>'.jvbIcon($registrar->getIcon()).jvbGetTermLink((int)$meta->get($term), BASE.$term).'</li>';
             }
         }
         if (!empty($titleExtra)) {
@@ -839,4 +839,27 @@
         $url,
         jvbIcon('arrow-circle-right')
     );
+}
+
+function ajv_resolve_forType(string $variable, Meta $meta):string|array|\JVBase\managers\SEO\render\Thing\Thing
+{
+    $result = $meta->get($variable);
+    $out = [];
+    if (empty($result)) {
+        return '';
+    }
+    foreach ($result as $v) {
+        $type = match ($v['type']) {
+            'person'    => 'JVBase\managers\SEO\render\Thing\Person',
+            'business'  => 'JVBase\managers\SEO\render\Thing\Organization\LocalBusiness\LocalBusiness',
+            'organization'=> 'JVBase\managers\SEO\render\Thing\Organization\Organization',
+            default => false
+        };
+        if ($type) {
+            $v['type'] = $type;
+            $out[] = SchemaHelper::classFromConfig($v);
+        }
+    }
+
+    return count($out) === 1 ? $out[0] : $out;
 }
\ No newline at end of file

--
Gitblit v1.10.0