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

Ticket #1694 - Changes in Groups modules.

AntonLV 7 лет назад
Родитель
Сommit
811c3dcd32

+ 3 - 1
modules/boonex/events/classes/BxEventsConfig.php

@@ -53,6 +53,7 @@ class BxEventsConfig extends BxBaseModProfileConfig
             'FIELD_JOIN_CONFIRMATION' => 'join_confirmation',
         	'FIELD_REMINDER' => 'reminder',
             'FIELD_ALLOW_VIEW_TO' => 'allow_view_to',
+            'FIELD_ALLOW_POST_TO' => 'allow_post_to',
             'FIELD_VIEWS' => 'views',
             'FIELD_COMMENTS' => 'comments',
             'FIELDS_QUICK_SEARCH' => array('event_name'),
@@ -118,8 +119,9 @@ class BxEventsConfig extends BxBaseModProfileConfig
             'OBJECT_PAGE_VIEW_ENTRY_CLOSED' => 'bx_events_view_profile_closed',
             'OBJECT_PRIVACY_VIEW' => 'bx_events_allow_view_to',
             'OBJECT_PRIVACY_VIEW_NOTIFICATION_EVENT' => 'bx_events_allow_view_notification_to',
+            'OBJECT_PRIVACY_POST' => 'bx_events_allow_post_to',
             'OBJECT_GRID_ADMINISTRATION' => 'bx_events_administration',
-        	'OBJECT_GRID_COMMON' => 'bx_events_common',
+            'OBJECT_GRID_COMMON' => 'bx_events_common',
             'OBJECT_GRID_CONNECTIONS' => 'bx_events_fans',
             'OBJECT_CONNECTIONS' => 'bx_events_fans',
             'OBJECT_UPLOADERS_COVER' => array('bx_events_cover_crop'),

+ 22 - 0
modules/boonex/events/classes/BxEventsPrivacyPost.php

