/**
  * Custom search/filter
  *
  * @param Doctrine_query $q
  * @param string $str
  * @param string $root_tbl (optional)
  * @param string $root_alias (optional)
  */
 protected function apply_search($q, $str, $root_tbl = null, $root_alias = null)
 {
     $emls = "e.sem_email like '%{$str}%'";
     $srcs = "s.src_first_name like '{$str}%' OR s.src_last_name like '{$str}%'";
     $orgs = "o.org_name like '{$str}%' OR o.org_display_name like '{$str}%'";
     $q->addWhere("(({$emls}) OR ({$srcs}) OR ({$orgs}))");
 }
 /**
  * Custom query string (searches sources and responses)
  *
  * @param Doctrine_query $q
  * @param string $str
  * @param string $root_tbl (optional)
  * @param string $root_alias (optional)
  */
 protected function apply_search($q, $str, $root_tbl = null, $root_alias = null)
 {
     $left = "'" . addslashes($str) . "%'";
     $both = "'%" . addslashes($str) . "%'";
     $wheres = array("(bs.bsrc_notes like {$both})", "(s.src_first_name like {$left} or s.src_last_name like {$left})", "(e.sem_email like {$left})", "(srsi.inq_ext_title like {$both})");
     $q->addWhere('(' . implode(' or ', $wheres) . ')');
 }