aboutsummaryrefslogtreecommitdiff
path: root/muamba.db.inc
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2011-10-06 16:22:12 -0300
committerSilvio Rhatto <rhatto@riseup.net>2011-10-06 16:22:12 -0300
commit79c10bc8fd6277ee349872551e314a38605dc66b (patch)
tree7d9401f26aadde61e4402597cdbf16adb355b33a /muamba.db.inc
parent924fb6e2bdcdf46a21684d61d018cc3132dd4f04 (diff)
downloadmuamba-79c10bc8fd6277ee349872551e314a38605dc66b.tar.gz
muamba-79c10bc8fd6277ee349872551e314a38605dc66b.tar.bz2
New functions muamba_current_transaction() and muamba_ongoing()
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,
+ );
+}