You are here

function path_redirect_load_multiple in Path redirect 6

6 calls to path_redirect_load_multiple()
PathRedirectFunctionalTest::testAliasRedirection in ./path_redirect.test
path_redirect_admin_redirects_update_confirm in ./path_redirect.admin.inc
path_redirect_delete_multiple in ./path_redirect.module
Delete multiple redirects.
path_redirect_list_redirects in ./path_redirect.admin.inc
@file Administrative page callbacks for the path_redirect module.
path_redirect_load in ./path_redirect.module
Load a redirect by ID.

... See full list

File

./path_redirect.module, line 422

Code

function path_redirect_load_multiple($rids = NULL, $conditions = array()) {
  if (isset($rids) && empty($rids)) {
    return array();
  }
  $query = array();
  _path_redirect_build_conditions($query, $rids, $conditions);
  $sql = "SELECT * FROM {path_redirect} WHERE " . implode(' AND ', $query['conditions']);
  $query = db_query($sql, $query['args']);
  $redirects = array();
  while ($redirect = db_fetch_array($query)) {

    // Unpack query strings into arrays.
    if (!isset($redirect['source_query']) || !is_array($redirect['source_query'])) {
      $parsed = parse_url($redirect['source']) + array(
        'query' => '',
      );
      $redirect['source_query'] = path_redirect_get_query_array($parsed['query']);
      $redirect['source'] = $parsed['path'];
    }
    $redirect['query'] = path_redirect_get_query_array($redirect['query']);
    $redirects[$redirect['rid']] = $redirect;
  }
  return $redirects;
}