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

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
install/sql/system.sql


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

@@ -1283,7 +1283,6 @@
 	<string name="_adm_str_txt_pv_version"><![CDATA[Version]]></string>
 	<string name="_adm_str_txt_pv_version_mask"><![CDATA[{0} ({1} is available)]]></string>
 	<string name="_adm_str_txt_update_from_to"><![CDATA[{0} - {1}]]></string>
-	
 	<string name="_adm_strg_err_cannot_process_action"><![CDATA[Cannot process action. It does not have an associated handler.]]></string>
 	<string name="_adm_strg_err_files_add"><![CDATA[Nothing to add. Please select file first.]]></string>
 	<string name="_adm_strg_err_files_delete"><![CDATA[Cannot delete file(s).]]></string>
@@ -1291,6 +1290,7 @@
 	<string name="_adm_strg_err_images_add"><![CDATA[Nothing to add. Please select image first.]]></string>
 	<string name="_adm_strg_err_images_delete"><![CDATA[Cannot delete image(s).]]></string>
 	<string name="_adm_strg_msg_images_delete"><![CDATA[Images were queued for deletion. They will be deleted a little bit later.]]></string>
+	<string name="_adm_strg_err_images_resize"><![CDATA[Cannot resize image.]]></string>
 	<string name="_adm_strg_txt_file_name"><![CDATA[Name]]></string>
 	<string name="_adm_strg_txt_path"><![CDATA[URL]]></string>
 	<string name="_adm_strg_txt_mime_type"><![CDATA[Type]]></string>
@@ -1298,10 +1298,16 @@
 	<string name="_adm_strg_btn_delete"><![CDATA[Delete]]></string>
 	<string name="_adm_strg_btn_add"><![CDATA[Add]]></string>
 	<string name="_adm_strg_btn_cancel"><![CDATA[Cancel]]></string>
+	<string name="_adm_strg_btn_resize"><![CDATA[Resize]]></string>
 	<string name="_adm_strg_txt_download"><![CDATA[View/Download file]]></string>
 	<string name="_adm_strg_txt_files_add_popup"><![CDATA[Add File]]></string>
 	<string name="_adm_strg_txt_images_add_popup"><![CDATA[Add Image]]></string>
-	<string name="_adm_strg_txt_size_mime_type"><![CDATA[{0}x{1}, {}]]></string>
+	<string name="_adm_strg_txt_images_resize_popup"><![CDATA[Resize Image]]></string>
+	<string name="_adm_strg_txt_size_mime_type"><![CDATA[{0}x{1}, {2}]]></string>
+	<string name="_adm_strg_txt_width"><![CDATA[Width]]></string>
+	<string name="_adm_strg_err_width"><![CDATA[Width is essential. Please, fill in this field.]]></string>
+	<string name="_adm_strg_txt_height"><![CDATA[Height]]></string>
+	<string name="_adm_strg_err_height"><![CDATA[Height is essential. Please, fill in this field.]]></string>
 	<string name="_adm_tmi_cpt_edit"><![CDATA[Manage Launcher]]></string>
 	<string name="_adm_tmi_cpt_extensions"><![CDATA[Add Apps]]></string>
 	<string name="_adm_tmi_cpt_favorite"><![CDATA[Show Favorite Only]]></string>

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

@@ -1283,8 +1283,12 @@
 	<string name="_adm_str_txt_update_from_to"><![CDATA[{0} - {1}]]></string>
 	<string name="_adm_strg_err_cannot_process_action"><![CDATA[Невозможно выполнить действие. Отсутствует связанный обработчик.]]></string>
 	<string name="_adm_strg_err_files_add"><![CDATA[Нечего добавлять. Пожалуйста, выберите файл.]]></string>
-	<string name="_adm_strg_err_files_delete"><![CDATA[Не могу удалить файл(ы).]]></string>
+	<string name="_adm_strg_err_files_delete"><![CDATA[Не возможно удалить файл(ы).]]></string>
 	<string name="_adm_strg_msg_files_delete"><![CDATA[Файлы были добавлены в очередь на удаление. Они будут удалены немного позже.]]></string>
+	<string name="_adm_strg_err_images_add"><![CDATA[Нечего добавлять. Пожалуйста, выберите изображение.]]></string>
+	<string name="_adm_strg_err_images_delete"><![CDATA[Не возможно удалить изображение(я).]]></string>
+	<string name="_adm_strg_msg_images_delete"><![CDATA[Изображение были добавлены в очередь на удаление. Они будут удалены немного позже.]]></string>
+	<string name="_adm_strg_err_images_resize"><![CDATA[Не возможно изменить размер изображения.]]></string>
 	<string name="_adm_strg_txt_file_name"><![CDATA[Имя]]></string>
 	<string name="_adm_strg_txt_path"><![CDATA[ЮРЛ]]></string>
 	<string name="_adm_strg_txt_mime_type"><![CDATA[Тип]]></string>
@@ -1292,9 +1296,16 @@
 	<string name="_adm_strg_btn_delete"><![CDATA[Удалить]]></string>
 	<string name="_adm_strg_btn_add"><![CDATA[Добавить]]></string>
 	<string name="_adm_strg_btn_cancel"><![CDATA[Отмена]]></string>
