diff --git a/firmware_mod/www/cgi-bin/net_services.cgi b/firmware_mod/www/cgi-bin/net_services.cgi new file mode 100755 index 0000000..b7b61c6 --- /dev/null +++ b/firmware_mod/www/cgi-bin/net_services.cgi @@ -0,0 +1,193 @@ +#!/bin/sh + +. /system/sdcard/www/cgi-bin/func.cgi +. /system/sdcard/scripts/common_functions.sh + +export LD_LIBRARY_PATH=/system/lib +export LD_LIBRARY_PATH=/thirdlib:$LD_LIBRARY_PATH + +echo "Content-type: text/html" +echo "Pragma: no-cache" +echo "Cache-Control: max-age=0, no-store, no-cache" +echo "" + +if [ -n "$F_cmd" ]; then + case "$F_cmd" in + get_config_mqtt) + if [ ! -f "/system/sdcard/config/mqtt.conf" ]; then + $(cp /system/sdcard/config/mqtt.conf.dist /system/sdcard/config/mqtt.conf) + fi + source /system/sdcard/config/mqtt.conf + echo "mqttUser#:#${USER}" + echo "mqttPass#:#${PASS}" + echo "mqttHost#:#${HOST}" + echo "mqttPort#:#${PORT}" + echo "mqttLocation#:#${LOCATION}" + echo "mqttDeviceName#:#${DEVICE_NAME}" + echo "mqttAutodiscoveryPrefix#:#${AUTODISCOVERY_PREFIX}" + echo "mqttStatusInterval#:#${STATUSINTERVAL}" + ;; + get_config_mail) + if [ ! -f "/system/sdcard/config/sendmail.conf" ]; then + $(cp /system/sdcard/config/sendmail.conf.dist /system/sdcard/config/sendmail.conf) + fi + source /system/sdcard/config/sendmail.conf + echo "from#:#${FROM}" + echo "fromName#:#${FROMNAME}" + echo "auth#:#${AUTH}" + echo "pass#:#${PASS}" + echo "to#:#${TO}" + echo "server#:#${SERVER}" + echo "port#:#${PORT}" + echo "subject#:#${SUBJECT}" + echo "body#:#${BODY}" + echo "numberOfPictures#:#${NUMBEROFPICTURES}" + echo "timeBetweenSnapshot#:#${TIMEBETWEENSNAPSHOT}" + echo "quality#:#${QUALITY}" + ;; + get_config_telegram) + if [ ! -f "/system/sdcard/config/telegram.conf" ]; then + $(cp /system/sdcard/config/telegram.conf.dist /system/sdcard/config/telegram.conf) + fi + source /system/sdcard/config/telegram.conf + echo "apiToken#:#${apiToken}" + echo "userChatID#:#${userChatId}" + ;; + get_config_matrix) + if [ ! -f "/system/sdcard/config/matrix.conf" ]; then + $(cp /system/sdcard/config/matrix.conf.dist /system/sdcard/config/matrix.conf) + fi + source /system/sdcard/config/matrix.conf + echo "host#:#${host}" + echo "portM#:#${port}" + echo "roomID#:#${room_id}" + echo "sender#:#${sender}" + echo "accessToken#:#${access_token}" + ;; + save_config_mqtt) + echo "Save mqtt" + if [ -n "${F_mqttUser+x}" ]; then + rewrite_config /system/sdcard/config/mqtt.conf USER $F_mqttUser + echo "MQTT user set to $F_mqttUser
" + fi + if [ -n "${F_mqttPass+x}" ]; then + rewrite_config /system/sdcard/config/mqtt.conf PASS $F_mqttPass + echo "MQTT password set
" + fi + if [ -n "${F_mqttHost+x}" ]; then + rewrite_config /system/sdcard/config/mqtt.conf HOST $F_mqttHost + echo "MQTT host set to $F_mqttHost
" + fi + if [ -n "${F_mqttPort+x}" ]; then + rewrite_config /system/sdcard/config/mqtt.conf PORT $F_mqttPort + echo "MQTT port set to $F_mqttPort
" + fi + if [ -n "${F_mqttLocation+x}" ]; then + rewrite_config /system/sdcard/config/mqtt.conf LOCATION "\"$F_mqttLocation\"" + echo "MQTT location set to $F_mqttLocation
" + fi + if [ -n "${F_mqttDeviceName+x}" ]; then + rewrite_config /system/sdcard/config/mqtt.conf DEVICE_NAME "\"$F_mqttDeviceName\"" + echo "MQTT device name set to $F_mqttDeviceName
" + fi + if [ -n "${F_mqttAutodiscoveryPrefix+x}" ]; then + rewrite_config /system/sdcard/config/mqtt.conf AUTODISCOVERY_PREFIX "\"$F_mqttAutodiscoveryPrefix\"" + echo "MQTT autodiscovery topic set to $F_mqttAutodiscoveryPrefix
" + fi + if [ -n "${F_mqttStatusInterval+x}" ]; then + rewrite_config /system/sdcard/config/mqtt.conf STATUSINTERVAL $F_mqttStatusInterval + echo "MQTT status interval set to $F_mqttStatusInterval
" + fi + + ;; + save_config_mail) + if [ -n "${F_from+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf FROM "\"$F_from\"" + echo "Sendmail from address set to $F_from
" + fi + if [ -n "${F_fromName+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf FROMNAME "\"$F_fromName\"" + echo "Sendmail from name set to $F_fromName
" + fi + if [ -n "${F_auth+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf AUTH "\"$F_auth\"" + echo "Sendmail auth user set to $F_auth
" + fi + if [ -n "${F_pass+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf PASS "\"$F_pass\"" + echo "Sendmail set password
" + fi + if [ -n "${F_to+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf TO "\"$F_to\"" + echo "Sendmail destination address set to $F_to
" + fi + if [ -n "${F_server+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf SERVER $F_server + echo "Sendmail server hostname set to $F_server
" + fi + if [ -n "${F_port+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf PORT $F_port + echo "Sendmail server port set to $F_port
" + fi + if [ -n "${F_subject+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf SUBJECT "\"$F_subject\"" + echo "Sendmail subject set to $F_subject
" + fi + if [ -n "${F_body+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf BODY "\"$F_body\"" + echo "Sendmail body set to $F_body
" + fi + if [ -n "${F_numberOfPictures+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf NUMBEROFPICTURES $F_numberOfPictures + echo "Sendmail number of pictures set to $F_numberOfPictures
" + fi + if [ -n "${F_timeBetweenSnapshot+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf TIMEBETWEENSNAPSHOT $F_timeBetweenSnapshot + echo "Sendmail time betweend snapshot set to $F_timeBetweenSnapshot
" + fi + if [ -n "${F_quality+x}" ]; then + rewrite_config /system/sdcard/config/sendmail.conf QUALITY $F_quality + echo "Sendmail quality of pictures set to $F_quality
" + fi + ;; + save_config_telegram) + if [ -n "${F_apiToken+x}" ]; then + rewrite_config /system/sdcard/config/telegram.conf apiToken "\"$F_apiToken\"" + echo "Telegram api token set to $F_apiToken
" + fi + if [ -n "${F_userChatID+x}" ]; then + rewrite_config /system/sdcard/config/telegram.conf userChatId "\"$F_userChatID\"" + echo "Matrix server host set to $F_userChatID
" + fi + ;; + save_config_matrix) + if [ -n "${F_host+x}" ]; then + rewrite_config /system/sdcard/config/matrix.conf host $F_host + echo "Matrix server host set to $F_host
" + fi + if [ -n "${F_portM+x}" ]; then + rewrite_config /system/sdcard/config/matrix.conf port $F_portM + echo "Matrix server port set to $F_portM
" + fi + if [ -n "${F_roomID+x}" ]; then + rewrite_config /system/sdcard/config/matrix.conf room_id $F_roomID + echo "Matrix room ID set to $F_roomID
" + fi + if [ -n "${F_sender+x}" ]; then + rewrite_config /system/sdcard/config/matrix.conf sender $F_sender + echo "Matrix server sender set to $F_sender
" + fi + if [ -n "${F_accessToken+x}" ]; then + rewrite_config /system/sdcard/config/matrix.conf access_token $F_accessToken + echo "Matrix server access token set
" + fi + ;; + *) + echo "Unsupported command '$F_cmd'" + ;; + + esac + fi + +exit 0 + diff --git a/firmware_mod/www/js/net_services.js b/firmware_mod/www/js/net_services.js new file mode 100644 index 0000000..556a9ab --- /dev/null +++ b/firmware_mod/www/js/net_services.js @@ -0,0 +1,55 @@ + +//Function save config +function saveConfig(elements) { + //Open modal window + document.getElementById('save_confirm').style.display='block' + $('#save_result').html("Waiting for save result..."); + var postData = { cmd: "save_config_"+elements } + $("#"+elements+" input, #"+elements+" select").each(function(){ + var input = $(this); + postData[input.attr('id')] = input.val(); + }); + $.post("cgi-bin/net_services.cgi",postData,function(result){ + if ( result != "") + $('#save_result').html(result); + else + $('#save_result').html("Nothing to update"); + }); + +} + +//Function get config +function getConfig(service) { + // get config and put to hmtl elements + $.get("cgi-bin/net_services.cgi", {cmd: "get_config_"+service}, function(config){ + var config_all = config.split("\n"); + for (var i = 0; i < config_all.length-1; i++) { + var config_info = config_all[i].split("#:#"); + // If element is a select, selected good value + if ($('#'+config_info[0]).is('select')) + $('#'+config_info[0]+' > option').each(function() { + if($(this).val() == config_info[1]) + $(this).attr('selected','selected'); + }); + else + $('#'+config_info[0]).attr("value",config_info[1]); + } + }); +} + +//Function loaded when script load +function onLoad() { + //Activate accordion + accordion(); + //Get configuration + getConfig('mqtt'); + +} + +onLoad(); + + + + + + diff --git a/firmware_mod/www/js/sdcard.js b/firmware_mod/www/js/sdcard.js index a2b451c..367d0bb 100755 --- a/firmware_mod/www/js/sdcard.js +++ b/firmware_mod/www/js/sdcard.js @@ -2,6 +2,7 @@ function getFiles(dir) { // Get files from dir $.get("cgi-bin/sdcard.cgi", {cmd: "getFiles", dir: dir}, function(config){ + $('#tab'+dir+' > tbody').html(""); var config_all = config.split("\n"); if ( config_all.length == 1) $('#tab'+dir).append("No files found"); diff --git a/firmware_mod/www/net_services.html b/firmware_mod/www/net_services.html index d330688..229cd7b 100755 --- a/firmware_mod/www/net_services.html +++ b/firmware_mod/www/net_services.html @@ -1,51 +1,117 @@
-

Network services configuration

- -
-

+ +
+

- + +
+ +
- +
- +
- +
- +
- - + + +
+ + +

+ + - - -

- -

- + + + + + + +
@@ -55,10 +121,10 @@

Save config

-

Waiting for save result...

+

- \ No newline at end of file + \ No newline at end of file