Commit Graph

1000 Commits

Author SHA1 Message Date
Ralf Becker
5b64b4a0e7 "fixed exception eteplate::get_array($arr,$name) $arr is no array" 2009-11-06 12:56:51 +00:00
Ralf Becker
b70d208d3f "alternative syntax using double curly brackets, agressivly removing all xml-tags eg. Word adds within placeholders:
{{user/n_fn}} or {{<w:t>user</w:t>/<w:t>n_fn</w:t>}}   -->  $$user/n_fn$$"
2009-11-04 14:18:11 +00:00
Ralf Becker
b800493aa2 "application/xml need to be treated like xml: utf-8 encoded and encoding <>&" 2009-11-03 13:10:49 +00:00
Ralf Becker
86d9470719 "downloading word2003 mergeprint files (application/xml) as application/msword, to open it automatically in word or oowriter" 2009-11-03 11:55:12 +00:00
Ralf Becker
1052fffbba "added application/xml as alias for text/xml" 2009-11-03 11:05:09 +00:00
Ralf Becker
90f91bc9c7 "- fixed wrong languague in notifications, because translation->userlang was changed to a static class-var
- fixed sometimes wrong prefs for to notified user were used (because more then one user got notified)"
2009-11-03 10:19:48 +00:00
Ralf Becker
0a4c2614a5 - moved user timezone list to egw_time
- added standard widget to select timezones
- modified egw_time::server2user and ::user2server to return NULL, if
  time can not be parsed, not throwing an exception (as this are legacy
  function meant to easy convert existing code, eg. replace strtotime())
2009-11-01 12:48:25 +00:00
Ralf Becker
d8ce440e33 fixed not encoded column-headers in csv export (were not useing the
export charset, as used for data)
2009-10-27 14:49:23 +00:00
Ralf Becker
a00b86c0df "making send_notification public, as it's used by infolog" 2009-10-24 09:07:33 +00:00
Ralf Becker
b1e7fddde7 "making bo_tracking::datetime public again, as it's used outside of the class" 2009-10-23 09:47:15 +00:00
Ralf Becker
b74cf30404 "using a vbox (instead just a box) widget, to separate files in individual lines for readonly display too" 2009-10-22 14:02:19 +00:00
Ralf Becker
dbcf17972e "make 1:N relations more tolerant for none existing rows, gave a fatal error" 2009-10-19 12:24:34 +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
ccdb259f5f setting readonlys to array, if its not that type 2009-10-14 19:06:54 +00:00
Ralf Becker
12c7f02be3 "fixed only first row got loged, as array_diff keys the index --> renumbering with array_values" 2009-10-14 19:01:36 +00:00
Ralf Becker
11d0e8caec "allow to specify an addtional option for each widget in a 1:N relation" 2009-10-14 19:00:16 +00:00
Ralf Becker
17bd96df7d "ability for table plugins: they allow to repeat a table-row of an 1:N relation
It can eg. be used to list infologs under a sheet with contact information"
2009-10-14 08:12:11 +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
7ad5e22305 "disabling permanent logging of get_rows calls" 2009-10-12 09:08:11 +00:00
Ralf Becker
7813b84458 "reworked nextmatch widget to be able to call it's csv-export from applications (to not implement it again):
Example: nextmatch_widget::csv_export(array('get_rows' => 'myapp.myclass.mymethod'));"
2009-10-11 12:37:48 +00:00
Ralf Becker
4e21b766b9 - reworked old browser class to use have only static methods
--> recogniced it's so old and dusty, it does not make sense any more
--> moved content_header() method to html class
- fixed calls of browser->content_header to use html::content_header
  instead
2009-10-11 11:37:46 +00:00
Ralf Becker
30a8168747 "only open office archives need to be repaired by \"zip -F\" (because a bug in php<5.3.1),
ms word files brake, when \"zip -F\" is run on them
GRRRRRRRRRRRR"
2009-10-09 14:39:55 +00:00
Ralf Becker
141519d4e6 "open office and ms office xml based formats always use utf-8 encoding (dont use export charset for them)" 2009-10-09 11:22:23 +00:00
Ralf Becker
200a6d61d5 Reworked so_sql class to:
- use new egw_time::server2user() and egw_time::user2server() to do
  timezone conversation of registered timestamps
- added $timestamp_type parameter to constructor, to automatic convert
  all timestamps on read (or search) to given type, default NULL leaves
  them unchanged --> will allow in future to work completly with
  egw_time objects
