コード例 #1
0
ファイル: issues.php プロジェクト: nikkiczx/phproject
 public function get($f3)
 {
     $issue = new \Model\Issue\Detail();
     // Build filter string
     $filter = array();
     $get = $f3->get("GET");
     $db = $f3->get("db.instance");
     foreach ($issue->fields(false) as $i) {
         if (isset($get[$i])) {
             $filter[] = "`{$i}` = " . $db->quote($get[$i]);
         }
     }
     $filter_str = $filter ? implode(' AND ', $filter) : null;
     // Build options
     $options = array();
     if ($f3->get("GET.order")) {
         $options["order"] = $f3->get("GET.order") . " " . $f3->get("GET.ascdesc");
     }
     // Load issues
     $result = $issue->paginate($f3->get("GET.offset") / ($f3->get("GET.limit") ?: 30), $f3->get("GET.limit") ?: 30, $filter_str, $options);
     // Build result objects
     $issues = array();
     foreach ($result["subset"] as $iss) {
         $issues[] = $this->_issueMultiArray($iss);
     }
     // Output response
     $this->_printJson(array("total_count" => $result["total"], "limit" => $result["limit"], "issues" => $issues, "offset" => $result["pos"] * $result["limit"]));
 }
コード例 #2
0
ファイル: issues.php プロジェクト: Rayne/phproject
 /**
  * GET /search
  * Search for issues
  *
  * @param \Base $f3
  */
 public function search($f3)
 {
     $q = $f3->get("GET.q");
     if (preg_match("/^#([0-9]+)\$/", $q, $matches)) {
         $f3->reroute("/issues/{$matches[1]}");
     }
     $issues = new \Model\Issue\Detail();
     $args = $f3->get("GET");
     if (empty($args["page"])) {
         $args["page"] = 0;
     }
     $where = $this->_buildSearchWhere($q);
     if (empty($args["closed"])) {
         $where[0] .= " AND status_closed = '0'";
     }
     $issue_page = $issues->paginate($args["page"], 50, $where, array("order" => "created_date DESC"));
     $f3->set("issues", $issue_page);
     if ($issue_page["count"] > 7) {
         if ($issue_page["pos"] <= 3) {
             $min = 0;
         } else {
             $min = $issue_page["pos"] - 3;
         }
         if ($issue_page["pos"] < $issue_page["count"] - 3) {
             $max = $issue_page["pos"] + 3;
         } else {
             $max = $issue_page["count"] - 1;
         }
     } else {
         $min = 0;
         $max = $issue_page["count"] - 1;
     }
     $f3->set("pages", range($min, $max));
     $f3->set("show_filters", false);
     $this->_render("issues/search.html");
 }
コード例 #3
0
ファイル: user.php プロジェクト: nikkiczx/phproject
 public function single($f3, $params)
 {
     $this->_requireLogin();
     $user = new \Model\User();
     $user->load(array("username = ? AND deleted_date IS NULL", $params["username"]));
     if ($user->id) {
         $f3->set("title", $user->name);
         $f3->set("this_user", $user);
         // Extra arrays required for bulk update
         $status = new \Model\Issue\Status();
         $f3->set("statuses", $status->find(null, null, $f3->get("cache_expire.db")));
         $f3->set("users", $user->getAll());
         $f3->set("groups", $user->getAllGroups());
         $priority = new \Model\Issue\Priority();
         $f3->set("priorities", $priority->find(null, array("order" => "value DESC"), $f3->get("cache_expire.db")));
         $type = new \Model\Issue\Type();
         $f3->set("types", $type->find(null, null, $f3->get("cache_expire.db")));
         $issue = new \Model\Issue\Detail();
         $f3->set("created_issues", $issue->paginate(0, 200, array("status_closed = '0' AND deleted_date IS NULL AND author_id = ?", $user->id), array("order" => "priority DESC, due_date DESC")));
         $f3->set("assigned_issues", $issue->paginate(0, 200, array("status_closed = '0' AND deleted_date IS NULL AND owner_id = ?", $user->id), array("order" => "priority DESC, due_date DESC")));
         $f3->set("overdue_issues", $issue->paginate(0, 200, array("status_closed = '0' AND deleted_date IS NULL AND owner_id = ? AND due_date IS NOT NULL AND due_date < ?", $user->id, date("Y-m-d", \Helper\View::instance()->utc2local())), array("order" => "due_date ASC")));
         $this->_render("user/single.html");
     } else {
         $f3->error(404);
     }
 }
コード例 #4
0
ファイル: issues.php プロジェクト: phemmyster/phproject
 /**
  * @param \Base $f3
  * @param array $params
  */
 public function search($f3, $params)
 {
     $query = "%" . $f3->get("GET.q") . "%";
     if (preg_match("/^#([0-9]+)\$/", $f3->get("GET.q"), $matches)) {
         $f3->reroute("/issues/{$matches[1]}");
     }
     $issues = new \Model\Issue\Detail();
     $args = $f3->get("GET");
     if (empty($args["page"])) {
         $args["page"] = 0;
     }
     $where = "(id = ? OR name LIKE ? OR description LIKE ?\n\t\t\t\tOR author_name LIKE ? OR owner_name LIKE ?\n\t\t\t\tOR author_username LIKE ? OR owner_username LIKE ?\n\t\t\t\tOR author_email LIKE ? OR owner_email LIKE ?)\n\t\t\tAND deleted_date IS NULL";
     if (empty($args["closed"])) {
         $where .= " AND status_closed = '0'";
     }
     $issue_page = $issues->paginate($args["page"], 50, array($where, $f3->get("GET.q"), $query, $query, $query, $query, $query, $query, $query, $query), array("order" => "created_date DESC"));
     $f3->set("issues", $issue_page);
     if ($issue_page["count"] > 7) {
         if ($issue_page["pos"] <= 3) {
             $min = 0;
         } else {
             $min = $issue_page["pos"] - 3;
         }
         if ($issue_page["pos"] < $issue_page["count"] - 3) {
             $max = $issue_page["pos"] + 3;
         } else {
             $max = $issue_page["count"] - 1;
         }
     } else {
         $min = 0;
         $max = $issue_page["count"] - 1;
     }
     $f3->set("pages", range($min, $max));
     $f3->set("show_filters", false);
     $this->_render("issues/search.html");
 }
コード例 #5
0
ファイル: issues.php プロジェクト: nikkiczx/phproject
 public function search($f3, $params)
 {
     $query = "%" . $f3->get("GET.q") . "%";
     if (preg_match("/^#([0-9]+)\$/", $f3->get("GET.q"), $matches)) {
         $f3->reroute("/issues/{$matches[1]}");
     }
     $issues = new \Model\Issue\Detail();
     $args = $f3->get("GET");
     if (empty($args["page"])) {
         $args["page"] = 0;
     }
     $where = "(id = ? OR name LIKE ? OR description LIKE ?\n\t\t\t\tOR author_name LIKE ? OR owner_name LIKE ?\n\t\t\t\tOR author_username LIKE ? OR owner_username LIKE ?\n\t\t\t\tOR author_email LIKE ? OR owner_email LIKE ?)\n\t\t\tAND deleted_date IS NULL";
     $issue_page = $issues->paginate($args["page"], 50, array($where, $f3->get("GET.q"), $query, $query, $query, $query, $query, $query, $query, $query), array("order" => "created_date DESC"));
     $f3->set("issues", $issue_page);
     $f3->set("show_filters", false);
     $this->_render("issues/search.html");
 }