Ver Mensaje Individual
  #12 (permalink)  
Antiguo 17/08/2011, 10:30
Avatar de MarioAraque
MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 2 meses
Puntos: 265
Respuesta: Mensajes instantáneos dentro de la página

Se supone que los envia por notificacion:

Código PHP:
/**
 * Admins may broadcast messages to all their members.
 *
 * @ingroup forms
 * @param $node
 *   The group node.
 */
 
function og_broadcast_form($form_state$node) {
   
drupal_set_title(t('Send message to %group', array('%group' => $node->title)));

   if (!empty(
$form_state['post'])) {
     
drupal_set_message(t('Your message will be sent to all members of this group.'));
   }
   
   
$form['subject'] = array(
    
'#type' => 'textfield'
    
'#title' => t('Subject'), 
    
'#size' => 70,
    
'#maxlength' => 250,
    
'#description' => t('Enter a subject for your message.'), 
    
'#required' => TRUE,
  );
  
$form['body'] = array(
    
'#type' => 'textarea'
    
'#title' => t('Body'), 
    
'#rows' => 5,
    
'#cols' => 90,
    
'#description' => t('Enter a body for your message.'), 
    
'#required' => TRUE
  
);
  
$form['send'] = array('#type' => 'submit''#value' => t('Send message'));
  
$form['gid'] = array('#type' => 'value''#value' => $node->nid);
  return 
$form;
}

function 
og_broadcast_form_submit($form, &$form_state) {
  global 
$user;

  
$sql og_list_users_sql(1);
  
$result db_query($sql$form_state['values']['gid']);
  
$recipients = array();
  while (
$row db_fetch_object($result)) {
    
$recipients[] = $row->uid;
  }

  
$node node_load($form_state['values']['gid']);
  
$variables = array(
    
'@group' => $node->title,
    
'@subject' => $form_state['values']['subject'],
    
'@body' => $form_state['values']['body'],
    
'@site' => variable_get('site_name''drupal'),
    
'!url_group' => url("node/$node->nid", array('absolute' => TRUE)),
    
'!url_unsubscribe' => url("og/unsubscribe/$node->nid/$user->uid", array('absolute' => TRUE))
  );

  
$message = array(
    
'from' => $user,
    
'subject' => $form_state['values']['subject'],
    
'body' => _og_mail_text('og_admin_email_body'$variables)
  );

  
// Send notifications to each member; Sending an array of recipients implies
  // that this is a bulk message.
  
module_invoke_all('og''user broadcast'$node->nid$recipients$message);
  
drupal_set_message(format_plural(count($recipients), '1 message queued for delivery.''@count messages queued for delivery.'));
  

Tenes que ver que notificacion tiene el usuario por defecto elegida, entraste a ver sus privados?
Si no, no se.

Saludos.