Add option to apply maximum image size to administrator

This commit is contained in:
Kijin Sung 2019-08-23 14:27:15 +09:00
parent c60d475aaf
commit 9d7f220417
7 changed files with 21 additions and 3 deletions

View file

@ -70,6 +70,7 @@ class fileAdminController extends file
$config->max_image_height = intval(Context::get('max_image_height')) ?: ''; $config->max_image_height = intval(Context::get('max_image_height')) ?: '';
$config->max_image_size_action = Context::get('max_image_size_action') ?: ''; $config->max_image_size_action = Context::get('max_image_size_action') ?: '';
$config->max_image_size_quality = max(50, min(100, intval(Context::get('max_image_size_quality')))); $config->max_image_size_quality = max(50, min(100, intval(Context::get('max_image_size_quality'))));
$config->max_image_size_admin = Context::get('max_image_size_admin') === 'Y' ? 'Y' : 'N';
$config->image_autoconv['bmp2jpg'] = Context::get('image_autoconv_bmp2jpg') === 'Y' ? true : false; $config->image_autoconv['bmp2jpg'] = Context::get('image_autoconv_bmp2jpg') === 'Y' ? true : false;
$config->image_autoconv['png2jpg'] = Context::get('image_autoconv_png2jpg') === 'Y' ? true : false; $config->image_autoconv['png2jpg'] = Context::get('image_autoconv_png2jpg') === 'Y' ? true : false;
$config->image_autoconv['webp2jpg'] = Context::get('image_autoconv_webp2jpg') === 'Y' ? true : false; $config->image_autoconv['webp2jpg'] = Context::get('image_autoconv_webp2jpg') === 'Y' ? true : false;
@ -156,6 +157,7 @@ class fileAdminController extends file
$file_config->max_image_height = intval(Context::get('max_image_height')) ?: ''; $file_config->max_image_height = intval(Context::get('max_image_height')) ?: '';
$file_config->max_image_size_action = Context::get('max_image_size_action') ?: ''; $file_config->max_image_size_action = Context::get('max_image_size_action') ?: '';
$file_config->max_image_size_quality = max(50, min(100, intval(Context::get('max_image_size_quality')))); $file_config->max_image_size_quality = max(50, min(100, intval(Context::get('max_image_size_quality'))));
$file_config->max_image_size_admin = Context::get('max_image_size_admin') === 'Y' ? 'Y' : 'N';
$file_config->image_autoconv['bmp2jpg'] = Context::get('image_autoconv_bmp2jpg') === 'Y' ? true : false; $file_config->image_autoconv['bmp2jpg'] = Context::get('image_autoconv_bmp2jpg') === 'Y' ? true : false;
$file_config->image_autoconv['png2jpg'] = Context::get('image_autoconv_png2jpg') === 'Y' ? true : false; $file_config->image_autoconv['png2jpg'] = Context::get('image_autoconv_png2jpg') === 'Y' ? true : false;
$file_config->image_autoconv['webp2jpg'] = Context::get('image_autoconv_webp2jpg') === 'Y' ? true : false; $file_config->image_autoconv['webp2jpg'] = Context::get('image_autoconv_webp2jpg') === 'Y' ? true : false;

View file

