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

Ticket #3282 - Changes in Albums, Classes, Files, Forum.

AntonLV 5 лет назад
Родитель
Сommit
d73604d798

+ 1 - 0
modules/base/files/classes/BxBaseModFilesFormUpload.php

@@ -73,6 +73,7 @@ class BxBaseModFilesFormUpload extends BxBaseModTextFormEntry
                     $CNF['FIELD_FOR_STORING_FILE_ID'] => $aFile['id'],
                     $CNF['FIELD_TITLE'] => $this->getCleanValue('title-' . $aFile['id']),
                     $CNF['FIELD_AUTHOR'] => bx_get('profile_id') && $this->_oModule->serviceIsAllowedAddContentToProfile(bx_get('profile_id')) ? bx_get('profile_id') : '',
+                    $CNF['FIELD_STATUS_ADMIN'] => !$this->_oModule->_isModerator() && !$this->_oModule->_oConfig->isAutoApproveEnabled() ? BX_BASE_MOD_TEXT_STATUS_PENDING : BX_BASE_MOD_TEXT_STATUS_ACTIVE
                 ), $aFormValues));
             if (!$iContentId)
                 continue;

+ 2 - 0
modules/base/text/classes/BxBaseModTextConfig.php

@@ -9,6 +9,8 @@
  * @{
  */
 
+bx_import('BxDolInformer');
+
 class BxBaseModTextConfig extends BxBaseModGeneralConfig
 {
     protected $_aHtmlIds;

+ 0 - 2
modules/boonex/ads/classes/BxAdsConfig.php

@@ -9,8 +9,6 @@
  * @{
  */
 
-bx_import('BxDolInformer');
-
 class BxAdsConfig extends BxBaseModTextConfig
 {
     protected $_oDb;

+ 9 - 2
modules/boonex/albums/classes/BxAlbumsConfig.php

@@ -9,8 +9,6 @@
  * @{
  */
 
-bx_import('BxDolInformer');
-
 class BxAlbumsConfig extends BxBaseModTextConfig
 {
     function __construct($aModule)
@@ -77,6 +75,7 @@ class BxAlbumsConfig extends BxBaseModTextConfig
             'URL_MANAGE_ADMINISTRATION' => 'page.php?i=albums-administration',
 
             // some params
+            'PARAM_AUTO_APPROVE' => 'bx_albums_enable_auto_approve',
             'PARAM_CHARS_SUMMARY' => 'bx_albums_summary_chars',
             'PARAM_CHARS_SUMMARY_PLAIN' => 'bx_albums_plain_summary_chars',
             'PARAM_NUM_RSS' => 'bx_albums_rss_num',
@@ -152,6 +151,13 @@ class BxAlbumsConfig extends BxBaseModTextConfig
 
             // informer messages
             'INFORMERS' => array (
+                'approving' => array (
+                    'name' => 'bx-albums-approving',
+                    'map' => array (
+                        'pending' => array('msg' => '_bx_albums_txt_msg_status_pending', 'type' => BX_INFORMER_ALERT),
+                        'hidden' => array('msg' => '_bx_albums_txt_msg_status_hidden', 'type' => BX_INFORMER_ERROR),
+                    ),
+                ),
                 'processing' => array (
                     'name' => 'bx_albums-processing',
                     'map' => array (
@@ -181,6 +187,7 @@ class BxAlbumsConfig extends BxBaseModTextConfig
             	'grid_txt_account_manager' => '_bx_albums_grid_txt_account_manager',
                 'filter_item_active' => '_bx_albums_grid_filter_item_title_adm_active',
             	'filter_item_hidden' => '_bx_albums_grid_filter_item_title_adm_hidden',
+                'filter_item_pending' => '_bx_albums_grid_filter_item_title_adm_pending',
             	'filter_item_select_one_filter1' => '_bx_albums_grid_filter_item_title_adm_select_one_filter1',
             	'menu_item_manage_my' => '_bx_albums_menu_item_title_manage_my',
             	'menu_item_manage_all' => '_bx_albums_menu_item_title_manage_all',

+ 4 - 0
modules/boonex/albums/install/langs/en.xml

@@ -7,6 +7,7 @@
 	<string name="_bx_albums_media"><![CDATA[Images]]></string>
 	<string name="_bx_albums_media_cmts"><![CDATA[Images' Comments]]></string>
 
+        <string name="_bx_albums_option_enable_auto_approve"><![CDATA[Auto approve an album after creation]]></string>
 	<string name="_bx_albums_option_summary_chars"><![CDATA[Number of characters in auto-cropped album summary]]></string>
 	<string name="_bx_albums_option_plain_summary_chars"><![CDATA[Number of characters in plain album description when album hasn't thumb]]></string>
 	<string name="_bx_albums_option_per_page_browse"><![CDATA[Number of items per page]]></string>
@@ -239,6 +240,7 @@
 	<string name="_bx_albums_grid_filter_item_title_adm_select_one_filter1"><![CDATA[All Statuses]]></string>
 	<string name="_bx_albums_grid_filter_item_title_adm_active"><![CDATA[Active]]></string>
 	<string name="_bx_albums_grid_filter_item_title_adm_hidden"><![CDATA[Hidden]]></string>
+        <string name="_bx_albums_grid_filter_item_title_adm_pending"><![CDATA[Pending]]></string>
 	<string name="_bx_albums_grid_column_title_adm_active"><![CDATA[Active]]></string>
     <string name="_bx_albums_grid_column_title_adm_title"><![CDATA[Caption]]></string>
     <string name="_bx_albums_grid_column_title_adm_added"><![CDATA[Added]]></string>
@@ -289,6 +291,8 @@
     <string name="_bx_albums_txt_processing_awaiting"><![CDATA[Scheduled for publishing as soon as video conversion is complete.]]></string>
     <string name="_bx_albums_txt_processing_failed"><![CDATA[Album isn't published because video conversion failed, edit video to fix the issue.]]></string>
 
+    <string name="_bx_albums_txt_msg_status_hidden"><![CDATA[This album was hidden.]]></string>
+    <string name="_bx_albums_txt_msg_status_pending"><![CDATA[This album is pending approval.]]></string>
     <string name="_bx_albums_txt_err_cannot_perform_action"><![CDATA[Cannot perform the action. Please report.]]></string>
 
     <string name="_bx_albums_alert_action_medias_added"><![CDATA[add images]]></string>

+ 2 - 0
modules/boonex/albums/install/sql/enable.sql

@@ -10,6 +10,7 @@ VALUES (@iTypeId, 'bx_albums', '_bx_albums', 1);
 SET @iCategId = LAST_INSERT_ID();
 
 INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `check`, `check_error`, `extra`, `order`) VALUES
+('bx_albums_enable_auto_approve', 'on', @iCategId, '_bx_albums_option_enable_auto_approve', 'checkbox', '', '', '', 0),
 ('bx_albums_summary_chars', '700', @iCategId, '_bx_albums_option_summary_chars', 'digit', '', '', '', 1),
 ('bx_albums_plain_summary_chars', '200', @iCategId, '_bx_albums_option_plain_summary_chars', 'digit', '', '', '', 2),
 ('bx_albums_per_page_browse', '12', @iCategId, '_bx_albums_option_per_page_browse', 'digit', '', '', '', 10),
@@ -245,6 +246,7 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('bx_albums_view_actions', 'bx_albums', 'add-images-to-album', '_bx_albums_menu_item_title_system_add_images', '', '', '', '', '', '', '', 0, 2147483647, 1, 0, 10),
 ('bx_albums_view_actions', 'bx_albums', 'edit-album', '_bx_albums_menu_item_title_system_edit_entry', '', '', '', '', '', '', '', 0, 2147483647, 1, 0, 20),
 ('bx_albums_view_actions', 'bx_albums', 'delete-album', '_bx_albums_menu_item_title_system_delete_entry', '', '', '', '', '', '', '', 0, 2147483647, 1, 0, 30),
+('bx_albums_view_actions', 'bx_albums', 'approve', '_sys_menu_item_title_system_va_approve', '_sys_menu_item_title_va_approve', 'javascript:void(0)', 'javascript:bx_approve(this, ''{module_uri}'', {content_id});', '', 'check', '', '', 0, 2147483647, 1, 0, 40),
 ('bx_albums_view_actions', 'bx_albums', 'comment', '_sys_menu_item_title_system_va_comment', '', '', '', '', '', '', '', 0, 2147483647, 0, 0, 200),
 ('bx_albums_view_actions', 'bx_albums', 'view', '_sys_menu_item_title_system_va_view', '', '', '', '', '', '', '', 0, 2147483647, 1, 0, 210),
 ('bx_albums_view_actions', 'bx_albums', 'vote', '_sys_menu_item_title_system_va_vote', '', '', '', '', '', '', '', 0, 2147483647, 0, 0, 220),

+ 3 - 4
modules/boonex/albums/install/sql/install.sql

@@ -1,6 +1,3 @@
-
-SET @sStorageEngine = (SELECT `value` FROM `sys_options` WHERE `name` = 'sys_storage_default');
-
 -- TABLE: entries
 CREATE TABLE IF NOT EXISTS `bx_albums_albums` (
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -26,7 +23,7 @@ CREATE TABLE IF NOT EXISTS `bx_albums_albums` (
   `featured` int(11) NOT NULL default '0',
   `allow_view_to` varchar(16) NOT NULL DEFAULT '3',
   `status` enum('active','awaiting','failed','hidden') NOT NULL DEFAULT 'active',
-  `status_admin` enum('active','hidden') NOT NULL DEFAULT 'active',
+  `status_admin` enum('active','hidden','pending') NOT NULL DEFAULT 'active',
   PRIMARY KEY (`id`),
   FULLTEXT KEY `title_text` (`title`,`text`)
 );
@@ -349,6 +346,8 @@ CREATE TABLE IF NOT EXISTS `bx_albums_scores_media_track` (
 
 
 -- STORAGES & TRANSCODERS
+SET @sStorageEngine = (SELECT `value` FROM `sys_options` WHERE `name` = 'sys_storage_default');
+
 INSERT INTO `sys_objects_storage` (`object`, `engine`, `params`, `token_life`, `cache_control`, `levels`, `table_files`, `ext_mode`, `ext_allow`, `ext_deny`, `quota_size`, `current_size`, `quota_number`, `current_number`, `max_file_size`, `ts`) VALUES
 ('bx_albums_files', @sStorageEngine, '', 360, 2592000, 3, 'bx_albums_files', 'allow-deny', 'jpg,jpeg,jpe,gif,png,avi,flv,mpg,mpeg,wmv,mp4,m4v,mov,qt,divx,xvid,3gp,3g2,webm,mkv,ogv,ogg,rm,rmvb,asf,drc', '', 0, 0, 0, 0, 0, 0),
 ('bx_albums_photos_resized', @sStorageEngine, '', 360, 2592000, 3, 'bx_albums_photos_resized', 'allow-deny', 'jpg,jpeg,jpe,gif,png,avi,flv,mpg,mpeg,wmv,mp4,m4v,mov,qt,divx,xvid,3gp,3g2,webm,mkv,ogv,ogg,rm,rmvb,asf,drc', '', 0, 0, 0, 0, 0, 0);

+ 0 - 2
modules/boonex/classes/classes/BxClssConfig.php

@@ -9,8 +9,6 @@
  * @{
  */
 
-bx_import('BxDolInformer');
-
 class BxClssConfig extends BxBaseModTextConfig
 {
     function __construct($aModule)

+ 4 - 0
modules/boonex/classes/install/langs/en.xml

@@ -5,6 +5,7 @@
     <string name="_bx_classes_cmts"><![CDATA[Classes' Comments]]></string>
     <string name="_bx_classes_reactions"><![CDATA[Classes' Reactions]]></string>
 
+    <string name="_bx_classes_option_enable_auto_approve"><![CDATA[Auto approve a class after creation]]></string>
     <string name="_bx_classes_option_summary_chars"><![CDATA[Number of characters in auto-cropped class summary]]></string>
     <string name="_bx_classes_option_plain_summary_chars"><![CDATA[Number of characters in plain class description when class hasn't thumb]]></string>
     <string name="_bx_classes_option_per_page_browse"><![CDATA[Number of items per page]]></string>
@@ -211,6 +212,7 @@
 	<string name="_bx_classes_grid_filter_item_title_adm_select_one_filter1"><![CDATA[All Statuses]]></string>
 	<string name="_bx_classes_grid_filter_item_title_adm_active"><![CDATA[Active]]></string>
 	<string name="_bx_classes_grid_filter_item_title_adm_hidden"><![CDATA[Hidden]]></string>
+        <string name="_bx_classes_grid_filter_item_title_adm_pending"><![CDATA[Pending]]></string>
 	<string name="_bx_classes_grid_column_title_adm_active"><![CDATA[Active]]></string>
     <string name="_bx_classes_grid_column_title_adm_title"><![CDATA[Title]]></string>
     <string name="_bx_classes_grid_action_title_adm_audit_content"><![CDATA[Audit actions]]></string>
@@ -264,6 +266,8 @@
     <string name="_bx_classes_txt_reorder_modules"><![CDATA[Reorder Modules]]></string>
     <string name="_bx_classes_txt_reorder_classes"><![CDATA[Reorder Classes]]></string>
 
+    <string name="_bx_classes_txt_msg_status_hidden"><![CDATA[This class was hidden.]]></string>
+    <string name="_bx_classes_txt_msg_status_pending"><![CDATA[This class is pending approval.]]></string>
     <string name="_bx_classes_txt_err_cannot_perform_action"><![CDATA[Cannot perform action. Please report.]]></string>
     <string name="_bx_classes_txt_err_cant_add_class_without_context"><![CDATA[Class can be added into context only]]></string>
     <string name="_bx_classes_txt_err_cant_add_class_without_modules"><![CDATA[Please create classes module first]]></string>

+ 2 - 0
modules/boonex/classes/install/sql/enable.sql

@@ -11,6 +11,7 @@ VALUES (@iTypeId, 'bx_classes', '_bx_classes', 1);
 SET @iCategId = LAST_INSERT_ID();
 
 INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `check`, `check_error`, `extra`, `order`) VALUES
+('bx_classes_enable_auto_approve', 'on', @iCategId, '_bx_classes_option_enable_auto_approve', 'checkbox', '', '', '', 0),
 ('bx_classes_summary_chars', '700', @iCategId, '_bx_classes_option_summary_chars', 'digit', '', '', '', 1),
 ('bx_classes_plain_summary_chars', '240', @iCategId, '_bx_classes_option_plain_summary_chars', 'digit', '', '', '', 2),
 ('bx_classes_per_page_browse', '12', @iCategId, '_bx_classes_option_per_page_browse', 'digit', '', '', '', 10),
@@ -158,6 +159,7 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('bx_classes_view_actions', 'bx_classes', 'complete-class', '', '_bx_classes_menu_item_title_complete_class', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 1),
 ('bx_classes_view_actions', 'bx_classes', 'edit-class', '_bx_classes_menu_item_title_system_edit_entry', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 10),
 ('bx_classes_view_actions', 'bx_classes', 'delete-class', '_bx_classes_menu_item_title_system_delete_entry', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 20),
+('bx_classes_view_actions', 'bx_classes', 'approve', '_sys_menu_item_title_system_va_approve', '_sys_menu_item_title_va_approve', 'javascript:void(0)', 'javascript:bx_approve(this, ''{module_uri}'', {content_id});', '', 'check', '', '', 0, 2147483647, '', 1, 0, 30),
 ('bx_classes_view_actions', 'bx_classes', 'set-badges', '_sys_menu_item_title_system_set_badges', '_sys_menu_item_title_set_badges', 'javascript:void(0)', 'bx_menu_popup(''sys_set_badges'', window, {}, {module: ''bx_classes'', content_id: {content_id}});', '', 'check-circle', '', '', 0, 2147483647, 'a:2:{s:6:"module";s:10:"bx_classes";s:6:"method";s:19:"is_badges_avaliable";}', 1, 0, 40),
 ('bx_classes_view_actions', 'bx_classes', 'comment', '_sys_menu_item_title_system_va_comment', '', '', '', '', '', '', '', 0, 2147483647, '', 0, 0, 200),
 ('bx_classes_view_actions', 'bx_classes', 'view', '_sys_menu_item_title_system_va_view', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 210),

+ 1 - 1
modules/boonex/classes/install/sql/install.sql

@@ -31,7 +31,7 @@ CREATE TABLE IF NOT EXISTS `bx_classes_classes` (
   `featured` int(11) NOT NULL default '0',
   `allow_view_to` varchar(16) NOT NULL DEFAULT '3',
   `status` enum('active','awaiting','failed','hidden') NOT NULL DEFAULT 'active',
-  `status_admin` enum('active','hidden') NOT NULL DEFAULT 'active',
+  `status_admin` enum('active','hidden','pending') NOT NULL DEFAULT 'active',
   PRIMARY KEY (`id`),
   FULLTEXT KEY `title_text` (`title`,`text`)
 );

+ 13 - 0
modules/boonex/files/classes/BxFilesConfig.php

@@ -78,6 +78,7 @@ class BxFilesConfig extends BxBaseModTextConfig
             'URL_MANAGE_ADMINISTRATION' => 'page.php?i=files-administration',
 
             // some params
+            'PARAM_AUTO_APPROVE' => 'bx_files_enable_auto_approve',
             'PARAM_CHARS_SUMMARY' => 'bx_files_summary_chars',
             'PARAM_CHARS_SUMMARY_PLAIN' => '',
             'PARAM_NUM_RSS' => 'bx_files_rss_num',
@@ -131,6 +132,17 @@ class BxFilesConfig extends BxBaseModTextConfig
                 'bx_files_view' => $aMenuItems2Methods,
             ),
 
+            // informer messages
+            'INFORMERS' => array (
+                'approving' => array (
+                    'name' => 'bx-files-approving',
+                    'map' => array (
+                        'pending' => array('msg' => '_bx_files_txt_msg_status_pending', 'type' => BX_INFORMER_ALERT),
+                        'hidden' => array('msg' => '_bx_files_txt_msg_status_hidden', 'type' => BX_INFORMER_ERROR),
+                    ),
+                ),
+            ),
+
             // some language keys
             'T' => array (
                 'txt_sample_single' => '_bx_files_txt_sample_single',
@@ -146,6 +158,7 @@ class BxFilesConfig extends BxBaseModTextConfig
             	'grid_txt_account_manager' => '_bx_files_grid_txt_account_manager',
                 'filter_item_active' => '_bx_files_grid_filter_item_title_adm_active',
             	'filter_item_hidden' => '_bx_files_grid_filter_item_title_adm_hidden',
+                'filter_item_pending' => '_bx_files_grid_filter_item_title_adm_pending',
             	'filter_item_select_one_filter1' => '_bx_files_grid_filter_item_title_adm_select_one_filter1',
             	'menu_item_manage_my' => '_bx_files_menu_item_title_manage_my',
             	'menu_item_manage_all' => '_bx_files_menu_item_title_manage_all',

+ 12 - 8
modules/boonex/files/install/langs/en.xml

@@ -1,16 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources name="en" flag="gb" title="English">
 
-	<string name="_bx_files"><![CDATA[Files]]></string>
-	<string name="_bx_files_cmts"><![CDATA[Files' Comments]]></string>
-        <string name="_bx_files_reactions"><![CDATA[Files' Reactions]]></string>
+    <string name="_bx_files"><![CDATA[Files]]></string>
+    <string name="_bx_files_cmts"><![CDATA[Files' Comments]]></string>
+    <string name="_bx_files_reactions"><![CDATA[Files' Reactions]]></string>
 
-	<string name="_bx_files_option_summary_chars"><![CDATA[Number of characters in auto-cropped file summary]]></string>
-	<string name="_bx_files_option_per_page_browse"><![CDATA[Number of items per page]]></string>
+    <string name="_bx_files_option_enable_auto_approve"><![CDATA[Auto approve a file after creation]]></string>
+    <string name="_bx_files_option_summary_chars"><![CDATA[Number of characters in auto-cropped file summary]]></string>
+    <string name="_bx_files_option_per_page_browse"><![CDATA[Number of items per page]]></string>
     <string name="_bx_files_option_per_page_profile"><![CDATA[Number of items on profile/group page]]></string>
-	<string name="_bx_files_option_rss_num"><![CDATA[Number of items in RSS feed]]></string>
-	<string name="_bx_files_option_searchable_fields"><![CDATA[Searchable fields for keyword search]]></string>
-  <string name="_bx_files_option_per_page_for_favorites_lists"><![CDATA[Number of favorite lists per page]]></string>
+    <string name="_bx_files_option_rss_num"><![CDATA[Number of items in RSS feed]]></string>
+    <string name="_bx_files_option_searchable_fields"><![CDATA[Searchable fields for keyword search]]></string>
+    <string name="_bx_files_option_per_page_for_favorites_lists"><![CDATA[Number of favorite lists per page]]></string>
 
 	<string name="_bx_files_form_upload"><![CDATA[Files Upload]]></string>
 	<string name="_bx_files_form_entry"><![CDATA[Files]]></string>
@@ -202,6 +203,7 @@
 	<string name="_bx_files_grid_filter_item_title_adm_select_one_filter1"><![CDATA[All Statuses]]></string>
 	<string name="_bx_files_grid_filter_item_title_adm_active"><![CDATA[Active]]></string>
 	<string name="_bx_files_grid_filter_item_title_adm_hidden"><![CDATA[Hidden]]></string>
+        <string name="_bx_files_grid_filter_item_title_adm_pending"><![CDATA[Pending]]></string>
 	<string name="_bx_files_grid_column_title_adm_active"><![CDATA[Active]]></string>
     <string name="_bx_files_grid_column_title_adm_title"><![CDATA[Title]]></string>
     <string name="_bx_files_grid_column_title_adm_added"><![CDATA[Added]]></string>
@@ -276,6 +278,8 @@
     <string name="_bx_files_toolbar_sorting_type"><![CDATA[Order by Type]]></string>
     <string name="_bx_files_toolbar_sorting_author"><![CDATA[Order by Author]]></string>
 
+    <string name="_bx_files_txt_msg_status_hidden"><![CDATA[This file was hidden.]]></string>
+    <string name="_bx_files_txt_msg_status_pending"><![CDATA[This file is pending approval.]]></string>
     <string name="_bx_files_txt_error"><![CDATA[File not found]]></string>
     <string name="_bx_files_txt_permission_denied"><![CDATA[Permission denied]]></string>
     <string name="_bx_files_txt_upload"><![CDATA[Upload]]></string>

+ 2 - 0
modules/boonex/files/install/sql/enable.sql

@@ -11,6 +11,7 @@ VALUES (@iTypeId, 'bx_files', '_bx_files', 1);
 SET @iCategId = LAST_INSERT_ID();
 
 INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `check`, `check_error`, `extra`, `order`) VALUES
+('bx_files_enable_auto_approve', 'on', @iCategId, '_bx_files_option_enable_auto_approve', 'checkbox', '', '', '', 0),
 ('bx_files_summary_chars', '700', @iCategId, '_bx_files_option_summary_chars', 'digit', '', '', '', 1),
 ('bx_files_show_link_to_preview', '', @iCategId, '_bx_files_option_link_to_preview', 'checkbox', '', '', '', 5),
 ('bx_files_max_nesting_level', '3', @iCategId, '_bx_files_option_max_nesting_level', 'digit', '', '', '', 6),
@@ -239,6 +240,7 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('bx_files_view_actions', 'bx_files', 'download-file', '_bx_files_menu_item_title_system_download_file', '', '', '', '', '', '', '', 0, 2147483647, 1, 0, 10),
 ('bx_files_view_actions', 'bx_files', 'edit-file', '_bx_files_menu_item_title_system_edit_entry', '', '', '', '', '', '', '', 0, 2147483647, 1, 0, 20),
 ('bx_files_view_actions', 'bx_files', 'delete-file', '_bx_files_menu_item_title_system_delete_entry', '', '', '', '', '', '', '', 0, 2147483647, 1, 0, 30), 
+('bx_files_view_actions', 'bx_files', 'approve', '_sys_menu_item_title_system_va_approve', '_sys_menu_item_title_va_approve', 'javascript:void(0)', 'javascript:bx_approve(this, ''{module_uri}'', {content_id});', '', 'check', '', '', 0, 2147483647, 1, 0, 40),
 ('bx_files_view_actions', 'bx_files', 'comment', '_sys_menu_item_title_system_va_comment', '', '', '', '', '', '', '', 0, 2147483647, 0, 0, 200),
 ('bx_files_view_actions', 'bx_files', 'view', '_sys_menu_item_title_system_va_view', '', '', '', '', '', '', '', 0, 2147483647, 1, 0, 210),
 ('bx_files_view_actions', 'bx_files', 'vote', '_sys_menu_item_title_system_va_vote', '', '', '', '', '', '', '', 0, 2147483647, 0, 0, 220),

+ 1 - 1
modules/boonex/files/install/sql/install.sql

@@ -29,7 +29,7 @@ CREATE TABLE IF NOT EXISTS `bx_files_main` (
   `featured` int(11) NOT NULL default '0',
   `allow_view_to` varchar(16) NOT NULL DEFAULT '3',
   `status` enum('active','hidden') NOT NULL DEFAULT 'active',
-  `status_admin` enum('active','hidden') NOT NULL DEFAULT 'active',
+  `status_admin` enum('active','hidden','pending') NOT NULL DEFAULT 'active',
   `type` enum('file', 'folder') NOT NULL DEFAULT 'file',
   `parent_folder_id` int(10) unsigned NOT NULL DEFAULT 0,
   PRIMARY KEY (`id`),

+ 13 - 0
modules/boonex/forum/classes/BxForumConfig.php

@@ -97,6 +97,7 @@ class BxForumConfig extends BxBaseModTextConfig
             'URL_MANAGE_ADMINISTRATION' => 'page.php?i=discussions-administration',
 
             // some params
+            'PARAM_AUTO_APPROVE' => 'bx_forum_enable_auto_approve',
             'PARAM_CHARS_SUMMARY' => 'bx_forum_summary_chars',
             'PARAM_CHARS_SUMMARY_PLAIN' => 'bx_forum_plain_summary_chars',
             'PARAM_NUM_RSS' => 'bx_forum_rss_num',
@@ -177,6 +178,17 @@ class BxForumConfig extends BxBaseModTextConfig
                 'bx_forum_view_more' => $aMenuItems2Methods,
             ),
 
+            // informer messages
+            'INFORMERS' => array (
+                'approving' => array (
+                    'name' => 'bx-forum-approving',
+                    'map' => array (
+                        'pending' => array('msg' => '_bx_forum_txt_msg_status_pending', 'type' => BX_INFORMER_ALERT),
+                        'hidden' => array('msg' => '_bx_forum_txt_msg_status_hidden', 'type' => BX_INFORMER_ERROR),
+                    ),
+                ),
+            ),
+
             // some language keys
             'T' => array (
                 'txt_sample_single' => '_bx_forum_txt_sample_single',
@@ -191,6 +203,7 @@ class BxForumConfig extends BxBaseModTextConfig
             	'grid_txt_account_manager' => '_bx_forum_grid_txt_account_manager',
             	'filter_item_active' => '_bx_forum_grid_filter_item_title_adm_active',
             	'filter_item_hidden' => '_bx_forum_grid_filter_item_title_adm_hidden',
+                'filter_item_pending' => '_bx_forum_grid_filter_item_title_adm_pending',
             	'filter_item_select_one_filter1' => '_bx_forum_grid_filter_item_title_adm_select_one_filter1',
             	'menu_item_manage_my' => '_bx_forum_menu_item_title_manage_my',
             	'menu_item_manage_all' => '_bx_forum_menu_item_title_manage_all',

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

@@ -5,6 +5,7 @@
     <string name="_bx_forum_cmts"><![CDATA[Discussions's Comments]]></string>
     <string name="_bx_forum_reactions"><![CDATA[Discussions's Reactions]]></string>
 
+    <string name="_bx_forum_option_enable_auto_approve"><![CDATA[Auto approve a discussion after creation]]></string>
     <string name="_bx_forum_option_summary_chars"><![CDATA[Number of characters in auto-cropped discussion summary]]></string>
     <string name="_bx_forum_option_plain_summary_chars"><![CDATA[Number of characters in plain discussion description when discussion hasn't thumb]]></string>
     <string name="_bx_forum_option_per_page_browse"><![CDATA[Number of items per page]]></string>
@@ -305,6 +306,7 @@
     <string name="_bx_forum_grid_filter_item_title_adm_select_one_filter1"><![CDATA[All Statuses]]></string>
     <string name="_bx_forum_grid_filter_item_title_adm_active"><![CDATA[Active]]></string>
     <string name="_bx_forum_grid_filter_item_title_adm_hidden"><![CDATA[Hidden]]></string>
+    <string name="_bx_forum_grid_filter_item_title_adm_pending"><![CDATA[Pending]]></string>
     <string name="_bx_forum_grid_column_title_adm_active"><![CDATA[Active]]></string>
     <string name="_bx_forum_grid_column_title_adm_title"><![CDATA[Title]]></string>
     <string name="_bx_forum_grid_column_title_adm_added"><![CDATA[Added]]></string>
@@ -340,6 +342,8 @@
     <string name="_bx_forum_search_extended"><![CDATA[Discussions Search]]></string>
     <string name="_bx_forum_search_extended_cmts"><![CDATA[Discussions Comments Search]]></string>
 
+    <string name="_bx_forum_txt_msg_status_hidden"><![CDATA[This discussion was hidden.]]></string>
+    <string name="_bx_forum_txt_msg_status_pending"><![CDATA[This discussion is pending approval.]]></string>
     <string name="_bx_forum_err_not_found"><![CDATA[Discussion wasn't found.]]></string>
     <string name="_bx_forum_more"><![CDATA[{0} more]]></string>
     <string name="_bx_forum_participant_author"><![CDATA[author]]></string>

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

@@ -12,6 +12,7 @@ VALUES (@iTypeId, @sName, '_bx_forum', 1);
 SET @iCategId = LAST_INSERT_ID();
 
 INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `check`, `check_error`, `extra`, `order`) VALUES
+('bx_forum_enable_auto_approve', 'on', @iCategId, '_bx_forum_option_enable_auto_approve', 'checkbox', '', '', '', 0),
 ('bx_forum_summary_chars', '700', @iCategId, '_bx_forum_option_summary_chars', 'digit', '', '', '', 1),
 ('bx_forum_plain_summary_chars', '240', @iCategId, '_bx_forum_option_plain_summary_chars', 'digit', '', '', '', 2),
 ('bx_forum_per_page_browse', '12', @iCategId, '_bx_forum_option_per_page_browse', 'digit', '', '', '', 10),
@@ -290,6 +291,7 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('bx_forum_view_actions', @sName, 'unhide-discussion', '_bx_forum_menu_item_title_system_unhide_entry', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 80),
 ('bx_forum_view_actions', @sName, 'edit-discussion', '_bx_forum_menu_item_title_system_edit_entry', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 90),
 ('bx_forum_view_actions', @sName, 'delete-discussion', '_bx_forum_menu_item_title_system_delete_entry', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 100),
+('bx_forum_view_actions', @sName, 'approve', '_sys_menu_item_title_system_va_approve', '_sys_menu_item_title_va_approve', 'javascript:void(0)', 'javascript:bx_approve(this, ''{module_uri}'', {content_id});', '', 'check', '', '', 0, 2147483647, '', 1, 0, 100),
 ('bx_forum_view_actions', @sName, 'set-badges', '_sys_menu_item_title_system_set_badges', '_sys_menu_item_title_set_badges', 'javascript:void(0)', 'bx_menu_popup(''sys_set_badges'', window, {}, {module: ''bx_forum'', content_id: {content_id}});', '', 'check-circle', '', '', 0, 2147483647, 'a:2:{s:6:"module";s:8:"bx_forum";s:6:"method";s:19:"is_badges_avaliable";}', 1, 0, 110),
 ('bx_forum_view_actions', @sName, 'comment', '_sys_menu_item_title_system_va_comment', '', '', '', '', '', '', '', 0, 2147483647, '', 0, 0, 200),
 ('bx_forum_view_actions', @sName, 'view', '_sys_menu_item_title_system_va_view', '', '', '', '', '', '', '', 0, 2147483647, '', 1, 0, 210),

+ 1 - 1
modules/boonex/forum/install/sql/install.sql

@@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS `bx_forum_discussions` (
   `lock` tinyint(4) NOT NULL DEFAULT '0',
   `allow_view_to` varchar(16) NOT NULL DEFAULT '3',
   `status` enum('active','hidden') NOT NULL DEFAULT 'active',
-  `status_admin` enum('active','hidden') NOT NULL DEFAULT 'active',
+  `status_admin` enum('active','hidden','pending') NOT NULL DEFAULT 'active',
   PRIMARY KEY (`id`),
   FULLTEXT KEY `title_text` (`title`,`text`,`text_comments`),
   KEY `lr_timestamp` (`lr_timestamp`)

+ 5 - 8
modules/boonex/posts/classes/BxPostsConfig.php

@@ -9,8 +9,6 @@
  * @{
  */
 
-bx_import('BxDolInformer');
-
 class BxPostsConfig extends BxBaseModTextConfig
 {
     function __construct($aModule)
@@ -62,11 +60,6 @@ class BxPostsConfig extends BxBaseModTextConfig
             'FIELD_DISABLE_COMMENTS' => 'disable_comments',
             'FIELDS_WITH_KEYWORDS' => 'auto', // can be 'auto', array of fields or comma separated string of field names, works only when OBJECT_METATAGS is specified
             'FIELDS_DELAYED_PROCESSING' => 'videos', // can be array of fields or comma separated string of field names
-
-             // some params
-            'PARAM_MULTICAT_ENABLED' => true,
-            'PARAM_MULTICAT_AUTO_ACTIVATION_FOR_CATEGORIES' => 'bx_posts_auto_activation_for_categories',
-            'PARAM_PER_PAGE_FOR_FAVORITES_LISTS' => 'bx_posts_per_page_for_favorites_lists',
             
             // page URIs
             'URI_VIEW_ENTRY' => 'view-post',
@@ -91,6 +84,10 @@ class BxPostsConfig extends BxBaseModTextConfig
             'PARAM_NUM_RSS' => 'bx_posts_rss_num',
             'PARAM_SEARCHABLE_FIELDS' => 'bx_posts_searchable_fields',
             'PARAM_PER_PAGE_BROWSE_SHOWCASE' => 'bx_posts_per_page_browse_showcase',
+            'PARAM_PER_PAGE_FOR_FAVORITES_LISTS' => 'bx_posts_per_page_for_favorites_lists',
+
+            'PARAM_MULTICAT_ENABLED' => true,
+            'PARAM_MULTICAT_AUTO_ACTIVATION_FOR_CATEGORIES' => 'bx_posts_auto_activation_for_categories',
 
             // objects
             'OBJECT_STORAGE' => 'bx_posts_covers',
@@ -162,7 +159,7 @@ class BxPostsConfig extends BxBaseModTextConfig
             // informer messages
             'INFORMERS' => array (
                 'approving' => array (
-                    'name' => 'bx-ads-approving',
+                    'name' => 'bx-posts-approving',
                     'map' => array (
                         'pending' => array('msg' => '_bx_posts_txt_msg_status_pending', 'type' => BX_INFORMER_ALERT),
                         'hidden' => array('msg' => '_bx_posts_txt_msg_status_hidden', 'type' => BX_INFORMER_ERROR),

+ 4 - 0
modules/boonex/russian/data/langs/bx_albums/ru.xml

@@ -7,6 +7,7 @@
 	<string name="_bx_albums_media"><![CDATA[Изображения]]></string>
 	<string name="_bx_albums_media_cmts"><![CDATA[Комментарии к изображениям]]></string>
 
+        <string name="_bx_posts_option_enable_auto_approve"><![CDATA[Автоматически активировать альбом после создания]]></string>
 	<string name="_bx_albums_option_summary_chars"><![CDATA[Количество символов в автогенерируемой сводке к альбомам]]></string>
 	<string name="_bx_albums_option_plain_summary_chars"><![CDATA[Количество символов в описании альбома при отсутствующей картинке альбома]]></string>
 	<string name="_bx_albums_option_per_page_browse"><![CDATA[Количество элементов на странице]]></string>
@@ -236,6 +237,7 @@
 	<string name="_bx_albums_grid_filter_item_title_adm_select_one_filter1"><![CDATA[Все статусы]]></string>
 	<string name="_bx_albums_grid_filter_item_title_adm_active"><![CDATA[Активный]]></string>
 	<string name="_bx_albums_grid_filter_item_title_adm_hidden"><![CDATA[Спрятанный]]></string>
+        <string name="_bx_albums_grid_filter_item_title_adm_pending"><![CDATA[В ожидании]]></string>
 	<string name="_bx_albums_grid_column_title_adm_active"><![CDATA[Активный]]></string>
     <string name="_bx_albums_grid_column_title_adm_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_albums_grid_column_title_adm_added"><![CDATA[Добавлен]]></string>
@@ -286,6 +288,8 @@
     <string name="_bx_albums_txt_processing_awaiting"><![CDATA[Альбом будет опубликован как только сконвертируется видео.]]></string>
     <string name="_bx_albums_txt_processing_failed"><![CDATA[Альбом не был опубликован, тк произошла ошибка при конвертации видео. Обновите видео, чтобы решить проблему.]]></string>
 
+    <string name="_bx_albums_txt_msg_status_hidden"><![CDATA[Данный альбом был скрыт.]]></string>
+    <string name="_bx_albums_txt_msg_status_pending"><![CDATA[Данный альбом ожидает утверждения.]]></string>
     <string name="_bx_albums_txt_err_cannot_perform_action"><![CDATA[Невозможно выполнить действие. Пожалуйста, оповестите нас об этой проблеме.]]></string>
 
     <string name="_bx_albums_alert_action_medias_added"><![CDATA[добавить изображения]]></string>

+ 4 - 0
modules/boonex/russian/data/langs/bx_classes/ru.xml

@@ -4,6 +4,7 @@
   <string name="_bx_classes_cmts"><![CDATA[Классы - Комментарии]]></string>
   <string name="_bx_classes_reactions"><![CDATA[Классы Реакции]]></string>
 
+  <string name="_bx_classes_option_enable_auto_approve"><![CDATA[Автоматически активировать класс после создания]]></string>
   <string name="_bx_classes_option_summary_chars"><![CDATA[Количество символов в автогенерируемой сводке к публикациям]]></string>
   <string name="_bx_classes_option_plain_summary_chars"><![CDATA[Количество символов в описании публикации при отсутствующей картинке публикации]]></string>
   <string name="_bx_classes_option_per_page_browse"><![CDATA[Количество элементов на странице]]></string>
@@ -210,6 +211,7 @@
   <string name="_bx_classes_grid_filter_item_title_adm_select_one_filter1"><![CDATA[Все статусы]]></string>
   <string name="_bx_classes_grid_filter_item_title_adm_active"><![CDATA[Активные]]></string>
   <string name="_bx_classes_grid_filter_item_title_adm_hidden"><![CDATA[Скрытые]]></string>
+  <string name="_bx_classes_grid_filter_item_title_adm_pending"><![CDATA[В ожидании]]></string>
   <string name="_bx_classes_grid_column_title_adm_active"><![CDATA[Активные]]></string>
   <string name="_bx_classes_grid_column_title_adm_title"><![CDATA[Заголовок]]></string>
   <string name="_bx_classes_grid_action_title_adm_audit_content"><![CDATA[Аудит действий]]></string>
@@ -263,6 +265,8 @@
   <string name="_bx_classes_txt_reorder_modules"><![CDATA[Заново открыть модули]]></string>
   <string name="_bx_classes_txt_reorder_classes"><![CDATA[Заново открыть классы]]></string>
 
+  <string name="_bx_classes_txt_msg_status_hidden"><![CDATA[Данный класс был скрыт.]]></string>
+  <string name="_bx_classes_txt_msg_status_pending"><![CDATA[Данный класс ожидает утверждения.]]></string>
   <string name="_bx_classes_txt_err_cannot_perform_action"><![CDATA[Невозможно выполнить действие. Пожалуйста, оповестите нас об этой проблеме.]]></string>
   <string name="_bx_classes_txt_err_cant_add_class_without_context"><![CDATA[Класс может быть добавлен только в контекст]]></string>
   <string name="_bx_classes_txt_err_cant_add_class_without_modules"><![CDATA[Пожалуйста, сначала создайте модуль класса]]></string>

+ 12 - 8
modules/boonex/russian/data/langs/bx_files/ru.xml

@@ -1,16 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources name="ru" flag="ru" title="Russian">
 
-	<string name="_bx_files"><![CDATA[Файлы]]></string>
-	<string name="_bx_files_cmts"><![CDATA[Комментарии к файлам]]></string>
-        <string name="_bx_files_reactions"><![CDATA[Реакции к файлам]]></string>
+    <string name="_bx_files"><![CDATA[Файлы]]></string>
+    <string name="_bx_files_cmts"><![CDATA[Комментарии к файлам]]></string>
+    <string name="_bx_files_reactions"><![CDATA[Реакции к файлам]]></string>
 
-	<string name="_bx_files_option_summary_chars"><![CDATA[Количество символов в автоматическом описании к файлу]]></string>
-	<string name="_bx_files_option_per_page_browse"><![CDATA[Количество файлов на странице]]></string>
+    <string name="_bx_posts_option_enable_auto_approve"><![CDATA[Автоматически активировать файл после создания]]></string>
+    <string name="_bx_files_option_summary_chars"><![CDATA[Количество символов в автоматическом описании к файлу]]></string>
+    <string name="_bx_files_option_per_page_browse"><![CDATA[Количество файлов на странице]]></string>
     <string name="_bx_files_option_per_page_profile"><![CDATA[Количество файлов на странице профайла]]></string>
-	<string name="_bx_files_option_rss_num"><![CDATA[Количество файлов в RSS]]></string>
-	<string name="_bx_files_option_searchable_fields"><![CDATA[Поля для поиска по ключевому слову]]></string>
-  <string name="_bx_files_option_per_page_for_favorites_lists"><![CDATA[Количество списков избранного на странице]]></string>
+    <string name="_bx_files_option_rss_num"><![CDATA[Количество файлов в RSS]]></string>
+    <string name="_bx_files_option_searchable_fields"><![CDATA[Поля для поиска по ключевому слову]]></string>
+    <string name="_bx_files_option_per_page_for_favorites_lists"><![CDATA[Количество списков избранного на странице]]></string>
   
 	<string name="_bx_files_form_upload"><![CDATA[Загрузка файлов]]></string>
 	<string name="_bx_files_form_entry"><![CDATA[Файлы]]></string>
@@ -200,6 +201,7 @@
 	<string name="_bx_files_grid_filter_item_title_adm_select_one_filter1"><![CDATA[Все статусы]]></string>
 	<string name="_bx_files_grid_filter_item_title_adm_active"><![CDATA[Активные]]></string>
 	<string name="_bx_files_grid_filter_item_title_adm_hidden"><![CDATA[Спрятанные]]></string>
+        <string name="_bx_posts_grid_filter_item_title_adm_pending"><![CDATA[В ожидании]]></string>
 	<string name="_bx_files_grid_column_title_adm_active"><![CDATA[Активный]]></string>
     <string name="_bx_files_grid_column_title_adm_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_files_grid_column_title_adm_added"><![CDATA[Добавлено]]></string>
@@ -274,6 +276,8 @@
     <string name="_bx_files_toolbar_sorting_type"><![CDATA[Сортировать по типу]]></string>
     <string name="_bx_files_toolbar_sorting_author"><![CDATA[Сортировать по автору]]></string>
 
+    <string name="_bx_posts_txt_msg_status_hidden"><![CDATA[Данный файл был скрыт.]]></string>
+    <string name="_bx_posts_txt_msg_status_pending"><![CDATA[Данный файл ожидает утверждения.]]></string>
     <string name="_bx_files_txt_error"><![CDATA[Файл не наден]]></string>
     <string name="_bx_files_txt_permission_denied"><![CDATA[Доступ запрещен]]></string>
     <string name="_bx_files_txt_upload"><![CDATA[Загрузить]]></string>

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

@@ -5,6 +5,7 @@
     <string name="_bx_forum_cmts"><![CDATA[Обсуждения - Комментарии]]></string>
     <string name="_bx_forum_reactions"><![CDATA[Обсуждения - Реакции]]></string>
 
+    <string name="_bx_forum_option_enable_auto_approve"><![CDATA[Автоматически активировать обсуждение после создания]]></string>
     <string name="_bx_forum_option_summary_chars"><![CDATA[Количество символов в автогенерируемой сводке к обсуждению]]></string>
     <string name="_bx_forum_option_plain_summary_chars"><![CDATA[Количество символов в описании обсуждения при отсутствующей картинке обсуждения]]></string>
     <string name="_bx_forum_option_per_page_browse"><![CDATA[Количество элементов на странице]]></string>
@@ -302,6 +303,7 @@
     <string name="_bx_forum_grid_filter_item_title_adm_select_one_filter1"><![CDATA[Все статусы]]></string>
     <string name="_bx_forum_grid_filter_item_title_adm_active"><![CDATA[Активные]]></string>
     <string name="_bx_forum_grid_filter_item_title_adm_hidden"><![CDATA[Спрятанные]]></string>
+    <string name="_bx_forum_grid_filter_item_title_adm_pending"><![CDATA[В ожидании]]></string>
     <string name="_bx_forum_grid_column_title_adm_active"><![CDATA[Активные]]></string>
     <string name="_bx_forum_grid_column_title_adm_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_forum_grid_column_title_adm_added"><![CDATA[Добавленные]]></string>
@@ -337,6 +339,8 @@
     <string name="_bx_forum_search_extended"><![CDATA[Поиск обсуждений]]></string>
     <string name="_bx_forum_search_extended_cmts"><![CDATA[Поиск комментариев к обсуждениям]]></string>
 
+    <string name="_bx_forum_txt_msg_status_hidden"><![CDATA[Данное обсуждение было скрыто.]]></string>
+    <string name="_bx_forum_txt_msg_status_pending"><![CDATA[Данное обсуждение ожидает утверждения.]]></string>
     <string name="_bx_forum_err_not_found"><![CDATA[Обсуждение не найдено.]]></string>
     <string name="_bx_forum_more"><![CDATA[{0} ещё]]></string>
     <string name="_bx_forum_participant_author"><![CDATA[автор]]></string>