case "reset": $directories = array_unique(array_merge($config['rootdir'], isset($config['storages']) ? $config['storages'] : array(), isset($config['source']) ? $config['source'] : array())); $_SESSION['check_files'] = array('directories' => $directories, 'files' => array(), 'files_index' => array(), 'name_index' => array(), 'size_index' => array()); $_RESULT["status_text"] = 'Подготовка'; $_RESULT["nextstage"] = 'indexing'; break; case "indexing": $t1 = time() + microtime(); $checkFiles = $_SESSION['check_files']; require_once dirname(__FILE__) . "/classes/storages.php"; $storages = new Storages(); if (isset($config["dir_extensions"])) { $storages->set_dir_extensions($config["dir_extensions"]); } while ($directory = array_shift($checkFiles['directories'])) { $newFiles = $storages->directory_list($directory); foreach ($newFiles as $file) { if ($file['isdir']) { if (preg_match('{^ftp://}', $file['path']) || is_readable($file['path_dec'])) { $checkFiles['directories'][] = $file['path']; } } else { $key = md5($file['name'] . ':' . $file['size']); $checkFiles['files'][$key] = $file; $checkFiles['files_index'][$file['path']] = true; $checkFiles['name_index'][$file['name']][] = $key; $checkFiles['size_index'][$file['size']][] = $key; } } //sleep(1); if (time() + microtime() - $t1 > 5) {