@@ -0,0 +1,22 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Events Events
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+class BxEventsPrivacyPost extends BxBaseModGroupsPrivacyPost
+{
+    public function __construct($aOptions, $oTemplate = false)
+    {
+        $this->_sModule = 'bx_events';
+
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+
+/** @} */

+ 4 - 2
modules/boonex/events/install/langs/en.xml

@@ -23,9 +23,11 @@
 	<string name="_bx_events_form_profile_input_sys_do_submit"><![CDATA[Submit]]></string>
     <string name="_bx_events_form_profile_input_sys_join_confirm"><![CDATA[Join confirmation]]></string>
     <string name="_bx_events_form_profile_input_join_confirm"><![CDATA[Join confirmation]]></string>
-    <string name="_bx_events_form_profile_input_sys_allow_view_to"><![CDATA[Privacy]]></string>
-    <string name="_bx_events_form_profile_input_allow_view_to"><![CDATA[Privacy]]></string>
+    <string name="_bx_events_form_profile_input_sys_allow_view_to"><![CDATA[Visible to]]></string>
+    <string name="_bx_events_form_profile_input_allow_view_to"><![CDATA[Visible to]]></string>
     <string name="_bx_events_form_profile_input_allow_view_to_desc"><![CDATA[Closed - anyone can find the event and see who's in it, only members can see posts. Secret - only members can find the event and see posts.]]></string>
+    <string name="_bx_events_form_profile_input_sys_allow_post_to"><![CDATA[Who can post]]></string>
+    <string name="_bx_events_form_profile_input_allow_post_to"><![CDATA[Who can post]]></string>
     <string name="_bx_events_form_profile_input_sys_initial_members"><![CDATA[Invite Members]]></string>
     <string name="_bx_events_form_profile_input_initial_members"><![CDATA[Invite Members]]></string>
     <string name="_bx_events_form_profile_input_sys_event_name"><![CDATA[Event Name]]></string>

+ 2 - 1
modules/boonex/events/install/sql/enable.sql

@@ -551,7 +551,8 @@ INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
 -- PRIVACY 
 INSERT INTO `sys_objects_privacy` (`object`, `module`, `action`, `title`, `default_group`, `spaces`, `table`, `table_field_id`, `table_field_author`, `override_class_name`, `override_class_file`) VALUES
 ('bx_events_allow_view_to', 'bx_events', 'view', '_bx_events_form_profile_input_allow_view_to', '3', '', 'bx_events_data', 'id', 'author', 'BxEventsPrivacy', 'modules/boonex/events/classes/BxEventsPrivacy.php'),
-('bx_events_allow_view_notification_to', 'bx_events', 'view_event', '_bx_events_form_profile_input_allow_view_notification_to', '3', '', 'bx_notifications_events', 'id', 'object_owner_id', 'BxEventsPrivacyNotifications', 'modules/boonex/events/classes/BxEventsPrivacyNotifications.php');
+('bx_events_allow_view_notification_to', 'bx_events', 'view_event', '_bx_events_form_profile_input_allow_view_notification_to', '3', '', 'bx_notifications_events', 'id', 'object_owner_id', 'BxEventsPrivacyNotifications', 'modules/boonex/events/classes/BxEventsPrivacyNotifications.php'),
+('bx_events_allow_post_to', 'bx_events', 'post', '_bx_events_form_profile_input_allow_post_to', 'p', '', 'bx_events_data', 'id', 'author', 'BxEventsPrivacyPost', 'modules/boonex/events/classes/BxEventsPrivacyPost.php');
 
 -- EMAIL TEMPLATES
 INSERT INTO `sys_email_templates` (`Module`, `NameSystem`, `Name`, `Subject`, `Body`) VALUES

+ 7 - 3
modules/boonex/events/install/sql/install.sql

@@ -27,7 +27,8 @@ CREATE TABLE IF NOT EXISTS `bx_events_data` (
   `featured` int(11) NOT NULL default '0',
   `join_confirmation` tinyint(4) NOT NULL DEFAULT '1',
   `reminder` int(11) NOT NULL DEFAULT '1',
-  `allow_view_to` varchar(255) DEFAULT NULL,
+  `allow_view_to` varchar(16) NOT NULL DEFAULT '3',
+  `allow_post_to` varchar(16) NOT NULL DEFAULT '3',
   PRIMARY KEY (`id`),
   FULLTEXT KEY `search_fields` (`event_name`, `event_desc`)
 );
@@ -261,6 +262,7 @@ INSERT INTO `sys_form_displays`(`object`, `display_name`, `module`, `view_mode`,
 
 INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `checked`, `type`, `caption_system`, `caption`, `info`, `required`, `collapsed`, `html`, `attrs`, `attrs_tr`, `attrs_wrapper`, `checker_func`, `checker_params`, `checker_error`, `db_pass`, `db_params`, `editable`, `deletable`) VALUES 
 ('bx_event', 'bx_events', 'allow_view_to', 3, '', 0, 'custom', '_bx_events_form_profile_input_sys_allow_view_to', '_bx_events_form_profile_input_allow_view_to', '_bx_events_form_profile_input_allow_view_to_desc', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_event', 'bx_events', 'allow_post_to', 'p', '', 0, 'custom', '_bx_events_form_profile_input_sys_allow_post_to', '_bx_events_form_profile_input_allow_post_to', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_event', 'bx_events', 'cover', 'a:1:{i:0;s:20:\"bx_events_cover_crop\";}', 'a:1:{s:20:\"bx_events_cover_crop\";s:24:\"_sys_uploader_crop_title\";}', 0, 'files', '_bx_events_form_profile_input_sys_cover', '_bx_events_form_profile_input_cover', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_event', 'bx_events', 'date_end', 0, '', 0, 'datetime', '_bx_events_form_profile_input_sys_date_end', '_bx_events_form_profile_input_date_end', '', 0, 0, 0, '', '', '', '', '', '_bx_events_form_profile_input_date_end_err', 'DateTimeTs', '', 1, 0),
 ('bx_event', 'bx_events', 'date_start', 0, '', 0, 'datetime', '_bx_events_form_profile_input_sys_date_start', '_bx_events_form_profile_input_date_start', '', 0, 0, 0, '', '', '', '', '', '_bx_events_form_profile_input_date_start_err', 'DateTimeTs', '', 1, 0),
@@ -295,7 +297,8 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_event_add', 'join_confirmation', 2147483647, 1, 14),
 ('bx_event_add', 'reminder', 2147483647, 1, 15),
 ('bx_event_add', 'allow_view_to', 2147483647, 1, 16),
-('bx_event_add', 'do_submit', 2147483647, 1, 17),
+('bx_event_add', 'allow_post_to', 2147483647, 1, 17),
+('bx_event_add', 'do_submit', 2147483647, 1, 18),
 
 ('bx_event_invite', 'initial_members', 2147483647, 1, 1),
 ('bx_event_invite', 'do_submit', 2147483647, 1, 2),
@@ -323,7 +326,8 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_event_edit', 'join_confirmation', 2147483647, 1, 14),
 ('bx_event_edit', 'reminder', 2147483647, 1, 15),
 ('bx_event_edit', 'allow_view_to', 2147483647, 1, 16),
-('bx_event_edit', 'do_submit', 2147483647, 1, 17),
+('bx_event_edit', 'allow_post_to', 2147483647, 1, 17),
+('bx_event_edit', 'do_submit', 2147483647, 1, 18),
 
 ('bx_event_edit_cover', 'allow_view_to', 2147483647, 0, 1),
 ('bx_event_edit_cover', 'time', 2147483647, 0, 2),

+ 3 - 1
modules/boonex/groups/classes/BxGroupsConfig.php

@@ -51,6 +51,7 @@ class BxGroupsConfig extends BxBaseModProfileConfig
             'FIELD_COVER' => 'cover',
             'FIELD_JOIN_CONFIRMATION' => 'join_confirmation',
             'FIELD_ALLOW_VIEW_TO' => 'allow_view_to',
+            'FIELD_ALLOW_POST_TO' => 'allow_post_to',
             'FIELD_VIEWS' => 'views',
             'FIELD_COMMENTS' => 'comments',
             'FIELDS_QUICK_SEARCH' => array('group_name'),
@@ -116,8 +117,9 @@ class BxGroupsConfig extends BxBaseModProfileConfig
             'OBJECT_PAGE_VIEW_ENTRY_CLOSED' => 'bx_groups_view_profile_closed',
             'OBJECT_PRIVACY_VIEW' => 'bx_groups_allow_view_to',
             'OBJECT_PRIVACY_VIEW_NOTIFICATION_EVENT' => 'bx_groups_allow_view_notification_to',
+            'OBJECT_PRIVACY_POST' => 'bx_groups_allow_post_to',
             'OBJECT_GRID_ADMINISTRATION' => 'bx_groups_administration',
-        	'OBJECT_GRID_COMMON' => 'bx_groups_common',
+            'OBJECT_GRID_COMMON' => 'bx_groups_common',
             'OBJECT_GRID_CONNECTIONS' => 'bx_groups_fans',
             'OBJECT_CONNECTIONS' => 'bx_groups_fans',
             'OBJECT_UPLOADERS_COVER' => array('bx_groups_cover_crop'),

+ 22 - 0
modules/boonex/groups/classes/BxGroupsPrivacyPost.php

@@ -0,0 +1,22 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Groups Groups
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+class BxGroupsPrivacyPost extends BxBaseModGroupsPrivacyPost
+{
+    public function __construct($aOptions, $oTemplate = false)
+    {
+        $this->_sModule = 'bx_groups';
+
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+
+/** @} */

+ 4 - 2
modules/boonex/groups/install/langs/en.xml

@@ -21,9 +21,11 @@
 	<string name="_bx_groups_form_profile_input_sys_do_submit"><![CDATA[Submit]]></string>
     <string name="_bx_groups_form_profile_input_sys_join_confirm"><![CDATA[Join confirmation]]></string>
     <string name="_bx_groups_form_profile_input_join_confirm"><![CDATA[Join confirmation]]></string>
-    <string name="_bx_groups_form_profile_input_sys_allow_view_to"><![CDATA[Privacy]]></string>
-    <string name="_bx_groups_form_profile_input_allow_view_to"><![CDATA[Privacy]]></string>
+    <string name="_bx_groups_form_profile_input_sys_allow_view_to"><![CDATA[Visible to]]></string>
+    <string name="_bx_groups_form_profile_input_allow_view_to"><![CDATA[Visible to]]></string>
     <string name="_bx_groups_form_profile_input_allow_view_to_desc"><![CDATA[Closed - anyone can find the group and see who's in it, only members can see posts. Secret - only members can find the group and see posts.]]></string>
+    <string name="_bx_groups_form_profile_input_sys_allow_post_to"><![CDATA[Who can post]]></string>
+    <string name="_bx_groups_form_profile_input_allow_post_to"><![CDATA[Who can post]]></string>
     <string name="_bx_groups_form_profile_input_sys_initial_members"><![CDATA[Invite Members]]></string>
     <string name="_bx_groups_form_profile_input_initial_members"><![CDATA[Invite Members]]></string>
     <string name="_bx_groups_form_profile_input_sys_group_name"><![CDATA[Group Name]]></string>

+ 2 - 1
modules/boonex/groups/install/sql/enable.sql

@@ -527,7 +527,8 @@ INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
 
 INSERT INTO `sys_objects_privacy` (`object`, `module`, `action`, `title`, `default_group`, `spaces`, `table`, `table_field_id`, `table_field_author`, `override_class_name`, `override_class_file`) VALUES
 ('bx_groups_allow_view_to', 'bx_groups', 'view', '_bx_groups_form_profile_input_allow_view_to', '3', '', 'bx_groups_data', 'id', 'author', 'BxGroupsPrivacy', 'modules/boonex/groups/classes/BxGroupsPrivacy.php'),
-('bx_groups_allow_view_notification_to', 'bx_groups', 'view_event', '_bx_groups_form_profile_input_allow_view_notification_to', '3', '', 'bx_notifications_events', 'id', 'object_owner_id', 'BxGroupsPrivacyNotifications', 'modules/boonex/groups/classes/BxGroupsPrivacyNotifications.php');
+('bx_groups_allow_view_notification_to', 'bx_groups', 'view_event', '_bx_groups_form_profile_input_allow_view_notification_to', '3', '', 'bx_notifications_events', 'id', 'object_owner_id', 'BxGroupsPrivacyNotifications', 'modules/boonex/groups/classes/BxGroupsPrivacyNotifications.php'),
+('bx_groups_allow_post_to', 'bx_groups', 'post', '_bx_groups_form_profile_input_allow_post_to', 'p', '', 'bx_groups_data', 'id', 'author', 'BxGroupsPrivacyPost', 'modules/boonex/groups/classes/BxGroupsPrivacyPost.php');
 
 -- EMAIL TEMPLATES
 

+ 7 - 3
modules/boonex/groups/install/sql/install.sql

@@ -22,7 +22,8 @@ CREATE TABLE IF NOT EXISTS `bx_groups_data` (
   `reports` int(11) NOT NULL default '0',
   `featured` int(11) NOT NULL default '0',
   `join_confirmation` tinyint(4) NOT NULL DEFAULT '1',
-  `allow_view_to` varchar(255) DEFAULT NULL,
+  `allow_view_to` varchar(16) NOT NULL DEFAULT '3',
+  `allow_post_to` varchar(16) NOT NULL DEFAULT '3',
   PRIMARY KEY (`id`),
   FULLTEXT KEY `search_fields` (`group_name`, `group_desc`)
 );
@@ -242,6 +243,7 @@ INSERT INTO `sys_form_displays`(`object`, `display_name`, `module`, `view_mode`,
 
 INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `checked`, `type`, `caption_system`, `caption`, `info`, `required`, `collapsed`, `html`, `attrs`, `attrs_tr`, `attrs_wrapper`, `checker_func`, `checker_params`, `checker_error`, `db_pass`, `db_params`, `editable`, `deletable`) VALUES 
 ('bx_group', 'bx_groups', 'allow_view_to', 3, '', 0, 'custom', '_bx_groups_form_profile_input_sys_allow_view_to', '_bx_groups_form_profile_input_allow_view_to', '_bx_groups_form_profile_input_allow_view_to_desc', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_group', 'bx_groups', 'allow_post_to', 3, '', 0, 'custom', '_bx_groups_form_profile_input_sys_allow_post_to', '_bx_groups_form_profile_input_allow_post_to', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_group', 'bx_groups', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_groups_form_profile_input_sys_delete_confirm', '_bx_groups_form_profile_input_delete_confirm', '_bx_groups_form_profile_input_delete_confirm_info', 1, 0, 0, '', '', '', 'avail', '', '_bx_groups_form_profile_input_delete_confirm_error', '', '', 1, 0),
 ('bx_group', 'bx_groups', 'do_submit', '_sys_form_account_input_submit', '', 0, 'submit', '_bx_groups_form_profile_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_group', 'bx_groups', 'group_desc', '', '', 0, 'textarea', '_bx_groups_form_profile_input_sys_group_desc', '_bx_groups_form_profile_input_group_desc', '', 0, 0, 2, '', '', '', '', '', '', 'XssHtml', '', 1, 1),
@@ -264,7 +266,8 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_group_add', 'location', 2147483647, 1, 10),
 ('bx_group_add', 'join_confirmation', 2147483647, 1, 11),
 ('bx_group_add', 'allow_view_to', 2147483647, 1, 12),
-('bx_group_add', 'do_submit', 2147483647, 1, 13),
+('bx_group_add', 'allow_post_to', 2147483647, 1, 13),
+('bx_group_add', 'do_submit', 2147483647, 1, 14),
 
 ('bx_group_invite', 'initial_members', 2147483647, 1, 1),
 ('bx_group_invite', 'do_submit', 2147483647, 1, 2),
@@ -285,7 +288,8 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_group_edit', 'location', 2147483647, 1, 9),
 ('bx_group_edit', 'join_confirmation', 2147483647, 1, 10),
 ('bx_group_edit', 'allow_view_to', 2147483647, 1, 11),
-('bx_group_edit', 'do_submit', 2147483647, 1, 12),
+('bx_group_edit', 'allow_post_to', 2147483647, 1, 12),
+('bx_group_edit', 'do_submit', 2147483647, 1, 13),
 
 ('bx_group_edit_cover', 'join_confirmation', 2147483647, 0, 0),
 ('bx_group_edit_cover', 'group_desc', 2147483647, 0, 0),

+ 4 - 2
modules/boonex/russian/data/langs/bx_events/ru.xml

@@ -23,9 +23,11 @@
 	<string name="_bx_events_form_profile_input_sys_do_submit"><![CDATA[Выполнить]]></string>
     <string name="_bx_events_form_profile_input_sys_join_confirm"><![CDATA[Подтверждение регистрации]]></string>
     <string name="_bx_events_form_profile_input_join_confirm"><![CDATA[Подтверждение регистрации]]></string>
-    <string name="_bx_events_form_profile_input_sys_allow_view_to"><![CDATA[Конфиденциальность]]></string>
-    <string name="_bx_events_form_profile_input_allow_view_to"><![CDATA[Конфиденциальность]]></string>
+    <string name="_bx_events_form_profile_input_sys_allow_view_to"><![CDATA[Доступено для]]></string>
+    <string name="_bx_events_form_profile_input_allow_view_to"><![CDATA[Доступено для]]></string>
     <string name="_bx_events_form_profile_input_allow_view_to_desc"><![CDATA[Закрытое - все могут найти событие и видеть кто в нём состоит, только участники могут видеть сообщения. Секретное - только участники могут найти событие и видеть сообщения.]]></string>
+    <string name="_bx_events_form_profile_input_sys_allow_post_to"><![CDATA[Оставлять сообщения в профиле могут]]></string>
+    <string name="_bx_events_form_profile_input_allow_post_to"><![CDATA[Оставлять сообщения в профиле могут]]></string>
     <string name="_bx_events_form_profile_input_sys_initial_members"><![CDATA[Пригласить участников]]></string>
     <string name="_bx_events_form_profile_input_initial_members"><![CDATA[Пригласить участников]]></string>
     <string name="_bx_events_form_profile_input_sys_event_name"><![CDATA[Название события]]></string>

+ 4 - 2
modules/boonex/russian/data/langs/bx_groups/ru.xml

@@ -21,9 +21,11 @@
 	<string name="_bx_groups_form_profile_input_sys_do_submit"><![CDATA[Выполнить]]></string>
     <string name="_bx_groups_form_profile_input_sys_join_confirm"><![CDATA[Подтверждение регистрации]]></string>
     <string name="_bx_groups_form_profile_input_join_confirm"><![CDATA[Подтверждение регистрации]]></string>
-    <string name="_bx_groups_form_profile_input_sys_allow_view_to"><![CDATA[Конфиденциальность]]></string>
-    <string name="_bx_groups_form_profile_input_allow_view_to"><![CDATA[Конфиденциальность]]></string>
+    <string name="_bx_groups_form_profile_input_sys_allow_view_to"><![CDATA[Доступена для]]></string>
+    <string name="_bx_groups_form_profile_input_allow_view_to"><![CDATA[Доступена для]]></string>
     <string name="_bx_groups_form_profile_input_allow_view_to_desc"><![CDATA[Закрытая - все могут найти группу и видеть кто в ней состоит, только участники могут видеть сообщения. Секретная - только участники могут найти группу и видеть сообщения.]]></string>
+    <string name="_bx_groups_form_profile_input_sys_allow_post_to"><![CDATA[Оставлять сообщения в профиле могут]]></string>
+    <string name="_bx_groups_form_profile_input_allow_post_to"><![CDATA[Оставлять сообщения в профиле могут]]></string>
     <string name="_bx_groups_form_profile_input_sys_initial_members"><![CDATA[Пригласить участников]]></string>
     <string name="_bx_groups_form_profile_input_initial_members"><![CDATA[Пригласить участников]]></string>
     <string name="_bx_groups_form_profile_input_sys_group_name"><![CDATA[Название группы]]></string>

+ 5 - 3
modules/boonex/russian/data/langs/bx_spaces/ru.xml

@@ -19,12 +19,14 @@
     <string name="_bx_spaces_form_profile_display_view_full"><![CDATA[Полный просмотр пространства]]></string>
     <string name="_bx_spaces_form_profile_display_invite"><![CDATA[Приглашение в пространство]]></string>
     <string name="_bx_spaces_form_entry_input_author"><![CDATA[Автор]]></string>
-	<string name="_bx_spaces_form_profile_input_sys_do_submit"><![CDATA[Выполнить]]></string>
+    <string name="_bx_spaces_form_profile_input_sys_do_submit"><![CDATA[Выполнить]]></string>
     <string name="_bx_spaces_form_profile_input_sys_join_confirm"><![CDATA[Подтверждение регистрации]]></string>
     <string name="_bx_spaces_form_profile_input_join_confirm"><![CDATA[Подтверждение регистрации]]></string>
-    <string name="_bx_spaces_form_profile_input_sys_allow_view_to"><![CDATA[Конфиденциальность]]></string>
-    <string name="_bx_spaces_form_profile_input_allow_view_to"><![CDATA[Конфиденциальность]]></string>
+    <string name="_bx_spaces_form_profile_input_sys_allow_view_to"><![CDATA[Доступно для]]></string>
+    <string name="_bx_spaces_form_profile_input_allow_view_to"><![CDATA[Доступно для]]></string>
     <string name="_bx_spaces_form_profile_input_allow_view_to_desc"><![CDATA[Закрытая - все могут найти пространство и видеть кто в ней состоит, только участники могут видеть сообщения. Секретная - только участники могут найти пространство и видеть сообщения.]]></string>
+    <string name="_bx_groups_form_profile_input_sys_allow_post_to"><![CDATA[Оставлять сообщения в профиле могут]]></string>
+    <string name="_bx_groups_form_profile_input_allow_post_to"><![CDATA[Оставлять сообщения в профиле могут]]></string>
     <string name="_bx_spaces_form_profile_input_sys_initial_members"><![CDATA[Пригласить участников]]></string>
 	<string name="_bx_spaces_form_profile_input_sys_parent_space"><![CDATA[Родительское пространство]]></string>
   	<string name="_bx_spaces_form_profile_input_parent_space"><![CDATA[Родительское пространство]]></string>

+ 2 - 0
modules/boonex/spaces/classes/BxSpacesConfig.php

@@ -53,6 +53,7 @@ class BxSpacesConfig extends BxBaseModProfileConfig
             'FIELD_COVER' => 'cover',
             'FIELD_JOIN_CONFIRMATION' => 'join_confirmation',
             'FIELD_ALLOW_VIEW_TO' => 'allow_view_to',
+            'FIELD_ALLOW_POST_TO' => 'allow_post_to',
             'FIELD_VIEWS' => 'views',
             'FIELD_COMMENTS' => 'comments',
             'FIELDS_QUICK_SEARCH' => array('space_name'),
@@ -118,6 +119,7 @@ class BxSpacesConfig extends BxBaseModProfileConfig
             'OBJECT_PAGE_VIEW_ENTRY_CLOSED' => 'bx_spaces_view_profile_closed',
             'OBJECT_PRIVACY_VIEW' => 'bx_spaces_allow_view_to',
             'OBJECT_PRIVACY_VIEW_NOTIFICATION_EVENT' => 'bx_spaces_allow_view_notification_to',
+            'OBJECT_PRIVACY_POST' => 'bx_spaces_allow_post_to',
             'OBJECT_GRID_ADMINISTRATION' => 'bx_spaces_administration',
             'OBJECT_GRID_COMMON' => 'bx_spaces_common',
             'OBJECT_GRID_CONNECTIONS' => 'bx_spaces_fans',

+ 0 - 8
modules/boonex/spaces/classes/BxSpacesModule.php

@@ -61,14 +61,6 @@ class BxSpacesModule extends BxBaseModGroupsModule
         echo(json_encode($a));
     }
 
-    public function checkAllowedPost ($aDataEntry, $isPerformAction = false)
-    {
-        if(isLogged())
-            return CHECK_ACTION_RESULT_ALLOWED;
-
-        return _t('_sys_txt_access_denied');
-    }
-
     public function checkAllowedSubscribeAdd (&$aDataEntry, $isPerformAction = false)
     {
         return parent::_checkAllowedSubscribeAdd ($aDataEntry, $isPerformAction);

+ 22 - 0
modules/boonex/spaces/classes/BxSpacesPrivacyPost.php

@@ -0,0 +1,22 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defdroup    Spaces Spaces
+ * @indroup     UnaModules
+ *
+ * @{
+ */
+
+class BxSpacesPrivacyPost extends BxBaseModGroupsPrivacyPost
+{
+    public function __construct($aOptions, $oTemplate = false)
+    {
+        $this->_sModule = 'bx_spaces';
+
+        parent::__construct($aOptions, $oTemplate);
+    }
+}
+
+/** @} */

+ 4 - 2
modules/boonex/spaces/install/langs/en.xml

@@ -21,9 +21,11 @@
 	<string name="_bx_spaces_form_profile_input_sys_do_submit"><![CDATA[Submit]]></string>
 	<string name="_bx_spaces_form_profile_input_sys_join_confirm"><![CDATA[Join confirmation]]></string>
 	<string name="_bx_spaces_form_profile_input_join_confirm"><![CDATA[Join confirmation]]></string>
-	<string name="_bx_spaces_form_profile_input_sys_allow_view_to"><![CDATA[Privacy]]></string>
-	<string name="_bx_spaces_form_profile_input_allow_view_to"><![CDATA[Privacy]]></string>
+	<string name="_bx_spaces_form_profile_input_sys_allow_view_to"><![CDATA[Visible to]]></string>
+	<string name="_bx_spaces_form_profile_input_allow_view_to"><![CDATA[Visible to]]></string>
 	<string name="_bx_spaces_form_profile_input_allow_view_to_desc"><![CDATA[Closed - anyone can find the space and see who's in it, only members can see posts. Secret - only members can find the space and see posts.]]></string>
+        <string name="_bx_spaces_form_profile_input_sys_allow_post_to"><![CDATA[Who can post]]></string>
+        <string name="_bx_spaces_form_profile_input_allow_post_to"><![CDATA[Who can post]]></string>
 	<string name="_bx_spaces_form_profile_input_sys_initial_members"><![CDATA[Invite Members]]></string>
 	<string name="_bx_spaces_form_profile_input_initial_members"><![CDATA[Invite Members]]></string>
   <string name="_bx_spaces_form_profile_input_sys_parent_space"><![CDATA[Parent Space]]></string>

+ 2 - 1
modules/boonex/spaces/install/sql/enable.sql

@@ -531,7 +531,8 @@ INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
 
 INSERT INTO `sys_objects_privacy` (`object`, `module`, `action`, `title`, `default_group`, `spaces`, `table`, `table_field_id`, `table_field_author`, `override_class_name`, `override_class_file`) VALUES
 ('bx_spaces_allow_view_to', 'bx_spaces', 'view', '_bx_spaces_form_profile_input_allow_view_to', '3', '', 'bx_spaces_data', 'id', 'author', 'BxSpacesPrivacy', 'modules/boonex/spaces/classes/BxSpacesPrivacy.php'),
-('bx_spaces_allow_view_notification_to', 'bx_spaces', 'view_event', '_bx_spaces_form_profile_input_allow_view_notification_to', '3', '', 'bx_notifications_events', 'id', 'object_owner_id', 'BxSpacesPrivacyNotifications', 'modules/boonex/spaces/classes/BxSpacesPrivacyNotifications.php');
+('bx_spaces_allow_view_notification_to', 'bx_spaces', 'view_event', '_bx_spaces_form_profile_input_allow_view_notification_to', '3', '', 'bx_notifications_events', 'id', 'object_owner_id', 'BxSpacesPrivacyNotifications', 'modules/boonex/spaces/classes/BxSpacesPrivacyNotifications.php'),
+('bx_spaces_allow_post_to', 'bx_spaces', 'post', '_bx_spaces_form_profile_input_allow_post_to', '3', '', 'bx_spaces_data', 'id', 'author', 'BxSpacesPrivacyPost', 'modules/boonex/spaces/classes/BxSpacesPrivacyPost.php');
 
 -- EMAIL TEMPLATES
 

+ 7 - 3
modules/boonex/spaces/install/sql/install.sql

@@ -24,7 +24,8 @@ CREATE TABLE IF NOT EXISTS `bx_spaces_data` (
   `reports` int(11) NOT NULL default '0',
   `featured` int(11) NOT NULL default '0',
   `join_confirmation` tinyint(4) NOT NULL DEFAULT '1',
-  `allow_view_to` varchar(255) DEFAULT NULL,
+  `allow_view_to` varchar(16) NOT NULL DEFAULT '3',
+  `allow_post_to` varchar(16) NOT NULL DEFAULT '3',
   PRIMARY KEY (`id`),
   FULLTEXT KEY `search_fields` (`space_name`, `space_desc`)
 );
@@ -244,6 +245,7 @@ INSERT INTO `sys_form_displays`(`object`, `display_name`, `module`, `view_mode`,
 
 INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `checked`, `type`, `caption_system`, `caption`, `info`, `required`, `collapsed`, `html`, `attrs`, `attrs_tr`, `attrs_wrapper`, `checker_func`, `checker_params`, `checker_error`, `db_pass`, `db_params`, `editable`, `deletable`) VALUES 
 ('bx_space', 'bx_spaces', 'allow_view_to', 3, '', 0, 'custom', '_bx_spaces_form_profile_input_sys_allow_view_to', '_bx_spaces_form_profile_input_allow_view_to', '_bx_spaces_form_profile_input_allow_view_to_desc', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_space', 'bx_spaces', 'allow_post_to', 3, '', 0, 'custom', '_bx_spaces_form_profile_input_sys_allow_post_to', '_bx_spaces_form_profile_input_allow_post_to', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_space', 'bx_spaces', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_spaces_form_profile_input_sys_delete_confirm', '_bx_spaces_form_profile_input_delete_confirm', '_bx_spaces_form_profile_input_delete_confirm_info', 1, 0, 0, '', '', '', 'avail', '', '_bx_spaces_form_profile_input_delete_confirm_error', '', '', 1, 0),
 ('bx_space', 'bx_spaces', 'do_submit', '_sys_form_account_input_submit', '', 0, 'submit', '_bx_spaces_form_profile_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_space', 'bx_spaces', 'space_desc', '', '', 0, 'textarea', '_bx_spaces_form_profile_input_sys_space_desc', '_bx_spaces_form_profile_input_space_desc', '', 0, 0, 2, '', '', '', '', '', '', 'XssHtml', '', 1, 1),
@@ -268,7 +270,8 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_space_add', 'location', 2147483647, 1, 11),
 ('bx_space_add', 'join_confirmation', 2147483647, 1, 12),
 ('bx_space_add', 'allow_view_to', 2147483647, 1, 13),
-('bx_space_add', 'do_submit', 2147483647, 1, 14),
+('bx_space_add', 'allow_post_to', 2147483647, 1, 14),
+('bx_space_add', 'do_submit', 2147483647, 1, 15),
 
 ('bx_space_invite', 'initial_members', 2147483647, 1, 1),
 ('bx_space_invite', 'do_submit', 2147483647, 1, 2),
@@ -290,7 +293,8 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_space_edit', 'location', 2147483647, 1, 10),
 ('bx_space_edit', 'join_confirmation', 2147483647, 1, 11),
 ('bx_space_edit', 'allow_view_to', 2147483647, 1, 12),
-('bx_space_edit', 'do_submit', 2147483647, 1, 13),
+('bx_space_edit', 'allow_post_to', 2147483647, 1, 13),
+('bx_space_edit', 'do_submit', 2147483647, 1, 14),
 
 ('bx_space_edit_cover', 'join_confirmation', 2147483647, 0, 0),
 ('bx_space_edit_cover', 'space_desc', 2147483647, 0, 0),