public function updateAction() { $id = Request::postParam('pageId'); $jsonData = Request::postParam('jsonData'); $preview = $this->sanitizeBoolean(Request::postParam('preview')); $preview_language_id = Request::postParam('previewLanguageId'); // �berpr�fen, ob die Lebenswichtigen Parameter gesetzt sind if ($id === null || $jsonData === null || $preview === null || $preview_language_id === null) { $this->error(self::RESULT_ERROR_BAD_REQUEST); return; } // �berpr�fen, ob die Seite �berhaupt (noch) existiert $properties = $this->pages->getProperties($id); if ($properties === false) { $this->error(self::RESULT_ERROR_DOES_NOT_EXIST); return; } // Nutzerrechte �berpr�fen if (!$this->helpers->canAccessPage($id, Acl::ACTION_EDIT)) { $this->error(self::RESULT_ERROR_NOT_AUHTORIZED); return; } // Daten der gew�nschten Seite speichern if ($this->pages->setData($id, $jsonData) === false) { $this->error(); return; } // �nderungs-Datum setzen $properties = array('last-change-date' => time(), 'last-change-user-id' => Auth::getUserId(), 'last-change-user-name' => Auth::getScreenName()); $this->pages->setProperties($id, $properties); $properties = $this->pages->getProperties($id); // Wenn das die Seite mit den globalen Elementen ist, // muss sie sofort ver�ffentlich werden und der Cache muss geleert werden, // da die �nderungen potenziell die Ausgabe aller Seiten betreffen k�nnte if ($properties['template-id'] == Pages::GLOBAL_ELEMENTS) { $this->pages->publish($id); PageCache::invalidateAll(); } // R�ckgabe $res = array('preview' => $preview); // Wenn Vorschau-Modus, dann Frontend-URL zur Vorschau-Version der gespeicherten Seite zur�ckgeben if ($preview) { $res['previewUrl'] = $this->pages->getPageUrl($id, $preview_language_id, $properties) . '?pixelmanager-preview=true'; } // Yo. $this->success($res); }
public function clearcacheAction() { PageCache::invalidateAll(); $this->success(); }