256) { $content_has_error = true; $content_error_message_key = "error.content.tags.length"; goto content_end; } // Extracting the additional tags safely $raw_additional_tags_exploded = explode(";", $raw_additional_tags); for($i = 0; $i < count($raw_additional_tags_exploded); $i++) { if(strlen($raw_additional_tags_exploded[$i]) > 0) { if(ctype_alnum($raw_additional_tags_exploded[$i])) { $requested_tags[] = $raw_additional_tags_exploded[$i]; } else { $content_has_error = true; $content_error_message_key = "error.content.tags.alphanumeric"; goto content_end; } } } unset($raw_additional_tags_exploded); } // Loading the content index. $content_json = file_get_contents(realpath($dir_content . "/index.json")); $content_index_data = json_decode($content_json, true); unset($content_json); // Filtering out unwanted entries. $filtered_content_index_data = array(); for($i = 0; $i < count($content_index_data); $i++) { if(count(array_intersect($content_index_data[$i]["tags"], $requested_tags)) == count($requested_tags)) { $filtered_content_index_data[] = $content_index_data[$i]; } } // Cleaning some variables. unset($content_index_data); unset($content_json); // Checking if we found content for the user. if(count($filtered_content_index_data) == 0) { // No relevant article/page were found for the given tags. $content_has_error = true; $content_error_message_key = "error.content.detect.empty"; goto content_end; } } elseif($requested_content_display_type == ContentDisplayType::CONTENT) { // Attempting to get the requested ID. } content_end: $content_error_message = localize($content_error_message_key); // These functions are placed here to prevent the main file from becoming impossible to read. function startMainCard($iconClasses, $title, $subTitle) { echo('
'); echo('

'); echo('  '.localize($title).'

'); echo('

'.$subTitle.'

'); echo('
'); } function endMainCard() { echo('
'); } ?>