Commit Graph

3159 Commits

Author SHA1 Message Date
Ralf Becker
a0e5556c62 hooks to create, rename or delete user+group home-dirs (you need to run Admin >> register hooks!) 2008-02-27 10:33:48 +00:00
Ralf Becker
640ee3ab93 hooks to create, rename or delete user+group home-dirs (you need to run Admin >> register hooks!) 2008-02-27 10:20:48 +00:00
Ralf Becker
8afe9094b7 More improvments of the sqlfs code and the command line interface:
- read rights are not checks in each traversed directory (via sql in a single query to locate the path)
- diropen additionally checks for execute rights
- fopen checks for read or write depending on the mode
- chmod, chgrp, chown methods in sqlfs and egw_vfs/vfs plus an egw_vfs::$is_root var used to grant root rights (no access controll and chown or chgrp without being the owner of a file)
- find method (some more params to come) to recursivly search and optionaly execute some callback
- egw_vfs::remove doing a "rm -r" / recursive remove or dirs and files
- new files or dirs inherit the perms and ownership from the parent directory (no umask)
- files/dirs the user has no read rights, in a directory where he has no write rights, get hidden (eg. not showing all the other users / groups home dirs
- many new cli commands (chmod, chgrp, chown, find), recursive option for most commands and the ability to use it with root rights, see the usage message if called without options
- "cp -r -p" to copy a whole tree incl. ownership and perms, eg. backing up /home to /backup
2008-02-26 08:51:42 +00:00
Nigel Vickers
d81d9bce03 Mutexed memcache handler. Traps race and memcache memory conditions on large scale Fastcgi farms.
Attribs: Stephan Becker: Code, identified the Javascript culprits
         Wim Bonis: Code, Race condition
	 Klaus Leithhoff: Code, mbstring writes a different length to that that it reads
	 Lars Volker: Code, Debug memcache slab memory,  memcache add as lock.
2008-02-25 14:13:45 +00:00
Nathan Gray
cc210e9dae config->save_value() was overwriting the cached array values with a single value 2008-02-22 16:42:20 +00:00
Carsten Wolff
3304616642 Circumvent a bug in some distributions of apache/mod_php, where an apache
child, that has executed a php script with mbstring.func_overload=7 once, will
overload substr() in a later execution of another php script, even if the
Location context of that script has mbstring.func_overload=0 set. Since the
WBXML decoder works byte-by-byte to determine substring length, it fails, if
mb_substr() is used. This patch prevents this.
2008-02-19 09:55:59 +00:00
Ralf Becker
e71608d8cc new sqlfs stream wrapper, as replacement for the old vfs class (it uses the PDO extension, as PDO allows to access BLOBs as streams), the update create a new egw_sqlfs table and fills it with the content of the old vfs (egw_vfs table), BOTH use the same files in the filesystem, so beware if you delete something in one or the other, this is definitly NOT for production systems 2008-02-18 06:52:07 +00:00
Ralf Becker
9c649da978 WebDAV can use now the new stream wrapper interface, thought its switched off by default in filemanager/webdav.php (see the comments at the end of the file) 2008-02-18 06:43:49 +00:00
Cornelius Weiß
ed6fea6f5b performance enhancement: accounts::search 2008-02-12 15:57:39 +00:00
Cornelius Weiß
86f6654c8c fix the "to many categories" problem with ldap backend 2008-02-12 15:55:26 +00:00
Lars Kneschke
252f2a964b use the global instance of the accountsClass and create a own connection to the accounts backend 2008-02-08 11:21:32 +00:00
Lars Kneschke
09f1287d6c using the singleton passtern to get a instance of the accounts class and call the setAccountId function to set the accountId 2008-02-08 11:20:50 +00:00
Lars Kneschke
51f14c8d82 don't resolve group grants when using the addressbook, as resolving group memberships is currently extremly slow, with bigger installations
maybe we can also fix it different
2008-02-08 11:19:41 +00:00
Lars Kneschke
31f2ea4a07 minor formating changes 2008-02-08 11:16:40 +00:00
Lars Kneschke
844936d19b added singelton pattern to the accounts class and added function to set accountId without needing to call the construtor 2008-02-08 11:16:09 +00:00
Ralf Becker
e3ee4fb7dc new egw_vfs class, with many static methods to access the new vfs, see the documentation in the header of egw_vfs 2008-02-07 06:37:45 +00:00
Ralf Becker
b2be83b0da new id2name parameter $item="path" to get a / delimited path of the cat hierarchy (names of the parents) 2008-02-07 02:40:43 +00:00
Klaus Leithoff
08e5fa0497 prevent the mb_convert_encoding to return with an empty string, for the failing of the conversion in that function results in an empty string as
well.
2008-01-31 12:31:18 +00:00
Klaus Leithoff
a0cee847a2 small bugfix while getting the grants, since analyzing grants for read/write access in infolog returned less results than expected. this was
suggested by Ralf for testing.
2008-01-31 12:23:46 +00:00
Ralf Becker
e657227035 new vfs-stream-wrapper class, which uses a fstab (in a static class var at the moment) to mount different filesystems/stream-wrappers together in a single virtual file system for eGroupWare, can be tested with filemanager/ls.php and the default fstab of / => oldvfs:/ 2008-01-30 06:51:54 +00:00
Ralf Becker
399e087f2c - unlink/mkdir/rmdir methods
- caching the information for dir_open vfs_sql::ls() to use it in url_stat, to not read it again from the db
- implemented a static touch method, which is not (yet) part of the stream-wrapper interface
2008-01-30 06:47:53 +00:00
Ralf Becker
fbc8aa7be7 new parameter to set the date/time for touch, default the the current time 2008-01-30 06:43:55 +00:00
Ralf Becker
88cb04b87b oldvfs stream-wrapper can now also open/read/write files and uses a direct filesystem stream to overcome memory_limit limitations, eg. with filemanager/ls.php --cp /tmp/xyz.iso oldvfs://user:password@default/home/user you can copy now a cd image to the vfs! 2008-01-29 07:24:16 +00:00
Klaus Leithoff
10f3a93947 fixing a possible problem in the fix. accidently commented out the line that stops including files after framework inclusion. It does cause
problems!
2008-01-28 13:18:35 +00:00
Klaus Leithoff
e6cd15b08d fixed a problem with the loading of config (with session restore), by loading the class.config.inc.php after the stored object is unserialized. 2008-01-25 10:54:51 +00:00
Ralf Becker
4a800502fa was not fully working with half-hour timezone, like eg. used in australia 2008-01-19 05:29:50 +00:00
Ralf Becker
c25ba82735 - slightly modified exception handler, to cover the situation when the egw object is not yet or only partially initialised
- somehow the baseclass stuff in __autoload was never working as intended (could not load the exceptions derived from egw_exception)
2008-01-19 05:28:33 +00:00
Ralf Becker
2722e59477 reworked the config class to:
- have a static method config::read($app) to read the config of an app, no need to instanciate it
- added some caching to not read the config more then once per request
- moved the get_customfields and get_content_type methods here from admin.customfields
- private custom fields only visible for certain users/groups (in addressbook only for the moment)
2008-01-19 05:25:37 +00:00
Ralf Becker
9364f9e77e - allow the cost-free netdrive to set the modification date
- also storing the modification date in the filesystem, as reloads resets it to that
2008-01-17 05:40:38 +00:00
Ralf Becker
1dafc8cba8 PROPPATCH handler to allow Webdrive to set creation&modification date, as some windows programs require it 2008-01-15 03:49:18 +00:00
Klaus Leithoff
2aa82e48ff expanding the autoload function to enable it to step through the registered modules to find old naming shema classes.
This is due to a bug in felamimail, when typing an address, the auto completion produces an XML Error, because the
socontacts_sql class is not found. 
The problem may be resolved by another method, the solution provided here is probably not wanted, for proper style reasons, 
and will not solve all possible autoload problems.
2008-01-11 12:33:17 +00:00
Nathan Gray
742ed962f5 Add a check on pngfix preference so the internal function doesn't always preempt pngfix.js settings 2008-01-09 18:15:42 +00:00
Ralf Becker
2a4eff2ca3 few slight modifications to better cater for the multi-domain administration 2008-01-09 02:01:08 +00:00
José Luis Gordo Romero
a70080a62a 2007-12-23 08:17:01 +00:00
José Luis Gordo Romero
91f90bb1af Enabling new admin/preferences options (fckeditor behavior/spellchecker) to felamimail 2007-12-23 07:39:56 +00:00
Ralf Becker
b44a3f198b allow to specify a list of groups, to not enumerate 2007-12-21 18:55:37 +00:00
Ralf Becker
d570952210 "fixed syntax error, missing colons, thanks to pgoerzen-at-hustlerturf.com" 2007-12-20 20:59:22 +00:00
Ralf Becker
12498d655f "fixed syntax error, missing colons, thanks to pgoerzen-at-hustlerturf.com" 2007-12-20 20:56:56 +00:00
Ralf Becker
b0146349db moved __wakeup code to reconnect to ldap server to the accounts_ldap class own __wakeup method, fixing an error with editing accounts using php4-restore together with accounts in ldap 2007-12-20 19:38:26 +00:00
Ralf Becker
b3f40cdff8 "added missing default for new $strip parameter of categories::name2id() added by Patric, to be compatible with the current code not giving that parameter and generating warnings because of that
Thanks to regime2000-at-gmx.de from the German list."
2007-12-20 19:13:55 +00:00
José Luis Gordo Romero
71d98434fe Enabling the new prefs & admin settings in fckeditor html class function 2007-12-20 06:15:56 +00:00
Ralf Becker
56d644d921 new egw_exception_db_not_unique, to be used when a unique constraing got violated, eg while saving a row 2007-12-20 02:42:29 +00:00
Patrick Bihan-Faou
95eeded398 Make the detection of the device types a little smarter and able to use
out-of-band data such as the HTTP user agent.

Use that to determine weither message fragmentation should be used or not.

Indicate that Funambol 6+ supports fragmentation (this solves cases where
big addressbooks cannot be syncrhonized because there are too many entries).
2007-12-19 07:45:36 +00:00
José Luis Gordo Romero
e0217cfabd 1. Enabling custom fckeditor config file (settings that can not be configured by the php object) and modified connector path
2. Enabling compatibility (ofically supported by fckeditor) to safari and opera
2007-12-17 18:00:48 +00:00
Ralf Becker
44ebdd457a fixed warning, if session dir is not listable 2007-12-15 16:19:38 +00:00
Ralf Becker
2aa096915c reworked the accounts class, to be able to instanciate both backends (ldap&sql), as well as specify the config (account_repository, ldap_*) 2007-12-13 02:32:44 +00:00
Patrick Bihan-Faou
d97f1eed5e Extend the patch to get_categories in infolog submitted by matthias to the other classes as well.
Added a hack that allows one to search for the categories' names prefixed by X-
Sony Ericsson phones (and possibly others) systematically prepend a X- to the 
category names, so with this patch we match X-CatName just like CatName

This is only done for SyncML obviously.
2007-12-11 09:29:50 +00:00
Ralf Becker
6a91f65335 "docu update: which exceptions should give translated messages ready to display to the user and which dont need to" 2007-12-09 07:38:52 +00:00
Ralf Becker
6994cc27c1 "using exception instead of exit, thought I can not yet remove the options to ignore the fatal error, as they might be used" 2007-12-09 07:37:16 +00:00
Ralf Becker
a6b8ef57d5 "fixed error-message on no connection to a postgres server, to NOT contain the password" 2007-12-07 00:16:25 +00:00
Ralf Becker
da6d690458 added draft of an exception class for eGW, plus a global exception handler and replaced the fatal errors in the db-class plus the application rights check in the egw object with exceptions, modified the exceptions in admin_cmd* to use egw_excpetion*, instead just Exception 2007-12-06 08:04:45 +00:00
Ralf Becker
cae8bb40a8 added draft of an exception class for eGW, plus a global exception handler and replaced the fatal errors in the db-class plus the application rights check in the egw object with exceptions, modified the exceptions in admin_cmd* to use egw_excpetion*, instead just Exception 2007-12-06 08:00:41 +00:00
Ralf Becker
4fa672d346 "Switched query logging off, was accidently left on, thanks to a notice from Nigel" 2007-12-04 16:20:20 +00:00
Ralf Becker
e75db01b3c "tiny patch from Andreas Feldner <pelzi-at-flying-snail.de>, allowing for passwords containing a colon" 2007-12-01 01:02:05 +00:00
Ralf Becker
3e29477fe9 "some alternative charsets for the import, a hardcoded list for now, as all languages use utf-8" 2007-11-30 16:45:54 +00:00
Patrick Bihan-Faou
bb20c359f2 The formated_list function in phpgwapi/inc/class.categories.inc.php was
renamed to formatted_list a while ago. There is no need to keep dead code
around.
2007-11-27 17:14:54 +00:00
Ralf Becker
58750e5997 "- autoload function for eGW
- setting required php version to 5.1+"
2007-11-25 17:26:08 +00:00
Christian Binder
e72ec7185e Extended notification-app and egwpopup. Added winpopup-backend and email-backend. PHP5.1+ is now mandatory in trunk. For more infos look at the egw-developers list. 2007-11-22 08:29:16 +00:00
Patrick Bihan-Faou
65d3ecaa5b Fix the synml fragmentation support problem detected on some phones
such as the Nokia E61.
This affected most phones/devices that use SyncML with the vcard/vcalendar
format.

Fix from Christoph Kaulich, thanks.
2007-11-19 11:16:24 +00:00
Cornelius Weiß
a1eb61f102 fix for reading empty files. This caused problems with mac os x as WebDAV client 2007-11-18 20:04:58 +00:00
Ralf Becker
90f39cef39 "encryption" type plain for sql and ldap, to allow to store the passwords readable 2007-11-06 11:16:34 +00:00
Ralf Becker
742f10831b not using gidNumber for autocreating accounts, as it means nothing on our system and it stops the group selected in setup from beeing used 2007-10-28 06:04:16 +00:00
José Luis Gordo Romero
7ab746e386 [Oracle Support]
- Enable $noNullString in oci8 driver, this solves inserts blanks on NOT NULL columns that are not part of the 
primary key
- Fixes problems as group creation, and others
2007-10-21 07:53:22 +00:00
Ralf Becker
761cb8c9a0 "allow mixed installations of trunk and 1.4 apps, by reading both langfiles" 2007-10-19 13:02:55 +00:00
Ralf Becker
bd4b0cc4ef "added a query log, independent of the db used" 2007-10-19 05:48:52 +00:00
Ralf Becker
598a63379c "added a query log, independent of the db used" 2007-10-19 05:46:39 +00:00
José Luis Gordo Romero
3081b0a05a ORA - Fixed schema creation (indexes, triggers and secuences):
Indexes: The solution of put the index name of the first columnt dont't
work because duplicates, create instead a hash of the large name (PHP 5
>= 5.1.2, PECL hash:1.1-1.5) with an fixed char at beginning (Oracle
objects names can't start with a number)

Secuences & triggers: create a a hash of the large name.
2007-10-18 04:29:16 +00:00
Ralf Becker
015180cd06 "fixed bug introduced by my commit r24522: egw could not deal with LDAP Ids" 2007-10-17 14:40:02 +00:00
Oscar Manuel Gómez Senovilla
b018b25a15 API changes to handle egw_ prefix in lang files 2007-10-14 16:12:39 +00:00
Ralf Becker
d8598d36a7 "removed double assignment" 2007-10-12 16:11:35 +00:00
Klaus Leithoff
dbb80581b7 fix of small typo in function convert 2007-10-12 11:10:25 +00:00
Ralf Becker
e024ecd870 "Patch #1149 from JF B: get_egwId could not deal with dashes in the Id, which can happen with LDAP" 2007-10-12 05:52:57 +00:00
Ralf Becker
34816b372f fixed instance selection by server-name to additionally find instance names containing only the domain-part (eg. www.domain.com matches instance domain.com, if no www.domain.com instance exists) 2007-10-11 11:44:39 +00:00
Ralf Becker
74c9b0ccb7 fix prevent deleting of accounts via SyncML and to read private flag from the DB if missing 2007-10-11 06:24:57 +00:00
Lars Kneschke
df9ba564c2 patch from Patrick Bihan-Faou to fix contact duplication 2007-10-10 07:21:00 +00:00
Ralf Becker
ea3994993d fixed not returned global and other user cats in name2id (eg. if contacts stored in LDAP or SyncML), the so far only returned personal and application global cats have priority 2007-10-07 07:00:03 +00:00
José Luis Gordo Romero
96ed4814ac OCI8 ADODB - Fix imported from adodb 5.02 (Control triggers and secuence names > 30 chars, oracle restriction) 2007-09-30 03:00:03 +00:00
Ralf Becker
7b6a1013fc SyncML patches from patrick.bihan-faou-AT-mindstep.com (without
logout+mbstring stuff), small modification to use the already exiting
methodes to generate full name and fileas)
The code is commited to trunk only at the moment to allow testing of it.
If everything goes well, we intend to commit it to 1.4 branch too.
Here's the original description of the patch by Patrick:
- handles the default config for current versions of funambol (i.e. the
scard/stask/snote/scal locations)
- tries to be a bit smarter on how the data content should be encoded
based on what the client specified (sif+base64/vcard, / fragmented or
not, etc.)
- workaround a bug in some versions of funambol, where funambol does not
specify the proper sif type for the type of requested data
- imported patch #117 from egw's tracker
- make sure that the logs generated by the horde code go to stderr so
they can be view in the webserver's logs
- as much as possible reduce code duplication. For example, the
categories are handled in the parent classes for both the SIF avn VCAL
formats for each type of data (addressbook,infolog,calendar).
- make sure the code can handle more than one categories in each
  direction
- treat the 'sony ericsson' vendor string just like 'sonyericsson', the
newer phones apparently have a space in the vendor string... (this
touches some files in the icalsrv as well)
- handle notes: these should now work with everything (funambol or
  other)
- remove more code duplication: the syncml "api" for the various data
types (calendar, contacts, infolog) is now common for both the vcard and
sif data formats (cf the files that need to be removed)
- handle the "privat" filter in infolog like the "private" filter (some
part of the code use the name without the trailing e)
- imported patch # 267 from egw's tracker
2007-09-29 10:29:48 +00:00
Ralf Becker
82f2b4e91f global bytes() function returning the number of bytes of a string, independent of mbstring available and mbstring.func_overload set 2007-09-29 09:17:42 +00:00
Carsten Wolff
645750297f explicitly enable casts between text and bytea for transparent use by schema_proc 2007-09-27 22:06:58 +00:00
Klaus Leithoff
a10101d640 Fix for a problem with cumulating timesheets when the linking application is other than initiated by $app1, means for whom link_app1=$app1 and app1
being the application passed on in the get_3links function parameter list.
2007-09-12 13:17:02 +00:00
Ralf Becker
820bb9b592 calculation of rfc822 dates was not working with half hour time zones used eg. in Australia, set smtp timeout to 30s, as there are multiple reports 10s is to less 2007-09-05 07:50:10 +00:00
Ralf Becker
097238311b fixed not found user searched by email, if there's also a contact with that email 2007-08-24 10:53:26 +00:00
Ralf Becker
fa8bef1312 typo 2007-08-23 10:22:55 +00:00
Ralf Becker
47ddd5f714 a fix to get the memcache session handler working with SyncML: the way SyncML/Horde handles the session (calling session_destroy) unloads our custom memcache handler 2007-08-23 10:18:14 +00:00
Ralf Becker
f17e9b4032 to allow other code (eg. the SyncML code from Horde) to open the eGW session, we use a first memcache key identical to the original memcache session handler (for the first junk/1MB) 2007-08-17 15:53:19 +00:00
Ralf Becker
4c59fcbc76 1024*1024 is too big, maybe some account-info needs to be added 2007-08-17 14:31:15 +00:00
Ralf Becker
4011dba79b memcache session handler, which can deal with typical eGW sessions > 1MB (the one included in the pecl extension fails) 2007-08-17 13:56:06 +00:00
Klaus Leithoff
dc2acf4428 added OpenOffice Fileextensions to class.mime_magic.inc.php;
fixed a problem for the refreshing of a directory: mime_types got lost, when refreshing and the mime type could not be determined by get_real_info.
the fix uses the phpgwapi.mime_magic.ext2mime function to determine the mime_type if the common method fails to find one.
2007-07-31 13:58:15 +00:00
Ralf Becker
9b476e0687 fixed problem caused by non existing session-object in setup, reported und the user list 2007-07-27 09:36:00 +00:00
Ralf Becker
d899beeb55 "fixed problem reported on the german list: memberships get not set if a new user gets creted in ldap
It turned out to be a caching problem, as the cache of the accounts-class still contained a failed id2name resolution for the new account.
This was caused by the session-restore with stored the cache in the global accounts object ($GLOBALS[egw]->accounts) too.
Now the global cache is in the global account-object and all other account objects use just a reference to that cache. It get stored from common::egw_final by calling $GLOBALS[egw]->accounts->save_session_cache() in the session."
2007-07-27 07:46:55 +00:00
Ralf Becker
4f6b0ae2da fixed not working semaphore in asyncservice (we are not supporting table locks anymore / since 1.2) 2007-07-26 09:22:28 +00:00
Ralf Becker
32b19397ae fix for bug 'etemplate tree widget does not work in IE6' reported on the developer list uwe.redecker-AT-t-online.de 2007-07-24 09:32:28 +00:00
Ralf Becker
9f1df33c74 first version of a tree widget (atm the whole tree need to be supplied, like for select) 2007-07-22 13:23:44 +00:00
Ralf Becker
0d3caf95a8 changed search order and added some caching, to minimize db-accesses in country_code 2007-07-18 06:09:26 +00:00
Ralf Becker
ef51f663b7 quitent warning when vfs trys to delete an in the db non-existing file 2007-07-16 09:18:16 +00:00
Cornelius Weiß
909609ebbc backport syncML fixes 2007-07-04 19:14:35 +00:00
Ralf Becker
c4a17cf53f "fixed date-type problem in restore reported on the german list" 2007-07-03 08:21:29 +00:00
Ralf Becker
a55b1a5163 "fixed bug reported from sim <sim-at-compulab.co.il>: _read_group not searching for posixGroup, which makes problems if you have identical numbers and context for users and groups
also added a filter for objectclass=posixAccount to _read_user"
2007-06-27 05:26:46 +00:00
Ralf Becker
4b80391b71 "fix for sequenzes tables are depending on for postgres 8.x, thanks to Peter Eisentraut" 2007-06-25 15:57:19 +00:00