public function getPodcasts() { $path = $this->Config->get('path_data_podcast'); $files = array(); if ($handle = opendir($path)) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != ".." && substr($entry, -4) == 'json') { $files[] = $entry; } } closedir($handle); } foreach ($files as $fileName) { $filePath = $path . $fileName; $file = file($filePath); if (trim($file[0]) != '') { $data = json_decode(implode($file), true); $data['file_name'] = str_replace('.json', '', $fileName); $this->Feed[$data['file_name']] = $data; } } $this->Feed = ksortBy($this->Feed, 'timestamp'); $this->Feed = kfillBy($this->Feed, 'file_name'); $this->Feed = array_reverse($this->Feed); }
public function searchFiles($dir, $search = false, $recursive = false) { if ($dir) { $path = ($dir); } $files = array(); if (!$recursive) { $objects = new DirectoryIterator($path); } else { $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST); } foreach ($objects as $name => $object) { $ok = false; if ($search != '') if (strpos(strtolower($object -> getFilename()), strtolower($search)) != false && !$object -> isDir() && !in_array($object -> getFilename(), $this -> Excludes)) $ok = true; if ($search == '') if (!$object -> isDir() && !in_array($object -> getFilename(), $this -> Excludes)) $ok = true; if ($ok == true) { $name = utf8_encode($object -> getFilename()); $files[] = array('name' => str_replace($this -> Suffix, '', $name), 'rname' => utf8_encode($object -> getFilename()), 'filename' => utf8_encode($object -> getFilename()), 'path' => $object -> getPath(), 'ts_edit' => 'te' . $object -> getMTime() . microtime(), 'ts_make' => 'tm' . $object -> getCTime() . microtime()); } } $files = array_reverse(ksortBy($files, 'ts_make')); return $files; }