Uname: 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: 6036 (villadal)
Group: 100 (users)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//home/villadal/www/old/////booked/Pages/Admin      ( Reset | Go to )
File Name: ManageBlackoutsPage.php
Edit
<?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/IPageable.php');
require_once(
ROOT_DIR 'Pages/Admin/AdminPage.php');
require_once(
ROOT_DIR 'Pages/Ajax/AutoCompletePage.php');
require_once(
ROOT_DIR 'Presenters/Admin/ManageReservationsPresenter.php');

interface 
IManageBlackoutsPage extends IPageableIActionPageIRepeatOptionsComposite
{
    
/**
     * @param array|BlackoutItemView[] $blackouts
     * @return void
     */
    
public function BindBlackouts($blackouts);

    
/**
     * @return string
     */
    
public function GetStartDate();

    
/**
     * @return string
     */
    
public function GetEndDate();

    
/**
     * @return int
     */
    
public function GetScheduleId();

    
/**
     * @return int
     */
    
public function GetResourceId();

    
/**
     * @param Date $date |null
     * @return void
     */
    
public function SetStartDate($date);

    
/**
     * @param Date $date |null
     * @return void
     */
    
public function SetEndDate($date);

    
/**
     * @param int $scheduleId
     * @return void
     */
    
public function SetScheduleId($scheduleId);

    
/**
     * @param int $resourceId
     * @return void
     */
    
public function SetResourceId($resourceId);

    
/**
     * @param array|Schedule[] $schedules
     * @return void
     */
    
public function BindSchedules($schedules);

    
/**
     * @param array|BookableResource[] $resources
     * @return void
     */
    
public function BindResources($resources);

    
/**
     * @return int
     */
    
public function GetDeleteBlackoutId();

    
/**
     * @return string
     */
    
public function GetDeleteScope();

    
/**
     * @return void
     */
    
public function ShowPage();

    public function 
ShowBlackout();

    
/**
     * @return bool
     */
    
public function GetApplyBlackoutToAllResources();

    
/**
     * @return int
     */
    
public function GetBlackoutScheduleId();

    
/**
     * @return int
     */
    
public function GetBlackoutResourceId();

    
/**
     * @return int[]
     */
    
public function GetBlackoutResourceIds();

    
/**
     * @return string
     */
    
public function GetBlackoutStartDate();

    
/**
     * @return string
     */
    
public function GetBlackoutStartTime();

    
/**
     * @return string
     */
    
public function GetBlackoutEndDate();

    
/**
     * @return string
     */
    
public function GetBlackoutEndTime();

    
/**
     * @return string
     */
    
public function GetBlackoutTitle();

    
/**
     * @return string|ReservationConflictResolution
     */
    
public function GetBlackoutConflictAction();

    
/**
     * @return int
     */
    
public function GetBlackoutId();

    
/**
     * @return string
     */
    
public function GetSeriesUpdateScope();

    
/**
     * @return int
     */
    
public function GetUpdateBlackoutId();

    
/**
     * @param bool $wasAddedSuccessfully
     * @param string $displayMessage
     * @param array|ReservationItemView[] $conflictingReservations
     * @param array|BlackoutItemView[] $conflictingBlackouts
     * @param string $timezone
     * @return void
     */
    
public function ShowAddResult($wasAddedSuccessfully$displayMessage$conflictingReservations,
                                  
$conflictingBlackouts$timezone);

    
/**
     * @param bool $wasAddedSuccessfully
     * @param string $displayMessage
     * @param array|ReservationItemView[] $conflictingReservations
     * @param array|BlackoutItemView[] $conflictingBlackouts
     * @param string $timezone
     * @return void
     */
    
public function ShowUpdateResult($wasAddedSuccessfully$displayMessage$conflictingReservations,
                                  
$conflictingBlackouts$timezone);

    
/**
     * @param int[] $blackoutResourceIds
     */
    
public function SetBlackoutResources($blackoutResourceIds);

    
/**
     * @param string $title
     */
    
public function SetTitle($title);

    
/**
     * @param string $repeatType
     */
    
public function SetRepeatType($repeatType);

    
/**
     * @param int $repeatInterval
     */
    
public function SetRepeatInterval($repeatInterval);

    
/**
     * @param string $repeatMonthlyType
     */
    
public function SetRepeatMonthlyType($repeatMonthlyType);

    
/**
     * @param int[] $repeatWeekdays
     */
    
public function SetRepeatWeekdays($repeatWeekdays);

    
/**
     * @param Date $repeatTerminationDate
     */
    
public function SetRepeatTerminationDate($repeatTerminationDate);

    
/**
     * @param int $blackoutId
     */
    
public function SetBlackoutId($blackoutId);

    
/**
     * @param bool $isRecurring
     */
    
public function SetIsRecurring($isRecurring);

    public function 
SetBlackoutStartDate(Date $startDate);

    public function 
SetBlackoutEndDate(Date $endDate);

    
/**
     * @param bool $wasFound
     */
    
public function SetWasBlackoutFound($wasFound);
}

