Jake Vanderwerf
7 days ago 46d681c6b825d21b3f698d793c4e630c687d90ad
build/summary/render.php
@@ -1,6 +1,9 @@
<?php
use JVBase\managers\CacheManager;
use JVBase\managers\Cache;
use JVBase\meta\Meta;
use JVBase\meta\Render;
use JVBase\registrar\Registrar;
if (!defined('ABSPATH')) {
    exit; // Exit if accessed directly
@@ -31,19 +34,23 @@
function jvbRenderArtistSummary():string
{
    $current = get_queried_object();
    $cache = CacheManager::for('artists', WEEK_IN_SECONDS);
    $key = 'artist-bio-'.$current->ID;
    $cache = Cache::for('artistSummary', WEEK_IN_SECONDS);
    $key = $current->ID;
    $cached = $cache->get($key);
    $cached = false;
    if ($cached !== false) {
        return $cached;
    }
    ob_start();
    $meta = new JVBase\meta\MetaManager((int)$current->ID, 'post');
    $meta = Meta::forPost($current->ID);
    $artist = jvbContentFromUser((int)$current->post_author);
   $sections = JVB_CONTENT[jvbNoBase($current->post_type)]['sections']??[];
   $registrar = Registrar::getInstance($current->post_type));
   $sections = [];
   if ($registrar) {
      $sections = $registrar->getSections();
   }
@@ -86,7 +93,7 @@
                </li>
            </ul>
         <?php endif; ?>
            <?php $styles = $meta->getValue('top_styles');
            <?php $styles = $meta->get('top_styles');
            if (!empty($styles)) {
                ?>
                <ul class="term-list style">
@@ -97,8 +104,8 @@
                            $link = get_term_link((int)$style, BASE.'style');
                            ?>
                            <li>
                                <a href="<?=$link?>" title="Learn more about <?=$term->name?>">
                                    <?=strtolower($term->name)?>
                                <a href="<?=$link?>" title="Learn more about <?=html_entity_decode($term->name)?>">
                                    <?=strtolower(html_entity_decode($term->name))?>
                                </a>
                            </li>
                            <?php
@@ -113,15 +120,15 @@
    </header>
    <section>
        <details class="bio-info">
            <summary class="row btw">
            <summary class="row x-btw">
                <h2>About <?= ($artist['name'] !== '') ? $artist['name'] : strtok($artist['display_name'], ' ')?></h2>
            </summary>
            <div class="columns stack-small">
                <div class="column">
                    <?php $meta->render('render', 'image_portrait'); ?>
                    <?= Render::renderFrom($meta, 'image_portrait'); ?>
                </div>
                <div class="column">
                    <?php $meta->render('render', 'short_bio'); ?>
               <?= Render::renderFrom($meta, 'short_bio'); ?>
                </div>
            </div>
            <div id="styles">
@@ -137,15 +144,15 @@
            </div>
            <div id="about">
                <?php $meta->render('render', 'bio')?>
            <?= Render::renderFrom($meta, 'bio')?>
            </div>
        </details>
    </section>
    <section id="contact" class="">
        <h2>Contact <?=$artist['name']?></h2>
        <?php
        echo jvbRenderContactInfo($current->ID, $meta);
        echo jvbRenderLinks($current->ID, $meta);
        echo jvbRenderContactInfo($current->ID, 'post');
        echo jvbRenderLinks($current->ID, 'post');
        ?>
    </section>
    <?php
@@ -158,28 +165,17 @@
{
    $current = get_queried_object();
    $cache = CacheManager::for('shops', WEEK_IN_SECONDS);
    $key = 'shop-bio-'.$current->term_id;
    $cache = Cache::for('shop_bio', WEEK_IN_SECONDS)->connect('taxonomy');
    $key = $current->term_id;
    $cached = $cache->get($key);
    $cached = false;
    if ($cached !== false) {
        return $cached;
    }
    ob_start();
    $handler = JVB()->getContent('shop');
    $meta = new JVBase\meta\MetaManager($current->term_id, 'term');
    $rating = $meta->getValue('average_rating');
    $opened = $meta->getValue('established');
    $about = $meta->getValue('bio');
    $location = $meta->getValue('location');
    $hours = $meta->getValue('hours');
    $specialty = $meta->getValue('specialties');
    $awards = $meta->getValue('awards');
    $reviews = $meta->getValue('reviews');
    $meta = Meta::forTerm($current->term_id);
   $fields = $meta->getAll(['average_rating', 'established', 'bio','location','hours','specialties','awards','reviews']);
    ?>
    <nav id="shop" class="on-this-page index">
        <label>Jump to:
@@ -189,35 +185,35 @@
        </label>
        <ul>
            <li><a href="#top" title="Back to Top"><?=jvbIcon('caret-circle-up')?></a></li> <?php
            if ($rating !== 'none') {
            if ($fields['rating'] !== 'none') {
                ?>
                <li><a href="#rating">Rating</a></li>
                <?php
            } elseif ($opened !== '') {
            } elseif ($fields['opened'] !== '') {
                ?>
                <li><a href="#opened">Opened</a></li>
                <?php
            } elseif ($location !== '') {
            } elseif ($fields['location'] !== '') {
                ?>
                <li><a href="#location">Location</a></li>
                <?php
            } elseif ($about !== '') {
            } elseif ($fields['about'] !== '') {
                ?>
                <li><a href="#about">About</a></li>
                <?php
            } elseif ($hours !== '') {
            } elseif ($fields['hours'] !== '') {
                ?>
                <li><a href="#hours">Hours</a></li>
                <?php
            } elseif ($specialty !== '') {
            } elseif ($fields['specialties'] !== '') {
                ?>
                <li><a href="#specialties">Specialties</a></li>
                <?php
            } elseif ($awards !== '') {
            } elseif ($fields['awards'] !== '') {
                ?>
                <li><a href="#awards">Awards</a></li>
                <?php
            } elseif ($reviews !== '') {
            } elseif ($fields['reviews'] !== '') {
                ?>
                <li><a href="#reviews">Reviews</a></li>
                <?php
@@ -230,58 +226,58 @@
    <header id="top">
        <div class="columns stack-small">
            <div class="column">
                <?=jvbFormatImage($meta->getValue('image'))?>
                <?=jvbFormatImage($meta->get('image'))?>
            </div>
            <div class="column">
                <h1>
                    <small><?= (get_term((int)$meta->getValue('city'), BASE.'city')) ?
                            get_term((int)$meta->getValue('city'), BASE.'city')->name :
                    <small><?= (get_term((int)$meta->get('city'), BASE.'city')) ?
                            get_term((int)$meta->get('city'), BASE.'city')->name :
                            'Edmonton'?>'s Best Tattoo Shops</small>
                    <?=$current->name?>
                </h1>
                <?= jvbFormatRating($current->term_id, $meta) ?>
                <?php $meta->render('render', 'slogan'); ?>
                <?= jvbFormatRating($current->term_id, 'term') ?>
            <?= Render::renderFrom($meta,   'slogan'); ?>
            </div>
        </div>
    </header>
    <section>
        <details class="bio-info">
            <summary class="row btw">
            <summary class="row x-btw">
                <h2>Learn More About <?=$current->name?></h2>
            </summary>
            <div class="map">
                <?php $meta->render('render', 'location'); ?>
            <?= Render::renderFrom($meta, 'location'); ?>
            </div>
            <div class="short-bio">
                <?php $meta->render('render', 'short_bio'); ?>
            <?= Render::renderFrom($meta, 'short_bio'); ?>
            </div>
            <div class="contact">
                <h3>Contact:</h3>
                <?php
                echo jvbRenderContactInfo($current->term_id, $meta);
                echo jvbRenderLinks($current->term_id, $meta);
                echo jvbRenderContactInfo($current->term_id, 'term');
                echo jvbRenderLinks($current->term_id, 'term');
                ?>
            </div>
            <div id="about">
                <?php $meta->render('render', 'bio')?>
            <?= Render::renderFrom($meta, 'bio')?>
            </div>
        </details>
    </section>
    <section id="contact" class="">
        <h2>Contact </h2>
        <?php
        echo jvbRenderContactInfo($current->term_id, $meta);
        echo jvbRenderLinks($current->term_id, $meta);
        echo jvbRenderContactInfo($current->term_id, 'term');
        echo jvbRenderLinks($current->term_id, 'term');
        ?>
    </section>
    <?= jvbRenderHours($current->term_id, $meta)?>
    <?= jvbRenderHours($current->term_id, 'term')?>
    <?php
    $finished = ob_get_clean();
//    $cache->set($key, $finished);
    $cache->set($key, $finished);
    return $finished;
}
@@ -289,10 +285,9 @@
function jvbRenderTermSummary()
{
    $current = get_queried_object();
    $cache = CacheManager::for(jvbNoBase($current->taxonomy), WEEK_IN_SECONDS);
    $cache = Cache::for('term_summary', WEEK_IN_SECONDS)->connect('taxonomy');
    $key = $current->ID;
    $cached = $cache->get($key);
    $cached = false;
    if ($cached !== false) {
        return $cached;
    }
@@ -310,8 +305,8 @@
            $title = '';
    }
    $meta = new JVBase\meta\MetaManager($current->ID, 'term');
    $fields = JVB_TAXONOMY[$tax]['fields']??[];
    $meta = Meta::forTerm($current->ID);
    $fields = $meta->getAll();
    ?>
    <header id="top">