Commit Graph

1360 Commits

Author SHA1 Message Date
Klaus Leithoff
85857cae6c silence warning: bo_merge::get_links -> make third parameter optional, as the parent function called has this one as optional parameter too. 2011-10-31 11:24:13 +00:00
Nathan Gray
6da51ecbdb * Add {{links}}, {{attachments}}, {{links_attachments}} placeholders for merging 2011-10-27 16:21:15 +00:00
Klaus Leithoff
bea7bba0b3 * import/export: fix for failed export on not set limit for nonadmins on standard export (handle empty export_limit since it will be casted to 0 on (int)) 2011-10-12 10:40:51 +00:00
Klaus Leithoff
55dbf20c33 * calendar/addressbook/importexport/merge-print: introduction of a static function to fetch the export limit, and normalize the possible output: bo_merge::getExportLimit; apply new function to bo_mergen, nextmatch_widget, addressbook, calendar and importexport; introduction of an calendar export limit; introduction of hook to provide appspecific export_limit 2011-09-16 13:23:15 +00:00
Klaus Leithoff
9037a6c039 making 1st param for custumfield_widget construct (ui) optional, to avoid warning 2011-09-13 08:39:24 +00:00
Ralf Becker
1d6f9f0bfe check if we can use the XSL extension, to not give a fatal error and rendering whole merge-print non-functional AND only keep tags, if XSL is available 2011-09-12 10:56:08 +00:00
Ralf Becker
7c381ba855 added "progress"(-bar) widget to differ from image and using it in templates 2011-09-08 19:03:44 +00:00
Ralf Becker
975a8ade09 * API/Calendar: allow to link to accounts and allow to select accounts as participants by searching them like contacts 2011-09-07 16:47:08 +00:00
Nathan Gray
3bdbeef5d6 Taming tidy - fixes extra line breaks, don't detect encoding. 2011-09-07 15:51:33 +00:00
Ralf Becker
36093fbd2a added missing semicolon to entity &#8203 and do an urldecode to get a nicer looking link 2011-09-06 07:42:08 +00:00
Ralf Becker
78b7a1442d * Mergeprint uses tidy, if available, before atempting to convert html to office documents, requires now php-tidy 2011-09-06 06:27:07 +00:00
Nathan Gray
cc80f295c6 Remove spans with no attributes, they're invisible and can cause invalid XML with linebreaks 2011-09-05 17:11:20 +00:00
Klaus Leithoff
a3b17caa5f * impportexport/document merge: better control of exportlimits, you are now able to exempt groups or users from any exportlimits set (backport of nathans work, with enhancements from ralf) 2011-09-01 14:32:26 +00:00
Ralf Becker
bf4fcb159e * richtext custom-fields 2011-08-30 19:19:56 +00:00
Nathan Gray
98ec62d0e2 * Translate basic HTML formatting (bold, underline, cursive, text & background color, bullets & lists, fonts, size) into target document's formatting when merging into a template. Works for odt, docx and some xml. 2011-08-30 16:08:34 +00:00
Ralf Becker
8d4bd41736 allow to call a function instead of a static helptext 2011-08-27 18:36:16 +00:00
Nathan Gray
1cddecb832 - Fix missing formatting in xml/word documents
- some changes in bullets, maybe avoid error in docx documents
2011-08-22 22:30:14 +00:00
Nathan Gray
0264b70a0b Silence warning when export exception is not set 2011-08-22 14:20:44 +00:00
Klaus Leithoff
23ec5634b3 * API: taking care of sorting AND filtering by customfields with names containing whitespace; (best way to deal with this issue, is not using whitespace in your customfield names at all) 2011-08-22 13:12:32 +00:00
Klaus Leithoff
b76da493de * API: taking care of sorting AND filtering by customfields with names containing whitespace; (best way to deal with this issue, is not using whitespace in your customfield names at all) 2011-08-22 13:08:19 +00:00
Ralf Becker
31ab3d9d75 use html_entity_decode, as we add options with .text(), it can't be entities, but php knows no string literals with utf-8 2011-08-22 07:46:38 +00:00
Ralf Becker
0aa128b53e Loading translations like other javascript files:
setting headers to allow browser to cache the file until it's etag containing the creationdates of the used langfiles changes
--> et2 can now use egw_lang object to translate labels, options, ...
2011-08-21 20:09:14 +00:00
Ralf Becker
7b89481b76 fixed typo giving fatal error with template infolog.edit 2011-08-21 17:13:08 +00:00
Ralf Becker
db9434d8e6 added radio validation to etemplate_widget_checkbox, as they are nearly identical 2011-08-21 14:03:52 +00:00
Ralf Becker
5bc3844be8 fixed typo 2011-08-21 14:02:31 +00:00
Ralf Becker
7c5cb7e04b validator for checkbox, not yet tested because of missing clientside 2011-08-21 13:47:45 +00:00
Ralf Becker
74fabe9994 removed implemented todo 2011-08-21 13:46:21 +00:00
Ralf Becker
32ea28a59c fixed copy-n-paste typo 2011-08-21 13:45:55 +00:00
Ralf Becker
76d5a57b8c added validator for htmlarea, not yet tested, as it is not yet implemented on clientside 2011-08-21 13:01:10 +00:00
Ralf Becker
ec58f52b62 implemented disabled columns 2011-08-21 12:43:02 +00:00
Ralf Becker
c4293ba3bc honor disabled attribute in validation for widgets including grid rows, but not yet grid columns 2011-08-21 11:55:56 +00:00
Ralf Becker
7916e86880 method to translate options incl. optionial title 2011-08-21 11:38:01 +00:00
Ralf Becker
e0624ebe89 removed set_(row|column)_attributes and disable_(row|column) method, which modifies template on run-time, it was only used internally by etemplate 2011-08-21 09:14:58 +00:00
Ralf Becker
e92087df31 - new validator for selectboxes (menupopup)
- also used currently to supply options for predefined selectboxes (eg. select-cat), need to discuss if we want to fetch these per ajax
- new widget method run, which runs a given method on all widgets (and children) supporting it, eg. used now for validate
2011-08-20 10:27:38 +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
107b12abcd - template references can contain attributes, in this case we have to clone the template and set them
- optional template namespace is in "content" attribute
- ability to unset validation messages
2011-08-19 06:30:06 +00:00
Ralf Becker
b57b633944 ability to unset validation messages 2011-08-19 06:21:46 +00:00
Ralf Becker
a488b67f99 serverside validation for textbox and button 2011-08-18 21:56:37 +00:00
Ralf Becker
d095250d85 read and parse widgets on serverside 2011-08-18 18:08:40 +00:00
Ralf Becker
d32ce66d91 fixed grid in cf widget displays border, if options are set 2011-08-18 09:25:14 +00:00
Ralf Becker
d6509ad506 fixed grid in cf widget displays border, if options are set 2011-08-18 09:22:59 +00:00
Ralf Becker
43e9cb2126 fixed grid in cf widget displays border, if options are set 2011-08-18 09:21:30 +00:00
Ralf Becker
b892149294 fixed grid in cf widget displays border, if options are set 2011-08-18 09:21:03 +00:00
Nathan Gray
03d549bab9 Add validation (basic client & server side) 2011-08-17 21:36:08 +00:00
Ralf Becker
d20c38b3d0 added richtext customfield 2011-08-17 16:34:09 +00:00
Nathan Gray
8f5f334762 Only process HTML inside Word xml documents 2011-08-17 15:47:05 +00:00
Nathan Gray
16bafa78b8 Implement export restriction exception for given users/groups in apps 2011-08-17 15:38:56 +00:00
Nathan Gray
2a815be3d3 Process xml as if it were a MSOffice document 2011-08-17 14:47:17 +00:00
Ralf Becker
7cbff78854 config for export limit excepted users/groups, need backend work from nathan 2011-08-17 09:36:51 +00:00
Nathan Gray
ea8d70136e Implement labelplaceholder for OO.o files 2011-08-16 23:07:44 +00:00
Ralf Becker
146c8fbc80 disable initial namespace/cname, as we probably wont use it and it gives a fatal error currently 2011-08-16 20:43:18 +00:00
Ralf Becker
510ce7c159 - using etemplate_request object and a etemplate_exec_id
- "processing" the submit on serverside (no validation yet)
--> content returned by ajax call is not an hiearchical array: eg. "button[save]" => 1, instead of "button" => array("save" => 1)
- new call to etemplate_new::exec() is send back via new JSON generic et2_load response
--> how do we handle output of callback: a) debug output, eg. echos and b) echo "<html><head><script>window.close();</script></head></html>"; exit;
2011-08-16 19:40:48 +00:00
Andreas Stöckel
8207a325aa Moved loading of data-array attributes to the new 'loadingFinished' function 2011-08-15 14:52:45 +00:00
Andreas Stöckel
7800cfc5d4 Implemented et2_IInput interface for et2_button in order to transfer the id of the clicked button back to the server, implemented etemplate2.submit function, implemented egw_json et2_load response type to load a new template with new data. 2011-08-15 14:29:58 +00:00
Andreas Stöckel
8c9fd0f636 Implemented usage of mutliple array-manager objects (the object which cares about proper namespacing etc.) for each supplied data manager part (like 'content', 'readonlys' etc.), renamed et2_contentArrayMgr.js to et2_arrayMgr.js, renamed et2_all.js to etemplate2.js and added an top-level object which cares about loading the template, creating the array managers etc. 2011-08-15 12:34:00 +00:00
Andreas Stöckel
a28295db58 Added et2_all.js which contains references to all widgets and can be included by egw to load the complete etemplate2 js module, fixed problem in 'et2_DOMWidget::set_disabled', interpreting 'type' attribute like the node name when creating the wigdets from XML 2011-08-15 08:34:21 +00:00
Ralf Becker
0a410a1e05 seems all widget have to be explicitly loaded, to be used ... 2011-08-13 17:34:59 +00:00
Ralf Becker
358fbf6d9e first try to call new etemplate2 stuff from server-side, just replace etemplate with etemplate_new, eg. in timesheet_ui::edit() 2011-08-13 16:51:35 +00:00
Ralf Becker
09b4ba803f * Calendar: fixed various issues with history in calendar: id display, unecessary stuff loged, ... 2011-08-04 14:03:43 +00:00
Ralf Becker
3819816248 * Calendar: fixed various issues with history in calendar: id display, unecessary stuff loged, ... 2011-08-04 14:00:15 +00:00
Ralf Becker
d7064bae71 for readonly version we only need to fetch given timezone, automatic conversion from id 2011-08-04 11:06:04 +00:00
Ralf Becker
c1718a29ad for readonly version we only need to fetch given timezone, automatic conversion from id 2011-08-04 11:04:19 +00:00
Ralf Becker
b62a99fb42 fixed creating of new translations / give [Write] button file not yet existing (permissions given) 2011-08-04 07:36:35 +00:00
Ralf Becker
31c9e8965b fixed creating of new translations / give [Write] button file not yet existing (permissions given) 2011-08-04 07:27:23 +00:00
Nathan Gray
e6355334f4 Move applying HTML styles into its own function 2011-08-02 18:41:18 +00:00
Nathan Gray
13afee536c Fix mismatched tag in MS linefeed 2011-08-02 14:25:47 +00:00
Ralf Becker
aabb45ffd0 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:55 +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
Nathan Gray
c2c1b4af95 Fix mismatched tag in MS linefeed 2011-07-29 15:34:12 +00:00
Klaus Leithoff
e77fa3ff77 fix warning ->missing argument 1 for select_widget<- : make the parameter optional by assigning a default value 2011-07-26 07:49:21 +00:00
Klaus Leithoff
88c088eb86 fix warning ->missing argument 1 for select_widget<- : make the parameter optional by assigning a default value 2011-07-26 07:43:53 +00:00
Nathan Gray
a2be785731 Bring some HTML styles into merged documents (ODT & docx) 2011-07-19 23:32:01 +00:00
Klaus Leithoff
81e0720ee5 notification/tracker: in special cases, the owner of an entry was notified twice; now control who is notified in the first (admin) notification run, and pass the already notified email-addresses to the general run; add missing static to get_details of notifications for tracker (backport r35727) 2011-07-13 07:36:27 +00:00
Klaus Leithoff
bed0c7a265 notification/tracker: in special cases, the owner of an entry was notified twice; now control who is notified in the first (admin) notification run, and pass the already notified email-addresses to the general run 2011-07-13 07:30:28 +00:00
Ralf Becker
e4da700ff4 using grid styleing also for nextmatch widgets without nextmatch header 2011-07-12 09:55:08 +00:00
Ralf Becker
43c4113d83 using grid styleing also for nextmatch widgets without nextmatch header 2011-07-12 09:53:39 +00:00
Nathan Gray
69b0ceed0c Consolidating & simplifying translation phrases 2011-07-11 17:01:55 +00:00
Ralf Becker
19deeeb595 switch html5 form validation off for cancel buttons and in etemplate editor (or whenever any $ignore_validation expression is given) 2011-07-07 13:01:29 +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
579c388056 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:51:33 +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
Nathan Gray
cca328dbea Pass non-popup links through framework's link handler 2011-07-06 15:41:19 +00:00
Nathan Gray
995c244b6b Use different app if running hooked also 2011-07-06 15:36:22 +00:00
Nathan Gray
624839d0db Translations for placeholder labels 2011-07-05 22:21:49 +00:00
Nathan Gray
aab8157907 Translation for placeholder labels 2011-07-05 21:44:21 +00:00
Nathan Gray
324cb05599 Use different app if running hooked also 2011-07-05 15:56:30 +00:00
Nathan Gray
73d6b61f79 Pass (non-popup) links through framework's handler 2011-07-05 15:13:26 +00:00
Nathan Gray
4e54cdabc0 Pass non-popup links through framework's link handler 2011-07-05 14:45:25 +00:00
Nathan Gray
42dd9e9a02 Don't pass popups through link handler 2011-07-04 17:04:08 +00:00
Ralf Becker
9db4fa8625 * jQuery: changed $ to $j to work around mootools use in Joomla templates and other js code in imported projects
required to change $ --> $j:
phpgwapi/*
jdots/*
etemplate/*
stylite/*
felamimail/*
admin/*
news_admin/*
projectmanager/*
importexport/*
infolog/*
ranking/*

required, but not automatic:
importexport/setup/etemplates.inc.php
phpgwapi/js/jquery/*

negative, not to touch or revert later:
phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php:		'(\$(.+))'            => 'print $1',
phpgwapi/js/dhtmlxtree/libCompiler/core.js
sitemgr/*
phpfreechat/*
gallery/*
activesync/include/smb.php:        '^\tIPC\\\$(.*)[ ]+IPC' => 'skip',
etemplate/inc/class.bo_merge.inc.php: if ($this->table_plugins && preg_match_all('/\\$\\$table\\/([A-Za-z0-9_]+)\\$\\$(.*?)\\$\\$endtable\\$\\$/s',$content,$matches,PREG_SET_ORDER))

find phpgwapi jdots etemplate stylite felamimail admin news_admin projectmanager importexport infolog ranking \
	\( -name '*.php' -o -name '*.js' \) -exec grep -q '\$(' {} \; -print \
	-exec sed -i '' 's|\$(|$j(|g' {} \;
svn revert phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php phpgwapi/js/dhtmlxtree/libCompiler/core.js \
	importexport/setup/etemplates.inc.php phpgwapi/js/jquery/jquery.js etemplate/inc/class.bo_merge.inc.php
	
additional changes:
phpgwapi/js/jquery/jquery.js:	window.$ --> window.$j
phpgwapi/js/egw_json.js:291	this.request = $j.ajax({url: this.url,
jdots/templates/jdots/head.tpl:59			$j(document).ready(function() {
phpgwapi/js/egw_action/egw_grid_view.js: $.browser --> $j.browser
importexport/setup/etemplates.inc.php: etemplate editor importexport.wizard_basic_export_csv.choose_fields onclick of check icon changed
phpgwapi/js/egw_action/tests/*.html
phpgwapi/js/egw_action/tests/js/jquery.js:	window.$ --> window.$j
2011-07-03 09:12:55 +00:00
Ralf Becker
03e379e570 * jQuery: changed $ to $j to work around mootools use in Joomla templates and other js code in imported projects
required to change $ --> $j:
phpgwapi/*
jdots/*
etemplate/*
stylite/*
felamimail/*
admin/*
news_admin/*
projectmanager/*
importexport/*
infolog/*
ranking/*

required, but not automatic:
importexport/setup/etemplates.inc.php
phpgwapi/js/jquery/*

negative, not to touch or revert later:
phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php:		'(\$(.+))'            => 'print $1',
phpgwapi/js/dhtmlxtree/libCompiler/core.js
sitemgr/*
phpfreechat/*
gallery/*
activesync/include/smb.php:        '^\tIPC\\\$(.*)[ ]+IPC' => 'skip',
etemplate/inc/class.bo_merge.inc.php: if ($this->table_plugins && preg_match_all('/\\$\\$table\\/([A-Za-z0-9_]+)\\$\\$(.*?)\\$\\$endtable\\$\\$/s',$content,$matches,PREG_SET_ORDER))

find phpgwapi jdots etemplate stylite felamimail admin news_admin projectmanager importexport infolog ranking \
	\( -name '*.php' -o -name '*.js' \) -exec grep -q '\$(' {} \; -print \
	-exec sed -i '' 's|\$(|$j(|g' {} \;
svn revert phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php phpgwapi/js/dhtmlxtree/libCompiler/core.js \
	importexport/setup/etemplates.inc.php phpgwapi/js/jquery/jquery.js etemplate/inc/class.bo_merge.inc.php
	
additional changes:
phpgwapi/js/jquery/jquery.js:	window.$ --> window.$j
phpgwapi/js/egw_json.js:291	this.request = $j.ajax({url: this.url,
jdots/templates/jdots/head.tpl:59			$j(document).ready(function() {
phpgwapi/js/egw_action/egw_grid_view.js: $.browser --> $j.browser
importexport/setup/etemplates.inc.php: etemplate editor importexport.wizard_basic_export_csv.choose_fields onclick of check icon changed
phpgwapi/js/egw_action/tests/*.html
phpgwapi/js/egw_action/tests/js/jquery.js:	window.$ --> window.$j
2011-07-03 09:00:36 +00:00
Ralf Becker
f1b2683e89 fixed multiline fields in notification message were all in one line 2011-07-02 09:37:04 +00:00
Ralf Becker
a89430ae8e fixed multiline fields in notification message were all in one line 2011-07-02 09:36:21 +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
d654437a54 - allow confirmation only for multiple selected
- confirm, confirm_multiple and allowOnMultiple get now inherited by children (@Andreas: allowOnMultiple does NOT work on children for some reason)
- add confirmation for more then one receipient in mail merge
- translations for etemplate part
2011-06-30 17:35:52 +00:00
Klaus Leithoff
b30fcc52f3 allow merge_print for emails on all applications (only one entry at a time, exept addressbook); addressbook merge_print with an email of one contact, the mail is stored with the draft folder and then opens the compose dialog, if used on multiple contacts, we try to send them right away. Better control of SigOnTop Handling. 2011-06-30 15:28:29 +00:00
Ralf Becker
3f6fcf60d2 support for some html5 form features, if browser supports it 2011-06-30 15:19:08 +00:00
Ralf Becker
be57f2a37b new standard action to active the first link in a row, fixed numeric id's det Del shortcut 2011-06-30 12:43:04 +00:00
Klaus Leithoff
51c6e79475 allow email - merge print only for addressbook (by now); handle mergeprint for accounts stored with ldap as well 2011-06-30 11:21:48 +00:00