Commit Graph

3518 Commits

Author SHA1 Message Date
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