Commit Graph

4114 Commits

Author SHA1 Message Date
Ralf Becker
90a3a946f6 restructured accounts::search() code, to handle $param[app] for ldap too, fixed ldap backend to also index array by account_id 2010-03-20 13:24:01 +00:00
Ralf Becker
2978d9ddd2 ability to migrate DB based sqlfs to a filesystem based one using filemanager/cli.php (see usage) 2010-03-17 09:11:28 +00:00
Ralf Becker
b40f14a95e new setup config denying (default) or allowing user names identical to system users (ldap only) 2010-03-16 16:33:28 +00:00
Jörg Lehrke
7220d96847 Use iterator approach in GroupDAV; fix various issues 2010-03-15 09:55:16 +00:00
Jörg Lehrke
8165ec94e8 Handle multi-line error messages gracefully 2010-03-15 09:53:25 +00:00
Ralf Becker
7f3651e3f2 Do NOT store "System/Localtime" as server_timezone, as it is no valid timezone 2010-03-15 07:51:38 +00:00
Ralf Becker
f7ee51f53b "egw_links: remove links user has no access to from result, if $cache_titles is set" 2010-03-10 12:20:51 +00:00
Jörg Lehrke
2179ebb521 Fix principal-URL for users 2010-03-07 12:36:12 +00:00
Ralf Becker
e785b8bb03 remove now unused groupdav_groups class 2010-03-07 07:04:33 +00:00
Jörg Lehrke
99255ecb25 disable GroupDAV debug logs 2010-03-06 23:32:28 +00:00
Jörg Lehrke
a8804a44ef GroupDAV updates 2010-03-06 23:06:43 +00:00
Ralf Becker
96db81c50c dont use IN ( ), if there's only one value, it's slower for MySQL 2010-03-04 17:18:30 +00:00
Ralf Becker
0f2eceefb8 Preseed link title-cache for link-list and link-string widget
(Performance improvment, as all titles of an application get queried in
a single query and NOT once for every link)
2010-03-04 17:07:10 +00:00
Klaus Leithoff
7e34a7c999 pdo statement->execute expects either the prepared statement with already bound parameters OR an array of the vars to be bound. It can NOT handle them MIXED 2010-03-04 12:05:42 +00:00
Klaus Leithoff
62c6359c0b trying to fix the real cause for the resourcetype/collection issue, breaking XP native WebDav Access and having impacts on groupdav: Now resourcetype returns a prop for collection in case of a folder 2010-03-03 09:14:21 +00:00
Ralf Becker
1bcb356a25 fixed propfind_iterator sometimes not returning any item 2010-03-03 08:17:20 +00:00
Jörg Lehrke
59f91abfd7 SlowSync issues with event pseudo exceptions 2010-03-03 00:41:15 +00:00
Jörg Lehrke
2b0d9f5b43 Fix empty ORGANIZER/ATTENDEE 2010-02-28 12:53:49 +00:00
Jörg Lehrke
72e55f9753 Fix GroupDAV issues 2010-02-26 11:04:01 +00:00
Jörg Lehrke
841300542b Add RDATE support to VTIMEZONE parser 2010-02-26 11:03:34 +00:00
Jörg Lehrke
de840a1fcc Fix empty field issue 2010-02-23 18:18:10 +00:00
Jörg Lehrke
8204d84ca5 Enable proper 'refresh from server' again 2010-02-17 13:28:00 +00:00
Jörg Lehrke
9d39f2ec98 Fix newline issue 2010-02-16 15:09:52 +00:00
Ralf Becker
c70ff2e069 fixed a strange PHP5.3 problem, it seems call_user_func_array fails returning NULL for a static method with a var parameter 2010-02-15 06:02:36 +00:00
Ralf Becker
dbeb104ed5 changed rename to also rename in-active versions and made mkdir_recursive private, as it is only a helper and no exported method 2010-02-15 04:35:32 +00:00
Ralf Becker
aca8b220df fixed problem pointed out by Nahuel Grisolia <ngrisolia@cybsec.com> 2010-02-13 02:57:22 +00:00
Ralf Becker
22630b849a fixed problem pointed out by Nahuel Grisolia <ngrisolia@cybsec.com> 2010-02-13 01:19:27 +00:00
Nathan Gray
30db6582f7 Don't modify filter columns with numeric keys 2010-02-12 18:36:04 +00:00
Klaus Leithoff
3ac8b33231 move the ie dropdown menu hack to jsapi, make it an preference, so you can switch it off, if it does not work for you 2010-02-12 09:04:44 +00:00
Jörg Lehrke
3fb2b0173b address moreData conflict between datastores 2010-02-09 10:44:15 +00:00
Jörg Lehrke
5cbb080b42 Fix old formats folding issue 2010-02-09 10:43:06 +00:00
Jörg Lehrke
d75b2d3d12 Enable SlowSync optimization with old mappings; vCalendar 1.0 folding 2010-02-08 19:48:33 +00:00
Jörg Lehrke
df51d3a409 Update SyncML user preferences immediately 2010-02-07 20:28:15 +00:00
Jörg Lehrke
0197125d42 Fix empty default domain issue again 2010-02-07 17:53:28 +00:00
Jörg Lehrke
3c13536c3a Fix empty default domain issue 2010-02-07 14:28:55 +00:00
Ralf Becker
c99c79cd32 a few changes required to use sqlfs as base of a versioning stream wrapper (EPL only) 2010-02-07 06:19:56 +00:00
Jörg Lehrke
fa6626a5d1 failsafe session handling 2010-02-03 20:08:55 +00:00
Jörg Lehrke
712a87152f Fix multi-domain support for SyncML 2010-02-03 12:28:49 +00:00
Klaus Leithoff
995940eeb5 small improvements regarding the tooltip behavior for calendar 2010-02-02 11:23:11 +00:00
Ralf Becker
958452ff95 Implementation of global categories limited to a certain group:
- from user perspectiv they are global cat like the existing ones
  (also comming in two flavors: global or for a certain app)
- admins can select to limit a global cat when they create it
--> all members of a given group have the cat as a global one
==> This does a silent modification of the categories table: 
global cats get changed from cat_owner=-1 to cat_owner=0 !!!
2010-01-31 03:36:01 +00:00
Ralf Becker
5073a8b24e completly reworked admin >> global categories, in preparation for group specific global cats 2010-01-30 23:57:03 +00:00
Ralf Becker
e73dcb2a27 fixed colorpicker (as not using current color) and added colorpicker widget to etemplate 2010-01-30 23:55:36 +00:00
Ralf Becker
43553a0226 - depricated return_single($cat_id) in favor of read($cat_id) return not
an array with a single cat, but just the cat
- read($cat_id) and id2name($cat_id,'data') return now data as array
- edit($cat) and add($cat) now serialize data, if it's an array
- return*() have optional parameter to return data as array (default is
  still to return it serialized)
- new constants categories::GLOBAL_APPNAME='phpgw' and
  categories::GLOBAL_ACCOUNT=-1 (the later will change in the next step)
2010-01-30 23:50:51 +00:00
Jörg Lehrke
32639bd47e Major SyncML Calendar update
- SIFE support improved
  - various vCalendar 1.0 issues fixed
  - device specific timezone support for recurring events
  - pseudo exception handling improvements
2010-01-29 21:42:54 +00:00
Ralf Becker
61d26df913 reworked auth classes, to allow them to use each other and a new auth class using a primary backend (ldap) and a fallback (sql) 2010-01-28 04:22:37 +00:00
Ralf Becker
30e13c4acf first step of group prefs (backend only for now) 2010-01-27 05:44:31 +00:00
Ralf Becker
5e3541c5b2 read all installed apps and not just the enabled ones 2010-01-27 05:22:41 +00:00
Ralf Becker
49b237ec72 handing argument types for wz_tooltips and only using UnTip(), if tooltip is NOT sticky 2010-01-24 03:15:12 +00:00
Ralf Becker
49d444e3c9 fixed problem if $order is given as string, supporting it now again 2010-01-24 01:31:06 +00:00
Ralf Becker
0c5e495994 fixed common::setLocal() to fallback to en_US, not en_EN (which does not exist) and then de_DE (giving german) 2010-01-24 01:07:26 +00:00
Hans-Jürgen Tappe
2606c0b439 Remove duplicate return. 2010-01-22 21:43:50 +00:00
Hans-Jürgen Tappe
9c5fd08d90 Fix backup->restore() as discussed on the devel list:
- Internationalization of error messages.
- Typos
- Add missing code documentation
- Respect return code of db->transaction_commit()
- Add missing filename arguments in restore() calls.
2010-01-22 21:39:19 +00:00
Klaus Leithoff
577ce3e8df improve db_backup/restore 2010-01-22 13:52:04 +00:00
Ralf Becker
0e405049b3 A few improvments with hooks:
- register_all_hooks deletes now hooks of no longer existing apps
- hooks get instanciated directly with egw object, to cache the hooks
  read from the DB (and not read it again on each request)
- hooks get now stored by location, so no need anymore too loop for each
  hooks::process() call to all apps to find applying hooks
- hooks::process($location,$order,$no_permission_check) no longer
  defaults automatically puts current app in $order, if $order is not
  given, without $order hooks are executed in application order!
