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); } } } } }
/** * * @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; }
/** * 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]); }
public function getZoznamTerminov() { $this->open(); $data = matchAll($this->data, AIS2Utils::DATA_PATTERN); return new AIS2Table($this->tabulka_vyber_terminu_hodnotenia, $data[0][1]); }