Commit Graph

3473 Commits

Author SHA1 Message Date
Ralf Becker
49f86c41c3 PHPGW_SERVER_ROOT/phpgwapi/inc --> EGW_API_INC 2008-08-04 10:59:06 +00:00
Klaus Leithoff
cb8cd0f3e6 when having multiple lines descriptions in contacts or calendar, these are not correctly encoded in vcard.
The problem seems to be line [784] of trunk/phpgwapi/inc/horde/Horde/iCalendar.php
$value = str_replace($this->_newline, '\n', $value);
When removing this line, the description value is correct on the client.

I could not find any sideffects during my tests, if some clients have
problems with this, I assume this would then have to be fixed at a higher
level, because the current state with this line just causes broken output.

From wikipedia regarding Linebreaks in QuotedPrintable:
If the data being encoded contains meaningful line breaks, they must be encoded as an ASCII CR LF sequence, not as their original byte values

Vcard extract without the reported line code:
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Desc 1=0D=0ADesk 2=0D=0A=0D=0A

Vcard extract with the reported line of code
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Desc 1\nDesk 2\n\n

pointed out by Philip Herbert. Carl Knauber Holding GmbH & Co KG
2008-08-04 08:42:19 +00:00
Klaus Leithoff
16cb2097fc Some Devices (Nokia S60) ignore the entire vcard, if the vcard contains
formal error.

This breaks sync for single contacts from egw to client.
example: photo in addressbook without blank line after the property value.
This way the devices are not compliant with RFC2426 (Vcard Version 3)
5. Differences From vCard v2.1
[...]
. Inline binary content must be "B" encoded and folded. A blank
line after the encoded binary content is no longer required.
[...]
This was pointed out by Philip Herbert. Carl Knauber Holding GmbH & Co KG
2008-08-04 08:18:49 +00:00
Ralf Becker
d90ce31491 hook to intercept session creation 2008-07-30 13:29:19 +00:00
Ralf Becker
ac38fe77ff "fixed problem of under some conditions not loaded adodb classes for php4-restore" 2008-07-29 12:13:07 +00:00
Ralf Becker
5b705e6bc6 fixed bugs report by Frank Becker on the german list and some more I
noticed while working on it:
- memory size error, when renaming a file after posting the list (eg.
  clicking on home icon)
- renaming (moving) one file on an existing filename, put the file in an
  inaccessible state
