function generate_inner_html()
 {
     global $current_theme_path, $base_url, $network_info, $login_uid;
     if ($network_info->type == MOTHER_NETWORK_TYPE) {
         if ($login_uid == SUPER_USER_ID) {
             $this->set_perms('all');
         } else {
             $role_obj = Roles::get_user_role($login_uid);
             if (empty($role_obj)) {
                 $this->set_perms('none');
             } else {
                 $tasks = Roles::get_tasks_of_role($role_obj->role_id);
                 $this->set_perms($tasks);
             }
         }
     } else {
         //spawned networks only admin roles
         if (Network::is_admin($network_info->network_id, $login_uid) || $login_uid == SUPER_USER_ID) {
             //owner of network
             $this->set_perms('all');
             //todo - quick fix here
             $this->task_perms['meta_networks'] = FALSE;
         } else {
             $this->set_perms('none');
         }
     }
     $extra = unserialize($network_info->extra);
     $network_content_moderation = FALSE;
     if (@$extra['network_content_moderation'] == NET_YES) {
         // this can be empty or not set
         $network_content_moderation = TRUE;
     }
     $inner_template = NULL;
     switch ($this->mode) {
         default:
             $inner_template = dirname(__FILE__) . '/center_inner_private.tpl';
     }
     $obj_inner_template =& new Template($inner_template);
     $obj_inner_template->set('base_url', $base_url);
     $obj_inner_template->set('task_perms', $this->task_perms);
     $obj_inner_template->set('network_content_moderation', $network_content_moderation);
     $inner_html = $obj_inner_template->fetch();
     return $inner_html;
 }
Exemple #2
0
 /**
    Purpose : this function checks if a given user has permission to given task
    @param : $uid, $task_id
    @return : TRUE, FALSE
   **/
 public static function check_permission($uid, $task_id)
 {
     Logger::log("Enter: function Roles::check_permission");
     if (SUPER_USER_ID == $uid) {
         return TRUE;
         //TODO:same holds true for network owner
     }
     $role_obj = Roles::get_user_role($uid);
     if (empty($role)) {
         Logger::log("Exit: function Roles::check_permission");
         return FALSE;
     }
     $role = $role_obj->role_id;
     $perm = Roles::is_roletask_exist($role, $task_id);
     //dont support multiple roles of user
     Logger::log("Exit: function Roles::check_permission");
     return $perm;
 }
if ($sel_role_id) {
    $user_id = (int) $_REQUEST['uid'];
    $user_roles = array();
    $user_groups = array();
    $u_groups = Group::get_user_groups($user_id);
    if (count($u_groups) < 1) {
        $u_groups = Group::get_all_groups_for_admin(FALSE);
        foreach ($u_groups as $group) {
            $user_groups[$group['group_id']] = $group['title'];
        }
    } else {
        foreach ($u_groups as $group) {
            $user_groups[$group['gid']] = $group['name'];
        }
    }
    $u_roles = Roles::get_user_role($user_id, DB_FETCHMODE_ASSOC);
    foreach ($u_roles as $role) {
        $role_id = $role['role_id'];
        $role_name = Roles::get_role_name($role_id);
        $role_tasks = Roles::get_tasks_of_role($role_id);
        $role_extra = unserialize($role['extra']);
        $role_info = array('role_id' => $role_id, 'name' => $role_name, 'extra' => $role_extra, 'tasks' => $role_tasks);
        $user_roles[$role_id] = $role_info;
        if ($role_id == $sel_role_id) {
            $selected_role = $role_info;
        }
    }
}
?>

    <?php