public static function from_array($params) { // Transform the dict to a record object and return the record. $name = !empty($params['@name']) ? $params['@name'] : NULL; $match = !empty($params['@match']) ? $params['@match'] : NULL; $category = !empty($params['@category']) ? $params['@category'] : NULL; $origin_url = !empty($params['@origin_url']) ? $params['@origin_url'] : NULL; $sponsored = !empty($params['@sponsored']) ? $params['@sponsored'] : NULL; $domain = !empty($params['@domain']) ? $params['@domain'] : NULL; $person_id = !empty($params['@person_id']) ? $params['@person_id'] : NULL; $source_id = !empty($params['@id']) ? $params['@id'] : NULL; $premium = !empty($params['@premium']) ? $params['@premium'] : NULL; $valid_since = !empty($params['@valid_since']) ? $params['@valid_since'] : NULL; if (!empty($valid_since)) { $valid_since = PiplApi_Utils::piplapi_str_to_datetime($valid_since); } $instance = new self(array(), $match, $name, $category, $origin_url, $sponsored, $domain, $person_id, $source_id, $premium, $valid_since); $instance->add_fields($instance->fields_from_array($params)); return $instance; }
public static function from_array($clsname, $d) { // Transform the dict to a field object and return the field. $newdict = array(); foreach ($d as $key => $val) { if (PiplApi_Utils::piplapi_string_startswith($key, '@')) { $key = substr($key, 1); } if ($key == 'valid_since') { $val = PiplApi_Utils::piplapi_str_to_datetime($val); } if ($key == 'date_range') { // PiplApi_DateRange has its own from_array implementation $val = PiplApi_DateRange::from_array($val); } $newdict[$key] = $val; } return new $clsname($newdict); }