1
0
mirror of synced 2025-02-21 09:23:14 +03:00
woocommerce-module/src/include/abstracts/class-wc-retailcrm-abstracts-data.php
2019-03-25 13:33:43 +03:00

64 lines
1.2 KiB
PHP

<?php
/**
* PHP version 5.3
*
* @category Integration
* @author RetailCRM <integration@retailcrm.ru>
* @license http://retailcrm.ru Proprietary
* @link http://retailcrm.ru
* @see http://help.retailcrm.ru
*/
/**
* Class WC_Retailcrm_Abstracts_Data
*/
abstract class WC_Retailcrm_Abstracts_Data
{
/** @var string */
protected $filter_name;
/** @var array */
protected $data = array();
/**
* @return void
*/
abstract public function reset_data();
/**
* @param $data
*
* @return self
*/
abstract public function build($data);
protected function set_data_field($field, $value)
{
if (isset($this->data[$field]) && \gettype($value) !== \gettype($this->data[$field])) {
return false;
}
$this->data[$field] = $value;
return true;
}
/**
* @param $fields
*/
protected function set_data_fields($fields)
{
foreach ($fields as $field => $value) {
$this->set_data_field($field, $value);
}
}
/**
* @return array
*/
public function get_data()
{
return apply_filters('retailcrm_before_send_' . $this->filter_name, $this->data);
}
}