aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--muamba-widget.tpl.php49
-rw-r--r--muamba.module27
2 files changed, 47 insertions, 29 deletions
diff --git a/muamba-widget.tpl.php b/muamba-widget.tpl.php
index 1c79606..09b43bc 100644
--- a/muamba-widget.tpl.php
+++ b/muamba-widget.tpl.php
@@ -16,31 +16,38 @@ drupal_add_css($path .'/muamba.css');
$content = '';
$output = '';
-if (!user_is_logged_in()) {
- print t('You have to be logged in to be able to ask for this item.');
- return;
-}
-elseif (empty($transaction) && $node->uid != $user->uid) {
- $content .= theme('muamba_widget_icon', array('status' => MUAMBA_REQUESTED, 'id' => $node->nid));
-}
-elseif ($transaction['uid'] == $user->uid) {
- foreach (muamba_actions_available('sent', $transaction['status']) as $action) {
- $content .= theme('muamba_widget_icon', array('status' => $action, 'id' => $transaction['mid']));
+if ($node->uid != $user->uid) {
+ if (!user_is_logged_in()) {
+ print t('You have to be logged in to be able to ask for this item.');
+ return;
}
-}
-elseif ($transaction['owner'] == $user->uid) {
- foreach (muamba_actions_available('received', $transaction['status']) as $action) {
- $content .= theme('muamba_widget_icon', array('status' => $action, 'id' => $transaction['mid']));
+ elseif (!$available && $transactions['uid'] != $user->uid) {
+ $content .= theme('image',
+ array(
+ 'path' => $path .'/images/unavailable.png',
+ 'alt' => t('Item unavailable'),
+ 'title' => t('Item unavailable'),
+ )
+ );
+ }
+ elseif ($transactions['uid'] == $user->uid) {
+ foreach (muamba_actions_available('sent', $transactions['status']) as $action) {
+ $content .= theme('muamba_widget_icon', array('status' => $action, 'id' => $transactions['mid']));
+ }
+ }
+ else {
+ $content .= theme('muamba_widget_icon', array('status' => MUAMBA_REQUESTED, 'id' => $node->nid));
}
}
else {
- $content .= theme('image',
- array(
- 'path' => $path .'/images/unavailable.png',
- 'alt' => t('Item unavailable'),
- 'title' => t('Item unavailable'),
- )
- );
+ foreach ($transactions as $transaction) {
+ $requester = user_load($transaction['uid']);
+ $content .= t('Request from @name.', array('@name' => $requester->name));
+ $content .= '<br />';
+ foreach (muamba_actions_available('received', $transaction['status']) as $action) {
+ $content .= theme('muamba_widget_icon', array('status' => $action, 'id' => $transaction['mid']));
+ }
+ }
}
if (!empty($content)) {
diff --git a/muamba.module b/muamba.module
index 1e010dc..66e0b52 100644
--- a/muamba.module
+++ b/muamba.module
@@ -107,8 +107,6 @@ function muamba_menu() {
/**
* Implements hook_node_view()
- *
- * @todo
*/
function muamba_node_view($node, $view_mode, $langcode) {
global $user;
@@ -120,15 +118,27 @@ function muamba_node_view($node, $view_mode, $langcode) {
if ($view_mode == 'full') {
if ($node->uid != $user->uid) {
- $transaction = muamba_current_transactions($node, $user->uid);
+ $transactions = muamba_current_transactions($node, $user->uid);
+ $available = muamba_check_availability($node->nid);
$node->content['muamba'] = array(
- '#markup' => theme('muamba_widget', array('node' => $node, 'transaction' => $transaction)),
+ '#markup' => theme('muamba_widget', array(
+ 'node' => $node,
+ 'transactions' => $transactions,
+ 'available' => $available,
+
+ )),
'#weight' => 100,
);
}
else {
- // @todo: muamba_widget is not working anymore for item owners, make a custom
- // widget just for handling multiple requests, see #34
+ $transactions = muamba_current_transactions($node);
+ $node->content['muamba'] = array(
+ '#markup' => theme('muamba_widget', array(
+ 'node' => $node,
+ 'transactions' => $transactions
+ )),
+ '#weight' => 100,
+ );
}
return $node;
@@ -143,8 +153,9 @@ function muamba_theme($existing, $type, $theme, $path) {
'muamba_widget' => array(
'template' => 'muamba-widget',
'variables' => array(
- 'node' => NULL,
- 'transaction' => NULL,
+ 'node' => NULL,
+ 'transactions' => NULL,
+ 'available' => NULL,
),
),
'muamba_powered' => array(