public function indexAction() { $this->_delete(); $this->_multi(); $page = (int) $this->_request->get("page", 1); if ($page < 1) { $page = 1; } $perPage = $this->_getPerPage(); $qstring = array(); $sq1 = new Daq_Db_Query(); $sq1->select("count(*) AS `c_all`")->from("Wpjb_Model_Job t2")->where("t2.job_category=t1.id"); $query = new Daq_Db_Query(); $query->select("*"); $query->from("Wpjb_Model_Application t"); $query->join("t.job t2"); $query->order("is_rejected ASC, applied_at DESC"); $query->limitPage($page, $perPage); if ($this->_request->get("job") > 0) { $jId = $this->_request->get("job"); $query->where("job_id = ?", $jId); $this->view->job = new Wpjb_Model_Job($jId); $qstring["job"] = $jId; } $result = $query->execute(); $total = (int) $query->select("COUNT(*) as `total`")->limit(1)->fetchColumn(); $this->view->current = $page; $this->view->total = ceil($total / $perPage); $this->view->data = $result; $qs = ""; foreach ($qstring as $k => $v) { $qs .= $k . "/" . esc_html((string) $v); } $this->view->qstring = $qs; }
public static function search($query, $category, $degree, $experience, $posted, $count, $page) { $select = new Daq_Db_Query(); $select->select()->from("Wpjb_Model_Resume t1")->join("t1.users t2")->where("is_active = 1")->order("updated_at DESC"); if (Wpjb_Project::getInstance()->conf("cv_approval") == 1) { $select->where("is_approved = ?", Wpjb_Model_Resume::RESUME_APPROVED); } if ($query) { $search = $query; $q = "MATCH(title, headline, experience, education)"; $q .= "AGAINST (? IN BOOLEAN MODE)"; $select->where($q, $search); } if (is_array($category)) { $category = array_map("intval", $category); $select->where("category_id IN (?)", join(",", $category)); } elseif ($category) { $select->where("category_id = ?", $category); } if (is_array($degree)) { $degree = array_map("intval", $degree); $select->where("category_id IN (?)", join(",", $degree)); } elseif ($degree) { $select->where("degree = ?", $degree); } if (is_array($experience)) { $experience = array_map("intval", $experience); $select->where("category_id IN (?)", join(",", $experience)); } elseif ($experience) { $select->where("years_experience = ?", $experience); } if ($posted) { $days = posted; if ($days == 1) { $time = date("Y-m-d"); $select->where("DATE(updated_at) = ?", date("Y-m-d")); } elseif ($days == 2) { $time = date("Y-m-d", strtotime("yesterday")); $select->where("DATE(updated_at) = ?", date("Y-m-d", strtotime("now -1 day"))); } else { $select->where("updated_at >= DATE_SUB(NOW(), INTERVAL ? DAY)", (int) $days); } } $itemsFound = $select->select("COUNT(*) AS cnt")->fetchColumn(); $select->select("*"); if ($count > 0) { $select->limitPage($page, $count); } $list = $select->execute(); $response = new stdClass(); $response->resume = $list; $response->page = (int) $page; $response->perPage = (int) $count; $response->count = count($list); $response->total = (int) $itemsFound; return $response; }