function scoper_startup_error($msg_id = '') { // this is the normal situation on first pass after activation if ('wp_role_type' == $msg_id) { awp_notice('Role Scoper cannot operate because the "WP" Role Type is no longer supported. Please re-activate <a href="http://downloads.wordpress.org/plugin/role-scoper/download/">Role Scoper version 1.2.8 or earlier</a>, set Roles > Options > Role Type to "RS", then re-establish Roles and Restrictions before upgrading. <strong>All content is hidden until you deactivate this Role Scoper version.</strong>', 'role-scoper'); } // To prevent inadverant content exposure, default to blocking all content if another plugin steals wp_set_current_user definition. if ('plugins.php' != $GLOBALS['pagenow']) { add_filter('posts_where', create_function('$a', "return 'AND 1=2';"), 99); add_filter('posts_results', create_function('$a', "return array();"), 1); add_filter('get_pages', create_function('$a', "return array();"), 99); add_filter('get_bookmarks', create_function('$a', "return array();"), 99); add_filter('get_categories', create_function('$a', "return array();"), 99); add_filter('get_terms', create_function('$a', "return array();"), 99); add_filter('option_sticky_posts', create_function('$a', "return false;"), 99); // Also run interference for all custom-defined where_hook, request_filter or results_filter require_once dirname(__FILE__) . '/role-scoper_main.php'; global $scoper, $wpdb, $current_user; $buffer_user = $current_user; require_once dirname(__FILE__) . '/role-scoper_init.php'; $scoper = new Scoper(); $scoper->load_config(); $GLOBALS['current_user'] = $buffer_user; foreach ($scoper->data_sources->get_all() as $src) { if (!empty($src->query_hooks->request)) { add_filter($src->query_hooks->request, create_function('$a', "return 'SELECT * FROM {$wpdb->posts} WHERE 1=2';"), 99); } if (!empty($src->query_hooks->where)) { add_filter($src->query_hooks->where, create_function('$a', "return 'AND 1=2';"), 99); } if (!empty($src->query_hooks->results)) { add_filter($src->query_hooks->results, create_function('$a', "return array();"), 1); } } } }
function rs_notice($message) { if (defined('RS_DEBUG')) { require_once dirname(__FILE__) . '/error_rs.php'; awp_notice($message, 'Role Scoper'); } }