]> gitweb.fluxo.info Git - drupal/muamba.git/commitdiff
Showing muamba widget at muamba_privatemsg_view_alter()
authorSilvio Rhatto <rhatto@riseup.net>
Wed, 9 Nov 2011 16:23:04 +0000 (14:23 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Wed, 9 Nov 2011 16:23:04 +0000 (14:23 -0200)
muamba.db.inc
muamba.module
muamba.theme.inc

index ff682f5024ee6da918ed95aea1393bc2f35ea35a..773e65e99e58ecb68290103f0c343a075fd0150f 100644 (file)
@@ -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();
index 3aa94bc8cc6349c684a2ca4a9b48a4e9022cf3e8..b03dea8ad29810b52a479aa4af7ff29219d5b09f 100644 (file)
@@ -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'];
+  }
 }
 
 /**
index 29029dcf2b7f09186e01705868cc5b55e2ef4f17..9707a0fff1dcf711be78e76f391e2564ffef480b 100644 (file)
@@ -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    .= '<br />';
+    $content .= t('Request from @name.', array('@name' => $requester->name));
+    $content .= '<br />';
   }
 
   foreach (muamba_actions_available('received', $transaction['status']) as $action) {