function goRecurseFiles() { global $_CONFIG; include_once "classes/fileRecursion.php"; $status['finished'] = "1"; $status['task'] = $_REQUEST['task']; $handle = new fileRecursion(); $dataInit['TEMP_PERM'] = $_CONFIG['temp_dir'] . "/perm.txt"; $dataInit['TEMP_EXCL'] = $_CONFIG['exfile']; $dataInit['TEMP_D_ARR'] = $_CONFIG['temp_dir'] . "/.dir"; $dataInit['TEMP_DIR'] = $_CONFIG['clonerPath']; $dataInit['START_DIR'] = $_CONFIG['backup_path']; $dataInit['EXCLUDE_FILES_SIZE'] = $_CONFIG['excludeFilesSize']; $dataInit['TEMP_OVERSIZED_FILE'] = $_CONFIG['temp_dir'] . "/.oversized_files"; $handle->setData($dataInit); if ($_REQUEST['mode'] == 'start') { $handle->init($_CONFIG['backup_start_path']); } else { $handle->init(); } $handle->start(); $handle->end(); $data = $handle->countPermFiles(); $status['size'] = $data['size']; $status['tfiles'] = $data['count']; $status['mode'] = ""; if (!$handle->isQueueFinished()) { $status['finished'] = "0"; } else { //recurse finished, lets return the excluded files by size if (intval($_CONFIG['EXCLUDE_FILES_SIZE']) > -1) { $status['overlimit'] = $handle->getOverLimitFiles(); } } echo json_encode($status); $handle->close(); exit; }
public static function start() { self::debug("Start "); foreach (self::$d_arr as $key => $startdir) { if ($startdir != "") { self::debug("Processing " . $startdir); unset(self::$d_arr[$key]); if (self::isNotExcluded($startdir)) { self::writePermFile($startdir, "D"); self::$count++; self::getDirectories($startdir); } else { self::debug("{$startdir} excluded"); } } } self::$d_arr = array_filter(self::$d_arr); if (sizeof(self::$d_arr) != 0) { $data = implode("\n", self::$d_arr); fwrite(self::$fpd, $data); self::debug("Found {$data}"); self::$count++; } else { self::debug("Queue finished"); } }