projects
/
phpfspot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed html typo
[phpfspot.git]
/
phpfspot_img.php
diff --git
a/phpfspot_img.php
b/phpfspot_img.php
index bd811e85ce2d26e6738ed3dec1e9206065631a29..8251b8e1c757bde355dc8e614d3eb8f702ede046 100644
(file)
--- a/
phpfspot_img.php
+++ b/
phpfspot_img.php
@@
-28,6
+28,9
@@
class PHPFSPOT_IMG {
var $db;
var $parent;
var $db;
var $parent;
+ /**
+ * PHPFSPOT_IMG class constructor
+ */
public function __construct()
{
$this->parent = new PHPFSPOT;
public function __construct()
{
$this->parent = new PHPFSPOT;
@@
-35,23
+38,37
@@
class PHPFSPOT_IMG {
} // __construct()
} // __construct()
+ /**
+ * PHPFSPOT_IMG class destructor
+ */
public function __destruct()
{
} // __desctruct()
public function __destruct()
{
} // __desctruct()
+ /**
+ * sends the specified image to the browser
+ *
+ * this function will send the specified image to
+ * the client - in the specified width. it also try's
+ * to create on-the-fly missing thumbnails via PHPFSPOT
+ * gen_thumbs function.
+ */
public function show($idx, $width = 0)
{
public function show($idx, $width = 0)
{
+ if($idx == 'rand')
+ $idx = $this->parent->get_random_photo();
+
$details = $this->parent->get_photo_details($idx);
if(!$details) {
$details = $this->parent->get_photo_details($idx);
if(!$details) {
- $this->parent->showTextImage("The image you requested is unknown");
+ $this->parent->showTextImage("The image
(". $idx .")
you requested is unknown");
return;
}
/* no width specified - show photo in its original size */
if($width == 0) {
return;
}
/* no width specified - show photo in its original size */
if($width == 0) {
- $fullpath = $this->parent->translate_path($
details['directory_path']) ."/". $details['name']
;
+ $fullpath = $this->parent->translate_path($
this->parent->parse_uri($details['uri'], 'fullpath'))
;
}
/* show thumbnail */
else {
}
/* show thumbnail */
else {
@@
-59,7
+76,7
@@
class PHPFSPOT_IMG {
if(!$this->parent->getMD5($idx)) {
$this->parent->gen_thumb($idx);
}
if(!$this->parent->getMD5($idx)) {
$this->parent->gen_thumb($idx);
}
- $fullpath = $this->parent->
cfg->base_path ."/thumbs/". $width ."_". $this->parent->getMD5(
$idx);
+ $fullpath = $this->parent->
get_thumb_path($width,
$idx);
/* if the thumb file does not exist, create it */
if(!file_exists($fullpath)) {
$this->parent->gen_thumb($idx);
/* if the thumb file does not exist, create it */
if(!file_exists($fullpath)) {
$this->parent->gen_thumb($idx);
@@
-86,10
+103,14
@@
class PHPFSPOT_IMG {
Header("Content-Type: ". $mime);
Header("Content-Length: ". filesize($fullpath));
Header("Content-Transfer-Encoding: binary\n");
Header("Content-Type: ". $mime);
Header("Content-Length: ". filesize($fullpath));
Header("Content-Transfer-Encoding: binary\n");
- Header("Content-Disposition: inline; filename=\"". $details['name'] ."\"");
+ Header("Content-Disposition: inline; filename=\"". $this->parent->parse_uri($details['uri'], 'filename') ."\"");
+ Header("Content-Description: ". $this->parent->parse_uri($details['uri'], 'filename'));
Header("Accept-Ranges: bytes");
Header("Connection: close");
Header("Accept-Ranges: bytes");
Header("Connection: close");
-
+ Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+ Header("Cache-Control: no-cache");
+ Header("Pragma: no-cache");
+
$file = fopen($fullpath, "rb");
fpassthru($file);
@fclose($file);
$file = fopen($fullpath, "rb");
fpassthru($file);
@fclose($file);
@@
-98,7
+119,7
@@
class PHPFSPOT_IMG {
}
}
-if(isset($_GET['idx']) &&
is_numeric($_GET['idx']
)) {
+if(isset($_GET['idx']) &&
(is_numeric($_GET['idx']) || $_GET['idx'] == 'rand'
)) {
$img = new PHPFSPOT_IMG;
$img = new PHPFSPOT_IMG;