*/ class WiseChatModerationTab extends WiseChatAbstractTab { public function getFields() { return array( array('_section', 'Moderation Settings'), array('enable_message_actions', 'Enable Admin Actions', 'booleanFieldCallback', 'boolean', 'Displays ban and removal buttons next to each message. The buttons are visible only for roles defined below'), array( 'permission_edit_message_role', 'Edit Message Permission', 'checkboxesCallback', 'multivalues', 'User roles allowed to edit posted messages.
Alternatively you can assign "wise_chat_edit_message" capability to any custom role.', self::getRoles() ), array( 'permission_edit_message_role', 'Edit Message Permission', 'checkboxesCallback', 'multivalues', 'An user role that is allowed to edit posted messages.
Alternatively you can assign "wise_chat_edit_message" capability to any custom role.', self::getRoles() ), array( 'permission_delete_message_role', 'Delete Message Permission', 'checkboxesCallback', 'multivalues', 'User roles allowed to delete posted messages.
Alternatively you can assign "wise_chat_delete_message" capability to any custom role.', self::getRoles() ), array( 'permission_ban_user_role', 'Ban User Permission', 'checkboxesCallback', 'multivalues', 'User roles allowed to ban users.
Alternatively you can assign "wise_chat_ban_user" capability to any custom role.', self::getRoles() ), array( 'permission_kick_user_role', 'Kick User Permission', 'checkboxesCallback', 'multivalues', 'User roles allowed to kick users.
Alternatively you can assign "wise_chat_kick_user" capability to any custom role.', self::getRoles() ), array( 'permission_approve_message_role', 'Approve Message Permission', 'checkboxesCallback', 'multivalues', 'User roles allowed to approve posted messages.
Alternatively you can assign "wise_chat_approve_message" capability to any custom role.
', self::getRoles() ), array('enable_approval_confirmation', 'Approval Confirmation', 'booleanFieldCallback', 'boolean', 'Displays confirmation after clicking approval button.' ), array('moderation_ban_duration', 'Ban Duration', 'stringFieldCallback', 'integer', 'Duration of the ban (in minutes) created by clicking on Ban button next a message. Empty field sets the value to 1440 minutes (1 day)'), array('_section', 'Spam Reporting', 'Configuration of the spam reporting feature. It displays spam reporting button next to the posted message.' ), array( 'spam_report_enable_all', 'Enable All', 'booleanFieldCallback', 'boolean', 'Enables spam reporting for all - including anonymous users.' ), array( 'permission_spam_report_role', 'Enable Roles Only', 'checkboxesCallback', 'multivalues', 'User roles allowed to report spam messages.
Alternatively you can assign "wise_chat_spam_report" capability to any custom role.', self::getRoles() ), array('_section', 'Spam Reporting Notification', 'Notification e-mail sent to admin when Report Spam button is clicked.' ), array('spam_report_recipient', 'Recipient', 'stringFieldCallback', 'string'), array('spam_report_subject', 'Subject', 'stringFieldCallback', 'string'), array('spam_report_content', 'Content', 'multilineFieldCallback', 'multilinestring', 'Available variables: {url}, {channel}, {message}, {message-user}, {message-user-ip}, {report-user}, {report-user-ip}'), array('_section', 'Pending Messages', 'After enabling this feature all posted messages are hidden until they are manually approved using Approve button (enable corresponding moderation permissions in the section above).' ), array( 'new_messages_hidden', 'Enable', 'booleanFieldCallback', 'boolean', 'All new messages are hidden. They will become visible as soon as they are manually approved.' ), array( 'show_hidden_messages_roles', 'Show Hidden Messages For', 'checkboxesCallback', 'multivalues', 'Shows hidden messages for selected user roles.', self::getRoles() ), array( 'no_hidden_messages_roles', 'Don\'t Hide Messages For', 'checkboxesCallback', 'multivalues', 'Prevents from hiding messages for selected user roles.', self::getRoles() ), array( 'approving_messages_mode', 'Approving Messages Mode', 'selectCallback', 'string', 'Determines what date and time to set for hidden messages that have been approved.', self::getPendingMessagesApprovalModes() ), ); } public function getDefaultValues() { return array( 'enable_message_actions' => 1, 'permission_delete_message_role' => 'administrator', 'permission_ban_user_role' => 'administrator', 'permission_kick_user_role' => 'administrator', 'moderation_ban_duration' => 1440, 'spam_report_enable_all' => 1, 'permission_spam_report_role' => 'administrator', 'spam_report_recipient' => get_option('admin_email'), 'spam_report_subject' => '[Wise Chat] Spam Report', 'spam_report_content' => "Wise Chat Spam Report\n\n". 'Channel: {channel}'."\n". 'Message: {message}'."\n". 'Posted by: {message-user}'."\n". 'Posted from IP: {message-user-ip}'."\n\n". "--\n". 'This e-mail was sent by {report-user} from {url}'."\n". '{report-user-ip}' ); } public function getParentFields() { return array( 'permission_delete_message_role' => 'enable_message_actions', 'permission_ban_user_role' => 'enable_message_actions', 'permission_kick_user_role' => 'enable_message_actions', 'moderation_ban_duration' => 'enable_message_actions' ); } public function getProFields() { return array( 'new_messages_hidden', 'show_hidden_messages_roles', 'no_hidden_messages_roles', 'approving_messages_mode', 'permission_edit_message_role', 'permission_approve_message_role', 'enable_approval_confirmation', 'permission_edit_message_role' ); } public function getPendingMessagesApprovalModes() { return array( 1 => 'Date and time of the message', 2 => 'Date and time of the approval' ); } public function getRoles() { $editableRoles = array_reverse(get_editable_roles()); $rolesOptions = array(); foreach ($editableRoles as $role => $details) { $name = translate_user_role($details['name']); $rolesOptions[esc_attr($role)] = $name; } return $rolesOptions; } }