Google
Edit File: script.js
/*! * License: GPLv2 or later * License URI: https://www.gnu.org/licenses/ */ (function($) { $(document).ready( function() { /** * Handle the styling of the "Settings" tab on the plugin settings page * @since 4.2.3 */ var tabs = $( '#cptch_settings_tabs_wrapper' ); if ( tabs.length ) { var carousel = $( '#cptch_settings_slick' ), tabs_panel = $( '#cptch_settings_tabs' ), tab_index_field = $( 'input[name="cptch_active_tab"]' ), tabs_height = tabs_panel.outerHeight() + 1, option_window = $( window ), prevent_tabs_change = prevent_slides_change = false, height, min_height; /** * Change tabs height * @param string current_tab_id The CSS ID on the selected options block * @return void */ function set_tabs_height( current_tab_id ) { if ( ! current_tab_id.match( /\#/ ) ) current_tab_id = '#' + current_tab_id; height = $( current_tab_id ).outerHeight() + 5; /* The side panel with tabs is not visible if screen width is less than 782px */ if ( tabs_panel.is( ':visible' ) ) min_height = tabs_height > height ? tabs_height : height; else min_height = height; tabs.css({ 'height': height, 'min-height': min_height }); } /** * * @param object window A window global object * @return void */ function set_carousel_height( window ) { if( window.width() <= 480 ) { if ( ! carousel.hasClass( 'cptch_slick_mobile' ) ) carousel.addClass( 'cptch_slick_mobile' ) } else { carousel.removeClass( 'cptch_slick_mobile' ); } } /* jQuery tabs initialization */ tabs.tabs({ active: cptch_vars.start_tab, create: function( event, ui ) { set_tabs_height( $( '#cptch_settings_tabs .ui-tabs-active a' ).attr( 'href' ) ); } /* change the current slide in the carousel after the switching between tabs */ }).on( "tabsactivate", function( event, ui ) { if( ! prevent_tabs_change ) { prevent_slides_change = true; var slide_index = ui.newTab.index(); carousel.slick( "slickGoTo", parseInt( slide_index ) ); tab_index_field.val( slide_index ); set_tabs_height( ui.newPanel[0].id ); } prevent_tabs_change = false; }); /* get the current slide for the carousel */ var anchor = window.location.hash, start_slide = cptch_vars.start_tab, current_slide; if ( anchor != "" && anchor.match( /\#cptch\_(.)*\_tab/ ) ) { current_slide = $( '#cptch_settings_slick div:has(a[href="' + anchor + '"])' ); if ( current_slide.length ) start_slide = current_slide.index(); } /* jQuery Slick carousel initialization */ carousel.slick({ initialSlide: parseInt( start_slide ), slidesToShow: 3, slidesToScroll: 1, autoplay: false, variableWidth: true, prevArrow: '<div class="slick-prev dashicons dashicons-arrow-left-alt2"></div>', nextArrow: '<div class="slick-next dashicons dashicons-arrow-right-alt2"></div>', infinite: true, focusOnSelect: true, centerMode: true /* change the current tab in the tabs panel after the switching between slides */ }).on( 'afterChange', function( event, slick, currentSlide ) { if ( ! prevent_slides_change ) { prevent_tabs_change = true; var id = $( "[data-slick-index='" + currentSlide + "'] a" ).attr( 'href' ), tab_index = $( '.ui-state-default:has(a[href="' + id + '"])' ).index(); tabs.tabs({ active: parseInt( tab_index ) }); set_tabs_height( id ); tab_index_field.val( tab_index ); } prevent_slides_change = false; }).find( 'a' ).click( function( event ) { event = event || window.event; event.preventDefault(); }); set_carousel_height( option_window ); option_window.resize( function() { set_tabs_height( $( '#cptch_settings_tabs .ui-tabs-active a' ).attr( 'href' ) ); set_carousel_height( $( this ) ); }); var enable_option = $( "input[name*='[enable]']" ), image_format = $( '#cptch_operand_format_images' ), image_options = $( '.cptch_images_options' ), package_list = $( ".cptch_tabs_package_list:not(.cptch_pro_pack_tab)" ), limit_option = $( "input[name=cptch_enable_time_limit]" ), limit_value = $( '.cptch_time_limit' ), notice; /* * Show/hide all form settings by mark/unmark "Enable" checkbox. * With this all form settings will be hidden except "Enable" checkbox. */ enable_option.click( function() { var current = $( this ), next = current.closest( 'tr' ).next( 'tr' ); if ( next.find( "input[name*='[use_general]']" ).is( ':checked' ) ) { current.is( ':checked' ) ? next.show() : next.hide(); } else { var rows = current.closest( '.cptch_form_tab' ).find( 'tr, .bws_pro_version_bloc' ).not( '.cptch_form_option_enable' ); current.is( ':checked' ) ? rows.show() : rows.hide(); } set_tabs_height( $( '#cptch_settings_tabs .ui-tabs-active a' ).attr( 'href' ) ); }); /* Handle the displaying of notice message above lists of image packages */ function cptch_image_options() { var is_checked = image_format.is( ':checked' ); if ( is_checked ) image_options.show(); else image_options.hide(); package_list.each( function() { notice = image_format.prev( '.cptch_enable_images_notice' ); if ( ! notice.length ) return; if ( image_format.find( 'input:checked' ).length && ! is_checked ) notice.show(); else notice.hide(); }); set_tabs_height( $( '#cptch_settings_tabs .ui-tabs-active a' ).attr( 'href' ) ); } cptch_image_options() image_format.click( function() { cptch_image_options(); } ); /* Handle lists of packages on form options tabs */ package_list.resizable({ alsoResize: "#cptch_settings_tabs_wrapper", handles: ( $( 'body' ).hasClass( 'rtl' ) ? 'sw' : 'se' ) }).find( '.ui-resizable-handle' ).addClass( 'dashicons dashicons-editor-code' ); package_list.find( 'input' ).change( function() { var pack_wrapper = $( this ).closest( '.cptch_tabs_package_list' ), notice = pack_wrapper.prev( '.cptch_enable_images_notice' ); if ( ! notice.length ) return; if ( ! image_format.is( ':checked' ) && pack_wrapper.find( 'input:checked' ).length ) notice.show(); else notice.hide(); set_tabs_height( $( '#cptch_settings_tabs .ui-tabs-active a' ).attr( 'href' ) ); }); limit_option.click( function() { if ( $( this ).is( ':checked' ) ) limit_value.show(); else limit_value.hide(); }); function cptch_type() { if ( 'recognition' == $( 'input[name="cptch_type"]:checked' ).val() ) { $( '.cptch_for_recognition' ).show(); $( '.cptch_for_math_actions' ).hide(); image_format.attr( 'checked', 'checked' ); cptch_image_options(); } else { $( '.cptch_for_recognition' ).hide(); $( '.cptch_for_math_actions' ).show(); } } cptch_type(); $( 'input[name="cptch_type"]' ).click( function() { cptch_type(); } ); } /** * Handle the "Whitelist" tab on the plugins option page */ $( 'button[name="cptch_show_whitelist_form"]' ).click( function() { $( this ).parent( 'form' ).hide(); $( '.cptch_whitelist_form' ).show(); return false; }); var limit_options = $( '.cptch_limt_options' ); $( 'input[name="cptch_use_time_limit"]' ).each( function() { if ( ! $( this ).is( ':checked' ) ) limit_options.hide(); }).click( function() { if ( $( this ).is( ':checked' ) ) limit_options.show(); else limit_options.hide(); }); $( 'input[name="cptch_use_la_whitelist"]' ).click( function() { $( this ).closest( 'form' ).submit(); }); /* add to whitelist my ip */ $( 'input[name="cptch_add_to_whitelist_my_ip"]' ).change( function() { if ( $( this ).is( ':checked' ) ) { var my_ip = $( 'input[name="cptch_add_to_whitelist_my_ip_value"]' ).val(); $( 'input[name="cptch_add_to_whitelist"]' ).val( my_ip ).attr( 'readonly', 'readonly' ); } else { $( 'input[name="cptch_add_to_whitelist"]' ).val( '' ).removeAttr( 'readonly' ); } }); }); })(jQuery); /*! * jQuery UI Touch Punch 0.2.3 * jQuery UI Touch Punch is a small hack that enables the use of touch events on sites using the jQuery UI user interface library. * https://github.com/furf/jquery-ui-touch-punch * Copyright 2011–2014, Dave Furfero * Dual licensed under the MIT or GPL Version 2 licenses. */ !function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);