Commit Graph

3565 Commits

Author SHA1 Message Date
Ralf Becker
53264e2c2b "new static method to get an attribute of a column, eg. the comment" 2009-05-30 06:58:48 +00:00
Ralf Becker
88c9aca3f3 "allow egw_vfs::mount() to work in setup:
- need to read fs-tab
- need to load wrapper (otherwise file_exists($url) fails)"
2009-05-28 11:29:17 +00:00
Ralf Becker
b32ded3400 "re-added (depricated) php4 constructor, as it get's called by some old apps" 2009-05-26 17:26:24 +00:00
Ralf Becker
7c8bd81149 "return a reference to the var in the session!" 2009-05-26 14:44:29 +00:00
Klaus Leithoff
0e4a75f027 added windows-1257 as it seems to be used widely, to display baltic letters 2009-05-26 13:42:05 +00:00
Ralf Becker
07825af683 "fixed not always executed hooks for disabled applications (using app-names from existing hooks now, instead of egw_info[apps])" 2009-05-26 11:55:52 +00:00
Ralf Becker
6d72b2b297 - fixed in some cases not working setup-cli (domain not detected)
- make update a separat setup-cmd-object
- fixed handling of egw_exception_wrong_userinput, to not include a
  trace (which is unneeded for regular input-validation)
2009-05-25 06:39:38 +00:00
Ralf Becker
7049fe4bc0 - implemented htmlpurifier also for sitemgr (only non site-admins) and
knowledgebase
- html::fckEditor() has optional parameter to NOT use htmlpurifier
2009-05-19 19:23:38 +00:00
Ralf Becker
8f797be836 Added HTMLPurifier (http://htmlpurifier.org/) Version 3.3.0
- can be used via html class like: 

        $clean_html = html::purify($html);

- using it now in eTemplate to remove malicious code from html:
  a) when displaying "formatted text"
  b) when "formatted text" get's input by the user
2009-05-19 17:32:06 +00:00
Ralf Becker
66ef863bd5 "disabling mime-type and size in link-title of attachments, as it clutters the UI and users dont need it most of the time. These details can allways be views in filemanager." 2009-05-19 10:23:29 +00:00
Klaus Leithoff
d2230cd000 adding .ico as image/x-ico 2009-05-18 12:55:19 +00:00
Klaus Leithoff
ba88fcbd9a fixing caching of images, if image is an array 2009-05-18 12:02:45 +00:00
Ralf Becker
44ce028592 "fixed not always displayed icons (eg. old nextmatch in translation-tools) and some more caching" 2009-05-16 10:22:56 +00:00
Ralf Becker
2408fbb0c9 "implemented dir() and scandir() for egw_vfs" 2009-05-16 08:22:20 +00:00
Ralf Becker
a083233c43 "allow to use now() beside current_timestamp, as Postgres backups contain it and it's easier to remember anyway" 2009-05-15 07:18:06 +00:00
Ralf Becker
c133b4b106 "- docu update
- using public and private for class vars
- __construct()"
2009-05-14 07:59:51 +00:00
Ralf Becker
65e53bd1e8 "fixed wrong webdav.php urls, if no vfs_image_dir set" 2009-05-14 06:41:28 +00:00
Ralf Becker
b8cfd7f85d "allow to use same names for add() and edit() as returned by read_single() or return_array" 2009-05-13 21:21:46 +00:00
Klaus Leithoff
86f1dde06f configurable favicon, configurable vfs image store for images, logos, icons 2009-05-13 14:33:36 +00:00
Ralf Becker
6617bec9ef Creating an own column (fs_link) for symlinks, as fs_content is a BLOB
and therefore not aware of charsets
2009-05-12 07:21:57 +00:00
Ralf Becker
09c0854173 "$stat[url] contains the reloved symlink" 2009-05-11 20:45:29 +00:00
Ralf Becker
85def60ffa "option to ignore hidden files (name starts with a '.' or is 'Thumbs.db'),
default is now to ignore them"
2009-05-11 20:42:23 +00:00
Ralf Becker
fc141457cf added translated languages and visible charset to charset selection 2009-05-11 08:10:05 +00:00
Ralf Becker
21a85af3d6 "fix for bug #2072: usergroups invisible after last svn update" 2009-05-10 15:02:04 +00:00
Ralf Becker
9e202e10f6 "fix for bug #2070" 2009-05-06 10:13:43 +00:00
Ralf Becker
0d28eb4cea "egw_vfs::find() always use name as second sort criteria" 2009-05-06 09:00:36 +00:00
Ralf Becker
6468dc8d77 "setting the value to 7, after reports on the user list, thought MySQL 5.0.51 with MyISAM engine works up to 10" 2009-05-04 16:47:21 +00:00
Ralf Becker
bc65324a7c new type F for egw_vfs::find to return only files or symlinks to files
--> dont show symlinks to dirs as attachements / link-widget
2009-05-04 16:37:10 +00:00
Ralf Becker
34e9825a91 "'class::method' is php5.2+, array('class','method') works in php5.1+ " 2009-05-02 16:45:38 +00:00
Ralf Becker
0cd2993504 "'class::method' as php5.2+, array('class','method') works in php5.1+ " 2009-05-02 16:12:20 +00:00
Ralf Becker
9e88b1ba9d "using lstat in find and check type 'd' directly against mode from lstat for better performance" 2009-05-02 14:15:31 +00:00
Ralf Becker
287131565f Fixed follow option in find():
- if base is a symlink to a dir, this one is listed anyway
- symlinks to dirs (beside the base) are only descended, if
  $options['follow'] is specified
