1<?php 2 3declare(strict_types=1); 4 5namespace releases\php82; 6 7include_once __DIR__ . '/../../include/prepend.inc'; 8 9function common_header(string $description): void { 10 global $MYSITE; 11 12 $meta_image_path = \htmlspecialchars( 13 \filter_var($MYSITE . 'images/php8/php_8_2_released.png', \FILTER_VALIDATE_URL)); 14 $meta_description = \htmlspecialchars($description); 15 16 \site_header("PHP 8.2.0 Release Announcement", [ 17 'current' => 'php8', 18 'css' => ['php8.css'], 19 'meta_tags' => <<<META 20<meta name="twitter:card" content="summary_large_image" /> 21<meta name="twitter:site" content="@official_php" /> 22<meta name="twitter:title" content="PHP 8.2 Released" /> 23<meta name="twitter:description" content="{$meta_description}" /> 24<meta name="twitter:creator" content="@official_php" /> 25<meta name="twitter:image:src" content="{$meta_image_path}" /> 26 27<meta itemprop="name" content="PHP 8.2 Released" /> 28<meta itemprop="description" content="{$meta_description}" /> 29<meta itemprop="image" content="{$meta_image_path}" /> 30 31<meta property="og:image" content="{$meta_image_path}" /> 32<meta property="og:description" content="{$meta_description}" /> 33META 34 ]); 35} 36 37function language_chooser(string $currentLang): void { 38 $LANGUAGES = [ 39 'en' => 'English', 40 'es' => 'Español', 41 'de' => 'Deutsch', 42 'fr' => 'Français', 43 'pt_BR' => 'Português do Brasil', 44 'ru' => 'Russian', 45 'ja' => '日本語', 46 'zh' => '简体中文', 47 ]; 48 49 // Print out the form with all the options 50 echo ' 51 <form action="" method="get" id="changelang" name="changelang"> 52 <fieldset> 53 <label for="changelang-langs">Change language:</label> 54 <select onchange="location = this.value + \'.php\'" name="lang" id="changelang-langs"> 55'; 56 57 $tab = ' '; 58 foreach ($LANGUAGES as $lang => $text) { 59 $selected = ($lang === $currentLang) ? ' selected="selected"' : ''; 60 echo $tab, "<option value='$lang'$selected>$text</option>\n"; 61 } 62 63 echo ' </select> 64 </fieldset> 65 </form> 66'; 67} 68 69function message($code, $language = 'en') 70{ 71 $original = require __DIR__ . '/languages/en.php'; 72 if (($language !== 'en') && file_exists(__DIR__ . '/languages/' . $language . '.php')) { 73 $translation = require __DIR__ . '/languages/' . $language . '.php'; 74 } 75 76 return $translation[$code] ?? $original[$code] ?? $code; 77} 78