示例#1
0
 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();
     }
 }
示例#2
0
 /**
  * Displays only those pages that have style customizations
  */
 public function filterByPagesWithCustomStyles()
 {
     return parent::filterByPagesWithCustomStyles();
 }