1: | <?php |
2: | require_once 'cacheresource.pdo.php'; |
3: | |
4: | /** |
5: | * PDO Cache Handler with GZIP support |
6: | * Example usage : |
7: | * $cnx = new PDO("mysql:host=localhost;dbname=mydb", "username", "password"); |
8: | * $smarty->setCachingType('pdo_gzip'); |
9: | * $smarty->loadPlugin('Smarty_CacheResource_Pdo_Gzip'); |
10: | * $smarty->registerCacheResource('pdo_gzip', new Smarty_CacheResource_Pdo_Gzip($cnx, 'smarty_cache')); |
11: | * |
12: | * @require Smarty_CacheResource_Pdo class |
13: | * @author Beno!t POLASZEK - 2014 |
14: | */ |
15: | class Smarty_CacheResource_Pdo_Gzip extends Smarty_CacheResource_Pdo |
16: | { |
17: | /** |
18: | * Encodes the content before saving to database |
19: | * |
20: | * @param string $content |
21: | * |
22: | * @return string $content |
23: | * @access protected |
24: | */ |
25: | protected function inputContent($content) |
26: | { |
27: | return gzdeflate($content); |
28: | } |
29: | |
30: | /** |
31: | * Decodes the content before saving to database |
32: | * |
33: | * @param string $content |
34: | * |
35: | * @return string $content |
36: | * @access protected |
37: | */ |
38: | protected function outputContent($content) |
39: | { |
40: | return gzinflate($content); |
41: | } |
42: | } |
43: |