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
253f98d315
Restore all eTemplates from distirbution file via eTemplate editor (no need to touch distribution file or fiddle with the database)
2012-02-15 14:51:58 +00:00
Nathan Gray
1624c37dc7
Fix typo in Excel date processing
2012-02-13 19:23:17 +00:00
Nathan Gray
4f669300a4
When merging into a spreadsheet document, convert dates into SS dates
2012-02-13 18:59:00 +00:00
Ralf Becker
1f76e0c191
fixed several small issues around CardDAV and history logging in addressbook (dont log not set custom fields as there are not stored and therefore not changed)
2012-02-10 21:29:50 +00:00
Nathan Gray
73c1ae8617
Use double quotes for onchange to match everything else
2012-02-02 20:22:09 +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
Nathan Gray
b8d9b748ac
- Re-arrange HTML tag order to account for simplistic newline handling (broke nested tags)
...
- If unable to load/parse content after trying to convert HTML styles into target document styles, fall back and try again, but strip all tags this time.
2012-02-01 00:03:31 +00:00
Ralf Becker
c3cadea4f4
storing unsupported (valarm-)components like unsupported (X-)properties
2012-01-31 01:02:21 +00:00
Ralf Becker
d7a953a60c
fixed fatal error calling widgetExists on a non-object
2012-01-30 22:53:48 +00:00
Ralf Becker
fb16ff842d
InfoLog/CalDAV: store unsupported iCal properties like custom fields incl. history logging, thought they are not displayed unless you explicitly add a custom field from them (prefixed with one #)
2012-01-29 22:34:43 +00:00
Ralf Becker
d972804aff
* Addressbook: preference to open EMail addresses in external mail program, even if user has access to EMail app
2012-01-13 05:22:18 +00:00
Ralf Becker
b34d6f9d35
automatic conversation of not set DB timestamps returned by MySQL as "0000-00-00 00:00:00" to null
2012-01-11 01:03:45 +00:00
Nathan Gray
f76b1ad858
Use opener.egw_appWindowOpen() if in a popup to open links in main window, if the app doesn't want a popup
2012-01-09 20:28:44 +00:00
Ralf Becker
043b895a04
ability to open nm_action=location in a given targetapp tab, plus documentation
2012-01-07 23:02:29 +00:00
Nathan Gray
af2e743a83
Add parameter to exclude certain entries
2012-01-06 17:28:40 +00:00
Klaus Leithoff
b79af79410
remove felamimail from static app_list in egw_link, as felamimail is implementing search_link; gather only apps for link that implement query and title
2012-01-06 10:11:16 +00:00
Nathan Gray
2e9866bab9
Add mergeprint tag for links to a specified application: links/appname
2012-01-05 17:43:44 +00:00
Nathan Gray
32b1cc2a29
Limit custom field app entry possibilities to apps that support query and title, which are required for custom field to work properly
2012-01-05 17:04:54 +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
194edcd349
Another attempt to fix lost infolog custom fields in addressbook view when changing nm filters
2012-01-04 22:01:15 +00:00
Klaus Leithoff
2e8ec69619
API/customfields: fix for link-entry validation problems caused by unmotivated/empty default data. This may require a review.
2012-01-03 16:34:02 +00:00
Klaus Leithoff
ed9f079fda
* API/customfields: fix for Stylite Ticket#2629 ->Mandatory custom field not saved<- fix for customfields (if mandatory) where not saved on first attempt, after failed formvalidation.
2012-01-03 14:46:06 +00:00
Nathan Gray
7d5500d1dd
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 r36956.
2011-12-23 16:32:15 +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
Klaus Leithoff
d37ee80161
mending Warnings: Cannot use a scalar value as an array
2011-12-20 15:57:03 +00:00
Nathan Gray
f8ec5c9f40
Revert 37361, didn't solve the issue
2011-12-19 16:13:51 +00:00
Nathan Gray
2eee7a5119
Fix missing >< when merging to XML, caused by double escaping
2011-12-09 21:00:57 +00:00
Nathan Gray
22668f078d
Use js link registry to open links, allows more accurate target (popup, tab, _blank)
2011-11-24 19:07:32 +00:00
Ralf Becker
c76f663b61
dont use html5 input type="url", as it requires a scheme (eg. http)
2011-11-24 07:12:36 +00:00
Nathan Gray
1afba81ce8
Add 'No definition' option for default export definition preference. Allows use of legacy nextmatch CSV export with Import/Export app still available
2011-11-18 16:01:57 +00:00
Ralf Becker
38f282bccf
fixed warning if no name part exists
2011-11-18 13:03:12 +00:00
Ralf Becker
978b014ffc
* 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-16 09:26:23 +00:00
Nathan Gray
26c888ccd4
Encode square brackets and split names at ][, not just [
2011-11-14 22:57:06 +00:00
Nathan Gray
471f471ee9
Get simple submit buttons (legacy actions) working in datagrid
2011-11-09 21:34:52 +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
Nathan Gray
4449f65797
Call entry2name() for titles, don't just use cache
2011-10-31 15:47:24 +00:00
Klaus Leithoff
0141321c76
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:23:04 +00:00
Hans-Jürgen Tappe
abdcd1ca29
Fix a compilation error which currently prevents from using etemplates
2011-10-30 20:43:06 +00:00
Nathan Gray
40fbf0a450
List each link on own line, add ID shortcut like filemanager, if available
2011-10-27 16:08:59 +00:00
Nathan Gray
18e38b1dfc
- Add app filter
...
- List should be comma separated
- Add attachments translation
2011-10-25 22:50:05 +00:00
Nathan Gray
c972484133
Add common function to get titles of linked entries
2011-10-25 22:30:51 +00:00
Nathan Gray
3b73d9bb3d
Fix column sorting
2011-10-18 22:20:27 +00:00
Nathan Gray
452b7c98e1
Fix typo, accept null values
2011-10-18 16:33:41 +00:00
Ralf Becker
ebb3a2595f
reverting r36788 as it breaks editing of custom fields, type is not returned because of added post_process method is also called for customfields-type widget
2011-10-14 18:20:09 +00:00
Nathan Gray
3260c1cc81
Store common custom field settings globally, at top level.
2011-10-14 17:56:29 +00:00
Nathan Gray
aba7a6eca3
Add namespace, get row template parsed too
2011-10-14 17:55:24 +00:00
Klaus Leithoff
1621485da9
* 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:37:35 +00:00
Nathan Gray
06e03d2137
Make sure customfields widget has an ID, or it can't access settings client-side
2011-10-11 18:15:51 +00:00
Nathan Gray
575d21b962
Progress on custom fields widgets
2011-10-06 23:44:55 +00:00
Nathan Gray
66ea661e08
Try to handle partial template names - row as well as app.function.row
2011-10-06 15:23:24 +00:00
Nathan Gray
f67bfba58d
Let transformer handle trying to change sel_options
2011-10-05 22:27:35 +00:00
Nathan Gray
dfe5d21ea4
Save as default checkbox - still a problem getting value on server
2011-10-05 16:12:40 +00:00
Nathan Gray
a9b4bfdaba
Move column selection popup to nextmatch
2011-10-04 21:45:54 +00:00
Nathan Gray
3c1bebf3f1
Fix missing current app...
2011-10-03 16:02:41 +00:00
Nathan Gray
155e3ab3b5
Fix error when sorting/filtering (showed up in timesheet)
2011-10-03 15:34:10 +00:00
Nathan Gray
c230e5f99a
Send category options - header doesn't use a template, so they have to be passed
2011-10-03 14:56:20 +00:00
Nathan Gray
16d010becf
If hooked, keep app in extension_data to persist across etemplate loops. Fixes lost infolog custom fields in addressbook view when changing nm filters
2011-09-30 14:59:41 +00:00
Nathan Gray
36c39cf4b8
Get filterheaders working
2011-09-27 17:58:10 +00:00
Nathan Gray
0ace096701
Start nextmatch header
2011-09-23 19:09:52 +00:00
Klaus Leithoff
2d494997ab
rework of bo_merge::getExportLimit, apply to etemplate, importexport, addressbook, calendar
2011-09-16 13:03:46 +00:00
Nathan Gray
0d47709ed1
Implement transformer changing type on client side by changing type while loading
2011-09-15 18:00:17 +00:00
Nathan Gray
965fb54ffa
Fix handling of first example - simple assignment
2011-09-15 17:57:48 +00:00
Klaus Leithoff
d216a37bba
check if app is set before calling the hook on export_limit; TODO: move the call to bo_merge::getExportLimit and cache the appspecific returnvalue there, to improve speed
2011-09-15 17:40:37 +00:00
Klaus Leithoff
d9905d3fb4
calendar/addressbook/API: introduce hook to fetch the export_limit to be applied for an app; introduce method to test if a specific hook exists for an application; fetch the export_limit via hook where appropriate
2011-09-15 14:46:56 +00:00
Klaus Leithoff
70a7026915
* merge_print/calendar: control the availability of mergeprint and csv export, if the export_limit is set to ->no<- and the user in question is not exempted from export_limit restrictions
2011-09-14 13:09:13 +00:00
Klaus Leithoff
36e3a1b8ce
add missing translations for export_limit feature of calendar, correcting translation strings for export_limit warnings
2011-09-14 10:27:53 +00:00
Ralf Becker
2bd343ee05
- processsing actions now on serverside, also creating action_links array
...
- call_get_rows return now directly rows indexed by row-number: start, ..., start+num_rows-1
- non-numerical indexed rows are returned as is
--> widget still calls ajax_get_rows, even as we supply the first N=25 rows
2011-09-14 09:41:08 +00:00
Nathan Gray
a3901bd00f
Link list
2011-09-14 00:06:04 +00:00
Ralf Becker
77f2a043fc
local caching and queueing of egw.link_title() requests
2011-09-13 19:55:06 +00:00
Ralf Becker
5cadd29d58
Basic egw.link_title(_app,_id,_callback,_context) method.
...
Plan is to run a clientside cache and own queue for link_titles, as server can query titles for N id's for a given app more effiently then N separeate queries.
2011-09-13 18:23:43 +00:00
Klaus Leithoff
74b41ec99a
fix bug regarding merge_print with export_limit set in calendar, as calendar may pass a search query instead of a list of ids (this is the reason, why the test within bo_merge on export_limit is not working as expected)
2011-09-13 15:41:31 +00:00
Klaus Leithoff
d52c72207c
* calendar/importexport/addressbook: calendar introduce new config option to set app specific export_limit; calendar csv export: use enumerate for exporting events as csv; bo_merge: introduce new helper functions to get and check export-limit; addressbook: use new helper functions
2011-09-13 09:05:33 +00:00
Klaus Leithoff
55ba753e3c
making 1st param for custumfield_widget construct (ui) optional, to avoid warning
2011-09-13 08:38:16 +00:00
Ralf Becker
132cafc8a9
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:51:21 +00:00
Ralf Becker
9066385fa5
check if we can use the XSL extension, to not give a fatal error and rendering whole merge-print non-functional
2011-09-12 10:21:18 +00:00
Ralf Becker
d2adcf972d
skip the empty (NULL) row
2011-09-09 19:55:22 +00:00
Ralf Becker
791f4ae071
remove empty rows required by old etemplate to compensate for header rows
2011-09-09 19:46:44 +00:00
Nathan Gray
c0962b1ce7
Don't give an exception on null values
2011-09-09 16:46:55 +00:00
Ralf Becker
4600445527
fixed exception with text "0"
2011-09-09 16:30:20 +00:00
Andreas Stöckel
2290b04102
Loading data from server in nextmatch widget - readonlys is not processed as it is not so easy to handle
2011-09-09 14:32:55 +00:00
Ralf Becker
e998a1fed5
- sending 25 rows with inital request to client
...
- callback for further rows from client
2011-09-09 14:00:30 +00:00
Ralf Becker
b045e1f852
stopping permanent error_log
2011-09-09 13:26:54 +00:00
Ralf Becker
64b4ac7e68
added a static method max_upload_size_message, required by some apps
2011-09-09 13:26:14 +00:00
Andreas Stöckel
58bc3367df
Implemented server-side callback function
2011-09-09 11:29:07 +00:00
Ralf Becker
476deb3605
query_list(). initialize return value to array(), to allways return an array
2011-09-09 09:41:51 +00:00
Nathan Gray
89991ffb60
Link widget with async file upload + linking
2011-09-09 00:05:46 +00:00
Ralf Becker
ea03c4032b
implemented link attributes for image-widget and added them to xulio, some docu for describtion
2011-09-08 20:44:53 +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
008f009d80
- implemented new egw.link_app_list(_must_support) and egw.link_get_registry(_app, _name) methodes
...
- using egw.link_app_list('query') in link widget (no need to transfer it additonally)
- added some more docu to egw object
2011-09-08 12:24:53 +00:00
Nathan Gray
d9f321a413
Start of a link-to widget using jQuery-UI's autocomplete
2011-09-07 23:32:24 +00:00
Nathan Gray
ae1b9c8a64
- Don't let tidy wrap lines - line breaks don't go inside tags
...
- If tidy reports errors, strip all tags so we should get some sort of openable file
2011-09-07 15:15:08 +00:00
Ralf Becker
b633044a46
* API/Calendar: allow to link to accounts and allow to select accounts as participants by searching them like contacts
2011-09-07 14:47:51 +00:00
Nathan Gray
b2e032245a
- Nicer UI for status
...
- Implement server side callback function when file is uploaded
- Send needed file info back to client instead of storing in session
2011-09-06 19:55:52 +00:00
Nathan Gray
d71b807b8f
Use 'utf-8' (instead of utf8) as the encoding, it seems to solve any encoding issues
2011-09-06 18:21:39 +00:00
Nathan Gray
67d7615ecc
Fix config for HTML Tidy, fix stripped text in lists
2011-09-06 17:22:48 +00:00
Ralf Becker
f8ad548a9a
added missing semicolon to entity ​ and do an urldecode to get a nicer looking link
2011-09-06 07:41:14 +00:00
Ralf Becker
7984af4c0e
specify encoding, as it defaults to latin1 (iso-8859-1) which is not longer used by EGroupware and writes non-ascii as entities
2011-09-06 06:25:17 +00:00
Nathan Gray
9e17bd1faa
If HTML Tidy is available, use it to clean HTML content
2011-09-05 20:24:10 +00:00
Nathan Gray
cb5ee32664
Remove spans with no attributes, they're invisible and can cause invalid XML with linebreaks
2011-09-05 16:10:04 +00:00
Ralf Becker
504db7e3ae
validation for date-widgets, needs more testing
2011-09-04 08:37:39 +00:00
Nathan Gray
8875c94c24
Async file uploads
2011-09-01 22:07:30 +00:00
Nathan Gray
8a632c723a
- Add image widget
...
- Add missing dependency on et2_core_common
2011-08-30 20:56:01 +00:00
Nathan Gray
c84a471538
Implement last of the date widgets
2011-08-30 20:50:55 +00:00
Ralf Becker
bc739d8309
adding an empty hidden field, to force some return value, if no account was selected for export_limit_excepted, without any return value nothing gets returned and therefore stored
2011-08-30 08:16:51 +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
8b49d88788
ignore et2 base-class when scanning for widgets to display in (old) editor
2011-08-27 09:08:07 +00:00
Ralf Becker
07f7e61e91
do not call parent constructor for old etemplate
2011-08-27 09:03:32 +00:00
Ralf Becker
389486793d
- config is now cached on instance level
...
- arrays in $GLOBALS[egw_info][server] are now automatically serialized and unserialized
- new static method to check if user is export-limit excepted
--> saves to query it on each request (for non-phpgwapi, which was already cached in the session)
2011-08-26 13:50:20 +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
Nathan Gray
0571ac47e2
Get basic HTML formattings working in word 2003, formattings inside table working in word documents
2011-08-25 20:28:24 +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
Nathan Gray
005b483487
Replace extra XML declaration
2011-08-25 15:46:54 +00:00
Nathan Gray
bb00c4217d
Don't fail if table has properties, support table borders in docx files
2011-08-24 17:29:03 +00:00
Ralf Becker
04aa3d35b9
- no longer translating options on server-side
...
- sending evtl. necessary no_lang attribute via modifications to client
- deprecated template->(get|set|disable)_cell(_attribute) in favor of new etemplate_widget::(get|set|disable)Element(Attribute)
--> options via sel_options are currenlty not working on clientside
2011-08-24 09:24:55 +00:00
Ralf Becker
33c6766c88
- fixed xul_io class not exporting id of tab
...
- fixed tab widget to use id instead of label
- added attribute names for describtion (label) in xul_io, to export them as single attributes not comma-sep. as options
- added translate: true to description/label title
--> xet-files need to be dumped new, to get the tab-ids
--> seems like describtion value is translated unconditional, it should only be translated if no_lang attribute is not set or false, while label attribute is always translated (Andreas?)
2011-08-24 07:18:59 +00:00
Nathan Gray
42af1f2db6
Fix line breaks in xmlWord.Documents
2011-08-23 19:56:46 +00:00
Andreas Stöckel
b0a21acb12
Changed name of 'label_for' attribute to 'for', implemented attribute translation
2011-08-23 17:05:05 +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
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
d6509ad506
fixed grid in cf widget displays border, if options are set
2011-08-18 09:22:59 +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