alexjp-blackbook_csv 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/CHANGES.markdown +44 -0
  2. data/Manifest.txt +59 -0
  3. data/README.markdown +72 -0
  4. data/Rakefile +39 -0
  5. data/debug_blackbook.rb +10 -0
  6. data/init.rb +1 -0
  7. data/lib/blackbook/exporter/base.rb +16 -0
  8. data/lib/blackbook/exporter/vcf.rb +45 -0
  9. data/lib/blackbook/exporter/xml.rb +28 -0
  10. data/lib/blackbook/importer/aol.rb +83 -0
  11. data/lib/blackbook/importer/base.rb +39 -0
  12. data/lib/blackbook/importer/csv.rb +87 -0
  13. data/lib/blackbook/importer/gmail.rb +66 -0
  14. data/lib/blackbook/importer/hotmail.rb +124 -0
  15. data/lib/blackbook/importer/page_scraper.rb +86 -0
  16. data/lib/blackbook/importer/yahoo.rb +61 -0
  17. data/lib/blackbook.rb +76 -0
  18. data/test/fixtures/aol_application_page.html +566 -0
  19. data/test/fixtures/aol_bad_login_response_stage_3.html +565 -0
  20. data/test/fixtures/aol_contacts.html +90 -0
  21. data/test/fixtures/aol_login_response_stage_1.html +158 -0
  22. data/test/fixtures/aol_login_response_stage_2.html +559 -0
  23. data/test/fixtures/aol_login_response_stage_3.html +61 -0
  24. data/test/fixtures/aol_login_response_stage_4.html +48 -0
  25. data/test/fixtures/aol_login_response_stage_5.html +404 -0
  26. data/test/fixtures/aol_new_contacts.html +431 -0
  27. data/test/fixtures/gmail.csv +3 -0
  28. data/test/fixtures/gmail_bad_login_response_stage_2.html +560 -0
  29. data/test/fixtures/gmail_contacts.html +228 -0
  30. data/test/fixtures/gmail_login_response_stage_1.html +556 -0
  31. data/test/fixtures/gmail_login_response_stage_2.html +1 -0
  32. data/test/fixtures/gmail_login_response_stage_2a.html +1 -0
  33. data/test/fixtures/gmail_login_response_stage_3.html +249 -0
  34. data/test/fixtures/hotmail_bad_login_response_stage_2.html +31 -0
  35. data/test/fixtures/hotmail_contacts.html +191 -0
  36. data/test/fixtures/hotmail_login_response_stage_1.html +31 -0
  37. data/test/fixtures/hotmail_login_response_stage_2.html +1 -0
  38. data/test/fixtures/hotmail_login_response_stage_3.html +380 -0
  39. data/test/fixtures/yahoo_bad_login_response_stage_2.html +443 -0
  40. data/test/fixtures/yahoo_contacts.csv +3 -0
  41. data/test/fixtures/yahoo_contacts_not_logged_in.html +432 -0
  42. data/test/fixtures/yahoo_contacts_stage_1.html +399 -0
  43. data/test/fixtures/yahoo_login_response_stage_1.html +433 -0
  44. data/test/fixtures/yahoo_login_response_stage_2.html +16 -0
  45. data/test/scripts/live_test.rb +25 -0
  46. data/test/test_blackbook.rb +60 -0
  47. data/test/test_blackbook_exporter_base.rb +16 -0
  48. data/test/test_blackbook_exporter_vcf.rb +52 -0
  49. data/test/test_blackbook_exporter_xml.rb +16 -0
  50. data/test/test_blackbook_importer_aol.rb +113 -0
  51. data/test/test_blackbook_importer_base.rb +24 -0
  52. data/test/test_blackbook_importer_csv.rb +60 -0
  53. data/test/test_blackbook_importer_gmail.rb +117 -0
  54. data/test/test_blackbook_importer_hotmail.rb +147 -0
  55. data/test/test_blackbook_importer_page_scraper.rb +51 -0
  56. data/test/test_blackbook_importer_yahoo.rb +97 -0
  57. data/test/test_helper.rb +69 -0
  58. data/vendor/plugins/blackbook/lib/autotest/blackbook.rb +27 -0
  59. data/vendor/plugins/blackbook/lib/autotest/discover.rb +3 -0
  60. metadata +176 -0
