X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FSystem.php;h=de0c80b3de7f96530bdbf59ae34214f2305745db;hb=6c767743d1bfdfe44c0df37df10b50ba68cce200;hp=321fb3d6fb7de2de3f26d3580adfffc52f8515ec;hpb=38f70cc55ad1d99b011fa92b42361c39ecceb2e3;p=friendica.git diff --git a/src/Core/System.php b/src/Core/System.php index 321fb3d6fb..de0c80b3de 100644 --- a/src/Core/System.php +++ b/src/Core/System.php @@ -1,6 +1,6 @@ logger = $logger; - $this->mode = $mode; $this->config = $config; $this->basePath = $basepath; } @@ -112,6 +105,12 @@ class System */ public function isMinMemoryReached(): bool { + // Deactivated, needs more investigating if this check really makes sense + return false; + + /* + * Commented out to suppress static analyzer issues + * $min_memory = $this->config->get('system', 'min_memory', 0); if ($min_memory == 0) { return false; @@ -147,6 +146,7 @@ class System } return $reached; + */ } /** @@ -156,24 +156,15 @@ class System */ public function isMaxLoadReached(): bool { - if ($this->mode->isBackend()) { - $process = 'backend'; - $maxsysload = intval($this->config->get('system', 'maxloadavg')); - if ($maxsysload < 1) { - $maxsysload = 50; - } - } else { - $process = 'frontend'; - $maxsysload = intval($this->config->get('system', 'maxloadavg_frontend')); - if ($maxsysload < 1) { - $maxsysload = 50; - } + $maxsysload = intval($this->config->get('system', 'maxloadavg')); + if ($maxsysload < 1) { + $maxsysload = 50; } $load = System::currentLoad(); if ($load) { if (intval($load) > $maxsysload) { - $this->logger->warning('system load for process too high.', ['load' => $load, 'process' => $process, 'maxsysload' => $maxsysload]); + $this->logger->warning('system load for process too high.', ['load' => $load, 'process' => 'backend', 'maxsysload' => $maxsysload]); return true; } } @@ -216,10 +207,12 @@ class System } else { $resource = proc_open($cmdline . ' &', [], $foo, $this->basePath); } + if (!is_resource($resource)) { $this->logger->warning('We got no resource for command.', ['command' => $cmdline]); return; } + proc_close($resource); $this->logger->info('Executed "proc_open"', ['command' => $cmdline, 'callstack' => System::callstack(10)]); @@ -298,11 +291,9 @@ class System Logger::notice('xml_status returning non_zero: ' . $st . " message=" . $message); } - header("Content-type: text/xml"); - - $xmldata = ["result" => $result]; - - echo XML::fromArray($xmldata, $xml); + DI::apiResponse()->setType(Response::TYPE_XML); + DI::apiResponse()->addContent(XML::fromArray(["result" => $result], $xml)); + DI::page()->exit(DI::apiResponse()->generate()); exit(); } @@ -318,11 +309,11 @@ class System public static function httpExit($val, $message = '', $content = '') { if ($val >= 400) { - Logger::debug('Exit with error', ['code' => $val, 'message' => $message, 'callstack' => System::callstack(20), 'method' => $_SERVER['REQUEST_METHOD'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); + Logger::debug('Exit with error', ['code' => $val, 'message' => $message, 'callstack' => System::callstack(20), 'method' => DI::args()->getMethod(), 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); } - header($_SERVER["SERVER_PROTOCOL"] . ' ' . $val . ' ' . $message); - - echo $content; + DI::apiResponse()->setStatus($val, $message); + DI::apiResponse()->addContent($content); + DI::page()->exit(DI::apiResponse()->generate()); exit(); } @@ -330,9 +321,9 @@ class System public static function jsonError($httpCode, $data, $content_type = 'application/json') { if ($httpCode >= 400) { - Logger::debug('Exit with error', ['code' => $httpCode, 'content_type' => $content_type, 'callstack' => System::callstack(20), 'method' => $_SERVER['REQUEST_METHOD'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); + Logger::debug('Exit with error', ['code' => $httpCode, 'content_type' => $content_type, 'callstack' => System::callstack(20), 'method' => DI::args()->getMethod(), 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']); } - header($_SERVER["SERVER_PROTOCOL"] . ' ' . $httpCode); + DI::apiResponse()->setStatus($httpCode); self::jsonExit($data, $content_type); } @@ -348,8 +339,9 @@ class System * @param integer $options JSON options */ public static function jsonExit($x, $content_type = 'application/json', int $options = 0) { - header("Content-type: $content_type"); - echo json_encode($x, $options); + DI::apiResponse()->setType(Response::TYPE_JSON, $content_type); + DI::apiResponse()->addContent(json_encode($x, $options)); + DI::page()->exit(DI::apiResponse()->generate()); exit(); } @@ -505,7 +497,7 @@ class System */ public static function htmlUpdateExit($o) { - header("Content-type: text/html"); + DI::apiResponse()->setType(Response::TYPE_HTML); echo "
\r\n"; // We can remove this hack once Internet Explorer recognises HTML5 natively echo "