2010-01-21 23:31:28 +00:00
Ralf Becker
9c4b9aebbf fixed not deleted files in filesystem 2010-01-21 22:56:57 +00:00
Ralf Becker
507bad0b92 new registry method edit/edit_id to edit an entry 2010-01-19 22:14:39 +00:00
Klaus Leithoff
30abf86181 only warn, for no ziparchive, if you want to backup files 2010-01-19 15:27:30 +00:00
Klaus Leithoff
0075e7f4cd attempt to improve the parsing/cleaning of html messages. 2010-01-19 13:29:16 +00:00
Jörg Lehrke
21a2cab5a8 Fix session issue 2010-01-18 14:57:35 +00:00
Ralf Becker
4600c7cb38 Imported latest version of wz_tooltips (5.31) as they no longer need to
process the whole dom tree to enable the tooltips.
(Also made the changed from r23372 again)
2010-01-17 03:20:45 +00:00
Ralf Becker
8b2fe41fe0 refractored our exception handler a bit, to allow using part of it from ajax too. Ajax logs now the exception to the error_log and only shows a trace to the user if enabled in the config, like the rest of EGroupware 2010-01-14 23:50:06 +00:00
Klaus Leithoff
83b53cadbe use require_once instead of require, as we seem to run into some 'cannot redeclare class'-errors 2010-01-14 11:43:54 +00:00
Jörg Lehrke
16c190cfe2 Improve SyncML session handling 2010-01-13 09:05:27 +00:00
Jörg Lehrke
59affe07ce Improve SyncML session handling; code cleunups 2010-01-13 08:47:00 +00:00
Ralf Becker
07d7b66735 some fixes for session of basic auth clients as sogo connector:
- added user IP to hash used as session id (so changed IP, different devices force a different session)
- returning false in verify, if domain is changed
- fixed "Wrong IP" message
2010-01-12 03:55:42 +00:00
Ralf Becker
aca03d2dbc somehow forgot to remove old xajax files 2010-01-12 03:42:46 +00:00
Jörg Lehrke
548f5f8c98 Fix various issues introduced with Funambol adjustments; code cleanup 2010-01-10 19:02:16 +00:00
Jörg Lehrke
3242e169cc More Funambol adjustments and workarounds 2010-01-09 18:04:21 +00:00
Jörg Lehrke
49823ecd7e Fix encoding issues; improvements for Funambol clients 2010-01-08 13:09:36 +00:00
Ralf Becker
583a4b91d7 register doXMLHTTPsync as an alias to call doXMLHTTP synchronious 2010-01-08 01:16:29 +00:00
Ralf Becker
d9d303db6d remove reference from $obj =& new obj() constructs, to get ride of depricated warnings in php5.3 2010-01-07 23:44:33 +00:00
Ralf Becker
65aa5f8740 using new xajax version 0.5, thought automatically defining all pre 0.5 response functions, so no changes in EGroupware callbacks necessary, everything should work as before 2010-01-07 23:39:17 +00:00
Ralf Becker
19215ae75e adding stock xajax_0.5_minimal 2010-01-07 23:33:20 +00:00
Ralf Becker
8d55e4800e fixed supported-report-set according to a calendarserver example and reorganized HTTP_WebDAV_Server to generally support hierachical properties 2010-01-07 04:24:45 +00:00
Ralf Becker
b446f6de4e supported-report-set as required for CardDAV and Sogo connector 2010-01-07 02:04:09 +00:00
Ralf Becker
d53f0c91bf ctag for addressbook, sogo connector seem to require it, thought it should be optional, anyway ctag makes sense 2010-01-05 23:25:17 +00:00
Jörg Lehrke
ed519fda33 Optimized Funambol recognition 2010-01-05 10:09:47 +00:00
Ralf Becker
19dd3785a9 make input readonly via javascript to NOT trigger mobile devices to display a keyboard 2010-01-01 23:04:39 +00:00
Christian Binder
b3a02f9408 recognize zero value also as a real value 2009-12-30 13:48:00 +00:00
Ralf Becker
08d5ce1f30 fixed not used user date and time format, if no timezone set 2009-12-24 01:48:51 +00:00
Ralf Becker
7bfa59767c fixed typo preventing creation of new events, if no timezone pref is set (should show just the server timezone) 2009-12-24 01:03:35 +00:00
Christian Binder
86346deefe fixed empty resultset if num_rows option is not defined, removed some weird indents 2009-12-16 13:10:55 +00:00
Klaus Leithoff
b48c4f51fc improving the display by toggling the editor mode; improving import of html mails after flaw in rev28758 2009-12-16 10:57:37 +00:00
Nathan Gray
219ae4d224 Can't use ExecMethod2(), it doesn't pass by reference.
Used code to pass options by reference from nextmatch widget so apps can update  array if they need.
2009-12-08 17:56:22 +00:00
Ralf Becker
76e43e442c fixed typo 2009-12-08 08:19:58 +00:00
Nathan Gray
dd1370f97f Implement Ralf's suggestion of an options array to pass extra query parameters 2009-12-07 21:42:20 +00:00
Ralf Becker
6aa95316ba using a static var as cache, which is a reference to the session:
a) automatic shared between all instances of accounts class
b) no need to have a shutdown function storing it to the session
--> cleaner code
2009-12-07 17:56:31 +00:00
Ralf Becker
c772e1d57d "new method acl::get_location_grants(), jaytraxx was missing ;-)" 2009-12-07 12:36:25 +00:00
Ralf Becker
0af8b60e39 "Maximum number of titles to query from an application at once (to NOT trash mysql)" 2009-12-07 11:18:13 +00:00
Ralf Becker
104e2464d5 moved one-time storage of server timezone and restore of it from egw_time to egw class, as in 1.6.003 now 2009-12-03 08:10:48 +00:00
Ralf Becker
c743665438 "switching logging off again" 2009-12-03 07:56:34 +00:00
Ralf Becker
4e2a8131c3 "partly reverting r28676, as array2string and function_backtrace is not yet loaded" 2009-12-03 07:44:10 +00:00
Klaus Leithoff
493789cec5 extend some debug infos in egw_sessions; add a 4th param to replaceTagsCompletley in translation class; prepare some more htmlpurifier stuff in order to use it for the activation of links; wrap the creation of the htmlpurifier default config in a function, to be used as config object for changes when about to be used with html::purify 2009-12-02 14:56:41 +00:00
Klaus Leithoff
8d3d3c8a6d add a cid scheme to purifiers URI schemes, to be able to process inlineimages in eMails. 2009-12-02 14:41:44 +00:00
Ralf Becker
b59a688fbb - fixed not working rename in entry directories in /apps (eg. rename of
an infolog attachment), was caused by use of url_stat from sqlfs
  instead of links stream wrapper
