62 lines
2.5 KiB
PHP
62 lines
2.5 KiB
PHP
<?php
|
|
session_start();
|
|
require_once "scripts/common.php";
|
|
$user = get_user();
|
|
$home = get_home();
|
|
|
|
$fetch = shell_exec("sudo -u".$user." git -C ".$home."/BirdNET-Pi fetch 2>&1");
|
|
$str = trim(shell_exec("sudo -u".$user." git -C ".$home."/BirdNET-Pi status"));
|
|
if (preg_match("/behind '.*?' by (\d+) commit(s?)\b/", $str, $matches)) {
|
|
$num_commits_behind = $matches[1];
|
|
}
|
|
if (preg_match('/\b(\d+)\b and \b(\d+)\b different commits each/', $str, $matches)) {
|
|
$num1 = (int) $matches[1];
|
|
$num2 = (int) $matches[2];
|
|
$num_commits_behind = $num1 + $num2;
|
|
}
|
|
if (stripos($str, "Your branch is up to date") !== false) {
|
|
$num_commits_behind = '0';
|
|
}
|
|
$_SESSION['behind'] = $num_commits_behind;
|
|
$_SESSION['behind_time'] = time();
|
|
?><html>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<br>
|
|
<br>
|
|
<script>
|
|
var seconds = 0;
|
|
function update() {
|
|
if(confirm('Are you sure you want to update?')) {
|
|
setInterval(function(){ seconds += 1; document.getElementById('updatebtn').innerHTML = "Updating: <pre id='timer' class='bash'>"+new Date(seconds * 1000).toISOString().substring(14, 19)+"</span>"; }, 1000);
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
</script>
|
|
<div class="systemcontrols">
|
|
<form action="views.php" method="GET">
|
|
<div>
|
|
<button type="submit" name="submit" value="sudo reboot" onclick="return confirm('Are you sure you want to reboot?')">Reboot</button>
|
|
</div>
|
|
<div>
|
|
<button type="submit" name="submit" id="updatebtn" value="update_birdnet.sh" onclick="update();">Update <?php if(isset($_SESSION['behind']) && $_SESSION['behind'] != "0" && $_SESSION['behind'] != "with"){?><div class="updatenumber"><?php echo $_SESSION['behind']; ?></div><?php } ?></button>
|
|
</div>
|
|
<div>
|
|
<button type="submit" name="submit" value="sudo shutdown now" onclick="return confirm('Are you sure you want to shutdown?')">Shutdown</button>
|
|
</div>
|
|
<div>
|
|
<button type="submit" name="submit" value="sudo clear_all_data.sh" onclick="return confirm('Clear ALL Data? Note that this cannot be undone and will take up to 90 seconds.')">Clear ALL data</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<?php
|
|
$cmd="cd ".$home."/BirdNET-Pi && sudo -u ".$user." git rev-list --max-count=1 HEAD";
|
|
$curr_hash = shell_exec($cmd);
|
|
?>
|
|
<p style="font-size:11px;text-align:center"></br></br>Running version: </p>
|
|
<a href="https://github.com/Nachtzuster/BirdNET-Pi/commit/<?php echo $curr_hash; ?>" target="_blank">
|
|
<p style="font-size:11px;text-align:center;box-sizing: border-box"><?php echo $curr_hash; ?></p>
|
|
</a>
|
|
</div>
|