AntonLV 9 роки тому
батько
коміт
063a0d637c

+ 1 - 0
inc/classes/BxDolUploader.php

@@ -330,6 +330,7 @@ abstract class BxDolUploader extends BxDolFactory
             $aVars = array (
             	'storage_object' => $this->_sStorageObject,
                 'file_id' => $aFile['id'],
+                'file_type' => $aFile['mime_type'],
                 'file_name' => $aFile['file_name'],
                 'file_title' => $oStorage->getFileTitle($aFile['file_name']),
                 'file_icon' => $sFileIcon,

+ 3 - 1
modules/boonex/forum/classes/BxForumConfig.php

@@ -49,7 +49,7 @@ class BxForumConfig extends BxBaseModTextConfig
         	'FIELD_CATEGORY' => 'cat',
             'FIELD_ALLOW_VIEW_TO' => 'allow_view_to',
             'FIELD_PHOTO' => 'attachments',
-            'FIELD_THUMB' => '',
+            'FIELD_THUMB' => 'thumb',
             'FIELD_COMMENTS' => 'comments',
         	'FIELD_STICK' => 'stick',
         	'FIELD_LOCK' => 'lock',
@@ -94,6 +94,7 @@ class BxForumConfig extends BxBaseModTextConfig
             'OBJECT_IMAGES_TRANSCODER_PREVIEW' => 'bx_forum_preview',
         	'OBJECT_IMAGES_TRANSCODER_PREVIEW_CMTS' => 'bx_forum_preview_cmts',
             'OBJECT_IMAGES_TRANSCODER_GALLERY' => '',
+        	'OBJECT_IMAGES_TRANSCODER_COVER' => 'bx_forum_cover',
             'OBJECT_VIDEOS_TRANSCODERS' => array(),
             'OBJECT_VIEWS' => 'bx_forum',
             'OBJECT_VOTES' => 'bx_forum',
@@ -141,6 +142,7 @@ class BxForumConfig extends BxBaseModTextConfig
             	'menu_item_manage_my' => '_bx_forum_menu_item_title_manage_my',
             	'menu_item_manage_all' => '_bx_forum_menu_item_title_manage_all',
             	'txt_all_entries_by_author' => '_bx_forum_page_title_browse_by_author',
+            	'txt_pict_use_as_thumb' => '_bx_forum_form_entry_input_picture_use_as_thumb'
             ),
         );
 

+ 0 - 8
modules/boonex/forum/classes/BxForumModule.php

@@ -372,14 +372,6 @@ class BxForumModule extends BxBaseModTextModule
         return $oForm->getCode();
     }
 
