Klaus Leithoff
69f65e4917
upgrade HTML Purifier to Version 4.4.0 (add missing files)
2012-02-01 16:01:01 +00:00
Klaus Leithoff
5511abc5bf
upgrade HTML Purifier to Version 4.4.0 (with merged trunk patches -c37721 -c34417 -c35216 -c35219)
2012-02-01 15:58:31 +00:00
Ralf Becker
3ae6e76ff9
fixed wrong self-url in PROPFIND of shared addressbooks/calendars
2012-01-31 22:27:31 +00:00
Klaus Leithoff
1d1447d2a7
change Stylite GmbH to Stylite AG in about.
2012-01-31 13:41:59 +00:00
Ralf Becker
1dd3a9e083
fixed iCal did not allow user to update calendar color or name --> needs "write-properties" priviledge, which we now return for all calendar/addressbook collections
2012-01-31 00:20:58 +00:00
Ralf Becker
f2acf7707f
outbox supports VFREEBUSY too, it is required from OS X iCal to autocomplete locations
2012-01-30 23:53:06 +00:00
Ralf Becker
a5673d388e
/addressbook/ was not anounced as directory gateway
2012-01-30 18:53:47 +00:00
Ralf Becker
01ce3bd88d
* CalDAV/CardDAV: /addressbook-accounts/ and PROPPATCH for addressbooks/calendars for every namespace but CalDAV, CardDAV or Calendarserver (displayname or *-describtion are ok)
2012-01-30 05:11:05 +00:00
Ralf Becker
a679a49196
* CalDAV/CardDAV: show addressbooks/calendars selected to sync in prefs under users addressbook-/calendar-home-set (incl. account addressbook, if enabled)
2012-01-25 03:25:42 +00:00
Ralf Becker
ace8f33784
implement CalDAV <calendar-data><expand start="..." end="..."/></calendar-data> to return already expanded recurrences in a given time-range, instead of just a recurring event with a recurrence rule
2012-01-24 05:27:26 +00:00
Ralf Becker
c79657705b
* CardDAV: Hack for iOS 5.0.1 addressbook to stop asking directory gateway permissions with depth=1, which might fail on installs with huge addressbooks
2012-01-21 01:45:48 +00:00
Ralf Becker
f7ebd11af3
log REQUEST_URI not PATH_INFO, to log the correct request
2012-01-20 07:21:28 +00:00
Klaus Leithoff
e05db77a24
add a function to create a HTML-Purifier config to clean up HTML
2012-01-16 08:31:16 +00:00
Klaus Leithoff
b0f211f40b
adapt html purifiers URIScheme cid to new purifiers class requirements; adapt URIScheme data to accept allowed types in whatever (upper/lower/mixed) case
2012-01-13 09:18:46 +00:00
Ralf Becker
7d8347cd34
* Filemanager: allow WebDAVs (https) via PEAR HTTP_WebDAV_Client
2012-01-11 21:24:54 +00:00
Ralf Becker
c7dc8748b7
disabling Lightning hack for fixed version 1.1.1, where bug is fixed and added verbose error_log, if Lightning hack is enabled
2012-01-10 00:20:00 +00:00
Ralf Becker
1c52c64ba2
for account-selection method "selectbox", make sure everything in $selected gets an option, as for the other methods
2012-01-09 21:24:44 +00:00
Klaus Leithoff
904917af86
API/tree: do not check parent treenodes if not expizitly selected
2012-01-09 14:45:24 +00:00
Ralf Becker
c1f61c914b
switch off permanent error_log
2012-01-07 23:05:31 +00:00
Ralf Becker
92dc786ebc
* Calendar: showing now all open calendars in the owner-selection, not just accounts. Allows to close them from all views
2012-01-07 22:21:48 +00:00
Klaus Leithoff
237e8ce9f9
fix assumed typo for returnvalue on error in function title; defined/described as boolean/string but was array for one error case
2012-01-06 12:54:58 +00:00
Klaus Leithoff
b79af79410
remove felamimail from static app_list in egw_link, as felamimail is implementing search_link; gather only apps for link that implement query and title
2012-01-06 10:11:16 +00:00
Ralf Becker
19dcc2e654
check if $name is already a country-code, before attempting to find a matching one, which can fail in certain areas of setup
2012-01-05 21:58:28 +00:00
Klaus Leithoff
d37ee80161
mending Warnings: Cannot use a scalar value as an array
2011-12-20 15:57:03 +00:00
Klaus Leithoff
39fc5ab48e
mending Warnings: Cannot use a scalar value as an array
2011-12-20 15:52:27 +00:00
Klaus Leithoff
16d7185548
fix bug with undefined ino value for link_stream_wrapper::url_stat in case of accessing virtual VCard entry
2011-12-20 15:48:36 +00:00
Klaus Leithoff
b44fd70d07
prevent the call of SetLanguage with empty string
2011-12-15 12:45:44 +00:00
Nathan Gray
03bae6ff27
Add CP850 to translation class list of installed charsets, don't need to add it in import/export
2011-12-14 21:34:24 +00:00
Nathan Gray
2f4d8848c5
- Remove previously added hook & base class, turns out there's an established way to do it...
...
- Use existing link_app type hook to create calendar from infolog
2011-12-12 21:51:12 +00:00
Nathan Gray
332427277d
Add ability to create calendar entries from infolog entries, using new base so other apps can be added (hopefully) easily later
2011-12-08 23:20:49 +00:00
Ralf Becker
e9ba37173a
remove old ISS specific redirect code and default of $_SERVER[PHP_SELF] for $url parameter of egw::redirect (not used in current EGroupware)
2011-11-30 20:32:45 +00:00
Ralf Becker
075db1ac82
quietening permanent error_log
2011-11-30 09:37:47 +00:00
Ralf Becker
7ee9d55f85
fixed racecondition in caching translations for installs with multiple instances:
...
do NOT use automatic callback to cache result, as installing languages in setup can create a racecondition, therefore only cache existing non-instance-specific translations, never cache nothing found === array(), instance-specific translations can and should always be cached!
2011-11-30 09:20:05 +00:00
Ralf Becker
64e7b3cb57
added some docu
2011-11-30 08:11:40 +00:00
Ralf Becker
86577fa44e
* Addressbook: ablity to mail (multiple) vCard via context menu
2011-11-29 12:07:11 +00:00
Ralf Becker
21989aa249
log full requests to files directory "$files/groupdav/$user-$agent.log"
2011-11-24 12:20:13 +00:00
Ralf Becker
2effc93ea4
* CalDAV/CardDAV/GroupDAV new user preference to log requests and responses to Apache error-log
2011-11-23 16:34:39 +00:00
Klaus Leithoff
2bd05d6f0d
* email: feature convert images included as link to inline images (attachments to the mail) -> extend feature for html mailbody
2011-11-21 12:24:45 +00:00
Ralf Becker
29b578cd0b
* Admin: fix white screen (fatal error) when trying to delete a user without home directory
2011-11-21 08:38:23 +00:00
Ralf Becker
f2d7c5c6c3
* Custom / instance-specific translations, eg. to rename an application
2011-11-17 12:43:59 +00:00
Ralf Becker
15d318847d
change max class-name lenght in __autoload to 64, as there are classes with more then 40 chars: projectmanager_wizard_export_elements_csv
2011-11-16 18:46:13 +00:00
Ralf Becker
f6fe40f2d9
fixed forwarding of authentication (ldap or ads) homedirectory attribute to egw_info and vfs
2011-11-15 19:16:09 +00:00
Ralf Becker
8ab9b0d2f2
allow to use homedirectory attribute from LDAP or ADS authentication for VFS mounts
2011-11-15 12:43:59 +00:00
Ralf Becker
988123bb73
fixing warnings generated by php 5.3.8 is_a($obj) trying to autoload huge strings
2011-11-15 12:22:47 +00:00
Ralf Becker
8202298db5
do NOT force user to change password, if LDAP does NOT support shadowlastchange attribute
2011-11-15 10:09:44 +00:00
Ralf Becker
08aca8ff51
allow to use LDAP homeDirectory attribute as $home in mount-url
2011-11-15 06:56:32 +00:00
Ralf Becker
89fdaa7691
disabled NOT working addressbook-findshared report, which is only used in 10.6, but currently creates and error with 10.6 addressbook
2011-11-14 11:54:59 +00:00
Klaus Leithoff
c90b1cafa7
silence php-warning; silence error_log
2011-11-10 14:39:07 +00:00
Ralf Becker
a48104bfd7
in case no charset is set, default to utf-8, as otherwise setting charset in sqlfs_stream_wrapper can stall install
2011-11-10 10:24:37 +00:00
Ralf Becker
64c076c536
fixed exception stalling new installs
2011-11-10 10:09:37 +00:00
Nathan Gray
c3abca67db
Return an array, not null, if there are no preferences for the app
2011-11-09 16:32:42 +00:00
Ralf Becker
b0a22dae6a
removed calendar-preference "color for Apple iCal", as it set a single color for all calendars you have access too, storing and returning color set by iCal (untested)
2011-11-09 13:23:53 +00:00
Ralf Becker
ade24e4943
added OS X 10.7.2 iCal 5.0.1 user agent
2011-11-08 21:03:49 +00:00
Ralf Becker
e714be2d36
fixed not working update of events, as etag2value still expected EGw- -wGE around ETag
2011-11-08 21:02:47 +00:00
Klaus Leithoff
ac061f68f7
fix typo
2011-11-02 14:57:41 +00:00
Ralf Becker
f993bf1051
no need to add group-members as additional proxys, ACL grants to groups are understood by WebDAV ACL (tested with iCal)
2011-11-02 14:03:36 +00:00
Ralf Becker
69288160ae
fixed not working proxy display in iCal, if resource-name contains a german umlaut: names get now transliterated to ascii (they are unique anyway, as prefixed by resource-id)
2011-11-02 13:41:41 +00:00
Klaus Leithoff
e0853e2bd2
check availaility of htmlarea before opening compose as html or html mails as html for reply; implement check based on http_user_agent for user agent known to be not compliant with ckeditor (android); allow class attribute for div, blockquote, a and img
2011-10-31 10:28:30 +00:00
Klaus Leithoff
d844dcdbd5
* API: updating CKEDITOR to version 3.6.2, altering editor modes and availability of toolbar options
2011-10-28 09:12:40 +00:00
Ralf Becker
5202d0db2d
do NOT query proxys for app user has no rights too, can give SQL error, if app is not even installed, eg. resources
2011-10-25 08:08:01 +00:00
Ralf Becker
a5230cb614
casting boolean explicitly to string, as ADODB_postgres64::qstr() has an unwanted special handling for boolean types, causing eg. query in CalDAV for resources throw an invalid SQL exception under PostgreSQL
2011-10-25 07:49:54 +00:00
Ralf Becker
8096c34bef
- fixed ORGANIZER/ATTENDEE in iCal for CalDAV:
...
+ do NOT use ORGANIZER for events without further participants or a different organizer
+ do not include event owner/ORGANIZER as participant in his own calendar, if he is only participant
--> all other cases include ORGANZIER and additional as ATTENDEE (tested with iCal on iOS and OS X)
- implemented schedule-tag and If-Schedule-Tag-Match header from CalDAV Scheduling
- allow to change participant status and add/remove alarms with schedule-tag instead of ETag
--> If-Schedule-Tag-Match header has precedence over If-Match (ETag) header, but limits changes to participant status and alarms
--> ToDo: test accepting, rejecting recurrences
2011-10-20 20:10:04 +00:00
Ralf Becker
e0690d2342
type attribute for principal-property-search report limiting search on a certain type/tree
2011-10-20 20:00:13 +00:00
Ralf Becker
ceaec3d3c1
added calendar-timezone property, changed groupdav_handler::extra_properties signature (removed static and added $user parameter), removed calendar-user-address-set property belonging only to principal
2011-10-20 13:35:01 +00:00
Ralf Becker
0a5e2426d1
fixed wrong timing in serialization of array, when storing arrays as config values, probably also fixing last issue of community bug #3059
2011-10-20 11:41:20 +00:00
Ralf Becker
512138ed56
diverse fixes for resources&locations, thought iCal only autocompletes locations, no idea why it skips resources, thought resources booked via webgui are shown correct
2011-10-17 15:36:28 +00:00
Klaus Leithoff
b56fe24784
catch exeption on CreateObject of bopreferences, if no felamimail is available
2011-10-17 08:41:43 +00:00
Ralf Becker
586a07924a
implementation of (announced, but previously not implemented) acl-principal-prop-set report
2011-10-17 06:44:09 +00:00
Ralf Becker
a949acf031
locations and resources principal tree, should allow (untested!) to add resources via iCal autocomplate and "subscribe" to resource calendars
2011-10-16 08:53:07 +00:00
Ralf Becker
6d9491cf55
not announcing DAV level 2, as we dont support locking
2011-10-16 08:49:20 +00:00
Jörg Lehrke
d76b136151
* Fix WBXML namespache issue (bug 3048)
2011-10-15 22:46:13 +00:00
Ralf Becker
6ff4534aa6
disable custom field tab, if no custom fields for specific queue/type2
2011-10-14 13:54:02 +00:00
Ralf Becker
5cf9f585c2
fixed not working storing of config for an app, which not yet has a config
2011-10-13 06:19:14 +00:00
Ralf Becker
5b3d0c3ca2
fixed behavior of GET or HEAD with If-None-Match returning "304 Not Modified" instead of "412 Precondition Failed", if no If-Match header given
2011-10-08 18:27:02 +00:00
Ralf Becker
b2fa12eb3e
remove unusual and unnecessary "EGw-...-wGE" prefix/postfix from etag and ctag
2011-10-08 11:34:55 +00:00
Ralf Becker
b2ea1a7d05
new method groupdav_principals::url2uid to convert a principal url to a calendar uid, fixes emclient uses urn:uuid urls in outbox posts to get freebusy
2011-10-07 06:02:30 +00:00
Ralf Becker
e654d3fbfb
correctly handle uid/name-part of path containing #%?
2011-10-06 07:51:24 +00:00
Ralf Becker
e05ce4d614
enclosing etag in quotes, as most servers do
2011-10-05 08:15:24 +00:00
Ralf Becker
8cce6075bd
fixed iCal parser to unescape escaped separators AFTER spliting by them, causing eg. semicolons in vcard N property (name) to fail
2011-10-05 06:27:24 +00:00
Jörg Lehrke
b65428b153
* Fix WBXML encoding issue (community bug#3020)
2011-10-04 21:21:38 +00:00
Ralf Becker
b227e61236
removed certain properties defined only on the principal
2011-10-04 11:37:44 +00:00
Ralf Becker
c670740a71
fixed encoding issue with group-name containing a space, causing eg. OS X iCal to not display proxys
2011-10-04 07:27:33 +00:00
Ralf Becker
60ba2b9628
fixed admins not having access to all accounts, if account_selection was none or groupmembers, from which admins are explicitly excepted
2011-10-03 13:40:41 +00:00
Ralf Becker
175197d7c0
* CalDAV: no METHOD:PUBLISH for CalDAV outside the inbox
2011-10-03 12:53:28 +00:00
Ralf Becker
0837c263ff
CalDAV principals: fixed wrong namespace causing iOS5 iCal to NOT autocomplete participants
2011-10-03 09:59:50 +00:00
Ralf Becker
700143eef8
if we have NO password, eg. because we run by async service outside a regular user session
...
--> fall back to the default profile / mail config from setup
2011-09-29 15:26:13 +00:00
Ralf Becker
4eaf9609c1
fixed docu-typo
2011-09-28 15:41:42 +00:00
Ralf Becker
bb4b9819b0
* CalDAV/GroupDAV/InfoLog: making synced InfoLog types configurable and moved getctag method to infolog_bo in preparation of InfoLog eSync support
2011-09-28 12:35:53 +00:00
Ralf Becker
aac290a330
fixed typo: record-type is "users" not "user"
2011-09-26 17:08:36 +00:00
Klaus Leithoff
db3f408f18
if ldap with fallback sql, we may be able to fetch and set the password last change date, if we are on primary, so check if the method exists instead of returning false.
2011-09-26 15:20:40 +00:00
Klaus Leithoff
740758d026
check if method exists for the fallback_auth, before calling get/setLastPwdChange
2011-09-26 11:01:16 +00:00
Ralf Becker
7443fdc639
* GroupDAV/KDE assume KDE 4.7+ uses native Akonadi resource, while below pre-Akonadi GroupDAV resource is used: unfortunately both have contradicting requirements
2011-09-26 10:20:27 +00:00
Klaus Leithoff
ac2279d933
* API: is_a compatibility vs. php5.3.8 resolving to instanceof operator for most common basic classes
2011-09-26 09:52:43 +00:00
Ralf Becker
b791b23f08
fixed typo causing to not announce addressbook outside of addressbook folder
2011-09-26 06:39:13 +00:00
Ralf Becker
14dde4c1ff
iOS iCal sends now pricipal-property-search reports to autocomplete participants, but not (yet) displays the result, for whatever reason ...
2011-09-25 12:00:20 +00:00
Ralf Becker
b4b04844fe
added two more match-type values from CardDAV:text-match
2011-09-24 21:15:44 +00:00
Ralf Becker
0a7b7e40c8
- improved principal-property-search report to support test=(allof|anyof) and match-type=(contains|starts-with) attributes used by iOS iCal to autocomplete participants
...
--> participants are - thanks to CalDAV scheduling - now setable for new event, thought searching for them does NOT yet work, no idea why ;-)
- added somehow missing calendar-query report to supported-report-set
2011-09-24 21:10:53 +00:00
Jörg Lehrke
f6f47e586b
* Fix SyncEvolution issue (community bug#2975)
2011-09-24 17:33:35 +00:00
Ralf Becker
3f830b2bff
- implemented principal-property-search report required for WebDAV ACL and used by Lightning to search for calendar-home-set
...
- had to implement a workaround for Lightning, as it wrongly interprets principal-property-search for calendar-home-set in the principal-collection-set
matching our *DAV root returning all principals, as all have a matching calendar-home-set, as NOT supporting CalDAV scheduling
--> search only current user's principal, when Lightning searches for calendar-home-set
- OPTIONS / return now calendar-auto-scheduling too, as Lightning only searches there, to check if server supports CalDAV scheduling
- fixed outbox freebusy request to cope with no X-CALENDARSERVER-MASK-UID and a single attendee
2011-09-23 12:04:21 +00:00
Klaus Leithoff
53c78cd9e2
as the timestamp used for ldap is not the unixtimestamp, we just use time for updating the session cache on auth_alpwchange_val
2011-09-23 11:10:05 +00:00
Klaus Leithoff
ac22466ba0
set the session cache for auth_alpwchange_val in methods for changepassword too
2011-09-23 09:56:12 +00:00
Klaus Leithoff
6bff18eadd
set the session cache only when not in admin mode
2011-09-23 09:41:03 +00:00
Klaus Leithoff
b860d7fb50
set the session cache for auth_alpwchange_val on setLastPwdChange
2011-09-23 09:29:59 +00:00
Ralf Becker
b5269738d7
read-free-busy, schedule-send and schedule-deliver privileges
2011-09-22 18:46:16 +00:00
Klaus Leithoff
afb4dff864
* API/CheckPasswordAge: new approach to the issue, as we have to take into account that the timestamp of the last password change may not be provided by the auth system. We fetch the timestamp from the authsystem if the method is implemented for the auth method configured (instead of juggling with account_lastpasswd_change or account_lastpwd_change)
2011-09-22 15:29:41 +00:00
Ralf Becker
c26fcffda7
first step for CalDAV scheduling
...
- principal reports scheduling-inbox-URL /<username>/inbox/ and scheduling-outbox-URL /<username>/outbox/
- outbox collection contains no events
- outbox correctly answers POST for freebusy information
- outbox respons to all other POST with "204 No Content", ignore client request to deliver invitations
- inbox collection contains events of unknown status (PARTSTAT=NEEDS-ACTION)
- inbox responds to DELETE with "200 Ok"
--> iCal under OS X now shows freebusy times :-)
(had to add "write-content" privilege for calendar collections user has edit rights for, to allow adding events)
2011-09-22 15:22:52 +00:00
Ralf Becker
1f39e5c562
- added WebDAV ACL props supported-privilege-set and current-user-privilege-set
...
+ currently only standard WebDAV privileges: read, read-current-user-privilege-set, write-content, bind and unbind used
+ they get only queried for collections, thought we dont report any write* on collections, as we dont allow to create calendars or change properties
- new groupdav::add_resource() method used to add all resources (incl. collections) to propfind or report requests
- improved autoindex to show nicely indented hierarchical properties
2011-09-21 20:08:21 +00:00
Ralf Becker
d5f9c5b93c
- show user collections /<username>/(addressbook|calendar|infolog)/ in propfind
...
- only define addressbook-home-set and calendar-home-set for principal-collections
- advertice /addressbook/ as addressbook-gateway (searchable collection for all contacts accessible to a user)
2011-09-20 19:16:24 +00:00
Ralf Becker
8b74af09c5
correctly handle (forced) user preference account-selection "none" or "groupmembers": do not show other groups or users
2011-09-19 14:15:33 +00:00
Ralf Becker
b848d23ef3
fixed no longer possible direct access/mount of VFS root via WebDAV after r36606
2011-09-19 11:39:46 +00:00
Ralf Becker
03ed1d3ddb
- refactored code to use a single add_collection method in groupdav class
...
--> app groupdav classes now get calling groupdav object as parameter
Had a quick test with iOS & OS X addressbook, calendar and with Lightning
2011-09-18 10:56:56 +00:00
Ralf Becker
b49aae4675
- using now associative properties for easier extending, which get converted at end of add_collection to HTTP_WebDAV_Server properties
...
- added addressbook-findshared report to principals
2011-09-17 12:31:47 +00:00
Ralf Becker
f61e4dfcfa
added collection to /principals/ resourcetype and principal-collection-set to root
2011-09-17 12:29:51 +00:00
Ralf Becker
7f7e84afaa
activating calendar-proxy in OPTIONS
2011-09-16 11:48:28 +00:00
Ralf Becker
2a7127a4c3
show real namespaces instead of not (visibly) defined shortcuts
2011-09-16 10:21:40 +00:00
Ralf Becker
6ce0906838
* CalDAV: implemented calendar proxy support and cleaned up principals tree
2011-09-15 22:45:00 +00:00
Klaus Leithoff
f616b34f58
API: introduce register_single_app_hook to be able to add or update one hook for an required app. register added/updated hooks with ->location; calendar and addressbook are using this to insert export_limit hook if not available. use app hook to fetch app specific export limit with import_export side_menu additions too
2011-09-15 16:53:20 +00:00
Ralf Becker
93b7e6885c
check if we are already trying to unlink the entry, to avoid an infinit recursion
2011-09-15 16:35:28 +00:00
Klaus Leithoff
d9905d3fb4
calendar/addressbook/API: introduce hook to fetch the export_limit to be applied for an app; introduce method to test if a specific hook exists for an application; fetch the export_limit via hook where appropriate
2011-09-15 14:46:56 +00:00
Ralf Becker
bd06c4c9d5
* Filemanager/WebDAV: understand Windows7 modification time attribute and setting and returning is as vfs modification time
2011-09-15 12:14:20 +00:00
Ralf Becker
abac9e96fe
fixed fatal error, if there are no parameters
2011-09-14 14:22:17 +00:00
Ralf Becker
516b977472
ability to queue ajax requests on the client and send them as a single ajax request every N ms to the server
...
a) instead of a single request like: new egw_json_request(menuaction, params).sendRequest(true, callback, context);
b) you call: egw.jsonq(menuaction,params,callback,context)
The server callback is identical for both kinds of requests. All egw_json_response methods can be used and the callback is optional.
2011-09-13 17:27:02 +00:00
Ralf Becker
2ed73047df
fixed serveral issues around cached config:
...
- changing config in setup did not update or unset the cache --> instance was NOT using it
- new installs failed, because cache was not configured
- cache command to not configured cache gave fatal error, now they throw a (catchable) exception
2011-09-13 09:25:25 +00:00
Ralf Becker
b1b1ab820a
no need for db schema on the client
2011-09-09 14:56:34 +00:00
Andreas Stöckel
50ad9e4ba0
Included dhtmlx js files in egw_menu_dhtmlx.js, fixed problem with removing action objects, improved egw_include_mgr a bit
2011-09-09 14:03:18 +00:00
Andreas Stöckel
4bb00f1475
Fixed problems with include manager. Includes like 'phpgwapi.jquery.jquery.ui' do now work.
2011-09-09 11:41:14 +00:00
Ralf Becker
008f009d80
- implemented new egw.link_app_list(_must_support) and egw.link_get_registry(_app, _name) methodes
...
- using egw.link_app_list('query') in link widget (no need to transfer it additonally)
- added some more docu to egw object
2011-09-08 12:24:53 +00:00
Ralf Becker
b950c5b811
fixed typo causing search for group-members to fail for accounts in sql
2011-09-08 09:57:32 +00:00
Ralf Becker
f5c5df3299
respect restrictive account-selection "groupmembers" and "none" when linking with accounts and sort search for accounts alphabetically
2011-09-07 16:44:00 +00:00
Ralf Becker
b633044a46
* API/Calendar: allow to link to accounts and allow to select accounts as participants by searching them like contacts
2011-09-07 14:47:51 +00:00
Ralf Becker
8d28765f76
% should be encoded, but easily leads to double encoding, therefore better NOT encodig it in egw_vfs::encodePathComponent()
2011-09-07 08:40:52 +00:00
Ralf Becker
c23450ea73
deal with parsing of query parameters appending an "=" to "?download", accepting "?download=" too
2011-09-06 07:23:02 +00:00
Ralf Becker
366bad914d
* Filemanager/WebDAV: #?+ and chinese characters working now in filenames
2011-09-05 10:25:28 +00:00
Ralf Becker
046c0919cc
make basic data of current user available via egw.user(_field)
2011-08-31 12:17:34 +00:00
Ralf Becker
54bf7a3d2d
- fixed image map was empty created when not loged in (now directories are used and not $GLOBALS['egw_info']['apps'])
...
- fixed not working vfs-image-dir
- deleteing image-maps when:
+ apps get installed, updated or removed
+ admin >> register hooks
+ admin >> site configuration: vfs-image-dir get changed
- fixed not displayed validation errors (thought there were no validation) in admin >> site config
--> you need to register hooks, in order to get the admin >> site configuration validation hook ;-)
2011-08-31 10:16:12 +00:00
Ralf Becker
5d83c036e0
forgot to switch of error_log for not found images, as that happens regulary in some parts of EGroupware
2011-08-31 08:01:18 +00:00
Ralf Becker
19d167f5be
fixed not working jerryr template set, needs image_on and previously not working template image dir
2011-08-31 07:52:19 +00:00
Ralf Becker
7868b684cd
using php5 constructors
2011-08-31 07:50:28 +00:00
Ralf Becker
ea7ad6318d
new clientside image-name to url map: egw.image(_name, _app="phpgwapi")
...
eg. egw.image('favicon') returns '/egroupware/phpgwapi/templates/default/favicon.ico'
--> pondon to serverside common::image($app,$name) method
2011-08-30 22:19:38 +00:00
Ralf Becker
dce02a03cb
re-added common::find_image() and common::image_on() as deprecated
2011-08-30 22:16:31 +00:00
Ralf Becker
a048840e44
use one instance specific image_map to translate between image-names and URLs, which can be transfered to the browser for etemplate2 (next commit)
2011-08-30 22:03:17 +00:00
Ralf Becker
a654002f7b
* WebDAV: allow locking of not (yet) existing files to create them
...
- failed before as there are no write-rights for not existing files
- now we check for not existing files the write rights of the parent directory
2011-08-30 17:03:34 +00:00
Ralf Becker
4a1f4fff8c
* Filemanager: "Save as" option for files to force download and not open in browser
2011-08-29 08:40:22 +00:00
Ralf Becker
ae5cde8259
fix bug reported on devel-list:
...
egw_cache::get_provider(Instance) no provider found (error instanciating provider egw_cache_files: egw_cache_files::__construct() server/temp_dir
--> made egw_cache::get_config_value public, so egw_cache_files can use it and for regular egw sessions read install_id and temp_dir together with system_charset, before calling config::read()
2011-08-29 05:58:54 +00:00
Ralf Becker
a8af711f11
add backtrace to failed includes, to see where it comes from
2011-08-27 08:48:27 +00:00
Ralf Becker
be6fd87783
- sending EGroupware configuration (non-sensible stuff) to browser and make it available via egw.config(_name, _app="phpgwapi")
...
- sending link-registry in the same file
- used javascript file uses etag to ensure there's no need to load it on each request
2011-08-26 16:27:57 +00:00
Ralf Becker
389486793d
- config is now cached on instance level
...
- arrays in $GLOBALS[egw_info][server] are now automatically serialized and unserialized
- new static method to check if user is export-limit excepted
--> saves to query it on each request (for non-phpgwapi, which was already cached in the session)
2011-08-26 13:50:20 +00:00
Ralf Becker
a925764fc4
- dynamical (synchronious) loading preferences (other then "common") from server via egw.preference(_name, _app)
...
- setting preferences on server via egw.set_preference(_app, _name, _value)
- enable calling of active framework / template class via using egw_framework instead of not known used framework class of user, eg. "home.egw_framework.ajax_func.template" instead of "home.idots_framework.ajax_func.template"
2011-08-26 09:34:18 +00:00
Klaus Leithoff
4effb9931e
fix problem with double encoding html special chars (introduced with rev36141)
2011-08-26 08:21:04 +00:00
Ralf Becker
16c6a8d4f9
got clientside translations working for etemplate2 apps: egw.lang("%1 timesheet(s) %2", 5, egw.lang("deleted"))
2011-08-23 16:15:54 +00:00
Ralf Becker
24e34f7927
new clientside API object currently supporting the following methods:
...
- egw.preferences(_name, _app='common') return preference _name of _app (only common prefs loaded currently)
- egw.open() allowing to open app-entries utilising the link registry, deprecating egw_open from jsapi.js
- egw.lang(_msg, _arg1, ..., _argN) placeholders are not yet implemented
2011-08-23 14:29:56 +00:00
Klaus Leithoff
050a1307cb
* API: take care of INNODB and STRICT_TRANS_TABLES for recent mysql installations
2011-08-22 10:16:07 +00:00
Ralf Becker
0aa128b53e
Loading translations like other javascript files:
...
setting headers to allow browser to cache the file until it's etag containing the creationdates of the used langfiles changes
--> et2 can now use egw_lang object to translate labels, options, ...
2011-08-21 20:09:14 +00:00
Ralf Becker
750f80b23b
fix to work with path containing a query
2011-08-21 20:01:10 +00:00
Klaus Leithoff
bda5e014d7
* tracker: mailhandling - prevent to use rsh or ssh to establish connection
2011-08-18 14:49:16 +00:00
Ralf Becker
697a113171
url need to run throught htmlspecialchars too (like every attribute in html markup), eg. "x®_id=" fails otherwise
2011-08-16 11:44:33 +00:00
Hans-Jürgen Tappe
b176cb9256
- Allow sitemgr blocks to be moved between pages, categories and websitewide
...
(previously only moving from a page up to the cat, then up globally was
possible).
- Allow options within a select to be formatted through the standard
html::select_option() function
2011-08-15 16:25:08 +00:00
Ralf Becker
4f54abdda2
quietened PHP Warning: array_keys() expects parameter 1 to be array, null given on line 106
2011-08-11 07:31:47 +00:00
Ralf Becker
9c82896a7b
quietened PHP Warning: in_array() expects parameter 2 to be array, boolean given on line 855
2011-08-11 07:23:29 +00:00
Ralf Becker
5e9d4f3601
* API fix PHP fatal error wakeup2 is no method ..., when comming from setup
2011-08-05 08:01:51 +00:00
Ralf Becker
30f5025431
* API fix webserver_url of just a domain eg. http://domain.com gives PHP Warning empty delimiter ...
2011-08-05 08:00:58 +00:00
Ralf Becker
31c9e8965b
fixed creating of new translations / give [Write] button file not yet existing (permissions given)
2011-08-04 07:27:23 +00:00
Andreas Stöckel
6fff48a306
Fixed typo in comment
2011-08-03 14:27:45 +00:00
Andreas Stöckel
149c154540
Added system which allows us to define dependencies inside js files.
...
An introduction on how this can be done is given in class.egw_include_mgr.inc.php.
This file/class may lateron be extended to minifiy, compress and cache groups of js files - currently only the 'debug-mode' is implemented, which sends all javascript files as individual files, making it easy to debug the java-script files in the browser.
The new method should work with all old code, especially including java-script files as part of an ajax-response, if something is broken, please report that!
2011-08-03 14:03:31 +00:00
Klaus Leithoff
8d7c954544
sticking to the rules of the protocoll while writing a request to port, ensures that lighttpd (>=1.4.28) understands our requests
2011-08-03 13:36:59 +00:00
Ralf Becker
79d12b67be
* CalDAV: user agent detection of OS X 10.7 Lion iCal app (CoreDav instead of DavKit)
2011-08-02 12:59:23 +00:00
Klaus Leithoff
11475a41cd
* admin: allow to choose which kind of spellchecking you would like to employ when using the CK Editor (Options now: Yes, No, Without SpellCheckAsYouType, WebSpellChecker)
2011-08-02 11:39:59 +00:00
Andreas Stöckel
5a7daf61aa
Fixed problem with move_files function always returning false
2011-08-02 09:33:13 +00:00
Ralf Becker
6d8c35496a
- silently use server_timezone if wrong user timezone preference is set, as we can not (easily) report it to the user at the stage of initialising EGroupware
...
- if server_timezone is NOT valid, try (and permanently store!) date_default_timezone_get() frist and then "Europe/Berlin"
2011-08-01 13:04:40 +00:00
Ralf Becker
73450d3817
fixing 3 failed litmus tests:
...
- copy_coll, move_coll: using egw_vfs::find instead of System::find which we dont require and fails anyway for some reason
- copy_shallow: by updating COPY with changes from 1.0.0RC6 (depth="0" is allowed for copy, thought HTTP_WebDAV_Server still copies the whole collection!)
2011-07-31 09:23:16 +00:00
Ralf Becker
399c835f11
HTTP_WebDAV_Server 1.0.0RC6 changes without Server.php changes comming later
2011-07-29 10:33:52 +00:00
Ralf Becker
632a91774d
allow dash ("-") in app name, eg. sitemgr-site
2011-07-26 13:49:53 +00:00
Klaus Leithoff
45468c801a
patch to fix problem with ->not able to see mail<- egw_instant_load.html not found. provided by Vladimir Kolobkov; Thanks a lot
2011-07-25 15:52:22 +00:00
Klaus Leithoff
f297d65790
make sure there is no whitespace leading or trailling the host string, when attempting to send
2011-07-21 12:11:17 +00:00
Klaus Leithoff
6263753e80
add missing default translation for lang key tls
2011-07-14 08:54:30 +00:00
Jörg Lehrke
79fa226d83
* Generate well-formed XML for Funambol and SyncEvolution clients (community bug#2975)
2011-07-08 19:46:08 +00:00
Ralf Becker
4f60da9af5
differenciate in our serverside user-agent detection between Chrome and Safari, and disable html5 form validation for float, as Chrome 12 rejects float values with comma as decimal separator
2011-07-07 11:50:06 +00:00
Nathan Gray
e4d0a78c8d
Allow setting owner when creating a new category
2011-07-06 15:09:08 +00:00
Ralf Becker
36eaa8e987
fixed not working mime parameter, if just a main type eg. "image" is given
2011-07-04 18:53:48 +00:00
Klaus Leithoff
93636849e6
put some more documentation ito the function header doc part
2011-07-04 13:23:55 +00:00
Klaus Leithoff
820dbed203
make sure we set SMTPSecure to ssl or tls if the standardports for ssl or tls are configured for the given profile
2011-07-04 13:14:45 +00:00
Ralf Becker
03e379e570
* jQuery: changed $ to $j to work around mootools use in Joomla templates and other js code in imported projects
...
required to change $ --> $j:
phpgwapi/*
jdots/*
etemplate/*
stylite/*
felamimail/*
admin/*
news_admin/*
projectmanager/*
importexport/*
infolog/*
ranking/*
required, but not automatic:
importexport/setup/etemplates.inc.php
phpgwapi/js/jquery/*
negative, not to touch or revert later:
phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php: '(\$(.+))' => 'print $1',
phpgwapi/js/dhtmlxtree/libCompiler/core.js
sitemgr/*
phpfreechat/*
gallery/*
activesync/include/smb.php: '^\tIPC\\\$(.*)[ ]+IPC' => 'skip',
etemplate/inc/class.bo_merge.inc.php: if ($this->table_plugins && preg_match_all('/\\$\\$table\\/([A-Za-z0-9_]+)\\$\\$(.*?)\\$\\$endtable\\$\\$/s',$content,$matches,PREG_SET_ORDER))
find phpgwapi jdots etemplate stylite felamimail admin news_admin projectmanager importexport infolog ranking \
\( -name '*.php' -o -name '*.js' \) -exec grep -q '\$(' {} \; -print \
-exec sed -i '' 's|\$(|$j(|g' {} \;
svn revert phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php phpgwapi/js/dhtmlxtree/libCompiler/core.js \
importexport/setup/etemplates.inc.php phpgwapi/js/jquery/jquery.js etemplate/inc/class.bo_merge.inc.php
additional changes:
phpgwapi/js/jquery/jquery.js: window.$ --> window.$j
phpgwapi/js/egw_json.js:291 this.request = $j.ajax({url: this.url,
jdots/templates/jdots/head.tpl:59 $j(document).ready(function() {
phpgwapi/js/egw_action/egw_grid_view.js: $.browser --> $j.browser
importexport/setup/etemplates.inc.php: etemplate editor importexport.wizard_basic_export_csv.choose_fields onclick of check icon changed
phpgwapi/js/egw_action/tests/*.html
phpgwapi/js/egw_action/tests/js/jquery.js: window.$ --> window.$j
2011-07-03 09:00:36 +00:00
Ralf Becker
a7aef6a4da
fixed egroupware.org bug #3002 : PHP Warning: mb_strpos() in class.egw_session.inc.php on line 1081
2011-07-03 06:54:32 +00:00
Ralf Becker
70b84e372c
fixed catchable fatal error: param 2 to egw_vfs::propatch() must be an array
2011-07-01 14:24:22 +00:00
Ralf Becker
3f6fcf60d2
support for some html5 form features, if browser supports it
2011-06-30 15:19:08 +00:00
Nathan Gray
f736c89bbf
Prevent doubling webserver url when building a link
2011-06-29 16:35:24 +00:00
Ralf Becker
37ec659a8f
quitend warning
2011-06-29 07:21:56 +00:00
Ralf Becker
5e05030629
fixed attachments lost when converting email to infolog, is_uploaded_file check in egw_vfs::copy_uploaded need to be switched off (plus improved logging)
2011-06-29 07:00:09 +00:00
Ralf Becker
bd7407ed88
- fixed bug in egw_vfs::check_access for a user different from current one: need to clear the stat-cache after the call too, as the next call might be the regular user again!
...
- new method egw_vfs::copy_uploaded() to copy a file into vfs and set properties (eg. the comment), while treating the whole operation notification-wise atomar (one notification about an added file).
- using that method for egw_link too
- fixed egw_link not displaying comments
2011-06-28 20:43:47 +00:00
Ralf Becker
e6470f6b58
some more debug stuff, switched off by default
2011-06-28 17:20:19 +00:00
Nathan Gray
387f4ed073
Some fixes for category access with multiple owners
2011-06-27 22:05:03 +00:00
Ralf Becker
57215ec67c
fixed not working debug message
2011-06-27 20:00:05 +00:00
Ralf Becker
7b83209e7c
forgot required changes in acl class, to read grants of a different user
2011-06-26 13:00:51 +00:00
Ralf Becker
04be4c57fe
- new registry attribute "file_access_user" to signal "file_access" method understands new 4th parameter $user
...
- infolog implementation for it
--> allows to check if a given user has access to a files of app/id
2011-06-26 12:32:06 +00:00
Andreas Stöckel
49e6780f07
Shotcuts are now generated on the server side, made key codes class constans
2011-06-25 14:27:30 +00:00
Ralf Becker
b2b27ece2e
fixed not sorted eacls
2011-06-25 04:53:35 +00:00
Ralf Becker
36156c61ee
clearstatchache needs to set eacl_cache to null, so it gets read again, setting it to array() stops all eacl
2011-06-24 18:19:18 +00:00
Ralf Becker
54dc16f3e5
calling egw_vfs::rmdir/unlink to ensure vfs hooks get called
2011-06-24 18:08:29 +00:00
Ralf Becker
5864d5f1a1
use vfs:// url, to ensure vfs_add|modified hook get called
2011-06-24 17:38:13 +00:00
Ralf Becker
e960b79570
fixed not working access to all non-private user categories (ACL was priviously allways taken into account)
2011-06-24 13:35:39 +00:00
Ralf Becker
92d861e712
give #account_id, if user not found
2011-06-24 10:28:08 +00:00
Ralf Becker
7282d42f52
- added hooks to general vfs methods to allow apps to monitore file access, creating, modification, removal
...
- new $user parameter for egw_vfs::check_access($path, $check, $stat=null, $user=null) to check access to a file for a user, who is NOT the current user
2011-06-23 18:34:47 +00:00
Andreas Stöckel
1d23398ad9
Added server side key constants and shortcut-generator
2011-06-19 10:52:58 +00:00
Nathan Gray
e9cc2549ac
Allow categories->return_sorted_array() to use a filter too
2011-06-15 22:32:52 +00:00
Nathan Gray
5bed43746f
Fix for editing private categories
2011-06-15 14:20:43 +00:00
Nathan Gray
81f58ab129
- Change category group filtering to allow multiple groups
...
- Give warning when removing access from a group
2011-06-14 18:50:35 +00:00
Ralf Becker
eb6bea34b2
some fixes to run save_repository() reliable within setup
2011-06-14 08:44:24 +00:00
Ralf Becker
69145c40b5
small docu update
2011-06-14 07:31:56 +00:00
Ralf Becker
34ada0535c
fixing problem under windows: dirname("/something") === "\\", with which EGroupware VFS can NOT work, using now egw_vfs::dirname
2011-06-14 07:31:33 +00:00
Ralf Becker
fe2b0d17bc
* CalDAV/GroupDAV/KDE Akonadi seems to require redundant namespaces, see KDE bug #265096 https://bugs.kde.org/show_bug.cgi?id=265096
2011-06-13 09:10:10 +00:00
Andreas Stöckel
49ece38c6c
Don't send a location header if we currently handle an ajax response/request - use the corresponding json function instead. Doing this on the server side is neccessary as the location header is one of the few ones which is handled by the browser before any XMLHttpRequest event is fired (according to W3C specification)
2011-06-11 21:27:15 +00:00
Ralf Becker
d7c7034771
* Admin/VFS/LDAP: on saving a group, check if group directory exists and create it if not
2011-06-10 11:00:40 +00:00
Ralf Becker
095a36023e
allow extending class to supply stat of parent
2011-06-08 12:54:43 +00:00
Ralf Becker
c66928875a
no need to run expensive mb_substr 3 times
2011-06-08 10:41:22 +00:00
Klaus Leithoff
123b46372b
extending patch rev32909/34417 (chopped off urls when URI contains umlauts AND mbstring.func_overload is activated): using rawurlencode instead of '%' . sprintf('%02X', ); as ord() only returns the int for the first character in a given string, thus crippling multibyte chars
2011-06-08 09:55:26 +00:00
Ralf Becker
c84c890738
fixed not working password change, if no rights for password app, but for preferences
2011-06-07 12:11:16 +00:00
Ralf Becker
2add4fe910
no need to scan non-directories - gives only warnings ;-)
2011-06-07 07:02:08 +00:00
Ralf Becker
562343a4dd
disabling permanent error_log and missing translation
2011-06-06 06:39:07 +00:00
Ralf Becker
fae1d29e68
- implemented more secure password hashing types: sha512_crypt, sha256_crypt and blowfish_crypt (later was only just broken)
...
- DB schema update for account_pwd to varchar(128) to accomodate sha512_crypt hashes
- enable automatic migration to sha512_crypt, if on SQL or LDAP (but only on Linux, as OpenLDAP has not native support for it)
2011-06-05 23:22:51 +00:00
Ralf Becker
f8d2bd1e6b
- introduced preference of type "color"
...
- modernized color picker a litle to give a visual feedback of the color
2011-06-04 09:30:46 +00:00
Ralf Becker
994d1b63d4
allways display topmenu item "Password" addtional to "Preferences" and shorten "Manual / Help" in topmenu to "Help"
2011-06-03 18:36:47 +00:00
Ralf Becker
c5e6b56503
missed UA check was caseinsensitiv
2011-06-03 09:09:25 +00:00
Ralf Becker
17fa23843c
reworked mobil browser detection to use html::$ua_mobile to be in line with other html class stuff
2011-06-03 07:47:11 +00:00
Andreas Stöckel
a4730b3511
Added mobile browser detection function
2011-06-02 22:52:12 +00:00
Ralf Becker
fe92979bc1
fallback for egw_link::edit() to use view data, if no edit specified
2011-06-02 19:58:30 +00:00
Ralf Becker
8445199caf
fixed unknowns="remove" to remove more strict (only variable names with letterns, numbers, underscore and dash), as it messes up json otherwise
2011-06-02 13:30:21 +00:00
Ralf Becker
47e2764da0
new javascript method egw_open() to open egw_entries using there registered url and popup sizes from the link registry
2011-06-02 11:13:41 +00:00
Ralf Becker
574911d077
* Setup/API: new option to enforce ssl (without specifying a domain in Webserver-URL)
2011-05-31 13:33:26 +00:00
Ralf Becker
61c0b251c3
* IE9: enable IE dropdown menu hack only for IE<9, as it stalls IE9 www.stylite.de bug #1722
2011-05-31 07:55:51 +00:00
Klaus Leithoff
82f81ccafa
make sure AltBody is only added if there is an AltBody present; control messageType regard AltExtended too
2011-05-26 16:34:25 +00:00
Ralf Becker
1e851eaab6
* Calendar/CalDAV: fixed wrong line-defolding, if folding occured in whitespace
...
reverting r29794, as it "eat" to much whitespace
2011-05-26 15:35:07 +00:00
Klaus Leithoff
89a1d1d419
* Calendar Notification: handle calendar requests correctly as multipart/alternative; adding AltExtended to phpmailer; beware parts of multipartAlternative must be in decreasing order of preference (text/calendar as the last part)
2011-05-26 13:26:09 +00:00
Klaus Leithoff
3df142b00b
* Calendar Notification: handle calendar requests correctly as multipart/alternative; one part text/plain the other part text/calendar
2011-05-26 09:47:31 +00:00
Klaus Leithoff
0b1e444325
do not use password on asetLastPwdChange in admin actions, as the use of passwords indicates the usage of the functionality in usermode; Handle params for egw_cache::getSession in the correct order
2011-05-19 10:32:46 +00:00
Ralf Becker
5396f9c02f
fix for PostgreSQL notification update not working: some stuff is NOT to be quoted
2011-05-18 10:12:32 +00:00
Ralf Becker
a2d19164ee
fix postgres error reported on devel list: PostgreSQL error with categories attrunk@34914
2011-05-16 14:25:17 +00:00
Klaus Leithoff
9f3a3f0424
fix bug regarding left over tags after converting HTML2Text
2011-05-11 10:39:55 +00:00
Klaus Leithoff
9ec96b10e4
fix typo, as the account_lastpwd_change was not altered anymore on password change
2011-05-11 09:39:02 +00:00
Klaus Leithoff
76980e665c
HTML2Text: reduce CR/LF groups of more than 2 to a sequence of 2 CR/LF
2011-05-10 15:32:44 +00:00
Ralf Becker
f00ba4dc9a
do not restore install_id, as that would give two systems with identical install_id
2011-05-07 17:09:52 +00:00
Ralf Becker
ce619a8711
do NOT query sessionid_access_log for anonymous sessions, as they get not loged anyway
2011-05-05 15:50:22 +00:00
Klaus Leithoff
98122085f7
fixing a problem of swallowed whitespace while converting html to text
2011-05-05 08:59:54 +00:00
Ralf Becker
86837b37f7
password hash migration for LDAP (requires ACL to read password hash!)
2011-05-04 16:35:40 +00:00
Ralf Becker
bd64d536bc
fixed not working password (hash) migration
2011-05-04 13:33:34 +00:00
Ralf Becker
4f3f6748f1
small docu update
2011-05-04 13:32:58 +00:00
Ralf Becker
57fc9c63fc
- fixed with ssha not working migration from sql <--> ldap
...
- using 16 char salt for ssha and smd5 as eclipse ldap admin does
- remove auth::hash_sql2ldap() method, as it is now in setup/inc/class.setup_cmd_ldap.inc.php
- added ability to create uid dn in setup_cmd_ldap subcommand create_ldap
2011-05-04 09:42:50 +00:00
Ralf Becker
457e79454d
* Setup: making SSHA (salted sha1) hashes the default password hash for SQL and LDAP
...
- fixing not working ssha hashes if mb_string.func_overload > 0 set
2011-05-04 07:52:45 +00:00
Ralf Becker
42bf4dbc3c
updating number of current users via notifications
2011-04-14 09:50:35 +00:00
Nathan Gray
056f61ef72
Fix typo
2011-04-13 17:09:18 +00:00
Ralf Becker
5495491e78
* Admin: session-list is generated now from egw_access_log table independent of readablity of sessions files in filesystem
...
- session_(dla|action) is stored in egw_access_log table
- notifications refresh via ajax set notification_heartbeat timestamp in egw_access_log
- if notification_heartbeat is set (happens only for browser sessions with popup notification) sessions get removed from session list one minute after browser is closed
- new static method egw_session::notifications_active($account_id) to check if given user has an open browser with notifications popup checking, to ensure popup notifications can fall back to email
--> REQUIRES DATABASE UPDATE / SETUP
2011-04-13 14:11:09 +00:00