You are here

function radioactivity_rules_get_decay_profile_node_max_energy in Radioactivity 6

Get maximimum energy by decay_profile and class

Parameters

string $dpid:

string $class:

1 call to radioactivity_rules_get_decay_profile_node_max_energy()
radioactivity_rules_token_values in modules/radioactivity_rules/radioactivity_rules.module

File

modules/radioactivity_rules/radioactivity_rules.module, line 105

Code

function radioactivity_rules_get_decay_profile_node_max_energy($dpid, $excludes) {
  if (!is_array($excludes)) {
    $excludes = array(
      $excludes,
    );
  }
  $params = array();
  $query = "SELECT MAX(energy) AS energy " . "FROM {radioactivity} " . "LEFT JOIN {node} ON ({node}.nid = {radioactivity}.id) ";

  // domain module support
  if (module_exists("domain")) {
    $current_domain = domain_get_domain();
    $query .= "LEFT JOIN {domain_source} ON ({domain_source}.nid = {radioactivity}.id) WHERE {domain_source}.domain_id = '%s' AND ";
    $params[] = $current_domain['domain_id'];
  }
  else {
    $query .= "WHERE ";
  }
  $query .= "{radioactivity}.class = 'node' AND {node}.nid NOT IN (%s) AND {radioactivity}.decay_profile = '%s'";
  $params[] = implode(",", $excludes);
  $params[] = $dpid;
  $result = db_query($query, $params);
  $result = db_fetch_array($result);
  $energy = $result['energy'];
  return $energy;
}