uid)); $received = muamba_transactions_summary(muamba_get_transactions($user->uid, 'received')); $output = theme('muamba_transactions', array('transactions' => $sent, 'type' => 'sent')); $output .= theme('muamba_transactions', array('transactions' => $received, 'type' => 'received')); return $output; } /** * Request an item. * * @param $nid * Requested item. */ function muamba_request($nid) { global $user; $nid = (int) $nid; $node = node_load($nid); // Access check if (!$node || $node->type != MUAMBA_NODE_TYPE || !node_access('view', $node)) { drupal_not_found(); } // Check if user is blocked by the item owner if (module_exists('pm_block_user')) { $owner = user_load($node->uid); if (pm_block_user_has_blocked($user, $owner)) { return t('The item owner has blocked you from asking this item.'); } } // Check if user already requested the item if (muamba_check_user_request($nid, $user->uid)) { return t('You already requested this item.'); } // 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 $request = db_insert('muamba') ->fields( array( 'nid' => $nid, 'owner' => $node->uid, 'uid' => $user->uid, 'status' => MUAMBA_REQUESTED, 'thread_id' => $thread_id, ) ) ->execute(); // User output return t('You have requested an item'); } /** * Accept a transaction request. * * @param $mid * Transaction id. * * @todo */ function muamba_accept($mid) { } /** * Reject a transaction request. * * @param $mid * Transaction id. * * @todo */ function muamba_reject($mid) { } /** * Release a transaction. * * @param $mid * Transaction id. * * @todo */ function muamba_release($mid) { global $user; // TODO: load nid from db $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 } } /** * Return an item. * * @param $mid * Transaction id. * * @todo */ function muamba_return($mid) { } /** * Cancel a request. * * @param $mid * Transaction id. * * @todo */ function muamba_cancel($mid) { }