moved tab logic to a new class
More of the logic should be moved to this class
This commit is contained in:
parent
be2c364538
commit
2387fd467e
2 changed files with 84 additions and 25 deletions
83
Template.php
Normal file
83
Template.php
Normal file
|
@ -0,0 +1,83 @@
|
|||
<?php
|
||||
|
||||
namespace dokuwiki\template\sprintdoc;
|
||||
|
||||
/**
|
||||
* Class Template
|
||||
*
|
||||
* provides additional logic for the sprintdoc template
|
||||
*
|
||||
* @package dokuwiki\template\sprintdoc
|
||||
*/
|
||||
class Template {
|
||||
|
||||
/**
|
||||
* @var array loaded plugins
|
||||
*/
|
||||
protected $plugins = array(
|
||||
'sqlite' => null,
|
||||
'tagging' => null,
|
||||
);
|
||||
|
||||
/**
|
||||
* Get the singleton instance
|
||||
*
|
||||
* @return Template
|
||||
*/
|
||||
public static function getInstance() {
|
||||
static $instance = null;
|
||||
if($instance === null) $instance = new Template();
|
||||
return $instance;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Template constructor.
|
||||
*/
|
||||
protected function __construct() {
|
||||
$this->initializePlugins();
|
||||
}
|
||||
|
||||
/**
|
||||
* Load all the plugins we support directly
|
||||
*/
|
||||
protected function initializePlugins() {
|
||||
$this->plugins['sqlite'] = plugin_load('helper', 'sqlite');
|
||||
if($this->plugins['sqlite']) {
|
||||
$this->plugins['tagging'] = plugin_load('helper', 'tagging');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all the tabs to display
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getMetaBoxTabs() {
|
||||
global $lang;
|
||||
$tabs = array();
|
||||
|
||||
$toc = tpl_toc(true);
|
||||
if($toc) {
|
||||
$tabs[] = array(
|
||||
'id' => 'spr__tab-toc',
|
||||
'label' => $lang['toc'],
|
||||
'tab' => $toc,
|
||||
'count' => null,
|
||||
);
|
||||
}
|
||||
|
||||
if($this->plugins['tagging']) {
|
||||
$tabs[] = array(
|
||||
'id' => 'spr__tab-tags',
|
||||
'label' => tpl_getLang('tab_tags'),
|
||||
'tab' => $this->plugins['tagging']->tpl_tags(false),
|
||||
'count' => null, // FIXME
|
||||
);
|
||||
}
|
||||
|
||||
// fixme add magicmatcher info
|
||||
|
||||
return $tabs;
|
||||
}
|
||||
}
|
|
@ -1,31 +1,7 @@
|
|||
<?php
|
||||
if(!defined('DOKU_INC')) die();
|
||||
global $lang;
|
||||
|
||||
$tabs = array();
|
||||
|
||||
$toc = tpl_toc(true);
|
||||
if($toc) {
|
||||
$tabs[] = array(
|
||||
'id' => 'spr__tab-toc',
|
||||
'label' => $lang['toc'],
|
||||
'tab' => $toc,
|
||||
'count' => null,
|
||||
);
|
||||
}
|
||||
|
||||
/** @var helper_plugin_tagging $tags */
|
||||
$tags = plugin_load('helper', 'tagging');
|
||||
if($tags) {
|
||||
$tabs[] = array(
|
||||
'id' => 'spr__tab-tags',
|
||||
'label' => tpl_getLang('tab_tags'),
|
||||
'tab' => $tags->tpl_tags(false),
|
||||
'count' => null, // FIXME
|
||||
);
|
||||
}
|
||||
|
||||
// fixme add magicmatcher info
|
||||
$tabs = \dokuwiki\template\sprintdoc\Template::getInstance()->getMetaBoxTabs();
|
||||
|
||||
?>
|
||||
<div class="tab-container">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue