Commit Graph

3457 Commits

Author SHA1 Message Date
Ralf Becker
747c796d1e "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:22:40 +00:00
Ralf Becker
02b5e725e0 "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:51:17 +00:00
Ralf Becker
af08fbb532 "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:40 +00:00
Ralf Becker
88862bcb9b Fixing the fix ;-)
shadowLastChange has to be an interger.
2009-04-09 08:12:21 +00:00
Ralf Becker
a80ffb6223 Backported r26747 to 1.6:
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-09 07:49:17 +00:00
Ralf Becker
cb46bce9cf Fixed not (always) updated last password change date 2009-04-09 06:44:02 +00:00
Ralf Becker
403913f1ae 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:33:43 +00:00
Ralf Becker
aa26af977d New options for filesystme stream-wrapper:
- all:   false (default) =3D ignore files starting with a dot '.',
  true =3D show all files (. and .. are always ignored!)
- exec: false (default) =3D do NOT allow to upload or modify scripts, =

  true =3D 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:35:46 +00:00
Ralf Becker
bc1a92d1cc PDO compatibilty function fetchSingle() was renamed in PDO to
fetchColumn($column_num=3D0): now both are available in ADOdb, thought
fetchSingle is depricated and should no longer be used!
2009-03-25 09:06:01 +00:00
Ralf Becker
cac46f75b0 "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:49:15 +00:00
Klaus Leithoff
d313eb2daf fixing various webdav problems, regarding pathbuilding 2009-03-09 12:23:47 +00:00
Klaus Leithoff
7d2491678d dont use the outcome of titlecache (break) if id is an array 2009-03-09 11:07:22 +00:00
Ralf Becker
a9830b0650 "fixing high minimize memory usage (important for huge number of accounts)" 2009-03-05 15:20:34 +00:00
Klaus Leithoff
bce3b1daac 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:18:31 +00:00
Klaus Leithoff
b2d753f46f bugfix for typo in class-var 2009-01-13 11:24:29 +00:00
Klaus Leithoff
aae4b8ac8d strange phenomenon with existing debug variable 2008-12-09 15:24:19 +00:00
Klaus Leithoff
770207474e debug stuff related to placeholder substitution 2008-12-09 14:47:35 +00:00
Klaus Leithoff
cf51ea7120 debug stuff for the session handling 2008-12-09 14:46:35 +00:00
Klaus Leithoff
8169fe41e1 introducing and enhancing debug-stuff, targeted on SMTP sending without interface (notification). To make not functional sending a bit more traceable 2008-12-09 14:45:27 +00:00
Klaus Leithoff
13dd934ddd putting some debug into the send class to find problems more easily 2008-12-05 11:34:58 +00:00
Ralf Becker
68d6f0fe69 "- 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:37:35 +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
Ralf Becker
59b4f49e58 fixed errors in creating the home dirs of standard groups in sqlfs during setup 2008-10-26 07:37:37 +00:00
Ralf Becker
4694b6e917 "prevent fatal error if only egw_minimal is instanciated in $GLOBALS[egw], eg. setup" 2008-10-26 07:34:21 +00:00
Ralf Becker
5cf8a56f02 "fixed problem with title cache causing:
- infolog to display wrong contacts in the list
- double reads of contacts"
2008-10-25 09:06:11 +00:00
Ralf Becker
ff16b360f0 "using exceptins (instead of depricated egw_db::hold_on_error attribute) to deal with not set up eGW" 2008-10-25 05:43:59 +00:00
Ralf Becker
9ba17c163c "documentations update on how to use exceptions instead of depricated hald_on_error attribute" 2008-10-25 05:36:25 +00:00
Nathan Gray
01e04e6fc3 Make sure redirect gets sent, in case something fails in the shutdown 2008-10-24 18:39:30 +00:00
Klaus Leithoff
deb6edda9b behave more gracious if database tables are not existing, or outdated. Otherwise we chrashed completely with a invalid SQL Statement (Table
does not exist), without further info/adwise for the user/admin.
2008-10-23 08:31:51 +00:00
Klaus Leithoff
859e1206e4 preparation to use senderinformation specified with the smtpusername if set (appended to the username in the orm of:
smtpusername;mailadress@thatisownedbysmtpusername.com)
2008-10-21 11:57:52 +00:00
Ralf Becker
e54f9ee079 Fixed encoding problems in WebDAV and vfs:
- egw_vfs::download_url as not encoding + or ' ' in pathes
- HTTP_WebDAV_Server was urldecoding $_SERVER[PATH_INFO], which is
  wrong, as it is NOT encoded
