70 lines
1.5 KiB
PHP
70 lines
1.5 KiB
PHP
<?php
|
|
|
|
$lang = isset($_SESSION['lang']) ? $_SESSION['lang'] : 'en';
|
|
$version = $this->getVersion();
|
|
|
|
function getUrl ($fileName)
|
|
{
|
|
if (file_exists ($fileName))
|
|
$fileVersion = strftime ('%G%m%d%H%M%S', filemtime ($fileName));
|
|
else
|
|
$fileVersion = $version;
|
|
|
|
return "$fileName?$fileVersion";
|
|
}
|
|
|
|
function js ($fileName)
|
|
{
|
|
return '<script type="text/javascript" src="'. getUrl ($fileName) .'.js"></script>'."\n";
|
|
}
|
|
|
|
function css ($fileName)
|
|
{
|
|
return '<link rel="stylesheet" type="text/css" href="'. getUrl ($fileName) .'.css"/>'."\n";
|
|
}
|
|
|
|
function getWebpackAssets ()
|
|
{
|
|
$wpConfig = json_decode (file_get_contents ('webpack.config.json'));
|
|
$buildDir = $wpConfig->buildDir;
|
|
$devServerPort = $wpConfig->devServerPort;
|
|
|
|
$host = $_SERVER['SERVER_NAME'];
|
|
$assets = new stdClass();
|
|
|
|
if (!_DEV_MODE)
|
|
{
|
|
$wpAssets = json_decode (file_get_contents ("$buildDir/webpack-assets.json"));
|
|
|
|
$manifestJs = $wpAssets->manifest->js;
|
|
$mainJs = $wpAssets->main->js;
|
|
unset ($wpAssets->manifest);
|
|
unset ($wpAssets->main);
|
|
|
|
foreach ($wpAssets as $name => $asset)
|
|
if (property_exists ($asset, 'js'))
|
|
$assets->$name = $asset->js;
|
|
}
|
|
else
|
|
{
|
|
$devServerPath = "http://$host:$devServerPort/$buildDir";
|
|
$manifestJs = "$devServerPath/manifest.js";
|
|
$mainJs = "$devServerPath/main.js";
|
|
|
|
unset ($wpConfig->entry->main);
|
|
|
|
foreach ($wpConfig->entry as $asset => $files)
|
|
$assets->$asset = "$devServerPath/$asset.js";
|
|
}
|
|
|
|
$jsFiles = [];
|
|
$jsFiles[] = $manifestJs;
|
|
|
|
foreach ($assets as $jsFile)
|
|
$jsFiles[] = $jsFile;
|
|
|
|
$jsFiles[] = $mainJs;
|
|
|
|
return $jsFiles;
|
|
}
|