Improve search algorithm and enable searching for Ids
This commit is contained in:
@@ -215,21 +215,21 @@ class Experiment extends CI_Model {
|
||||
$this->db->where('projects.id', $projectId);
|
||||
}
|
||||
|
||||
if ($searchAll) {
|
||||
$query = $this->db->like('name', $needle)->get('experiments');
|
||||
} else {
|
||||
$this->db->select('experiments.*')->from('experiments');
|
||||
|
||||
if (!$searchAll) {
|
||||
$this->db->join('projects', 'projects.id = experiments.project_id', 'left');
|
||||
$this->db->join('shares', 'shares.project_id = projects.id', 'left');
|
||||
|
||||
$this->db->where("(`shares`.`user_id` = " . $this->db->escape($this->session->userdata('user_id'))
|
||||
. " OR `projects`.`owner` = " . $this->db->escape($this->session->userdata('user_id'))
|
||||
. " OR `projects`.`public` = 1)");
|
||||
}
|
||||
|
||||
$this->db->like('experiments.name', $needle);
|
||||
$this->db->or_like('experiments.id', $needle);
|
||||
|
||||
$query = $this->db->get();
|
||||
}
|
||||
|
||||
return $query->result_array();
|
||||
}
|
||||
|
||||
@@ -172,20 +172,20 @@ class Project extends CI_Model {
|
||||
* @return array Returns an array of all found projects.
|
||||
*/
|
||||
public function search($needle, $searchAll = false) {
|
||||
if ($searchAll) {
|
||||
$query = $this->db->like('name', $needle)->get('projects');
|
||||
} else {
|
||||
|
||||
$this->db->select('projects.*')->from('projects');
|
||||
|
||||
if (!$searchAll) {
|
||||
$this->db->join('shares', 'shares.project_id = projects.id', 'left');
|
||||
|
||||
$this->db->where("(`shares`.`user_id` = " . $this->db->escape($this->session->userdata('user_id'))
|
||||
. " OR `projects`.`owner` = " . $this->db->escape($this->session->userdata('user_id'))
|
||||
. " OR `projects`.`public` = 1)");
|
||||
}
|
||||
|
||||
$this->db->like('projects.name', $needle);
|
||||
|
||||
$this->db->or_like('projects.id', $needle);
|
||||
$query = $this->db->get();
|
||||
}
|
||||
|
||||
return $this->addShortNames($query->result_array());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user