From 4f15de058dc6dadee6e79d16b441202b54161f02 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sat, 24 Sep 2011 19:52:36 -0300 Subject: Adding transactional fields to muamba data model --- muamba.business.inc | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 muamba.business.inc (limited to 'muamba.business.inc') diff --git a/muamba.business.inc b/muamba.business.inc new file mode 100644 index 0000000..f7b9e05 --- /dev/null +++ b/muamba.business.inc @@ -0,0 +1,111 @@ +type != MUAMBA_NODE_TYPE) { + drupal_not_found(); + } + + global $user; + + // TODO: check if user has permission to access the node. + // TODO: check if user is not blocked by privatemsg? + + // Check if user already requested the item + if (muamba_check_user_request($nid, $user->uid)) { + // TODO + } + + // Notify item owner + $thread = privatemsg_new_thread(array(user_load($node->uid)), t('Item request'), 'User has requested an item'); + $thread_id = $thread['message']['thread_id']; + + // Issue item request + // TODO + + // User output + return t('You have requested an item'); +} + +/** + * 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) { + if (!is_int($nid) || !is_int($uid)) { + return FALSE; + } + + $query = db_select('muamba', 'm'); + + $query + ->condition('m.nid', $nid, '=') + ->condition('m.uid', $uid, '='); + + $result = $query->countQuery()->execute()->fetchField(); + + if ($result > 0) { + return TRUE; + } + + return FALSE; +} + +/** + * Release an item requested by a given user. + * + * @param $nid + * Item nid. + * + * @param $uid + * Requester user uid. + * + * @todo + */ +function muamba_release($nid, $uid) { + global $user; + + $nid = (int) $nid; + $node = node_load($nid); + + if (!$node || $node->type != MUAMBA_NODE_TYPE) { + drupal_not_found(); + } + + if ($node->uid != $user->uid) { + // TODO: not node owner + } +} + +/** + * Get the requests sent or received. + * + * @param $uid + * Requester user uid. + * + * @todo + */ +function muamba_get_requests($nid, $type = 'sent') { +} -- cgit v1.2.3