@ -5,73 +5,65 @@ $equivalents = json_decode(file_get_contents("./projects.json"), true);
$descriptions = json_decode(file_get_contents("./descriptions.json"), true);
$projects = [];
print("GitLab > equestria.dev\n");
$gitlab = json_decode(file_get_contents("https://invent.equestria.dev/api/v4/groups/5/projects?include_subgroups=true "), true);
print("Gitea > equestria.dev\n");
$gitea = json_decode(file_get_contents("https://git.equestria.dev/api/v1/orgs/equestria.dev/repos?limit=1000 "), true);
foreach ($gitlab as $project) {
print(" " . $project["path"] . "\n");
$languages = json_decode(file_get_contents("https://invent.equestria.dev/api/v4/projects/$project[id]/languages"), true);
$files = json_decode(file_get_contents("https://invent.equestria.dev/api/v4/projects/$project[id]/repository/tree"), true);
foreach ($gitea as $project) {
print(" " . $project["name"] . "\n");
$languages = json_decode(file_get_contents("https://git.equestria.dev/api/v1/repos/equestria.dev/$project[name]/languages"), true);
$readme = null;
foreach ($files as $file) { if (strtolower($file["name"]) === "readme.md") {
$readme = "https://invent.equestria.dev/api/v4/projects/$project[id]/repository/blobs/$file[id]";
}}
$readme_dl = json_decode(file_get_contents("https://git.equestria.dev/api/v1/repos/equestria.dev/$project[name]/contents/README.md"), true);
$commit = json_decode(file_get_contents("https://git.equestria.dev/api/v1/repos/equestria.dev/$project[name]/commits?limit=1"), true)[0];
$commit = json_decode(file_get_contents("https://invent.equestria.dev/api/v4/projects/$project[id]/repository/commits"), true)[0];
if (isset($readme_dl)) {
$readme = base64_decode($readme_dl["content"]);
} else {
$readme = null;
}
$projects[] = [
"id" => md5("equestria.dev/" . $project["path"]),
"id" => md5("equestria.dev/" . $project["id "]),
"owner" => "equestria.dev",
"name" => $project["path "],
"display_name" => $project["name"],
"name" => $project["name "],
"display_name" => $equivalents[$project["name"]] ?? $ project["name"],
"description" => $descriptions[$project["name"]] ?? $project["description"],
"source" => $project["web _url"],
"icon" => trim($project["avatar_url"] ?? "" ) === "" ? null : $project["avatar_url"],
"website" => preg_replace("/(.*)\[\]\((http(s|):\/\/([^ ]*))\)(.*)/m", "$2", $project["description"]) !== $project["description"] ? preg_replace("/(.*)\[\]\((http(s|):\/\/([^ ]*))\)(.*)/m", "$2", $project["description"]) : $project["web_url "],
"size" => 0 ,
"source" => $project["html _url"],
"icon" => trim($project["avatar_url"]) === "" ? null : $project["avatar_url"],
"website" => trim($project["website"]) === "" ? $project["html_url"] : $project["website "],
"size" => $project["size"] ,
"language" => array_keys($languages)[0] ?? null,
"languages" => $languages,
"update" => strtotime($project["last_activity _at"]),
"commit" => isset($commit) ? strtotime($commit["created_at"]) : strtotime($project["last_activity _at"]),
"update" => strtotime($project["updated _at"]),
"commit" => isset($commit) ? strtotime($commit["created"]) : strtotime($project["updated _at"]),
"archive" => $project["archived"],
"readme" => $readme
];
}
print("Gitlab > minteck.org\n");
$minteckorg = json_decode(file_get_contents("https://invent.equestria.dev/api/v4/groups/44/projects?include_subgroups=true"), true);
foreach ($minteckorg as $project) {
print(" " . $project["path"] . "\n");
$languages = json_decode(file_get_contents("https://invent.equestria.dev/api/v4/projects/$project[id]/languages"), true);
print("Gitea > minteck.org\n");
$files = json_decode(file_get_contents("https://invent.equestria.dev/api/v4/projects/$project[id]/repository/tree "), true);
$minteckorg = json_decode(file_get_contents("https://git.equestria.dev/api/v1/orgs/minteck.org/repos?limit=1000"), true);
$readme = null;
foreach ($files as $file) { if (strtolower($file["name"]) === "readme.md") {
$readme = "https://invent.equestria.dev/api/v4/projects/$project[id]/repository/blobs/$file[id]";
}}
foreach ($minteckorg as $project) {
print(" " . $project["name"] . "\n");
$languages = json_decode(file_get_contents("https://git.equestria.dev/api/v1/repos/minteck.org/$project[name]/languages"), true);
$commit = json_decode(file_get_contents("https://invent.equestria.dev/api/v4/projects/$project[id]/repository/commits "), true)[0];
$commit = json_decode(file_get_contents("https://git.equestria.dev/api/v1/repos/minteck.org/$project[name]/commits?limit=1 "), true)[0];
$projects[] = [
"id" => md5("minteck.org-gitea/" . $project["path "]),
"id" => md5("minteck.org-gitea/" . $project["id "]),
"owner" => "minteck.org-gitea",
"name" => $project["path "],
"display_name" => $project["name"],
"name" => $project["name "],
"display_name" => $equivalents[$project["name"]] ?? $ project["name"],
"description" => $descriptions[$project["name"]] ?? $project["description"],
"source" => $project["web _url"],
"icon" => trim($project["avatar_url"] ?? "" ) === "" ? null : $project["avatar_url"],
"website" => preg_replace("/(.*)\[\]\((http(s|):\/\/([^ ]*))\)(.*)/m", "$2", $project["description"]) !== $project["description"] ? preg_replace("/(.*)\[\]\((http(s|):\/\/([^ ]*))\)(.*)/m", "$2", $project["description"]) : $project["web_url "],
"size" => 0 ,
"source" => $project["html _url"],
"icon" => trim($project["avatar_url"]) === "" ? null : $project["avatar_url"],
"website" => trim($project["website"]) === "" ? $project["html_url"] : $project["website "],
"size" => $project["size"] ,
"language" => array_keys($languages)[0] ?? null,
"languages" => $languages,
"update" => strtotime($project["last_activity_at"]),
"commit" => isset($commit) ? strtotime($commit["created_at"]) : strtotime($project["last_activity_at"]),
"archive" => $project["archived"],
"readme" => $readme
"update" => strtotime($project["updated_at"]),
"commit" => isset($commit) ? strtotime($commit["created"]) : strtotime($project["updated_at"])
];
}