- renaming more then once, did not work
--> ToDo: add some ajax to notify the user, when he tries to overwrite
an other file while renaming one
2008-07-27 18:58:41 +00:00
Ralf Becker
b40382df80 exception handler for xajax and ability to use static methods as ajax callbacks eg. filemanager_ui::ajax_check_something 2008-07-27 12:48:39 +00:00
Klaus Leithoff
42e4f1facd egw_async: handling the ##last-check-run## problem during restore. The line will be skipped. 2008-07-25 09:37:15 +00:00
Klaus Leithoff
832d65ab70 fix for a PHP Warning: preg_split() [<a href='function.preg-split'>function.preg-split</a>]: Compilation failed: nothing to repeat at offset 14 in
phpgwapi/inc/class.egw_index.inc.php on line 183
not sure why it occurs, but the fix works around it and seems not to break anything
2008-07-24 12:56:11 +00:00
Stefan Becker
1999c90df4 "fix for JScalendar, to bei schown, under under the Menupoint \" Grant Access\"" 2008-07-23 13:59:16 +00:00
Stefan Becker
1569576645 "Patch for IE 6/7 checking if the Calendar Element is loaded" 2008-07-22 14:04:23 +00:00
Stefan Becker
8727151c9a PNG Bugfix for IE 6 is working on IE 7 (browsercheck) 2008-07-21 14:40:54 +00:00
Ralf Becker
16c5ce05ac fixed "There's NO ADOdb object!" error in DB backup/restore via
setup-cli.php
2008-07-21 09:40:58 +00:00
Ralf Becker
95d15246b5 fixed not working SyncML, if NTLM auth is enabled: now both working together 2008-07-17 06:55:47 +00:00
Ralf Becker
9374ade6f5 "reverted SyncML part of my NTLM commit from yesterday, as it breaks SyncML: session::verify() is necessary to restore the eGW session (it's NOT used to verify the session)" 2008-07-17 05:51:46 +00:00
Ralf Becker
b5c28fba48 1. NTLM Single Sign ON
NTLM SSO removes Windows users on a PC, which is a member of a Windows
domain and who are logged into that domain, from the need to explicitly log
into eGW.  They simply point IE to the eGW URL (eg. http://domain.com/egroupware/)
and start working. They can of cause explicitly log out and log in as an
other user.
For more information look at the README at
http://www.egroupware.org/viewvc/trunk/phpgwapi/ntml/README

2. different authentication for SyncML and/or GroupDAV
You can now use eg. an external auth provider for the login via the
WebGUI (eg. ADS) and the passwords stored in SQL for SyncML.
2008-07-16 09:29:13 +00:00
Ralf Becker
5477c71045 "silenced autoloaded class ..." 2008-07-15 06:48:59 +00:00
Klaus Leithoff
9dfa6f6d4c Since having problems with the new phpmailers EncodeQP function and its Char and Line/WordWrap Handling, I reintroduce the functionality of the old
class.
2008-07-08 08:38:56 +00:00
Ralf Becker
510f9baf94 "KAddressbook still has problem with self URL in propfind of /addressbook/ collection contains GroupDAV resourcetype, disabling it only for KAddressbook " 2008-07-08 05:52:04 +00:00
Ralf Becker
4296d0c31f dont avoid empty fields, as some are required by vCard, eg. FN 2008-07-04 11:22:25 +00:00
Régis Leroy
b68e7f0041 missing closedir, can lead to Too many open files bugs 2008-07-02 07:57:13 +00:00
Ralf Becker
21c9e960df not the problem is fixed AND setup is still working :-) 2008-06-27 09:44:48 +00:00
Ralf Becker
e89917f860 reverting my last commit, as it breaks app update/install in setup 2008-06-27 09:40:32 +00:00
Ralf Becker
f82bdd9492 "fix for error in setup-cli: egw_minimal::__get: There's NO ADOdb object!" 2008-06-26 20:27:18 +00:00
Ralf Becker
50b5c16a5d "Streamwrapper allowing to use a global variable as stream" 2008-06-26 11:34:04 +00:00
Klaus Leithoff
ecd3948175 some improvements for the smtp class regarding TLS protocoll 2008-06-20 10:51:59 +00:00
Klaus Leithoff
88f99c5eb6 importing the new class.phpmailer.php as class.phpmailer.inc.php v2.1 for PHP5 and adapting eGroupWare specific changes 2008-06-19 16:25:23 +00:00
Klaus Leithoff
a43593c431 importing the new class.smtp.php v2.1 for PHP5 and adapting eGroupWare specific changes 2008-06-19 16:21:54 +00:00
Klaus Leithoff
e5f5feddf1 enable the use of the active mailprofile (if set) 2008-06-19 11:44:31 +00:00
Ralf Becker
bdf7f84a23 fix for bug #1261: PostgreSQL: eGW ignores setting to dont care about case sensitive usernames 2008-06-07 08:25:28 +00:00
Ralf Becker
70e540d71b constants for the capabilities array, easier lookup in IDEs, table name aliaes to eg. move some tables to other databases 2008-06-07 08:24:18 +00:00
Ralf Becker
4edd90a8bf "removed php < 5.1 fallback function" 2008-06-05 07:42:21 +00:00
Klaus Leithoff
b0fe8d229e -patch by Jon Crawford to enable ssl connections for smtp
(phpgwapi/inc/class.phpmailer.inc.php )
 example: hostname: ssl://smtp.servername.country
	  port: 465