+	<string name="_adm_strg_btn_resize"><![CDATA[Изменять размеры]]></string>
 	<string name="_adm_strg_txt_download"><![CDATA[Посмотреть/Скачать файл]]></string>
-	<string name="_adm_strg_txt_files_add_popup"><![CDATA[Добавить Файл]]></string>
+	<string name="_adm_strg_txt_files_add_popup"><![CDATA[Добавить файл]]></string>
+	<string name="_adm_strg_txt_images_add_popup"><![CDATA[Добавить изображение]]></string>
+	<string name="_adm_strg_txt_images_resize_popup"><![CDATA[Изменить размер изображения]]></string>
 	<string name="_adm_strg_txt_size_mime_type"><![CDATA[{0}x{1}, {2}]]></string>
+	<string name="_adm_strg_txt_width"><![CDATA[Ширина]]></string>
+	<string name="_adm_strg_err_width"><![CDATA[Нужно указать ширину. Пожалуйста, заполните это поле.]]></string>
+	<string name="_adm_strg_txt_height"><![CDATA[Высота]]></string>
+	<string name="_adm_strg_err_height"><![CDATA[Нужно указать высоту. Пожалуйста, заполните это поле.]]></string>
 	<string name="_adm_tmi_cpt_edit"><![CDATA[Управление Загрузчиком]]></string>
 	<string name="_adm_tmi_cpt_extensions"><![CDATA[Добавить Приложения]]></string>
 	<string name="_adm_tmi_cpt_favorite"><![CDATA[Показывать только Любимые]]></string>

+ 6 - 0
studio/classes/BxDolStudioStoragesImages.php

@@ -9,6 +9,8 @@
 
 class BxDolStudioStoragesImages extends BxTemplStudioGridStorages
 {
+	protected $_sTranscoderResize;
+
     public function __construct ($aOptions, $oTemplate = false)
     {
         $this->_sStorage = 'sys_images';
@@ -16,11 +18,15 @@ class BxDolStudioStoragesImages extends BxTemplStudioGridStorages
         parent::__construct ($aOptions, $oTemplate);
 
         $this->_sType = BX_DOL_STUDIO_STRG_TYPE_IMAGES;
+        $this->_sTranscoderResize = 'sys_image_resize';
+
         $this->_aT = array(
         	'err_files_add' => '_adm_strg_err_images_add',
         	'err_files_delete' => '_adm_strg_err_images_delete',
         	'msg_files_delete' => '_adm_strg_msg_images_delete',
+        	'err_files_resize' => '_adm_strg_err_images_resize',
         	'txt_files_add_popup' => '_adm_strg_txt_images_add_popup',
+        	'txt_files_resize_popup' => '_adm_strg_txt_images_resize_popup',
         );
     }
 }

+ 10 - 0
studio/template/css/storages.css

@@ -0,0 +1,10 @@
+/*--- Keys page -> Add Key block ---*/
+div.bx-strg-resize-file {}
+div.bx-strg-resize-file-cnt {}
+
+div.bx-strg-rf-img img {
+	max-width: 440px;
+	max-width: 27.5rem;
+	max-height: 440px;
+	max-height: 27.5rem;
+}

+ 2 - 0
studio/template/scripts/BxBaseStudioGridStorages.php

@@ -90,6 +90,8 @@ class BxBaseStudioGridStorages extends BxDolStudioGridStorages
 
         parent::_addJsCss();
         $this->_oTemplate->addJs(array('jquery.form.min.js'));
+
+        $this->_oTemplate->addCss(array('storages.css'));
     }
 
 	protected function _getCellPath ($mixedValue, $sKey, $aField, $aRow)

+ 135 - 0
studio/template/scripts/BxBaseStudioStoragesImages.php

@@ -15,6 +15,59 @@ class BxBaseStudioStoragesImages extends BxDolStudioStoragesImages
         parent::__construct($aOptions, $oTemplate);
     }
 
