1var rcl_actions = []; var rcl_filters = []; var rcl_beats = []; var rcl_beats_delay = 0; var rcl_url_params = rcl_get_value_url_params(); jQuery.fn.extend({ animateCss: function (animationNameStart,functionEnd) { var animationEnd = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend'; this.addClass('animated ' + animationNameStart).one(animationEnd, function() { jQuery(this).removeClass('animated ' + animationNameStart); if(functionEnd){ if(typeof functionEnd == 'function'){ functionEnd(this); }else{ jQuery(this).animateCss(functionEnd); } } }); return this; } }); function rcl_do_action(action_name){ var callbacks_action = rcl_actions[action_name]; if(!callbacks_action) return false; var args = [].slice.call(arguments, 1); callbacks_action.forEach(function(callback, i, callbacks_action) { window[callback].apply(this, args); }); } function rcl_add_action(action_name,callback){ if(!rcl_actions[action_name]){ rcl_actions[action_name] = [callback]; }else{ var i = rcl_actions[action_name].length; rcl_actions[action_name][i] = callback; } } function rcl_apply_filters(filter_name){ var args = [].slice.call(arguments, 1); var callbacks_filter = rcl_filters[filter_name]; if(!callbacks_filter) return args[0]; callbacks_filter.forEach(function(callback, i, callbacks_filter) { args[0] = window[callback].apply(this, args); }); return args[0]; } function rcl_add_filter(filter_name,callback){ if(!rcl_filters[filter_name]){ rcl_filters[filter_name] = [callback]; }else{ var i = rcl_filters[filter_name].length; rcl_filters[filter_name][i] = callback; } } function rcl_get_value_url_params(){ var tmp_1 = new Array(); var tmp_2 = new Array(); var rcl_url_params = new Array(); var get = location.search; if(get !== ''){ tmp_1 = (get.substr(1)).split('&'); for(var i=0; i < tmp_1.length; i++) { tmp_2 = tmp_1[i].split('='); rcl_url_params[tmp_2[0]] = tmp_2[1]; } } return rcl_url_params; } function rcl_is_valid_url(url){ var objRE = /http(s?):\/\/[-\w\.]{3,}\.[A-Za-z]{2,3}/; return objRE.test(url); } function setAttr_rcl(prmName,val){ var res = ''; var d = location.href.split("#")[0].split("?"); var base = d[0]; var query = d[1]; if(query) { var params = query.split("&"); for(var i = 0; i < params.length; i++) { var keyval = params[i].split("="); if(keyval[0] !== prmName) { res += params[i] + '&'; } } } res += prmName + '=' + val; return base + '?' + res; } function rcl_update_history_url(url){ if(url != window.location){ if ( history.pushState ){ window.history.pushState(null, null, url); } } } function rcl_init_cookie(){ jQuery.cookie = function(name, value, options) { if (typeof value !== 'undefined') { options = options || {}; if (value === null) { value = ''; options.expires = -1; } var expires = ''; if (options.expires && (typeof options.expires === 'number' || options.expires.toUTCString)) { var date; if (typeof options.expires === 'number') { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); } else { date = options.expires; } expires = '; expires=' + date.toUTCString(); } var path = options.path ? '; path=' + (options.path) : ''; var domain = options.domain ? '; domain=' + (options.domain) : ''; var secure = options.secure ? '; secure' : ''; document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); } else { var cookieValue = null; if (document.cookie && document.cookie !== '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = jQuery.trim(cookies[i]); if (cookie.substring(0, name.length + 1) === (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } }; } function rcl_add_dynamic_field(e){ var parent = jQuery(e).parents('.dynamic-value'); var box = parent.parent('.dynamic-values'); var html = parent.html(); box.append('<span class="dynamic-value">'+html+'</span>'); jQuery(e).attr('onclick','rcl_remove_dynamic_field(this);return false;').children('i').toggleClass("fa-plus fa-minus"); box.children('span').last().children('input').val('').focus(); } function rcl_remove_dynamic_field(e){ jQuery(e).parents('.dynamic-value').remove(); } function rcl_update_require_checkbox(e){ var name = jQuery(e).attr('name'); var chekval = jQuery('form input[name="'+name+'"]:checked').val(); if(chekval) jQuery('form input[name="'+name+'"]').attr('required',false); else jQuery('form input[name="'+name+'"]').attr('required',true); } function rcl_rand( min, max ) { if( max ) { return Math.floor(Math.random() * (max - min + 1)) + min; } else { return Math.floor(Math.random() * (min + 1)); } } function rcl_notice(text,type,time_close){ time_close = time_close || false; var options = { text: text, type: type, time_close: time_close }; options = rcl_apply_filters('rcl_notice_options',options); var notice_id = rcl_rand(1, 1000); var html = '<div id="notice-'+notice_id+'" class="notice-window type-'+options.type+'"><a href="#" class="close-notice"><i class="rcli fa-times"></i></a>'+options.text+'</div>'; if(!jQuery('#rcl-notice').size()){ jQuery('body > div').last().after('<div id="rcl-notice">'+html+'</div>'); }else{ if(jQuery('#rcl-notice > div').size()) jQuery('#rcl-notice > div:last-child').after(html); else jQuery('#rcl-notice').html(html); } jQuery('#rcl-notice > div').last().animateCss('slideInLeft'); if(time_close){ setTimeout(function () { rcl_close_notice('#rcl-notice #notice-'+notice_id) }, options.time_close); } } function rcl_close_notice(e){ jQuery(e).animateCss('flipOutX',function(e){ jQuery(e).hide(); }); } function rcl_preloader_show(e,size){ var font_size = (size)? size: 80; var margin = font_size/2; var options = { size: font_size, margin: margin, icon: 'fa-circle-o-notch', class: 'rcl_preloader' }; options = rcl_apply_filters('rcl_preloader_options',options); var style = 'style="font-size:'+options.size+'px;margin: -'+options.margin+'px 0 0 -'+options.margin+'px;"'; var html = '<div class="'+options.class+'"><i class="rcli '+options.icon+' fa-spin" '+style+'></i></div>'; if(typeof( e ) === 'string') jQuery(e).after(html); else e.append(html); } function rcl_preloader_hide(){ jQuery('.rcl_preloader').remove(); } function rcl_setup_datepicker_options(){ jQuery.datepicker.setDefaults(jQuery.extend(jQuery.datepicker.regional["ru"])); var options = { monthNames: [ "ЯнваÑÑ", "ФевÑалÑ", "ÐаÑÑ", "ÐпÑелÑ", "Ðай", "ÐÑнÑ", "ÐÑлÑ", "ÐвгÑÑÑ", "СенÑÑбÑÑ", "ÐкÑÑбÑÑ", "ÐоÑбÑÑ", "ÐекабÑÑ" ], dayNamesMin: ["ÐÑ", "Ðн", "ÐÑ", "СÑ", "ЧÑ", "ÐÑ", "Сб"], firstDay: 1, dateFormat: 'yy-mm-dd', yearRange: "1950:c+3", changeYear: true }; options = rcl_apply_filters('rcl_datepicker_options',options); return options; } function rcl_show_datepicker(e){ jQuery(e).datepicker(rcl_setup_datepicker_options()); jQuery(e).datepicker( "show" ); rcl_add_action('rcl_upload_tab','rcl_remove_datepicker_box'); } function rcl_remove_datepicker_box(){ jQuery('#ui-datepicker-div').remove(); } function rcl_init_field_file(field_id){ jQuery("#"+field_id).parents('form').attr("enctype","multipart/form-data"); } function rcl_init_runner(props){ var box = jQuery( '#rcl-runner-' + props.id ); box.children('.rcl-runner-box').slider({ value : parseInt(props.value), min : parseInt(props.min), max : parseInt(props.max), step : parseInt(props.step), create: function( event, ui ) { var value = box.children('.rcl-runner-box').slider( 'value' ); box.children('.rcl-runner-value').text( value ); box.children('.rcl-runner-field').val( value ); }, slide: function( event, ui ) { box.find('.rcl-runner-value').text( ui.value ); box.find('.rcl-runner-field').val( ui.value ); } }); } function rcl_init_range(props){ var box = jQuery( '#rcl-range-' + props.id ); box.children('.rcl-range-box').slider({ range: true, values : [ parseInt(props.values[0]), parseInt(props.values[1]) ], min : parseInt(props.min), max : parseInt(props.max), step : parseInt(props.step), create: function( event, ui ) { var values = box.children('.rcl-range-box').slider( 'values' ); box.children('.rcl-range-value').text( values[0] + ' - ' + values[1]); box.children('.rcl-range-min').val( values[0] ); box.children('.rcl-range-max').val( values[1] ); }, slide: function( event, ui ) { box.children('.rcl-range-value').text( ui.values[0] + ' - ' + ui.values[1] ); box.find('.rcl-range-min').val( ui.values[0] ); box.find('.rcl-range-max').val( ui.values[1] ); } }); } function rcl_init_color(id, props){ jQuery("#"+id).wpColorPicker(props); } function rcl_init_field_maxlength(fieldID){ var field = jQuery('#'+fieldID); var maxlength = field.attr('maxlength'); if(!field.parent().find('.maxlength').size()){ if(field.val()){ maxlength = maxlength - field.val().length; } field.after('<span class="maxlength">'+maxlength+'</span>'); } field.on('keyup', function(){ var maxlength = jQuery(this).attr('maxlength'); if(!maxlength) return false; var word = jQuery(this);
1 var count = maxlength - word.val().length; jQuery(this).next().text(count); if(word.val().length > maxlength) word.val(word.val().substr(0, maxlength)); }); } function rcl_init_ajax_editor(id,options){ if(typeof QTags === 'undefined') return false; rcl_do_action('rcl_pre_init_ajax_editor',{id:id,options:options}); var qt_options = { id: id, buttons: (options.qt_buttons)? options.qt_buttons: "strong,em,link,block,del,ins,img,ul,ol,li,code,more,close" }; QTags( qt_options ); QTags._buttonsInit(); if(options.tinymce){ tinyMCEPreInit.qtInit[id] = qt_options; tinyMCEPreInit.mceInit[id] = { body_class: id, selector: '#'+id, menubar: false, skin: "lightgray", theme: 'modern', toolbar1: "formatselect,bold,italic,bullist,numlist,blockquote,alignleft,aligncenter,alignright,link,unlink,wp_more,spellchecker,fullscreen,wp_adv", toolbar2: "strikethrough,hr,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help", wpautop: true }; tinymce.init(tinyMCEPreInit.mceInit[id]); tinyMCE.execCommand('mceAddEditor', true, id); switchEditors.go(id, 'html'); } } function rcl_setup_quicktags(newTags){ if(typeof QTags === 'undefined') return false;
1 newTags.forEach(function(tagArray, i, newTags) { QTags.addButton( tagArray[0], tagArray[1], tagArray[2], tagArray[3], tagArray[4], tagArray[5], tagArray[6] ); }); } rcl_add_action('rcl_pre_init_ajax_editor','rcl_add_ajax_quicktags'); function rcl_add_ajax_quicktags(editor){ if(typeof Rcl === 'undefined' || !Rcl.QTags) return false; rcl_setup_quicktags(Rcl.QTags); } rcl_add_action('rcl_footer','rcl_add_quicktags'); function rcl_add_quicktags(){ if(typeof Rcl === 'undefined' || !Rcl.QTags) return false; rcl_setup_quicktags(Rcl.QTags); } function rcl_proccess_ajax_return(result){ var methods = { redirect: function(url){ var urlData = url.split('#'); if(window.location.origin + window.location.pathname === urlData[0]){ location.reload(); }else{ location.replace(url); } }, reload: function(){ location.reload(); }, current_url: function(url){ rcl_update_history_url(url); }, dialog: function(dialog){ if(dialog.content){ if(jQuery('#ssi-modalContent').size()) ssi_modal.close(); var ssiOptions = { className: 'rcl-dialog-tab ' + (dialog.class? ' ' + dialog.class: ''), sizeClass: dialog.size? dialog.size: 'auto', content: dialog.content, buttons: [] }; if(dialog.buttons){ ssiOptions.buttons = dialog.buttons; } var buttonClose = true; if ('buttonClose' in dialog) { buttonClose = dialog.buttonClose; } if(buttonClose){ ssiOptions.buttons.push({ label: Rcl.local.close, closeAfter: true }); } if ('onClose' in dialog) { ssiOptions.onClose = function(m){ window[dialog.onClose[0]].apply(this, dialog.onClose[1]); }; } if(dialog.title) ssiOptions.title = dialog.title; ssi_modal.show(ssiOptions); } if(dialog.close){ ssi_modal.close(); } } }; for(var method in result){ if(methods[method]){ methods[method](result[method]); } } } function rcl_ajax(prop){ if(prop.data.ask){ if(!confirm(prop.data.ask)){ rcl_preloader_hide(); return false; } } if(typeof Rcl != 'undefined'){ if(typeof prop.data === 'string'){ prop.data += '&ajax_nonce=' + Rcl.nonce; }else if(typeof prop.data === 'object'){ prop.data.ajax_nonce = Rcl.nonce; } } var action = false; if(typeof prop.data === 'string'){ var propData = prop.data.split('&'); var propObj={}; for(var key in propData) { propObj[propData[key].split("=")[0]] = propData[key].split("=")[1]; } action = propObj.action; }else if(typeof prop.data === 'object'){ action = prop.data.action; } jQuery.ajax({ type: 'POST', data: prop.data, dataType: 'json', url: (typeof ajaxurl !== 'undefined')? ajaxurl: Rcl.ajaxurl, success: function(result, post){ if(!result){ rcl_notice(Rcl.local.error, 'error', 5000); return false; } if(result.error || result.errors){ rcl_preloader_hide(); if(result.errors){ jQuery.each(result.errors, function( index, error ) { rcl_notice(error, 'error', 5000); }); }else{ rcl_notice(result.error, 'error', 5000); } if(prop.error) prop.error(result); return false; } if(!result.preloader_live){ rcl_preloader_hide(); } if(result.success){ rcl_notice(result.success, 'success', 5000); } if(result.warning){ rcl_notice(result.warning, 'warning', 5000); } rcl_do_action('rcl_ajax_success', result); if(prop.success){ prop.success(result); }else{ rcl_proccess_ajax_return(result); } rcl_do_action(action, result); } }); } function rcl_send_form_data(action,e){ var form = jQuery(e).parents('form'); if(!rcl_check_form(form)) return false; if(e && jQuery(e).parents('.preloader-parent')){ rcl_preloader_show(jQuery(e).parents('.preloader-parent')); } rcl_ajax({ data: form.serialize() + '&action=' + action }); } function rcl_check_form(form){ var rclFormFactory = new RclForm(form); return rclFormFactory.validate(); } function rcl_add_beat(beat_name,delay,data){ delay = (delay < 10)? 10: delay; var data = (data)? data: false; var i = rcl_beats.length; rcl_beats[i] = { beat_name: beat_name, delay :delay, data: data }; } function rcl_remove_beat(beat_name){ if(!rcl_beats) return false; var remove = false; var all_beats = rcl_beats;
1 all_beats.forEach(function(beat, index, all_beats){ if(beat.beat_name != beat_name) return; delete rcl_beats[index]; remove = true; }); return remove; } function rcl_exist_beat(beat_name){ if(!rcl_beats) return false; var exist = false; rcl_beats.forEach(function(beat, index, rcl_beats){ if(beat.beat_name != beat_name) return; exist = true; }); return exist; } function rcl_init_table(table_id){ jQuery('#' + table_id).on('click','.rcl-table__cell-must-sort',function(){ jQuery('#' + table_id).find('.rcl-table__cell-must-sort, .rcl-table__cell-sort').removeClass('rcl-table__cell-current-sort'); var sortCell = jQuery(this); var sortby = sortCell.data('sort'); var route = sortCell.attr('data-route'); sortCell.addClass('rcl-table__cell-current-sort'); jQuery('#' + table_id).find('[data-'+sortby+'-value]').addClass('rcl-table__cell-current-sort'); var list = jQuery('#' + table_id + ' .rcl-table__row-must-sort'); list.sort(function(a, b){ var aVal = jQuery(a).find('[data-'+sortby+'-value]').data(sortby+'-value'); var bVal = jQuery(b).find('[data-'+sortby+'-value]').data(sortby+'-value'); if(route == 'asc') return (aVal < bVal) - (aVal > bVal); else return (aVal > bVal) - (aVal < bVal); }); sortCell.attr('data-route', (route == 'desc'? 'asc': 'desc')); jQuery('#' + table_id + ' .rcl-table__row-must-sort').remove(); list.each(function(i,e){ jQuery('#' + table_id + ' .rcl-table__row-header').after(jQuery(this)); }); }); } function RclForm(form){ this.form = form; this.errors = {}; this.validate = function(){ var valid = true; for(var objKey in this.checkForm){ var chekObject = this.checkForm[objKey]; if(!chekObject.isValid.call(this)){ valid = false; break; } }; if(this.errors){ for(var k in this.errors){ this.showError(this.errors[k]); }; } return valid; }; this.addChekForm = function(id, data){ this.checkForm[id] = data; }; this.addChekFields = function(id, data){ this.checkFields[id] = data; }; this.addError = function(id, error){ this.errors[id] = error; }; this.shake = function(shakeBox){ shakeBox.css('box-shadow','red 0px 0px 5px 1px inset').animateCss('shake'); }; this.noShake = function(shakeBox){ shakeBox.css('box-shadow','none'); }; this.showError = function(error){ rcl_notice(error, 'error', 10000); }; this.checkForm = { checkFields: { isValid: function(){ var valid = true; var parent = this; this.form.find('input,select,textarea').each(function(){ var field = jQuery(this); var typeField = field.attr('type'); if(field.tagName && field.tagName.toLowerCase() == 'textarea') { typeField = 'textarea'; } for(var objKey in parent.checkFields){ var chekObject = parent.checkFields[objKey]; if(chekObject.types.length && jQuery.inArray( typeField, chekObject.types ) < 0){ continue; } var shakeBox = (typeField == 'checkbox')? field.next('label'): field; if(!chekObject.isValid(field)){ parent.shake(shakeBox); parent.addError(objKey, chekObject.errorText()); valid = false; return; }else{ parent.noShake(shakeBox); } }; }); return valid; } } }; this.checkFields = { required: { types: [], isValid: function(field){ var required = true; if(!field.is(":required")) return required; var value = false; if(field.attr('type') == 'checkbox'){ if(field.is(":checked")){ value = true; } }else{ if(field.val()) value = true; } if(!value){ required = false; } return required; }, errorText: function(){ return Rcl.errors.required; } }, numberRange: { types: ['number'], isValid: function(field){ var range = true; var val = field.val(); if(val === '') return true; val = parseInt(val); var min = parseInt(field.attr('min')); var max = parseInt(field.attr('max')); if(min != 'undefined' && min > val || max != 'undefined' && max < val){ range = false; } return range; }, errorText: function(){ return Rcl.errors.number_range; } }, pattern: { types: ['text', 'tel'], isValid: function(field){ var val = field.val(); if(!val) return true; var pattern = field.attr('pattern'); if(!pattern) return true; var re = new RegExp(pattern); return re.test(val); }, errorText: function(){ return Rcl.errors.pattern; } }, fileMaxSize: { types: ['file'], isValid: function(field){ var val
1id = true; field.each(function(){ var maxsize = jQuery(this).data("size"); var fileInput = jQuery(this)[0]; var file = fileInput.files[0]; if(!file) return; var filesize = file.size/1024/1024; if(filesize > maxsize){ valid = false; return; } }); return valid; }, errorText: function(){ return Rcl.errors.file_max_size; } }, fileAccept: { types: ['file'], isValid: function(field){ var valid = true; field.each(function(){ var fileInput = jQuery(this)[0]; var file = fileInput.files[0]; var accept = fileInput.accept.split(','); if(!file) return; if(accept){ var fileType = false; if(file.type){ for(var i in accept){ if(accept[i] == file.type){ fileType = true; return; } } } if(!fileType){ var exts = jQuery(this).data("ext").split(','); var filename = file.name; for(var i in exts){ if(filename.indexOf('.'+exts[i]) + 1) { fileType = true; return; } } } if(!fileType){ valid = false; return; } } }); return valid; }, errorText: function(){ return Rcl.errors.file_accept; } } }; this.send = function(action, success){ if(!this.validate()) return false; rcl_preloader_show(form); var sendData = { data: form.serialize() + '&action=' + action }; if(success){ sendData.success = success; } rcl_ajax(sendData); }; } jQuery(function($){ $.fn.extend({ insertAtCaret: function(myValue){ return this.each(function(i) { if (document.selection) { this.focus(); var sel = document.selection.createRange(); sel.text = myValue; this.focus(); } else if (this.selectionStart || this.selectionStart == '0') { var startPos = this.selectionStart; var endPos = this.selectionEnd; var scrollTop = this.scrollTop; this.value = this.value.substring(0, startPos)+myValue+this.value.substring(endPos,this.value.length); this.focus(); this.selectionStart = startPos + myValue.length; this.selectionEnd = startPos + myValue.length; this.scrollTop = scrollTop; } else { this.value += myValue; this.focus(); } }) } }); rcl_do_action('rcl_init'); }); jQuery(window).load(function() { jQuery('body').on('drop', function (e) { return false; }); jQuery(document.body).bind("drop", function(e){ e.preventDefault(); }); }); rcl_add_action('rcl_init','rcl_init_ajax_tab'); function rcl_init_ajax_tab(){ jQuery('body').on('click','.rcl-ajax',function(){ var e = jQuery(this); if(e.hasClass('tab-upload')) return false; rcl_do_action('rcl_before_upload_tab',e); rcl_ajax({ data:{ action: 'rcl_ajax_tab', post: e.data('post'), tab_url: e.attr('href') }, success: function(data){ e.removeClass('tab-upload'); data = rcl_apply_filters('rcl_upload_tab',data); if(data.result.error){ rcl_notice(data.result.error,'error',10000); return false; } var url = data.post.tab_url; var supports = data.post.supports; var subtab_id = data.post.subtab_id; if(supports && supports.indexOf('dialog')>=0){ if(!subtab_id){ ssi_modal.show({ className: 'rcl-dialog-tab '+data.post.tab_id, sizeClass: 'small', buttons: [{ label: Rcl.local.close, closeAfter: true }], content: data.result }); }else{ var box_id = '#ssi-modalContent'; } }else{ rcl_update_history_url(url); if(!subtab_id) jQuery('.rcl-tab-button .recall-button').removeClass('active'); e.addClass('active'); var box_id = '#lk-content'; } if(box_id){ jQuery(box_id).html(data.result); var options = rcl_get_options_url_params(); if(options.scroll == 1){ var offsetTop = jQuery(box_id).offset().top; jQuery('body,html').animate({scrollTop:offsetTop - options.offset}, 1000); } if(data.includes){ var includes = data.includes; includes.forEach(function(src, i, includes) { jQuery.getScript(src); }); } } if(!data.post.subtab_id){ jQuery('#lk-content').animateCss('fadeIn'); }else{ jQuery('#lk-content .rcl-subtab-content').animateCss('fadeIn'); } rcl_do_action('rcl_upload_tab',{element:e,result:data}); } }); return false; }); } function rcl_get_options_url_params(){ var options = { scroll:1, offset:100 }; options = rcl_apply_filters('rcl_options_url_params',options); return options; } function rcl_add_dropzone(idzone){ jQuery(document.body).bind("drop", function(e){ var dropZone = jQuery(idzone), node = e.target, found = false; if(dropZone[0]){ dropZone.removeClass('in hover'); do { if (node === dropZone[0]) { found = true; break; } node = node.parentNode; } while (node != null); if(found){ e.preventDefault(); }else{ return false; } } }); jQuery(idzone).bind('dragover', function (e) { var dropZone = jQuery(idzone), timeout = window.dropZoneTimeout; if (!timeout) { dropZone.addClass('in'); } else { clearTimeout(timeout); } var found = false, node = e.target; do { if (node === dropZone[0]) { found = true; break; } node = node.parentNode; } while (node != null); if (found) { dropZone.addClass('hover'); } else { dropZone.removeClass('hover'); } window.dropZoneTimeout = setTimeout(function () { window.dropZoneTimeout = null; dropZone.removeClass('in hover'); }, 100); }); } function passwordStrength(password){ var desc = new Array(); desc[0] = Rcl.local.pass0; desc[1] = Rcl.local.pass1; desc[2] = Rcl.local.pass2; desc[3] = Rcl.local.pass3; desc[4] = Rcl.local.pass4;
1 desc[5] = Rcl.local.pass5; var score = 0; if (password.length > 6) score++; if ( ( password.match(/[a-z]/) ) && ( password.match(/[A-Z]/) ) ) score++; if (password.match(/\d+/)) score++; if ( password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/) ) score++; if (password.length > 12) score++; document.getElementById("passwordDescription").innerHTML = desc[score]; document.getElementById("passwordStrength").className = "strength" + score; } function rcl_manage_user_black_list(e,user_id){ var class_i = jQuery(e).children('i').attr('class'); if(class_i=='rcli fa-refresh fa-spin') return false; jQuery(e).children('i').attr('class','rcli fa-refresh fa-spin'); rcl_ajax({ data: { action: 'rcl_manage_user_black_list', user_id: user_id }, success: function(data){ jQuery(e).children('i').attr('class',class_i); if(data['label']){ jQuery(e).find('span').text(data['label']); } } }); return false; } rcl_add_action('rcl_init','rcl_init_update_requared_checkbox'); function rcl_init_update_requared_checkbox(){ jQuery('body form').find('.required-checkbox').each(function(){ rcl_update_require_checkbox(this); }); jQuery('body form').on('click','.required-checkbox',function(){ rcl_update_require_checkbox(this); }); } function rcl_show_tab(id_block){ jQuery(".rcl-tab-button .recall-button").removeClass("active"); jQuery("#lk-content .recall_content_block").removeClass("active"); jQuery('#tab-button-'+id_block).children('.recall-button').addClass("active"); jQuery('#lk-content .'+id_block+'_block').addClass("active"); return false; } rcl_add_action('rcl_init','rcl_init_recallbar_hover'); function rcl_init_recallbar_hover(){ jQuery("#recallbar .menu-item-has-children").hover(function() { jQuery(this).children(".sub-menu").css({'visibility': 'visible'}); }, function() { jQuery(this).children(".sub-menu").css({'visibility': ''}); }); } rcl_add_action('rcl_before_upload_tab','rcl_add_class_upload_tab'); function rcl_add_class_upload_tab(e){ e.addClass('tab-upload'); } rcl_add_action('rcl_before_upload_tab','rcl_add_preloader_tab'); function rcl_add_preloader_tab(e){ rcl_preloader_show('#lk-content > div'); rcl_preloader_show('#ssi-modalContent > div'); } rcl_add_action('rcl_init','rcl_init_get_smilies'); function rcl_init_get_smilies(){ jQuery(document).on({ mouseenter: function () { var sm_box = jQuery(this).next(); var block = sm_box.children(); sm_box.show(); if(block.html()) return false; block.html(Rcl.local.loading+'...'); var dir = jQuery(this).data('dir'); rcl_ajax({ data: { action: 'rcl_get_smiles_ajax', area: jQuery(this).parent().data('area'), dir: dir? dir: 0 }, success: function(data){ if(data['content']){ block.html(data['content']); } } }); }, mouseleave: function () { jQuery(this).next().hide(); } }, "body .rcl-smiles .fa-smile-o"); } rcl_add_action('rcl_init','rcl_init_hover_smilies'); function rcl_init_hover_smilies(){ jQuery(document).on({ mouseenter: function () { jQuery(this).show(); }, mouseleave: function () { jQuery(this).hide(); } }, "body .rcl-smiles > .rcl-smiles-list"); jQuery('body').on('hover click','.rcl-smiles > img',function(){ var block = jQuery(this).next().children(); if(block.html()) return false; block.html(Rcl.local.loading+'...'); var dir = jQuery(this).data('dir'); rcl_ajax({ data: { action: 'rcl_get_smiles_ajax', area: jQuery(this).parent().data('area'), dir: dir? dir: 0 }, success: function(data){ if(data['content']){ block.html(data['content']); } } }); return false; }); } rcl_add_action('rcl_init','rcl_init_click_smilies'); function rcl_init_click_smilies(){ jQuery("body").on("click",'.rcl-smiles-list img',function(){ var alt = jQuery(this).attr("alt"); var area = jQuery(this).parents(".rcl-smiles").data("area"); jQuery("#"+area).val(jQuery("#"+area).val()+" "+alt+" "); }); } rcl_add_action('rcl_init','rcl_init_close_popup'); function rcl_init_close_popup(){ jQuery('#rcl-popup,.floatform').on('click','.close-popup',function(){ rcl_hide_float_login_form(); jQuery('#rcl-overlay').fadeOut(); jQuery('#rcl-popup').empty(); return false; }); } rcl_add_action('rcl_init','rcl_init_click_overlay'); function rcl_init_click_overlay(){ jQuery('#rcl-overlay').click(function(){ rcl_hide_float_login_form(); jQuery('#rcl-overlay').fadeOut(); jQuery('#rcl-popup').empty(); return false; }); } rcl_add_action('rcl_init','rcl_init_click_float_window'); function rcl_init_click_float_window(){ jQuery(".float-window-recall").on('click','.close',function(){ jQuery(".float-window-recall").remove(); return false; }); } rcl_add_action('rcl_init','rcl_init_loginform_shift_tabs'); function rcl_init_loginform_shift_tabs(){ jQuery('body').on('click','.form-tab-rcl .link-tab-rcl',function(){ jQuery('.form-tab-rcl').hide(); if(jQuery(this).hasClass('link-login-rcl')) rcl_show_login_form_tab('login'); if(jQuery(this).hasClass('link-register-rcl')) rcl_show_login_form_tab('register'); if(jQuery(this).hasClass('link-remember-rcl')) rcl_show_login_form_tab('remember'); return false; }); } rcl_add_action('rcl_init','rcl_init_check_url_params'); function rcl_init_check_url_params(){ var options = rcl_get_options_url_params(); if(rcl_url_params['tab']){ if(!jQuery("#lk-content").size()) return false; if(options.scroll == 1){ var offsetTop = jQuery("#lk-content").offset().top; jQuery('body,html').animate({scrollTop:offsetTop - options.offset}, 1000); } var id_block = rcl_url_params['tab']; rcl_show_tab(id_block); } } rcl_add_action('rcl_init','rcl_init_close_notice'); function rcl_init_close_notice(){ jQuery('#rcl-notice,body').on('click','a.close-notice',function(){ rcl_close_notice(jQuery(this).parent()); return false; }); } rcl_add_action('rcl_init','rcl_init_cookie'); rcl_add_action('rcl_login_form','rcl_init_login_form'); function rcl_init_login_form(type_form){ if(rcl_url_params['action-rcl']){ jQuery('.panel_lk_recall.floatform > div').hide(); } if(type_form=='floatform'){ jQuery("body").on('click','.rcl-register',function(){ rcl_show_float_login_form(); rcl_show_login_form_tab('register',type_form); return false; }); jQuery("body").on('click','.rcl-login',function(){ rcl_show_float_login_form(); rcl_show_login_form_tab('login',type_form); return false; }); if(rcl_url_params['action-rcl']){ rcl_show_float_login_form(); } }else{ if(rcl_url_params['action-rcl']==='login'){ jQuery('.rcl-loginform-full.'+type_form+' #register-form-rcl').hide(); } if(rcl_url_params['action-rcl']==='register'){ jQuery('.rcl-loginform-full.'+type_form+' #login-form-rcl').hide(); } if(rcl_url_params['action-rcl']==='remember'){ jQuery('.rcl-loginform.'+type_form+' #login-form-rcl').hide(); } } if(rcl_url_params['action-rcl']){ rcl_show_login_form_tab(rcl_url_params['action-rcl'],type_form); } } function rcl_show_login_form_tab(tab,type_form){ type_form = (!type_form)? '' : '.'+type_form; jQuery('.panel_lk_recall'+type_form+' #'+tab+'-form-rcl').show(); } function rcl_show_float_login_form(){ jQuery('.panel_lk_recall.floatform > div').hide(); rcl_setup_position_float_form(); jQuery('.panel_lk_recall.floatform').show(); } function rcl_hide_float_login_form(){ jQuery('.panel_lk_recall.floatform').fadeOut().children('.form-tab-rcl').hide(); } function rcl_setup_position_float_form(){ jQuery("#rcl-overlay").fadeIn(); var screen_top = jQuery(window).scrollTop(); var popup_h = jQuery('.panel_lk_recall.floatform').height(); var window_h = jQuery(window).height(); screen_top = screen_top + 60; jQuery('.panel_lk_recall.floatform').css('top', screen_top+'px'); } rcl_add_action('rcl_footer','rcl_beat'); function rcl_beat(){ var beats = rcl_apply_filters('rcl_beats',rcl_beats); var DataBeat = rcl_get_actual_beats_data(beats); if(rcl_beats_delay && DataBeat.length){ rcl_do_action('rcl_beat'); rcl_ajax({ data: { action: 'rcl_beat', databeat: JSON.stringify(DataBeat) }, success: function(data){ data.forEach(function(result, i, data) { rcl_do_action('rcl_beat_success_'+result['beat_name']); new (window[result['success']])(result['result']); }); } }); } rcl_beats_delay++; setTimeout('rcl_beat()', 1000); } function rcl_get_actual_beats_data(beats){ var beats_actual = new Array();
1 if(beats){ beats.forEach(function(beat, i, beats) { var rest = rcl_beats_delay % beat.delay; if(rest == 0){ var object = new (window[beat.beat_name])(beat.data); if(object.data){ object = rcl_apply_filters('rcl_beat_' + beat.beat_name,object); object.beat_name = beat.beat_name; var k = beats_actual.length; beats_actual[k] = object; } } }); } return beats_actual; } function rcl_close_votes_window(e){ jQuery(e).parent().remove(); return false; } function rcl_edit_rating(e){ var block = jQuery(e); var parent = block.parents('.rcl-rating-box'); rcl_preloader_show(jQuery(e).parents('.rating-wrapper').children('.rating-value'),30); rcl_ajax({ data: { action: 'rcl_edit_rating_post', rating: block.data('rating') }, success: function(result){ if(result['result']==100){ parent.find('.rating-value').html(result['rating']); if(!block.hasClass('user-vote')){ parent.find('.rating-vote').removeClass('user-vote'); } block.toggleClass('user-vote'); } block.animateCss('zoomIn'); if(result.replace_box){ parent.replaceWith(result.replace_box); } rcl_do_action('rcl_edit_rating',{ data:block.data('rating'), result:result }); } }); return false; } function rcl_get_list_votes(e){ if(jQuery(this).hasClass('active')) return false; rcl_preloader_show('#tab-rating .votes-list'); jQuery('#tab-rating a.get-list-votes').removeClass('active'); jQuery(e).addClass('active'); rcl_ajax({ data: { action: 'rcl_view_rating_votes', rating: jQuery(e).data('rating'), content: 'list-votes' }, success: function(data){ if(data['content']) jQuery('#tab-rating .rating-list-votes').html(data['content']); } }); return false; } function rcl_view_list_votes(e){ jQuery('.rating-value-block .votes-window').remove(); var block = jQuery(e); rcl_preloader_show(jQuery(e),30); rcl_ajax({ data: { action: 'rcl_view_rating_votes', rating: block.data('rating') }, success: function(data){ block.after(data['content']); block.next().slideDown(); } }); return false; }var rcl_public_form = { required: new Array() }; jQuery( document ).ready( function( $ ) { $( '.rcl-public-form #insert-media-button' ).click( function( e ) { var editor = $( this ).data( 'editor' ); var parent_id = ( ( rcl_url_params['rcl-post-edit'] ) ) ? rcl_url_params['rcl-post-edit'] : 0; wp.media.model.settings.post.id = parent_id; wp.media.featuredImage.set = function( thumbnail_id ) { rcl_get_post_thumbnail_html( thumbnail_id ); }; wp.media.editor.open( editor ); return false; } ); jQuery( '#rcl-delete-post .delete-toggle' ).click( function() { jQuery( this ).next().toggle( 'fast' ); return false; } ); jQuery( 'form[name="public_post"] input[name="edit-post-rcl"],form[name="public_post"] input[name="add_new_task"]' ).click( function() { var error = 0; jQuery( 'form[name="public_post"]' ).find( ':input' ).each( function() { for ( var i = 0; i < field.length; i++ ) { if ( jQuery( this ).attr( 'name' ) == field[i] ) { if ( jQuery( this ).val() == '' ) { jQuery( this ).attr( 'style', 'border:1px solid red !important' ); error = 1; } else { jQuery( this ).attr( 'style', 'border:1px solid #E6E6E6 !important' ); } } } } ); if ( error == 0 ) return true; else return false; } ); } ); rcl_add_action( 'rcl_init_public_form', 'rcl_setup_async_upload' ); function rcl_setup_async_upload() { if ( !wp || !wp.Uploader ) return false; jQuery.extend( wp.Uploader.prototype, { success: function( attachment ) { if ( attachment.attributes.uploadedTo ) return false; rcl_ajax( { data: { action: 'rcl_save_temp_async_uploaded_thumbnail', attachment_id: attachment.id, attachment_url: attachment.attributes.url } } ); } } ); } rcl_add_action( 'rcl_init', 'rcl_init_click_post_thumbnail' ); function rcl_init_click_post_thumbnail() { jQuery( ".rcl-public-form" ).on( 'click', '.thumb-foto', function() { jQuery( ".rcl-public-form .thumb-foto" ).removeAttr( "checked" ); jQuery( this ).attr( "checked", 'checked' ); } ); } function rcl_get_post_thumbnail_html( thumbnail_id ) { rcl_preloader_show( jQuery( '.rcl-public-form' ) ); rcl_ajax( { data: { action: 'rcl_get_post_thumbnail_html', thumbnail_id: thumbnail_id }, success: function( result ) { jQuery( '#rcl-thumbnail-post .thumbnail-image' ).html( result['thumbnail_image'] ).animateCss( 'flipInX' ); jQuery( '#rcl-thumbnail-post .thumbnail-id' ).val( thumbnail_id ); } } ); } function rcl_remove_post_thumbnail() { jQuery( '#rcl-thumbnail-post .thumbnail-image' ).animateCss( 'flipOutX', function( e ) { jQuery( e ).empty(); } ); jQuery( '#rcl-thumbnail-post .thumbnail-id' ).val( '0' ); } function rcl_delete_post( element ) { rcl_preloader_show( jQuery( element ).parents( 'li' ) ); var objectData = { action: 'rcl_ajax_delete_post', post_id: jQuery( element ).data( 'post' ) }; rcl_ajax( { data: objectData, success: function( data ) { jQuery( '#' + data['post_type'] + '-' + objectData.post_id ).animateCss( 'flipOutX', function( e ) { jQuery( e ).remove(); } ); data.post_id = objectData.post_id; rcl_do_action( 'rcl_delete_post', data ); } } ); return false; } rcl_add_action( 'rcl_delete_post', 'rcl_delete_thumbnail_attachment' ); function rcl_delete_thumbnail_attachment( data ) { if ( data['post_type'] != 'attachment' ) return false; if ( jQuery( '#rcl-thumbnail-post' ).size() ) { var currentThumbId = jQuery( '#rcl-thumbnail-post .thumbnail-id' ).val(); if ( currentThumbId == data['post_id'] ) rcl_remove_post_thumbnail(); } } function rcl_edit_post( element ) { rcl_preloader_show( jQuery( '#lk-content' ) ); rcl_ajax( { data: { action: 'rcl_get_edit_postdata', post_id: jQuery( element ).data( 'post' ) }, success: function( data ) { if ( data['result'] == 100 ) { ssi_modal.show( { title: Rcl.local.edit_box_title, className: 'rcl-edit-post-form', sizeClass: 'small', buttons: [ { label: Rcl.local.save, closeAfter: false, method: function() { rcl_preloader_show( '#rcl-popup-content form' ); rcl_ajax( { data: 'action=rcl_edit_postdata&' + jQuery( '#rcl-popup-content form' ).seri
1alize() } ); } }, { label: Rcl.local.close, closeAfter: true } ], content: '<div id="rcl-popup-content">' + data['content'] + '</div>' } ); } } } ); } function rcl_preview( e ) { var submit = jQuery( e ); var formblock = submit.parents( 'form' ); var post_type = formblock.data( 'post_type' ); if ( !rcl_check_required_fields( formblock ) ) return false; rcl_preloader_show( formblock ); var iframe = jQuery( "#contentarea-" + post_type + "_ifr" ).contents().find( "#tinymce" ).html(); if ( iframe ) { tinyMCE.triggerSave(); formblock.find( 'textarea[name="post_content"]' ).html( iframe ); } var button_draft = formblock.find( 'input[name="button-draft"]' ).val(); var button_delete = formblock.find( 'input[name="button-delete"]' ).val(); var button_preview = formblock.find( 'input[name="button-preview"]' ).val(); rcl_ajax( { data: 'action=rcl_preview_post&publish=0&' + formblock.serialize(), error: function( data ) { submit.attr( 'disabled', false ).val( Rcl.local.preview ); }, success: function( data ) { if ( data['content'] ) { var buttons = [ ]; buttons[0] = { className: 'btn btn-primary', label: Rcl.local.edit, closeAfter: true, method: function() { submit.attr( 'disabled', false ).val( Rcl.local.preview ); } }; if ( button_draft ) { buttons[1] = { className: 'btn btn-danger', label: Rcl.local.save_draft, closeAfter: false, method: function() { rcl_save_draft(); } }; } var i = buttons.length; buttons[i] = { className: 'btn btn-danger', label: Rcl.local.publish, closeAfter: false, method: function() { rcl_publish(); } }; ssi_modal.show( { sizeClass: 'small', title: Rcl.local.preview, className: 'rcl-preview-post', buttons: buttons, content: '<div id="rcl-preview">' + data['content'] + '</div>' } ); return true; } } } ); return false; } function rcl_save_draft( e ) { if ( !e ) e = jQuery( '#rcl-draft-post' ); if ( !rcl_check_publish( e ) ) return false; jQuery( e ).after( '<input type="hidden" name="save-as-draft" value=1>' ); jQuery( 'form.rcl-public-form' ).submit(); } function rcl_check_publish( e ) { var submit = jQuery( e ); var formblock = submit.parents( 'form' ); if ( !rcl_check_required_fields( formblock ) ) return false; return true; } function rcl_publish( e ) { var formblock = ( e ) ? jQuery( e ).parents( 'form' ) : jQuery( 'form.rcl-public-form' ); var post_type = formblock.data( 'post_type' ); if ( !rcl_check_required_fields( formblock ) ) return false; rcl_preloader_show( formblock ); var iframe = jQuery( "#contentarea-" + post_type + "_ifr" ).contents().find( "#tinymce" ).html(); if ( iframe ) { tinyMCE.triggerSave(); formblock.find( 'textarea[name="post_content"]' ).html( iframe ); } rcl_ajax( { data: 'action=rcl_preview_post&publish=1&' + formblock.serialize(), success: function( data ) { if ( data.submit ) { rcl_preloader_show( formblock ); jQuery( 'form.rcl-public-form' ).submit(); } rcl_do_action( 'rcl_publish', data, e ); } } ); } function rcl_check_required_fields( form ) { var rclFormFactory = new RclForm( form ); rclFormFactory.addChekForm( 'checkCats', { isValid: function() { var valid = true;
1 if ( this.form.find( 'input[name="cats[]"]' ).length > 0 ) { if ( form.find( 'input[name="cats[]"]:checked' ).length == 0 ) { this.shake( form.find( 'input[name="cats[]"]' ) ); this.addError( 'checkCats', 'УкажиÑе ÑÑбÑикÑ' ); valid = false; } else { this.noShake( form.find( 'input[name="cats[]"]' ) ); } } return valid; } } ); return rclFormFactory.validate(); } function rcl_get_prefiew_content( formblock, iframe ) { formblock.find( 'textarea[name="post_content"]' ).html( iframe ); return formblock.serialize(); } function rcl_preview_close( e ) { ssi_modal.close(); } function rcl_init_public_form( post ) { rcl_do_action( 'rcl_init_public_form', post ); var post_id = post.post_id; var post_type = post.post_type; var ext_types = post.ext_types; var size_files = parseInt( post.size_files, 10 ); var max_files = parseInt( post.max_files, 10 ); var post_status = 'new'; if ( post.post_status ) post_status = post.post_status; jQuery( 'form.rcl-public-form' ).find( ':required' ).each( function() { var i = rcl_public_form.required.length; rcl_public_form.required[i] = jQuery( this ).attr( 'name' ); } ); var maxsize = size_files * 1024 * 1024; rcl_add_dropzone( '#rcl-public-dropzone-' + post_type ); jQuery( '#upload-public-form-' + post_type ).fileupload( { dataType: 'json', type: 'POST', dropZone: jQuery( '#rcl-public-dropzone-' + post_type ), url: Rcl.ajaxurl, formData: { action: 'rcl_imagepost_upload', post_type: post_type, post_id: post_id, form_id: post.form_id, ext_types: ext_types, size_files: size_files, max_files: max_files, ajax_nonce: Rcl.nonce }, singleFileUploads: false, autoUpload: true, send: function( e, data ) { var error = false; rcl_preloader_show( 'form.rcl-public-form' ); var cnt_now = jQuery( '#temp-files-' + post_type + ' li' ).length; jQuery.each( data.files, function( index, file ) { cnt_now++; if ( cnt_now > max_files ) { rcl_notice( Rcl.local.allowed_downloads + ' ' + max_files, 'error', 10000 ); error = true; } if ( file['size'] > maxsize ) { rcl_notice( Rcl.local.upload_size_public + ' ' + size_files + ' MB', 'error', 10000 ); error = true; } } ); if ( error ) { rcl_preloader_hide(); return false; } }, done: function( e, data ) { rcl_preloader_hide(); jQuery.each( data.result, function( index, file ) { if ( data.result['error'] ) { rcl_notice( data.result['error'], 'error', 10000 ); rcl_preloader_hide(); return false; } if ( file['string'] ) { jQuery( '#temp-files-' + post_type ).append( file['string'] ); jQuery( '#temp-files-' + post_type + ' li' ).last().animateCss( 'flipInX' ); } } ); } } ); } function rcl_init_thumbnail_uploader( e, options ) { var form = jQuery( e ).parents( 'form' ); var post_id = form.data( 'post_id' ); var post_type = form.data( 'post_type' ); var ext_types = 'jpg,png,jpeg'; var maxsize_mb = options.size; var maxsize = maxsize_mb * 1024 * 1024; jQuery( '#rcl-thumbnail-uploader' ).fileupload( { dataType: 'json', type: 'POST', url: Rcl.ajaxurl, formData: { action: 'rcl_imagepost_upload', post_type: post_type, post_id: post_id, ext_types: ext_types, ajax_nonce: Rcl.nonce }, singleFileUploads: true, autoUpload: true, send: function( e, data ) { var error = false; rcl_preloader_show( 'form.rcl-public-form' ); jQuery.each( data.files, function( index, file ) { if ( file['size'] > maxsize ) { rcl_notice( Rcl.local.upload_size_public + ' ' + maxsize_mb + ' MB', 'error', 10000 ); error = true; } } ); if ( error ) { rcl_preloader_hide(); return false; } }, done: function( e, data ) { jQuery.each( data.result, function( index, file ) { rcl_preloader_hide(); if ( data.result['error'] ) { rcl_notice( data.result['error'], 'error', 10000 ); return false; } if ( file['string'] ) { jQuery( '#temp-files-' + post_type ).append( file['string'] ); jQuery( '#temp-files-' + post_type + ' li' ).last().animateCss( 'flipInX' ); jQuery( '#rcl-thumbnail-post .thumbnail-image' ).html( file['thumbnail_image'] ).animateCss( 'flipInX' ); jQuery( '#rcl-thumbnail-post .thumbnail-id' ).val( file['attachment_id'] ); } } ); } } ); } function rcl_add_image_in_form( e, content ) { var post_type = jQuery( e ).parents( "form" ).data( "post_type" ); jQuery( "#contentarea-" + post_type ).insertAtCaret( content + " " ); tinyMCE.execCommand( "mceInsertContent", false, content ); return false; }var rcl_chat_last_activity = {}; var rcl_chat_beat = new Array; var rcl_chat_write = 0; var rcl_chat_contact_token = 0; var rcl_chat_inactive_counter = -1; var rcl_chat_important = 0; var rcl_chat_max_words = 300; var rcl_chat_sound = {}; jQuery(function($){ rcl_chat_init_sound(); rcl_chat_inactivity_counter(); jQuery('.chat-new-messages').parents('#rcl-chat-noread-box').animateCss('tada'); }); function rcl_chat_init_sound(){ var options = { sounds: ['e-oh'], path: Rcl.chat.sounds, multiPlay: fal
1se, volume: '0.5' }; rcl_chat_sound = rcl_apply_filters('rcl_chat_sound_options',options); if (typeof jQuery.ionSound !== 'undefined') { jQuery.ionSound(rcl_chat_sound); } } function rcl_chat_inactivity_cancel(){ rcl_chat_inactive_counter = -1; } function rcl_chat_inactivity_counter(){ rcl_chat_inactive_counter++; setTimeout('rcl_chat_inactivity_counter()', 60000); } function rcl_chat_scroll_bottom(token){ jQuery('.rcl-chat[data-token="'+token+'"] .chat-messages').scrollTop( jQuery('.rcl-chat[data-token="'+token+'"] .chat-messages').get(0).scrollHeight ); } function rcl_reset_active_mini_chat(){ jQuery('.rcl-noread-users .rcl-chat-user > a ').removeClass('active-chat'); } function rcl_chat_counter_reset(form){ form.children('.words-counter').text(Rcl.chat.words).removeAttr('style'); } function rcl_chat_add_message(e){ var form = jQuery(e).parents('form'); rcl_chat_add_new_message(form); } function rcl_chat_clear_beat(token){ var all_beats = rcl_beats; var all_chats = rcl_chat_beat; all_beats.forEach(function(beat, index, rcl_beats){ if(beat.beat_name != 'rcl_chat_beat_core') return; if(beat.data.token != token) return; delete rcl_beats[index]; }); all_chats.forEach(function(chat_token, index, chats){ if(chat_token != token) return; delete rcl_chat_beat[index]; }); console.log('chat beat '+ token +' clear'); } function rcl_set_active_mini_chat(e){ rcl_reset_active_mini_chat(); jQuery(e).addClass('active-chat').children('i').remove(); } function rcl_init_chat(chat){ jQuery(function($){ chat = rcl_apply_filters('rcl_init_chat',chat); rcl_chat_scroll_bottom(chat.token); var user_id = parseInt(Rcl.user_ID); if(user_id){ if(chat.file_upload) rcl_chat_uploader(chat.token); } rcl_chat_max_words = chat.max_words; rcl_chat_last_activity[chat.token] = chat.open_chat; var i = rcl_chat_beat.length; rcl_chat_beat[i] = chat.token; rcl_do_action('rcl_init_chat',chat); }); } function rcl_chat_close(e){ rcl_reset_active_mini_chat(); var token = jQuery(e).parents('.rcl-mini-chat').find('.rcl-chat').data('token'); rcl_chat_clear_beat(token); var minichat_box = jQuery('#rcl-chat-noread-box'); minichat_box.removeClass('active-chat'); var animationName = minichat_box.hasClass('left-panel')? 'fadeOutLeft': 'fadeOutRight'; minichat_box.children('.rcl-mini-chat').animateCss(animationName,function(e){ jQuery(e).empty(); }); rcl_do_action('rcl_chat_close',token); } function rcl_chat_write_status(token){ var chat = jQuery('.rcl-chat[data-token="'+token+'"]'); var chat_status = chat.find('.chat-status'); chat_status.css({width: 12}); chat_status.animate({width: 35}, 1000); rcl_chat_write = setTimeout('rcl_chat_write_status("'+token+'")', 3000); rcl_do_action('rcl_add_chat_write',token); } function rcl_chat_write_status_cancel(token){ clearTimeout(rcl_chat_write); var chat = jQuery('.rcl-chat[data-token="'+token+'"]'); var chat_status = chat.find('.chat-status'); chat_status.css({width: 0}); rcl_do_action('rcl_remove_chat_write',token); } function rcl_chat_add_new_message(form){ rcl_chat_inactivity_cancel(); var token = form.children('[name="chat[token]"]').val(); var chat = jQuery('.rcl-chat[data-token="'+token+'"]'); var message_text = form.children('textarea').val(); if(!message_text.length){ rcl_notice(Rcl.local.empty_mess,'error',10000); return false; } if(message_text.length>Rcl.chat.words){ rcl_notice(Rcl.local.max_words,'error',10000); return false; } rcl_preloader_show('.rcl-chat .chat-form > form'); rcl_ajax({ data: 'action=rcl_chat_add_message&' + form.serialize() + '&office_ID=' + Rcl.office_ID + '&last_activity=' + rcl_chat_last_activity[token], success: function(data){ if(data['content']){ form.find('textarea').val(''); chat.find('.chat-messages').append(data['content']).find('.chat-message').last().animateCss('zoomIn'); chat.find('.rcl-chat-uploader').show(); chat.find('.chat-preloader-file').empty(); rcl_chat_scroll_bottom(token); rcl_chat_counter_reset(form); if(data.new_messages){ if (typeof jQuery.ionSound !== 'undefined') { jQuery.ionSound.play(rcl_chat_sound.sounds[0]); } } rcl_chat_last_activity[token] = data.last_activity; rcl_do_action('rcl_chat_add_message',{token:token,result:data}); } } }); return false; } function rcl_chat_navi(e){ rcl_chat_inactivity_cancel(); var token = jQuery(e).parents('.rcl-chat').data('token'); rcl_preloader_show('.rcl-chat .chat-form > form'); rcl_ajax({ data: { action: 'rcl_get_chat_page', token: token, page: jQuery(e).data('page'), 'pager-id': jQuery(e).data('pager-id'), in_page: jQuery(e).parents('.rcl-chat').data('in_page'), important: rcl_chat_important }, success: function(data){ if(data['content']){ jQuery(e).parents('.chat-messages-box').html(data['content']).animateCss('fadeIn'); rcl_chat_scroll_bottom(token); } } }); return false; } function rcl_get_mini_chat(e,user_id){ if(rcl_chat_contact_token){ rcl_chat_clear_beat(rcl_chat_contact_token); } rcl_preloader_show('#rcl-chat-noread-box > div'); rcl_ajax({ data: { action: 'rcl_get_chat_private_ajax', user_id: user_id }, success: function(data){ if(data['content']){ var minichat_box = jQuery('#rcl-chat-noread-box'); var animationName = minichat_box.hasClass('left-panel')? 'fadeInLeft': 'fadeInRight'; minichat_box.children('.rcl-mini-chat').html(data['content']).animateCss(animationName); minichat_box.addClass('active-chat'); rcl_chat_contact_token = data['chat_token']; rcl_set_active_mini_chat(e); rcl_chat_scroll_bottom(rcl_chat_contact_token); } } }); return false; } function rcl_chat_words_count(e,elem){ evt = e || window.event; var key = evt.keyCode; if(key == 13&&evt.ctrlKey){ var form = jQuery(elem).parents('form'); rcl_chat_add_new_message(form); return false; } var words = jQuery(elem).val(); var counter = rcl_chat_max_words - words.length; var color; if(counter > (rcl_chat_max_words-1)) return false; if(counter<0){ jQuery(elem).val(words.substr(0, (rcl_chat_max_words-1))); return false; } if(counter>150) color = 'green'; else if(50<counter&&counter<150) color = 'orange'; else if(counter<50) color = 'red'; jQuery(elem).next('.words-counter').css('color', color).text(counter); } function rcl_chat_remove_contact(e,chat_id){ rcl_preloader_show('.rcl-chat-contacts'); var contact = jQuery(e).parents('.contact-box').data('contact'); rcl_ajax({ data: { action: 'rcl_chat_remove_contact', chat_id: chat_id }, success: function(data){ if(data['remove']){ jQuery('[data-contact="'+contact+'"]').animateCss('flipOutX',function(e){ jQuery(e).remove(); }); rcl_do_action('rcl_chat_remove_contact',chat_id); } } }); return false; } function rcl_chat_message_important(message_id){ rcl_preloader_show('.chat-message[data-message="'+message_id+'"] > div'); rcl_ajax({ data: { action: 'rcl_chat_message_important', message_id: message_id }, success: function(data){ jQuery('.chat-message[data-message="'+message_id+'"]').find('.message-important').toggleClass('active-important'); } }); return false; } function rcl_chat_important_manager_shift(e,status){ rcl_preloader_show('.rcl-chat'); rcl_chat_important = status; var token = jQuery(e).parents('.rcl-chat').data('token'); rcl_ajax({ data: { action: 'rcl_chat_important_manager_shift', token: token, status_important: status }, success: function(data){ if(data['content']){ jQuery(e).parents('.chat-messages-box').html(data['content']).animateCss('fadeIn'); rcl_chat_scroll_bottom(token); } } }); return false; } function rcl_chat_delete_message(message_id){ rcl_preloader_show('.chat-message[data-message="'+message_id+'"] > div'); rcl_ajax({ data: { action: 'rcl_chat_ajax_delete_message', message_id: message_id }, success: function(data){ if(data['remove']){ jQuery('.chat-message[data-message="'+message_id+'"]').animateCss('flipOutX',function(e){ jQuery(e).remove(); }); rcl_do_action('rcl_chat_delete_message',message_id); } } }); return false; } function rcl_chat_delete_attachment(e,attachment_id){ rcl_preloader_show('.chat-form > form'); rcl_ajax({ data: { action: 'rcl_chat_delete_attachment', attachment_id: attachment_id }, success: function(data){ if(data['remove']){ var form = jQuery(e).parents('form'); form.find('.rcl-chat-uploader').show(); form.find('.chat-preloader-file').empty(); } } }); return false; } function rcl_chat_uploader(token){ jQuery('.rcl-chat-uploader input[type="file"]').fileupload({ dataType: 'json', type: 'POST', url: Rcl.ajaxurl, formData:{ action:'rcl_chat_upload', aja
1x_nonce:Rcl.nonce }, autoUpload:true, progressall: function (e, data){ }, change:function (e, data) { if(data.files[0]['size']>Rcl.chat.file_size*1024*1024){ rcl_notice(Rcl.local.upload_size_chat,'error',10000); return false; } rcl_preloader_show('.chat-form > form'); }, done: function (e, data) { rcl_preloader_hide(); var form = jQuery(e.target).parents('form'); var preloader = form.find('.chat-preloader-file'); var uploader = form.find('.rcl-chat-uploader'); var result = data.result; if(result['error']){ rcl_notice(result['error'],'error',10000); return false; } if(result['success']){ preloader.html('<a href="#" class="chat-delete-attachment" onclick="rcl_chat_delete_attachment(this,'+result['attachment_id']+');return false;"><i class="rcli fa-times" aria-hidden="true"></i></a>'+result['icon_html']+result['input_html']); uploader.hide(); rcl_do_action('rcl_chat_upload',data); } } }); } function rcl_chat_shift_contact_panel(){ var box = jQuery('#rcl-chat-noread-box'); if(box.hasClass('active-chat')) return true; var view = (jQuery.cookie('rcl_chat_contact_panel')==1)? 0: 1; if(view){ box.removeClass('hidden-contacts').animateCss('slideInUp'); }else{ box.addClass('hidden-contacts'); } jQuery.cookie('rcl_chat_contact_panel', view, { expires: 30, path: '/'}); return false; } rcl_add_action('rcl_init_chat','rcl_chat_init_beat'); function rcl_chat_init_beat(chat){ var delay = (chat.delay!=0)? chat.delay: Rcl.chat.delay,chat; rcl_add_beat('rcl_chat_beat_core',delay,chat); } function rcl_chat_beat_core(chat){ if(chat.timeout == 1){ if(rcl_chat_inactive_counter>=Rcl.chat.inactivity){ console.log('inactive:'+rcl_chat_inactive_counter); return false; } } var chatBox = jQuery('.rcl-chat[data-token="'+chat.token+'"]'); var chat_form = chatBox.find('form'); var beat = { action: 'rcl_chat_get_new_messages', success: 'rcl_chat_beat_success', data:{ last_activity: rcl_chat_last_activity[chat.token], token: chat.token, update_activity: 1, user_write: (chat_form.find('textarea').val())? 1: 0 } }; return beat; } function rcl_chat_beat_success(data){ var chat = jQuery('.rcl-chat[data-token="'+data.token+'"]'); var user_write = 0; chat.find('.chat-users').html(''); rcl_chat_write_status_cancel(data.token); if(data['errors']){ jQuery.each(data['errors'], function( index, error ) { rcl_notice(error,'error',10000); }); } if(data['success']){ rcl_chat_last_activity[data.token] = data['current_time']; if(data['users']){ jQuery.each(data['users'], function( index, data ) { chat.find('.chat-users').append(data['link']); if(data['write']==1) user_write = 1; }); } if(data['content']){ if (typeof jQuery.ionSound !== 'undefined') { jQuery.ionSound.play(rcl_chat_sound.sounds[0]); } chat.find('.chat-messages').append(data['content']); rcl_chat_scroll_bottom(data.token); }else{ if(user_write) rcl_chat_write_status(data.token); } } rcl_do_action('rcl_chat_get_messages',{token:data.token,result:data}); } function rcl_get_chat_window(e, user_id){ if(e && jQuery(e).parents('.preloader-parent')){ rcl_preloader_show(jQuery(e).parents('.preloader-parent')); } rcl_ajax({ data: { action: 'rcl_get_ajax_chat_window', user_id: user_id } }); }
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.