Replace views_savedsearches_load_multiple function with:

/**
 * Load multiple saved searches.
 *
 * @param $uid
 *   A user id.
 * @param $vid
 *   A view id.
 * @return
 *  An array of saved search objects.
 */
function views_savedsearches_load_multiple($uid = NULL, $vid = NULL) {
  $saved_searches = array();
  
  $query = 'SELECT sid FROM {views_savedsearches} ';

  if ($uid > 0 && $vid > 0) {
    $result = db_query("$query WHERE uid = %d AND vid = %d", $uid, $vid);
  }
  elseif ($uid > 0) {
    $result = db_query("$query WHERE uid = %d", $uid);
  }
  elseif ($vid > 0) {
    $result = db_query("$query WHERE vid = %d", $vid);
  }
  else {
    $result = db_query($query);
  }
  
  while ($row = db_fetch_object($result)) {
    $saved_searches[$row->sid] = views_savedsearches_load($row->sid);
  }
  return $saved_searches;
}

otherwire NULL value create a problem on select wen use only UID or VID

Comments

aron novak’s picture

Status: Reviewed & tested by the community » Fixed

thanks for the fix, just committed.
I added the order clause to the sql statements.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.