AntonLV 6 лет назад
Родитель
Сommit
965cc0666b

+ 6 - 2
modules/boonex/groups/classes/BxGroupsConfig.php

@@ -124,6 +124,7 @@ class BxGroupsConfig extends BxBaseModGroupsConfig
             'OBJECT_CONNECTIONS' => 'bx_groups_fans',
             'OBJECT_UPLOADERS_COVER' => array('bx_groups_cover_crop'),
             'OBJECT_UPLOADERS_PICTURE' => array('bx_groups_picture_crop'),
+            'OBJECT_PRE_LIST_ROLES' => 'bx_groups_roles',
             
             'BADGES_AVALIABLE' => true,
             
@@ -134,6 +135,7 @@ class BxGroupsConfig extends BxBaseModGroupsConfig
             'EMAIL_JOIN_CONFIRM' => 'bx_groups_join_confirm',
             'EMAIL_FAN_BECOME_ADMIN' => 'bx_groups_fan_become_admin',
             'EMAIL_ADMIN_BECOME_FAN' => 'bx_groups_admin_become_fan',
+            'EMAIL_FAN_SET_ROLE' => 'bx_groups_set_role',
             'EMAIL_FAN_REMOVE' => 'bx_groups_fan_remove',
             'EMAIL_JOIN_REJECT' => 'bx_groups_join_reject',
 
@@ -204,12 +206,14 @@ class BxGroupsConfig extends BxBaseModGroupsConfig
         );
 
         $this->_aJsClasses = array(
-        	'manage_tools' => 'BxGroupsManageTools',
+            'main' => 'BxGroupsMain',
+            'manage_tools' => 'BxGroupsManageTools',
             'invite_popup' => 'BxGroupsInvitePopup'
         );
 
         $this->_aJsObjects = array(
-        	'manage_tools' => 'oBxGroupsManageTools',
+            'main' => 'oBxGroupsMain',
+            'manage_tools' => 'oBxGroupsManageTools',
             'invite_popup' => 'oBxGroupsInvitePopup'
         );
 

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

@@ -268,14 +268,14 @@
     <string name="_bx_groups_txt_account_pending"><![CDATA[This group is pending approval, please wait until it is activated.]]></string>
     <string name="_bx_groups_txt_account_suspended"><![CDATA[This group is suspended.]]></string>
     <string name="_bx_groups_txt_N_fans"><![CDATA[{0} members]]></string>
+    <string name="_bx_groups_txt_role"><![CDATA[Role]]></string>
     <string name="_bx_groups_txt_sample_single"><![CDATA[group]]></string>
     <string name="_bx_groups_txt_sample_single_with_article"><![CDATA[a group]]></string>
     <string name="_bx_groups_txt_sample_comment_single"><![CDATA[comment to group]]></string>
     <string name="_bx_groups_txt_sample_vote_single"><![CDATA[vote to group]]></string>
     <string name="_bx_groups_txt_sample_score_up_single"><![CDATA[score up vote to group]]></string>
     <string name="_bx_groups_txt_sample_score_down_single"><![CDATA[score down vote to group]]></string>
-    <string name="_bx_groups_txt_to_admins"><![CDATA[To Admins]]></string>
-    <string name="_bx_groups_txt_from_admins"><![CDATA[From Admins]]></string>
+    <string name="_bx_groups_txt_set_role"><![CDATA[Set Role]]></string>
     <string name="_bx_groups_txt_private_group"><![CDATA[Private group]]></string>
     <string name="_bx_groups_txt_invite_popup_text"><![CDATA[You have been invited to a group. Click the button below to accept the invitation.]]></string>
     <string name="_bx_groups_txt_invite_popup_title"><![CDATA[Invitation to a group]]></string>
@@ -297,6 +297,11 @@
     <string name="_bx_groups_cat_Causes"><![CDATA[Causes]]></string>
     <string name="_bx_groups_cat_Fun"><![CDATA[Fun]]></string>
     <string name="_bx_groups_cat_Uncategorised"><![CDATA[Uncategorised]]></string>
