diff --git a/Gruntfile.js b/Gruntfile.js index 9511d16b7..a3647715b 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -12,7 +12,7 @@ module.exports = function (grunt) { tasks: ['shell:postcss'] }, js: { - files: ['app/assets/js/rtMedia.js', 'app/assets/admin/js/scripts.js'], + files: ['app/assets/js/rtMedia.js', 'app/assets/admin/js/scripts.js', 'app/assets/admin/js/settings.js'], tasks: ['terser'] } }, @@ -60,7 +60,10 @@ module.exports = function (grunt) { }, backend: { files: { - 'app/assets/admin/js/admin.min.js': ['app/assets/admin/js/scripts.js'] + 'app/assets/admin/js/admin.min.js': [ + 'app/assets/admin/js/scripts.js', + 'app/assets/admin/js/settings.js' + ] } }, godam: { diff --git a/README.md b/README.md index 023b47844..cd7f42bc2 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,17 @@ https://www.youtube.com/watch?v=dJrykKQGDcs ## Changelog ## +### 4.7.7 + +* FIXED + * Fix JS Build process breaking Admin dashboard. + * Fix rtMedia compatibility with Hello Elementor theme. + * Fix Masonry script issue in rtMedia Gallery in BuddyX theme. + +* ENHANCEMENT + * Enhanced End to End playwright testing scripts for media validation. + * Improved rtMedia Logo visibility on dashboard. + ### 4.7.6 * FIXED diff --git a/app/admin/RTMediaAdmin.php b/app/admin/RTMediaAdmin.php index a532b7206..1def0df3f 100644 --- a/app/admin/RTMediaAdmin.php +++ b/app/admin/RTMediaAdmin.php @@ -777,13 +777,15 @@ public function ui( $hook ) { $admin_ajax = admin_url( 'admin-ajax.php' ); + // Always enqueue tabs.js as it's a dependency for admin scripts (provides rtTab jQuery plugin). + wp_enqueue_script( 'rtmedia-admin-tabs', RTMEDIA_URL . 'app/assets/admin/js/vendors/tabs.js', array( 'backbone' ), RTMEDIA_VERSION, true ); + /* Only one JS file should enqueue */ if ( '' === $suffix ) { - wp_enqueue_script( 'rtmedia-admin-tabs', RTMEDIA_URL . 'app/assets/admin/js/vendors/tabs.js', array( 'backbone' ), RTMEDIA_VERSION, true ); - wp_enqueue_script( 'rtmedia-admin-scripts', RTMEDIA_URL . 'app/assets/admin/js/scripts.js', array( 'backbone' ), RTMEDIA_VERSION, true ); + wp_enqueue_script( 'rtmedia-admin-scripts', RTMEDIA_URL . 'app/assets/admin/js/scripts.js', array( 'rtmedia-admin-tabs', 'backbone' ), RTMEDIA_VERSION, true ); wp_enqueue_script( 'rtmedia-admin', RTMEDIA_URL . 'app/assets/admin/js/settings.js', array( 'backbone', 'wp-util' ), RTMEDIA_VERSION, true ); } else { - wp_enqueue_script( 'rtmedia-admin', RTMEDIA_URL . 'app/assets/admin/js/admin.min.js', array( 'backbone', 'wp-util' ), RTMEDIA_VERSION, true ); + wp_enqueue_script( 'rtmedia-admin', RTMEDIA_URL . 'app/assets/admin/js/admin.min.js', array( 'rtmedia-admin-tabs', 'backbone', 'wp-util' ), RTMEDIA_VERSION, true ); } // Enqueue JS file for GoDAM notice show/hide. diff --git a/app/assets/admin/img/rtmedia-logo.png b/app/assets/admin/img/rtmedia-logo.png index 657559e70..cde6bc8e1 100644 Binary files a/app/assets/admin/img/rtmedia-logo.png and b/app/assets/admin/img/rtmedia-logo.png differ diff --git a/app/assets/admin/js/admin.min.js b/app/assets/admin/js/admin.min.js index 91834e2ba..deaa3e9d0 100644 --- a/app/assets/admin/js/admin.min.js +++ b/app/assets/admin/js/admin.min.js @@ -1,6 +1 @@ -/*! - * rtMedia JavaScript Library - * @package rtMedia - */ - -"function"!=typeof Object.create&&(Object.create=function(e){function t(){}return t.prototype=e,new t}),function(n,s){var r={init:function(e,t){var r=this;r.elem=t,r.$elem=n(t),r.options=n.extend({},n.fn.rtTab.options,e),r.rtTabs()},rtTabs:function(){var t=this,e=t.options.activeTab;if(t.$elem.find("li:nth-child("+e+")").addClass("active"),t.rtTabContent(activeTabContent="yes"),t.rtClick(),!0==("false"!==t.$elem.attr("data-hash"))){var r=s.location.hash;r&&t.$elem.find("li").find('a[href="'+r+'"]').trigger("click"),n(s).on("hashchange",function(){var e=s.location.hash;t.$elem.find("li").find('a[href="'+e+'"]').trigger("click")})}},rtClick:function(){var a=this,i=a.$elem.find("li");i.find("a").on("click",function(e){e.preventDefault(),i.removeClass("active"),a.rtTabContent(),n(this).parent().addClass("active");var t=n(this).attr("href");if(n(t).removeClass("hide"),!0==("false"!==a.$elem.attr("data-hash"))){var r=n(s).scrollTop();location.hash=n(this).attr("href"),n(s).scrollTop(r)}"function"==typeof a.options.onComplete&&a.options.onComplete.apply(a.elem,arguments)})},rtTabContent:function(r){this.$elem.find("li").find("a").each(function(){var e=n(this),t=e.attr("href");"yes"===r&&e.parent().hasClass("active")||n(t).addClass("hide")})}};n.fn.rtTab=function(t){return this.each(function(){var e=Object.create(r);e.init(t,this),n.data(this,"rtTab",e)})},n.fn.rtTab.options={activeTab:1,onComplete:null}}(jQuery,window,document),jQuery(document).ready(function(a){var e=document.createElement("div");e.setAttribute("class","rtm-warning rtm-fly-warning hide"),a(".rtm-tabs").rtTab(),a('input[name^="rtmedia-options"]').on("change",function(){a(".rtm-save-settings-msg").remove(),0===a(".rtm-fly-warning").length&&(e.innerText=rtmedia_admin_strings.settings_changed,a(".rtm-button-container.top").prepend(e),a(".rtm-fly-warning").slideDown())}),a(".rtm-img-size-setting .form-table tr:nth-child(7) td:last-child").attr("colspan","3"),a(".rtm-field-wrap .switch input[type=checkbox]").each(function(){var e=a(this);e.parents("table").attr("data-depends")||(e.is(":checked")?(e.parents("table").next(".rtm-notice").slideDown(),e.parents("table").siblings("table").each(function(){a(this).attr("data-depends")&&a(this).slideDown()})):(e.parents("table").next(".rtm-notice").slideUp(),e.parents("table").siblings("table").each(function(){a(this).attr("data-depends")&&a(this).slideUp()}))),e.parents("tr").next("tr").attr("data-depends")&&(e.is(":checked")?e.parents("tr").next("tr").slideDown():e.parents("tr").next("tr").slideUp())}),a(".rtm-field-wrap .switch input[type=checkbox]").on("change",function(){var e=a(this);e.parents("table").attr("data-depends")||(e.parents("table").next(".rtm-notice").slideToggle(),e.parents("table").siblings("table").each(function(){a(this).attr("data-depends")&&a(this).slideToggle()})),e.parents("tr").next("tr").attr("data-depends")&&e.parents("tr").next("tr").slideToggle()});new(Backbone.View.extend({el:a(".bp-media-admin"),events:{"click .rtm-theme":"render","click .rtm-close":"close","click .rtm-previous":"previousTheme","click .rtm-next":"nextTheme",keyup:"keyEvent"},initialize:function(){_.bindAll(this,"render","close","nextTheme","previousTheme","keyEvent"),this.keyEvent()},render:function(e){a(".rtm-theme").removeClass("rtm-modal-open");var t=a(e.currentTarget).addClass("rtm-modal-open").find(".rtm-theme-content").html();if(a(".rtm-theme-overlay")[0])a(".rtm-theme-overlay").show(),a(this.el).find(".rtm-theme-content-wrap").empty().append(t);else{var r={themeContent:t};a(this.el).append(rtMediaAdmin.templates.rtm_theme_overlay(r))}a(e.currentTarget).is(":first-child")?a(".rtm-previous").addClass("disabled"):a(e.currentTarget).is(":last-child")?a(".rtm-next").addClass("disabled"):a(".rtm-next, .rtm-previous").removeClass("disabled")},close:function(){a(".rtm-theme").removeClass("rtm-modal-open"),a(".rtm-theme-overlay").hide(),a(".rtm-next, .rtm-previous").removeClass("disabled")},nextTheme:function(e){return a(".rtm-next, .rtm-previous").removeClass("disabled"),a(".rtm-theme:last-child").hasClass("rtm-modal-open")&&a(e.currentTarget).addClass("disabled"),a(".rtm-modal-open").next().trigger("click"),!1},previousTheme:function(e){return a(".rtm-next, .rtm-previous").removeClass("disabled"),a(".rtm-theme:first-child").hasClass("rtm-modal-open")&&a(e.currentTarget).addClass("disabled"),a(".rtm-modal-open").prev().trigger("click"),!1},keyEvent:function(){a("body").on("keyup",function(e){return 39===e.keyCode?(a(".rtm-next, .rtm-previous").removeClass("disabled"),a(".rtm-theme:last-child").hasClass("rtm-modal-open")&&a(e.currentTarget).addClass("disabled"),a(".rtm-modal-open").next().trigger("click"),!1):37===e.keyCode?(a(".rtm-next, .rtm-previous").removeClass("disabled"),a(".rtm-theme:first-child").hasClass("rtm-modal-open")&&a(e.currentTarget).addClass("disabled"),a(".rtm-modal-open").prev().trigger("click"),!1):void(27===e.keyCode&&a(".rtm-close").trigger("click"))})}}));jQuery("#rtm-licenses .regular-text").each(function(){jQuery(this).keypress(function(e){if("13"==(e.keyCode?e.keyCode:e.which))return!1})}),jQuery("#bp_media_settings_form").on("submit",function(e){jQuery("#rtcss-notice").remove();var t=jQuery("#rtmedia-custom-css").val().match(/@import\s*(url)?\s*\(?([^;]+?)\)?;/);if(null!=t&&null!=t[0])return jQuery("#rtmedia-custom-css").after('

'+rtmedia_admin_strings.wrong_css_input+"

"),!1})});var rtMediaAdmin=new Object;function rtmedia_addon_do_not_show(){jQuery.post(rtmedia_admin_ajax,{action:"rtmedia_addon_popup_not_show_again"},function(e){jQuery("#TB_window").remove(),jQuery("#TB_overlay").remove()})}rtMediaAdmin.templates={rtm_image:wp.template("rtm-image"),rtm_msg_div:wp.template("rtm-msg-div"),rtm_album_favourites_importer:wp.template("rtm-album-favourites-importer"),rtm_map_mapping_failure:wp.template("rtm-map-mapping-failure"),rtm_p_tag:wp.template("rtm-p-tag"),rtm_theme_overlay:wp.template("rtm-theme-overlay")},jQuery(document).ready(function(g){if("object"==typeof rtmedia_admin)for(var e in rtmedia_admin)window[e]=rtmedia_admin[e];var i=g("#bp-media-settings-boxes"),t=g("#bp_media_settings_form .bp-media-metabox-holder"),r=g("#rtm-licenses");0div").css("width",t+"%"),jQuery(".bp-album-comments #rtprogressbar>div").css("width",r+"%"),jQuery(".bp-album-users #rtprogressbar>div").css("width",a+"%"),media_finished=jQuery("#bpmedia-bpalbumimporter .bp-album-media span.finished").html(),parseInt(media_finished)div").css("width",t+"%"),redirect&&window.setTimeout(s,2e3)})}(t)})})}},"json"))}else if(n.hasOwnProperty(page)){var i={msg:"Row "+e.page+" failed."};jQuery("#map_progress_msgs").html(rtMediaAdmin.templates.rtm_map_mapping_failure(i))}else{i={msg:rtmedia_admin_strings.request_failed};jQuery("#map_progress_msgs").html(rtMediaAdmin.templates.rtm_map_mapping_failure(i))}})}function s(){window.location=document.URL}a.className="support_form_loader",0div").css("width",r+"%"),finished=jQuery("#rtprivacyinstaller span.finished").html(),jQuery("#rtprivacyinstaller span.finished").html(parseInt(finished)+i.count),t&&jQuery.post(ajaxurl,{action:"rtmedia_privacy_redirect"},function(e){window.location=settings_url})}else{var a={msg:"Row "+e+" failed."};jQuery("#map_progress_msgs").html(rtMediaAdmin.templates.rtm_map_mapping_failure(a))}})}(t)})})}})}),jQuery("#bpmedia-bpalbumimport-cleanup").on("click",function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"rtmedia_rt_album_cleanup",rtm_wpnonce:jQuery("#bpaimporter_wpnonce").val()},function(e){window.location=settings_rt_album_import_url})}),jQuery("#bpmedia-bpalbumimporter").on("click","#bpmedia-bpalbumimport",function(e){if(e.preventDefault(),jQuery("#bp-album-import-accept").prop("checked")){if(jQuery(this).prop("disabled",!0),wp_admin_url=ajaxurl.replace("admin-ajax.php",""),!jQuery(".bpm-ajax-loader").length){var t={src:rtmedia_admin_url+"images/wpspin_light.gif",class:"bpm-ajax-loader",norefresh:rtmedia_admin_strings.no_refresh};jQuery(this).after(rtMediaAdmin.templates.rtm_image(t))}$progress_parent=jQuery("#bpmedia-bpalbumimport"),$values=[],jQuery(this).parent().find("input").each(function(){$values[jQuery(this).attr("name")]=[jQuery(this).val()]}),0==$values.steps[0]&&($values.steps[0]=1),$data={};for(i=1;i<=$values.steps[0];i++)$count=5,i==$values.steps[0]&&($count=parseInt($values.laststep[0]),0==$count&&($count=5)),newvals={page:i,action:"rtmedia_rt_album_import",count:$count,values:$values,rtm_wpnonce:jQuery("#bpaimporter_wpnonce").val()},$data[i]=newvals;var r=jQuery.Deferred();r.resolve(),jQuery.each($data,function(e,t){r=r.pipe(function(){return n(t)})})}else{jQuery("html, body").animate({scrollTop:jQuery("#bp-album-import-accept").offset().top},500);var a=jQuery(".bp-album-import-accept"),i=3;(function e(){a.css("background-color","#EE0000"),setTimeout(function(){a.css("background-color","#FFEBE8"),--i&&setTimeout(e,500)},500)})()}}),i.on("click",".interested",function(){jQuery(".interested-container").removeClass("hidden"),jQuery(".choice-free").attr("required","required")}),i.on("click",".not-interested",function(){jQuery(".interested-container").addClass("hidden"),jQuery(".choice-free").removeAttr("required")}),jQuery("#video-transcoding-main-container").on("click",".video-transcoding-survey",function(e){e.preventDefault();var t={action:"rtmedia_convert_videos_form",email:jQuery(".email").val(),url:jQuery(".url").val(),choice:jQuery('input[name="choice"]:checked').val(),interested:jQuery('input[name="interested"]:checked').val()};return jQuery.post(ajaxurl,t,function(e){var t={msg:e,strong:"yes"};jQuery("#video-transcoding-main-container").html(rtMediaAdmin.templates.rtm_p_tag(t))}),!1}),jQuery("#bpmedia-bpalbumimporter").on("click",".deactivate-bp-album",function(e){e.preventDefault(),$bpalbum=jQuery(this);var t={action:"rtmedia_rt_album_deactivate",rtm_wpnonce:jQuery("#bpaimporter_wpnonce").val()};jQuery.get(ajaxurl,t,function(e){if(e)location.reload();else{var t={msg:rtmedia_admin_strings.something_went_wrong};$bpalbum.parent().after(rtMediaAdmin.templates.rtm_p_tag(t))}})}),jQuery(".updated").on("click",".bpm-hide-encoding-notice",function(){var e={src:rtmedia_admin_url+"images/wpspin_light.gif"};jQuery(this).after(rtMediaAdmin.templates.rtm_image(e));e={action:"rtmedia_hide_encoding_notice"};jQuery.post(ajaxurl,e,function(e){e&&jQuery(".bpm-hide-encoding-notice").closest(".updated").remove()})}),jQuery("#rtmedia-bp-enable-activity").is(":checked")?jQuery(".rtmedia-bp-activity-setting").prop("readonly",!1):jQuery(".rtmedia-bp-activity-setting").prop("readonly",!0),jQuery("#rtmedia-bp-enable-activity").on("click",function(e){jQuery(this).is(":checked")?jQuery(".rtmedia-bp-activity-setting").prop("readonly",!1):jQuery(".rtmedia-bp-activity-setting").prop("readonly",!0)});var o;function l(e,t){var r=jQuery(e);r.focus(),r.css("border-color","red");var a=r.parent();if(0").attr("style","display:block").addClass("error_msg").html(t);r.after(i)}return return_code=!1}void 0!==rtmedia_on_label&&rtmedia_on_label,void 0!==rtmedia_off_label&&rtmedia_off_label,jQuery("input[type=file]").on("change",function(e){o=e.target.files,function(e){e.stopPropagation(),e.preventDefault();var r=new FormData;void 0!==e&&void 0!==e.target&&void 0!==e.target.name&&"rtFileInput"===e.target.name&&r.append("import_export_control",e.target.name);jQuery.each(o,function(e,t){r.append(e,t)});var t=jQuery("#rtmedia_admin_upload_nonce").val();void 0!==t&&""!==t&&r.append("rtmedia_admin_upload_nonce",t);r.append("action","rtmedia_admin_upload"),jQuery.ajax({url:rtmedia_admin_ajax,type:"POST",data:r,cache:!1,processData:!1,contentType:!1,success:function(e){if(e.hasOwnProperty("rtm_response")&&e.hasOwnProperty("rtm_response_msg")){jQuery("#rtm-setting-msg").remove();var t=jQuery("
",{id:"rtm-setting-msg",class:"rtm-fly-warning"});"success"===e.rtm_response?(t.addClass("rtm-success rtm-save-settings-msg"),t.text(e.rtm_response_msg),jQuery(".rtm-button-container.top").append(t),location.reload()):"error"===e.rtm_response&&(t.addClass("rtm-warning"),t.text(e.rtm_response_msg),jQuery(".rtm-button-container.top").append(t),t.delay(3e3).fadeOut(100))}if(void 0===e.error){if((e=JSON.parse(e)).exceed_size_msg)return jQuery("#debuglog").val(""),alert(e.exceed_size_msg),!1;jQuery("#debuglog_temp_path").val(e.debug_attachmanet)}else jQuery("#debuglog").val(""),alert("ERRORS: "+e.error)}})}(e)}),jQuery("#rtmedia-submit-request").on("click",function(){var e=jQuery("#name").val(),t=jQuery("#email").val(),r=jQuery("#website").val(),a=jQuery("#subject").val(),i=jQuery("#details").val(),n=jQuery('input[name="request_type"]').val(),s=jQuery('input[name="request_id"]').val(),o=jQuery('input[name="server_address"]').val(),m=jQuery('input[name="ip_address"]').val(),d=jQuery('input[name="server_type"]').val(),l=jQuery('input[name="user_agent"]').val(),u={name:e,email:t,website:r,subject:a,details:i,request_id:s,request_type:"premium_support",server_address:o,ip_address:m,server_type:d,user_agent:l,debuglog_temp_path:jQuery('input[name="debuglog_temp_path"]').val()};if("bug_report"==n){var p=jQuery("#wp_admin_username").val();if(""===p)return alert(rtmedia_admin_support_strings.wp_admin_username_error),!1;var c=jQuery("#wp_admin_pwd").val();if(""===c)return alert(rtmedia_admin_support_strings.wp_admin_pwd_error),!1;var _=jQuery("#ssh_ftp_host").val();if(""===_)return alert(rtmedia_admin_support_strings.ssh_ftp_host_error),!1;var f=jQuery("#ssh_ftp_username").val();if(""===f)return alert(rtmedia_admin_support_strings.ssh_ftp_username_error),!1;var v=jQuery("#ssh_ftp_pwd").val();if(""===v)return alert(rtmedia_admin_support_strings.ssh_ftp_pwd_error),!1;u={name:e,email:t,website:r,subject:a,details:i,request_id:s,request_type:"premium_support",server_address:o,ip_address:m,server_type:d,user_agent:l,wp_admin_username:p,wp_admin_pwd:c,ssh_ftp_host:_,ssh_ftp_username:f,ssh_ftp_pwd:v}}for(formdata in u){if(""===u[formdata]&&"debuglog_temp_path"!==formdata)return alert("Please enter "+formdata.replace("_"," ")+" field."),!1;if(""===u[formdata]&&"debuglog_temp_path"===formdata)return alert("Please upload attachment."),!1}return data={action:"rtmedia_submit_request",form_data:u,support_wpnonce:jQuery("#support_wpnonce").val()},jQuery.post(ajaxurl,data,function(e){if("false"==(e=e.trim()))return alert(rtmedia_admin_support_strings.all_fields_error),!1;g("#rtmedia_service_contact_container").empty(),g("#rtmedia_service_contact_container").append(e)}),!1}),jQuery("#cancel-request").on("click",function(){return!1}),jQuery(".rtm_enable_masonry_view input[type=checkbox]").is(":checked")?jQuery(".rtm_enable_masonry_view").parents(".metabox-holder").find(".rtmedia-info").show():jQuery(".rtm_enable_masonry_view").parents(".metabox-holder").find(".rtmedia-info").hide(),jQuery(".rtm_enable_masonry_view input[type=checkbox]").on("click",function(e){jQuery(this).is(":checked")?jQuery(".rtm_enable_masonry_view").parents(".metabox-holder").find(".rtmedia-info").show():jQuery(".rtm_enable_masonry_view").parents(".metabox-holder").find(".rtmedia-info").hide()}),jQuery("#rtm-masonry-change-thumbnail-info").on("click",function(e){jQuery("html, body").animate({scrollTop:0},"500","swing")}),jQuery("#rtm-export-button").on("click",function(){data={action:"rtmedia_export_settings"},jQuery.post(ajaxurl,data,function(e){var t="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(e)),r=document.createElement("a");r.setAttribute("href",t),r.setAttribute("download","rtm-settings.json"),jQuery("body").append(r),r.click(),r.remove()})}),jQuery("#rtm-export-data-button").on("click",function(){window.location.href="/wp-admin/tools.php?page=export_personal_data"}),jQuery("#rtm-erase-data-button").on("click",function(){window.location.href="/wp-admin/tools.php?page=remove_personal_data"})}),jQuery(window).on("load",function(){jQuery(".rtmedia-addon-thickbox").trigger("click")}); \ No newline at end of file +jQuery(document).ready((function(e){var t=document.createElement("div");t.setAttribute("class","rtm-warning rtm-fly-warning hide"),e(".rtm-tabs").rtTab(),e('input[name^="rtmedia-options"]').on("change",(function(){e(".rtm-save-settings-msg").remove(),0===e(".rtm-fly-warning").length&&(t.innerText=rtmedia_admin_strings.settings_changed,e(".rtm-button-container.top").prepend(t),e(".rtm-fly-warning").slideDown())})),e(".rtm-img-size-setting .form-table tr:nth-child(7) td:last-child").attr("colspan","3"),e(".rtm-field-wrap .switch input[type=checkbox]").each((function(){var t=e(this);t.parents("table").attr("data-depends")||(t.is(":checked")?(t.parents("table").next(".rtm-notice").slideDown(),t.parents("table").siblings("table").each((function(){e(this).attr("data-depends")&&e(this).slideDown()}))):(t.parents("table").next(".rtm-notice").slideUp(),t.parents("table").siblings("table").each((function(){e(this).attr("data-depends")&&e(this).slideUp()})))),t.parents("tr").next("tr").attr("data-depends")&&(t.is(":checked")?t.parents("tr").next("tr").slideDown():t.parents("tr").next("tr").slideUp())})),e(".rtm-field-wrap .switch input[type=checkbox]").on("change",(function(){var t=e(this);t.parents("table").attr("data-depends")||(t.parents("table").next(".rtm-notice").slideToggle(),t.parents("table").siblings("table").each((function(){e(this).attr("data-depends")&&e(this).slideToggle()}))),t.parents("tr").next("tr").attr("data-depends")&&t.parents("tr").next("tr").slideToggle()}));new(Backbone.View.extend({el:e(".bp-media-admin"),events:{"click .rtm-theme":"render","click .rtm-close":"close","click .rtm-previous":"previousTheme","click .rtm-next":"nextTheme",keyup:"keyEvent"},initialize:function(){_.bindAll(this,"render","close","nextTheme","previousTheme","keyEvent"),this.keyEvent()},render:function(t){e(".rtm-theme").removeClass("rtm-modal-open");var r=e(t.currentTarget).addClass("rtm-modal-open").find(".rtm-theme-content").html();if(e(".rtm-theme-overlay")[0])e(".rtm-theme-overlay").show(),e(this.el).find(".rtm-theme-content-wrap").empty().append(r);else{var a={themeContent:r};e(this.el).append(rtMediaAdmin.templates.rtm_theme_overlay(a))}e(t.currentTarget).is(":first-child")?e(".rtm-previous").addClass("disabled"):e(t.currentTarget).is(":last-child")?e(".rtm-next").addClass("disabled"):e(".rtm-next, .rtm-previous").removeClass("disabled")},close:function(){e(".rtm-theme").removeClass("rtm-modal-open"),e(".rtm-theme-overlay").hide(),e(".rtm-next, .rtm-previous").removeClass("disabled")},nextTheme:function(t){return e(".rtm-next, .rtm-previous").removeClass("disabled"),e(".rtm-theme:last-child").hasClass("rtm-modal-open")&&e(t.currentTarget).addClass("disabled"),e(".rtm-modal-open").next().trigger("click"),!1},previousTheme:function(t){return e(".rtm-next, .rtm-previous").removeClass("disabled"),e(".rtm-theme:first-child").hasClass("rtm-modal-open")&&e(t.currentTarget).addClass("disabled"),e(".rtm-modal-open").prev().trigger("click"),!1},keyEvent:function(){e("body").on("keyup",(function(t){return 39===t.keyCode?(e(".rtm-next, .rtm-previous").removeClass("disabled"),e(".rtm-theme:last-child").hasClass("rtm-modal-open")&&e(t.currentTarget).addClass("disabled"),e(".rtm-modal-open").next().trigger("click"),!1):37===t.keyCode?(e(".rtm-next, .rtm-previous").removeClass("disabled"),e(".rtm-theme:first-child").hasClass("rtm-modal-open")&&e(t.currentTarget).addClass("disabled"),e(".rtm-modal-open").prev().trigger("click"),!1):void(27===t.keyCode&&e(".rtm-close").trigger("click"))}))}}));jQuery("#rtm-licenses .regular-text").each((function(){jQuery(this).keypress((function(e){if("13"==(e.keyCode?e.keyCode:e.which))return!1}))})),jQuery("#bp_media_settings_form").on("submit",(function(e){jQuery("#rtcss-notice").remove();var t=jQuery("#rtmedia-custom-css").val().match(/@import\s*(url)?\s*\(?([^;]+?)\)?;/);if(null!=t&&null!=t[0])return jQuery("#rtmedia-custom-css").after('

'+rtmedia_admin_strings.wrong_css_input+"

"),!1}))}));var rtMediaAdmin=new Object;function rtmedia_addon_do_not_show(){jQuery.post(rtmedia_admin_ajax,{action:"rtmedia_addon_popup_not_show_again"},(function(e){jQuery("#TB_window").remove(),jQuery("#TB_overlay").remove()}))}rtMediaAdmin.templates={rtm_image:wp.template("rtm-image"),rtm_msg_div:wp.template("rtm-msg-div"),rtm_album_favourites_importer:wp.template("rtm-album-favourites-importer"),rtm_map_mapping_failure:wp.template("rtm-map-mapping-failure"),rtm_p_tag:wp.template("rtm-p-tag"),rtm_theme_overlay:wp.template("rtm-theme-overlay")},jQuery(document).ready((function(e){if("object"==typeof rtmedia_admin)for(var t in rtmedia_admin)window[t]=rtmedia_admin[t];var r=e("#bp-media-settings-boxes"),a=e("#bp_media_settings_form .bp-media-metabox-holder"),i=e("#rtm-licenses");i.length>0&&i.find(".license-inner:first input:first").focus();var n=document.createElement("div");function s(){window.location=document.URL}n.className="support_form_loader",e(".rtm-save-settings-msg").length>0&&setTimeout((function(){e(".rtm-save-settings-msg").remove()}),1e4),jQuery("#spread-the-word").on("click","#bp-media-add-linkback",(function(){var e={action:"rtmedia_linkback",linkback:jQuery("#bp-media-add-linkback:checked").length};jQuery.post(rtmedia_admin_ajax,e,(function(e){}))})),r.on("change","#select-request",(function(){if(jQuery(this).val()){a.html(n);var e={action:"rtmedia_select_request",form:jQuery(this).val()};jQuery.post(ajaxurl,e,(function(e){a.html(e).fadeIn("slow")}))}})),r.on("click","#cancel-request",(function(){if(jQuery(this).val()){a.html(),a.html(n);jQuery.post(ajaxurl,{action:"rtmedia_cancel_request"},(function(e){a.html(),a.html(e).fadeIn("slow")}))}})),jQuery(".rtmedia-settings-submit").on("click",(function(t){var r=e(".rtm-content");r.each((function(){e(this).removeClass("hide")}));var a=e("#bp_media_settings_form")[0].checkValidity(),i=e('input[name="rtmedia-options[general_albumsPerUser]"]');if(""==i.val()&&i.val(0),!1===a){var n=e(":invalid"),s=n.closest(".rtm-content").addClass("active");r.each((function(){e(this).attr("id")!==s.attr("id")&&e(this).addClass("hide")}));var o=n.closest(".form-table");if("none"===o.css("display")&&"general_enableSitemap"===o.attr("data-depends"))return n.val(10),void e(".rtmedia-settings-submit").trigger("click");var m="#"+s.attr("id");e(location).attr("href",m)}else{var d=e(location).attr("href"),u=d.substring(d.lastIndexOf("#")+1);r.each((function(){e(this).attr("id")!==u&&e(this).addClass("hide")}))}})),r.on("submit","#bp_media_settings_form, .rtmedia-settings-submit",(function(t){var r=!0,a=new RegExp("^[0-9]+$"),i="";e("input[name*='defaultSizes']").each((function(){var r=e(this);if(r.css("border-color","#7e8993").next(".error_msg").remove(),!a.test(r.val())){var i=r.attr("name");i=(i=(i=i.replace("rtmedia-options[defaultSizes_","")).replace("]","")).replace(/_/g," ");var n=RTMedia_Admin_Settings_JS.rtmedia_default_sizes_error_message;n=n.replace("[default_size_property]",i);var s=r.parents(".rtm-content").attr("id");return 00&&void 0!==n){i="";var s=0;if(n.val()<=0?(i+=rtmedia_admin_strings.video_thumbnail_error,s=2):a.test(n.val())||(i+=rtmedia_admin_strings.video_thumbnail_invalid_value+" "+Math.round(n.val())+".",s=Math.round(n.val())),""!==i)return alert(i),n.val(s),r=!1,!1}var o=jQuery('input[name^="rtmedia-options[general_jpeg_image_quality]"]');if(r&&1===o.length&&void 0!==o&&(o.val()<=0?i+=rtmedia_admin_strings.jpeg_quality_negative_error:o.val()>100?i+=rtmedia_admin_strings.jpeg_quality_percentage_error:a.test(o.val())||(i+=rtmedia_admin_strings.jpeg_quality_invalid_value+" "+Math.round(o.val())+"."),""!==i)){o.next(".error_msg").remove();var d=o.parents(".rtm-content").attr("id");return 0u.val()?i+=rtmedia_admin_strings.per_page_media_negative_value:jQuery.isNumeric(u.val())&&Math.floor(u.val())!=u.val()&&(i+=rtmedia_admin_strings.per_page_media_positive_error+" "+Math.round(u.val())+"."),""!==i)){u.next(".error_msg").remove();var l=u.parents(".rtm-content").attr("id");return 00)jQuery("#settings-encoding-successfully-updated p").html(e);else{var t={id:"settings-encoding-successfully-updated",msg:e,class:"updated"};jQuery("h2:first").after(rtMediaAdmin.templates.rtm_msg_div(t))}jQuery("#rtmedia-encoding-usage").hide(),jQuery("#disable-encoding").next("img").remove(),jQuery("#disable-encoding").hide(),jQuery("#enable-encoding").show()}else{jQuery("#settings-error-encoding-disabled").remove();t={id:"settings-error-encoding-disabled",msg:rtmedia_admin_strings.something_went_wrong,class:"error"};jQuery("h2:first").after(rtMediaAdmin.templates.rtm_msg_div(t))}}))}})),jQuery(document).on("click","#enable-encoding",(function(e){if(e.preventDefault(),confirm(rtmedia_admin_strings.enable_encoding)){var t={src:rtmedia_admin_url+"images/wpspin_light.gif"};jQuery(this).after(rtMediaAdmin.templates.rtm_image(t));t={action:"rtmedia_enable_encoding"};jQuery.post(ajaxurl,t,(function(e){if(e){if(jQuery(".settings-error-encoding-enabled").remove(),jQuery("#settings-encoding-successfully-updated").length>0)jQuery("#settings-encoding-successfully-updated p").html(e);else{var t={id:"settings-encoding-successfully-updated",msg:e,class:"updated"};jQuery("h2:first").after(rtMediaAdmin.templates.rtm_msg_div(t))}var r=jQuery("#enable-encoding");r.next("img").remove(),r.hide(),jQuery("#disable-encoding").show()}else{jQuery("#settings-error-encoding-disabled").remove();t={id:"settings-error-encoding-enabled",msg:rtmedia_admin_strings.something_went_wrong,class:"error"};jQuery("h2:first").after(rtMediaAdmin.templates.rtm_msg_div(t))}}))}})),jQuery(".bp-media-encoding-table").on("click",".bpm-unsubscribe",(function(t){t.preventDefault(),jQuery("#bpm-unsubscribe-dialog").dialog({dialogClass:"wp-dialog",modal:!0,buttons:{Unsubscribe:function(){jQuery(this).dialog("close");var t={src:rtmedia_admin_url+"images/wpspin_light.gif"},r=e(".bpm-unsubscribe");r.after(rtMediaAdmin.templates.rtm_image(t));t={action:"rtmedia_unsubscribe_encoding_service",note:jQuery("#bpm-unsubscribe-note").val(),plan:r.attr("data-plan"),price:r.attr("data-price")};jQuery.getJSON(ajaxurl,t,(function(e){if(void 0===e.error&&e.updated){r.next().remove(),r.after(e.form),r.remove(),jQuery("#settings-unsubscribed-successfully").remove(),jQuery("#settings-unsubscribe-error").remove();var t={id:"settings-unsubscribed-successfully",msg:e.updated,class:"updated"};jQuery("h2:first").after(rtMediaAdmin.templates.rtm_msg_div(t)),window.location.hash="#settings-unsubscribed-successfully"}else{r.next().remove(),jQuery("#settings-unsubscribed-successfully").remove(),jQuery("#settings-unsubscribe-error").remove();t={id:"settings-unsubscribe-error",msg:e.error,class:"error"};jQuery("h2:first").after(rtMediaAdmin.templates.rtm_msg_div(t)),window.location.hash="#settings-unsubscribe-error"}}))}}})})),jQuery("#bpmedia-bpalbumimporter").on("change","#bp-album-import-accept",(function(){jQuery(".bp-album-import-accept").toggleClass("i-accept"),jQuery(".bp-album-importer-wizard").slideToggle()})),jQuery("#rtprivacyinstall").on("click",(function(e){e.preventDefault(),$progress_parent=jQuery("#rtprivacyinstaller"),$progress_parent.find(".rtprivacytype").each((function(){if($type=jQuery(this).attr("id"),"total"===$type){$values=[],jQuery(this).find("input").each((function(){$values[jQuery(this).attr("name")]=[jQuery(this).val()]})),$data={};for(var e=1;e<=$values.steps[0];e++)$count=20,e===$values.steps[0]&&($count=parseInt($values.laststep[0]),0===$count&&($count=20)),newvals={page:e,action:"rtmedia_privacy_install",count:$count,values:$values},$data[e]=newvals;var t=jQuery.Deferred();t.resolve(),jQuery.each($data,(function(e,r){t=t.pipe((function(){return function(e){return jQuery.post(ajaxurl,e,(function(t){if(0!=t){var r=!1,a=Math.ceil((20*parseInt(t)+parseInt(e.values.finished))/parseInt(e.values.total)*100);a>100&&(a=100,r=!0),jQuery("#rtprogressbar>div").css("width",a+"%"),finished=jQuery("#rtprivacyinstaller span.finished").html(),jQuery("#rtprivacyinstaller span.finished").html(parseInt(finished)+e.count),r&&jQuery.post(ajaxurl,{action:"rtmedia_privacy_redirect"},(function(e){window.location=settings_url}))}else{var i={msg:"Row "+t+" failed."};jQuery("#map_progress_msgs").html(rtMediaAdmin.templates.rtm_map_mapping_failure(i))}}))}(r)}))}))}}))})),jQuery("#bpmedia-bpalbumimport-cleanup").on("click",(function(e){e.preventDefault(),jQuery.post(ajaxurl,{action:"rtmedia_rt_album_cleanup",rtm_wpnonce:jQuery("#bpaimporter_wpnonce").val()},(function(e){window.location=settings_rt_album_import_url}))})),jQuery("#bpmedia-bpalbumimporter").on("click","#bpmedia-bpalbumimport",(function(e){if(e.preventDefault(),jQuery("#bp-album-import-accept").prop("checked")){if(jQuery(this).prop("disabled",!0),wp_admin_url=ajaxurl.replace("admin-ajax.php",""),!jQuery(".bpm-ajax-loader").length){var t={src:rtmedia_admin_url+"images/wpspin_light.gif",class:"bpm-ajax-loader",norefresh:rtmedia_admin_strings.no_refresh};jQuery(this).after(rtMediaAdmin.templates.rtm_image(t))}$progress_parent=jQuery("#bpmedia-bpalbumimport"),$values=[],jQuery(this).parent().find("input").each((function(){$values[jQuery(this).attr("name")]=[jQuery(this).val()]})),0==$values.steps[0]&&($values.steps[0]=1),$data={};for(i=1;i<=$values.steps[0];i++)$count=5,i==$values.steps[0]&&($count=parseInt($values.laststep[0]),0==$count&&($count=5)),newvals={page:i,action:"rtmedia_rt_album_import",count:$count,values:$values,rtm_wpnonce:jQuery("#bpaimporter_wpnonce").val()},$data[i]=newvals;var r=jQuery.Deferred();r.resolve(),jQuery.each($data,(function(e,t){r=r.pipe((function(){return function(e){return jQuery.getJSON(ajaxurl,e,(function(t){if(favorites=!1,t){var r=Math.ceil((5*parseInt(t.page)+parseInt(e.values.finished))/parseInt(e.values.total)*100);comments_total=jQuery("#bpmedia-bpalbumimporter .bp-album-comments span.total").html(),users_total=jQuery("#bpmedia-bpalbumimporter .bp-album-users span.total").html(),media_total=jQuery("#bpmedia-bpalbumimporter .bp-album-media span.total").html(),comments_finished=jQuery("#bpmedia-bpalbumimporter .bp-album-comments span.finished").html(),users_finished=jQuery("#bpmedia-bpalbumimporter .bp-album-users span.finished").html();var a=Math.ceil((parseInt(t.comments)+parseInt(comments_finished))/parseInt(comments_total)*100),i=Math.ceil(parseInt(t.users)/parseInt(users_total)*100);(r>100||100==r)&&(r=100,favorites=!0),jQuery(".bp-album-media #rtprogressbar>div").css("width",r+"%"),jQuery(".bp-album-comments #rtprogressbar>div").css("width",a+"%"),jQuery(".bp-album-users #rtprogressbar>div").css("width",i+"%"),media_finished=jQuery("#bpmedia-bpalbumimporter .bp-album-media span.finished").html(),parseInt(media_finished)100||100==t)&&(t=100,redirect=!0),jQuery(".bp-album-favorites #rtprogressbar>div").css("width",t+"%"),redirect&&window.setTimeout(s,2e3)}))}(t)}))}))}}),"json"))}else if(e.hasOwnProperty(page)){var n={msg:"Row "+t.page+" failed."};jQuery("#map_progress_msgs").html(rtMediaAdmin.templates.rtm_map_mapping_failure(n))}else n={msg:rtmedia_admin_strings.request_failed},jQuery("#map_progress_msgs").html(rtMediaAdmin.templates.rtm_map_mapping_failure(n))}))}(t)}))}))}else{jQuery("html, body").animate({scrollTop:jQuery("#bp-album-import-accept").offset().top},500);var a=jQuery(".bp-album-import-accept"),i=3;(function e(){a.css("background-color","#EE0000"),setTimeout((function(){a.css("background-color","#FFEBE8"),--i&&setTimeout(e,500)}),500)})()}})),r.on("click",".interested",(function(){jQuery(".interested-container").removeClass("hidden"),jQuery(".choice-free").attr("required","required")})),r.on("click",".not-interested",(function(){jQuery(".interested-container").addClass("hidden"),jQuery(".choice-free").removeAttr("required")})),jQuery("#video-transcoding-main-container").on("click",".video-transcoding-survey",(function(e){e.preventDefault();var t={action:"rtmedia_convert_videos_form",email:jQuery(".email").val(),url:jQuery(".url").val(),choice:jQuery('input[name="choice"]:checked').val(),interested:jQuery('input[name="interested"]:checked').val(),wp_nonce:RTMedia_Admin_Settings_JS?.rtmedia_buddypress_convert_nonce??""};return jQuery.post(ajaxurl,t,(function(e){var t={msg:e,strong:"yes"};jQuery("#video-transcoding-main-container").html(rtMediaAdmin.templates.rtm_p_tag(t))})),!1})),jQuery("#bpmedia-bpalbumimporter").on("click",".deactivate-bp-album",(function(e){e.preventDefault(),$bpalbum=jQuery(this);var t={action:"rtmedia_rt_album_deactivate",rtm_wpnonce:jQuery("#bpaimporter_wpnonce").val()};jQuery.get(ajaxurl,t,(function(e){if(e)location.reload();else{var t={msg:rtmedia_admin_strings.something_went_wrong};$bpalbum.parent().after(rtMediaAdmin.templates.rtm_p_tag(t))}}))})),jQuery(".updated").on("click",".bpm-hide-encoding-notice",(function(){var e={src:rtmedia_admin_url+"images/wpspin_light.gif"};jQuery(this).after(rtMediaAdmin.templates.rtm_image(e));e={action:"rtmedia_hide_encoding_notice"};jQuery.post(ajaxurl,e,(function(e){e&&jQuery(".bpm-hide-encoding-notice").closest(".updated").remove()}))})),jQuery("#rtmedia-bp-enable-activity").is(":checked")?jQuery(".rtmedia-bp-activity-setting").prop("readonly",!1):jQuery(".rtmedia-bp-activity-setting").prop("readonly",!0),jQuery("#rtmedia-bp-enable-activity").on("click",(function(e){jQuery(this).is(":checked")?jQuery(".rtmedia-bp-activity-setting").prop("readonly",!1):jQuery(".rtmedia-bp-activity-setting").prop("readonly",!0)}));var o;function m(e,t){var r=jQuery(e);r.focus(),r.css("border-color","red");var a=r.parent();if(a.length>0&&"error_msg"!==a.attr("class")){var i=jQuery("").attr("style","display:block").addClass("error_msg").html(t);r.after(i)}return return_code=!1,!1}void 0!==rtmedia_on_label&&rtmedia_on_label,void 0!==rtmedia_off_label&&rtmedia_off_label,jQuery("input[type=file]").on("change",(function(e){o=e.target.files,function(e){e.stopPropagation(),e.preventDefault();var t=new FormData;void 0!==e&&void 0!==e.target&&void 0!==e.target.name&&"rtFileInput"===e.target.name&&t.append("import_export_control",e.target.name);jQuery.each(o,(function(e,r){t.append(e,r)}));var r=jQuery("#rtmedia_admin_upload_nonce").val();void 0!==r&&""!==r&&t.append("rtmedia_admin_upload_nonce",r);t.append("action","rtmedia_admin_upload"),jQuery.ajax({url:rtmedia_admin_ajax,type:"POST",data:t,cache:!1,processData:!1,contentType:!1,success:function(e){if(e.hasOwnProperty("rtm_response")&&e.hasOwnProperty("rtm_response_msg")){jQuery("#rtm-setting-msg").remove();var t=jQuery("
",{id:"rtm-setting-msg",class:"rtm-fly-warning"});"success"===e.rtm_response?(t.addClass("rtm-success rtm-save-settings-msg"),t.text(e.rtm_response_msg),jQuery(".rtm-button-container.top").append(t),location.reload()):"error"===e.rtm_response&&(t.addClass("rtm-warning"),t.text(e.rtm_response_msg),jQuery(".rtm-button-container.top").append(t),t.delay(3e3).fadeOut(100))}else if(void 0===e.error){if("string"==typeof e&&(e=JSON.parse(e)),e.exceed_size_msg)return jQuery("#debuglog").val(""),alert(e.exceed_size_msg),!1;jQuery("#debuglog_temp_path").val(e.debug_attachmanet)}else jQuery("#debuglog").val(""),alert("ERRORS: "+e.error)}})}(e)})),jQuery("#rtmedia-submit-request").on("click",(function(){var t=jQuery("#name").val(),r=jQuery("#email").val(),a=jQuery("#website").val(),i=jQuery("#subject").val(),n=jQuery("#details").val(),s=jQuery('input[name="request_type"]').val(),o=jQuery('input[name="request_id"]').val(),m=jQuery('input[name="server_address"]').val(),d=jQuery('input[name="ip_address"]').val(),u=jQuery('input[name="server_type"]').val(),l=jQuery('input[name="user_agent"]').val(),p={name:t,email:r,website:a,subject:i,details:n,request_id:o,request_type:"premium_support",server_address:m,ip_address:d,server_type:u,user_agent:l,debuglog_temp_path:jQuery('input[name="debuglog_temp_path"]').val()};if("bug_report"==s){var c=jQuery("#wp_admin_username").val();if(""===c)return alert(rtmedia_admin_support_strings.wp_admin_username_error),!1;var _=jQuery("#wp_admin_pwd").val();if(""===_)return alert(rtmedia_admin_support_strings.wp_admin_pwd_error),!1;var f=jQuery("#ssh_ftp_host").val();if(""===f)return alert(rtmedia_admin_support_strings.ssh_ftp_host_error),!1;var v=jQuery("#ssh_ftp_username").val();if(""===v)return alert(rtmedia_admin_support_strings.ssh_ftp_username_error),!1;var g=jQuery("#ssh_ftp_pwd").val();if(""===g)return alert(rtmedia_admin_support_strings.ssh_ftp_pwd_error),!1;p={name:t,email:r,website:a,subject:i,details:n,request_id:o,request_type:"premium_support",server_address:m,ip_address:d,server_type:u,user_agent:l,wp_admin_username:c,wp_admin_pwd:_,ssh_ftp_host:f,ssh_ftp_username:v,ssh_ftp_pwd:g}}for(formdata in p){if(""===p[formdata]&&"debuglog_temp_path"!==formdata)return alert("Please enter "+formdata.replace("_"," ")+" field."),!1;if(""===p[formdata]&&"debuglog_temp_path"===formdata)return alert("Please upload attachment."),!1}return data={action:"rtmedia_submit_request",form_data:p,support_wpnonce:jQuery("#support_wpnonce").val()},jQuery.post(ajaxurl,data,(function(t){if("false"==(t=t.trim()))return alert(rtmedia_admin_support_strings.all_fields_error),!1;e("#rtmedia_service_contact_container").empty(),e("#rtmedia_service_contact_container").append(t)})),!1})),jQuery("#cancel-request").on("click",(function(){return!1})),jQuery(".rtm_enable_masonry_view input[type=checkbox]").is(":checked")?jQuery(".rtm_enable_masonry_view").parents(".metabox-holder").find(".rtmedia-info").show():jQuery(".rtm_enable_masonry_view").parents(".metabox-holder").find(".rtmedia-info").hide(),jQuery(".rtm_enable_masonry_view input[type=checkbox]").on("click",(function(e){jQuery(this).is(":checked")?jQuery(".rtm_enable_masonry_view").parents(".metabox-holder").find(".rtmedia-info").show():jQuery(".rtm_enable_masonry_view").parents(".metabox-holder").find(".rtmedia-info").hide()})),jQuery("#rtm-masonry-change-thumbnail-info").on("click",(function(e){jQuery("html, body").animate({scrollTop:0},"500","swing")})),jQuery("#rtm-export-button").on("click",(function(){data={action:"rtmedia_export_settings"},jQuery.post(ajaxurl,data,(function(e){var t="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(e)),r=document.createElement("a");r.setAttribute("href",t),r.setAttribute("download","rtm-settings.json"),jQuery("body").append(r),r.click(),r.remove()}))})),jQuery("#rtm-export-data-button").on("click",(function(){window.location.href="/wp-admin/tools.php?page=export_personal_data"})),jQuery("#rtm-erase-data-button").on("click",(function(){window.location.href="/wp-admin/tools.php?page=remove_personal_data"}))})),jQuery(window).on("load",(function(){jQuery(".rtmedia-addon-thickbox").trigger("click")})); \ No newline at end of file diff --git a/app/assets/admin/js/rtmedia-admin.min.js b/app/assets/admin/js/rtmedia-admin.min.js index fb37489da..328819a5c 100644 --- a/app/assets/admin/js/rtmedia-admin.min.js +++ b/app/assets/admin/js/rtmedia-admin.min.js @@ -1 +1 @@ -jQuery(document).ready((function(e){console.log("rtmedia-admin.js loaded",window?.rtmedia_rtmedia_admin),e(document).on("click",".godam-admin-banner .notice-dismiss",(function(){var i={action:"install_godam_hide_admin_notice",security:window?.rtmedia_rtmedia_admin?.godam_banner_nonce};e.post(ajaxurl,i,(function(e){console.log("Notice dismissed and saved.")}))})),window?.rtmedia_rtmedia_admin?.bp_is_active__activity||(e("#rtmedia-bp-enable-activity, #rtmedia-enable-comment-activity, #rtmedia-enable-like-activity").prop("disabled",!0).next().css("background-color","#808080"),e("#rtmedia-activity-feed-limit").prop("disabled",!0)),window?.rtmedia_rtmedia_admin?.bp_is_active__groups||e("#rtmedia-enable-on-group").prop("disabled",!0).next().css("background-color","#808080"),e(".rtmedia-addon-update-notice.is-dismissible").on("click",".notice-dismiss",(function(){var i={action:"rtmedia_hide_addon_update_notice",_rtm_nonce:e("#rtmedia-addon-notice").val()};e.post(ajaxurl,i,(function(i){e(".rtmedia-addon-update-notice").remove()}))})),e(".rtmedia-inspire-book-notice.is-dismissible").on("click",".notice-dismiss",(function(){var i={action:"rtmedia_hide_inspirebook_release_notice",_rtm_nonce:e("#rtmedia_hide_inspirebook_nonce").val()};e.post(ajaxurl,i,(function(i){e(".rtmedia-inspire-book-notice").remove()}))})),e(".rtmedia-pro-split-notice.is-dismissible").on("click",".notice-dismiss",(function(){var i={action:"rtmedia_hide_premium_addon_notice",_rtm_nonce:e("#rtm_nonce").val()};e.post(ajaxurl,i,(function(i){e(".rtmedia-pro-split-notice").remove()}))})),e(".install-transcoder-notice.is-dismissible").on("click",".notice-dismiss",(function(){var i={action:"install_transcoder_hide_admin_notice",install_transcoder_notice_nonce:e("#install_transcoder_hide_notice_nonce").val()};e.post(ajaxurl,i,(function(i){e(".install-transcoder-notice").remove()}))})),e("#rtmedia_hide_media_size_import_notice").on("click",(function(){console.log("clicked on rtmedia_hide_media_size_import_notice");jQuery.post(ajaxurl,{action:"rtmedia_hide_media_size_import_notice"},(function(e){"1"===(e=e.trim())&&jQuery(".rtmedia-media-size-import-error").remove()}))})),e("#rtmedia-hide-template-notice").on("click",(function(i){i.preventDefault();var t={action:"rtmedia_hide_template_override_notice",_rtm_nonce:e(this).data("nonce")};jQuery.post(ajaxurl,t,(function(e){"1"===(e=e.trim())&&jQuery(".rtmedia-update-template-notice").remove()}))})),e(".upload-filetype-network-settings-error").on("click",".update-network-settings-upload-filetypes",(function(){e(".update-network-settings-upload-filetypes").siblings("img").show(),e(".update-network-settings-upload-filetypes").prop("disabled",!0),e.post(ajaxurl,{action:"rtmedia_correct_upload_filetypes",_rtm_nonce:e("rtm-file-type-error").val()},(function(i){i&&(e(".upload-filetype-network-settings-error:first").after(''),e(".upload-filetype-network-settings-error").remove(),e(".bp-media-network-settings-updated-successfully").show())}))}))})); \ No newline at end of file +jQuery(document).ready((function(e){e(document).on("click",".godam-admin-banner .notice-dismiss",(function(){var i={action:"install_godam_hide_admin_notice",security:window?.rtmedia_rtmedia_admin?.godam_banner_nonce};e.post(ajaxurl,i,(function(e){console.log("Notice dismissed and saved.")}))})),window?.rtmedia_rtmedia_admin?.bp_is_active__activity||(e("#rtmedia-bp-enable-activity, #rtmedia-enable-comment-activity, #rtmedia-enable-like-activity").prop("disabled",!0).next().css("background-color","#808080"),e("#rtmedia-activity-feed-limit").prop("disabled",!0)),window?.rtmedia_rtmedia_admin?.bp_is_active__groups||e("#rtmedia-enable-on-group").prop("disabled",!0).next().css("background-color","#808080"),e(".rtmedia-addon-update-notice.is-dismissible").on("click",".notice-dismiss",(function(){var i={action:"rtmedia_hide_addon_update_notice",_rtm_nonce:e("#rtmedia-addon-notice").val()};e.post(ajaxurl,i,(function(i){e(".rtmedia-addon-update-notice").remove()}))})),e(".rtmedia-inspire-book-notice.is-dismissible").on("click",".notice-dismiss",(function(){var i={action:"rtmedia_hide_inspirebook_release_notice",_rtm_nonce:e("#rtmedia_hide_inspirebook_nonce").val()};e.post(ajaxurl,i,(function(i){e(".rtmedia-inspire-book-notice").remove()}))})),e(".rtmedia-pro-split-notice.is-dismissible").on("click",".notice-dismiss",(function(){var i={action:"rtmedia_hide_premium_addon_notice",_rtm_nonce:e("#rtm_nonce").val()};e.post(ajaxurl,i,(function(i){e(".rtmedia-pro-split-notice").remove()}))})),e(".install-transcoder-notice.is-dismissible").on("click",".notice-dismiss",(function(){var i={action:"install_transcoder_hide_admin_notice",install_transcoder_notice_nonce:e("#install_transcoder_hide_notice_nonce").val()};e.post(ajaxurl,i,(function(i){e(".install-transcoder-notice").remove()}))})),e("#rtmedia_hide_media_size_import_notice").on("click",(function(){jQuery.post(ajaxurl,{action:"rtmedia_hide_media_size_import_notice"},(function(e){"1"===(e=e.trim())&&jQuery(".rtmedia-media-size-import-error").remove()}))})),e("#rtmedia-hide-template-notice").on("click",(function(i){i.preventDefault();var t={action:"rtmedia_hide_template_override_notice",_rtm_nonce:e(this).data("nonce")};jQuery.post(ajaxurl,t,(function(e){"1"===(e=e.trim())&&jQuery(".rtmedia-update-template-notice").remove()}))})),e(".upload-filetype-network-settings-error").on("click",".update-network-settings-upload-filetypes",(function(){e(".update-network-settings-upload-filetypes").siblings("img").show(),e(".update-network-settings-upload-filetypes").prop("disabled",!0),e.post(ajaxurl,{action:"rtmedia_correct_upload_filetypes",_rtm_nonce:e("#rtm-file-type-error").val()},(function(i){i&&(e(".upload-filetype-network-settings-error:first").after(''),e(".upload-filetype-network-settings-error").remove(),e(".bp-media-network-settings-updated-successfully").show())}))}))})); \ No newline at end of file diff --git a/app/assets/admin/js/settings.js b/app/assets/admin/js/settings.js index 19936e979..1b1dfdbaf 100755 --- a/app/assets/admin/js/settings.js +++ b/app/assets/admin/js/settings.js @@ -1066,11 +1066,15 @@ jQuery( document ).ready( function ( $ ) { jQuery('.rtm-button-container.top').append( setting_message ); setting_message.delay( 3000 ).fadeOut( 100 ); } + // Return early for import/export settings responses to avoid JSON.parse on already-parsed object. + return; } if ( typeof data.error === 'undefined' ) { - - data = JSON.parse( data ); + // Only parse if data is a string (not already parsed by jQuery). + if ( typeof data === 'string' ) { + data = JSON.parse( data ); + } if ( data.exceed_size_msg ) { jQuery( '#debuglog' ).val( '' ); alert( data.exceed_size_msg ); diff --git a/app/assets/js/admin-upload-terms.min.js b/app/assets/js/admin-upload-terms.min.js index 2951d14ec..9b6f790ee 100644 --- a/app/assets/js/admin-upload-terms.min.js +++ b/app/assets/js/admin-upload-terms.min.js @@ -1,6 +1 @@ -/*! - * rtMedia JavaScript Library - * @package rtMedia - */ - -jQuery(document).ready(function(o){var r=o('input[name^="rtmedia-options[general_enable_upload_terms]"]'),t=o('input[name^="rtmedia-options[activity_enable_upload_terms]"]'),s=o('input[name^="rtmedia-options[general_upload_terms_page_link]"]'),a=o('input[name^="rtmedia-options[general_upload_terms_message]"]'),m=o('input[name^="rtmedia-options[general_upload_terms_error_message]"]'),n=o('input[name^="rtmedia-options[general_upload_terms_show_pricacy_message]"]'),i=o('textarea[name^="rtmedia-options[general_upload_terms_privacy_message]"]'),l=!0;function _(e,r){var t=o(e);if(t.focus(),t.css("border-color","red"),0").css("display","block").addClass("error_msg").html(r);t.after(s)}return l=!1}function e(){!0===r.prop("checked")||!0===t.prop("checked")?(s.closest(".form-table").slideDown(),a.closest(".form-table").slideDown(),m.closest(".form-table").slideDown()):(s.closest(".form-table").slideUp(),a.closest(".form-table").slideUp(),m.closest(".form-table").slideUp()),!0===n.prop("checked")?i.closest(".form-table").slideDown():i.closest(".form-table").slideUp()}e(),o('input[name^="rtmedia-options[general_enable_upload_terms]"], input[name^="rtmedia-options[activity_enable_upload_terms]"], input[name^="rtmedia-options[general_upload_terms_show_pricacy_message]"]').on("change",function(){e()}),o("#bp-media-settings-boxes").on("submit","#bp_media_settings_form, .rtmedia-settings-submit",function(){var e="";if((l&&00&&"error_msg"!==s.parent().attr("class")){var o=e("").css("display","block").addClass("error_msg").html(t);s.after(o)}return i=!1,!1}function _(){!0===r.prop("checked")||!0===t.prop("checked")?(s.closest(".form-table").slideDown(),o.closest(".form-table").slideDown(),a.closest(".form-table").slideDown()):(s.closest(".form-table").slideUp(),o.closest(".form-table").slideUp(),a.closest(".form-table").slideUp()),!0===m.prop("checked")?n.closest(".form-table").slideDown():n.closest(".form-table").slideUp()}_(),e('input[name^="rtmedia-options[general_enable_upload_terms]"], input[name^="rtmedia-options[activity_enable_upload_terms]"], input[name^="rtmedia-options[general_upload_terms_show_pricacy_message]"]').on("change",(function(){_()})),e("#bp-media-settings-boxes").on("submit","#bp_media_settings_form, .rtmedia-settings-submit",(function(){var _="";if((i&&r.length>0&&void 0!==r||i&&t.length>0&&"string"!==t)&&(!0===r.prop("checked")||!0===t.prop("checked"))){if(e(".error_msg").remove(),e(".rtm-form-text").css("border-color","#ddd"),!/^(http|https|ftp):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/i.test(s.val()))return _=rtm_upload_terms_error_msgs.valid_url,l(s,_);if(""===o.val().trim())return _=rtm_upload_terms_error_msgs.terms_msg,l(o,_);if(""===a.val().trim())return _=rtm_upload_terms_error_msgs.error_msg,l(a,_)}if(i&&m.length>0&&void 0!==m&&m.prop("checked")&&(e(".error_msg").remove(),""===n.val().trim()))return _=rtm_upload_terms_error_msgs.privacy_msg,l(n,_)}))})); \ No newline at end of file diff --git a/app/assets/js/rtMedia.js b/app/assets/js/rtMedia.js index e6b6425ed..54eab4024 100755 --- a/app/assets/js/rtMedia.js +++ b/app/assets/js/rtMedia.js @@ -342,9 +342,9 @@ jQuery("document").ready(function ($) { "get_single_activity_content" === get_action || "activity_get_older_updates" === get_action) && "undefined" !== typeof rtmedia_masonry_layout && - "true" === rtmedia_masonry_layout && + rtm_is_true(rtmedia_masonry_layout) && "undefined" !== typeof rtmedia_masonry_layout_activity && - "true" === rtmedia_masonry_layout_activity + rtm_is_true(rtmedia_masonry_layout_activity) ) { setTimeout(function () { apply_rtMagnificPopup( @@ -1066,9 +1066,9 @@ jQuery("document").ready(function ($) { // Masonry code for activity if ( typeof rtmedia_masonry_layout != "undefined" && - rtmedia_masonry_layout == "true" && + rtm_is_true(rtmedia_masonry_layout) && typeof rtmedia_masonry_layout_activity != "undefined" && - rtmedia_masonry_layout_activity == "true" + rtm_is_true(rtmedia_masonry_layout_activity) ) { // Arrange media into masonry view rtmedia_activity_masonry(); @@ -1083,9 +1083,9 @@ jQuery("document").ready(function ($) { "get_single_activity_content" === get_action || "activity_get_older_updates" === get_action) && typeof rtmedia_masonry_layout != "undefined" && - rtmedia_masonry_layout == "true" && + rtm_is_true(rtmedia_masonry_layout) && typeof rtmedia_masonry_layout_activity != "undefined" && - rtmedia_masonry_layout_activity == "true" + rtm_is_true(rtmedia_masonry_layout_activity) ) { rtmedia_activity_masonry(); } @@ -1094,7 +1094,7 @@ jQuery("document").ready(function ($) { // Masonry code if ( typeof rtmedia_masonry_layout != "undefined" && - rtmedia_masonry_layout == "true" && + rtm_is_true(rtmedia_masonry_layout) && jQuery(".rtmedia-container .rtmedia-list.rtm-no-masonry").length == 0 ) { rtm_masonry_container = jQuery(".rtmedia-container .rtmedia-list"); @@ -1191,7 +1191,7 @@ jQuery("document").ready(function ($) { if ( "undefined" !== typeof rtmedia_masonry_layout && - "true" === rtmedia_masonry_layout + rtm_is_true(rtmedia_masonry_layout) ) { rtm_masonry_reload(rtm_masonry_container); } @@ -1232,6 +1232,16 @@ function bp_media_create_element(id) { return false; } +/** + * Check if a value is true (handles both string "true" and boolean true). + * + * @param {*} value The value to check. + * @return {boolean} True if the value is "true" (string) or true (boolean). + */ +function rtm_is_true(value) { + return "true" === value || true === value; +} + function rtmedia_version_compare(left, right) { if (typeof left + typeof right != "stringstring") { return false; @@ -1270,7 +1280,17 @@ function rtm_is_element_exist(el) { function rtm_masonry_reload(el) { setTimeout(function () { // We make masonry recalculate the element based on their current state. - el.masonry("reload"); + // Check if masonry instance exists and use the appropriate method. + var masonryInstance = el.data('masonry'); + if (masonryInstance) { + // Masonry v4.x uses reloadItems() + layout() instead of reload() + if (typeof masonryInstance.reload === 'function') { + el.masonry("reload"); + } else if (typeof masonryInstance.reloadItems === 'function') { + masonryInstance.reloadItems(); + masonryInstance.layout(); + } + } }, 250); } diff --git a/app/assets/js/rtmedia.min.js b/app/assets/js/rtmedia.min.js index c2f957e6c..714700eff 100644 --- a/app/assets/js/rtmedia.min.js +++ b/app/assets/js/rtmedia.min.js @@ -1 +1 @@ -var rtMagnificPopup,rtm_masonry_container,comment_media=!1;function apply_rtMagnificPopup(e){jQuery("document").ready((function(t){var i="";if(i="undefined"==typeof rtmedia_load_more?"Loading media":rtmedia_load_more,"undefined"!=typeof rtmedia_lightbox_enabled&&"1"==rtmedia_lightbox_enabled){var a,r,n=!1;t(".activity-item .rtmedia-activity-container .rtmedia-list-item > a").siblings("p").children("a").length>0&&t(".activity-item .rtmedia-activity-container .rtmedia-list-item > a").siblings("p").children("a").addClass("no-popup"),rtMagnificPopup=jQuery(e).magnificPopup({delegate:"a:not(.no-popup, .mejs-time-slider, .mejs-volume-slider, .mejs-horizontal-volume-slider)",type:"ajax",fixedContentPos:!0,fixedBgPos:!0,tLoading:i+" #%curr%...",mainClass:"mfp-img-mobile",preload:[1,3],closeOnBgClick:!0,gallery:{enabled:!0,navigateByImgClick:!0,arrowMarkup:"",preload:[0,1]},image:{tError:'The image #%curr% could not be loaded.',titleSrc:function(e){return e.el.attr("title")+"by Marsel Van Oosten"}},callbacks:{ajaxContentAdded:function(){e=jQuery.magnificPopup.instance,1===jQuery(e.items).length&&jQuery(".mfp-arrow").remove();var e=jQuery.magnificPopup.instance,i=e.currItem.el,o=i.parent();if(o.is("li")||(o=o.parent()),(o.is(":nth-last-child(2)")||o.is(":last-child"))&&o.find("a").hasClass("rtmedia-list-item-a")){o.next();"block"==jQuery("#rtMedia-galary-next").css("display")&&(n||(a=e.ev.children(),n=!0,r=nextpage),jQuery("#rtMedia-galary-next").click())}var m=e.items.length;if(e.index!=m-1||o.is(":last-child")){"undefined"!=typeof _wpmejsSettings&&_wpmejsSettings.pluginPath;var d=jQuery(".rtmedia-container .rtmedia-single-meta").height(),l=!1;void 0!==e&&void 0!==e.probablyMobile&&1==e.probablyMobile&&(l=!0),t(".mfp-content .rtmedia-single-media .wp-audio-shortcode,.mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").attr("autoplay",!0),l&&t(".mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").attr("muted",!1),t(".mfp-content .rtmedia-single-media .wp-audio-shortcode,.mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").mediaelementplayer({classPrefix:"mejs-",defaultVideoWidth:480,hideVolumeOnTouchDevices:!1,features:["playpause","progress","current","volume","fullscreen"],defaultVideoHeight:270,alwaysShowControls:l,enableAutosize:!0,clickToPlayPause:!0,videoHeight:-1,success:function(e,i){e.addEventListener("loadeddata",(function(i){var a=t(e).height(),r=t(window).height(),n=jQuery("div.rtm-ltb-action-container").height(),o=d-(n=n+50);a>r&&jQuery(".rtmedia-container #rtmedia-single-media-container .mejs-container").attr("style","height:"+o+"px !important; transition:0.2s")}),!1),l&&t(e).hasClass("wp-video-shortcode")?jQuery("body").on("touchstart",".mejs-overlay-button",(function(t){e.paused?e.play():e.pause()})):e.pause()}}),t(".mfp-content .mejs-audio .mejs-controls").css("position","relative"),rtMediaHook.call("rtmedia_js_popup_after_content_added",[]),"undefined"!=typeof bp&&void 0!==bp.mentions&&void 0!==bp.mentions.users&&(t("#atwho-container #atwho-ground-comment_content").remove(),t("#comment_content").bp_mentions(bp.mentions.users)),rtmedia_reset_video_and_audio_for_popup(),apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container")}else i.click()},open:function(){var e=jQuery(".mfp-bg"),t=jQuery(".mfp-wrap");e.height(e.height()+t.height())},close:function(e){n&&(mfp.ev.empty(),mfp.ev.append(a),nextpage=r,n=!1,nextpage>1&&jQuery("#rtMedia-galary-next").show()),rtmedia_single_page_popup_close()},BeforeChange:function(e){}}})}jQuery(document).ajaxComplete((function(){jQuery("[id^=imgedit-leaving]").filter((function(){var e=jQuery(this).text();jQuery(this).text(e.replace("OK","Save"))}))}))}))}jQuery(document).ready((function(){if("object"==typeof rtmedia_bp)for(var e in rtmedia_bp)window[e]=rtmedia_bp[e];if("object"==typeof rtmedia_main)for(var e in rtmedia_main)window[e]=rtmedia_main[e];if("object"==typeof rtmedia_upload_terms)for(var e in rtmedia_upload_terms)window[e]=rtmedia_upload_terms[e];if("object"==typeof rtmedia_magnific)for(var e in rtmedia_magnific)window[e]=rtmedia_magnific[e]}));var rtMediaHook={hooks:[],is_break:!1,register:function(e,t){void 0===rtMediaHook.hooks[e]&&(rtMediaHook.hooks[e]=[]),rtMediaHook.hooks[e].push(t)},call:function(e,arguments){if(void 0!==rtMediaHook.hooks[e])for(i=0;i span,"+e+" .click-nav > div").toggleClass("no-js js"),jQuery(e+" .click-nav .js ul").hide(),jQuery(e+" .click-nav .clicker").click((function(e){t=jQuery("#rtm-media-options .click-nav .clicker").next("ul"),i=jQuery(this).next("ul"),jQuery.each(t,(function(e,t){jQuery(t).html()!=i.html()&&jQuery(t).hide()})),jQuery(i).toggle(),e.stopPropagation()}))}function bp_media_create_element(e){return!1}function rtmedia_version_compare(e,t){if(typeof e+typeof t!="stringstring")return!1;for(var i=e.split("."),a=t.split("."),r=0,n=Math.max(i.length,a.length);r0||parseInt(i[r])>parseInt(a[r]))return!0;if(a[r]&&!i[r]&&parseInt(a[r])>0||parseInt(i[r])0}function rtm_masonry_reload(e){setTimeout((function(){e.masonry("reload")}),250)}function rtm_search_media_text_validation(){""===jQuery("#media_search_input").val()?jQuery("#media_search").css("cursor","not-allowed"):jQuery("#media_search").css("cursor","pointer")}function rtmediaGetParameterByName(e){e=e.replace(/\[/g,"\\[").replace(/\]/g,"\\]");var t=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(location.search);return null==t?"":decodeURIComponent(t[1].replace(/\+/g," "))}function rtmedia_single_media_alert_message(e,t,i){var a="rtmedia-success";"warning"==t&&(a="rtmedia-warning");var r=!1;jQuery(".rtmedia-message-container").each((function(e,t){return t=jQuery(t),i&&t.hasClass("rtmedia-empty-comment-error-class")?(t.remove(),r=!0,!1):void 0!==i||t.hasClass("rtmedia-empty-comment-error-class")?void 0:(t.remove(),r=!0,!1)}));var n,o=jQuery("
",{title:"Click to dismiss",class:"rtmedia-message-container"+(i?" rtmedia-empty-comment-error-class":""),style:"margin:1em 0;"}),m=jQuery("",{class:a});m.html(e),m.appendTo(o),i?(n=jQuery("#rt_media_comment_form"),jQuery("#comment_content").focus()):void 0===i&&(n=jQuery(".rtmedia-single-media .rtmedia-media")).css("opacity","0.2"),n.after(o),r&&(m.css({border:"2px solid #884646"}),setTimeout((function(){m.css({border:"none"})}),500)),setTimeout((function(){o.remove(),void 0===i&&n.css("opacity","1")}),3e3),o.click((function(){o.remove(),void 0===i&&n.css("opacity","1")}))}function rtmedia_gallery_action_alert_message(e,t){var i="rtmedia-success";"warning"==t&&(i="rtmedia-warning");jQuery("body").append(''),jQuery(".rtmedia-gallery-alert-container").append(""),setTimeout((function(){jQuery(".rtmedia-gallery-alert-container").remove()}),3e3),jQuery(".rtmedia-gallery-message-box").click((function(){jQuery(".rtmedia-gallery-alert-container").remove()}))}function rtmedia_activity_masonry(){jQuery("#activity-stream .rtmedia-activity-container .rtmedia-list").masonry({itemSelector:".rtmedia-list-item",gutter:7});var e=0,t=setInterval((function(){5===(e+=1)&&clearInterval(t),jQuery.each(jQuery(".rtmedia-activity-container .rtmedia-list.masonry .rtmedia-item-title"),(function(e,t){jQuery(t).width(jQuery(t).siblings(".rtmedia-item-thumbnail").children("img").width())})),rtm_masonry_reload(jQuery("#activity-stream .rtmedia-activity-container .rtmedia-list"))}),1e3)}function get_parameter(e,t){if(!e)return!1;t||(t=window.location.href);e=e.replace(/\[/g,"\\[").replace(/\]/g,"\\]");var i=new RegExp(e+"=([^&#]*)").exec(t);return null!==i&&i[1]}function rtm_upload_terms_activity(){if(jQuery("#rtmedia_upload_terms_conditions").length>0){jQuery("#bp-nouveau-activity-form").on("click","#aw-whats-new-submit",(function(e){var t=jQuery("#whats-new-form"),i=t.find("#rtmedia_upload_terms_conditions");if(0!==i.length&&!1===i.prop("checked")&&0===t.find("#message").length){e.preventDefault();var a=t.find(".rtmedia-upload-terms");rtp_display_terms_warning(a,rtmedia_upload_terms_check_terms_message)}}));var e=jQuery("#whats-new-form");e.length>0&&jQuery("#whats-new-form, #rtmedia_upload_terms_conditions").on("click",(function(t){e.find("input:hidden").each((function(){jQuery(this).prop("disabled",!1)}))}))}}jQuery("document").ready((function(e){function t(){if(jQuery("#rtmedia-media-view-form").length>0){var e=jQuery("#rtmedia-media-view-form").attr("action");jQuery.post(e,{},(function(e){}))}}function i(e,t,i){var a=new Date;a.setTime(a.getTime()+24*i*60*60*1e3);var r="expires="+a.toUTCString();document.cookie=e+"="+t+";"+r+";path=/"}jQuery(document).ajaxComplete((function(e,t,i){if("legacy"!==bp_template_pack&&bp_template_pack){var a=get_parameter("action",i.data);"activity_filter"!==a&&"post_update"!==a&&"get_single_activity_content"!==a&&"activity_get_older_updates"!==a||"undefined"==typeof rtmedia_masonry_layout||"true"!==rtmedia_masonry_layout||"undefined"==typeof rtmedia_masonry_layout_activity||"true"!==rtmedia_masonry_layout_activity?"activity_filter"!==a&&"post_update"!==a&&"get_single_activity_content"!==a&&"activity_get_older_updates"!==a||setTimeout((function(){apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container"),rtmedia_activity_stream_comment_media()}),1e3):setTimeout((function(){apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container"),rtmedia_activity_masonry(),rtmedia_activity_stream_comment_media()}),1e3)}})),jQuery(".rtmedia-uploader-div").css({opacity:"1",display:"block",visibility:"visible"}),jQuery(" #whats-new-options ").css({opacity:"1"}),void 0!==e.fn.rtTab&&e(".rtm-tabs").rtTab(),jQuery(".rtmedia-modal-link").length>0&&e(".rtmedia-modal-link").magnificPopup({type:"inline",midClick:!0,closeBtnInside:!0}),e("#rt_media_comment_form").submit((function(t){return""!=e.trim(e("#comment_content").val())||(0==jQuery("#rtmedia-single-media-container").length?rtmedia_gallery_action_alert_message(rtmedia_empty_comment_msg,"warning"):rtmedia_single_media_alert_message(rtmedia_empty_comment_msg,"warning"),!1)})),e("li.rtmedia-list-item p a").each((function(t){e(this).addClass("no-popup")})),e("li.rtmedia-list-item p a").each((function(t){e(this).addClass("no-popup")})),"undefined"!=typeof rtmedia_lightbox_enabled&&"1"==rtmedia_lightbox_enabled&&apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container"),jQuery.ajaxPrefilter((function(e,t,i){try{if(null==t.data||void 0===t.data||void 0===t.data.action)return!0}catch(e){return!0}if("activity_get_older_updates"==t.data.action){var a=t.success;e.success=function(e){"function"==typeof a&&a(e),apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),rtMediaHook.call("rtmedia_js_after_activity_added",[])}}else if("get_single_activity_content"==t.data.action){a=t.success;e.success=function(e){"function"==typeof a&&a(e),setTimeout((function(){apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),jQuery("ul.activity-list li.rtmedia_update:first-child .wp-audio-shortcode, ul.activity-list li.rtmedia_update:first-child .wp-video-shortcode").mediaelementplayer({classPrefix:"mejs-",defaultVideoWidth:480,defaultVideoHeight:270})}),900)}}})),jQuery.ajaxPrefilter((function(e,t,i){try{if(null==t.data||void 0===t.data||void 0===t.data.action)return!0}catch(e){return!0}if("activity_get_older_updates"==t.data.action){var a=t.success;e.success=function(e){"function"==typeof a&&a(e),apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),jQuery("ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > audio.wp-audio-shortcode, ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > video.wp-video-shortcode").mediaelementplayer({classPrefix:"mejs-",defaultVideoWidth:480,defaultVideoHeight:270}),setTimeout((function(){rtmedia_activity_stream_comment_media()}),900),rtMediaHook.call("rtmedia_js_after_activity_added",[])}}})),jQuery(".rtmedia-container").on("click",".select-all",(function(e){jQuery(this).toggleClass("unselect-all").toggleClass("select-all"),jQuery(this).attr("title",rtmedia_unselect_all_visible),jQuery(".rtmedia-list input").each((function(){jQuery(this).prop("checked",!0)})),jQuery(".rtmedia-list-item").addClass("bulk-selected")})),jQuery(".rtmedia-container").on("click",".unselect-all",(function(e){jQuery(this).toggleClass("select-all").toggleClass("unselect-all"),jQuery(this).attr("title",rtmedia_select_all_visible),jQuery(".rtmedia-list input").each((function(){jQuery(this).prop("checked",!1)})),jQuery(".rtmedia-list-item").removeClass("bulk-selected")})),jQuery(".rtmedia-container").on("click",".rtmedia-move",(function(e){jQuery(".rtmedia-delete-container").slideUp(),jQuery(".rtmedia-move-container").slideToggle()})),jQuery("#rtmedia-create-album-modal").on("click","#rtmedia_create_new_album",(function(t){if($albumname=jQuery("").text(jQuery.trim(jQuery("#rtmedia_album_name").val())).html(),$album_description=jQuery("#rtmedia_album_description"),$context=jQuery.trim(jQuery("#rtmedia_album_context").val()),$context_id=jQuery.trim(jQuery("#rtmedia_album_context_id").val()),$privacy=jQuery.trim(jQuery("#rtmedia_select_album_privacy").val()),$create_album_nonce=jQuery.trim(jQuery("#rtmedia_create_album_nonce").val()),""!=$albumname){var i={action:"rtmedia_create_album",name:$albumname,description:$album_description.val(),context:$context,context_id:$context_id,create_album_nonce:$create_album_nonce};""!==$privacy&&(i.privacy=$privacy),e("#rtmedia_create_new_album").attr("disabled","disabled");var a=e("#rtmedia_create_new_album").html();e("#rtmedia_create_new_album").prepend(""),jQuery.post(rtmedia_ajax_url,i,(function(t){if(void 0!==t.album){t=jQuery.trim(t.album);var i=!0;$album_description.val(""),e("#rtmedia_album_name").focus(),jQuery(".rtmedia-user-album-list").each((function(){if(jQuery(this).children("optgroup").each((function(){if(jQuery(this).attr("value")===$context)return i=!1,void jQuery(this).append('")})),i){var e=$context.charAt(0).toUpperCase()+$context.slice(1)+" "+rtmedia_main_js_strings.rtmedia_albums,a='";jQuery(this).append(a)}})),jQuery('select.rtmedia-user-album-list option[value="'+t+'"]').prop("selected",!0),jQuery(".rtmedia-create-new-album-container").slideToggle(),jQuery("#rtmedia_album_name").val(""),jQuery("#rtmedia-create-album-modal").append("
"+$albumname+""+rtmedia_album_created_msg+"
"),setTimeout((function(){jQuery(".rtmedia-create-album-alert").remove()}),4e3),setTimeout((function(){galleryObj.reloadView(),window.location.reload(),jQuery(".close-reveal-modal").click()}),2e3)}else void 0!==t.error?rtmedia_gallery_action_alert_message(t.error,"warning"):rtmedia_gallery_action_alert_message(rtmedia_something_wrong_msg,"warning");e("#rtmedia_create_new_album").removeAttr("disabled"),e("#rtmedia_create_new_album").html(a)}))}else rtmedia_gallery_action_alert_message(rtmedia_empty_album_name_msg,"warning")})),jQuery(".rtmedia-container").on("click",".rtmedia-delete-selected",(function(e){jQuery(".rtmedia-list :checkbox:checked").length>0?confirm(rtmedia_selected_media_delete_confirmation)&&jQuery(this).closest("form").attr("action","../../../"+rtmedia_media_slug+"/delete").submit():rtmedia_gallery_action_alert_message(rtmedia_no_media_selected,"warning")})),jQuery(".rtmedia-container").on("click",".rtmedia-move-selected",(function(e){jQuery(".rtmedia-list :checkbox:checked").length>0?confirm(rtmedia_selected_media_move_confirmation)&&jQuery(this).closest("form").attr("action","").submit():rtmedia_gallery_action_alert_message(rtmedia_no_media_selected,"warning")})),jQuery("#buddypress").on("change",".rtm-activity-privacy-opt",(function(){var e=jQuery(this).attr("id");e=(e=e.split("-"))[e.length-1];var t=this;data={activity_id:e,privacy:jQuery(this).val(),nonce:jQuery("#rtmedia_activity_privacy_nonce").val(),action:"rtm_change_activity_privacy"},jQuery.post(ajaxurl,data,(function(e){var i="",a="";"true"==e?(i=rtmedia_main_js_strings.privacy_update_success,a="rtmedia-success"):(i=rtmedia_main_js_strings.privacy_update_error,a="fail"),jQuery(t).after('

'+i+"

"),setTimeout((function(){jQuery(t).siblings(".rtm-ac-privacy-updated").remove()}),2e3)}))})),jQuery(".media_search_input").on("keyup",(function(){rtm_search_media_text_validation()})),t(),rtMediaHook.register("rtmedia_js_popup_after_content_added",(function(){t(),jQuery(".rtmedia-container").on("click",".rtmedia-delete-media",(function(e){e.preventDefault(),confirm(rtmedia_media_delete_confirmation)&&jQuery(this).closest("form").submit()})),mfp=jQuery.magnificPopup.instance,jQuery(mfp.items).length>1&&0==comment_media?function(){var e=jQuery.magnificPopup.instance,t=e.probablyMobile,a=function(e){for(var t=e+"=",i=document.cookie.split(";"),a=0;a"+rtmedia_drop_media_msg+"
"),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&jQuery("#whats-new-textarea").append("
"+rtmedia_drop_media_msg+"
"),jQuery(document).on("dragover",(function(e){e.preventDefault(),e.target!=this&&(jQuery("#rtm-media-gallery-uploader").show(),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&r.addClass("rtm-drag-drop-active"),a.addClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").show())})).on("dragleave",(function(e){if(e.preventDefault(),0!=e.originalEvent.pageX&&0!=e.originalEvent.pageY)return!1;"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&(r.removeClass("rtm-drag-drop-active"),r.removeAttr("style")),a.removeClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").hide()})).on("drop",(function(e){e.preventDefault(),jQuery(".bp-suggestions").focus(),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&(r.removeClass("rtm-drag-drop-active"),r.removeAttr("style")),a.removeClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").hide()})),jQuery(".rtmedia-container").on("click",".rtmedia-delete-album",(function(e){e.preventDefault(),confirm(rtmedia_album_delete_confirmation)&&jQuery(this).closest("form").submit()})),jQuery(".rtmedia-container").on("click",".rtmedia-delete-media",(function(e){e.preventDefault(),confirm(rtmedia_media_delete_confirmation)&&jQuery(this).closest("form").submit()})),rtmedia_init_action_dropdown(""),e(document).click((function(){e(".click-nav ul").is(":visible")&&e(".click-nav ul",this).hide()})),jQuery(".rtmedia-comment-link").on("click",(function(e){e.preventDefault(),jQuery("#comment_content").focus()})),jQuery(".rtm-more").length>0&&e(".rtm-more").shorten({showChars:200}),"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&"undefined"!=typeof rtmedia_masonry_layout_activity&&"true"==rtmedia_masonry_layout_activity&&rtmedia_activity_masonry(),jQuery(document).ajaxComplete((function(e,t,i){var a=get_parameter("action",i.data);"post_update"!==a&&"get_single_activity_content"!==a&&"activity_get_older_updates"!==a||"undefined"==typeof rtmedia_masonry_layout||"true"!=rtmedia_masonry_layout||"undefined"==typeof rtmedia_masonry_layout_activity||"true"!=rtmedia_masonry_layout_activity||rtmedia_activity_masonry()})),"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&0==jQuery(".rtmedia-container .rtmedia-list.rtm-no-masonry").length&&((rtm_masonry_container=jQuery(".rtmedia-container .rtmedia-list")).masonry({itemSelector:".rtmedia-list-item"}),setInterval((function(){jQuery.each(jQuery(".rtmedia-list.masonry .rtmedia-item-title"),(function(e,t){jQuery(t).width(jQuery(t).siblings(".rtmedia-item-thumbnail").children("img").width())})),rtm_masonry_reload(rtm_masonry_container)}),1e3),jQuery.each(jQuery(".rtmedia-list.masonry .rtmedia-item-title"),(function(e,t){jQuery(t).width(jQuery(t).siblings(".rtmedia-item-thumbnail").children("img").width())}))),jQuery(".rtm-uploader-tabs").length>0&&jQuery(".rtm-uploader-tabs li").click((function(e){jQuery(this).hasClass("active")||(jQuery(this).siblings().removeClass("active"),jQuery(this).parents(".rtm-uploader-tabs").siblings().hide(),class_name=jQuery(this).attr("class"),jQuery(this).parents(".rtm-uploader-tabs").siblings('[data-id="'+class_name+'"]').show(),jQuery(this).addClass("active"),"rtm-upload-tab"!=class_name?jQuery("div.moxie-shim").hide():jQuery("div.moxie-shim").show())})),jQuery(".rtmedia-container").on("click",".rtm-delete-media",(function(e){e.preventDefault();var t=RTMedia_Main_JS.media_delete_confirmation;if(confirm(t)){var i=jQuery(this).closest("li"),a=jQuery("#rtmedia_media_delete_nonce").val(),r=jQuery(this).parents(".rtmedia-list-item").data("media_type"),n={action:"delete_uploaded_media",nonce:a,media_id:i.attr("id"),media_type:r};jQuery.ajax({url:RTMedia_Main_JS.rtmedia_ajaxurl,type:"POST",data:n,dataType:"JSON",success:function(e){window.location.reload(),"rtmedia-media-deleted"===e.data.code?(rtmedia_gallery_action_alert_message(RTMedia_Main_JS.media_delete_success,"success"),i.remove(),"undefined"!=typeof rtmedia_masonry_layout&&"true"===rtmedia_masonry_layout&&rtm_masonry_reload(rtm_masonry_container),jQuery("#user-media span, #media-groups-li #media span, #rtmedia-nav-item-all span").text(e.data.all_media_count),jQuery("#rtmedia-nav-item-photo span").text(e.data.photos_count),jQuery("#rtmedia-nav-item-music span").text(e.data.music_count),jQuery("#rtmedia-nav-item-video span").text(e.data.videos_count)):rtmedia_gallery_action_alert_message(e.data.message,"warning")}})}}))})),function(e){e.fn.shorten=function(t){"use strict";var i={showChars:100,minHideChars:10,ellipsesText:"...",moreText:rtmedia_read_more,lessText:rtmedia__show_less,onLess:function(){},onMore:function(){},errMsg:null,force:!1};return t&&e.extend(i,t),!(e(this).data("jquery.shorten")&&!i.force)&&(e(this).data("jquery.shorten",!0),e(document).off("click",".morelink"),e(document).on({click:function(){var t=e(this);return t.hasClass("less")?(t.removeClass("less"),t.html(i.moreText),t.parent().prev().hide(0,(function(){t.parent().prev().prev().show()})).hide(0,(function(){i.onLess()}))):(t.addClass("less"),t.html(i.lessText),t.parent().prev().show(0,(function(){t.parent().prev().prev().hide()})).show(0,(function(){i.onMore()}))),!1}},".morelink"),this.each((function(){var t=e(this),a=t.html();if(t.text().length>i.showChars+i.minHideChars){var r=a.substr(0,i.showChars);if(r.indexOf("<")>=0){for(var n=!1,o="",m=0,d=[],l=null,s=0,c=0;c<=i.showChars;s++)if("<"!=a[s]||n||(n=!0,"/"==(l=a.substring(s+1,a.indexOf(">",s)))[0]?l!="/"+d[0]?i.errMsg="ERROR en HTML: the top of the stack should be the tag that closes":d.shift():"br"!=l.toLowerCase()&&d.unshift(l)),n&&">"==a[s]&&(n=!1),n)o+=a.charAt(s);else if(c++,m<=i.showChars)o+=a.charAt(s),m++;else if(d.length>0){for(j=0;j";break}r=e("
").html(o+''+i.ellipsesText+"").html()}else r+=i.ellipsesText;var u='
'+r+'
'+a+'
'+i.moreText+"";t.html(u),t.find(".allcontent").hide(),e(".shortcontent p:last",t).css("margin-bottom",0)}})))}}(jQuery),window.onload=function(){"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&0==jQuery(".rtmedia-container .rtmedia-list.rtm-no-masonry").length&&rtm_masonry_reload(rtm_masonry_container),rtm_search_media_text_validation(),check_condition("search")&&jQuery("#media_search_remove").show()},jQuery(document).ready((function(){rtm_upload_terms_activity(),jQuery("body").hasClass("has-sidebar")&&0===jQuery("#secondary").length&&(jQuery(".rtmedia-single-container").length||jQuery(".rtmedia-container").length)&&jQuery("body").removeClass("has-sidebar"),rtmedia_main&&("undefined"!==rtmedia_main.rtmedia_direct_download_link&&parseInt(rtmedia_main.rtmedia_direct_download_link)||jQuery(document).on("bp_ajax_request",(function(e){setTimeout((function(){jQuery("video").each((function(){jQuery(this).attr("controlsList","nodownload"),jQuery(this).attr("playsinline","playsinline"),jQuery(this).load()}))}),200)})))})); \ No newline at end of file +var rtMagnificPopup,rtm_masonry_container,comment_media=!1;function apply_rtMagnificPopup(e){jQuery("document").ready((function(t){var i="";if(i="undefined"==typeof rtmedia_load_more?"Loading media":rtmedia_load_more,"undefined"!=typeof rtmedia_lightbox_enabled&&"1"==rtmedia_lightbox_enabled){var a,r,n=!1;t(".activity-item .rtmedia-activity-container .rtmedia-list-item > a").siblings("p").children("a").length>0&&t(".activity-item .rtmedia-activity-container .rtmedia-list-item > a").siblings("p").children("a").addClass("no-popup"),rtMagnificPopup=jQuery(e).magnificPopup({delegate:"a:not(.no-popup, .mejs-time-slider, .mejs-volume-slider, .mejs-horizontal-volume-slider)",type:"ajax",fixedContentPos:!0,fixedBgPos:!0,tLoading:i+" #%curr%...",mainClass:"mfp-img-mobile",preload:[1,3],closeOnBgClick:!0,gallery:{enabled:!0,navigateByImgClick:!0,arrowMarkup:"",preload:[0,1]},image:{tError:'The image #%curr% could not be loaded.',titleSrc:function(e){return e.el.attr("title")+"by Marsel Van Oosten"}},callbacks:{ajaxContentAdded:function(){e=jQuery.magnificPopup.instance,1===jQuery(e.items).length&&jQuery(".mfp-arrow").remove();var e=jQuery.magnificPopup.instance,i=e.currItem.el,o=i.parent();if(o.is("li")||(o=o.parent()),(o.is(":nth-last-child(2)")||o.is(":last-child"))&&o.find("a").hasClass("rtmedia-list-item-a")){o.next();"block"==jQuery("#rtMedia-galary-next").css("display")&&(n||(a=e.ev.children(),n=!0,r=nextpage),jQuery("#rtMedia-galary-next").click())}var m=e.items.length;if(e.index!=m-1||o.is(":last-child")){"undefined"!=typeof _wpmejsSettings&&_wpmejsSettings.pluginPath;var d=jQuery(".rtmedia-container .rtmedia-single-meta").height(),l=!1;void 0!==e&&void 0!==e.probablyMobile&&1==e.probablyMobile&&(l=!0),t(".mfp-content .rtmedia-single-media .wp-audio-shortcode,.mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").attr("autoplay",!0),l&&t(".mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").attr("muted",!1),t(".mfp-content .rtmedia-single-media .wp-audio-shortcode,.mfp-content .rtmedia-single-media .wp-video-shortcode,.mfp-content .rtmedia-single-media .bp_media_content video").mediaelementplayer({classPrefix:"mejs-",defaultVideoWidth:480,hideVolumeOnTouchDevices:!1,features:["playpause","progress","current","volume","fullscreen"],defaultVideoHeight:270,alwaysShowControls:l,enableAutosize:!0,clickToPlayPause:!0,videoHeight:-1,success:function(e,i){e.addEventListener("loadeddata",(function(i){var a=t(e).height(),r=t(window).height(),n=jQuery("div.rtm-ltb-action-container").height(),o=d-(n=n+50);a>r&&jQuery(".rtmedia-container #rtmedia-single-media-container .mejs-container").attr("style","height:"+o+"px !important; transition:0.2s")}),!1),l&&t(e).hasClass("wp-video-shortcode")?jQuery("body").on("touchstart",".mejs-overlay-button",(function(t){e.paused?e.play():e.pause()})):e.pause()}}),t(".mfp-content .mejs-audio .mejs-controls").css("position","relative"),rtMediaHook.call("rtmedia_js_popup_after_content_added",[]),"undefined"!=typeof bp&&void 0!==bp.mentions&&void 0!==bp.mentions.users&&(t("#atwho-container #atwho-ground-comment_content").remove(),t("#comment_content").bp_mentions(bp.mentions.users)),rtmedia_reset_video_and_audio_for_popup(),apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container")}else i.click()},open:function(){var e=jQuery(".mfp-bg"),t=jQuery(".mfp-wrap");e.height(e.height()+t.height())},close:function(e){n&&(mfp.ev.empty(),mfp.ev.append(a),nextpage=r,n=!1,nextpage>1&&jQuery("#rtMedia-galary-next").show()),rtmedia_single_page_popup_close()},BeforeChange:function(e){}}})}jQuery(document).ajaxComplete((function(){jQuery("[id^=imgedit-leaving]").filter((function(){var e=jQuery(this).text();jQuery(this).text(e.replace("OK","Save"))}))}))}))}jQuery(document).ready((function(){if("object"==typeof rtmedia_bp)for(var e in rtmedia_bp)window[e]=rtmedia_bp[e];if("object"==typeof rtmedia_main)for(var e in rtmedia_main)window[e]=rtmedia_main[e];if("object"==typeof rtmedia_upload_terms)for(var e in rtmedia_upload_terms)window[e]=rtmedia_upload_terms[e];if("object"==typeof rtmedia_magnific)for(var e in rtmedia_magnific)window[e]=rtmedia_magnific[e]}));var rtMediaHook={hooks:[],is_break:!1,register:function(e,t){void 0===rtMediaHook.hooks[e]&&(rtMediaHook.hooks[e]=[]),rtMediaHook.hooks[e].push(t)},call:function(e,arguments){if(void 0!==rtMediaHook.hooks[e])for(i=0;i span,"+e+" .click-nav > div").toggleClass("no-js js"),jQuery(e+" .click-nav .js ul").hide(),jQuery(e+" .click-nav .clicker").click((function(e){t=jQuery("#rtm-media-options .click-nav .clicker").next("ul"),i=jQuery(this).next("ul"),jQuery.each(t,(function(e,t){jQuery(t).html()!=i.html()&&jQuery(t).hide()})),jQuery(i).toggle(),e.stopPropagation()}))}function bp_media_create_element(e){return!1}function rtm_is_true(e){return"true"===e||!0===e}function rtmedia_version_compare(e,t){if(typeof e+typeof t!="stringstring")return!1;for(var i=e.split("."),a=t.split("."),r=0,n=Math.max(i.length,a.length);r0||parseInt(i[r])>parseInt(a[r]))return!0;if(a[r]&&!i[r]&&parseInt(a[r])>0||parseInt(i[r])0}function rtm_masonry_reload(e){setTimeout((function(){var t=e.data("masonry");t&&("function"==typeof t.reload?e.masonry("reload"):"function"==typeof t.reloadItems&&(t.reloadItems(),t.layout()))}),250)}function rtm_search_media_text_validation(){""===jQuery("#media_search_input").val()?jQuery("#media_search").css("cursor","not-allowed"):jQuery("#media_search").css("cursor","pointer")}function rtmediaGetParameterByName(e){e=e.replace(/\\/g,"\\\\").replace(/\[/g,"\\[").replace(/\]/g,"\\]");var t=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(location.search);return null==t?"":decodeURIComponent(t[1].replace(/\+/g," "))}function rtmedia_single_media_alert_message(e,t,i){var a="rtmedia-success";"warning"==t&&(a="rtmedia-warning");var r=!1;jQuery(".rtmedia-message-container").each((function(e,t){return t=jQuery(t),i&&t.hasClass("rtmedia-empty-comment-error-class")?(t.remove(),r=!0,!1):void 0!==i||t.hasClass("rtmedia-empty-comment-error-class")?void 0:(t.remove(),r=!0,!1)}));var n,o=jQuery("
",{title:"Click to dismiss",class:"rtmedia-message-container"+(i?" rtmedia-empty-comment-error-class":""),style:"margin:1em 0;"}),m=jQuery("",{class:a});m.html(e),m.appendTo(o),i?(n=jQuery("#rt_media_comment_form"),jQuery("#comment_content").focus()):void 0===i&&(n=jQuery(".rtmedia-single-media .rtmedia-media")).css("opacity","0.2"),n.after(o),r&&(m.css({border:"2px solid #884646"}),setTimeout((function(){m.css({border:"none"})}),500)),setTimeout((function(){o.remove(),void 0===i&&n.css("opacity","1")}),3e3),o.click((function(){o.remove(),void 0===i&&n.css("opacity","1")}))}function rtmedia_gallery_action_alert_message(e,t){var i="rtmedia-success";"warning"==t&&(i="rtmedia-warning");jQuery("body").append(''),jQuery(".rtmedia-gallery-alert-container").append(""),setTimeout((function(){jQuery(".rtmedia-gallery-alert-container").remove()}),3e3),jQuery(".rtmedia-gallery-message-box").click((function(){jQuery(".rtmedia-gallery-alert-container").remove()}))}function rtmedia_activity_masonry(){jQuery("#activity-stream .rtmedia-activity-container .rtmedia-list").masonry({itemSelector:".rtmedia-list-item",gutter:7});var e=0,t=setInterval((function(){5===(e+=1)&&clearInterval(t),jQuery.each(jQuery(".rtmedia-activity-container .rtmedia-list.masonry .rtmedia-item-title"),(function(e,t){jQuery(t).width(jQuery(t).siblings(".rtmedia-item-thumbnail").children("img").width())})),rtm_masonry_reload(jQuery("#activity-stream .rtmedia-activity-container .rtmedia-list"))}),1e3)}function get_parameter(e,t){if(!e)return!1;t||(t=window.location.href);e=e.replace(/\\/g,"\\\\").replace(/\[/g,"\\[").replace(/\]/g,"\\]");var i=new RegExp(e+"=([^&#]*)").exec(t);return null!==i&&i[1]}function rtm_upload_terms_activity(){if(jQuery("#rtmedia_upload_terms_conditions").length>0){jQuery("#bp-nouveau-activity-form").on("click","#aw-whats-new-submit",(function(e){var t=jQuery("#whats-new-form"),i=t.find("#rtmedia_upload_terms_conditions");if(0!==i.length&&!1===i.prop("checked")&&0===t.find("#message").length){e.preventDefault();var a=t.find(".rtmedia-upload-terms");rtp_display_terms_warning(a,rtmedia_upload_terms_check_terms_message)}}));var e=jQuery("#whats-new-form");e.length>0&&jQuery("#whats-new-form, #rtmedia_upload_terms_conditions").on("click",(function(t){e.find("input:hidden").each((function(){jQuery(this).prop("disabled",!1)}))}))}}jQuery("document").ready((function(e){function t(){if(jQuery("#rtmedia-media-view-form").length>0){var e=jQuery("#rtmedia-media-view-form").attr("action");jQuery.post(e,{},(function(e){}))}}function i(e,t,i){var a=new Date;a.setTime(a.getTime()+24*i*60*60*1e3);var r="expires="+a.toUTCString();document.cookie=e+"="+t+";"+r+";path=/"}jQuery(document).ajaxComplete((function(e,t,i){if("legacy"!==bp_template_pack&&bp_template_pack){var a=get_parameter("action",i.data);("activity_filter"===a||"post_update"===a||"get_single_activity_content"===a||"activity_get_older_updates"===a)&&"undefined"!=typeof rtmedia_masonry_layout&&rtm_is_true(rtmedia_masonry_layout)&&"undefined"!=typeof rtmedia_masonry_layout_activity&&rtm_is_true(rtmedia_masonry_layout_activity)?setTimeout((function(){apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container"),rtmedia_activity_masonry(),rtmedia_activity_stream_comment_media()}),1e3):"activity_filter"!==a&&"post_update"!==a&&"get_single_activity_content"!==a&&"activity_get_older_updates"!==a||setTimeout((function(){apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container"),rtmedia_activity_stream_comment_media()}),1e3)}})),jQuery(".rtmedia-uploader-div").css({opacity:"1",display:"block",visibility:"visible"}),jQuery(" #whats-new-options ").css({opacity:"1"}),void 0!==e.fn.rtTab&&e(".rtm-tabs").rtTab(),jQuery(".rtmedia-modal-link").length>0&&e(".rtmedia-modal-link").magnificPopup({type:"inline",midClick:!0,closeBtnInside:!0}),e("#rt_media_comment_form").submit((function(t){return""!=e.trim(e("#comment_content").val())||(0==jQuery("#rtmedia-single-media-container").length?rtmedia_gallery_action_alert_message(rtmedia_empty_comment_msg,"warning"):rtmedia_single_media_alert_message(rtmedia_empty_comment_msg,"warning"),!1)})),e("li.rtmedia-list-item p a").each((function(t){e(this).addClass("no-popup")})),e("li.rtmedia-list-item p a").each((function(t){e(this).addClass("no-popup")})),"undefined"!=typeof rtmedia_lightbox_enabled&&"1"==rtmedia_lightbox_enabled&&apply_rtMagnificPopup(".rtmedia-list-media.rtm-gallery-list, .rtmedia-activity-container ul.rtmedia-list, #bp-media-list,.bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content, .rtm-bbp-container, ul.rtm-comment-container"),jQuery.ajaxPrefilter((function(e,t,i){try{if(null==t.data||void 0===t.data||void 0===t.data.action)return!0}catch(e){return!0}if("activity_get_older_updates"==t.data.action){var a=t.success;e.success=function(e){"function"==typeof a&&a(e),apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),rtMediaHook.call("rtmedia_js_after_activity_added",[])}}else if("get_single_activity_content"==t.data.action){a=t.success;e.success=function(e){"function"==typeof a&&a(e),setTimeout((function(){apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),jQuery("ul.activity-list li.rtmedia_update:first-child .wp-audio-shortcode, ul.activity-list li.rtmedia_update:first-child .wp-video-shortcode").mediaelementplayer({classPrefix:"mejs-",defaultVideoWidth:480,defaultVideoHeight:270})}),900)}}})),jQuery.ajaxPrefilter((function(e,t,i){try{if(null==t.data||void 0===t.data||void 0===t.data.action)return!0}catch(e){return!0}if("activity_get_older_updates"==t.data.action){var a=t.success;e.success=function(e){"function"==typeof a&&a(e),apply_rtMagnificPopup(".rtmedia-activity-container ul.rtmedia-list, #bp-media-list, .bp-media-sc-list, li.media.album_updated ul,ul.bp-media-list-media, li.activity-item div.activity-content div.activity-inner div.bp_media_content"),jQuery("ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > audio.wp-audio-shortcode, ul.activity-list li.rtmedia_update div.rtmedia-item-thumbnail > video.wp-video-shortcode").mediaelementplayer({classPrefix:"mejs-",defaultVideoWidth:480,defaultVideoHeight:270}),setTimeout((function(){rtmedia_activity_stream_comment_media()}),900),rtMediaHook.call("rtmedia_js_after_activity_added",[])}}})),jQuery(".rtmedia-container").on("click",".select-all",(function(e){jQuery(this).toggleClass("unselect-all").toggleClass("select-all"),jQuery(this).attr("title",rtmedia_unselect_all_visible),jQuery(".rtmedia-list input").each((function(){jQuery(this).prop("checked",!0)})),jQuery(".rtmedia-list-item").addClass("bulk-selected")})),jQuery(".rtmedia-container").on("click",".unselect-all",(function(e){jQuery(this).toggleClass("select-all").toggleClass("unselect-all"),jQuery(this).attr("title",rtmedia_select_all_visible),jQuery(".rtmedia-list input").each((function(){jQuery(this).prop("checked",!1)})),jQuery(".rtmedia-list-item").removeClass("bulk-selected")})),jQuery(".rtmedia-container").on("click",".rtmedia-move",(function(e){jQuery(".rtmedia-delete-container").slideUp(),jQuery(".rtmedia-move-container").slideToggle()})),jQuery("#rtmedia-create-album-modal").on("click","#rtmedia_create_new_album",(function(t){if($albumname=jQuery("").text(jQuery.trim(jQuery("#rtmedia_album_name").val())).html(),$album_description=jQuery("#rtmedia_album_description"),$context=jQuery.trim(jQuery("#rtmedia_album_context").val()),$context_id=jQuery.trim(jQuery("#rtmedia_album_context_id").val()),$privacy=jQuery.trim(jQuery("#rtmedia_select_album_privacy").val()),$create_album_nonce=jQuery.trim(jQuery("#rtmedia_create_album_nonce").val()),""!=$albumname){var i={action:"rtmedia_create_album",name:$albumname,description:$album_description.val(),context:$context,context_id:$context_id,create_album_nonce:$create_album_nonce};""!==$privacy&&(i.privacy=$privacy),e("#rtmedia_create_new_album").attr("disabled","disabled");var a=e("#rtmedia_create_new_album").html();e("#rtmedia_create_new_album").prepend(""),jQuery.post(rtmedia_ajax_url,i,(function(t){if(void 0!==t.album){t=jQuery.trim(t.album);var i=!0;$album_description.val(""),e("#rtmedia_album_name").focus(),jQuery(".rtmedia-user-album-list").each((function(){if(jQuery(this).children("optgroup").each((function(){if(jQuery(this).attr("value")===$context)return i=!1,void jQuery(this).append('")})),i){var e=$context.charAt(0).toUpperCase()+$context.slice(1)+" "+rtmedia_main_js_strings.rtmedia_albums,a='";jQuery(this).append(a)}})),jQuery('select.rtmedia-user-album-list option[value="'+t+'"]').prop("selected",!0),jQuery(".rtmedia-create-new-album-container").slideToggle(),jQuery("#rtmedia_album_name").val(""),jQuery("#rtmedia-create-album-modal").append("
"+$albumname+""+rtmedia_album_created_msg+"
"),setTimeout((function(){jQuery(".rtmedia-create-album-alert").remove()}),4e3),setTimeout((function(){galleryObj.reloadView(),window.location.reload(),jQuery(".close-reveal-modal").click()}),2e3)}else void 0!==t.error?rtmedia_gallery_action_alert_message(t.error,"warning"):rtmedia_gallery_action_alert_message(rtmedia_something_wrong_msg,"warning");e("#rtmedia_create_new_album").removeAttr("disabled"),e("#rtmedia_create_new_album").html(a)}))}else rtmedia_gallery_action_alert_message(rtmedia_empty_album_name_msg,"warning")})),jQuery(".rtmedia-container").on("click",".rtmedia-delete-selected",(function(e){jQuery(".rtmedia-list :checkbox:checked").length>0?confirm(rtmedia_selected_media_delete_confirmation)&&jQuery(this).closest("form").attr("action","../../../"+rtmedia_media_slug+"/delete").submit():rtmedia_gallery_action_alert_message(rtmedia_no_media_selected,"warning")})),jQuery(".rtmedia-container").on("click",".rtmedia-move-selected",(function(e){jQuery(".rtmedia-list :checkbox:checked").length>0?confirm(rtmedia_selected_media_move_confirmation)&&jQuery(this).closest("form").attr("action","").submit():rtmedia_gallery_action_alert_message(rtmedia_no_media_selected,"warning")})),jQuery("#buddypress").on("change",".rtm-activity-privacy-opt",(function(){var e=jQuery(this).attr("id");e=(e=e.split("-"))[e.length-1];var t=this;data={activity_id:e,privacy:jQuery(this).val(),nonce:jQuery("#rtmedia_activity_privacy_nonce").val(),action:"rtm_change_activity_privacy"},jQuery.post(ajaxurl,data,(function(e){var i="",a="";"true"==e?(i=rtmedia_main_js_strings.privacy_update_success,a="rtmedia-success"):(i=rtmedia_main_js_strings.privacy_update_error,a="fail"),jQuery(t).after('

'+i+"

"),setTimeout((function(){jQuery(t).siblings(".rtm-ac-privacy-updated").remove()}),2e3)}))})),jQuery(".media_search_input").on("keyup",(function(){rtm_search_media_text_validation()})),t(),rtMediaHook.register("rtmedia_js_popup_after_content_added",(function(){t(),jQuery(".rtmedia-container").on("click",".rtmedia-delete-media",(function(e){e.preventDefault(),confirm(rtmedia_media_delete_confirmation)&&jQuery(this).closest("form").submit()})),mfp=jQuery.magnificPopup.instance,jQuery(mfp.items).length>1&&0==comment_media?function(){var e=jQuery.magnificPopup.instance,t=e.probablyMobile,a=function(e){for(var t=e+"=",i=document.cookie.split(";"),a=0;a"+rtmedia_drop_media_msg+"
"),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&jQuery("#whats-new-textarea").append("
"+rtmedia_drop_media_msg+"
"),jQuery(document).on("dragover",(function(e){e.preventDefault(),e.target!=this&&(jQuery("#rtm-media-gallery-uploader").show(),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&r.addClass("rtm-drag-drop-active"),a.addClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").show())})).on("dragleave",(function(e){if(e.preventDefault(),0!=e.originalEvent.pageX&&0!=e.originalEvent.pageY)return!1;"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&(r.removeClass("rtm-drag-drop-active"),r.removeAttr("style")),a.removeClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").hide()})).on("drop",(function(e){e.preventDefault(),jQuery(".bp-suggestions").focus(),"undefined"!=typeof rtmedia_bp_enable_activity&&"1"==rtmedia_bp_enable_activity&&(r.removeClass("rtm-drag-drop-active"),r.removeAttr("style")),a.removeClass("rtm-drag-drop-active"),jQuery("#rtm-drop-files-title").hide()})),jQuery(".rtmedia-container").on("click",".rtmedia-delete-album",(function(e){e.preventDefault(),confirm(rtmedia_album_delete_confirmation)&&jQuery(this).closest("form").submit()})),jQuery(".rtmedia-container").on("click",".rtmedia-delete-media",(function(e){e.preventDefault(),confirm(rtmedia_media_delete_confirmation)&&jQuery(this).closest("form").submit()})),rtmedia_init_action_dropdown(""),e(document).click((function(){e(".click-nav ul").is(":visible")&&e(".click-nav ul",this).hide()})),jQuery(".rtmedia-comment-link").on("click",(function(e){e.preventDefault(),jQuery("#comment_content").focus()})),jQuery(".rtm-more").length>0&&e(".rtm-more").shorten({showChars:200}),"undefined"!=typeof rtmedia_masonry_layout&&rtm_is_true(rtmedia_masonry_layout)&&"undefined"!=typeof rtmedia_masonry_layout_activity&&rtm_is_true(rtmedia_masonry_layout_activity)&&rtmedia_activity_masonry(),jQuery(document).ajaxComplete((function(e,t,i){var a=get_parameter("action",i.data);("post_update"===a||"get_single_activity_content"===a||"activity_get_older_updates"===a)&&"undefined"!=typeof rtmedia_masonry_layout&&rtm_is_true(rtmedia_masonry_layout)&&"undefined"!=typeof rtmedia_masonry_layout_activity&&rtm_is_true(rtmedia_masonry_layout_activity)&&rtmedia_activity_masonry()})),"undefined"!=typeof rtmedia_masonry_layout&&rtm_is_true(rtmedia_masonry_layout)&&0==jQuery(".rtmedia-container .rtmedia-list.rtm-no-masonry").length&&((rtm_masonry_container=jQuery(".rtmedia-container .rtmedia-list")).masonry({itemSelector:".rtmedia-list-item"}),setInterval((function(){jQuery.each(jQuery(".rtmedia-list.masonry .rtmedia-item-title"),(function(e,t){jQuery(t).width(jQuery(t).siblings(".rtmedia-item-thumbnail").children("img").width())})),rtm_masonry_reload(rtm_masonry_container)}),1e3),jQuery.each(jQuery(".rtmedia-list.masonry .rtmedia-item-title"),(function(e,t){jQuery(t).width(jQuery(t).siblings(".rtmedia-item-thumbnail").children("img").width())}))),jQuery(".rtm-uploader-tabs").length>0&&jQuery(".rtm-uploader-tabs li").click((function(e){jQuery(this).hasClass("active")||(jQuery(this).siblings().removeClass("active"),jQuery(this).parents(".rtm-uploader-tabs").siblings().hide(),class_name=jQuery(this).attr("class"),jQuery(this).parents(".rtm-uploader-tabs").siblings('[data-id="'+class_name+'"]').show(),jQuery(this).addClass("active"),"rtm-upload-tab"!=class_name?jQuery("div.moxie-shim").hide():jQuery("div.moxie-shim").show())})),jQuery(".rtmedia-container").on("click",".rtm-delete-media",(function(e){e.preventDefault();var t=RTMedia_Main_JS.media_delete_confirmation;if(confirm(t)){var i=jQuery(this).closest("li"),a=jQuery("#rtmedia_media_delete_nonce").val(),r=jQuery(this).parents(".rtmedia-list-item").data("media_type"),n={action:"delete_uploaded_media",nonce:a,media_id:i.attr("id"),media_type:r};jQuery.ajax({url:RTMedia_Main_JS.rtmedia_ajaxurl,type:"POST",data:n,dataType:"JSON",success:function(e){window.location.reload(),"rtmedia-media-deleted"===e.data.code?(rtmedia_gallery_action_alert_message(RTMedia_Main_JS.media_delete_success,"success"),i.remove(),"undefined"!=typeof rtmedia_masonry_layout&&rtm_is_true(rtmedia_masonry_layout)&&rtm_masonry_reload(rtm_masonry_container),jQuery("#user-media span, #media-groups-li #media span, #rtmedia-nav-item-all span").text(e.data.all_media_count),jQuery("#rtmedia-nav-item-photo span").text(e.data.photos_count),jQuery("#rtmedia-nav-item-music span").text(e.data.music_count),jQuery("#rtmedia-nav-item-video span").text(e.data.videos_count)):rtmedia_gallery_action_alert_message(e.data.message,"warning")}})}}))})),function(e){e.fn.shorten=function(t){"use strict";var i={showChars:100,minHideChars:10,ellipsesText:"...",moreText:rtmedia_read_more,lessText:rtmedia__show_less,onLess:function(){},onMore:function(){},errMsg:null,force:!1};return t&&e.extend(i,t),!(e(this).data("jquery.shorten")&&!i.force)&&(e(this).data("jquery.shorten",!0),e(document).off("click",".morelink"),e(document).on({click:function(){var t=e(this);return t.hasClass("less")?(t.removeClass("less"),t.html(i.moreText),t.parent().prev().hide(0,(function(){t.parent().prev().prev().show()})).hide(0,(function(){i.onLess()}))):(t.addClass("less"),t.html(i.lessText),t.parent().prev().show(0,(function(){t.parent().prev().prev().hide()})).show(0,(function(){i.onMore()}))),!1}},".morelink"),this.each((function(){var t=e(this),a=t.html();if(t.text().length>i.showChars+i.minHideChars){var r=a.substr(0,i.showChars);if(r.indexOf("<")>=0){for(var n=!1,o="",m=0,d=[],l=null,s=0,c=0;c<=i.showChars;s++)if("<"!=a[s]||n||(n=!0,"/"==(l=a.substring(s+1,a.indexOf(">",s)))[0]?l!="/"+d[0]?i.errMsg="ERROR en HTML: the top of the stack should be the tag that closes":d.shift():"br"!=l.toLowerCase()&&d.unshift(l)),n&&">"==a[s]&&(n=!1),n)o+=a.charAt(s);else if(c++,m<=i.showChars)o+=a.charAt(s),m++;else if(d.length>0){for(j=0;j";break}r=e("
").html(o+''+i.ellipsesText+"").html()}else r+=i.ellipsesText;var u='
'+r+'
'+a+'
'+i.moreText+"";t.html(u),t.find(".allcontent").hide(),e(".shortcontent p:last",t).css("margin-bottom",0)}})))}}(jQuery),window.onload=function(){"undefined"!=typeof rtmedia_masonry_layout&&"true"==rtmedia_masonry_layout&&0==jQuery(".rtmedia-container .rtmedia-list.rtm-no-masonry").length&&rtm_masonry_reload(rtm_masonry_container),rtm_search_media_text_validation(),check_condition("search")&&jQuery("#media_search_remove").show()},jQuery(document).ready((function(){rtm_upload_terms_activity(),jQuery("body").hasClass("has-sidebar")&&0===jQuery("#secondary").length&&(jQuery(".rtmedia-single-container").length||jQuery(".rtmedia-container").length)&&jQuery("body").removeClass("has-sidebar"),rtmedia_main&&("undefined"!==rtmedia_main.rtmedia_direct_download_link&&parseInt(rtmedia_main.rtmedia_direct_download_link)||jQuery(document).on("bp_ajax_request",(function(e){setTimeout((function(){jQuery("video").each((function(){jQuery(this).attr("controlsList","nodownload"),jQuery(this).attr("playsinline","playsinline"),jQuery(this).load()}))}),200)})))})); \ No newline at end of file diff --git a/app/main/routers/RTMediaRouter.php b/app/main/routers/RTMediaRouter.php index b272f976e..2a649f15f 100755 --- a/app/main/routers/RTMediaRouter.php +++ b/app/main/routers/RTMediaRouter.php @@ -225,8 +225,8 @@ public function rt_replace_the_content( $content = '' ) { } /** - * "the_content" filter won't work on FSE themes e.g Twenty Twenty-Tow. - * The following add supports for block theme. + * "the_content" filter won't work on FSE themes e.g Twenty Twenty-Two. + * The following adds support for block themes. * * @param string $content Content. * @param array $parsed_block blocks. @@ -234,7 +234,9 @@ public function rt_replace_the_content( $content = '' ) { * @return string $content */ public function rt_replace_the_content_fse( $content, $parsed_block ) { - if ( 'core/post-template' === $parsed_block['blockName'] ) { + // core/post-template: Used in archive/query loop templates. + // core/post-content: Used in single post/page templates. + if ( 'core/post-template' === $parsed_block['blockName'] || 'core/post-content' === $parsed_block['blockName'] ) { return $this->rt_replace_the_content(); } @@ -294,7 +296,8 @@ public function rt_theme_compat_reset_post( $args = array() ) { 'is_404' => false, 'is_page' => false, - 'is_single' => false, + 'is_single' => true, + 'is_singular' => true, 'is_archive' => false, 'is_tax' => false, ) @@ -329,7 +332,8 @@ public function rt_theme_compat_reset_post( $args = array() ) { 'filter' => 'raw', 'is_404' => false, 'is_page' => false, - 'is_single' => false, + 'is_single' => true, + 'is_singular' => true, 'is_archive' => false, 'is_tax' => false, ) @@ -393,12 +397,13 @@ public function rt_theme_compat_reset_post( $args = array() ) { $wp_query->posts = array( $post ); // Prevent comments form from appearing. - $wp_query->post_count = 1; - $wp_query->is_404 = $dummy['is_404']; - $wp_query->is_page = $dummy['is_page']; - $wp_query->is_single = $dummy['is_single']; - $wp_query->is_archive = $dummy['is_archive']; - $wp_query->is_tax = $dummy['is_tax']; + $wp_query->post_count = 1; + $wp_query->is_404 = $dummy['is_404']; + $wp_query->is_page = $dummy['is_page']; + $wp_query->is_single = $dummy['is_single']; + $wp_query->is_singular = $dummy['is_singular']; + $wp_query->is_archive = $dummy['is_archive']; + $wp_query->is_tax = $dummy['is_tax']; // Clean up the dummy post. unset( $dummy ); diff --git a/index.php b/index.php index 45320d1d8..71edbdd37 100644 --- a/index.php +++ b/index.php @@ -3,7 +3,7 @@ * Plugin Name: rtMedia for WordPress, BuddyPress and bbPress * Plugin URI: https://rtmedia.io/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media * Description: This plugin adds missing media rich features like photos, videos and audio uploading to BuddyPress which are essential if you are building social network, seriously! - * Version: 4.7.6 + * Version: 4.7.7 * Requires at least: 4.1 * Text Domain: buddypress-media * Author: rtCamp @@ -22,7 +22,7 @@ /** * The version of the plugin */ - define( 'RTMEDIA_VERSION', '4.7.6' ); + define( 'RTMEDIA_VERSION', '4.7.7' ); } if ( ! defined( 'RTMEDIA_PATH' ) ) { diff --git a/languages/buddpress-media.pot b/languages/buddpress-media.pot index 5f1a4bea8..4773655f5 100644 --- a/languages/buddpress-media.pot +++ b/languages/buddpress-media.pot @@ -2,14 +2,14 @@ # This file is distributed under the GPLv2 or later. msgid "" msgstr "" -"Project-Id-Version: rtMedia for WordPress, BuddyPress and bbPress 4.7.6\n" +"Project-Id-Version: rtMedia for WordPress, BuddyPress and bbPress 4.7.7\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/buddypress-media\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2025-11-20T09:46:36+00:00\n" +"POT-Creation-Date: 2025-12-03T08:09:41+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.12.0\n" "X-Domain: buddypress-media\n" @@ -73,18 +73,18 @@ msgstr "" #: app/admin/RTMediaAdmin.php:613 #: app/admin/RTMediaAdmin.php:655 #: app/admin/RTMediaAdmin.php:658 -#: app/admin/RTMediaAdmin.php:888 -#: app/admin/RTMediaAdmin.php:889 -#: app/admin/RTMediaAdmin.php:1188 +#: app/admin/RTMediaAdmin.php:890 +#: app/admin/RTMediaAdmin.php:891 +#: app/admin/RTMediaAdmin.php:1190 msgid "Settings" msgstr "" #: app/admin/RTMediaAdmin.php:620 #: app/admin/RTMediaAdmin.php:681 #: app/admin/RTMediaAdmin.php:684 -#: app/admin/RTMediaAdmin.php:912 -#: app/admin/RTMediaAdmin.php:913 -#: app/admin/RTMediaAdmin.php:1214 +#: app/admin/RTMediaAdmin.php:914 +#: app/admin/RTMediaAdmin.php:915 +#: app/admin/RTMediaAdmin.php:1216 #: app/helper/RTMediaSettings.php:267 #: app/helper/RTMediaSupport.php:92 #: app/helper/RTMediaSupport.php:93 @@ -92,8 +92,8 @@ msgid "Support" msgstr "" #: app/admin/RTMediaAdmin.php:647 -#: app/admin/RTMediaAdmin.php:1155 -#: app/admin/RTMediaAdmin.php:1156 +#: app/admin/RTMediaAdmin.php:1157 +#: app/admin/RTMediaAdmin.php:1158 #: app/importers/RTMediaActivityUpgrade.php:189 #: app/importers/RTMediaMigration.php:97 #: app/main/RTMedia.php:1215 @@ -103,261 +103,261 @@ msgstr "" #: app/admin/RTMediaAdmin.php:668 #: app/admin/RTMediaAdmin.php:671 -#: app/admin/RTMediaAdmin.php:900 -#: app/admin/RTMediaAdmin.php:901 -#: app/admin/RTMediaAdmin.php:1193 +#: app/admin/RTMediaAdmin.php:902 +#: app/admin/RTMediaAdmin.php:903 +#: app/admin/RTMediaAdmin.php:1195 msgid "Premium" msgstr "" #: app/admin/RTMediaAdmin.php:694 #: app/admin/RTMediaAdmin.php:697 -#: app/admin/RTMediaAdmin.php:925 -#: app/admin/RTMediaAdmin.php:926 -#: app/admin/RTMediaAdmin.php:1201 +#: app/admin/RTMediaAdmin.php:927 +#: app/admin/RTMediaAdmin.php:928 +#: app/admin/RTMediaAdmin.php:1203 msgid "Themes" msgstr "" #: app/admin/RTMediaAdmin.php:708 #: app/admin/RTMediaAdmin.php:711 -#: app/admin/RTMediaAdmin.php:939 -#: app/admin/RTMediaAdmin.php:940 -#: app/admin/RTMediaAdmin.php:1207 +#: app/admin/RTMediaAdmin.php:941 +#: app/admin/RTMediaAdmin.php:942 +#: app/admin/RTMediaAdmin.php:1209 msgid "Hire Us" msgstr "" #: app/admin/RTMediaAdmin.php:722 #: app/admin/RTMediaAdmin.php:725 -#: app/admin/RTMediaAdmin.php:953 -#: app/admin/RTMediaAdmin.php:954 -#: app/admin/RTMediaAdmin.php:1221 +#: app/admin/RTMediaAdmin.php:955 +#: app/admin/RTMediaAdmin.php:956 +#: app/admin/RTMediaAdmin.php:1223 msgid "Licenses" msgstr "" -#: app/admin/RTMediaAdmin.php:806 +#: app/admin/RTMediaAdmin.php:808 msgid "Invalid value for [default_size_property]." msgstr "" -#: app/admin/RTMediaAdmin.php:812 +#: app/admin/RTMediaAdmin.php:814 msgid "Please do not refresh this page." msgstr "" -#: app/admin/RTMediaAdmin.php:813 +#: app/admin/RTMediaAdmin.php:815 msgid "Something went wrong. Please " msgstr "" -#: app/admin/RTMediaAdmin.php:813 +#: app/admin/RTMediaAdmin.php:815 msgid "refresh" msgstr "" -#: app/admin/RTMediaAdmin.php:813 +#: app/admin/RTMediaAdmin.php:815 msgid " page." msgstr "" -#: app/admin/RTMediaAdmin.php:814 +#: app/admin/RTMediaAdmin.php:816 msgid "This will subscribe you to the free plan." msgstr "" -#: app/admin/RTMediaAdmin.php:815 +#: app/admin/RTMediaAdmin.php:817 msgid "Are you sure you want to disable the encoding service?" msgstr "" -#: app/admin/RTMediaAdmin.php:816 +#: app/admin/RTMediaAdmin.php:818 msgid "Are you sure you want to enable the encoding service?" msgstr "" -#: app/admin/RTMediaAdmin.php:817 +#: app/admin/RTMediaAdmin.php:819 msgid "Settings have changed, you should save them!" msgstr "" -#: app/admin/RTMediaAdmin.php:818 +#: app/admin/RTMediaAdmin.php:820 msgid "Number of video thumbnails to be generated should be greater than 0 in media sizes settings. Setting it to default value 2." msgstr "" -#: app/admin/RTMediaAdmin.php:819 +#: app/admin/RTMediaAdmin.php:821 msgid "Invalid value for number of video thumbnails in media sizes settings. Setting it to round value" msgstr "" -#: app/admin/RTMediaAdmin.php:820 +#: app/admin/RTMediaAdmin.php:822 msgid "Number of percentage in JPEG image quality should be greater than 0 in media sizes settings. Setting it to default value 90." msgstr "" -#: app/admin/RTMediaAdmin.php:821 +#: app/admin/RTMediaAdmin.php:823 msgid "Number of percentage in JPEG image quality should be less than 100 in media sizes settings. Setting it to 100." msgstr "" -#: app/admin/RTMediaAdmin.php:822 +#: app/admin/RTMediaAdmin.php:824 msgid "Invalid value for percentage in JPEG image quality in media sizes settings. Setting it to round value" msgstr "" -#: app/admin/RTMediaAdmin.php:823 +#: app/admin/RTMediaAdmin.php:825 msgid "Please enter positive integer value only. Setting number of media per page value to default value 10." msgstr "" -#: app/admin/RTMediaAdmin.php:824 +#: app/admin/RTMediaAdmin.php:826 msgid "Please enter positive integer value only. Setting number of media per page value to round value" msgstr "" -#: app/admin/RTMediaAdmin.php:825 +#: app/admin/RTMediaAdmin.php:827 msgid "Request failed." msgstr "" -#: app/admin/RTMediaAdmin.php:826 +#: app/admin/RTMediaAdmin.php:828 msgid "You can not use @import statement in custom css" msgstr "" -#: app/admin/RTMediaAdmin.php:833 +#: app/admin/RTMediaAdmin.php:835 msgid "ON" msgstr "" -#: app/admin/RTMediaAdmin.php:834 +#: app/admin/RTMediaAdmin.php:836 msgid "OFF" msgstr "" -#: app/admin/RTMediaAdmin.php:845 +#: app/admin/RTMediaAdmin.php:847 msgid "Please enter WP Admin Login." msgstr "" -#: app/admin/RTMediaAdmin.php:846 +#: app/admin/RTMediaAdmin.php:848 msgid "Please enter WP Admin password." msgstr "" -#: app/admin/RTMediaAdmin.php:847 +#: app/admin/RTMediaAdmin.php:849 msgid "Please enter SSH / FTP host." msgstr "" -#: app/admin/RTMediaAdmin.php:848 +#: app/admin/RTMediaAdmin.php:850 msgid "Please enter SSH / FTP login." msgstr "" -#: app/admin/RTMediaAdmin.php:849 +#: app/admin/RTMediaAdmin.php:851 msgid "Please enter SSH / FTP password." msgstr "" -#: app/admin/RTMediaAdmin.php:850 +#: app/admin/RTMediaAdmin.php:852 msgid "Please fill all the fields." msgstr "" -#: app/admin/RTMediaAdmin.php:1108 +#: app/admin/RTMediaAdmin.php:1110 msgid "Empowering The Web With WordPress" msgstr "" -#: app/admin/RTMediaAdmin.php:1300 -#: app/admin/RTMediaAdmin.php:1301 +#: app/admin/RTMediaAdmin.php:1302 +#: app/admin/RTMediaAdmin.php:1303 msgid "Display" msgstr "" -#: app/admin/RTMediaAdmin.php:1309 +#: app/admin/RTMediaAdmin.php:1311 msgid "rtMedia BuddyPress" msgstr "" -#: app/admin/RTMediaAdmin.php:1310 +#: app/admin/RTMediaAdmin.php:1312 msgid "BuddyPress" msgstr "" -#: app/admin/RTMediaAdmin.php:1318 +#: app/admin/RTMediaAdmin.php:1320 msgid "rtMedia Types" msgstr "" -#: app/admin/RTMediaAdmin.php:1319 +#: app/admin/RTMediaAdmin.php:1321 msgid "Types" msgstr "" -#: app/admin/RTMediaAdmin.php:1326 +#: app/admin/RTMediaAdmin.php:1328 msgid "rtMedia Sizes" msgstr "" -#: app/admin/RTMediaAdmin.php:1327 +#: app/admin/RTMediaAdmin.php:1329 msgid "Media Sizes" msgstr "" -#: app/admin/RTMediaAdmin.php:1334 +#: app/admin/RTMediaAdmin.php:1336 msgid "rtMedia Privacy" msgstr "" -#: app/admin/RTMediaAdmin.php:1335 +#: app/admin/RTMediaAdmin.php:1337 #: app/main/controllers/privacy/RTMediaPrivacy.php:520 #: app/main/controllers/template/rtmedia-functions.php:2796 msgid "Privacy" msgstr "" -#: app/admin/RTMediaAdmin.php:1341 +#: app/admin/RTMediaAdmin.php:1343 msgid "rtMedia Custom CSS" msgstr "" -#: app/admin/RTMediaAdmin.php:1342 +#: app/admin/RTMediaAdmin.php:1344 msgid "Custom CSS" msgstr "" -#: app/admin/RTMediaAdmin.php:1351 -#: app/admin/RTMediaAdmin.php:1352 +#: app/admin/RTMediaAdmin.php:1353 +#: app/admin/RTMediaAdmin.php:1354 msgid "Other Settings" msgstr "" -#: app/admin/RTMediaAdmin.php:1359 -#: app/admin/RTMediaAdmin.php:1360 +#: app/admin/RTMediaAdmin.php:1361 +#: app/admin/RTMediaAdmin.php:1362 msgid "Export/Import" msgstr "" #. translators: 1. Home url. -#: app/admin/RTMediaAdmin.php:1413 +#: app/admin/RTMediaAdmin.php:1415 #, php-format msgid "I use @rtMediaWP http://rt.cx/rtmedia on %s" msgstr "" -#: app/admin/RTMediaAdmin.php:1421 +#: app/admin/RTMediaAdmin.php:1423 msgid "Spread the Word" msgstr "" -#: app/admin/RTMediaAdmin.php:1429 +#: app/admin/RTMediaAdmin.php:1431 #: app/admin/templates/settings/sidebar-branding.php:18 msgid "Subscribe" msgstr "" -#: app/admin/RTMediaAdmin.php:1457 +#: app/admin/RTMediaAdmin.php:1459 msgid "You do not have permission to export settings." msgstr "" -#: app/admin/RTMediaAdmin.php:1482 +#: app/admin/RTMediaAdmin.php:1484 msgid "Unable to read file!" msgstr "" -#: app/admin/RTMediaAdmin.php:1502 -#: app/admin/RTMediaAdmin.php:1509 +#: app/admin/RTMediaAdmin.php:1504 +#: app/admin/RTMediaAdmin.php:1511 msgid "Invalid JSON Supplied!" msgstr "" -#: app/admin/RTMediaAdmin.php:1515 +#: app/admin/RTMediaAdmin.php:1517 msgid "Invalid JSON Supplied. The JSON you supplied is not exported from rtMedia!" msgstr "" -#: app/admin/RTMediaAdmin.php:1525 +#: app/admin/RTMediaAdmin.php:1527 msgid "Data passed for settings is unchanged!" msgstr "" -#: app/admin/RTMediaAdmin.php:1528 +#: app/admin/RTMediaAdmin.php:1530 msgid "rtMedia Settings imported successfully!" msgstr "" -#: app/admin/RTMediaAdmin.php:1531 +#: app/admin/RTMediaAdmin.php:1533 msgid "Could not update rtMedia Settings" msgstr "" -#: app/admin/RTMediaAdmin.php:1566 +#: app/admin/RTMediaAdmin.php:1568 msgid "Thank you for your time." msgstr "" -#: app/admin/RTMediaAdmin.php:1593 +#: app/admin/RTMediaAdmin.php:1595 msgid "Premium Add-ons" msgstr "" #. translators: 1$s: Account page and link. 2$s: License documentation page link. -#: app/admin/RTMediaAdmin.php:1749 +#: app/admin/RTMediaAdmin.php:1751 #, php-format msgid "Your license keys can be found on my-account page. For more details, please refer to License documentation page." msgstr "" #. translators: 1. License page link. -#: app/admin/RTMediaAdmin.php:1769 +#: app/admin/RTMediaAdmin.php:1771 #, php-format msgid "We found an invalid or expired license key for rtMedia Premium. Please go to the Licenses page to fix this issue." msgstr "" diff --git a/readme.txt b/readme.txt index a7071e7f9..640017118 100644 --- a/readme.txt +++ b/readme.txt @@ -1,11 +1,11 @@ === rtMedia for WordPress, BuddyPress and bbPress === -Contributors: rtcamp, mangeshp, sanket.parmar, pranalipatel, jignesh.nakrani, manishsongirkar36, kiranpotphode, yahil, 1naveengiri, bhargavbhandari90, raftaar1191, rittesh.patel, sagarjadhav, pushpak.pop, faishal, desaiuditd, rahul286, JoshuaAbenazer, gagan0123, saurabhshukla, nitun.lanjewar, umesh.nevase, suhasgirgaonkar, neerukoul, hrishiv90, kanakiyajay, jarretc, tobiaskluge, rafaelfunchal, UmeshSingla, mehulkaklotar, tannermirabel, kishores, chandrapatel, rahul3883, nomnom99, sayanchakraborty, milindmore22, thrijith, abhijitrakas, sid177, montu3366, jashwini, juhise, ravatparmar, dharmin16, malavvasita, pooja1210, krupajnanda, surajkumarsingh, kanumalivad, dishitpala, shobhit2412, vaishu.agola27, kapilpaul, opurockey, vkd007, pavanpatil1, pradeep1308, shardul200, sabbir1991, kamalahmed, ibnulk, harshbarach, Mukulsingh27, vishalkakadiya, elifvish, krupajnanda, utsavladani, krishana79, rohitmathur7, kuldipchaudhary, mchirag2002, vedantgandhi28, noumaanahamed +Contributors: rtcamp, mangeshp, sanket.parmar, pranalipatel, jignesh.nakrani, manishsongirkar36, kiranpotphode, yahil, 1naveengiri, bhargavbhandari90, raftaar1191, rittesh.patel, sagarjadhav, pushpak.pop, faishal, desaiuditd, rahul286, JoshuaAbenazer, gagan0123, saurabhshukla, nitun.lanjewar, umesh.nevase, suhasgirgaonkar, neerukoul, hrishiv90, kanakiyajay, jarretc, tobiaskluge, rafaelfunchal, UmeshSingla, mehulkaklotar, tannermirabel, kishores, chandrapatel, rahul3883, nomnom99, sayanchakraborty, milindmore22, thrijith, abhijitrakas, sid177, montu3366, jashwini, juhise, ravatparmar, dharmin16, malavvasita, pooja1210, krupajnanda, surajkumarsingh, kanumalivad, dishitpala, shobhit2412, vaishu.agola27, kapilpaul, opurockey, vkd007, pavanpatil1, pradeep1308, shardul200, sabbir1991, kamalahmed, ibnulk, harshbarach, Mukulsingh27, vishalkakadiya, elifvish, krupajnanda, utsavladani, krishana79, rohitmathur7, kuldipchaudhary, mchirag2002, vedantgandhi28, mohamedahamed Tags: BuddyPress, media, multimedia, album, audio, music, video, photo, upload, share, MediaElement.js, media-node, rtMedia, WordPress, bbPress, masonry License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Requires at least: 4.1 Tested up to: 6.8 -Stable tag: 4.7.6 +Stable tag: 4.7.7 Add albums, photo, audio/video upload, privacy, sharing, front-end uploads & more. All this works on mobile/tablets devices. @@ -133,6 +133,17 @@ http://www.youtube.com/watch?v=dJrykKQGDcs == Changelog == += 4.7.7 [December 03, 2025] = + +* FIXED + * Fix JS Build process breaking Admin dashboard. + * Fix rtMedia compatibility with Hello Elementor theme. + * Fix Masonry script issue in rtMedia Gallery in BuddyX theme. + +* ENHANCEMENT + * Enhanced End to End playwright testing scripts for media validation. + * Improved rtMedia Logo visibility on dashboard. + = 4.7.6 [November 20, 2025] = * FIXED diff --git a/tests/wp-e2e-playwright/package.json b/tests/wp-e2e-playwright/package.json index 5b63f1604..1c6e00d3d 100644 --- a/tests/wp-e2e-playwright/package.json +++ b/tests/wp-e2e-playwright/package.json @@ -58,6 +58,6 @@ "build:package-types": "node ./bin/packages/validate-typescript-version.js && tsc --build", "build": "npm run build:packages && wp-scripts build", "dev": "npm run build:packages && concurrently \"wp-scripts start\" \"npm run dev:packages\"", - "test-e2e:playwright": "playwright test --config playwright.config.ts" - } + "test-e2e:playwright": "playwright test --config playwright.config.ts", + "test-e2e:playwright:dev": "npm run test-e2e:playwright -- prerequisite.spec.js && npm run test-e2e:playwright -- specs/buddypress && npm run test-e2e:playwright -- specs/display && npm run test-e2e:playwright -- specs/other_settings && npm run test-e2e:playwright -- media_size.spec.js && npm run test-e2e:playwright -- types.spec.js; npm run test-e2e:playwright -- cleanup.spec.js" } } diff --git a/tests/wp-e2e-playwright/playwright.config.ts b/tests/wp-e2e-playwright/playwright.config.ts index 4492c2efd..a6888f78c 100644 --- a/tests/wp-e2e-playwright/playwright.config.ts +++ b/tests/wp-e2e-playwright/playwright.config.ts @@ -1,61 +1,61 @@ /** * External dependencies */ - import path from 'path'; - import { fileURLToPath } from 'url'; - import { devices } from '@playwright/test'; - import type { PlaywrightTestConfig } from '@playwright/test'; - require( 'dotenv' ).config(); - - const STORAGE_STATE_PATH = - process.env.STORAGE_STATE_PATH || - path.join( process.cwd(), 'artifacts/storage-states/admin.json' ); - - const config: PlaywrightTestConfig = { - - forbidOnly: !! process.env.CI, - workers: 3, - reporter : 'html', - retries: process.env.CI ? 2 : 0, - timeout: parseInt( process.env.TIMEOUT || '', 10 ) || 100_000, // Defaults to 100 seconds. - // Don't report slow test "files", as we will be running our tests in serial. - reportSlowTests: null, - testDir: fileURLToPath( new URL( './specs', 'file:' + __filename ).href ), - outputDir: path.join( process.cwd(), 'artifacts/test-results' ), - globalSetup: fileURLToPath( - new URL( './config/global-setup.ts', 'file:' + __filename ).href - ), - use: { - baseURL: 'http://rtmedia.local/', - headless: true, - viewport: { - width: 960, - height: 700, - }, - ignoreHTTPSErrors: true, - locale: 'en-US', - contextOptions: { - reducedMotion: 'reduce', - strictSelectors: true, - }, - storageState: STORAGE_STATE_PATH, - actionTimeout: 10_000, // 10 seconds. - trace: 'retain-on-failure', - screenshot: 'only-on-failure', - video: 'on', - }, +import path from 'path'; +import { fileURLToPath } from 'url'; +import { devices } from '@playwright/test'; +import type { PlaywrightTestConfig } from '@playwright/test'; +require('dotenv').config(); + +const STORAGE_STATE_PATH = + process.env.STORAGE_STATE_PATH || + path.join(process.cwd(), 'artifacts/storage-states/admin.json'); + +const config: PlaywrightTestConfig = { + + forbidOnly: !!process.env.CI, + workers: 1, + reporter: 'html', + retries: process.env.CI ? 2 : 0, + timeout: parseInt(process.env.TIMEOUT || '', 10) || 100_000, // Defaults to 100 seconds. + // Don't report slow test "files", as we will be running our tests in serial. + reportSlowTests: null, + testDir: fileURLToPath(new URL('./specs', 'file:' + __filename).href), + outputDir: path.join(process.cwd(), 'artifacts/test-results'), + globalSetup: fileURLToPath( + new URL('./config/global-setup.ts', 'file:' + __filename).href + ), + use: { + baseURL: 'http://rtmedia.local/', + headless: true, + viewport: { + width: 960, + height: 700, + }, + ignoreHTTPSErrors: true, + locale: 'en-US', + contextOptions: { + reducedMotion: 'reduce', + strictSelectors: true, + }, + storageState: STORAGE_STATE_PATH, + actionTimeout: 10_000, // 10 seconds. + trace: 'retain-on-failure', + screenshot: 'only-on-failure', + video: 'on', + }, // webServer: { // command: 'npm run wp-env start', // port: 8889, // timeout: 120_000, // 120 seconds. // reuseExistingServer: true, // }, - projects: [ - { - name: 'chromium', - use: { ...devices[ 'Desktop Chrome' ] }, - }, - ], - }; - - export default config; \ No newline at end of file + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + ], +}; + +export default config; \ No newline at end of file diff --git a/tests/wp-e2e-playwright/specs/TESTS.md b/tests/wp-e2e-playwright/specs/TESTS.md new file mode 100644 index 000000000..026da223b --- /dev/null +++ b/tests/wp-e2e-playwright/specs/TESTS.md @@ -0,0 +1,56 @@ +# rtMedia E2E Tests + +This directory contains Playwright E2E tests for the rtMedia plugin, ensuring core functionality and integrations work as expected. + +## Test Structure & File Descriptions + +### Core Settings +- **`prerequisite.spec.js`**: + - **Purpose**: Prepares the environment for testing. + - **Actions**: Enables essential settings like direct upload, media types (Photo, Video, Music), BuddyPress integration, and comments. +- **`cleanup.spec.js`**: + - **Purpose**: Resets the environment after tests. + - **Actions**: Disables all settings enabled during the test suite to leave the site in a clean state. +- **`media_size.spec.js`**: + - **Purpose**: Verifies media dimension settings. + - **Actions**: Sets custom sizes for photos and videos in the backend and validates them on the frontend (thumbnails, activity player, single player). +- **`types.spec.js`**: + - **Purpose**: Validates file type restrictions. + - **Actions**: Disables specific media types (Photo, Video, Music) and confirms that uploading restricted types triggers the correct error messages. + +### BuddyPress Integration (`buddypress/`) +- **`01_integrated-features.spec.js`**: + - **Purpose**: Tests general BuddyPress integration points. + - **Actions**: Checks media tabs in profiles and groups, upload buttons in activity streams, and activity creation for comments and likes. +- **`02_comment_media.spec.js`**: + - **Purpose**: Tests media attachments in comments. + - **Actions**: Verifies the ability to upload media within BuddyPress activity comments. +- **`03_album_settings.spec.js`**: + - **Purpose**: Tests album functionality. + - **Actions**: Enables albums and verifies the "Albums" tab appears in the user profile. + +### Display Features (`display/`) +- **`01_single-media-view.spec.js`**: + - **Purpose**: Tests frontend display options. + - **Actions**: Validates the media search bar, lightbox functionality, pagination (load more/numbers), and masonry layout. + +### Other Settings (`other_settings/`) +- **`01_admin-settings.spec.js`**: + - **Purpose**: Tests admin bar integration. + - **Actions**: Verifies the rtMedia menu appears in the WordPress admin bar. +- **`02_user_terms.spec.js`**: + - **Purpose**: Tests Terms of Service compliance. + - **Actions**: Configures TOS links and messages, and verifies users must accept terms before uploading. +- **`03_footer_link.spec.js`**: + - **Purpose**: Tests the footer credit link. + - **Actions**: Checks if the rtMedia footer link is displayed and points to the correct URL. +- **`custom_css.spec.js`**: + - **Purpose**: Tests custom CSS injection. + - **Actions**: Applies custom CSS in settings and verifies it is rendered in the frontend source. +- **`privacy.spec.js`**: + - **Purpose**: Tests privacy controls. + - **Actions**: Enables privacy settings and checks for the privacy dropdown selector on the activity upload form. + +## Running Tests + +Ensure you have the necessary environment set up and run the tests using your test runner command (i.e., `npm run test-e2e:playwright:dev`). diff --git a/tests/wp-e2e-playwright/specs/buddypress/01_integrated-features.spec.js b/tests/wp-e2e-playwright/specs/buddypress/01_integrated-features.spec.js index 3cc560d97..1cdfd517f 100644 --- a/tests/wp-e2e-playwright/specs/buddypress/01_integrated-features.spec.js +++ b/tests/wp-e2e-playwright/specs/buddypress/01_integrated-features.spec.js @@ -21,6 +21,7 @@ test.describe("INTEGRATION WITH BUDDYPRESS FEATURES", () => { expect(profileSidebar).toContain('Media'); }); test("Enable media in group toggle and validate from the frontend", async ({ page, admin }) => { + await backend.enableAnySettingAndSave("//label[@for='rtmedia-album-enable']"); await backend.enableAnySettingAndSave("//label[@for='rtmedia-enable-on-group']"); await page.goto(URLS.homepage + "/groups/create/step/group-details/"); const groupTab = await page.locator("#group-create-tabs").textContent(); @@ -39,7 +40,7 @@ test.describe("INTEGRATION WITH BUDDYPRESS FEATURES", () => { await backend.enableAnySettingAndSave("//label[@for='rtmedia-enable-comment-activity']"); const image = ['test-data/images/test.jpg']; await activity.gotoActivityPage(); - await activity.upploadMedia(image); + await activity.uploadMedia(image); await activity.clickedOnFirstPhotoOfTheActivityPage(); await page.locator("//textarea[@id='comment_content']").fill("This is a test comment") await page.locator("#rt_media_comment_submit").click(); @@ -48,17 +49,19 @@ test.describe("INTEGRATION WITH BUDDYPRESS FEATURES", () => { expect(commentActivity).toContain("This is a test comment"); }); - test("Enable Create activity for media Likes and validate from the frontend", async ({ page}) => { + test("Enable Create activity for media Likes and validate from the frontend", async ({ page, admin }) => { await backend.enableAnySettingAndSave("//label[@for='rtmedia-enable-like-activity']"); + await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-display"); + await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-1']"); const image = ['test-data/images/test.jpg']; await activity.gotoActivityPage(); - await activity.upploadMedia(image); + await activity.uploadMedia(image); await activity.clickedOnFirstPhotoOfTheActivityPage(); await page.waitForLoadState("domcontentloaded"); await page.locator("//div[@class='rtmedia-actions-before-comments clearfix']//span[contains(text(),'Like')]").click(); await page.waitForSelector("//div[@class='rtmedia-actions-before-comments clearfix']//span[contains(text(),'Unlike')]"); await activity.gotoActivityPage(); - const likeAcitivity = await page.locator("//li[contains(@class, 'activity-item')]").first().textContent(); - expect(likeAcitivity).toContain("liked"); + const likeActivity = await page.locator("//li[contains(@class, 'activity-item')]").first().textContent(); + expect(likeActivity).toContain("liked"); }); }); \ No newline at end of file diff --git a/tests/wp-e2e-playwright/specs/buddypress/02_comment_media.spec.js b/tests/wp-e2e-playwright/specs/buddypress/02_comment_media.spec.js index 96aa5fcef..e0dea659e 100644 --- a/tests/wp-e2e-playwright/specs/buddypress/02_comment_media.spec.js +++ b/tests/wp-e2e-playwright/specs/buddypress/02_comment_media.spec.js @@ -13,7 +13,7 @@ test.describe("Comment media BUDDYPRESS FEATURES", () => { }); - test("Validated comment media in the frontend activity page", async ({ page }) => { + test("Validate comment media in the frontend activity page", async ({ page }) => { await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-9']"); await activity.gotoActivityPage(); await page.locator("#whats-new").fill("This is a demo post"); diff --git a/tests/wp-e2e-playwright/specs/buddypress/03_album_settings.spec.js b/tests/wp-e2e-playwright/specs/buddypress/03_album_settings.spec.js index 20dbc1505..8027d6423 100644 --- a/tests/wp-e2e-playwright/specs/buddypress/03_album_settings.spec.js +++ b/tests/wp-e2e-playwright/specs/buddypress/03_album_settings.spec.js @@ -12,13 +12,12 @@ test.describe("Comment media BUDDYPRESS FEATURES", () => { await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-bp"); }); - test("Validated Albums settings in the user's profile", async ({ page }) => { + test("Validate Albums settings in the user's profile", async ({ page }) => { await backend.enableAnySettingAndSave("//label[@for='rtmedia-album-enable']"); await activity.gotoUserProfile(); await page.locator("#user-media").scrollIntoViewIfNeeded(); await page.locator("#user-media").click(); const Album = await page.locator("//ul[@class='subnav']").textContent(); - //validating Enable media in profile expect(Album).toContain('Albums'); }) }); \ No newline at end of file diff --git a/tests/wp-e2e-playwright/specs/cleanup.spec.js b/tests/wp-e2e-playwright/specs/cleanup.spec.js new file mode 100644 index 000000000..174724081 --- /dev/null +++ b/tests/wp-e2e-playwright/specs/cleanup.spec.js @@ -0,0 +1,126 @@ +import { test } from "@wordpress/e2e-test-utils-playwright"; + +test.describe("Cleanup - Disable all settings enabled in tests", () => { + + test("Disable all rtMedia settings that were enabled during tests", async ({ page, admin }) => { + + // ===== MAIN SETTINGS PAGE (Comment for media) ===== + await admin.visitAdminPage("admin.php?page=rtmedia-settings"); + await page.waitForLoadState('domcontentloaded'); + + // Disable comments for media + await page.locator("//label[@for='rtm-form-checkbox-0']").uncheck(); + + // Save settings + await page.locator("div[class='rtm-button-container bottom'] input[value='Save Settings']").click(); + await page.waitForLoadState('domcontentloaded'); + + // ===== DISPLAY SETTINGS ===== + await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-display"); + await page.waitForLoadState('domcontentloaded'); + + // Disable direct upload + await page.locator("//label[@for='rtm-form-checkbox-6']").uncheck(); + + // Disable likes for media + await page.locator("//label[@for='rtm-form-checkbox-1']").uncheck(); + + // Disable media search + await page.locator("//label[@for='rtm-form-checkbox-2']").uncheck(); + // Disable lightbox + await page.locator("//label[@for='rtm-form-checkbox-3']").uncheck(); + // Disable pagination + await page.locator("//label[@for='rtm-form-checkbox-4']").uncheck(); + + // Save settings + await page.locator("div[class='rtm-button-container bottom'] input[value='Save Settings']").click(); + await page.waitForLoadState('domcontentloaded'); + + // ===== TYPES SETTINGS ===== + await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-types"); + await page.waitForLoadState('domcontentloaded'); + + // Disable Photo + await page.locator("//label[@for='rtm-form-checkbox-11']").uncheck(); + + // Disable Video + await page.locator("//label[@for='rtm-form-checkbox-13']").uncheck(); + + // Disable Music + await page.locator("//label[@for='rtm-form-checkbox-15']").uncheck(); + + // Save settings + await page.locator("div[class='rtm-button-container bottom'] input[value='Save Settings']").click(); + await page.waitForLoadState('domcontentloaded'); + + // ===== GENERAL SETTINGS ===== + await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-general"); + await page.waitForLoadState('domcontentloaded'); + + // Disable Admin bar menu integration + await page.locator("//label[@for='rtm-form-checkbox-22']").uncheck(); + + // Disable Terms of Service settings + await page.locator("//label[@for='rtm-form-checkbox-23']").uncheck(); + await page.locator("//label[@for='rtm-form-checkbox-24']").uncheck(); + + // Disable Privacy message + await page.locator("//label[@for='rtm-form-checkbox-25']").uncheck(); + + // Disable Footer link + await page.locator("//label[@for='rtm-form-checkbox-28']").uncheck(); + + // Save settings + await page.locator("div[class='rtm-button-container bottom'] input[value='Save Settings']").click(); + await page.waitForLoadState('domcontentloaded'); + + // ===== PRIVACY SETTINGS ===== + await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-privacy"); + await page.waitForLoadState('domcontentloaded'); + + // Disable privacy settings + await page.locator("//label[@for='rtmedia-privacy-enable']").uncheck(); + + // Save settings + await page.locator("div[class='rtm-button-container bottom'] input[value='Save Settings']").click(); + await page.waitForLoadState('domcontentloaded'); + + // ===== BUDDYPRESS SETTINGS ===== + await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-bp"); + await page.waitForLoadState('domcontentloaded'); + + // Disable media toggle in profile + await page.locator("//label[@for='rtm-form-checkbox-7']").uncheck(); + + // Disable media in groups + await page.locator("//label[@for='rtmedia-enable-on-group']").uncheck(); + + // Disable Allow upload from activity stream + await page.locator("//label[@for='rtmedia-bp-enable-activity']").uncheck(); + + // Disable comment media + await page.locator("//label[@for='rtm-form-checkbox-9']").uncheck(); + + // Disable Create activity for media comments + await page.locator("//label[@for='rtmedia-enable-comment-activity']").uncheck(); + + // Disable Create activity for media Likes + await page.locator("//label[@for='rtmedia-enable-like-activity']").uncheck(); + + // Disable Albums + await page.locator("//label[@for='rtmedia-album-enable']").uncheck(); + + // Save settings + await page.locator("div[class='rtm-button-container bottom'] input[value='Save Settings']").click(); + await page.waitForLoadState('domcontentloaded'); + + // ===== BUDDYPRESS COMPONENTS ===== + // Disable BuddyPress Groups component + await admin.visitAdminPage("options-general.php?page=bp-components"); + await page.waitForLoadState('domcontentloaded'); + + await page.locator("//input[@id='bp_components[groups]']").uncheck(); + await page.locator("//input[@id='bp-admin-component-submit']").click(); + await page.waitForLoadState('domcontentloaded'); + }); +}); diff --git a/tests/wp-e2e-playwright/specs/display/01_single-media-view.spec.js b/tests/wp-e2e-playwright/specs/display/01_single-media-view.spec.js index 5421c75e2..14ae90fbc 100644 --- a/tests/wp-e2e-playwright/specs/display/01_single-media-view.spec.js +++ b/tests/wp-e2e-playwright/specs/display/01_single-media-view.spec.js @@ -21,32 +21,34 @@ test.describe("Validated media view in the frontend", () => { await expect(mediaSearch).toBeVisible(); }) - test("Validated lightbox to display media", async ({ page }) => { + test("Validate lightbox to display media", async ({ page }) => { await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-3']"); const image = ['test-data/images/test.jpg']; await activity.gotoActivityPage(); - await activity.upploadMedia(image); + await activity.uploadMedia(image); await activity.clickedOnFirstPhotoOfTheActivityPage(); const lightbox = "//div[contains(@class, 'rtm-lightbox-container')]" await page.waitForSelector(lightbox); await page.locator(lightbox).isVisible(); }) - test("Validated Media display pagination option to the display media in profile", async ({ page, admin }) => { + test("Validate Media display pagination option to the display media in profile", async ({ page, admin }) => { await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-4']"); const imagesPath = ['test-data/images/test.jpg', 'test-data/images/test0.jpg', 'test-data/images/test.jpg']; await activity.gotoActivityPage(); - await activity.upploadMedia(imagesPath) + await activity.uploadMedia(imagesPath) await admin.visitAdminPage("admin.php?page=rtmedia-settings"); await page.locator("#rtm-form-number-0").fill("1"); await page.locator("#rtm-form-radio-0").click(); await page.locator("div[class='rtm-button-container bottom'] input[value='Save Settings']").click(); - //validating load more in media album + + // Validating load more in media album await activity.gotoUserProfile(); await page.locator("#user-media").scrollIntoViewIfNeeded(); await page.locator("#user-media").click(); const loadMore = await page.locator('#rtMedia-galary-next').textContent(); expect(loadMore).toContain("Load More"); - //validating pagination in media album + + // Validating pagination in media album admin.visitAdminPage("admin.php?page=rtmedia-settings"); await backend.enableAnySettingAndSave("#rtm-form-radio-1"); await activity.gotoUserProfile(); @@ -54,8 +56,17 @@ test.describe("Validated media view in the frontend", () => { await page.locator("#user-media").click(); const pagination = page.locator("//div[contains(@class, 'rtmedia_next_prev')]"); await expect(pagination).toBeVisible(); - //validating Masonry script present on the gallery or not - const masonry = page.locator('.rtmedia-list-item.masonry-brick'); - await expect(masonry).toBeVisible(); + const masonryContainer = page.locator('.rtmedia-container .rtmedia-list'); + await expect(masonryContainer).toBeVisible(); + // Verify masonry is initialized by checking for masonry class on container (added by jQuery masonry bridge) + // or by checking the masonry data attribute exists + const hasMasonry = await page.evaluate(() => { + const container = document.querySelector('.rtmedia-container .rtmedia-list'); + return container && ( + container.classList.contains('masonry') || + jQuery('.rtmedia-container .rtmedia-list').data('masonry') !== undefined + ); + }); + expect(hasMasonry).toBe(true); }) }); \ No newline at end of file diff --git a/tests/wp-e2e-playwright/specs/media_size.spec.js b/tests/wp-e2e-playwright/specs/media_size.spec.js index 8280f48ec..a321e8fd4 100644 --- a/tests/wp-e2e-playwright/specs/media_size.spec.js +++ b/tests/wp-e2e-playwright/specs/media_size.spec.js @@ -9,7 +9,7 @@ test.describe("Validating media size", () => { activity = new Activity(page); await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-sizes"); }); - test("Enter photo size in the backend and validated on frontend", async ({ page }) => { + test("Enter photo size in the backend and validate on frontend", async ({ page }) => { await page.locator("#rtm-form-number-1").fill(testdata.photo.thumbnailWidth); await page.locator("#rtm-form-number-2").fill(testdata.photo.thumbnailHeight); await page.locator("#rtm-form-number-3").fill(testdata.photo.mediumWidth); @@ -20,20 +20,25 @@ test.describe("Validating media size", () => { const imagepath = ['test-data/images/test.jpg']; await activity.gotoActivityPage(); - await activity.upploadMedia(imagepath); + await activity.uploadMedia(imagepath); await activity.gotoUserProfile(); await page.locator("#user-media").click(); await page.waitForLoadState('domcontentloaded'); const expectedThumbnail = testdata.photo.thumbnailWidth + "x" + testdata.photo.thumbnailHeight; - //validating thumbnail size of the photo + + // Validating thumbnail size of the photo expect(await activity.getPhotoSize()).toContain(expectedThumbnail); - //validating medium photo size - const expectedMediumSize = testdata.photo.mediumWidth + "x" + testdata.photo.mediumHeight; + + // Validating medium photo size (will contain original image) + const originalFilename = imagepath[0].split("/").pop(); // "test.jpg" + const namePart = originalFilename.replace(/\.[^/.]+$/, ""); // "test" + const extension = originalFilename.split('.').pop(); // "jpg" + const regex = new RegExp(`${namePart}[-0-9x]*\\.${extension}`); await activity.gotoActivityPage() - expect(await activity.getPhotoSize()).toContain(expectedMediumSize); + expect(await activity.getPhotoSize()).toMatch(regex); - //validting large Photo size + // Validating large Photo size await activity.clickedOnFirstPhotoOfTheActivityPage(); const imgLocator = page.locator('div.rtmedia-media img'); const srcValue = await imgLocator.getAttribute('src'); @@ -50,7 +55,7 @@ test.describe("Validating media size", () => { const videoPath = ['test-data/videos/testmpfour.mp4']; await activity.gotoActivityPage(); - await activity.upploadMedia(videoPath); + await activity.uploadMedia(videoPath); await page.waitForLoadState('domcontentloaded'); const actualSize = await page.locator("//div[contains(@class, 'mejs-overlay') and contains(@class, 'mejs-layer') and contains(@class, 'mejs-overlay-play')]").first().getAttribute('style'); const expectedSize = "width: "+testdata.video.activityPlayerWidth+"px; height: "+testdata.video.activityPlayerHeight+"px"; diff --git a/tests/wp-e2e-playwright/specs/other_settings/01_admin-settings.spec.js b/tests/wp-e2e-playwright/specs/other_settings/01_admin-settings.spec.js index 6ad43f2a4..fa92e9dbd 100644 --- a/tests/wp-e2e-playwright/specs/other_settings/01_admin-settings.spec.js +++ b/tests/wp-e2e-playwright/specs/other_settings/01_admin-settings.spec.js @@ -1,14 +1,14 @@ import { test, expect } from "@wordpress/e2e-test-utils-playwright"; import Backend from "../../test_utils/backend.js"; -test.describe("Validating other settings", () => { +test.describe("Validate other settings", () => { let backend; test.beforeEach(async ({ page, admin }) => { backend = new Backend(page); await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-general"); }); - test('Validated Admin bar menu integration', async ({ page, admin }) => { + test('Validate Admin bar menu integration', async ({ page, admin }) => { await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-22']") await page.waitForLoadState('domcontentloaded'); const isrtMediaMenuBarVisible = (await page.isVisible('a[title="rtMedia"]')); diff --git a/tests/wp-e2e-playwright/specs/other_settings/02_user_terms.spec.js b/tests/wp-e2e-playwright/specs/other_settings/02_user_terms.spec.js index ad3c7a847..6f8220024 100644 --- a/tests/wp-e2e-playwright/specs/other_settings/02_user_terms.spec.js +++ b/tests/wp-e2e-playwright/specs/other_settings/02_user_terms.spec.js @@ -9,7 +9,7 @@ test.describe("ASK USERS TO AGREE TO YOUR TERMS", () => { await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-general"); }); - test("Validated Link for Terms of Service page, Terms of Service Message and Error message", async ({ page, admin }) => { + test("Validate Link for Terms of Service page, Terms of Service Message and Error message", async ({ page, admin }) => { await page.locator("//label[@for='rtm-form-checkbox-23']").check(); await page.locator("//label[@for='rtm-form-checkbox-24']").check(); await page.locator("#rtm-form-text-0").fill("https://rtcamp.com"); @@ -20,30 +20,30 @@ test.describe("ASK USERS TO AGREE TO YOUR TERMS", () => { await activity.gotoActivityPage(); await page.locator("#whats-new").click(); - //Link for "Terms of Service" page + // Link for "Terms of Service" page const hrefValue = await page.$eval('.rtmedia-upload-terms label a', (element) => { return element.getAttribute('href'); }); expect(hrefValue).toContain('https://rtcamp.com'); - //Terms of Service Message + // Terms of Service Message const termCheckBox = await page.locator("//label[@for='rtmedia_upload_terms_conditions']").textContent(); expect(termCheckBox).toContain("terms of services.") - //check error messages + // Check error messages await page.locator('#rtmedia_upload_terms_conditions').check(); await page.locator('#rtmedia_upload_terms_conditions').uncheck(); const errorMessage = await page.locator(".rt_alert_msg").textContent(); expect(errorMessage).toContain("please check the terms"); - //disable all of the settings + // Disable all of the settings await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-general"); await page.locator("//label[@for='rtm-form-checkbox-23']").uncheck(); await page.locator("//label[@for='rtm-form-checkbox-24']").uncheck(); await page.locator("div[class='rtm-button-container bottom'] input[value='Save Settings']").click(); }) - test("Validated Privacy messages", async ({ page, admin }) => { + test("Validate Privacy messages", async ({ page, admin }) => { await page.locator("//label[@for='rtm-form-checkbox-25']").check(); await page.locator("#rtm-form-textarea-0").fill("Demo Text"); await page.locator("div[class='rtm-button-container bottom'] input[value='Save Settings']").click(); diff --git a/tests/wp-e2e-playwright/specs/other_settings/03_footer_link.spec.js b/tests/wp-e2e-playwright/specs/other_settings/03_footer_link.spec.js index 78e14e0f4..be410843f 100644 --- a/tests/wp-e2e-playwright/specs/other_settings/03_footer_link.spec.js +++ b/tests/wp-e2e-playwright/specs/other_settings/03_footer_link.spec.js @@ -2,8 +2,8 @@ import { test, expect } from "@wordpress/e2e-test-utils-playwright"; const { URLS } = require("../../utils/urls.js"); import Backend from "../../test_utils/backend.js"; -test.describe("Validated footer link", () => { - test("validated rtMedia footer link", async ({ page, admin }) => { +test.describe("Validate footer link", () => { + test("Validate rtMedia footer link", async ({ page, admin }) => { let backend = new Backend(page); await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-general"); await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-28']"); diff --git a/tests/wp-e2e-playwright/specs/other_settings/custom_css.spec.js b/tests/wp-e2e-playwright/specs/other_settings/custom_css.spec.js index da3f33fce..6a4ea381c 100644 --- a/tests/wp-e2e-playwright/specs/other_settings/custom_css.spec.js +++ b/tests/wp-e2e-playwright/specs/other_settings/custom_css.spec.js @@ -2,7 +2,7 @@ import { test, expect } from "@wordpress/e2e-test-utils-playwright"; import Activity from "../../test_utils/activity.js"; import Backend from "../../test_utils/backend.js"; -test.describe("Validating media size", () => { +test.describe("Validate media size", () => { let activity; let backend @@ -11,7 +11,7 @@ test.describe("Validating media size", () => { backend = new Backend(page); await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-custom-css-settings"); }); - test("Validating custom css on the frontend", async ({ page }) => { + test("Validate custom css on the frontend", async ({ page }) => { const customCSS = "{background: red}" await page.locator('#rtmedia-custom-css').fill(customCSS); await page.locator("div[class='rtm-button-container bottom'] input[value='Save Settings']").click(); diff --git a/tests/wp-e2e-playwright/specs/other_settings/privacy.spec.js b/tests/wp-e2e-playwright/specs/other_settings/privacy.spec.js index 357286ff1..d33755ce9 100644 --- a/tests/wp-e2e-playwright/specs/other_settings/privacy.spec.js +++ b/tests/wp-e2e-playwright/specs/other_settings/privacy.spec.js @@ -2,7 +2,7 @@ import { test, expect } from "@wordpress/e2e-test-utils-playwright"; import Backend from "../../test_utils/backend.js"; import Activity from "../../test_utils/activity.js"; -test.describe("Validated privacy settings", () => { +test.describe("Validate privacy settings", () => { let backend; let activity; @@ -11,10 +11,10 @@ test.describe("Validated privacy settings", () => { activity = new Activity(page); await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-privacy"); }); - test("Enable privacy settings and validated from the fronend", async ({ page }) => { + test("Enable privacy settings and validate from the frontend", async ({ page }) => { await backend.enableAnySettingAndSave("//label[@for='rtmedia-privacy-enable']"); await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-21']") - //validated changes from the fronend + // Validate changes from the frontend await activity.gotoActivityPage(); await page.locator("#whats-new").click(); await page.waitForLoadState('domcontentloaded') diff --git a/tests/wp-e2e-playwright/specs/prerequisite.spec.js b/tests/wp-e2e-playwright/specs/prerequisite.spec.js index 1509c9a32..7fbef93bc 100644 --- a/tests/wp-e2e-playwright/specs/prerequisite.spec.js +++ b/tests/wp-e2e-playwright/specs/prerequisite.spec.js @@ -9,14 +9,31 @@ test.describe("Enable basic features to perform tests", () => { await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-display"); }); - test("Enable all of the prequisite", async ({ page, admin }) => { - //enable direct upload + test("Enable all of the prerequisite", async ({ page, admin }) => { + // Enable direct upload await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-6']"); - //enable group from buddypress + + // Enable Photo, Video, and Music types + await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-types"); + // Photo + await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-11']"); + // Video + await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-13']"); + // Music + await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-15']"); + + + // Enable media in profile and attach media to activity + await admin.visitAdminPage("admin.php?page=rtmedia-settings#rtmedia-bp"); + await backend.enableAnySettingAndSave("//label[@for='rtm-form-checkbox-7']"); + await backend.enableAnySettingAndSave("//label[@for='rtmedia-bp-enable-activity']"); + + // Enable group from buddypress await admin.visitAdminPage("options-general.php?page=bp-components"); await page.locator("//input[@id='bp_components[groups]']").check(); await page.locator("//input[@id='bp-admin-component-submit']").click(); - //enable comment for media + + // Enable comment for media await admin.visitAdminPage("admin.php?page=rtmedia-settings"); await page.locator("//label[@for='rtm-form-checkbox-0']").check(); await page.locator("div[class='rtm-button-container bottom'] input[value='Save Settings']").click(); diff --git a/tests/wp-e2e-playwright/test_utils/activity.js b/tests/wp-e2e-playwright/test_utils/activity.js index 50a3d1320..ef4700302 100644 --- a/tests/wp-e2e-playwright/test_utils/activity.js +++ b/tests/wp-e2e-playwright/test_utils/activity.js @@ -5,7 +5,7 @@ class Activity{ this.page = page; } - async upploadMedia(paths){ + async uploadMedia(paths){ await this.page.locator("#whats-new").click(); const [fileChooser] = await Promise.all([ this.page.waitForEvent('filechooser'), @@ -33,7 +33,7 @@ class Activity{ } async clickedOnFirstPhotoOfTheActivityPage(){ - this.gotoActivityPage(); + await this.gotoActivityPage(); await this.page.waitForLoadState("domcontentloaded"); await this.page.locator("//div[@class='rtmedia-item-thumbnail']").first().click(); } @@ -52,7 +52,7 @@ class Activity{ await dialog.accept(); }); - await this.upploadMedia(paths); + await this.uploadMedia(paths); return dialogMessage; } }