<?php /** * A modules class for Jetpack. * * @package automattic/jetpack-status */ namespace Automattic\Jetpack; /** * Class Automattic\Jetpack\Files * * Used to retrieve information about files. */ class Files { /** * Returns an array of all PHP files in the specified absolute path. * Equivalent to glob( "$absolute_path/*.php" ). * * @param string $absolute_path The absolute path of the directory to search. * @return array Array of absolute paths to the PHP files. */ public function glob_php( $absolute_path ) { if ( function_exists( 'glob' ) ) { return glob( "$absolute_path/*.php" ); } $absolute_path = untrailingslashit( $absolute_path ); $files = array(); $dir = @opendir( $absolute_path ); // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged if ( ! $dir ) { return $files; } // phpcs:ignore Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition while ( false !== $file = readdir( $dir ) ) { if ( '.' === substr( $file, 0, 1 ) || '.php' !== substr( $file, -4 ) ) { continue; } $file = "$absolute_path/$file"; if ( ! is_file( $file ) ) { continue; } $files[] = $file; } closedir( $dir ); return $files; } }