* Added support for configuration of an arbitrary number of commons-style file repositories. * Split Image.php into filerepo/File.php and filerepo/LocalFile.php * Renamed Image::getImagePath() to File::getPath() * Added initial support for timestamp-based file fetching (OldLocalFile), to be expanded upon by aaron. * Changed the interface for Image/File object creation: use wfFindFile() or wfLocalFile() depending on semantics * ImageGallery::add() now accepts a title object as the first parameter * Moved file handling operations on upload from SpecialUpload to File * Removed path-related functions from ImageFunctions.php. Removed static path accessors from File. * Added a Content-Disposition header to thumb.php output * Improved thumb.php error handling * Updated the unit test suite to kind of partially work with modern computers. RunTests.php doesn't work just yet. Fixed an actual regression that the test suite detected -- moved some defines to Defines.php where they will be loaded consistently.
50 lines
1.1 KiB
PHP
50 lines
1.1 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Support functions for the importImages script
|
|
*
|
|
* @addtogroup Maintenance
|
|
* @author Rob Church <robchur@gmail.com>
|
|
*/
|
|
|
|
/**
|
|
* Search a directory for files with one of a set of extensions
|
|
*
|
|
* @param $dir Path to directory to search
|
|
* @param $exts Array of extensions to search for
|
|
* @return mixed Array of filenames on success, or false on failure
|
|
*/
|
|
function findFiles( $dir, $exts ) {
|
|
if( is_dir( $dir ) ) {
|
|
if( $dhl = opendir( $dir ) ) {
|
|
while( ( $file = readdir( $dhl ) ) !== false ) {
|
|
if( is_file( $dir . '/' . $file ) ) {
|
|
list( /* $name */, $ext ) = splitFilename( $dir . '/' . $file );
|
|
if( array_search( strtolower( $ext ), $exts ) !== false )
|
|
$files[] = $dir . '/' . $file;
|
|
}
|
|
}
|
|
return $files;
|
|
} else {
|
|
return false;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Split a filename into filename and extension
|
|
*
|
|
* @param $filename Filename
|
|
* @return array
|
|
*/
|
|
function splitFilename( $filename ) {
|
|
$parts = explode( '.', $filename );
|
|
$ext = $parts[ count( $parts ) - 1 ];
|
|
unset( $parts[ count( $parts ) - 1 ] );
|
|
$fname = implode( '.', $parts );
|
|
return array( $fname, $ext );
|
|
}
|
|
|
|
?>
|