From 896fa7c96856142f844d958b049d5432f511641c Mon Sep 17 00:00:00 2001 From: Minteck Date: Wed, 4 Aug 2021 16:56:12 +0200 Subject: v2.0 --- _site/includes/articles/getlist.php | 396 ++++++++++++++++++------------------ 1 file changed, 203 insertions(+), 193 deletions(-) (limited to '_site/includes/articles') diff --git a/_site/includes/articles/getlist.php b/_site/includes/articles/getlist.php index 8a342f1..2716e3e 100644 --- a/_site/includes/articles/getlist.php +++ b/_site/includes/articles/getlist.php @@ -1,194 +1,204 @@ - date("Y-m-d"), - "title" => $id, - "author" => "UnchainedTech", - "cover" => null, - "extract" => "", - "admin" => false - ]; - $list[$id]["id"] = $id; - - $propertiesMode = false; - $propertiesDone = false; - $cline = 0; - $upline = 0; - foreach ($lines as $line) { - if (!$propertiesDone) { - if (trim($line) === "---") { - if ($propertiesMode) { - $propertiesDone = true; - $propertiesMode = false; - $upline = $cline + 1; - } else { - $propertiesMode = true; - } - } else if ($propertiesMode) { - $parts = explode(":", $line); - $p_ins = trim($parts[0]); - array_shift($parts); - $p_data = trim(implode(":", $parts)); - - switch ($p_ins) { - case "date": - $pp_dt = DateTime::createFromFormat('Y-m-d', $p_data); - $list[$id]["date"] = $pp_dt->format("Ymd"); - break; - - case "title": - $list[$id]["title"] = $p_data; - break; - - case "author": - $list[$id]["author"] = explode("|", $p_data); - break; - - case "cover": - $list[$id]["cover"] = $p_data; - break; - } - } - } - $cline++; - } - - $i = 0; - while ($i++ < $upline) { - array_shift($lines); - } - - $text = implode("\n", $lines); - - $list[$id]["content"] = []; - $list[$id]["content"]["full"] = $Parsedown->text($text); - $list[$id]["content"]["clean"] = strip_tags($list[$id]["content"]["full"]); - if (strlen($list[$id]["content"]["clean"]) > 100) { - $list[$id]["content"]["mini"] = substr($list[$id]["content"]["clean"], 0, 100) . "…"; - } else { - $list[$id]["content"]["mini"] = $list[$id]["content"]["clean"]; - } - if (strlen($list[$id]["content"]["clean"]) > 500) { - $list[$id]["content"]["little"] = substr($list[$id]["content"]["clean"], 0, 500) . "…"; - } else { - $list[$id]["content"]["little"] = $list[$id]["content"]["clean"]; - } - } - } - - $files = scandir($_SERVER['DOCUMENT_ROOT'] . "/../_posts/_drafts"); - - foreach ($files as $file) { - if (is_file($_SERVER['DOCUMENT_ROOT'] . "/../_posts/_drafts/" . $file) && $file !== "_template.md" && $file !== ".gitkeep") { - $content = file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/../_posts/_drafts/" . $file); - $lines = explode("\n", $content); - $unlined = []; - - $id = substr($file, 0, -3); - $list[$id] = [ - "date" => date("Ymd"), - "title" => $id, - "author" => [ "UnchainedTech Authors" ], - "cover" => null, - "extract" => "", - "admin" => true - ]; - $list[$id]["id"] = $id; - - $propertiesMode = false; - $propertiesDone = false; - $cline = 0; - $upline = 0; - foreach ($lines as $line) { - if (!$propertiesDone) { - if (trim($line) === "---") { - if ($propertiesMode) { - $propertiesDone = true; - $propertiesMode = false; - $upline = $cline + 1; - } else { - $propertiesMode = true; - } - } else if ($propertiesMode) { - $parts = explode(":", $line); - $p_ins = trim($parts[0]); - array_shift($parts); - $p_data = trim(implode(":", $parts)); - - switch ($p_ins) { - case "date": - $pp_dt = DateTime::createFromFormat('Y-m-d', $p_data); - $list[$id]["date"] = $pp_dt->format("Ymd"); - break; - - case "title": - $list[$id]["title"] = $p_data; - break; - - case "author": - $list[$id]["author"] = explode("|", $p_data); - break; - - case "cover": - $list[$id]["cover"] = $p_data; - break; - } - } - } - $cline++; - } - - $i = 0; - while ($i++ < $upline) { - array_shift($lines); - } - - $text = implode("\n", $lines); - - $list[$id]["content"] = []; - $list[$id]["content"]["full"] = $Parsedown->text($text); - $list[$id]["content"]["clean"] = strip_tags($list[$id]["content"]["full"]); - if (strlen($list[$id]["content"]["clean"]) > 100) { - $list[$id]["content"]["mini"] = substr($list[$id]["content"]["clean"], 0, 100) . "…"; - } else { - $list[$id]["content"]["mini"] = $list[$id]["content"]["clean"]; - } - if (strlen($list[$id]["content"]["clean"]) > 500) { - $list[$id]["content"]["little"] = substr($list[$id]["content"]["clean"], 0, 500) . "…"; - } else { - $list[$id]["content"]["little"] = $list[$id]["content"]["clean"]; - } - } - } - - $listGetEnd = new DateTime("now"); - - $listGetTimeoutA = $listGetStart->diff($listGetEnd); - $listGetTimeout = $listGetTimeoutA->f; - - if ($ordered) { - usort($list, function($a, $b) { - return strtoupper($a['date']) <=> strtoupper($b['date']); - }); - $list = array_reverse($list); - } - - return $list; + date("Y-m-d"), + "title" => $id, + "author" => "UnchainedTech", + "cover" => null, + "extract" => "", + "admin" => false, + "category" => "Uncategorized" + ]; + $list[$id]["id"] = $id; + + $propertiesMode = false; + $propertiesDone = false; + $cline = 0; + $upline = 0; + foreach ($lines as $line) { + if (!$propertiesDone) { + if (trim($line) === "---") { + if ($propertiesMode) { + $propertiesDone = true; + $propertiesMode = false; + $upline = $cline + 1; + } else { + $propertiesMode = true; + } + } else if ($propertiesMode) { + $parts = explode(":", $line); + $p_ins = trim($parts[0]); + array_shift($parts); + $p_data = trim(implode(":", $parts)); + + switch ($p_ins) { + case "date": + $pp_dt = DateTime::createFromFormat('Y-m-d', $p_data); + $list[$id]["date"] = $pp_dt->format("Ymd"); + break; + + case "title": + $list[$id]["title"] = $p_data; + break; + + case "author": + $list[$id]["author"] = explode("|", $p_data); + break; + + case "cover": + $list[$id]["cover"] = $p_data; + break; + + case "category": + $list[$id]["category"] = $p_data; + break; + } + } + } + $cline++; + } + + $i = 0; + while ($i++ < $upline) { + array_shift($lines); + } + + $text = implode("\n", $lines); + + $list[$id]["content"] = []; + $list[$id]["content"]["full"] = $Parsedown->text($text); + $list[$id]["content"]["clean"] = strip_tags($list[$id]["content"]["full"]); + if (strlen($list[$id]["content"]["clean"]) > 100) { + $list[$id]["content"]["mini"] = substr($list[$id]["content"]["clean"], 0, 100) . "…"; + } else { + $list[$id]["content"]["mini"] = $list[$id]["content"]["clean"]; + } + if (strlen($list[$id]["content"]["clean"]) > 500) { + $list[$id]["content"]["little"] = substr($list[$id]["content"]["clean"], 0, 500) . "…"; + } else { + $list[$id]["content"]["little"] = $list[$id]["content"]["clean"]; + } + } + } + + $files = scandir($_SERVER['DOCUMENT_ROOT'] . "/../_posts/_drafts"); + + foreach ($files as $file) { + if (is_file($_SERVER['DOCUMENT_ROOT'] . "/../_posts/_drafts/" . $file) && $file !== "_template.md" && $file !== ".gitkeep") { + $content = file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/../_posts/_drafts/" . $file); + $lines = explode("\n", $content); + $unlined = []; + + $id = substr($file, 0, -3); + $list[$id] = [ + "date" => date("Ymd"), + "title" => $id, + "author" => [ "UnchainedTech Authors" ], + "cover" => null, + "extract" => "", + "admin" => true, + "category" => "Uncategorized" + ]; + $list[$id]["id"] = $id; + + $propertiesMode = false; + $propertiesDone = false; + $cline = 0; + $upline = 0; + foreach ($lines as $line) { + if (!$propertiesDone) { + if (trim($line) === "---") { + if ($propertiesMode) { + $propertiesDone = true; + $propertiesMode = false; + $upline = $cline + 1; + } else { + $propertiesMode = true; + } + } else if ($propertiesMode) { + $parts = explode(":", $line); + $p_ins = trim($parts[0]); + array_shift($parts); + $p_data = trim(implode(":", $parts)); + + switch ($p_ins) { + case "date": + $pp_dt = DateTime::createFromFormat('Y-m-d', $p_data); + $list[$id]["date"] = $pp_dt->format("Ymd"); + break; + + case "title": + $list[$id]["title"] = $p_data; + break; + + case "author": + $list[$id]["author"] = explode("|", $p_data); + break; + + case "cover": + $list[$id]["cover"] = $p_data; + break; + + case "category": + $list[$id]["category"] = $p_data; + break; + } + } + } + $cline++; + } + + $i = 0; + while ($i++ < $upline) { + array_shift($lines); + } + + $text = implode("\n", $lines); + + $list[$id]["content"] = []; + $list[$id]["content"]["full"] = $Parsedown->text($text); + $list[$id]["content"]["clean"] = strip_tags($list[$id]["content"]["full"]); + if (strlen($list[$id]["content"]["clean"]) > 100) { + $list[$id]["content"]["mini"] = substr($list[$id]["content"]["clean"], 0, 100) . "…"; + } else { + $list[$id]["content"]["mini"] = $list[$id]["content"]["clean"]; + } + if (strlen($list[$id]["content"]["clean"]) > 500) { + $list[$id]["content"]["little"] = substr($list[$id]["content"]["clean"], 0, 500) . "…"; + } else { + $list[$id]["content"]["little"] = $list[$id]["content"]["clean"]; + } + } + } + + $listGetEnd = new DateTime("now"); + + $listGetTimeoutA = $listGetStart->diff($listGetEnd); + $listGetTimeout = $listGetTimeoutA->f; + + if ($ordered) { + usort($list, function($a, $b) { + return strtoupper($a['date']) <=> strtoupper($b['date']); + }); + $list = array_reverse($list); + } + + return $list; } \ No newline at end of file -- cgit