Просмотр исходного кода

Ticket #268 - Improvements in system Uploaders.

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

+ 5 - 5
inc/classes/BxDolUploader.php

@@ -24,7 +24,7 @@
  *     'storage_object' => 'sample', // the storage object, where uploaded files are going to be saved
  *     'images_transcoder' => 'sample2', // images transcoder object to use for images preview
  *     'uploaders' => array ('sys_simple', 'sys_html5'), // the set of uploaders to use to upload files
- *     'upload_buttons_titles' => array('sys_simple' => 'Upload one by one', 'sys_html5' => 'Upload several files in bulk'); // change default button titles, array with button names, or string to assign to all bnuttons
+ *     'upload_buttons_titles' => array('Simple' => 'Upload one by one', 'HTML5' => 'Upload several files in bulk'); // change default button titles, array with button names, or string to assign to all bnuttons
  *     'multiple' => true, // allow to upload multiple files per one upload
  *     'content_id' => 4321, // content id to associate ghost files with
  *     'ghost_template' => $mixedGhostTemplate, // template for nested form
@@ -124,10 +124,10 @@ abstract class BxDolUploader extends BxDol
     /**
      * constructor
      */
-    protected function __construct($aObject, $sStorageObject, $sUniqId)
+    protected function __construct($aObject, $sStorageObject, $sUniqId, $oTemplate)
     {
         parent::__construct();
-        $this->_oTemplate = BxDolTemplate::getInstance();
+        $this->_oTemplate = $oTemplate ? $oTemplate : BxDolTemplate::getInstance();
 
         $this->_aObject = $aObject;
         $this->_sStorageObject = $sStorageObject;
@@ -143,7 +143,7 @@ abstract class BxDolUploader extends BxDol
         $this->_sFormContainerId = 'bx-form-input-files-' . $sUniqId . '-form-cont';
     }
 
