Exemplo n.º 1
0
 /**
  *
  * @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;
 }