Mercurial > SimpleWebPresenter
annotate FileCacheSet.inc @ 103:23a59da90fc7
Make static function static.
| author | Tom Fredrik "BFG" Klaussen <bfg@blenning.no> |
|---|---|
| date | Mon, 07 Mar 2016 17:06:42 +0100 |
| parents | d98e315308cd |
| children | adf7b11921f4 |
| rev | line source |
|---|---|
|
69
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
1 <?php |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
2 $baseDir = dirname(__FILE__); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
3 |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
4 include_once 'Logger.inc'; |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
5 $cache = ScriptIncludeCache::instance(__FILE__); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
6 $cache->cache_time("${baseDir}/Logger.inc"); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
7 |
|
99
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
8 class Cache { |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
9 private $max_age=0; |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
10 function setMaxAge($seconds) |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
11 { |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
12 $this->max_age=$seconds; |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
13 } |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
14 |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
15 function cacheControl() { |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
16 return array("expires" => toGMTime(time()+$this->max_age), "cache-control" => "public, max-age=$this->max_age"); |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
17 } |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
18 |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
19 }; |
|
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
20 |
|
70
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
21 /** |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
22 * Caches a set of file with timestamps |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
23 */ |
|
99
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
90
diff
changeset
|
24 class FileCacheSet extends Cache { |
|
69
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
25 private $newest = 0; |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
26 private $files = array(); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
27 private $parentCaches = array(); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
28 |
|
70
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
29 /** |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
30 * Constructs a FileCacheSet object |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
31 * |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
32 * @param $parent optional linked parent cache to sync with |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
33 */ |
|
69
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
34 protected function __construct($parent = null) { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
35 if ($parent) { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
36 $this->addParent($parent); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
37 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
38 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
39 |
|
70
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
40 /** |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
41 * Links up a parent cache |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
42 * |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
43 * @param $parent cache we should sync with |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
44 */ |
|
69
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
45 protected function addParent($parent) |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
46 { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
47 array_push($this->parentCaches, $parent); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
48 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
49 |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
50 /** |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
51 * List a set of files which contributes to this pages cacheset. |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
52 * |
|
74
1d5166aba2c5
Documentation fixes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
70
diff
changeset
|
53 * @param $humanReadable If the timestamp should be human readable. |
|
69
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
54 * |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
55 * @return an associative array of file, and timestamp |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
56 */ |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
57 function cacheSet($humanReadable = False) |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
58 { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
59 $retVal = array(); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
60 foreach ($this->parentCaches as $parent) { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
61 $retVal = array_merge($retVal, $parent->cacheSet($humanReadable)); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
62 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
63 foreach($this->files as $file) { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
64 $mtime = filemtime($file); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
65 if ($humanReadable) |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
66 $mtime = gmdate('D, d M Y H:i:s', $mtime) . ' GMT'; |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
67 |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
68 $retVal[$file] = $mtime; |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
69 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
70 return $retVal; |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
71 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
72 |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
73 /** |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
74 * Include a file in the cacheset |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
75 * |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
76 * @param $path the path of the file |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
77 */ |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
78 function cache_time($path) |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
79 { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
80 if (!file_exists($path)) { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
81 Logger::warn("${path} does not exist"); |
|
90
aafc23919e79
Validating errorPage.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
74
diff
changeset
|
82 errorPage("Resource is not available", 404); |
|
69
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
83 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
84 |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
85 array_push($this->files, $path); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
86 $mtime = filemtime($path); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
87 if ($mtime > $this->newest) { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
88 $this->newest = $mtime; |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
89 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
90 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
91 |
|
70
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
92 /** |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
93 * Find the newest member of the combined cacheset |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
94 * |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
95 * @return timestamp of newest member |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
96 */ |
|
69
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
97 function getNewest() |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
98 { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
99 $newest = 0; |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
100 foreach ($this->parentCaches as $parent) { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
101 $newest = max($newest, $parent->getNewest()); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
102 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
103 $newest = max($newest, $this->newest); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
104 return $newest; |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
105 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
106 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
107 |
|
70
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
108 /** |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
109 * Singleton class, keeps track of all scriptfile includes |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
110 * |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
111 * This class is typically used as a parent class of another cache |
|
62b9d7a35658
Fix documentation regressions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
69
diff
changeset
|
112 */ |
|
69
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
113 class ScriptIncludeCache extends FileCacheSet |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
114 { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
115 private static $myInstance = 0; |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
116 |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
117 protected function __construct($filename = False) |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
118 { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
119 parent::__construct(); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
120 if ($filename) |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
121 $this->cache_time($filename); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
122 $this->cache_time(__FILE__); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
123 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
124 |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
125 /** |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
126 * Generates a singleton instance of this CacheTimeCheck |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
127 * |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
128 * @param $filename an optional file to include in the cacheset |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
129 * |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
130 * @return a CacheTimeCheck object |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
131 */ |
|
103
23a59da90fc7
Make static function static.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
99
diff
changeset
|
132 public static function instance($filename = False) |
|
69
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
133 { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
134 if (! self::$myInstance) |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
135 self::$myInstance = new self($filename); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
136 elseif ($filename) |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
137 self::$myInstance->cache_time($filename); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
138 return self::$myInstance; |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
139 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
140 |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
141 /** |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
142 * Convenience function to include a file, and add it to the cacheset. |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
143 * |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
144 * @param $path path of the file |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
145 * @param $basedir a directory to prepend to the path |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
146 */ |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
147 function includeOnce($path, $basedir = false) |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
148 { |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
149 if ($basedir) |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
150 $path = $basedir . "/" . $path; |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
151 $this->cache_time($path); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
152 include_once($path); |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
153 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
154 } |
|
dd4ddedca4c5
Add convenience header ScriptIncludeCache
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
155 ?> |
