AntonLV 10 лет назад
Родитель
Сommit
6678ccd9be

+ 1 - 2
modules/base/profile/template/uploader_form_crop_cover.html

@@ -1,6 +1,5 @@
 <div id="__form_container_id__" class="bx-uploader-form-cont bx-popup-width">
-
-    <input name="f" type="file" />
+	__file_field__
 
     <div class="bx-uploader-loading"></div>
     <div class="bx-def-padding-sec-bottom bx-croppie-msg"></div>

+ 3 - 2
modules/boonex/english/data/langs/system/en.xml

@@ -1801,6 +1801,7 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_form_unsubscribe_input_receive_news"><![CDATA[Receive Newsletters]]></string>
 	<string name="_sys_form_unsubscribe_input_receive_updates"><![CDATA[Receive Site Updates]]></string>
 	<string name="_sys_form_unsubscribe_input_submit"><![CDATA[Submit]]></string>
+	<string name="_sys_form_txt_select_file"><![CDATA[Select a file]]></string>
 	<string name="_sys_format_size_b"><![CDATA[{0} bytes]]></string>
 	<string name="_sys_format_size_gb"><![CDATA[{0} GB]]></string>
 	<string name="_sys_format_size_kb"><![CDATA[{0} KB]]></string>
@@ -2288,10 +2289,10 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_uploader_close"><![CDATA[Close]]></string>
 	<string name="_sys_uploader_confirm_close_popup"><![CDATA[Oh no! Are you sure? This may discard uploading files, seriously.]]></string>
     <string name="_sys_uploader_confirm_leaving_page"><![CDATA[Upload is in progress! Stay cool and don't close this page, or it will cut off half-way.]]></string>
-    <string name="_sys_uploader_crop_button_name"><![CDATA[Crop Image]]></string>
+    <string name="_sys_uploader_crop_button_name"><![CDATA[Upload and Crop]]></string>
     <string name="_sys_uploader_crop_rotate_left"><![CDATA[Rotate Left]]></string>
 	<string name="_sys_uploader_crop_rotate_right"><![CDATA[Rotate Right]]></string>
-	<string name="_sys_uploader_crop_submit_button"><![CDATA[Upload]]></string>    
+	<string name="_sys_uploader_crop_submit_button"><![CDATA[Upload]]></string>
     <string name="_sys_uploader_crop_title"><![CDATA[Crop Image]]></string>
     <string name="_sys_uploader_crop_err_upload"><![CDATA[Error Uploading.]]></string>
     <string name="_sys_uploader_crop_wrong_ext"><![CDATA[Wrong file extension, only images with the following extensions are allowed: jpg, jpeg, png, gif.]]></string>

+ 2 - 1
modules/boonex/russian/data/langs/system/ru.xml

@@ -1799,6 +1799,7 @@
 	<string name="_sys_form_unsubscribe_input_receive_news"><![CDATA[Получать Новости]]></string>
 	<string name="_sys_form_unsubscribe_input_receive_updates"><![CDATA[Получать Обновления Сайта]]></string>
 	<string name="_sys_form_unsubscribe_input_submit"><![CDATA[Выполнить]]></string>
+	<string name="_sys_form_txt_select_file"><![CDATA[Выбрать файл]]></string>
 	<string name="_sys_format_size_b"><![CDATA[{0} байт]]></string>
 	<string name="_sys_format_size_gb"><![CDATA[{0} ГБ]]></string>
 	<string name="_sys_format_size_kb"><![CDATA[{0} КБ]]></string>
@@ -2286,7 +2287,7 @@
 	<string name="_sys_uploader_close"><![CDATA[Закрыть]]></string>
 	<string name="_sys_uploader_confirm_close_popup"><![CDATA[О нет! Вы уверены? Это может прервать загрузку файлов.]]></string>
     <string name="_sys_uploader_confirm_leaving_page"><![CDATA[Загрузка в процессе! Не закрывайте эту страницу, или загрузка будет прервана на полпути.]]></string>
-    <string name="_sys_uploader_crop_button_name"><![CDATA[Обрезка Картинки]]></string>
+    <string name="_sys_uploader_crop_button_name"><![CDATA[Загрузить и обрезать]]></string>
     <string name="_sys_uploader_crop_rotate_left"><![CDATA[Повернуть налево]]></string>
 	<string name="_sys_uploader_crop_rotate_right"><![CDATA[Повернуть направо]]></string>
 	<string name="_sys_uploader_crop_submit_button"><![CDATA[Загрузить]]></string>    

+ 12 - 0
template/css/forms.css

@@ -204,6 +204,18 @@
     width:6rem;
 }
 
+.bx-form-input-wrapper-file .bx-btn {
+	float: none;
+	display: inline-block;
+}
+.bx-form-input-file {
+	position: fixed;
+	top: -1000px;
+
+    border: none;
+    background-color: transparent;
+}
+
 .bx-form-input-wrapper-slider,
 .bx-form-input-wrapper-doublerange {
     position:relative;

+ 22 - 1
template/scripts/BxBaseFormView.php

@@ -545,7 +545,6 @@ BLAH;
             case 'number':
             case 'checkbox':
             case 'radio':
-            case 'file':
             case 'image':
             case 'password':
             case 'slider':
@@ -554,6 +553,10 @@ BLAH;
                 $sInput = $this->genInputStandard($aInput);
             break;
 
+            case 'file':
+            	$sInput = $this->genInputFile($aInput);
+            	break;
+
             case 'rgb':
             case 'rgba':
             	$sClass = 'bx-form-input-' . $aInput['type'];
@@ -813,6 +816,24 @@ BLAH;
 
     }
 
+    /**
+     * Generate Browse File Element
+     *
+     * @param  array  $aInput
+     * @return string
+     */
+    function genInputFile(&$aInput)
+    {
+    	$sOnChange = "$(this).parents('.bx-form-input-wrapper-file:first').find('.bx-fif-value').html($(this).val());";
+    	if(!empty($aInput['attrs']['onchange']))
+    		$aInput['attrs']['onchange'] = $sOnChange . $aInput['attrs']['onchange'];
+    	else
+    		$aInput['attrs']['onchange'] = $sOnChange;
+
+    	$sInput = $this->genInputStandard($aInput);
+    	return '<label class="bx-btn">' . $sInput . '<span class="bx-fif-label">' . _t('_sys_form_txt_select_file') . '</span></label><span class="bx-fif-value bx-def-margin-thd-left"></span>';
+    }
+
     /**
      * Generate Select Box Element
      *

+ 4 - 0
template/scripts/BxBaseUploaderCrop.php

@@ -51,8 +51,12 @@ class BxBaseUploaderCrop extends BxDolUploader
      */
     public function getUploaderForm($isMultiple = true, $iContentId = false, $isPrivate = true)
     {
+    	$oForm = new BxTemplFormView(array());
+    	$aFormInput = array('type' => 'file', 'name' => 'f');
+
         return $this->_oTemplate->parseHtmlByName($this->_sUploaderFormTemplate, array(
             'form_container_id' => $this->_sFormContainerId,
+        	'file_field' => $oForm->genRow($aFormInput),
             'errors_container_id' => $this->_sErrorsContainerId,
             'uploader_instance_name' => $this->getNameJsInstanceUploader(),
             'restrictions_text' => $this->getRestrictionsText(),

+ 1 - 2
template/uploader_form_crop.html

@@ -1,6 +1,5 @@
 <div id="__form_container_id__" class="bx-uploader-form-cont bx-popup-width">
-
-    <input name="f" type="file" />
+	__file_field__
 
     <div class="bx-uploader-loading"></div>
     <div class="bx-def-padding-sec-bottom bx-croppie-msg"></div>