+    
+    <string name="_bx_groups_pre_lists_roles"><![CDATA[Group roles]]></string>
+    <string name="_bx_groups_role_regular"><![CDATA[Regular]]></string>
+    <string name="_bx_groups_role_administrator"><![CDATA[Administrator]]></string>
+    <string name="_bx_groups_role_moderator"><![CDATA[Moderator]]></string>
 
     <string name="_bx_groups_email_join_request"><![CDATA[Group join request]]></string>
     <string name="_bx_groups_email_join_request_subject"><![CDATA[Request to join your group]]></string>
@@ -332,6 +337,12 @@
     <string name="_bx_groups_email_admin_become_fan_subject"><![CDATA[Your group admin status was revoked]]></string>
     <string name="_bx_groups_email_admin_become_fan_body"><![CDATA[{email_header}
 <p>Your admin status was revoked from <a href="{EntryUrl}">{EntryTitle}</a> group.</p>
+{email_footer}]]></string>
+
+    <string name="_bx_groups_email_set_role"><![CDATA[Group member status was changed]]></string>
+    <string name="_bx_groups_email_set_role_subject"><![CDATA[Your group status was changed]]></string>
+    <string name="_bx_groups_email_set_role_body"><![CDATA[{email_header}
+<p>Your status in <a href="{EntryUrl}">{EntryTitle}</a> group was changed to <b>{Role}</b>.</p>
 {email_footer}]]></string>
 
     <string name="_bx_groups_email_invitation"><![CDATA[Invitation to group]]></string>

+ 5 - 3
modules/boonex/groups/install/sql/enable.sql

@@ -459,12 +459,13 @@ INSERT INTO `sys_objects_grid` (`object`, `source_type`, `source`, `table`, `fie
 
 INSERT INTO `sys_grid_fields` (`object`, `name`, `title`, `width`, `params`, `order`) VALUES
 ('bx_groups_fans', 'name', '_sys_name', '50%', '', 10),
-('bx_groups_fans', 'actions', '', '50%', '', 20);
+('bx_groups_fans', 'role', '_bx_groups_txt_role', '10%', '', 15),
+('bx_groups_fans', 'actions', '', '40%', '', 20);
 
 INSERT INTO `sys_grid_actions` (`object`, `type`, `name`, `title`, `icon`, `confirm`, `order`) VALUES
 ('bx_groups_fans', 'single', 'accept', '_sys_accept', '', 0, 10),
-('bx_groups_fans', 'single', 'to_admins', '_bx_groups_txt_to_admins', '', 0, 20),
-('bx_groups_fans', 'single', 'from_admins', '_bx_groups_txt_from_admins', '', 0, 30),
+('bx_groups_fans', 'single', 'set_role', '_bx_groups_txt_set_role', '', 0, 20),
+('bx_groups_fans', 'single', 'set_role_submit', '', '', 0, 21),
 ('bx_groups_fans', 'single', 'delete', '', 'remove', 1, 40);
 
 
@@ -555,6 +556,7 @@ INSERT INTO `sys_email_templates` (`Module`, `NameSystem`, `Name`, `Subject`, `B
 ('bx_groups', '_bx_groups_email_fan_remove', 'bx_groups_fan_remove', '_bx_groups_email_fan_remove_subject', '_bx_groups_email_fan_remove_body'),
 ('bx_groups', '_bx_groups_email_fan_become_admin', 'bx_groups_fan_become_admin', '_bx_groups_email_fan_become_admin_subject', '_bx_groups_email_fan_become_admin_body'),
 ('bx_groups', '_bx_groups_email_admin_become_fan', 'bx_groups_admin_become_fan', '_bx_groups_email_admin_become_fan_subject', '_bx_groups_email_admin_become_fan_body'),
+('bx_groups', '_bx_groups_email_set_role', 'bx_groups_set_role', '_bx_groups_email_set_role_subject', '_bx_groups_email_set_role_body'),
 ('bx_groups', '_bx_groups_email_invitation', 'bx_groups_invitation', '_bx_groups_email_invitation_subject', '_bx_groups_email_invitation_body');
 
 -- UPLOADERS

+ 9 - 0
modules/boonex/groups/install/sql/install.sql

@@ -193,6 +193,7 @@ CREATE TABLE IF NOT EXISTS `bx_groups_admins` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `group_profile_id` int(10) unsigned NOT NULL,
   `fan_id` int(10) unsigned NOT NULL,
+  `role` int(10) unsigned NOT NULL default '0',
   PRIMARY KEY (`id`),
   UNIQUE KEY `admin` (`group_profile_id`,`fan_id`)
 );