- fixed wrong mime type / icon in files stored via netdrive from msword
  (the first use the extension .tmp, before renaming file to .doc:
  sqlfs "detects" mime type only from the extension and did not recheck
  it if a file gets renamed, that's now fixed)
2009-12-01 14:51:13 +00:00
Jörg Lehrke
00f1a811a6 Fix 'enforce server' double adds 2009-12-01 11:18:38 +00:00
Jörg Lehrke
c63a538f13 Optimize SyncML performance 2009-12-01 10:14:23 +00:00
Ralf Becker
691cc6bb3e we need to first check if the constant is defined, as we get a fatal error in php5.3 otherwise 2009-11-30 20:29:01 +00:00
Ralf Becker
488d34d820 "fixed wrong build pass, causing an open_basdir warning, as url get appended to egroupware dir" 2009-11-30 16:21:02 +00:00
Ralf Becker
bf6d7835ad setting server timezone as early as possible, to avoid warnings it's not set 2009-11-30 14:40:27 +00:00
Ralf Becker
80774a3468 avoid warning in php5.3, if argument is an array 2009-11-30 14:39:38 +00:00
Ralf Becker
2d93ce28cc "fixed warning in setup and correctly reading config first" 2009-11-29 16:53:17 +00:00
Jörg Lehrke
a0e1a238dd Optimized SyncML memory footprint; fixes various filter issues 2009-11-29 14:03:45 +00:00
Ralf Becker
f2e52e1478 fixed sometimes not translatable phrases longer 128 chars, problem was a trim() after truncating the message to 128 chars 2009-11-28 16:20:21 +00:00
Ralf Becker
c8b795fe83 if file is moved from one filesystem / wrapper to an other --> copy it
(rename fails cross wrappers)
2009-11-28 15:23:26 +00:00
Klaus Leithoff
c8323fc034 hack to influence selectbox width behavior for MSIE; applied to all selectboxes created by html::select and etemplate.js loaded 2009-11-28 14:32:33 +00:00
Ralf Becker
ef67ed41e3 commiting fix again, please update before your commit, to NOT overwrite other peoples commits 2009-11-28 11:40:10 +00:00
Oscar Manuel Gómez Senovilla
2d678b8966 Missing file for the patch for moving the lang files in previous rev 2009-11-28 11:34:40 +00:00
Ralf Becker
d47bb7dd88 fixed replacement of multiple placeholders 2009-11-28 11:30:53 +00:00
Ralf Becker
58b4f7b487 fixed docu 2009-11-28 10:52:20 +00:00
Ralf Becker
51f8d5b7b0 egw_vfs::download_url requires egw::link, as it is relative to egroupware dir 2009-11-28 10:31:20 +00:00
Ralf Becker
fd0bfe97ea querying date_default_timezone_get() only once and storing it as
$GLOBALS[egw_info][server][server_timezone], as it fills the log with
warnings under php5.3
2009-11-28 10:18:21 +00:00
Klaus Leithoff
57ce5a4c4c handling parameter-replacements in translation class 2009-11-27 13:16:20 +00:00
Ralf Becker
734a9f6947 HTTP_REFERER seems NOT to get urldecoded, causing url already containing
a comma in calendar got double encoded, which stalls the calendar
(no access to calendar of "1%2C2"!)
2009-11-27 12:35:57 +00:00
Klaus Leithoff
5cb72ec6df purifier upgrade to 4.0.0 2009-11-27 09:37:41 +00:00
Klaus Leithoff
b29fdf18dc switching to modern purifier notation, as of in 4.0 the old style is deprecated 2009-11-27 09:32:22 +00:00
Christian Binder
30fd54c4ac central method in categories class to check a given list of category ids for needed permission 2009-11-26 08:24:51 +00:00
Ralf Becker
0814820652 new option &128 to NOT require an extra trigger for date popup, clicking
into input box is enought and removing of extra separators to be more
compact
2009-11-25 20:19:35 +00:00
Jörg Lehrke
cf92ec1930 Fix RRULE issue with trailing colon 2009-11-25 19:17:52 +00:00
Jörg Lehrke
ca9f3fe1eb Fix WSP issue in QP paramters 2009-11-25 09:40:25 +00:00
Jörg Lehrke
d6663242d1 Fix empty value issue 2009-11-25 08:50:51 +00:00
Klaus Leithoff
e3d06b2219 if we encounter potential malicious script, we run it through html::purify. we test that again against potential malicious code, and drop the content only if we fail the test against the cleaned content as well. we set egw_unset_vars at any case with the original content, in case the application in question makes use of it. 2009-11-24 11:28:49 +00:00
Klaus Leithoff
d228a33ff1 take care that charset and tempdir have appropriate values, no matter if they are initialized at the time 2009-11-24 11:18:06 +00:00
Jörg Lehrke
bf9799ebfe Improve multi-domain support for SyncML 2009-11-22 18:48:51 +00:00
Jörg Lehrke
67e9dc48e2 Add additional datatstores in varios places 2009-11-22 17:50:16 +00:00
Jörg Lehrke
76ffd72eb6 Add multi-domain support for SyncML 2009-11-22 17:49:09 +00:00
Klaus Leithoff
badbc1fead refine purify definition to allow for anchor tags 2009-11-21 17:24:36 +00:00
Jörg Lehrke
d8ee864991 SyncML filter handling improved, code cleanup 2009-11-20 07:24:00 +00:00
Nathan Gray
7744508999 API changes to support optional link sub-types 2009-11-19 20:09:30 +00:00
Klaus Leithoff
84b0a80b5a improve html purify's default filtering 2009-11-19 15:13:14 +00:00
Klaus Leithoff
4515b1fec0 adding html.allowed to purify with list of allowed tags; providing the ability to switch off purify, when calling fckEditorQuick (useful, when the cleanup is already done) 2009-11-19 11:13:36 +00:00
Ralf Becker
221473ce0f make dynamic resizable sidebox width app specific 2009-11-18 20:00:26 +00:00
Jörg Lehrke
d1b10adf4a Fix Domain Issue (Bug #2367) for SyncML 2009-11-18 18:57:00 +00:00
Klaus Leithoff
d4b0e572a1 some more documentation, some improvement in convertHTMLToText and replaceEmailAdresses 2009-11-18 10:38:15 +00:00
Christian Binder
cdd50f6b55 new method check_perms for categories class 2009-11-18 07:42:14 +00:00
Jörg Lehrke
14770c3689 Fix for 'Enforce Server' during SlowSync 2009-11-17 21:20:32 +00:00
Ralf Becker
4181ddaecf "throw assertion failed exception (with trace), if redirect fails because output already started" 2009-11-17 14:56:57 +00:00
Jörg Lehrke
4b490c2e8b Add additional datastores 2009-11-17 07:13:21 +00:00
Ralf Becker
1754508ce9 "let new method hooks fail gracefully if hook class-file does not exists (like the old hooks do, eg. if app got removed)" 2009-11-16 09:42:53 +00:00
Christian Binder
da7db21806 also match against trimmed database entries when categories should be searched by $filter 2009-11-16 06:54:03 +00:00
Christian Binder
5dbc859f71 fixed missing $this-> operator which prevented ACL read on sync - let categories class always enumerate group ACLs (it was skipped for LDAP backends) 2009-11-13 09:55:54 +00:00
Ralf Becker
fc244efb1f "- change cast to string to be more describtive: \"Wednesday, 2009-11-11 11:11:11 (Europe/Berlin)\"
- check if translation class is available, before calling it"
2009-11-12 09:30:37 +00:00
Jörg Lehrke
81d8ea7bbb Fix conflict handling issues 2009-11-11 20:16:34 +00:00
Jörg Lehrke
b3a1f2de10 Add device specific timezone settings 2009-11-11 20:15:29 +00:00
Jörg Lehrke
5bdf4a4942 VTIMEZONE and TZID are not supported by VCALENDAR VERSION=1.0 2009-11-11 20:14:34 +00:00
Jörg Lehrke
ad20d701e2 Fix UID issue 2009-11-11 20:13:03 +00:00
Jörg Lehrke
08d11093dd Add domain support 2009-11-11 10:25:50 +00:00
Jörg Lehrke
edd5a58870 Add ./event datastore to capabilities 2009-11-11 09:18:00 +00:00
Jörg Lehrke
bb7ad55ea4 Support for Synthesis VTIMEZONE RRULES 2009-11-11 09:16:46 +00:00
Ralf Becker
ddfcdfff06 allow EGroupware users to select only timezones, for which we have a VTIMEZONE component (I think the others are only unofficial aliases, not included in our database) 2009-11-09 09:00:53 +00:00
Klaus Leithoff
e99af0dfd6 revert of the change in r28264 as it would allow crossside scripting 2009-11-05 09:06:41 +00:00
Klaus Leithoff
5a4f03cf7b fixing a problem regarding the activation of links encoded with htmlspecialchars 2009-11-05 08:40:57 +00:00
Klaus Leithoff
914861ac59 bugfix groupmembers of groups got lost, while renaming accounts 2009-11-04 11:17:06 +00:00
Klaus Leithoff
c5453aa3f9 make sure there is a wordboundary after script, while testing for malicious code (as text like < blabla description blabla > triggered the expunge of the text 2009-11-02 11:36:00 +00:00
Klaus Leithoff
a49344abf1 port Christian Binders patch to handle config values as well (e.g.:customfields): little helper for prefs if unserialize failed - this can happen if the pref comes from an installation with another charset than the current system charset 2009-11-02 10:55:30 +00:00
Ralf Becker
0a4c2614a5 - moved user timezone list to egw_time
- added standard widget to select timezones
- modified egw_time::server2user and ::user2server to return NULL, if
  time can not be parsed, not throwing an exception (as this are legacy
  function meant to easy convert existing code, eg. replace strtotime())
2009-11-01 12:48:25 +00:00
Christian Binder
345993086a fixed bug reported by LRA Bad Reichenhall: egwpopup not displaying when notificationbell is clicked 2009-10-26 15:10:05 +00:00
Ralf Becker
6ecac6f650 "removed unnecessary check for NOT allowed apps of anon user from session::verify, as there's an other one in egw::verify_session throwing an exception, which can be used to handle the situation better" 2009-10-25 17:28:30 +00:00
Jörg Lehrke
b3b7114db8 Fix Session Handling Problem again 2009-10-24 15:52:47 +00:00
Jörg Lehrke
291d3b04cb Add X-RECURRENCE-ID for vCal 1.0 2009-10-24 15:52:06 +00:00
Christian Binder
08efec194f fixed not found user sessions while working with notifications and assured that all_no_sort param gets handed over to handler class 2009-10-23 13:07:11 +00:00
Ralf Becker
ec5d0cb0c5 "fixed hook signature to always be an array (even if user code only supplys a location-string)" 2009-10-20 07:11:58 +00:00
Christian Binder
c7966ba8a4 little helper for prefs if unserialize failed - this can happen if the pref comes from an installation with another charset than the current system charset 2009-10-19 21:15:12 +00:00
Jörg Lehrke
bfa071c319 Funambol Client 4 Android uses version 2 and is pretty new 2009-10-19 20:27:55 +00:00
Ralf Becker
0d48d6021e "setting a higher CHUNK_SIZE to improve performance" 2009-10-19 07:47:06 +00:00
Ralf Becker
df8217ff61 "fix to cope with $vars[0] containing '%2' in lang() calls" 2009-10-19 07:41:03 +00:00
Ralf Becker
e1e712c9fb php5 constructor and constants for default and forced prefs owner 2009-10-18 12:45:09 +00:00
Jörg Lehrke
431530c8bb Fix RRULE colon bug 2009-10-17 21:59:12 +00:00
Ralf Becker
c1f385be48 "fix autoindex to work with iterator" 2009-10-17 12:22:40 +00:00
Ralf Becker
447c8b618a Using an iterator to query addressbook in chunks of 100 contacts to
allow to do propfinds on hugh addressbooks independent of memory_limit:
- regular groupdav_handler::profind() method gets split in a method just
  computing a filter and a callback to run that filter on the backend
- groupdav_propfind_iterator class is returned from profind method
  instead of an array with information about the files
- iterator calls groupdav_hander::propfind_callback if there are no more
  entries from the previous call
- constructor of groupdav_propfind_iterator allows to pass an extra array
  with files to return, to simplify modifying existing implementation
  (were eg. information about the current path, get's supplied from
  calling groupdav class).
2009-10-17 09:13:36 +00:00
Ralf Becker
e0a9ae63cf "fix allowing (at least in the calendar GUI under Linux) to enter curing events starting prior to 1970" 2009-10-16 05:13:52 +00:00
Ralf Becker
c4e9e875a2 "- fixed error prefenting updating of locks
- added constant do enable debuging of locks"
2009-10-13 21:05:09 +00:00
Ralf Becker
c0eec4aa07 "quiten permanent error_log" 2009-10-13 19:18:38 +00:00
Jörg Lehrke
7c4592434c Adds COUNT to VTIMEZONE RRULE and fixes year selection 2009-10-12 20:11:57 +00:00
Christian Binder
501e715561 re-added support for gzipped and unzipped files for db restore on empty installations - was (maybe accidentally) removed with housekeeping feature 2009-10-12 13:28:28 +00:00
Ralf Becker
3cbf249bea "setting minimum php version to 5.2" 2009-10-12 09:48:04 +00:00
Ralf Becker
624cf172e8 "fixed wrong path buildng (missing slash)" 2009-10-12 09:46:36 +00:00
Ralf Becker
756ecd2b18 "updated function_backtrace to show if class method is called static (::) or not (->)" 2009-10-12 09:44:36 +00:00
Ralf Becker
587bd2bc95 - added an optional timezone quick selection in top menu (it shows up
only if you select more then one timezone to display in it)
- moved generation of beautified timezone array to egw_time
- moved all preferences hooks to a new class preferences_hooks (updated
  version so setup updates hook data, or you need to call admin>>update
  hooks)
2009-10-12 09:41:46 +00:00
Ralf Becker
4e21b766b9 - reworked old browser class to use have only static methods
--> recogniced it's so old and dusty, it does not make sense any more
--> moved content_header() method to html class
- fixed calls of browser->content_header to use html::content_header
  instead
2009-10-11 11:37:46 +00:00
Ralf Becker
5225fe81e1 automatic convert egw_time/DateTime objects when quoting values 2009-10-08 16:20:37 +00:00
Ralf Becker
3ef01bc589 Refined egw_time class a bit more and and integrated it with preferences
class, to automatically set relevant user prefs (tz, dateformat,
timeformat).
2009-10-08 16:14:18 +00:00
Ralf Becker
e0795f7328 "fixed session preferences, were broken since 1.6" 2009-10-07 18:59:01 +00:00
Ralf Becker
ab9c9d21b6 New egw_time class used to implement correct timezone handling for
calendar, plus a first calendar implemenation.

This implementation just replaces following calendar_bo methods:
- date2ts($date,$user2server=False)
- date2array($date,$server2user=False)
- date2string($date,$server2user=False,$format='Ymd')
- format_date($date,$format='')
which static methods from egw_time.

If your server is in same timezone as the user, you should experience no
difference. As a small test, you can switch to an other timezone (eg.
UTC) to recognice on a weekly repeating event (which still repeats on
equal server time!) that it moves by one hour when daylight saving
changes. This switching to a TZ with different daylight saving rules,
was not working before.

Happy testing :-)
2009-10-07 13:29:06 +00:00
Christian Binder
efad9168fa fixed typo 2009-10-07 08:05:10 +00:00
Ralf Becker
610b629325 first step for real timezones in EGroupware 2009-10-06 06:45:28 +00:00
Jörg Lehrke
83d00a845a Fix VTIMEZONE part of VCALENDAR 2009-10-05 04:38:09 +00:00
Ralf Becker
ee536325fc "improved support for other users calendar/addressbooks" 2009-10-03 10:22:14 +00:00
Ralf Becker
656ae5713b "fixed not working egw_link::set_cache" 2009-09-29 09:58:05 +00:00
Jörg Lehrke
b1a9d0f546 Fix issue with adding new entries from device 2009-09-28 19:45:35 +00:00
Klaus Leithoff
2dc68b1c8d added the option allfirst for account display to show [username] firstname lastname, as the option all displayed [username] firstname lastname and not [username] lastname, firstnamne as advertised 2009-09-28 15:10:02 +00:00
Jörg Lehrke
217f0de233 Calendar special pseudo recurrence exception handling moved to SyncML code
- content type is now available in replace method
  - pseudo to real exception propagation does now work within a single session
2009-09-23 19:20:15 +00:00
Nathan Gray
a3df76902f Hide close button if user is forced to have the section on their homepage 2009-09-21 21:47:04 +00:00
Nathan Gray
9ec105b3ca Implement close button for homepage boxes. Still needs a little work to hide the close icon when the box is forced by admin. 2009-09-21 21:29:39 +00:00
Ralf Becker
cdd5ba5dc2 removed tests folder, as it is NOT used by EGroupware 2009-09-21 08:18:50 +00:00
Jörg Lehrke
6648c7c404 Fix Funambol configuration issue and missing spaces in log enrties 2009-09-20 19:45:03 +00:00
Ralf Becker
65a08ece84 "2. fixing the fix ;-)
only add optional user objectclasses for users NOT for groups"
2009-09-15 08:43:44 +00:00
Ralf Becker
868c89e606 "- making csv_spilt and escape_date methods public static (to use them in other classes)
- fixed not working calls to remove_dir_content"
2009-09-14 17:48:58 +00:00
Ralf Becker
a8c9eebf52 Fix to get iCal in OS X 10.6 working (again):
WebDAV RFC 4918 allows a full url or a path as <D:href>:
        http://www.webdav.org/specs/rfc4918.html#ELEMENT_href
Some clients can NOT deal with one or the other:
- KAddressbook (at least in 3.5) can NOT subscribe to addressbooks (it
  does not find them) if just a path is used
- iCal in OS X 10.6 generates wrong requests, if a full url is used
2009-09-14 08:44:37 +00:00
Klaus Leithoff
ae9c0bc918 improving decode_header for charset x-unknown and encoding Base64 2009-09-08 13:25:57 +00:00
Klaus Leithoff
7272217d14 some work in progress regarding the mailhandling in tracker, moving some stuff to translation class from bofelamimail to be commonly available 2009-09-04 13:40:10 +00:00
Ralf Becker
4e2f35d4dc added support for ms excel 2007 2009-09-01 14:41:48 +00:00
Klaus Leithoff
b41730ee15 always try to set the Sender information; use set Sender, then try using the Sender info possibly supplied with the SMTP Auth info, then use the Profiles identity eMailaddress, if available 2009-09-01 07:12:50 +00:00
Ralf Becker
a52fa4d5fc "fixed sometimes not loaded self:$db object in crontab calls" 2009-08-27 19:59:18 +00:00
Klaus Leithoff
44a53ee05b backup housekeeping feature from H.J.Tappe together with a feature to backup egroupware the files - tree from Christian Fueller; The File-backup feature is testet against relatively small eGroupware Instances; It requires ZipArchive (If you dont have that, the backup should run, but without backup of files); AND if you enable it backup takes a) more time to run and restore b) way more space, so you should enable housekeeping 2009-08-27 12:46:12 +00:00
Ralf Becker
af19f3663e "added stream_stat required to use file_get_contents" 2009-08-26 14:10:25 +00:00
Ralf Becker
bcfe710de2 Fixed typo happend --> happened, as reported by David Rankin 2009-08-25 08:31:37 +00:00
Ralf Becker
cdd5103888 fixing a few more PHP5.3 problems, caused by PHP5.3 behavior to NOT
register cookies in $_REQUEST any more by default (there's now a php.ini
variable 'request_order' to controll that, but we want to work with a
default configuraltion):
- session restore was not working, as only $_REQUEST[sessionid] was checked
- multi domain installs not working, as domain cookie was not checked
- encrypted session were not working, because kp3 cookie was not checked
--> there's now a static method egw_session::get_request($name), which
checks $_REQUEST[$name], $_COOKIE[$name] and for that Safari bug also
$_COOKIE[ucfirst($name)]
2009-08-22 19:32:28 +00:00
Ralf Becker
ceaf32919f "fixing the fix ;-)
adding the addressbook object classes only when adding new accounts"
2009-08-22 07:51:55 +00:00
Ralf Becker
1628c09432 "- adding addressbook object classes to accounts (if they are supported by the server)
--> overcome problem reported by krupka(at)depag.de on the german list: password get's lost if contact get saved, because it had to remove the account first to add the addressbook object classes
- docu update
"
2009-08-22 07:13:59 +00:00
Ralf Becker
19e6159a4a - phpDocumentor headers and improved docu about class methods
- coding stylite cleanup
2009-08-22 06:58:38 +00:00
Ralf Becker
109c50fecf not used since some time (used vcard parser class is addressbook_vcard) 2009-08-22 06:48:07 +00:00
Ralf Becker
74a41902b8 "quote all table or column names, to allow to use reserved words of dbms" 2009-08-19 10:20:01 +00:00
Christian Binder
6b3c7942d6 disabled horde error logging by default; sorry devs but this killed my production server while accidentally having turned it on and synced a big addressbook - maybe we avoid happening this to others 2009-08-17 14:55:02 +00:00
Ralf Becker
8c8d1e7b8c "cant create an index without fields (was observed in broken backups)" 2009-08-17 07:30:47 +00:00
Ralf Becker
8d60b25ccf "autoindex for collections:
- listing resources in collection
- displaying properties
--> easy debuging and discovery of CalDAV server"
2009-08-16 15:24:43 +00:00
Ralf Becker
7ec34336f3 some precaution to never allow to (recursivly) remove /, /apps or /home 2009-08-12 09:47:53 +00:00
Ralf Becker
c9e2127325 "moving txt above all other text plain types, to get text/plain displayed as \"TXT file\"" 2009-08-10 17:00:44 +00:00
Nathan Gray
20fad24579 latin1 is not a valid parameter for htmlspecialchars(), changed fallback charset to UTF-8 2009-08-06 21:07:06 +00:00
Ralf Becker
c6ea1e2720 mime type and icon for msword xml document 2009-08-03 11:41:08 +00:00
Klaus Leithoff
8f378da6c9 fix for jscalendar in sitemgr (was not displayed) provided by H.J.Tappe 2009-07-31 12:56:39 +00:00
Ralf Becker
7575812c04 "- fixed bug introduced in r27541: cache was updated with an empty translation array (typo in app-name variable)
- when updating all langs, do a transaction for each lang and update the cache after commiting the transaction (before the transaction was about all langs and the cache update withint the not commited transaction)
- fixed problem with autoloading of languages, check used filectime, update used filemtime, which can differ of cause"
2009-07-27 08:18:26 +00:00
Ralf Becker
3faa647194 "fixed call to old php4 constructor" 2009-07-24 11:35:34 +00:00
Ralf Becker
33b8cd82aa "- fixed typo phpgwpai (does not matter, as phpgwapi is searched anyway, if given app is not found)
- php5 __construct()
- using static common::find_image()
- removed function available from php5.1 on, as that's the requirement anyway"
2009-07-24 10:38:47 +00:00
Ralf Becker
28a9c4b470 "fixed two issues with translations in trunk
-  update the tree-level cache, as we can not effectivly unset it in a multiuser enviroment,
as users from other - not yet updated - instances update it again with an old version!
- add_app(): we have to use array_merge! (+= does not overwrite common translations with different ones in an app)
array_merge messes up translations of numbers, which make no sense and should be avoided anyway.

