Page MenuHomePhorge

Base.php
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

Base.php

<?php
namespace App\Handlers\Beta;
class Base extends \App\Handlers\Base
{
/**
* Check if the SKU is available to the user.
*
* @param \App\Sku $sku The SKU object
* @param \App\User $user The user object
*
* @return bool
*/
public static function isAvailable(\App\Sku $sku, \App\User $user): bool
{
// These SKUs must be:
// 1) already assigned or
// 2) active and a 'beta' entitlement must exist.
if ($sku->active) {
$beta = \App\Sku::where('title', 'beta')->first();
if (!$beta) {
return false;
}
if ($user->entitlements()->where('sku_id', $beta->id)->first()) {
return true;
}
} else {
if ($user->entitlements()->where('sku_id', $sku->id)->first()) {
return true;
}
}
return false;
}
/**
* SKU handler metadata.
*
* @param \App\Sku $sku The SKU object
*
* @return array
*/
public static function metadata(\App\Sku $sku): array
{
$data = parent::metadata($sku);
$data['required'] = ['beta'];
return $data;
}
/**
* Prerequisites for the Entitlement to be applied to the object.
*
* @param \App\Entitlement $entitlement
* @param mixed $object
*
* @return bool
*/
public static function preReq($entitlement, $object): bool
{
if (!parent::preReq($entitlement, $object)) {
return false;
}
// TODO: User has to have the "beta" entitlement
return true;
}
}

File Metadata

Mime Type
text/x-php
Expires
Fri, Apr 24, 2:06 PM (1 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18752703
Default Alt Text
Base.php (1 KB)

Event Timeline