Commit Graph

4862 Commits

Author SHA1 Message Date
Ralf Becker
d27055b2fd reverted Lars commit 24954, as it requires php5 and 1.4 is suposed to work with php4.3+ 2008-03-19 20:10:30 +00:00
Ralf Becker
cf5515c1ef reverted Lars commit 24953, as it requires php5 and 1.4 is suposed to work with php4.3+ 2008-03-19 20:07:30 +00:00
Ralf Becker
397c1bcf89 reverted Lars commit 24950, as it requires php5 and 1.4 is suposed to work with php4.3+ 2008-03-19 20:00:49 +00:00
Ralf Becker
dc1797f41a update from 1.4.003 2008-03-19 13:12:13 +00:00
Ralf Becker
f420fd2d95 1.4.003 2008-03-19 13:06:16 +00:00
Ralf Becker
f63aee9618 trunk commits 25026+25079 fixing problems introduced by Connys performance stuff, which he also commited to 1.4 2008-03-19 11:37:19 +00:00
Ralf Becker
42a07bc86c fixed problem pointed out by lukasz.pilorz(at)allegro.pl 2008-03-19 11:10:17 +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
Klaus Leithoff
f53a1cf01d 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:46:54 +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
8d066e2c0b 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:57:01 +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ß
0fca3cab3a fix typo asterix -> asterisk :-) 2008-02-12 19:55:21 +00:00
Cornelius Weiß
1b3eff88ea fix typo asterix -> asterisk :-) 2008-02-12 19:44:20 +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
Cornelius Weiß
1bf5414fc7 performance enhancement: accounts::search
on the test installation with 7200 accounts it reduces time for account-sel popup from 15 to < 1 sec
2008-02-12 15:45:10 +00:00
Cornelius Weiß
638fe65b75 fix the "to many categories" problem with ldap backend 2008-02-12 15:39:52 +00:00
Lars Kneschke
581d5b2625 rewrote the uiaccountsel class to use the global instance of the accounts class and not it's own 2008-02-08 11:35:20 +00:00
Lars Kneschke
8c8e793fee use the new accounts singleton and set only the accountId 2008-02-08 11:32:10 +00:00
Lars Kneschke
2403c5d0f7 use the new singleton pattern for the accountsclass 2008-02-08 11:30:40 +00:00
Lars Kneschke
d31d731513 resolve the group grants only, when the we are not using the ldap accounts backend, because resolving the memberships using ldap is very slow currently 2008-02-08 11:29:37 +00:00
Lars Kneschke
48a17e28c1 added a singleton pattern to the accounts class 2008-02-08 11:27:54 +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
4fd4d8fb6a update functionality to regard the new sized fields org_name, contact_email and contact_email_home 2008-01-31 12:39:05 +00:00
Klaus Leithoff
6ea71715f8 new egw_addressbook definition because of table alterations of that table 2008-01-31 12:37:16 +00:00
Klaus Leithoff
e1214a3896 increment version, because of table field alterations in egw_addressbook 2008-01-31 12:35:15 +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
Christian Binder
5b699573e4 enabled class autoloading for notifications, let admins enable or disable notification backends, security fixes for email and egwpopup backend, unified link arrays used for notifications 2008-01-30 18:58:00 +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