You are here

function sms_carriers in SMS Framework 6.2

Same name and namespace in other branches
  1. 7 sms.module \sms_carriers()

Get a list of all carriers

2 calls to sms_carriers()
carrier_load in ./sms.module
Load a single carrier
sms_carriers_admin_form in ./sms.admin.inc
Form builder for the list of sms carriers.
1 string reference to 'sms_carriers'
carrier_save in ./sms.module
Save a carrier.

File

./sms.module, line 411
The core of the SMS Framework. Provides gateway managment and API for sending and receiving SMS messages.

Code

function sms_carriers($domain = NULL) {
  $default_carriers = module_invoke_all('sms_carriers');
  $enabled_carriers = variable_get('sms_enabled_carriers', array());

  // Load default carriers from code
  foreach ($default_carriers as $id => $carrier) {
    $carriers[$id] = array(
      'name' => $carrier,
      'type' => SMS_CARRIER_DEFAULT,
    );
  }

  // Load overrideen carriers from database
  $result = db_query("SELECT name, domain FROM {sms_carriers}");
  while ($carrier = db_fetch_array($result)) {
    if (in_array($carrier['domain'], array_keys($carriers))) {
      $type = SMS_CARRIER_OVERRIDDEN;
    }
    else {
      $type = SMS_CARRIER_NORMAL;
    }
    $carriers[$carrier['domain']] = array(
      'name' => $carrier['name'],
      'type' => $type,
    );
  }
  foreach ($enabled_carriers as $carrier) {
    if (is_array($carriers[$carrier])) {
      $carriers[$carrier]['status'] = 1;
    }
  }
  if ($domain) {
    $carriers[$domain]['domain'] = $domain;
    return $carriers[$domain];
  }
  return $carriers;
}