Commit Graph

6346 Commits

Author SHA1 Message Date
Ralf Becker
b5269738d7 read-free-busy, schedule-send and schedule-deliver privileges 2011-09-22 18:46:16 +00:00
Klaus Leithoff
afb4dff864 * API/CheckPasswordAge: new approach to the issue, as we have to take into account that the timestamp of the last password change may not be provided by the auth system. We fetch the timestamp from the authsystem if the method is implemented for the auth method configured (instead of juggling with account_lastpasswd_change or account_lastpwd_change) 2011-09-22 15:29:41 +00:00
Ralf Becker
c26fcffda7 first step for CalDAV scheduling
- principal reports scheduling-inbox-URL /<username>/inbox/ and scheduling-outbox-URL /<username>/outbox/
- outbox collection contains no events
- outbox correctly answers POST for freebusy information
- outbox respons to all other POST with "204 No Content", ignore client request to deliver invitations
- inbox collection contains events of unknown status (PARTSTAT=NEEDS-ACTION)
- inbox responds to DELETE with "200 Ok"
--> iCal under OS X now shows freebusy times :-)
(had to add "write-content" privilege for calendar collections user has edit rights for, to allow adding events)
2011-09-22 15:22:52 +00:00
Ralf Becker
1f39e5c562 - added WebDAV ACL props supported-privilege-set and current-user-privilege-set
+ currently only standard WebDAV privileges: read, read-current-user-privilege-set, write-content, bind and unbind used
  + they get only queried for collections, thought we dont report any write* on collections, as we dont allow to create calendars or change properties
