| | |
| | | exit; |
| | | } |
| | | |
| | | use JVBase\managers\CacheManager; |
| | | use JVBase\meta\MetaForm; |
| | | use JVBase\meta\MetaManager; |
| | | |
| | | /** |
| | |
| | | */ |
| | | function jvbRenderLinks(int $ID, MetaManager|null $meta = null):string |
| | | { |
| | | $cache = new JVBase\managers\CacheManager('bio-'.$ID, WEEK_IN_SECONDS); |
| | | $cache = CacheManager::for('bio-'.$ID, WEEK_IN_SECONDS); |
| | | $key = 'links'; |
| | | $cached = $cache->get($key); |
| | | if ($cached) { |
| | |
| | | */ |
| | | function jvbRenderContactInfo(int $ID, MetaManager|null $meta = null):string |
| | | { |
| | | $cache = new JVBase\managers\CacheManager('bio-'.$ID, WEEK_IN_SECONDS); |
| | | $cache = CacheManager::for('bio-'.$ID, WEEK_IN_SECONDS); |
| | | $key = 'contact'; |
| | | // $cached = $cache->get($key); |
| | | // if($cached){ |
| | | // return $cached; |
| | | // } |
| | | $cached = $cache->get($key); |
| | | if($cached){ |
| | | return $cached; |
| | | } |
| | | if (!$meta) { |
| | | $meta = jvbGetMeta($ID); |
| | | } |
| | |
| | | add_action('wp_footer', 'jvbOutputImageTemplates'); |
| | | |
| | | function jvbOutputImageTemplates() { |
| | | if (wp_script_is('jvb-form')) { |
| | | jvbInlineStyles('forms'); |
| | | ?> |
| | | <template class="formSummary"> |
| | | <div class="form-summary"> |
| | | <h2>Success!</h2> |
| | | <div class="message"> |
| | | <p>We're picking up what you're laying down.</p> |
| | | <p>You'll get an email with your response. If you can't find it, check your spam.</p> |
| | | <p>If you need to make any changes, respond to that email.</p> |
| | | <p>You can see a summary of what you wrote below:</p> |
| | | </div> |
| | | <div class="summary"> |
| | | <div class="result"> |
| | | <h4></h4> |
| | | <p></p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <?php |
| | | } |
| | | if (wp_script_is('jvb-uploader')) { |
| | | ?> |
| | | <template class="emptyGroup"> |
| | |
| | | </div> |
| | | </template> |
| | | <template class="uploadItem"> |
| | | <div class="item upload"> |
| | | <div class="preview"> |
| | | <?php jvbRenderProgressBar('',true) ?> |
| | | <input type="checkbox" class="upload-select" name="select-item" id="select-item"> |
| | | <label for="select-item" aria-label="Select image"> |
| | | <img> |
| | | <video></video> |
| | | <span></span> |
| | | </label> |
| | | <div class="item-actions row btw"> |
| | | <div class="radio-button"> |
| | | <input type="radio" class="featured btn" name="featured" id="featured" hidden> |
| | | <label for="featured"> |
| | | <?=jvbIcon('star')?> |
| | | <?=jvbIcon('star', ['style' => 'fill'])?> |
| | | <span class="screen-reader-text">Set as featured image</span> |
| | | </label> |
| | | </div> |
| | | |
| | | <button type="button" data-action="delete-upload" title="Remove from Group"> |
| | | <?=jvbIcon('delete')?> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <details> |
| | | <summary class="row btw"><?=jvbIcon('edit')?><span>Edit Image Info</span></summary> |
| | | </details> |
| | | </div> |
| | | <?php |
| | | $form = new MetaForm(); |
| | | $form->renderImagePreview(); |
| | | ?> |
| | | </template> |
| | | <template class="restoreNotification"> |
| | | <dialog class="restore-uploads"> |
| | |
| | | <?php |
| | | } |
| | | if (wp_script_is('jvb-selector')) { |
| | | \JVBase\forms\TaxonomySelector::class::outputSelector(); |
| | | \JVBase\forms\TaxonomySelector::class::outputSelectorModal(); |
| | | } |
| | | } |
| | | |
| | | function jvbImageMeta(int|null $ID = null, string $title = '', string $alt = '', string $caption = ''):string |
| | | function jvbImageMeta(int|null $ID = null, string $title = '', string $alt = '', string $caption = '', array $fields = []):string |
| | | { |
| | | $form = new MetaForm(); |
| | | $dataID = ($ID) ? ['image-id' => $ID] : false; |
| | | $addID = ($ID) ? '-'.$ID : ''; |
| | | |
| | | $dataID = ($ID) ? ' data-image-id="'.$ID.'"' : ''; |
| | | $ID = ($ID) ? '-'.$ID : ''; |
| | | $fields = array_merge([ |
| | | 'image_data' => [ |
| | | 'type' => 'group', |
| | | 'wrap' => 'details', |
| | | 'label' => 'Image Info', |
| | | 'hint' => 'These will be automatically generated if left blank.', |
| | | 'fields' => [ |
| | | 'image-title'.$addID => [ |
| | | 'type' => 'text', |
| | | 'label' => 'Image Title', |
| | | 'value' => $title, |
| | | 'data' => $dataID |
| | | ], |
| | | 'image-alt-text'.$addID => [ |
| | | 'type' => 'text', |
| | | 'label' => 'Alt Text', |
| | | 'value' => $alt, |
| | | 'hint' => 'Alt text helps the visually impaired, as well as some benefits for SEO.', |
| | | 'data' => $dataID |
| | | ], |
| | | 'image-caption'.$addID => [ |
| | | 'type' => 'textarea', |
| | | 'value' => $caption, |
| | | 'label' => 'Image Caption', |
| | | 'data' => $dataID |
| | | ] |
| | | ] |
| | | ] |
| | | ], $fields); |
| | | |
| | | return '<div class="upload-meta"'.$dataID.'> |
| | | <div class="field"> |
| | | <label for="image-title'.$ID.'">Image Title</label> |
| | | <input type="text" id="image-title'.$ID.'" name="image-title'.$ID.'" value="'.$title.'"> |
| | | </div> |
| | | <div class="field"> |
| | | <label for="image-alt-text'.$ID.'">Image Alt Text</label> |
| | | <input type="text" id="image-alt-text'.$ID.'" name="image-alt-text'.$ID.'" value="'.$alt.'"> |
| | | <p class="hint">Alt text helps the visually impaired, as well as some benefits for SEO.</p> |
| | | </div> |
| | | <div class="field"> |
| | | <label for="image-caption'.$ID.'">Image Caption</label> |
| | | <textarea id="image-caption'.$ID.'" name="image-caption'.$ID.'">'.$caption.'</textarea> |
| | | </div> |
| | | <p class="hint">These will be automatically generated if left blank.</p> |
| | | </div>'; |
| | | |
| | | return $form->render('image_data',null, $fields,false, true); |
| | | } |
| | | |
| | | |
| | | |
| | | function jvbLocationLinks(array $location): string { |
| | | if (empty($location['address'])) { |
| | | return ''; |
| | | } |
| | | |
| | | $cache = new \JVBase\managers\CacheManager('location'); |
| | | $cache = CacheManager::for('locations'); |
| | | $key = $cache->generateKey($location); |
| | | |
| | | $cached = false; |