parent
3f09cc3601
commit
b238390ca8
@ -0,0 +1,71 @@ |
||||
<?php |
||||
|
||||
/** |
||||
* The common stuff required by both index.php and build_html.php |
||||
* this must be required_once |
||||
*/ |
||||
|
||||
if (defined('BASE_INITED')) return; |
||||
define('BASE_INITED', true); |
||||
|
||||
if (!empty($argv[1])) { |
||||
parse_str($argv[1], $_GET); |
||||
} |
||||
|
||||
if (!file_exists(__DIR__ . '/_env.php')) { |
||||
die("Copy <b>_env.php.example</b> to <b>_env.php</b> and check the settings inside!"); |
||||
} |
||||
|
||||
require_once __DIR__ . '/_env.php'; |
||||
|
||||
$prod = defined('STDIN'); |
||||
define('DEBUG', !$prod); |
||||
$root = DEBUG ? json_encode(ESP_IP) : 'window.location.href'; |
||||
define('JS_WEB_ROOT', $root); |
||||
|
||||
define('LOCALE', isset($_GET['locale']) ? $_GET['locale'] : 'en'); |
||||
|
||||
$_messages = require(__DIR__ . '/lang/' . LOCALE . '.php'); |
||||
$_pages = require(__DIR__ . '/_pages.php'); |
||||
|
||||
define('APP_NAME', 'ESPTerm'); |
||||
|
||||
/** URL (dev or production) */ |
||||
function url($name, $relative = false) |
||||
{ |
||||
global $_pages; |
||||
if ($relative) return $_pages[$name]->path; |
||||
|
||||
if (DEBUG) return "/index.php?page=$name"; |
||||
else return $_pages[$name]->path; |
||||
} |
||||
|
||||
/** URL label for a button */ |
||||
function label($name) |
||||
{ |
||||
global $_pages; |
||||
return $_pages[$name]->label; |
||||
} |
||||
|
||||
function e($s) |
||||
{ |
||||
return htmlspecialchars($s, ENT_HTML5 | ENT_QUOTES); |
||||
} |
||||
|
||||
function tr($key) |
||||
{ |
||||
global $_messages; |
||||
return isset($_messages[$key]) ? $_messages[$key] : ('??' . $key . '??'); |
||||
} |
||||
|
||||
/** Like eval, but allows <?php and ?> */
|
||||
function include_str($code) |
||||
{ |
||||
$tmp = tmpfile(); |
||||
$tmpf = stream_get_meta_data($tmp); |
||||
$tmpf = $tmpf ['uri']; |
||||
fwrite($tmp, $code); |
||||
$ret = include($tmpf); |
||||
fclose($tmp); |
||||
return $ret; |
||||
} |
@ -0,0 +1,19 @@ |
||||
<?php |
||||
|
||||
require_once __DIR__ . '/base.php'; |
||||
|
||||
ob_start(); |
||||
foreach($_pages as $_k => $p) { |
||||
if ($p->bodyclass == 'api') continue; |
||||
echo "Generating: $_k ($p->title)\n"; |
||||
$_GET['page'] = $_k; |
||||
ob_flush(); // print the message |
||||
ob_clean(); // clean up |
||||
include(__DIR__ . '/index.php'); |
||||
$s = ob_get_contents(); // grab the output |
||||
ob_clean(); // clean up |
||||
$of = __DIR__ . '/../html/' . $_k . '.tpl'; |
||||
file_put_contents($of, $s); // write to a file |
||||
} |
||||
|
||||
ob_flush(); |
@ -1,68 +1,21 @@ |
||||
<?php |
||||
|
||||
if (! file_exists('_env.php')) { |
||||
die("Copy <b>_env.php.example</b> to <b>_env.php</b> and check the settings inside!"); |
||||
} |
||||
require '_env.php'; |
||||
|
||||
$prod = defined('STDIN'); |
||||
define ('DEBUG', !$prod); |
||||
$root = DEBUG ? json_encode(ESP_IP) : 'window.location.href'; |
||||
define ('JS_WEB_ROOT', $root); |
||||
|
||||
define('CUR_PAGE', $_GET['page'] ?: 'term'); |
||||
define('LOCALE', $_GET['locale'] ?: 'en'); |
||||
|
||||
$_messages = require(__DIR__ . '/lang/' . LOCALE . '.php'); |
||||
$_pages = require('_pages.php'); |
||||
require_once __DIR__ . '/base.php'; |
||||
|
||||
define('APP_NAME', 'ESPTerm'); |
||||
define('PAGE_TITLE', $_pages[CUR_PAGE]->label . ' :: ' . APP_NAME); |
||||
define('BODYCLASS', $_pages[CUR_PAGE]->bodyclass); |
||||
if (!isset($_GET['page'])) $_GET['page'] = 'term'; |
||||
|
||||
/** URL (dev or production) */ |
||||
function url($name, $relative=false) { |
||||
global $_pages; |
||||
if ($relative) return $_pages[$name]->path; |
||||
|
||||
if (DEBUG) return "/index.php?page=$name"; |
||||
else return $_pages[$name]->path; |
||||
} |
||||
|
||||
/** URL label for a button */ |
||||
function label($name) { |
||||
global $_pages; |
||||
return $_pages[$name]->label; |
||||
} |
||||
$_GET['PAGE_TITLE'] = $_pages[$_GET['page']]->title . ' :: ' . APP_NAME; |
||||
$_GET['BODYCLASS'] = $_pages[$_GET['page']]->bodyclass; |
||||
|
||||
function e($s) { |
||||
return htmlspecialchars($s, ENT_HTML5|ENT_QUOTES); |
||||
} |
||||
|
||||
function tr($key) { |
||||
global $_messages; |
||||
return $_messages[$key] ?: ('??'.$key.'??'); |
||||
} |
||||
|
||||
/** Like eval, but allows <?php and ?> */
|
||||
function include_str($code) { |
||||
$tmp = tmpfile(); |
||||
$tmpf = stream_get_meta_data($tmp); |
||||
$tmpf = $tmpf ['uri']; |
||||
fwrite($tmp, $code); |
||||
$ret = include($tmpf); |
||||
fclose($tmp); |
||||
return $ret; |
||||
} |
||||
|
||||
require 'pages/_head.php'; |
||||
$_pf = 'pages/'.CUR_PAGE.'.php'; |
||||
require __DIR__ . '/pages/_head.php'; |
||||
$_pf = __DIR__ . '/pages/'.$_GET['page'].'.php'; |
||||
if (file_exists($_pf)) { |
||||
$f = file_get_contents($_pf); |
||||
$reps = require('_debug_replacements.php'); |
||||
$reps = DEBUG ? require(__DIR__ . '/_debug_replacements.php') : []; |
||||
$str = str_replace(array_keys($reps), array_values($reps), $f); |
||||
include_str($str); |
||||
} else { |
||||
echo "404"; |
||||
} |
||||
require 'pages/_tail.php'; |
||||
|
||||
require __DIR__ . '/pages/_tail.php'; |
||||
|
@ -0,0 +1,76 @@ |
||||
<?php |
||||
$ipmask='pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}$"'; |
||||
?> |
||||
|
||||
<form class="Box str mobcol" action="<?= e(url('wifi_set')) ?>" method="GET">
|
||||
<h2><?= tr('net.ap') ?></h2>
|
||||
|
||||
<div class="Row buttons"> |
||||
<input type="submit" value="<?= tr('apply') ?>">
|
||||
</div> |
||||
|
||||
<div class="Row mq-phone" style="height: 35px"></div> |
||||
<div class="Row" style="max-width: 600px; margin-left: 0"> |
||||
<?= tr('net.explain_ap') ?> |
||||
</div> |
||||
|
||||
<div class="Row"> |
||||
<label for="ap_dhcp_time"><?= tr('net.ap_dhcp_time') ?><span class="mq-phone"> (min)</span></label>
|
||||
<input type="number" step=1 min=1 max=2880 name="ap_dhcp_time" id="ap_dhcp_time" value="%ap_dhcp_time%" required> |
||||
<span class="mq-no-phone"> (min)</span> |
||||
</div> |
||||
|
||||
<div class="Row"> |
||||
<label for="ap_dhcp_start"><?= tr('net.ap_dhcp_start') ?></label>
|
||||
<input type="text" name="ap_dhcp_start" id="ap_dhcp_start" value="%ap_dhcp_start%" <?=$ipmask?> required>
|
||||
</div> |
||||
|
||||
<div class="Row"> |
||||
<label for="ap_dhcp_end"><?= tr('net.ap_dhcp_end') ?></label>
|
||||
<input type="text" name="ap_dhcp_end" id="ap_dhcp_end" value="%ap_dhcp_end%" <?=$ipmask?> required>
|
||||
</div> |
||||
|
||||
<div class="Row"> |
||||
<label for="ap_addr_ip"><?= tr('net.ap_addr_ip') ?></label>
|
||||
<input type="text" name="ap_addr_ip" id="ap_addr_ip" value="%ap_addr_ip%" <?=$ipmask?> required>
|
||||
</div> |
||||
|
||||
<div class="Row"> |
||||
<label for="ap_addr_mask"><?= tr('net.ap_addr_mask') ?></label>
|
||||
<input type="text" name="ap_addr_mask" id="ap_addr_mask" value="%ap_addr_mask%" <?=$ipmask?> required>
|
||||
</div> |
||||
</form> |
||||
|
||||
<form class="Box str mobcol" action="<?= e(url('wifi_set')) ?>" method="GET">
|
||||
<h2><?= tr('net.sta') ?></h2>
|
||||
|
||||
<div class="Row buttons"> |
||||
<input type="submit" value="<?= tr('apply') ?>">
|
||||
</div> |
||||
|
||||
<div class="Row mq-phone" style="height: 35px"></div> |
||||
<div class="Row" style="max-width: 600px; margin-left: 0"> |
||||
<?= tr('net.explain_sta') ?> |
||||
</div> |
||||
|
||||
<div class="Row checkbox"> |
||||
<label><?= tr('net.sta_dhcp_enable') ?></label><!--
|
||||
--><span class="box"></span> |
||||
<input type="hidden" name="sta_dhcp_enable" value="%sta_dhcp_enable%"> |
||||
</div> |
||||
|
||||
<div class="Row"> |
||||
<label for="sta_addr_ip"><?= tr('net.sta_addr_ip') ?></label>
|
||||
<input type="text" name="sta_addr_ip" id="sta_addr_ip" value="%sta_addr_ip%" <?=$ipmask?> required>
|
||||
</div> |
||||
|
||||
<div class="Row"> |
||||
<label for="sta_addr_mask"><?= tr('net.sta_addr_mask') ?></label>
|
||||
<input type="text" name="sta_addr_mask" id="sta_addr_mask" value="%sta_addr_mask%" <?=$ipmask?> required>
|
||||
</div> |
||||
|
||||
<div class="Row"> |
||||
<label for="sta_addr_gw"><?= tr('net.sta_addr_gw') ?></label>
|
||||
<input type="text" name="sta_addr_gw" id="sta_addr_gw" value="%sta_addr_gw%" <?=$ipmask?> required>
|
||||
</div> |
||||
</form> |
Loading…
Reference in new issue