2008-06-03 09:30:44 +00:00
Ralf Becker
a5a7c2d30e Additional password crypt types for ldap:
- MD5_CRYPT (9 char salt prefixed with $1$)
- BLOWFISH_CRYPT (16 char salt prefixed with $2$)
- EXT_CRYPT (9 char salt, no prefix)
2008-05-31 06:25:04 +00:00
Ralf Becker
45f895d048 "use static html methods" 2008-05-31 06:03:34 +00:00
Ralf Becker
bb08afcc9f "API change caused already-obsoleted call to sessions_::create() to fail.
Thanks to Peter Goerzen <pgoerzen(at)hustlerturf.com>"
2008-05-31 05:47:26 +00:00
Ralf Becker
e2b84e8c32 dont try oids for new postgres versions 2008-05-30 07:08:19 +00:00
Ralf Becker
2d1b53b835 "using standard md5() instead of hash('md5',...), as it's only a pecl extension" 2008-05-27 20:02:56 +00:00
Stefan Becker
aa4e4be631 "add Country Code for Montenegro and Servibia" 2008-05-27 11:28:00 +00:00
Ralf Becker
ae044a9a08 allow to instanciate the historylog with a given user or 0 for
changes by the system itself (eg. async service). bo_tracking passes on
it's user param of the constructor.
2008-05-27 09:25:25 +00:00
Ralf Becker
62ca85a1b8 "phpdoc file header and __constuct()" 2008-05-24 06:59:35 +00:00
Ralf Becker
17b8868698 "shorten index names longer or equal to 64 chars for all db types" 2008-05-24 06:37:19 +00:00
Ralf Becker
f7bb40b8a4 "docu und todo update" 2008-05-20 05:16:49 +00:00
Ralf Becker
9f30e824b0 enforce a certain strength of uid, as some clients set quite weak ones) 2008-05-20 04:59:26 +00:00
Ralf Becker
3f6d4f41c2 "- call_user_func requires php5.2 and we want to be php5.1 compatible
- also allowing handler to not define an extra_properties method"
2008-05-18 19:16:33 +00:00
Ralf Becker
a659e4eb6b propagate base_uri and debug level to handlers 2008-05-17 12:54:26 +00:00
Ralf Becker
9008414fff "- array2string() to format arrays (or objects) as string, eg. for error_log()
- allow apps to specify their own autoload handler, only tried after the standard one does not find the class"
2008-05-17 07:34:16 +00:00
Ralf Becker
dfc7176959 "- correct handling of depth: 0 in /
- initialise $files['files'] = array() to quiten some warning if propfind returns nothing"
2008-05-17 07:05:57 +00:00
Ralf Becker
6d37a25089 "returning the supportedlock property causes Windows DAV provider and Konqueror to not longer work" 2008-05-13 13:13:38 +00:00
Ralf Becker
fe054923e6 "REALM constant" 2008-05-13 08:34:19 +00:00
Ralf Becker
dd787255fb "fixed bug in webdav upload, found by skyfredox(at)hotmail.com" 2008-05-13 05:50:11 +00:00
Ralf Becker
48352f6963 "dont return mountpoints (like eg. /apps) twice" 2008-05-10 21:47:16 +00:00
Ralf Becker
5cfc38b4f6 moved webdav handler in the root dir, as its now a general service and not only used by filemanager 2008-05-10 21:15:46 +00:00
Ralf Becker
f0f056420f "return only the self URL for propfind on app folder with depth 0" 2008-05-10 20:32:03 +00:00
Ralf Becker
0afb2d0324 pricipals and groups collection for WebDAV Acl, to improve support for Apple iCal, you can now use http://domain.com/egroupware/groupdav.php/pricipals/username as account-url in iCal 2008-05-10 20:15:02 +00:00
Ralf Becker
496f8b9c1a "extra param to session::create() to not create a session, eg. for GroupDAV clients know to not support cookies, eg. Apple's iCal" 2008-05-10 20:04:37 +00:00
Ralf Becker
6d274a7aca "switching of error_log in _parseDateTime()" 2008-05-10 19:00:31 +00:00
Ralf Becker
4885518b88 autoloading of addressbook classes 2008-05-10 12:06:15 +00:00
Ralf Becker
6587e340fc Some modifications required by CalDAV 2008-05-08 20:33:09 +00:00
Ralf Becker
d2e9143213 First version of new CalDav/CardDAV/GroupDAV access for calendar and
addressbook (infolog will follow).
CalDAV is tested so far with lightning 0.8 and Apple's iCal. Please note
that both distinguish between iCalServer and CalDAV!
The URL is currently http://domain.com/egroupware/groupdav.php/calendar/
2008-05-08 20:31:32 +00:00
Ralf Becker
3a5b24dfda "fixed bug reported by matsie(at)terra.es: fatal error on ical export in calendar:
was cased by browser/inc/class.browser.inc.php having top priority in autoloading, which was never intended"
2008-05-06 05:57:21 +00:00
Ralf Becker
f6a883713f locking for eGW's WebDAV (and later on CalDAV).
no recursive (depth infinit) locks atm.
2008-05-01 11:44:55 +00:00
Ralf Becker
9df4251058 "- fixed bug introduced with r25260: connection charset for PDO connection was not longer set, causing utf8 filenames written to mysql, which thinks we are talking latin1 (mysql default)
- also fixed wrong DSN for mysqlt"
2008-04-30 19:00:14 +00:00
Ralf Becker
a3a7503c0f "new static hook methods (class::method) are navitvly supported from php5.2.3+ on, so we need to add some compatibility for our required php5.1
"
2008-04-27 11:55:11 +00:00
Ralf Becker
4ecce4f5ae allow all php callables (eg. "class::method" for static calls) for ExecMethod, ExecMethod2 and as methodstring for hooks 2008-04-25 18:54:06 +00:00
Ralf Becker
a8b924696f removed some depricated and as far as I know nowhere used methods and make many functions static 2008-04-25 18:52:33 +00:00
Ralf Becker
46325b070c fixed fatal error happening on some installs when deleting a dir in sqlfs 2008-04-24 15:19:42 +00:00
Ralf Becker
92c1bf9bfa "also check if the required classes are set for the session restore, fixes a problem with groupdav" 2008-04-22 10:11:49 +00:00
Ralf Becker
80367bb943 removed not longer used old vfs classes and the first stream_wrapper (oldvfs://), I have not yet droped the vfs table, to give the update script more testing with the change to restore 2008-04-21 17:38:39 +00:00
Ralf Becker
9e838a4068 fixed infinit recursion on deleting entries with linked files, first reported by Peter Goerzen 2008-04-21 16:55:52 +00:00
Ralf Becker
1eb9acec27 enable sqlfs_stream_wrapper to run under setup 2008-04-21 15:37:11 +00:00
Ralf Becker
cf4cd2aa3f restore current egw_vfs::$is_root and egw_vfs::$user 2008-04-21 15:36:30 +00:00
Ralf Becker
0080dc39f0 special mkdir of links_stream_wrapper, so the entry dirs do not inherit the other read/browse rights from the app dir 2008-04-21 11:06:45 +00:00
Ralf Becker
2a1d86911b allow to call download url with an vfs-url instead of an path 2008-04-21 11:05:34 +00:00
Ralf Becker
a5b58e57e8 "allow to use link, redirect, redirect_link, invalidate_session_cache static" 2008-04-20 19:31:51 +00:00
Ralf Becker
689ffe18a9 create sqlfs dirs /, /home, /app and removed old vfs entries 2008-04-20 16:44:04 +00:00
Ralf Becker
523997b43e moved filescenter vfs2 tables and classes to filescenter and added index tables 2008-04-20 16:34:16 +00:00
Ralf Becker
b08b584a76 silently add home dirs, if they dont exist (they get now created by a hook, when a user/group get added 2008-04-19 09:46:58 +00:00
Ralf Becker
2a62e73df1 added required params, to suppress warnings 2008-04-19 09:46:02 +00:00
Ralf Becker
9fe5314ed6 fixed not working removal of home dirs, if acocunt/group get deleted 2008-04-19 09:15:46 +00:00
Ralf Becker
24989686df implemented moving of data to an other account on deleting an account 2008-04-19 09:14:59 +00:00
Ralf Becker
13cf2edabb use default fstab, also for an empty one 2008-04-19 09:13:50 +00:00
Ralf Becker
40f32b5d74 "function_backtrace:
- dont output first function param for unserialize()
- limit output of function param to 64 chars"
2008-04-18 14:59:59 +00:00
Ralf Becker
c60b632541 "small fix for webdav running on a non apache server" 2008-04-18 10:41:44 +00:00
Ralf Becker
8590b35fdf "additionally using the port for the pdo connection and remove password from stacktrace of failed connection" 2008-04-18 09:08:48 +00:00
Ralf Becker
48734de102 "additionally using the port for the pdo connection and remove password from stacktrace of failed connection" 2008-04-18 09:08:38 +00:00
Ralf Becker
b86449d359 "fixed problem of perp working with sqlfs or links (use mysqlt driver instead of stock mysql one)" 2008-04-18 08:42:11 +00:00
Ralf Becker
f3181308c5 "added quoting" 2008-04-16 11:37:47 +00:00
Ralf Becker
0a5be8a725 moved mime_icon method to egw_vfs 2008-04-16 07:07:31 +00:00
Ralf Becker
be2fa1c923 "update to fck 2.6" 2008-04-15 12:23:32 +00:00
Ralf Becker
501df49cbb stream wrapper interface is now eGW VFS interface
- if you already run the 1.5.003 update (AND modified anything in the VFS), you have to re-run it, to not loose your modifications or risk an inconsistent VFS (DB does not match filesystem)
- to re-run the 1.5.003 update (only if your version is already 1.5.003 or bigger!) run the following sql:
UPDATE egw_applications SET app_version=1.5.002 WHERE app_name=phpgwapi
- the new vfs supports now an extended ACL, if that is supported by the backend (sqlfs only currently)
- eacl allows to set separate recursive acl rights for different users or groups on a directory (and subdirs)
- former group grants of group dirs are converted to eacl, thought we only support read or read+write access (no extra add or delete)
- attachments via the links class now also use a stream wrapper interface (links_stream_wrapper) and WebDAV as download handler (which requires no longer filemanager run rights)
2008-04-14 05:52:24 +00:00
Nathan Gray
540901e9c7 Fix config to correctly remove empty values 2008-04-11 13:38:37 +00:00
Klaus Leithoff
3b874ad66f added fields created/modified to the retrieval of the single account info.
added accountstatus/created/modified to the retrieval of the account list.
2008-04-10 09:06:24 +00:00
Klaus Leithoff
5693038f9f added fields created/modified to the retrieval of the single account info.
added accountstatus/created/modified to the retrieval of the account list
2008-04-10 09:06:00 +00:00
Klaus Leithoff
6dd130a1f3 fix for the problem, that allowed attribute values where stripped, due to the security bugfix 2008-04-02 08:47:42 +00:00
Ralf Becker
801d387582 "if links of multiple id's of one app were queried and there was a link between two of them, it was only returned for one" 2008-04-01 15:49:30 +00:00
Ralf Becker
d2024f053f "added some debug code (switched off by default)" 2008-04-01 15:47:37 +00:00
Ralf Becker
7e22bf1347 "New method try_lang(), usefull for exception handlers or early stages of the initialisation of the egw object,
as calling lang would try to load the translations, evtl. cause more errors, eg. because there's no db-connection."
2008-04-01 10:47:50 +00:00
Ralf Becker
3d909d4776 fixed fatal error "Exception thrown without a stack frame in Unknown on line 0", if DB does not exist when calling the regular eGW url 2008-04-01 10:33:54 +00:00
Ralf Becker
868345fcb6 "added static to encrypt_pasword" 2008-03-25 17:05:38 +00:00
Ralf Becker
8a9e4d3d9d "removing unnecessary instancations" 2008-03-25 17:05:08 +00:00
Ralf Becker
bf31f4e94a "removing unnecessary instancations" 2008-03-25 17:02:09 +00:00
Ralf Becker
2cd4742695 "removing unnecessary instancations" 2008-03-25 17:00:56 +00:00
Ralf Becker
0c37486b65 "static html methods and other modernisations" 2008-03-25 16:58:50 +00:00
Ralf Becker
1c4b1f9636 "using the global db object" 2008-03-25 16:54:16 +00:00
Ralf Becker
ed5db11312 show session restore time 2008-03-22 16:22:11 +00:00
Ralf Becker
eb2303adc8 "prevent that anyone switches the global db object to an app != 'phpgwapi' (you have to clone it before doing that)" 2008-03-22 12:32:24 +00:00
Ralf Becker
ea3ae107d1 added minimal egw object (egw_minimal), which is shared between egw and setup 2008-03-22 09:29:29 +00:00
Ralf Becker
9553da2f63 "fixed typo: translations --> translation" 2008-03-22 09:25:41 +00:00
Ralf Becker
a02a89fbdb "stoped permanent error_log of loaded classes" 2008-03-21 21:02:00 +00:00
Ralf Becker
ac04409df7 dynamically autoloading sub-object of egw-object, moved __wakeup methods to concerned classes and other "modernsations" ;-) 2008-03-21 20:50:13 +00:00
Ralf Becker
3bf9ad5efa dynamically autoloading sub-object of egw-object, moved __wakeup methods to concerned classes and other "modernsations" ;-) 2008-03-21 20:11:59 +00:00
Ralf Becker
3108861db0 "using global db object" 2008-03-21 17:15:02 +00:00
Ralf Becker
de74e8b6ce "using global db object" 2008-03-21 11:49:28 +00:00
Ralf Becker
e71d16ed28 "fixed not working rename of dirs in the old vfs" 2008-03-20 14:21:13 +00:00
Ralf Becker
2912ec7c61 "fixed broken image title" 2008-03-20 08:32:29 +00:00
Ralf Becker
af72b6ea54 fixed problem pointed out by lukasz.pilorz(at)allegro.pl 2008-03-19 11:09:27 +00:00
Ralf Becker
b98808f87f "added todo's (concept) for extended ACL, WebDAV properties and locks" 2008-03-18 13:17:13 +00:00
Ralf Becker
4f94d5837d use of global db object and new headers, made all methods of the auth class static 2008-03-15 17:27:36 +00:00
Ralf Becker
78624aa9e9 "using the global db object" 2008-03-15 15:52:27 +00:00
Ralf Becker
0927d90e09 "using the global db object" 2008-03-15 15:30:15 +00:00
Ralf Becker
81a0b796d9 "using the global db object" 2008-03-15 15:11:48 +00:00
Ralf Becker
ec042e0f4d "using the global db object" 2008-03-15 15:00:15 +00:00
Ralf Becker
426fc2825e "using the global db object" 2008-03-15 14:52:26 +00:00
Ralf Becker
7272868ab5 "using the global db object" 2008-03-15 14:19:06 +00:00
Ralf Becker
3f5c03f91a "removed double include of mounted dirs in egw_vfs::find" 2008-03-14 15:37:33 +00:00
Ralf Becker
68dfe96fed "new method download_url" 2008-03-14 15:00:06 +00:00
Ralf Becker
e79c4b3e6a removed left over line, causing name2id to fail and stopping all logins 2008-03-13 20:08:37 +00:00
Ralf Becker
37a12ac183 "using global db object" 2008-03-13 19:37:09 +00:00
Ralf Becker
04160dda86 dont search of titles if no ids given 2008-03-13 19:31:31 +00:00
Ralf Becker
c01818daa1 egw_db::expression searches for a table_def in all (loaded) apps, not just the current) 2008-03-13 19:30:01 +00:00
Ralf Becker
12cdb8820d remove empty or null values from the config-table 2008-03-13 19:28:44 +00:00
Ralf Becker
14bc5239b7 "fixed not found first entry of result-set" 2008-03-13 19:12:14 +00:00
Klaus Leithoff
259f6d5cab fixed a problem in the old vfs_sql class in acl_check, a var group_ok is checked to verify permissions but never set. this did lead to empty
downloads in some cases. This was sponsored by PX2@Medien GmbH & Co. KG
2008-03-13 12:48:43 +00:00
Ralf Becker
ae1cabebf7 "new optional param to get_3links to return just the app_id's and not the full link-records" 2008-03-13 11:27:48 +00:00
Ralf Becker
e7d9ca5532 "suppressed warning if ADORecordSet::fetchSingle() has nothing to fetch and docu" 2008-03-13 10:59:57 +00:00
Ralf Becker
3760ea8608 fixed not found tabledefinition if no app-name given and a search of the table was requested (type in var-name) 2008-03-10 21:32:13 +00:00
Ralf Becker
5ea6f9dc1f search every id only once 2008-03-10 21:02:11 +00:00
Ralf Becker
5042a302d6 fixed typo, preventing links with a certain app to be found 2008-03-10 21:01:28 +00:00
Stefan Becker
62ad7b05eb added new countrys like AALAND ISLANDS or SERBIA AND MONTENEGRO and
marked old contrys with 'former'
2008-03-10 16:41:55 +00:00
Ralf Becker
b0ce76ad83 "added some aliases for iso-8859-1 which seemed to be used in some mails" 2008-03-10 12:57:27 +00:00
Ralf Becker
d4a1075c68 "fixed bug reported on the german list by webmaster-at-kmu-tools.de" 2008-03-09 21:14:05 +00:00
Ralf Becker
0da675bf6e made all methods from html class static and removed the unnecessary singleton 2008-03-09 14:35:48 +00:00
Ralf Becker
97f63b43ff some compatibility stuff for ADOdb<->PDO 2008-03-09 14:22:02 +00:00
Ralf Becker
0ac46f72c7 reworked to call egw_link (static) 2008-03-08 23:21:42 +00:00
Ralf Becker
6cfde1148b "added (depricated) $link_table var" 2008-03-08 23:17:10 +00:00
Ralf Becker
b1c2d9ac47 titles was not caching the returned titles and new param for get_links_multiple() to cache the titles of all found links 2008-03-08 22:38:09 +00:00
Ralf Becker
15ca7e90ed eGW wide index over all applications (superindex)
This index allows a fulltext search over all applications (or of
cause also a single app).
Whenever an applications stores an entry it calls: 

             boolean egw_index::save($app,$id,$owner,array $fields,array $cat_id=null)

