Source for file REPXmlItems.class.php

Documentation is available at REPXmlItems.class.php

  1. <?php
  2. /**
  3.  * Módosítva: 2010.03.06.
  4.  *
  5.  * @author Takács Ákos (Rimelek), programmer [at] rimelek [dot] hu
  6.  * @copyright Copyright (C) 2010, Takács Ákos
  7.  * @version 1.0
  8.  * @package REPagination
  9.  */
  10.  
  11. /**
  12.  * @ignore
  13.  */
  14. require_once dirname(__FILE__).'/../REPClasses.class.php';
  15. /*
  16.  * REPFIleItems importálása
  17.  */
  18. REPClasses::import('REPFileItems');
  19.  
  20. /**
  21.  * XML-ben tárolt adatok lapozására használható osztály
  22.  *
  23.  * @author Takács Ákos (Rimelek), programmer [at] rimelek [dot] hu
  24.  * @copyright Copyright (C) 2010, Takács Ákos
  25.  * @package REPagination
  26.  */
  27. class REPXmlItems extends REPFileItems
  28. {
  29.     /**
  30.      *
  31.      * @param string $file A beolvasandó xml fájl
  32.      * @param array $tags a cella tag-ek, amiket le akarunk kérdezni.
  33.      *             Elhagyása esetén egy tag-et se olvas be ellentétben a
  34.      *             {@link REPFileItems} osztállyal.
  35.      */
  36.     public function  __construct($file,$tags=array())
  37.     {
  38.         parent::__construct($file$tags);
  39.         if (count($this->items)) return;
  40.         $this->init($tags);
  41.     }
  42.     /**
  43.      * Beolvassa az xml fájlt, és beállítja a mezők értékeit.
  44.      *
  45.      * @param array $tags a cella tag-ek, amiket le akarunk kérdezni.
  46.      *             Elhagyása esetén egy tag-et se olvas be ellentétben a
  47.      *             {@link REPFileItems} osztállyal.
  48.      */
  49.     protected function init($tags=array())
  50.     {
  51.         $dom new DOMDocument();
  52.         $dom->load($this->filename);
  53.         $rootNode $dom->getElementsByTagName('*')->item(0);
  54.         $rowTag $rootNode->getElementsByTagname('*')->item(0)->nodeName;
  55.  
  56.         $rows $rootNode->getElementsByTagName($rowTag);
  57.         foreach ($rows as $row)
  58.         {
  59.             $rowarray=array();
  60.             foreach ($tags as $tag)
  61.             {
  62.                 $rowarray[$tag&$dom->saveXML($row->getElementsByTagName($tag)->item(0));
  63.             }
  64.             $this->items[$rowarray;
  65.         }
  66.     }
  67. }
  68. ?>

Documentation generated on Sat, 06 Mar 2010 22:00:17 +0100 by phpDocumentor 1.4.1