Exemplo n.º 1
0
 function testPatching()
 {
     $file = 'stylesheet/backend/stat.css';
     $path = ClassLoader::getRealPath('public.') . $file;
     $css = new CssFile($file);
     $css->clearPatchRules();
     $css->deleteSelector('#stat table');
     $css->save();
     $this->assertTrue(strpos(file_get_contents($css->getPatchedFilePath()), '#stat table') == 0);
     $css->deleteProperty('#stat .label', 'font-weight');
     $css->save();
     $this->assertTrue(strpos(file_get_contents($css->getPatchedFilePath()), 'font-weight') == 0);
     $css->clearPatchRules();
 }
Exemplo n.º 2
0
 public function saveCss()
 {
     $params = json_decode($this->request->get('result'), true);
     $theme = $params['theme'];
     if (!$theme) {
         $theme = 'barebone';
     }
     // save custom CSS
     $css = new CssFile('upload/css/' . $theme . '.css');
     $css->setSource($params['css']);
     $css->save();
     // deleted rules
     foreach ($params['deletedRules'] as $file => $selectors) {
         $css = CssFile::getInstanceFromUrl($file, $theme);
         foreach ($selectors as $selector) {
             $css->deleteSelector($selector);
         }
         $css->save();
     }
     // deleted properties
     foreach ($params['deletedProperties'] as $file => $selectors) {
         $css = CssFile::getInstanceFromUrl($file, $theme);
         foreach ($selectors as $selector => $properties) {
             foreach ($properties as $property => $value) {
                 $css->deleteProperty($selector, $property);
             }
         }
         $css->save();
     }
 }