1
0
mirror of https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks.git synced 2025-09-02 20:52:41 +02:00

Allow custom firmware repositories (#1651)

* Add repo option to autoupdate.sh

* Fix repo option in autoupdate.sh

* Use local repo when checking for updates

* Use default repo if non given in VERSION file in autoupdates.sh

* Pass custom repo to web ui and update cgi

* Add custom firmware update to web ui

* Fix update messages

* Fix update start arguments

* Fix update input labels

* Add custom upgrade button when on custom firmware
This commit is contained in:
Greg Thornton
2020-12-22 00:48:59 -06:00
committed by GitHub
parent 4f304046fa
commit 43d73c3c77
4 changed files with 125 additions and 68 deletions

View File

@@ -48,6 +48,7 @@ usage()
echo "Usage this script to update the ${REPO} github repo from ${BRANCH} (default) branch" echo "Usage this script to update the ${REPO} github repo from ${BRANCH} (default) branch"
echo "Options:" echo "Options:"
echo "-b (--backup) backup erased file (add extension ${BACKUPEXT} to the local file before ovewrite it) " echo "-b (--backup) backup erased file (add extension ${BACKUPEXT} to the local file before ovewrite it) "
echo "-x (--repo) to set the repo"
echo "-r (--branch) to set the branch" echo "-r (--branch) to set the branch"
echo "-f (--force) force update" echo "-f (--force) force update"
echo "-d (--dest) set the destination folder (default is ${DESTFOLDER})" echo "-d (--dest) set the destination folder (default is ${DESTFOLDER})"
@@ -169,7 +170,7 @@ countdownreboot()
# Generate VERSION file # Generate VERSION file
generateVersionFile () generateVersionFile ()
{ {
echo "{\"date\":\"${REMOTECOMMITDATE}\",\"branch\":\"${BRANCH}\",\"commit\":\"${REMOTECOMMITID}\"}" > $VERSION_FILE echo "{\"date\":\"${REMOTECOMMITDATE}\",\"repo\":\"${REPO}\",\"branch\":\"${BRANCH}\",\"commit\":\"${REMOTECOMMITID}\"}" > $VERSION_FILE
} }
########################################################################## ##########################################################################
# Curl with optional authentication # Curl with optional authentication
@@ -228,6 +229,11 @@ do
_PROGRESS=1; _PROGRESS=1;
shift shift
;; ;;
-x | --repo)
REPO=$2;
shift
shift
;;
-r | --branch) -r | --branch)
BRANCH=$2 BRANCH=$2
shift shift
@@ -263,15 +269,22 @@ fi
action "rm -rf ${DESTOVERRIDE} 2>/dev/null" action "rm -rf ${DESTOVERRIDE} 2>/dev/null"
if [ -f "$VERSION_FILE" ]; then if [ -f "$VERSION_FILE" ]; then
LOCALCOMMITID=$(${JQ} -r .commit ${VERSION_FILE}) LOCALCOMMITID=$(${JQ} -r .commit ${VERSION_FILE})
if [ ${LOCALCOMMITID} = ${REMOTECOMMITID} ]; then LOCALREPO=$(${JQ} -r .repo ${VERSION_FILE})
if [ -z "$LOCALREPO" ]; then LOCALREPO="$REPO"; fi
if [ ${LOCALREPO} = ${REPO} ] && [ ${LOCALCOMMITID} = ${REMOTECOMMITID} ]; then
logerror "You are currently on the latest version" logerror "You are currently on the latest version"
echo "You are currently on the latest version" echo "You are currently on the latest version"
exit 1 exit 1
else elif [ ${LOCALREPO} = ${REPO} ]; then
echo "Need to upgrade from ${LOCALCOMMITID} to ${REMOTECOMMITID}" echo "Need to upgrade from ${LOCALCOMMITID} to ${REMOTECOMMITID}"
log "Getting list of remote files." log "Getting list of remote files."
FILES=$(curl -s ${GITHUBURL}/${REPO}/compare/${LOCALCOMMITID}...${REMOTECOMMITID} | ${JQ} -r '.files[].raw_url' | grep ${REMOTEFOLDER}) FILES=$(curl -s ${GITHUBURL}/${REPO}/compare/${LOCALCOMMITID}...${REMOTECOMMITID} | ${JQ} -r '.files[].raw_url' | grep ${REMOTEFOLDER})
else
echo "Repo has changed. Upgrade to last commit ${REMOTECOMMITID}"
log "Getting list of remote files."
FIRST=$(curl -s ${GITHUBURL}/${REPO}/contents/${REMOTEFOLDER}?ref=${BRANCH})
FILES=$(getfiles "${FIRST}")
fi fi
else else
echo "Version file missing. Upgrade to last commit ${REMOTECOMMITID}" echo "Version file missing. Upgrade to last commit ${REMOTECOMMITID}"
@@ -306,10 +319,10 @@ do
fi fi
# sometimes zero byte files are received, which overwrite the local files, we ignore those files # sometimes zero byte files are received, which overwrite the local files, we ignore those files
# exception: files that are hidden i.e. start with dot. Ex: files like ".gitkeep" # exception: files that are hidden i.e. start with dot. Ex: files like ".gitkeep"
if [[ ! -s ${TMPFILE} ]] && [[ $(basename ${LOCALFILE} | cut -c1-1) != "." ]]; then if [[ ! -s ${TMPFILE} ]] && [[ $(basename ${LOCALFILE} | cut -c1-1) != "." ]]; then
echo "Received zero byte file $i, exiting." echo "Received zero byte file $i, exiting."
exit 1 exit 1
fi fi
# Check the file exists in local # Check the file exists in local
if [ -f "${DESTFOLDER}/${LOCALFILE}" ]; then if [ -f "${DESTFOLDER}/${LOCALFILE}" ]; then
REMOTESHA=$(${SHA} ${TMPFILE} 2>/dev/null | cut -d "=" -f 2) REMOTESHA=$(${SHA} ${TMPFILE} 2>/dev/null | cut -d "=" -f 2)

