PageSourceSearch

https://www.freestyle-joomla.com/components/com_fss/assets/js/comments.js

js freestyle-joomla.com collected 2026-10-04 02:55:18 UTC 8,263 bytes, 222 lines download raw bytes

1var fss_comment_add = false;
2
3function commentFormRedirect() {
4
5    jQuery("#addcommentform").submit(function (event) {
6        event.preventDefault();
7
8        if (fss_comment_add)
9            return false;
10
11        fss_comment_add = true;
12
13        var $form = jQuery(this),
14        term = $form.find('input[name="s"]').val(),
15        url = $form.attr('action');
16        jQuery('#addcomment').attr("disabled", true);
17
18        var uid = jQuery("#addcommentform").find('[name="uid"]').val();
19
20        jQuery.post(url, jQuery("#addcommentform").serialize(),
21            function (data) {
22
23                var reevent = false;
24                var result = JSON.parse(data);
25
26                // update comments display
27                jQuery('.fss_comments_result_'+uid).each(function () {
28                    if (result['display'] == "before") {
29                        jQuery(this).html(result['comment'] + jQuery(this).html());
30                    } else if (result['display'] == "after") {
31                        jQuery(this).html(jQuery(this).html() + result['comment']);
32                    } else if (result['display'] == "replace") {
33                        jQuery(this).html(result['comment']);
34                    }
35                });
36
37                // update form display
38                if (result['form_display'] == "replace") {
39                    jQuery('#add_comment').html(result['form']);
40                    reevent = true;
41                } else if (result['form_display'] == "clear_comment") {
42                    jQuery('#comment_body').val("");
43                    jQuery('#addcomment').attr("disabled", false);
44                }
45
46                if (reevent) {
47                    commentFormRedirect();
48                }
49
50                if (result['valid'] == 0)
51                    jQuery('#commentaddbutton').click();
52
53                sortCommentHeights();
54
55                fss_comment_add = false;
56
57                if (typeof (grecaptcha) != "undefined") {
58                    var recap_key = jQuery('#recaptcha_public_key').text();
59                    grecaptcha.render(jQuery('.g-recaptcha')[0], {
60                        'sitekey': recap_key
61                    });
62
63                    return;
64                }
65            }
66        );
67
68    });
69
70    jQuery("#editcommentform").submit(function (event) {
71        event.preventDefault();
72
73        var $form = jQuery(this),
74        term = $form.find('input[name="s"]').val(),
75        url = $form.attr('action');
76        var commentid = jQuery('#canceledit').attr('commentid');
77        var uid = jQuery('#canceledit').attr('uid');
78
79        jQuery.post(url, jQuery("#editcommentform").serialize(),
80            function (data) { 
81                var newcomment = jQuery(data);
82                newcomment.insertAfter(jQuery('#fss_comment_' + uid + '_' + commentid));
83                jQuery('#fss_comment_' + uid + '_' + commentid).remove();
84                sortCommentHeights();
85            }
86        );
87
88    });
89}
90
91function sortCommentHeights() {
92    jQuery('.fss_comment').each(function () {
93        var baseheight = jQuery(this).innerHeight();
94        var top = parseInt(jQuery(this).css('padding-top').replace('px', ''));
95        if (top) {
96            baseheight -= top;
97        } else {
98            top = 0;
99        }
100        var bottom = parseInt(jQuery(this).css('padding-bottom').replace('px', ''));
101        if (bottom) {
102            baseheight -= bottom;
103        } else {
104            bottom = 0;
105        }
106        var height = jQuery(this).children('.fss_comment_left').outerHeight();
107        height = Math.max(height, jQuery(this).children('.fss_kb_mod_this').outerHeight());
108        height = Math.max(height, jQuery(this).children('.fss_comment_comment').outerHeight());
109
110        var pad = height - baseheight + top;
111        jQuery(this).css('padding-bottom', pad + 'px');
112    });    
113}
114
115jQuery(document).ready(function () {
116    commentFormRedirect();
117    sortCommentHeights();
118});
119
120function fss_remove_comment(uid, commentid) {
121    jQuery('#fss_comment_' + uid + '_' + commentid + ' > span').removeClass('label-info');
122    jQuery('#fss_comment_' + uid + '_' + commentid + ' > span').addClass('label-warning');
123    jQuery('#fss_comment_' + uid + '_' + commentid + ' > span').removeClass('label-success');
124    jQuery('#fss_comment_' + uid + '_' + commentid + '_cross').css('display', 'none');
125    jQuery('#fss_comment_' + uid + '_' + commentid + '_tick').css('display', 'inline');
126    jQuery('#fss_comment_' + uid + '_' + commentid + '_delete').css('display', 'inline');
127    var url = jQuery('#comments_urls').attr('url');
128    url = url.replace("XXTASKXX", 'removecomment');
129    url = url.replace("XXUIDXX", uid);
130    url = url.replace("XXCIDXX", commentid);
131    jQuery.get(url);
132}
133
134function fss_approve_comment(uid, commentid) {
135    jQuery('#fss_comment_' + uid + '_' + commentid + ' > span').removeClass('label-info');
136    jQuery('#fss_comment_' + uid + '_' + commentid + ' > span').removeClass('label-warning');
137    jQuery('#fss_comment_' + uid + '_' + commentid + ' > span').addClass('label-success');
138    jQuery('#fss_comment_' + uid + '_' + commentid + '_cross').css('display', 'inline');
139    jQuery('#fss_comment_' + uid + '_' + commentid + '_tick').css('display', 'none');
140    jQuery('#fss_comment_' + uid + '_' + commentid + '_delete').css('display', 'none');
141    var url = jQuery('#comments_urls').attr('url');
142    url = url.replace("XXTASKXX", 'approvecomment');
143    url = url.replace("XXUIDXX", uid);
144    url = url.replace("XXCIDXX", commentid);
145    jQuery.get(url);
146}
147
148function fss_delete_comment(uid, commentid) {
149    jQuery('#fss_comment_' + uid + '_' + commentid + ' > span').removeClass('label-info');
150    jQuery('#fss_comment_' + uid + '_' + commentid + ' > span').removeClass('label-warning');
151    jQuery('#fss_comment_' + uid + '_' + commentid + ' > span').removeClass('label-success');
152    jQuery('#fss_comment_' + uid + '_' + commentid).html(jQuery('#comments_urls').attr('deleted'));
153    var url = jQuery('#comments_urls').attr('url');
154    url = url.replace("XXTASKXX", 'deletecomment');
155    url = url.replace("XXUIDXX", uid);
156    url = url.replace("XXCIDXX", commentid);
157
158    jQuery('div.tooltip').remove();
159
160    jQuery.get(url);
161}
162
163function fss_edit_comment(uid, commentid) {
164    jQuery('#fss_comment_' + uid + '_' + commentid).html(jQuery('#comments_urls').attr('wait'));
165    var url = jQuery('#comments_urls').attr('url');
166    url = url.replace("XXTASKXX", 'editcomment');
167    url = url.replace("XXUIDXX", uid);
168    url = url.replace("XXCIDXX", commentid);
169    jQuery('#canceledit').each(function() {
170        var commentid = jQuery(this).attr('commentid');
171        cancel_edit(uid, commentid);
172    });
173    jQuery.get(url, function (data) {
174        jQuery('#fss_comment_' + uid + '_' + commentid).html(data);
175        setup_edit_form();
176    });
177}
178function setup_edit_form()
179{
180    commentFormRedirect();
181
182    jQuery('#canceledit').click(function(ev) {
183        ev.preventDefault();
184        var commentid = jQuery(this).attr('commentid');
185        var uid = jQuery(this).attr('uid');
186        cancel_edit(uid, commentid);
187    });
188}
189
190function cancel_edit(uid, commentid)
191{
192    var url = jQuery('#comments_urls').attr('url');
193    url = url.replace("XXTASKXX", 'showcomment');
194    url = url.replace("XXUIDXX", uid);
195    url = url.replace('XXCIDXX', commentid);
196
197    jQuery.get(url, function (data) {
198        var newcomment = jQuery(data);
199        newcomment.insertAfter(jQuery('#fss_comment_' + uid + '_' + commentid));
200        jQuery('#fss_comment_' + uid + '_' + commentid).remove();
201        sortCommentHeights();
202    });
203}
204
205var fss_ident = jQuery('#comments_urls').attr('ident');
206var fss_published = jQuery('#comments_urls').attr('published');
207
208function fss_moderate_refresh() {
209    fss_ident = jQuery('#ident').val();
210    fss_published = jQuery('#published').val();
211
212    jQuery('#fss_moderate').html("<div class='fss_please_wait'>" + jQuery('#comments_urls').attr('wait') + "</div>");
213
214    var url = jQuery('#comments_urls').attr('refresh');
215    url = url.replace('XXXIDXX', fss_ident);
216    url = url.replace('XXPXX',fss_published);
217
218    jQuery.get(url, function (data) {
219        jQuery('#fss_moderate').html(data);
220        sortCommentHeights();
221    });
222}

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.