source: branches/2.2/phpgwapi/inc/class.css.inc.php @ 3052

Revision 3052, 2.1 KB checked in by amuller, 14 years ago (diff)

Ticket #1044 - Aplica o compactador do css no branches 2.2

  • Property svn:executable set to *
Line 
1<?php
2  /**************************************************************************\
3  * Expresso API - CSS                                                       *
4  * ------------------------------------------------------------------------ *
5  *  This program is Free Software; you can redistribute it and/or modify it *
6  *  under the terms of the GNU General Public License as published by the   *
7  *  Free Software Foundation; either version 2 of the License, or (at your  *
8  *  option) any later version.                                              *
9  \**************************************************************************/
10
11       /**
12       * Expresso CSS support class
13       *
14       * Only instanstiate this class using:
15       * <code>
16       *  if(!@is_object($GLOBALS['phpgw']->css))
17       *  {
18       *    $GLOBALS['phpgw']->css = CreateObject('phpgwapi.css');
19       *  }
20       * </code>
21       */
22        class css
23        {
24                private $files = array( );
25               
26                function css()
27                {
28
29                }
30               
31                function create_pack($cssFile){
32                        require_once('csstidy/class.csstidy.php');
33                        $csstidy = new csstidy();
34                        $csstidy->load_template('highest_compression');
35                        $cssFilePath=PHPGW_SERVER_ROOT.SEP.$cssFile.'pack.css';
36                        $fp = fopen($cssFilePath, 'w');
37                        if ($csstidy->parse(file_get_contents(PHPGW_SERVER_ROOT.SEP.$cssFile)))
38                                fwrite($fp, $csstidy->print->plain());
39                }
40
41                function get_css()
42                {
43                        $path = ( ! empty( $GLOBALS[ 'phpgw_info' ][ 'server' ][ 'webserver_url' ] ) ) ?
44                                $GLOBALS[ 'phpgw_info' ][ 'server' ][ 'webserver_url' ] : '/';
45
46                        if ( strpos( $path, '/' ) != ( strlen( $path ) - 1 ) )
47                                $path .= '/';
48
49                        foreach ( $this -> files as $cssFile )
50                        {
51                                if ( $GLOBALS[ 'phpgw_info' ][ 'server' ][ 'csspacker' ] == "True" )
52                                {
53                                        if ( ! file_exists( PHPGW_SERVER_ROOT . SEP . $cssFile . 'pack.css' ) )
54                                                $this -> create_pack( $cssFile );
55
56                                        $cssFile .= 'pack.css';
57                                }
58
59                                $out .= '<link type="text/css" rel="StyleSheet" href="' . $path . $cssFile . '" />';
60                        }
61
62                        return $out;
63                }
64
65                function validate_file($file, $stack = false )
66                {
67                        if (file_exists(PHPGW_SERVER_ROOT . SEP . $file))
68                                $this->files[] = $file;
69                }
70        }
71?>
Note: See TracBrowser for help on using the repository browser.