if (password.value.length < 4) {
				alert('Office password must be more than 3 characters in length');
				return false;
			}
		}
		return true;
	}
	function show_password_form() {
		var editor_access = document.getElementById('editor_level_access');
		var password_form = document.getElementById('password_form');
		password_form.style.display = (editor_access.checked ? 'block' : 'none');
	}
	// ]]>
	</script>
	<?php 
if ('manage' === VipMode()) {
    ?>
		<div class='BlueBox'>
			<h2>Office Access</h2>
			<form action="<?php 
    echo vip_url('members/info/' . $membership['user_id']);
    ?>
" class="form" method='POST' onSubmit="return submit_checker();">
				<fieldset>
					<label for='office_access_level'>Access level:</label>
					<input style="float:none;" type="radio" onChange="show_password_form()" id="none_level_access" name="office_access_level" value="none" <?php 
    if (!($membership['office_writer_access'] || $membership['office_editor_access'])) {
        echo 'checked="checked"';
    }
    ?>
> No Access
		<label for="filter_payment">Payment, Showing:</label>
		<select id="filter_payment" onchange="searchMemberList();">
			<option value="all" selected="selected">All</option>
			<option value="paid">Paid</option>
			<option value="notpaid">Non-paid</option>
		</select>
		<label for="filter_businesscard">Business Card, Showing:</label>
		<select id="filter_businesscard" onchange="searchMemberList();">
			<option value="all" selected="selected">All</option>
			<option value="ok">Has business card</option>
			<option value="approval">Waiting for approval</option>
			<option value="expired">Business card expired</option>
			<option value="none">No business card</option>
		</select>
<?php 
if ('manage' !== VipMode()) {
    ?>
		<label for="filter_vip">VIP, Showing:</label>
		<select id="filter_vip" onchange="searchMemberList();">
			<option value="all" selected="selected">All</option>
			<option value="vip">Is a VIP</option>
			<option value="requested">Has requested to be a VIP</option>
			<option value="none">Is not a VIP</option>
		</select>
<?php 
} else {
    ?>
		<label for="filter_byline">Byline, Showing:</label>
		<select id="filter_byline" onchange="searchMemberList();">
			<option value="all" selected="selected">All</option>
			<option value="ok">Has byline</option>
/**
 * @param $Permission string or array of the following levels (in the order that
 *	they are to be obtained:
 *	- 'public' - anyone
 *	- 'student' - must be logged on
 *	- 'vip' - must be logged on as a vip
 *	- 'vip+pr' - must be logged on as a vip or a pr rep
 *	- 'office' - must be in the office
 *	- 'pr' - must be in the office as a pr rep
 *	- 'editor' - must be in the office as an editor
 *	- 'admin' - must be in the office as an administrator
 * @param $LoadMainFrame bool Whether to load the mainframe if permision hasn't
 *	 yet been acquired (for the login screen).
 * @return bool Whether enough privilages.
 */
function CheckPermissions($Permission = 'public', $LoadMainFrame = TRUE, $NoPost = FALSE)
{
    // Start a session
    $CI =& get_instance();
    // Initialisation stuff
    $CI->load->library('messages');
    $CI->load->model('user_auth');
    $CI->load->model('pages_model');
    // Decide on output format
    if (isset($_POST['fb_sig'])) {
        /// @todo AUTHENTICATE FACEBOOK
        OutputMode('fbml');
        global $_SESSION;
        $_SESSION = array();
    } else {
        if (isset($_GET['opmode'])) {
            OutputMode($_GET['opmode']);
        } else {
            OutputMode(DefaultOutputMode());
        }
    }
    // If the output mode is not supported, show a 404
    if (!in_array(OutputMode(), OutputModes())) {
        show_404();
    }
    // Translate some auxilliary permissions
    $auxilliary_permissions = array('moderator' => 'editor');
    if (array_key_exists($Permission, $auxilliary_permissions)) {
        $Permission = $auxilliary_permissions[$Permission];
    }
    $user_level = GetUserLevel();
    // URL analysis regarding vip area
    $thru_viparea = $CI->uri->total_segments() >= 1 && $CI->uri->segment(1) === 'viparea';
    $thru_office_pr = $CI->uri->total_segments() >= 3 && $CI->uri->segment(1) === 'office' && $CI->uri->segment(2) === 'pr' && $CI->uri->segment(3) === 'org';
    $thru_office_manage = $CI->uri->total_segments() >= 2 && $CI->uri->segment(1) === 'office' && $CI->uri->segment(2) === 'manage';
    $company_short_name = $CI->config->Item('company_organisation_id');
    $organisation_specified = FALSE;
    if ($thru_viparea) {
        if ($CI->uri->total_segments() > 1) {
            $organisation_shortname = $CI->uri->segment(2);
            $organisation_specified = TRUE;
            VipSegments(2);
        } else {
            $organisation_shortname = $CI->user_auth->organisationShortName;
        }
        // don't allow access to vip area of the company, only through office/manage
        if ($organisation_shortname === $company_short_name) {
            $organisation_shortname = '';
            $CI->user_auth->logoutOrganisation();
            redirect('');
        }
        vip_url('viparea/' . $organisation_shortname . '/', TRUE);
    } elseif ($thru_office_pr) {
        $organisation_shortname = $CI->uri->segment(4);
        $organisation_specified = TRUE;
        VipSegments(4);
        vip_url('office/pr/org/' . $organisation_shortname . '/', TRUE);
    } elseif ($thru_office_manage) {
        $organisation_shortname = $company_short_name;
        $organisation_specified = TRUE;
        VipSegments(2);
        vip_url('office/manage/', TRUE);
    } else {
        $organisation_shortname = '';
    }
    VipOrganisation(FALSE, $organisation_shortname);
    VipOrganisation(TRUE, $CI->user_auth->organisationShortName);
    // Login actions for student/vip/office logins
    $student_login_action = array('redirect+url', 'login/main', 'post' => TRUE);
    if ($organisation_specified) {
        $vip_login_action = array('redirect+url', 'login/vipswitch/' . $organisation_shortname, 'post' => TRUE);
    } else {
        $vip_login_action = array('redirect+url', 'login/vip', 'post' => TRUE);
    }
    $office_login_action = array('redirect+url', 'login/office', 'post' => TRUE);
    // If vip+pr, use URI to decide which
    if ($Permission === 'vip+pr') {
        $Permission = $thru_viparea ? 'vip' : ($thru_office_pr ? 'pr' : ($thru_office_manage ? 'manage' : ''));
    } elseif ($Permission === 'vip') {
        $Permission = $thru_viparea ? 'vip' : ($thru_office_manage ? 'manage' : '');
    } elseif ($thru_office_pr && $Permission !== 'pr' || $thru_viparea && $Permission !== 'vip' || $thru_office_manage && $Permission !== 'manage') {
        $Permission = '';
    }
    // Matrix indexed by user level, then page level, of behaviour
    // Possible values:
    //	NULL/notset	http error 404
    //	TRUE		allowed
    //	array		specially handled
    //	otherwise	access denied
    if ($user_level === 'public') {
        $action_levels = array('public' => TRUE, 'student' => $student_login_action, 'vip' => $student_login_action, 'office' => $student_login_action, 'pr' => $student_login_action, 'editor' => $student_login_action, 'manage' => $student_login_action, 'admin' => $student_login_action);
    } elseif ($user_level === 'student') {
        $action_levels = array('public' => TRUE, 'student' => TRUE, 'vip' => $vip_login_action, 'office' => $office_login_action, 'pr' => $office_login_action, 'editor' => $office_login_action, 'manage' => $office_login_action, 'admin' => $office_login_action);
    } elseif ($user_level === 'organisation') {
        // Logged in from public as organisation
        $allow_vip = array_key_exists($organisation_shortname, $CI->user_auth->allTeams);
        $action_levels = array('public' => TRUE, 'student' => TRUE, 'vip' => $allow_vip, 'office' => FALSE, 'pr' => FALSE, 'editor' => FALSE, 'manage' => FALSE, 'admin' => FALSE);
        if ($allow_vip) {
            VipOrganisationId(FALSE, $CI->user_auth->allTeams[$organisation_shortname][0]);
            VipOrganisationName(FALSE, $CI->user_auth->allTeams[$organisation_shortname][1]);
            VipOrganisationId(TRUE, $CI->user_auth->organisationLogin);
            VipOrganisationName(TRUE, $CI->user_auth->organisationName);
            VipMode('viparea');
            VipLevel('write', TRUE);
        }
    } elseif ($user_level === 'vip') {
        // Logged in as student and in VIP area
        $vip_door_open_action = array('message', 'warning', HtmlButtonLink(site_url('logout/vip' . $CI->uri->uri_string()), 'Leave VIP Area') . $CI->pages_model->GetPropertyText('login:warn_open_vip', TRUE), TRUE);
        $allow_vip = array_key_exists($organisation_shortname, $CI->user_auth->allTeams);
        if ($allow_vip) {
            $vip_accessible = TRUE;
            VipOrganisationId(FALSE, $CI->user_auth->allTeams[$organisation_shortname][0]);
            VipOrganisationName(FALSE, $CI->user_auth->allTeams[$organisation_shortname][1]);
            VipOrganisationId(TRUE, $CI->user_auth->organisationLogin);
            VipOrganisationName(TRUE, $CI->user_auth->organisationName);
            VipMode('viparea');
            VipLevel('write', TRUE);
        } else {
            // check permissions to access this organisation
            $vip_organisations = $CI->user_auth->getOrganisationLogins();
            foreach ($vip_organisations as $organisation) {
                if ($organisation['organisation_directory_entry_name'] == $organisation_shortname) {
                    $vip_accessible = $vip_login_action;
                    break;
                }
            }
            if (!isset($vip_accessible)) {
                $vip_accessible = FALSE;
            }
        }
        $action_levels = array('public' => $vip_door_open_action, 'student' => $vip_door_open_action, 'vip' => $vip_accessible, 'office' => $office_login_action, 'pr' => $office_login_action, 'editor' => $office_login_action, 'manage' => $office_login_action, 'admin' => $office_login_action);
    } else {
        // Office
        // Door left open actions
        $office_door_open_action = array('message', 'warning', HtmlButtonLink(site_url('logout/office' . $CI->uri->uri_string()), 'Leave Office') . $CI->pages_model->GetPropertyText('login:warn_open_office', TRUE), TRUE);
        $admin_door_open_action = $office_door_open_action;
        // check permissions to access this organisation
        $manage_accessible = FALSE;
        $vip_organisations = $CI->user_auth->getOrganisationLogins();
        foreach ($vip_organisations as $organisation) {
            if ($organisation['organisation_directory_entry_name'] == $company_short_name) {
                $manage_accessible = TRUE;
                break;
            }
        }
        // Refine further
        if ($user_level === 'office') {
            $action_levels = array('public' => $office_door_open_action, 'student' => $office_door_open_action, 'vip' => $vip_login_action, 'office' => TRUE, 'pr' => 'pr', 'editor' => FALSE, 'manage' => FALSE, 'admin' => FALSE);
        } elseif ($user_level === 'editor') {
            $action_levels = array('public' => $office_door_open_action, 'student' => $office_door_open_action, 'vip' => $vip_login_action, 'office' => TRUE, 'pr' => TRUE, 'editor' => TRUE, 'manage' => $manage_accessible, 'admin' => FALSE);
        } elseif ($user_level === 'admin') {
            $action_levels = array('public' => $admin_door_open_action, 'student' => $admin_door_open_action, 'vip' => $vip_login_action, 'office' => TRUE, 'pr' => TRUE, 'editor' => TRUE, 'manage' => $manage_accessible, 'admin' => TRUE);
        }
        // Change an office user to pr if they rep for the organisation
        static $vipModes = array('pr' => 'office', 'manage' => 'manage');
        if (array_key_exists($Permission, $vipModes)) {
            // Get organisation information
            $CI->db->select('organisation_entity_id AS id,' . 'organisation_name AS name,' . 'organisation_pr_rep AS rep');
            $CI->db->join('entities', 'organisation_entity_id = entity_id', 'inner');
            $CI->db->where(array('organisation_directory_entry_name' => $organisation_shortname, 'entity_deleted = FALSE'));
            $matching_org = $CI->db->get('organisations')->result_array();
            if (empty($matching_org)) {
                $action_levels[$Permission] = FALSE;
            } else {
                $matching_org = $matching_org[0];
                if ($action_levels[$Permission] === 'pr') {
                    $action_levels[$Permission] = TRUE;
                    $rep = $matching_org['rep'] == $CI->user_auth->entityId;
                    if ($rep) {
                        VipLevel('rep', TRUE);
                    } else {
                        VipLevel('read', TRUE);
                    }
                } elseif ($action_levels[$Permission]) {
                    VipLevel('write', TRUE);
                }
                VipOrganisationId(FALSE, $matching_org['id']);
                VipOrganisationName(FALSE, $matching_org['name']);
                VipOrganisationId(TRUE, $matching_org['id']);
                VipOrganisationName(TRUE, $matching_org['name']);
                VipMode($vipModes[$Permission]);
            }
        }
    }
    $access_allowed = FALSE;
    // No permission set or NULL indicates page doesn't exist at this URI
    if (!array_key_exists($Permission, $action_levels) || NULL === $action_levels[$Permission]) {
        return show_404();
    } else {
        $action = $action_levels[$Permission];
        // True is allow
        if (TRUE === $action) {
            $access_allowed = TRUE;
        } elseif (is_array($action)) {
            // Array is special decider
            // Perform action
            switch ($action[0]) {
                case 'handle':
                    $access_allowed = $action[1]($action[2], $Permission);
                    if (array_key_exists(3, $action)) {
                        $CI->messages->AddMessage($action[3], $action[4], FALSE);
                    }
                    break;
                case 'redirect+url':
                    $action[1] .= $CI->uri->uri_string();
                case 'redirect':
                    if (array_key_exists(2, $action)) {
                        $CI->messages->AddMessage($action[2], $action[3]);
                    }
                    if (array_key_exists('post', $action) && $action['post']) {
                        // store post data
                        if (!empty($_POST)) {
                            SetRedirectData($action[1], serialize($_POST));
                        }
                    }
                    // Before redirecting, forward on the redirected post data
                    $post_data = GetRedirectData();
                    if (NULL !== $post_data) {
                        SetRedirectData($action[1], $post_data);
                    }
                    // Do the redirect
                    redirect($action[1]);
                    return FALSE;
                case 'message':
                    $CI->messages->AddMessage($action[1], $action[2], FALSE);
                    $access_allowed = $action[3];
                    break;
                default:
                    break;
            }
        } else {
            // Anything else is disallow
            $CI->messages->AddMessage('warning', 'You do not have the ' . $Permission . ' privilages required!');
            //redirect('');
        }
        // Restore post data
        if ((TRUE === $action || is_array($action)) && !$NoPost) {
            $post_data = GetRedirectData();
            if (NULL !== $post_data) {
                $post_data = @unserialize($post_data);
                if (is_array($post_data)) {
                    if (!isset($_POST)) {
                        global $_POST;
                        $_POST = array();
                    }
                    foreach ($post_data as $key => $value) {
                        $_POST[$key] = $value;
                    }
                }
            }
        }
    }
    if ('fbml' === OutputMode()) {
        $Permission = 'facebookapp';
    } elseif ('ajax' === OutputMode()) {
        $Permission = 'ajax';
    } elseif (FeedOutputMode()) {
        $Permission = 'feed';
    }
    SetupMainFrame($Permission, FALSE);
    if (!$access_allowed && $LoadMainFrame) {
        $CI->load->library('Custom_pages');
        $page = new CustomPageView('error:permissions');
        $CI->main_frame->SetContent($page);
        $CI->main_frame->Load();
    }
    return $access_allowed;
}
 /**
  * @param $EntityId integer Entity id.
  * @param $Page [string] Page name.
  */
 function info($EntityId = NULL, $Page = NULL)
 {
     if (!CheckPermissions('vip')) {
         return;
     }
     $this->_SetupTabs('members');
     // If no entity id was provided, redirect back to members list.
     if (NULL === $EntityId) {
         return redirect(vip_url('members/list'));
     }
     // Read the post data for changing office access (MANAGE ONLY)
     if ('manage' === VipMode()) {
         $access_level = $this->input->post('office_access_level');
         if (FALSE !== $access_level) {
             $access_password = $this->input->post('password');
             $access_password_confirm = $this->input->post('confirm_password');
             if ($access_level == 'editor') {
                 if ($access_password != $access_password_confirm) {
                     $this->messages->AddMessage('error', 'Passwords do not match, please confirm your password.');
                 } elseif (strlen($access_password) == 0) {
                     $this->messages->AddMessage('information', 'You must assign editors a password.');
                 } elseif (strlen($access_password) < 4) {
                     $this->messages->AddMessage('error', 'Office password must be more than 3 characters in length.');
                 } else {
                     $success_rows = $this->members_model->UpdateAccessLevel('1', null, $EntityId);
                     $this->user_auth->setOfficePassword($access_password, $EntityId);
                     $user = $this->members_model->GetUsername($EntityId);
                     $to = $user->entity_username . $this->config->Item('username_email_postfix');
                     $from = $this->pages_model->GetPropertyText('system_email', true);
                     $subject = $this->pages_model->GetPropertyText('office_password_email_subject', true);
                     $message = str_replace('%%password%%', $access_password, str_replace('%%nickname%%', $user->nickname, $this->pages_model->GetPropertyText('office_password_email_body', true)));
                     if ($to && $subject && $message && $from) {
                         $this->load->helper('yorkermail');
                         try {
                             yorkermail($to, $subject, $message, $from);
                             $this->main_frame->AddMessage('success', 'The e-mail containing the password was sent successfully.');
                         } catch (Exception $e) {
                             $this->main_frame->AddMessage('error', 'E-mail Sending Failed: ' . $e->getMessage());
                         }
                     } else {
                         $this->messages->AddMessage('error', 'E-mail Sending Failed.');
                     }
                 }
             } elseif ($EntityId == $this->user_auth->entityId) {
                 // Ensure that the privilages user isn't trying to demote themselves.
                 $this->messages->AddMessage('error', 'You cannot reduce your own access privilages. You must ask another editor to do so for you.');
             } elseif ($access_level == 'writer') {
                 $success_rows = $this->members_model->UpdateAccessLevel('1', null, $EntityId);
                 if ($success_rows > 0) {
                     $this->messages->AddMessage('success', 'User has been set to "Writer".');
                 } else {
                     $this->messages->AddMessage('error', 'Operation Failed. User has not been set to "Writer".');
                 }
             } elseif ($access_level == 'none') {
                 $success_rows = $this->members_model->UpdateAccessLevel('0', null, $EntityId);
                 if ($success_rows > 0) {
                     $this->messages->AddMessage('success', 'User has been set to "No Access".');
                 } else {
                     $this->messages->AddMessage('error', 'Operation Failed. User has not been set to "No Access".');
                 }
             }
         }
     }
     // Get membership information for the first time
     // This will determine whether the entity is a member.
     $membership = $this->members_model->GetMemberDetails(VipOrganisationId(), $EntityId, 'TRUE', array(), FALSE);
     if (!empty($membership)) {
         $membership = $membership[0];
         // Read the post data
         $button = $this->input->post('member_byline_reset');
         if ($button === 'Set Default Byline') {
             if ($this->members_model->SetDefaultByline($EntityId, VipOrganisationId())) {
                 $this->messages->AddMessage('success', 'Byline was added successfully.');
             } else {
                 $this->messages->AddMessage('error', 'Byline could not be added, a byline might already exist.');
             }
             return redirect(vip_url('members/info/' . $EntityId));
         }
         // Read the post data
         $button = $this->input->post('member_cmd');
         if ($button === 'Remove') {
             if ($this->members_model->RemoveSubscription($EntityId, VipOrganisationId())) {
                 $this->messages->AddMessage('success', 'Member removed successfully.');
                 return redirect(vip_url('members/list'));
             } else {
                 $this->messages->AddMessage('error', 'No changes were made to the membership.');
                 return redirect(vip_url('members/info/' . $EntityId));
             }
         } elseif ($button === 'Invite') {
             if ($this->members_model->InviteMember($EntityId, VipOrganisationId())) {
                 $this->messages->AddMessage('success', 'User invited successfully.');
             } else {
                 $this->messages->AddMessage('error', 'No changes were made to the membership.');
             }
             return redirect(vip_url('members/info/' . $EntityId));
         } elseif ($button === 'Withdraw Invite') {
             if ($this->members_model->WithdrawInvite($EntityId, VipOrganisationId())) {
                 $this->messages->AddMessage('success', 'Invite withdrawn successfully.');
                 return redirect(vip_url('members/list'));
             } else {
                 $this->messages->AddMessage('error', 'No changes were made to the membership.');
                 return redirect(vip_url('members/info/' . $EntityId));
             }
         } elseif ($button === 'Accept') {
             if ($this->members_model->ConfirmMember($EntityId, VipOrganisationId())) {
                 $this->messages->AddMessage('success', 'Member accepted successfully.');
             } else {
                 $this->messages->AddMessage('error', 'No changes were made to the membership.');
             }
             return redirect(vip_url('members/info/' . $EntityId));
         }
         // Read the post data
         $button = $this->input->post('vip_cmd');
         if ($button === 'Demote' || $button === 'Reject') {
             if ($this->members_model->UpdateVipStatus('none', $EntityId, VipOrganisationId())) {
                 $this->messages->AddMessage('success', 'Member demoted successfully.');
             } else {
                 $this->messages->AddMessage('error', 'No changes were made to the membership.');
             }
             return redirect(vip_url('members/info/' . $EntityId));
         } elseif ($button === 'Promote' || $button === 'Accept') {
             if ($this->members_model->UpdateVipStatus('approved', $EntityId, VipOrganisationId())) {
                 $this->messages->AddMessage('success', 'Member promoted successfully.');
             } else {
                 $this->messages->AddMessage('error', 'No changes were made to the membership.');
             }
             return redirect(vip_url('members/info/' . $EntityId));
         }
         // Read the post data
         $button = $this->input->post('member_update');
         if ($button === 'Update') {
             $member_paid = FALSE !== $this->input->post('member_paid');
             $changes = array();
             if ($member_paid !== (bool) $membership['paid']) {
                 // Paid has changed
                 $membership['paid'] = $changes['paid'] = $member_paid;
             }
             // If changes save them
             // If no changes don't save them
             if (empty($changes)) {
                 $this->messages->AddMessage('information', 'No changes were made to the membership.');
             } else {
                 /// @todo Do in single update to db
                 $successes = array();
                 $failures = array();
                 if (array_key_exists('paid', $changes)) {
                     $num_changes = $this->members_model->UpdatePaidStatus($changes['paid'] ? '1' : '0', $EntityId, VipOrganisationId());
                     if ($num_changes) {
                         $successes[] = 'paid';
                     } else {
                         $failures[] = 'paid';
                     }
                 }
                 if (!count($failures)) {
                     $this->messages->AddMessage('success', 'The membership\'s ' . implode(', ', $successes) . ' flags were successfully updated');
                 } elseif (!count($successes)) {
                     $this->messages->AddMessage('error', 'The membership\'s ' . implode(', ', $failures) . ' flags could not be updated');
                 } else {
                     $this->messages->AddMessage('error', 'The membership\'s ' . implode(', ', $failures) . ' flags could not be updated (the flags ' . implode(', ', $successes) . ' were successfully updated)');
                 }
             }
         }
         // DISPLAY USER INFORMATION --------------------------------- //
         $this->pages_model->SetPageCode('viparea_members_info');
         // Stringify gender
         $membership['gender'] = $membership['gender'] == 'm' ? 'male' : ($membership['gender'] == 'f' ? 'female' : 'unknown');
         // Stringify status
         if (!$membership['user_confirmed'] && !$membership['org_confirmed']) {
             $membership['status'] = 'Non-member';
             $membership['cmd_string'] = 'This user is <b>not a member</b> of your organisation, click below to invite them.';
             $membership['cmd_action'] = 'Invite';
             $membership['cmd_js'] = '';
         } elseif (!$membership['user_confirmed'] && $membership['org_confirmed']) {
             $membership['status'] = 'Invited';
             $membership['cmd_string'] = 'You have <b>invited</b> this user to join your organisation, but they have not yet replied, click below to withdraw your invitation.';
             $membership['cmd_action'] = 'Withdraw Invite';
             $membership['cmd_js'] = "return confirm('Are you sure that you want to withdraw the invite for this user?');";
         } elseif ($membership['user_confirmed'] && !$membership['org_confirmed']) {
             $membership['status'] = 'Requested to join';
             $membership['cmd_string'] = 'This user has <b>requested</b> to become a member of your organisation, click below to accept their request.';
             $membership['cmd_action'] = 'Accept';
             $membership['cmd_js'] = '';
         } else {
             $membership['status'] = 'Member';
             $membership['cmd_string'] = 'This user is a <b>member</b> of your organisation, click below to remove them.';
             $membership['cmd_action'] = 'Remove';
             $membership['cmd_js'] = "return confirm('Are you sure that you want to remove this member from your organisation?');";
         }
         if ('manage' === VipMode() && (!$membership['has_byline'] || $membership['byline_needs_approval'] || $membership['byline_expired'])) {
             $membership['byline_reset'] = true;
         }
         $data = array('main_text' => $this->pages_model->GetPropertyWikitext('main_text'), 'membership' => $membership);
         // Set up the content
         $this->main_frame->SetContentSimple('members/editmembers', $data);
         // Set the title parameters
         $this->main_frame->SetTitleParameters(array('organisation' => VipOrganisationName(), 'firstname' => $membership['firstname'], 'surname' => $membership['surname']));
     } else {
         // The entity isn't a member of the organisation
         $this->load->library('custom_pages');
         $this->main_frame->SetContent(new CustomPageView('vip_members_notmember', 'error'));
     }
     $this->main_frame->Load();
 }