Source for file class.CACHE.php

Documentation is available at class.CACHE.php

  1. <?php
  2.  
  3. if (version_compare(PHP_VERSION'5')) {
  4.     die('This file was generated for PHP 5');
  5. }
  6.  
  7. /**
  8.  * Ermöglicht die Zwischenspeicherung für bereits angeforderte Seiten
  9.  *
  10.  * Webinhalte werden als Seiten abgespeichert um den Zugriff
  11.  * zu beschleunigen
  12.  *
  13.  * @author Kay Koch
  14.  * @since 1.12.04
  15.  * @package src
  16.  * @subpackage tools
  17.  * @version 1.1
  18.  */
  19. class  src_tools_CACHE {
  20.     // --- ATTRIBUTES ---
  21.         /**
  22.      * Dateiname unter dem gespeichert wird
  23.      *
  24.      * @access private
  25.      * @var array 
  26.      */
  27.     private static $filename"";
  28.  
  29.     /**
  30.      * Aktuelle Seite wird nicht gecached
  31.      *
  32.      * @access private
  33.      * @var array 
  34.      */
  35.     private static $noCachefalse;
  36.  
  37.     /**
  38.      * Ordnername in dem gespeichert wird
  39.      *
  40.      * @access private
  41.      * @var array 
  42.      */
  43.     private static $path"cache";
  44.  
  45.     // --- OPERATIONS ---
  46.  
  47.     
  48.     /**
  49.      * Konstruktor
  50.      *
  51.      * erstellt den Speichernamen
  52.      * Der Name besteht aus dem Link der Seite an dem der Inhalt
  53.      * des Feldes $data angehängt wird.
  54.      * Das Ganze wird mit md5 verschlüsselt
  55.      *
  56.      * @access public
  57.      * @author Kay Koch, <kay.koch@gmx.de>
  58.      * @param string $url link der Seite
  59.      * @param string $data Übergabeparameter
  60.      *  @return void 
  61.      */
  62.     public function __construct($url$data{
  63.  
  64.     }
  65.     /**
  66.      * speichert den übergebenen Inhalt unter dem Filenamen
  67.      * (Nur wenn der Flag noCache nicht gesetzt ist)
  68.      *
  69.      * @access public
  70.      * @author Kay Koch, <kay.koch@gmx.de>
  71.      * @param string $url link der Seite
  72.      * @param string $data Übergabeparameter
  73.      *  @return void 
  74.      */
  75.     public static function checkCache($url$data{
  76.         if (!self :: $noCache{
  77.             if (!is_array($data))
  78.                 $data['see_id']0;
  79.             self :: $filenameself :: $path "/" $data['see_id'"_" md5($url implode("-"$data));
  80.             if (file_exists(self :: $filename))
  81.                 die(file_get_contents(self :: $filename));
  82.         }
  83.     }
  84.  
  85.     /**
  86.      * speichert den übergebenen Inhalt unter dem Filenamen
  87.      * (Nur wenn der Flag noCache nicht gesetzt ist)
  88.      *
  89.      * @access public
  90.      * @author Kay Koch, <kay.koch@gmx.de>
  91.      * @param string $url link der Seite
  92.      * @param string $data Übergabeparameter
  93.      *  @return void 
  94.      */
  95.     public static function saveFile($content{
  96.         if (!(self :: $noCacheAND !empty (self :: $filename))
  97.             src_tools_MULTI :: saveFile($contentself :: $filename);
  98.     }
  99.  
  100.     /**
  101.      * setzt den noCache-Flag
  102.      * In dem Fall wird nicht gespeichert
  103.      *
  104.      * @access public
  105.      * @author Kay Koch, <kay.koch@gmx.de>
  106.      *  @return void 
  107.      */
  108.     public static function setNoCache({
  109.         self :: $noCachetrue;
  110.     }
  111.  
  112.     /**
  113.      * löscht alle Seiten mit der angegebenen see_id
  114.      * wird keine ID angegeben, werden alle Seiten gelöscht
  115.      *
  116.      * @access public
  117.      * @author Kay Koch, <kay.koch@gmx.de>
  118.      * @param string $see_id id des Sees deren Seiten gelöscht werden soll
  119.      * @return void 
  120.      */
  121.     public static function clearCache($see_id"-1"{
  122.         $diropendir(self :: $path);
  123.         while ($entryreaddir($dir)) {
  124.             if (substr($entry01== $see_id OR $see_id"-1")
  125.                 if (is_file(self :: $path "/" $entry))
  126.                     unlink(self :: $path .
  127.                     "/" $entry);
  128.         }
  129.  
  130.     }
  131.  
  132. /* end of class src_tools_CACHE */
  133. ?>

Documentation generated on Sat, 24 Mar 2007 09:59:01 +0100 by phpDocumentor 1.3.1