- links are returned for type 'f'
--> removed follow option from find() in filemanager_ui::get_rows()
--> no more infinit symlink loops in filemanager GUI
2009-05-02 14:00:31 +00:00
Ralf Becker
edea73521e "quitent some warnings about not writable dirs, eg. if calling cli programms with users not having permissions for the cache dir" 2009-05-02 12:33:28 +00:00
Ralf Becker
b71d829bca "fix for bug reported on the english user list:
limit on the number of cascaded folders in Filemanager
--> MySQL 5.0 has a nesting limit for subqueries
--> working around that by limiting the nesting level to 10"
2009-05-01 19:12:25 +00:00
Ralf Becker
b296a97e31 always remove only our own scheme, as mounts require the other schemes to be kept 2009-04-30 11:21:56 +00:00
Ralf Becker
ecd9354d1d "fixed failed move or rename via WebDAV (eg. NetDrive on Windows):
trailing slashes added to all collections caused a rename to an empty filename
--> all training slashes get now removed prior to calling any backend functions"
2009-04-30 07:46:53 +00:00
Ralf Becker
11283d4f77 "copied COPY from HTTP_WebDAV_Server_Filesystem:
- it contained sql queries, which can not work in eGW
- to add Location header shown in rfc2518 example (section 8.9.5)"
2009-04-30 07:41:46 +00:00
Ralf Becker
1597cdc533 "adding path (EGW_SERVER_ROOT) to hash for basic auth pseudo sesion id
(otherwise different installs in different pathes using identical credentials would share the session, which is no good idea)"
2009-04-30 07:36:07 +00:00
Ralf Becker
14de24303e "prevent empty account-names from deleting whole /home" 2009-04-29 19:15:54 +00:00
Ralf Becker
b6eda8e39b "replacing colons with dashes in filenames, as some windows installs seem to have problem with colons in filenames" 2009-04-29 16:08:13 +00:00
Ralf Becker
7f976bd883 "fix for newly introduced bug reported on the lists:
Fatal error: Class 'notifications' not found in
  /home/domain/public_html/egw/etemplate/inc/class.bo_tracking.inc.php
