public static function personToArray(org_maemo_userdata_person $person) { $fields = org_maemo_userdata::getListOfUserFields(); $result = array('uuid' => $person->apiuuid); foreach ($fields as $field) { $value = $person->{$field}; if ($value instanceof midgard_datetime) { $result[$field] = $value->format(DATE_W3C); } else { $result[$field] = $value; } } return $result; }
public function post_createUser(array $args) { $raw = file_get_contents('php://input'); $user_data = json_decode($raw, true); if (!isset($user_data['username']) or !isset($user_data['password'])) { $this->data = array(false); return; } $qb = org_maemo_userdata_person::new_query_builder(); $qb->add_constraint('username', '=', $user_data['username']); if ($qb->count() > 0) { // already added. should we update, instead? $this->data = array(false); return; } $obj = new org_maemo_userdata_person(); $obj->apiuuid = org_maemo_userdata::generate_UUID(); $_allowed = org_maemo_userdata::getListOfUserFields(); foreach ($user_data as $k => $v) { if (in_array($k, $_allowed)) { $obj->{$k} = $v; } } $obj->create(); org_maemo_userdata::registerTransaction($obj, 'create'); $this->data = array('uuid' => $obj->apiuuid); }