Admin_PageController::clearEditableDataAction PHP Метод

clearEditableDataAction() публичный Метод

    public function clearEditableDataAction()
    {
        $personaId = $this->getParam("persona");
        $docId = $this->getParam("id");
        $doc = Document::getById($docId);
        foreach ($doc->getElements() as $element) {
            if ($personaId && $doc instanceof Document\Page) {
                if (preg_match("/^" . preg_quote($doc->getPersonaElementPrefix($personaId), "/") . "/", $element->getName())) {
                    $doc->removeElement($element->getName());
                }
            } else {
                // remove all but persona data
                if (!preg_match("/^persona_\\-/", $element->getName())) {
                    $doc->removeElement($element->getName());
                }
            }
        }
        $this->saveToSession($doc, true);
        $this->_helper->json(["success" => true]);
    }