+	public function performActionResize()
+    {
+        $sAction = 'resize';
+
+    	$aIds = bx_get('ids');
+        if(!$aIds || !is_array($aIds)) {
+            $iId = (int)bx_get('id');
+            if(!$iId) {
+                echoJson(array());
+                exit;
+            }
+
+            $aIds = array($iId);
+        }
+
+        $iId = $aIds[0];
+
+        $oForm = $this->_getFormObjectResize($iId);
+        $oForm->initChecker();
+        if($oForm->isSubmittedAndValid()) {
+        	$iWidth = $oForm->getCleanValue('width');
+        	$iHeight = $oForm->getCleanValue('height');
+
+	    	$oTranscoder = BxDolTranscoderImage::getObjectInstance($this->_sTranscoderResize);
+			if(!$oTranscoder)
+				return echoJson(array('msg' => _t($this->_aT['err_files_resize'])));
+			
+			$sFileUrl = bx_append_url_params($oTranscoder->getFileUrlNotReady($iId), array(
+				'x' => $iWidth,
+				'y' => $iHeight
+			));
+
+			$sPopup = $this->_oTemplate->parseHtmlByName('strg_resize_' . $this->_sType . '_result.html', array(
+				'url' => $sFileUrl
+			));
+			$aPopupOptions = array();
+        }
+        else {
+        	$sPopup = $this->_oTemplate->parseHtmlByName('strg_resize_' . $this->_sType . '_form.html', array(
+                'form_id' => $oForm->aFormAttrs['id'],
+                'form' => $oForm->getCode(true),
+                'object' => $this->_sObject,
+                'action' => $sAction
+            ));
+            $aPopupOptions = array('closeOnOuterClick' => false);
+        }
+
+        echoJson(array('popup' => array(
+        	'html' => BxTemplStudioFunctions::getInstance()->popupBox('adm-strg-' . $this->_sType . '-resize-popup', _t($this->_aT['txt_files_resize_popup']), $sPopup), 
+        	'options' => $aPopupOptions
+        )));
+    }
+
 	protected function _getCellMimeType($mixedValue, $sKey, $aField, $aRow)
     {
     	$iWidth = $iHeight = 0;
@@ -25,6 +78,88 @@ class BxBaseStudioStoragesImages extends BxDolStudioStoragesImages
 
         return parent::_getCellDefault(_t('_adm_strg_txt_size_mime_type', (int)$iWidth, (int)$iHeight, $mixedValue), $sKey, $aField, $aRow);
     }
+
+	protected function _getFormObjectResize($iId)
+    {
+    	bx_import('BxTemplStudioFormView');
+
+        $aForm = array(
+            'form_attrs' => array(
+                'id' => 'adm-strg-' . $this->_sType . '-resize',
+                'action' => BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=resize',
+                'method' => BX_DOL_STUDIO_METHOD_DEFAULT
+            ),
+            'params' => array (
+                'db' => array(
+                    'table' => '',
+                    'key' => '',
+                    'uri' => '',
+                    'uri_title' => '',
+                    'submit_name' => 'do_submit'
+                ),
+            ),
+            'inputs' => array (
+				'id' => array(
+					'type' => 'hidden',
+					'name' => 'id',
+					'value' => $iId,
+					'db' => array (
+						'pass' => 'Int',
+					),
+				),
+                'width' => array(
+                    'type' => 'text',
+                    'name' => 'width',
+                    'caption' => _t('_adm_strg_txt_width'),
+                    'value' => '',
+                    'required' => '1',
+                    'db' => array (
+                        'pass' => 'Int',
+                    ),
+                    'checker' => array (
+                        'func' => 'Avail',
+                        'params' => array(),
+                        'error' => _t('_adm_strg_err_width'),
+                    ),
+                ),
+                'height' => array(
+                    'type' => 'text',
+                    'name' => 'height',
+                    'caption' => _t('_adm_strg_txt_height'),
+                    'value' => '',
+                    'required' => '1',
+                    'db' => array (
+                        'pass' => 'Int',
+                    ),
+                    'checker' => array (
+                        'func' => 'Avail',
+                        'params' => array(),
+                        'error' => _t('_adm_strg_err_height'),
+                    ),
+                ),
+                'controls' => array(
+                    'name' => 'controls',
+                    'type' => 'input_set',
+                    array(
+                        'type' => 'submit',
+                        'name' => 'do_submit',
+                        'value' => _t('_adm_strg_btn_resize'),
+                    ),
+                    array (
+                        'type' => 'reset',
+                        'name' => 'close',
+                        'value' => _t('_adm_strg_btn_cancel'),
+                        'attrs' => array(
+                            'onclick' => "$('.bx-popup-applied:visible').dolPopupHide()",
+                            'class' => 'bx-def-margin-sec-left',
+                        ),
+                    )
+                )
+            )
+        );
+
+        return new BxTemplStudioFormView($aForm);
+    }
 }
 
 /** @} */

+ 19 - 0
studio/template/strg_resize_images_form.html

@@ -0,0 +1,19 @@
+<div class="bx-strg-resize-file bx-def-color-bg-block">
+    <div class="bx-strg-resize-file-cnt">
+        __form__
+        <script type="text/javascript">
+            $(document).ready(function () {
+                $("#__form_id__").ajaxForm({ 
+                    dataType: "json",
+                    beforeSubmit: function (formData, jqForm, options) {
+                        bx_loading($("#__form_id__"), true);
+                    },
+                    success: function (data) {
+                        $(".bx-popup-applied:visible").dolPopupHide();
+                        glGrids.__object__.processJson(data, '__action__');
+                    }
+                });
+            });
+        </script>
+    </div>
+</div>

+ 10 - 0
studio/template/strg_resize_images_result.html

@@ -0,0 +1,10 @@
+<div class="bx-strg-resize-file bx-def-color-bg-block">
+    <div class="bx-strg-resize-file-cnt">
+    	<div class="bx-strg-rf-img bx-def-font-align-center">
+    		<img src="__url__" />
+    	</div>
+        <div class="bx-def-margin-sec-top">
+			<input class="bx-def-font-inputs bx-form-input-text" type="text" value="__url__" readonly="1" />
+        </div>
+    </div>
+</div>

Некоторые файлы не были показаны из-за большого количества измененных файлов