[ Index ]

PHP Cross Reference of Limb3

title

Body

[close]

/web_cache/src/ -> lmbFullPageCacheRequestRule.class.php (source)

   1  <?php
   2  /*
   3   * Limb PHP Framework
   4   *
   5   * @link http://limb-project.com 
   6   * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
   7   * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
   8   */
   9  
  10  /**

  11   * class lmbFullPageCacheRequestRule.

  12   *

  13   * @package web_cache

  14   * @version $Id: lmbFullPageCacheRequestRule.class.php 5945 2007-06-06 08:31:43Z pachanga $

  15   */
  16  class lmbFullPageCacheRequestRule
  17  {
  18    protected $request;
  19    protected $get;
  20    protected $post;
  21  
  22    function __construct($request = null, $get = null, $post = null)
  23    {
  24      $this->request = $request;
  25      $this->get = $get;
  26      $this->post = $post;
  27    }
  28  
  29    function isSatisfiedBy($request)
  30    {
  31      $http_request = $request->getHttpRequest();
  32  
  33      if(!$this->_matches($this->request, $http_request->getRequest()))
  34        return false;
  35  
  36      if(!$this->_matches($this->get, $http_request->getGet()))
  37        return false;
  38  
  39      if(!$this->_matches($this->post, $http_request->getPost()))
  40        return false;
  41  
  42      return true;
  43    }
  44  
  45    function _matches($expected, $variable)
  46    {
  47      if(is_array($expected))
  48      {
  49        foreach($expected as $key => $value)
  50        {
  51          if(!isset($variable[$key]) || ($value != '*' && $value != $variable[$key]))
  52            return false;
  53        }
  54      }
  55      elseif($expected == '!' && !empty($variable))
  56        return false;
  57      elseif($expected == '*' && empty($variable))
  58        return false;
  59  
  60      return true;
  61    }
  62  }
  63  
  64  ?>


Generated: Wed Oct 15 04:31:08 2008 Cross-referenced by PHPXref 0.7