(Experimental) Replace htmlarea with XINHA. Thanks to abdussamad!
This commit is contained in:
85
htmlarea/plugins/ExtendedFileManager/thumbs.php
Executable file
85
htmlarea/plugins/ExtendedFileManager/thumbs.php
Executable file
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
/**
|
||||
* On the fly Thumbnail generation.
|
||||
* Creates thumbnails given by thumbs.php?img=/relative/path/to/image.jpg
|
||||
* relative to the base_dir given in config.inc.php
|
||||
* Authors: Wei Zhuo, Afru, Krzysztof Kotowicz
|
||||
* Version: Updated on 08-01-2005 by Afru
|
||||
* Version: Updated on 21-06-2006 by Krzysztof Kotowicz
|
||||
* Package: ExtendedFileManager (EFM 1.1.1)
|
||||
* http://www.afrusoft.com/htmlarea
|
||||
*/
|
||||
if(isset($_REQUEST['mode'])) $insertMode=$_REQUEST['mode'];
|
||||
if(!isset($insertMode)) $insertMode="image";
|
||||
|
||||
require_once('config.inc.php');
|
||||
require_once('Classes/ExtendedFileManager.php');
|
||||
require_once('../ImageManager/Classes/Thumbnail.php');
|
||||
|
||||
//check for img parameter in the url
|
||||
if(!isset($_GET['img']))
|
||||
exit();
|
||||
|
||||
$manager = new ExtendedFileManager($IMConfig,$insertMode);
|
||||
|
||||
//get the image and the full path to the image
|
||||
$image = rawurldecode($_GET['img']);
|
||||
$fullpath = Files::makeFile($manager->getImagesDir(),$image);
|
||||
|
||||
//not a file, so exit
|
||||
if(!is_file($fullpath))
|
||||
exit();
|
||||
|
||||
$imgInfo = @getImageSize($fullpath);
|
||||
|
||||
//Not an image, send default thumbnail
|
||||
if(!is_array($imgInfo))
|
||||
{
|
||||
//show the default image, otherwise we quit!
|
||||
$default = $manager->getDefaultThumb();
|
||||
if($default)
|
||||
{
|
||||
header('Location: '.$default);
|
||||
exit();
|
||||
}
|
||||
}
|
||||
//if the image is less than the thumbnail dimensions
|
||||
//send the original image as thumbnail
|
||||
if ($imgInfo[0] <= $IMConfig['thumbnail_width']
|
||||
&& $imgInfo[1] <= $IMConfig['thumbnail_height'])
|
||||
{
|
||||
header('Location: '.$manager->getFileURL($image));
|
||||
exit();
|
||||
}
|
||||
|
||||
//Check for thumbnails
|
||||
$thumbnail = $manager->getThumbName($fullpath);
|
||||
if(is_file($thumbnail))
|
||||
{
|
||||
//if the thumbnail is newer, send it
|
||||
if(filemtime($thumbnail) >= filemtime($fullpath))
|
||||
{
|
||||
header('Location: '.$manager->getThumbURL($image));
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
//creating thumbnails
|
||||
$thumbnailer = new Thumbnail($IMConfig['thumbnail_width'],$IMConfig['thumbnail_height']);
|
||||
$thumbnailer->createThumbnail($fullpath, $thumbnail);
|
||||
|
||||
//Check for NEW thumbnails
|
||||
if(is_file($thumbnail))
|
||||
{
|
||||
//send the new thumbnail
|
||||
header('Location: '.$manager->getThumbURL($image));
|
||||
exit();
|
||||
}
|
||||
else
|
||||
{
|
||||
//show the default image, otherwise we quit!
|
||||
$default = $manager->getDefaultThumb();
|
||||
if($default)
|
||||
header('Location: '.$default);
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user