Commit Graph

3516 Commits

Author SHA1 Message Date
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
Ralf Becker
ff32c498c6 "read handler need to return '' (empty string) for a not found session!" 2008-08-29 13:29:57 +00:00
Klaus Leithoff
755ba2245c after session_destroy, we need to (re-)load the eGW session-handler, as session_destroy unloads custom session-handlers 2008-08-29 13:00:18 +00:00
Klaus Leithoff
fbffb3baca fixed a bug that came with the new session handling, since session save and session restore cant handle objects, we have to serialize them first
and unserialize them on retrieval.
2008-08-29 12:43:30 +00:00
Klaus Leithoff
b2ae4fe5c7 fixed a typo that prevented the ldap creation and modification timestamps to show in accounts listview 2008-08-21 07:31:34 +00:00
Ralf Becker
e433a67c7a "only allow valid order criteria" 2008-08-21 05:56:46 +00:00
Ralf Becker
0f2b4d7914 "fixed bug reported by Philip Herbert from Knauber: error when killing a session" 2008-08-20 14:55:53 +00:00
Ralf Becker
c475f86147 - get session list for session.save_handler='files' working again
- sessions are sorted by default with session_dla DESC (newest updated
  sessions first)
2008-08-19 11:54:35 +00:00
Ralf Becker
a18f6d1b85 "Fixed problem reported by Uwe on the German list: SyncML is no longer working" 2008-08-19 05:43:57 +00:00
Ralf Becker
96f19c6290 "allways use init_session_handler function (not only for php5.1)" 2008-08-18 13:44:48 +00:00
Ralf Becker
630b81235e "- try loading memcache extension, if not loaded
- allways use init_session_handler function (not only for php5.1)"
2008-08-18 13:43:51 +00:00
Ralf Becker
9d2016ebf6 - php5 static and protected for egw_framework
- new feature allowing apps to specify with index-page and icon to use
--> allows to install sitemgr-link icon without an extra application
(which was a symlink and got lost in every version upgrade)
2008-08-18 09:00:19 +00:00
Ralf Becker
ca3245043b "check if pdo extension and DB specific driver is loaded AND try loading it if not (to be consistent with checks in setup/check_install.php)" 2008-08-17 05:41:49 +00:00
Ralf Becker
7696e91011 "fix to work around an other php5.1 bug/problem: class methods seem not be able to call session_set_save_handler
It returns false and the session_handler is not changed. It's working in php5.2 (at least on my OpenSUSE 11.0 with php5.2.6)"
2008-08-16 07:58:02 +00:00
Ralf Becker
11b1ce5bb1 "fix to work around an other php5.1 bug/problem: class methods seem not be able to call session_set_save_handler
It returns false and the session_handler is not changed. It's working in php5.2 (at least on my OpenSUSE 11.0 with php5.2.6)"
2008-08-16 07:52:59 +00:00
Ralf Becker
3090f728d6 session_list & session_count have to be public static 2008-08-16 06:04:18 +00:00
Ralf Becker
ab01e4d818 "dont let php's session handle set the session-cookie" 2008-08-16 06:03:10 +00:00
Ralf Becker
93e98f3e1a "egw_session::create(): generate new session-id, if not running SyncML (were is already happend in the Horde code)" 2008-08-16 06:00:34 +00:00
Ralf Becker
1fcb14b03c "- test if $GLOBALS[HTTP_(GET|POST)_VARS] is set to prevent warning
- removed php4 clone function, as we require now php5.1+"
2008-08-16 05:58:33 +00:00
Ralf Becker
61df6f2a15 fixed bug reported by Martin Kramer on the German list 2008-08-15 14:37:34 +00:00
Ralf Becker
04ddf51d90 "fixed typo causing session list to contain all sessions" 2008-08-14 12:29:39 +00:00
Ralf Becker
b63928d7f0 "fixed problem reported on some installs with api >= r25860:
PHP Fatal error:  egw_db::connect(): The script tried to execute a method or access a property of an incomplete object ...
Problem was that session restore is now used regardless if it's explicitly switched on, egw_db::connect() only registered the required class, if it was explicitly switched on. Therefore it worked everywhere, where session restore was configured before, but failed everyone not used it before ;-)"
2008-08-13 05:20:23 +00:00
Ralf Becker
db577d0330 "suppress debug message on session destroy" 2008-08-12 15:36:10 +00:00
Ralf Becker
7888b3f616 "fixed some typos" 2008-08-12 09:01:01 +00:00
Ralf Becker
48060983f2 "changes requested by Vietnamese translator nhatnamnv(at)gmail.com: short day-names can now be constructed (additionally) by separate translation of the 3-char english shortcut. You can still use the translation of the long name with the number of chars to use for your language." 2008-08-12 05:15:59 +00:00
Klaus Leithoff
871116b6e1 if you pass the style to htmlarea, and the htmlarea is available, then style is used as switch for the fck editor-mode. If not passed extended is
used as default.
2008-08-11 09:28:37 +00:00
Ralf Becker
8860cf8ea7 "list_sessions --> session_list" 2008-08-09 06:26:32 +00:00
Ralf Becker
666e6793a7 "added empty method delete_cache, as it get's called in some places - thought it does nothing" 2008-08-09 04:24:54 +00:00
Ralf Becker
1dcce48a46 "fixed typo causing posted froms to fail" 2008-08-08 06:32:16 +00:00
Ralf Becker
e50bd2e966 "re-added copyright and author of the old phpgwapi/inc/class.sessions(_php4).inc.php, I missed last night" 2008-08-08 06:02:45 +00:00
Ralf Becker
88827a3f3d using new egw_session::init_handler() 2008-08-07 21:14:00 +00:00
Ralf Becker
907e24d227 Refractured session handling in eGW:
- DONT UPDATE ON A PROCUDTION SYSTEM (for the next few days)!
- eGW support from now on only php session handling
- custom session handlers (like the memcache one) can now be
  implemented as classes and dont need to change any other code
- the class get's autoloaded and the name need to be configured 
  eg. in the header.inc.php as $egw_info[server][session_handler]
- session restore is now enabled by default (it's way faster and
  works well with php5.1+)
- a db-bases session handler follows soon
2008-08-07 21:12:44 +00:00
Ralf Becker
e568a02b2e new constructor, which can be passed the connection-data as an array 2008-08-07 20:38:57 +00:00
Ralf Becker
4db172a6c2 - dont update the session dla, for the xajax notifications query, as it
stops sessions from timing out
- hook to be called when sessions get terminated
2008-08-05 11:36:06 +00:00
Ralf Becker
7ce97ba699 - .ics extension for todos and events
- new GroupDAV v2 component-set attribute for collections
- getlastmodified & getcontentlength properties for infolog propfind
- fixed propfind on a single infolog entry to return just that entry
- getcontenttype of vevent and vtodo collection returns extra component
2008-08-04 19:08:09 +00:00
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