/** * * @global array $submenu * @param string $tmpl * @param mvb_Model_Manager $parent * @return string */ public static function render($tmpl, $parent) { $all_caps = mvb_Model_API::getAllCapabilities(); $list = ''; if (is_array($all_caps) && count($all_caps)) { ksort($all_caps); $list_tmpl = mvb_Model_Template::retrieveSub('CAPABILITY_LIST', $tmpl); $row_tmpl = mvb_Model_Template::retrieveSub('CAPABILITY_ROW', $list_tmpl); $item_tmpl = mvb_Model_Template::retrieveSub('CAPABILITY_ITEM', $row_tmpl); $conf = mvb_Model_ConfigPress::getOption('aam.delete_capabilities'); $allow_delete = $conf == 'true' ? TRUE : FALSE; $grouped_list = array('Post & Page' => array(), 'Comment' => array(), 'Backend Interface' => array(), 'System' => array(), 'Miscelaneous' => array()); foreach ($all_caps as $cap => $dumy) { if (in_array($cap, self::$groups['system'])) { $grouped_list['System'][] = $cap; } elseif (in_array($cap, self::$groups['post'])) { $grouped_list['Post & Page'][] = $cap; } elseif (in_array($cap, self::$groups['comment'])) { $grouped_list['Comment'][] = $cap; } elseif (in_array($cap, self::$groups['backend'])) { $grouped_list['Backend Interface'][] = $cap; } else { $grouped_list['Miscelaneous'][] = $cap; } } foreach ($grouped_list as $group => $caps) { $item_list = ''; if (count($caps)) { foreach ($caps as $cap) { $item_list .= self::renderRow($cap, $item_tmpl, $parent, $allow_delete); } $list .= mvb_Model_Template::updateMarkers(array('###group_title###' => __($group, 'aam')), mvb_Model_Template::replaceSub('CAPABILITY_ITEM', $item_list, $row_tmpl)); } } $content = mvb_Model_Template::replaceSub('CAPABILITY_ROW', $list, $list_tmpl); $content = mvb_Model_Template::replaceSub('CAPABILITY_LIST', $content, $tmpl); $content = mvb_Model_Template::replaceSub('CAPABILITY_LIST_EMPTY', '', $content); } else { $empty = mvb_Model_Template::retrieveSub('CAPABILITY_LIST_EMPTY', $tmpl); $content = mvb_Model_Template::replaceSub('CAPABILITY_LIST', '', $tmpl); $content = mvb_Model_Template::replaceSub('CAPABILITY_LIST_EMPTY', $empty, $content); } return $content; }
protected function create_super() { global $wpdb; $answer = intval($_POST['answer']); $user_id = get_current_user_id(); if ($answer == 1) { $role_list = mvb_Model_API::getRoleList(FALSE); if (isset($role_list[WPACCESS_SADMIN_ROLE])) { $result = array('result' => 'success', 'new_role' => WPACCESS_SADMIN_ROLE); } else { $result = $this->create_role('Super Admin', mvb_Model_API::getAllCapabilities()); } if ($result['result'] == 'success') { //update current user role if (!is_user_member_of_blog(get_current_blog_id())) { $this->add_blog_admin(); } else { $this->assign_role(WPACCESS_SADMIN_ROLE, $user_id); } $this->deprive_role($user_id, WPACCESS_SADMIN_ROLE, WPACCESS_ADMIN_ROLE); mvb_Model_API::updateBlogOption(WPACCESS_FTIME_MESSAGE, $answer); } else { $result = array('result' => 'error'); } } else { $result = array('result' => 'error'); } return $result; }