You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MobileApp/www/old/pages/settings.html

157 lines
6.6 KiB
HTML

<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<div class="list-group">
<div class="list-group-item">
<h4><i class="fa fa-user"></i> <span id="username">Not logged in</span></h4>
<i class="fa fa-key"></i> Pairing Code: <span id="pairingkey">None</span><br />
<i class="fa fa-server"></i> Server: <span id="syncurl">None</span>
</div>
<div class="list-group-item" onclick="openscreen('accounts', 'FADE');">
<b>Manage and switch accounts</b>
</div>
</div>
<div class="list-group">
<div class="list-group-item" onclick="updatepassword()">
<b>Update Password</b>
<p>Enter your new password if you changed it from AccountHub.</p>
</div>
<div class="list-group-item" onclick="deleteall()">
<b>Disconnect All Accounts</b>
<p>Forget all account data for all connected accounts and open the setup tool.</p>
</div>
</div>
<div class="list-group">
<div class="list-group-item" onclick="toggleAnimations()">
<b>Turn animations <span id="animations_offon_label">off</span></b>
<p>Disable transitions and animations on slow devices or to save battery life.</p>
</div>
</div>
<div class="list-group">
<div class="list-group-item" onclick="openscreen('zeroconf', 'FADE')">
<b>Server Locator</b>
<p>Scan the local network for Business Apps services.</p>
</div>
</div>
<div class="list-group">
<div class="list-group-item">
<b><span id="app_name">Netsyms Business Apps for Mobile</span> v<span id="app_version">1.x</span></b>
<br />
Copyright &copy; 2018 Netsyms Technologies. Licensed under the <span style="text-decoration: underline;" onclick="window.open('https://source.netsyms.com/Business/MobileApp?pk_campaign=BusinessMobile-SystemBrowser', '_system', '');">Mozilla Public License 2.0</span>.
<br />
<span style="text-decoration: underline;" onclick="window.open('https://netsyms.com/?pk_campaign=BusinessMobile-SystemBrowser', '_system', '');">https://netsyms.com</span>
<br />
<span id="app_package">com.netsyms.BusinessMobile</span>
<br />
build #<span id="app_version_code">1xxxx</span>
</div>
<div class="list-group-item" onclick="openscreen('credits', 'FADE')">
<b>Credits and Open Source</b>
</div>
<div class="list-group-item" onclick="cordova.InAppBrowser.open('https://netsyms.biz/mobile-privacy-policy', '_blank', 'location=yes');">
<b>Privacy Policy</b>
</div>
</div>
<script>
setnavbar("settings");
function deleteall() {
navigator.notification.confirm("Really wipe user data? You will need to resync the app with AccountHub to use it again. This will not delete 2-factor auth keys.", function (result) {
if (result != 1) {
return;
}
// Wipe localStorage
localStorage.removeItem("username");
localStorage.removeItem("password");
localStorage.removeItem("syncurl");
localStorage.removeItem("key");
localStorage.removeItem("accounts");
NativeStorage.remove("accounts", function () {
// force-reload app
navigator.notification.alert("All connection data and credentials erased.", function () {
restartApplication();
}, "App Reset", 'Continue');
});
}, "Are you sure?");
}
function toggleAnimations() {
if (localStorage.getItem("animations") === null || localStorage.getItem("animations") === "true") {
localStorage.setItem("animations", "false");
$.fx.off = true;
$('#animations_offon_label').text("on");
navigator.notification.alert("Animations turned off.", null, "Setting updated", "Dismiss");
} else {
localStorage.setItem("animations", "true");
$.fx.off = false;
$('#animations_offon_label').text("off");
navigator.notification.alert("Animations turned on.", null, "Setting updated", "Dismiss");
}
}
/**
* Prompts the user to enter their password, then checks the password and
* saves or displays an error.
* @returns {undefined}
*/
function updatepassword() {
navigator.notification.prompt("Re-enter your password.", function (results) {
if (results.buttonIndex == 1) {
$.post(localStorage.getItem("syncurl"), {
username: localStorage.getItem("username"),
key: localStorage.getItem("key"),
password: results.input1,
action: "check_password"
}, function (data) {
if (data.status === 'OK') {
localStorage.setItem("password", results.input1);
passwd(results.input1);
navigator.notification.alert("Saved password updated.", function () {
// Reload app just to be safe
restartApplication();
}, "Success", 'Continue');
} else {
navigator.notification.alert(data.msg, null, "Error", 'Dismiss');
}
}, "json").fail(function () {
navigator.notification.alert("Could not connect to the server. Try again later.", null, "Error", 'Dismiss');
});
}
}, "Update Password", ["Save", "Cancel"]);
}
if (localStorage.getItem("animations") === "false") {
$('#animations_offon_label').text("on");
}
cordova.getAppVersion.getVersionNumber(function (version) {
$('#app_version').text(version);
});
cordova.getAppVersion.getPackageName(function (package) {
$('#app_package').text(package);
});
cordova.getAppVersion.getVersionCode(function (version) {
$('#app_version_code').text(version);
});
if (localStorage.getItem("username")) {
$("#username").text(localStorage.getItem("username"));
}
if (localStorage.getItem("key")) {
var key = localStorage.getItem("key");
var stars = "";
for (var i = 0; i < key.length - 6; i++) {
stars += "*";
}
$("#pairingkey").text(key.slice(0, 3) + stars + key.slice(-3));
}
if (localStorage.getItem("syncurl")) {
$("#syncurl").text(localStorage.getItem("syncurl").replace("/mobile/index.php", ""));
}
</script>