[ Index ]

PHP Cross Reference of Limb3

title

Body

[close]

/wact/src/tags/pager/ -> navigator.tag.php (source)

   1  <?php
   2  /*
   3   * Limb PHP Framework
   4   *
   5   * @link http://limb-project.com 
   6   * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
   7   * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
   8   */
   9  
  10  /**
  11   * @tag pager:NAVIGATOR
  12   * @package wact
  13   * @version $Id: navigator.tag.php 5945 2007-06-06 08:31:43Z pachanga $
  14   */
  15  class WactPagerNavigatorTag extends WactRuntimeComponentTag
  16  {
  17    protected $runtimeComponentName = 'WactPagerComponent';
  18    protected $runtimeIncludeFile = 'limb/wact/src/components/pager/WactPagerComponent.class.php';
  19    protected $mirror;
  20  
  21    function generateConstructor($code)
  22    {
  23      if ($this->mirror && ($mirrored_pager = $this->parent->findUpChild($this->mirror)))
  24      {
  25        return $mirrored_pager->generateConstructor($code);
  26      }
  27      else
  28        parent :: generateConstructor($code);
  29  
  30      $items = $this->getAttribute('items');
  31      if (!empty($items))
  32        $code->writePhp($this->getComponentRefCode() . '->setItemsPerPage(' . $items . ');' . "\n");
  33  
  34      $pager_prefix = $this->getAttribute('pager_prefix');
  35      if (!empty($pager_prefix))
  36        $code->writePhp($this->getComponentRefCode() . '->setPagerPrefix("' . $pager_prefix . '");' . "\n");
  37  
  38      if($this->findChildByClass('WactPagerElipsesTag'))
  39      {
  40        $code->writePhp($this->getComponentRefCode() . '->useElipses();' . "\n");
  41        $pages_in_middle = $this->getAttribute('pages_in_middle');
  42  
  43        if (!empty($pages_in_middle))
  44          $code->writePhp($this->getComponentRefCode() . '->setPagesInMiddle(' . $pages_in_middle . ');' . "\n");
  45  
  46        if ($this->hasAttribute('pages_in_sides'))
  47          $code->writePhp($this->getComponentRefCode() . '->setPagesInSides(' . (int)$this->getAttribute('pages_in_sides') . ');' . "\n");
  48      }
  49      else
  50      {
  51        $code->writePhp($this->getComponentRefCode() . '->useSections();' . "\n");
  52        $pages_per_section = $this->getAttribute('pages_per_section');
  53        if (!empty($pages_per_section))
  54          $code->writePhp($this->getComponentRefCode() . '->setPagesPerSection(' . $pages_per_section . ');' . "\n");
  55      }
  56    }
  57  
  58    function prepare()
  59    {
  60      parent :: prepare();
  61      $this->mirror = $this->getAttribute('mirror');
  62      if (empty($this->mirror))
  63        return;
  64  
  65      if(!$mirrored_pager = $this->parent->findUpChild($this->mirror))
  66        $this->raiseCompilerError('Could not find component',
  67                                  array('attribute' => $this->mirror));
  68    }
  69  
  70    function getComponentRefCode()
  71    {
  72      if ($this->mirror && ($mirrored_pager = $this->parent->findUpChild($this->mirror)))
  73      {
  74        return $mirrored_pager->getComponentRefCode();
  75      }
  76      else
  77        return parent :: getComponentRefCode();
  78    }
  79  
  80    function generateBeforeContent($code)
  81    {
  82      $code->writePhp($this->getComponentRefCode() . '->resetPagesIterator();' . "\n");
  83    }
  84  }
  85  
  86  ?>


Generated: Mon Dec 1 03:56:46 2008 Cross-referenced by PHPXref 0.7