var UniteAdminRev = new function(){ var t = this; var errorMessageID = null; var successMessageID = null; var ajaxLoaderID = null; var ajaxHideButtonID = null; var g_multiple_text_key = []; //video dialog vars: var lastVideoData = null; //last fetched data var lastVideoCallback = null; //last callback from video dialog return var colorPickerCallback = null; var video_found = false; /********************************** - SHOW INFO AND HIDE INFO - ********************************/ t.showInfo = function(obj) { var info = ''; if (obj.type=="warning") info = ''; if (obj.type=="success") info = ''; obj.showdelay = obj.showdelay != undefined ? obj.showdelay : 0; obj.hidedelay = obj.hidedelay != undefined ? obj.hidedelay : 0; // CHECK IF THE TOOLBOX WRAPPER EXIST ALREADY if (jQuery('#eg-toolbox-wrapper').length==0) jQuery('#viewWrapper').append('
'); // ADD NEW INFO BOX jQuery('#eg-toolbox-wrapper').append('
'+info+obj.content+'
'); var nt = jQuery('#eg-toolbox-wrapper').find('.eg-toolbox.newadded'); nt.removeClass('newadded'); // ANIMATE THE INFO BOX punchgs.TweenLite.fromTo(nt,0.5,{y:-50,autoAlpha:0,transformOrigin:"50% 50%", transformPerspective:900, rotationX:-90},{autoAlpha:1,y:0,rotationX:0,ease:punchgs.Back.easeOut,delay:obj.showdelay}); if (obj.hideon != "event") { nt.click(function() { punchgs.TweenLite.to(nt,0.3,{x:200,ease:punchgs.Power3.easeInOut,autoAlpha:0,onComplete:function() {nt.remove()}}); }) if (obj.hidedelay !=0 && obj.hideon!="click") punchgs.TweenLite.to(nt,0.3,{x:200,ease:punchgs.Power3.easeInOut,autoAlpha:0,delay:obj.hidedelay + obj.showdelay, onComplete:function() {nt.remove()}}); } else { jQuery('#eg-toolbox-wrapper').on(obj.event,function() { punchgs.TweenLite.to(nt,0.3,{x:200,ease:punchgs.Power3.easeInOut,autoAlpha:0,onComplete:function() {nt.remove()}}); }); } } /** * escape html, turn html to a string */ t.htmlspecialchars = function(string){ return string .replace(/&/g, "&") .replace(//g, ">") .replace(/"/g, """) .replace(/'/g, "'"); } /** * Find absolute position on the screen of some element */ t.getAbsolutePos = function(obj){ var curleft = curtop = 0; if (obj.offsetParent) { curleft = obj.offsetLeft; curtop = obj.offsetTop; while (obj = obj.offsetParent) { curleft += obj.offsetLeft; curtop += obj.offsetTop; } } return[curleft,curtop]; } t.stripslashes = function(str) { return (str + '').replace(/\\(.?)/g, function (s, n1) { switch (n1) { case '\\': return '\\'; case '0': return '\u0000'; case '': return ''; default: return n1; } }); } /** * turn string value ("true", "false") to string */ t.strToBool = function(str){ if(str == undefined) return(false); if(typeof(str) != "string") return(false); str = str.toLowerCase(); var bool = (str == "true")?true:false; return(bool); } /** * set callback on color picker movement */ t.setColorPickerCallback = function(callbackFunc){ colorPickerCallback = callbackFunc; } /** * on color picker event. Pass the event further */ t.onColorPickerMoveEvent = function(event){ if(typeof colorPickerCallback == "function") colorPickerCallback(event); } /** * strip html tags */ t.stripTags = function(input, allowed) { allowed = (((allowed || "") + "").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join(''); // making sure the allowed arg is a string containing only tags in lowercase () var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi, commentsAndPhpTags = /|<\?(?:php)?[\s\S]*?\?>/gi; return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) { return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : ''; }); } /** * change rgb & rgba to hex */ t.rgb2hex = function(rgb) { if (rgb.search("rgb") == -1 || jQuery.trim(rgb) == '') return rgb; //ie6 function hex(x) { return ("0" + parseInt(x).toString(16)).slice(-2); } if(rgb.indexOf('-moz') > -1){ var temp = rgb.split(' '); delete temp[0]; rgb = jQuery.trim(temp.join(' ')); } if(rgb.split(')').length > 2){ var hexReturn = ''; var rgbArr = rgb.split(')'); for(var i = 0; i < rgbArr.length - 1; i++){ rgbArr[i] += ')'; var temp = rgbArr[i].split(','); if(temp.length == 4){ rgb = temp[0]+','+temp[1]+','+temp[2]; rgb += ')'; }else{ rgb = rgbArr[i]; } rgb = jQuery.trim(rgb); rgb = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+))?\)$/); hexReturn += "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3])+" "; } return hexReturn; }else{ var temp = rgb.split(','); if(temp.length == 4){ rgb = temp[0]+','+temp[1]+','+temp[2]; rgb += ')'; } rgb = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+))?\)$/); return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]); } } /** * get transparency value from 0 to 100 */ t.getTransparencyFromRgba = function(rgba, inPercent){ var temp = rgba.split(','); if(temp.length == 4){ inPercent = (typeof inPercent !== 'undefined') ? inPercent : true; return (inPercent) ? temp[3].replace(/[^\d.]/g, "") : temp[3].replace(/[^\d.]/g, "") * 100; } return false; } /** * debug html on the top of the page (from the master view) */ t.debug = function(html){ jQuery("#div_debug").show().html(html); } /** * output data to console */ t.trace = function(data,clear){ if(clear && clear == true) console.clear(); console.log(data); } /** * show error message or call once custom handler function */ t.showErrorMessage = function(htmlError){ t.showInfo({content:htmlError, type:"warning", showdelay:0, hidedelay:5, hideon:"click", event:"" }); showAjaxButton(); } /** * hide error message */ var hideErrorMessage = function(){ if(errorMessageID !== null){ jQuery("#"+errorMessageID).hide(); errorMessageID = null; }else jQuery("#error_message").hide(); } /** * set error message id */ t.setErrorMessageID = function(id){ errorMessageID = id; } /** * set success message id */ t.setSuccessMessageID = function(id){ successMessageID = id; } /** * show success message */ var showSuccessMessage = function(htmlSuccess){ t.showInfo({content:htmlSuccess, type:"success", showdelay:0, hidedelay:5, hideon:"", event:"" }); showAjaxButton(); } /** * hide success message */ this.hideSuccessMessage = function(){ if(successMessageID){ jQuery("#"+successMessageID).hide(); successMessageID = null; //can be used only once. } else jQuery("#success_message").slideUp("slow").fadeOut("slow"); showAjaxButton(); } /** * set ajax loader id that will be shown, and hidden on ajax request * this loader will be shown only once, and then need to be sent again. */ this.setAjaxLoaderID = function(id){ ajaxLoaderID = id; } /** * show loader on ajax actions */ var showAjaxLoader = function(){ if(ajaxLoaderID) jQuery("#"+ajaxLoaderID).show(); } /** * hide and remove ajax loader. next time has to be set again before "ajaxRequest" function. */ var hideAjaxLoader = function(){ if(ajaxLoaderID){ jQuery("#"+ajaxLoaderID).hide(); ajaxLoaderID = null; } } /** * set button to hide / show on ajax operations. */ this.setAjaxHideButtonID = function(buttonID){ ajaxHideButtonID = buttonID; } /** * if exist ajax button to hide, hide it. */ var hideAjaxButton = function(){ if(ajaxHideButtonID){ var doHide = ajaxHideButtonID.split(','); if(doHide.length > 1){ for(var i = 0; i < doHide.length; i++){ jQuery("#"+doHide[i]).hide(); } }else{ jQuery("#"+ajaxHideButtonID).hide(); } } } /** * if exist ajax button, show it, and remove the button id. */ var showAjaxButton = function(){ if(ajaxHideButtonID){ var doShow = ajaxHideButtonID.split(','); if(doShow.length > 1){ for(var i = 0; i < doShow.length; i++){ jQuery("#"+doShow[i]).show(); } }else{ jQuery("#"+ajaxHideButtonID).show(); } ajaxHideButtonID = null; } } /** * Ajax request function. call wp ajax, if error - print error message. * if success, call "success function" */ t.ajaxRequest = function(action,data,successFunction,hideOverlay){ var objData = { action:g_uniteDirPlugin+"_ajax_action", client_action:action, nonce:g_revNonce, data:data } hideErrorMessage(); showAjaxLoader(); hideAjaxButton(); if(hideOverlay===undefined) showWaitAMinute({fadeIn:300,text:rev_lang.please_wait_a_moment}); jQuery.ajax({ type:"post", url:ajaxurl, dataType: 'json', data:objData, success:function(response){ if(hideOverlay===undefined) showWaitAMinute({fadeOut:300}); hideAjaxLoader(); if(!response){ t.showErrorMessage("Empty ajax response!"); return(false); } if(response == -1){ t.showErrorMessage("ajax error!!!"); return(false); } if(response == 0){ t.showErrorMessage("ajax error, action: "+action+" not found"); return(false); } if(response.success == undefined){ t.showErrorMessage("The 'success' param is a must!"); return(false); } if(response.success == false){ t.showErrorMessage(response.message); return(false); } //success actions: //run a success event function if(typeof successFunction == "function"){ successFunction(response); } if(response.message) showSuccessMessage(response.message); if(response.is_redirect) location.href=response.redirect_url; }, error:function(jqXHR, textStatus, errorThrown){ if(hideOverlay===undefined) showWaitAMinute({fadeOut:300}); hideAjaxLoader(); if(textStatus == "parsererror") t.debug(jqXHR.responseText); t.showErrorMessage("Ajax Error!!! " + textStatus); } }); }//ajaxrequest /** * open new add image dialog */ var openNewImageDialog = function(title,onInsert,isMultiple){ if(isMultiple == undefined) isMultiple = false; // Media Library params var frame = wp.media({ //frame: 'post', //state: 'insert', title : title, multiple : isMultiple, library : { type : 'image' }, button : { text : 'Insert' } }); // Runs on select frame.on('select',function(){ var objSettings = frame.state().get('selection').first().toJSON(); var selection = frame.state().get('selection'); var arrImages = []; if(isMultiple == true){ //return image object when multiple selection.map( function( attachment ) { var objImage = attachment.toJSON(); var obj = {}; obj.url = objImage.url; obj.id = objImage.id; obj.width = objImage.width; obj.height = objImage.height; arrImages.push(obj); }); onInsert(arrImages); }else{ //return image url and id - when single onInsert(objSettings.url,objSettings.id,objSettings.width,objSettings.height); } }); // Open ML frame.open(); } /** * open old add image dialog */ var openOldImageDialog = function(title,onInsert){ var params = "type=image&post_id=0&TB_iframe=true"; params = encodeURI(params); tb_show(title,'media-upload.php?'+params); window.send_to_editor = function(html) { tb_remove(); var urlImage = jQuery(html).attr('src'); if(!urlImage || urlImage == undefined || urlImage == "") var urlImage = jQuery('img',html).attr('src'); onInsert(urlImage,""); //return empty id, it can be changed } } /** * open add video dialog */ var openNewVideoDialog = function(title,onInsert,isMultiple){ if(isMultiple == undefined) isMultiple = false; // Media Library params var frame = wp.media({ //frame: 'post', //state: 'insert', title : title, multiple : isMultiple, library : { type : 'video' }, button : { text : 'Insert' } }); // Runs on select frame.on('select',function(){ var objSettings = frame.state().get('selection').first().toJSON(); var selection = frame.state().get('selection'); var arrVideos = []; if(isMultiple == true){ //return video object when multiple selection.map( function( attachment ) { var objVideo = attachment.toJSON(); var obj = {}; obj.url = objVideo.url; obj.id = objVideo.id; obj.width = objVideo.width; obj.height = objVideo.height; arrVideos.push(obj); }); onInsert(arrVideos); }else{ //return image url and id - when single onInsert(objSettings.url,objSettings.id,objSettings.width,objSettings.height); } }); // Open ML frame.open(); } t.openAddImageDialog = function(title,onInsert,isMultiple){ if(!title) title = rev_lang.select_image; if(typeof wp != "undefined" && typeof wp.media != "undefined") openNewImageDialog(title,onInsert,isMultiple); else{ openOldImageDialog(title,onInsert); } } t.openAddVideoDialog = function(title,onInsert,isMultiple){ if(!title) title = rev_lang.select_image; if(typeof wp != "undefined" && typeof wp.media != "undefined") openNewVideoDialog(title,onInsert,isMultiple); } /** * load css file on the fly * replace current item if exists */ t.loadCssFile = function(urlCssFile,replaceID){ var rand = Math.floor((Math.random()*100000)+1); urlCssFile += "?rand="+rand; if(replaceID) jQuery("#"+replaceID).remove(); jQuery("head").append(""); var css = jQuery("head").children(":last"); css.attr({ rel: "stylesheet", type: "text/css", href: urlCssFile }); //replace current element if(replaceID) css.attr({id:replaceID}); } /** * get show image url */ t.getUrlShowImage = function(imageID,width,height,exact){ imageID = parseInt(imageID, 0) var urlImage = g_urlAjaxShowImage+"&img="+imageID; if(width) urlImage += "&w="+width; if(height) urlImage += "&h="+height; if(exact && exact == true) urlImage += "&t=exact"; return(urlImage); } /** * set html to youtube dialog * if empty data - clear the dialog */ var setYoutubeDialogHtml = function(data){ //if empty data - clear the dialog if(!data){ jQuery("#video_content").html(""); return(false); } var thumb = data.thumb_medium; var useURL = (jQuery.trim(jQuery('#input_video_preview').val()) != '') ? jQuery('#input_video_preview').val() : thumb.url; var html = '
'; html += '
'; html += '
'; html += '
'+data.title+'
'; if(typeof data.desc_small != "undefined") html += data.desc_small; html += '
'; html += '
'; jQuery("#video_content").html(html); } /** * pass youtube id or youtube url, and get the id */ var getYoutubeIDFromUrl = function(url){ url = jQuery.trim(url); var video_id = url.split('v=')[1]; if(video_id){ var ampersandPosition = video_id.indexOf('&'); if(ampersandPosition != -1) { video_id = video_id.substring(0, ampersandPosition); } }else{ video_id = url; } return(video_id); } /** * get vimeo id from url */ var getVimeoIDFromUrl = function(url){ url = jQuery.trim(url); var video_id = url.replace(/[^0-9]+/g, ''); video_id = jQuery.trim(video_id); return(video_id); } /** * youtube callback script, set and store youtube data, and add it to dialog */ t.onYoutubeCallback = function(obj){ jQuery("#youtube_loader").hide(); var desc_small_size = 200; //prepare data var data = {}; data.id = jQuery("#youtube_id").val(); data.id = jQuery.trim(data.id); data.video_type = "youtube"; if(obj[0].width <= 170 || obj[0].height <= 140){ data.title = 'YouTube: '+rev_lang.maybe_wrong_yt_id; }else{ data.title = 'YouTube'; } data.author = 'YouTube'; data.link = ''; data.description = ''; data.desc_small = ''; if(data.description.length > desc_small_size) data.desc_small = data.description.slice(0,desc_small_size)+"..."; data.thumb_small = {url:obj[0].src,width:200,height:150}; data.thumb_medium = {url:obj[0].src,width:320,height:240}; data.thumb_big = {url:obj[0].src,width:obj[0].width,height:obj[0].height}; data.video_width = obj[0].width; data.video_height = obj[0].height; //set html in dialog setYoutubeDialogHtml(data); //set the youtube arguments var objArguments = jQuery("#input_video_arguments"); if(objArguments.val() == "") objArguments.val(objArguments.data("youtube")); //store last video data lastVideoData = data; jQuery('#video_dialog_tabs').removeClass('disabled'); video_found = true; jQuery('#button-video-add').show(); } t.initVideoDef = function(){ jQuery('.button-image-select-video-default').click(function(){ if(typeof(lastVideoData) == 'undefined') return false; switch(lastVideoData.video_type){ case 'vimeo': jQuery("#input_video_preview").val(lastVideoData.thumb_large.url); //update preview image: jQuery("#video-thumbnail-preview").css({backgroundImage:'url('+lastVideoData.thumb_large.url+')'}); break; case 'youtube': jQuery("#input_video_preview").val(lastVideoData.thumb_big.url); //update preview image: jQuery("#video-thumbnail-preview").css({backgroundImage:'url('+lastVideoData.thumb_big.url+')'}); break; } }); } /** * vimeo callback script, set and store vimeo data, and add it to dialog */ t.onVimeoCallback = function(obj){ jQuery("#vimeo_loader").hide(); var desc_small_size = 200; obj = obj[0]; var data = {}; data.video_type = "vimeo"; data.id = obj.id; data.id = jQuery.trim(data.id); data.title = obj.title; data.link = obj.url; data.author = obj.user_name; data.description = obj.description; if(data.description.length > desc_small_size) data.desc_small = data.description.slice(0,desc_small_size)+"..."; data.thumb_large = {url:obj.thumbnail_large,width:640,height:360}; data.thumb_medium = {url:obj.thumbnail_medium,width:200,height:150}; data.thumb_small = {url:obj.thumbnail_small,width:100,height:75}; data.video_with = 640; data.video_height = 360; //set html in dialog setYoutubeDialogHtml(data); //set the youtube arguments var objArguments = jQuery("#input_video_arguments"); objArguments.val(objArguments.data("vimeo")); //store last video data lastVideoData = data; jQuery('#video_dialog_tabs').removeClass('disabled'); video_found = true; jQuery('#button-video-add').show(); } /** * show error message on the dialog */ t.videoDialogOnError = function(){ //if ok, don't do nothing if(video_found == true){ jQuery('#button-video-add').show(); video_found = false; return(false); } //if error - show message jQuery('#button-video-add').hide(); jQuery("#youtube_loader").hide(); jQuery("#vimeo_loader").hide(); var html = "
"+rev_lang.video_not_found+"
"; jQuery("#video_content").html(html); } /** * update video size enabled disabled according fullwidth properties */ var updateVideoSizeProps = function(){ var isFullwidth = jQuery("#input_video_fullwidth").is(":checked"); if(isFullwidth == true){ //disable }else{ //enable jQuery("#input_video_cover").prop("checked",false); } var isCover = jQuery("#input_video_cover").is(":checked"); if(isCover == true){ //disable jQuery("#input_video_ratio_lbl, #input_video_ratio, #input_video_dotted_overlay_lbl, #input_video_dotted_overlay").show(); }else{ //enable jQuery("#input_video_ratio_lbl, #input_video_ratio, #input_video_dotted_overlay_lbl, #input_video_dotted_overlay").hide(); } RevSliderSettings.onoffStatus(jQuery('#input_video_fullwidth')); RevSliderSettings.onoffStatus(jQuery('#input_video_cover')); } /** * open dialog for youtube or vimeo import , add / update */ t.openVideoDialog = function(callback,objCurrentVideoData){ lastVideoCallback = callback; var dialogVideo = jQuery("#dialog_video"); //set buttons: var buttons = { "Close":function(){ dialogVideo.dialog("close"); } }; //clear the dialog content setYoutubeDialogHtml(false); //enable fields: jQuery("#video_type_chooser").show(); jQuery("#youtube_id,#vimeo_id").prop("disabled","").removeClass("input-disabled"); //clear the fields jQuery('#html5_url_poster').val(''); jQuery('#html5_url_mp4').val(''); jQuery('#html5_url_webm').val(''); jQuery('#html5_url_ogv').val(''); jQuery("#input_video_arguments").val(""); jQuery("#select_video_autoplay option[value='false']").attr("selected",true); //jQuery("#input_video_autoplay").prop("checked",""); //jQuery("#showautoplayfirsttime").hide(); //jQuery("#input_video_autoplay_first_time").prop("checked",""); jQuery("#input_video_nextslide").prop("checked",""); jQuery("#input_video_force_rewind").prop("checked",""); jQuery("#input_video_fullwidth").prop("checked",""); jQuery("#input_video_control").prop("checked",""); jQuery("#input_video_mute").prop("checked",""); jQuery("#input_disable_on_mobile").prop("checked",""); jQuery("#input_video_cover").prop("checked",""); jQuery("#input_video_stopallvideo").prop("checked",""); jQuery("#input_video_dotted_overlay option[value='none']").attr("selected",true); jQuery("#input_video_ratio option[value='16:9']").attr("selected",true); jQuery('#input_video_preload option[value="auto"]').attr("selected",true); jQuery('#input_video_speed option[value="1"]').attr("selected",true); jQuery('#input_video_loop option[value="none"]').attr("selected",true); jQuery("#input_video_preview").val(""); jQuery("#input_use_poster_on_mobile").prop("checked",""); //RevSliderSettings.onoffStatus(jQuery("#input_video_autoplay")); //RevSliderSettings.onoffStatus(jQuery("#input_video_autoplay_first_time")); RevSliderSettings.onoffStatus(jQuery("#input_video_nextslide")); RevSliderSettings.onoffStatus(jQuery("#input_video_force_rewind")); RevSliderSettings.onoffStatus(jQuery("#input_video_fullwidth")); RevSliderSettings.onoffStatus(jQuery("#input_video_control")); RevSliderSettings.onoffStatus(jQuery("#input_video_mute")); RevSliderSettings.onoffStatus(jQuery("#input_disable_on_mobile")); RevSliderSettings.onoffStatus(jQuery("#input_video_cover")); RevSliderSettings.onoffStatus(jQuery("#input_video_stopallvideo")); RevSliderSettings.onoffStatus(jQuery("#input_use_poster_on_mobile")); jQuery('#button-video-add').hide(); if(!jQuery('#video_dialog_tabs').hasClass('disabled')) jQuery('#video_dialog_tabs').addClass('disabled'); jQuery("#youtube_id").val(""); jQuery("#vimeo_id").val(""); jQuery("#fullscreenvideofun").hide(); var buttonVideoAdd = jQuery("#button-video-add"); buttonVideoAdd.text(buttonVideoAdd.data("textadd")); //open the dialog dialogVideo.dialog({ buttons:buttons, minWidth:830, minHeight:500, modal:true, dialogClass:"tpdialogs" }); //if update dialog open: if(objCurrentVideoData) setVideoDialogUpdateMode(objCurrentVideoData); updateVideoSizeProps(); } /** * prepare the dialog for video update */ var setVideoDialogUpdateMode = function(data){ data.id = jQuery.trim(data.id); jQuery("#video_type_chooser").hide(); //disable fields: //jQuery("#youtube_id,#vimeo_id").prop("disabled","disabled").addClass("input-disabled"); //set mode and video id switch(data.video_type){ case "youtube": jQuery("#video-dialog-wrap").removeClass("html5select"); jQuery("#video_radio_youtube").trigger("click"); jQuery("#youtube_id").val(data.id); jQuery("#fullscreenvideofun").hide(); break; case "vimeo": jQuery("#video-dialog-wrap").removeClass("html5select"); jQuery("#video_radio_vimeo").trigger("click"); jQuery("#vimeo_id").val(data.id); jQuery("#fullscreenvideofun").hide(); break; case "html5": jQuery("#video-dialog-wrap").addClass("html5select"); jQuery("#html5_url_poster").val(data.urlPoster); jQuery("#html5_url_mp4").val(data.urlMp4); jQuery("#html5_url_webm").val(data.urlWebm); jQuery("#html5_url_ogv").val(data.urlOgv); jQuery("#video_radio_html5").trigger("click"); jQuery("#fullscreenvideofun").show(); break; case 'streamvimeo': jQuery("#video-dialog-wrap").removeClass("html5select"); jQuery("#video_radio_streamvimeo").trigger("click"); break; case 'streamyoutube': jQuery("#video-dialog-wrap").removeClass("html5select"); jQuery("#video_radio_streamyoutube").trigger("click"); break; case 'streaminstagram': jQuery("#video-dialog-wrap").removeClass("html5select"); jQuery("#video_radio_streaminstagram").trigger("click"); break; } jQuery("#input_video_arguments").val(data.args); jQuery("#input_video_preview").val(data.previewimage); if(data.use_poster_on_mobile && data.use_poster_on_mobile == true){ jQuery("#input_use_poster_on_mobile").prop("checked","checked"); }else{ jQuery("#input_use_poster_on_mobile").prop("checked",""); } console.log('first: '+data.autoplayonlyfirsttime); if(data.autoplayonlyfirsttime && data.autoplayonlyfirsttime == true) data.autoplay = '1sttime'; if(data.autoplay){ switch(data.autoplay){ case 'true': case true: jQuery('#select_video_autoplay option[value="true"]').attr('selected', true); break; case false: case 'false': jQuery('#select_video_autoplay option[value="false"]').attr('selected', true); break; default: jQuery('#select_video_autoplay option[value="'+data.autoplay+'"]').attr('selected', true); break; } } if(data.nextslide && data.nextslide == true) jQuery("#input_video_nextslide").prop("checked","checked"); else jQuery("#input_video_nextslide").prop("checked",""); if(data.forcerewind && data.forcerewind == true) jQuery("#input_video_force_rewind").prop("checked","checked"); else jQuery("#input_video_force_rewind").prop("checked",""); if(data.fullwidth && data.fullwidth == true) jQuery("#input_video_fullwidth").prop("checked","checked"); else jQuery("#input_video_fullwidth").prop("checked",""); if(data.controls && data.controls == true) jQuery("#input_video_control").prop("checked","checked"); else jQuery("#input_video_control").prop("checked",""); if(data.mute && data.mute == true) jQuery("#input_video_mute").prop("checked","checked"); else jQuery("#input_video_mute").prop("checked",""); if(data.disable_on_mobile && data.disable_on_mobile == true) jQuery("#input_disable_on_mobile").prop("checked","checked"); else jQuery("#input_disable_on_mobile").prop("checked",""); if(data.cover && data.cover == true) jQuery("#input_video_cover").prop("checked","checked"); else jQuery("#input_video_cover").prop("checked",""); if(data.stopallvideo && data.stopallvideo == true) jQuery("#input_video_stopallvideo").prop("checked","checked"); else jQuery("#input_video_stopallvideo").prop("checked",""); if(data.preload){ jQuery("#input_video_preload option").each(function(){ if(jQuery(this).val() == data.preload) jQuery(this).attr('selected', true); }); } if(data.videospeed){ jQuery("#input_video_speed option").each(function(){ if(jQuery(this).val() == data.videospeed) jQuery(this).attr('selected', true); }); } if(data.dotted){ jQuery("#input_video_dotted_overlay option").each(function(){ if(jQuery(this).val() == data.dotted) jQuery(this).attr('selected', true); }); } if(data.ratio){ jQuery("#input_video_ratio option").each(function(){ if(jQuery(this).val() == data.ratio) jQuery(this).attr('selected', true); }); } if(data.videoloop){ if(data.videoloop == true){ jQuery('#input_video_loop option[value="loop"]').attr("selected",true); }else{ jQuery("#input_video_loop option").each(function(){ if(jQuery(this).val() == data.videoloop) jQuery(this).attr('selected', true); }); } } //change button text: var buttonVideoAdd = jQuery("#button-video-add"); buttonVideoAdd.text(buttonVideoAdd.data("textupdate")); //search switch(data.video_type){ case "youtube": jQuery("#button_youtube_search").trigger("click"); break; case "vimeo": jQuery("#button_vimeo_search").trigger("click"); break; } if(data.show_cover_pause && data.show_cover_pause == true) jQuery('#input_video_show_cover_pause').prop('checked', 'checked'); else jQuery('#input_video_show_cover_pause').prop('checked', ''); jQuery("#input_video_start_at").val(data.start_at); jQuery("#input_video_end_at").val(data.end_at); //RevSliderSettings.onoffStatus(jQuery('#input_video_autoplay')); //RevSliderSettings.onoffStatus(jQuery('#input_video_autoplay_first_time')); RevSliderSettings.onoffStatus(jQuery('#input_video_nextslide')); RevSliderSettings.onoffStatus(jQuery('#input_video_force_rewind')); RevSliderSettings.onoffStatus(jQuery('#input_video_fullwidth')); RevSliderSettings.onoffStatus(jQuery('#input_video_control')); RevSliderSettings.onoffStatus(jQuery('#input_video_mute')); RevSliderSettings.onoffStatus(jQuery('#input_disable_on_mobile')); RevSliderSettings.onoffStatus(jQuery('#input_video_cover')); RevSliderSettings.onoffStatus(jQuery('#input_video_stopallvideo')); RevSliderSettings.onoffStatus(jQuery('#input_use_poster_on_mobile')); RevSliderSettings.onoffStatus(jQuery('#input_video_show_cover_pause')); jQuery('#button-video-add').show(); jQuery('#video_dialog_tabs').removeClass('disabled'); jQuery('#reset_video_dialog_tab').click(); } //add params from textboxes to object var addTextboxParamsToObj = function(obj){ obj.args = jQuery("#input_video_arguments").val(); obj.previewimage = jQuery("#input_video_preview").val(); obj.autoplay = jQuery("#select_video_autoplay option:selected").val(); //obj.autoplay = jQuery("#input_video_autoplay").is(":checked"); obj.use_poster_on_mobile = jQuery("#input_use_poster_on_mobile").is(":checked"); //obj.autoplayonlyfirsttime = jQuery("#input_video_autoplay_first_time").is(":checked"); obj.nextslide = jQuery("#input_video_nextslide").is(":checked"); obj.forcerewind = jQuery("#input_video_force_rewind").is(":checked"); obj.fullwidth = jQuery("#input_video_fullwidth").is(":checked"); obj.controls = jQuery("#input_video_control").is(":checked"); obj.mute = jQuery("#input_video_mute").is(":checked"); obj.disable_on_mobile = jQuery("#input_disable_on_mobile").is(":checked"); obj.cover = jQuery("#input_video_cover").is(":checked"); obj.stopallvideo = jQuery("#input_video_stopallvideo").is(":checked"); obj.dotted = jQuery("#input_video_dotted_overlay option:selected").val(); obj.preload = jQuery("#input_video_preload option:selected").val(); obj.videospeed = jQuery("#input_video_speed option:selected").val(); obj.ratio = jQuery("#input_video_ratio option:selected").val(); obj.videoloop = jQuery("#input_video_loop option:selected").val(); obj.show_cover_pause = jQuery("#input_video_show_cover_pause").is(":checked"); obj.start_at = jQuery("#input_video_start_at").val(); obj.end_at = jQuery("#input_video_end_at").val(); return(obj); } /** * init video dialog buttons */ var initVideoDialog = function(){ //set youtube radio checked: jQuery("#video_radio_youtube").prop("checked",true); //set radio boxes: jQuery("#video_radio_vimeo").click(function(){ jQuery("#video_block_youtube").hide(); jQuery("#video_block_html5").hide(); jQuery("#rev-html5-options").hide(); jQuery("#rev-youtube-options").hide(); //jQuery("#video_content").show(); jQuery("#video_block_vimeo").show(); jQuery("#preview-image-video-wrap").show(); jQuery("#video-dialog-wrap").removeClass("html5select"); jQuery("#fullscreenvideofun").hide(); }); jQuery("#video_radio_youtube").click(function(){ jQuery("#video_block_vimeo").hide(); jQuery("#video_block_html5").hide(); jQuery("#rev-html5-options").hide(); jQuery("#rev-youtube-options").show(); //jQuery("#video_content").show(); jQuery("#video_block_youtube").show(); jQuery("#preview-image-video-wrap").show(); jQuery("#video-dialog-wrap").removeClass("html5select"); jQuery("#fullscreenvideofun").hide(); }); jQuery("#video_radio_html5").click(function(){ jQuery("#video_block_vimeo").hide(); jQuery("#video_block_youtube").hide(); jQuery("#video_block_html5").show(); jQuery("#rev-youtube-options").hide(); jQuery("#rev-html5-options").show(); jQuery("#video_content").hide(); jQuery("#preview-image-video-wrap").hide(); jQuery("#video-dialog-wrap").addClass("html5select"); jQuery("#fullscreenvideofun").show(); }); jQuery("#video_radio_streamyoutube").click(function(){ jQuery("#video_block_youtube").hide(); jQuery("#video_block_vimeo").hide(); jQuery("#video_block_html5").hide(); jQuery("#rev-html5-options").hide(); jQuery("#rev-youtube-options").hide(); //jQuery("#video_content").show(); jQuery("#preview-image-video-wrap").show(); jQuery("#video-dialog-wrap").removeClass("html5select"); jQuery("#fullscreenvideofun").hide(); jQuery('#video_dialog_tabs').removeClass('disabled'); jQuery('#button-video-add').show(); }); jQuery("#video_radio_streamvimeo").click(function(){ jQuery("#video_block_youtube").hide(); jQuery("#video_block_vimeo").hide(); jQuery("#video_block_html5").hide(); jQuery("#rev-html5-options").hide(); jQuery("#rev-youtube-options").show(); //jQuery("#video_content").show(); jQuery("#preview-image-video-wrap").show(); jQuery("#video-dialog-wrap").removeClass("html5select"); jQuery("#fullscreenvideofun").hide(); jQuery('#video_dialog_tabs').removeClass('disabled'); jQuery('#button-video-add').show(); }); jQuery("#video_radio_streaminstagram").click(function(){ jQuery("#video_block_youtube").hide(); jQuery("#video_block_vimeo").hide(); jQuery("#video_block_html5").hide(); jQuery("#rev-html5-options").hide(); jQuery("#rev-youtube-options").hide(); //jQuery("#video_content").show(); jQuery("#preview-image-video-wrap").show(); jQuery("#video-dialog-wrap").removeClass("html5select"); jQuery("#fullscreenvideofun").hide(); jQuery('#video_dialog_tabs').removeClass('disabled'); jQuery('#button-video-add').show(); }); /*jQuery("#input_video_autoplay").change(function(){ if(jQuery(this).is(":checked")){ jQuery("#showautoplayfirsttime").show(); }else{ jQuery("#showautoplayfirsttime").hide(); } });*/ jQuery("#input_video_cover").change(function(){ if(jQuery(this).is(":checked")){ if(!jQuery('#input_video_fullwidth').is(":checked")) jQuery('#input_video_fullwidth').prop("checked",true); RevSliderSettings.onoffStatus(jQuery('#input_video_fullwidth')); } updateVideoSizeProps(); }); //set youtube search action jQuery("#button_youtube_search").click(function(){ //init data setYoutubeDialogHtml(false); jQuery("#youtube_loader").show(); var youtubeID = jQuery("#youtube_id").val(); youtubeID = jQuery.trim(youtubeID); youtubeID = getYoutubeIDFromUrl(youtubeID); var img = new Image(); img.onload = function() { var img = jQuery(this); UniteAdminRev.onYoutubeCallback(img); } img.src = "https://img.youtube.com/vi/"+youtubeID+"/sddefault.jpg" jQuery("#video_content").show(); //handle not found: setTimeout("UniteAdminRev.videoDialogOnError()",2000); }); //add the selected video to the callback function jQuery("#button-video-add").click(function(){ jQuery('#layer-short-toolbar').appendTo(jQuery('#layer-settings-toolbar-bottom')); jQuery('#layer_text_wrapper').appendTo(jQuery('#layer_text_holder')); var html5Checked = jQuery("#video_radio_html5").prop("checked"); var ytstreamChecked = jQuery("#video_radio_streamyoutube").prop("checked"); var vmstreamChecked = jQuery("#video_radio_streamvimeo").prop("checked"); var igstreamChecked = jQuery("#video_radio_streaminstagram").prop("checked"); jQuery("#video_content").hide(); if(html5Checked){ //in case of html5 var obj = {}; obj.video_type = "html5"; obj.urlPoster = jQuery("#html5_url_poster").val(); obj.urlMp4 = jQuery("#html5_url_mp4").val(); obj.urlWebm = jQuery("#html5_url_webm").val(); obj.urlOgv = jQuery("#html5_url_ogv").val(); obj.video_width = 480; obj.video_height = 360; obj = addTextboxParamsToObj(obj); if(typeof lastVideoCallback == "function") lastVideoCallback(obj); jQuery("#dialog_video").dialog("close"); }else if(ytstreamChecked){ var obj = {}; obj.video_type = "streamyoutube"; obj.video_width = 480; obj.video_height = 360; obj = addTextboxParamsToObj(obj); if(typeof lastVideoCallback == "function") lastVideoCallback(obj); jQuery("#dialog_video").dialog("close"); }else if(vmstreamChecked){ var obj = {}; obj.video_type = "streamvimeo"; obj.video_width = 480; obj.video_height = 360; obj = addTextboxParamsToObj(obj); if(typeof lastVideoCallback == "function") lastVideoCallback(obj); jQuery("#dialog_video").dialog("close"); }else if(igstreamChecked){ var obj = {}; obj.video_type = "streaminstagram"; obj.video_width = 480; obj.video_height = 360; obj = addTextboxParamsToObj(obj); if(typeof lastVideoCallback == "function") lastVideoCallback(obj); jQuery("#dialog_video").dialog("close"); }else{ //in case of vimeo and youtube if(!lastVideoData) return(false); lastVideoData = addTextboxParamsToObj(lastVideoData); if(typeof lastVideoCallback == "function") lastVideoCallback(lastVideoData); jQuery("#dialog_video").dialog("close"); } }); jQuery('#html5_url_ogv, #html5_url_webm, #html5_url_mp4').on("change",function() { jQuery('#video_dialog_tabs').removeClass('disabled'); jQuery('#button-video-add').show(); }); //set vimeo search jQuery("#button_vimeo_search").click(function(){ //init data setYoutubeDialogHtml(false); jQuery("#vimeo_loader").show(); jQuery("#video_content").show(); var vimeoID = jQuery("#vimeo_id").val(); vimeoID = jQuery.trim(vimeoID); vimeoID = getVimeoIDFromUrl(vimeoID); var urlAPI = '//www.vimeo.com/api/v2/video/' + vimeoID + '.json?callback=UniteAdminRev.onVimeoCallback'; jQuery.getScript(urlAPI); //handle not found: setTimeout("UniteAdminRev.videoDialogOnError()",2000); }); jQuery("#input_video_fullwidth").change(updateVideoSizeProps); }//end initVideoDialog /** * init general settings dialog */ var initGeneralSettings = function(){ //button general settings - open dialog jQuery("#button_general_settings").click(function(){ jQuery("#loader_general_settings").hide(); jQuery("#dialog_general_settings").dialog({ minWidth:800, minHeight:500, modal:true, dialogClass:"tpdialogs" }); }); //button save general settings jQuery("#button_save_general_settings").click(function(){ var data = RevSliderSettings.getSettingsObject("form_general_settings"); jQuery("#loader_general_settings").show(); UniteAdminRev.ajaxRequest("update_general_settings",data,function(response){ jQuery("#loader_general_settings").hide(); jQuery("#dialog_general_settings").dialog("close"); }); }); } //adds the update/deactivate option var initUpdateRoutine = function(){ jQuery('#rs-validation-activate').click(function(){ UniteAdminRev.setAjaxLoaderID("rs_purchase_validation"); UniteAdminRev.setAjaxHideButtonID("rs-validation-activate"); var data = { code: jQuery('input[name="rs-validation-token"]').val(), username: jQuery('input[name="rs-validation-username"]').val(), api_key: jQuery('input[name="rs-validation-api-key"]').val() } UniteAdminRev.ajaxRequest("activate_purchase_code",data); }); jQuery('#rs-validation-deactivate').click(function(){ UniteAdminRev.setAjaxLoaderID("rs_purchase_validation"); UniteAdminRev.setAjaxHideButtonID("rs-validation-deactivate"); UniteAdminRev.ajaxRequest("deactivate_purchase_code",''); }); } //run the init function jQuery(document).ready(function(){ initVideoDialog(); initGeneralSettings(); initSliderMultipleText(); initUpdateRoutine(); }); /** * set multiple key values */ t.setMultipleTextKey = function(name, key){ g_multiple_text_key[name] = key; } /** * set multiple key values */ t.getMultipleTextKey = function(name){ return g_multiple_text_key[name]; } var initSliderMultipleText = function(){ jQuery("body").on("click",".remove_multiple_text",function(){ //remove element jQuery("#"+jQuery(this).data('remove')).remove(); jQuery(this).parent().remove(); }); jQuery(".multiple_text_add").click(function(){ //add element var handle = jQuery(this).data('name'); var key = t.getMultipleTextKey(handle) + 1; var template = jQuery('.'+handle+'_TEMPLATE').html(); template = template.replace(/##ID##/ig, handle+'_'+key).replace(/##NAME##/ig, handle); jQuery('#'+handle+'_row .setting_input').append(template); t.setMultipleTextKey(handle, key); }); } /** * set multiple key values */ t.parseCssMultiAttribute = function(value){ if(value == '') return false; var raw = value.split(' '); var retObj = []; switch(raw.length){ case 1: retObj[0] = raw[0]; retObj[1] = raw[0]; retObj[2] = raw[0]; retObj[3] = raw[0]; break; case 2: retObj[0] = raw[0]; retObj[1] = raw[1]; retObj[2] = raw[0]; retObj[3] = raw[1]; break; case 3: retObj[0] = raw[0]; retObj[1] = raw[1]; retObj[2] = raw[2]; retObj[3] = raw[1]; break; case 4: retObj[0] = raw[0]; retObj[1] = raw[1]; retObj[2] = raw[2]; retObj[3] = raw[3]; break; case 0: default: return false; break; } return retObj; } /** * get rgb from hex values */ t.convertHexToRGB = function(hex) { var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16); return [hex >> 16,(hex & 0x00FF00) >> 8,(hex & 0x0000FF)]; } t.initGoogleFonts = function(){ jQuery('#eg-font-setting-change').click(function(){ UniteAdminRev.ajaxRequest("change_google_fonts_settings", {'setting': jQuery('input[name="load_fonts_place"]:checked').val()}, function(response){}); }); jQuery('#eg-font-add').click(function(){ jQuery('#font-dialog-wrap').dialog({ modal:true, draggable:false, resizable:false, width:470, height:320, closeOnEscape:true, dialogClass:'wp-dialog', buttons: [ { text: 'Add Font', click: function() { var data = {}; data.handle = t.sanitize_input(jQuery('input[name="eg-font-handle"]').val()); data['url'] = jQuery('input[name="eg-font-url"]').val(); if(data.handle.length < 3 || data.url.length < 3){ alert(rev_lang.handle_at_least_three_chars); return false; } UniteAdminRev.ajaxRequest("add_google_fonts", data, function(response){}); //'#eg-font-add', } } ], }); }); jQuery('body').on('click', '.eg-font-edit', function(){ if(confirm(rev_lang.really_change_font_sett)){ var data = {}; var el = jQuery(this); data.handle = el.closest('.inside').find('input[name="esg-font-handle[]"]').val(); data['url'] = el.closest('.inside').find('input[name="esg-font-url[]"]').val(); UniteAdminRev.ajaxRequest("edit_google_fonts", data, function(response){}); //'#eg-font-add, .eg-font-edit, .eg-font-delete', } }); jQuery('body').on('click', '.eg-font-delete', function(){ if(confirm(rev_lang.really_delete_font)){ var data = {}; var el = jQuery(this); data.handle = el.closest('.inside').find('input[name="esg-font-handle[]"]').val(); UniteAdminRev.ajaxRequest("remove_google_fonts", data, function(response){ //'#eg-font-add, .eg-font-edit, .eg-font-delete', if(response.success == true){ el.closest('.postbox.eg-postbox').remove(); } }); } }); } t.sanitize_input = function(raw){ return raw.replace(/ /g, '-').replace(/[^-0-9a-zA-Z_-]/g,''); } t.sanitize_input_lc = function(raw){ return raw.replace(/ /g, '-').replace(/[^-0-9a-z_-]/g,''); } t.initAccordion = function(){ jQuery(".postbox-arrow").each(function(i) { jQuery(this).closest('h3').click(function(){ var handle = jQuery(this); //open if(!handle.hasClass("box-closed")){ handle.closest('.postbox').find('.inside').slideUp("fast"); handle.addClass("box-closed"); }else{ //close jQuery('.postbox-arrow').each(function() { var handle = jQuery(this).closest('h3'); handle.closest('.postbox').find('.inside').slideUp("fast"); handle.addClass("box-closed"); }) handle.closest('.postbox').find('.inside').slideDown("fast"); handle.removeClass("box-closed"); } }); }); } } //user functions: function trace(data,clear){ UniteAdminRev.trace(data,clear); } function debug(data){ UniteAdminRev.debug(data); }