| | |
| | | * @param string $on |
| | | * @param string $off |
| | | * @param bool $hidden |
| | | * |
| | | * @param array $data |
| | | * @return string |
| | | */ |
| | | function jvbRenderToggleTextField( |
| | |
| | | * @param string $type |
| | | * @return string |
| | | */ |
| | | function jvbRenderLinks(int $ID, string $type =''):string |
| | | function jvbRenderLinks(int $ID, string $type ='post'):string |
| | | { |
| | | $cache = Cache::for('user_links', WEEK_IN_SECONDS)->connect('post')->connect('taxonomy')->connect('user'); |
| | | $cache = Cache::for('user_links_'.$type, $type,WEEK_IN_SECONDS); |
| | | $cached = $cache->get($ID); |
| | | if ($cached) { |
| | | return $cached; |
| | |
| | | $out = '<ul class="contact">'; |
| | | foreach ($links as $link) { |
| | | $url = $link['url']; |
| | | switch (true) { |
| | | case strpos($url, 'facebook'): |
| | | $i = jvbIcon('facebook-logo'); |
| | | break; |
| | | case strpos($url, 'instagram'): |
| | | $i = jvbIcon('instagram-logo'); |
| | | break; |
| | | case strpos($url, 'tiktok'): |
| | | $i = jvbIcon('tiktok-logo'); |
| | | break; |
| | | case strpos($url, 'x.com'): |
| | | $i = jvbIcon('x'); |
| | | break; |
| | | case strpos($url, 'youtube'): |
| | | $i = jvbIcon('youtube-logo'); |
| | | break; |
| | | case strpos($url, 'mastadon'): |
| | | $i = jvbIcon('mastadon-logo'); |
| | | break; |
| | | case strpos($url, 'fediverse'): |
| | | case strpos($url, 'bluesky'): |
| | | $i = jvbIcon('fediverse-logo'); |
| | | break; |
| | | case strpos($url, 'linktree'): |
| | | $i = jvbIcon('linktree-logo'); |
| | | break; |
| | | case strpos($url, 'snapchat'): |
| | | $i = jvbIcon('snapchat-logo'); |
| | | break; |
| | | case strpos($url, 'twitch'): |
| | | $i = jvbIcon('twitch-logo'); |
| | | break; |
| | | case strpos($url, 'threads'): |
| | | $i = jvbIcon('threads-logo'); |
| | | break; |
| | | case strpos($url, 'twitter'): |
| | | $i = jvbIcon('twitter-logo'); |
| | | break; |
| | | default: |
| | | $i = jvbIcon('link'); |
| | | break; |
| | | } |
| | | $i = match (true) { |
| | | strpos($url, 'facebook') => jvbIcon('facebook-logo'), |
| | | strpos($url, 'instagram') => jvbIcon('instagram-logo'), |
| | | strpos($url, 'tiktok') => jvbIcon('tiktok-logo'), |
| | | strpos($url, 'x.com') => jvbIcon('x'), |
| | | strpos($url, 'youtube') => jvbIcon('youtube-logo'), |
| | | strpos($url, 'mastadon') => jvbIcon('mastadon-logo'), |
| | | strpos($url, 'fediverse'), strpos($url, 'bluesky') => jvbIcon('fediverse-logo'), |
| | | strpos($url, 'linktree') => jvbIcon('linktree-logo'), |
| | | strpos($url, 'snapchat') => jvbIcon('snapchat-logo'), |
| | | strpos($url, 'twitch') => jvbIcon('twitch-logo'), |
| | | strpos($url, 'threads') => jvbIcon('threads-logo'), |
| | | strpos($url, 'twitter') => jvbIcon('twitter-logo'), |
| | | default => jvbIcon('link'), |
| | | }; |
| | | $tracker = (array_key_exists('tracker', $link)) ? '?'.$link['tracker'] : '?source=edmontonInk'; |
| | | $out .= '<li><a href="'.$link['url'].$tracker.'" target="_blank">'.$i.$link['title'].'</a></li>'; |
| | | } |
| | |
| | | |
| | | /** |
| | | * @param int $ID |
| | | * @param string $type |
| | | * @param ?string $type |
| | | * |
| | | * @return string |
| | | */ |
| | | function jvbRenderContactInfo(int $ID, string $type = ''):string |
| | | function jvbRenderContactInfo(int $ID, ?string $type = null):string |
| | | { |
| | | $cache = Cache::for('contact', WEEK_IN_SECONDS)->connect('post')->connect('taxonomy'); |
| | | if (is_null($type)) { |
| | | return ''; |
| | | } |
| | | $cache = Cache::for('contact_'.$type, $type,WEEK_IN_SECONDS); |
| | | |
| | | $cached = $cache->get($ID); |
| | | if($cached){ |
| | |
| | | $aClose = '</a>'; |
| | | } |
| | | if ($review['date'] !== '') { |
| | | $date = new Date('M j, Y', strtotime($review['date'])); |
| | | $date = date('M j, Y', strtotime($review['date'])); |
| | | } |
| | | |
| | | $out .= '<cite class="row btw">'; |
| | | $out .= '<cite class="row x-btw">'; |
| | | if ($review['rating'] !== 'none') { |
| | | $out .= jvbFormatStarRating($review['rating']); |
| | | } |
| | |
| | | return ''; |
| | | } |
| | | } |
| | | $cache = Cache::for($term->taxonomy.'_link')->connect('taxonomy'); |
| | | $cache = Cache::for($term->taxonomy.'_link', 'term'); |
| | | $key = $term->term_id; |
| | | return $cache->remember( |
| | | $key, |
| | |
| | | <div class="upload-group"> |
| | | <div class="group-header"> |
| | | <div class="selected"> |
| | | <div class="field"> |
| | | <div class="field checkbox"> |
| | | <input type="checkbox" id="select-all" name="select-all" data-selects="item-grid" data-select-all> |
| | | <label for="select-all"> |
| | | Select All In Group |
| | |
| | | </div> |
| | | </div> |
| | | <details> |
| | | <summary class="row btw"> |
| | | <summary class="row x-btw"> |
| | | Extra Fields |
| | | </summary> |
| | | <div class="fields"></div> |
| | |
| | | </template> |
| | | <template class="groupActions"> |
| | | <div class="item-actions"> |
| | | <div class="radio-button"> |
| | | <div class="btn"> |
| | | <input type="radio" class="featured btn" name="featured" id="featured"> |
| | | <label for="featured"> |
| | | <?=jvbIcon('star')?> |
| | |
| | | </div> |
| | | <div class="selection-actions"> |
| | | <div class="selected"> |
| | | <div class="field"> |
| | | <div class="field checkbox"> |
| | | <input type="checkbox" id="select-all-restore" name="select-all-restore"> |
| | | <label for="select-all-restore"> |
| | | Select All |
| | |
| | | return ''; |
| | | } |
| | | |
| | | $cache = Cache::for('locations')->connect('taxonomy'); |
| | | $key = $cache->generateKey($location); |
| | | $cache = Cache::for('tax_locations', 'term'); |
| | | |
| | | $cached = $cache->get($location); |
| | | $cached = false; |
| | | if ($cached) { |
| | | return $cached; |
| | |
| | | ); |
| | | |
| | | $cached = '<p class="find-us">'.jvbIcon('map-pin').'Find us here: '.$google.$apple.'</p>'; |
| | | $cache->set($key, $cached); |
| | | $cache->set($location, $cached); |
| | | |
| | | return $cached; |
| | | } |