Login   Register  
PHP Classes
elePHPant
Icontem

File: process-css.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Camilo Sperberg  >  CSS Stacker and Compressor  >  process-css.php  >  Download  
File: process-css.php
Role: Example script
Content type: text/plain
Description: Usage examples
Class: CSS Stacker and Compressor
Compact several CSS files into a single file
Author: By
Last change: updated to v1.3
Date: 4 years ago
Size: 2,803 bytes
 

Contents

Class file image Download
<?php 
$q 
$_SERVER['REQUEST_TIME'] + microtime();
$proc TRUE;
// Include all involved files
include('config.php');
include(
'css.class.php');

// Creating object
$theCSS = new CSStacker();

// OPTIONAL: if you want to include a CSS reset, set this to true
// Otherwise, just comment it or delete it
$theCSS->resetCSS TRUE;

// Add CSS's to the stack like this: 
//$theCSS->add('xd.css');
$theCSS->add('css/lol.css');
//
// OR:
//
//$theCSS->add(array('narf.css','xd.css','css/rolfmao.css','css/lol.css'));
//
// OR: 
//$loadThis[] = 'narf.css';
//$loadThis[] = 'lol.css';
//$theCSS->add($loadThis);


//      Now let's print it, it accepts two parameters and three variables in the first parameter
//      Possible variables in first parameter: "inline", "file" or "filename", defaults to file
$theCSS->printme();
//   This will use the advanced built-in and this may output an 304 not modified header when
//   the client already haves our CSS or it could just print-out the CSS. 

//$theCSS->printme('inline');
//   This will print an inline CSS. You can use this method inside your index instead of having it 
//   in a separate file, making it easier for you to build a CSS stack. However, be aware that the
//   class will not be able to use compression or to use the 304 not modified header.

//$cssfile = $theCSS->printme('filename');
//if ($cssfile !== FALSE) echo $cssfile;
//   This will only create the CSS cache file. If succesfull, it will return the cache file location
//   If unsuccessfull, it will return a FALSE value.
//   As with the inline printing, you can use this method within your index instead of having it
//   in a separate file, making it easier for you to build a CSS stack. However, be aware that the 
//   class will not be able to use compression or to use the 304 not modified header. 

//      Now let's take a look at the second parameter. 
//      The only possible variable in the second parameter is "force". Defaults to FALSE.
//      What this second parameter does, is to force the creation of a cache file, even if no 
//      modifications have been done to the separate CSS files.
//$theCSS->printme(any_of_the_above,'force');
//   Please note that "any_of_the_above" must be replaced with "file", "filename" or "inline".

// OPTIONAL: in case of any error, let's log to a file: 
if(isset($CSSErrors)) {
  
$fp fopen(CACHE_LOCATION.'css-problems.log','a');
  foreach(
$CSSErrors AS $e
    
fwrite($fp,$e['type'].' -- '.$e['errm']."\n");
  
fclose($fp);
  unset(
$CSSErrors);
}
unset(
$theCSS);

// OPTIONAL: let's log the time it took to create the object and do all the work.
file_put_contents(CACHE_LOCATION.'css-problems.log','Generated/processed all the CSS\'s in '.number_format((time()+microtime()) - $q,5,',','.').' seconds'."\n",FILE_APPEND);
?>