diff options
Diffstat (limited to 'old/projects')
-rw-r--r-- | old/projects/home.php | 74 | ||||
-rw-r--r-- | old/projects/index.php | 7 | ||||
-rw-r--r-- | old/projects/view.php | 52 |
3 files changed, 133 insertions, 0 deletions
diff --git a/old/projects/home.php b/old/projects/home.php new file mode 100644 index 0000000..2e39556 --- /dev/null +++ b/old/projects/home.php @@ -0,0 +1,74 @@ +<?php $title = "Projects"; require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php"; global $Parsedown; ?> +<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php"; ?> + + <br> + <div class="container"> + <h1>Projects</h1> + <br> + + <div class="row"> + <?php foreach (json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/includes/fetcher/projects.json"), true) as $project): if (!$project['archive'] && $project['flagship']): ?> + <div class="col-lg-4"> + <div class="card stylized-card"> + <div class="card-body"> + <img class="stylized-card-icon" <?php if (!isset($project["icon"])): ?>style="background: hsla(<?= hexdec(substr($project['id'], 0, 2)) ?>, 100%, 50%, 0.1) !important;"<?php endif; ?> src="<?= isset($project["icon"]) ? $project["icon"] . "?width=96" : "/assets/img/letters/" . getLetters($project['name']) . ".png" ?>" alt=""> + <h4 class="card-title"><?= $project["name"] ?></h4> + <p class="card-text"><?= preg_replace('/[|.?!;](.*)/m', '', strip_tags($Parsedown->line(trim($project["description"])))) ?></p> + <a href="?<?= $project["id"] ?>" class="btn btn-outline-light">View Project</a> + <div class="small text-muted" style="margin-top:10px;">Updated <?= timeAgo($project['date']) ?></div> + </div> + </div> + </div> + <?php endif; endforeach; ?> + </div> + + <hr> + + <div class="row"> + <?php foreach (json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/includes/fetcher/projects.json"), true) as $project): if (!$project['archive'] && !$project['flagship']): ?> + <div class="col-lg-4"> + <div class="card stylized-card"> + <div class="card-body"> + <img class="stylized-card-icon" <?php if (!isset($project["icon"])): ?>style="background: hsla(<?= hexdec(substr($project['id'], 0, 2)) ?>, 100%, 50%, 0.1) !important;"<?php endif; ?> src="<?= isset($project["icon"]) ? $project["icon"] . "?width=96" : "/assets/img/letters/" . getLetters($project['name']) . ".png" ?>" alt=""> + <h4 class="card-title"><?= $project["name"] ?></h4> + <p class="card-text"><?= preg_replace('/[|.?!;](.*)/m', '', strip_tags($Parsedown->line(trim($project["description"])))) ?></p> + <a href="?<?= $project["id"] ?>" class="btn btn-outline-light">View Project</a> + <div class="small text-muted" style="margin-top:10px;">Updated <?= timeAgo($project['date']) ?></div> + </div> + </div> + </div> + <?php endif; endforeach; ?> + </div> + + <hr> + + <p>The following projects are projects I don't maintain anymore, they are not all guaranteed to work or be complete. You may use the source code as you wish as long as you don't claim it is 100% your work.</p> + <div class="list-group"> + <?php foreach (json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/includes/fetcher/projects.json"), true) as $project): if ($project['archive']): ?> + <a href="?<?= $project["id"] ?>" class="list-stylized list-group-item list-group-item-action"> + <img <?php if (!isset($project["icon"])): ?>style="background: hsla(<?= hexdec(substr($project['id'], 0, 2)) ?>, 100%, 50%, 0.1) !important;"<?php endif; ?> src="<?= isset($project["icon"]) ? $project["icon"] . "?width=96" : "/assets/img/letters/" . getLetters($project['name']) . ".png" ?>" class="memberview-icon archive-icon"> + <?= $project["name"] ?><span style="opacity:.5;"> · Updated <?= timeAgo($project['date']) ?></span> + </a> + <?php endif; endforeach; ?> + <?php $files = scandir($_SERVER["DOCUMENT_ROOT"] . "/assets/archives"); + $files = array_filter($files, function ($i) { + return str_ends_with($i, ".json"); + }); + usort($files, function ($a, $b) { + $da = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/assets/archives/" . $a), true); + $db = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/assets/archives/" . $b), true); + $ta = strtotime(explode("/", $da['date'])[1] . "-" . explode("/", $da['date'])[0] . "-01"); + $tb = strtotime(explode("/", $db['date'])[1] . "-" . explode("/", $db['date'])[0] . "-01"); + + return $tb - $ta; + }); + foreach ($files as $id): $project = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/assets/archives/" . $id), true); ?> + <a href="https://archive.cdn.minteck.org/<?= substr($id, 0, -5) ?>.zip" class="list-stylized list-group-item list-group-item-action"> + <img <?php if (!file_exists($_SERVER["DOCUMENT_ROOT"] . "/assets/archives/" . substr($id, 0, -5) . ".png")): ?>style="background: hsla(<?= hexdec(substr(md5($id), 0, 2)) ?>, 100%, 50%, 0.1) !important;"<?php endif; ?> src="<?= file_exists($_SERVER["DOCUMENT_ROOT"] . "/assets/archives/" . substr($id, 0, -5) . ".png") ? "/assets/archives/" . substr($id, 0, -5) . ".png" : "/assets/img/letters/" . getLetters($project['title']) . ".png" ?>" class="memberview-icon archive-icon"> + <?= $project["title"] ?><span style="opacity:.5;"> · Updated <?= timeAgo(explode("/", $project['date'])[1] . "-" . explode("/", $project['date'])[0] . "-01") ?></span> + </a> + <?php endforeach; ?> + </div> + </div> + +<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/footer.php"; ?>
\ No newline at end of file diff --git a/old/projects/index.php b/old/projects/index.php new file mode 100644 index 0000000..0b56fe8 --- /dev/null +++ b/old/projects/index.php @@ -0,0 +1,7 @@ +<?php + +if (isset(array_keys($_GET)[0])) { + require_once "view.php"; +} else { + require_once "home.php"; +}
\ No newline at end of file diff --git a/old/projects/view.php b/old/projects/view.php new file mode 100644 index 0000000..8628434 --- /dev/null +++ b/old/projects/view.php @@ -0,0 +1,52 @@ +<?php + +$sel = array_keys($_GET)[0]; +$projects = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/includes/fetcher/projects.json"), true); +$prj = null; + +foreach ($projects as $project) { + if ($project["id"] === $sel) { + $prj = $project; + } +} + +if ($prj === null) { + header("Location: /projects"); + die(); +} + +$title = $prj["name"] . " | Projects"; require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php"; global $Parsedown; ?> +<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php"; ?> + + <br> + <div class="container"> + <a class="ln small-ln" href="/projects">← Go back to projects list</a> + <h1><img class="stylized-card-icon" <?php if (!isset($project["icon"])): ?>style="background: hsla(<?= hexdec(substr($prj['id'], 0, 2)) ?>, 100%, 50%, 0.1) !important;"<?php endif; ?> src="<?= isset($prj["icon"]) ? $prj["icon"] . "?width=128" : "/assets/img/letters/" . getLetters($prj['name']) . ".png" ?>" alt=""> <?= $prj["name"] ?><?php if ($prj['archive']): ?> <span style="font-size: initial;vertical-align: middle;"><span class="badge bg-warning">Deprecated</span></span><?php endif; ?></h1> + + <p><?= preg_replace('/[|.?!;](.*)/m', '', strip_tags($Parsedown->line(trim($prj["description"])))) ?><?php foreach ($prj['tags'] as $tag): if ($tag !== "Flagship" && $tag !== "Showcase"): ?> <span class="badge bg-secondary rounded-pill"><a class="ln ln-hidden" href="https://gitlab.minteck.org/explore/projects/topics/<?= str_replace("%2520", "%20", urlencode(str_replace(" ", "%20", $tag))) ?>" target="_blank"><?= $tag ?></a></span><?php endif; endforeach; ?></p> + + <div class="list-group"> + <span class="list-stylized list-group-item list-stylized-static"> + <?= "<a class='ln' href='https://gitlab.minteck.org/' target='_blank'>".$prj['event']['author']['name']." (@".$prj['event']['author']['username'].")</a> ".$prj['event']['action_name']." ".(isset($prj['event']['push_data']) ? $prj['event']['push_data']['ref_type']." <code>".$prj['event']['push_data']['ref']."</code> " : (isset($prj['event']['wiki_page']) ? "wiki page <a href='" . $prj['web'] . "/-/wikis/" . $prj['event']['wiki_page']['slug'] . "' target='_blank' class='ln'><code>" . $prj['event']['wiki_page']['slug'] . "</code></a> " : "project ")) . timeAgo($prj['event']['created_at']) ?> + <?php if (isset($prj['event']['push_data']['commit_title'])): ?> + <blockquote class="stylized-quote"> + <?= strip_tags($prj['event']['push_data']['commit_title']); ?> + </blockquote> + <?php endif; ?> + </span> + </div> + + <div style="width:max-content;margin: 10px auto;"> + <div class="btn-group"> + <a type="button" class="btn btn-outline-light" href="<?= $prj['web'] ?>" target="_blank">Source Code</a> + <a type="button" class="btn btn-outline-light" href="<?= $prj['web'] ?>/activity" target="_blank">Project Activity</a> + <a type="button" class="btn btn-outline-light<?php if (!isset($prj['issues'])): ?> disabled<?php endif; ?>" href="<?php if (isset($prj['issues'])): ?>https://youtrack.minteck.org/issues/<?= $prj['issues'] ?><?php endif; ?>" target="_blank">Bug Reports</a> + <a type="button" class="btn btn-outline-light disabled" href="" target="_blank">Continuous Integration</a> + </div> + </div> + + <?= $Parsedown->text(base64_decode($prj['readme'])) ?> + + </div> + +<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/footer.php"; ?>
\ No newline at end of file |