Ralf Becker
7d09589f73
removed legacy actions column and neccessary $readonlys for them
2014-02-14 09:03:47 +00:00
Ralf Becker
f0d7751496
removed caret from group favorites, fixed prefered favorite was not show correct initialy nor updated
2014-02-12 21:51:25 +00:00
Nathan Gray
6dfc3ef819
Add Stylite's file a file dialog to menu, if available
2014-02-12 21:46:27 +00:00
Ralf Becker
4ba2a0ba58
fixed javascript error in file select dialog (notable under FireFox) caused by calling event.preventDefault() without the event
2014-02-10 18:37:51 +00:00
Nathan Gray
cc628c378a
Use egw_framework::message() instead of a label in template, which might stay longer than we want
2014-02-05 23:36:01 +00:00
Nathan Gray
75114f8409
Remove iframe for filemanager sidebox Home directory & Users and groups items
2014-01-17 14:05:24 +00:00
Nathan Gray
644fc9fbd0
Fix header upload
2013-12-17 22:00:20 +00:00
Nathan Gray
34f8da55c3
Switch 'Edit settings' popup to etemplate2
2013-12-16 18:46:48 +00:00
Nathan Gray
d65b40046a
Move sidebox favorites & backend out of nextmatch and into framework
2013-12-12 00:03:07 +00:00
Nathan Gray
03cc1af52f
- Add etemplate nextmatch favorites to filemanager
...
- If user tries to enter '' as path, go home rather than throw an exception
2013-12-02 20:13:17 +00:00
Klaus Leithoff
a8b65a0932
adapt filemanager_select select popup to csp_script_src_attrs; fix select for CKEditor 4.3, falsely regarding the ckeditor induced filemanager_select.select as JSONResponse
2013-11-28 12:02:04 +00:00
Ralf Becker
91376d80d9
do not fail with fatal PHP error, if hook no longer exists
2013-11-15 11:53:30 +00:00
Nathan Gray
4cc524dedd
File a file link via ajax
2013-11-14 21:38:45 +00:00
Nathan Gray
6209c42dc4
- Add props parameter for upload
...
- If user cancels rename/overwrite, remove file from file widget
2013-11-07 23:30:50 +00:00
Ralf Becker
0e2e88c19b
fixed hiearchy display in infolog and reset of subs view via clicking on InfoLog icon/header, using now value of nm[parent_id] as key for col_filter
2013-10-10 11:29:31 +00:00
Nathan Gray
8c94a4fd19
File select fixes:
...
- some layout issues
- selecting a single file
- missing mime options
- file uploads
2013-10-04 09:28:10 +00:00
Ralf Becker
f8a0db06fc
completly remove preferences menu from sidebox and tiled preferences index in favoir of app-sensitive entries in top-menu
2013-10-03 09:23:18 +00:00
Nathan Gray
04ce0638a9
Fix clicking on file name toggles checkbox
2013-10-01 16:27:50 +00:00
Nathan Gray
a8136aa191
Give filemanager selection a widget front-end.
2013-10-01 15:40:14 +00:00
Nathan Gray
f5b5b60636
Drag & drop files from user's system onto nextmatch row uploads into filemanager
2013-08-27 20:40:15 +00:00
Ralf Becker
aa8a848871
optional parameter for egw_framework::window_close() to specify an alert message, which get shown/alerted, before closing the window
2013-08-26 10:24:11 +00:00
Ralf Becker
c39273ac51
allow to (optionally) add tabs to existing tabs in template instead of replacing them
2013-08-20 16:41:31 +00:00
Ralf Becker
73aa652c41
missing egw.js from last commit and egw_framework::window_focus() method
2013-08-20 13:25:36 +00:00
Ralf Becker
8e2d5d0985
using egw_framework::opener_refresh|window_close and some other small fixes
2013-08-20 13:12:18 +00:00
Nathan Gray
cf8714293e
Open preferences in preferences tab
2013-08-13 17:37:15 +00:00
Ralf Becker
288469e66c
use new prompt to allow to rename uploaded file, if it would overwrite an already existing one, also use dialog for delete confirmation
2013-04-23 16:52:39 +00:00
Ralf Becker
588f87eddb
first - not yet fully working - version of upload
2013-04-20 19:23:36 +00:00
Ralf Becker
a15e7d31b1
do NOT store query, if hierarchical data / children are requested
2013-04-20 12:24:45 +00:00
Ralf Becker
283e6d23bc
allow to "open" directores aka hierarchical display
2013-04-13 19:02:09 +00:00
Ralf Becker
755b08feaa
set readonly icons and drag-n-drop
2013-04-12 17:57:12 +00:00
Ralf Becker
6e6ce5dbcc
permanently using etemplate2 for filemanager index
2013-04-12 10:02:18 +00:00
Ralf Becker
280420f2cc
removed no longer used server-side processing of buttons
2013-04-12 09:33:37 +00:00
Ralf Becker
e4d7e59a0a
single backend methods to copy, move or symlink files
2013-04-12 08:56:28 +00:00
Ralf Becker
4be150c546
fixed not working symlink creation
2013-04-12 08:07:26 +00:00
Ralf Becker
3db8d01007
drag helper and added dir to ajax_action method, now calling do_action for all actions
2013-04-11 13:16:40 +00:00
Ralf Becker
4135711cdc
copy, cut, paste, symlink and createdir without server submit
2013-04-11 10:46:39 +00:00
Ralf Becker
81a918c269
some more ajax actions for filemanager
2013-04-10 17:11:32 +00:00
Ralf Becker
23f2d8eddf
putting path and icons into nextmatch (not yet working)
2013-04-10 10:04:18 +00:00
Ralf Becker
188ebbaec6
moved javascript action implementation into and object defined in app.js file
2013-04-09 16:20:06 +00:00
Nathan Gray
162eb552af
Stop using is_uploaded_file(). It provided no real benefit, and prevented async uploads
2013-02-05 09:27:41 +00:00
Christian Binder
c175998ea3
exclude filemanager application from itempicker list
2013-01-04 00:23:57 +00:00
Ralf Becker
7bb16b4823
* Filemanager: ability to create a directory in open or save-as dialog
2012-10-31 18:20:34 +00:00
Ralf Becker
343ffd9149
get filemanager select click on subdirs working again in old eTemplate
2012-10-31 18:00:28 +00:00
Christian Binder
3e72371fd7
* New feature: cross-application document merge in filemanager GUI
2012-10-27 11:38:47 +00:00
Christian Binder
5505023b50
enabled itempicker in filemanager edit dialog for document merge and as proof of concept.
2012-09-29 10:32:33 +00:00
Nathan Gray
e01e69d153
Set date fields for spreadsheet date formatting
2012-07-30 17:48:56 +00:00
Nathan Gray
1b07e20fd4
Fix date formatting, remove time from date only custom field
2012-07-24 18:32:27 +00:00
Nathan Gray
70459abae9
Get filemanager edit popup working in et2
2012-07-09 21:23:21 +00:00
Christian Binder
f81fd11435
tag applications which have implemented document merge
2012-07-04 17:00:03 +00:00
Nathan Gray
587e3c8862
Adapt file select popup to work with et2
2012-07-02 22:57:02 +00:00
Nathan Gray
d799d2f675
Better handling of link titles as directories
2012-06-26 15:24:20 +00:00
Nathan Gray
1da77fe615
Make app / ID detection handle symlinks
2012-06-25 17:54:43 +00:00
Christian Binder
60ad22de68
fixed wrong application name
2012-06-19 19:15:21 +00:00
Nathan Gray
4d2f551a5a
For files inside /apps/appname/id, also make available the placeholders for that application
2012-06-18 15:02:52 +00:00
Nathan Gray
9fd0dd7ff0
Add placeholders {{folder}} for containing folder, {{folder_file}} for {{folder}}/{{file}}
2012-06-05 14:50:22 +00:00
Ralf Becker
6ff1db3534
* Preferences all apps: add validation for vfs files and directories to give user immediate feedback about wrong or non vfs pathes
2012-05-22 13:51:30 +00:00
Nathan Gray
92471650fe
Display error from merge, if merge gives error
2012-05-16 17:33:37 +00:00
Ralf Becker
cfd8c18939
fixed not working copy or paste of files since r39109
2012-05-11 10:30:52 +00:00
Ralf Becker
5cafed6381
fixed since r39109 (merge for filemanager) not working install
2012-05-11 08:35:32 +00:00
Nathan Gray
2a24a4a53e
Fix url for external links
2012-05-08 15:10:43 +00:00
Nathan Gray
019bfb1c93
Changes to file merge
...
- Remove accidentally committed debug
- Make URL into web-accessable URL
- Add clickable link placeholder
- Format custom field date/times according to user preference
- Add rel_path placeholder, includes path+name relative to current directory
2012-05-07 15:53:28 +00:00
Nathan Gray
081d93ae51
Implement merge for filemanager
2012-05-03 17:58:16 +00:00
Nathan Gray
d7bd469ed9
Pass the ID of the path element
2012-03-29 23:28:48 +00:00
Ralf Becker
2f62d7e3b5
allow to set target in mime-registry: need target _self (instead default _blank) for directories opened in filemanager
2012-03-28 13:01:37 +00:00
Ralf Becker
b5adc21ff6
register filemanager as handler for directory mime-type "httpd/unix-directory" (register hooks!)
2012-03-21 10:28:48 +00:00
Ralf Becker
4b83719907
fixed "Save as" / forced download for known mime-types
2012-03-09 12:39:39 +00:00
Ralf Becker
f676a23821
fixes for PHP 5.4 warnings and strict warnings, thought disabled E_STRICT for now, because of various strict warnings in working code, which could not be easy fixed in all areas (see comment in phpgwapi/inc/functions.inc.php)
2012-03-04 13:33:10 +00:00
Ralf Becker
1d12d66870
moved sqlfs filesystem check from Admin to Admin >> Filemanager, as most people seem to expect it there
2012-02-29 14:55:25 +00:00
Klaus Leithoff
06ae9da6e1
remove unwanted apps from app list (home-account, addressbook-mail) from the browse dialog of files
2012-01-06 10:21:27 +00:00
Klaus Leithoff
3dbab868e2
* filemanager: delete->reset any occasion where the delete action may be stored, as it may be ressurected out of the helpers by etemplate, which is quite unconvenient in certain conditions (delete a file, upload a file with the same name to this very folder, continue uploading files to that folder: this process may lead to the deletion of the former file while uploading other files)
2011-12-27 11:08:41 +00:00
Ralf Becker
7aeb483fcc
* Filemanager: Firefox 3.5 gives error "Theres already a directory with that name" when trying to upload a file
...
fix works now for FF 3.5 AND FF 7+
2011-11-18 11:59:31 +00:00
Ralf Becker
c170e880e3
* Filemanager: Firefox 7.0+ gave error "There is already a directory with that name!" when trying to upload a file
2011-09-30 13:53:40 +00:00
Ralf Becker
35f9473fc0
method to set message
2011-09-08 13:00:13 +00:00
Ralf Becker
3728867bee
* Filemanager: fixed not working rename of file, if path contains a # or ?
2011-09-07 07:47:56 +00:00
Ralf Becker
366bad914d
* Filemanager/WebDAV: #?+ and chinese characters working now in filenames
2011-09-05 10:25:28 +00:00
Ralf Becker
4a1f4fff8c
* Filemanager: "Save as" option for files to force download and not open in browser
2011-08-29 08:40:22 +00:00
Ralf Becker
725f59cfda
* Filemanager: handle clipboard via ajax to copy with multiple open tabs and cuting and pasting between them
2011-08-27 17:54:56 +00:00
Ralf Becker
b4d761b571
* Filemanager popup: fixed sometimes missing first directory, eg. in favorites
...
caused by removing the first entry, which is not garantied to be the directory itself, as we sort by name
2011-08-04 15:44:52 +00:00
Andreas Stöckel
b7a221a6ac
Fixed typo in error message for moving/copying files
2011-08-02 09:34:13 +00:00
Nathan Gray
31d1e20bdc
Fix typo: definitition -> definition
2011-07-04 20:00:26 +00:00
Ralf Becker
e45589feea
ask only a single time for multiple files and break on other errors, as they reset the selected files anyway
2011-07-01 08:08:34 +00:00
Ralf Becker
ac78b77180
support for html5 multiple upload in file-exists check
2011-07-01 07:49:58 +00:00
Ralf Becker
d9e452ce52
context menu for filemanager
2011-06-30 13:07:55 +00:00
Ralf Becker
a0e556e968
fixed typo causing extra tabs to disappear
2011-06-24 16:45:11 +00:00
Ralf Becker
ea6b823bd4
additional parameters _replace and _with for egw_refresh to modify the url, fixed not working update of existing msg parameter
2011-06-24 14:11:37 +00:00
Ralf Becker
7282d42f52
- added hooks to general vfs methods to allow apps to monitore file access, creating, modification, removal
...
- new $user parameter for egw_vfs::check_access($path, $check, $stat=null, $user=null) to check access to a file for a user, who is NOT the current user
2011-06-23 18:34:47 +00:00
Andreas Stöckel
4b380ca119
Improved nextmatch row aoi and added AJAX-actions for createdir and symlink to filemanager_ui
2011-03-23 20:07:07 +00:00
Andreas Stöckel
1b1a142d50
Added code for directly copying and moving files using ajax without having to use the copy/cut and copy_paste/cut_paste actions
2011-03-21 16:14:43 +00:00
Ralf Becker
4cce629666
* fixed handling of + char in VFS filenames (using egw_vfs::decodePath() instead of urldecode())
2011-03-03 15:41:01 +00:00
Nathan Gray
5712ab3ef0
Add preference to use import/export definition for exporting from nextmatch
2011-03-01 23:07:36 +00:00
Andreas Stöckel
4b93e5c0c5
Accidently set the thumbnail size to 16 in every vfs-mime widget. Added new option to the vfs-mime widget which allows you to set the thumbnail size.
2010-12-31 14:31:50 +00:00
Ralf Becker
1a59b91707
- using new egw_refresh() call in filemanager_ui::file()
...
- allow to call all actions via ajax
2010-12-28 03:12:57 +00:00
Nathan Gray
5e781b4135
Confirm before deleting multiple files
2010-12-20 23:23:44 +00:00
Ralf Becker
70278c14b6
* new preference to disable "Your home directory" or "Users and groups" in sidebox menu
...
plus missing translations
2010-11-30 14:29:06 +00:00
Ralf Becker
65813764ed
* sorting fileselection popup always by directory on top and then name
2010-11-09 12:59:27 +00:00
Ralf Becker
e5e052441d
fix for #2742 : filemanager broken since last svn update
2010-10-16 12:26:54 +00:00
Ralf Becker
b4f0f31681
call_user_func('class::method', ...) is PHP 5.3+
2010-10-15 20:08:54 +00:00
Ralf Becker
15c8775a80
allow to extend filemanager via plugins with more views
2010-10-15 19:42:38 +00:00
Ralf Becker
79bcb9e0fe
if user has filemanager rights, show Actions column allowing to delete or edit properties of files
2010-09-24 18:55:36 +00:00
Ralf Becker
f263ccccb1
- disabling of delete and mail icon did not work for files/folders with quotes in the name
...
- mail icon was not disabled, if user has no run rights for FMail
2010-09-14 17:03:12 +00:00
Ralf Becker
a709044415
only use egw::link on egw_vfs::download_url, if it is still a path (relative to EGroupware install dir), allowing filesystem streamwrapper to return a complete direct url
2010-09-07 11:57:31 +00:00
Klaus Leithoff
488959aa5f
filemanager: JavaScript IE8Compat myStylite Ticket#835 Send filemanager entry by mail
2010-09-06 09:29:05 +00:00
Ralf Becker
0114a13fa8
fixed not working cut&paste actions if no felamimail rights
2010-08-31 13:53:06 +00:00
Ralf Becker
818f57ebcf
- fixed handling of failed uploads, eg. > max_upload_size
...
- fixed encoding of special chars in uploaded file names
2010-05-27 13:30:40 +00:00
Andreas Stöckel
4e8acf09a6
Fixed bug with the upload field not being shown
2010-05-26 09:30:55 +00:00
Andreas Stöckel
7f32f80230
Added support for the new CKEditor 3.2.1
2010-05-25 07:50:59 +00:00
Ralf Becker
09636b6d8b
"use run_lang to NOT return already translated phrases with replaced placeholders"
2010-05-21 07:22:10 +00:00
Ralf Becker
ffc36027ba
"remove checkbox from empty line"
2010-05-19 12:25:33 +00:00
Ralf Becker
6f6415fdc5
"store if super user authentifications is done via setup config user or a vfs root user from setup >> configuration with his regular password"
2010-05-19 09:13:23 +00:00
Ralf Becker
8bcbb0cc81
change sudo to protected to allow to reuse it
2010-05-15 20:43:26 +00:00
Ralf Becker
6bc7e1a6d3
allow other apps to add other administration links, eg. of filesystem backends like versioning
2010-05-15 20:42:46 +00:00
Ralf Becker
bc32563b23
allow to supply $readonlys with extra_info
2010-05-13 11:59:16 +00:00
Ralf Becker
867adfaa11
"remove some not used code"
2010-05-13 08:44:29 +00:00
Ralf Becker
34cc772c17
"fixed not working directory creation and no longer necessary encodeing of new path (done already by eTemplate vfs-name widget)"
2010-05-12 12:54:41 +00:00
Ralf Becker
1310d56b7f
"some more urldecode in messages (rename)"
2010-05-11 20:30:13 +00:00
Ralf Becker
fd56fb27c3
Correct quoting of special chars in vfs:
...
- # has special meaning in url and is intern always urlencoded as %23
- ? has special meaning in url and is intern always urlencoded as %3F
- % need to be urlencoded as %25, as it's the escape char in urlencoding
(it has not been stored urlencoded in sqlfs so far, there's some
workaround in filemanger_ui to deal with the old unencoded % chars)
- space and + are NOT urlencoded in sqlfs in the DB, they get urlencoded
only for download urls
- " get urlencoded for download urls only as it messes up the html
markup
--> Filenames get urldecoded, before displayed to user
- done manually eg. in messages
- done automatically in new vfs-name widget (both ways)
2010-05-11 15:02:30 +00:00
Ralf Becker
e535081ca8
Use javascript function to open mail window and let fixed etemplate code
...
quote special chars in filenames, eg. ', " or &
2010-05-09 14:08:36 +00:00
Ralf Becker
5bda513fd7
Mailing files directly from filemanager
2010-05-06 06:53:52 +00:00
Ralf Becker
7e8c37c015
allow extra_info to process buttons, by passing it the content array
2010-04-22 17:38:01 +00:00
Ralf Becker
8d033f95f8
display a backend specific tab, if supported by backend, eg. versioning information
2010-03-23 20:44:17 +00:00
Ralf Becker
6fb9ae3a6d
moved failed upload check from filemanager to etemplate and further improved it
2010-02-05 02:54:47 +00:00
Klaus Leithoff
33dbaddc62
reenable NoAccess for extendedACL. It is to be able to stop descending rights. If you have conflicting rights no-access wins. so beware, it is possible to lock yourself out. Other caveats apply too.
2010-01-21 11:10:28 +00:00
Ralf Becker
b59a688fbb
- fixed not working rename in entry directories in /apps (eg. rename of
...
an infolog attachment), was caused by use of url_stat from sqlfs
instead of links stream wrapper
- fixed wrong mime type / icon in files stored via netdrive from msword
(the first use the extension .tmp, before renaming file to .doc:
sqlfs "detects" mime type only from the extension and did not recheck
it if a file gets renamed, that's now fixed)
2009-12-01 14:51:13 +00:00
Ralf Becker
39a5ba82ee
"only report filename (not full path) in rename success or error in file dialog"
2009-12-01 09:07:18 +00:00
Ralf Becker
de63a58b83
fixed bug: superuser clicking [apply] twice in file preferences deleted file or directory
2009-11-28 15:12:26 +00:00
Ralf Becker
20e655c466
Default and forced preferences for nearly all apps
2009-10-19 17:04:11 +00:00
Ralf Becker
256e8d520c
removed "no access" from eACL rights and added a helptext, that rights can only be added, not taken away via eACL
2009-08-26 10:04:21 +00:00
Ralf Becker
7ec34336f3
some precaution to never allow to (recursivly) remove /, /apps or /home
2009-08-12 09:47:53 +00:00
Ralf Becker
ea13efc0af
"- if user wants to change permissions of all subfolders, do NOT check if permissions of current folder is realy changed (as the requested change can be elsewhere)
...
- only give \"permissions changed/failed\" message once"
2009-06-14 13:26:07 +00:00
Ralf Becker
31ad0b0480
"- show filemanager prefs only if user has access to prefs app
...
- returning settings instead of using global var
- docu upate"
2009-05-29 10:48:19 +00:00
Ralf Becker
e8354276e1
option to show hidden files
2009-05-16 11:29:47 +00:00
Ralf Becker
4890a25d99
"fixed not working delete of directories, if they contain hidden files (which get not displayed in the UI)"
2009-05-16 07:42:27 +00:00
Ralf Becker
5b2da78e32
"ignore hidden files"
2009-05-11 20:58:53 +00:00
Ralf Becker
ff50938aa7
"special handling for favorites"
2009-05-11 20:43:18 +00:00
Ralf Becker
4cd23bd2e4
"fixed filemanger bug: deleting a symlink to an directory, deletes not just the symlink but the whole directory"
2009-05-11 14:43:34 +00:00
Ralf Becker
4c6b076c97
filemanager runs now for projectmanager with PM's sidebox menu
2009-05-06 15:15:39 +00:00
Ralf Becker
24bbec6df1
Adding a scrollbar to path in file select dialog, if it gets too long.
2009-05-03 20:45:34 +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
5af2873598
Using links for Up and Home Icons
...
--> get requests avoid browser asking while using back button
2009-04-30 08:09:50 +00:00
Ralf Becker
d4f228cdfb
"handling if user clicks on a link in filemanager
...
- reset lettersearch as it confuses users (they think the dir is empty)
- switch recusive display off
"
2009-04-23 06:05:48 +00:00
Ralf Becker
f0896ccd09
saving attachments to vfs
2009-04-17 08:22:31 +00:00
Ralf Becker
25d1f106ab
shortcuts to application directories
2009-04-17 07:37:12 +00:00
Ralf Becker
3c18478f86
- more docu for file selection dialog
...
- added mime type filter
- added more user friendly mime type names:
application/pdf --> PDF file (application/pdf)
2009-04-17 06:28:19 +00:00
Ralf Becker
a50e1cc2ec
allow to attach (multiple) files from filemanager in fmail compose
2009-04-15 21:11:57 +00:00
Ralf Becker
74fd4858b6
- ability to add links via clipboard
...
- grayed out icons, if dir is not writable
- switch recursive list off, when moving up
2009-04-09 14:05:14 +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
979466c1fc
fixed typo: stoped --> stopped
2009-04-06 13:02:28 +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
84e8b857f3
"added missing xajax include, which caused the overwrite message to fail, if xajax was not otherwise (eg. notifications) loaded"
2009-03-20 11:56:05 +00:00
Ralf Becker
55d2aaa3ee
Implemented symlinks for eGW's VFS:
...
- sqlfs can store now symlinks (implements symlink and readlink)
- vfs resolves symlinks before calling a mounted stream-wrapper
--> symlinks can be between different mount-points
- filemanger can create symlinks and follows them
- etemplate vfs_widget displays symlinks (to be improved)
Happy testing :-)
2009-03-19 20:12:35 +00:00