- HTTP_WebDAV_Server was NOT urlencoding the pathes in PROPFIND
  responses, causing eg. cadaver not to be able to use dirs containing
  + or space
2008-10-21 11:57:26 +00:00
Ralf Becker
375c328453 Fixed bug pointed out by lluis <lluis.faja-at-gmail.com>:
sqlfs stores files with fs_id < 100 directly under /sqlfs in the files
dir. They conflict with directories created for fs_id >= 1000.
--> fs_id < 100 are now in a directory /sqlfs/00
You need to run the 1.5.016 update or you will not find the content of
files with fs_id < 100 anymore!
2008-10-21 07:08:12 +00:00
Ralf Becker
44c3c3f75a "removed permanent error_log() in set_cache" 2008-10-20 14:52:01 +00:00
Ralf Becker
c635c11f32 "fixed not working file upload after my commit from sunday: vfs & stream-wrapper use posix rights, egw_link::file_access uses EGW_ACL_{EDIT|READ}!" 2008-10-20 14:51:19 +00:00
Ralf Becker
25b3c3a1f8 Improved cache handling in egw_link class, to cope with excessive multiple
reads of entries from the database: Applications can call

egw_link::set_cache($app,$id,$title,$file_access=null)

from their search or read method, to eliminate the need to query the
entries again, when the egw_link class, link widget or links stream wrapper
needs title or file_access values later.
This offloads the caching to the link class, and improves performance a
lot, specially for infolog.
The cache is stored in the session and modified or deleted items get
removed, when the link class get notified about that anyway.
2008-10-19 11:28:21 +00:00
Ralf Becker
abc26d61ee "fixed error introduced with postgres fix from this morning, sorry ;-)
"
2008-10-15 10:02:30 +00:00
Ralf Becker
303699d341 "fix for postgres problem reported by peter goerzen
"
2008-10-15 06:00:38 +00:00
Ralf Becker
2e66d3b093 "use a default for the host in resolve_url, as we otherwise get an invalid url (scheme:///path/to/something)!
"
2008-10-14 14:57:35 +00:00
Ralf Becker
60b85adcbc "reworked _get_css debug message:
- was given if no css function as defined (correct use)
- explain a bit more what's wrong"
2008-10-13 18:23:02 +00:00
Ralf Becker
868c532beb "link registry parameter with an extra options to egw_vfs::find, to eg. remove some files from the list of attachments" 2008-10-10 17:02:43 +00:00
Ralf Becker
9b4e06c998 "fixed stream open mode 'rb' was treated as a write mode: now 'b'=binary is ignored, as all operations are binary" 2008-10-10 17:00:03 +00:00
Ralf Becker
5322acf455 "fixed type causing sitemgr reloads to fail: PHP Fatal error: The script tried to execute a method or access a property of an incomplete object." 2008-10-10 13:11:37 +00:00
Klaus Leithoff
900ee97db1 adding error_log info about _get_css -> deprecated functionality related to the setting of the GLOBALS Array on CreateObject in
phpgwapi/inc/common_functions.inc.php which is no longer supported.
2008-10-10 09:19:21 +00:00
Ralf Becker
71063707a4 "found and fixed the real cause, appsession got called after session was commited (and therefore encrypted), these calles get now silently ignored" 2008-10-09 12:24:41 +00:00
Ralf Becker
8edc407e4d "quitent error_log from commit_session" 2008-10-09 12:12:48 +00:00
Ralf Becker
d9c93f845d "hopefully last fix for session encryption:
- flag in session if it is encrypted to prevent calling the encryption more then once, which stalls the session-content
- egw_session::session_comit() method calls now encrypt() too, as it closes the session, before the destructor is called
- hack to fix PHP Fatal error: Cannot use string offset as an array, which happens sometime in felamimail under php5.2
- some more docu"
2008-10-09 11:55:09 +00:00
Ralf Becker
d7f5835422 "fixed problem with lost password in session, when using session encryption" 2008-10-09 09:54:24 +00:00
Ralf Becker
2349c28fa8 phpgw --> egw 2008-10-08 18:40:01 +00:00
Ralf Becker
94da0682cd re-added session encryption:
- it now also encrypts the egw object and egw_info array, stored in the session
- it no longer encrypts every egw_session::appsession() call, but the
  whole array at once when the egw_session object gets destroyed
