Commit Graph

4759 Commits

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