--> reverts an older commit fixing a problem between the (depracated and no longer working) browser app and the browser class in the API"
2009-04-29 09:50:25 +00:00
Ralf Becker
a1c7c87195 "- removed unneeded stripslashes while reading the configuration, as it \"eats\" the backslashed of windows pathes (eg. messes up the default cache path)
- replaced depricated fetchSingle() with fetchColumn()"
2009-04-28 19:32:29 +00:00
Ralf Becker
eec6596e94 "__autoload()
- fix for error_reporting E_ALL
- disabling search over all apps: classes should either conform to new naming schema or use explicit includes"
2009-04-28 16:18:34 +00:00
Ralf Becker
d5ee989859 "- caching loginscreen+mainscreen messages instance (NOT tree) specific
- invalidating the cache also for translation::write (to be able to update the loginscreen message)"
2009-04-28 15:56:04 +00:00
Ralf Becker
7224022772 "fixed not working cache unset on instance level, if called within setup:
this causes new installed languages to NOT appear"
2009-04-28 13:27:18 +00:00
Ralf Becker
96f5529abf "log failed login because of hook 'session_creation' with account_id, to not block the account in that case" 2009-04-28 10:39:57 +00:00
Ralf Becker
e8577f10a7 "removed not used query variable" 2009-04-28 10:09:26 +00:00
Ralf Becker
6f556a23df "remove trailing slash, eg. from webdav" 2009-04-27 13:08:42 +00:00
Ralf Becker
a8bf31c274 "fixed handling of query parts in dirname and basename" 2009-04-27 11:49:50 +00:00
Ralf Becker
e003dfd82a "fixed an other accounts_ldap problem: too many entries returned on 2. and further pages" 2009-04-23 11:49:44 +00:00
Ralf Becker
4245df1f29 "only check callback, if defined" 2009-04-23 09:48:03 +00:00
Ralf Becker
94190a81f7 "also cache the languages" 2009-04-23 09:47:22 +00:00
Ralf Becker
defe88e0cf "fixed not / only partialy working lettersearch in Admin >> Manage groups" 2009-04-23 06:24:58 +00:00
Ralf Becker
561f5e5aac needed for check_load_extension (session-handler gets included before regular include via the header.inc.php) 2009-04-22 10:35:31 +00:00
Ralf Becker
660ab41661 "- egw_vfs::check_access() using resolved symlink to call check_extended_acl on backend
- mime_magic"
2009-04-22 10:02:18 +00:00
Ralf Becker
86b126ef3a "quietent \"Warning: mb_convert_encoding() [function.mb-convert-encoding]: Illegal
character encoding\" reported on the devel list"
2009-04-22 04:33:12 +00:00
Ralf Becker
a45c874f72 "added explicit init(false) calls for methods called by setup (they dont call init() as eGW does)" 2009-04-21 13:26:40 +00:00
Ralf Becker
3da8703202 "fix for bug #2049: PHP Extention error since last SVC update..." 2009-04-21 05:20:04 +00:00
Ralf Becker
2d438c6dc5 Caching provider for memcached using PHP's memcache extension 2009-04-20 14:33:31 +00:00
Ralf Becker
aca05a32e3 using new check_load_extension function 2009-04-20 12:43:44 +00:00
Ralf Becker
bf036043b2 - making all methods of translation class static
- caching the phrases in new egw_cache on Tree level
--> a good speed improvment on my devel system
- also added a global function
check_load_extension($extension,$throw=false)
2009-04-20 11:59:39 +00:00
Ralf Becker
fd9856ebf5 Class to manage caching in eGroupware:
It allows to cache on 4 levels:
a) tree:     for all instances/domains runining on a certain source path
b) instance: for all sessions on a given instance
c) session:  for all requests of a session, same as egw_session::appsession()
d) request:  just for this request (same as using a static variable)

There's a get, a set and a unset method for each level: eg. getTree()
or setInstance(), as well as a variant allowing to specify the level as first
parameter: eg. unsetCache()

getXXX($app,$location,$callback=null,array $callback_params,$expiration=0)
has three optional parameters allowing to specify:
3. a callback if requested data is not yes stored. In that case the
   callback is called and it's value is stored in the cache AND retured
4. parameters to pass to the callback as array, see call_user_func_array
5. an expiration time in seconds to specify how long data should be cached,
   default 0 means infinit (this time is not garantied and not
   supported for all levels!)

Data is stored under an application name and a location, like
egw_session::appsession().
In fact data stored at cache level egw_cache::SESSION, is stored in
the same way as egw_session::appsession() so both methods can be used
with each other.

The $app parameter should be either the app or the class name, which
both are unique.

