PHPIDS
Current file: /home/lstrojny/Projekte/php-ids/trunk/lib/IDS/Caching/Factory.php
Legend: executed not executed dead code

  Coverage
  Classes Methods Lines
Total
100.00 %100.00%
100.00% 1 / 1
100.00 %100.00%
100.00% 1 / 1
100.00 %100.00%
100.00% 17 / 17
 
IDS_Caching
100.00 %100.00%
100.00% 1 / 1
100.00 %100.00%
100.00% 1 / 1
100.00 %100.00%
100.00% 17 / 17
 public static function factory($init, $type)
100.00 %100.00%
100.00% 1 / 1
100.00 %100.00%
100.00% 17 / 17


       1                 : <?php                                                                         
       2                 :                                                                               
       3                 : /**                                                                           
       4                 :  * PHPIDS                                                                     
       5                 :  *                                                                            
       6                 :  * Requirements: PHP5, SimpleXML                                              
       7                 :  *                                                                            
       8                 :  * Copyright (c) 2008 PHPIDS group (http://php-ids.org)                       
       9                 :  *                                                                            
      10                 :  * PHPIDS is free software; you can redistribute it and/or modify             
      11                 :  * it under the terms of the GNU Lesser General Public License as published by
      12                 :  * the Free Software Foundation, version 3 of the License, or                 
      13                 :  * (at your option) any later version.                                        
      14                 :  *                                                                            
      15                 :  * PHPIDS is distributed in the hope that it will be useful,                  
      16                 :  * but WITHOUT ANY WARRANTY; without even the implied warranty of             
      17                 :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the               
      18                 :  * GNU Lesser General Public License for more details.                        
      19                 :  *                                                                            
      20                 :  * You should have received a copy of the GNU Lesser General Public License   
      21                 :  * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.             
      22                 :  *                                                                            
      23                 :  * PHP version 5.1.6+                                                         
      24                 :  *                                                                            
      25                 :  * @category Security                                                         
      26                 :  * @package  PHPIDS                                                           
      27                 :  * @author   Mario Heiderich <mario.heiderich@gmail.com>                      
      28                 :  * @author   Christian Matthies <ch0012@gmail.com>                            
      29                 :  * @author   Lars Strojny <lars@strojny.net>                                  
      30                 :  * @license  http://www.gnu.org/licenses/lgpl.html LGPL                       
      31                 :  * @link     http://php-ids.org/                                              
      32                 :  */                                                                           
      33                 :                                                                               
      34                 : /**                                                                           
      35                 :  * Caching factory                                                            
      36                 :  *                                                                            
      37                 :  * This class is used as a factory to load the correct concrete caching       
      38                 :  * implementation.                                                            
      39                 :  *                                                                            
      40                 :  * @category  Security                                                        
      41                 :  * @package   PHPIDS                                                          
      42                 :  * @author    Christian Matthies <ch0012@gmail.com>                           
      43                 :  * @author    Mario Heiderich <mario.heiderich@gmail.com>                     
      44                 :  * @author    Lars Strojny <lars@strojny.net>                                 
      45                 :  * @copyright 2007 The PHPIDS Group                                           
      46                 :  * @license   http://www.gnu.org/licenses/lgpl.html LGPL                      
      47                 :  * @version   Release: $Id:Factory.php 517 2007-09-15 15:04:13Z mario $       
      48                 :  * @link      http://php-ids.org/                                             
      49                 :  * @since     Version 0.4                                                     
      50                 :  */                                                                           
      51                 : class IDS_Caching                                                             
      52                 : {                                                                             
      53                 :                                                                               
      54                 :     /**                                                                       
      55                 :      * Factory method                                                         
      56                 :      *                                                                        
      57                 :      * @param array  $init the IDS_Init object                                
      58                 :      * @param string $type the caching type                                   
      59                 :      *                                                                        
      60                 :      * @return object the caching facility                                    
      61                 :      */                                                                       
      62                 :     public static function factory($init, $type)                              
      63                 :     {                                                                         
      64                 :                                                                               
      65              50 :         $object  = false;                                                     
      66              50 :         $wrapper = preg_replace(                                              
      67              50 :             '/\W+/m',                                                         
      68              50 :             null,                                                             
      69              50 :             ucfirst($init->config['Caching']['caching'])                      
      70              50 :         );                                                                    
      71              50 :         $class   = 'IDS_Caching_' . $wrapper;                                 
      72              50 :         $path    = dirname(__FILE__) . DIRECTORY_SEPARATOR .                  
      73              50 :             $wrapper . '.php';                                                
      74                 :                                                                               
      75              50 :         if (file_exists($path)) {                                             
      76              49 :             include_once $path;                                               
      77                 :                                                                               
      78              49 :             if (class_exists($class)) {                                       
      79              49 :                 $object = call_user_func(array($class, 'getInstance'),        
      80              49 :                     $type, $init);                                            
      81              49 :             }                                                                 
      82              49 :         }                                                                     
      83                 :                                                                               
      84              50 :         return $object;                                                       
      85                 :     }                                                                         
      86                 : }                                                                             
      87                 :                                                                               
      88                 : /*                                                                            
      89                 :  * Local variables:                                                           
      90                 :  * tab-width: 4                                                               
      91                 :  * c-basic-offset: 4                                                          
      92                 :  * End:                                                                       

Generated by PHPUnit 3.3.1 and Xdebug 2.1.0-dev at Mon Dec 22 13:57:42 CET 2008.