140 lines
4.2 KiB
PHP
140 lines
4.2 KiB
PHP
<?php
|
|
|
|
use WoWPress\Models\User;
|
|
|
|
function set_roles()
|
|
{
|
|
remove_role('editor');
|
|
remove_role('contributor');
|
|
remove_role('author');
|
|
remove_role('subscriber');
|
|
|
|
$admin = get_role('administrator');
|
|
|
|
add_role('gildenmeister', __('Gildenmeister'), ['read' => true]);
|
|
$gm = get_role('gildenmeister');
|
|
|
|
add_role('offizier', __('Offizier'), ['read' => true]);
|
|
$offi = get_role('offizier');
|
|
|
|
add_role('raidlead', __('Raidlead'), ['read' => true]);
|
|
$rl = get_role('raidlead');
|
|
|
|
add_role('raider', __('Raider'), ['read' => true]);
|
|
$raider = get_role('raider');
|
|
|
|
add_role('novize', __('Novize'), ['read' => true]);
|
|
$novize = get_role('novize');
|
|
|
|
add_role('f_f', __('F&F'), ['read' => true]);
|
|
$ff = get_role('f_f');
|
|
|
|
add_role('nobody', __('Niemand'));
|
|
|
|
update_option('default_role', 'nobody');
|
|
|
|
$admin->add_cap('wowpress_edit_site', true);
|
|
$admin->add_cap('wowpress_edit_raids', true);
|
|
$admin->add_cap('wowpress_edit_characters', true);
|
|
$admin->add_cap('wowpress_view_raids');
|
|
$admin->add_cap('wowpress_view_teamspeak');
|
|
$admin->add_cap('wowpress_view_birthdays');
|
|
$admin->add_cap('wowpress_view_complaints');
|
|
$admin->add_cap('wowpress_edit_complaints');
|
|
|
|
|
|
|
|
foreach (get_role('administrator')->capabilities as $cap => $status) {
|
|
$gm->add_cap($cap, $status);
|
|
$offi->add_cap($cap, $status);
|
|
}
|
|
|
|
$rl->add_cap('wowpress_edit_raids', true);
|
|
$rl->add_cap('wowpress_edit_characters', true);
|
|
|
|
$rl->add_cap('wowpress_view_raids');
|
|
$raider->add_cap('wowpress_view_raids');
|
|
$novize->add_cap('wowpress_view_raids');
|
|
$ff->add_cap('wowpress_view_raids');
|
|
|
|
$rl->add_cap('wowpress_view_teamspeak');
|
|
$raider->add_cap('wowpress_view_teamspeak');
|
|
$novize->add_cap('wowpress_view_teamspeak');
|
|
$ff->add_cap('wowpress_view_teamspeak');
|
|
|
|
$rl->add_cap('wowpress_view_birthdays');
|
|
$raider->add_cap('wowpress_view_birthdays');
|
|
$novize->add_cap('wowpress_view_birthdays');
|
|
$ff->add_cap('wowpress_view_birthdays');
|
|
|
|
|
|
$rl->add_cap('wowpress_view_complaints');
|
|
$raider->add_cap('wowpress_view_complaints');
|
|
$novize->add_cap('wowpress_view_complaints');
|
|
$ff->add_cap('wowpress_view_complaints');
|
|
|
|
}
|
|
|
|
|
|
function isAllowed($capability)
|
|
{
|
|
if (!current_user_can($capability)) :
|
|
include plugin_dir_path(__FILE__) . '../pages/404.php';
|
|
die;
|
|
endif;
|
|
}
|
|
|
|
function checkNonce($nonce){
|
|
return isset($_POST[$nonce.'_nonce']) && wp_verify_nonce($_POST[$nonce.'_nonce'], $nonce);
|
|
}
|
|
|
|
|
|
function setGlobalUser(){
|
|
global $user;
|
|
$user = get_current_user_id();
|
|
if ($user) {
|
|
$user = User::find($user);
|
|
} else {
|
|
$user = new User();
|
|
$user->ID = 0;
|
|
$user->login = "Gast";
|
|
}
|
|
}
|
|
|
|
add_action( 'show_user_profile', 'wowpress_extra_user_profile_fields' );
|
|
add_action( 'edit_user_profile', 'wowpress_extra_user_profile_fields' );
|
|
function wowpress_extra_user_profile_fields( $user ) {
|
|
?>
|
|
<h3><?php _e("Nette Zusatzinfos", "blank"); ?></h3>
|
|
<table class="form-table">
|
|
<tr>
|
|
<th><label for="birthday"><?php _e("Geburtstag"); ?></label></th>
|
|
<td>
|
|
<input type="date" name="birthday" id="birthday" class="regular-text"
|
|
value="<?php echo esc_attr( get_the_author_meta( 'birthday', $user->ID ) ); ?>" /><br />
|
|
<span class="description"><?php _e("Bitte gib doch dein Geburtsdatum ein :)"); ?></span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th><label for="btag"><?php _e("Battle-Tag"); ?></label></th>
|
|
<td>
|
|
<input type="text" name="btag" id="btag" class="regular-text"
|
|
value="<?php echo esc_attr( get_the_author_meta( 'btag', $user->ID ) ); ?>" /><br />
|
|
<span class="description"><?php _e("Nur wenn du willst :D"); ?></span>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
}
|
|
|
|
add_action( 'personal_options_update', 'wowpress_save_extra_user_profile_fields' );
|
|
add_action( 'edit_user_profile_update', 'wowpress_save_extra_user_profile_fields' );
|
|
function wowpress_save_extra_user_profile_fields( $user_id ) {
|
|
$saved = false;
|
|
if ( current_user_can( 'edit_user', $user_id ) ) {
|
|
update_user_meta( $user_id, 'birthday', $_POST['birthday'] );
|
|
update_user_meta( $user_id, 'btag', $_POST['btag'] );
|
|
$saved = true;
|
|
}
|
|
return true;
|
|
}
|