class 
ManageBlackoutsPage extends ActionPage implements IManageBlackoutsPage
{
    
/**
     * @var ManageBlackoutsPresenter
     */
    
private $presenter;

    
/**
     * @var PageablePage
     */
    
private $pageablePage;

    public function 
__construct()
    {
        
parent::__construct('ManageBlackouts'1);

        
$userRepo = new UserRepository();
        
$userSession ServiceLocator::GetServer()->GetUserSession();

        
$this->presenter = new ManageBlackoutsPresenter($this,
                                                        new 
ManageBlackoutsService(new ReservationViewRepository(), new BlackoutRepository(), $userRepo),
                                                        new 
ScheduleAdminScheduleRepository($userRepo$userSession),
                                                        new 
ResourceAdminResourceRepository($userRepo$userSession));

        
$this->pageablePage = new PageablePage($this);
    }

    public function 
ProcessAction()
    {
        
$this->presenter->ProcessAction();
    }

    public function 
ProcessPageLoad()
    {
        
$userTimezone $this->server->GetUserSession()->Timezone;

        
$this->Set('Timezone'$userTimezone);
        
$this->Set('AddStartDate'Date::Now()->ToTimezone($userTimezone));
        
$this->Set('AddEndDate'Date::Now()->ToTimezone($userTimezone));
        
$this->presenter->PageLoad($userTimezone);
    }

    public function 
ShowPage()
    {
        
$this->Display('Admin/Blackouts/manage_blackouts.tpl');
    }

    public function 
ShowBlackout()
    {
        
$this->Display('Admin/Blackouts/manage_blackouts_edit.tpl');
    }

    public function 
ShowAddResult($wasAddedSuccessfully$displayMessage$conflictingReservations,
                                  
$conflictingBlackouts$timezone)
    {
        
$this->Set('Successful'$wasAddedSuccessfully);
        
$this->Set('SuccessKey''BlackoutCreated');
        
$this->Set('FailKey''BlackoutNotCreated');
        
$this->Set('Message'$displayMessage);
        
$this->Set('Reservations'$conflictingReservations);
        
$this->Set('Blackouts'$conflictingBlackouts);
        
$this->Set('Timezone'$timezone);
        
$this->Display('Admin/Blackouts/manage_blackouts_response.tpl');
    }

    public function 
ShowUpdateResult($wasAddedSuccessfully$displayMessage$conflictingReservations,
                                  
$conflictingBlackouts$timezone)
    {
        
$this->Set('Successful'$wasAddedSuccessfully);
        
$this->Set('SuccessKey''BlackoutUpdated');
        
$this->Set('FailKey''BlackoutNotUpdated');
        
$this->Set('Message'$displayMessage);
        
$this->Set('Reservations'$conflictingReservations);
        
$this->Set('Blackouts'$conflictingBlackouts);
        
$this->Set('Timezone'$timezone);
        
$this->Display('Admin/Blackouts/manage_blackouts_response.tpl');
    }

    public function 
BindBlackouts($blackouts)
    {
        
$this->Set('blackouts'$blackouts);
    }

    
/**
     * @return string
     */
    
public function GetStartDate()
    {
        return 
$this->server->GetQuerystring(QueryStringKeys::START_DATE);
    }

    
/**
     * @return string
     */
    
public function GetEndDate()
    {
        return 
$this->server->GetQuerystring(QueryStringKeys::END_DATE);
    }

    
/**
     * @param Date $date
     * @return void
     */
    
public function SetStartDate($date)
    {
        
$this->Set('StartDate'$date);
    }

    
/**
     * @param Date $date
     * @return void
     */
    
public function SetEndDate($date)
    {
        
$this->Set('EndDate'$date);
    }

    
/**
     * @return int
     */
    
public function GetScheduleId()
    {
        return 
$this->GetQuerystring(QueryStringKeys::SCHEDULE_ID);
    }

    
/**
     * @return int
     */
    
public function GetResourceId()
    {
        return 
$this->GetQuerystring(QueryStringKeys::RESOURCE_ID);
    }

    
/**
     * @param int $scheduleId
     * @return void
     */
    
public function SetScheduleId($scheduleId)
    {
        
$this->Set('ScheduleId'$scheduleId);
    }

    
/**
     * @param int $resourceId
     * @return void
     */
    
public function SetResourceId($resourceId)
    {
        
$this->Set('ResourceId'$resourceId);
    }

    public function 
BindSchedules($schedules)
    {
        
$this->Set('Schedules'$schedules);
    }

    public function 
BindResources($resources)
    {
        
$this->Set('Resources'$resources);
    }

    
/**
     * @return int
     */
    
function GetPageNumber()
    {
        return 
$this->pageablePage->GetPageNumber();
    }

    
/**
     * @return int
     */
    
function GetPageSize()
    {
        return 
$this->pageablePage->GetPageSize();
    }

    
/**
     * @param PageInfo $pageInfo
     * @return void
     */
    
function BindPageInfo(PageInfo $pageInfo)
    {
        
$this->pageablePage->BindPageInfo($pageInfo);
    }

    
/**
     * @return string
     */
    
public function GetDeleteBlackoutId()
    {
        return 
$this->GetQuerystring(QueryStringKeys::BLACKOUT_ID);
    }

    
/**
     * @return string
     */
    
public function GetDeleteScope()
    {
        return 
$this->GetForm(FormKeys::SERIES_UPDATE_SCOPE);
    }

    
/**
     * @return bool
     */
    
public function GetApplyBlackoutToAllResources()
    {
        
$applyToSchedule $this->GetForm(FormKeys::BLACKOUT_APPLY_TO_SCHEDULE);
        return isset(
$applyToSchedule);
    }

    
/**
     * @return int
     */
    
public function GetBlackoutScheduleId()
    {
        return 
$this->GetForm(FormKeys::SCHEDULE_ID);
    }

    
/**
     * @return int
     */
    
public function GetBlackoutResourceId()
    {
        return 
$this->GetForm(FormKeys::RESOURCE_ID);
    }

    
/**
     * @return string
     */
    
public function GetBlackoutStartDate()
    {
        return 
$this->GetForm(FormKeys::BEGIN_DATE);
    }

    
/**
     * @return string
     */
    
public function GetBlackoutStartTime()
    {
        return 
$this->GetForm(FormKeys::BEGIN_TIME);
    }

    
/**
     * @return string
     */
    
public function GetBlackoutEndDate()
    {
        return 
$this->GetForm(FormKeys::END_DATE);
    }

    
/**
     * @return string
     */
    
public function GetBlackoutEndTime()
    {
        return 
$this->GetForm(FormKeys::END_TIME);
    }

    
/**
     * @return string
     */
    
public function GetBlackoutTitle()
    {
        return 
$this->GetForm(FormKeys::SUMMARY);
    }

    
/**
     * @return string|ReservationConflictResolution
     */
    
public function GetBlackoutConflictAction()
    {
        return 
$this->GetForm(FormKeys::CONFLICT_ACTION);
    }


    
/**
     * @return int
     */
    
public function GetBlackoutId()
    {
        return 
$this->GetQuerystring(QueryStringKeys::BLACKOUT_ID);
    }

    public function 
ProcessDataRequest($dataRequest)
    {
        
// no-op
    
}

    public function 
GetRepeatType()
    {
        return 
$this->GetForm(FormKeys::REPEAT_OPTIONS);
    }

    public function 
GetRepeatInterval()
    {
        return 
$this->GetForm(FormKeys::REPEAT_EVERY);
    }

    public function 
GetRepeatWeekdays()
    {
        
$days = array();

        
$sun $this->GetForm(FormKeys::REPEAT_SUNDAY);
        if (!empty(
$sun))
        {
            
$days[] = 0;
        }

        
$mon $this->GetForm(FormKeys::REPEAT_MONDAY);
        if (!empty(
$mon))
        {
            
$days[] = 1;
        }

        
$tue $this->GetForm(FormKeys::REPEAT_TUESDAY);
        if (!empty(
$tue))
        {
            
$days[] = 2;
        }

        
$wed $this->GetForm(FormKeys::REPEAT_WEDNESDAY);
        if (!empty(
$wed))
        {
            
$days[] = 3;
        }

        
$thu $this->GetForm(FormKeys::REPEAT_THURSDAY);
        if (!empty(
$thu))
        {
            
$days[] = 4;
        }

        
$fri $this->GetForm(FormKeys::REPEAT_FRIDAY);
        if (!empty(
$fri))
        {
            
$days[] = 5;
        }

        
$sat $this->GetForm(FormKeys::REPEAT_SATURDAY);
        if (!empty(
$sat))
        {
            
$days[] = 6;
        }

        return 
$days;
    }

    public function 
GetRepeatMonthlyType()
    {
        return 
$this->GetForm(FormKeys::REPEAT_MONTHLY_TYPE);
    }

    public function 
GetRepeatTerminationDate()
    {
        return 
$this->GetForm(FormKeys::END_REPEAT_DATE);
    }

    public function 
GetSeriesUpdateScope()
    {
        
$scope $this->GetForm(FormKeys::SERIES_UPDATE_SCOPE);

        if (empty(
$scope))
        {
            
$scope SeriesUpdateScope::FullSeries;
        }

        return 
$scope;
    }

    public function 
SetBlackoutResources($blackoutResourceIds)
    {
        
$this->Set('BlackoutResourceIds'$blackoutResourceIds);
    }

    public function 
SetTitle($title)
    {
        
$this->Set('BlackoutTitle'$title);
    }

    public function 
SetRepeatType($repeatType)
    {
        
$this->Set('RepeatType'$repeatType);
    }

    public function 
SetRepeatInterval($repeatInterval)
    {
        
$this->Set('RepeatInterval'$repeatInterval);
    }

    public function 
SetRepeatMonthlyType($repeatMonthlyType)
    {
        
$this->Set('RepeatMonthlyType'$repeatMonthlyType);
    }

    public function 
SetRepeatWeekdays($repeatWeekdays)
    {
        
$this->Set('RepeatWeekdays'$repeatWeekdays);
    }

    public function 
SetRepeatTerminationDate($repeatTerminationDate)
    {
        
$this->Set('RepeatTerminationDate'$repeatTerminationDate);
    }

    public function 
SetBlackoutId($blackoutId)
    {
        
$this->Set('BlackoutId'$blackoutId);
    }

    public function 
SetIsRecurring($isRecurring)
    {
        
$this->Set('IsRecurring'$isRecurring);
    }

    public function 
SetBlackoutStartDate(Date $startDate)
    {
        
$this->Set('BlackoutStartDate'$startDate);
    }

    public function 
SetBlackoutEndDate(Date $endDate)
    {
        
$this->Set('BlackoutEndDate'$endDate);
    }

    public function 
SetWasBlackoutFound($wasFound)
    {
        
$this->Set('WasBlackoutFound'$wasFound);
    }

    public function 
GetBlackoutResourceIds()
    {
        
$resources $this->GetForm(FormKeys::RESOURCE_ID);

        if (
is_null($resources))
        {
            return array();
        }

        if (!
is_array($resources))
        {
            return array(
$resources);
        }


        return 
$resources;
    }

    public function 
GetUpdateBlackoutId()
    {
        return 
$this->GetForm(FormKeys::BLACKOUT_INSTANCE_ID);
    }
}

?>

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL