function login_github_user($usr) { global $sLayer; $dev = load_developer_where("name = '" . $usr['username'] . "'"); if ($dev != null) { $sLayer->loginUser($dev); return array("ok" => true, "user" => $dev); } else { $dev = new Developer(); $dev->name = $usr['username']; $dev->avatar_url = $usr['avatar_url']; if (save_developer($dev)) { $sLayer->logInUser($dev); return array("ok" => true, "user" => $dev); } else { return array("ok" => false); } } }
public static function getUserRepos($user) { $page = 1; $projects = array(); $dev = load_developer_where("name = '" . $user . "'"); $full_repo_list = array(); do { $url = "https://api.github.com/users/{$user}/repos?page=" . $page; Makiavelo::info("----------- URL : " . $url); $repo_list = self::sendRequest($url); //Makiavelo::puts("------------ number of repos found: " . count($repo_list)); Makiavelo::info("=== Getting list of repos :: " . print_r($repo_list, true)); foreach ($repo_list as $repo) { $full_repo_list[] = $repo; $proj = load_project_where("owner_id = " . $dev->id . " and name ='" . $repo->name . "'"); if ($proj == null) { $proj = new Project(); $proj->name = $repo->name; $proj->url = $repo->html_url ? $repo->html_url : $repo->url; $proj->owner_id = $dev->id; $proj->description = $repo->description; $proj->stars = $repo->watchers; $proj->forks = $repo->forks; $proj->language = $repo->language; $proj->published = 0; $proj->open_issues = $repo->open_issues; $proj->close_issues = count(GithubAPI::getProjectIssues($user, $repo->name, "closed")); if (save_project($proj)) { $projects[] = $proj; } } else { $projects[] = $proj; } } $page++; } while (count($repo_list) > 0); GithubAPI::deleteOldProjects($dev, $full_repo_list); return $projects; }
function load_developer($id) { return load_developer_where("id = {$id}"); }
public function indexAction() { $language = urldecode($this->request->getParam("language")); $owner = $this->request->getParam("owner"); $where = " published = 1 "; if ($language != "" && $language != "All") { $where .= " and language = '" . $language . "'"; } if ($owner != "") { $dev = load_developer_where("name like '%" . $owner . "%'"); $where .= " and owner_id = " . $dev->id; } $sort_param = $this->request->getParam("sort"); $underscore_pos = strrpos($sort_param, "_"); if ($underscore_pos !== false) { $sort = substr_replace($sort_param, " ", $underscore_pos, 1); } $curr_page = intVal($this->request->getParam("p")); $total = count_projects($where); $init = $curr_page * $this->per_page; $pages = ceil($total / $this->per_page); $entity_list = list_project($sort, $init . "," . $this->per_page, $where); $this->render(array("entity_list" => $entity_list, "pagination" => array("current_page" => $curr_page, "total_pages" => $pages, "total_results" => $total), "search_crit" => array("lang" => $language, "owner" => $owner, "sort" => $this->request->getParam("sort")))); }
private function getCurrentDev() { $username = $this->request->getParam("name"); $dev = load_developer_where("name = '" . mysql_real_escape_string($username) . "'"); return $dev; }