which calls, as the application do when is deletes an entry (!), 

             boolean egw_index::delete($app,$id)

and then splits all fields into keywords and add these to the index by 

             boolean private egw_index::add($app,$id,$keyword).

Applications can then use the index to search for a given keyword
(and optional application):

             array egw_index::search($keyword,$app=null) or

             foreach(new egw_index($keyword,$app=null) as $app_id => $title)

To also allow to search by a category or keyword part of it, the index
also tracks the categories of the entries. Applications can choose to
only use it for category storage, or cat do it redundant in there own
table too. To retrieve the categories of one or multiple entries: 

             array egw_index::cats($app,$ids)

Applications can use a sql (sub-)query to get the id's of there app
matching a certain keyword and include that in there own queries:

             string egw_index::sql_ids_by_keyword($app,$keyword)

Please note: the index knows nothing about ACL, so it's the task of
the application to ensure ACL rights.
2008-03-08 21:51:12 +00:00
Ralf Becker
a515bdeffb reworked link classes:
- new public egw_link class, which has only static methods and can NOT be instanciated
- depricated bolink class, for existing code instanciating the bolink class in $egw->link
- new method and application hook *titles* to retrieve the title of multiple entries of an app in one go
- new method *get_links_multiple* to retrieve all links of multiple entries of an app
2008-03-08 21:41:20 +00:00
Ralf Becker
407b4defad static strip_array_keys method to strip a colum-prefix from a result, docu update about depricated functions which use the internal result-set 2008-03-08 21:31:12 +00:00
Klaus Leithoff
85c7be0259 checking if apparray exist in __autoload, before looping through 2008-03-07 10:18:17 +00:00
Ralf Becker
108cb59d3c fixed bug introduced by Connys performance stuff: function returned limited resultset with unset or empty start parameter 2008-03-06 16:11:49 +00:00
Ralf Becker
4f941b5a61 (hopefully) final fix: default for select() is now again ASSOC, but next_record() adds numerical indexes again, if they are required. That is a slight penality for old code, but gives full speed / lowest memory for new code. 2008-03-06 14:20:47 +00:00
Ralf Becker
046713e00f temp. fixed problem introduced with last egw_db commit (db::f() not working with db::select()), thought I want to check how often that is used, as an only asociative fetchmod needs half the memory 2008-03-06 13:33:38 +00:00
Ralf Becker
e03425c90b fixed an error with the initialisation of the static $db var (under LDAP and php4-restore sessions) and or by using the global db object without cloning it 2008-03-06 11:43:45 +00:00
Ralf Becker
9de6c2884f added fetchmode parameter to query() and set it to ADODB_FETCH_ASSOC for select(), also added comment about how to avoid cloning the global db object and looping over result sets via the returned result object 2008-03-06 11:42:21 +00:00
Ralf Becker
42688f5cd2 removed unnecessary checkAuth function, because the regular eGW session cookie got not recogniced and all checks are done by the header include anyway 2008-03-04 08:33:08 +00:00
Ralf Becker
b638e9117b set old vfs as default again for easier testing of the new UI 2008-03-03 12:17:08 +00:00
Ralf Becker
d2094b8958 search, lettersearch, merge content of subdirs (recursive display) 2008-03-03 12:16:11 +00:00
Ralf Becker
0af252ad55 ordering and limited resultsets 2008-03-03 07:53:43 +00:00
Ralf Becker
4df4fd9f06 first work on UI for a new filemanager and some vfs bugfixes and improvments 2008-03-02 21:44:15 +00:00
Ralf Becker
7da0cd0dd0 fixed static use of config::save_value() 2008-02-29 07:36:29 +00:00
Ralf Becker
3cd2ce8dd2 fixed mount command and enhanced egw_vfs::find() 2008-02-29 07:27:49 +00:00
Ralf Becker
ea5cda5310 fixed typo preventing non-root access 2008-02-29 07:23:14 +00:00
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