/** * View an individual member. */ public function view() { if ($member = $this->getMemberFromRequest()) { //shift the request params $this->request->shiftAllParams(); $this->request->shift(); $record = new MemberProfilePage(array('ID' => -1, 'Content' => '', 'ParentID' => $this->ID, 'MemberID' => $member->ID, 'URLSegment' => 'view/' . $member->ID)); $cont = new MemberProfilePage_Controller($record); $cont->setMember($member); return $cont; } return $this->httpError(404); }
public function ProfileLink($action = null) { if ($directorypage = MembersDirectoryPage::get()->first()) { return Controller::join_links($directorypage->Link(), "view", $this->owner->ID, $action); } return Controller::join_links(MemberProfilePage_Controller::config()->url_segment, $action); }
public function UpdateForm() { $member = singleton('SecurityContext')->getMember(); if (!$member) { return ''; } // if there's a member profile page availble, use it $filter = array(); if (class_exists('Multisites')) { $filter = array('SiteID' => Multisites::inst()->getCurrentSiteId()); } // use member profile page if possible if (class_exists('MemberProfilePage') && ($profilePage = MemberProfilePage::get()->filter($filter)->first())) { $controller = MemberProfilePage_Controller::create($profilePage); $form = $controller->ProfileForm(); $form->addExtraClass('ajax-form'); $form->loadDataFrom($member); return $form; } else { $password = new ConfirmedPasswordField('Password', $member->fieldLabel('Password'), null, null, (bool) $this->ID); $password->setCanBeEmpty(true); $fields = FieldList::create(TextField::create('FirstName', $member->fieldLabel('FirstName')), TextField::create('Surname', $member->fieldLabel('Surname')), EmailField::create('Email', $member->fieldLabel('Email')), $password); $actions = FieldList::create($update = FormAction::create('updateprofile', 'Update')); $form = Form::create($this, 'UpdateForm', $fields, $actions); $form->loadDataFrom($member); $this->extend('updateProfileDashletForm', $form); return $form; } return; }