xref: /web-php/releases/8.2/common.php (revision cbff278b)
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