array(TYPE_UINT, REQ_AUTO), 'name' => array(TYPE_STR, REQ_YES), 'description' => array(TYPE_STR, REQ_NO), 'fieldchanges' => array(TYPE_NONE, REQ_YES), 'comment' => array(TYPE_STR, REQ_NO) ); /** * Table * @var string */ protected $table = 'automation'; /** * Table prefix * @var string */ protected $prefix = TABLE_PREFIX; /** * Post-insert */ protected function post_insert() { build_automations(); } /** * Post-update */ protected function post_update() { build_automations(); } /** * Post-delete */ protected function post_delete() { build_automations(); } /** * Validate: actionid */ protected function validate_actionid($field) { return $this->_verifyIsNotZero($field); } /** * Validate: name */ protected function validate_name($field) { return $this->_verifyIsNotEmpty($field); } /** * Validate: fieldchanges */ protected function validate_fieldchanges() { if (!is_array($this->values['fieldchanges']) || sizeof($this->values['fieldchanges']) != 2 || !is_array($this->values['fieldchanges']['custom']) || !is_array($this->values['fieldchanges']['builtin'])) { return T('Invalid array type passed. The fieldchaneges array must be a two-dimensional array: array("builtin" => array("fieldname" => "newvalue" ...), "custom" => array("fieldname" => "fieldvalue" ...))'); } if (sizeof($this->values['fieldchanges']['custom']) < 1 && sizeof($this->values['fieldchanges']['builtin']) < 1) { return T('You need to specify some fields to change.'); } $this->values['fieldchanges'] = serialize($this->values['fieldchanges']); return true; } } ?>