public function submit() { if ($this->validateAction() && $this->canAccess()) { $a = $this->area; $oldStyle = $this->page->getAreaCustomStyle($a); if (is_object($oldStyle)) { $oldStyleSet = $oldStyle->getStyleSet(); } $nvc = $this->page->getVersionToModify(); $set = StyleSet::populateFromRequest($this->request); if (is_object($set)) { $set->save(); $nvc->setCustomStyleSet($a, $set); } else { if ($oldStyleSet) { $nvc->resetAreaCustomStyle($this->area); } } $pr = new EditResponse(); $pr->setPage($this->page); $pr->setAdditionalDataAttribute('aID', $this->area->getAreaID()); $pr->setAdditionalDataAttribute('arHandle', $this->area->getAreaHandle()); if (is_object($oldStyleSet)) { $pr->setAdditionalDataAttribute('oldIssID', $oldStyleSet->getID()); } if (is_object($set)) { $pr->setAdditionalDataAttribute('issID', $set->getID()); $style = new CustomStyle($set, $this->area, $this->page->getCollectionThemeObject()); $css = $style->getCSS(); if ($css !== '') { $pr->setAdditionalDataAttribute('css', $style->getStyleWrapper($style->getCSS())); } $pr->setAdditionalDataAttribute('containerClass', $style->getContainerClass()); } $pr->setMessage(t('Design updated.')); $pr->outputJSON(); } }