egroupware/phpgwapi
Ralf Becker fd9856ebf5 Class to manage caching in eGroupware:
It allows to cache on 4 levels:
a) tree:     for all instances/domains runining on a certain source path
b) instance: for all sessions on a given instance
c) session:  for all requests of a session, same as egw_session::appsession()
d) request:  just for this request (same as using a static variable)

There's a get, a set and a unset method for each level: eg. getTree()
or setInstance(), as well as a variant allowing to specify the level as first
parameter: eg. unsetCache()

getXXX($app,$location,$callback=null,array $callback_params,$expiration=0)
has three optional parameters allowing to specify:
3. a callback if requested data is not yes stored. In that case the
   callback is called and it's value is stored in the cache AND retured
4. parameters to pass to the callback as array, see call_user_func_array
5. an expiration time in seconds to specify how long data should be cached,
   default 0 means infinit (this time is not garantied and not
   supported for all levels!)

Data is stored under an application name and a location, like
egw_session::appsession().
In fact data stored at cache level egw_cache::SESSION, is stored in
the same way as egw_session::appsession() so both methods can be used
with each other.

The $app parameter should be either the app or the class name, which
both are unique.

The tree and instance wide cache uses a certain provider class, to
store the data eg. in memcached or if there's nothing else configured
in the filesystem (eGW's temp_dir).
2009-04-20 11:50:45 +00:00
..
cron Update async services to match changes to Multi-Domain support in functions.inc.php (rev 25860) 2008-09-05 15:47:39 +00:00
doc removed outdated docu 2008-10-15 05:57:00 +00:00
images This is the image ContactCenter uses for dJSWin instantiation... 2004-11-05 22:49:59 +00:00
inc Class to manage caching in eGroupware: 2009-04-20 11:50:45 +00:00
js a couple of lines of more documentation, about the how to enable aspell integration 2008-10-09 08:55:03 +00:00
ntlm 1. NTLM Single Sign ON 2008-07-16 09:29:13 +00:00
setup added more info about groupdav 2009-03-30 14:07:46 +00:00
templates "allow other apps to hook into sidebox menu of an app, hook-name: sidebox_$app" 2009-04-18 17:34:40 +00:00
templatesSavant2/default Replace <?= with <?php echo 2007-05-13 17:50:52 +00:00
tests added checks for updates of text and blob columns 2004-09-19 10:38:11 +00:00
addressbook.php new email-address-selection popup for felamimail 2006-06-16 04:45:55 +00:00