summaryrefslogtreecommitdiff
path: root/kohana/libraries/drivers/Cache/Xcache.php
diff options
context:
space:
mode:
Diffstat (limited to 'kohana/libraries/drivers/Cache/Xcache.php')
-rw-r--r--kohana/libraries/drivers/Cache/Xcache.php119
1 files changed, 0 insertions, 119 deletions
diff --git a/kohana/libraries/drivers/Cache/Xcache.php b/kohana/libraries/drivers/Cache/Xcache.php
deleted file mode 100644
index 6254bbb6..00000000
--- a/kohana/libraries/drivers/Cache/Xcache.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php defined('SYSPATH') OR die('No direct access allowed.');
-/**
- * Xcache Cache driver.
- *
- * $Id: Xcache.php 4046 2009-03-05 19:23:29Z Shadowhand $
- *
- * @package Cache
- * @author Kohana Team
- * @copyright (c) 2007-2008 Kohana Team
- * @license http://kohanaphp.com/license.html
- */
-class Cache_Xcache_Driver implements Cache_Driver {
-
- public function __construct()
- {
- if ( ! extension_loaded('xcache'))
- throw new Kohana_Exception('cache.extension_not_loaded', 'xcache');
- }
-
- public function get($id)
- {
- if (xcache_isset($id))
- return xcache_get($id);
-
- return NULL;
- }
-
- public function set($id, $data, array $tags = NULL, $lifetime)
- {
- if ( ! empty($tags))
- {
- Kohana::log('error', 'Cache: tags are unsupported by the Xcache driver');
- }
-
- return xcache_set($id, $data, $lifetime);
- }
-
- public function find($tag)
- {
- Kohana::log('error', 'Cache: tags are unsupported by the Xcache driver');
- return FALSE;
- }
-
- public function delete($id, $tag = FALSE)
- {
- if ($tag !== FALSE)
- {
- Kohana::log('error', 'Cache: tags are unsupported by the Xcache driver');
- return TRUE;
- }
- elseif ($id !== TRUE)
- {
- if (xcache_isset($id))
- return xcache_unset($id);
-
- return FALSE;
- }
- else
- {
- // Do the login
- $this->auth();
- $result = TRUE;
- for ($i = 0, $max = xcache_count(XC_TYPE_VAR); $i < $max; $i++)
- {
- if (xcache_clear_cache(XC_TYPE_VAR, $i) !== NULL)
- {
- $result = FALSE;
- break;
- }
- }
-
- // Undo the login
- $this->auth(TRUE);
- return $result;
- }
-
- return TRUE;
- }
-
- public function delete_expired()
- {
- return TRUE;
- }
-
- private function auth($reverse = FALSE)
- {
- static $backup = array();
-
- $keys = array('PHP_AUTH_USER', 'PHP_AUTH_PW');
-
- foreach ($keys as $key)
- {
- if ($reverse)
- {
- if (isset($backup[$key]))
- {
- $_SERVER[$key] = $backup[$key];
- unset($backup[$key]);
- }
- else
- {
- unset($_SERVER[$key]);
- }
- }
- else
- {
- $value = getenv($key);
-
- if ( ! empty($value))
- {
- $backup[$key] = $value;
- }
-
- $_SERVER[$key] = Kohana::config('cache_xcache.'.$key);
- }
- }
- }
-
-} // End Cache Xcache Driver