diff --git a/domain_alias/domain_alias.module b/domain_alias/domain_alias.module index 5570ed3..2921422 100755 --- a/domain_alias/domain_alias.module +++ b/domain_alias/domain_alias.module @@ -270,16 +270,22 @@ function _domain_alias_placeholders_from_sql($subdomain) { * An array of all aliases defined for given domain_id, indexed by alias_id */ function domain_alias_list($domain_id, $reset = FALSE) { - static $aliases = Array(); - if (!isset($aliases[$domain_id]) || $reset) { + static $aliases = array(); + if (empty($aliases) || $reset) { $aliases[$domain_id] = array(); - // Query the db for aliases. - $result = db_query("SELECT alias_id, pattern, redirect FROM {domain_alias} WHERE domain_id = %d", $domain_id); - while ($data = db_fetch_array($result)) { + // Get all Domain Alias records from database. + $domain_aliases = db_query("SELECT alias_id, domain_id, pattern, redirect FROM {domain_alias}"); + while ($data = db_fetch_array($domain_aliases)) { $data['pattern'] = _domain_alias_placeholders_from_sql($data['pattern']); - $aliases[$domain_id][$data['alias_id']] = $data; + $aliases[$data['domain_id']][$data['alias_id']] = $data; } } + + // No results (aliases) for our domain, set as an empty array to prevent + // errors on functions calling domain_alias_list(). + if (!isset($aliases[$domain_id])) { + $aliases[$domain_id] = array(); + } return $aliases[$domain_id]; }