66 lines
1.5 KiB
PHP
66 lines
1.5 KiB
PHP
<?php
|
|
|
|
$lang = isset($_SESSION['lang']) ? $_SESSION['lang'] : 'en';
|
|
$version = $this->getVersion();
|
|
|
|
function getUrl($fileName) {
|
|
global $version;
|
|
|
|
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;
|
|
}
|