/** * Handles an incomuing request and saves the data if necessary. */ private function processRequest() { if ($this->httpRequest->isPost() && $this->httpRequest->isAjax() && $this->httpRequest->getHeader($this->xhrHeader)) { $data = json_decode(file_get_contents('php://input')); if ($data) { if ($this->sessionStorage) { $stack = isset($this->sessionStorage['stack']) ? $this->sessionStorage['stack'] : array(); } $this->translator->lang = $data->{$this->languageKey}; $file = $data->{$this->fileKey}; unset($data->{$this->languageKey}, $data->{$this->fileKey}); foreach ($data as $string => $value) { $this->translator->setTranslation($string, $value, $file); if ($this->sessionStorage && isset($stack[$string])) { unset($stack[$string]); } } $this->translator->save($file); if ($this->sessionStorage) { $this->sessionStorage['stack'] = $stack; } } exit; } }