diff options
author | plegall <plg@piwigo.org> | 2008-10-05 21:22:57 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2008-10-05 21:22:57 +0000 |
commit | b53cddbf6ae1eb70170dd8a31e3cba879929797e (patch) | |
tree | 2ccc44d984766b06f849edbaf79666ca9b4afe99 /include | |
parent | 0bdc6a5dac8ee12cf630b42e4a8d6a0be4116ae2 (diff) |
feature 885 added: pwg.images.add web API method now supports additional
high resolution format.
git-svn-id: http://piwigo.org/svn/trunk@2670 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'include')
-rw-r--r-- | include/ws_functions.inc.php | 45 |
1 files changed, 41 insertions, 4 deletions
diff --git a/include/ws_functions.inc.php b/include/ws_functions.inc.php index 31167e1ad..c2e8c1778 100644 --- a/include/ws_functions.inc.php +++ b/include/ws_functions.inc.php @@ -950,7 +950,7 @@ SELECT // check dumped file md5sum against expected md5sum $dumped_md5 = md5_file($file_path); if ($dumped_md5 != $params['file_sum']) { - return new PwgError(500, 'file transfert failed'); + return new PwgError(500, 'file transfer failed'); } // thumbnail directory is a subdirectory of the photo file, hard coded @@ -980,11 +980,42 @@ SELECT // check dumped thumbnail md5 $dumped_md5 = md5_file($thumbnail_path); if ($dumped_md5 != $params['thumbnail_sum']) { - return new PwgError(500, 'thumbnail transfert failed'); + return new PwgError(500, 'thumbnail transfer failed'); } - // fwrite($fh_log, 'output: '.md5_file($file_path)."\n"); - // fwrite($fh_log, 'output: '.md5_file($thumbnail_path)."\n"); + // high resolution + if (isset($params['high_content'])) + { + // high resolution directory is a subdirectory of the photo file, hard + // coded "pwg_high" + $high_dir = $upload_dir.'/pwg_high'; + if (!is_dir($high_dir)) { + umask(0000); + mkdir($high_dir, 0777); + } + + // high resolution path, same name as web size file + $high_path = sprintf( + '%s/%s.%s', + $high_dir, + $filename_wo_ext, + 'jpg' + ); + + // dump the high resolution file + $fh_high = fopen($high_path, 'w'); + fwrite($fh_high, base64_decode($params['high_content'])); + fclose($fh_high); + chmod($high_path, 0644); + + // check dumped thumbnail md5 + $dumped_md5 = md5_file($high_path); + if ($dumped_md5 != $params['high_sum']) { + return new PwgError(500, 'high resolution transfer failed'); + } + + $high_filesize = floor(filesize($high_path)/1024); + } list($width, $height) = getimagesize($file_path); @@ -1017,6 +1048,12 @@ SELECT } } + if (isset($params['high_content'])) + { + $insert['has_high'] = 'true'; + $insert['high_filesize'] = $high_filesize; + } + include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); mass_inserts( IMAGES_TABLE, |