The tree and instance wide cache uses a certain provider class, to
store the data eg. in memcached or if there's nothing else configured
in the filesystem (eGW's temp_dir).
2009-04-20 11:50:45 +00:00
Ralf Becker
7ae9317be1 "fixed not working stream_open() $mode == 'rb', was requiring write rights as != 'r'" 2009-04-19 07:30:26 +00:00
Ralf Becker
70f2d64273 "missing static" 2009-04-18 10:54:39 +00:00
Ralf Becker
1a8b605c17 method to create user friendly label for a mime type, eg. "PDF file (application/pdf)" 2009-04-18 09:53:36 +00:00
Ralf Becker
a694662838 "file_exists for vfs" 2009-04-18 09:51:51 +00:00
Ralf Becker
f12a0dc307 making whole mime_magic class static, for easier use and better caching by byte code caches 2009-04-17 06:25:33 +00:00
Ralf Becker
7233f87413 "fixed not updated modification time, if file get's updated (eg. replaced via a new update in filemanager)" 2009-04-16 16:32:30 +00:00
Ralf Becker
5629c10e12 "charset independent case-sensitive comparison for mysql, using BINARY operator now" 2009-04-16 07:38:16 +00:00
Ralf Becker
9e34658599 "fixed not working egw_vfs::dirname if result should be '/', eg. egw_vfs::dirname('/home)" 2009-04-15 21:09:04 +00:00
Ralf Becker
03e7348896 "fixing commit r26783/4 for mysql:
using octal numbers with mysql leads to funny results:
select 384 & 0400 --> 384 not 256=0400
--> converted 0400, 040 and 04 to 256, 32 and 4 for mysql"
2009-04-15 11:21:44 +00:00
Ralf Becker
e20bd1703b "fix for bug #2041: Postrgresql error when I try to access a file in sqlfs
\"CEST ERROR:  argument of AND must be type boolean, not type integer\"
"
2009-04-15 07:50:14 +00:00
Ralf Becker
3795ae9a98 "fix for bug #1867: Several problems with non-ascii as first char in filename:
that char is skiped in dir creation, rename or filecreation"
2009-04-09 13:24:34 +00:00
Ralf Becker
5291d0ac39 Fixing the fix ;-)
shadowLastChange has to be an integer
2009-04-09 08:11:24 +00:00
Ralf Becker
7698d3ef65 Fixed not (always) updated last password change date 2009-04-09 06:41:41 +00:00
Ralf Becker
bd8ba08bc3 allowing stream-wrappers to specify an other mime-type for directories 2009-04-08 09:54:13 +00:00
Ralf Becker
2248427e48 "fixed bug reported by Martin Kramer on the German list:
attachments via WebGUI are no longer working: 
File 'links://default/apps/infolog/1265/2009-04-07_1219.png' is not an absolute path!"
2009-04-08 09:10:07 +00:00
Ralf Becker
e21fdcc3fc "- docu update
- adding some options to quite stats
- using stat-cache only if it contains a positiv response or $eacl is not set"
2009-04-07 19:42:46 +00:00
Ralf Becker
abc2de958a "Reimplemented stream_open, to ensure our url_stat gets called, which fills the stat-cache with our eAcl" 2009-04-07 19:32:27 +00:00
Ralf Becker
fcb8f3497c Finally fixed creation and rename of home directories:
- egw_vfs::stat and egw_vfs_stream_wrapper::url_stat now both have a
  parameter $try_create_home=false, which do not create a non-existing
  home-directory by default.
- filemanger_ui calls egw_vfs::stat($path,true) to create an evtl.
  missing home dir (in case it does not exist because of previous
  problems)
--> fixes not working home-dir creation or rename, because url_stat
    already tried to create the home-dir
2009-04-06 13:46:45 +00:00
Ralf Becker
c314069e0c "using path's instead of url's were possible" 2009-04-04 19:20:21 +00:00
Ralf Becker
1c11bfcf55 using a session for basic auth (not session aware) clients for WebDAV
and GroupDAV. The "sessionid" get's constructed from the basic auth
credentials and is not random (as the clients dont store them).
--> speeds up the use of *DAV
--> stops *DAV handlers to created numerious sessions
2009-04-04 08:38:56 +00:00
Christian Binder
b20b78e07e quitened a logging message which slows down eGW 2009-04-03 20:12:35 +00:00
Ralf Becker
a6836fb367 "some more info for error_log on Exceptions: Instance, User & URL causing the exception" 2009-04-03 13:29:47 +00:00
Ralf Becker
646931dc8a fix for bug #1838: problem with utf-8 data in all csv imports
- fgetcsv only works correct, if setlocal is called with an existing and
  correct local
