PageSourceSearch

https://ivlog.com/application/modules/Inviter/externals/scripts/core.js?c=250

js ivlog.com collected 2026-10-08 08:58:03 UTC 26,290 bytes, 792 lines download raw bytes

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.