PageSourceSearch

https://lyuban.by/templates/modern/js/subscriptions.js?1666638717

js lyuban.by collected 2026-09-25 08:26:11 UTC 3,085 bytes, 121 lines download raw bytes

1var icms = icms || {};
2
3icms.subscriptions = (function ($) {
4
5    var self = this;
6
7    this.active_link = {};
8
9    this.onDocumentReady = function () {
10
11        this.setSubscribe();
12
13        $('.subscriber').on('click', function () {
14
15            self.active_link = this;
16
17            self.showLoader();
18
19            $.get($(this).attr('href'), $(this).data('target'), function(data){
20                self.setResult(data);
21            }, 'json');
22
23            return false;
24
25        });
26
27        $('.subscribe_wrap > .count-subscribers').on('click', function () {
28
29            if(+$(this).text() === 0){
30                return false;
31            }
32
33            var list_title = $(this).attr('title');
34
35            icms.modal.showSpinner();
36
37            $.get($(this).data('list_link'), {}, function(data){
38                icms.modal.showContent(list_title, data.html);
39            }, 'json');
40
41            return false;
42
43        });
44
45    };
46
47    this.showLoader = function (){
48        $(self.active_link).addClass('disabled is-busy');
49    };
50
51    this.hideLoader = function (){
52        $(self.active_link).removeClass('disabled is-busy');
53    };
54
55    this.setResult = function (data){
56
57        self.hideLoader();
58
59        if(data.error){
60            alert('error'); return;
61        }
62
63        if(data.confirm_url){
64            icms.modal.openAjax(data.confirm_url, undefined, undefined, data.confirm_title); return;
65        }
66
67        if(data.confirm){
68            icms.modal.openHtml(data.confirm, data.confirm_title); return;
69        }
70
71        if(data.modal_close){
72            icms.modal.close();
73        }
74
75        if(data.success_text){
76            icms.modal.alert(data.success_text);
77        }
78
79        $(self.active_link).data('issubscribe', data.is_subscribe);
80        self.setSubscribe(icms.subscriptions.active_link);
81        $(self.active_link).parent().find('.count-subscribers').html(data.count);
82
83    };
84
85    this.setSubscribe = function (link){
86
87        set = function (obj){
88            var show_btn_title = +$(obj).data('show_btn_title');
89            var is_subscribe = +$(obj).data('issubscribe');
90            if(show_btn_title === 1){
91                $('span', obj).html($(obj).data('text'+is_subscribe));
92            } else {
93                $(obj).attr('title', $(obj).data('text'+is_subscribe));
94                $(obj).tooltip('dispose'); $(obj).tooltip();
95            }
96            $(obj).attr('href', $(obj).data('link'+is_subscribe));
97            if(is_subscribe === 0){
98                $(obj).removeClass('unsubscribe btn-secondary').addClass('subscribe btn-primary');
99            } else {
100                $(obj).removeClass('subscribe btn-primary').addClass('unsubscribe btn-secondary');
101            }
102            $(obj).removeClass('is-busy');
103        };
104
105        if(link){
106            set(link); return;
107        }
108
109        $('.subscriber').each(function(indx){
110            set(this);
111        });
112
113    };
114
115	return this;
116
117}).call(icms.subscriptions || {},jQuery);
118
119function successSubscribe(form_data, result){
120    icms.subscriptions.setResult(result);
121}

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.