aboutsummaryrefslogtreecommitdiff
path: root/muamba.db.inc
diff options
context:
space:
mode:
Diffstat (limited to 'muamba.db.inc')
-rw-r--r--muamba.db.inc61
1 files changed, 61 insertions, 0 deletions
diff --git a/muamba.db.inc b/muamba.db.inc
index 224132f..4414a1a 100644
--- a/muamba.db.inc
+++ b/muamba.db.inc
@@ -87,6 +87,9 @@ function muamba_get_transactions($uid, $type = 'sent', $status = NULL) {
*
* @return
* Transaction data.
+ *
+ * @todo
+ * When a node is provided, duplicate rows might occur.
*/
function muamba_get_transaction($data) {
$query = db_select('muamba', 'm');
@@ -111,3 +114,61 @@ function muamba_get_transaction($data) {
return $rows[0];
}
}
+
+/**
+ * Check item availability.
+ *
+ * @param $nid
+ * Item nid.
+ *
+ * @param $uid
+ * Requester user nid.
+ *
+ * @return
+ * TRUE if user already requested an item, FALSE otherwise.
+ *
+ * @todo
+ */
+function muamba_check_availability($nid, $uid = NULL) {
+}
+
+/**
+ * Get current transaction for an item.
+ *
+ * @param $nid
+ * Item nid.
+ *
+ * @return
+ * Transaction nid there's an ongoing transaction.
+ *
+ * @todo
+ */
+function muamba_current_transaction($nid) {
+ $query = db_select('muamba', 'm');
+ $query->fields('m', array('mid', 'nid', 'uid', 'owner', 'status', 'thread_id'));
+
+ $query->condition('m.nid', $nid, '=');
+ $query->condition(
+ db_or()
+ ->condition('m.status', MUAMBA_REQUESTED, '=')
+ ->condition('m.status', MUAMBA_ACCEPTED, '=')
+ ->condition('m.status', MUAMBA_RETURNED, '=')
+ ->condition('m.status', MUAMBA_LOST, '=')
+ );
+
+ $results = $query->execute()->fetchAll();
+
+ return $results;
+}
+
+/**
+ * Define which status belongs to an ongoing transaction.
+ */
+function muamba_ongoing() {
+ return array(
+ MUAMBA_REQUESTED,
+ MUAMBA_ACCEPTED,
+ MUAMBA_RETURNED,
+ MUAMBA_LOST,
+ );
+}