- new groupdav::add_resource() method used to add all resources (incl. collections) to propfind or report requests
- improved autoindex to show nicely indented hierarchical properties
2011-09-21 20:08:21 +00:00
Ralf Becker
d5f9c5b93c - show user collections /<username>/(addressbook|calendar|infolog)/ in propfind
- only define addressbook-home-set and calendar-home-set for principal-collections
- advertice /addressbook/ as addressbook-gateway (searchable collection for all contacts accessible to a user)
2011-09-20 19:16:24 +00:00
Nathan Gray
4a3c3cf659 Add fallback handling using typeof when input.constructor fails 2011-09-19 23:19:16 +00:00
Ralf Becker
8b74af09c5 correctly handle (forced) user preference account-selection "none" or "groupmembers": do not show other groups or users 2011-09-19 14:15:33 +00:00
Ralf Becker
b848d23ef3 fixed no longer possible direct access/mount of VFS root via WebDAV after r36606 2011-09-19 11:39:46 +00:00
Ralf Becker
03ed1d3ddb - refactored code to use a single add_collection method in groupdav class
--> app groupdav classes now get calling groupdav object as parameter
Had a quick test with iOS & OS X addressbook, calendar and with Lightning
2011-09-18 10:56:56 +00:00
Ralf Becker
b49aae4675 - using now associative properties for easier extending, which get converted at end of add_collection to HTTP_WebDAV_Server properties
- added addressbook-findshared report to principals
2011-09-17 12:31:47 +00:00
Ralf Becker
f61e4dfcfa added collection to /principals/ resourcetype and principal-collection-set to root 2011-09-17 12:29:51 +00:00
Ralf Becker
cea61e2436 fixed typo stalling mail notifications 2011-09-16 16:11:05 +00:00
Ralf Becker
7f7e84afaa activating calendar-proxy in OPTIONS 2011-09-16 11:48:28 +00:00
Ralf Becker
2a7127a4c3 show real namespaces instead of not (visibly) defined shortcuts 2011-09-16 10:21:40 +00:00
Ralf Becker
6ce0906838 * CalDAV: implemented calendar proxy support and cleaned up principals tree 2011-09-15 22:45:00 +00:00
Klaus Leithoff
f616b34f58 API: introduce register_single_app_hook to be able to add or update one hook for an required app. register added/updated hooks with ->location; calendar and addressbook are using this to insert export_limit hook if not available. use app hook to fetch app specific export limit with import_export side_menu additions too 2011-09-15 16:53:20 +00:00
Ralf Becker
93b7e6885c check if we are already trying to unlink the entry, to avoid an infinit recursion 2011-09-15 16:35:28 +00:00
Klaus Leithoff
d9905d3fb4 calendar/addressbook/API: introduce hook to fetch the export_limit to be applied for an app; introduce method to test if a specific hook exists for an application; fetch the export_limit via hook where appropriate 2011-09-15 14:46:56 +00:00
Ralf Becker
bd06c4c9d5 * Filemanager/WebDAV: understand Windows7 modification time attribute and setting and returning is as vfs modification time 2011-09-15 12:14:20 +00:00
Ralf Becker
859f83bf39 if nothing left in queue, stop interval-timer to give browser a rest 2011-09-14 14:22:38 +00:00
Ralf Becker
abac9e96fe fixed fatal error, if there are no parameters 2011-09-14 14:22:17 +00:00
Ralf Becker
77f2a043fc local caching and queueing of egw.link_title() requests 2011-09-13 19:55:06 +00:00
Ralf Becker
5cadd29d58 Basic egw.link_title(_app,_id,_callback,_context) method.
Plan is to run a clientside cache and own queue for link_titles, as server can query titles for N id's for a given app more effiently then N separeate queries.
2011-09-13 18:23:43 +00:00
Ralf Becker
516b977472 ability to queue ajax requests on the client and send them as a single ajax request every N ms to the server
a) instead of a single request like: new egw_json_request(menuaction, params).sendRequest(true, callback, context); 
b) you call: egw.jsonq(menuaction,params,callback,context)
The server callback is identical for both kinds of requests. All egw_json_response methods can be used and the callback is optional.
2011-09-13 17:27:02 +00:00
Ralf Becker
2ed73047df fixed serveral issues around cached config:
- changing config in setup did not update or unset the cache --> instance was NOT using it
- new installs failed, because cache was not configured
- cache command to not configured cache gave fatal error, now they throw a (catchable) exception
2011-09-13 09:25:25 +00:00
Ralf Becker
387be881ee egw.link(_url, _vars) method and using it for JS event handler 2011-09-09 19:41:09 +00:00
Ralf Becker
b1b1ab820a no need for db schema on the client 2011-09-09 14:56:34 +00:00
Andreas Stöckel
df36138012 Changed loading order of dhtmlxcommon 2011-09-09 14:50:50 +00:00
Andreas Stöckel
50ad9e4ba0 Included dhtmlx js files in egw_menu_dhtmlx.js, fixed problem with removing action objects, improved egw_include_mgr a bit 2011-09-09 14:03:18 +00:00
Andreas Stöckel
4bb00f1475 Fixed problems with include manager. Includes like 'phpgwapi.jquery.jquery.ui' do now work. 2011-09-09 11:41:14 +00:00
Ralf Becker
ea03c4032b implemented link attributes for image-widget and added them to xulio, some docu for describtion 2011-09-08 20:44:53 +00:00
Nathan Gray
6585ff14e6 Add a place for egroupware to tap into file request before it's sent 2011-09-08 20:32:58 +00:00
Ralf Becker
008f009d80 - implemented new egw.link_app_list(_must_support) and egw.link_get_registry(_app, _name) methodes
- using egw.link_app_list('query') in link widget (no need to transfer it additonally)
- added some more docu to egw object
2011-09-08 12:24:53 +00:00
Ralf Becker
b950c5b811 fixed typo causing search for group-members to fail for accounts in sql 2011-09-08 09:57:32 +00:00
Nathan Gray
65a37234c4 Add some jquery resources - CSS and icons. 2011-09-07 23:32:03 +00:00
Ralf Becker
f5c5df3299 respect restrictive account-selection "groupmembers" and "none" when linking with accounts and sort search for accounts alphabetically 2011-09-07 16:44:00 +00:00
Ralf Becker
b633044a46 * API/Calendar: allow to link to accounts and allow to select accounts as participants by searching them like contacts 2011-09-07 14:47:51 +00:00
Ralf Becker
8d28765f76 % should be encoded, but easily leads to double encoding, therefore better NOT encodig it in egw_vfs::encodePathComponent() 2011-09-07 08:40:52 +00:00
Ralf Becker
c23450ea73 deal with parsing of query parameters appending an "=" to "?download", accepting "?download=" too 2011-09-06 07:23:02 +00:00
Ralf Becker
366bad914d * Filemanager/WebDAV: #?+ and chinese characters working now in filenames 2011-09-05 10:25:28 +00:00
Nathan Gray
8875c94c24 Async file uploads 2011-09-01 22:07:30 +00:00
Ralf Becker
046c0919cc make basic data of current user available via egw.user(_field) 2011-08-31 12:17:34 +00:00
Ralf Becker
54bf7a3d2d - fixed image map was empty created when not loged in (now directories are used and not $GLOBALS['egw_info']['apps'])
- fixed not working vfs-image-dir
- deleteing image-maps when:
  + apps get installed, updated or removed
  + admin >> register hooks
  + admin >> site configuration: vfs-image-dir get changed
