Commit Graph

4337 Commits

Author SHA1 Message Date
Ralf Becker
9d8ee08a50 * exceptions get now logged to Apache error_log again 2010-11-04 11:33:03 +00:00
Ralf Becker
9a8e3dc1f6 switched off forgotten permanent error_log 2010-11-03 10:05:08 +00:00
Ralf Becker
91c6d84af5 fixed not working alternating nextmatch colors of groups in account selection popup 2010-11-02 13:26:51 +00:00
Ralf Becker
b68c4c1a89 fixed wired sorting (no sorting) of groups in account selection popup 2010-11-02 13:03:01 +00:00
Ralf Becker
89b8f68f7e new debug-level user-preference, show getctag in autoindex and do NOT treat webkit browsers like kde clients 2010-10-31 07:56:29 +00:00
Jörg Lehrke
ac015ec983 Fix vCard-parser for multible type parameters 2010-10-29 08:40:02 +00:00
Ralf Becker
65bd2f4e24 allow template to NOT support certain browser types / user agents 2010-10-28 16:24:58 +00:00
Klaus Leithoff
bf8b3211c8 if the number of days left until change of password is expired is negative, dont warn, require the change 2010-10-28 11:02:05 +00:00
Ralf Becker
de903d8957 an other PostgreSQL compatibility problem: cast to varchar necessary 2010-10-28 08:47:52 +00:00
Klaus Leithoff
279e22bc0d added eml as extension for message/rfc822 for mimetype guessing/determination 2010-10-26 09:23:55 +00:00
Ralf Becker
46c7b013b8 fixed bug introduce in fix: no more serialized cat data (like calendar colors) were returned 2010-10-26 07:41:47 +00:00
Ralf Becker
d10b7deaf3 SiteMgr bugfix: edit category always reads sort as 0, (unserialize data only, if it is serialized) 2010-10-25 18:08:07 +00:00
Klaus Leithoff
53374d91fb * API/Passwordmanagement: option enable a warning for users to inform them, that their password is about to expire
will be displayed once every session starting X days before the password will expure, when enforce password change is enabled and 
a suitable period is set
-translations for that option
-pending translations
2010-10-21 13:58:57 +00:00
Ralf Becker
92f8814fe9 fixed working in GroupDAV prefs and translation 2010-10-21 10:55:20 +00:00
Ralf Becker
20a409ca52 * iCal on iPhone detects URL now correct
reverted calendar-home-set to report only users calendar, as reporting multiple break propfind
2010-10-20 18:59:27 +00:00
Ralf Becker
e86f5fb663 fixed bug: GroupDAV/CardDAV PUT request to /addressbook/ changes owner, also checking now required ACL for moving contacts between addressbooks 2010-10-20 15:47:30 +00:00
Ralf Becker
4e65bde081 urlencode and decode account_lid in url to cope with group-names with space in it, which stall iPhone OS 4.2 devices 2010-10-20 14:37:48 +00:00
Ralf Becker
20fb58dd6a loop over existing addressbooks, to make sure each ab is only once in addressbook-home-set, even when selected multiple times in the prefs because of symbolic ab like "primary group" 2010-10-20 13:23:19 +00:00
Klaus Leithoff
b55bb74988 doubleencoding issue and performance issue regarding the use of html::htmlspecialchars 2010-10-20 13:16:21 +00:00
Ralf Becker
261b4521c8 as the pricipal of current user is influenced by GroupDAV prefs, we have to include them in the etag 2010-10-20 12:07:10 +00:00
Klaus Leithoff
449a355f2a fix php header for new Function FetchBoundary 2010-10-20 09:48:49 +00:00
Ralf Becker
90f975ff85 fixed missing "users" of principal url in calendar-user-address-set 2010-10-20 09:42:06 +00:00
Ralf Becker
2575da2575 * GroupDAV preference for addressbook-home-set (requires to register hooks) 2010-10-19 23:30:16 +00:00
Klaus Leithoff
9dae1bdbe0 function to allow to access/read the boundarys used by CreateHeader 2010-10-19 14:36:08 +00:00
Ralf Becker
1e1df2fe2c setting overflow: auto after constructor call, as new dhtmlXTree has hidden hardcoded 2010-10-18 12:19:38 +00:00
Ralf Becker
af7a24eb9a framework->navbar() now automatically calls framework->header(), this way navbar or sidebox can include JS or CSS, because header is called after 2010-10-18 10:46:47 +00:00
Jörg Lehrke
80a9456eee cleanup forgotten test code in GroupDAV 2010-10-17 23:12:19 +00:00
Ralf Becker
7ed2f90ad4 new mode to return the url 2010-10-15 20:22:40 +00:00
Ralf Becker
a6c1f34be7 allow to autoload and/or supply initial tree via json 2010-10-15 16:19:31 +00:00
Ralf Becker
0c9dec895b reimplement GetDir to send content-type header with charset 2010-10-14 18:16:27 +00:00
Klaus Leithoff
5c66c7d162 categories: better handling of editing/moving categories within the cat-tree 2010-10-14 15:33:10 +00:00
Ralf Becker
87da090667 using native php wordwrap to speed up encoding of images 2010-10-14 10:55:58 +00:00
Ralf Becker
819ce52f90 reverted removing from delete call in add, as it does NOT take into account changed levels handled by delete 2010-10-14 08:18:41 +00:00
Klaus Leithoff
e8aef25f5b phpgwapi: call hooks of apps after deleting of categories to enable apps to clean up their use of affected categories 2010-10-13 07:39:53 +00:00
Ralf Becker
2a801e61fe always use regular links stream wrapper here: extended one is unnecessary (slow) for just listing attachments 2010-10-12 08:17:10 +00:00
Jörg Lehrke
33bd0fed50 Announce all available addressbooks and calendars of the current user with GroupDAV 2010-10-09 22:49:10 +00:00
Nathan Gray
69922af6ec Fix for invalid SQL reported by Massimo 676 on the pERP dev list 2010-10-08 14:58:42 +00:00
Klaus Leithoff
fd37185922 email/phpmailer: fix for bug regarding the sending of the charset information reported by stefan.helzle-at-oscons.de 2010-10-07 08:33:59 +00:00
Klaus Leithoff
ea97a9671b fix for Stylite Ticket#8044 -Message on loginscreen and home doesent have a default lang fallback as all other egroupware translations 2010-10-05 08:30:50 +00:00
Jörg Lehrke
12cb6439ba Don't use MaxGUIDSize as maximum UID length 2010-10-04 17:27:09 +00:00
Nathan Gray
057a08f866 Make deleted parameter optional 2010-09-30 18:34:49 +00:00
Klaus Leithoff
b976930423 preventing invalid birthdays stored with the datastore such as 0000-00-00 or 0.0.00 to transform to a birthday 2010-09-30 09:32:34 +00:00
Ralf Becker
3fb29911b6 * show package changelog inside EGroupware under about 2010-09-29 11:21:12 +00:00
Ralf Becker
1237e5d754 adding EGroupware version to X-Dav-Powered-By header eg. "EGroupware 1.8.001 CalDAV/CardDAV/GroupDAV server" 2010-09-28 08:32:11 +00:00
Nathan Gray
1482dbc1be Add the ability to hide and hold deleted links, pending final deletion of linked record. This prevents links to deleted items showing when deleted items are held for purging. 2010-09-27 16:27:48 +00:00
Klaus Leithoff
61812f4dc5 allow for forced passwordchange on next login at account creation time 2010-09-27 07:51:32 +00:00
Jörg Lehrke
40d786871e Improve Mac OS Addressbook.App CardDAV support as far as reasonable 2010-09-25 15:19:48 +00:00
Ralf Becker
ed733eef42 * iPhone and Mac Addressbook support aka Apple CalDAV/CardDAV autodetection
Addressbook does NOT allow to specify the URL, unlike iCal which allows it after autodetection fails.
This, some XML specifics set now for Apple addressbook user-agents and etags for addressbook collection itself
allow now to use EGroupware with iPhone or Mac addressbook. The later was working before, if you edited the URL
into a decompiled plist file, but failed now because of a new REPORT it tries on the principal, to find out shared
addessbooks, which we not yet support, but failed to tell in the correct way (501 Not Implemented).
Addressbook sync now the personal addressbook, because that is what we tell it as addressbook-home-set.
We should add some configuration so user can choose what addressbook to set as addressbook-home-set, or to set
the "all" addressbook (/addressbook). For the later we could add some prefs like SyncML to specify filters or
eg. a distribution list.
2010-09-25 09:08:37 +00:00
Ralf Becker
73beff54fe an other fix for NTLM and SiteMgr 2010-09-25 08:19:22 +00:00
Klaus Leithoff
2e33eeaab6 fixing ACL check for nopasswordchange; fixing setting of shadowlastchange by using the correct data with propper format 2010-09-24 08:20:14 +00:00
Klaus Leithoff
7e68a0727f check if the user is allowed to change its password, before redirecting 2010-09-22 15:20:06 +00:00
Klaus Leithoff
0a53a95bdc password-feature ldap specific stuff 2010-09-22 13:13:27 +00:00
Klaus Leithoff
abbf9e3abf allow old name for account_lastpwd_change (account_lastpassword_change) 2010-09-22 11:41:16 +00:00
Klaus Leithoff
3843c0b59b Feature: to allow admins a) to set an allowed password age, to require all users to change their password regularily; b) force password change for a given user on the users next login; c) better control about the password strength required; Funded by Cricket 2010-09-22 09:48:27 +00:00
Ralf Becker
1f8e2e93df * allow to pick CC of tickets from addressbook
- also added a different approach allowing apps to register themselfs multiple times in the link registry, was necessary as types approach from Nathan changes the usage of the original app, while this adds sub-types like an arbitrary app responded to the link hook
2010-09-22 09:36:26 +00:00
Jörg Lehrke
67aff3d370 New content_history approach for synchronization with all datastores 2010-09-18 11:28:48 +00:00
Jörg Lehrke
2e0e03205d Fix group principals issue 2010-09-18 08:45:46 +00:00
Klaus Leithoff
5c8d3301d6 postgres compatibility gathering of birthdays for homearea (calendar merge of birtdays into holidays) order by column must be part of distinct selection list; adapting calendar home view to meet expected date format by using egw_time::to 2010-09-17 13:51:12 +00:00
Ralf Becker
dce834b93b present a login page, if anon user has no right for an application, makes more sense then throwing an exception 2010-09-17 09:11:44 +00:00
Ralf Becker
07da314086 using own CreateIndex() method in CreateTable(), to deal correctly with size-limited indexes in PostgreSQL 2010-09-16 11:58:25 +00:00
Ralf Becker
ae8ec8748b CreateIndex: remove length limits from column names, if DB type is NOT MySQL 2010-09-16 10:22:43 +00:00
Ralf Becker
14b6c569fb new logo for 1.8 2010-09-16 09:57:12 +00:00
Ralf Becker
6154863394 remove hooks of apps, when deleting them (event if sources are no longer there) 2010-09-15 20:09:57 +00:00
Ralf Becker
1e9695dbc9 allow to limit size of index by appending it in brackets after the column name, eg. "column(32)", which is already supported by ADOdb, by was broken by our fix to always quote names, to allow column names which are reserved words, eg. "timestamp" in phpfreechat 2010-09-15 13:27:26 +00:00
Ralf Becker
8f63182822 * added mail log, which can be enabled by setting $GLOBALS[egw_info][server][log_mail] to a path or true for standard error_log
- added egw_mailer class to archive that and correctly intialise EGroupware pathes for translations
- updated translations and moved them to phpgwapi/lang/ (getting rid of message not translated errors)
- using egw_mailer in fmail including catching of phpmailerException to not glutter GUI with echoed errors
2010-09-15 09:10:12 +00:00
Klaus Leithoff
02c6955326 convertHTML2Text: handling of chars that break further processing of converted Data (e.g.: Mail to Infolog) 2010-09-15 08:39:07 +00:00
Ralf Becker
34e51b19e8 reverting back to arbitrary job data AND adding other job parameters only if data is an array, it made to many problems requiring it to be an array 2010-09-14 09:38:59 +00:00
Klaus Leithoff
553152fc80 fix for expected parameter for data must be an array in set_timer, when starting async testjob; handling array as adr in send when creating messages 2010-09-13 08:41:04 +00:00
Jörg Lehrke
b02f830128 Fix content history issue 2010-09-12 21:16:39 +00:00
Jörg Lehrke
bb9190a669 New content_history approach for calendar synchronization; fix various Sync issues 2010-09-12 20:14:46 +00:00
Jörg Lehrke
5e161094e7 Allow to check only readable items in content history 2010-09-12 12:36:40 +00:00
Jörg Lehrke
da41f40507 Allow the check only readable items in content history 2010-09-12 12:34:32 +00:00
Ralf Becker
caf6d694c2 using qstr (quoting of strings) from ADOdb 5.11, it might fix problems reported by Anthony Messina 2010-09-11 07:47:40 +00:00
Ralf Becker
741a12bef2 fixed typo, wrong parameter name 2010-09-10 08:24:19 +00:00
Ralf Becker
7f29cd8530 fix for postgreSQL bug reported by Anthony Messina (amessina-at-messinet.com): sync_contentid is varchar(60) and need explicit cast: added egw_db->to_int($expr) 2010-09-10 07:11:22 +00:00
Klaus Leithoff
5153a61a63 preserving ampersands while converting html to text; improving linebreak behavior; switching off WordWrapn (by setting it to 0) in phpmailer, as we handle our linebreaking on our own 2010-09-09 10:19:23 +00:00
Ralf Becker
8160ff2472 if modified timestamp get set, reset evtl. existing deleted timestamp, as recovering of deleted entries does NOT work otherwise 2010-09-09 09:08:37 +00:00
Ralf Becker
83dae424e0 new method to abstract MySQL function unix_timestamp (convert db timestamp to integer) 2010-09-09 09:06:13 +00:00
Ralf Becker
00acdcb48b fixed wrong type parameter for logging to a file and some formatting 2010-09-08 16:22:55 +00:00
Ralf Becker
bb96dda0a7 Log mails to log file specified in ['egw_info']['server']['log_mail'] or regular error_log for true (can be set either in DB or header.inc.php) 2010-09-08 16:02:40 +00:00
Ralf Becker
f49eaf39ce fixed in some update situations called unset_datetime on egw_minimal object 2010-09-08 07:45:38 +00:00
Ralf Becker
577c8926bc added abstract function to base egw_framework, as it get called from admin/inc/hook_top_menu.inc.php for pending updates 2010-09-07 19:08:13 +00:00
Ralf Becker
cdc0d2fb5e fixed warning if data is no array and modified method signature to allow only an array or NULL as parameter (seems that is the way it is used so far) 2010-09-07 12:17:19 +00:00
Ralf Becker
2777c78d74 new mount option for filesystem streamwrapper to specify a download url, to be used instead of default webdav.php download, eg. if mounted directory is already in the docroot or mapped via an alias 2010-09-07 11:05:20 +00:00
Ralf Becker
5e47dcd0da calling job with data array, plus all regular job data, like eg. next (time job was supposted to run) 2010-09-06 14:09:27 +00:00
Klaus Leithoff
6fb84bb8cd include 250 in checking the error-codes when sending data, as 250 indicates success -> OK (354 indicates intermediate status, and was the only status checked for) 2010-09-06 07:57:10 +00:00
Klaus Leithoff
a2919ecd3b improve convertHTMLToText, for toggle editor and mail2infolog process; better control of insert Signature at Top. Only insert the signature, when the compose window is opened the first time (compose/reply/forward), dont do it if sending failes, and the compose window is refreshed (in general when mySigID is set) 2010-08-31 14:23:58 +00:00
Ralf Becker
d6822d9564 - fixed not working accounts::cache_invalidate(): cache is now in regular egw_cache on session level
- calling static methods static: accounts::cache_invalidate() or egw::invalidate_session_cache()
- fixed wrong number of deleted items in setup_cmd_ldap sub-comand=delete_ldap
- only use create, if we have an ldap_admin_pw set
- call an add_account hook for each created account, if specified (not by default)
2010-08-29 08:16:27 +00:00
Ralf Becker
2cc8585ecb small docu about creating ssl (ldaps) or tls connections 2010-08-26 20:44:33 +00:00
Ralf Becker
ff867f4daf tls support for ldap, use "tls://host" instead of hostname 2010-08-26 20:30:01 +00:00
Ralf Becker
bb5000d526 setting NO memory limit for async service 2010-08-23 16:32:33 +00:00
Ralf Becker
a65406b88b * restore to current system charset, to force all restores to utf-8, and do NOT halt on sql errors in restore 2010-08-19 08:07:06 +00:00
Ralf Becker
912973e47f fixed halfway implemented $append parameter and app-detection for static methods 2010-08-15 20:05:39 +00:00
Ralf Becker
10cf1b2b8e * not overwriting system configuration (eg. pathes) on restore, which break a running system and if called from within EGroupware update the restored backup, in case it is an older version 2010-08-15 15:46:23 +00:00
Jörg Lehrke
44c3c7eb9a Improve iPhone iCal support 2010-08-15 06:42:05 +00:00
Ralf Becker
70e0947517 allow to return a limited result set and arbitrary columns 2010-08-12 18:15:37 +00:00
Nathan Gray
7ea2ef612c Add static method to access history and slice it using a start and num_rows, instead of getting all history at once 2010-08-10 14:48:05 +00:00
Jörg Lehrke
d6d7198785 Fix old format vCard/vCalendar quoting issue 2010-08-06 20:51:26 +00:00
Jörg Lehrke
b780c68c3f Improve support of BB Funambol Client 2010-08-06 18:14:36 +00:00
Hans-Jürgen Tappe
86a32e2f8b Tracker #2184. Add "select all" in the account selection popup. 2010-07-31 08:07:21 +00:00
Hans-Jürgen Tappe
83e867ef01 Disable verbose debug messages on restore. 2010-07-31 08:03:32 +00:00
Hans-Jürgen Tappe
4325167239 Fix an invalid link definition in the adodb documentation. 2010-07-31 06:11:05 +00:00
Ralf Becker
671313b3ea quiten error_log if no CSS file for an app 2010-07-30 13:38:49 +00:00
Ralf Becker
f185382b0a fixed not working link_query call to static callback eg. "someclass::somemethod" 2010-07-29 19:09:55 +00:00
Ralf Becker
a5ba32b8b6 allow to change password without run rights for preferences via a new password app (part of preferences app, but separate to install) 2010-07-27 14:29:20 +00:00
Andreas Stöckel
98383800ae Added currently unused find_iterator which allows less memory intensive file 'find' operations 2010-07-26 15:30:23 +00:00
Jörg Lehrke
f8a2efe8df Fix syncml:metinf and syncml:devinf namespace issue (#2696) 2010-07-25 18:08:20 +00:00
Ralf Becker
8ef7201027 fixed wrong extraction of the extra_attr, eg. uid 2010-07-21 14:39:07 +00:00
Ralf Becker
f7c1f243ae fixed PHP warning: Illegal offset type in phpgwapi/inc/class.accounts_ldap.inc.php on line 1100 and not working update of group mail addresses 2010-07-21 14:20:31 +00:00
Ralf Becker
3dfa4e5fe6 allow null as value in assign() 2010-07-21 13:16:36 +00:00
Andreas Stöckel
da54059fd1 Fixed problem with toolbar not being expanded and removed bottom breadcrumb bar 2010-07-21 11:45:05 +00:00
Ralf Becker
09719babaf replace deprecated call_user_method(_array) with call_user_func(_array) 2010-07-20 16:47:11 +00:00
Klaus Leithoff
14722e5060 enable SCAYT (switch autostart on), no matter which spellchecker you are using 2010-07-20 13:49:11 +00:00
Klaus Leithoff
0d3cfae3b9 disable SCAYT too (switch autostart off), if you disable spellchecker in admin 2010-07-20 13:34:53 +00:00
Klaus Leithoff
f71cd37af6 use notifications option/configuration to enforce the use of emailadminprofiles only for notifications 2010-07-16 12:04:51 +00:00
Andreas Stöckel
b5e33eab09 - Fixed etemplate input dirty handling
- Now generating an widget object tree in widget.js
- Added generic response to egw_json
- Moved "getFramework" function to jsapi and renamed it to "egw_getFramework"
- Added plugin system to egw_json
- Transformed the jQuery "replaceWith" call form class.etemplate_form.inc.php into an own json plugin
- Fixed label creation for et_html
2010-07-08 12:03:13 +00:00
Klaus Leithoff
09100671ee put out Unrecogniced GroupDAV client Message only, when debug bis enabled -> does not work, as the function is static, commented the error_log 2010-07-08 09:41:06 +00:00
Klaus Leithoff
129eaec0e3 put out Unrecogniced GroupDAV client Message only, when debug bis enabled 2010-07-08 09:37:24 +00:00
Klaus Leithoff
cd541542ce added missing hr to toolbar, when in advanced mode 2010-07-07 08:04:15 +00:00
Klaus Leithoff
7be12bc70f added missing table-button to toolbar, when in advanced mode 2010-07-06 15:26:00 +00:00
Klaus Leithoff
99bd207983 fix for bug targets (if specified with HTML Links in CKEditor) do not szrvive purify. Chr.Fueller investigated Attr.AllowedFrameTargets as cause of the issue 2010-07-06 13:50:55 +00:00
Jörg Lehrke
75b25bb796 Fix FroupDAV report issue 2010-07-02 05:01:15 +00:00
Klaus Leithoff
2768366eb6 fix for cached titles that are empty 2010-07-01 11:14:48 +00:00
Ralf Becker
a3685d298e removed 2. header include, stalling access without home rights 2010-06-30 12:03:50 +00:00
Andreas Stöckel
47a7fc9337 - Added "beforeSubmit" callback handler to the PHP json class
- Added "clientCall" and "clientSetOption" function to the base etemplate widget class
- Got the client side HTML area widget work with the new functions described above
2010-06-30 09:13:17 +00:00
Jörg Lehrke
09bc2c09cd Fix CTag issues for GroupDAV 2010-06-29 13:52:56 +00:00
Jörg Lehrke
affd4b1885 Fix CalDAV issues 2010-06-29 09:19:25 +00:00
Ralf Becker
aa6b4adcc1 return default instead of referer containing "cd=yes", which causes a load of the framework inside the framework 2010-06-28 10:52:37 +00:00
Jörg Lehrke
bce68a9e82 Fix CalDAV group attendee issue; various GroupDAV improvements 2010-06-27 22:16:22 +00:00
Jörg Lehrke
99cb0d791a Fix SyncML SourceURI issue 2010-06-26 11:26:46 +00:00
Jörg Lehrke
4e42eb30f0 Enable Funambol client 8.5 again; various SyncML optimizations 2010-06-25 17:08:09 +00:00
Andreas Stöckel
0605a04daa Fixed hiding of toolbar 2010-06-25 12:30:39 +00:00
Ralf Becker
491f790a3b Triggering jQuery's change event manually, when jscalendar updates 2010-06-25 11:17:28 +00:00
Andreas Stöckel
008be66608 More fixes to the spellchecker handling 2010-06-25 10:38:44 +00:00
Andreas Stöckel
5cd16d7c88 Fixed spellchecker handling 2010-06-25 10:30:26 +00:00
Andreas Stöckel
dd3496be0b Replaced old ckeditor configuration code with own class, fixed felamimail to work with it 2010-06-25 10:01:53 +00:00
Andreas Stöckel
4d88b00e02 Moved ckeditor configuration to own php file which generates js, in order for easier implementation in etemplate 2 2010-06-24 14:23:56 +00:00
Ralf Becker
fccbe5fcbd Moved removal of standard javascript files from egw_framework class to
egw_json, as it did not work in all cases
2010-06-24 11:33:51 +00:00
Ralf Becker
f42ee4b026 - for Ajax: no need to load the "standard" files, they are already
loaded, in fact jquery has a problem if loaded twice
- add filectime to js and css files loaded via include_css_js_response
2010-06-24 10:51:02 +00:00
Andreas Stöckel
7545d93cbc Fixed problem with indent not working with new CKEditor3 2010-06-24 08:38:56 +00:00
Ralf Becker
8e98f6cea3 New method egw_framework::include_css_js_response to add javascript and
CSS included via egw_framework::validate_file or egw_framework::includeCSS
to an ajax response.
Fixed jscalendar to use that service and sitemgr to include it manually.
2010-06-23 23:01:57 +00:00
Andreas Stöckel
769debd2bd Fixed singleton handling with egw_json_re 2010-06-23 08:33:23 +00:00
Ralf Becker
95ac7e77be fix for PostgreSQL 8.3, using "::text ILIKE", hopefully that works in older versions too 2010-06-22 16:56:16 +00:00
Ralf Becker
7acd58f2f4 using egw_db->capabilities[egw_db::CASE_INSENSITIVE_LIKE] 2010-06-22 16:54:47 +00:00
Ralf Becker
8d93ce6fbb No longer using document write to add icon (to not display it if user
has javascript switched off, as we require it now and it makes problems
with the new etemplate rendering)
2010-06-22 15:33:44 +00:00
Andreas Stöckel
9f7fd714f5 Fixed filemanager path not properly set for ckeditor 2010-06-21 15:02:09 +00:00
Andreas Stöckel
01826c38b2 Added exception and error messages to egw_json 2010-06-21 08:39:21 +00:00
Jörg Lehrke
729c7cb362 Fix SlowSync timestamp issue (#2663) 2010-06-19 15:30:28 +00:00
Ralf Becker
5465b281cc new method to include css files: egw_framework::includeCSS($app,$name) or includeCSS($path) 2010-06-18 11:19:24 +00:00
Klaus Leithoff
e94703b9a4 increase timeout, since some smtp-servers seem to need more than 10 seconds to respond 2010-06-18 09:22:21 +00:00
Andreas Stöckel
3da1f7b585 Added includeScript and includeCSS functions to json classes 2010-06-18 08:36:33 +00:00
Andreas Stöckel
e8cc19df9a Fixed some typos and IE-specific problems 2010-06-16 12:48:17 +00:00
Andreas Stöckel
c953709866 - Added server side implementation of application sorting
- Filtering "remove"-function from arrays before sending them via json
2010-06-16 12:07:50 +00:00
Ralf Becker
e5552d1b45 fixed not working non-static use after Jörgs commit ($app was NOT set anymore) 2010-06-16 11:02:24 +00:00
Jörg Lehrke
10b93660ef Fix config::save_value static call issue 2010-06-16 08:34:15 +00:00
Ralf Becker
557ef43872 formatting 2010-06-16 06:44:19 +00:00
Ralf Becker
88ebb437c2 methods to set or get all body tags or javascript files, replacing direct access to variables of old javascript class 2010-06-15 16:08:10 +00:00
Andreas Stöckel
a085ffb24c Reworked addScriptCall function 2010-06-15 14:05:56 +00:00
Ralf Becker
2181c9ca9e fixing the fix: for mountpoints we have to check the url or what is mounted and not the url of the mountpoint 2010-06-15 10:33:39 +00:00
Ralf Becker
85475540f6 fixed not working update for application global categories, which for some reason got created with an owner != -1 2010-06-15 10:25:10 +00:00
Ralf Becker
907424a99b fixed deprecated comment in common::footer: user *echo* framework->footer() 2010-06-15 09:15:00 +00:00
Ralf Becker
110f40df1d svn propset svn:keywords Id 2010-06-15 08:35:12 +00:00
Ralf Becker
2d35aa7af8 delete db entry again, if we are not able to open a new(!) file in filesystem 2010-06-14 20:10:24 +00:00
Ralf Becker
dc0cee3d95 also remove mountpoints the user has no read access to from directory listings, eg. enabling versioning for an other user 2010-06-14 13:04:08 +00:00
Jörg Lehrke
a88fbb756f 2nd Fix Evolution CalDAV HTTP_IF_MATCH issue (Stylite#601) 2010-06-14 07:38:41 +00:00
Ralf Becker
d4e5476304 returning content of onXXX tag after adding code 2010-06-13 07:44:53 +00:00
Klaus Leithoff
b02ab88dcf change comment to egw_footer 2010-06-11 12:33:04 +00:00
Andreas Stöckel
d8983b6cd1 Added wrapper for xajax.addScriptCall(), added ?cd=10 to json.php response again 2010-06-11 11:41:12 +00:00
Jörg Lehrke
78103fd02a Fix Evolution CalDAV HTTP_IF_MATCH issue (Stylite#601) 2010-06-11 09:59:36 +00:00
Andreas Stöckel
04267ed34d Added handling for global redirect and handling of ?cd=10 in redirect url, which should trigger the url to be loaded inside the top window 2010-06-11 08:08:07 +00:00
Ralf Becker
7006bbd457 default for html::initCKEditor 3. parameter, to fix warning in fmail 2010-06-10 16:19:08 +00:00
Ralf Becker
dba87a90cf setting vars empty, which get only conditionally set 2010-06-10 15:37:47 +00:00
Ralf Becker
5443acbb21 allow json in body on(Load|Unload|Resize) tags 2010-06-10 14:31:30 +00:00
Ralf Becker
22dcb1c5de fixes to be able to start CKEditor without expanded toolbar 2010-06-10 13:21:23 +00:00
Andreas Stöckel
ad1c1f1f06 Added 'jquery' method to the json handler which allows it to call functions of jquery object from the server 2010-06-10 12:24:50 +00:00
Andreas Stöckel
bd023081e6 Fixed handling of json requests using etemplate.process_exec and fixes in the json encoding of hierarchical values 2010-06-10 10:33:00 +00:00
Ralf Becker
5bcf29400b setting webserver_url for new json handler, if used with templates other then jdots 2010-06-10 08:38:02 +00:00
Andreas Stöckel
c8e1730eb4 Including the wz_dragdrop.js again 2010-06-10 07:43:38 +00:00
Andreas Stöckel
2f1353ba3a Initializing $top_menu_extra as an array 2010-06-10 07:35:16 +00:00
Ralf Becker
e95da23141 removing xajax, as we no longer need it (get emulated by our new json stuff) 2010-06-10 07:01:14 +00:00
Ralf Becker
4da762e40e removing xajax, as we no longer need it (get emulated by our new json stuff) 2010-06-10 06:59:54 +00:00
Ralf Becker
a8d1ce623d removing xajax, as we no longer need it (get emulated by our new json stuff) 2010-06-10 06:58:49 +00:00
Ralf Becker
e977610a4b Integrated (used) javascript methods:
- js->validate_file()
- js->set_on(Load|Unload|Resize)
into egw_framwork and made them static
(egw::__get('js') returns now the framework so all old code should
continue to work)
2010-06-09 15:30:53 +00:00
Ralf Becker
feaab09818 calling jquery as part of a response, eg. ->call('#123','addClass',array('valid')); 2010-06-09 14:41:40 +00:00
Andreas Stöckel
7eb21252af Removed code which might interrupt XAJAX from working 2010-06-09 13:52:38 +00:00
Andreas Stöckel
084ef11729 Handling of reqests which miss a parameter section 2010-06-09 13:46:35 +00:00
Nathan Gray
a09a58ae11 Add handling for in case the input data comes pre-parsed 2010-06-09 12:57:36 +00:00
Ralf Becker
0ae16ca1ed allow to use jscalendar(-setup.php) from every app, by catching egw_exception_no_permission_app 2010-06-09 09:40:02 +00:00
Ralf Becker
e417b6305b - using egw::link(...,false) for no egw_link_hander
- calling static methods static
2010-06-09 07:26:39 +00:00
Ralf Becker
ebedefd2e0 reading images from setup.inc.php file 2010-06-09 06:48:58 +00:00
Jörg Lehrke
685775cdf6 Fix Nokia old version issue, 2nd try 2010-06-08 18:03:08 +00:00
Ralf Becker
ade5eb93ea fixed not working generation of image url for templates 2010-06-08 08:50:15 +00:00
Ralf Becker
8b49db5a57 new framework method to return javascript to call manual 2010-06-07 22:06:35 +00:00
Ralf Becker
6ecb981cb5 Moved after_navbar hook into a egw_framework method 2010-06-07 17:31:43 +00:00
Ralf Becker
30d45d9b37 allways load jquery (not -ui) and egw_json for all templates 2010-06-07 15:10:58 +00:00
Ralf Becker
8f86299005 fixing quick add to work with jDots 2010-06-07 14:44:38 +00:00
Klaus Leithoff
82cb36ff3a some additional stuff to improve mailheader decoding 2010-06-07 14:31:59 +00:00
Ralf Becker
601289343c moved top menu logic from idots_framework class to egw_framework,
to be able to use it from other templates too
2010-06-07 11:49:16 +00:00
Jörg Lehrke
027b11723e Fix vCard content version issue (Nokia E7x) 2010-06-07 07:06:54 +00:00
Ralf Becker
b5ade8635a do NOT redirect, but set top.location, as this works in framed template too 2010-06-07 06:54:07 +00:00
Ralf Becker
c2237c4daa got jscalendar in calendars sidebox working with jdots template 2010-06-04 20:13:21 +00:00
Ralf Becker
0d05a9ce40 allow to call html::tree(null,null) to get just the javascript, eg. to include it in header 2010-06-04 20:06:41 +00:00
Ralf Becker
ff1c3b9be1 allways use "About EGroupware", as about is not any more application specific 2010-06-04 12:43:35 +00:00
Klaus Leithoff
0ec0d04fb3 update to Version 4.1.1:HTML Purifier 4.1.1 is a major security and bugfix release that
improves on 4.1s fix for an XSS vulnerability exploitable on Internet Explorer.  It also contains a number of important bugfixes, including
the removal of improper logic that could result in infinite loops and
fixed parsing for single-attributes with entities with DirectLex.
2010-06-04 11:13:55 +00:00
Ralf Becker
4b67a05074 - setting again date format and language from current user, was lost in r27581
- using current date in users timezone, instead of server timezone
- loading javascript for jscalendar::flat only if not yet loaded
2010-06-04 09:01:15 +00:00
Andreas Stöckel
f88e1339c6 Fixed powered_by link in jdots 2010-06-04 08:06:02 +00:00
Ralf Becker
7d19819ba1 cleaned up about to use framework->list_templates to support app like templates 2010-06-02 22:43:41 +00:00
Ralf Becker
e8c4786879 using framework->template_dir, instead of hardcoded phpgwapi based one 2010-06-02 21:36:16 +00:00
Ralf Becker
0150726c4b using framework->template_dir, instead of hardcoded phpgwapi based one 2010-06-02 21:28:51 +00:00
Ralf Becker
a4a427e2ab allow to specifiy a path or url, instead only an url 2010-06-02 21:28:07 +00:00
Ralf Becker
ea57302fce not using options parameter on json_encode, as PHP5.2 returns empty string and loading template class only, if not autoloadable 2010-06-02 18:11:15 +00:00
Ralf Becker
d9b9e79fcd fixed missing var causing app like templates not to be found 2010-06-02 17:33:26 +00:00
Ralf Becker
bec64ee336 allow specify value for template specific link handler and using a javascript link, instead a a-tag 2010-06-02 17:11:48 +00:00
Klaus Leithoff
97b1130a36 -added aspell as plugin, as it is not available by default anymore.
phpgwapi/js/ckeditor3/plugins/aspell
-changed phpgwapi/js/ckeditor3/plugins/aspell/spellerpages/server-scripts/spellchecker.php
 to allow only configured aspell, tmp dirs and language settings
-removed other than php spellchecker pages from phpgwapi/js/ckeditor3/plugins/aspell/spellerpages/server-scripts/
-added toolbar options to reflect the use/change of calls of SpellCheck(er) via toolbar button
configure options for CKeditor to use aspell (if available) or/and scayt
2010-06-02 15:22:14 +00:00
Ralf Becker
3a15cdcd6e Finding of templates and their themes, if they are packaged in dirs as
apps
2010-06-02 10:59:58 +00:00
Ralf Becker
472a420231 allow to package templates like applicatons in an own directory, cleand up index.php a bit 2010-06-02 09:20:55 +00:00
Ralf Becker
8589cdd874 using file_get_contents and better error-message 2010-06-02 09:18:27 +00:00
Andreas Stöckel
ca263fc6d8 - Rewrote redirect function
- Setting the webserver url in head
2010-06-02 08:10:43 +00:00
Ralf Becker
b9f98321f5 allow template to overwrite link and redirect_link methods 2010-06-01 21:38:00 +00:00
Ralf Becker
a3bb4afe1b documenting and adding exception and redirect handler to json handler 2010-06-01 18:54:31 +00:00
Andreas Stöckel
0c243b49a3 - Updated JS and PHP egw_json code
- Added array_stripslashes() to common_functions.inc.php
- Added json handler (json.php)
2010-06-01 14:20:55 +00:00
Andreas Stöckel
2bbe2e1203 Added PHP and JS JSON libraries for replacement of XAJAX 2010-06-01 12:38:41 +00:00
Klaus Leithoff
2aa6baddcb postgres: fix for problem with db_backup/update -> no MetaColumns retrieved anymore: if tablenames are quoted, remove the quotes as the use of tablenames in MetaColumns is for comparsion of content of fields in postgres system tables; quoting tablenames breaks comparsion here. 2010-06-01 12:24:29 +00:00
Andreas Stöckel
8bbcafe1c0 Added workaround for bug with CKEdito being too tall 2010-05-31 11:44:08 +00:00
Klaus Leithoff
f6e2163b91 control height of CKEditor; set a more convinient height for signature edit 2010-05-28 08:07:17 +00:00
Klaus Leithoff
226908f7ab enable toggling of plain to CKEDITOR in felamimail; documenting changes to ckeditor with phpgwapi/js/ckeditor3/egw_integration.txt 2010-05-27 14:37:37 +00:00
Klaus Leithoff
bc2f709a4d improved skin control, if skin is not chosen by user/default 2010-05-27 10:06:40 +00:00
Andreas Stöckel
8973b4c9b5 Added default skins and added code which converts old ckeditor skins to new ones 2010-05-27 08:04:47 +00:00
Andreas Stöckel
0802dd072b Fixed bug with CKEditor 3.2.1 not being loaded in some applications 2010-05-26 08:43:01 +00:00
Andreas Stöckel
99106024c4 Made CKEditor checking, whether the given skin actually exists 2010-05-25 14:50:58 +00:00
Andreas Stöckel
12c03a226d Added support for the new CKEditor 3.2.1 2010-05-25 07:47:57 +00:00
Ralf Becker
5f7efe58a7 remove not used old mime type list 2010-05-22 15:04:32 +00:00
Ralf Becker
79f4a174da moved old validator class to bookmarks, as it is the only place where it still get used 2010-05-22 14:33:23 +00:00
Ralf Becker
6fd418b27e fixed PHP Fatal error: Declaration of vfs_stream_wrapper::url_stat() must be compatible with that of iface_stream_wrapper::url_stat() 2010-05-22 11:00:54 +00:00
Ralf Becker
aedaf485b3 fixed bug egw.stylite.de#8079: new symlinks in /apps not visible on same request 2010-05-22 08:41:26 +00:00
Ralf Becker
b0416e0bf1 removed not used/working old xmlrpc application abstration 2010-05-22 07:05:37 +00:00
Klaus Leithoff
3b427a4062 move debug to be the first thing in send->send; make SmtpSend public as it is used by MDN 2010-05-21 11:19:29 +00:00
Jörg Lehrke
e4d0b6737c Fix egw_ical iterator issues 2010-05-21 06:18:52 +00:00
Ralf Becker
6799864392 fixed wrong language in notifications 2010-05-20 19:32:52 +00:00
Jörg Lehrke
5329baab76 Improve chunked item handling 2010-05-20 13:06:27 +00:00
Jörg Lehrke
fb3cc3f594 Fix chunked item issue (bug#2576) 2010-05-20 10:48:45 +00:00
Ralf Becker
df58928ac6 fail if trying to unlink a directory 2010-05-19 17:33:19 +00:00
Ralf Becker
75a604fad6 "add G to egw_vfs::hsize()" 2010-05-19 09:12:16 +00:00
Andreas Stöckel
892db7c0f2 Resolved problem with some directories that cannot be opened if they contain a symlink, due to a problem with vfs_stream_wrapper::check_symlink_components, which returned that a path doesn't have a symlink in it caused by to the vfs_stream_wrapper internal symlink_cache 2010-05-19 09:01:53 +00:00
Jörg Lehrke
ff9e241961 Fix parameter parser again 2010-05-19 07:02:08 +00:00
Jörg Lehrke
df36afa1ed Fix DAV issue for neon for GroupDAV, too 2010-05-18 10:45:46 +00:00
Jörg Lehrke
e8298f217f Fix iCal attendee CN issue 2010-05-18 10:04:29 +00:00
Andreas Stöckel
95891c869f Added some JavaScript-Code to the date selector which handles clicks on the "Today" button 2010-05-18 09:17:54 +00:00
Jörg Lehrke
27f1fef944 Fix CalDAV invitation issue (Stylite#513) 2010-05-17 14:20:34 +00:00
Ralf Becker
39dfb0b3fe "invalidate session cache, to make new mounts/unmounts visible in current session" 2010-05-15 20:40:27 +00:00
Jörg Lehrke
11093e933c Add more tolerance for chunked packages 2010-05-14 13:06:08 +00:00
Ralf Becker
bf898afb61 "removed permannent error_log" 2010-05-13 10:45:37 +00:00
Ralf Becker
e91b0f0cb5 using since php<=5.0 available raw_output=true parameter for md5 and sha1 instead of deprecated and in newer distros no longer available mhash extension 2010-05-13 10:39:48 +00:00
Ralf Becker
beca9c694a "forgot to switch log_level to 1 (only errors) again ;-)" 2010-05-13 09:27:46 +00:00
Ralf Becker
7bd59d89c8 "Fixed handling of url-special-chars: #?% get urlencoded before returned from this wrapper and all path get urldecode before passing on to php's filesystem functions" 2010-05-13 09:25:39 +00:00
Ralf Becker
46fd3ad561 "Support for basic auth when using PHP CGI" 2010-05-13 08:49:32 +00:00
Ralf Becker
94c31d9508 missing encoding and decoding for attachments 2010-05-12 18:58:16 +00:00
Ralf Becker
259ae6fe24 "fixed not working delete of a preference (was set to an empty string in the db)" 2010-05-12 09:23:50 +00:00
Ralf Becker
8ce9813e4d "only add \"your session could not be verified\", if a sessionid is given (cookie or on url)" 2010-05-11 16:19:26 +00:00
Ralf Becker
55d6c7ca00 "prefer iconv for windows-874 and tis-620 (Thai) charsets, as they are not supported by mbstring" 2010-05-11 15:38:39 +00:00
Ralf Becker
fd56fb27c3 Correct quoting of special chars in vfs:
- # has special meaning in url and is intern always urlencoded as %23
- ? has special meaning in url and is intern always urlencoded as %3F
- % need to be urlencoded as %25, as it's the escape char in urlencoding
  (it has not been stored urlencoded in sqlfs so far, there's some
   workaround in filemanger_ui to deal with the old unencoded % chars)
- space and + are NOT urlencoded in sqlfs in the DB, they get urlencoded
  only for download urls
- " get urlencoded for download urls only as it messes up the html
  markup
--> Filenames get urldecoded, before displayed to user
- done manually eg. in messages
- done automatically in new vfs-name widget (both ways)
2010-05-11 15:02:30 +00:00
Nathan Gray
041200a245 Register link hooks for all installed apps, not just the ones the current user has access to. This lets the apps decide if the user has access to the data or not 2010-05-10 19:05:17 +00:00
Ralf Becker
cad3e95d40 remove not needed all mount options, as hidden files are handled now by our vfs (and if hidden files are not accessible, you can not remove directories containing them) 2010-05-10 14:29:30 +00:00
Ralf Becker
5ef9746f90 switching logging per default off and only outputting passwords in log-level 2, as documented 2010-05-10 13:36:30 +00:00
Ralf Becker
d6d582a541 switching logging per default off and only outputting passwords in log-level 2, as documented 2010-05-10 12:46:46 +00:00
Ralf Becker
1caead5ea9 "make sure to not double encode &" 2010-05-09 13:58:57 +00:00
Ralf Becker
5a47d445e8 "fix tiny mail window, because felamimail uses egw_getWindowOuterHeight() instead of a fixed height given as number" 2010-05-09 09:41:38 +00:00
Klaus Leithoff
bac107ac84 fix for missing CRLF after emailreplace/cleaning of/for emailaddresses 2010-05-06 11:16:57 +00:00
Ralf Becker
930f1052d5 supporting digest auth (see RFC 2617), which is more secure then basic auth on http (no cleartext password), it currently requires cleartext passwords in the database, to calculate the A1 hash! 2010-05-05 09:19:37 +00:00
Klaus Leithoff
f18fc53362 allow |align|style|width|height for img 2010-05-03 09:00:16 +00:00
Klaus Leithoff
9851b5cd46 handle warning on install 2010-05-03 08:19:32 +00:00
Ralf Becker
6865fad5c7 New caching provider using APC's shared memory cache.
Used now by default, if function apc_fetch() exists and no
other caching provide is explicitly set in header.inc.php or egw_cache
class. 
It's probably quicker on virtual machines, as it uses memory and not the
filesystem.
2010-05-01 12:55:41 +00:00
Klaus Leithoff
8ce6ac92ae upgrade htmlpurifier to version 4.1.0 2010-04-27 11:15:35 +00:00
Ralf Becker
b9dcde1e25 "do not allow to fopen a directory" 2010-04-27 10:38:16 +00:00
Ralf Becker
06fb05a891 "- using sqlfs_stream_wrapper::id2path instead of links_stream_wrapper::id2path, as it's the same, but allows to replace links_stream_wrapper with an other class (based on links_stream_wrapper and sqlfs_stream_wrapper)
- using egw_vfs::urlstat instead of links_stream_wrapper::urlstat, to not depend on using links_stream_wrapper
--> required to do versioning on the links"
2010-04-27 07:35:26 +00:00
Ralf Becker
0b38159c94 "using mt_rand() instead of rand() and not longer seeding it explicitly (as recommened on php.net)" 2010-04-23 18:41:01 +00:00
Ralf Becker
d4869ec11a makeing <href></href> clickable again 2010-04-23 16:08:04 +00:00
Ralf Becker
42e3a50e8f fixed wrong value for current-user-pricipal 2010-04-23 16:07:16 +00:00
Jörg Lehrke
64b8873ba1 Fix lost password issue (#2552) 2010-04-23 14:15:28 +00:00
Ralf Becker
b470f52e99 "fixed not working $type=='owngroups' for ldap, eg. used in calendar pref 'Preselected group for entering the planner'" 2010-04-23 10:55:09 +00:00
Ralf Becker
7e8c37c015 allow extra_info to process buttons, by passing it the content array 2010-04-22 17:38:01 +00:00
Klaus Leithoff
798b7faf78 allow style in divs 2010-04-22 12:09:51 +00:00
Klaus Leithoff
e4e8e89f13 allow h4-6 in default purifier definition 2010-04-22 11:20:00 +00:00
Jörg Lehrke
50ff02da4d Add CardDAV support for Apple's latest Addressbook.app 2010-04-21 17:44:36 +00:00
Ralf Becker
f0102eba3f "allow to base links_stream_wrapper on a different parent then sqlfs_stream_wrapper, eg. the new versioning one" 2010-04-21 17:26:28 +00:00
Ralf Becker
901288dde9 "adding line numbers to call-tree" 2010-04-21 15:42:19 +00:00
Ralf Becker
0406f55d97 "adding line numbers to call-tree" 2010-04-21 15:37:14 +00:00
Ralf Becker
938b7cf391 fixed not working rename of account_lid with admin/admin-cli.php, corrupted sqlfs (overwrite /home) 2010-04-21 12:28:27 +00:00
Klaus Leithoff
5339d85c56 rework of home area (moving of portal_boxes, deletion of portal_boxes); modification/fixes to preferences::delete; adding app_id to trackers portal-box 2010-04-21 11:09:38 +00:00
Ralf Becker
372b571e32 "fixed warning (wrong parameter in array_unshift), if account_id not set" 2010-04-20 12:52:10 +00:00
Klaus Leithoff
ac34881766 fix the modified call of file_get_contents (was called with debug extension, to check failure behavior); call/define functions EncodeFile and EncodeString by reference 2010-04-20 12:33:24 +00:00
Ralf Becker
a607738c61 "missing order account_fullname for sql" 2010-04-20 12:16:34 +00:00
Klaus Leithoff
1afe8f6f9a rework of EncodeFile to avoid opening the file in question twice 2010-04-20 12:11:03 +00:00
Ralf Becker
6aebe8485b "fixed not working limited result and sorting for type 'both', caused by an (now disabled) optimisation, which only works for type 'accounts'" 2010-04-20 11:07:02 +00:00
Klaus Leithoff
9284452553 original EncodeFile uses is_readable. this fails with files stored in vfs in webusers context. use fopen instead, as old function (version 2.1) did 2010-04-20 10:02:36 +00:00
Ralf Becker
c2413db67b "if negating a search with an exclemation mark, we have to AND the criteria" 2010-04-20 08:46:14 +00:00
Ralf Becker
d9117ecff0 fixed handling of group acl: addressbook eg. is NOT using it at all 2010-04-20 06:57:57 +00:00
Klaus Leithoff
a2e6e301ee apply egroupware changes to phpmailer 5.1; logging errors to error_log for smtp class; additional functions to retrieve Header and Body of a created mail; being able to attach ics files as additional multipart/alternative part; AddString Part; being able to pass ssl and tls as part of the host string 2010-04-19 15:11:16 +00:00
Klaus Leithoff
af0f7d65b7 upgrade to phpmailer Version 5.1 2010-04-19 15:05:36 +00:00
Klaus Leithoff
d4959b0275 upgrade to phpmailer Versoon 5.1 2010-04-19 14:39:41 +00:00