@ -1086,7 +1086,7 @@ class fileController extends file
} }
// Check image size // Check image size
if($config->max_image_size_action && ($config->max_image_width || $config->max_image_height) && !$this->user->isAdmin()) if($config->max_image_size_action && ($config->max_image_width || $config->max_image_height) && (!$this->user->isAdmin() || $config->max_image_size_admin === 'Y'))
{ {
$exceeded = false; $exceeded = false;
if ($config->max_image_width > 0 && $image_width > $config->max_image_width) if ($config->max_image_width > 0 && $image_width > $config->max_image_width)

View file

@ -197,6 +197,7 @@ class fileModel extends file
$config->max_image_height = $file_config->max_image_height; $config->max_image_height = $file_config->max_image_height;
$config->max_image_size_action = $file_config->max_image_size_action; $config->max_image_size_action = $file_config->max_image_size_action;
$config->max_image_size_quality = $file_config->max_image_size_quality; $config->max_image_size_quality = $file_config->max_image_size_quality;
$config->max_image_size_admin = $file_config->max_image_size_admin;
$config->image_autoconv = $file_config->image_autoconv; $config->image_autoconv = $file_config->image_autoconv;
$config->image_autoconv_quality = $file_config->image_autoconv_quality; $config->image_autoconv_quality = $file_config->image_autoconv_quality;
$config->image_autorotate = $file_config->image_autorotate; $config->image_autorotate = $file_config->image_autorotate;
@ -220,6 +221,7 @@ class fileModel extends file
if(!$config->max_image_height) $config->max_image_height = $file_module_config->max_image_height; if(!$config->max_image_height) $config->max_image_height = $file_module_config->max_image_height;
if(!$config->max_image_size_action) $config->max_image_size_action = $file_module_config->max_image_size_action; if(!$config->max_image_size_action) $config->max_image_size_action = $file_module_config->max_image_size_action;
if(!$config->max_image_size_quality) $config->max_image_size_quality = $file_module_config->max_image_size_quality; if(!$config->max_image_size_quality) $config->max_image_size_quality = $file_module_config->max_image_size_quality;
if(!$config->max_image_size_admin) $config->max_image_size_admin = $file_module_config->max_image_size_admin;
if(!$config->image_autoconv) $config->image_autoconv = $file_module_config->image_autoconv; if(!$config->image_autoconv) $config->image_autoconv = $file_module_config->image_autoconv;
if(!$config->image_autoconv_quality) $config->image_autoconv_quality = $file_module_config->image_autoconv_quality; if(!$config->image_autoconv_quality) $config->image_autoconv_quality = $file_module_config->image_autoconv_quality;
if(!$config->image_autorotate) $config->image_autorotate = $file_module_config->image_autorotate; if(!$config->image_autorotate) $config->image_autorotate = $file_module_config->image_autorotate;

View file

@ -21,6 +21,7 @@ $lang->max_image_size = 'Maximum Image Size';
$lang->max_image_size_action_nothing = 'If exceeded, do nothing'; $lang->max_image_size_action_nothing = 'If exceeded, do nothing';
$lang->max_image_size_action_block = 'If exceeded, block upload'; $lang->max_image_size_action_block = 'If exceeded, block upload';
$lang->max_image_size_action_resize = 'If exceeded, resize automatically'; $lang->max_image_size_action_resize = 'If exceeded, resize automatically';
$lang->max_image_size_admin = 'Also apply to administrator';
$lang->image_resize_quality = 'Quality'; $lang->image_resize_quality = 'Quality';
$lang->image_autoconv = 'Auto-Convert Image'; $lang->image_autoconv = 'Auto-Convert Image';
$lang->image_autoconv_bmp2jpg = 'BMP → JPG'; $lang->image_autoconv_bmp2jpg = 'BMP → JPG';

View file

@ -21,6 +21,7 @@ $lang->max_image_size = '이미지 크기 제한';
$lang->max_image_size_action_nothing = '초과시 아무 것도 하지 않음'; $lang->max_image_size_action_nothing = '초과시 아무 것도 하지 않음';
$lang->max_image_size_action_block = '초과시 업로드 금지'; $lang->max_image_size_action_block = '초과시 업로드 금지';
$lang->max_image_size_action_resize = '초과시 자동 크기 조정'; $lang->max_image_size_action_resize = '초과시 자동 크기 조정';
$lang->max_image_size_admin = '관리자에게도 적용';
$lang->image_resize_quality = '화질'; $lang->image_resize_quality = '화질';
$lang->image_autoconv = '이미지 자동 변환'; $lang->image_autoconv = '이미지 자동 변환';
$lang->image_autoconv_bmp2jpg = 'BMP → JPG'; $lang->image_autoconv_bmp2jpg = 'BMP → JPG';

View file

@ -51,7 +51,13 @@
<option value="{$q}" selected="selected"|cond="$file_config->max_image_size_quality == $q">{$lang->image_resize_quality} {$q}%</option> <option value="{$q}" selected="selected"|cond="$file_config->max_image_size_quality == $q">{$lang->image_resize_quality} {$q}%</option>
<!--@endfor--> <!--@endfor-->
</select> </select>
<p class="x_help-block">{$lang->about_max_image_size}</p> <p class="x_help-block">
{$lang->about_max_image_size}
<label for="max_image_size_admin">
<input type="checkbox" name="max_image_size_admin" id="max_image_size_admin" value="Y" checked="checked"|cond="$file_config->max_image_size_admin === 'Y'" />
{$lang->max_image_size_admin}
</label>
</p>
</div> </div>
</div> </div>
<div class="x_control-group"> <div class="x_control-group">

View file

@ -38,7 +38,13 @@
<option value="{$q}" selected="selected"|cond="$config->max_image_size_quality == $q">{$lang->image_resize_quality} {$q}%</option> <option value="{$q}" selected="selected"|cond="$config->max_image_size_quality == $q">{$lang->image_resize_quality} {$q}%</option>
<!--@endfor--> <!--@endfor-->
</select> </select>
<p class="x_help-block">{$lang->about_max_image_size}</p> <p class="x_help-block">
{$lang->about_max_image_size}
<label for="max_image_size_admin">
<input type="checkbox" name="max_image_size_admin" id="max_image_size_admin" value="Y" checked="checked"|cond="$config->max_image_size_admin === 'Y'" />
{$lang->max_image_size_admin}
</label>
</p>
</div> </div>
</div> </div>
<div class="x_control-group"> <div class="x_control-group">