Commit Graph

2353 Commits

Author SHA1 Message Date
Ralf Becker
0003a93c11 * CardDAV/GroupDAV/Addressbook: do NOT check for api version, as it caused accounts created during setup to have no carddav_name and therefore fail in CardDAV/GroupDAV (shown as "/addressbook/" in collection list!) 2011-09-28 09:48:47 +00:00
Ralf Becker
b44e108cea * CardDAV/GroupDAV/Addressbook: do NOT check for api version, as it caused accounts created during setup to have no carddav_name and therefore fail in CardDAV/GroupDAV (shown as "/addressbook/" in collection list!) 2011-09-28 09:47:47 +00:00
Ralf Becker
1f39e5c562 - added WebDAV ACL props supported-privilege-set and current-user-privilege-set
+ currently only standard WebDAV privileges: read, read-current-user-privilege-set, write-content, bind and unbind used
  + they get only queried for collections, thought we dont report any write* on collections, as we dont allow to create calendars or change properties
- new groupdav::add_resource() method used to add all resources (incl. collections) to propfind or report requests
- improved autoindex to show nicely indented hierarchical properties
2011-09-21 20:08:21 +00:00
Klaus Leithoff
2b6409d998 * addressbook/csv-import: fix/enable update of account - userdata when accounts are stored with ldap. If the condition is on account_id, we supplement the condition with owner=0 (this is needed to correctly determine the storage engine (ldap/sql) for accounts); we strongly recomment NOT to try to use this for adding accounts: use admin import definitions for that task 2011-09-19 10:15:32 +00:00
Ralf Becker
03ed1d3ddb - refactored code to use a single add_collection method in groupdav class
--> app groupdav classes now get calling groupdav object as parameter
Had a quick test with iOS & OS X addressbook, calendar and with Lightning
2011-09-18 10:56:56 +00:00
Klaus Leithoff
2d494997ab rework of bo_merge::getExportLimit, apply to etemplate, importexport, addressbook, calendar 2011-09-16 13:03:46 +00:00
Klaus Leithoff
f616b34f58 API: introduce register_single_app_hook to be able to add or update one hook for an required app. register added/updated hooks with ->location; calendar and addressbook are using this to insert export_limit hook if not available. use app hook to fetch app specific export limit with import_export side_menu additions too 2011-09-15 16:53:20 +00:00
Klaus Leithoff
fc3fc728a4 register_hooks, without hook array, does not reregister all app hooks, so use register_all_hooks instead 2011-09-15 15:03:25 +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
Hans-Jürgen Tappe
cf53019c13 Make the mail subject and the confirmation message translatable. 2011-09-13 18:01:25 +00:00
Ralf Becker
117179ad0f * Addressbook/LDAP: fixed country handling for mozillaOrgPerson schema, which has two distinct attributes for 2-letter code and arbitrary name 2011-09-13 10:36:03 +00:00
Klaus Leithoff
a2730516fe silence some error log statements 2011-09-13 10:16:29 +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
Ralf Becker
c2750ba12b ensure accounts and group addressbooks are never private! 2011-09-09 06:36:16 +00:00
Ralf Becker
4088300b57 docu fixes 2011-08-31 12:24:50 +00:00
Ralf Becker
7f47bcceff removed not existing image 2011-08-31 12:24:35 +00:00
Klaus Leithoff
1d8034e17b code cleanup: as bo_merge::is_export_limit_excepted checks for ->is Admin<- already 2011-08-30 15:13:58 +00:00
Klaus Leithoff
1cc3692bfd adapting missed export_limit_excepted processing to static bo_merge::is_export_limit_excepted 2011-08-30 14:02:00 +00:00
Ralf Becker
d6b70f4578 using bo_merge::is_exportlimit_excepted() which takes care of not longer serialized egw_info/server values 2011-08-29 12:20:16 +00:00
Klaus Leithoff
aa370cf66b have edit.xet renewed; handle onclick event in addressbook view mode for name popup for IE9 2011-08-29 12:01:25 +00:00
Klaus Leithoff
c86a85636a silence some export-limits warnings 2011-08-29 11:33:10 +00:00
Ralf Becker
10325b93c8 one server-config missed in r36329: arrays in $GLOBALS[egw_info][server] are now automatically serialized and unserialized 2011-08-27 16:11:10 +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
Nathan Gray
0264b70a0b Silence warning when export exception is not set 2011-08-22 14:20:44 +00:00
Nathan Gray
a572007f1c Missed one implementation of limit exception user/group 2011-08-19 14:27:49 +00:00
Nathan Gray
16bafa78b8 Implement export restriction exception for given users/groups in apps 2011-08-17 15:38:56 +00:00
Ralf Becker
858279ad84 * eSync/Addressbook: new preference to force sorting on device, eg. for use with Windows Mobile, which use "own sorting" set in addressbook otherwise 2011-08-10 14:24:30 +00:00
Ralf Becker
70e2684dd5 fixed catchable fatal error ($old hast to be array or null) and avoid reading old contact twice 2011-08-10 13:03:51 +00:00
Nathan Gray
e15b7304bc Unset empty private, it causes issues trying to find them 2011-08-09 19:14:03 +00:00
Ralf Becker
91545df1e6 * eSync/Addressbook: added mapping of private cellphone to home2phone, other phone to business2phonenumber and changed role to title in mapping of jobtitle (role is no longer mapped, because no outlook equivalent, egw prefix is mapped to ol title!) 2011-08-09 10:07:22 +00:00
Nathan Gray
e6b2c43e26 Fix addressbook missing from CSV goes to accounts 2011-08-08 14:44:53 +00:00
Nathan Gray
d6bf31a1b1 Add ability to specify that imported contacts go to importer's personal addressbook 2011-07-28 23:26:08 +00:00
Klaus Leithoff
fe9e16d845 fix by Ralf for bug, that prevented the update of accounts, if your accountselection method is groupmembers 2011-07-18 09:46:32 +00:00
Nathan Gray
21cc152386 Get action button & select all button working for email popup 2011-07-12 14:36:59 +00:00
Nathan Gray
3049faf994 Remove action column from email select rows 2011-07-11 17:35:33 +00:00
Nathan Gray
e1fce75a74 Cleanup translations - common importexport stuff 2011-07-04 20:06:30 +00:00
Nathan Gray
31d1e20bdc Fix typo: definitition -> definition 2011-07-04 20:00:26 +00:00
Nathan Gray
18d13804e6 Try to clean up German too 2011-07-04 18:53:32 +00:00
Nathan Gray
eec3bd3d5b Clean up translations - move common merge stuff into preferences 2011-07-04 18:12:12 +00:00
Ralf Becker
b093cd8720 missing $contact_app parameter, stalling grants 2011-06-27 15:30:56 +00:00
Ralf Becker
73486cc047 file_access_user implementation for addressbook 2011-06-26 13:55:25 +00:00
Oscar Manuel Gómez Senovilla
164871ec02 Update Czech translation for trunk. Tracker #2886 2011-06-23 13:53:19 +00:00
Nathan Gray
039e351d8b 'Disable' Export & merge spreadsheet in sidebox for addressbook view 2011-06-22 18:14:52 +00:00
Nathan Gray
275a1d3f27 Change category list links 2011-06-21 21:14:51 +00:00
Ralf Becker
40dd19fd3e * CardDAV/GroupDAV: handle deleted contacts, as not existing (404 Not Found) 2011-06-19 09:01:15 +00:00
Ralf Becker
92ddeca1fb - fail with error message, if user trys to export more entries then allowed (previously entries were silently cut down to allowed number, even 0!)
- fixed path of document-actions if more then one directory with subdirectories were given
2011-06-16 11:36:15 +00:00
Philip Herbert
3d1cbd3f40 removed accidently commited test-change 2011-06-14 16:07:44 +00:00
Philip Herbert
1a51ac86f7 merged latest changes from Andreas B. with the following changes:
- adapted searchquery so that parameters are equal for gal, mailbox and documentlibrary searches
 - Fix SAMSUNG Android 2.3.3 client compose_Saveinsentitems breaking
 - Corrected searchquery for GAL so that it includes the search range for backends that filter range already during query 
 - Take correct exporter to find changecount for optionfolder 
 - Fix for handling Sync requests where same item gets read and removed.
