// spl_autoload_register( function($class_name) { // include_once 'src/'.$class_name.'.php'; // }); namespace FuelSdk; /** * ETDataExtension - Represents a data extension within an account. */ class ET_DataExtension extends ET_CUDSupport { /** * @var ET_DataExtension_Column[] Gets or sets array of DE columns. */ public $columns; /** * Initializes a new instance of the class. */ function __construct() { $this->obj = "DataExtension"; } /** * Post this instance. * @return ET_Post Object of type ET_Post which contains http status code, response, etc from the POST SOAP service */ public function post() { $originalProps = $this->props; if (ET_Util::isAssoc($this->props)){ $this->props["Fields"] = array("Field"=>array()); if (!is_null($this->columns) && is_array($this->columns)){ foreach ($this->columns as $column){ array_push($this->props['Fields']['Field'], $column); } } } else { $newProps = array(); foreach ($this->props as $DE) { $newDE = $DE; $newDE["Fields"] = array("Field"=>array()); if (!is_null($DE['columns']) && is_array($DE['columns'])){ foreach ($DE['columns'] as $column){ array_push($newDE['Fields']['Field'], $column); } } array_push($newProps, $newDE); } $this->props = $newProps; } $response = parent::post(); $this->props = $originalProps; return $response; } /** * Patch this instance. * @return ET_Patch Object of type ET_Patch which contains http status code, response, etc from the PATCH SOAP service */ public function patch() { $this->props["Fields"] = array("Field"=>array()); foreach ($this->columns as $column){ array_push($this->props['Fields']['Field'], $column); } $response = parent::patch(); unset($this->props["Fields"]); return $response; } }