@@ -0,0 +1,431 @@
1
+
2
+
3
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml" >
6
+ <head><link type="text/css" rel="stylesheet" href="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/styles-lite-all.css" /><script type="text/javascript" src="BasicBundle.js.aspx"></script><script type="text/javascript" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/js/external_compressed/axs.js"></script><script type="text/javascript" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/js/lite_compressed/lite.js"></script><script type="text/javascript" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/js/external_compressed/adsWrapper.js"></script><title>
7
+ AIM Mail - Contacts
8
+ </title></head>
9
+
10
+ <body onload="onloadFunctions();">
11
+
12
+
13
+ <div class="WSHat">
14
+ <div class="leftHat">
15
+ <div class="topHat">
16
+ <ul class="hatLinks"><li><a target="_blank" href="http://pr.atwola.com/promoclk/100001269x1116143256x1077350428/aol?redir=http:%2F%2Fwww.aol.com">AOL</a></li><li><a target="_blank" href="http://my.aol.com">myAOL</a></li><li class="last"><a target="_blank" href="http://pr.atwola.com/promoclk/100001269x1115550333x1077361411/aol?redir=http:%2F%2Fwww.aol.com%2Fmksplash.adp">Make AOL My Home Page</a></li></ul>
17
+ </div>
18
+ <div class="logoArea">
19
+ <img src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/hat_logo_lite.gif" class="logo" alt="Mail logo">
20
+ </div>
21
+ <div class="salutation">
22
+ Hi, joe.user@aim.com
23
+ <a href="http://webmail.aol.com/34865/aim/en-us/common/Logout.aspx?siteState=ver%3a3%7cac%3aWS%7cat%3aSNS%7cld%3awebmail.aol.com%7cuv%3aAIM%7clc%3aen-us%7cmt%3aAIM%7csnt%3aScreenName%7crt%3aBASIC" class="signOutLink">
24
+ Sign Out
25
+ </a>
26
+ </div>
27
+ </div>
28
+
29
+ <div class="mlBanner">
30
+
31
+ <script>
32
+ var lowRes = false;
33
+ if (screen.width < 1024) {
34
+ lowRes = true;
35
+ }
36
+ </script>
37
+
38
+ <div id="myAd">
39
+ <script type="text/javascript">
40
+ adsDisableTacoda();
41
+ var myAd = document.getElementById("myAd");
42
+ adSetTarget('_blank');
43
+ adSetType("I");
44
+ if (lowRes) {
45
+ htmlAdWH(93210713, 468, 60);
46
+ myAd.className="mlBannerSmall";
47
+ } else {
48
+ htmlAdWH(93225974, 728, 90);
49
+ myAd.className="mlBannerLarge";
50
+ }
51
+ </script>
52
+ </div>
53
+
54
+ </div>
55
+
56
+ <div class="bottomHat">
57
+ <div class="topHat_bottom">
58
+
59
+ <script type="text/javascript">
60
+ var aolHeader = {
61
+ fSubmitToMsgList: function(sFolder) {
62
+ if (sFolder) {
63
+ document.forms.MsgList.folder.value = sFolder;
64
+ }
65
+ try{document.forms.MsgList.submit();}catch(ex){}
66
+ },
67
+ fSubmitToCompose: function() {
68
+ if(document.forms.contactListForm) {
69
+ document.forms.contactListForm.pageAction.value = "compose";
70
+ document.forms.contactListForm.submit();
71
+ }
72
+ else {
73
+ document.forms.Compose.submit();
74
+ }
75
+ },
76
+ fSearchReturnPress: function(event) {
77
+ var charCode = (event.charCode) ? event.charCode : ((event.which) ? event.which : event.keyCode);
78
+
79
+ if (charCode == 13 || charCode == 3) {
80
+ aol.wsl.fbSearchHandler('Search The Web');
81
+ }
82
+ }
83
+ };
84
+ </script>
85
+
86
+ <form>
87
+ <input type=button value="Check Mail" id="checkMailBtn" onclick="document.forms.MsgList.action='MsgList.aspx#leftNav'; aolHeader.fSubmitToMsgList('Inbox');return false;" />
88
+ <input type=button value="Compose" id="writeMailBtn" onclick="aolHeader.fSubmitToCompose();return false;" />
89
+ <input type=hidden name='folder' value='Inbox' />
90
+ </form>
91
+ <div class=fieldsetHidden>
92
+ <form method=POST name=MsgList action='MsgList.aspx' enctype="multipart/form-data" accept-charset=UTF-8>
93
+ <input type=hidden name='user' value='ULKLrUelQ2' />
94
+ <input type=hidden name='folder' value='Inbox' />
95
+
96
+ <input type=hidden name='sort' value='received' />
97
+ <input type=hidden name='sortDir' value='descending' />
98
+ <input type=hidden name='showUserFolders' value='False' />
99
+ </form>
100
+
101
+ <form method=POST name=Compose action='Compose.aspx' enctype="multipart/form-data" accept-charset=UTF-8>
102
+ <input type=hidden name='user' value='ULKLrUelQ2' />
103
+ <input type=hidden name='folder' value='Inbox' />
104
+ <input type=hidden name='showUserFolders' value='False' />
105
+ </form>
106
+ </div>
107
+ </div>
108
+
109
+ <div class="searchArea nobr">
110
+ <form name="searchFormHeader" id="searchHeader" onsubmit="return false;">
111
+ <input type="text" id=searchEditHeader name="searchQueryHeader" maxlength="256" size=14 onkeypress="aolHeader.fSearchReturnPress(event);" onFocus="aol.wsl.fClearSearchTextboxHeader(this);" class="wsInputDefaultHeader" value="Search The Web">
112
+ <label for=searchEditHeader><span class=SROnly>Search The Web</span></label>
113
+ <select id="searchOptions" style=" display: none;" name="searchIn"><option value="http://search.aol.com/aolcom/search?invocationType=wbmailcayman_centered&query=">Whole Web</option></select>
114
+ <input id="searchSubmitHeader" name="searchSubmitHeader" type=button onclick="return aol.wsl.fbSearchHandler('Search The Web');" disabled="true" value="Search" title="Start searching the Web"/>
115
+ </form>
116
+ </div>
117
+
118
+ <div>
119
+ <span class="searchGoogleText">
120
+ enhanced<br>by
121
+ </span>
122
+ <img alt="Google logo" class="searchGoogle" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif"
123
+ </div>
124
+
125
+ <div class="adminLinks">
126
+ <ul class="hatLinks">
127
+
128
+ <li class="link"><a href='GeneralSettings.aspx' onclick="try{document.location='GeneralSettings.aspx?user=ULKLrUelQ2';return false;}catch(e){}">
129
+ Settings</a></li>
130
+ <li class="last"><a href="http://help.channels.aol.com/topic.adp?topicId=Product_WebSuiteBasic" onclick="aol.wsl.fOnHelpClick(event, 'http://webmail.aol.com/34865/aim/en-us/'); return false;">Help</a></li>
131
+ </ul>
132
+ </div>
133
+ </div>
134
+
135
+
136
+
137
+
138
+
139
+
140
+ </div>
141
+
142
+
143
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" class="tblContainer">
144
+ <tr>
145
+
146
+ <td class="tblLeftNav">
147
+ <div class=ws_nav>
148
+
149
+
150
+ <div class=ws_nav_top>
151
+
152
+ <script>
153
+ var aolLeftNav = {
154
+ fSubmitToMsgList: function(sFolder) {
155
+ if (sFolder) {
156
+ document.forms.MsgList.folder.value = sFolder;
157
+ }
158
+ try{document.forms.MsgList.submit();}catch(ex){}
159
+ },
160
+ fSubmitToCompose: function() {
161
+ if(document.forms.contactListForm) {
162
+ document.forms.contactListForm.pageAction.value = "compose";
163
+ document.forms.contactListForm.submit();
164
+ } else {
165
+ document.forms.Compose.submit();
166
+ }
167
+ },
168
+ fSubmitSearchForm: function(){
169
+
170
+ if(document.forms.searchForm.searchIn.value == "Contacts")
171
+ {
172
+ document.forms.searchForm.action = "http://webmail.aol.com/34865/aim/en-us/Lite/ContactList.aspx";
173
+
174
+ }
175
+ }
176
+ };
177
+ </script>
178
+ <div class="searchArea nobr">
179
+ <form name="searchForm" id=search method="POST"
180
+ action="http://webmail.aol.com/34865/aim/en-us/Lite/MsgList.aspx">
181
+ <input type=hidden name="user" value="ULKLrUelQ2">
182
+ <input type=hidden name='folder' value='Inbox' />
183
+ <input type=hidden name="searchAction" value="search">
184
+ <table align="center"><tbody><tr><td colspan="2">
185
+ <input type="text" id=searchEdit name="searchQuery" maxlength="256" size=14 onFocus="aol.wsl.fClearSearchTextbox(this);" class="wsInputDefault" value="Search Contacts">
186
+ <label for=searchEdit><span class=SROnly>Search Mail</span></label>
187
+ </td></tr><tr><td>
188
+ <select class ="searchSelect" id=searchOptions name="searchIn">
189
+ <option value="Contacts">Contacts</option><option value="alltext">Mail All</option><option value="subject">Mail Subject</option><option value="from">Mail Sender</option>
190
+ </select>
191
+ </td><td>
192
+ <input onclick="aolLeftNav.fSubmitSearchForm();" class="goImg" id="searchSubmit" name="searchSubmit" type="image" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" value="Go" title="Start searching mail"/>
193
+ </td></tr></tbody></table>
194
+ </form>
195
+ </div>
196
+ </div>
197
+ <div class=swAds>
198
+
199
+ <div class="swAd1">
200
+ <script type="text/javascript">
201
+ adsDisableTacoda();
202
+ adSetType("I");
203
+ adSetTarget('_blank');
204
+ htmlAdWH(93237312, 160, 40);
205
+ </script>
206
+ </div>
207
+
208
+ </div>
209
+ <h1 id=leftNav class=SROnly>
210
+ <a name=leftNav>List of Folders</a>
211
+ </h1>
212
+ <div class=ws_main_pane>
213
+
214
+ <div id=sysFolders>
215
+
216
+ <div class='navItem '>
217
+ <div class='navItemLabel'>
218
+ <a title='Today on AIM' href="Today.aspx?notc=true">
219
+ <div class='icon iconToday'></div>
220
+ Today on AIM
221
+ </a>
222
+ </div>
223
+ </div>
224
+
225
+
226
+ <div class="navItem "><div class="navItemLabel"><a href='#' id=inboxLnk onclick="aolLeftNav.fSubmitToMsgList('Inbox');return false;" title="Inbox Folder View"><div class="icon iconInbox"></div>Inbox<span id="InboxCount"></span></a></div></div>
227
+ <div class="navItem "><div class="navItemLabel"><a href='#' onclick="aolLeftNav.fSubmitToMsgList('Drafts');return false;" title="Drafts Folder View"><div class="icon iconFolder"></div>Drafts<span id="DraftsCount"></span></a></div></div>
228
+ <div class="navItem "><div class="navItemLabel"><a href='#' id=sentFolderLnk onclick="aolLeftNav.fSubmitToMsgList('Sent');return false;" title="Sent Folder View"><div class="icon iconFolder"></div>Sent</a></div></div>
229
+ <div class="navItem "><div class="navItemLabel"><a href='#' onclick="aolLeftNav.fSubmitToMsgList('SavedIMs');return false;" title="IMs Folder View"><div class="icon iconFolder"></div>IMs</a></div></div>
230
+ <div class="navItem "><div class="navItemLabel"><a href='#' onclick="aolLeftNav.fSubmitToMsgList('Spam');return false;" title="Spam Folder View"><div class="icon iconFolder"></div>Spam<span id="SpamCount"></span></a></div></div>
231
+ <div class="navItem "><div class="navItemLabel"><a href='#' onclick="aolLeftNav.fSubmitToMsgList('Trash');return false;" title="Trash Folder View"><div class="icon iconFolder"></div>Trash</a></div></div>
232
+
233
+ </div>
234
+
235
+ <div class='navItemContacts'><div class='navItem navItemCurrent'><div class='navItemLabel'><a title='Contacts' id=contactsLnk href="ContactList.aspx?folder=Inbox&showUserFolders=False"><div class='icon iconContacts'></div>Contacts</a></div></div></div>
236
+
237
+
238
+ <div class="navItemMyFolders">
239
+ <a href="foo" onclick="changeShowUserFolders(true); return false;" title="Show all of your folders">
240
+ <div class="twisty twistyClosed">
241
+ <img src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" />
242
+ </div>
243
+ <div class="myFoldersLabel nobr">
244
+ <h2 class="plain">My Folders</h2>
245
+ </div>
246
+ </a>
247
+ <span class="manageFolders wsLink nobr"><a href="Folders.aspx" >Manage Folders</a></span>
248
+ </div>
249
+
250
+
251
+
252
+ <script>
253
+ axs.keyreg("control+alt+a",aol.wsl.fAutoClick,{des:"Contacts",args:[{sId:"contactsLnk"}]});
254
+ axs.keyreg("control+alt+i",aol.wsl.fAutoClick,{des:"Go to Inbox Folder View",args:[{sId:"inboxLnk"}]});
255
+ axs.keyreg("control+alt+m",aol.wsl.fAutoClick,{des:"Check Mail",args:[{sId:"checkMailBtn"}]});
256
+ axs.keyreg("control+alt+n",aol.wsl.fAutoClick,{des:"Compose",args:[{sId:"writeMailBtn"}]});
257
+ axs.keyreg("control+alt+o",aol.wsl.fAutoClick,{des:"Go to Sent Folder View",args:[{sId:"sentFolderLnk"}]});
258
+ </script>
259
+ </div>
260
+ <div class=swAds>
261
+
262
+ <div class="swAd1">
263
+ <script type="text/javascript">
264
+ adsDisableTacoda();
265
+ adSetType("I");
266
+ adSetTarget('_blank');
267
+ htmlAdWH(93210708, 160, 40);
268
+ </script>
269
+ </div>
270
+
271
+ </div>
272
+ </div>
273
+ </td>
274
+ <td class="tblMainArea" id="tblMainArea">
275
+
276
+
277
+
278
+ <div class=omniDiv>
279
+ <script type="text/javascript">
280
+ var s_account = "aolaimmail,aolsvc";
281
+ </script>
282
+
283
+ <!-- In Omniture H code, the file inclusion has to come first -->
284
+ <script type="text/javascript" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/js/external/OmniUniH.js"></script>
285
+
286
+ <script type="text/javascript">
287
+ if (!window.s_265) s_265 = s;
288
+
289
+ s_265.channel = "aim.mail";
290
+ s_265.pageName = "Contact List";
291
+ s_265.pfxID = "wml";
292
+ s_265.prop1 = "WebSuite Basic";
293
+ s_265.prop2 = "Contacts";
294
+ var idx = document.location.href.indexOf("?");
295
+ s_265.prop12 = (idx == -1) ? document.location.href : document.location.href.substring(0, idx);
296
+ var s_code = s_265.t();
297
+ if (s_code) document.write(s_code);
298
+ </script>
299
+ </div>
300
+
301
+
302
+ <div class="contactList">
303
+ <form id="contactListForm" enctype="multipart/form-data" method="post" action="http://webmail.aol.com/34865/aim/en-us/Lite/ContactList.aspx" accept-charset="UTF-8">
304
+
305
+ <div class="toolbar"><div class="basicControls"><input type="submit" name="NewContact" value="New Contact" id="newContactBtn1" title="New Contact Button" tabindex="-1"/><input type="submit" name="NewList" value="New List" id="newListBtn1" title="New List Button" tabindex="-1"/><input type="submit" name="Import" value="Import" title="Import Button" tabindex="-1"/><input type="submit" name="DeleteContacts" value="Delete" id="deleteContactsBtn1" title="Delete Button" tabindex="-1" onclick="return deleteConfirmation('Are you sure you want to delete the selected contacts?');" disabled="disabled" /><input type="submit" name="SendEmail" id="sendEmailBtn1" title="Send Email Button" value="Email" tabindex="-1"/><input type="button" onclick="ProcessCommand('4','An error occurred while processing your command.','The selection is incorrect.','An unspecified error has occurred.','\n\nIf this problem continues, please see our technical support information at ','No contacts are selected. Please select one or more contacts before using this command.','','http://webmail.aol.com/34865/aim/en-us/Lite/','ULKLrUelQ2');" class="toolbarType" name="messageAction" value="Print" tabindex="-1"></div><div class="toolbarRight"><div style="display:inline;float:left; margin-top:3px;"><span class="showLabel">View:</span><select name ="categoryFilter" class="categoryFilterSelect" title="Category Filter Select" tabindex="-1"/><option value = "All">All</option><option value = "Auto-Added">Auto-Added</option><option value = "Co-Workers">Co-Workers</option><option value = "Family">Family</option><option value = "Friends">Friends</option><option value = "Uncategorized">Uncategorized</option></select><input type="submit" title="Filter Submit Button" tabindex="-1" name="filterSubmitButton" value="Go" onclick="categoryFilterSubmit();"/></div><div style="display:inline;float:right;"><select disabled="disabled" name="pageJumpTo" title="PageJumpTo Select" tabindex="-1"><option class="disabled">Page 1 of 1</option></select><input style="margin-right:5px;" type="submit" title="PageJumpTo Submit Button" tabindex="-1"name="pageJumpAction" value="Go" disabled="disabled"/><img class="prevButtonDisabled" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" id="prevBtn1" title="Previous Button" tabindex="-1"/><img class="nextButtonDisabled" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" id="nextBtn1" title="Next Button" tabindex="-1"/></div></div><div style="clear:both;"></div></div>
306
+
307
+ <h1 id=main class=SROnly><a name=main>Contacts</a></h1>
308
+
309
+
310
+
311
+ <table width="100%" class="contactListTable" border="0" cellpadding="0" cellspacing="0">
312
+ <tr><th class="contactCheckCol"><input class="selectAllCB" type="checkbox" name="selectAllCB" onclick="aol.wsl.fContactsSelectAll();"/></th><th class="contactNameCol sortedColumn"><div class="contactNameHeader" onclick="sort('contactListForm','AB_SORT_ASCENDING','AB_SORT_BY_NAME');"><a href="#" class="contactNameHeaderLabel" onclick="sort('contactListForm','AB_SORT_ASCENDING','AB_SORT_BY_NAME');">Name</a></div><div class="sortAscending"></div></th><th class="contactEmailCol"><a href="#" class="contactEmailHeaderLabel" onclick="sort('contactListForm','AB_SORT_DESCENDING','AB_SORT_BY_EMAIL');">Email</a></th><th class="contactPhoneCol"><div class="headerLabel">Phone</div></th><th class="contactEditColSmall"><img src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" width="35" height="1"></th></tr>
313
+
314
+ <tr><td class="contactCheck"><input type="checkbox" name="mailto_select" onclick="aol.wsl.fContactsSelectCheckbox(this);" value="3" id="contact_3"/><label for="contact_3"><span class="SROnly">Jane User jane.user</span></label></td>
315
+ <td class="contactName" id="3"><a href="#" id="3" onclick="detailClick('3');" class="contactNameLabel" title="Details-Contact:Jane User jane.user">Jane User</a></td>
316
+ <td class="contactEmail" id="3"><a href="#" id="3" onclick="detailClick('3');" title="Details-Contact:Jane User jane.user"><span class="contactPrimaryEmailLabel">jane.user<span class="contactPrimaryEmailLabel">,</span><span class="contactOtherEmailLabel">jane.user@example.com</span></a></td><td NOWRAP class="contactPhone" id="3" onclick="detailClick('3');"></td>
317
+ <td class="contactEdit" id="3"><a href="#" title="Edit-Contact:Jane User jane.user" id="3" onclick="editClick('3');" class="contactEditLink">Edit</a></td></tr>
318
+ <tr><td class="contactCheck"><input type="checkbox" name="mailto_select" onclick="aol.wsl.fContactsSelectCheckbox(this);" value="4" id="contact_4"/><label for="contact_4"><span class="SROnly">Joe User joe.user@example.com</span></label></td>
319
+ <td class="contactName" id="4"><a href="#" id="4" onclick="detailClick('4');" class="contactNameLabel" title="Details-Contact:Joe User joe.user@example.com">Joe User</a></td>
320
+ <td class="contactEmail" id="4"><a href="#" id="4" onclick="detailClick('4');" title="Details-Contact:Joe User joe.user@example.com"><span class="contactPrimaryEmailLabel">joe.user@example.com</span><span class="contactPrimaryEmailLabel">,</span><span class="contactOtherEmailLabel">joe.user@example2.com</span></a></td><td NOWRAP class="contactPhone" id="4" onclick="detailClick('4');"></td>
321
+ <td class="contactEdit" id="4"><a href="#" title="Edit-Contact:Joe User joe.user@example.com" id="4" onclick="editClick('4');" class="contactEditLink">Edit</a></td></tr>
322
+
323
+ <tr><td><img alt="" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" width="15" height="1" /></td><td><img alt="" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" width="150" height="1" /></td><td><img alt="" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" width="1" height="1" /></td><td><img alt="" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" width="100" height="1" /></td><td><img alt="" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" width="45" height="1"/>
324
+
325
+ <!-- suppresses the padding of hidden form elements -->
326
+ <div style="display:none;">
327
+ <input type="hidden" name="folder" value="Inbox" />
328
+ <input type="hidden" id="searchCriteria" name="searchCriteria" value="" />
329
+ <input type="hidden" id="categoryFilterName" name="categoryFilterName" value="" />
330
+ <input type="hidden" id="pageView" name="pageView" value="normal" />
331
+ <input type="hidden" id="pageAction" name="pageAction" value="" />
332
+ <input type="hidden" id="contactUID" name="contactUID" value="" />
333
+ <input type="hidden" id="cancelBackTo" name="cancelBackTo" value="" />
334
+ <input type="hidden" id="startContact" name="startContact" value="1" />
335
+ <input type="hidden" id="previousStartContact" name="previousStartContact" value="0" />
336
+ <input type="hidden" id="nextStartContact" name="nextStartContact" value="0" />
337
+ <input type="hidden" id="paginationAction" name="paginationAction" value="" />
338
+ <input type="hidden" id="contactNameSortDir" name="contactNameSortDir" value="AB_SORT_ASCENDING" />
339
+ <input type="hidden" id="emailSortDir" name="emailSortDir" value="AB_SORT_DESCENDING" />
340
+ <input type="hidden" id="sortBy" name="sortBy" value="AB_SORT_BY_NAME" />
341
+ <input type="hidden" name="user" value="ULKLrUelQ2" />
342
+ </div>
343
+ </td></tr>
344
+ </table>
345
+
346
+ <div class="toolbarLower"><div class="basicControls"><input type="submit" name="NewContact" value="New Contact" id="newContactBtn" title="New Contact Button"/><input type="submit" name="NewList" value="New List" id="newListBtn" title="New List Button"/><input type="submit" name="Import" value="Import" title="Import Button"/><input type="submit" name="DeleteContacts" value="Delete" id="deleteContactsBtn" title="Delete Button" onclick="return deleteConfirmation('Are you sure you want to delete the selected contacts?');" disabled="disabled" /><input type="submit" name="SendEmail" id="sendEmailBtn" title="Send Email Button" value="Email"/><input type="button" onclick="ProcessCommand('4','An error occurred while processing your command.','The selection is incorrect.','An unspecified error has occurred.','\n\nIf this problem continues, please see our technical support information at ','No contacts are selected. Please select one or more contacts before using this command.','','http://webmail.aol.com/34865/aim/en-us/Lite/','ULKLrUelQ2');" class="toolbarType" name="messageAction" value="Print"></div><div class="toolbarRight"><div style="display:inline;float:left; margin-top:3px;"><span class="showLabel">View:</span><select name ="categoryFilter" class="categoryFilterSelect" title="Category Filter Select"/><option value = "All">All</option><option value = "Auto-Added">Auto-Added</option><option value = "Co-Workers">Co-Workers</option><option value = "Family">Family</option><option value = "Friends">Friends</option><option value = "Uncategorized">Uncategorized</option></select><input type="submit" title="Filter Submit Button" name="filterSubmitButton" value="Go" onclick="categoryFilterSubmit();"/></div><div style="display:inline;float:right;"><select disabled="disabled" name="pageJumpTo" title="PageJumpTo Select"><option class="disabled">Page 1 of 1</option></select><input style="margin-right:5px;" type="submit" title="PageJumpTo Submit Button"name="pageJumpAction" value="Go" disabled="disabled"/><img class="prevButtonDisabled" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" id="prevBtn" title="Previous Button"/><img class="nextButtonDisabled" src="http://o.aolcdn.com/cdn.webmail.aol.com/34865/aim/en-us/images/space.gif" id="nextBtn" title="Next Button"/></div></div><div style="clear:both;"></div></div>
347
+
348
+ </form>
349
+ </div>
350
+
351
+
352
+
353
+ <script>
354
+ axs.keyreg("control+alt+d",aol.wsl.fAutoClick,{des:"Delete Button",args:[{sId:"deleteContactsBtn"}]});
355
+ axs.keyreg("control+alt+s",aol.wsl.fAutoClick,{des:"Send Email Button",args:[{sId:"sendEmailBtn"}]});
356
+ axs.keyreg("control+alt+pagedown",aol.wsl.fAutoClick,{des:"Previous",args:[{sId:"prevBtn"}]});
357
+ axs.keyreg("control+alt+pageup",aol.wsl.fAutoClick,{des:"Next",args:[{sId:"nextBtn"}]});
358
+ </script>
359
+
360
+
361
+
362
+
363
+ </td>
364
+
365
+ </tr>
366
+ <tr><td colspan=2>
367
+
368
+
369
+ <div class="footer_container">
370
+ <table align="center"><tbody><tr width=100%><td><ul class="hatLinks links"><li><a href="http://webmail.aol.com/34865/aim/en-us/Lite/Today.aspx?AccessibilityRedirect=true" title="Click here for the accessible version">Accessible Version</a></li><li><a href="http://webmail.aol.com/34865/aim/en-us/Suite.aspx?ac=f&amp;r=464" title="Switch to Standard Version">Standard Version</a></li><li><a target="_blank" href="http://www.aol.com/aolnetwork/aolcom_terms.html">Terms of Service</a></li><li><a target="_blank" href="http://about.aol.com/aolnetwork/mem_commitments">Privacy Policy</a></li><li class=last><a target="_blank" href="http://www.aol.com/aolnetwork/trademarks.html">Trademarks</a></li></ul></td></tr></tbody></table>
371
+ <div class="copyright">&copy; 2008 AOL LLC. All Rights Reserved</div>
372
+ <script>
373
+ axs.l10n.keycap_summary = "This table describes the shortcut keys implemented on this page.";
374
+ axs.l10n.keycap_caption = "Key combinations and the actions they invoke.";
375
+ axs.l10n.keycap_combo = "Key Combination";
376
+ axs.l10n.keycap_act = "Action";
377
+ axs.l10n.keycap_keyshow = "Show or hide the keyboard shortcuts table";
378
+ axs.l10n.keycap_linkshow = "Click this link to show or hide the keyboard shortcuts table.";
379
+ aol.wsl.afRunAtLoad.push(function() {
380
+ // Disable the XML/Accessibility feature for the Sony browser.
381
+ if (navigator.userAgent.indexOf("Sony/COM2") === -1)
382
+ axs.keychart();
383
+ });
384
+ if ((typeof aol != 'undefined') && aol && aol.wsl && aol.wsl.fFocusPerUri) { aol.wsl.fFocusPerUri(); }
385
+ </script>
386
+ </div>
387
+ </td></tr>
388
+ </table>
389
+
390
+
391
+ <iframe id="CheckNewMessagesFrame" height=1 style="visibility:hidden;" src=''></iframe>
392
+ <script>
393
+ function updateCheckNewMessagesFrame() {
394
+ var CheckNewMessagesFrame = document.getElementById("CheckNewMessagesFrame");
395
+ if (CheckNewMessagesFrame) {
396
+ CheckNewMessagesFrame.src = 'http://webmail.aol.com/34865/aim/en-us/common/rpc/RPC.aspx?user=ULKLrUelQ2&automatic=true&dojo.transport=iframe&requests=[{"stateToken":"-1","action":"CheckNewMessages"}]]';
397
+ }
398
+ }
399
+ setInterval(updateCheckNewMessagesFrame, 120000);
400
+ </script>
401
+
402
+
403
+ <script>
404
+
405
+ function onloadFunctions() {
406
+ try {
407
+
408
+ aol && aol.wsl && aol.wsl.fRunAllOnloads && aol.wsl.fRunAllOnloads();
409
+ } catch (ex) {
410
+ //DEBUG alert('Exception in onloadFunctions(): '+ex);
411
+ }
412
+ }
413
+
414
+ function setMessageCounts(InboxCount, DraftsCount, SpamCount) {
415
+ var InboxCountSpan = document.getElementById("InboxCount");
416
+ if (InboxCountSpan != null && InboxCount != -1) {InboxCountSpan.innerHTML = "&nbsp;(" + InboxCount + ")";}
417
+ var DraftsCountSpan = document.getElementById("DraftsCount");
418
+ if (DraftsCountSpan != null && DraftsCount != -1) {DraftsCountSpan.innerHTML = "&nbsp;(" + DraftsCount + ")";}
419
+ var SpamCountSpan = document.getElementById("SpamCount");
420
+ if (SpamCountSpan != null && SpamCount != -1) {SpamCountSpan.innerHTML = "&nbsp;(" + SpamCount + ")";}
421
+
422
+
423
+ }
424
+ </script>
425
+
426
+
427
+ <iframe height=1 style="visibility:hidden;" src='MailCounts.aspx'></iframe>
428
+
429
+
430
+ </body>
431
+ </html>
@@ -0,0 +1,3 @@
1
+ Name,E-mail,Notes,Section 1 - Description,Section 1 - Email,Section 1 - IM,Section 1 - Phone,Section 1 - Mobile,Section 1 - Pager,Section 1 - Fax,Section 1 - Company,Section 1 - Title,Section 1 - Other,Section 1 - Address
2
+ Joe User,joeuser@example.com,
3
+ Some Guy,someguy@example.com,