. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
| Server IP : 94.23.64.18 / Your IP :
216.73.216.185 [
Web Server : Apache System : Linux webm005.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64 User : villadal ( 6036) PHP Version : 7.4.33 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl Domains : 2 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/villadal/www/old/booked/Pages/ |
Upload File : |
<?php
/**
Copyright 2011-2014 Nick Korbel
This file is part of Booked Scheduler.
Booked Scheduler is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Booked Scheduler is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Booked Scheduler. If not, see <http://www.gnu.org/licenses/>.
*/
require_once(ROOT_DIR . 'Pages/SecurePage.php');
require_once(ROOT_DIR . 'Presenters/ProfilePresenter.php');
interface IProfilePage extends IPage, IActionPage
{
public function SetFirstName($firstName);
public function SetLastName($lastName);
public function SetEmail($email);
public function SetUsername($username);
public function SetTimezone($timezoneName);
public function SetHomepage($homepageId);
public function SetTimezones($timezoneValues, $timezoneOutput);
public function SetHomepages($homepageValues, $homepageOutput);
public function GetFirstName();
public function GetLastName();
public function GetEmail();
public function GetLoginName();
public function GetTimezone();
public function GetHomepage();
public function GetPhone();
public function GetOrganization();
public function GetPosition();
public function SetPhone($phone);
public function SetOrganization($organization);
public function SetPosition($position);
public function SetAttributes($attributes);
public function GetDefaultSchedule();
/**
* @abstract
* @return AttributeFormElement[]
*/
public function GetAttributes();
}
class ProfilePage extends ActionPage implements IProfilePage
{
/**
* @var \ProfilePresenter
*/
private $presenter;
public function __construct()
{
parent::__construct('EditProfile');
$this->presenter = new ProfilePresenter($this,
new UserRepository(),
new AttributeService(new AttributeRepository()),
new ScheduleRepository());
}
public function ProcessPageLoad()
{
$this->presenter->PageLoad();
$this->Display('profile.tpl');
}
public function SetFirstName($firstName)
{
$this->Set('FirstName', $firstName);
}
public function SetEmail($email)
{
$this->Set('Email', $email);
}
public function SetHomepage($homepageId)
{
$this->Set('Homepage', $homepageId);
}
public function SetLastName($lastName)
{
$this->Set('LastName', $lastName);
}
public function SetTimezone($timezoneName)
{
$this->Set('Timezone', $timezoneName);
}
public function SetHomepages($homepageValues, $homepageOutput)
{
$this->Set('HomepageValues', $homepageValues);
$this->Set('HomepageOutput', $homepageOutput);
}
public function SetTimezones($timezoneValues, $timezoneOutput)
{
$this->Set('TimezoneValues', $timezoneValues);
$this->Set('TimezoneOutput', $timezoneOutput);
}
public function SetUsername($username)
{
$this->Set('Username', $username);
}
public function GetEmail()
{
return $this->GetForm(FormKeys::EMAIL);
}
public function GetFirstName()
{
return $this->GetForm(FormKeys::FIRST_NAME);
}
public function GetLastName()
{
return $this->GetForm(FormKeys::LAST_NAME);
}
public function GetLoginName()
{
return $this->GetForm(FormKeys::USERNAME);
}
public function GetHomepage()
{
return $this->GetForm(FormKeys::DEFAULT_HOMEPAGE);
}
public function GetTimezone()
{
return $this->GetForm(FormKeys::TIMEZONE);
}
public function GetOrganization()
{
return $this->GetForm(FormKeys::ORGANIZATION);
}
public function GetPhone()
{
return $this->GetForm(FormKeys::PHONE);
}
public function GetPosition()
{
return $this->GetForm(FormKeys::POSITION);
}
public function SetOrganization($organization)
{
$this->Set('Organization', $organization);
}
public function SetPhone($phone)
{
$this->Set('Phone', $phone);
}
public function SetPosition($position)
{
$this->Set('Position', $position);
}
public function SetAttributes($attributes)
{
$this->Set('Attributes', $attributes);
}
public function GetAttributes()
{
return AttributeFormParser::GetAttributes($this->GetForm(FormKeys::ATTRIBUTE_PREFIX));
}
/**
* @return void
*/
public function ProcessAction()
{
$this->presenter->ProcessAction();
}
public function ProcessDataRequest($dataRequest)
{
// no-op
}
public function GetDefaultSchedule()
{
return $this->server->GetQuerystring(QueryStringKeys::SCHEDULE_ID);
}
}
?>