public function apply_to_site($pThemeID) { $pk = PermissionKey::getByHandle('customize_themes'); if ($this->validateAction() && $pk->can()) { $vl = $this->getValueListFromRequest($pThemeID); $pt = PageTheme::getByID($pThemeID); $vl->save(); $sccRecord = false; if ($this->request->request->has('sccRecordID')) { $sccRecord = \Concrete\Core\StyleCustomizer\CustomCssRecord::getByID($this->request->request->get('sccRecordID')); } $preset = false; if ($this->request->request->has('handle')) { $preset = $pt->getThemeCustomizablePreset($this->request->request->get('handle')); } // reset all custom styles on particular pages $pl = new PageList(); $pl->filterByPagesWithCustomStyles(); $results = $pl->getResults(); foreach ($results as $csc) { $cscv = $csc->getVersionToModify(); $cscv->resetCustomThemeStyles(); $vo = $csc->getVersionObject(); if ($vo->isApproved()) { $vo = $cscv->getVersionObject(); $vo->approve(); } } // set the global style object. $pt->setCustomStyleObject($vl, $preset, $sccRecord); $r = new PageEditResponse(); $r->setPage($this->page); $r->setRedirectURL(\URL::to($this->page)); $r->outputJSON(); } }
/** * Displays only those pages that have style customizations */ public function filterByPagesWithCustomStyles() { return parent::filterByPagesWithCustomStyles(); }