2011-06-14 15:33:11 +00:00
Ralf Becker
1774e5674f support for multiple space or comma separated download dirs 2011-06-14 10:48:15 +00:00
Ralf Becker
220af27f60 Create template directory and set default document_dir preference of addressbook, calendar, infolog, tracker, timesheet and projectmanager 2011-06-11 11:57:51 +00:00
Ralf Becker
fcfbd038bc some fixes for the English translation, from our Suomi resident here as Stylite 2011-06-10 06:19:36 +00:00
Ralf Becker
d12475ec9e some fixes for the English translation, from our Suomi resident here as Stylite 2011-06-09 06:57:25 +00:00
Ralf Becker
9dfdabe1a3 some fixes for the English translation, mostly correcting case, from our Suomi resident here as Stylite 2011-06-07 06:29:49 +00:00
Nathan Gray
22426b6bd6 If ordering contacts by a numeric field (last modified), apply letter filter to org name instead of ordered field 2011-06-06 16:41:17 +00:00
Nathan Gray
7e05b0dff2 Avoid javascript error if edit popup is read-only 2011-06-02 20:05:40 +00:00
Nathan Gray
596f252eb7 Patch from Bjorn Padding to silence JS error when addressbook is in LDAP 2011-06-02 20:01:25 +00:00
Ralf Becker
a6784aefbc calling the global action-object-manager 2011-06-02 16:57:33 +00:00
Nathan Gray
c81bd1a291 Change default charset from utf-8 to user's preferred charset 2011-05-24 15:57:16 +00:00
Nathan Gray
cae8752274 Make default import definitions available only to admins 2011-05-24 15:40:22 +00:00
Nathan Gray
4f3dc53cb6 Make addressbook_merge respect addressbook's extra export limit 2011-05-20 17:50:51 +00:00
Nathan Gray
0eeb67f90a Respect addressbook's extra export limit 2011-05-20 17:18:49 +00:00
Klaus Leithoff
957b43afd4 add forgoten return to save_history 2011-05-17 08:02:29 +00:00
Nathan Gray
450b380de1 Use static convert from importexport to handle human values, custom fields 2011-05-12 18:01:34 +00:00
Ralf Becker
a3805293b2 name Z-Push based ActiveSync protocoll support in EGroupware "eSync" 2011-05-07 16:52:48 +00:00
Ralf Becker
848cde1489 upper check-all button also needs to call egw_objectManager.toggleAllSelected() 2011-05-06 13:28:07 +00:00
Nathan Gray
8b4728ad4a Allow documents in dirs other than user's preference dir by passing full path 2011-05-05 21:41:00 +00:00
Ralf Becker
1e8de99ed7 Move initialisation for egw_actions stuff into static method of nextmatch_widget, it get called now from:
- etemplate::show_grid() 
- addressbook_ui::view() to load JS stuff before header get generated
2011-05-02 13:34:59 +00:00
Ralf Becker
8247d55fc1 fixed missing space when adding multiple classes, causing context menu not recognising readonly, if also not deletable 2011-04-28 09:12:30 +00:00
Ralf Becker
594fe78d09 enable via a class and no more need to set enabled='javascript:nm...' for enableClass or disableClass 2011-04-27 16:59:12 +00:00
Ralf Becker
633b3da6b4 disable filemanager link for mulitple selected contacts 2011-04-27 10:14:32 +00:00
Ralf Becker
fb5ea143be - returning checked state of all checkboxes, not only select_all, in $content[nm][checkboxes]
- $content[nm][select_all] is now only reference to $content[nm][checkboxes][select_all]
- checkboxes need no default onExecute, therefore removed nm_select_all method
- improved documentation for action stuff in nextmatch widget
- added egwAction.getActionsByAttr(_attr, _val) method returning all actions with a given attribute and value
2011-04-27 07:49:46 +00:00
Ralf Becker
7869bd59b0 removed not longer necessary double quoting (from time it was a string in a function) 2011-04-26 16:37:30 +00:00
Ralf Becker
7d02a952f6 - move all static javascript code to app.js file
- fixed "add appointment" to work in org-views by submitting to server to resolve org with contact id's and custom js action prefixing each id with a "c"
- improved "add infolog" to only submit for org-views to server and otherwise save that roundtrip by using a custom ja action
2011-04-26 16:22:10 +00:00
Ralf Becker
98a2731116 - fixed not working add or remove category method from context menu
- disabling actions not available, because of missing rights
- trying to disable "remove from distribution list" and "delete distribution list", when no list is selected
  --> not yet working
