diff --git a/phpBB/adm/index.php b/phpBB/adm/index.php
index 85908476a167..a822c643dbb5 100644
--- a/phpBB/adm/index.php
+++ b/phpBB/adm/index.php
@@ -457,6 +457,7 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
break;
// Absolute path
+ case 'script_path_readable':
case 'script_path':
if (!$cfg_array[$config_name])
{
@@ -483,6 +484,18 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
$cfg_array[$config_name] = trim($destination);
+ // Make sure that path is readable
+ if ($config_definition['validate'] === 'script_path_readable')
+ {
+ if (!file_exists($cfg_array[$config_name]))
+ {
+ $error[] = sprintf($user->lang['DIRECTORY_DOES_NOT_EXIST'], $cfg_array[$config_name]);
+ }
+ else if (!is_dir($cfg_array[$config_name]))
+ {
+ $error[] = sprintf($user->lang['DIRECTORY_NOT_DIR'], $cfg_array[$config_name]);
+ }
+ }
break;
// Absolute path
diff --git a/phpBB/includes/acp/acp_attachments.php b/phpBB/includes/acp/acp_attachments.php
index 147783feae8a..3ec935b6647b 100644
--- a/phpBB/includes/acp/acp_attachments.php
+++ b/phpBB/includes/acp/acp_attachments.php
@@ -127,7 +127,7 @@ function main($id, $mode)
'img_create_thumbnail' => array('lang' => 'CREATE_THUMBNAIL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'img_max_thumb_width' => array('lang' => 'MAX_THUMB_WIDTH', 'validate' => 'int', 'type' => 'text:7:15', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
'img_min_thumb_filesize' => array('lang' => 'MIN_THUMB_FILESIZE', 'validate' => 'int', 'type' => 'text:7:15', 'explain' => true, 'append' => ' ' . $user->lang['BYTES']),
- 'img_imagick' => array('lang' => 'IMAGICK_PATH', 'validate' => 'path', 'type' => 'text:20:200', 'explain' => true, 'append' => ' [ ' . $user->lang['SEARCH_IMAGICK'] . ' ]'),
+ 'img_imagick' => array('lang' => 'IMAGICK_PATH', 'validate' => 'script_path_readable', 'type' => 'text:20:200', 'explain' => true, 'append' => ' [ ' . $user->lang['SEARCH_IMAGICK'] . ' ]'),
'img_max' => array('lang' => 'MAX_IMAGE_SIZE', 'validate' => 'int', 'type' => 'dimension:3:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
'img_link' => array('lang' => 'IMAGE_LINK_SIZE', 'validate' => 'int', 'type' => 'dimension:3:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
)