diff options
Diffstat (limited to 'muamba.db.inc')
-rw-r--r-- | muamba.db.inc | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/muamba.db.inc b/muamba.db.inc new file mode 100644 index 0000000..a8bf8b9 --- /dev/null +++ b/muamba.db.inc @@ -0,0 +1,72 @@ +<?php + +/** + * @fils + * Database functions. + */ + +/** + * Check if user already requested an item. + * + * @param $nid + * Item nid. + * + * @param $uid + * Requester user nid. + * + * @return + * TRUE if user already requested an item, FALSE otherwise. + */ +function muamba_check_user_request($nid, $uid) { + $nid = (int) $nid; + $uid = (int) $uid; + + $query = db_select('muamba', 'm'); + + $query + ->condition('m.nid', $nid, '=') + ->condition('m.uid', $uid, '=') + ->condition('m.status', MUAMBA_REQUESTED, '='); + + $result = $query->countQuery()->execute()->fetchField(); + + if ($result > 0) { + return TRUE; + } + + return FALSE; +} + +/** + * Get the requests sent or received. + * + * @param $uid + * Requester user uid. + */ +function muamba_get_transactions($uid, $type = 'sent', $status = MUAMBA_REQUESTED) { + $uid = (int) $uid; + $query = db_select('muamba', 'm'); + + if ($type == 'sent') { + $query + ->condition('m.uid', $uid, '=') + ->condition('m.status', $status, '=') + ->fields('m', array('mid', 'uid', 'owner', 'thread_id')); + } + else { + $query + ->condition('m.owner', $uid, '=') + ->condition('m.status', $status, '=') + ->fields('m', array('mid', 'uid', 'owner', 'thread_id')); + } + + $rows = array(); + $results = $query->execute()->fetchAll(); + + // Sanitize the data before handing it off to the theme layer. + foreach ($results as $entry) { + $rows[] = array_map('check_plain', (array) $entry); + } + + return $rows; +} |