- improved projectmanager method guess_local and moved it to
  common::setlocal, which takes now the charset, lang and country of the
  user into account
- csv-import also displays now the conversation done and reads usernames
  in brackets
- added some missing fields
2009-04-03 12:26:32 +00:00
Klaus Leithoff
b8601d92d7 njv: phpgwapi/groupdav work to improve groupdav compatibility and various sync proplems connected 2009-04-02 12:39:52 +00:00
Klaus Leithoff
27891f2803 making sure rows is an array in id2path 2009-04-02 10:18:05 +00:00
Klaus Leithoff
dd5376c41f making the charset param optional, with preset to utf-8 in decodeMailHandler 2009-04-02 08:15:50 +00:00
Klaus Leithoff
1092f3213e move decode header functionality from FeLaMiMail to phpgwapi/translation to be available for other applications 2009-04-01 15:20:32 +00:00
Ralf Becker
b1f0863d81 A scheme is not allowed to contain an underscore, but allows a dot and a
class names only allow or need underscores, but no dots
--> we replace dots in scheme with underscored to get the class-name
2009-04-01 14:08:20 +00:00
Ralf Becker
039cf26d22 "- replaced self::SCHEME.'://default' with self::PREFIX
- added log calls to mount and umount
- fixed not working remount of a path with a different url (returned true but did not changed the fstab)"
2009-04-01 14:06:50 +00:00
Ralf Becker
923c98f079 "imporved array2string to give a type-specific output (eg. TRUE or FALSE for boolean)" 2009-04-01 09:32:35 +00:00
Ralf Becker
8f7f89666f New options for filesystme stream-wrapper:
- all:   false (default) = ignore files starting with a dot '.',
  true = show all files (. and .. are always ignored!)
- exec: false (default) = do NOT allow to upload or modify scripts, 
  true = allow it (if docroot is mounted, this allows to run scripts!)
--> deny_script method was added to egw_vfs and calls to it from
filemanager
Other fixes:
- missing write rights of the webserver were not removed from perms
  (causing warnings to be displayed in the ui)
- rename was not working due to typos
--> should be backported for obvious reasons to 1.6
2009-03-31 11:30:12 +00:00
Ralf Becker
637b6557fb "- symlinkCache_resolve failed on other mounted dir (eg. from the filesystem stream-wrapper), as it removed the scheme
--> now done only for vfs scheme
- quitened readlink to not complain if backend does not support links"
2009-03-31 08:43:12 +00:00
Ralf Becker
b93a450394 "- added more licenses with urls (LGPL, PHP, GPL3)
- fixed not displayed information, if setup info is in an other apps setup file (eg. GroupDAV or Website)
- added support different navbar icon name"
2009-03-30 14:06:39 +00:00
Ralf Becker
873ee33dc7 "- fixed not working symlinks to other symlinks
- added a symlink cache (only per request) to cut down db accesses"
2009-03-30 11:18:58 +00:00
Ralf Becker
d006ef24f9 "as PDO allows to use named params without colon prefix, switched to that, as it's close to the way we use our own db class" 2009-03-30 11:17:30 +00:00
Ralf Becker
b976659346 "removed unnecessary ambersand in url creation, if no extravars" 2009-03-30 08:17:28 +00:00
Ralf Becker
7f9aace528 "- sqlfs is now fully case-sensitiv (before it was partly case-insensitiv)
- symlinks are now read by url_stat and dir_opendir and stored in the stat cache, to minimize DB accesses
- negative url_stat calles (not found) are now stored in the stat cache too, to minimize DB access
- added new log level 3, which adds method-name and line number to the sql statements"
2009-03-27 19:10:16 +00:00
Ralf Becker
881225849d "fixed not shown comments and other properties, if path contained a symlink" 2009-03-27 19:03:29 +00:00