protected function scanFolder($folder, &$position, $forFolders = true, $threshold_key = 'dir', $threshold_default = 50) { $registry = AEFactory::getConfiguration(); // Initialize variables $arr = array(); $false = false; if (!is_dir($folder) && !is_dir($folder . '/')) { return $false; } try { $di = new DirectoryIterator($folder); } catch (Exception $e) { $this->setWarning('Unreadable directory ' . $folder); return $false; } if (!$di->valid()) { $this->setWarning('Unreadable directory ' . $folder); return $false; } if (!empty($position)) { $di->seek($position); if ($di->key() != $position) { $position = null; return $arr; } } $counter = 0; $maxCounter = $registry->get("engine.scan.large.{$threshold_key}_threshold", $threshold_default); while ($di->valid()) { if ($di->isDot()) { $di->next(); continue; } if ($di->isDir() != $forFolders) { $di->next(); continue; } $ds = $folder == '' || $folder == '/' || @substr($folder, -1) == '/' || @substr($folder, -1) == DIRECTORY_SEPARATOR ? '' : DIRECTORY_SEPARATOR; $dir = $folder . $ds . $di->getFilename(); $data = _AKEEBA_IS_WINDOWS ? AEUtilFilesystem::TranslateWinPath($dir) : $dir; if ($data) { $counter++; $arr[] = $data; } if ($counter == $maxCounter) { break; } else { $di->next(); } } // Determine the new value for the position $di->next(); if ($di->valid()) { $position = $di->key() - 1; } else { $position = null; } return $arr; }
function getList($max = null) { $dir = new DirectoryIterator($this->file_path); $fileList = array(); while ($dir->valid()) { if ($dir->isDot()) { $dir->next(); continue; } $file_name = $dir->getFilename(); $fileList[] = $file_name; $dir->next(); } return $fileList; }
/** * Carrega todos os arquivos do pacote especificado o carregamento considera o classpath atual da execusão * * @param string $package nome do pacote */ public static function load($package) { self::getCurrentPath(); if (substr($package, -1, 1) != "/") { $package .= "/"; } foreach (self::$classPath as $path) { $dir = $path . $package; if (is_dir($dir)) { $d = new DirectoryIterator($dir); while ($d->valid()) { if ($d->isFile()) { $requireThis = false; //testa a extensão foreach (self::$filesExtensions as $ext) { if (substr($d->getFilename(), strlen($ext) * -1, strlen($ext)) == $ext) { $requireThis = true; break; } } if ($requireThis) { require_once $package . $d->getFilename(); } } $d->next(); } } } }
function executeDir($directory) { $iterator = new DirectoryIterator($directory); while ($iterator->valid()) { $entry = $iterator->getFilename(); $path = $directory . '/' . $entry; $iterator->next(); if ($entry[0] == '.') { continue; } if (is_file($path)) { if (substr($entry, -4) != '.php') { continue; } if (ctype_upper($entry[0])) { $test = new DocTest($path); if ($test->failed()) { echo $test->toString(); $this->fail('Doc test failed.'); } else { if ($test->numOfPassed()) { echo ','; } else { echo ' '; } } } } elseif (is_dir($path)) { $this->executeDir($path); } } }
/** * * @param Criterio $filtro * @param string $order * @param integer $limitOffset * @param integer $limitCount * @param string $group * @return mixed Proyecto */ function findBy($filtro = null, $order = null, $limitOffset = null, $limitCount = null, $group = null) { $dir = new DirectoryIterator(DIR_PROYECTOS); while ($dir->valid()) { if ($dir->isFile() && stripos($dir->getFilename(), '.json')) { $proyFilename = DIR_PROYECTOS . $dir->getFilename(); $p = new Proyecto(); $fp = fopen($proyFilename, 'r'); $strJsonProy = fread($fp, filesize($proyFilename)); fclose($fp); $jsonProy = json_decode($strJsonProy); $p->setNombre($jsonProy->nombre); $p->setRuta($jsonProy->ruta); $p->setTieneProyectoEcplipse(file_exists("{$jsonProy->ruta}/.project")); if ($p->getTieneProyectoEclipse()) { $eclipseProy = simplexml_load_file("{$jsonProy->ruta}/.project"); $p->setNombre((string) $eclipseProy->name); } $p->setId($jsonProy->id); $p->setDbConfig($jsonProy->dbConfig); $lista[] = $p; } $dir->next(); } return $lista; }
/** * Obtem um array de ImgObject com todos os arquivos de imagens dos * diretórios especificados * * @param int|null $limit * @return array */ public function getImgArray($limit = null) { $imgArray = array(); foreach ($this->getDir() as $diretorio) { $imgArray = array(); $d = new DirectoryIterator($diretorio); while ($d->valid()) { if (!$d->isDot()) { $fileName = $d->getFilename(); if ($this->validateFormat($fileName)) { $imgObj = new ImgObject($fileName, $diretorio); $imgArray[] = $imgObj; ++$this->imgCount; if ($limit != null) { if ($this->imgCount >= $limit) { break; } } } } $d->next(); } } return $imgArray; }
/** * @ignore */ public static function fromFileScan($uPattern) { $tSep = quotemeta(DIRECTORY_SEPARATOR); $tPos = strrpos($uPattern, $tSep); if ($tSep !== '/' && $tPos === false) { $tSep = '/'; $tPos = strrpos($uPattern, $tSep); } if ($tPos !== false) { $tPattern = substr($uPattern, $tPos + strlen($tSep)); $tPath = substr($uPattern, 0, $tPos + strlen($tSep)); } else { $tPath = $uPattern; $tPattern = ""; } $tTemp = new static(); $tHandle = new \DirectoryIterator($tPath); $tPatExists = strlen($uPattern) > 0; for (; $tHandle->valid(); $tHandle->next()) { if (!$tHandle->isFile()) { continue; } $tFile = $tHandle->current(); if ($tPatExists && !fnmatch($tPattern, $tFile)) { continue; } $tTemp->add(simplexml_load_file($tPath . $tFile)); } return $tTemp; }
public function logAction() { $pageSize = 4096; $overlapSize = 128; $dir = APPLICATION_PATH . '/../data/logs/'; $file = $this->_getParam('file', null); $this->view->page = $this->_getParam('page', 0); if ($file === null) { $file = sprintf('%s_application.log', Zend_Date::now()->toString('yyyy.MM.dd')); } $fp = fopen($dir . $file, 'r'); fseek($fp, -$pageSize * ($this->view->page + 1) + $overlapSize, SEEK_END); $this->view->errorLog = fread($fp, $pageSize + $overlapSize * 2); fclose($fp); $iterator = new DirectoryIterator($dir); while ($iterator->valid()) { if (!$iterator->isDot()) { if ($iterator->isFile()) { $files[$iterator->getFilename()] = $iterator->getPathName(); } } $iterator->next(); } $this->view->itemCountPerPage = $pageSize; $this->view->totalItemCount = filesize($dir . $file); $this->view->files = $files; }
public function loadMigrations() { $result = array('mgrs' => array(), 'headers' => array(array('id' => 'id', 'content' => Loc::getMessage('MIGRATION_ID'), 'sort' => 'id', 'align' => 'left', 'default' => true), array('id' => 'status', 'content' => Loc::getMessage('MIGRATION_STATUS'), 'align' => 'right', 'default' => true), array('id' => 'date_c', 'content' => Loc::getMessage('MIGRATION_DATE_CHANGED'), 'align' => 'right', 'default' => true), array('id' => 'date_a', 'content' => Loc::getMessage('MIGRATION_DATE_ADDED'), 'align' => 'right', 'default' => true))); $db_mgrs = $this->loadDBMigrations(); $mgr_path = Option::get(UM_BM_MODULE_NAME, 'migration_folder', UM_BM_MGR_PATH); $di = new \DirectoryIterator($_SERVER['DOCUMENT_ROOT'] . $mgr_path); while ($di->valid()) { if (!$di->isDot() && $this->hasProperFilename($di->getFilename())) { $filename = $di->getFilename(); if (!array_key_exists($filename, $db_mgrs)) { $mgr = new BixMigBase(); $mgr->setCode($filename)->setStatus('UNKNOWN')->setAddDate(date('d.m.Y H:i:s'))->setChangeDate()->add(); $result['mgrs'][] = $mgr; } else { $result['mgrs'][] = $db_mgrs[$filename]; unset($db_mgrs[$filename]); } } $di->next(); } if (!empty($db_mgrs)) { $this->deleteOrphans($db_mgrs); } return $result; }
/** * Returns a list of all template names. * * @return string[] */ protected function getTemplateNames() { /** @var \RecursiveDirectoryIterator $files */ $files = new \DirectoryIterator(dirname(__FILE__) . '/../../../../data/templates'); $template_names = array(); while ($files->valid()) { $name = $files->getBasename(); // skip abstract files if (!$files->isDir() || in_array($name, array('.', '..'))) { $files->next(); continue; } $template_names[] = $name; $files->next(); } return $template_names; }
/** * Returns a list of all template names. * * @return string[] */ public function getAllNames() { /** @var \RecursiveDirectoryIterator $files */ $files = new \DirectoryIterator($this->getTemplatePath()); $template_names = array(); while ($files->valid()) { $name = $files->getBasename(); // skip abstract files if (!$files->isDir() || in_array($name, array('.', '..'))) { $files->next(); continue; } $template_names[] = $name; $files->next(); } return $template_names; }
protected function cleanDir($dir) { $files = new \DirectoryIterator($dir); while ($files->valid()) { if (in_array(substr($files->current(), -2), ['.0', '.1'])) { unlink($dir . '/' . $files->current()); } $files->next(); } }
/** * Rewinds the cache entry iterator to the first element * * @return void * @api */ public function rewind() { if ($this->cacheFilesIterator === null) { $this->cacheFilesIterator = new \DirectoryIterator($this->cacheDirectory); } $this->cacheFilesIterator->rewind(); while (substr($this->cacheFilesIterator->getFilename(), 0, 1) === '.' && $this->cacheFilesIterator->valid()) { $this->cacheFilesIterator->next(); } }
/** * Executes the transformation process. * * @throws Zend_Console_Getopt_Exception * * @return void */ public function execute() { if ($this->getQuiet()) { return; } echo 'Available themes:' . PHP_EOL; /** @var RecursiveDirectoryIterator $files */ $files = new DirectoryIterator(dirname(__FILE__) . '/../../../../data/themes'); while ($files->valid()) { $name = $files->getBasename(); // skip abstract files if (!$files->isDir() || in_array($name, array('.', '..'))) { $files->next(); continue; } echo '* ' . $name . PHP_EOL; $files->next(); } echo PHP_EOL; }
public function valid() { if (parent::valid()) { if ($this->dirsOnly && !parent::isDir() || parent::isDot() || parent::getFileName() == '.svn') { parent::next(); return $this->valid(); } return true; } return false; }
public function valid() { if (parent::valid()) { if (!parent::isFile()) { parent::next(); return $this->valid(); } return True; } return False; }
/** * valid * * @access public * @return bool */ public function valid() { if (parent::valid()) { if (parent::isDir()) { parent::next(); return $this->valid(); } return true; } return false; }
function valid() { if (parent::valid()) { if (!parent::isFile()) { parent::next(); return $this->valid(); } return TRUE; } return FALSE; }
function __construct($link) { $d = new DirectoryIterator($link); while ($d->valid()) { $file = $d->current(); if (!$file->isDot()) { $this->files[] = $file->getFilename(); } $d->next(); } $this->path = $d->getPath(); }
function getTestFiles($dir = '') { $file = new DirectoryIterator($dir); $res = array(); while ($file->valid()) { if ($file->isFile() && substr($file->getPathName(), -8) == 'Test.php') { $res[] = $file->getPathName(); } $file->next(); } return $res; }
function getDirInfo($dir) { $iterator = new DirectoryIterator($dir); #先输出文件夹 while ($iterator->valid()) { if ($iterator->isDir() && $iterator->getFilename() != '.' && $iterator->getFilename() != '..' && $iterator->getFilename() != '.git') { echo '<li class="flist filedir"><i class="fa fa-folder-open"></i> ' . $iterator->getFilename(); echo '<ul class="dirlist">'; getDirInfo($iterator->getPathname()); echo '</ul></li>'; } $iterator->next(); } #再输出文件 $iterator->Rewind(); while ($iterator->valid()) { if ($iterator->isFile()) { echo '<li class="flist file"><i class="fa fa-file-text"></i> ' . $iterator->getFilename() . '</li>'; } $iterator->next(); } }
function indexAction() { setcookie("previewTemplateName", false, 0, "/"); $templates = array(); $dir = new DirectoryIterator(Config::get('TEMPLATES_PATH')); while ($dir->valid()) { if (!$dir->isDot()) { $templates[] = (string) $dir->current(); } $dir->next(); } $this->set("alltemplates", $templates); }
function getTestFiles($dir = '') { $file = new DirectoryIterator($dir); $res = array(); while ($file->valid()) { if ($file->isFile() && substr($file->getPathName(), -4) == '.php') { $class = str_replace(DIRECTORY_SEPARATOR, '_', substr($file->getPathName(), 0, -4)); $res[] = array($file->getPathName(), $class); } $file->next(); } return $res; }
/** * @desc Iterates the components directory and returns list of it subdirectories * * @return array */ public static function loadComponentsFromFileSystem() { $componentsNames = []; $directory = new DirectoryIterator(\Wikia\UI\Factory::getComponentsDir()); while ($directory->valid()) { if (!$directory->isDot() && $directory->isDir()) { $componentName = $directory->getFilename(); $componentsNames[] = $componentName; } $directory->next(); } return $componentsNames; }
public function getPlugins() { $output = array(); $it = new DirectoryIterator(BASE . 'plugins/'); while ($it->valid()) { $xml_path = $it->getPath() . $it->getFilename() . '/'; $xml_file = $xml_path . "plugin.xml"; if ($it->isReadable() && $it->isDir() && file_exists($xml_file)) { $output[] = new PapyrinePlugin($xml_path); } $it->next(); } return $output; }
/** * Returns a list of all template names. * * @return string[] */ protected function getTemplateNames() { // TODO: this directory needs to come from the parameter set in the DIC in the ServiceProvider $template_dir = dirname(__FILE__) . '/../../../../data/templates'; if (!file_exists($template_dir)) { //Vendored installation $template_dir = dirname(__FILE__) . '/../../../../../../templates'; } /** @var \RecursiveDirectoryIterator $files */ $files = new \DirectoryIterator($template_dir); $template_names = array(); while ($files->valid()) { $name = $files->getBasename(); // skip abstract files if (!$files->isDir() || in_array($name, array('.', '..'))) { $files->next(); continue; } $template_names[] = $name; $files->next(); } return $template_names; }
/** * Compacta todos os arquivos .php de um diretório removendo comentários, * espaços e quebras de linhas desnecessárias. * motivos de desempenho e segurança esse método so interage em um diretório * de cada vez. * * @param string $directoryPath * @param string $newFilesDirectory * @param string $newFilesPrefix * @param string $newFilesSufix */ public static function cleanDir($directoryPath, $newFilesDirectory = "packed", $newFilesPrefix = "", $newFilesSufix = "") { $dir = new DirectoryIterator($directoryPath); mkdir($directoryPath . "/{$newFilesDirectory}/"); while ($dir->valid()) { if (!$dir->isDir() and !$dir->isDot() and substr($dir->getFilename(), -3, 3) == 'php') { $str = self::cleanFile($dir->getPathname()); $fp = fopen($dir->getPath() . "/packed/" . $newFilesPrefix . $dir->getFilename() . $newFilesSufix, "w"); fwrite($fp, $str); fclose($fp); echo $dir->getPathname() . ' - Renomeado com sucesso <br />'; } $dir->next(); } }
/** * Returns the available languages for this documentation format * * @return array Array of string language codes * @api */ public function getAvailableLanguages() { $languages = array(); $languagesDirectoryIterator = new \DirectoryIterator($this->formatPath); $languagesDirectoryIterator->rewind(); while ($languagesDirectoryIterator->valid()) { $filename = $languagesDirectoryIterator->getFilename(); if ($filename[0] != '.' && $languagesDirectoryIterator->isDir()) { $language = $filename; $languages[] = $language; } $languagesDirectoryIterator->next(); } return $languages; }
/** * This should provide the feature that the lang package can be used from * everywhere without to import it. Currently this is not working. */ private function initLang() { if ($this->initialized) { return; } $dir = new \DirectoryIterator(__DIR__); while ($dir->valid()) { $file = $dir->getFilename(); if ($dir->isFile() && ($len = strpos($file, '.php')) === strlen($file) - 4) { $name = substr($file, 0, $len); $fullName = 'blaze\\lang\\' . $name; $this->loadClass($fullName); @class_alias($fullName, $name); } $dir->next(); } }
public function readDir($dirPath) { $di = new DirectoryIterator($dirPath); $array = array(); while ($di->valid()) { if (!$di->isDot() && $this->validateDir($di->getFilename())) { if ($di->isDir()) { $dir = $di->getPath() . '/' . $di->getFilename(); $array[$di->getFilename()] = $this->readDir($di->getPath() . '/' . $di->getFilename()); } else { $array[$di->getFilename()] = $di->getPath() . "/" . $di->getFilename(); } } $di->next(); } return $array; }