aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorrvelices <rv-github@modusoptimus.com>2012-08-30 19:20:50 +0000
committerrvelices <rv-github@modusoptimus.com>2012-08-30 19:20:50 +0000
commita2f73718d9588a2b6185e73aa683cecd9f990363 (patch)
treee73c443a871d1ddadfa767b60d3d8221e5f93fa8 /admin
parent2c24b0b38ae678a0269b308ddf03ab1bc85630d2 (diff)
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
Diffstat (limited to '')
-rw-r--r--admin/include/configuration_watermark_process.inc.php28
-rw-r--r--admin/include/functions_upload.inc.php1
-rw-r--r--admin/themes/default/template/configuration.tpl2
3 files changed, 20 insertions, 11 deletions
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')
{
diff --git a/admin/themes/default/template/configuration.tpl b/admin/themes/default/template/configuration.tpl
index f612c8386..e64a19c63 100644
--- a/admin/themes/default/template/configuration.tpl
+++ b/admin/themes/default/template/configuration.tpl
@@ -518,7 +518,7 @@ jQuery(document).ready(function() {
<span id="addWatermark"{if isset($ferrors.watermarkImage)} style="display:inline"{/if}>
{'add a new watermark'|@translate} {'... or '|@translate}<a href="#" class="addWatermarkOpen">{'Select a file'|@translate}</a>
<br><input type="file" size="60" id="watermarkImage" name="watermarkImage"{if isset($ferrors.watermarkImage)} class="dError"{/if}> (png)
- {if isset($ferrors.watermarkImage)}<span class="dErrorDesc" title="{$ferrors.watermarkImage}">!</span>{/if}
+ {if isset($ferrors.watermarkImage)}<span class="dErrorDesc" title="{$ferrors.watermarkImage|@htmlspecialchars}">!</span>{/if}
</span>{* #addWatermark *}
</li>