2009-10-08 16:18:28 +00:00
Ralf Becker
fe3ec75610 zip'ed xml document (eg. OO) --> need to encode &,<,> to not mess up xml 2009-10-07 17:46:09 +00:00
Ralf Becker
adf5ca040e "dump4setup: searching by app.% instead of app% now" 2009-10-03 06:17:05 +00:00
Stefan Becker
e1c1f54cd6 added new tags for emty lines also for open office 2009-10-01 19:37:16 +00:00
Ralf Becker
a81fb02efe "\"needed\" attribute got lost for \"select-account\" widget" 2009-10-01 14:08:15 +00:00
Nathan Gray
978a1d9642 Make sure if options-selectcols is set by caller, we don't clear it 2009-09-30 15:04:49 +00:00
Ralf Becker
db8599726e "fixed partial content lost on validation errors" 2009-09-30 07:29:14 +00:00
Nathan Gray
9b29f45a0f Remove return true; it was from the previous way I tried. 2009-09-29 14:22:10 +00:00
Ralf Becker
22083c7780 "only export highest version (we sort by version DESC!)" 2009-09-29 12:35:58 +00:00
Ralf Becker
ba213a6946 "export now correctly included multiple levels of included templates using relative names" 2009-09-29 12:19:54 +00:00
Klaus Leithoff
638ec3fcd0 return false for _post_process_cf_header as the return of always true in rows context, breaks functionality with infolog close, closeall and delete called from listview 2009-09-29 12:04:27 +00:00
Stefan Becker
0c7521cecf added a 7th paramter to use in sitemgr modules 2009-09-28 19:14:45 +00:00
Ralf Becker
d6aaaf1f73 some widgets have label as second option (column name with _ as first),
not a perfect detection ...
2009-09-28 12:52:50 +00:00
Ralf Becker
90cba9cb0e added select-bool widget with options 0 => 'no',1 => 'yes'
--> can be used with nextmatch custom filter to filter by a boolean
column
2009-09-28 12:51:18 +00:00
Ralf Becker
a47dab03a4 "added $extra_cols parameter of so_sql (parent class)" 2009-09-28 12:44:44 +00:00
Ralf Becker
a4d167ef8c "fix to allow array with id's for autoinc_id" 2009-09-26 11:00:11 +00:00
Nathan Gray
c619a5d1ec Clear filter button no longer needed, link-entry handles it 2009-09-25 14:17:41 +00:00
Ralf Becker
a11a04b78d Enhanced nextmatch and link-widget to be able to use a link-entry
widget as a custom nextmatch header
Allows eg. in InfoLog to search and then filter by any linked entry of an other application:
- Infologs linked to a project or
- Infologs linked to a contact
2009-09-25 07:59:34 +00:00
Nathan Gray
780bfee1ec Add ability for nextmatch-customfields header to filter custom fields that are links to another application 2009-09-23 15:27:33 +00:00
Stefan Becker
08d4daad55 added new Tags for merge 2009-09-23 13:00:59 +00:00
Nathan Gray
84e61f3d92 Changes from John Trudel to allow the ajax select widget to return additional information about a selected item. Additional fields are semicolon separated and added after the primary key in the ID Field 2009-09-21 18:34:14 +00:00
Ralf Becker
8db94f2471 "fix csv export to correctly export multiple categories (semicolon separated)" 2009-09-18 14:09:11 +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
Ralf Becker
ad5d2c3941 docu update and fixed so_sql_cf::delete($keys,true) to always return array 2009-09-16 10:20:34 +00:00
Stefan Becker
e88e7fab4b added serial letters for docx files 2009-09-13 12:06:40 +00:00
Christian Binder
9259494a02 just a small fix for the debug output 2009-09-12 09:09:28 +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
Ralf Becker
4e2f35d4dc added support for ms excel 2007 2009-09-01 14:41:48 +00:00
Ralf Becker
4a2d859391 implemented OO spreadsheet support 2009-09-01 10:25:36 +00:00
Klaus Leithoff
d7c2041872 making do_notification public again, as it is used for addressbook_contactform 2009-08-28 11:16:57 +00:00
Ralf Becker
a8fa4383e5 "fixed typo" 2009-08-28 07:14:39 +00:00
Christian Binder
ce3ee8e556 contact_replacements() is called from outside the class and extended class (felamimail) and therefore it should be public 2009-08-26 20:50:14 +00:00
Ralf Becker
d990609083 refractored addressbook merge class in an abstract class and an implementation for addressbook 2009-08-26 17:12:43 +00:00
Ralf Becker
eea731e906 allow to add further options behind type, separated with a colon 2009-08-26 17:09:07 +00:00
Ralf Becker
c9882fe76e "fix for bug #2222: Since a one of the last SVN update... Unable to print a ticket... Blank page...
bo_tracking::get_body() was protected, now public again"
2009-08-26 06:27:43 +00:00
Ralf Becker
8e55998ce2 "fix for some columns, which could not be switched off (eg. InfoLog category col), after the last fix" 2009-08-25 14:40:28 +00:00
Ralf Becker
beee590fc2 "fix nm widget to deal with same header in multiple columns (eg. InfoLog's 2 time columns)" 2009-08-25 13:14:00 +00:00
Ralf Becker
3a3a0e1613 "fix to allow to specify multiple autoinc_id's (as eg. done in timesheet_bo::sum())" 2009-08-25 12:48:04 +00:00
Ralf Becker
8b4ff9f6fd "do NOT translate file permissions" 2009-08-25 07:35:53 +00:00
Ralf Becker
fdbf3b207b - added support for 1:N relations to history logging
--> added documentation for 1:N relations and general usage
- created a public method to determine if a record is changed,
  which can be called before an application to determine if
  saving is necessary (it's result can then be passed on to
  bo_tracking::track() to not compute the changed fields again)
