diff --git a/AdminInterface/www/mupi.php b/AdminInterface/www/mupi.php index 7b1441fb..aa1ac6e8 100644 --- a/AdminInterface/www/mupi.php +++ b/AdminInterface/www/mupi.php @@ -441,6 +441,36 @@ $CHANGE_TXT=$CHANGE_TXT."
  • Press Button delay set to ".$_POST['pressDelay']. " seconds
  • "; $change=2; } + $playtime_changed = false; + if( $_POST['playtime_save'] ) + { + if( !isset($data["playtimeLimit"]) || !is_array($data["playtimeLimit"]) ) + { + $data["playtimeLimit"] = array( + "enabled" => false, + "resetHour" => 0, + "maxOverrunMinutes" => 10, + "limitsMinutes" => array("mon"=>60,"tue"=>60,"wed"=>60,"thu"=>60,"fri"=>60,"sat"=>60,"sun"=>60), + ); + } + if( !isset($data["playtimeLimit"]["limitsMinutes"]) || !is_array($data["playtimeLimit"]["limitsMinutes"]) ) + { + $data["playtimeLimit"]["limitsMinutes"] = array("mon"=>60,"tue"=>60,"wed"=>60,"thu"=>60,"fri"=>60,"sat"=>60,"sun"=>60); + } + $data["playtimeLimit"]["enabled"] = (isset($_POST['playtime_enabled']) && $_POST['playtime_enabled'] === '1'); + $data["playtimeLimit"]["resetHour"] = max(0, min(23, intval($_POST['playtime_resetHour']))); + $data["playtimeLimit"]["maxOverrunMinutes"] = max(0, min(60, intval($_POST['playtime_maxOverrunMinutes']))); + $playtime_days = array('mon','tue','wed','thu','fri','sat','sun'); + foreach( $playtime_days as $d ) + { + $field = 'playtime_limit_' . $d; + $val = isset($_POST[$field]) ? intval($_POST[$field]) : 60; + $data["playtimeLimit"]["limitsMinutes"][$d] = max(0, min(1440, $val)); + } + $playtime_changed = true; + $CHANGE_TXT = $CHANGE_TXT."
  • Playtime limit settings saved (player restarting...)
  • "; + $change = 2; + } if( $data["shim"]["ledPin"]!=$_POST['ledPin'] && $_POST['ledPin']) { $data["shim"]["ledPin"]=$_POST['ledPin']; @@ -569,7 +599,12 @@ exec("sudo mv /tmp/.mupiboxconfig.json /etc/mupibox/mupiboxconfig.json"); exec("sudo /usr/local/bin/mupibox/./setting_update.sh"); } - + if( $playtime_changed ) + { + // Player caches mupiboxconfig.json at startup via require(); restart so the new playtime values take effect. + exec("sudo -i -u dietpi pm2 restart spotify-control"); + } + $CHANGE_TXT=$CHANGE_TXT.""; ?> @@ -695,6 +730,68 @@ +
    + Daily playtime limit + +
    +
    System settings