Commit Graph

156 Commits

Author SHA1 Message Date
Nathan Gray
28fa402b36 Still want old etemplate... 2012-04-24 19:48:05 +00:00
Nathan Gray
d4aed5cf03 More work on nm actions that need real submit (POST) 2012-04-24 19:47:23 +00:00
Nathan Gray
3af88b3f6e Add method to handle POST submits outside of ajax framework 2012-04-17 22:58:39 +00:00
Ralf Becker
cedb8e3f6c add this.form.submit() to legacy functions and use regular nextmatch filter-change, if onchange="this.form.submit()" is set, some more changes etemplate_new --> etemplate 2012-03-29 15:10:25 +00:00
Ralf Becker
4a08f033e7 renamed etemplate to etemplate_old and etemplate_new to etemplate, thought new etemplate is still disabled in etemplate/inc/class.etemplate.inc.php line 38 2012-03-27 15:45:31 +00:00
Ralf Becker
809b5f3dac fixing the fix ..., good that new etemplate2 always uses csv_explode 2012-03-17 14:18:30 +00:00
Ralf Becker
ffccc00439 use csv_split on options of text field, to allow to enclose preg in quote to allow comma in it 2012-03-17 13:41:34 +00:00
Nathan Gray
8820bf0acf Whoops - revert accidental commit 2012-03-12 17:58:55 +00:00
Nathan Gray
c2d1edc754 Make button onclick work inside nextmatch again 2012-03-12 17:55:52 +00:00
Andreas Stöckel
97080a676a Reverted changes to accidently commited class.etemplate.inc.php 2012-03-12 12:08:37 +00:00
Andreas Stöckel
dc017ed889 Now again using a local etemplate2 instance on the client 2012-03-12 12:05:14 +00:00
Ralf Becker
7e0df9eb55 allow to force tooltip for help messages by prepending a pipe "|" character 2012-02-19 13:54:57 +00:00
Ralf Becker
5433778fc5 fix for integer input with negative length, to get readonly input field, fixes html5 not setting size/width commit 2012-02-01 17:30:28 +00:00
Ralf Becker
a34e9b8431 html5 input type=nummeric seems to ignore size, setting a width instead 2012-01-05 01:42:06 +00:00
Nathan Gray
a5e904faa1 Revert accidentally commited devel stuff 2011-12-23 16:29:09 +00:00
Nathan Gray
587418fca2 If hooked, keep app in extension_data to persist across etemplate loops. Fixes lost infolog custom fields in addressbook view when changing nm filters
- Attempt 2, see r36788.
2011-12-23 16:27:41 +00:00
Ralf Becker
b4bfa392b2 * Filemanager/eTemplate: fix for MyStylite bug #2495: deleting files containing [ as first char deletes whole directory
added encoding of square brackets in eTemplate and improved etemplate_bo::(get|set|isset|unset)_array() to split indexes at ][ and not just [
--> needs to be "back"-ported to eTemplate2 to!!!
2011-11-09 14:32:07 +00:00
Ralf Becker
89847abae6 added "progress"(-bar) widget to differ from image and using it in templates 2011-09-08 19:00:57 +00:00
Ralf Becker
fa435de6a9 allow to call a function instead of a static helptext 2011-08-27 18:35:40 +00:00
Ralf Becker
7d33eb610a partially reverted r36310 as it has side-effects on the nextmatches widget (in actions and selected rows) 2011-08-26 13:30:05 +00:00
Ralf Becker
502ac42923 - etemplate_widget_transformer abstract baseclass to define new widgets using a transformation out of existing widgets
- defines a syntax to describe how the widget is build out of existing widgets
--> reimplemented contact-widget using that aproach on serverside for old etemplate
--> sending the modifications via etemplate_widget::setElementAttribute() to the client fails, because client does not support changing the widget type
--> need to be implemented on the client
2011-08-25 19:52:51 +00:00
Ralf Becker
30ed6a8ab7 - added legacy-options parsing and defintions for currently implemented widgets
- added more server-side debuging:
* etemplate_widget_template class can be called via url and displays parsed xml, eg:
  http://localhost/egroupware/etemplate/inc/class.etemplate_widget_template.inc.php?name=infolog.edit
  This is different from directly calling the xet file, as it show what got parsed and how:
  http://localhost/egroupware/infolog/templates/default/edit.xet
* etemplate_new class can be called via url to render an arbitrary template, eg:
  http://localhost/egroupware/etemplate/inc/class.etemplate_new.inc.php?name=timesheet.edit
  Thought not all are already rendered correct, eg. infolog.edit is not:
  http://localhost/egroupware/etemplate/inc/class.etemplate_new.inc.php?name=infolog.edit
2011-08-19 08:22:19 +00:00
Ralf Becker
b57b633944 ability to unset validation messages 2011-08-19 06:21:46 +00:00
Ralf Becker
38c3e52dde default step="any" for float, as not setting it limits value to integer as step defaults to 1 in html5! 2011-07-30 08:31:08 +00:00
Ralf Becker
2b0278fbbd switch html5 form validation off for cancel buttons and in etemplate editor (or whenever any $ignore_validation expression is given) 2011-07-07 12:54:11 +00:00
Ralf Becker
4f60da9af5 differenciate in our serverside user-agent detection between Chrome and Safari, and disable html5 form validation for float, as Chrome 12 rejects float values with comma as decimal separator 2011-07-07 11:50:06 +00:00
Ralf Becker
9f94f1f8e3 support for html5 multiple upload 2011-07-01 07:48:06 +00:00
Ralf Becker
548ae17b66 fixed error in link-entry: " has an invalid format !!!, after adding html5 type attr to text/input widget 2011-06-30 17:57:55 +00:00
Ralf Becker
3f6fcf60d2 support for some html5 form features, if browser supports it 2011-06-30 15:19:08 +00:00
Nathan Gray
e59b50e7fb If etemplate_exec_id is lost, pass along any GET parameters with redirect 2011-06-09 16:47:40 +00:00
Ralf Becker
a147a9a4a8 fixed not working category color of rows (calendar, addressbook) 2011-05-30 11:08:37 +00:00
Ralf Becker
678efd6ced switch to tab with customfield widget (empty name for call cfs), if validation error is for a cf (name prefixed with #), if no tab found add validation message to $content[msg] as a last resort to make it more visible to the user 2011-05-18 14:23:23 +00:00
Klaus Leithoff
64c798cda4 show raw selectvalue, if we are not able to show the corresponding selection entry 2011-05-17 11:46:56 +00:00
Ralf Becker
0ced6fcf51 - storing etemplate form name and variable prefix into egw_actionManager to be able to work on a 2. eTemplate on a page (InfoLog in Addressbook view)
- moving (open|hide|submit)_popup used in InfoLog and Tracker to etemplate, so code can be shared
  --> change 'onExecute' => 'javaScript:open_popup' to 'nm_action' => 'open_popup' and onclick="(hide|submit)_popup()" to onclick="nm_(hide|submit)_popup()"
2011-05-07 08:47:58 +00:00
Ralf Becker
1e8de99ed7 Move initialisation for egw_actions stuff into static method of nextmatch_widget, it get called now from:
- etemplate::show_grid() 
- addressbook_ui::view() to load JS stuff before header get generated
2011-05-02 13:34:59 +00:00
Ralf Becker
dc88e0c190 - automatic creation of action_links (enabled actions and ones which need to be checked if enabled) by using all first level actions plus the ones with enabled set to 'javaScript:...'
- a bit of docu about the actions system usable through nextmatch widget
--> addressbook disables now "remove from distirbution list" and "delete selected distribution list", if no distribution list is selected
2011-04-26 19:50:03 +00:00
Ralf Becker
6081a5749d timesheet context menus are now complete:
- query all is moved into context menu
- legacy support only contains button to trigger context menu
- moved some common phrases into the API:
  + Delete this entry
  + Delete these entries
  + You need to select some entries first!
- support for singular and plural confirmation messages
2011-04-17 18:53:45 +00:00
Ralf Becker
806d3d604c added context menu for nextmatch widget: first implemenation in timesheet
- legacy actions column and multiple action row below table is switched off by default, but can be switched on again
- legacy action button is NOT yet working
- "whole query" checkbox need to go into context menu too
2011-04-16 21:45:13 +00:00
Ralf Becker
b5c3c90260 activated new table style and row selection for etemplate, not yet with contect menus 2011-03-27 16:14:08 +00:00
Andreas Stöckel
f6d0edbdc1 Added basic support for the egw_action framework in the nextmatch widget (currently not active) 2011-03-22 17:06:02 +00:00
Ralf Becker
43d2411ba1 fixing some warnings 2010-11-10 08:26:41 +00:00
Ralf Becker
af7a24eb9a framework->navbar() now automatically calls framework->header(), this way navbar or sidebox can include JS or CSS, because header is called after 2010-10-18 10:46:47 +00:00
Ralf Becker
0dd58b36cf quiten warning if $cell[size] is an array 2010-10-12 07:48:35 +00:00
Ralf Becker
f156301f25 fixed wrongly display blur text for value "0" 2010-08-12 18:03:03 +00:00
Ralf Becker
bb468774f7 quitened warning 2010-08-01 12:47:26 +00:00
Ralf Becker
b9bfd285a5 fixed not working checkboxes after r31472 2010-07-22 13:09:33 +00:00
Ralf Becker
4da973400c allow and validate needed (required) attribute for file uploads, checkboxes and radio buttons 2010-07-21 08:21:42 +00:00
Ralf Becker
b5f35a4b75 validating (string) === '' (instead === ''), as on ajax commit no yet set inputs are returned as null instead of '' 2010-07-13 20:47:25 +00:00
Ralf Becker
88ebb437c2 methods to set or get all body tags or javascript files, replacing direct access to variables of old javascript class 2010-06-15 16:08:10 +00:00
Ralf Becker
b43a3843d2 fixing bug #2609: Saving attached files to the filemanager doesn't work 2010-05-25 13:17:46 +00:00
Ralf Becker
a3a3fa1671 "new feature to explicitly set an id for widgets: prefix name with a hash --> id is the name without the hash, and NOT the form_name as before
Should not create any backward compatibilty issues - fingers crossed ;-)"
2010-05-20 09:06:53 +00:00
Ralf Becker
71a7c20326 "fix for bug #2588 and #2592: links/popups in resources are not working
--> seems to be an aftermath of the new quoting
Thanks to Yudhi Kusnanto for a patch"
2010-05-12 19:17:01 +00:00
Ralf Becker
55f5a80a5e refining regular expressesion for PHP variables (replies[$row][reply_message] returned more then $row) and removed quoting from submitit call in button, as quotes in vars get quoted double 2010-05-12 07:50:13 +00:00
Ralf Becker
db23b1d746 - correctly quote single and double quotes in html element id's
- correctly quote quotes in parameters of javascript functions used
  eg. as eventhandlers, eg. onchange="do_something('$cont[name]');"
  --> if $cont[name] is an array: do_something([ 'val1', 'val2' ]) is used
- correctly quote & in get parameters of url's
2010-05-09 14:06:35 +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
807b72aa93 feature: resize etemplate popups, that they may fit into the window 2010-02-03 14:11:16 +00:00
Ralf Becker
e73dcb2a27 fixed colorpicker (as not using current color) and added colorpicker widget to etemplate 2010-01-30 23:55:36 +00:00
Ralf Becker
369161d91f allow to use \n in confirm messages to format the question 2010-01-15 01:10:15 +00:00
Ralf Becker
47b2216554 - new preference number_format, to specify number_format (currently only
used in eTemplate)
- added basic support for DateTime / egw_time to eTemplate date-widget
2009-11-12 18:36:50 +00:00
Ralf Becker
29040ae9f8 Allow extensions to mark themself as noReadonlysALL, to not set
readonly, if $readonlys['__ALL__'] is set:
required for tab-widget, to be able to disable single tabs, if whole
dialog is set to readonly (view-mode)
2009-10-15 08:48:47 +00:00
Ralf Becker
b97b485700 "need to also empty $name, to fully supress buttons in a box" 2009-10-13 12:09:54 +00:00
Ralf Becker
db8599726e "fixed partial content lost on validation errors" 2009-09-30 07:29:14 +00:00
Ralf Becker
35396fb309 "fix to simplify implementation of view dialogs:
$readonlys['__ALL__'] = true;
$readonlys['button[cancel]'] = false;
--> makes all widgets readonly, but the ones explicitly set to false"
2009-09-16 10:42:45 +00:00
Nathan Gray
c8f411bd4c Make etemplate able to handle multiple calls to egw::lang() in the same line 2009-09-11 20:13:06 +00:00
Christian Binder
40372cba8f add eGW independent html output mode for new mail stationery feature sponsored by Inspections Unlimited Franchise services (http://www.inspectionsunlimited.com) 2009-08-14 22:15:15 +00:00
Ralf Becker
f8ccec0d35 if textarea is readonly, but form_name is already used by an other widget, dont use it
browser would only send the content of the readonly (and therefore unchanged) field
2009-08-10 11:33:32 +00:00
Ralf Becker
821f0daf42 "rewriting onchange for checkboxes for IE to an onclick" 2009-07-30 07:10:31 +00:00
Ralf Becker
dfaa808b8c - allow to use $row or $row_cont, $c to disable columns or rows,
eg. "$row_cont[x]=y"
- complete_array_merge does no longer overwrite numerical keys,
  if value is an array
2009-07-23 11:25:10 +00:00
Ralf Becker
1dc2c88059 fixed not working precistion display 2009-07-15 10:47:36 +00:00
Ralf Becker
62d3afdd36 "display on horizontal scrollbar for width 100%" 2009-07-04 14:17:58 +00:00
Ralf Becker
dcce79d92a check if application of template has a app.js file
--> load it
2009-07-03 08:38:25 +00:00
Ralf Becker
a1d81f3e06 "if label_for starts with a '#', it is already an id - no need to create default id from it" 2009-06-27 10:18:44 +00:00
Ralf Becker
232252475f patch fixing many depricated functions (eg. posix regular expressions) and features, which fill up the error_log under php5.3 (and will no longer be available under php6).
Patch is mostly created by script in egroupware/doc/fix_depricated.php in separate commit.
I do NOT advice to apply this patch to a production system (it's commited to trunk!), as the automatic modified regular expressions have a good change to break something ...
2009-06-08 16:21:14 +00:00
Ralf Becker
5e9699a5b5 reverting again r27107, as it has to many (unwanted) sideeffects 2009-05-24 20:03:28 +00:00
Ralf Becker
3dadb5abe3 - allow to specify on sub-type level, if post_process method should be
used for extensions
- if extension is called with empty name, it can set a name in
  cell[name], which then get's used for the content (extensions can use
  eg. an option to select the name)
2009-05-24 18:02:54 +00:00
Ralf Becker
ef1227767a "validation error in named tab (eg. \"tabs=general|one|two\") did not change to tab with field causing the validation error" 2009-05-21 19:16:32 +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
75850fd66b fixed problem pointed out by Necky(T.Okabuchi) <neckyegw(at)wanaya.jp> 2009-05-19 15:24:15 +00:00
Ralf Becker
e5ffe827f6 "extend readonly handling of button to images (images with a link have a similar function)
setting their name in $readonlys, removes the image completly"
2009-05-08 15:51:57 +00:00
Ralf Becker
69171b7928 "image: using csv_split for options to allow options with commas, eg. filenames containing commas" 2009-04-30 08:07:25 +00:00
Ralf Becker
0930d0a739 new ajax_submit() function with submitts the whole form via ajax to a given callback 2009-04-29 14:15:35 +00:00
Ralf Becker
e6762bf009 "fixed last commit r26803 \"allow to specify app in image name\":
thumbnails or other direct url's as image in buttons were no longer displayed"
2009-04-22 05:52:07 +00:00
Ralf Becker
5e88f9b563 "allow to specify app in image name" 2009-04-17 07:27:12 +00:00
Ralf Becker
823a3ab4c0 "allow to disable one of multiple checkboxes" 2009-04-15 21:07:33 +00:00
Ralf Becker
2b73958407 "title for ro-image of buttons" 2009-04-15 09:16:04 +00:00
Ralf Becker
592488908e "fixed filemanger bug: actions dont work for filenames containing commas
--> allow to enclose comma-separated checkbox and radio-button option values in quotes (\"), so they can contain commas
eg. file-names containing commas in the filemanager"
2009-04-09 11:49:16 +00:00
Ralf Becker
f1855baac2 "fixed typo" 2009-04-03 13:27:01 +00:00
Ralf Becker
1dbec93dc9 "fixed broken extended search in addressbook:
form get's summited via ajax (without the _FILES array), which caused the process_show for 'files' to stall the the ajax request
--> get's ignored now"
2009-03-30 16:36:25 +00:00
Ralf Becker
486a32e86d Refractured eTemplate to use:
- the etemplate_request object which stores the request data in the
  a) session (as before) or
  b) compressed and encrypted in the form transmitted to the user
  Benefit of b) is that the session does not grow and the form can
  be submitted as long as the session exists, as we need no garbadge
  collection. Of cause more data needs to be submitt between
  browser and webserver. b) is choosen automatic if mcrypt and
  gzcompress are available, but can be turned off via setting
  etemplate_request::$request_class = 'etemplate_request_session';
