Sunday, September 26, 2010

Example of hook_comment & drupal_mail

Below is the example of drupal mail in the hook comment
function MODULENAME_comment(&$a1, $op){
    switch($op){
      case 'insert' :
        $nid = $a1['nid'];
        $node = node_load($nid);
        $account = user_load($node->uid);
 

        //Collect $params contents values to be used on hook_mail
        $params['commentator'] = $a1->name;
        $params['title'] = $node->title;
        $params['type'] = $node->type;
        $params['nid'] = $node->nid;
        $params['language'] = $account->language;
        $params['nodeauthor'] = $node->name;
        drupal_mail('MODULENAME', 'commentnotice', $account->mail, user_preferred_language($account), $params);    
    }
}


// define the drupal hook_mail
function MODULENAME_mail($key, &$message, $params){
  switch($key){
    case 'commentnotice' :
      $language = $message['language'];
      $message['subject'] = t('Notification from @site', array('@site' => variable_get('site_name', NULL)), $language);
      $message['body'] = t('Dear @username \n\n@commentator commented on your @type', array('@username' => $params['nodeauthor'], '@commentator' => $params['commentator'], '@type' => $params['type']), $language->language);
      break;
  }
}

No comments:

Post a Comment