public function get_transactions(array $args) { $qb = org_maemo_userdata_transaction::new_query_builder(); $qb->add_constraint('apiuuid', '=', $args['uuid']); if ($qb->count() != 1) { $this->data = array(false); } else { $result = $qb->execute(); $since_trx = $result[0]; $qb = org_maemo_userdata_transaction::new_query_builder(); $qb->add_constraint('metadata.created', '>', $since_trx->metadata->created); // FIXME: add order $trxs = $qb->execute(); $this->data = array(); foreach ($trxs as $trx) { $user = org_maemo_userdata::userByUuid($trx->useruuid); $this->data[] = array('uuid' => $trx->apiuuid, 'action' => $trx->action, 'timestamp' => $trx->metadata->created->format(DATE_W3C), 'data' => org_maemo_userdata::personToArray($user)); } } }
public static function registerTransaction(org_maemo_userdata_person $person, $action) { $trx = new org_maemo_userdata_transaction(); $trx->apiuuid = org_maemo_userdata::generate_UUID(); $trx->useruuid = $person->apiuuid; $trx->action = $action; $trx->create(); self::broadcastTransaction($trx); }