woocommerce/classes/gateways/mijireh/includes/Model.php

136 lines
2.8 KiB
PHP
Executable File

<?php
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
class Mijireh_Model {
protected $_data = array();
protected $_errors = array();
/**
* Set the value of one of the keys in the private $_data array.
*
* @param string $key The key in the $_data array
* @param string $value The value to assign to the key
* @return boolean
*/
public function __set($key, $value) {
$success = false;
if(array_key_exists($key, $this->_data)) {
$this->_data[$key] = $value;
$success = true;
}
return $success;
}
/**
* Get the value for the key from the private $_data array.
*
* Return false if the requested key does not exist
*
* @param string $key The key from the $_data array
* @return mixed
*/
public function __get($key) {
$value = false;
if(array_key_exists($key, $this->_data)) {
$value = $this->_data[$key];
}
/*
elseif(method_exists($this, $key)) {
$value = call_user_func_array(array($this, $key), func_get_args());
}
*/
return $value;
}
/**
* Return true if the given $key in the private $_data array is set
*
* @param string $key
* @return boolean
*/
public function __isset($key) {
return isset($this->_data[$key]);
}
/**
* Set the value of the $_data array to null for the given key.
*
* @param string $key
* @return void
*/
public function __unset($key) {
if(array_key_exists($key, $this->_data)) {
$this->_data[$key] = null;
}
}
/**
* Return the private $_data array
*
* @return mixed
*/
public function get_data() {
return $this->_data;
}
/**
* Return true if the given $key exists in the private $_data array
*
* @param string $key
* @return boolean
*/
public function field_exists($key) {
return array_key_exists($key, $this->_data);
}
public function copy_from(array $data) {
foreach($data as $key => $value) {
if(array_key_exists($key, $this->_data)) {
$this->_data[$key] = $value;
}
}
}
public function clear() {
foreach($this->_data as $key => $value) {
if($key == 'id') {
$this->_data[$key] = null;
}
else {
$this->_data[$key] = '';
}
}
}
public function add_error($error_message) {
if(!empty($error_message)) {
$this->_errors[] = $error_message;
}
}
public function clear_errors() {
$this->_errors = array();
}
public function get_errors() {
return $this->_errors;
}
public function get_error_lines($glue="\n") {
$error_lines = '';
if(count($this->_errors)) {
$error_lines = implode($glue, $this->_errors);
}
return $error_lines;
}
public function is_valid() {
return count($this->_errors) == 0;
}
}