Commit Graph

6674 Commits

Author SHA1 Message Date
Ralf Becker
c70a93e7c1 * CalDAV/CardDAV/GroupDAV: as all clients dislike not getting an ETag for a PUT, we sending it again even not storing byte-by-byte 2012-02-20 11:33:43 +00:00
Ralf Becker
9635091c75 log request in case of exceptions too by installing a custom exeception handler 2012-02-20 09:07:02 +00:00
Ralf Becker
baf8999392 log request in case of exceptions too by installing a custom exeception handler 2012-02-20 09:06:24 +00:00
Ralf Becker
20fe3e458d improved working in CalDAV/CardDAV prefs 2012-02-19 12:42:09 +00:00
Ralf Becker
e97b390573 improved working in CalDAV/CardDAV prefs 2012-02-19 12:39:04 +00:00
Ralf Becker
fa2c15e8c4 add empty line in log between request body and response 2012-02-18 10:50:20 +00:00
Ralf Becker
dea5bfef24 add empty line in log between request body and response 2012-02-18 10:49:24 +00:00
Ralf Becker
d56ee2a0c7 refining translations for CalDAV/CardDAV logging 2012-02-17 14:01:46 +00:00
Ralf Becker
51982be2de refining translations for CalDAV/CardDAV logging 2012-02-17 14:01:21 +00:00
Ralf Becker
164b0c73b7 logging whole requests, to be able to lock the log-file, as some clients (eg. SOGO) use multiple threads to request resources, which messes up the log otherwise 2012-02-17 09:14:33 +00:00
Ralf Becker
27cd6350bb logging whole requests, to be able to lock the log-file, as some clients (eg. SOGO) use multiple threads to request resources, which messes up the log otherwise 2012-02-17 09:12:23 +00:00
Ralf Becker
effb755417 fixed PHP Warning, if log-dir is not yet created 2012-02-17 08:14:29 +00:00
Ralf Becker
f0fef47688 fixed PHP Warning, if log-dir is not yet created 2012-02-17 08:13:50 +00:00
Ralf Becker
8dcd373813 * CalDAV/CardDAV: continous display (like tail -f) of logs inside EGroupware 2012-02-16 16:41:27 +00:00
Ralf Becker
9a3ef9f726 * CalDAV/CardDAV: continous display (like tail -f) of logs inside EGroupware 2012-02-16 16:37:10 +00:00
Ralf Becker
9dd3b99353 * CalDAV/CardDAV: continous display (like tail -f) of logs inside EGroupware 2012-02-16 16:35:58 +00:00
Ralf Becker
3ac708068c ignore exception while sending notification to admin (eg. SMTP error), to block the account and give a correct error-message to user 2012-02-16 14:36:12 +00:00
Ralf Becker
9d704a7c0d ignore exception while sending notification to admin (eg. SMTP error), to block the account and give a correct error-message to user 2012-02-16 14:35:42 +00:00
Ralf Becker
82f2c91005 Ajax log file viewer (tail -f) 2012-02-15 21:32:45 +00:00
Ralf Becker
34393ca041 propagate data from settings hook to handlers, to fix failed installs because setup was not detected 2012-02-14 17:39:40 +00:00
Ralf Becker
2939d7bbf3 propagate data from settings hook to handlers, to fix failed installs because setup was not detected 2012-02-14 17:38:45 +00:00
Ralf Becker
ec5f38ca05 added basic update of own cache, to work around failed sitemgr install via setup (cant read just added categories) 2012-02-14 17:37:20 +00:00
Ralf Becker
2ba0b31c43 added basic update of own cache, to work around failed sitemgr install via setup (cant read just added categories) 2012-02-14 17:36:35 +00:00
Ralf Becker
01ee489460 using instance-wide cache for categories, so updates from other sessions are immediatly available and sessions get smaller 2012-02-10 20:17:28 +00:00
Ralf Becker
56f286e877 using instance-wide cache for categories, so updates from other sessions are immediatly available and sessions get smaller 2012-02-10 20:14:44 +00:00
Ralf Becker
8a5200db66 * CalDAV: allow to create private events on OS X iCal, fixing DAV header for new shared folders 2012-02-10 12:24:43 +00:00
Ralf Becker
ceef3a3866 as SOGO Connector requires ETag header to recognice as successful PUT, we are sending them again for it 2012-02-10 11:46:57 +00:00
Ralf Becker
e789762727 resurrect preference to sync all ABs into one (allways implied for OS X) and new pref to "Distributionlists as groups", plus explenation of the prefs
r37966: many bugfixes around distribution-lists/groups and some code restructuring
2012-02-10 11:44:52 +00:00
Ralf Becker
4bae2b7fcd Hide Size in autoindex and move Displayname to first column after name 2012-02-10 11:29:55 +00:00
Ralf Becker
21dfe8ac02 implement RFC 5995 add member to collection via POST, but not yet set DAV:add-member due to problems with OS X clients 2012-02-10 11:28:56 +00:00
Ralf Becker
9d85196706 move logic of which addressbook/calendars are shared into app-handler
move app-specific settings to app-handler
2012-02-10 11:27:26 +00:00
Ralf Becker
97816b6e20 add http://calendarserver.org/ns/:shared to shared addressbooks/calendars for Apple clients to mark collections to user as shared 2012-02-10 11:18:12 +00:00
Ralf Becker
4a9d085719 allow PROPPATCH on *-home-set, to allow eg. jqcalendar to store its prefs there 2012-02-10 11:17:12 +00:00
Ralf Becker
6c313d4513 fixed wrong self-url in PROPFIND of shared addressbooks/calendars 2012-02-10 11:13:38 +00:00
Ralf Becker
43f4aa81c4 fixed iCal did not allow user to update calendar color or name --> needs "write-properties" priviledge, which we now return for all calendar/addressbook collections 2012-02-10 11:01:24 +00:00
Ralf Becker
a6577f2b9f outbox supports VFREEBUSY too, it is required from OS X iCal to autocomplete locations 2012-02-10 10:45:45 +00:00
Ralf Becker
eef250747f necessary update for distributions lists as groups in CardDAV, fixes SQL errors "unknows column list_...." 2012-02-10 10:09:18 +00:00
Ralf Becker
ed96f75391 /addressbook/ was not anounced as directory gateway 2012-02-10 08:59:10 +00:00
Ralf Becker
83653c362f * CalDAV/CardDAV: /addressbook-accounts/ and PROPPATCH for addressbooks/calendars for every namespace but CalDAV, CardDAV or Calendarserver (displayname or *-describtion are ok) 2012-02-10 08:58:08 +00:00
Ralf Becker
a9ab47c674 * CalDAV/CardDAV: show addressbooks/calendars selected to sync in prefs under users addressbook-/calendar-home-set (incl. account addressbook, if enabled) 2012-02-10 08:53:50 +00:00
Ralf Becker
02c5181735 implement CalDAV <calendar-data><expand start="..." end="..."/></calendar-data> to return already expanded recurrences in a given time-range, instead of just a recurring event with a recurrence rule 2012-02-10 08:50:19 +00:00
Ralf Becker
7a6959ca3f many bugfixes around distribution-lists/groups and some code restructuring 2012-02-09 20:09:49 +00:00
Ralf Becker
aef04880e9 * CalDAV: allow to create private events on OS X iCal, fixing DAV header for new shared folders 2012-02-07 20:19:16 +00:00
Ralf Becker
fe0b914acc as SOGO Connector requires ETag header to recognice as successful PUT, we are sending them again for it 2012-02-07 17:10:52 +00:00
Ralf Becker
5b81fca2f1 Hide Size in autoindex and move Displayname to first column after name 2012-02-07 12:47:49 +00:00
Ralf Becker
d7fca17d6e resurrect preference to sync all ABs into one (allways implied for OS X) and new pref to "Distributionlists as groups", plus explenation of the prefs 2012-02-04 21:47:28 +00:00
Ralf Becker
d89f48d9c1 implement RFC 5995 add member to collection via POST, but not yet set DAV:add-member due to problems with OS X clients 2012-02-04 20:24:01 +00:00
Ralf Becker
c5ca42a4b1 move app-specific settings to app-handler 2012-02-04 01:24:34 +00:00
Ralf Becker
d21be8d871 move logic of which addressbook/calendars are shared into app-handler 2012-02-04 01:03:56 +00:00
Ralf Becker
6161826de1 add http://calendarserver.org/ns/:shared to shared addressbooks/calendars for Apple clients to mark collections to user as shared 2012-02-03 18:21:20 +00:00
Ralf Becker
fb6f5cf4be allow PROPPATCH on *-home-set, to allow eg. jqcalendar to store its prefs there 2012-02-01 23:26:16 +00:00
Klaus Leithoff
69f65e4917 upgrade HTML Purifier to Version 4.4.0 (add missing files) 2012-02-01 16:01:01 +00:00
Klaus Leithoff
5511abc5bf upgrade HTML Purifier to Version 4.4.0 (with merged trunk patches -c37721 -c34417 -c35216 -c35219) 2012-02-01 15:58:31 +00:00
Ralf Becker
3ae6e76ff9 fixed wrong self-url in PROPFIND of shared addressbooks/calendars 2012-01-31 22:27:31 +00:00
Klaus Leithoff
993f07a69f change Stylite GmbH to Stylite AG in about.# 2012-01-31 13:43:06 +00:00
Klaus Leithoff
1d1447d2a7 change Stylite GmbH to Stylite AG in about. 2012-01-31 13:41:59 +00:00
Ralf Becker
1dd3a9e083 fixed iCal did not allow user to update calendar color or name --> needs "write-properties" priviledge, which we now return for all calendar/addressbook collections 2012-01-31 00:20:58 +00:00
Ralf Becker
f2acf7707f outbox supports VFREEBUSY too, it is required from OS X iCal to autocomplete locations 2012-01-30 23:53:06 +00:00
Ralf Becker
a5673d388e /addressbook/ was not anounced as directory gateway 2012-01-30 18:53:47 +00:00
Ralf Becker
01ce3bd88d * CalDAV/CardDAV: /addressbook-accounts/ and PROPPATCH for addressbooks/calendars for every namespace but CalDAV, CardDAV or Calendarserver (displayname or *-describtion are ok) 2012-01-30 05:11:05 +00:00
Klaus Leithoff
02eb8e410b * API/Login: using tabindex to control tab succession on/in loginscreen. 2012-01-26 11:59:19 +00:00
Klaus Leithoff
a701566eda * API/Login: using tabindex to control tab succession on/in loginscreen. 2012-01-26 11:57:17 +00:00
Ralf Becker
a679a49196 * CalDAV/CardDAV: show addressbooks/calendars selected to sync in prefs under users addressbook-/calendar-home-set (incl. account addressbook, if enabled) 2012-01-25 03:25:42 +00:00
Ralf Becker
ace8f33784 implement CalDAV <calendar-data><expand start="..." end="..."/></calendar-data> to return already expanded recurrences in a given time-range, instead of just a recurring event with a recurrence rule 2012-01-24 05:27:26 +00:00
Ralf Becker
f5a7c9cfe8 * CardDAV: Hack for iOS 5.0.1 addressbook to stop asking directory gateway permissions with depth=1, which might fail on installs with huge addressbooks 2012-01-21 01:47:49 +00:00
Ralf Becker
c79657705b * CardDAV: Hack for iOS 5.0.1 addressbook to stop asking directory gateway permissions with depth=1, which might fail on installs with huge addressbooks 2012-01-21 01:45:48 +00:00
Ralf Becker
bf19293285 log REQUEST_URI not PATH_INFO, to log the correct request 2012-01-20 07:23:12 +00:00
Ralf Becker
f7ebd11af3 log REQUEST_URI not PATH_INFO, to log the correct request 2012-01-20 07:21:28 +00:00
Klaus Leithoff
6205cfbfd2 add a function to create a HTML-Purifier config to clean up HTML 2012-01-16 08:32:27 +00:00
Klaus Leithoff
e05db77a24 add a function to create a HTML-Purifier config to clean up HTML 2012-01-16 08:31:16 +00:00
Klaus Leithoff
b849d7fc80 adapt html purifiers URIScheme cid to new purifiers class requirements; adapt URIScheme data to accept allowed types in whatever (upper/lower/mixed) case 2012-01-13 09:19:55 +00:00
Klaus Leithoff
b0f211f40b adapt html purifiers URIScheme cid to new purifiers class requirements; adapt URIScheme data to accept allowed types in whatever (upper/lower/mixed) case 2012-01-13 09:18:46 +00:00
Ralf Becker
8585a30b85 * Filemanager: allow WebDAVs (https) via PEAR HTTP_WebDAV_Client 2012-01-11 21:28:59 +00:00
Ralf Becker
7d8347cd34 * Filemanager: allow WebDAVs (https) via PEAR HTTP_WebDAV_Client 2012-01-11 21:24:54 +00:00
Ralf Becker
aab7d2be24 disabling Lightning hack for fixed version 1.1.1, where bug is fixed and added verbose error_log, if Lightning hack is enabled 2012-01-10 00:21:43 +00:00
Ralf Becker
c7dc8748b7 disabling Lightning hack for fixed version 1.1.1, where bug is fixed and added verbose error_log, if Lightning hack is enabled 2012-01-10 00:20:00 +00:00
Ralf Becker
fc96467cb3 * Calendar: showing now all open calendars in the owner-selection, not just accounts. Allows to close them from all views
r37698: for account-selection method "selectbox", make sure everything in $selected gets an option, as for the other methods
2012-01-09 22:15:28 +00:00
Ralf Becker
1c52c64ba2 for account-selection method "selectbox", make sure everything in $selected gets an option, as for the other methods 2012-01-09 21:24:44 +00:00
Klaus Leithoff
cd3c3c5000 API/tree: do not check parent treenodes if not expizitly selected 2012-01-09 14:51:22 +00:00
Klaus Leithoff
904917af86 API/tree: do not check parent treenodes if not expizitly selected 2012-01-09 14:45:24 +00:00
Ralf Becker
c1f61c914b switch off permanent error_log 2012-01-07 23:05:31 +00:00
Ralf Becker
92dc786ebc * Calendar: showing now all open calendars in the owner-selection, not just accounts. Allows to close them from all views 2012-01-07 22:21:48 +00:00
Klaus Leithoff
7d1bfd6eee fix assumed typo for returnvalue on error in function title; defined/described as boolean/string but was array for one error case 2012-01-06 12:55:41 +00:00
Klaus Leithoff
237e8ce9f9 fix assumed typo for returnvalue on error in function title; defined/described as boolean/string but was array for one error case 2012-01-06 12:54:58 +00:00
Klaus Leithoff
0b879cbfde remove felamimail from static app_list in egw_link, as felamimail is implementing search_link; 2012-01-06 10:14:33 +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
Ralf Becker
19dcc2e654 check if $name is already a country-code, before attempting to find a matching one, which can fail in certain areas of setup 2012-01-05 21:58:28 +00:00
Ralf Becker
4f6deb5b46 check if $name is already a country-code, before attempting to find a matching one, which can fail in certain areas of setup 2012-01-05 21:57:37 +00:00
Ralf Becker
62a5869b7f * Addressbook/CardDAV: Add index for contact_modified to improve performance of ctag generation on big installtions 2012-01-04 21:55:06 +00:00
Klaus Leithoff
d37ee80161 mending Warnings: Cannot use a scalar value as an array 2011-12-20 15:57:03 +00:00
Klaus Leithoff
39fc5ab48e mending Warnings: Cannot use a scalar value as an array 2011-12-20 15:52:27 +00:00
Klaus Leithoff
16d7185548 fix bug with undefined ino value for link_stream_wrapper::url_stat in case of accessing virtual VCard entry 2011-12-20 15:48:36 +00:00
Philip Herbert
d7d353f5d9 fix bug with undefined ino value for link_stream_wrapper::url_stat in case of accessing virtual VCard entry 2011-12-20 14:14:18 +00:00
Philip Herbert
657f50c5bb handling preset cache (, was/is reporting an unfound entry of the cache array as 0 in some cases) 2011-12-20 09:16:23 +00:00
Philip Herbert
004c4ec06b mending uninitialized vars, causing false info 2011-12-20 08:46:57 +00:00
Philip Herbert
7b24d2a784 initializing some vars, before appending to them 2011-12-19 13:39:01 +00:00
Philip Herbert
25ab165898 mending Warnings: Cannot use a scalar value as an array 2011-12-19 12:40:47 +00:00
Klaus Leithoff
6dbe3a722a prevent the call of SetLanguage with empty string 2011-12-15 12:45:54 +00:00
Klaus Leithoff
b44fd70d07 prevent the call of SetLanguage with empty string 2011-12-15 12:45:44 +00:00
Nathan Gray
03bae6ff27 Add CP850 to translation class list of installed charsets, don't need to add it in import/export 2011-12-14 21:34:24 +00:00
Nathan Gray
ee98b63c0b Set gantt overflow to auto to hide the scrollbars when not needed. 2011-12-14 17:12:09 +00:00
Nathan Gray
2f4d8848c5 - Remove previously added hook & base class, turns out there's an established way to do it...
- Use existing link_app type hook to create calendar from infolog
2011-12-12 21:51:12 +00:00
Nathan Gray
332427277d Add ability to create calendar entries from infolog entries, using new base so other apps can be added (hopefully) easily later 2011-12-08 23:20:49 +00:00
Ralf Becker
3ca6e6c523 remove old ISS specific redirect code and default of $_SERVER[PHP_SELF] for $url parameter of egw::redirect (not used in current EGroupware) 2011-11-30 20:33:54 +00:00
Ralf Becker
e9ba37173a remove old ISS specific redirect code and default of $_SERVER[PHP_SELF] for $url parameter of egw::redirect (not used in current EGroupware) 2011-11-30 20:32:45 +00:00
Ralf Becker
22034c81e4 quietening permanent error_log 2011-11-30 09:38:18 +00:00
Ralf Becker
075db1ac82 quietening permanent error_log 2011-11-30 09:37:47 +00:00
Ralf Becker
973d6b71a0 fixed racecondition in caching translations for installs with multiple instances:
do NOT use automatic callback to cache result, as installing languages in setup can create a racecondition, therefore only cache existing non-instance-specific translations, never cache nothing found === array(), instance-specific translations can and should always be cached!
2011-11-30 09:20:54 +00:00
Ralf Becker
7ee9d55f85 fixed racecondition in caching translations for installs with multiple instances:
do NOT use automatic callback to cache result, as installing languages in setup can create a racecondition, therefore only cache existing non-instance-specific translations, never cache nothing found === array(), instance-specific translations can and should always be cached!
2011-11-30 09:20:05 +00:00
Ralf Becker
793d14caf3 added some docu 2011-11-30 08:12:15 +00:00
Ralf Becker
64e7b3cb57 added some docu 2011-11-30 08:11:40 +00:00
Ralf Becker
f84f2c779b * Addressbook: ablity to mail (multiple) vCard via context menu 2011-11-29 12:09:29 +00:00
Ralf Becker
86577fa44e * Addressbook: ablity to mail (multiple) vCard via context menu 2011-11-29 12:07:11 +00:00
Ralf Becker
34b5845af2 changing french language from "French" to "Français" for *updating* installations 2011-11-25 06:34:56 +00:00
Ralf Becker
fdb1771010 changing french language from "French" to "Français" for *updating* installations 2011-11-25 06:33:01 +00:00
Ralf Becker
5af9d7f5e6 changing french language from "French" to "Français" for *new* installations 2011-11-25 06:31:20 +00:00
Ralf Becker
217eaad2d8 changing french language from "French" to "Français" for *new* installations 2011-11-25 06:30:49 +00:00
Ralf Becker
ec93e57000 log full requests to files directory "$files/groupdav/$user-$agent.log" 2011-11-24 12:21:02 +00:00
Ralf Becker
21989aa249 log full requests to files directory "$files/groupdav/$user-$agent.log" 2011-11-24 12:20:13 +00:00
Ralf Becker
ac78cbbdae * CalDAV/CardDAV/GroupDAV new user preference to log requests and responses to Apache error-log 2011-11-23 16:37:43 +00:00
Ralf Becker
2effc93ea4 * CalDAV/CardDAV/GroupDAV new user preference to log requests and responses to Apache error-log 2011-11-23 16:34:39 +00:00
Klaus Leithoff
39c6b6ca90 * email: feature for html-mails -> convert images included as link to inline images (attachments to the mail) 2011-11-23 12:43:40 +00:00
Klaus Leithoff
2bd05d6f0d * email: feature convert images included as link to inline images (attachments to the mail) -> extend feature for html mailbody 2011-11-21 12:24:45 +00:00
Ralf Becker
ae0542eaf7 * Admin: fix white screen (fatal error) when trying to delete a user without home directory 2011-11-21 08:38:54 +00:00
Ralf Becker
29b578cd0b * Admin: fix white screen (fatal error) when trying to delete a user without home directory 2011-11-21 08:38:23 +00:00
Ralf Becker
b075a9bade * Custom / instance-specific translations, eg. to rename an application 2011-11-17 13:01:48 +00:00
Ralf Becker
f2d7c5c6c3 * Custom / instance-specific translations, eg. to rename an application 2011-11-17 12:43:59 +00:00
Nathan Gray
6d17a1a168 Add dhtmlxGantt for gantt charts 2011-11-16 19:31:00 +00:00
Ralf Becker
f1463ca189 change max class-name lenght in __autoload to 64, as there are classes with more then 40 chars: projectmanager_wizard_export_elements_csv 2011-11-16 18:46:45 +00:00
Ralf Becker
15d318847d change max class-name lenght in __autoload to 64, as there are classes with more then 40 chars: projectmanager_wizard_export_elements_csv 2011-11-16 18:46:13 +00:00
Klaus Leithoff
72f1831bdd * ckeditor/aspell: added check for language availability check on extended dict (Lang_Countrycode) first, then fall back to lang -> e.g.: check on en_GB, if not available try using en 2011-11-16 09:17:15 +00:00
Klaus Leithoff
9fad5b84ab * ckeditor/aspell: added check for language availability check on extended dict (Lang_Countrycode) first, then fall back to lang -> e.g.: check on en_GB, if not available try using en 2011-11-16 09:15:41 +00:00
Ralf Becker
28b7e56f0b fixed forwarding of authentication (ldap or ads) homedirectory attribute to egw_info and vfs 2011-11-15 19:48:55 +00:00
Ralf Becker
f6fe40f2d9 fixed forwarding of authentication (ldap or ads) homedirectory attribute to egw_info and vfs 2011-11-15 19:16:09 +00:00
Ralf Becker
7ea3c19659 allow to use homedirectory attribute from LDAP or ADS authentication for VFS mounts 2011-11-15 12:44:41 +00:00
Ralf Becker
8ab9b0d2f2 allow to use homedirectory attribute from LDAP or ADS authentication for VFS mounts 2011-11-15 12:43:59 +00:00
Ralf Becker
c6280b9874 fixing warnings generated by php 5.3.8 is_a($obj) trying to autoload huge strings 2011-11-15 12:23:29 +00:00
Ralf Becker
988123bb73 fixing warnings generated by php 5.3.8 is_a($obj) trying to autoload huge strings 2011-11-15 12:22:47 +00:00
Ralf Becker
923c78940e do NOT force user to change password, if LDAP does NOT support shadowlastchange attribute 2011-11-15 10:10:20 +00:00
Ralf Becker
8202298db5 do NOT force user to change password, if LDAP does NOT support shadowlastchange attribute 2011-11-15 10:09:44 +00:00
Ralf Becker
5367b5a273 allow to use LDAP homeDirectory attribute as $home in mount-url 2011-11-15 06:57:14 +00:00
Ralf Becker
08aca8ff51 allow to use LDAP homeDirectory attribute as $home in mount-url 2011-11-15 06:56:32 +00:00
Ralf Becker
33d12fce79 disabled NOT working addressbook-findshared report, which is only used in 10.6, but currently creates and error with 10.6 addressbook 2011-11-14 11:55:54 +00:00
Ralf Becker
89fdaa7691 disabled NOT working addressbook-findshared report, which is only used in 10.6, but currently creates and error with 10.6 addressbook 2011-11-14 11:54:59 +00:00
Klaus Leithoff
c90b1cafa7 silence php-warning; silence error_log 2011-11-10 14:39:07 +00:00
Ralf Becker
52fbfcff9b in case no charset is set, default to utf-8, as otherwise setting charset in sqlfs_stream_wrapper can stall install 2011-11-10 10:25:20 +00:00
Ralf Becker
a48104bfd7 in case no charset is set, default to utf-8, as otherwise setting charset in sqlfs_stream_wrapper can stall install 2011-11-10 10:24:37 +00:00
Ralf Becker
6440415f81 fixed exception stalling new installs 2011-11-10 10:10:10 +00:00
Ralf Becker
64c076c536 fixed exception stalling new installs 2011-11-10 10:09:37 +00:00
Nathan Gray
c3abca67db Return an array, not null, if there are no preferences for the app 2011-11-09 16:32:42 +00:00