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 ); } }