|
1 | 1 | <?php |
| 2 | + |
| 3 | +use phpweb\Releases\VersionData; |
| 4 | + |
2 | 5 | $_SERVER['BASE_PAGE'] = 'supported-versions.php'; |
3 | 6 |
|
4 | 7 | include_once __DIR__ . '/include/prepend.inc'; |
|
15 | 18 | '8.3' => 'https://www.php.net/manual/migration83.php', |
16 | 19 | '8.2' => 'https://www.php.net/manual/migration82.php', |
17 | 20 | ]; |
| 21 | + |
| 22 | +$supportedVersions = VersionData::getSupportedVersions(includeRecentEOL: false); |
| 23 | +uksort($supportedVersions, version_compare(...)); |
| 24 | + |
18 | 25 | ?> |
19 | 26 |
|
20 | 27 | <h1>Supported Versions</h1> |
|
51 | 58 | </tr> |
52 | 59 | </thead> |
53 | 60 | <tbody> |
54 | | - <?php foreach (get_active_branches(false) as $major => $releases): ?> |
55 | | - <?php ksort($releases) ?> |
56 | | - <?php foreach ($releases as $branch => $release): ?> |
57 | | - <?php |
58 | | - $state = get_branch_support_state($branch); |
59 | | - $initial = get_branch_release_date($branch); |
60 | | - $until = get_branch_bug_eol_date($branch); |
61 | | - $eol = get_branch_security_eol_date($branch); |
62 | | - $now = new DateTime('now'); |
63 | | - ?> |
64 | | - <tr class="<?php echo $state ?>"> |
65 | | - <td> |
66 | | - <a href="/downloads.php?version=<?php echo htmlspecialchars($branch) ?>"><?php echo htmlspecialchars($branch) ?></a> |
67 | | - </td> |
68 | | - <td><?php echo htmlspecialchars($initial->format('j M Y')) ?></td> |
69 | | - <td class="collapse-phone"><em><?php echo htmlspecialchars(format_interval($initial, $now)) ?></em></td> |
70 | | - <td><?php echo htmlspecialchars($until->format('j M Y')) ?></td> |
71 | | - <td class="collapse-phone"><em><?php echo htmlspecialchars(format_interval($until, $now)) ?></em></td> |
72 | | - <td><?php echo htmlspecialchars($eol->format('j M Y')) ?></td> |
73 | | - <td class="collapse-phone"><em><?php echo htmlspecialchars(format_interval($eol, $now)) ?></em></td> |
74 | | - <td> |
75 | | - <?php if (isset($VERSION_NOTES[$branch])): ?> |
76 | | - <a href="<?php echo htmlspecialchars($VERSION_NOTES[$branch]) ?>"> |
77 | | - Migration guide for PHP <?php echo htmlspecialchars($branch) ?> |
78 | | - </a> |
79 | | - <?php else: ?> |
80 | | - — |
81 | | - <?php endif; ?> |
82 | | - </td> |
83 | | - </tr> |
84 | | - <?php endforeach ?> |
| 61 | + <?php foreach ($supportedVersions as $release): ?> |
| 62 | + <?php |
| 63 | + $state = $release->supportState->value; |
| 64 | + $initial = $release->releaseDate; |
| 65 | + $until = $release->bugfixEOL; |
| 66 | + $eol = $release->securityEOL; |
| 67 | + $now = new DateTime('now'); |
| 68 | + ?> |
| 69 | + <tr class="<?php echo $state ?>"> |
| 70 | + <td> |
| 71 | + <a href="<?php echo htmlspecialchars($release->downloadUri) ?>"><?php echo htmlspecialchars($release->label) ?></a> |
| 72 | + </td> |
| 73 | + <td><?php echo htmlspecialchars($initial->format('j M Y')) ?></td> |
| 74 | + <td class="collapse-phone"><em><?php echo htmlspecialchars(format_interval($initial, $now)) ?></em></td> |
| 75 | + <td><?php echo htmlspecialchars($until->format('j M Y')) ?></td> |
| 76 | + <td class="collapse-phone"><em><?php echo htmlspecialchars(format_interval($until, $now)) ?></em></td> |
| 77 | + <td><?php echo htmlspecialchars($eol->format('j M Y')) ?></td> |
| 78 | + <td class="collapse-phone"><em><?php echo htmlspecialchars(format_interval($eol, $now)) ?></em></td> |
| 79 | + <td> |
| 80 | + <?php if (isset($VERSION_NOTES[$release->label])): ?> |
| 81 | + <a href="<?php echo htmlspecialchars($VERSION_NOTES[$release->label]) ?>"> |
| 82 | + Migration guide for PHP <?php echo htmlspecialchars($release->label) ?> |
| 83 | + </a> |
| 84 | + <?php else: ?> |
| 85 | + — |
| 86 | + <?php endif; ?> |
| 87 | + </td> |
| 88 | + </tr> |
85 | 89 | <?php endforeach ?> |
86 | 90 | </tbody> |
87 | 91 | </table> |
|
0 commit comments