From f0d6268635c68f8f47edc339b12a330d4834aad1 Mon Sep 17 00:00:00 2001 From: Herwin Bozet Date: Wed, 8 Dec 2021 16:56:59 +0100 Subject: [PATCH] Switched to tags for the content sub-types Update content.php, strings.json, and index.php --- commons/content.php | 51 +++++++++++++++++++++++++++++++------------- commons/strings.json | 6 ++++-- content/index.php | 3 ++- 3 files changed, 42 insertions(+), 18 deletions(-) diff --git a/commons/content.php b/commons/content.php index 130eff7..f026998 100644 --- a/commons/content.php +++ b/commons/content.php @@ -18,7 +18,7 @@ abstract class ContentDisplayType { const ARTICLE = 2; const APPLICATION = 3; } -abstract class ContentSubType { +/*abstract class ContentSubType { const NONE = CONTENT_NONE; const PUREBASIC = 1; const PYTHON = 2; @@ -32,12 +32,13 @@ abstract class ContentSubType { const HAM = 10; const ALL = 11; const DOCKER = 11; -} +}*/ // Preparing default variables. $requested_content_type = ContentType::NONE; $requested_content_display_type = ContentDisplayType::NONE; -$requested_content_sub_type = ContentSubType::NONE; +$requested_tags = array(); +//$requested_content_sub_type = ContentSubType::NONE; $content_has_error = false; $_content_error_message_key = "error.content.none"; $content_error_message = ""; @@ -70,38 +71,57 @@ if($requested_content_type == ContentType::BLOG) { } elseif($requested_content_type == ContentType::PROGRAMMING) { // May be changed later if a specific resource is requested and found. $requested_content_display_type = ContentDisplayType::SEARCH; + $requested_tags[] = "programming"; if(str_starts_with($content_requested_url_part, "/applications/")) { - $requested_content_sub_type = ContentSubType::APPLICATION; + $requested_tags[] = "application"; + //$requested_content_sub_type = ContentSubType::APPLICATION; } elseif(str_starts_with($content_requested_url_part, "/tutorials/")) { - $requested_content_sub_type = ContentSubType::TUTORIAL; + $requested_tags[] = "tutorial"; + //$requested_content_sub_type = ContentSubType::TUTORIAL; } elseif(str_starts_with($content_requested_url_part, "/tools/")) { - $requested_content_sub_type = ContentSubType::TOOL; + $requested_tags[] = "tool"; + //$requested_content_sub_type = ContentSubType::TOOL; } elseif(str_starts_with($content_requested_url_part, "/purebasic/")) { - $requested_content_sub_type = ContentSubType::PUREBASIC; + $requested_tags[] = "purebasic"; + //$requested_content_sub_type = ContentSubType::PUREBASIC; } elseif(str_starts_with($content_requested_url_part, "/python/")) { - $requested_content_sub_type = ContentSubType::PYTHON; + $requested_tags[] = "python"; + //$requested_content_sub_type = ContentSubType::PYTHON; } elseif(str_starts_with($content_requested_url_part, "/java/")) { - $requested_content_sub_type = ContentSubType::JAVA; + $requested_tags[] = "java"; + //$requested_content_sub_type = ContentSubType::JAVA; } elseif(str_starts_with($content_requested_url_part, "/others/")) { - $requested_content_sub_type = ContentSubType::OTHER_LANGUAGE; + $requested_tags[] = "miscellaneous"; + //$requested_content_sub_type = ContentSubType::OTHER_LANGUAGE; } elseif(str_starts_with($content_requested_url_part, "/docker/")) { - $requested_content_sub_type = ContentSubType::DOCKER; + $requested_tags[] = "docker"; + //$requested_content_sub_type = ContentSubType::DOCKER; } else { - $requested_content_sub_type = ContentSubType::ALL; + //$requested_content_sub_type = ContentSubType::ALL; + $content_has_error = true; + $_content_error_message_key = "error.content.detect.subtype"; + goto content_end; } } elseif($requested_content_type == ContentType::ELECTRONICS) { // May be changed later if a specific resource is requested and found. $requested_content_display_type = ContentDisplayType::SEARCH; + $requested_tags[] = "electronic"; if(str_starts_with($content_requested_url_part, "/iot/")) { + $requested_tags[] = "iot"; $requested_content_sub_type = ContentSubType::IOT; } elseif(str_starts_with($content_requested_url_part, "/experiments/")) { + $requested_tags[] = "experiment"; $requested_content_sub_type = ContentSubType::EXPERIMENTS; } elseif(str_starts_with($content_requested_url_part, "/ham/")) { + $requested_tags[] = "ham"; $requested_content_sub_type = ContentSubType::HAM; } else { - $requested_content_sub_type = ContentSubType::ALL; + //$requested_content_sub_type = ContentSubType::ALL; + $content_has_error = true; + $_content_error_message_key = "error.content.detect.subtype"; + goto content_end; } } @@ -112,10 +132,11 @@ if($requested_content_display_type == ContentDisplayType::NONE) { goto content_end; } -if($requested_content_type != ContentType::BLOG && $requested_content_sub_type == ContentSubType::NONE) { +//if($requested_content_type != ContentType::BLOG && $requested_content_sub_type == ContentSubType::NONE) { +if(count($requested_tags) == 0) { // Failed to detect the subtype of content requested when not a blog post. $content_has_error = true; - $_content_error_message_key = "error.content.detect.subtype"; + $_content_error_message_key = "error.content.detect.tags"; goto content_end; } $content_requested_url_part = preg_replace("^\/(java|python|purebasic|others|ham|iot|experiments|applications|tutorials|tools)^", "", $content_requested_url_part); diff --git a/commons/strings.json b/commons/strings.json index 894f0a1..0d8cb1c 100644 --- a/commons/strings.json +++ b/commons/strings.json @@ -57,7 +57,8 @@ "error.content.none": "No explicit error was encountered.", "error.content.detect.category": "Failed to detect which category of content you requested.", "error.content.detect.display": "Failed to detect if you requested the category's search page or a specific one.", - "error.content.detect.subtype": "Failed to detect the sub-type of content you requested." + "error.content.detect.subtype": "Failed to detect the sub-type of content you requested.", + "error.content.detect.tags": "Failed to detect the basic tags for the content you requested." }, "fr": { "home.title.nav": "Accueil", @@ -116,7 +117,8 @@ "error.content.none": "Aucune erreur précise n'a été détectée.", "error.content.detect.category": "Impossibilité de détecter la catégorie de contenu demandée.", "error.content.detect.display": "Impossibilité de détecter si une recherche ou page spécifique était demandée.", - "error.content.detect.subtype": "Impossibilité de détecter le sous-type de contenu demandé." + "error.content.detect.subtype": "Impossibilité de détecter le sous-type de contenu demandé.", + "error.content.detect.tags": "Impossibilité de détecter les tags de base du contenu demandé." }, "lb": { "home.title.nav": "Doheem", diff --git a/content/index.php b/content/index.php index 716f103..bba23f6 100644 --- a/content/index.php +++ b/content/index.php @@ -17,7 +17,8 @@

REQUEST_URI:

$requested_content_type:

$requested_content_display_type:

-

$requested_content_sub_type:

+

$requested_content_sub_type: Undefined

+

$requested_tags: []

$content_has_error:

$_content_error_message_key:

localize($_content_error_message_key):