Exemplo n.º 1
0
 /**
  *  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' => '&rarr;<span class="gap"></span>&larr;', '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' => '&rarr;<span class="gap"></span>&larr;', '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)));
     }
 }