Commit Graph

3225 Commits

Author SHA1 Message Date
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