mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-02 01:52:10 +09:00
FFmpeg 사용 불가 안내 메시지 추가 추후에 활용하기 위한 type, width, height, duration 컬럼 추가 업로드시 이미지, 오디오, 동영상 파일의 확장자가 잘못된 경우 올바른 확장자를 덧붙이는 기능 추가
160 lines
8.3 KiB
HTML
160 lines
8.3 KiB
HTML
<include target="header.html" />
|
|
|
|
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/file/tpl/upload_config/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
|
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
|
</div>
|
|
|
|
<form ruleset="insertConfig" action="./" method="post" class="x_form-horizontal section">
|
|
<input type="hidden" name="module" value="file" />
|
|
<input type="hidden" name="act" value="procFileAdminInsertUploadConfig" />
|
|
<input type="hidden" name="xe_validator_id" value="modules/file/tpl/upload_config/1" />
|
|
|
|
<div class="x_control-group">
|
|
<label for="allowed_filesize" class="x_control-label">{$lang->allowed_filesize}</label>
|
|
<div class="x_controls">
|
|
<input type="number" min="0" name="allowed_filesize" id="allowed_filesize" value="{$config->allowed_filesize}" size="7" style="min-width:80px" /> MB
|
|
<p class="x_help-block">{$lang->about_allowed_filesize_global}<br />{sprintf($lang->about_allowed_size_limits, ini_get('upload_max_filesize'))}</p>
|
|
</div>
|
|
</div>
|
|
<div class="x_control-group">
|
|
<label for="allowed_attach_size" class="x_control-label">{$lang->allowed_attach_size}</label>
|
|
<div class="x_controls">
|
|
<input type="number" min="0" name="allowed_attach_size" id="allowed_attach_size" value="{$config->allowed_attach_size}" size="7" style="min-width:80px" /> MB
|
|
<p class="x_help-block">{$lang->about_allowed_attach_size_global}<br />{sprintf($lang->about_allowed_size_limits, ini_get('upload_max_filesize'))}</p>
|
|
</div>
|
|
</div>
|
|
<div class="x_control-group">
|
|
<label for="allowedFiletypes" class="x_control-label">{$lang->allowed_filetypes}</label>
|
|
<div class="x_controls">
|
|
<input id="allowedFiletypes" type="text" name="allowed_filetypes" value="{implode(', ', $config->allowed_extensions)}" />
|
|
<p class="x_help-block">{$lang->about_allowed_filetypes}</p>
|
|
</div>
|
|
</div>
|
|
<section class="section">
|
|
<h1>{$lang->image}</h1>
|
|
<div class="x_control-group">
|
|
<label class="x_control-label">{$lang->image_autoconv}</label>
|
|
<div class="x_controls">
|
|
<label for="image_autoconv_bmp2jpg">
|
|
<input type="checkbox" name="image_autoconv_bmp2jpg" id="image_autoconv_bmp2jpg" value="Y" checked="checked"|cond="$config->image_autoconv['bmp2jpg']" disabled="disabled"|cond="!function_exists('imagebmp')" />
|
|
{$lang->image_autoconv_bmp2jpg}
|
|
</label>
|
|
<label for="image_autoconv_png2jpg">
|
|
<input type="checkbox" name="image_autoconv_png2jpg" id="image_autoconv_png2jpg" value="Y" checked="checked"|cond="$config->image_autoconv['png2jpg']" disabled="disabled"|cond="!function_exists('imagepng')" />
|
|
{$lang->image_autoconv_png2jpg}
|
|
</label>
|
|
<label for="image_autoconv_webp2jpg">
|
|
<input type="checkbox" name="image_autoconv_webp2jpg" id="image_autoconv_webp2jpg" value="Y" checked="checked"|cond="$config->image_autoconv['webp2jpg']" disabled="disabled"|cond="!function_exists('imagewebp')" />
|
|
{$lang->image_autoconv_webp2jpg}
|
|
</label>
|
|
<p class="x_help-block">{$lang->about_image_autoconv}</p>
|
|
</div>
|
|
</div>
|
|
<div class="x_control-group">
|
|
<label class="x_control-label">{$lang->max_image_size}</label>
|
|
<div class="x_controls">
|
|
<input type="number" min="0" name="max_image_width" id="max_image_width" value="{$config->max_image_width}" size="7" style="min-width:80px" /> ×
|
|
<input type="number" min="0" name="max_image_height" id="max_image_height" value="{$config->max_image_height}" size="7" style="min-width:80px" /> px
|
|
<select name="max_image_size_action" id="max_image_size_action">
|
|
<option value="">{$lang->max_image_size_action_nothing}</option>
|
|
<option value="block" selected="selected"|cond="$config->max_image_size_action === 'block'">{$lang->max_image_size_action_block}</option>
|
|
<option value="resize" selected="selected"|cond="$config->max_image_size_action === 'resize'">{$lang->max_image_size_action_resize}</option>
|
|
</select>
|
|
<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 class="x_control-group">
|
|
<label class="x_control-label">{$lang->image_quality_adjustment}</label>
|
|
<div class="x_controls">
|
|
<select name="image_quality_adjustment" style="min-width:80px">
|
|
<!--@for($q = 50; $q <= 100; $q += 5)-->
|
|
<option value="{$q}" selected="selected"|cond="$config->image_quality_adjustment === $q">{$q}%<!--@if($q === 75)--> ({$lang->standard})<!--@end--></option>
|
|
<!--@endfor-->
|
|
</select>
|
|
<p class="x_help-block">{$lang->about_image_quality_adjustment}</p>
|
|
</div>
|
|
</div>
|
|
<div class="x_control-group">
|
|
<label class="x_control-label">{$lang->image_autorotate}</label>
|
|
<div class="x_controls">
|
|
<label for="image_autorotate_Y" class="x_inline">
|
|
<input type="radio" name="image_autorotate" id="image_autorotate_Y" value="Y" checked="checked"|cond="$config->image_autorotate === true" disabled="disabled"|cond="!function_exists('exif_read_data')" />
|
|
{$lang->cmd_yes}
|
|
</label>
|
|
<label for="image_autorotate_N" class="x_inline">
|
|
<input type="radio" name="image_autorotate" id="image_autorotate_N" value="N" checked="checked"|cond="$config->image_autorotate !== true" disabled="disabled"|cond="!function_exists('exif_read_data')" />
|
|
{$lang->cmd_no}
|
|
</label>
|
|
<p class="x_help-block">{$lang->about_image_autorotate}</p>
|
|
</div>
|
|
</div>
|
|
<div class="x_control-group">
|
|
<label class="x_control-label">{$lang->image_autoconv_gif2mp4}</label>
|
|
<div class="x_controls">
|
|
<label for="image_autoconv_gif2mp4_Y" class="x_inline">
|
|
<input type="radio" name="image_autoconv_gif2mp4" id="image_autoconv_gif2mp4_Y" value="Y" checked="checked"|cond="$config->image_autoconv['gif2mp4'] === true" disabled="disabled"|cond="!$is_ffmpeg" />
|
|
{$lang->cmd_yes}
|
|
</label>
|
|
<label for="image_autoconv_gif2mp4_N" class="x_inline">
|
|
<input type="radio" name="image_autoconv_gif2mp4" id="image_autoconv_gif2mp4_N" value="N" checked="checked"|cond="$config->image_autoconv['gif2mp4'] !== true" disabled="disabled"|cond="!$is_ffmpeg" />
|
|
{$lang->cmd_no}
|
|
</label>
|
|
<p class="x_help-block">{$lang->about_image_autoconv_gif2mp4}</p>
|
|
<p class="x_text-info" cond="!$is_ffmpeg">{$lang->msg_cannot_use_ffmpeg}</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section class="section">
|
|
<h1>{$lang->video}</h1>
|
|
<div class="x_control-group">
|
|
<label class="x_control-label">{$lang->video_thumbnail}</label>
|
|
<div class="x_controls">
|
|
<label for="video_thumbnail_Y" class="x_inline">
|
|
<input type="radio" name="video_thumbnail" id="video_thumbnail_Y" value="Y" checked="checked"|cond="$config->video_thumbnail === true" disabled="disabled"|cond="!$is_ffmpeg" />
|
|
{$lang->cmd_yes}
|
|
</label>
|
|
<label for="video_thumbnail_N" class="x_inline">
|
|
<input type="radio" name="video_thumbnail" id="video_thumbnail_N" value="N" checked="checked"|cond="$config->video_thumbnail !== true" disabled="disabled"|cond="!$is_ffmpeg" />
|
|
{$lang->cmd_no}
|
|
</label>
|
|
<p class="x_help-block">{$lang->about_video_thumbnail}</p>
|
|
<p class="x_text-info" cond="!$is_ffmpeg">{$lang->msg_cannot_use_ffmpeg}</p>
|
|
</div>
|
|
</div>
|
|
<div class="x_control-group">
|
|
<label class="x_control-label">{$lang->video_mp4_gif_time}</label>
|
|
<div class="x_controls">
|
|
<input type="number" min="0" name="video_mp4_gif_time" value="{$config->video_mp4_gif_time}" style="min-width:80px" disabled="disabled"|cond="!$is_ffmpeg" /> {$lang->unit_sec}
|
|
<p class="x_help-block">{$lang->about_video_mp4_gif_time}</p>
|
|
<p class="x_text-info" cond="!$is_ffmpeg">{$lang->msg_cannot_use_ffmpeg}</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section class="section">
|
|
<h1>FFmpeg</h1>
|
|
<div class="x_control-group">
|
|
<label class="x_control-label">{$lang->ffmpeg_path}</label>
|
|
<div class="x_controls">
|
|
<input type="text" name="ffmpeg_command" value="{$config->ffmpeg_command}" />
|
|
</div>
|
|
</div>
|
|
<div class="x_control-group">
|
|
<label class="x_control-label">{$lang->ffprobe_path}</label>
|
|
<div class="x_controls">
|
|
<input type="text" name="ffprobe_command" value="{$config->ffprobe_command}" />
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="x_clearfix btnArea">
|
|
<div class="x_pull-right">
|
|
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_save}</button>
|
|
</div>
|
|
</div>
|
|
</form>
|