-    static public function getObjectInstance($sObject, $sStorageObject, $sResultContainerId)
+    static public function getObjectInstance($sObject, $sStorageObject, $sResultContainerId, $oTemplate = false)
     {
         $aObject = BxDolUploaderQuery::getUploaderObject($sObject);
         if (!$aObject || !is_array($aObject) || !$aObject['active'])
@@ -153,7 +153,7 @@ abstract class BxDolUploader extends BxDol
         if (!empty($aObject['override_class_file']))
             require_once(BX_DIRECTORY_PATH_ROOT . $aObject['override_class_file']);
 
-        $o = new $sClass($aObject, $sStorageObject, $sResultContainerId);
+        $o = new $sClass($aObject, $sStorageObject, $sResultContainerId, $oTemplate);
 
         if (!$o->isInstalled() || !$o->isAvailable())
             return false;

+ 2 - 2
modules/boonex/air/data/template/system/scripts/BxTemplUploaderHTML5.php

@@ -12,9 +12,9 @@
  */
 class BxTemplUploaderHTML5 extends BxBaseUploaderHTML5
 {
-    function __construct($aObject, $sStorageObject, $sUniqId)
+    function __construct($aObject, $sStorageObject, $sUniqId, $oTemplate)
     {
-        parent::__construct($aObject, $sStorageObject, $sUniqId);
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
     }
 }
 

+ 2 - 2
modules/boonex/air/data/template/system/scripts/BxTemplUploaderSimple.php

@@ -12,9 +12,9 @@
  */
 class BxTemplUploaderSimple extends BxBaseUploaderSimple
 {
-    function __construct($aObject, $sStorageObject, $sUniqId)
+    function __construct($aObject, $sStorageObject, $sUniqId, $oTemplate)
     {
-        parent::__construct($aObject, $sStorageObject, $sUniqId);
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
     }
 }
 

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

@@ -1191,6 +1191,7 @@
 	<string name="_adm_stg_cpt_type_system"><![CDATA[System]]></string>
 	<string name="_adm_stg_scs_save"><![CDATA[Settings were successfully saved]]></string>
 	<string name="_adm_stg_err_save_error_message"><![CDATA[Error in '{0}': {1}]]></string>
+	<string name="_adm_stg_err_remove_old_image"><![CDATA[Cannot remove current image.]]></string>
 	<string name="_adm_str_cpt_files_file"><![CDATA[File]]></string>
 	<string name="_adm_str_cpt_files_version"><![CDATA[Version]]></string>
 	<string name="_adm_str_err_cannot_connect_to_ftp"><![CDATA[Cannot connect to FTP server. Please check FTP access details in Settings -> General.]]></string>
@@ -2169,6 +2170,7 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_upgrade_patch_download_failed"><![CDATA[Patch download failed, or downloaded file can't be saved]]></string>
 	<string name="_sys_upgrade_patch_invalid"><![CDATA[Invalid patch, it can't be applied to your version or incorrect files structure in the patch.]]></string>
 	<string name="_sys_upgrade_patch_unpack_failed"><![CDATA[Patch unpack failed]]></string>
+	<string name="_sys_uploader_button_name_single"><![CDATA[Upload File]]></string>
 	<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>

+ 2 - 2
modules/boonex/ocean/data/template/system/scripts/BxTemplUploaderHTML5.php

@@ -12,9 +12,9 @@
  */
 class BxTemplUploaderHTML5 extends BxBaseUploaderHTML5
 {
-    function __construct($aObject, $sStorageObject, $sUniqId)
+    function __construct($aObject, $sStorageObject, $sUniqId, $oTemplate)
     {
-        parent::__construct($aObject, $sStorageObject, $sUniqId);
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
     }
 }
 

+ 2 - 2
modules/boonex/ocean/data/template/system/scripts/BxTemplUploaderSimple.php

@@ -12,9 +12,9 @@
  */
 class BxTemplUploaderSimple extends BxBaseUploaderSimple
 {
-    function __construct($aObject, $sStorageObject, $sUniqId)
+    function __construct($aObject, $sStorageObject, $sUniqId, $oTemplate)
     {
-        parent::__construct($aObject, $sStorageObject, $sUniqId);
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
     }
 }
 

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

@@ -1191,6 +1191,7 @@
 	<string name="_adm_stg_cpt_type_system"><![CDATA[Система]]></string>
 	<string name="_adm_stg_scs_save"><![CDATA[Настройки удачно сохранены]]></string>
 	<string name="_adm_stg_err_save_error_message"><![CDATA[Ошибка в '{0}': {1}]]></string>
+	<string name="_adm_stg_err_remove_old_image"><![CDATA[Невозможно удалить текущее изображение.]]></string>
 	<string name="_adm_str_cpt_files_file"><![CDATA[Файл]]></string>
 	<string name="_adm_str_cpt_files_version"><![CDATA[Версия]]></string>
 	<string name="_adm_str_err_cannot_connect_to_ftp"><![CDATA[Невозможно соединиться с FTP-сервером. Проверьте детали доступа к FTP в Настройки -> Общие.]]></string>
@@ -2170,6 +2171,7 @@
 	<string name="_sys_upgrade_patch_download_failed"><![CDATA[Не удалось скачать патч или скачанный файл не может быть сохранён]]></string>
 	<string name="_sys_upgrade_patch_invalid"><![CDATA[Неправильный патч, он не может быть применён для Вашей версии или имеет неправильную структуру файлов.]]></string>
 	<string name="_sys_upgrade_patch_unpack_failed"><![CDATA[Не удалось распаковать патч]]></string>
+	<string name="_sys_uploader_button_name_single"><![CDATA[Загрузить файл]]></string>
 	<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>

+ 2 - 2
modules/boonex/uni/data/template/system/scripts/BxTemplUploaderHTML5.php

@@ -12,9 +12,9 @@
  */
 class BxTemplUploaderHTML5 extends BxBaseUploaderHTML5
 {
-    function __construct($aObject, $sStorageObject, $sUniqId)
+    function __construct($aObject, $sStorageObject, $sUniqId, $oTemplate)
     {
-        parent::__construct($aObject, $sStorageObject, $sUniqId);
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
     }
 }
 

+ 2 - 2
modules/boonex/uni/data/template/system/scripts/BxTemplUploaderSimple.php

@@ -12,9 +12,9 @@
  */
 class BxTemplUploaderSimple extends BxBaseUploaderSimple
 {
-    function __construct($aObject, $sStorageObject, $sUniqId)
+    function __construct($aObject, $sStorageObject, $sUniqId, $oTemplate)
     {
-        parent::__construct($aObject, $sStorageObject, $sUniqId);
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
     }
 }
 

+ 1 - 0
studio/template/_footer.html

@@ -1,3 +1,4 @@
+       __popup_loading__
        <bx_injection:injection_footer />
     </body>
 </html>

+ 2 - 2
template/scripts/BxBaseFormView.php

@@ -821,7 +821,7 @@ BLAH;
         $sUploaders = '';
         $oUploader = null;
         foreach ($aInput['uploaders'] as $sUploaderObject) {
-            $oUploader = BxDolUploader::getObjectInstance($sUploaderObject, $aInput['storage_object'], $sUniqId);
+            $oUploader = BxDolUploader::getObjectInstance($sUploaderObject, $aInput['storage_object'], $sUniqId, $this->oTemplate);
             if (!$oUploader)
                 continue;
 
@@ -1228,7 +1228,7 @@ BLAH;
                     continue;
 
                 foreach ($aInput['uploaders'] as $sUploaderObject) {
-                    $oUploader = BxDolUploader::getObjectInstance($sUploaderObject, $aInput['storage_object'], '');
+                    $oUploader = BxDolUploader::getObjectInstance($sUploaderObject, $aInput['storage_object'], '', $this->oTemplate);
                     if ($oUploader)
                         $oUploader->addCssJs();
                 }

+ 2 - 2
template/scripts/BxBaseUploaderHTML5.php

@@ -16,9 +16,9 @@ class BxBaseUploaderHTML5 extends BxDolUploader
 {
     protected $_sDivId; ///< div id where upload button will be placed
 
-    function __construct ($aObject, $sStorageObject, $sUniqId)
+    function __construct ($aObject, $sStorageObject, $sUniqId, $oTemplate)
     {
-        parent::__construct($aObject, $sStorageObject, $sUniqId);
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
 
         $this->_sDivId = 'bx-form-input-files-' . $sUniqId . '-div-' . $this->_aObject['object'];
         $this->_sButtonTemplate = 'uploader_button_html5.html';

+ 2 - 2
template/scripts/BxBaseUploaderSimple.php

@@ -15,9 +15,9 @@ class BxBaseUploaderSimple extends BxDolUploader
 {
     protected $_sIframeId;
 
-    function __construct ($aObject, $sStorageObject, $sUniqId)
+    function __construct ($aObject, $sStorageObject, $sUniqId, $oTemplate)
     {
-        parent::__construct($aObject, $sStorageObject, $sUniqId);
+        parent::__construct($aObject, $sStorageObject, $sUniqId, $oTemplate);
         $this->_sIframeId = 'bx-form-input-files-' . $sUniqId . '-iframe';
         $this->_sButtonTemplate = 'uploader_button_simple.html';
     }