/** * TOGGLE */ public function toggle() { // register assets $this->assets->setHook('css', tools::load('css', 'elements/toggle')); if (!tools::version("2.2.0")) { $js = 'currentURI="' . $this->page->uri() . '";siteURL="' . $this->site->url() . '";'; $this->assets->setHook('js', tools::load('js', 'elements/toggle.min')); $this->assets->setHook('js', $js); } else { $this->_registerIframe(__FUNCTION__); } // prepare output if ($this->page->isInvisible() and !tools::version("2.2.0")) { $siblings = array(); array_push($siblings, array('url' => tools::url('toggle', $this->page), 'label' => '→<span class="gap"></span>←', 'title' => 'Publish page at this position')); foreach ($this->page->siblings()->visible() as $sibling) { array_push($siblings, array('label' => $sibling->title())); array_push($siblings, array('url' => tools::url('toggle', $this->page), 'label' => '→<span class="gap"></span>←', 'title' => 'Publish page at this position')); } // return output return Build::dropdown(array('id' => __FUNCTION__, 'icon' => 'toggle-off', 'label' => 'Invisible', 'items' => $siblings)); } else { // return output return Build::link(array('id' => __FUNCTION__, 'icon' => $this->page->isVisible() ? 'toggle-on' : 'toggle-off', 'label' => $this->page->isVisible() ? 'Visible' : 'Invisible', 'url' => tools::url('toggle', $this->page))); } }