- static class variables instead of the before used global ones
--> This new version of eTemplate is fully backward compatible with 1.6!
2009-03-16 12:58:24 +00:00
Ralf Becker
8abb78f918 "small change on the upload to be still able to detect failed uploads caused by to small upload_max_filesize
--> !empty($file['name]) && empty($file['tmp_name'])"
2009-02-26 14:42:50 +00:00
Ralf Becker
a5a28ad708 Enhanced file upload to allow user to upload multiple files by appending
[] to the name of the widget, eg. "upload[]". In that case attaching a
file adds an other file upload via javascript direct under the current
upload and etemplate returns an array of files (each with keys
'tmp_name', 'name', etc.).
2009-02-26 13:51:25 +00:00
Ralf Becker
bdcb10ea2d Enable etemplate to mark rows of a grid / table as part of the header or
footer to repeat them on each printed page.
2009-02-23 13:21:28 +00:00
Ralf Becker
38aa29a852 "making process_show public again, as requested by Raphael Alla
(there was no real reason to make it private, beside hiding it from public interfaces, as I thought noone else is using it)"
2009-02-16 08:36:56 +00:00
Ralf Becker
3b962e7064 Allow to set an explicit name for a tab_widget: "tabs=one|two|three"
In the example the tab itself is named "tabs", with tabs "one", "two"
and "three". Therefore the name of the tab-widget (where the select tab
gets reported and used to disable a single tab) does no longer depend on
the available tabs. This allows for a deeper customization.
Examples on how to use it are in the next two commits: tracker and pm
2009-01-29 18:31:40 +00:00
Ralf Becker
fa6ab9b7a1 "fixed lost right align in nextmatch sort headers, if they are active" 2008-10-22 07:06:45 +00:00
Ralf Becker
9e85c8e343 renamed uietemplate to etemplate, to save unnecessary include, as gtk isnt used in a long time 2008-10-07 09:14:17 +00:00
Cornelius Weiß
69aa6abdec update docu to better run trough phpdocumentor 2006-04-20 17:12:30 +00:00
Ralf Becker
7a4a18ec0a phpgw --> egw
from this revision eTemplate requires a 1.0.1/1.2 API, the last working version for 1.0.0 has been taged "last_working_1_0_0"
2005-11-09 20:50:45 +00:00
reinerj
b01bf986dc change files from phpgw to egw 2004-01-27 16:58:19 +00:00