- mcrypt algo and mode are currently hardcoded to tripledes and ecb, as
  we dont have the database connection, when they are needed. You can
  add it as egw_info[server][mcrypt_{algo|mode}] in the header.inc.php
- fixed a bug, which let the session grow around 400k(!) each request
- if mcrypt or the selected algo/mode is not availible the session
  encryption is switched off automatic, but an error is logged
2008-10-08 18:38:30 +00:00
Klaus Leithoff
8f6cf0ac8f quitening warnings, if charset is unknown (mb_convert_encoding), as it may happen, with parts of emails (header information, ...) 2008-10-08 11:18:43 +00:00
Ralf Becker
d60d8376e1 - classnames according to new naming schema
- file_access method
- updated version and dependencies for 1.6
2008-10-07 17:57:50 +00:00
Ralf Becker
9bca7a7689 moved phpgw compatibility stuff into common_functions.inc.php 2008-10-07 15:50:53 +00:00
Ralf Becker
fa1996a0c9 uiinfolog --> infolog_ui 2008-10-07 12:56:18 +00:00
Ralf Becker
c3e40ade99 added an array of replacement names to ease the transition to the new class naming scheme: app_class 2008-10-07 08:51:14 +00:00
Ralf Becker
0218ffb751 - new vfs-widget to encapsulate common vfs/file related stuff
+ path with clickable components
  + human readable size, mode, ...
  + mime icon with integrated thumbnail creation
- link widget uses now vfs-mime for it's icons
- thumbnail creation is now switched on with size 32px by default, it can
  be switched of by the admin or user, in doing so explicitly
- mime-icons are moved from filemanager to etemplate, as not everyone
  installs filemanager
- filemanager has now 3 display modi:
  + Current directory (with subdirs always on top)
  + Subdirs sorted in
  + Files from subdirs (shows recursive all files and you
    can click on the path components thanks to new vfs widget)
