| 1 |
<?php |
|---|
| 2 |
|
|---|
| 3 |
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 |
|
|---|
| 11 |
|
|---|
| 12 |
|
|---|
| 13 |
function bb_int_set_current_user() { |
|---|
| 14 |
global $current_user; |
|---|
| 15 |
if ( !is_user_logged_in() || $current_user->caps ) |
|---|
| 16 |
return; |
|---|
| 17 |
if ( !$bb_table_prefixen = get_option( 'bbpress-integration' ) ) |
|---|
| 18 |
return; |
|---|
| 19 |
|
|---|
| 20 |
foreach ( (array) $bb_table_prefixen as $prefix ) { |
|---|
| 21 |
if ( $caps = get_usermeta( $current_user->ID, $prefix . 'capabilities' ) ) { |
|---|
| 22 |
$current_user->set_role( get_option( 'default_role' ) ); |
|---|
| 23 |
continue; |
|---|
| 24 |
} |
|---|
| 25 |
} |
|---|
| 26 |
|
|---|
| 27 |
if ( empty($current_user->data->display_name) ) { |
|---|
| 28 |
require_once( ABSPATH . WPINC . '/registration-functions.php' ); |
|---|
| 29 |
wp_update_user( array('ID' => $current_user->ID) ); |
|---|
| 30 |
} |
|---|
| 31 |
} |
|---|
| 32 |
|
|---|
| 33 |
|
|---|
| 34 |
|
|---|
| 35 |
function bb_int_admin_menu() { |
|---|
| 36 |
add_submenu_page( 'plugins.php', __('bbPress Integration'), __('bbPress'), 'manage_options', 'bbpress-integration', 'bb_int_admin_page' ); |
|---|
| 37 |
} |
|---|
| 38 |
|
|---|
| 39 |
function bb_int_admin_page() { |
|---|
| 40 |
if ( !current_user_can('manage_options') ) : ?> |
|---|
| 41 |
<div id="message" class="error fade-ff0000"> |
|---|
| 42 |
<p><?php _e("Now, you aren't supposed to be here, are you?"); ?></p> |
|---|
| 43 |
</div> |
|---|
| 44 |
<?php return; endif; |
|---|
| 45 |
|
|---|
| 46 |
if ( isset($_POST['bbpress-integration']) ) : |
|---|
| 47 |
$bb_table_prefixen = explode(',', $_POST['bbpress-integration']); |
|---|
| 48 |
foreach ( array_keys($bb_table_prefixen) as $p ) { |
|---|
| 49 |
$bb_table_prefixen[$p] = preg_replace('/[^A-Za-z0-9_]/', '', $bb_table_prefixen[$p]); |
|---|
| 50 |
if ( empty($bb_table_prefixen[$p]) ) |
|---|
| 51 |
unset($bb_table_prefixen[$p]); |
|---|
| 52 |
} |
|---|
| 53 |
update_option( 'bbpress-integration', $bb_table_prefixen ); ?> |
|---|
| 54 |
<div id="message" class="updated fade"> |
|---|
| 55 |
<p><?php _e("bbPress integration options updated"); ?></p> |
|---|
| 56 |
</div> |
|---|
| 57 |
<?php endif; |
|---|
| 58 |
|
|---|
| 59 |
if ( $bbpress_integration = get_option( 'bbpress-integration' ) ) |
|---|
| 60 |
$bbpress_integration = join(', ', $bbpress_integration); |
|---|
| 61 |
else |
|---|
| 62 |
$bbpress_integration = ''; |
|---|
| 63 |
?> |
|---|
| 64 |
<div class="wrap"> |
|---|
| 65 |
<h2><?php _e('bbPress Integration'); ?></h2> |
|---|
| 66 |
<form action="" method="post"> |
|---|
| 67 |
<p> |
|---|
| 68 |
<?php _e("Enter the table prefix for your bbPress installation below. The table prefix is found in your bbPress installation's <code>config.php</code> file. You may list multiple table prefixes by separating them with commas."); ?> |
|---|
| 69 |
</p> |
|---|
| 70 |
<p> |
|---|
| 71 |
<?php _e('Example'); ?>: <code>bb_</code> |
|---|
| 72 |
</p> |
|---|
| 73 |
<h3><label for='bbpress-integration'><?php _e('bbPress table prefixes'); ?></label></h3> |
|---|
| 74 |
<input type="text" name="bbpress-integration" id="bbpress-integration" value="<?php echo $bbpress_integration; ?>" /> |
|---|
| 75 |
<p class="submit"> |
|---|
| 76 |
<input type="submit" value="<?php _e('Update bbPress Integration Options »'); ?>" /> |
|---|
| 77 |
</p> |
|---|
| 78 |
</form> |
|---|
| 79 |
</div> |
|---|
| 80 |
<?php |
|---|
| 81 |
} |
|---|
| 82 |
|
|---|
| 83 |
add_action( 'admin_menu', 'bb_int_admin_menu' ); |
|---|
| 84 |
add_action( 'set_current_user', 'bb_int_set_current_user' ); |
|---|
| 85 |
?> |
|---|
| 86 |
|
|---|