2011-04-25 14:13:40 +00:00
Ralf Becker
e474b0f0d4 - insert in document action:
+ one submenu with default document (if set) on top
  + if more then 9 documents, show them in submenus by mime type
- added copy address as second point to add submenu, beside new
- icons for move to addressbook
- fixed icons for org views
--> addressbook context menu should now be fully functional - let me know if not ;-)
2011-04-25 11:30:37 +00:00
Ralf Becker
dea01bdb8b added missing scrollbar, if history is to long to fit 2011-04-24 11:57:03 +00:00
Ralf Becker
dca785709f fixing the fix ... (db-name is in key, not value) 2011-04-21 15:05:10 +00:00
Ralf Becker
53400c27f0 * PostgreSQL/Addressbook: fixed SQL error when listing account, groups or querying birthdays 2011-04-21 14:31:10 +00:00
Ralf Becker
8d22f87057 fixed not working edit of contacts 2011-04-19 15:11:51 +00:00
Ralf Becker
9859a038af - fixed not readonly custom fields, give all tabs equal height and adjusted height of phone numbers
- removed custom field specific history log code, as it's handled now by historylog-widget and bo_tracking
2011-04-19 15:03:58 +00:00
Ralf Becker
cabcd99149 fixed not working insert in document 2011-04-18 11:56:52 +00:00
Ralf Becker
342799a86a - further work on addressbook context menu, still not fully functional!
- moved a few more common phrases into API
2011-04-17 21:25:01 +00:00
Ralf Becker
fe5202c7a2 context menu for addressbook, please note: not everything is fully functional yet 2011-04-17 14:10:05 +00:00
Ralf Becker
72ac7937de * Addressbook/PostgreSQL: fixed SQL error when checking "use whole query" 2011-04-15 06:46:51 +00:00
Ralf Becker
a52f9ccc4d * Addressbook/PostgreSQL: lettersearch in organisation-view allways returned empty 2011-04-11 16:33:00 +00:00
Ralf Becker
3915fb6f03 * SyncML/Calendar/PostgreSQL: fixed SQL error when searching participants (SELECT DISTINCT requires ORDER-BY-expressions to be in SELECT-list) 2011-04-11 12:07:30 +00:00
Ralf Becker
4c24ac26b2 * Addressbook: lettersearch was not working for addressbooks in LDAP if PostgreSQL database was used
wrong parsing of sql query to construct LDAP query
2011-04-10 15:31:06 +00:00
Ralf Becker
0e56e1b7b6 AlterPingChanges / ctag for all-in-one addressbook 2011-04-07 19:37:37 +00:00
Ralf Becker
c443126893 make sure ca(rd|l)dav_name never get copied 2011-04-07 07:28:46 +00:00
Nathan Gray
a8b3fd0cba Make sure placeholders are present & empty if there is no previous appt for contact 2011-04-06 21:39:17 +00:00
Ralf Becker
87ee0f0088 * CardDAV: store name part of URL from client PUT request, to fully comply with CardDAV spec 2011-04-05 20:39:13 +00:00
Ralf Becker
04ad34647d fix for egroupware.org bug #2910: Unable to use lettersearch in addressbook 2011-04-05 12:51:00 +00:00
Philip Herbert
4a5a146334 fix email field format for Samsung Galaxy Android 2011-04-04 14:48:26 +00:00
Philip Herbert
cbcc4c6c49 updated activesync engine to latest as12.1 code from Andreas B:
- adding better support for non strict protocol implementations to improve device compatibility
- fixing an issue of iOS Mail App crashing, due to server reporting changes not requested by client during message fetch.
- adding support for multiple profiles(with different usernames) on one device to one server. (iOS) 
- Protocol Version 14.1 is now offered to the client
- general improvements to request handling
Updated egw backend and all plugins to be compatible with latest changes to sync engine.

