| <?php | |
| /** | |
| * Copyright (c) 2019 Eclipse Foundation. | |
| * | |
| * This program and the accompanying materials are made | |
| * available under the terms of the Eclipse Public License 2.0 | |
| * which is available at https://www.eclipse.org/legal/epl-2.0/ | |
| * | |
| * Contributors: | |
| * Eric Poirier (Eclipse Foundation) - Initial implementation | |
| * | |
| * SPDX-License-Identifier: EPL-2.0 | |
| */ | |
| /** | |
| * GithubRepository class | |
| * | |
| * Usage example: | |
| * | |
| * include_once('GithubRepository.class.php'); | |
| * $GithubApi = new GithubRepository(); | |
| * | |
| * @author ericpoirier | |
| */ | |
| class GithubRepository { | |
| /** | |
| * Repository url | |
| * | |
| * var string | |
| */ | |
| public $repo_url = ""; | |
| /** | |
| * Get the repository's url | |
| * | |
| * @return string | |
| */ | |
| public function getRepoUrl() { | |
| return $this->repo_url; | |
| } | |
| /** | |
| * Set the repository's url | |
| * | |
| * @param string $url | |
| */ | |
| public function setRepoUrl($url = "") { | |
| $url = filter_var($url, FILTER_SANITIZE_URL); | |
| if (!empty($url)) { | |
| $this->repo_url = $url; | |
| } | |
| } | |
| /** | |
| * Get the organization's name | |
| * | |
| * @return string | |
| */ | |
| public function getOrganizationName() { | |
| $repo = $this->repoUrlArray(); | |
| if (empty($repo[0])) { | |
| return ""; | |
| } | |
| return $repo[0]; | |
| } | |
| /** | |
| * Get the team's name | |
| * | |
| * @return string | |
| */ | |
| public function getContributorTeamName() { | |
| $repo = $this->repoUrlArray(); | |
| if (empty($repo[0]) || empty($repo[1])) { | |
| return ""; | |
| } | |
| return $repo[0] . '-' . $repo[1] . '-contributors'; | |
| } | |
| /** | |
| * Get the repository's name | |
| * | |
| * @return string | |
| */ | |
| public function getRepoName() { | |
| $repo = $this->repoUrlArray(); | |
| if (empty($repo[1])) { | |
| return ""; | |
| } | |
| return $repo[1]; | |
| } | |
| /** | |
| * Get the array result of the repository's url | |
| * | |
| * @return array | |
| */ | |
| private function repoUrlArray() { | |
| if (empty($this->repo_url)) { | |
| return array(); | |
| } | |
| return explode('/', preg_replace('/http(s|)?:\/\/[www\.]?github.com\//', '', $this->repo_url)); | |
| } | |
| } |