From 61c12bd9539cd0d74f43bc74414f79609621b397 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Wed, 9 Nov 2011 14:23:04 -0200 Subject: Showing muamba widget at muamba_privatemsg_view_alter() --- muamba.db.inc | 13 ++++++++++--- muamba.module | 23 +++++++++++++++++++---- muamba.theme.inc | 4 ++-- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/muamba.db.inc b/muamba.db.inc index ff682f5..773e65e 100644 --- a/muamba.db.inc +++ b/muamba.db.inc @@ -82,16 +82,23 @@ function muamba_get_transactions($uid, $type = 'sent', $status = NULL) { /** * Get a single transaction. * - * @param $mid + * @param $id * Transaction id. * + * @param $index + * Index (mid or thread_id). + * * @return * Transaction data. */ -function muamba_get_transaction($mid) { +function muamba_get_transaction($id, $index = 'mid') { + if ($index != 'mid' && $index != 'thread_id') { + return; + } + $query = db_select('muamba', 'm'); $query->fields('m', array('mid', 'nid', 'uid', 'owner', 'status', 'thread_id')); - $query->condition('m.mid', (int) $mid, '='); + $query->condition('m.'. $index, (int) $id, '='); $rows = array(); $results = $query->execute()->fetchAll(); diff --git a/muamba.module b/muamba.module index 3aa94bc..b03dea8 100644 --- a/muamba.module +++ b/muamba.module @@ -249,12 +249,27 @@ function muamba_block_view($delta = '') { /** * Implements hook_privatemsg_view_alter() - * - * @todo */ function muamba_privatemsg_view_alter(&$content) { - $bar = 'TODO: Add here request management bar.'; - $content['participants']['#markup'] = $bar . $content['participants']['#markup']; + $thread = $content['#thread']['thread_id']; + $transaction = muamba_get_transaction($thread, 'thread_id'); + + if (!empty($transaction)) { + global $user; + + $node = node_load($transaction['nid']); + $available = muamba_check_availability($node->nid); + $widget = ($node->uid == $user->uid) ? 'owner' : 'requester'; + + $bar = theme('muamba_widget_'. $widget, array( + 'node' => $node, + 'transaction' => $transaction, + 'available' => $available, + 'size' => 'big', + )); + + $content['participants']['#markup'] = $bar . $content['participants']['#markup']; + } } /** diff --git a/muamba.theme.inc b/muamba.theme.inc index 29029dc..9707a0f 100644 --- a/muamba.theme.inc +++ b/muamba.theme.inc @@ -170,8 +170,8 @@ function theme_muamba_widget_owner($variables) { $requester = user_load($transaction['uid']); if ($size != 'small') { - $content .= t('Request from @name.', array('@name' => $requester->name)); - $content .= '
'; + $content .= t('Request from @name.', array('@name' => $requester->name)); + $content .= '
'; } foreach (muamba_actions_available('received', $transaction['status']) as $action) { -- cgit v1.2.3