2009-08-21 12:57:12 +00:00
Klaus Leithoff
796dba966d if app changes while displaying content, be aware of that (as of addressbook infolog view) 2009-08-20 14:11:10 +00:00
Ralf Becker
4f910c4a5e "automatic convert db timestamps to unix timestamps, our db class does the reverse on writing them" 2009-08-20 11:41:13 +00:00
Ralf Becker
19086bb7b0 Some fixes and enhancments to simplify search with so_sql
- search($criteria,...) if $criteria is a string, search in all data
  columns or - if set - $this->columns_to_search
  --> that's NOT backward compatible - though a quick scan through the
      EGroupware code showed no use of $criteria as string!
- this automatic search, appends and prepends '%' only, if search
  pattern does NOT already contain wildcards (* or ?)
  --> allows to search "test*" for values starting with test
- improved handling of db timestamps (Y-m-d H:i:s), to allow to search
  for them too (eg. "2009-08-*")
- so_sql_cf::get_rows() now calls parent
- so_sql_cf::search() adds DISTINCT if query contains a join
--> ToDo: remove custom search code from apps, to give consitent search
behavior in all apps and simplify the code there
2009-08-19 12:08:52 +00:00
Ralf Becker
c324275b1d docu update and remove decriated assignment of objects by reference 2009-08-19 11:58:43 +00:00
Ralf Becker
35626a6593 "docu update to avoid a common pitfall" 2009-08-17 12:28:30 +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
281502f36f allow to use an etag in so_sql_cf::save(), eg array("etag=etag+1") 2009-08-10 16:32:45 +00:00
Ralf Becker
b400e8d880 "allow a negative filter (eg. '!xyz'), NULL or array with possible values as custom field filter" 2009-08-10 15:31:49 +00:00
Ralf Becker
2a4e1a95cb "- method to automatic convert all timestamp fileds to and from usertime
- enable this->timestamps to deal with timestamp type columns (as well as integers as before)"
2009-08-10 13:48:11 +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
ae855c4979 "we explicitly need to delete custom fields, if value is empty or field allows multiple values or we have no unique index" 2009-08-10 09:12:35 +00:00
Ralf Becker
821f0daf42 "rewriting onchange for checkboxes for IE to an onclick" 2009-07-30 07:10:31 +00:00
Ralf Becker
6fe6365c78 "fixed sometimes not working [Values] button" 2009-07-23 11:27:46 +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
e9a7336a35 "removed onclick alert" 2009-07-18 15:35:42 +00:00
Ralf Becker
2cfa5530c3 "if path ends in a slash, multiple files can be uploaded, their original filename is kept then" 2009-07-16 12:57:00 +00:00
Ralf Becker
332901742b "- document and clearify option: required mimetype or regular expression for mimetype to match, eg. '/^text\//i' for all text files
- unset onchange, if $id is empty"
2009-07-16 08:02:37 +00:00
Ralf Becker
7c3f249f71 "added static function to check if file exists, which does NOT take the extension into account (can be used in the application code too)" 2009-07-15 11:31:02 +00:00
Ralf Becker
1dc2c88059 fixed not working precistion display 2009-07-15 10:47:36 +00:00
Nathan Gray
2bb5884ad9 Captcha widget based on secureimage, contributed by Randy Houlahan 2009-07-14 16:29:47 +00:00
Ralf Becker
ee2b5cf164 new param to delete method only return ids: can be used in extended class for deletes in other tables 2009-07-13 08:17:41 +00:00
Ralf Becker
919aea627e "use form_name (with replaced substitutes) instead of $cell[name], allows to put into the name something like \"app:$cont[id]:files/blah\" or \"app:$row_cont[id]:files/blub\"" 2009-07-13 08:14:59 +00:00
Ralf Becker
49c5b2933c New vfs-upload widget to upload files into vfs:
- if file already exists, show download and delete link
- if file does NOT exist, show upload box
Name or value of widget is either:
- vfs path or
- $app:$id:$relative_name (if empty($id) a temporary directory in users
  home directory is created and application is responsible to move
  content of that directory to the entry directory (/apps/$app/$id)
2009-07-11 09:07:59 +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
15f7e3a1db "fixed not deletetable links: to delete one, you have to select 'New search ..." 2009-06-30 18:37:30 +00:00
Ralf Becker
c4e24a1e58 if we have more then 5 cf's to display --> limit header height to 5 lines plus vertical scrollbar 2009-06-30 18:21:15 +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
Nathan Gray
f124b889d8 Need to define a __isset() method so empty() works with __get(). Fixes missing body javascript when looping. 2009-05-27 14:57:29 +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
53a8d50bb0 "fixed date-time widget to correctly write seconds, eg. if output format is \"Y-m-d H:i:s\"" 2009-05-22 07:04:55 +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