@@ -337,6 +338,14 @@ INSERT INTO `sys_form_pre_values`(`Key`, `Value`, `Order`, `LKey`, `LKey2`) VALU
 ('bx_groups_cats', '5', 5, '_bx_groups_cat_Fun', ''),
 ('bx_groups_cats', '6', 6, '_bx_groups_cat_Uncategorised', '');
 
+INSERT INTO `sys_form_pre_lists`(`key`, `title`, `module`, `use_for_sets`) VALUES
+('bx_groups_roles', '_bx_groups_pre_lists_roles', 'bx_groups', '0');
+
+INSERT INTO `sys_form_pre_values`(`Key`, `Value`, `Order`, `LKey`, `LKey2`) VALUES
+('bx_groups_roles', '0', 1, '_bx_groups_role_regular', ''),
+('bx_groups_roles', '1', 2, '_bx_groups_role_administrator', ''),
+('bx_groups_roles', '2', 3, '_bx_groups_role_moderator', '');
+
 -- COMMENTS
 INSERT INTO `sys_objects_cmts` (`Name`, `Module`, `Table`, `CharsPostMin`, `CharsPostMax`, `CharsDisplayMax`, `Html`, `PerView`, `PerViewReplies`, `BrowseType`, `IsBrowseSwitch`, `PostFormPosition`, `NumberOfLevels`, `IsDisplaySwitch`, `IsRatable`, `ViewingThreshold`, `IsOn`, `RootStylePrefix`, `BaseUrl`, `ObjectVote`, `TriggerTable`, `TriggerFieldId`, `TriggerFieldAuthor`, `TriggerFieldTitle`, `TriggerFieldComments`, `ClassName`, `ClassFile`) VALUES
 ('bx_groups', 'bx_groups', 'bx_groups_cmts', 1, 5000, 1000, 3, 5, 3, 'tail', 1, 'bottom', 1, 1, 1, -3, 1, 'cmt', 'page.php?i=view-group-profile&id={object_id}', '', 'bx_groups_data', 'id', 'author', 'group_name', 'comments', '', ''),

+ 1 - 1
modules/boonex/groups/install/sql/uninstall.sql

