diff --git a/html_orig/_debug_replacements.php b/html_orig/_debug_replacements.php index 3ae5e3e..9e80077 100644 --- a/html_orig/_debug_replacements.php +++ b/html_orig/_debug_replacements.php @@ -3,19 +3,19 @@ /** * Those replacements are done by the development server to test it locally * without esphttpd. This is needed mainly for places where the replacements - * are given to JavaScript, to avoid syntax errors with %% + * are given to JavaScript, to avoid syntax errors with */ return [ - '%term_title%' => 'ESPTerm local debug', + 'term_title' => 'ESPTerm local debug', - '%btn1%' => '1', - '%btn2%' => '2', - '%btn3%' => '3', - '%btn4%' => '', - '%btn5%' => '5', - '%labels_seq%' => 'TESPTerm local debug1235', + 'btn1' => '1', + 'btn2' => '2', + 'btn3' => '3', + 'btn4' => '', + 'btn5' => '5', + 'labels_seq' => 'TESPTerm local debug1235', - '%screenData%' => '  HELLOx NRE3',//'\u000b\u0001\u001b\u0001\u0001\u0001\u0001\u0001\f\u0005\u0001\u0010\u0003HELLOx\u0002\u000b\u0001\u0001N\u0001RE\u00023\u0001', //, + 'screenData' => '  HELLOx NRE3',//'\u000b\u0001\u001b\u0001\u0001\u0001\u0001\u0001\f\u0005\u0001\u0010\u0003HELLOx\u0002\u000b\u0001\u0001N\u0001RE\u00023\u0001', //, /*'{ "w": 26, "h": 10, "x": 10, "y": 5, @@ -23,50 +23,52 @@ return [ "screen": "" }',//"70 t259"*/ - '%opmode%' => '2', - '%sta_enable%' => '0', - '%ap_enable%' => '1', + 'parser_tout_ms' => 10, - '%tpw%' => '60', - '%ap_channel%' => '7', - '%ap_ssid%' => 'ESP-123456', - '%ap_password%' => 'Passw0rd!', - '%ap_hidden%' => '0', + 'opmode' => '2', + 'sta_enable' => '0', + 'ap_enable' => '1', - '%sta_ssid%' => 'Chlivek', - '%sta_password%' => 'windows XP is The Best', - '%sta_active_ip%' => '1.2.3.4', - '%sta_active_ssid%' => 'Chlivek', + 'tpw' => '60', + 'ap_channel' => '7', + 'ap_ssid' => 'ESP-123456', + 'ap_password' => 'Passw0rd!', + 'ap_hidden' => '0', - '%vers_fw%' => '1.2.3', - '%date%' => date('Y-m-d'), - '%time%' => date('G:i'), - '%vers_httpd%' => '4.5.6', - '%vers_sdk%' => '1.52', - '%githubrepo%' => 'https://github.com/MightyPork/esp-vt100-firmware', + 'sta_ssid' => 'Chlivek', + 'sta_password' => 'windows XP is The Best', + 'sta_active_ip' => '1.2.3.4', + 'sta_active_ssid' => 'Chlivek', - '%ap_dhcp_time%' => '120', - '%ap_dhcp_start%' => '192.168.4.100', - '%ap_dhcp_end%' => '192.168.4.200', - '%ap_addr_ip%' => '192.168.4.1', - '%ap_addr_mask%' => '255.255.255.0', + 'vers_fw' => '1.2.3', + 'date' => date('Y-m-d'), + 'time' => date('G:i'), + 'vers_httpd' => '4.5.6', + 'vers_sdk' => '1.52', + 'githubrepo' => 'https://github.com/MightyPork/esp-vt100-firmware', - '%sta_dhcp_enable%' => '1', - '%sta_addr_ip%' => '192.168.0.33', - '%sta_addr_mask%' => '255.255.255.0', - '%sta_addr_gw%' => '192.168.0.1', + 'ap_dhcp_time' => '120', + 'ap_dhcp_start' => '192.168.4.100', + 'ap_dhcp_end' => '192.168.4.200', + 'ap_addr_ip' => '192.168.4.1', + 'ap_addr_mask' => '255.255.255.0', - '%sta_mac%' => 'ab:cd:ef:01:23:45', - '%ap_mac%' => '01:23:45:ab:cd:ef', + 'sta_dhcp_enable' => '1', + 'sta_addr_ip' => '192.168.0.33', + 'sta_addr_mask' => '255.255.255.0', + 'sta_addr_gw' => '192.168.0.1', - '%term_width%' => '26', - '%term_height%' => '10', - '%default_bg%' => '0', - '%default_fg%' => '7', + 'sta_mac' => 'ab:cd:ef:01:23:45', + 'ap_mac' => '01:23:45:ab:cd:ef', - '%uart_baud%' => 115200, - '%uart_stopbits%' => 1, - '%uart_parity%' => 2, + 'term_width' => '26', + 'term_height' => '10', + 'default_bg' => '0', + 'default_fg' => '7', - '%theme%' => 5, + 'uart_baud' => 115200, + 'uart_stopbits' => 1, + 'uart_parity' => 2, + + 'theme' => 5, ]; diff --git a/html_orig/index.php b/html_orig/index.php index ced21b6..f100715 100644 --- a/html_orig/index.php +++ b/html_orig/index.php @@ -7,12 +7,39 @@ if (!isset($_GET['page'])) $_GET['page'] = 'term'; $_GET['PAGE_TITLE'] = $_pages[$_GET['page']]->title . ' :: ' . APP_NAME; $_GET['BODYCLASS'] = $_pages[$_GET['page']]->bodyclass; +if (!function_exists('tplSubs')) { + function tplSubs($str, $reps) + { + return preg_replace_callback('/%(j:|js:|h:|html:)?([a-z0-9-_.]+)%/i', function ($m) use ($reps) { + $key = $m[2]; + if (array_key_exists($key, $reps)) { + $val = $reps[$key]; + } else { + $val = ''; + } + switch ($m[1]) { + case 'j:': + case 'js:': + $v = json_encode($val); + return substr($v, 1, strlen($v) - 2); + case 'h:': + case 'html:': + return htmlspecialchars($val); + default: + return $val; + } + }, $str); + } +} + require __DIR__ . '/pages/_head.php'; $_pf = __DIR__ . '/pages/'.$_GET['page'].'.php'; if (file_exists($_pf)) { $f = file_get_contents($_pf); - $reps = DEBUG ? require(__DIR__ . '/_debug_replacements.php') : []; - $str = str_replace(array_keys($reps), array_values($reps), $f); + + if (DEBUG) + $str = tplSubs($f, require(__DIR__ . '/_debug_replacements.php')); + else $str = $f; // special symbols $str = str_replace('\,', ' ', $str); diff --git a/html_orig/js/app.js b/html_orig/js/app.js index 9d0b44d..1f7fc48 100644 --- a/html_orig/js/app.js +++ b/html_orig/js/app.js @@ -1549,7 +1549,8 @@ var Input = (function() { return { init: init, - onTap: sendPosMsg + onTap: sendPosMsg, + sendString: sendStrMsg, }; })(); diff --git a/html_orig/jssrc/term.js b/html_orig/jssrc/term.js index d46cb40..14edd83 100644 --- a/html_orig/jssrc/term.js +++ b/html_orig/jssrc/term.js @@ -357,7 +357,8 @@ var Input = (function() { return { init: init, - onTap: sendPosMsg + onTap: sendPosMsg, + sendString: sendStrMsg, }; })(); diff --git a/html_orig/pages/term.php b/html_orig/pages/term.php index f723cd6..0ecb8d7 100644 --- a/html_orig/pages/term.php +++ b/html_orig/pages/term.php @@ -22,7 +22,7 @@ - +