function get_cap_list_admin($ID, $type = 'role') { $content = $content_l = $content_r = ''; $count = 1; if ($type == 'role') { global $wp_roles; $wp_roles = new WP_Roles(); $current_role_caps = $wp_roles->get_role($ID); //print_r($current_role_caps); $cur_role_caps = $current_role_caps->capabilities; } else { if ($type == 'user') { $currentuser = new WP_User($ID); $cur_role_caps = $currentuser->allcaps; } } $caps = eventon_get_core_capabilities(); foreach ($caps as $capgroupf => $capgroup) { foreach ($capgroup as $cap) { $rowcap = $cap; if ($capgroupf == 'core') { $cap = str_replace('eventon', 'eventon Settings', $cap); } else { $cap = str_replace('eventon', 'event', $cap); } $human_nam = ucwords(str_replace('_', ' ', $cap)); $yesno_val = $ID == 'administrator' ? 'yes' : (isset($cur_role_caps[$rowcap]) ? 'yes' : 'no'); $disabled = $ID == 'administrator' ? 'disable' : null; $yesno_btn = eventon_html_yesnobtn(array('var' => $yesno_val)); $content = '<p class="yesno_row">' . $yesno_btn . '<input type="hidden" name="' . $rowcap . '" value="' . $yesno_val . '"><span class="field_name">' . $human_nam . '</span></p>'; if ($count > 10) { $content_r .= $content; } else { $content_l .= $content; } $count++; } } $content = "<table width='100%' ><tr><td valign='top'>" . $content_l . "</td><td valign='top'>" . $content_r . "</td></tr></table>"; return $content; }
function eventon_init_caps() { global $wp_roles; //print_r($wp_roles); if (class_exists('WP_Roles')) { if (!isset($wp_roles)) { $wp_roles = new WP_Roles(); } } $capabilities = eventon_get_core_capabilities(); foreach ($capabilities as $cap_group) { foreach ($cap_group as $cap) { $wp_roles->add_cap('administrator', $cap); } } }
function wplms_instructors_can_create_events() { global $wp_roles; if (class_exists('WP_Roles')) { if (!isset($wp_roles)) { $wp_roles = new WP_Roles(); } } if (function_exists('eventon_get_core_capabilities')) { $capabilities = eventon_get_core_capabilities(); unset($capabilities['core']); foreach ($capabilities as $cap_group) { foreach ($cap_group as $cap) { $wp_roles->add_cap('instructor', $cap); } } $wp_roles->remove_cap('instructor', 'manage_eventon'); } }