1function postActivityResponse(response) { 2 if (response.hadError()) { 3 alert("requestCreateActivity failed."); 4 return; 5 } 6 else { 7 //activity posted successfully, handle appropriate to your app 8 } 9} 10/* $Id: core.js 2010-05-25 01:44 mirlan $ */ 11 12var provider_select; 13 14en4.core.runonce.add(function () { 15 if ($('done-label') != undefined) { 16 $('done-label').getElements('.optional').set('text', ''); 17 $('done-label').setStyle('display', 'inline'); 18 } 19 20 if ($('provider_list') != undefined) { 21 $('provider_list').clone().inject($('default_provider_list')); 22 provider_select = new Fx.Slide('provider_list'); 23 provider_select.slideOut(); 24 } 25 26}); 27 28function sendInvitations() { 29 $recipients = $('recipients').value.trim(); 30 $message = $('message').value; 31 var data = {}; 32 data.format = 'json'; 33 data.recipients = $recipients; 34 data.message = $message; 35 36 $page_id = $('page_id'); 37 if ($page_id) { 38 if ($page_id.value != '') { 39 data.page_id = $page_id.value; 40 } 41 } 42 43 if ($recipients.length == 0) { 44 he_show_message(en4.core.language.translate('INVITER_Failed!, please check your contacts and try again.'), 'error'); 45 $('recipients').focus(); 46 } 47 else { 48 new Request.JSON({ 49 'url':'inviter/index/write-contacts', 50 'method':'post', 51 'data':data, 52 'onRequest':function () { 53 $('writer_contacts_loading').setStyle('display', 'inline'); 54 $$('.writer_textarea').setProperty('disabled', true); 55 }, 56 'onSuccess':function ($resp) { 57 if ($resp != null) { 58 switch ($resp.status) { 59 case 0: 60 he_show_message($resp.message, 'error'); 61 break; 62 63 case 1: 64 he_show_message($resp.message); 65 $('recipients').value = ''; 66 break; 67 68 case 2: 69 he_show_message($resp.message, 'notice'); 70 break; 71 } 72 } 73 74 $$('.writer_textarea').setProperty('disabled', false); 75 $('writer_contacts_loading').setStyle('display', 'none'); 76 $('recipients').focus(); 77 } 78 }).send(); 79 } 80} 81 82var inviter = { 83 84 page_id:0, 85 86 tabs:'div.layout_core_container_tabs', 87 $tabs:{}, 88 page_inviter_forms:'page-inviter-forms-wrapper', 89 $page_inviter_forms:{}, 90 91 inviter_tab:'page-inviter-tab-container', 92 $inviter_tab:{}, 93 94 95 friend_request:function () { 96 var $users = he_contacts.contacts; 97 98 if ($users.length > 0) { 99 var $el = new Element('a', {'href':'inviter/index/friendrequest?user_ids=' + $users, 'class':'smoothbox'}); 100 Smoothbox.open($el); 101 } 102 }, 103 104 invitation_send:function (provider, url) { 105 var $contacts = he_contacts.contacts; 106 var $message = $('message_box').value; 107 108 var $el = new Element('a', { 109 'href': url + '?contact_ids=' + $contacts + '&message=' + $message, 110 'class':'smoothbox' 111 }); 112 113 Smoothbox.open($el); 114 }, 115 116 send_to_fb_on_signup:function (link, host, form) { 117 var $contacts = he_contacts.contacts; 118 var caption = $('fb-caption').value; 119 var $message = $('messageBox').value; 120 FB.ui({ 121 method:'send', 122 display:'popup', 123 to:$contacts, 124 link:link, 125 name:caption, 126 description:$message + ' ' + link, 127 show_error:true 128 }, function (response) { 129 if (response != null) 130 $('invitation_send').submit(); 131 } 132 ); 133 }, 134 135 send_to_fb:function (user_id) { 136 var link = $('fb-invitation-url').value; 137 var host = $('fb-host').value; 138 var invite_code = $('fb-invite-code').value; 139 var caption = $('fb-caption').value; 140 var message = $('fb-message').value; 141 var picture = $('fb-picture').value; 142 var fail_message = $('fb-fail-message').value; 143 144 var redirect_url = false;
145 if ($('fb-redirect-url') != null) 146 redirect_url = $('fb-redirect-url').value; 147 148 var page_id = false; 149 if ($('fb-page-id') != null) 150 page_id = $('fb-page-id').value; 151 var signup = false; 152 if ($('fb-signup') != null) 153 signup = $('fb-signup').value; 154 155 156 FB.login(function (response) { 157 if (response.authResponse) { 158 if (!page_id) { 159 FB.api('/me', function (response) { 160 redirect_url += '?code=' + invite_code + '&message' + message; 161 redirect_url += '&name=' + response.name; 162 }); 163 } 164 FB.ui({ 165 method:'send', 166 display:'popup', 167 to:user_id, 168 link:link, 169 name:caption, 170 description:message + ' ' + link, 171 picture:picture, 172 show_error:true 173 }, function (response) { 174 if(!response) { 175 he_show_message(fail_message, 'error', 5000); 176 } else { 177 if(signup) { 178 document.getElementById("skip").value = "skipFormInviter"; 179 document.getElementById("invite_friends").submit(); 180 } else if(user_id) { 181 182 } else { 183 if (redirect_url) { 184 window.location.href = redirect_url; 185 } 186 else { 187 window.location.href = 'inviter'; 188 } 189 } 190 } 191 } 192 ); 193 } else { 194 console.log('User cancelled login or did not fully authorize.'); 195 } 196 }); 197 return false; 198 }, 199 200 page_inviter_init:function () { 201 var self = this; 202 self.$tabs = $$('div.layout_core_container_tabs')[0]; 203 self.$inviter_tab = new Element('div', {'id':self.inviter_tab, 'class':'page-inviter-tab-container hidden'}); 204 self.$page_inviter_forms = $('page-inviter-forms-wrapper'); 205 self.$inviter_tab.set('html', self.$page_inviter_forms.innerHTML); 206 var $items = new Element('div', {'id':self.tab, 'class':'page-search-tab'}); 207 self.$inviter_tab.appendChild($items); 208 self.$tabs.appendChild(self.$inviter_tab); 209 self.$page_inviter_forms.dispose(); 210 }, 211 212 page_inviter_open:function () { 213 var self = this; 214 $$(self.$tabs.getElements('.generic_layout_container')).each(function ($element) { 215 $element.setStyle('display', 'none'); 216 }) 217 self.$inviter_tab.removeClass('hidden'); 218 self.$inviter_tab.setStyle('display', 'block'); 219 $$($('main_tabs').getElements('li.active')).each(function ($li) { 220 $li.removeClass('active'); 221 }); 222 }, 223 224 page_invitation_send:function (provider, $page_id, url) { 225 226 var $contacts = he_contacts.contacts; 227 var $message = $('message_box').value; 228 229 var $el = new Element('a', { 230 'href': url + '?contact_ids=' + $contacts + '&message=' + $message + '&page_id=' + this.page_id, 231 'class':'smoothbox' 232 }); 233 Smoothbox.open($el); 234 235 }, 236 237 page_inviter_submit:function () { 238 var self = this; 239 var form_data = $('invite_friends').toQueryString(); 240 var r = new Request.HTML({ 241 url:en4.core.baseUrl + 'page-inviter', 242 method:'post', 243 data:form_data, 244 evalScripts:true, 245 onSuccess:function (responseTree, responseElements, responseHTML, responseJavaScript) { 246 if (self.$inviter_tab) { 247 self.$inviter_tab.innerHTML = responseHTML; 248 } 249 en4.core.runonce.trigger(); 250 } 251 }); 252 r.post(); 253 }, 254 255 live_logout:function (logout_url, redirect_url) { 256 window.location.href = logout_url; 257 return; 258 var logout_window = window.open(logout_url, '', 'HEIGHT=500,WIDTH=500') 259 setTimeout(function () { 260 logout_window.close(); 261 window.location.href = redirect_url; 262 }, 6000); 263 }, 264 265 share_to:function (provider) { 266 267 } 268}; 269 270var provider = { 271 272 integrated_providers:{}, 273 274 value_flag:'', 275 276 force_submit:false, 277 278 fb_enabled:false, 279 280 fb_signup_url:'', 281 282 fb_check_session:false, 283 284 oauth_url:'', 285 286 show_providers:function () { 287 provider_select.element.removeClass('providers_hidden');
288 provider_select.toggle(); 289 $('provider_box-toggle_providers').toggleClass('hide_provider_btn'); 290 }, 291 292 select_provider:function ($el, $show_suggest) { 293 294 var label = $el.getElement('.provider_name').get('text').trim(); 295 var $photo = $el.getElement('.provider_logo img').clone(); 296 297 $('provider_box-selected_provider').empty().grab($photo); 298 $('provider_box').addClass('active_provider_box_input'); 299 $('provider_box').value = label; 300 301 var invite_page = $('email_box-wrapper') ? true : false; 302 var $main_container = $('inviter-importer-form'); 303 304 if (this.integrated_providers[label]) { 305 if (invite_page) { 306 $('email_box-wrapper').addClass('display_none'); 307 $('password_box-wrapper').addClass('display_none'); 308 } else { 309 $main_container.getElement('#inviter_email_box').addClass('display_none'); 310 $main_container.getElement('#inviter_password_box').addClass('display_none'); 311 } 312 } else { 313 if (invite_page) { 314 $('email_box-wrapper').removeClass('display_none'); 315 $('password_box-wrapper').removeClass('display_none'); 316 } else { 317 $main_container.getElement('#inviter_email_box').removeClass('display_none'); 318 $main_container.getElement('#inviter_password_box').removeClass('display_none'); 319 } 320 } 321 322 if ($show_suggest == true) { 323 //provider_suggest($('provider_box')); 324 } 325 else { 326 $('provider_box-toggle_providers').toggleClass('hide_provider_btn'); 327 provider_select.toggle(); 328 } 329 }, 330 331 provider_suggest:function ($el) { 332 var self = this; 333 334 $value = $el.value.trim(); 335 var $result = Array(Array()); 336 var $j = 0; 337 338 if ($el.value.trim().length == 0) { 339 self.value_flag = ''; 340 provider_select.element.addClass('providers_hidden'); 341 provider_select.slideOut(); 342 $('provider_list').empty().set('html', $('default_provider_list').getElements('.provider_list').get('html')); 343 $('provider_box-toggle_providers').removeClass('hide_provider_btn'); 344 } 345 346 else if ($value.length > 0 && self.value_flag != $el.value.trim()) { 347 $('provider_list').empty(); 348 self.value_flag = $value; 349 for (var $i = 0; $i < $providers.length; $i++) { 350 if ($value.toLowerCase() == $providers[$i].title.trim().substr(0, $value.length).toLowerCase()) { 351 $div = new Element('div', 352 { 353 'class':'provider' 354 }); 355 356 $provider_logo = new Element('div', 357 { 358 'class':'provider_logo' 359 }); 360 361 $img = new Element('img', 362 { 363 'src':'application/modules/Inviter/externals/images/providers/' + $providers[$i].logo 364 }); 365 366 $provider_name = new Element('div', 367 { 368 'class':'provider_name' 369 }); 370 371 $div_clear = new Element('div', 372 { 373 'styles':{'clear':'both'} 374 }); 375 376 $provider_name.set('text', $providers[$i].title); 377 $provider_logo.grab($img); 378 $div.grab($provider_logo); 379 $div.grab($provider_name); 380 $div.grab($div_clear); 381 $div.addEvent('click', function () { 382 provider.select_provider(this, false) 383 }); 384 385 $('provider_list').grab($div, 'bottom'); 386 $j++; 387 } 388 } 389 if ($j > 0) { 390 provider_select.element.removeClass('providers_hidden'); 391 provider_select.slideIn(); 392 $('provider_box-toggle_providers').addClass('hide_provider_btn'); 393 } 394 } 395 }, 396 397 provider_blur:function ($el) { 398 $value = $el.value.trim(); 399 for (var $i = 0; $i < $providers.length; $i++) { 400 if ($value.toLowerCase() == $providers[$i].title.toLowerCase()) { 401 $img = new Element('img', 402 { 403 'src':'application/modules/Inviter/externals/images/providers/' + $providers[$i].logo 404 }); 405 $('provider_box-selected_provider').empty().grab($img); 406 $('provider_box-selected_provider').setStyle('display', ''); 407 $('provider_box').value = $providers[$i].title; 408 409 provider_select.element.addClass('providers_hidden'); 410 provider_select.slideOut(); 411 412 $('provider_box-toggle_providers').removeClass('hide_provider_btn'); 413 } 414 } 415 }, 416 417 submit_form:function ($node) { 418 $node = $($node); 419 420 var self = this; 421 var $form = $($node).getParent('form'); 422 var label = $form.getElement('input[name="provider_box"]').value.trim(); 423 424 if (this.force_submit) { 425 return true; 426 } 427 if (this.integrated_providers[label]) { 428 if (label == 'Facebook') { 429 inviter.send_to_fb(''); 430 return false;
431 } 432 /*if(label=='Live/Hotmail' || label == 'MSN') { 433 alert(label); 434 console.log(this.integrated_providers); 435 return false; 436 }*/ 437 438 this.open_connect(label); 439 return false; 440 } 441 return true; 442 }, 443 444 signup_submit_form:function ($node) { 445 $node = $($node); 446 447 var self = this; 448 var $form = $($node).getParent('form'); 449 var label = $form.getElement('input[name="provider_box"]').value.trim(); 450 451 finishForm(); 452 453 if (this.force_submit && this.integrated_providers[label] && label == 'Facebook') { 454 $form.setProperty('action', this.fb_signup_url); 455 } else { 456 $form.setProperty('action', ''); 457 } 458 $form.setProperty('action', ''); 459 if (this.force_submit) { 460 return true; 461 } 462 463 if (this.integrated_providers[label]) { 464 if (label == 'Facebook') { 465 inviter.send_to_fb(''); 466 return false; 467 } 468 this.open_connect(label+'/signup/1'); 469 return false; 470 } 471 472 return true; 473 }, 474 475 check_fb_session:function () { 476 FB.getLoginStatus(function (response) { 477 if (response.status == "connected") { 478 alert(1); 479 } else { 480 alert(2); 481 } 482 }); 483 }, 484 485 open_connect:function (label) { 486 label = label.toLowerCase(); 487 label = label.replace('!', ''); 488 489 if (label == 'live/hotmail' || label == 'msn') { 490 label = 'hotmail'; 491 } 492 493 var url = this.oauth_url + '/provider/' + label; 494 window.open(url, '', 'HEIGHT=500,WIDTH=800'); 495 }, 496 497 set_enabled:function (label, status) { 498 this.integrated_providers[label] = status; 499 } 500} 501 502var suggest = { 503 li:null, 504 suggest_url:'inviter/ajax/suggest', 505 current_suggest:{}, 506 507 remove_suggest:function ($noneFriend_id, $widget) { 508 var self = this; 509 510 new Request.JSON({ 511 'url':self.suggest_url, 512 'method':'post', 513 'data':{'format':'json', 'current_suggests':self.current_suggests, 'nonefriend_id':$noneFriend_id, 'widget':$widget}, 514 'onRequest':function () { 515 self.li = $('suggest_' + $noneFriend_id).getParent('li'); 516 self.li.fade('out'); 517 }, 518 'onSuccess':function ($response) { 519 if ($response != null) { 520 self.current_suggests = $response.current_suggests; 521 $html = $response.html; 522 523 if ($html.trim() == '""') { 524 setTimeout('suggest.suggest_destroy()', '100'); 525 } 526 else { 527 setTimeout('suggest.suggest_replace(' + $html + ')', '100'); 528 } 529 } 530 } 531 }).send(); 532 }, 533 534 suggest_destroy:function () { 535 var self = this; 536 self.li.destroy(); 537 self.li = null; 538 }, 539 540 suggest_replace:function ($html) { 541 var self = this; 542 self.li.set('html', $html); 543 self.li.fade('in'); 544 self.li = null; 545 }, 546 547 suggest_more:function ($el) { 548 $('suggest_more_button').destroy(); 549 $('suggest_list').adopt($('more_suggests').getElements('li')); 550 }, 551 552 edit_suggest:function () { 553 he_contacts.box('inviter', 554 'getNonefriends', 555 'suggest.add_to_suggest', 556 en4.core.language.translate('INVITER_Edit Suggest List'), 557 {'button_label':en4.core.language.translate('INVITER_Add to Suggest')}, 558 0); 559 }, 560 561 add_to_suggest:function ($user_ids) { 562 if ($user_ids.length > 0) { 563 new Request.JSON({ 564 'url':'inviter/ajax/addtosuggest', 565 'method':'post', 566 'data':{'format':'json', 'user_ids':$user_ids}, 567 'onSuccess':function ($response) { 568 if ($response.result == 1) { 569 he_show_message(en4.core.language.translate('INVITER_Members successfully have been added to suggest list.')); 570 } else { 571 he_show_message(en4.core.language.translate('INVITER_Failed! Please check and try again later.'), 'error'); 572 } 573 } 574 }).send(); 575 } 576 }, 577
578 show_mutual_friends:function ($user_id) { 579 he_list.box('inviter', 580 'getMutualfriends', 581 en4.core.language.translate('INVITER_Mutual Friends'), 582 {'user_id':$user_id, 'hide_options':true}, 583 0); 584 } 585} 586 587/* Member Introduce */ 588var InviterIntroduce = 589{ 590 showForm:function (uid) { 591 var $widget_box = $(uid); 592 var $smoothbox_cont = $widget_box.getElement('.introduce_form_tpl'); 593 Smoothbox.open($smoothbox_cont, {mode:'Inline', width:400, height:400}); 594 }, 595 596 save:function (node, mode) { 597 var self = this; 598 var $node = $(node); 599 600 var body_txt = $node.getParent().getElement('textarea.introduce_body').value; 601 var widget_id = $node.getParent().getElement('input[name="widget_id"]').value; 602 603 new Request.JSON({ 604 'url':self.url, 605 'method':'post', 606 'data':{'format':'json', 'task':'save', 'body':body_txt}, 607 'onSuccess':function (response) { 608 if (response.result == 1) { 609 he_show_message(en4.core.language.translate('INVITER_Your information successfully saved')); 610 Smoothbox.close(); 611 if (mode == 'profile') 612 self.hideBox2(widget_id, body_txt); 613 else 614 self.hideBox(widget_id); 615 } else { 616 he_show_message(en4.core.language.translate('INVITER_Failed! Please type few words about you.'), 'error'); 617 } 618 } 619 }).send(); 620 }, 621 622 hideBox2:function (uid, body_txt) { 623 var edit_block = $(uid).getElement('div#profile-introduce'); 624 var introduce_block = $(uid).getElement('div.introduce_yourself_cont'); 625 626 627 edit_block.setStyle('display', 'block'); 628 edit_block.getElement('div.introduce_member_body').appendText(body_txt); 629 introduce_block.setStyle('display', 'none'); 630 }, 631 632 hideBox:function (uid, parent_sel) { 633 var $box = $(uid); 634 var $widget_cont = (parent_sel) ? $box.getParent(parent_sel) : $box.getParent('.layout_inviter_introduce_yourself'); 635 636 $widget_cont.set('tween', {'duration':300}); 637 $widget_cont.fade('out'); 638 639 window.setTimeout(function () { 640 $widget_cont.addClass('display_none'); 641 }, 301); 642 }, 643 644 hide:function (uid) { 645 var self = this; 646 647 new Request.JSON({ 648 'url':self.url, 649 'method':'post', 650 'data':{'format':'json', 'task':'hide'}, 651 'onSuccess':function (response) { 652 self.hideBox(uid); 653 } 654 }).send(); 655 }, 656 657 hideMember:function (node, user_id) { 658 var self = this; 659 var $node = $(node); 660 var $box = $node.getParent('.introduce_member_box'); 661 var uid = $box.getProperty('id'); 662 663 new Request.JSON({ 664 'url':self.url, 665 'method':'post', 666 'data':{'format':'json', 'task':'hide_member', 'user_id':user_id}, 667 'onSuccess':function (response) { 668 if (response.result == 0) { 669 self.hideBox(uid, '.layout_inviter_introduce_member'); 670 } else { 671 var $cur_user = $box.getElement('.introduce_member_cont'); 672 var $new_user = new Element('div', {'class':'introduce_member_cont', 'html':response.html}); 673 $new_user.addClass('display_none'); 674 $new_user.setStyles({'visibility':'hidden', 'opacity':0}); 675 676 $box.grab($new_user); 677 678 $cur_user.set('tween', {'duration':300}); 679 $cur_user.fade('out'); 680 $new_user.set('tween', {'duration':300}); 681 682 window.setTimeout(function () { 683 $cur_user.dispose(); 684 $new_user.removeClass('display_none'); 685 $new_user.fade('in'); 686 }, 300); 687 } 688 } 689 }).send(); 690 }, 691 692 hideMoreFriends:function (uid) { 693 var self = this; 694 new Request.JSON({ 695 'url':self.url, 696 'method':'post', 697 'data':{'format':'json', 'task':'hide_more_friends'}, 698 'onSuccess':function (response) { 699 if (response.result == 1) { 700 self.hideBox(uid, '.layout_inviter_find_more_friends'); 701 } 702 } 703 }).send(); 704 }, 705 706 showAddFriendsBox:function (provider) { 707 he_contacts.box('inviter', 'getNoneFriendContactsBox', 'InviterIntroduce.save_friends', en4.core.language.translate('Choose Friends'), {'provider':provider}, 0); 708 }, 709 710 showConnectedFriends:function (provider, label) { 711 he_list.box('inviter', 'getAlreadyFriendContactsBox', label, {'disable_list2':true, 'provider':provider}); 712 }, 713 714 save_friends:function (users) { 715 var self = this; 716 717 if (!users || users.length == 0) { 718 return; 719 } 720 721 new Request.JSON({ 722 'url':self.url, 723 'method':'post', 724 'data':{'format':'json', 'task':'add_friends', 'users':users}, 725 'onSuccess':function (response) { 726 if (response.result == 1) { 727 he_show_message(response.message); 728 window.location.href = window.location.href; 729 } 730 } 731 }).send(); 732 } 733} 734 735var facebook_inviter = { 736 737 buffer:'', 738 loader:'', 739 740 request:function (param, url) { 741 var self = this; 742 var data = {'provider':'facebook'}; 743 if (param == 1) { 744 data.new_param = 1; 745 } 746 return new Request.JSON({ 747 'url':url, 748 'method':'post', 749 'data':data, 750 'format':'json', 751 onSuccess:function (response) { 752 if (response != null) { 753 if (response.login_url != null) { 754 self.open_connect(response.login_url); 755 } 756 if (response.logout_url != null) { 757 self.open_connect(response.logout_url); 758 } 759 } 760 } 761 }).send(); 762 }, 763 764 get_contacts:function (url, loader) { 765 var self = this; 766 var data = {'state':1}; 767 if (loader == 0) 768 this.show_loader(); 769 return new Request.HTML({ 770 url:url, 771 method:'post', 772 data:data, 773 format:'html', 774 evalScripts:true, 775 onSuccess:function (responseTree, responseElements, responseHTML, responseJavaScript) { 776 var script = '<script type="text/javascript">' + responseJavaScript + '</script>' 777 $('fb-tab').innerHTML = script + responseHTML; 778 en4.core.runonce.trigger(); 779 } 780 }).send(); 781 }, 782 783 open_connect:function (url) { 784 window.open(url, '', 'HEIGHT=500,WIDTH=800'); 785 }, 786 787 show_loader:function () { 788 $('fb-tab').getElementsByTagName('form')[0].destroy(); 789 $('inviter-loader').setStyle('display', 'block'); 790 } 791 792}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.