| | |
| | | |
| | | public function __construct() |
| | | { |
| | | $this->cache = Cache::for('dashboard', WEEK_IN_SECONDS)->connect('user'); |
| | | $this->cache = Cache::for('dashboard', WEEK_IN_SECONDS)->connect('user')->user(); |
| | | if (JVB_TESTING) { |
| | | $this->cache->flush(); |
| | | } |
| | | |
| | | add_action('init', [$this, 'registerDashboard']); |
| | | $this->cache->flush(); |
| | | |
| | | $this->user = wp_get_current_user(); |
| | | $this->role = jvbUserRole($this->user->ID); |
| | | $this->userLink = (int)get_user_meta($this->user->ID, BASE.'profile_link', true); |
| | |
| | | |
| | | jvb_register_do_once('buildDashboard', [$this, 'activate']); |
| | | |
| | | add_filter('the_seo_framework_sitemap_exclude_ids', [$this, 'excludeDashboard'], 10, 1); |
| | | add_filter('the_seo_framework_sitemap_exclude_ids', [$this, 'excludeDashboard'], 8, 1); |
| | | } |
| | | |
| | | public function excludeDashboard(array $ids):array { |
| | | $cached = $this->cache->remember( |
| | | public function excludeDashboard(array $IDs):array { |
| | | $this->cache->flush(); |
| | | $exclude = $this->cache->remember( |
| | | 'dashboardIDs', |
| | | function() { |
| | | return get_posts([ |
| | |
| | | 'fields' => 'ids', |
| | | ]); |
| | | }); |
| | | return array_merge($ids, $cached); |
| | | if (!empty($exclude)) { |
| | | $IDs = array_merge($IDs, $exclude); |
| | | } |
| | | |
| | | return $IDs; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | protected function renderDashboard(string $page):string |
| | | { |
| | | ob_start(); |
| | | // ob_start(); |
| | | jvbInlineStyles('nav'); |
| | | jvbInlineStyles('dash'); |
| | | jvbInlineStyles('forms'); |
| | |
| | | ); |
| | | |
| | | $this->renderFooter(); |
| | | return ob_get_clean(); |
| | | // return ob_get_clean(); |
| | | return ''; |
| | | // $integrationSlugs = array_map(function($name) { |
| | | // return sanitize_title(str_replace('_', '-', $name)); |
| | | // }, array_keys(JVB()->getAvailableServices(false))); |
| | |
| | | if (function_exists($function)) { |
| | | echo $function([],''); |
| | | } else { |
| | | echo JVB()->blocks()->render_core_site_logo([],''); |
| | | echo render_block( [ |
| | | 'blockName' => 'core/site-logo', |
| | | 'attrs' => [], |
| | | ]); |
| | | } |
| | | ?> |
| | | |
| | |
| | | |
| | | <?php |
| | | $menu = new Navigation('sidebar'); |
| | | $menuClasses = ['col', 'a-start', 'nowrap']; |
| | | $menuClasses = ['left']; |
| | | $itemClasses = ['col']; |
| | | $menu->addClass('col a-start')->hasToggle()->defaultMenuClasses($menuClasses); |
| | | $menu->addClass('sidebar left')->hasToggle()->defaultMenuClasses($menuClasses); |
| | | $menu->defaultItemClasses($itemClasses); |
| | | $pages = $this->getUserAllowedPages()?:[]; |
| | | //Dashboard |
| | |
| | | $itemMenu = $item->submenu($slug); |
| | | foreach ($taxonomies as $s) { |
| | | $taxRegistrar = Registrar::getInstance($s); |
| | | $itemMenu->addItem($taxRegistrar->getPlural(), $taxRegistrar->getIcon()) |
| | | if ($taxRegistrar) { |
| | | $itemMenu->addItem($taxRegistrar->getPlural(), $taxRegistrar->getIcon()) |
| | | ->url($this->baseURL.'/'.$s); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | ?> |
| | | <div class="approvals container"> |
| | | <nav class="tabs row start" role="tablist"> |
| | | <nav class="tabs row left" role="tablist"> |
| | | <button type="button" class="tab active" data-tab="summary" role="tab" aria-selected="true"> |
| | | <?= jvbDashIcon('infinity')?>All |
| | | </button> |
| | |
| | | } |
| | | ob_start(); |
| | | ?> |
| | | <nav class="tabs row start" role="tablist"> |
| | | <nav class="tabs row left" role="tablist"> |
| | | <?php |
| | | $i=1; |
| | | $content = Registrar::getRegistered('post'); |