X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=phpfspot.git;a=blobdiff_plain;f=phpfspot.class.php;h=e220a7cc0b53eb0d46d562b0ad5f4e2e0052f22e;hp=a69cddef926b64502a609a38ece997339c3c2c3b;hb=81b9770727e217e207235c2dc3643a0559fdfd80;hpb=0b7778c4ade123b52da9ed4e723330a74e3b10c5 diff --git a/phpfspot.class.php b/phpfspot.class.php index a69cdde..e220a7c 100644 --- a/phpfspot.class.php +++ b/phpfspot.class.php @@ -559,6 +559,10 @@ class PHPFSPOT { if($this->dbver < 9) { $row['uri'] = "file://". $row['directory_path'] ."/". $row['name']; } + /* starting with dbversion >= 17 we need to rawurldecode() uri */ + elseif($this->dbver >= 17) { + $row['uri'] = rawurldecode($row['uri']); + } /* if version-idx has not yet been set, get the latest photo version */ if(!isset($version_idx) || !$this->is_valid_version($idx, $version_idx)) @@ -600,7 +604,7 @@ class PHPFSPOT { version_id LIKE '". $version_idx ."'")) { $row['name'] = $version['name']; - $row['uri'] = $version['uri']; + $row['uri'] = rawurldecode($version['uri']); } } } @@ -3500,23 +3504,24 @@ class PHPFSPOT { */ public function parse_uri($uri, $mode) { - if(($components = parse_url($uri)) !== false) { + if(($components = parse_url($uri)) === false) + return $uri; - switch($mode) { - case 'filename': - return basename($components['path']); - break; - case 'dirname': - return dirname($components['path']); - break; - case 'fullpath': - return $components['path']; - break; - } + switch($mode) { + case 'filename': + return basename($components['path']); + break; + case 'dirname': + return dirname($components['path']); + break; + case 'fullpath': + return $components['path']; + break; + default: + $this->throwError("unknown mode ". $mode); + break; } - return $uri; - } // parse_uri() /**