2008-10-06 17:43:42 +00:00
Ralf Becker
401c0de336 - renamed key of property value to 'val' like in HTTP_WebDAV_Server
- support for propfind and proppatch for WebDAV
2008-10-05 19:01:49 +00:00
Ralf Becker
0a7d4f9782 Comment and custom fields for filemanager / sqlfs 2008-10-05 17:07:36 +00:00
Ralf Becker
1d7f34ff62 "fs_modifier was not updated (it's currently not available, as no posix attribute, but for a dms it's quite usefully)" 2008-10-05 09:01:20 +00:00
Ralf Becker
b6a9e16bcd SQLFS (eGW's default VFS system) stores the content of the files now in
a hashed directory structure based on the fs_id and not longer on the
path (which can not be recovered, once the filesystem get's corrupt)
--> Make backups (db AND files directory), before attempting the update !!!!!!!!
2008-10-03 12:18:19 +00:00
Ralf Becker
f0c47082a2 "allways add stat array as last parameter to egw_vfs::find() callback" 2008-10-03 11:06:41 +00:00
Ralf Becker
6b1841dccb "remove eACL on rmdir also for STORE2DB" 2008-10-03 08:30:40 +00:00
Ralf Becker
dec9991bbf "icons matching only the first part of the mime type were not displayed" 2008-10-03 08:14:35 +00:00
Ralf Becker
4328a0c906 Fixed links stream wrapper and link class, to work with storage=db 2008-10-02 11:04:51 +00:00
Ralf Becker
7ac2a20db3 "fixed problems of egw_vfs::find with query-part in url's" 2008-10-02 11:03:26 +00:00
Ralf Becker
22a6325531 "mkdir was loosing the query-part when recursivly creating directories" 2008-10-02 11:01:28 +00:00
Ralf Becker
c38cb2da76 "an other small fix for egw_vfs::concat" 2008-10-01 18:02:23 +00:00
Ralf Becker
0baa7f22e3 "finished implementation of storing vfs/sqlfs files in the database:
- the used storage (default filesystem) can be switched via a get-parameter in the url mounted (eg. sqlfs://default/?storage=db)
- please note the current (php5.2.6) problems:
a) retriving files via streams does NOT work for PDO_mysql (bindColum(,,PDO::PARAM_LOB) does NOT work, string returned)
(there's a workaround implemented, but it requires to allocate memory for the whole file!)
b) uploading/writing files > 1M fail on PDOStatement::execute() (setting PDO::MYSQL_ATTR_MAX_BUFFER_SIZE does NOT help)
(not sure if that's a bug in PDO/PDO_mysql or an accepted limitation)
--> now we need to implement an easy switch in setup to allow admins to use the db backend (does NOT require an directory outside the docroot)
currently you need to use filemanager/cli.php mount"
2008-10-01 18:01:45 +00:00
Ralf Becker
f128866a37 "concat with query was not working if path ended in a slash" 2008-10-01 11:39:38 +00:00
Ralf Becker
396b1212ad "global stream wrapper (makes variables available as streams) is now mbstring.func_overload save" 2008-10-01 10:06:49 +00:00
Ralf Becker
e76f20f665 New stream-wrapper to mount the regular filesystem into the vfs while
allowing to set an arbitrary uid, gid and mode for the vfs (like
mounting a dos Filesystem under Linux).
Can be used to mount eg. an upload dir writable only by Admins:
filemanger/cli.php mount --user root_admin --password whatever \
        filesystem://dummy/var/www/html/uploads?group=Admins&mode=075 \
        /uploads
Please note that you can NOT use filesystem:/something!
Fixed the vfs-classes to deal correctly with get-parameters used as
mount-options.
2008-09-30 11:52:56 +00:00
Ralf Becker
cebdeab490 "fixed notice in cron call: Undefined index: egw_unset_vars" 2008-09-29 06:55:25 +00:00
Klaus Leithoff
e4c29d36fc fix/improve the filter handling for querying all accounts, due to problems with unlimited querys, and/or large groups 2008-09-19 09:12:30 +00:00
Nathan Gray
0044736e0f - Preserve existing times when working with an existing job schedule
- Preserve values of 0 (previously set to */1)
2008-09-16 21:47:08 +00:00
Klaus Leithoff
e9fb294676 groupdav: switching of debug 2008-09-12 11:10:13 +00:00
Ralf Becker
3b5d46022d "common::email_address() dont add @domain, if not domain (mail_suffix) specified" 2008-09-11 07:48:49 +00:00
Ralf Becker
ea295a1165 not used any more 2008-08-29 16:12:10 +00:00
Ralf Becker
1fbb260ad3 not used any more 2008-08-29 16:05:04 +00:00
Klaus Leithoff
5db4d77067 use the static function randomstring instead of the egw->common object (which may not be instanciated at the time) 2008-08-29 13:34:41 +00:00
Klaus Leithoff
1d48d7d217 define/declare randomstring as static function 2008-08-29 13:31:33 +00:00