function forEachSubFile($func, $params, $root, $incfilter = array(), $excfilter = array("ZZZZ"))
{
    $dh = opendir($root);
    while (false !== ($dirname = readdir($dh))) {
        if (is_dir($root . "/" . $dirname) && !in_array($dirname, array(".", "..", ".svn"))) {
            $dirh = opendir($root . "/" . $dirname);
            while (false !== ($filename = readdir($dirh))) {
                $thisfile = $root . "/" . $dirname . "/" . $filename;
                if (is_dir($thisfile)) {
                    continue;
                }
                if (anyMatch($thisfile, $excfilter)) {
                    continue;
                }
                if (!matchAll($thisfile, $incfilter)) {
                    continue;
                }
                if (wordlistShouldBeSplit($thisfile, $params)) {
                    splitWordlist($thisfile, $filename, $func, $params);
                } else {
                    $func($thisfile, $params);
                }
            }
        }
    }
}
Ejemplo n.º 2
0
 /**
  *
  * @param str predpokladame range v 2 moznych standardnych ais formatoch
  *    - "do [datum a cas]"
  *    - "[datum a cas] do [datum a cas]"
  * @see parseAISDateTime
  * @returns array('od'=>timestamp, 'do'=>timestamp)
  */
 public static function parseAISDateTimeRange($str)
 {
     $pattern = '@(?P<od>[0-9:. ]*)do (?P<do>[0-9:. ]*)@';
     $data = matchAll($str, $pattern);
     $data = $data[0];
     $result = array();
     if ($data['od'] == '') {
         $result['od'] = null;
     } else {
         $result['od'] = self::parseAISDateTime($data['od']);
     }
     $result['do'] = self::parseAISDateTime($data['do']);
     return $result;
 }
Ejemplo n.º 3
0
 /**
  * Konštruktor, z html kódu vyrobí dáta.
  *
  * @param array(string) $tableDefinition  názvy stĺpcov
  * @param string        $html             html vygenerované AISom
  */
 public function __construct($tableDefinition, $html)
 {
     $this->definition = $tableDefinition;
     // Ak v tabulke nie su ziadne data, matchAll nic nenajde, ale nemame vyhodit vynimku
     if (trim($html) == '') {
         $this->data = array();
         return;
     }
     $data = matchAll($html, $this->getPattern());
     $this->data = array();
     if ($data !== false) {
         foreach ($data as $row) {
             $this->data[] = removeIntegerIndexesFromArray($row);
         }
     } else {
         throw new Exception("Problém pri parsovaní dát.");
     }
 }
 public function parseIdFromZapisnyListIndexFromResponse($response)
 {
     // FIXME: toto tunak spravit nejak krajsie
     $data = matchAll($response, self::APP_LOCATION_PATTERN, true);
     if ($data === false) {
         return null;
     }
     $data = matchAll($data[2], '@&idZapisnyList\\=(?P<idZapisnyList>[0-9]*)&idStudium\\=(?P<idStudium>[0-9]*)@', true);
     if ($data === false) {
         return null;
     }
     return removeIntegerIndexesFromArray($data);
 }
 public function getTerminyHodnotenia()
 {
     $this->open();
     $data = matchAll($this->data, AIS2Utils::DATA_PATTERN);
     return new AIS2Table($this->tabulka_terminy_hodnotenia, $data[1][1]);
 }
 public function getPriemery()
 {
     $this->open();
     $data = matchAll($this->data, AIS2Utils::DATA_PATTERN);
     return new AIS2Table($this->tabulka_priemery, $data[1][1]);
 }
 public function getZoznamPrihlasenych()
 {
     $this->open();
     $data = matchAll($this->data, AIS2Utils::DATA_PATTERN);
     return new AIS2Table($this->tabulka_zoznam_prihlasenych, $data[0][1]);
 }
Ejemplo n.º 8
0
 public function getZoznamTerminov()
 {
     $this->open();
     $data = matchAll($this->data, AIS2Utils::DATA_PATTERN);
     return new AIS2Table($this->tabulka_vyber_terminu_hodnotenia, $data[0][1]);
 }