77 lines
1.5 KiB
PHP
77 lines
1.5 KiB
PHP
<?
|
|
namespace shop;
|
|
class Coupon implements \ArrayAccess
|
|
{
|
|
public function __construct( int $element_id )
|
|
{
|
|
global $mdb;
|
|
if ( $element_id )
|
|
{
|
|
$result = $mdb -> get( 'pp_shop_coupon', '*', [ 'id' => $element_id ] );
|
|
if ( \S::is_array_fix( $result ) ) foreach ( $result as $key => $val )
|
|
$this -> $key = $val;
|
|
}
|
|
}
|
|
|
|
public function load_from_db_by_name( string $name )
|
|
{
|
|
global $mdb;
|
|
|
|
$result = $mdb -> get( 'pp_shop_coupon', '*', [ 'name' => $name ] );
|
|
if ( is_array( $result ) ) foreach ( $result as $key => $val )
|
|
$this -> $key = $val;
|
|
}
|
|
|
|
public function is_one_time() {
|
|
// return $this -> bean -> one_time;
|
|
}
|
|
|
|
public function is_available()
|
|
{
|
|
if ( !$this -> id )
|
|
return false;
|
|
|
|
if ( !$this -> status )
|
|
return false;
|
|
|
|
return !$this -> used;
|
|
}
|
|
|
|
public function set_as_used()
|
|
{
|
|
// $this -> bean -> used = 1;
|
|
// $this -> bean -> date_used = date( 'Y-m-d H:i:s' );
|
|
// \R::store( $this -> bean );
|
|
}
|
|
|
|
public function __get( $variable )
|
|
{
|
|
if ( array_key_exists( $variable, $this -> data ) )
|
|
return $this -> $variable;
|
|
}
|
|
|
|
public function __set( $variable, $value )
|
|
{
|
|
$this -> $variable = $value;
|
|
}
|
|
|
|
public function offsetExists( $offset )
|
|
{
|
|
return isset( $this -> $offset );
|
|
}
|
|
|
|
public function offsetGet( $offset )
|
|
{
|
|
return $this -> $offset;
|
|
}
|
|
|
|
public function offsetSet( $offset, $value )
|
|
{
|
|
$this -> $offset = $value;
|
|
}
|
|
|
|
public function offsetUnset( $offset )
|
|
{
|
|
unset( $this -> $offset );
|
|
}
|
|
} |