Commit Graph

1368 Commits

Author SHA1 Message Date
Nathan Gray
824829ae3e Fix missing >< when merging to XML, caused by double escaping 2011-12-12 23:28:20 +00:00
Ralf Becker
c5712cd6b5 dont use html5 input type="url", as it requires a scheme (eg. http) 2011-11-24 07:13:06 +00:00
Ralf Becker
176e81cd1c * ImportExport: allow to select "Old fixed definition" in preference for nextmatch export (disk icon) 2011-11-21 10:10:46 +00:00
Ralf Becker
de9280dc6b fixed warning if no name part exists 2011-11-18 13:04:32 +00:00
Ralf Becker
35ac4e0993 * Mergeprint: fixed not working merge (white screen, nothing in error-log) under PHP 5.2.6
Catchable fatal error: argument 1 to transformToXml() must be of type DOMDocument
2011-11-17 08:44:40 +00:00
Ralf Becker
fe22901d54 * 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 [
2011-11-09 14:32:50 +00:00
Ralf Becker
bd616f8a34 merged some fixes from Trunk to quieten warnings in CalDAV:
- r36515: query_list(). initialize return value to array(), to allways return an array
- r36542: skip the empty (NULL) row
2011-11-06 09:49:53 +00:00
Nathan Gray
f6a28b7550 Remove ID, if already in title (eg Infolog) 2011-11-03 14:31:01 +00:00
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