This function appears to be missing a parameter in the true-case of the 'if', where upon updating, the filters were not actually passed. See below:

function views_savedsearches_save($saved_search) {
  if ($saved_search->sid && $saved_search->sid != 'new') {
    db_query("UPDATE {views_savedsearches} SET uid = %d, vid = %d, name = '%s', filters = '%s' WHERE sid = %d",
      $saved_search->uid,
      $saved_search->vid,
      $saved_search->name,
      $saved_search->filters,  // <== missing parameter
      $saved_search->sid
    );
  }
  else {
    $saved_search->sid = db_next_id("{views_savedsearches}_sid");
    db_query("INSERT INTO {views_savedsearches} (sid, uid, vid, name, filters) VALUES(%d, %d, %d, '%s', '%s')",
      $saved_search->sid,
      $saved_search->uid,
      $saved_search->vid,
      $saved_search->name,
      $saved_search->filters
    );
  }
  return $saved_search->sid;
}

Comments

sdsheridan’s picture

Version: 5.x-1.0 » 5.x-1.x-dev

Also a problem in the dev version.

wim leers’s picture

Status: Active » Closed (won't fix)

Unfortunately, I don't have the time anymore to work on this module. So until you can provide a patch, I'm marking this as won't fix.