type == "stormproject") { stormmail_all($node, "project", "up"); } if($node->type == "stormtask") { stormmail_all($node, "task", "up"); } if($node->type == "stormticket") { stormmail_all($node, "tikcet", "up"); } break; case 'insert': if($node->type == "stormproject") { stormmail_all($node, "project", "ins"); } if($node->type == "stormtask") { stormmail_all($node, "task", "ins"); } if($node->type == "stormticket") { stormmail_all($node, "ticket", "ins"); } break; } } /* * I prepare the data necessary for shipment of the mail */ function stormmail_all($node, $type, $oper){ //Grab the ticket $result = db_query("SELECT * FROM {%s} WHERE nid = %d ", $node->type, $node->nid); if ($data = db_fetch_object($result)) { $assign = $data->assigned_nid; //Check who has been assigned to it $sql = db_query("SELECT * FROM {node} WHERE nid = %d ", $assign); $type= db_fetch_object($sql); if ($type->type == 'stormteam'){ //getTicket Type //get Team name $name = $type->title; //get members $result = db_query("SELECT * FROM {stormteam} WHERE nid = %d ", $assign); $teammembers= db_fetch_object($result); $teammembers= unserialize($teammembers->members); $emailTo=''; $type= $type->type; $counter_teammembers=0; foreach($teammembers as $key => $teammember){ if($counter_teammembers!=0) $emailTo .= ' , '; $counter_teammembers++; $result = db_query("SELECT * FROM {stormperson} WHERE nid = %d ", $key); if ($data = db_fetch_object($result)) { $emailTo .= $data->email; } } } else { $result = db_query("SELECT * FROM {stormperson} WHERE nid = %d ", $assign); if ($data = db_fetch_object($result)) { $emailTo = $data->email; $name = $data->fullname; } }; } //Check if pathauto module exists and it's enabled $exist_alias = db_result(db_query("SELECT dst FROM {url_alias} WHERE src = '%s' ", 'node/'.$node->nid)); if($exist_alias) { $result = db_query("SELECT * FROM {url_alias} WHERE src = '%s' ", 'node/'.$node->nid); if ($data = db_fetch_object($result)) { $url = $data->dst; } } else $url = 'node/'.$node->nid; //I obtain URL of the corresponding page to the rows unloaded global $base_url; $url_down = $base_url.'/'.$url; $result = db_query("SELECT * FROM {node} WHERE nid = %d", $node->nid); if ($data = db_fetch_object($result)) { $titolo = $data->title; } //It passes the parameters to the mail $params = array( 'name' => $name, 'url' => $url_down, 'titolo' => $titolo, 'type' => $type ); //shipment mail all' awardee of the task if($node->send_mail == 'yes' && $emailTo != '' && $oper == "up") { drupal_mail('stormmail', 'assigned_to_update', $emailTo, language_default(), $params); drupal_set_message ('update mail sent '); } if($node->send_mail == 'yes' && $emailTo != '' && $oper == "ins") { drupal_mail('stormmail', 'assigned_to', $emailTo, language_default(), $params); drupal_set_message ('mail sent '); dvm($email); } } /** * Function for the shipment of email */ function stormmail_mail($key, &$message, $params) { switch ($key) { case 'assigned_to': // note: data can be passed to this function in the $params array $message['subject'] = t('assignment ').$params['type']; $message['body'] = t('Hello ').$params['name'].t(', ') .t('The e\' state as soon as assigned the following one ').$params['type'].(': ').$params['url'].t(' dal titolo: "').$params['titolo'].t('"'); break; case 'assigned_to_update': // note: data can be passed to this function in the $params array $message['subject'] = t('update ').$params['type']; $message['body'] = t('Hello ').$params['name'].t(', ') .t('The ').$params['type'].(' "').$params['titolo'].t('", to which you are assigned has been modified: ').$params['url']; break; } } /** * Implementation of hook_form_alter() */ function stormmail_form_alter(&$form, $form_state, $form_id){ switch($form_id){ case 'stormproject_node_form': case 'stormtask_node_form': case 'stormticket_node_form': $options = array( 'no' => t('No'), 'yes' => t('Yes') ); $form['group5']['send_mail'] = array( '#type' => 'select', '#title' => t('Send an email'), '#options' => $options, '#default_value' => 'yes', ); return $form; break; } }