getParser(); $OSArray = parse_ini_file("/etc/os-release"); $OverwatchVer = constant("OVERWATCH_VERSION"); $KernelVer = $state['linfo_parser']->getKernel(); $KernelArch = $state['linfo_parser']->getCPUArchitecture(); $MemArray = $state['linfo_parser']->getRam(); $CPU = $state['linfo_parser']->getCPU(); $Sensors = $state['linfo_parser']->getTemps(); $Devices = $state['linfo_parser']->getDevs(); $Network = $state['linfo_parser']->getNet(); $Battery = $state['linfo_parser']->getBattery(); $Model = $state['linfo_parser']->getModel(); $SysInfo = array('OS'=>$OSArray, 'DaemonVersion'=>$OverwatchVer, 'Kernel'=>$KernelVer, 'CPUArch'=>$KernelArch, 'RAM'=>$MemArray, 'CPU'=>$CPU, 'Sensors'=>$Sensors, 'Devices'=>$Devices, 'Network'=>$Network, 'Battery'=>$Battery, 'Model'=>$Model); $ResponseArray = array("response_type"=>"success", "response_content"=>$SysInfo, "response_code"=>200); return json_encode($ResponseArray); } function CleanPackages() { $process = new React\ChildProcess\Process('exec apt-get clean'); $process->on('exit', function($exitCode, $termSignal) { global $clients; if ($exitCode > 0) { $ResponseArray = array("response_type"=>"error", "response_msg"=>"Package cache cleanup failed.", "apt_exit_code"=>$exitCode, "error_code"=>"APT_500C"); } else { $ResponseArray = array("response_type"=>"success", "response_msg"=>"Package cache cleanup succeeded.", "apt_exit_code"=>$exitCode, "response_code"=>"APT_200C"); } foreach ($clients as $client) { $client->write(json_encode($ResponseArray)."\r\n"); } return json_encode($ResponseArray); }); $process->start($loop); } function InstallPackage($sql) { global $loop; $Package = $sql['PACKAGE']['packages']; //$Reinstall = $sql['REINSTALL']; if (is_array($Package)) { foreach ($Package as $value) { if(empty($PackageLine)) { $PackageLine = $value; } else { $PackageLine .= " ".$value; } } } else { $PackageLine = $Package; } $process = new React\ChildProcess\Process('exec apt-get -y install '.$PackageLine); $process->on('exit', function($exitCode, $termSignal) { global $clients; if($exitCode > 0) { $ResponseArray = array("response_type"=>"error", "response_msg"=>"Package installation failed.", "apt_exit_code"=>$exitCode, "error_code"=>"APT_500I"); } else { $ResponseArray = array("response_type"=>"success", "response_msg"=>"Package installation succeeded.", "apt_exit_code"=>$exitCode, "response_code"=>"APT_200I"); } foreach($clients as $client) { $client->write(json_encode($ResponseArray)."\r\n"); } return json_encode($ResponseArray); }); $process->start($loop); } function RemovePackage($sql) { global $loop; $Package = $sql['PACKAGE']['packages']; //$Reinstall = $sql['REINSTALL']; if(is_array($Package)) { foreach($Package as $value) { if(empty($PackageLine)) { $PackageLine = $value; } else { $PackageLine .= " ".$value; } } } else { $PackageLine = $Package; } $process = new React\ChildProcess\Process('exec apt-get -y remove '.$PackageLine); $process->on('exit', function($exitCode, $termSignal) { global $clients; if($exitCode > 0) { $ResponseArray = array("response_type"=>"error", "response_msg"=>"Package removal failed.", "apt_exit_code"=>$exitCode, "error_code"=>"APT_500R"); } else { $ResponseArray = array("response_type"=>"success", "response_msg"=>"Package removal succeeded.", "apt_exit_code"=>$exitCode, "response_code"=>"APT_200R"); } foreach($clients as $client) { $client->write(json_encode($ResponseArray)."\r\n"); } return json_encode($ResponseArray); }); $process->start($loop); } }