Commit Graph

549 Commits

Author SHA1 Message Date
Hadi Nategh
2db301ac7a Fix delete and revert icons 2016-06-13 10:10:10 +02:00
leithoff
caafb0b84b improved handling of authentication/connection failed errors 2016-06-09 15:48:01 +02:00
Hadi Nategh
5c803e9c43 Fix fatal error in mail 2016-06-08 10:08:20 +02:00
leithoff
0bd975927f attempt to handle connection failed errors more convieniently 2016-06-07 15:31:34 +02:00
Hadi Nategh
60bc400313 Fix modified view templates are not getting updated because of no cache-buster modification timestamp 2016-05-25 16:44:36 +02:00
Ralf Becker
72404a1e29 using new api for mail app 2016-05-03 19:17:44 +00:00
Klaus Leithoff
202ba250b2 use old fav_filter icon for current sieve-filter icon 2016-05-02 11:00:13 +00:00
Klaus Leithoff
7514dadce1 fix for: VCARD not opening in popup 2016-05-02 10:22:58 +00:00
Klaus Leithoff
2a03cc7ca9 fix remainig issues with moving mail 2 archive; fix issue when using quick-move-actions (target folder not set) 2016-04-29 13:19:32 +00:00
Klaus Leithoff
e0aea9cf39 change shortcut controlsequence for move-messages-to-configured-archive-folder 2016-04-29 12:10:13 +00:00
Klaus Leithoff
8e02180904 * Mail: allow to define an existing folder as archive folder and allow to move messages to the specified folder with either right-click action or EGW-shortcut 2016-04-29 11:23:05 +00:00
Ralf Becker
0eb3619cd1 * Mail/Addressbook/Calendar: add and use charset when sending/receiving mails with vCard/iCals, change default vCard charset preference to utf-8 2016-04-29 07:51:13 +00:00
Klaus Leithoff
bd26e2aeaf reenable filter2 (short-preview in list trigger) 2016-04-26 10:13:59 +00:00
Nathan Gray
863d4b9724 Fix some more nm settings lost on reload 2016-04-12 23:45:36 +00:00
Nathan Gray
d2894cdf65 Fix lost cat_is_select setting on reload 2016-04-12 23:36:58 +00:00
Klaus Leithoff
467421a0c7 handle date-range Filters on mass-actions like flagging, moving/copying and deleting messages 2016-04-12 15:17:57 +00:00
Klaus Leithoff
1a885f29e5 first step to allow for a date-range-filter on ui, allows quicksearch too; not yet available on selected-mail-operations 2016-04-12 12:53:50 +00:00
Ralf Becker
fd2bc6d7b7 fix problems with autoloading of etemplate_widget_tree 2016-04-04 08:48:04 +00:00
Ralf Becker
a7b6fb5baf need full namespace to specify a static method of a namespaced class 2016-04-01 11:58:55 +00:00
Ralf Becker
02d0f3a801 fix not working account change 2016-03-29 09:56:21 +00:00
Ralf Becker
00abda4682 moving emailadmin to api and admin, only emailadmin_hooks and tables still need moving 2016-03-28 18:51:38 +00:00
Klaus Leithoff
7403f9100b fix for not correctly store last selected search-type 2016-03-24 15:16:10 +00:00
Klaus Leithoff
919c646ad4 silence error-log statements 2016-03-24 10:50:05 +00:00
Klaus Leithoff
99193029da add some new searchTypes; remember last SearchType used with user-pref 2016-03-24 10:38:35 +00:00
Ralf Becker
f2b2879df1 different forward as attachment icon 2016-03-18 17:15:55 +00:00
Ralf Becker
02bf09aaae move egw_htmLawed to api/src/Html/HtmLawed, @Klaus: does mail really need to call that class, cant it use Html::purify? 2016-03-13 11:56:00 +00:00
Hadi Nategh
dbd97cd37a Mobile theme:
- Eliminates some actions from contextmenu only on mobile
2016-03-09 12:31:55 +00:00
Klaus Leithoff
eec9fa33ac * Mail: fix for problem when retrieving and displaying an event from winmail.dat attachment 2016-03-03 14:27:05 +00:00
Hadi Nategh
784aa2c82f Mobile theme W.I.P:
- Fix view mode loads with wrong context
- Fix mail view actions
2016-03-03 14:10:08 +00:00
Klaus Leithoff
de8d48cc20 try to handle text/calendar attachments that are NO ical-file; seems its of no use to try to show the gibberish to the user 2016-03-03 13:36:42 +00:00
Klaus Leithoff
352640e2b2 try to handle text/calendar attachments that are NO ical-file 2016-03-03 13:29:29 +00:00
Hadi Nategh
2355f5edf5 Mobile theme W.I.P:
- Implement view mode for mail
- Improve performance for reading mails
2016-03-01 17:00:28 +00:00
Klaus Leithoff
78d2bc33a9 support SINCE, BEFORE, BETWEEN and ON as (range) date filters; use it in mail_zpush and add example usage to get_rows 2016-02-26 13:04:35 +00:00
Klaus Leithoff
20a27ad0fe reflect change in filters (additional details/no details) in app.js refreshFilter2Options refreshCatIdOptions 2016-02-25 12:26:50 +00:00
Klaus Leithoff
4bcfd7f428 default css for preview, triggered by details/no details; remember selection with implicit pref 2016-02-19 12:23:06 +00:00
Klaus Leithoff
33be0555bb first sketch preview, triggered by details/no details 2016-02-18 15:46:02 +00:00
Hadi Nategh
304d1b0f68 Mobile theme W.I.P.:
- Add subscription dialog
- Re-arrange mail actions in context menu
2016-02-16 18:02:49 +00:00
Klaus Leithoff
5f1dc422f2 handle crippled messageID passed to loadEmailBody 2016-02-11 13:03:28 +00:00
Hadi Nategh
413b5f4280 Mobile theme W.I.P.:
- Fix not able to select the first mail on list
- Disable link_to upload file for view mode
- Fix dialog UI
2016-02-05 11:43:00 +00:00
Klaus Leithoff
215baf7497 fix for some untranslated messages in ajax - calls 2016-01-29 14:24:12 +00:00
Hadi Nategh
c0c4099e29 Mobile theme W.I.P.:
- Add mail display dialog
- Style details widget for mobile theme
- Implement fixed actions for mail display
2016-01-21 10:19:10 +00:00
Klaus Leithoff
535d0db435 fix problem on single file download to vfs 2016-01-12 15:11:41 +00:00
Klaus Leithoff
8588e08692 fix fatal error cannot access self:: when no class scope is active, when calling save attachment to vfs 2016-01-12 13:37:36 +00:00
Klaus Leithoff
ed32bd4c01 fix warning regarding PEAT::isError 2016-01-08 14:47:31 +00:00
Hadi Nategh
b9c1ed72ce W.I.P. of new approach for mail winmail.dat attachment handling
- Adopt download_zip to new winmail.dat handling
2015-12-02 14:00:34 +00:00
Hadi Nategh
97d240fcab W.I.P. of new approach for mail winmail.dat attachment handling
- Restructure save attachments to vfs, and try to read the winmail.dat only once and store them all, as fetching content of winmail.dat is very expensive operation
- Fix failure of save all embedded attachments into filemanager
2015-12-02 11:10:26 +00:00
Hadi Nategh
e1f4574b9a W.I.P. of new approach for mail winmail.data attachment handling
- Fix mail list is loading super slow if there are mails with winmail.data attachments
- Performance improvement for reading mails in preview pane with winmail.data
2015-11-27 16:17:59 +00:00
Hadi Nategh
ac16d1fb95 Mobile theme W.I.P.:
- Introduce mobile template-set
- Change loading mail index mobile template according to mobile template-set
2015-11-25 15:17:59 +00:00
Klaus Leithoff
ecbb564dfe avoid using tidy as it seems to trigger segmentation faults quite regular with modern style html-mails. 2015-11-20 15:16:37 +00:00
Hadi Nategh
e5ee34c006 Mobile theme W.I.P.:
- Set right-header for mail index only for mobile theme
2015-11-17 09:07:01 +00:00
Hadi Nategh
7c944b5aeb Mobile theme W.I.P.:
- Sidebar acts based on device size
- Remove portrait top header (sidebar toggle menu will be positioned next to nm header)
- Remove collapsed sidebar application navigator, only for devices
2015-11-16 15:45:04 +00:00
Ralf Becker
3d85ca9db6 no need to fetch mail again 2015-11-11 12:26:14 +00:00
Klaus Leithoff
714c75ef6d reintroduce tidy in calls from egw-mail-app when only getCleanHTML is called, as it is correcting html structure issues for us 2015-10-27 09:16:37 +00:00
Nathan Gray
5aaadfd00d Handle multiple attachments with the same name when downloading attachments from an email into vfs 2015-10-26 19:25:01 +00:00
Klaus Leithoff
294b3c2ea8 disable the use of tidy when using zpush/activesync 2015-10-23 10:02:18 +00:00
Nathan Gray
bb880a6c67 Handle multiple attachments with the same name when downloading attachments from an email as a zip 2015-10-19 23:45:38 +00:00
Klaus Leithoff
ab4b0e1e17 only do the sorting when we do a topLevel Query or a retrieval of ALL. ; give extracare on the retrieval of folders in shared and others on subscription, and when folders subscribed in such namespaces are deeply nested within without rights of list on the branches leading to the leaf 2015-10-06 15:09:10 +00:00
Klaus Leithoff
397d5a6d36 fix problem with possible json_encode problem (removing all initial data from mailbody) on reply/forward 2015-09-24 10:06:22 +00:00
Hadi Nategh
220d5b8ed4 Fix mail actions update for nm context menu, preview and display toolbar 2015-09-21 14:04:48 +00:00
Hadi Nategh
a4c7d64a4c Add another action into mail toolbar 2015-09-18 13:39:53 +00:00
Hadi Nategh
1ed0befddf Add some new actions into mail preview and display toolbars 2015-09-16 16:00:35 +00:00
Ralf Becker
ac8f68cd29 * Mail: fix PHP Fatal error under 5.3 when displaying mails containing inline-images 2015-09-05 12:25:41 +00:00
Hadi Nategh
a44e9a6f9e * Mail/preferences: Add Preview Pane option into mail preferences in order to be able to show/hide mail preview pane (split panel) 2015-09-02 09:31:47 +00:00
Hadi Nategh
944d00c1cb Fix mail tree not showing not subscribed folders if the show all folders is switched on in preferences 2015-08-25 09:36:43 +00:00
Klaus Leithoff
427ba66dfe allow 10, instead of 4 folders for menuaction copy 2015-08-25 08:11:27 +00:00
Ralf Becker
3748005f8b fix not opened tree with new tree-code, if you have only one account and fix state-handling to also store ActiveProfileID pref for a single account 2015-08-21 08:01:42 +00:00
Hadi Nategh
3b4864df7c Mail folder management dialog:
- Add some translation
- Add hints for multiple selection action
- Some styling
2015-08-13 17:34:12 +00:00
Hadi Nategh
fb6d06e322 Mail folder management dialog:
- Fix folder refresh on both index and folderMgmt trees
2015-08-13 10:29:51 +00:00
Hadi Nategh
40e0a2b705 Mail tree phase2:
- Fix mail tree gets stalled after adding new account
2015-08-13 08:55:11 +00:00
Hadi Nategh
c7cc902e1a WIP mail folder management dialog:
- Use long task dialog
- Fix multiple selection and highlighting
- Update index tree after delete operation
2015-08-11 16:28:59 +00:00
Hadi Nategh
85286a70da WIP of mail folder management dialog (multiple folders delete action) 2015-08-10 15:45:22 +00:00
Hadi Nategh
0bde40fac5 Mail tree phase2 W.I.P.:
-Fix translation not working for the first load
-Get all children of active accounts in one go
2015-08-04 08:21:23 +00:00
Hadi Nategh
8096304c6a Mail tree phase 2 W.I.P:
-Remove depricated getFolderTree method and replace it with getTree from mail_tree class
-Fix sorting folders in new folder arrays method
-Fix subscription refresh
2015-08-03 14:33:18 +00:00
Hadi Nategh
af491c92b3 Mail tree phase2 W.I.P.: Fix lack of documentation 2015-07-29 13:34:56 +00:00
Hadi Nategh
5011e8153e Disable getFolderstatus in getTreeFolder method as it causes performance issue and some wierd error
- Note: after re-implementing mail tree, getFolderStatus needs to be re-implemented and being used again via new approach
2015-07-29 12:38:10 +00:00
Hadi Nategh
41127ab765 Fix call to not existed static function 2015-07-29 10:26:47 +00:00
Hadi Nategh
c36449cd6e Mail tree W.I.P.: some code cleanup 2015-07-28 13:50:12 +00:00
Hadi Nategh
0c7e104027 More work in progress of mail tree:
-Initiate first level of mailboxes in subscription dialog, and let autoloading do the rest of expensive operation
-Save last state of tree in subscription dialog
-Uses new approach for comparing subscribed and unsubscribed folders
2015-07-27 17:46:45 +00:00
Hadi Nategh
51134e581e Mail tree re-structuring W.I.P. 2015-07-20 16:41:50 +00:00
Ralf Becker
9ef2cbd98a * Mail/Kalendar: remove iCal from alarms and correctly display canceled events in mail 2015-07-16 09:34:55 +00:00
Hadi Nategh
8f7a05544e Add mail integration calendar action into preview toolbar 2015-06-03 08:44:44 +00:00
Nathan Gray
c365c386e9 Make sure get_rows is always set, fixes error when setting forced/default columns 2015-06-01 19:18:15 +00:00
Klaus Leithoff
50aaafe293 src:cid url its likely to be urlencoded. so decode, before using it 2015-05-19 09:26:08 +00:00
Hadi Nategh
73499db1c7 WIP mail inline image
- Define static methods for resolving inline images from CID, based on types
- Fix not showing inline images on reply
2015-05-15 14:00:37 +00:00
Hadi Nategh
f94610e6df Fix a typo 2015-04-27 13:42:45 +00:00
Hadi Nategh
53363be626 Implement mail integration to an existing ticket 2015-04-20 14:31:21 +00:00
Hadi Nategh
aa7edce3b4 Some fixes on mail integration:
- Fix save as raw eml file and send it as attachment
- Fix mail_import in infolog,tracker and calendar does not include raw mail eml attachment as link
- Some IDE clean up for mail and tracker
2015-04-17 09:39:22 +00:00
Hadi Nategh
23000b1ff7 Fix calendar item's group in mail context menu 2015-04-15 12:28:43 +00:00
Hadi Nategh
b7c6be226d WIP of mail integration
-Centralize mail functionality of mail message integration in mail module
-Some clean up of mail_import in infolog and tracker apps
-Use hook registery in order of an app uses mail integration services
-Implement mail import into calendar
2015-04-15 11:23:59 +00:00
Klaus Leithoff
e3d4a685af use ENT_SUBSTITUTE on htmlspecialchars to harden display of message as source 2015-04-02 08:48:34 +00:00
Klaus Leithoff
9bfe86633c make sure we are talking to the correct server when importing messages 2015-03-27 14:51:41 +00:00
Klaus Leithoff
0dca52bc3f on importMessage, beware of serverID:: that is preceeding the folder of the importdestination 2015-03-27 12:59:03 +00:00
Ralf Becker
5887bc4313 * Mail, Filemanager: use now same handling, pdf, text or html are opened now in popup, fixes viewing of attachments using mobile theme 2015-03-25 17:48:24 +00:00
Hadi Nategh
89a9ea4bb1 Some more WIP of attachment mime handling 2015-03-24 11:40:06 +00:00
Ralf Becker
ffceb37973 WIP attachment handling via mime-registry 2015-03-24 09:43:38 +00:00
Klaus Leithoff
f7f5662e10 fix for function identity_name to use the same logic on missing identity values (like ident_realname and ident_email) as iterator on identities; if no ident_email is present use the users email-address, if still empty use acc_imap_username if it passes a simple test on qualifying as email address 2015-03-20 11:01:29 +00:00
Klaus Leithoff
1b184f4063 offer additional option for search to search whole message (TEXT); up til now only Message (BODY) was selectable 2015-03-19 14:47:43 +00:00
Klaus Leithoff
109b10f5b1 * Mail: deal with folderstructure issues when working with shared folders (others or shared) on constructing the mail foldertree 2015-03-10 14:08:11 +00:00
Hadi Nategh
9ae9ae7274 Implement mobile template for mail index:
- Do not create Splitter for mobile template
- Fix extra_iframe for displaying sieve rules covers mail tree when it is display:none (eg.happens in idots)
- Improve mail app performance browsing with mobile device
2015-02-27 14:47:27 +00:00
Klaus Leithoff
3ef17e277f add missing translations for emptying spam/junk folder; fix setting folder status after voiding spam/junk folder content 2015-02-19 13:41:40 +00:00
Klaus Leithoff
acb4f11d24 * Mail: feature to allow to void the (configured) spam/junk folder on right-click action on foldertree 2015-02-19 12:01:18 +00:00
Ralf Becker
9a633cab48 fix PHP Fatal error: Cannot pass parameter 3 by reference 2015-02-16 08:30:50 +00:00
Ralf Becker
36bc17a442 move code for html or javascript content-type headers from webdav to html class and use it for attachments too 2015-02-14 19:32:21 +00:00
Klaus Leithoff
d15d01a8b4 fix problem(s) with display of attachments on forward when either forwarding inline with several attachments to the forwarded message or forwarding multiple messages as attachment 2015-02-12 15:19:24 +00:00
Ralf Becker
7c4bc31306 removing an other unnecessary egw_info[flags][js_link_registry]=true 2015-02-02 19:50:20 +00:00
Klaus Leithoff
736eb6a329 bind some errorlog debug output to mail_bo:: variable 2015-01-15 11:03:07 +00:00
Klaus Leithoff
f384ac50a7 revert accidently ALWAYS looking up the mimeType with mime_magic 2015-01-09 14:11:57 +00:00
Klaus Leithoff
74a6cf6794 * Mail: fix problem on SentCopy ending up with the wrong mailaccount. Should be copied to chosen mailaccount on sending. If none is configured for folder; respect that setting. Ability to choose destination folders from starting mailaccount AND from selected mailaccount (only the original and the final selected mailaccount folders are checked and used for storing copies of the sent mail) 2015-01-09 13:56:14 +00:00
Hadi Nategh
8b5bc60235 Consider only vaction by date, missing condition from commit #51139 2015-01-07 08:15:39 +00:00
Hadi Nategh
26c6a96894 Do not show out dated vacation in vacation notice 2015-01-06 16:41:55 +00:00
Ralf Becker
cbf4051ef3 checking sieve enabled on imap-server object not account, so imap plugins can overwrite eg. always set this 2014-12-18 10:04:41 +00:00
Hadi Nategh
e07c11be85 Fix popup's window close
-Make sure window.close() closing the right egw window
-Make sure the modal popup has the opener
2014-12-12 14:21:04 +00:00
Ralf Becker
2feacbecb8 fixed sometimes not working download of all attachments via zip (name instead of filename set) and changed it to use streams 2014-12-08 18:24:08 +00:00
Ralf Becker
dd89cf84f7 parseFileIntoMailObject and parseRawMessageIntoMailObject using new egw_mailer 2014-11-26 14:08:52 +00:00
Nathan Gray
a55da7afc6 Change grouping for tree actions to move auto added copy+paste actions up 2014-11-24 15:35:02 +00:00
Klaus Leithoff
827caf674f handle error and error-messages on folder-creation. Special handling when having flat folderstructure (no prefix present) 2014-11-20 14:57:34 +00:00
Nathan Gray
a885057213 Support moving from different folders 2014-11-19 19:12:50 +00:00
Klaus Leithoff
06f8a7c829 take the extra time on failure on folderExists, when the folder seems to be not to be there 2014-11-18 15:53:53 +00:00
Ralf Becker
90a70f237f only display "Vacation notice is active" message, if it is active or by a date in future 2014-11-18 14:46:24 +00:00
Klaus Leithoff
4f2219908f make sure preview/display/saveAttachments etc. is using the ImapServer whose Id is passed on with the ID of the mail to be processed 2014-11-06 13:11:44 +00:00
Klaus Leithoff
1d48bf67d5 * Mail: on save as zip: always fetch all attachments, even inline (images); do not fatally fail on empty attachments 2014-11-06 11:42:44 +00:00
Ralf Becker
a37c884969 * Mail: fixed icons for special use folders did not use folders set in mail account 2014-11-05 16:51:55 +00:00
Hadi Nategh
a373f0f458 Fix IDE warnings 2014-10-23 13:59:12 +00:00
Hadi Nategh
dae1ce6554 Work in progress, standardization of dnd action helper styling for all apps 2014-10-17 16:34:14 +00:00
Nathan Gray
9481dab570 Drag & drop support for mail into filemanager 2014-10-16 22:41:39 +00:00
Ralf Becker
4f59ab7d81 resize import popup to regular compose size 2014-10-15 15:49:41 +00:00
Klaus Leithoff
b3441cb29b * Mail: fix copy/move of mails between accounts by making sure source and target are distinctively defined when performing the move 2014-10-14 08:51:01 +00:00
Hadi Nategh
889c8b88e8 Unset action "moveto" from display toolbar actions 2014-10-10 15:03:00 +00:00
Ralf Becker
418578dc2f remove not used attachmentsPresent value 2014-10-07 07:13:37 +00:00
Hadi Nategh
e68d5c19c6 Fix trash folder label get set by not translated trash folder name after trying to empty the trash 2014-10-06 14:59:13 +00:00
Klaus Leithoff
7f3c3e5613 cope with not set DATE from retrieved headers 2014-10-02 08:44:48 +00:00
Ralf Becker
32a6066156 * Mail: vaction notice indicator in mail showed result of other users
cache-key was identical for all uses due to a typo
2014-09-27 15:27:54 +00:00
Ralf Becker
007b632017 explicitly fetching structure in get_load_email_data, to supply it to getMessageBody and getMessageAtacchemnts, so they dont get fetcheds twice from imap-server 2014-09-25 12:43:06 +00:00
Ralf Becker
756b31ce9f remove html::purify call 2014-09-25 08:47:47 +00:00
Klaus Leithoff
3b54e4e39a disable non functional readall action on mail display popup actionmenu 2014-09-18 12:33:33 +00:00
Hadi Nategh
bdcda95930 Make the saveAsDraft and print functionality working in mail compose dialog 2014-09-09 12:08:08 +00:00
Klaus Leithoff
29ca1beb5b * Mail: fix for failed zip-download when users startfolder is not writeable
Reason: get_home_dir may fetch the users startfolder if set; if not writeable, action will fail
2014-08-26 12:37:27 +00:00
Klaus Leithoff
814f0b705c fixing assumed typo regarding:preg_match(): No ending delimiter '^' found in class.mail_ui.inc.php on line 144 2014-08-21 14:11:35 +00:00
Ralf Becker
af1bf17228 reverted accidently commited permanent error_log 2014-08-20 16:13:45 +00:00
Ralf Becker
6b243800c4 do not cache, if we dont find selectedFolder in query_context, as looking it up in tree causes mails to be cached for wrong folder 2014-08-20 16:12:19 +00:00
Ralf Becker
c670d879d5 do NOT connect to previous imap server, if user triggers a change of server 2014-08-20 14:58:12 +00:00
Ralf Becker
947f6b1551 fixed PHP Fatal error " Call to undefined method emailadmin_imapbase::subscribe" since r48090 2014-08-18 10:33:22 +00:00
Ralf Becker
e47db95be7 * Mail: fixed sometimes not working (un)subscribe of mailboxes, added better diagnostic and automatic (de)select children 2014-08-15 11:22:43 +00:00
Klaus Leithoff
1f3bb33fd8 implement some >mark all messages in folder as read< action 2014-08-14 15:38:32 +00:00
Klaus Leithoff
2df89703ca * Mail: fix problem on not applied but possibly set status filter on all message actions for flagging 2014-08-14 13:49:14 +00:00
Hadi Nategh
176c1247dc Refresh Trash folder folder-status when empty Trash action is triggered not from the Trash folder 2014-08-14 11:28:55 +00:00
Ralf Becker
589d2c9dae * Mail: keyword actions were not always displayed (eg. never for Dovecot and GMail) 2014-08-13 11:45:55 +00:00
Hadi Nategh
c60b7ae328 Revert the change on ajax_refreshVacationNotice from commit 48039. Fix not keeping other vacations of an user in the cache 2014-08-12 08:23:54 +00:00
Nathan Gray
91eabea294 Some more speed improvements for get_rows:
- Don't verify that special folders exist
2014-08-11 19:26:50 +00:00
Nathan Gray
82db8343bd Some more speed improvements for initial load:
- Avoid expensive connect in constructor for all AJAX calls (reconnect/cache used instead)
- Don't verify that special folders exist for folder tree
- Only fetch folder counts when fetchCounters flag is set, instead of always
- Avoid some et2 warnings about not existing attributes (no speed improvement, but less annoying)
2014-08-11 16:24:11 +00:00