View File

@@ -803,13 +803,15 @@ github_curl() {
# Check commit between VERSION file and github # Check commit between VERSION file and github
check_commit() { check_commit() {
if [ -s /system/sdcard/VERSION ]; then if [ -s /system/sdcard/VERSION ]; then
localrepo=$(/system/sdcard/bin/jq -r .repo /system/sdcard/VERSION)
if [ -z "$localrepo" ]; then localrepo="EliasKotlyar"; fi
localcommit=$(/system/sdcard/bin/jq -r .commit /system/sdcard/VERSION) localcommit=$(/system/sdcard/bin/jq -r .commit /system/sdcard/VERSION)
localbranch=$(/system/sdcard/bin/jq -r .branch /system/sdcard/VERSION) localbranch=$(/system/sdcard/bin/jq -r .branch /system/sdcard/VERSION)
remotecommit=$(github_curl -s https://api.github.com/repos/EliasKotlyar/Xiaomi-Dafang-Hacks/commits/${localbranch} | /system/sdcard/bin/jq -r '.sha[0:7]') remotecommit=$(github_curl -s https://api.github.com/repos/${localrepo}/commits/${localbranch} | /system/sdcard/bin/jq -r '.sha[0:7]')
if [ ${localcommit} = ${remotecommit} ]; then if [ ${localcommit} = ${remotecommit} ]; then
echo "${localcommit} ( No update available)" echo "${localcommit} ( No update available)"
else else
commitbehind=$(github_curl -s https://api.github.com/repos/EliasKotlyar/Xiaomi-Dafang-Hacks/compare/${remotecommit}...${localcommit} | /system/sdcard/bin/jq -r '.behind_by') commitbehind=$(github_curl -s https://api.github.com/repos/${localrepo}/compare/${remotecommit}...${localcommit} | /system/sdcard/bin/jq -r '.behind_by')
echo "${localcommit} ( ${commitbehind} commits behind Github)" echo "${localcommit} ( ${commitbehind} commits behind Github)"
fi fi
else else

View File

@@ -533,10 +533,14 @@ auto_night_mode_status)
update) update)
processId=$(ps | grep autoupdate.sh | grep -v grep) processId=$(ps | grep autoupdate.sh | grep -v grep)
release="" repo=$(printf '%b' "${F_repo//%/\\x}")
if [ $F_release == "beta" ]; then if [ -n "$repo" ]; then
release="-r beta" repo="-x $repo"
fi fi
release=$(printf '%b' "${F_release//%/\\x}")
if [ -n "$release" ]; then
release="-r $release"
fi
if [ $F_mode == "full" ]; then if [ $F_mode == "full" ]; then
mv /system/sdcard/VERSION /system/sdcard/VERSION.old mv /system/sdcard/VERSION /system/sdcard/VERSION.old
fi fi
@@ -545,9 +549,9 @@ auto_night_mode_status)
date >> /var/log/update.log date >> /var/log/update.log
github_token=$(get_config /system/sdcard/config/updates.conf github_token) github_token=$(get_config /system/sdcard/config/updates.conf github_token)
if [ "$github_token" != "" ]; then if [ "$github_token" != "" ]; then
/system/sdcard/bin/busybox nohup /system/sdcard/autoupdate.sh -s -v -f ${release} -t "$github_token" >> "/system/sdcard/log/update.log" & /system/sdcard/bin/busybox nohup /system/sdcard/autoupdate.sh -s -v -f ${repo} ${release} -t "$github_token" >> "/system/sdcard/log/update.log" &
else else
/system/sdcard/bin/busybox nohup /system/sdcard/autoupdate.sh -s -v -f ${release} >> "/system/sdcard/log/update.log" & /system/sdcard/bin/busybox nohup /system/sdcard/autoupdate.sh -s -v -f ${repo} ${release} >> "/system/sdcard/log/update.log" &
fi fi
processId=$(ps | grep autoupdate.sh | grep -v grep) processId=$(ps | grep autoupdate.sh | grep -v grep)
fi fi
@@ -695,17 +699,19 @@ motion_detection_mqtt_snapshot_status)
;; ;;
check_update) check_update)
if [ -s /system/sdcard/VERSION ]; then if [ -s /system/sdcard/VERSION ]; then
localrepo=$(/system/sdcard/bin/jq -r .repo /system/sdcard/VERSION)
if [ -z "$localrepo" ]; then localrepo="EliasKotlyar"; fi
localcommit=$(/system/sdcard/bin/jq -r .commit /system/sdcard/VERSION) localcommit=$(/system/sdcard/bin/jq -r .commit /system/sdcard/VERSION)
localbranch=$(/system/sdcard/bin/jq -r .branch /system/sdcard/VERSION) localbranch=$(/system/sdcard/bin/jq -r .branch /system/sdcard/VERSION)
remotecommit=$(github_curl -s https://api.github.com/repos/EliasKotlyar/Xiaomi-Dafang-Hacks/commits/${localbranch} | /system/sdcard/bin/jq -r '.sha[0:7]') remotecommit=$(github_curl -s https://api.github.com/repos/${localrepo}/commits/${localbranch} | /system/sdcard/bin/jq -r '.sha[0:7]')
commitbehind=$(github_curl -s https://api.github.com/repos/EliasKotlyar/Xiaomi-Dafang-Hacks/compare/${remotecommit}...${localcommit} | /system/sdcard/bin/jq -r '.behind_by') commitbehind=$(github_curl -s https://api.github.com/repos/${localrepo}/compare/${remotecommit}...${localcommit} | /system/sdcard/bin/jq -r '.behind_by')
if [ ${localcommit} = ${remotecommit} ]; then if [ ${localcommit} = ${remotecommit} ]; then
echo "${localbranch}:0" echo "${localrepo}:${localbranch}:0"
else else
echo "${localbranch}:${commitbehind}" echo "${localrepo}:${localbranch}:${commitbehind}"
fi fi
else else
echo "null:-1" echo "null:null:-1"
fi fi
return return
;; ;;

View File

@@ -14,7 +14,7 @@ function timedRefresh(timeoutPeriod) {
function update(onStart) { function update(onStart) {
$.ajax({ $.ajax({
'url': 'cgi-bin/action.cgi?cmd=show_updateProgress' 'url': 'cgi-bin/action.cgi?cmd=show_updateProgress'
}).done(function(log) { }).done(function(log) {
if (log < 0) { if (log < 0) {
if (onStart != true) if (onStart != true)
{ {
@@ -44,65 +44,103 @@ function accordionUpdate(param) {
panel.style.maxHeight = null; panel.style.maxHeight = null;
} else { } else {
panel.style.maxHeight = panel.scrollHeight + "px"; panel.style.maxHeight = panel.scrollHeight + "px";
} }
}
function startCustom(el) {
var repo = $('#custom_repo').val();
var branch = $('#custom_branch').val();
var mode = $('#custom_full').is(":checked") ? 'full' : 'cumul';
start(repo, branch, mode);
} }
function showupdatepage(result) { function showupdatepage(result) {
$('#update').html('<h2 id="updatemsg">Seaching for updates ...</h2>');
$.ajax({ $.ajax({
'url': 'cgi-bin/action.cgi?cmd=check_update' 'url': 'cgi-bin/action.cgi?cmd=check_update'
}).done(function(result){ }).done(function(result){
var update = result.split(":") var update = result.split(":")
var update_status = parseInt(update[1],10); var repo = update[0];
var branch = update[1];
var update_status = parseInt(update[2],10);
var custom = '<div class="w3-panel w3-border w3-round"> \
<h2>Custom Firmware</h2> \
<label for="custom_repo">Repository</label> \
<input id="custom_repo" class="w3-input w3-block w3-theme" type="text" value="' + repo + '" /><br /> \
<label for="custom_branch">Branch</label> \
<input id="custom_branch" class="w3-input w3-block w3-theme" type="text" value="' + branch + '" /><br /> \
<input id="custom_full" class="w3-check w3-theme" type="checkbox" checked="checked" /> \
<label for="custom_full">Force full update</label><br /><br /> \
<button class="w3-btn w3-block w3-theme" onclick="startCustom();">Update custom firmware</Button><br /> \
</div>';
if (update_status == 0) { if (update_status == 0) {
$('#updatemsg').html("You have already the latest version from the " + update[0] + " branch") $('#updatemsg').html("You have already the latest version from the " + branch + " branch of the " + repo + " repo.")
if (update[0] == "master") { if (branch == "master") {
$('#updatemsg').append('<button class="accordion" type="button" onclick="accordionUpdate(this);">Other Update Options</button> \ $('#update').append('<button class="accordion" type="button" onclick="accordionUpdate(this);">Other Update Options</button> \
<div class="panel"> <p></p>\ <div class="panel"> <p></p>\
<input id="switchBeta" class="w3-btn w3-block w3-theme" type="text" value="Switch to BETA firmware" onclick="start(\'beta\',\'full\')"/><br /> \ <input id="switchBeta" class="w3-btn w3-block w3-theme" type="text" value="Switch to BETA firmware" onclick="start(\'' + repo + '\',\'beta\',\'full\')"/><br /> \
<input id="fullStable" class="w3-btn w3-block w3-theme" type="text" value="Force full update to STABLE (remove version file + update)" onclick="start(\'master\',\'full\')"/><br /> \ <input id="fullStable" class="w3-btn w3-block w3-theme" type="text" value="Force full update to STABLE (remove version file + update)" onclick="start(\'' + repo + '\',\'master\',\'full\')"/><br /> \
</div>'); ' + custom + '</div>');
}
else if (branch == "beta") {
$('#update').append('<button class="accordion" type="button" onclick="accordionUpdate(this);">Other Update Options</button> \
<div class="panel"> <p></p>\
<input id="switchStable" class="w3-btn w3-block w3-theme" type="text" value="Switch to STABLE firmware" onclick="start(\'' + repo + '\',\'master\',\'full\')"/><br /> \
<input id="fullBeta" class="w3-btn w3-block w3-theme" type="text" value="Force full update to BETA (remove version file + update)" onclick="start(\'' + repo + '\',\'beta\',\'full\')"/><br /> \
' + custom + '</div>');
} }
else { else {
$('#updatemsg').append('<button class="accordion" type="button" onclick="accordionUpdate(this);">Other Update Options</button> \ $('#update').append('<button class="accordion" type="button" onclick="accordionUpdate(this);">Other Update Options</button> \
<div class="panel"> <p></p>\ <div class="panel"> <p></p>\
<input id="switchStable" class="w3-btn w3-block w3-theme" type="text" value="Switch to STABLE firmware" onclick="start(\'master\',\'full\')"/><br /> \ <input id="fullCustom" class="w3-btn w3-block w3-theme" type="text" value="Force full update to CUSTOM (remove version file + update)" onclick="start(\'' + repo + '\',\'' + branch + '\',\'full\')"/><br /> \
<input id="fullBeta" class="w3-btn w3-block w3-theme" type="text" value="Force full update to BETA (remove version file + update)" onclick="start(\'beta\',\'full\')"/><br /> \ <input id="switchStable" class="w3-btn w3-block w3-theme" type="text" value="Switch to STABLE firmware" onclick="start(\'' + repo + '\',\'master\',\'full\')"/><br /> \
</div>'); <input id="fullBeta" class="w3-btn w3-block w3-theme" type="text" value="Force full update to BETA (remove version file + update)" onclick="start(\'' + repo + '\',\'beta\',\'full\')"/><br /> \
' + custom + '</div>');
} }
} }
else if (update_status == -1) { else if (update_status == -1) {
$('#updatemsg').html("No version file found. <br /> You can update the firmware on this camera to the latest version from <a target='_blank' href='https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks'>Github repository</a>. <br />Settings will be retained after update.") $('#updatemsg').html("No version file found. <br /> You can update the firmware on this camera to the latest version from <a target='_blank' href='https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks'>Github repository</a>. <br />Settings will be retained after update.")
$('#updatemsg').append('\ $('#update').append('\
<input id="updateStable" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (STABLE)" onclick="start(\'master\',\'cumul\')"/><br /> \ <input id="updateStable" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (STABLE)" onclick="start(\'EliasKotlyar\',\'master\',\'cumul\')"/><br /> \
<input id="updateBeta" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (BETA)" onclick="start(\'beta\',\'cumul\')"/><br />'); <input id="updateBeta" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (BETA)" onclick="start(\'EliasKotlyar\',\'beta\',\'cumul\')"/><br />' + custom);
} }
else if (update_status > 0) { else if (update_status > 0) {
$('#updatemsg').html("You are "+ update_status +" commits behind "+ update[0] + " branch"); $('#updatemsg').html("You are "+ update_status +" commits behind the " + branch + " branch of the " + repo + " repo.")
if (update[0] == "master") { if (branch == "master") {
$('#updatemsg').append('<input id="updateStable" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (STABLE)" onclick="start(\'master\',\'cumul\')"/><br />'); $('#update').append('<input id="updateStable" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (STABLE)" onclick="start(\'' + repo + '\',\'master\',\'cumul\')"/><br />');
$('#updatemsg').append('<button class="accordion" type="button" onclick="accordionUpdate(this);">Other Update Options</button> \ $('#update').append('<button class="accordion" type="button" onclick="accordionUpdate(this);">Other Update Options</button> \
<div class="panel"><p></p> \ <div class="panel"><p></p> \
<input id="switchBeta" class="w3-btn w3-block w3-theme" type="text" value="Switch to BETA firmware" onclick="start(\'beta\',\'full\')"/><br /> \ <input id="switchBeta" class="w3-btn w3-block w3-theme" type="text" value="Switch to BETA firmware" onclick="start(\'' + repo + '\',\'beta\',\'full\')"/><br /> \
<input id="fullStable" class="w3-btn w3-block w3-theme" type="text" value="Force full update to STABLE (remove version file + update)" onclick="start(\'master\',\'full\')"/><br /> \ <input id="fullStable" class="w3-btn w3-block w3-theme" type="text" value="Force full update to STABLE (remove version file + update)" onclick="start(\'' + repo + '\',\'master\',\'full\')"/><br /> \
</div>'); ' + custom + '</div>');
}
else if (branch == "beta") {
$('#update').append('<input id="updateBeta" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (BETA)" onclick="start(\'' + repo + '\',\'beta\',\'cumul\')"/><br />');
$('#update').append('<button class="accordion" type="button" onclick="accordionUpdate(this);">Other Update Options</button> \
<div class="panel"> <p></p>\
<input id="switchStable" class="w3-btn w3-block w3-theme" type="text" value="Switch to STABLE firmware" onclick="start(\'' + repo + '\',\'master\',\'full\')"/><br /> \
<input id="fullBeta" class="w3-btn w3-block w3-theme" type="text" value="Force full update to BETA (remove version file + update)" onclick="start(\'' + repo + '\',\'beta\',\'full\')"/><br /> \
' + custom + '</div>');
} }
else { else {
$('#updatemsg').append('<input id="updateBeta" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (BETA)" onclick="start(\'beta\',\'cumul\')"/><br />'); $('#update').append('<input id="updateCustom" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (CUSTOM)" onclick="start(\'' + repo + '\',\'' + branch + '\',\'cumul\')"/><br />');
$('#updatemsg').append('<button class="accordion" type="button" onclick="accordionUpdate(this);">Other Update Options</button> \ $('#update').append('<button class="accordion" type="button" onclick="accordionUpdate(this);">Other Update Options</button> \
<div class="panel"> <p></p>\ <div class="panel"> <p></p>\
<input id="switchStable" class="w3-btn w3-block w3-theme" type="text" value="Switch to STABLE firmware" onclick="start(\'master\',\'full\')"/><br /> \ <input id="switchStable" class="w3-btn w3-block w3-theme" type="text" value="Switch to STABLE firmware" onclick="start(\'' + repo + '\',\'master\',\'full\')"/><br /> \
<input id="fullBeta" class="w3-btn w3-block w3-theme" type="text" value="Force full update to BETA (remove version file + update)" onclick="start(\'beta\',\'full\')"/><br /> \ <input id="fullBeta" class="w3-btn w3-block w3-theme" type="text" value="Force full update to BETA (remove version file + update)" onclick="start(\'' + repo + '\',\'beta\',\'full\')"/><br /> \
</div>'); ' + custom + '</div>');
} }
} }
else { else {
$('#updatemsg').text("There is a problem with your VERSION file. Please do a full update to create a valid VERSION file."); $('#updatemsg').text("There is a problem with your VERSION file. Please do a full update to create a valid VERSION file.");
$('#updatemsg').append('\ $('#update').append('\
<input id="updateStable" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (STABLE)" onclick="start(\'master\',\'cumul\')"/><br /> \ <input id="updateStable" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (STABLE)" onclick="start(\'EliasKotlyar\',\'master\',\'cumul\')"/><br /> \
<input id="updateBeta" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (BETA)" onclick="start(\'beta\',\'cumul\')"/><br />'); <input id="updateBeta" class="w3-btn w3-block w3-theme" type="text" value="Update firmware (BETA)" onclick="start(\'EliasKotlyar\',\'beta\',\'cumul\')"/><br />' + custom);
} }
}); });
} }
@@ -111,12 +149,12 @@ function saveConfig() {
$.get("cgi-bin/ui_control.cgi",{cmd: "save_config"},function(result) { $.get("cgi-bin/ui_control.cgi",{cmd: "save_config"},function(result) {
getFiles('config'); getFiles('config');
}); });
} }
function deleteConfig(fileName,dir) { function deleteConfig(fileName,dir) {
var del = confirm("Confirm delete file: "+fileName); var del = confirm("Confirm delete file: "+fileName);
if ( del ) { if ( del ) {
$.get("cgi-bin/ui_control.cgi", {cmd: "del_config",file: fileName}); $.get("cgi-bin/ui_control.cgi", {cmd: "del_config",file: fileName});
getFiles(dir); getFiles(dir);
} }
@@ -125,7 +163,7 @@ function deleteConfig(fileName,dir) {
function restoreConfig(fileName) { function restoreConfig(fileName) {
var restore = confirm("Are you sure to restore config file: "+fileName+"\n Camera will reboot at the end of the process"); var restore = confirm("Are you sure to restore config file: "+fileName+"\n Camera will reboot at the end of the process");
if ( restore ) { if ( restore ) {
$.get("cgi-bin/ui_control.cgi",{cmd: "restore_config",file: fileName}); $.get("cgi-bin/ui_control.cgi",{cmd: "restore_config",file: fileName});
} }
} }
@@ -133,8 +171,8 @@ function restoreConfig(fileName) {
function getFiles(dir) { function getFiles(dir) {
// Get files from dir // Get files from dir
$('#'+dir).html("<p><button class='w3-btn w3-theme' onclick='saveConfig();'>Take config snapshot</button></p>"); $('#'+dir).html("<p><button class='w3-btn w3-theme' onclick='saveConfig();'>Take config snapshot</button></p>");
$.get("cgi-bin/ui_control.cgi", {cmd: "getFiles", dir: dir}, function(config){ $.get("cgi-bin/ui_control.cgi", {cmd: "getFiles", dir: dir}, function(config){
var config_all = config.split("\n"); var config_all = config.split("\n");
if ( config_all.length == 1) if ( config_all.length == 1)
$('#'+dir).append("<h1>No snapshot available.</h1>"); $('#'+dir).append("<h1>No snapshot available.</h1>");
else { else {
@@ -151,7 +189,7 @@ function getFiles(dir) {
<tbody>"); <tbody>");
for (var i = 0; i < config_all.length-1; i++) { for (var i = 0; i < config_all.length-1; i++) {
var config_info = config_all[i].split("#:#"); var config_info = config_all[i].split("#:#");
var file_info = config_info[3].split("."); var file_info = config_info[3].split(".");
var html_photo = ""; var html_photo = "";
$('#result_'+dir).append("<tr> \ $('#result_'+dir).append("<tr> \
<td>"+config_info[0]+"</td> \ <td>"+config_info[0]+"</td> \
@@ -177,8 +215,8 @@ function getFiles(dir) {
} }
function start(branch,mode) { function start(repo,branch,mode) {
var login = ""; var login = "";
// if ($('#login').val().length > 0) { // if ($('#login').val().length > 0) {
// login = "login=" + $('#login').val() + ":" + $('#password').val(); // login = "login=" + $('#login').val() + ":" + $('#password').val();
// } // }
@@ -188,7 +226,7 @@ function start(branch,mode) {
$('#modal_content').html('<h4>Please note: at the end of this process the camera will reboot without notice!</h4> \ $('#modal_content').html('<h4>Please note: at the end of this process the camera will reboot without notice!</h4> \
<div class="w3-light-grey"><div id="progress" class="w3-container w3-theme" style="width:0%"><span id="progressValue">0%</span></div></div><br><h4 id=message></h4>'); <div class="w3-light-grey"><div id="progress" class="w3-container w3-theme" style="width:0%"><span id="progressValue">0%</span></div></div><br><h4 id=message></h4>');
var url = 'cgi-bin/action.cgi?cmd=update&release='+branch+'&mode='+mode; var url = 'cgi-bin/action.cgi?cmd=update&repo='+repo+'&release='+branch+'&mode='+mode;
$.ajax({ $.ajax({
'url': url, 'url': url,
'type': 'POST', 'type': 'POST',
@@ -246,10 +284,10 @@ var serviceFriendlyNames = {
//Function get config //Function get config
function getServices() { function getServices() {
// get config and put to hmtl elements // get config and put to hmtl elements
$.get("cgi-bin/ui_control.cgi", {cmd: "get_services"}, function(config){ $.get("cgi-bin/ui_control.cgi", {cmd: "get_services"}, function(config){
var config_all = config.split("\n"); var config_all = config.split("\n");
for (var i = 0; i < config_all.length-1; i++) { for (var i = 0; i < config_all.length-1; i++) {
var config_info = config_all[i].split("#:#"); var config_info = config_all[i].split("#:#");
// Select button color accrding status // Select button color accrding status
var control_checked = "onclick='controlService(\"start\",\""+config_info[0]+"\")')"; var control_checked = "onclick='controlService(\"start\",\""+config_info[0]+"\")')";
if (config_info[1] == "started") if (config_info[1] == "started")
@@ -290,5 +328,3 @@ function onLoad() {
} }
onLoad(); onLoad();