-    /**
-     * No thumbs for discussions
-     */
-    public function checkAllowedSetThumb()
-    {
-        return _t('_sys_txt_access_denied');
-    }
-
     public function checkAllowedSubscribe(&$aDataEntry, $isPerformAction = false)
     {
         $CNF = &$this->_oConfig->CNF;

+ 2 - 0
modules/boonex/forum/install/langs/en.xml

@@ -33,6 +33,7 @@
 	<string name="_bx_forum_form_entry_input_attachments"><![CDATA[Attachments]]></string>
 	<string name="_bx_forum_form_entry_input_sys_allow_view_to"><![CDATA[Visibility]]></string>
     <string name="_bx_forum_form_entry_input_allow_view_to"><![CDATA[Visibility]]></string>
+    <string name="_bx_forum_form_entry_input_picture_use_as_thumb"><![CDATA[Cover Image]]></string>
     <string name="_bx_forum_form_entry_input_sys_title"><![CDATA[Topic]]></string>
     <string name="_bx_forum_form_entry_input_title"><![CDATA[Topic]]></string>
     <string name="_bx_forum_form_entry_input_title_err"><![CDATA[Topic is mandatory]]></string>
@@ -53,6 +54,7 @@
 	<string name="_bx_forum_acl_action_create_entry"><![CDATA[Create new discussion]]></string>
 	<string name="_bx_forum_acl_action_delete_entry"><![CDATA[Delete discussion]]></string>
 	<string name="_bx_forum_acl_action_view_entry"><![CDATA[View discussion]]></string>
+	<string name="_bx_forum_acl_action_set_thumb"><![CDATA[Set discussion's cover]]></string>
 	<string name="_bx_forum_acl_action_edit_any_entry"><![CDATA[Edit any discussion]]></string>
 	<string name="_bx_forum_acl_action_stick_any_entry"><![CDATA[Pin any discussion]]></string>
 	<string name="_bx_forum_acl_action_lock_any_entry"><![CDATA[Lock any discussion]]></string>

+ 10 - 0
modules/boonex/forum/install/sql/enable.sql

@@ -344,6 +344,10 @@ INSERT INTO `sys_acl_actions` (`Module`, `Name`, `AdditionalParamName`, `Title`,
 (@sName, 'view entry', NULL, '_bx_forum_acl_action_view_entry', '', 1, 0);
 SET @iIdActionEntryView = LAST_INSERT_ID();
 
+INSERT INTO `sys_acl_actions` (`Module`, `Name`, `AdditionalParamName`, `Title`, `Desc`, `Countable`, `DisabledForLevels`) VALUES
+(@sName, 'set thumb', NULL, '_bx_forum_acl_action_set_thumb', '', 1, 3);
+SET @iIdActionSetThumb = LAST_INSERT_ID();
+
 INSERT INTO `sys_acl_actions` (`Module`, `Name`, `AdditionalParamName`, `Title`, `Desc`, `Countable`, `DisabledForLevels`) VALUES
 (@sName, 'edit any entry', NULL, '_bx_forum_acl_action_edit_any_entry', '', 1, 3);
 SET @iIdActionEntryEditAny = LAST_INSERT_ID();
@@ -394,6 +398,12 @@ INSERT INTO `sys_acl_matrix` (`IDLevel`, `IDAction`) VALUES
 (@iAdministrator, @iIdActionEntryView),
 (@iPremium, @iIdActionEntryView),
 
+-- set entry thumb
+(@iStandard, @iIdActionSetThumb),
+(@iModerator, @iIdActionSetThumb),
+(@iAdministrator, @iIdActionSetThumb),
+(@iPremium, @iIdActionSetThumb),
+
 -- edit any entry
 (@iModerator, @iIdActionEntryEditAny),
 (@iAdministrator, @iIdActionEntryEditAny),

+ 5 - 2
modules/boonex/forum/install/sql/install.sql

@@ -7,6 +7,7 @@ CREATE TABLE IF NOT EXISTS `bx_forum_discussions` (
   `author` int(10) unsigned NOT NULL,
   `added` int(11) NOT NULL,
   `changed` int(11) NOT NULL,
+  `thumb` int(11) NOT NULL,
   `title` varchar(255) NOT NULL,
   `cat` int(11) NOT NULL,
   `text` text NOT NULL,
@@ -172,11 +173,13 @@ INSERT INTO `sys_objects_storage` (`object`, `engine`, `params`, `token_life`, `
 
 INSERT INTO `sys_objects_transcoder` (`object`, `storage_object`, `source_type`, `source_params`, `private`, `atime_tracking`, `atime_pruning`, `ts`, `override_class_name`, `override_class_file`) VALUES 
 ('bx_forum_preview', 'bx_forum_photos_resized', 'Storage', 'a:1:{s:6:"object";s:14:"bx_forum_files";}', 'no', '1', '2592000', '0', '', ''),
-('bx_forum_preview_cmts', 'bx_forum_photos_resized', 'Storage', 'a:1:{s:6:"object";s:19:"bx_forum_files_cmts";}', 'no', '1', '2592000', '0', '', '');
+('bx_forum_preview_cmts', 'bx_forum_photos_resized', 'Storage', 'a:1:{s:6:"object";s:19:"bx_forum_files_cmts";}', 'no', '1', '2592000', '0', '', ''),
+('bx_forum_cover', 'bx_forum_photos_resized', 'Storage', 'a:1:{s:6:"object";s:14:"bx_forum_files";}', 'no', '1', '2592000', '0', '', '');
 
 INSERT INTO `sys_transcoder_filters` (`transcoder_object`, `filter`, `filter_params`, `order`) VALUES 
 ('bx_forum_preview', 'Resize', 'a:3:{s:1:"w";s:3:"300";s:1:"h";s:3:"200";s:11:"crop_resize";s:1:"1";}', '0'),
-('bx_forum_preview_cmts', 'Resize', 'a:4:{s:1:"w";s:3:"100";s:1:"h";s:3:"100";s:13:"square_resize";s:1:"1";s:10:"force_type";s:3:"jpg";}', '0');
+('bx_forum_preview_cmts', 'Resize', 'a:4:{s:1:"w";s:3:"100";s:1:"h";s:3:"100";s:13:"square_resize";s:1:"1";s:10:"force_type";s:3:"jpg";}', '0'),
+('bx_forum_cover', 'Resize', 'a:1:{s:1:"w";s:4:"2000";}', '0');
 
 
 -- FORMS

+ 3 - 3
modules/boonex/forum/install/sql/uninstall.sql

@@ -9,9 +9,9 @@ DROP TABLE IF EXISTS `bx_forum_discussions`, `bx_forum_categories`, `bx_forum_fi
 DELETE FROM `sys_objects_storage` WHERE `object` IN ('bx_forum_files', 'bx_forum_files_cmts', 'bx_forum_photos_resized');
 DELETE FROM `sys_storage_tokens` WHERE `object` IN ('bx_forum_files', 'bx_forum_files_cmts', 'bx_forum_photos_resized');
 
-DELETE FROM `sys_objects_transcoder` WHERE `object` IN ('bx_forum_preview', 'bx_forum_preview_cmts');
-DELETE FROM `sys_transcoder_filters` WHERE `transcoder_object` IN ('bx_forum_preview', 'bx_forum_preview_cmts');
-DELETE FROM `sys_transcoder_images_files` WHERE `transcoder_object` IN ('bx_forum_preview', 'bx_forum_preview_cmts');
+DELETE FROM `sys_objects_transcoder` WHERE `object` IN ('bx_forum_preview', 'bx_forum_preview_cmts', 'bx_forum_cover');
+DELETE FROM `sys_transcoder_filters` WHERE `transcoder_object` IN ('bx_forum_preview', 'bx_forum_preview_cmts', 'bx_forum_cover');
+DELETE FROM `sys_transcoder_images_files` WHERE `transcoder_object` IN ('bx_forum_preview', 'bx_forum_preview_cmts', 'bx_forum_cover');
 
 
 -- FORMS

+ 5 - 2
modules/boonex/forum/template/form_ghost_template.html

@@ -1,3 +1,6 @@
-
 <bx_include_base:../modules/base/text/template/form_ghost_template.html />
-
+<script>
+var aType = '{file_type}'.split('/');
+if(!aType || aType[0] != 'image' || !$.inArray(aType[1], ['gif', 'jpeg', 'png']))
+	$('#bx-uploader-file-{storage_object}-{file_id} .bx-base-general-use-as-thumb').remove();
+</script>

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

@@ -33,6 +33,7 @@
 	<string name="_bx_forum_form_entry_input_attachments"><![CDATA[Прикрепления]]></string>
 	<string name="_bx_forum_form_entry_input_sys_allow_view_to"><![CDATA[Видимость]]></string>
     <string name="_bx_forum_form_entry_input_allow_view_to"><![CDATA[Видимость]]></string>
+    <string name="_bx_forum_form_entry_input_picture_use_as_thumb"><![CDATA[Изображение обложки]]></string>
     <string name="_bx_forum_form_entry_input_sys_title"><![CDATA[Тема]]></string>
     <string name="_bx_forum_form_entry_input_title"><![CDATA[Тема]]></string>
     <string name="_bx_forum_form_entry_input_title_err"><![CDATA[Необходимо указать тему]]></string>
@@ -53,6 +54,7 @@
 	<string name="_bx_forum_acl_action_create_entry"><![CDATA[Создавать новое обсуждение]]></string>
 	<string name="_bx_forum_acl_action_delete_entry"><![CDATA[Удалить обсуждение]]></string>
 	<string name="_bx_forum_acl_action_view_entry"><![CDATA[Просмотреть обсуждение]]></string>
+	<string name="_bx_forum_acl_action_set_thumb"><![CDATA[Назначить обложку обсуждения]]></string>
 	<string name="_bx_forum_acl_action_edit_any_entry"><![CDATA[Редактировать любое обсуждение]]></string>
 	<string name="_bx_forum_acl_action_stick_any_entry"><![CDATA[Закреплять любое обсуждение]]></string>
 	<string name="_bx_forum_acl_action_lock_any_entry"><![CDATA[Блокировать любое обсуждение]]></string>