aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--htdocs/includes/config.php19
-rw-r--r--htdocs/includes/i18n.php150
-rw-r--r--htdocs/includes/utils.php31
-rw-r--r--htdocs/index.html58
-rw-r--r--htdocs/index.php88
5 files changed, 58 insertions, 288 deletions
diff --git a/htdocs/includes/config.php b/htdocs/includes/config.php
deleted file mode 100644
index cf7dba6..0000000
--- a/htdocs/includes/config.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-/**
- * Config of demo.armandphilippot.com
- *
- * @package DemoArmandphilippotCom
- * @author Armand Philippot <contact@armandphilippot.com>
- * @copyright 2021 Armand Philippot
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link https://demo.armandphilippot.com/
- * @since 1.0.0
- */
-
-/**
- * The website will check if the HTTP accepted locales have a matching
- * translation. If not, the default locale is "en_US". If you want to
- * overwrite the default locale, use this variable. Make sure the translation
- * exists.
- */
-$dap_default_locale = 'en_US';
diff --git a/htdocs/includes/i18n.php b/htdocs/includes/i18n.php
deleted file mode 100644
index 37dee90..0000000
--- a/htdocs/includes/i18n.php
+++ /dev/null
@@ -1,150 +0,0 @@
-<?php
-/**
- * Functions to translate demo.armandphilippot.com
- *
- * @package DemoArmandphilippotCom
- * @author Armand Philippot <contact@armandphilippot.com>
- * @copyright 2021 Armand Philippot
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link https://demo.armandphilippot.com/
- * @since 1.0.0
- */
-
-/**
- * Get a list of available translations.
- *
- * @return array The available languages.
- */
-function dap_get_available_languages()
-{
- $languages_dir = glob('languages' . DIRECTORY_SEPARATOR . '*', GLOB_ONLYDIR);
- $languages = str_replace('languages' . DIRECTORY_SEPARATOR, '', $languages_dir);
-
- return $languages;
-}
-
-/**
- * Get accepted languages based on HTTP header.
- *
- * @return array The accepted languages.
- */
-function dap_get_languages_from_http()
-{
- $languages = '';
-
- if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
- $languages = preg_split('/(,|;)/', $_SERVER['HTTP_ACCEPT_LANGUAGE'], -1, PREG_SPLIT_NO_EMPTY);
- $languages = array_filter(
- $languages,
- function ($value) {
- return substr($value, 0, 2) !== 'q=';
- }
- );
- }
-
- return $languages;
-}
-
-/**
- * Check if a locale is a valid locale.
- *
- * @param string $locale The locale to test.
- * @param array $valid_locales The valid locales.
- * @return boolean True if the locale exists.
- */
-function dap_is_valid_locale(string $locale, array $valid_locales) : bool
-{
- if (empty($locale)) {
- return false;
- }
-
- return in_array($locale, $valid_locales, true);
-}
-
-/**
- * Filter the accepted locales to determine the locale to use.
- *
- * @param array $locales The locales to test.
- * @param string $default_locale The default locale.
- * @return string The first valid locale.
- */
-function dap_get_valid_locale(array $locales, string $default_locale) : string
-{
- $valid_locales = dap_get_available_languages();
-
- if (isset($default_locale) && dap_is_valid_locale($default_locale, $valid_locales)) {
- $default_locale = $default_locale;
- } else {
- $default_locale = 'en_US';
- }
-
- $possible_locales = array_intersect($locales, $valid_locales);
- $possible_locales = array_values($possible_locales);
- $locale = '';
-
- if (count($possible_locales) > 0) {
- $locale = $possible_locales[0];
- } else {
- $locale = $default_locale;
- }
-
- return $locale;
-}
-
-/**
- * Define the locale to use.
- *
- * @param string $default_locale The default locale.
- * @return string The locale to use.
- */
-function dap_define_locale(string $default_locale)
-{
- $http_language = dap_get_languages_from_http();
- $http_locale = str_replace('-', '_', $http_language);
- $http_locale = is_array($http_locale) ? $http_locale : array($http_locale);
- $locale = dap_get_valid_locale($http_locale, $default_locale);
-
- return $locale;
-}
-
-/**
- * Get a list of possible format based on the locale to use.
- *
- * @param string $locale The locale to use.
- * @return array The locale in different formats to use.
- */
-function dap_get_formatted_locale(string $locale)
-{
- $formatted_locale = array( $locale );
- $formatted_locale[] = $locale . '.utf8';
- $formatted_locale[] = $locale . '.UTF-8';
- $formatted_locale[] = strtok($locale, '_');
-
- return $formatted_locale;
-}
-
-/**
- * Transform a locale format (ex: `en_US`) to a language format (ex: `en-US`).
- *
- * @param string $locale The used locale.
- * @return string The language to use.
- */
-function dap_get_language(string $locale)
-{
- $language = str_replace('_', '-', $locale);
-
- return $language;
-}
-
-/**
- * Set the locale.
- *
- * @param array $formatted_locale The locale with its different formats.
- */
-function dap_set_locale(array $formatted_locale)
-{
- setlocale(LC_ALL, $formatted_locale);
- bindtextdomain('DAP', dirname(__DIR__) . DIRECTORY_SEPARATOR . 'languages');
- bind_textdomain_codeset('DAP', 'UTF-8');
- textdomain('DAP');
-}
diff --git a/htdocs/includes/utils.php b/htdocs/includes/utils.php
deleted file mode 100644
index 8b661d7..0000000
--- a/htdocs/includes/utils.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-/**
- * Utilities for demo.armandphilippot.com
- *
- * @package DemoArmandphilippotCom
- * @author Armand Philippot <contact@armandphilippot.com>
- * @copyright 2021 Armand Philippot
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link https://demo.armandphilippot.com/
- * @since 1.0.0
- */
-
-/**
- * Get current environment defined in .env file.
- *
- * @since 1.0.0
- *
- * @return string Current env or empty string.
- */
-function dap_get_current_env()
-{
- if (file_exists(__DIR__ . '/vendor/autoload.php')) {
- require_once __DIR__ . '/vendor/autoload.php';
- $dap_dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
- $dap_dotenv->safeLoad();
- $dap_current_env = $_ENV['WP_THEME_ENV'];
- return $dap_current_env;
- } else {
- return '';
- }
-}
diff --git a/htdocs/index.html b/htdocs/index.html
new file mode 100644
index 0000000..e7aaace
--- /dev/null
+++ b/htdocs/index.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html lang="en">
+
+ <head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Armand Philippot</title>
+ <link rel="stylesheet" href="assets/css/style.css">
+ </head>
+
+ <body class="body">
+ <div class="toolbar">
+ <button type="button" class="toolbar__options btn btn--menu">
+ Menu
+ </button>
+ <button type="button" class="toolbar__options btn btn--details">
+ About app
+ </button>
+ </div>
+ <header class="header">
+ <div class="branding">
+ <div class="branding__logo logo">
+ <a href="/" rel="home" class="logo__link">
+ <img src="./assets/images/armand-philippot.jpg" alt="Back to homepage"
+ class="logo__image logo__image--front">
+ <img src="./assets/images/armand-philippot-logo.svg" alt="Back to homepage"
+ class="logo__image logo__image--back">
+ </a>
+ </div>
+ <h1 class="branding__title">
+ <a href="/" rel="home" class="branding__link">Armand Philippot</a>
+ </h1>
+ <p class="branding__description">
+ Front-end developer
+ </p>
+ </div>
+ <nav class="nav">
+ <p class="nav__label">App list:</p>
+ <ul class="nav__list">
+ </ul>
+ </nav>
+ </header>
+ <main class="main">
+ <div class="instructions">Select an app inside menu to see a live preview and app details.</div>
+ </main>
+ <footer class="footer">
+ <div class="copyright">
+ <span class="copyright__license">MIT</span>
+ <span class="copyright__date">2021.</span>
+ <a href="https://www.armandphilippot.com/" class="copyright__author">Armand Philippot.</a>
+ </div>
+ </footer>
+ <script src="./assets/js/runtime.js"></script>
+ <script src="./assets/js/app.js"></script>
+ </body>
+
+</html>
diff --git a/htdocs/index.php b/htdocs/index.php
deleted file mode 100644
index 8e6c870..0000000
--- a/htdocs/index.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/**
- * Main entry of demo.armandphilippot.com
- *
- * @package DemoArmandphilippotCom
- * @author Armand Philippot <contact@armandphilippot.com>
- * @copyright 2021 Armand Philippot
- * @license http://www.opensource.org/licenses/mit-license.php MIT
- * @link https://demo.armandphilippot.com/
- * @since 1.0.0
- */
-
-// Load config and functions.
-require './includes/config.php';
-require './includes/i18n.php';
-require './includes/utils.php';
-
-$dap_current_env = dap_get_current_env();
-$dap_locale = dap_define_locale($dap_default_locale);
-$dap_language = dap_get_language($dap_locale);
-$dap_formatted_locale = dap_get_formatted_locale($dap_locale);
-
-dap_set_locale($dap_formatted_locale);
-?>
-<!DOCTYPE html>
-<html lang="en">
-
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Armand Philippot</title>
- <?php if ($dap_current_env === "production") { ?>
- <link rel="stylesheet" href="assets/css/style.css">
- <?php } else { ?>
- <script src="assets/js/style.js"></script>
- <?php } ?>
- </head>
-
- <body class="body">
- <button type="button" class="btn btn--toggle">
- <?php echo htmlspecialchars(_('Menu')); ?>
- </button>
- <header class="header">
- <div class="branding">
- <div class="branding__logo logo">
- <a href="/" rel="home" class="logo__link">
- <img src="./assets/images/armand-philippot.jpg"
- alt="<?php echo htmlspecialchars(_('Back to homepage')); ?>"
- class="logo__image logo__image--front">
- <img src="./assets/images/armand-philippot-logo.svg"
- alt="<?php echo htmlspecialchars(_('Back to homepage')); ?>"
- class="logo__image logo__image--back">
- </a>
- </div>
- <h1 class="branding__title">
- <a href="/" rel="home" class="branding__link">Armand Philippot</a>
- </h1>
- <p class="branding__description">
- <?php echo htmlspecialchars(_('Front-end developer')); ?>
- </p>
- </div>
- <nav class="nav">
- <a href="https://www.armandphilippot.com/" class="nav__link nav__link--back">
- <?php echo htmlspecialchars(_('Back to ArmandPhilippot.com')); ?>
- </a>
- <p class="nav__label"><?php echo htmlspecialchars(_('Projects list:')); ?>
- </p>
- <ul class="nav__list">
- </ul>
- </nav>
- </header>
- <main class="main">
- <div class="instructions"><?php echo htmlspecialchars(_('Select a project inside menu to see a live preview and a link to the source code.')); ?>
- </div>
- </main>
- <footer class="footer">
- <div class="copyright">
- <span class="copyright__author">Armand Philippot.</span>
- <img src="assets/images/cc-by-sa.svg" alt="CC BY SA" class="copyright__icon">
- <span class="copyright__date">2021.</span>
- </div>
- </footer>
- <script src="./assets/js/runtime.js"></script>
- <script src="./assets/js/app.js"></script>
- </body>
-
-</html>