ATTENTION: profiles need to be recreated on the devices.
2011-04-02 20:18:37 +00:00
Klaus Leithoff
b7304feca0 * addressbook: enable Advanced Search for OrgView 2011-03-30 13:31:09 +00:00
Klaus Leithoff
a52092cf33 fix for searchletter behavior when searching by searchletter of the order-criteria contact_id AND having custom fields 2011-03-29 09:43:37 +00:00
Nathan Gray
96a6514c49 Default selection to search results 2011-03-28 21:13:45 +00:00
Philip Herbert
b57bc41e54 as support for message flag 2011-03-27 19:02:04 +00:00
Ralf Becker
e5b0868057 missed to change prefs text 2011-03-24 12:07:24 +00:00
Ralf Becker
3a9ede84a3 - Personal AB is now allways synced, as some devices stall if there's no personal AB
- support for the extra private addressbook (private contacts are displayed in an extra AB called private and not the personal AB)
2011-03-24 12:01:33 +00:00
Ralf Becker
01d1b16b6e * GroupDAV/CardDAV: fixed empty addressbooks issue (url in PROPFIND contained empty id --> "/.vcf" instead "/123.vcf")
caused by not longer necessary special handling of contact_id in addressbook_sql, which is handled now in so_sql(_cf)
fix for PostgreSQL to NOT get SQL error ORDER BY must be in column list for GroupDAV/CardDAV propfinds
2011-03-23 09:37:19 +00:00
Nathan Gray
9d179bb27e Don't parse cat_id twice, it causes duplicate categories 2011-03-21 19:51:43 +00:00
Nathan Gray
9daa7bc069 Fix for extra photo key needed in two places 2011-03-21 18:14:25 +00:00
Nathan Gray
6da2289f8e Set default export definition 2011-03-21 15:58:08 +00:00
Stefan Becker
42bfe30447 adding German Translations 2011-03-21 11:18:04 +00:00
Philip Herbert
ca11300994 GetFolderList must always return an array to not break sync 2011-03-20 18:08:44 +00:00
Ralf Becker
c492c57e2f * Addressbook: fixed PostgeSQL error when searching or showing accounts 2011-03-20 12:37:22 +00:00
Ralf Becker
dbce0992af Implemented AS prefs for addressbook:
- which addressbooks to sync
- sync selected as one addrressbook (for devices only supporting on addressbook)
2011-03-19 12:51:50 +00:00
Nathan Gray
6a58d3c612 Don't put spaces between category IDs when exporting DB values 2011-03-17 14:40:48 +00:00
Nathan Gray
8235f32c30 Pass optional parent category ID when creating new sub-categories 2011-03-16 23:30:12 +00:00
Nathan Gray
d67a265beb Import categories when each is in its own column 2011-03-16 23:18:48 +00:00
Nathan Gray
09226f0e17 Fix missing sub-categories when exporting main + sub categories, main categories in their own column 2011-03-16 15:28:42 +00:00
Nathan Gray
06321ab94d If accounts are hidden from addressbook, don't export them if 'Use all' is selected 2011-03-15 19:51:39 +00:00
Nathan Gray
2a2268f4cd Fix bug exposed by importing mixed condition true / false files 2011-03-15 19:12:10 +00:00
Nathan Gray
c0da31b5f3 - Use global categories when listing each cat in its own column
- Fix missing value when exporting categories as DB values
2011-03-15 16:49:45 +00:00
Nathan Gray
ca00d4c69a - Improve owner parsing
- Change error message when owner can't be determined.  Most users don't use translations, so just fallback to plugin setting.
2011-03-15 16:20:11 +00:00
Nathan Gray
184117b0ec Use global categories too 2011-03-15 15:37:52 +00:00
Nathan Gray
8c094fd6be Automatically translate owner field from name to id (happens after set translation on field) 2011-03-15 00:02:54 +00:00
Nathan Gray
f6571e3446 Fix spelling of outlook finnish import 2011-03-14 20:13:53 +00:00
Nathan Gray
c907e92398 Fix for import / update search for existing record. If new record key (ex ID) was not set, address search matched all 2011-03-14 20:08:00 +00:00
Nathan Gray
e1c084ee0c Fix export when exporting both country code and country name 2011-03-14 19:37:59 +00:00
Nathan Gray
928a71397d Fix 'All contacts' filter; search for ID only actually returned ID + photo 2011-03-14 19:08:20 +00:00
Nathan Gray
aa7fc0f9f9 Always remove country code 2011-03-10 16:55:11 +00:00
Philip Herbert
1299714c61 moved notes/description handling to backend 2011-03-07 21:00:54 +00:00
Nathan Gray
017d70c186 Remove double country option from Site configuration copy fields 2011-03-07 18:32:20 +00:00
Nathan Gray
711ffd4fdb Set country name too, so address format works 2011-03-07 17:27:53 +00:00
Nathan Gray
97523a99f3 Fix default country from preferences, use country code 2011-03-07 17:25:54 +00:00
Philip Herbert
b0b4c8bf6a implemented/fixed read flag handling, enabled categories for addressbook, fixed typos 2011-03-07 15:03:56 +00:00
Ralf Becker
67c137c27d * LDAP addressbook filter for all addressbooks by "(objectclass=inetorgperson)" to not get eg. computer accounts from Samba 2011-03-07 13:52:51 +00:00
Ralf Becker
3bb9e89bcf * CalDAV/Lightning: fixed under some conditions infinit poping up alarms and user not able to add alarms
- Lightning pops up alarm, until Sequence/etag get updated: if user has no edit rights on an other users calendar, etag never got updated, now we update it
- fixed user was not able to add alarms via CalDAV, if he had no edit rights for event (was always possible in web UI)
- alarms from other users calendars are not included any more, as they make no sense but a lot of trouble
- fixed wrong condition on adding alarms, causing some alarms no being saved
2011-03-05 10:21:32 +00:00
Nathan Gray
051e11fe09 Automatically handle converting+adding text categories without explicit translation 2011-03-04 16:57:25 +00:00
Nathan Gray
d77f685b16 By default, export all custom fields, use field labels instead of names 2011-03-02 17:10:21 +00:00
Nathan Gray
b8e7531a73 Change default export to use labels, human friendly values 2011-03-02 01:05:41 +00:00
Nathan Gray
591bc464c1 Add preference to use import/export definition for exporting from nextmatch 2011-02-28 18:10:43 +00:00
Stefan Becker
b83c6d8a09 added some German translation 2011-02-23 11:36:34 +00:00
Nathan Gray
19ede9a2cc Get list of extensions from parent class 2011-02-22 19:56:49 +00:00
Nathan Gray
7e3e434e39 Remove link to old import 2011-02-22 17:16:17 +00:00
Nathan Gray
7a9b365d2b Add some missing historylog widgets 2011-02-18 18:28:11 +00:00
Nathan Gray
56cd0d5779 Change display of placeholder tags from 2432...2432 to {{...}} 2011-02-18 16:59:52 +00:00
Nathan Gray
0a71419124 Prevent double countries in address view 2011-02-17 20:00:54 +00:00
Nathan Gray
0c97c3bd10 Add extra placeholder 'categories' for expanded categories with path 2011-02-16 17:47:31 +00:00
Nathan Gray
04a081fd58 Use addressbook_bo functions instead of SO so full updates happen. 2011-02-15 16:05:39 +00:00
Klaus Leithoff
18208414bc fix for bug/problem regarding the merge of contacts: main links of linked addresses where not moved to the new target 2011-02-15 14:46:09 +00:00
Ralf Becker
53a6add628 docu update and remove not longer used functionality to store custom fields, done now via so_sql_cf::save() 2011-02-15 13:42:04 +00:00
Ralf Becker
f3ba8e0a69 calendar icon for addressbook.index to add an appointment for a contact 2011-02-15 11:38:20 +00:00
Ralf Becker
740f91863b zpush seems to use a timestamp in utc (at least vcard backend does) for birthdays 2011-02-15 11:37:09 +00:00
Nathan Gray
146ff34de1 Remove category children if that option is chosen 2011-02-04 17:29:24 +00:00
Nathan Gray
efc61a3243 Remove category from contacts when category is deleted 2011-02-04 17:09:37 +00:00
Nathan Gray
6a9d8f1b3b Add additional column 'Addressbook' 2011-02-04 16:19:38 +00:00
Nathan Gray
b7f7cae531 Fix accidentally crossed directory 2011-02-01 02:02:08 +00:00