- fixed not displayed validation errors (thought there were no validation) in admin >> site config
--> you need to register hooks, in order to get the admin >> site configuration validation hook ;-)
2011-08-31 10:16:12 +00:00
Ralf Becker
5d83c036e0 forgot to switch of error_log for not found images, as that happens regulary in some parts of EGroupware 2011-08-31 08:01:18 +00:00
Ralf Becker
19d167f5be fixed not working jerryr template set, needs image_on and previously not working template image dir 2011-08-31 07:52:19 +00:00
Ralf Becker
7868b684cd using php5 constructors 2011-08-31 07:50:28 +00:00
Ralf Becker
1e7b17203f - if image not found, check if it might contain extension and try without (better is not to use extension at all!)
- changed default to current app as in API, but it is not yet working, because egw object runs in framework for jdots :-(
2011-08-31 06:26:05 +00:00
Ralf Becker
ea7ad6318d new clientside image-name to url map: egw.image(_name, _app="phpgwapi")
eg. egw.image('favicon') returns '/egroupware/phpgwapi/templates/default/favicon.ico'
--> pondon to serverside common::image($app,$name) method
2011-08-30 22:19:38 +00:00
Ralf Becker
dce02a03cb re-added common::find_image() and common::image_on() as deprecated 2011-08-30 22:16:31 +00:00
Ralf Becker
a048840e44 use one instance specific image_map to translate between image-names and URLs, which can be transfered to the browser for etemplate2 (next commit) 2011-08-30 22:03:17 +00:00
Ralf Becker
a654002f7b * WebDAV: allow locking of not (yet) existing files to create them
- failed before as there are no write-rights for not existing files
- now we check for not existing files the write rights of the parent directory
2011-08-30 17:03:34 +00:00
Andreas Stöckel
0bb328dc6d Initializing configs variable with empty object, to have code running standalone 2011-08-30 09:15:00 +00:00
Nathan Gray
331cd20bf3 Add base64 functions for communciationg with felamimail 2011-08-29 21:14:09 +00:00
Ralf Becker
4a1f4fff8c * Filemanager: "Save as" option for files to force download and not open in browser 2011-08-29 08:40:22 +00:00
Ralf Becker
ae5cde8259 fix bug reported on devel-list:
egw_cache::get_provider(Instance) no provider found (error instanciating provider egw_cache_files: egw_cache_files::__construct() server/temp_dir
--> made egw_cache::get_config_value public, so egw_cache_files can use it and for regular egw sessions read install_id and temp_dir together with system_charset, before calling config::read()
2011-08-29 05:58:54 +00:00
Ralf Becker
edab2bd248 $GLOBALS['egw_info']['server']['lang_ctimes'] is now an array 2011-08-28 12:48:31 +00:00
Ralf Becker
4c23b3766e egw API update missed in r36331:
- sending EGroupware configuration (non-sensible stuff) to browser and make it available via egw.config(_name, _app="phpgwapi")
- sending link-registry in the same file
- used javascript file uses etag to ensure there's no need to load it on each request
2011-08-28 08:28:53 +00:00
Ralf Becker
a8af711f11 add backtrace to failed includes, to see where it comes from 2011-08-27 08:48:27 +00:00
Ralf Becker
be6fd87783 - sending EGroupware configuration (non-sensible stuff) to browser and make it available via egw.config(_name, _app="phpgwapi")
- sending link-registry in the same file
- used javascript file uses etag to ensure there's no need to load it on each request
2011-08-26 16:27:57 +00:00
Ralf Becker
389486793d - config is now cached on instance level
- arrays in $GLOBALS[egw_info][server] are now automatically serialized and unserialized
- new static method to check if user is export-limit excepted
--> saves to query it on each request (for non-phpgwapi, which was already cached in the session)
2011-08-26 13:50:20 +00:00
Ralf Becker
a925764fc4 - dynamical (synchronious) loading preferences (other then "common") from server via egw.preference(_name, _app)
- setting preferences on server via egw.set_preference(_app, _name, _value)
- enable calling of active framework / template class via using egw_framework instead of not known used framework class of user, eg. "home.egw_framework.ajax_func.template" instead of "home.idots_framework.ajax_func.template"
2011-08-26 09:34:18 +00:00
Klaus Leithoff
4effb9931e fix problem with double encoding html special chars (introduced with rev36141) 2011-08-26 08:21:04 +00:00
Ralf Becker
d295c17e90 fix for community.egroupware.org bug #3027: Open item in element list no longer working 2011-08-26 07:31:18 +00:00
Andreas Stöckel
55bf8f9570 additional check for existance of application in lang array 2011-08-23 17:11:45 +00:00
Ralf Becker
16c6a8d4f9 got clientside translations working for etemplate2 apps: egw.lang("%1 timesheet(s) %2", 5, egw.lang("deleted")) 2011-08-23 16:15:54 +00:00
Ralf Becker
24e34f7927 new clientside API object currently supporting the following methods:
- egw.preferences(_name, _app='common') return preference _name of _app (only common prefs loaded currently)
- egw.open() allowing to open app-entries utilising the link registry, deprecating egw_open from jsapi.js
- egw.lang(_msg, _arg1, ..., _argN) placeholders are not yet implemented
2011-08-23 14:29:56 +00:00
Klaus Leithoff
050a1307cb * API: take care of INNODB and STRICT_TRANS_TABLES for recent mysql installations 2011-08-22 10:16:07 +00:00
Ralf Becker
7dd54648b9 merging all translations in window.egw_lang, to not have to search n-arrays 2011-08-21 20:22:09 +00:00
Ralf Becker
0aa128b53e Loading translations like other javascript files:
setting headers to allow browser to cache the file until it's etag containing the creationdates of the used langfiles changes
--> et2 can now use egw_lang object to translate labels, options, ...
2011-08-21 20:09:14 +00:00
Ralf Becker
750f80b23b fix to work with path containing a query 2011-08-21 20:01:10 +00:00
Klaus Leithoff
bda5e014d7 * tracker: mailhandling - prevent to use rsh or ssh to establish connection 2011-08-18 14:49:16 +00:00
Nathan Gray
1761ea02db Add in jquery.tools form tools 2011-08-17 21:35:22 +00:00
Ralf Becker
697a113171 url need to run throught htmlspecialchars too (like every attribute in html markup), eg. "x&reg_id=" fails otherwise 2011-08-16 11:44:33 +00:00
Hans-Jürgen Tappe
b176cb9256 - Allow sitemgr blocks to be moved between pages, categories and websitewide
(previously only moving from a page up to the cat, then up globally was
  possible).
- Allow options within a select to be formatted through the standard
  html::select_option() function
2011-08-15 16:25:08 +00:00
Andreas Stöckel
c999373490 Added possibility for egw_json plugins to be executed in the context of the creator of the request object 2011-08-15 14:26:37 +00:00
Ralf Becker
2a95927fc8 added update from 1.8.002 2011-08-11 19:04:40 +00:00
Ralf Becker
4f54abdda2 quietened PHP Warning: array_keys() expects parameter 1 to be array, null given on line 106 2011-08-11 07:31:47 +00:00
Ralf Becker
9c82896a7b quietened PHP Warning: in_array() expects parameter 2 to be array, boolean given on line 855 2011-08-11 07:23:29 +00:00
Nathan Gray
a30b864ddd Add jqplot for graphing 2011-08-09 23:10:50 +00:00
Ralf Becker
17a41103d5 Loa language translation from vimontha <kvimontha@yahoo.com> 2011-08-09 06:12:25 +00:00
Ralf Becker
5e9d4f3601 * API fix PHP fatal error wakeup2 is no method ..., when comming from setup 2011-08-05 08:01:51 +00:00
Ralf Becker
30f5025431 * API fix webserver_url of just a domain eg. http://domain.com gives PHP Warning empty delimiter ... 2011-08-05 08:00:58 +00:00
Ralf Becker
cc113b3519 merged latest changes from doc/rpm-build/apache.conf 2011-08-04 08:14:23 +00:00
Ralf Becker
6a1834ceff * NTLM authentication: limit redirect, if NTLM auth could not be preformed, to same domain, EGroupware domain, or explicitly whitelisted domains
to fix issue "found" on www.autosectools.com
2011-08-04 07:58:57 +00:00
Ralf Becker
31c9e8965b fixed creating of new translations / give [Write] button file not yet existing (permissions given) 2011-08-04 07:27:23 +00:00
Ralf Becker
fc5f651412 Loa language translation from vimontha <kvimontha@yahoo.com> 2011-08-04 07:00:00 +00:00
Andreas Stöckel
6fff48a306 Fixed typo in comment 2011-08-03 14:27:45 +00:00
Andreas Stöckel
2e9104ecea Added dependencies to the egw_action js files 2011-08-03 14:04:30 +00:00
Andreas Stöckel
149c154540 Added system which allows us to define dependencies inside js files.
An introduction on how this can be done is given in class.egw_include_mgr.inc.php.
This file/class may lateron be extended to minifiy, compress and cache groups of js files - currently only the 'debug-mode' is implemented, which sends all javascript files as individual files, making it easy to debug the java-script files in the browser.

The new method should work with all old code, especially including java-script files as part of an ajax-response, if something is broken, please report that!
2011-08-03 14:03:31 +00:00
Klaus Leithoff
8d7c954544 sticking to the rules of the protocoll while writing a request to port, ensures that lighttpd (>=1.4.28) understands our requests 2011-08-03 13:36:59 +00:00
Ralf Becker
04e032e7af fixed problem "found" on www.autosectools.com 2011-08-03 08:29:53 +00:00
Ralf Becker
79d12b67be * CalDAV: user agent detection of OS X 10.7 Lion iCal app (CoreDav instead of DavKit) 2011-08-02 12:59:23 +00:00
Andreas Stöckel
10e5735e16 Allowing mutliple action-link groups to be defined for grid entries. These must be comma seperated. 2011-08-02 11:51:58 +00:00
Klaus Leithoff
11475a41cd * admin: allow to choose which kind of spellchecking you would like to employ when using the CK Editor (Options now: Yes, No, Without SpellCheckAsYouType, WebSpellChecker) 2011-08-02 11:39:59 +00:00
Andreas Stöckel
5a7daf61aa Fixed problem with move_files function always returning false 2011-08-02 09:33:13 +00:00
Ralf Becker
6d8c35496a - silently use server_timezone if wrong user timezone preference is set, as we can not (easily) report it to the user at the stage of initialising EGroupware
- if server_timezone is NOT valid, try (and permanently store!) date_default_timezone_get() frist and then "Europe/Berlin"
2011-08-01 13:04:40 +00:00
Klaus Leithoff
09963248f1 * API: upgrade ck editor from v3.3.1 to v3.6.1 (latest release as of June 2011) 2011-08-01 11:48:47 +00:00
Ralf Becker
73450d3817 fixing 3 failed litmus tests:
- copy_coll, move_coll: using egw_vfs::find instead of System::find which we dont require and fails anyway for some reason
- copy_shallow: by updating COPY with changes from 1.0.0RC6 (depth="0" is allowed for copy, thought HTTP_WebDAV_Server still copies the whole collection!)
2011-07-31 09:23:16 +00:00
Ralf Becker
399c835f11 HTTP_WebDAV_Server 1.0.0RC6 changes without Server.php changes comming later 2011-07-29 10:33:52 +00:00
Ralf Becker
632a91774d allow dash ("-") in app name, eg. sitemgr-site 2011-07-26 13:49:53 +00:00