Commit Graph

174 Commits

Author SHA1 Message Date
Nathan Gray
417b22e071 Make sure there's an action_var, use 'action' if not set 2013-02-05 09:34:54 +00:00
Nathan Gray
8a1386ecdb Fix grid auto-repeat. It's always the last row that repeats, if there's data 2013-02-05 08:31:08 +00:00
Ralf Becker
e2d3c2ee29 fixed default parameters and type of etemplate::exec to match documentation 2013-02-04 12:56:08 +00:00
Nathan Gray
ec2d395a68 Initialize to empty array if not set 2013-02-04 12:47:46 +00:00
Nathan Gray
129601366e Some extra debug for et2 2013-02-04 12:35:30 +00:00
Nathan Gray
fc253e2564 Scan for widgets, or they won't all be read. ex: a template with listbox will never know to read etemplate_widget_menupopup 2012-07-24 17:48:55 +00:00
Nathan Gray
60f474da12 Only create new request if it doesn't already exist. Fixes missing information when app constructor creates new template, and get_rows is called for the first time from a new instance 2012-07-23 20:06:54 +00:00
Nathan Gray
f198fb8f6e Lets try this theme for a while, see how it looks 2012-07-18 16:50:49 +00:00
Nathan Gray
fa30d335e3 Detect a submit from old etemplate & pass it off 2012-07-11 20:06:37 +00:00
Nathan Gray
c1a7b2de01 Create content array in constructor too, some things need that 2012-07-10 22:16:44 +00:00
Nathan Gray
8c9bbfd676 Create the request object when the new etemplate object is created, otherwise it's not available for apps to set attributes 2012-07-09 21:24:47 +00:00
Nathan Gray
85950517a1 revert accidentally committed change to et2 2012-06-19 23:30:50 +00:00
Nathan Gray
c9d19b4721 Clean up link_entry widget internal value usage, and better handle no value (null, '', false or {}) 2012-06-19 23:30:07 +00:00
Nathan Gray
63a8718dd8 Support background colors (& icon) in link search results 2012-06-06 18:47:04 +00:00
Nathan Gray
9846011ec2 - Reset accidental commit using et2
- Set current app before validating to use app-specific values (category)
2012-06-05 16:19:02 +00:00
Nathan Gray
eae9b67d3c Make text diff history look better in FF 2012-06-05 15:48:57 +00:00
Ralf Becker
0d66dd98b7 fixed server-side valdation of autorepeated rows/columns
had to change signature of validate function to get information for autorepeating through
removed entity-encoding of square brackets, as they mess up validiation (havnt found any negative effects so far)
2012-05-03 14:17:47 +00:00
Nathan Gray
fb7baf49c1 Load app's translation and javascript file, if it exists 2012-04-30 23:31:56 +00:00
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