Commit Graph

981 Commits

Author SHA1 Message Date
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
Ralf Becker
082f21d3e6 "fixed search for new phrases, to also work with newer method hooks and not only with file-hooks (preferences, admin, settings, ...)" 2009-05-19 13:34:27 +00:00
Ralf Becker
a5f7d8d4a3 "fix for bug #2085 - Rev. 27023 PM does no longer save custom fields" 2009-05-19 07:31:13 +00:00
Ralf Becker
d56e962ca3 "allow to store custom fields with 1:N relations (eg. multi-select-box) as real 1:N relation in the DB
(default is the old behavior!)"
2009-05-17 22:03:31 +00:00
Ralf Becker
654d91cc7c "allow extension preProcess method to modify / fix $form_name of a widget:
- usefull if complete name is determined by eg. options
- extension has also to fetch the content from etemplate::$request->content!"
2009-05-17 13:56:32 +00:00
Ralf Becker
220492880d allow to load widget specific edit-template from the app the widget belongs too, eg. infolog-value --> infolog.widget.infolog-value 2009-05-17 11:41:58 +00:00
Ralf Becker
f4b09d620f "allow one-letter name/mailbox part in an email address" 2009-05-15 07:35:58 +00:00
Ralf Becker
2a03d32d81 Automatic import labels into the content of an edited template via a
callback: ${app}_bo::labels(). They are set as $content['labels']
2009-05-14 17:45:00 +00:00
Ralf Becker
a94586bad4 New syntax (@@name) to access values absolute to the content array ofs
the request. Here's an example:
$content['my-label'] = $id ? 'Edit' : 'Add';
You can use it now in the template of an nextmatch row for the label:
@@my-label 
Saved the need to import these kind of data in the get_rows function
into the rows.
2009-05-14 17:42:48 +00:00
Ralf Becker
5d7b9133f1 using is_readable 2009-05-14 17:38:09 +00:00
Ralf Becker
31cb95989e "allow static get_rows callbacks, eg. 'app_ui::get_rows':
- on php5.3+ they get directly called via a variable: $callback($query,$rows,$readonlys)
- on php < 5.3 we instancate the class, an call the method non-static: $obj->$method($query,$rows,$readonlys)
--> allows application code to be prepared for static callbacks
Note:
- we can not use call_user_func, as it does NOT support passing by reverence, which is required for $rows and $readonlys parameter
- static callbacks allow to NOT instanciate the class again for the callback (without current dirty methods like placing the object in $GLOBALS[$class])"
2009-05-14 10:22:13 +00:00
Ralf Becker
fe03b91b54 "- 5th option for select-cat: parent category
- adding category desciption (if available) as option title"
2009-05-14 08:02:56 +00:00
Ralf Becker
95168d28bb "method to access comments in schema definition" 2009-05-13 09:58:21 +00:00
Ralf Becker
51284255c1 Edit and set comment field for colums in eGW's schema files 2009-05-13 07:39:58 +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
5a22640c82 - changed return value of search() to NULL instead false, if nothing
found, as this can be simply casted with (array) to work in foreach
- documentation update
2009-05-03 18:36:38 +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
Klaus Leithoff
0439b8de35 handling checkbox values in listview, handling radio values display in listview 2009-04-29 14:29:57 +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
ee45dc8567 "fixed one byte to long key-size" 2009-04-28 15:36:51 +00:00