From a2f73718d9588a2b6185e73aa683cecd9f990363 Mon Sep 17 00:00:00 2001 From: rvelices Date: Thu, 30 Aug 2012 19:20:50 +0000 Subject: bug 2725: Piwigo isn't compatible with suPHP + better handling of watermark upload errors merge from trunk to branch 2.4 git-svn-id: http://piwigo.org/svn/branches/2.4@17676 68402e56-0260-453c-a942-63ccdbb3a9ee --- .../configuration_watermark_process.inc.php | 28 ++++++++++++++-------- admin/include/functions_upload.inc.php | 1 + 2 files changed, 19 insertions(+), 10 deletions(-) (limited to 'admin/include') diff --git a/admin/include/configuration_watermark_process.inc.php b/admin/include/configuration_watermark_process.inc.php index 6efabac06..3038d5948 100644 --- a/admin/include/configuration_watermark_process.inc.php +++ b/admin/include/configuration_watermark_process.inc.php @@ -43,16 +43,24 @@ if (isset($_FILES['watermarkImage']) and !empty($_FILES['watermarkImage']['tmp_n else { $upload_dir = PHPWG_ROOT_PATH.PWG_LOCAL_DIR.'watermarks'; - - include_once(PHPWG_ROOT_PATH.'admin/include/functions_upload.inc.php'); - prepare_directory($upload_dir); - - $new_name = get_filename_wo_extension($_FILES['watermarkImage']['name']).'.png'; - $file_path = $upload_dir.'/'.$new_name; - - move_uploaded_file($_FILES['watermarkImage']['tmp_name'], $file_path); - - $pwatermark['file'] = substr($file_path, strlen(PHPWG_ROOT_PATH)); + if (mkgetdir($upload_dir, MKGETDIR_DEFAULT&~MKGETDIR_DIE_ON_ERROR)) + { + $new_name = get_filename_wo_extension($_FILES['watermarkImage']['name']).'.png'; + $file_path = $upload_dir.'/'.$new_name; + + if (move_uploaded_file($_FILES['watermarkImage']['tmp_name'], $file_path)) + { + $pwatermark['file'] = substr($file_path, strlen(PHPWG_ROOT_PATH)); + } + else + { + $page['errors'][] = $errors['watermarkImage'] = "$file_path " .l10n('no write access'); + } + } + else + { + $page['errors'][] = $errors['watermarkImage'] = sprintf( l10n('Add write access to the "%s" directory'), $upload_dir); + } } } diff --git a/admin/include/functions_upload.inc.php b/admin/include/functions_upload.inc.php index eecdcdff0..d2b101dbb 100644 --- a/admin/include/functions_upload.inc.php +++ b/admin/include/functions_upload.inc.php @@ -246,6 +246,7 @@ SELECT { rename($source_filepath, $file_path); } + @chmod($file_path, 0644); if (pwg_image::get_library() != 'gd') { -- cgit v1.2.3