array( 'name' => __( 'Report', 'bbpress-moderation-suite' ), 'description' => __( 'Allows users to report posts for consideration by the moderation team.', 'bbpress-moderation-suite' ), 'filename' => 'report.php', 'panel' => 'bbpress_moderation_suite_report', 'can_view' => 'bbmodsuite_report_can_view' ), 'banplus' => array( 'name' => __( 'Ban Plus', 'bbpress-moderation-suite' ), 'description' => __( 'Implements advanced banning features like temporary banning and automated banning (if used with the Warnings assistant) Ban Plus does not use the core rank system, so removing the plugin will unban everyone banned using this method.', 'bbpress-moderation-suite' ), 'filename' => 'ban-plus.php', 'panel' => 'bbpress_moderation_suite_ban_plus', 'can_view' => 'bbmodsuite_banplus_can_view' ), 'warning' => array( 'name' => __( 'Warning', 'bbpress-moderation-suite' ), 'description' => __( 'Allows moderators and higher to warn users that break rules. Can be set to automatically block or (if Ban Plus is active) temporarily ban problematic users from the forums.', 'bbpress-moderation-suite' ), 'filename' => 'warning.php', 'panel' => 'bbpress_moderation_suite_warning', 'can_view' => 'bbmodsuite_warning_can_view' ), 'modlog' => array( 'name' => __( 'Moderation Log', 'bbpress-moderation-suite' ), 'description' => __( 'Keeps track of important moderator actions.', 'bbpress-moderation-suite' ), 'filename' => 'modlog.php', 'panel' => 'bbpress_moderation_suite_modlog', 'can_view' => 'bbmodsuite_modlog_can_view' ), 'move' => array( 'name' => __( 'Move!', 'bbpress-moderation-suite' ), 'description' => __( 'Allows moderators to move, split, and merge topics and posts.', 'bbpress-moderation-suite' ), 'filename' => 'move.php', 'panel' => 'bbpress_moderation_suite_move', 'can_view' => 'bbmodsuite_move_can_view' ) ); $bbmodsuite_active_plugins = (array)bb_get_option( 'bbpress_moderation_suite_helpers' ); $bbmodsuite_cache = array(); foreach ( $bbmodsuite_plugins as $plugin => $data ) { if ( in_array( $plugin, $bbmodsuite_active_plugins ) ) { $bbmodsuite_cache[$plugin] = array(); include_once dirname( __FILE__ ) . '/' . $data['filename']; } } do_action( 'bbmodsuite_init' ); } add_action( 'bb_init', 'bbmodsuite_init' ); function bbmodsuite_admin_add() { bb_admin_add_menu( __( 'Moderation', 'bbpress-moderation-suite' ), 'moderate', 'bbpress_moderation_suite', false, '', 'bbmodsuite-menu' ); bb_admin_add_submenu( __( 'bbPress Moderation Suite', 'bbpress-moderation-suite' ), 'moderate', 'bbpress_moderation_suite', 'bbpress_moderation_suite' ); } add_action( 'bb_admin_menu_generator', 'bbmodsuite_admin_add' ); function bbmodsuite_admin_global_css() { echo ''; } add_action( 'bb_admin_head', 'bbmodsuite_admin_global_css' ); function bbmodsuite_admin_parse() { global $bbmodsuite_plugins, $bbmodsuite_active_plugins; $plugin = $_GET['mod_helper']; $action = $_GET['action']; if ( $plugin && $action && bb_verify_nonce( $_GET['_wpnonce'], $action . '-plugin_' . $plugin ) ) { switch ( $action ) { case 'activate': if ( in_array( $plugin, $bbmodsuite_active_plugins ) || !isset( $bbmodsuite_plugins[$plugin] ) ) break; $bbmodsuite_active_plugins[] = $plugin; bb_update_option( 'bbpress_moderation_suite_helpers', $bbmodsuite_active_plugins ); include_once $bbmodsuite_plugins[$plugin]['filename']; call_user_func( 'bbmodsuite_' . $plugin . '_install' ); bb_admin_notice( sprintf( __( 'Plugin "%s" activated', 'bbpress-moderation-suite' ), $bbmodsuite_plugins[$plugin]['name'] ) ); do_action( 'bbmodsuite-install', $bbmodsuite_plugins[$plugin]['name'] ); break; case 'deactivate': if ( !in_array( $plugin, $bbmodsuite_active_plugins ) || !isset($bbmodsuite_plugins[$plugin] ) ) break; $bbmodsuite_active_plugins = array_flip( $bbmodsuite_active_plugins ); unset( $bbmodsuite_active_plugins[$plugin] ); $bbmodsuite_active_plugins = array_flip( $bbmodsuite_active_plugins ); bb_update_option( 'bbpress_moderation_suite_helpers', $bbmodsuite_active_plugins ); bb_admin_notice( sprintf( __( 'Plugin "%s" deactivated', 'bbpress-moderation-suite' ), $bbmodsuite_plugins[$plugin]['name'] ) ); do_action( 'bbmodsuite-deactivate', $bbmodsuite_plugins[$plugin]['name'] ); break; case 'uninstall': if ( !in_array( $plugin, $bbmodsuite_active_plugins ) || !isset( $bbmodsuite_plugins[$plugin] ) ) break; $bbmodsuite_active_plugins = array_flip( $bbmodsuite_active_plugins ); unset( $bbmodsuite_active_plugins[$plugin] ); $bbmodsuite_active_plugins = array_flip( $bbmodsuite_active_plugins ); bb_update_option( 'bbpress_moderation_suite_helpers', $bbmodsuite_active_plugins ); call_user_func( 'bbmodsuite_' . $plugin . '_uninstall' ); bb_admin_notice( sprintf( __( 'Plugin "%s" deactivated and uninstalled', 'bbpress-moderation-suite' ), $bbmodsuite_plugins[$plugin]['name'] ) ); do_action( 'bbmodsuite-uninstall', $bbmodsuite_plugins[$plugin]['name'] ); } } } add_action( 'bbpress_moderation_suite_pre_head', 'bbmodsuite_admin_parse' ); function bbpress_moderation_suite() { global $bbmodsuite_plugins, $bbmodsuite_active_plugins; if ( strncmp( dirname( __FILE__ ), realpath( BB_PLUGIN_DIR ), strlen( realpath( BB_PLUGIN_DIR ) ) ) ) { ?>

%1$s folder needs to be moved to the my-plugins folder. It is currently in the %2$s folder.', 'bbpress-moderation-suite' ), basename( dirname( __FILE__ ) ), basename( dirname( dirname( __FILE__ ) ) ) ); ?>

$plugin_data ) { if ( !bb_current_user_can( 'manage_plugins' ) && ( !in_array( $plugin, $bbmodsuite_active_plugins ) || empty( $plugin_data['can_view'] ) || !function_exists( $plugin_data['can_view'] ) || !bb_current_user_can( call_user_func( $plugin_data['can_view'] ) ) ) ) continue; $class = 'inactive'; $action = 'activate'; $action_class = 'edit'; $action_text = __( 'Activate', 'bbpress-moderation-suite' ); if ( in_array( $plugin, $bbmodsuite_active_plugins ) ) { $class = 'active'; $action = 'deactivate'; $action_class = 'delete'; $action_text = __( 'Deactivate', 'bbpress-moderation-suite' ); } $href = attribute_escape( bb_nonce_url( bb_get_uri( 'bb-admin/admin-base.php', array( 'mod_helper' => urlencode( $plugin ), 'action' => $action, 'plugin' => 'bbpress_moderation_suite', ), BB_URI_CONTEXT_A_HREF + BB_URI_CONTEXT_BB_ADMIN ), $action . '-plugin_' . $plugin ) ); ?>