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); } }