aboutsummaryrefslogtreecommitdiff
path: root/muamba.db.inc
blob: e8e1c708b9b554736461867ca9bdd6880bfeedec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?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.
 *
 * @param $type
 *   Transaction type (sent or received).
 *
 * @param $status
 *   Current transaction status.
 *
 * @return
 *   Array of existing transactions.
 */
function muamba_get_transactions($uid, $type = 'sent', $status = NULL) {
  $uid   = (int) $uid;
  $query = db_select('muamba', 'm');
  $query->fields('m', array('mid', 'nid', 'uid', 'owner', 'status', 'thread_id'));

  if ($type == 'sent') {
    $query->condition('m.uid', $uid, '=');
  }
  else {
    $query->condition('m.owner', $uid, '=');
  }

  if ($status != NULL) {
    $query->condition('m.status', $status, '=');
  }

  $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;
}

/**
 * Get a single transaction.
 *
 * @param $mid
 *   Transaction id.
 *
 * @return
 *   Transaction data.
 */
function muamba_get_transaction($mid) {
  $mid = (int) $mid;
  $query = db_select('muamba', 'm');
  $query->fields('m', array('mid', 'nid', 'uid', 'owner', 'status', 'thread_id'));
  $query->condition('m.mid', $mid, '=');

  $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[0];
}