"
2009-07-24 10:16:00 +00:00
Jörg Lehrke
91f0b9ad9d Empty ENCODING and CHARSET 2009-07-18 18:00:39 +00:00
Ralf Becker
d679a00d1d "fix for bug #2112: fix maybe wrong case in username on login
makes problems eg. in filemanager (name of homedir)"
2009-07-18 13:14:13 +00:00
Ralf Becker
52dbb060d2 "Fix for bug #2111: xml_functions.inc.php calls to an undefined method
as suggested by Igor Blanco"
2009-07-18 12:44:38 +00:00
Ralf Becker
cdb601da56 "Fix for bug #1885: egw_db->row doesn't work as expected
reverted r25031, as it returns the first record with numeric indexes (it's anyway a depricated function)"
2009-07-18 12:33:52 +00:00
Jörg Lehrke
48538a6ced Give higher levels a chance to avoid QP 2009-07-18 12:31:00 +00:00
Ralf Becker
8fb60be7d7 checking if attachment or attachment dir exists, before trying to delete it, to quieten warning, also improved warning to be precise if file does not exist, is no directory, or permission missing 2009-07-18 09:12:52 +00:00
Klaus Leithoff
b6f0321b52 prevent using the numeric value of a group or user twice, by checking if it already exists for both sides 2009-07-17 10:32:57 +00:00
Ralf Becker
e667e168b4 - merged SyncML-1.2 branch with trunk:
svn merge ^/trunk/phpgwapi@27377 ^/branches/SyncML-1.2/phpgwapi .
2009-07-15 19:31:25 +00:00
Klaus Leithoff
3307109a1c reverted change of r72366 and fixed the real cause for the mainscreen_message problem: YOU SHOULD NOT HAVE TRANSLATIONS FOR mainscreen_message; You may have to force the reload of new language file-information 2009-07-06 11:11:40 +00:00
Klaus Leithoff
1e43e837c0 fix regarding get_app in translation. array_merge does renumber and += seems to bear problems, if there already is a translation for the given key (mainscreen_message) 2009-07-06 09:25:19 +00:00
Ralf Becker
28618da875 "egw_contentmap table \"belongs\" to syncml app!" 2009-07-03 07:43:02 +00:00
Ralf Becker
078edd98fd Fixed SQL error now giving an exception: it's caused by
vfs_stream_wrapper::get_path() returning an url without path
(sqlfs://default <-- no trailing slash), which causes
sqlfs_stream_wrapper::url_stat() to be called for an empty path, which
gives the sql error.
2009-07-01 18:03:46 +00:00
Ralf Becker
9a5c0f8d9c "removed forgotten comment, breaking the previous fix" 2009-07-01 16:17:44 +00:00
Ralf Becker
944bb3073c fixed since 1.7.002 not working update from 1.4:
- fs_link column is queried by sqlfs, but get created in 1.7.002
- pdo does not throw exception on sql errors, it silently ignores them
  --> told it now in constructor to also throw exceptions
- egw_vfs::find() was not always honoring the url option
2009-07-01 15:17:36 +00:00
Nathan Gray
19090879c4 Add ability to find out next run time as at a given date, instead of just 'now' 2009-06-26 14:26:14 +00:00
Klaus Leithoff
5e7b1d3fd6 little bugfix for the retrieval of images configured to load from vfs (vfs_imagedir) 2009-06-24 15:13:19 +00:00
Ralf Becker
50cac4e9b6 "Bugfix for tracker priorities 2-4 displayed wrong:
use += instead of array_merge, as we have phrases with numerical index, which get renumbered by array_merge
"
2009-06-22 12:46:41 +00:00
Klaus Leithoff
af523b5904 propfind: fix regarding the retrieval of sqlfs_props, if key of array with a single entry is the vfspath for the file in question 2009-06-10 10:31:28 +00:00
Ralf Becker
232252475f patch fixing many depricated functions (eg. posix regular expressions) and features, which fill up the error_log under php5.3 (and will no longer be available under php6).
Patch is mostly created by script in egroupware/doc/fix_depricated.php in separate commit.
I do NOT advice to apply this patch to a production system (it's commited to trunk!), as the automatic modified regular expressions have a good change to break something ...
2009-06-08 16:21:14 +00:00
Ralf Becker
c28be373a6 fixed wrong default parameter for $callback_params, call_user_func_array requires an empty array and not null (gives a fatal error under php5.3) 2009-06-08 15:46:45 +00:00
Ralf Becker
f601537b95 fix for php5.3, which by default seems NOT include content of $_COOKIE in
$_REQUEST (request_order php.ini variable)
2009-06-07 15:49:12 +00:00
Ralf Becker
3ec3c205ee created a rpm post script to automatic install or update EGroupware:
- cleaned up exceptions in cli code (no need to log, as it goes direct to the user)
- regarding small rpm redirect header (< 200 bytes) as no header
- fixed wrong detected vars for cli install (eg. webserver_url)
- fixed egw_cache to not stall if system_charset is not yet in db
2009-05-30 20:15:31 +00:00
Ralf Becker
132297a502 "add system-charset to keys of tree-wide cache, if not utf-8, as content depends on charset!" 2009-05-30 09:18:04 +00:00
Ralf Becker
75f4a3920e "Patch from Carsten Wolf:
Timesheet-Einträge mit Uhrzeit 0:00, die in der Winterzeit gemacht wurden, 
werden in einem Union-Query, der in der Sommerzeit stattfindet, dem falschen 
Tag zugeordnet. Vermutlich stimmt dies nur für den PostgreSQL query und ist 
Dir deshalb bisher nicht aufgefallen.

Der Patch:
Ändert den PostgreSQL-spezifischen Teil des queries so um, dass er 
Zeitzoneninformationen berücksichtigt."
2009-05-30 07:03:57 +00:00
Ralf Becker
53264e2c2b "new static method to get an attribute of a column, eg. the comment" 2009-05-30 06:58:48 +00:00
Ralf Becker
88c9aca3f3 "allow egw_vfs::mount() to work in setup:
- need to read fs-tab
- need to load wrapper (otherwise file_exists($url) fails)"
2009-05-28 11:29:17 +00:00
Ralf Becker
b32ded3400 "re-added (depricated) php4 constructor, as it get's called by some old apps" 2009-05-26 17:26:24 +00:00
Ralf Becker
7c8bd81149 "return a reference to the var in the session!" 2009-05-26 14:44:29 +00:00
Klaus Leithoff
0e4a75f027 added windows-1257 as it seems to be used widely, to display baltic letters 2009-05-26 13:42:05 +00:00
Ralf Becker
07825af683 "fixed not always executed hooks for disabled applications (using app-names from existing hooks now, instead of egw_info[apps])" 2009-05-26 11:55:52 +00:00
Ralf Becker
6d72b2b297 - fixed in some cases not working setup-cli (domain not detected)
- make update a separat setup-cmd-object
- fixed handling of egw_exception_wrong_userinput, to not include a
  trace (which is unneeded for regular input-validation)
2009-05-25 06:39:38 +00:00
Ralf Becker
7049fe4bc0 - implemented htmlpurifier also for sitemgr (only non site-admins) and
knowledgebase
- html::fckEditor() has optional parameter to NOT use htmlpurifier
2009-05-19 19:23:38 +00:00
Ralf Becker
8f797be836 Added HTMLPurifier (http://htmlpurifier.org/) Version 3.3.0
- can be used via html class like: 

        $clean_html = html::purify($html);

- using it now in eTemplate to remove malicious code from html:
  a) when displaying "formatted text"
  b) when "formatted text" get's input by the user
2009-05-19 17:32:06 +00:00
Ralf Becker
66ef863bd5 "disabling mime-type and size in link-title of attachments, as it clutters the UI and users dont need it most of the time. These details can allways be views in filemanager." 2009-05-19 10:23:29 +00:00
Klaus Leithoff
d2230cd000 adding .ico as image/x-ico 2009-05-18 12:55:19 +00:00
Klaus Leithoff
ba88fcbd9a fixing caching of images, if image is an array 2009-05-18 12:02:45 +00:00
Ralf Becker
44ce028592 "fixed not always displayed icons (eg. old nextmatch in translation-tools) and some more caching" 2009-05-16 10:22:56 +00:00
Ralf Becker
2408fbb0c9 "implemented dir() and scandir() for egw_vfs" 2009-05-16 08:22:20 +00:00
Ralf Becker
a083233c43 "allow to use now() beside current_timestamp, as Postgres backups contain it and it's easier to remember anyway" 2009-05-15 07:18:06 +00:00
Ralf Becker
c133b4b106 "- docu update
- using public and private for class vars
- __construct()"
2009-05-14 07:59:51 +00:00
Ralf Becker
65e53bd1e8 "fixed wrong webdav.php urls, if no vfs_image_dir set" 2009-05-14 06:41:28 +00:00
Ralf Becker
b8cfd7f85d "allow to use same names for add() and edit() as returned by read_single() or return_array" 2009-05-13 21:21:46 +00:00
Klaus Leithoff
86f1dde06f configurable favicon, configurable vfs image store for images, logos, icons 2009-05-13 14:33:36 +00:00
Ralf Becker
6617bec9ef Creating an own column (fs_link) for symlinks, as fs_content is a BLOB
and therefore not aware of charsets
2009-05-12 07:21:57 +00:00
Ralf Becker
09c0854173 "$stat[url] contains the reloved symlink" 2009-05-11 20:45:29 +00:00
Ralf Becker
85def60ffa "option to ignore hidden files (name starts with a '.' or is 'Thumbs.db'),
default is now to ignore them"
2009-05-11 20:42:23 +00:00
Ralf Becker
fc141457cf added translated languages and visible charset to charset selection 2009-05-11 08:10:05 +00:00
Ralf Becker
21a85af3d6 "fix for bug #2072: usergroups invisible after last svn update" 2009-05-10 15:02:04 +00:00
Ralf Becker
9e202e10f6 "fix for bug #2070" 2009-05-06 10:13:43 +00:00
Ralf Becker
0d28eb4cea "egw_vfs::find() always use name as second sort criteria" 2009-05-06 09:00:36 +00:00
Ralf Becker
6468dc8d77 "setting the value to 7, after reports on the user list, thought MySQL 5.0.51 with MyISAM engine works up to 10" 2009-05-04 16:47:21 +00:00
Ralf Becker
bc65324a7c new type F for egw_vfs::find to return only files or symlinks to files
--> dont show symlinks to dirs as attachements / link-widget
2009-05-04 16:37:10 +00:00
Ralf Becker
34e9825a91 "'class::method' is php5.2+, array('class','method') works in php5.1+ " 2009-05-02 16:45:38 +00:00
Ralf Becker
0cd2993504 "'class::method' as php5.2+, array('class','method') works in php5.1+ " 2009-05-02 16:12:20 +00:00
Ralf Becker
9e88b1ba9d "using lstat in find and check type 'd' directly against mode from lstat for better performance" 2009-05-02 14:15:31 +00:00
Ralf Becker
287131565f Fixed follow option in find():
- if base is a symlink to a dir, this one is listed anyway
- symlinks to dirs (beside the base) are only descended, if
  $options['follow'] is specified
- links are returned for type 'f'
--> removed follow option from find() in filemanager_ui::get_rows()
--> no more infinit symlink loops in filemanager GUI
2009-05-02 14:00:31 +00:00
Ralf Becker
edea73521e "quitent some warnings about not writable dirs, eg. if calling cli programms with users not having permissions for the cache dir" 2009-05-02 12:33:28 +00:00
Ralf Becker
b71d829bca "fix for bug reported on the english user list:
limit on the number of cascaded folders in Filemanager
--> MySQL 5.0 has a nesting limit for subqueries
--> working around that by limiting the nesting level to 10"
2009-05-01 19:12:25 +00:00
Ralf Becker
b296a97e31 always remove only our own scheme, as mounts require the other schemes to be kept 2009-04-30 11:21:56 +00:00
Ralf Becker
ecd9354d1d "fixed failed move or rename via WebDAV (eg. NetDrive on Windows):
trailing slashes added to all collections caused a rename to an empty filename
--> all training slashes get now removed prior to calling any backend functions"
2009-04-30 07:46:53 +00:00
Ralf Becker
11283d4f77 "copied COPY from HTTP_WebDAV_Server_Filesystem:
- it contained sql queries, which can not work in eGW
- to add Location header shown in rfc2518 example (section 8.9.5)"
2009-04-30 07:41:46 +00:00
Ralf Becker
1597cdc533 "adding path (EGW_SERVER_ROOT) to hash for basic auth pseudo sesion id
(otherwise different installs in different pathes using identical credentials would share the session, which is no good idea)"
2009-04-30 07:36:07 +00:00
Ralf Becker
14de24303e "prevent empty account-names from deleting whole /home" 2009-04-29 19:15:54 +00:00
Ralf Becker
b6eda8e39b "replacing colons with dashes in filenames, as some windows installs seem to have problem with colons in filenames" 2009-04-29 16:08:13 +00:00
Ralf Becker
7f976bd883 "fix for newly introduced bug reported on the lists:
Fatal error: Class 'notifications' not found in
  /home/domain/public_html/egw/etemplate/inc/class.bo_tracking.inc.php
--> reverts an older commit fixing a problem between the (depracated and no longer working) browser app and the browser class in the API"
2009-04-29 09:50:25 +00:00
Ralf Becker
a1c7c87195 "- removed unneeded stripslashes while reading the configuration, as it \"eats\" the backslashed of windows pathes (eg. messes up the default cache path)
- replaced depricated fetchSingle() with fetchColumn()"
2009-04-28 19:32:29 +00:00
Ralf Becker
eec6596e94 "__autoload()
- fix for error_reporting E_ALL
- disabling search over all apps: classes should either conform to new naming schema or use explicit includes"
2009-04-28 16:18:34 +00:00
Ralf Becker
d5ee989859 "- caching loginscreen+mainscreen messages instance (NOT tree) specific
- invalidating the cache also for translation::write (to be able to update the loginscreen message)"
2009-04-28 15:56:04 +00:00
Ralf Becker
7224022772 "fixed not working cache unset on instance level, if called within setup:
this causes new installed languages to NOT appear"
2009-04-28 13:27:18 +00:00
Ralf Becker
96f5529abf "log failed login because of hook 'session_creation' with account_id, to not block the account in that case" 2009-04-28 10:39:57 +00:00
Ralf Becker
e8577f10a7 "removed not used query variable" 2009-04-28 10:09:26 +00:00
Ralf Becker
6f556a23df "remove trailing slash, eg. from webdav" 2009-04-27 13:08:42 +00:00
Ralf Becker
a8bf31c274 "fixed handling of query parts in dirname and basename" 2009-04-27 11:49:50 +00:00
Ralf Becker
e003dfd82a "fixed an other accounts_ldap problem: too many entries returned on 2. and further pages" 2009-04-23 11:49:44 +00:00
Ralf Becker
4245df1f29 "only check callback, if defined" 2009-04-23 09:48:03 +00:00
Ralf Becker
94190a81f7 "also cache the languages" 2009-04-23 09:47:22 +00:00
Ralf Becker
defe88e0cf "fixed not / only partialy working lettersearch in Admin >> Manage groups" 2009-04-23 06:24:58 +00:00
Ralf Becker
561f5e5aac needed for check_load_extension (session-handler gets included before regular include via the header.inc.php) 2009-04-22 10:35:31 +00:00
Ralf Becker
660ab41661 "- egw_vfs::check_access() using resolved symlink to call check_extended_acl on backend
- mime_magic"
2009-04-22 10:02:18 +00:00
Ralf Becker
86b126ef3a "quietent \"Warning: mb_convert_encoding() [function.mb-convert-encoding]: Illegal
character encoding\" reported on the devel list"
2009-04-22 04:33:12 +00:00
Ralf Becker
a45c874f72 "added explicit init(false) calls for methods called by setup (they dont call init() as eGW does)" 2009-04-21 13:26:40 +00:00
Ralf Becker
3da8703202 "fix for bug #2049: PHP Extention error since last SVC update..." 2009-04-21 05:20:04 +00:00
Ralf Becker
2d438c6dc5 Caching provider for memcached using PHP's memcache extension 2009-04-20 14:33:31 +00:00
Ralf Becker
aca05a32e3 using new check_load_extension function 2009-04-20 12:43:44 +00:00
Ralf Becker
bf036043b2 - making all methods of translation class static
- caching the phrases in new egw_cache on Tree level
--> a good speed improvment on my devel system
- also added a global function
check_load_extension($extension,$throw=false)
2009-04-20 11:59:39 +00:00
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
Ralf Becker
7ae9317be1 "fixed not working stream_open() $mode == 'rb', was requiring write rights as != 'r'" 2009-04-19 07:30:26 +00:00
Ralf Becker
70f2d64273 "missing static" 2009-04-18 10:54:39 +00:00
Ralf Becker
1a8b605c17 method to create user friendly label for a mime type, eg. "PDF file (application/pdf)" 2009-04-18 09:53:36 +00:00
Ralf Becker
a694662838 "file_exists for vfs" 2009-04-18 09:51:51 +00:00
Ralf Becker
f12a0dc307 making whole mime_magic class static, for easier use and better caching by byte code caches 2009-04-17 06:25:33 +00:00
Ralf Becker
7233f87413 "fixed not updated modification time, if file get's updated (eg. replaced via a new update in filemanager)" 2009-04-16 16:32:30 +00:00
Ralf Becker
5629c10e12 "charset independent case-sensitive comparison for mysql, using BINARY operator now" 2009-04-16 07:38:16 +00:00
Ralf Becker
9e34658599 "fixed not working egw_vfs::dirname if result should be '/', eg. egw_vfs::dirname('/home)" 2009-04-15 21:09:04 +00:00
Ralf Becker
03e7348896 "fixing commit r26783/4 for mysql:
using octal numbers with mysql leads to funny results:
select 384 & 0400 --> 384 not 256=0400
--> converted 0400, 040 and 04 to 256, 32 and 4 for mysql"
2009-04-15 11:21:44 +00:00
Ralf Becker
e20bd1703b "fix for bug #2041: Postrgresql error when I try to access a file in sqlfs
\"CEST ERROR:  argument of AND must be type boolean, not type integer\"
"
2009-04-15 07:50:14 +00:00
Ralf Becker
3795ae9a98 "fix for bug #1867: Several problems with non-ascii as first char in filename:
that char is skiped in dir creation, rename or filecreation"
2009-04-09 13:24:34 +00:00
Ralf Becker
5291d0ac39 Fixing the fix ;-)
shadowLastChange has to be an integer
2009-04-09 08:11:24 +00:00
Ralf Becker
7698d3ef65 Fixed not (always) updated last password change date 2009-04-09 06:41:41 +00:00
Ralf Becker
bd8ba08bc3 allowing stream-wrappers to specify an other mime-type for directories 2009-04-08 09:54:13 +00:00
Ralf Becker
2248427e48 "fixed bug reported by Martin Kramer on the German list:
attachments via WebGUI are no longer working: 
File 'links://default/apps/infolog/1265/2009-04-07_1219.png' is not an absolute path!"
2009-04-08 09:10:07 +00:00
Ralf Becker
e21fdcc3fc "- docu update
- adding some options to quite stats
- using stat-cache only if it contains a positiv response or $eacl is not set"
2009-04-07 19:42:46 +00:00
Ralf Becker
abc2de958a "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
Ralf Becker
fcb8f3497c Finally fixed creation and rename of home directories:
- egw_vfs::stat and egw_vfs_stream_wrapper::url_stat now both have a
  parameter $try_create_home=false, which do not create a non-existing
  home-directory by default.
- filemanger_ui calls egw_vfs::stat($path,true) to create an evtl.
  missing home dir (in case it does not exist because of previous
  problems)
--> fixes not working home-dir creation or rename, because url_stat
    already tried to create the home-dir
2009-04-06 13:46:45 +00:00
Ralf Becker
c314069e0c "using path's instead of url's were possible" 2009-04-04 19:20:21 +00:00
Ralf Becker
1c11bfcf55 using a session for basic auth (not session aware) clients for WebDAV
and GroupDAV. The "sessionid" get's constructed from the basic auth
credentials and is not random (as the clients dont store them).
--> speeds up the use of *DAV
--> stops *DAV handlers to created numerious sessions
2009-04-04 08:38:56 +00:00
Christian Binder
b20b78e07e quitened a logging message which slows down eGW 2009-04-03 20:12:35 +00:00
Ralf Becker
a6836fb367 "some more info for error_log on Exceptions: Instance, User & URL causing the exception" 2009-04-03 13:29:47 +00:00
Ralf Becker
646931dc8a fix for bug #1838: problem with utf-8 data in all csv imports
- fgetcsv only works correct, if setlocal is called with an existing and
  correct local
- improved projectmanager method guess_local and moved it to
  common::setlocal, which takes now the charset, lang and country of the
  user into account
- csv-import also displays now the conversation done and reads usernames
  in brackets
- added some missing fields
2009-04-03 12:26:32 +00:00
Klaus Leithoff
b8601d92d7 njv: phpgwapi/groupdav work to improve groupdav compatibility and various sync proplems connected 2009-04-02 12:39:52 +00:00
Klaus Leithoff
27891f2803 making sure rows is an array in id2path 2009-04-02 10:18:05 +00:00
Klaus Leithoff
dd5376c41f making the charset param optional, with preset to utf-8 in decodeMailHandler 2009-04-02 08:15:50 +00:00
Klaus Leithoff
1092f3213e move decode header functionality from FeLaMiMail to phpgwapi/translation to be available for other applications 2009-04-01 15:20:32 +00:00
Ralf Becker
b1f0863d81 A scheme is not allowed to contain an underscore, but allows a dot and a
class names only allow or need underscores, but no dots
--> we replace dots in scheme with underscored to get the class-name
2009-04-01 14:08:20 +00:00
Ralf Becker
039cf26d22 "- replaced self::SCHEME.'://default' with self::PREFIX
- added log calls to mount and umount
- fixed not working remount of a path with a different url (returned true but did not changed the fstab)"
2009-04-01 14:06:50 +00:00
Ralf Becker
923c98f079 "imporved array2string to give a type-specific output (eg. TRUE or FALSE for boolean)" 2009-04-01 09:32:35 +00:00
Ralf Becker
8f7f89666f New options for filesystme stream-wrapper:
- all:   false (default) = ignore files starting with a dot '.',
  true = show all files (. and .. are always ignored!)
- exec: false (default) = do NOT allow to upload or modify scripts, 
  true = allow it (if docroot is mounted, this allows to run scripts!)
--> deny_script method was added to egw_vfs and calls to it from
filemanager
Other fixes:
- missing write rights of the webserver were not removed from perms
  (causing warnings to be displayed in the ui)
- rename was not working due to typos
--> should be backported for obvious reasons to 1.6
2009-03-31 11:30:12 +00:00
Ralf Becker
637b6557fb "- symlinkCache_resolve failed on other mounted dir (eg. from the filesystem stream-wrapper), as it removed the scheme
--> now done only for vfs scheme
- quitened readlink to not complain if backend does not support links"
2009-03-31 08:43:12 +00:00
Ralf Becker
b93a450394 "- added more licenses with urls (LGPL, PHP, GPL3)
- fixed not displayed information, if setup info is in an other apps setup file (eg. GroupDAV or Website)
- added support different navbar icon name"
2009-03-30 14:06:39 +00:00
Ralf Becker
873ee33dc7 "- fixed not working symlinks to other symlinks
- added a symlink cache (only per request) to cut down db accesses"
2009-03-30 11:18:58 +00:00
Ralf Becker
d006ef24f9 "as PDO allows to use named params without colon prefix, switched to that, as it's close to the way we use our own db class" 2009-03-30 11:17:30 +00:00
Ralf Becker
b976659346 "removed unnecessary ambersand in url creation, if no extravars" 2009-03-30 08:17:28 +00:00
Ralf Becker
7f9aace528 "- sqlfs is now fully case-sensitiv (before it was partly case-insensitiv)
- symlinks are now read by url_stat and dir_opendir and stored in the stat cache, to minimize DB accesses
- negative url_stat calles (not found) are now stored in the stat cache too, to minimize DB access
- added new log level 3, which adds method-name and line number to the sql statements"
2009-03-27 19:10:16 +00:00
Ralf Becker
881225849d "fixed not shown comments and other properties, if path contained a symlink" 2009-03-27 19:03:29 +00:00
Ralf Becker
9e8ef4d851 "some permanent logging (switched off by default) and only running chown, chgrp, chmod if mkdir succeeds" 2009-03-27 18:05:42 +00:00
Ralf Becker
b54d0dab25 "fixed invinit recursion (causing a segfault) when trying to create a home directory" 2009-03-27 17:39:37 +00:00
Ralf Becker
3b0f5e5ab2 PDO compatibilty function fetchSingle() was renamed in PDO to
fetchColumn($column_num=0): now both are available in ADOdb, thought
fetchSingle is depricated and should no longer be used!
2009-03-25 09:03:36 +00:00
Ralf Becker
cc9d7445c3 "fix concat to allow filenames containing \"..\"" 2009-03-24 17:19:38 +00:00
Ralf Becker
5501dd0fc3 "fixed some problem with the new symlinks (specially between different stream-wrappers) and added a permanent loggin facility" 2009-03-24 13:58:01 +00:00
Ralf Becker
e966c73feb "make profind and get_eacl fail silent, if backend does not support them" 2009-03-24 13:56:22 +00:00
Ralf Becker
55d2aaa3ee Implemented symlinks for eGW's VFS:
- sqlfs can store now symlinks (implements symlink and readlink)
- vfs resolves symlinks before calling a mounted stream-wrapper
--> symlinks can be between different mount-points
- filemanger can create symlinks and follows them
- etemplate vfs_widget displays symlinks (to be improved)
Happy testing :-)
2009-03-19 20:12:35 +00:00
Ralf Becker
97126e417f Make all methods of common class static, to allow an easiert use.
eg: $owner_label = common::grab_owner_name($uid);
2009-03-16 12:49:31 +00:00
Ralf Becker
01e2e1fa72 "removed extension of the accounts class, which is not used since r24948" 2009-03-13 12:55:40 +00:00
Ralf Becker
efb3189b49 "fixed CreateObject to not suppress the error, if it cant find a class file or there are eg. syntax errors in it
--> now you can find the error in the error_log and dont get only a blank page
(also optimized it so far, that we first try to autoload the class and use the diverse \"magic\" only if that fails)"
2009-03-13 12:47:53 +00:00
Klaus Leithoff
1f8068eb52 dont use the titlecache if id is an array 2009-03-06 12:28:39 +00:00
Ralf Becker
dd41d422e9 "fixing high minimize memory usage (important for huge number of accounts)" 2009-03-05 15:17:45 +00:00
Ralf Becker
b413a39b49 "some more compatibility stuff (table-name as variable)" 2009-02-25 14:35:43 +00:00
Ralf Becker
8ff2025051 "resetting array pointer for old code relying on it" 2009-02-25 12:59:28 +00:00
Ralf Becker
bdcb10ea2d Enable etemplate to mark rows of a grid / table as part of the header or
footer to repeat them on each printed page.
2009-02-23 13:21:28 +00:00
Klaus Leithoff
f62eccd9a7 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
Klaus Leithoff
be859fa1f6 fixing various webdav problems, regarding pathbuilding 2009-01-29 18:58:52 +00:00
Nathan Gray
c2ca3760b7 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
Klaus Leithoff
87247b6ca4 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
Klaus Leithoff
d330fe9934 bugfix for typo in class-var 2009-01-13 11:41:56 +00:00
Ralf Becker
a40b1c6bfb Reworked the categories class to query all cats from the database once
per session and then operate on that cache.
This deliminates ~25 database queries for each sitemgr page.

Test carefully before applying this to a production sytem!
2008-12-17 20:05:19 +00:00
Klaus Leithoff
76faf17eb0 strange phenomenon with existing debug variable 2008-12-09 15:25:26 +00:00
Klaus Leithoff
0ec64072a2 enabling more info FOR THE ERROR_LOG 2008-12-09 14:02:22 +00:00
Klaus Leithoff
5cf2da77fa directing debug to error_log 2008-12-09 14:02:17 +00:00
Klaus Leithoff
80c3da850d enable debug for send class to be passed to phpmailer/smtp 2008-12-09 14:02:13 +00:00
Klaus Leithoff
91c5e6d23c print out the standard substitutes, if debug is switched on 2008-12-09 13:07:29 +00:00
Klaus Leithoff
f28eed1973 enabling debug in some cases, switched off, as default 2008-12-09 12:59:03 +00:00
Klaus Leithoff
e025a14a08 putting some debug into the send class to find problems more easily 2008-12-05 10:26:07 +00:00
Ralf Becker
1eb956fdf5 "- do not send session data for clients doing no sessions to memcached
- use 10min session lifetime for GroupDAV as for anonymous sessions"
2008-11-25 19:36:02 +00:00
Ralf Becker
6f442ea296 "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
Ralf Becker
0123dc5d89 "dont log failed login attempts for the anon user, as it is a simple dos to sitemgr" 2008-11-22 08:14:59 +00:00
Ralf Becker
92c5157b90 add grant host to db creation 2008-11-18 19:58:11 +00:00
Ralf Becker
8dcc91a390 typos and missing file 2008-11-16 15:36:37 +00:00
Ralf Becker
1baa158195 Big SyncML patch from Philip Herbert <pherbert(at)knauber.de>:
- change the processing of slowsync, to use the content_map instead of
  trying to build a new one. This caused duplication issues on the
  client if multiple similar records where stored, because only the first
  one found in the server-db was matched, These duplicate entries at client
  side had no entry at serverside, so deleting the wrong one
  on the client (the content with a valid map entry) could cause
  unwanted data loss at server side, because it is impossible for the
  user to see what is a duplicate, and what is not.

see also: 
http://www.nabble.com/again---syncml-duplication-issue-to20333619s3741.html

- reenabled UID from syncml clients, because it was partly used this caused
  issues during SlowSync if the content was changed. 

- infolog, calendar if a uid is found in the provided data, allway try to
  find the corresponding content first   using only the UID, instead of
  using the content-id taken from content_map.

also fixed:

- a few fixes in ./notes
- creating an entry on the client that can not be imported,
  (Example, Nokia E Series Appointment without a Title)
  will no longer create an invalid content-map entry
  However, at client side this is still counted in the Protocol as
  Server-Add
2008-11-16 10:42:29 +00:00
Ralf Becker
fde8fc7b27 CAS (Central Authentication Service) login for eGroupware 2008-11-15 10:54:39 +00:00
Ralf Becker
04502ddc97 "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
Ralf Becker
ee623e72d3 "made some permanent error_logs configurable" 2008-11-15 07:40:25 +00:00
Ralf Becker
505fe07669 "function to analyse memory usage in the session" 2008-11-13 16:57:16 +00:00
Ralf Becker
59aa84f761 "switch logging to 2 (only errors) again" 2008-11-13 06:35:18 +00:00
Ralf Becker
f0a4de499b "fix for boolean options" 2008-11-12 18:40:10 +00:00
Ralf Becker
a658d7c8ed Store config_user&_passwd of domain as hash, to be able to use them
inside eGW (without having them in cleartext available)
2008-11-09 16:15:42 +00:00
Ralf Becker
9d9bd270a2 "- fix for bug #1817: file in a searchable directory was always readable
- changed chgrp and chmod, to allow admins to modify files/dirs owned by root"
2008-11-09 16:10:36 +00:00
Ralf Becker
43f860ba8f Reworked GroupDAV and iCal/vCard handler to set 'GroupDAV' as product
manufacturer and the recogniced GroupDAV client as product name.
This way we are able to handle different GroupDAV clients, as we
allready do with different SyncML clients.
Also removed the no longer needed code enabling the use of the real UID, 
as SyncML does no longer misuse the UID for it's GUID.
2008-11-03 09:36:20 +00:00
Ralf Becker
71edd1c938 Big patch from Philip Herbert (Knauber) modifying the SyncML code to no
longer use GUIDs containing eGW's install_id, as the information is
irrellevant for SyncML and cause doublications of entries if the
install_id changes.
I plan to have a new rc4 Wednesday or Thursday containing these changes.
2008-11-03 07:44:02 +00:00
Ralf Becker
9f3d5f4b4c "longtext need to be handled like text" 2008-11-02 09:46:42 +00:00
Ralf Becker
9689e1b822 "fix fatal error in SyncML, reported by Philip Herbert from Knauber" 2008-10-30 06:51:14 +00:00
Ralf Becker
e3efd9ce22 "removed unneccesary cloning of the db object by
- adding the application ('syncml')
- replacing next_record()/f() with fetch()/fetchSingle() or looping over the result object
Thanks to Philip Herbert from Knauber for testing it"
2008-10-29 07:41:02 +00:00
Ralf Becker
ba5d176520 "fix for bug #1796: Various config values not stored
now only unset or empty strings are not stored, but 0 is"
2008-10-27 15:11:15 +00:00
Ralf Becker
814eb013f1 Allow HTTP basic auth user to contain a domain to switch instances, as
it's done in the webgui login (for WebDAV or GroupDAV)
2008-10-26 12:18:57 +00:00
Ralf Becker
fa73ad5339 Improved exception handling:
- exceptions get now always logged to the error_log
- in the webgui it's now configurable, if the message contains a
  stacktrace (incl. function arguments) - default no (security)
- command line interfaces get detected and contain no html anymore
- webdav and groupdav send the exceptions as basic auth realms to the
  client
- webdav and groupdav login failures contain the reason as part of the
  basic auth realm
2008-10-26 12:13:01 +00:00
Ralf Becker
6764a6ec24 "removed html tag from exception message, as they should work independent of the web gui" 2008-10-26 11:05:30 +00:00