egroupware/phpgwapi/inc
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
..
adodb PDO compatibilty function fetchSingle() was renamed in PDO to 2009-03-25 09:03:36 +00:00
fpdf add pdml class as fpdf extension and plus API wrapper the pdml class 2007-01-15 15:35:00 +00:00
horde njv: phpgwapi/groupdav work to improve groupdav compatibility and various sync proplems connected 2009-04-02 12:39:52 +00:00
savant2 Initial addition of the savant2 template engine and the egw-wrapper class.tplsavant2.inc.php Enjoy ;) 2005-05-26 19:38:09 +00:00
class.about.inc.php "- added more licenses with urls (LGPL, PHP, GPL3) 2009-03-30 14:06:39 +00:00
class.accounts_ldap.inc.php Fixing the fix ;-) 2009-04-09 08:11:24 +00:00
class.accounts_sql.inc.php Fixed not (always) updated last password change date 2009-04-09 06:41:41 +00:00
class.accounts.inc.php "removing unnecessary instancations" 2008-03-25 17:00:56 +00:00
class.acl.inc.php "using global db object" 2008-03-21 11:49:28 +00:00
class.applications.inc.php - php5 static and protected for egw_framework 2008-08-18 09:00:19 +00:00
class.arrayfunctions.inc.php replace the crap 2004-08-09 13:46:03 +00:00
class.asyncservice.inc.php - Preserve existing times when working with an existing job schedule 2008-09-16 21:47:08 +00:00
class.auth_ads.inc.php deny ADS logins with empty passwords, in case anonymous search/bind is enabled on ADS 2007-06-08 15:42:07 +00:00
class.auth_cas.inc.php CAS (Central Authentication Service) login for eGroupware 2008-11-15 10:54:39 +00:00
class.auth_http.inc.php changed the following table-names: 2005-11-02 11:45:52 +00:00
class.auth_ldap.inc.php Fixing the fix ;-) 2009-04-09 08:11:24 +00:00
class.auth_mail.inc.php fix to NOT use tls for IMAP 2006-06-07 06:49:08 +00:00
class.auth_nis.inc.php changed the following table-names: 2005-11-02 11:45:52 +00:00
class.auth_pam.inc.php changed the following table-names: 2005-11-02 11:45:52 +00:00
class.auth_sql.inc.php fix for bug #1261: PostgreSQL: eGW ignores setting to dont care about case sensitive usernames 2008-06-07 08:25:28 +00:00
class.auth_sqlssl.inc.php "fix for bug reported on the german list" 2007-06-13 15:37:10 +00:00
class.auth.inc.php 1. NTLM Single Sign ON 2008-07-16 09:29:13 +00:00
class.bolink.inc.php stream wrapper interface is now eGW VFS interface 2008-04-14 05:52:24 +00:00
class.browser.inc.php worked around stupid php5.2 empty haystack warnings 2007-04-30 05:42:05 +00:00
class.categories.inc.php "some more compatibility stuff (table-name as variable)" 2009-02-25 14:35:43 +00:00
class.common.inc.php fix for bug #1838: problem with utf-8 data in all csv imports 2009-04-03 12:26:32 +00:00
class.config.inc.php "fix for bug #1796: Various config values not stored 2008-10-27 15:11:15 +00:00
class.contacts.inc.php autoloading of addressbook classes 2008-05-10 12:06:15 +00:00
class.contenthistory.inc.php Big patch from Philip Herbert (Knauber) modifying the SyncML code to no 2008-11-03 07:44:02 +00:00
class.country.inc.php "use static html methods" 2008-05-31 06:03:34 +00:00
class.creditspoint.inc.php refund action added 2007-03-08 09:10:52 +00:00
class.db_backup.inc.php "check if we really need to convert the charset, as it's not perfect and can do some damage" 2008-11-23 13:08:06 +00:00
class.db.inc.php renamed our db-class to egw_db to allow easier integration of other code (eg. Lars SyncML stuff which is partially from horde) 2005-06-19 12:43:00 +00:00
class.dragdrop.inc.php dragdrop class: with addCustom() now custom DHTML objects are possible, not just draggables and droppables 2007-01-05 23:07:35 +00:00
class.egw_cache_files.inc.php Class to manage caching in eGroupware: 2009-04-20 11:50:45 +00:00
class.egw_cache.inc.php Class to manage caching in eGroupware: 2009-04-20 11:50:45 +00:00
class.egw_datetime.inc.php was not fully working with half-hour timezone, like eg. used in australia 2008-01-19 05:29:50 +00:00
class.egw_db.inc.php PDO compatibilty function fetchSingle() was renamed in PDO to 2009-03-25 09:03:36 +00:00
class.egw_exception.inc.php "removed html tag from exception message, as they should work independent of the web gui" 2008-10-26 11:05:30 +00:00
class.egw_framework.inc.php "reworked _get_css debug message: 2008-10-13 18:23:02 +00:00
class.egw_index.inc.php fix for a PHP Warning: preg_split() [<a href='function.preg-split'>function.preg-split</a>]: Compilation failed: nothing to repeat at offset 14 in 2008-07-24 12:56:11 +00:00
class.egw_link.inc.php "fixed bug reported by Martin Kramer on the German list: 2009-04-08 09:10:07 +00:00
class.egw_session_files.inc.php "only allow valid order criteria" 2008-08-21 05:56:46 +00:00
class.egw_session_memcache.inc.php "- do not send session data for clients doing no sessions to memcached 2008-11-25 19:36:02 +00:00
class.egw_session.inc.php using a session for basic auth (not session aware) clients for WebDAV 2009-04-04 08:38:56 +00:00
class.egw_vfs.inc.php "file_exists for vfs" 2009-04-18 09:51:51 +00:00
class.egw.inc.php Reworked the categories class to query all cats from the database once 2008-12-17 20:05:19 +00:00
class.error.inc.php move from old projct to new one 2004-05-05 12:06:13 +00:00
class.errorlog.inc.php fix 2006-06-14 23:43:53 +00:00
class.filesystem_stream_wrapper.inc.php "fixed not working stream_open() $mode == 'rb', was requiring write rights as != 'r'" 2009-04-19 07:30:26 +00:00
class.global_stream_wrapper.inc.php "global stream wrapper (makes variables available as streams) is now mbstring.func_overload save" 2008-10-01 10:06:49 +00:00
class.groupdav_groups.inc.php propagate base_uri and debug level to handlers 2008-05-17 12:54:26 +00:00
class.groupdav_handler.inc.php njv: phpgwapi/groupdav work to improve groupdav compatibility and various sync proplems connected 2009-04-02 12:39:52 +00:00
class.groupdav_principals.inc.php propagate base_uri and debug level to handlers 2008-05-17 12:54:26 +00:00
class.groupdav.inc.php njv: phpgwapi/groupdav work to improve groupdav compatibility and various sync proplems connected 2009-04-02 12:39:52 +00:00
class.historylog.inc.php allow to instanciate the historylog with a given user or 0 for 2008-05-27 09:25:25 +00:00
class.hooks.inc.php allow all php callables (eg. "class::method" for static calls) for ExecMethod, ExecMethod2 and as methodstring for hooks 2008-04-25 18:54:06 +00:00
class.html.inc.php Enable etemplate to mark rows of a grid / table as part of the header or 2009-02-23 13:21:28 +00:00
class.http.inc.php global bytes() function returning the number of bytes of a string, independent of mbstring available and mbstring.func_overload set 2007-09-29 09:17:42 +00:00
class.iface_stream_wrapper.inc.php - unlink/mkdir/rmdir methods 2008-01-30 06:47:53 +00:00
class.interserver.inc.php phpgw_interserv --> egw_interserv 2005-11-13 11:55:07 +00:00
class.javascript.inc.php dynamically autoloading sub-object of egw-object, moved __wakeup methods to concerned classes and other "modernsations" ;-) 2008-03-21 20:11:59 +00:00
class.jscalendar.inc.php "fix for JScalendar, to bei schown, under under the Menupoint \" Grant Access\"" 2008-07-23 13:59:16 +00:00
class.kses.inc.php fix for the problem, that allowed attribute values where stripped, due to the security bugfix 2008-04-02 08:47:42 +00:00
class.ldap.inc.php fixed a bug that came with the new session handling, since session save and session restore cant handle objects, we have to serialize them first 2008-08-29 12:43:30 +00:00
class.ldapserverinfo.inc.php new classes to detect ldap capabilities 2006-04-26 06:01:21 +00:00
class.links_stream_wrapper.inc.php "Reimplemented stream_open, to ensure our url_stat gets called, which fills the stat-cache with our eAcl" 2009-04-07 19:32:27 +00:00
class.listbox.inc.php *** empty log message *** 2005-07-17 19:58:41 +00:00
class.log.inc.php changed the following table-names: 2005-11-02 11:45:52 +00:00
class.mime_magic.inc.php "missing static" 2009-04-18 10:54:39 +00:00
class.network.inc.php worked around stupid php5.2 empty haystack warnings 2007-04-30 05:42:05 +00:00
class.nextmatchs.inc.php The formated_list function in phpgwapi/inc/class.categories.inc.php was 2007-11-27 17:14:54 +00:00
class.PclZip.inc.php Some changes: 2005-06-18 20:43:14 +00:00
class.pdf.inc.php phpgw->egw 2005-11-26 14:25:39 +00:00
class.pdmlwrapper.inc.php add pdml class as fpdf extension and plus API wrapper the pdml class 2007-01-15 15:35:00 +00:00
class.phpmailer.inc.php fixing a problem regarding the passing on of the charset information, as some clients get confused if there is a blank between the word charset and the equual sign. 2009-02-09 15:17:26 +00:00
class.portalbox.inc.php Upps portalbox in home also used phpgw_info based themes 2006-12-17 11:45:09 +00:00
class.preferences.inc.php strange phenomenon with existing debug variable 2008-12-09 15:25:26 +00:00
class.resultbox.inc.php move from old projct to new one 2004-05-05 12:06:13 +00:00
class.rssparser.inc.php move from old projct to new one 2004-05-05 12:06:13 +00:00
class.schema_proc.inc.php "longtext need to be handled like text" 2008-11-02 09:46:42 +00:00
class.send.inc.php enable debug for send class to be passed to phpmailer/smtp 2008-12-09 14:02:13 +00:00
class.service_contacts.inc.php phpgw->egw 2005-11-26 14:25:39 +00:00
class.service_notes.inc.php Fix headers and adjust classname in schedule service 2004-11-30 13:40:46 +00:00
class.service_schedule.inc.php update for new calendar function 2005-11-26 15:37:14 +00:00
class.service.inc.php Fix headers and adjust classname in schedule service 2004-11-30 13:40:46 +00:00
class.sessions_db.inc.php - setting the cookie path, allows to login to different eGW installs (if you want to use this together with the 1.2, you have to copy the 3 modified session-classes there too) 2006-09-24 06:53:34 +00:00
class.smbhash.inc.php Creates LM and NT hashes natively in php 2005-12-25 10:56:54 +00:00
class.smtp.php directing debug to error_log 2008-12-09 14:02:17 +00:00
class.soap_client.inc.php phpgw->egw 2005-11-26 14:25:39 +00:00
class.soap_parser.inc.php make the phpgw Version-0_9_16-branch HEAD 2003-08-28 14:31:11 +00:00
class.soap_server.inc.php added configuration switch for xmlrpc and soap services (default off) 2005-09-10 10:39:36 +00:00
class.soapclient.inc.php add license info from original 2001-09-28 21:31:39 +00:00
class.soapmsg.inc.php Rollback soap server class to workable state, make login/logout work 2001-12-10 02:09:17 +00:00
class.soapval.inc.php make the phpgw Version-0_9_16-branch HEAD 2003-08-28 14:31:11 +00:00
class.solink.inc.php adding some debug and have it commented out to research the issue in tracker #1876 (Timesheet, in detail view, not shows link to the owner project) 2009-01-27 15:14:56 +00:00
class.sqlfs_stream_wrapper.inc.php making whole mime_magic class static, for easier use and better caching by byte code caches 2009-04-17 06:25:33 +00:00
class.Template.inc.php "using exception instead of exit, thought I can not yet remove the options to ignore the fatal error, as they might be used" 2007-12-09 07:37:16 +00:00
class.tplsavant2.inc.php - More information why people have no access to app. Users often think they did not log in 2007-03-29 21:01:11 +00:00
class.translation.inc.php quitened a logging message which slows down eGW 2009-04-03 20:12:35 +00:00
class.uiaccountsel.inc.php "removed extension of the accounts class, which is not used since r24948" 2009-03-13 12:55:40 +00:00
class.validator.inc.php phpgw->egw 2005-11-25 00:20:34 +00:00
class.vcard.inc.php Adjust banner, cleanup formatting and use foreach() where possible 2004-01-31 19:48:34 +00:00
class.vfs_home_hooks.inc.php Finally fixed creation and rename of home directories: 2009-04-06 13:46:45 +00:00
class.vfs_stream_wrapper.inc.php making whole mime_magic class static, for easier use and better caching by byte code caches 2009-04-17 06:25:33 +00:00
class.vfs_webdav_server.inc.php "fixed displayname property to contain just the basename of the file/dir, as davfs displays this (funny names if there's a full path) as pointed out by Hans Jürgen on the devel list" 2008-11-15 07:46:59 +00:00
class.wsdl.inc.php format, add headers 2001-10-17 22:08:38 +00:00
class.xml.inc.php worked around stupid php5.2 empty haystack warnings 2007-04-30 05:42:05 +00:00
class.xmlrpc_client.inc.php HEAD only: Add client from 2.0 lib - adds compression, proxy auth, etc. 2005-08-16 13:23:03 +00:00
class.xmlrpc_server_epi.inc.php global bytes() function returning the number of bytes of a string, independent of mbstring available and mbstring.func_overload set 2007-09-29 09:17:42 +00:00
class.xmlrpc_server_php.inc.php global bytes() function returning the number of bytes of a string, independent of mbstring available and mbstring.func_overload set 2007-09-29 09:17:42 +00:00
class.xmlrpc_server.inc.php Update lib to version 2.0; remove eval calls 2005-08-14 20:36:46 +00:00
class.xmlrpcmsg.inc.php Update lib to version 2.0; remove eval calls 2005-08-14 20:36:46 +00:00
class.xmlrpcresp.inc.php Correct spelling of function name. More to come... 2006-06-15 11:38:21 +00:00
class.xmlrpcval.inc.php Correct spelling of function name. More to come... 2006-06-15 11:38:21 +00:00
common_functions.inc.php "some more info for error_log on Exceptions: Instance, User & URL causing the exception" 2009-04-03 13:29:47 +00:00
functions.inc.php Work around bug in Safari (OS X) Version 3.2.1 (5525.27.1) on multi-domain sites 2009-01-27 18:31:28 +00:00
jscalendar-setup.php "changes requested by Vietnamese translator nhatnamnv(at)gmail.com: short day-names can now be constructed (additionally) by separate translation of the 3-char english shortcut. You can still use the translation of the long name with the number of chars to use for your language." 2008-08-12 05:15:59 +00:00
phpgw_mime.types "patch #177: mime-type for wordperfect" 2007-05-03 13:46:19 +00:00
soap_functions.inc.php changed the following table-names: 2005-11-02 11:45:52 +00:00
soaplib.soapinterop.php phpgw->egw 2005-11-26 14:25:39 +00:00
xajax.inc.php quitened these stupid php5.2 warnings: it seems stripos has the same problems as strstr and stristr, there for I changed everything to @stripos 2006-12-19 07:12:49 +00:00
xajaxResponse.inc.php quitened these stupid php5.2/mb_string warnings 2006-12-19 07:34:29 +00:00
xml_functions.inc.php global bytes() function returning the number of bytes of a string, independent of mbstring available and mbstring.func_overload set 2007-09-29 09:17:42 +00:00
xmlrpc.interop.php Add missing credit to the original author, remove author credited in error 2004-11-22 02:53:55 +00:00