@@ -27,7 +27,7 @@ DELETE FROM `sys_form_display_inputs` WHERE `display_name` IN('bx_group_add', 'b
 
 DELETE FROM `sys_form_pre_lists` WHERE `module` = 'bx_groups';
 
-DELETE FROM `sys_form_pre_values` WHERE `Key` IN('bx_groups_cats');
+DELETE FROM `sys_form_pre_values` WHERE `Key` LIKE 'bx_groups%';
 
 -- COMMENTS
 DELETE FROM `sys_objects_cmts` WHERE `Name` LIKE 'bx_groups%';

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

@@ -266,23 +266,23 @@
     <string name="_bx_groups_txt_account_pending"><![CDATA[Эта группа ожидает одобрения. Пожалуйста, дождитесь ее активации.]]></string>
     <string name="_bx_groups_txt_account_suspended"><![CDATA[Эта группа заблокирована.]]></string>
     <string name="_bx_groups_txt_N_fans"><![CDATA[{0} участников]]></string>
+    <string name="_bx_groups_txt_role"><![CDATA[Роль]]></string>
     <string name="_bx_groups_txt_sample_single"><![CDATA[группа]]></string>
     <string name="_bx_groups_txt_sample_single_with_article"><![CDATA[группа]]></string>
     <string name="_bx_groups_txt_sample_comment_single"><![CDATA[комментарий к группе]]></string>
     <string name="_bx_groups_txt_sample_vote_single"><![CDATA[голос за группу]]></string>
     <string name="_bx_groups_txt_sample_score_up_single"><![CDATA[голос за группу]]></string>
     <string name="_bx_groups_txt_sample_score_down_single"><![CDATA[голос против группы]]></string>
-    <string name="_bx_groups_txt_to_admins"><![CDATA[В админы]]></string>
-    <string name="_bx_groups_txt_from_admins"><![CDATA[Из админов]]></string>
+    <string name="_bx_groups_txt_set_role"><![CDATA[Задать роль]]></string>
     <string name="_bx_groups_txt_private_group"><![CDATA[Приватная группа]]></string>
-	<string name="_bx_groups_txt_invite_popup_text"><![CDATA[Вы были приглашены в эту группу.  Нажмите кнопку ниже чтобы принять приглашение.]]></string>
+    <string name="_bx_groups_txt_invite_popup_text"><![CDATA[Вы были приглашены в эту группу.  Нажмите кнопку ниже чтобы принять приглашение.]]></string>
     <string name="_bx_groups_txt_invite_popup_title"><![CDATA[Приглашение в группу]]></string>
     <string name="_bx_groups_txt_invite_popup_button_accept"><![CDATA[Принять]]></string>
     <string name="_bx_groups_txt_invite_popup_button_decline"><![CDATA[Отклонить]]></string>
     <string name="_bx_groups_txt_invite_popup_error_invitation_absent"><![CDATA[Извините, произошла ошибка. Вы не можете вступить в эту группу. Приглашение устарело или удалено.]]></string>
     <string name="_bx_groups_txt_invite_popup_error_invitation_wrong_user"><![CDATA[Извините, произошла ошибка. Вы не можете вступить в эту группу. Приглашение адресовано не Вам.]]></string>
 
-	<string name="_bx_groups_alert_action_fan_added"><![CDATA[присоединение нового участника]]></string>
+    <string name="_bx_groups_alert_action_fan_added"><![CDATA[присоединение нового участника]]></string>
     <string name="_bx_groups_txt_ntfs_fan_added"><![CDATA[В группу <b class="bx-ntfs-content-profile">{owner_name}</b> вступил <b class="bx-ntfs-content-entry">{subentry_sample}</b>]]></string>
     <string name="_bx_groups_alert_action_join_request"><![CDATA[запрос на присоединение к группе]]></string>
     <string name="_bx_groups_txt_ntfs_join_request"><![CDATA[В группу <b class="bx-ntfs-content-profile">{owner_name}</b> хочет вступить <b class="bx-ntfs-content-entry">{subentry_sample}</b>]]></string>
@@ -296,6 +296,11 @@
     <string name="_bx_groups_cat_Fun"><![CDATA[Юмор]]></string>
     <string name="_bx_groups_cat_Uncategorised"><![CDATA[Без категории]]></string>
 
+    <string name="_bx_groups_pre_lists_roles"><![CDATA[Роли в группах]]></string>
+    <string name="_bx_groups_role_regular"><![CDATA[Обычный]]></string>
+    <string name="_bx_groups_role_administrator"><![CDATA[Администратор]]></string>
+    <string name="_bx_groups_role_moderator"><![CDATA[Модератор]]></string>
+
     <string name="_bx_groups_email_join_request"><![CDATA[Запрос на присоединение к группе]]></string>
     <string name="_bx_groups_email_join_request_subject"><![CDATA[Запрос на присоединение к группе]]></string>
     <string name="_bx_groups_email_join_request_body"><![CDATA[{email_header}
@@ -330,6 +335,12 @@
     <string name="_bx_groups_email_admin_become_fan_subject"><![CDATA[Вы были лишены статуса администратора группы]]></string>
     <string name="_bx_groups_email_admin_become_fan_body"><![CDATA[{email_header}
 <p>Вы были лишены статуса администратора группы <a href="{EntryUrl}">{EntryTitle}</a></p>
+{email_footer}]]></string>
+
+    <string name="_bx_groups_email_set_role"><![CDATA[Изменение статуса в группе]]></string>
+    <string name="_bx_groups_email_set_role_subject"><![CDATA[Ваш статус в группе был изменен]]></string>
+    <string name="_bx_groups_email_set_role_body"><![CDATA[{email_header}
+<p>Ваш статус в группе <a href="{EntryUrl}">{EntryTitle}</a> был изменен на <b>{Role}</b>.</p>
 {email_footer}]]></string>
 
     <string name="_bx_groups_email_invitation"><![CDATA[Приглашение в группу]]></string>