/** * Scans a directory for newly added files * * @return int Number of items added **/ function scan() { $added = 0; // Get list of files $files = DH_Hole::get_files($this->directory); // Add any new files into the hole if (count($files) > 0 && is_array($files)) { foreach ($files as $file) { // Only interested in files if (is_file($file) && !in_array(basename($file), array('.htaccess', '.versions', '.svn', 'Thumbs.db'))) { $file = ltrim(substr($file, strlen($this->directory)), '/'); if (DH_File::create($this->id, $file) === true) { $added++; } } } } return $added; }
/** * Accepts a FORM-based upload and replaces the file's underlying data * * @param DH_Hole $hole Hole in which the file lives * @return boolean true if successfully uploaded, false if the upload was invalid **/ function upload($hole, $filename, $filedata) { global $wpdb; // If no filename is given then use the uploaded data if ($filename == '' && is_uploaded_file($filedata['tmp_name'])) { $filename = DH_Hole::sanitize_dir(ltrim($filedata['name'], '/')); } if ($filename) { if (is_uploaded_file($filedata['tmp_name'])) { move_uploaded_file($filedata['tmp_name'], $hole->directory . DIRECTORY_SEPARATOR . $filename); } return DH_File::create($hole->id, $filename); } return false; }