source: branches/comu-ver2/data/module/adodb/session/adodb-compress-gzip.php @ 18701

Revision 18701, 1.5 KB checked in by nanasess, 14 years ago (diff)

Copyright の更新(#601)

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Id Revision Date
  • Property svn:mime-type set to text/x-httpd-php
Line 
1<?php
2
3
4/*
5v4.992 10 Nov 2009  (c) 2000-2010 John Lim (jlim#natsoft.com). All rights reserved.
6         Contributed by Ross Smith (adodb@netebb.com).
7  Released under both BSD license and Lesser GPL library license.
8  Whenever there is any discrepancy between the two licenses,
9  the BSD license will take precedence.
10      Set tabs to 4 for best viewing.
11
12*/
13
14if (!function_exists('gzcompress')) {
15    trigger_error('gzip functions are not available', E_USER_ERROR);
16    return 0;
17}
18
19/*
20*/
21class ADODB_Compress_Gzip {
22    /**
23     */
24    var $_level = null;
25
26    /**
27     */
28    var $_min_length = 1;
29
30    /**
31     */
32    function getLevel() {
33        return $this->_level;
34    }
35
36    /**
37     */
38    function setLevel($level) {
39        assert('$level >= 0');
40        assert('$level <= 9');
41        $this->_level = (int) $level;
42    }
43
44    /**
45     */
46    function getMinLength() {
47        return $this->_min_length;
48    }
49
50    /**
51     */
52    function setMinLength($min_length) {
53        assert('$min_length >= 0');
54        $this->_min_length = (int) $min_length;
55    }
56
57    /**
58     */
59    function ADODB_Compress_Gzip($level = null, $min_length = null) {
60        if (!is_null($level)) {
61            $this->setLevel($level);
62        }
63
64        if (!is_null($min_length)) {
65            $this->setMinLength($min_length);
66        }
67    }
68
69    /**
70     */
71    function write($data, $key) {
72        if (strlen($data) < $this->_min_length) {
73            return $data;
74        }
75
76        if (!is_null($this->_level)) {
77            return gzcompress($data, $this->_level);
78        } else {
79            return gzcompress($data);
80        }
81    }
82
83    /**
84     */
85    function read($data, $key) {
86        return $data ? gzuncompress($data) : $data;
87    }
88
89}
90
91return 1;
92
93?>
Note: See TracBrowser for help on using the repository browser.