$sValue) { $asResult[] = is_array($sValue)?combinedImplode($sValue, $sKeyValGlue, $sRowGlue):$sKey.$sKeyValGlue.$sValue; } return implode($sRowGlue, $asResult); } function getSabContent($sSabServer, $asParams) { $sQueueUrl = $sSabServer.'?'.combinedImplode($asParams, '=', '&'); return json_decode(file_get_contents($sQueueUrl), true); } $sUploadResult = $sQueueResult = $sHistoryResult = ''; if(isset($_GET['api']) && $_GET['api']=='123456') { $sSabServer = 'http://192.168.0.2:8085/sabnzbd/api'; $asCommonParams = array('output'=>'json', 'apikey'=>'d93d02d23510871b0252fe282a0f591c'); $asQueueParams = $asCommonParams + array('mode'=>'queue', 'start'=>0, 'limit'=>1); $asHistoryParams = $asCommonParams + array('mode'=>'history', 'start'=>0, 'limit'=>3); //Displaying current download $asQueueResult = getSabContent($sSabServer, $asQueueParams); if(count($asQueueResult['queue']['slots'])==0) $sQueueResult = 'Empty queue'; else { $asFile = $asQueueResult['queue']['slots'][0]; $sQueueResult = 'Downloading '.$asFile['filename'].' ('.$asFile['size'].') '; $sQueueResult.= 'at '.$asQueueResult['queue']['speed'].'. File expected at '; $sQueueResult.= $asFile['eta'].' ('.$asFile['sizeleft'].' / '.$asFile['timeleft'].' left)'; } //Displaying history $asHistoryResult = getSabContent($sSabServer, $asHistoryParams); if(count($asHistoryResult['history']['slots'])==0) $asHistoryResult = 'Empty history'; else { foreach($asHistoryResult['history']['slots'] as $asFile) { $sHistoryResult .= '