Plugin Directory

Changeset 2978325


Ignore:
Timestamp:
10/12/2023 07:03:03 PM (2 years ago)
Author:
zerozendesign
Message:

Mega Release - Conversational Form and its all related content and images.

Location:
auto-advance-for-gravity-forms
Files:
251 added
12 edited

Legend:

Unmodified
Added
Removed
  • auto-advance-for-gravity-forms/trunk/auto-advance-for-gravity-forms.php

    r2955716 r2978325  
    44Plugin Name: Auto Advance for GravityForms
    55Description:  The Auto Advance plugin for Gravity Forms makes the form filling process quicker and more user friendly for visitors. The plugin gives an easy way to choose which field(s) trigger an auto advance to the next step of your form.
    6 Version: 4.5.4
     6Version: 4.6
    77Author: Frog Eat Fly
    8 Tested up to: 6.2.2
     8Tested up to: 6.0.2
    99Author URI: https://www.multipagepro.com/
    1010*/
     11define( 'AAFG_PRO_PLAN_NAME', 'autoadvanceforgravityformspro' );
     12define( 'AAFG_PLUS_PLAN_NAME', 'autoadvanceforgravityformsplus' );
    1113define( 'ZZD_AAGF_DIR', plugin_dir_path( __FILE__ ) );
    1214define( 'ZZD_AAGF_URL', plugin_dir_url( __FILE__ ) );
    13 define( 'AUTO_ADVANCED_ZZD', '4.5.4' );
     15define( 'AUTO_ADVANCED_ZZD', '4.6' );
     16define( 'AUTO_ADVANCED_ASSETS', time() );
    1417
    1518if ( !function_exists( 'aafgf_fs' ) ) {
     
    6265            return;
    6366        }
    64         require_once 'class-gfautoadvancedaddon.php';
     67        require_once ZZD_AAGF_DIR . 'php/class-gfautoadvancedaddon.php';
    6568        GFAddOn::register( 'GFAutoAdvancedAddOn' );
    6669    }
     
    173176function aafg_footer_script()
    174177{
    175     ?>
    176    
    177     <script type="text/javascript">
    178         var $ = jQuery;
    179         var admin_url_zzd = '<?php
    180     echo  admin_url( "admin-ajax.php" ) ;
    181     ?>';
    182         jQuery(document).on("click", '#aafg-notice .notice-dis', function(){
    183             $( this ).parents('#aafg-notice').find('.notice-dismiss').click();
    184         });
    185         jQuery(document).on("click", '#aafg-notice .notice-dismiss', function(){
    186            
    187             var notice_id = $( this ).parents('#aafg-notice').attr( 'id' ) || '';
    188             jQuery.ajax({
    189                 url: admin_url_zzd,
    190                 type: 'POST',
    191                 data: {
    192                     action            : 'aafg-notice-dismiss',
    193                     notice_id         : notice_id,
    194                 },
    195             });
    196         });
    197     </script>
    198    
    199     <?php
     178    $admin_url = admin_url( "admin-ajax.php" );
     179    echo  "<script type='text/javascript'>\n\t\tvar \$ = jQuery;\n\t\tvar admin_url_zzd = '" . $admin_url . "';\n\t\tjQuery(document).on('click', '#aafg-notice .notice-dis', function(){ \n\t\t\t\$( this ).parents('#aafg-notice').find('.notice-dismiss').click();\n\t\t});\n\t\tjQuery(document).on('click', '#aafg-notice .notice-dismiss', function(){ \n\t\t\t\n\t\t\tvar notice_id = \$( this ).parents('#aafg-notice').attr( 'id' ) || '';\n\t\t\tjQuery.ajax({\n\t\t\t\turl: admin_url_zzd,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdata: {\n\t\t\t\t\taction            : 'aafg-notice-dismiss',\n\t\t\t\t\tnotice_id         : notice_id,\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t</script>" ;
    200180}
  • auto-advance-for-gravity-forms/trunk/css/aafg_styles.css

    r2325318 r2978325  
    5959    padding-left: 10px;
    6060}
     61
     62.has_animation {
     63  --animate-duration: 400ms;
     64  --animate-delay: 0.2s;
     65}
  • auto-advance-for-gravity-forms/trunk/css/conversational.css

    r2845065 r2978325  
     1:root {
     2    --animate-duration: 500ms;
     3    --animate-delay: 100ms;
     4    --animate-repeat: 1;
     5   
     6    --cf-bg-color: #bcd6ec;
     7   
     8    --cf-primary-color: #1a3d5c;
     9    --cf-secondary-color: #e4eef7;
     10    --cf-confirmation-text: #e4eef7;
     11    --cf-progressbar-color: #448ccb;
     12    --cf-border-color: #ffffff;
     13   
     14    --cf-button-bg: #448ccb;
     15    --cf-button-text: #f1f1f1;
     16    --cf-button-hover-bg: #357fc0;
     17    --cf-button-hover-text: #f1f1f1;
     18   
     19   
     20    --cf-content-top-default-margin: 60px;
     21    --cf-content-bottom-default-margin: 60px;
     22   
     23   
     24    /*
     25    --cf-text-color-light: #ffffff;
     26    --cf-heading-color-light: #ffffff;
     27   
     28    --cf-text-color-dark: #044E54;
     29    --cf-heading-color-dark: #044E54;
     30   
     31    --cf-bg-dark: #044E54;
     32    --cf-bg-light: aliceblue;
     33
     34    --cf-border-extra-light: #ffffff;
     35    --cf-border-light: #87EAF2;
     36    --cf-border-dark: #044E54;
     37   
     38    --cf-progress-bar: #87EAF2;
     39    --cf-progress-bg: #87EAF2;
     40    */
     41    --cf-fs-heading: 36px;
     42    --cf-fs-text: 18px;
     43    --cf-fs-label: 36px;
     44    --cf-fs-input: 26px;
     45   
     46    --cf-fs-heading-medium: 32px;
     47    --cf-fs-text-medium: 16px;
     48    --cf-fs-label-medium: 32px;
     49    --cf-fs-input-medium: 22px;
     50   
     51    --cf-fs-heading-small: 27px;
     52    --cf-fs-text-small: 16px;
     53    --cf-fs-label-small: 27px;
     54    --cf-fs-input-small: 20px;
     55   
     56    cf-overlay-color: rgba(255, 255, 255, 0.5);
     57   
     58   
     59    --cf-small-gap: 10px;
     60    --cf-medium-gap: 20px;
     61    --cf-large-gap: 40px;
     62   
     63    --cf-max-form-width: 720px;
     64    --cf-max-intro-width: 800px;
     65}
     66
     67html.cf-html{
     68    margin-top: 0 !important;
     69}
     70
     71/*body.conv-form .gform_wrapper.gform_legacy_markup_wrapper li.gfield.gfield_error,
     72body.conv-form .gform_wrapper.gform_legacy_markup_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning, */
     73body.conv-form {
     74    background-color: var(--cf-bg-color);
     75    background-image: radial-gradient(ellipse at center, white 0%, rgba(255,255,255,0) 100%);
     76    min-height: calc(100vh - 70px);
     77    background-attachment: fixed;
     78    position: relative;
     79}
     80
     81body.conv-form.bgimage {
     82    background-image: var(--cf-cover-image);
     83}
     84
     85body.conv-form.bgimage::before {
     86    content: "";
     87    position: absolute;
     88    z-index: -1;
     89    top: 0;
     90    left: 0;
     91    width: 100%;
     92    height: calc(100% + 70px);
     93    background-color: var(--cf-bg-color);
     94    background-image: radial-gradient(ellipse at center, white 0%, rgba(255,255,255,0) 100%);
     95    opacity: 0.75;
     96}
     97
     98
     99body.conv-form .conv-intro, body.conv-form .conv-intro-bottom {
     100    align-items: center;
     101    display: flex;
     102    flex-wrap: wrap;
     103}
     104
     105
     106body.conv-form .conv-intro {
     107    height: 100%;
     108    min-height: calc(100vh + 10px);
     109}
     110
     111body.conv-form .conv-intro .conv-intro-container {
     112    /*background: var(--cf-bg-dark );
     113    box-shadow: 0 10px 36px 0 rgb(0 0 0 / 16%), 0 0 0 1px rgb(0 0 0 / 6%);*/
     114    box-sizing: border-box;
     115    margin: var(--cf-large-gap) auto;
     116    max-width: var(--cf-max-intro-width);
     117    padding: var(--cf-large-gap);
     118    text-align: center;
     119    width: 90%;
     120}
     121
     122
     123body.conv-form .conv-intro .conv-intro-container .conv-intro-logo {
     124    margin: auto;
     125    padding-bottom: var(--cf-small-gap);
     126}
     127
     128body.conv-form .conv-intro .conv-intro-container .conv-intro-title {
     129    color: var(--cf-primary-color);
     130    font-family: inherit;
     131    font-size: var(--cf-fs-heading );
     132    font-weight: 700;
     133    line-height: 1.3;
     134}
     135
     136body.conv-form .conv-intro .conv-intro-container .conv-intro-title {
     137    font-family: inherit;
     138    font-size: var(--cf-fs-heading );
     139    margin: var(--cf-small-gap) 0 var(--cf-medium-gap);
     140}
     141
     142body.conv-form .conv-form-container .conv-intro-title-wrap{
     143    overflow: hidden;
     144}
     145
     146body.conv-form .conv-form-container h1.conv-intro-title {
     147    text-align: center;
     148    top: 0;
     149    /*box-shadow: 0px 0px 50px 5px rgba(255,255,255,0.5);*/
     150    padding: var(--cf-small-gap) 0;
     151    background: var(--cf-bg-color);
     152    z-index: 999;
     153    position: fixed;
     154    width: 100%;
     155    border-bottom: 1px solid #0000002e;
     156    background-image: radial-gradient(ellipse at left, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.3) 70%, rgba(255,255,255,0) 100%);
     157}
     158
     159
     160body.conv-form .conv-intro .conv-intro-container .conv-intro-description {
     161    color: var(--cf-primary-color);
     162    font-family: inherit;
     163    line-height: 1.8;
     164}
     165
     166body.conv-form .conv-intro-bottom {
     167    flex-direction: row;
     168    justify-content: center;
     169    margin-top: var(--cf-medium-gap);
     170}
     171
     172body.conv-form .conv-intro .conv-intro-container button.conv-intro-btn {
     173    background: var(--cf-bg-dark );
     174    color: var(--cf-text-color-light );
     175}
     176
     177body.conv-form .conv-intro .conv-intro-container button.conv-intro-btn {
     178    margin-right: 15px;
     179}
     180
     181body.conv-form .conv-intro .conv-intro-container .conv-intro-enter {
     182    color: rgba(26,61,92,0.5);
     183    font-size: var(--cf-fs-text);
     184}
     185
     186body.conv-form .conv-intro .conv-intro-container .conv-intro-enter span{
     187    font-weight: 600;
     188}
     189
     190
     191body.conv-form .custom-template-wrap {
     192    overflow: hidden;
     193}
     194
     195body.conv-form .custom-template-wrap-inner {
     196    display: flex;
     197}
     198
     199body.conv-form  .gform_wrapper .gfield.conv_enabled .ginput_container.ginput_container_fileupload .gform_drop_area .gform_button_select_files,
     200body.conv-form  .gform_wrapper .gfield_checkbox button,
     201body.conv-form  .gform_wrapper .gform_body .gform_fields .gfield.conv_enabled input[type=submit],
     202body.conv-form  .gform_wrapper .gform_footer button, body.conv-form  .gform_wrapper .gform_footer input,
     203body.conv-form  .gform_wrapper .gform_page_footer .button,
     204body.conv-form  .gform_wrapper .gform_page_footer button,
     205body.conv-form  .gform_wrapper .gform_page_footer input,
     206body.conv-form  .gform_wrapper .gform_page_footer input.gform_next_button,
     207body.conv-form  .gform_wrapper .gform_page_footer input.gform_previous_button,
     208body.conv-form .conv-intro .conv-intro-container button.conv-intro-btn {
     209    background: var(--cf-button-bg);
     210    border: 2px solid var(--cf-button-bg);
     211    color: var(--cf-button-text);
     212    cursor: pointer;
     213    font-family: inherit;
     214    font-size: var(--cf-fs-text);
     215    font-weight: 600;
     216    border-radius: 3px;
     217    letter-spacing: 1px;
     218    line-height: normal;
     219    padding: var(--cf-small-gap) var(--cf-medium-gap);
     220    text-decoration: none;
     221}
     222
     223/*body.conv-form  .gform_wrapper .gform_footer button,
     224body.conv-form  .gform_wrapper .gform_footer input[type=submit],
     225body.conv-form  .gform_wrapper .gform_footer input[type=button],
     226body.conv-form  .gform_wrapper .gform_page_footer button,
     227body.conv-form  .gform_wrapper .gform_page_footer input[type=submit],
     228body.conv-form  .gform_wrapper .gform_page_footer input[type=button]
     229{
     230    position: absolute;
     231    left: -99999999px;
     232}*/
     233
     234body.conv-form  .gform_wrapper .gfield.conv_enabled .ginput_container.ginput_container_fileupload .gform_drop_area .gform_button_select_files:hover,
     235body.conv-form  .gform_wrapper .gfield_checkbox button:hover,
     236body.conv-form  .gform_wrapper .gform_body .gform_fields .gfield.conv_enabled input[type=submit]:hover,
     237body.conv-form  .gform_wrapper .gform_footer button, body.conv-form  .gform_wrapper .gform_footer input:hover,
     238body.conv-form  .gform_wrapper .gform_page_footer .button:hover,
     239body.conv-form  .gform_wrapper .gform_page_footer button:hover,
     240body.conv-form  .gform_wrapper .gform_page_footer input:hover,
     241body.conv-form  .gform_wrapper .gform_page_footer input.gform_next_button:hover,
     242body.conv-form  .gform_wrapper .gform_page_footer input.gform_previous_button:hover,
     243body.conv-form .conv-intro .conv-intro-container button.conv-intro-btn:hover{
     244    background: var(--cf-button-hover-bg);
     245    border: 2px solid var(--cf-button-hover-bg);
     246    color: var(--cf-button-hover-text);
     247}
     248
     249body.conv-form .gform_wrapper {
     250    margin: 0px;
     251}
     252
     253body.conv-form .gform_wrapper .gform_heading {
     254    display: none;
     255}
     256
     257body.conv-form .gform_wrapper .gf_progressbar_wrapper {
     258    position: sticky;
     259    top: 0;
     260    overflow: hidden;
     261    display: none;
     262}
     263
     264body.conv-form .gform_wrapper .gf_progressbar_wrapper .gf_progressbar_title {
     265    display: none;
     266}
     267
     268body.conv-form .gform_wrapper .gf_progressbar {
     269    border-radius: 0px;
     270    background: rgba(0,0,0,.24);
     271}
     272
     273body.conv-form .gform_wrapper .gf_progressbar_wrapper .gf_progressbar .gf_progressbar_percentage {
     274    height: 5px;
     275    border-radius: 0px;
     276    background-color: var(--cf-progress-bar );
     277    animation-duration: .5s;
     278}
     279
     280.gf_progressbar_wrapper .gf_progressbar .gf_progressbar_percentage span {
     281    display: none;
     282}
     283
     284body.conv-form .gform_wrapper .gf_progressbar_wrapper .gf_progressbar .gf_progressbar_percentage span {
     285    display: none;
     286}
     287
     288body.conv-form .gform_wrapper .gform-body {
     289    max-width: var(--cf-max-form-width);
     290    width: 80%;
     291    margin: auto;
     292}
     293
     294body.conv-form .gform_wrapper .gform_page {
     295    display: flex;
     296    flex-direction: column;
     297    justify-content: center;
     298    animation-duration: .5s;
     299    /* animation-delay: .2s; */
     300    min-height: calc(100vh - 100px);
     301}
     302
     303body.conv-form .gform_wrapper .gfield_label, body.conv-form .gsection_title {
     304    color: var(--cf-primary-color);
     305    line-height: 1.3;
     306    margin: 0px;
     307    font-weight: normal;
     308    position: relative;
     309}
     310
     311body.conv-form .gform-field-label{
     312    color: var(--cf-primary-color);
     313}
     314   
     315
     316
     317body.conv-form .gsection_title {
     318    font-size: var(--cf-fs-heading);
     319}
     320
     321body.conv-form .gform_wrapper .gfield_label {
     322    font-size: var(--cf-fs-label);
     323}
     324
     325body.conv-form .gform_wrapper .ginput_container:not( .ginput_container_time ), body.conv-form .gform_wrapper .ginput_complex {
     326    margin-top: 32px;
     327}
     328
     329body.conv-form .gchoice, body.conv-form .ginput_container_consent {
     330    margin-bottom: 15px;
     331    overflow: visible;
     332}
     333
     334
     335body.conv-form .gchoice input[type="radio"], body.conv-form .gchoice input[type="checkbox"], body.conv-form .ginput_container_consent input {
     336    display: none;
     337}
     338
     339body.conv-form .gform_wrapper .gform_body .gchoice label:before {
     340    counter-increment: gfaa-counter;
     341    content: counter(gfaa-counter,upper-alpha);
     342    left: 12px;
     343    position: absolute;
     344    height: 33px;
     345    width: 33px;
     346    text-align: center;
     347    border: 1px solid;
     348    border-radius: 3px;
     349    line-height: 30px;
     350    background-color: transparent;
     351}
     352
     353body.conv-form .gform_wrapper .gform_body .gchoice label:hover:before{
     354    content: "Key " counter(gfaa-counter,upper-alpha);
     355    width: 67px;
     356    left: -22px;
     357}
     358
     359body.conv-form .gform_wrapper .gform_body .gfield-choice-input:checked + label:before {
     360    background: var(--cf-primary-color);
     361    color: #ffffff;
     362}
     363
     364body.conv-form .gform_wrapper .ginput_container {
     365    counter-reset: gfaa-counter;
     366}
     367
     368/* body.conv-form .gform_wrapper .gform_body .gchoice label, body.conv-form .gform_wrapper .gform_body .ginput_container_consent .gfield_consent_label {
     369    color: var(--cf-heading-color-light);
     370    box-shadow: var(--cf-border-light) 0px 0px 0px 1px inset;
     371    background-color: rgba(0, 0, 0, 0.15);
     372    font-size: var(--cf-fs-input );
     373    line-height: 1;
     374    padding: 12px 20px;
     375    border-radius: 4px;
     376    cursor: pointer;
     377    position: relative;
     378    vertical-align: bottom;
     379    min-width: 300px;
     380    padding-left: 43px;
     381    transition: background-color .2s linear;
     382    margin: 0px;
     383}*/
     384body.conv-form .gform_wrapper .gform_body .gchoice label, body.conv-form .gform_wrapper .gform_body .ginput_container_consent .gfield_consent_label {
     385    border-style: solid;
     386    border-width: 1px;
     387    border-radius: 4px;
     388    position: relative;
     389    cursor: pointer;
     390    font-size: var(--cf-fs-text);
     391    line-height: 33px;
     392    padding: 9px 9px 9px 60px;
     393    display: block;
     394    min-height: 52px;
     395    background-color: rgba(26,61,92,0.025);
     396    border-color: rgba(26,61,92,0.1);
     397    color: var(--cf-primary-color);
     398}
     399
     400body.conv-form .gform_wrapper .gform_body .gchoice:hover label {
     401    background: rgba(26,61,92,0.05);
     402}
     403
     404body.conv-form .gform_wrapper .gform_body .gfield-choice-input:checked + label {
     405    border-color: var(--cf-primary-color);
     406}
     407
     408/*
     409body.conv-form .gfield_radio .gchoice label::before, body.conv-form .gfield_checkbox .gchoice label::before, body.conv-form .gform_body .gfield.gfcf_enabled .ginput_container_consent label::before {
     410    content: attr(data-alphabet-content);
     411    background-color: var(--gfcfPageBackgroundColor );
     412    filter: brightness(88%) contrast(158%) saturate(2) grayscale(0.3) invert(2%);
     413    text-align: center;
     414    width: 22px;
     415    height: 22px;
     416    font-size: 16px;
     417    line-height: 1.5;
     418    box-shadow: var(--gfcfInputBorderColor ) 0px 0px 0px 1px inset;
     419    z-index: 2;
     420    overflow: hidden;
     421}*/
     422
     423body.conv-form .gform_body .gform_page_fields input[type="button"],
     424body.conv-form .gform_body .gform_page_fields input[type="checkbox"],
     425body.conv-form .gform_body .gform_page_fields input[type="email"],
     426body.conv-form .gform_body .gform_page_fields input[type="file"],
     427body.conv-form .gform_body .gform_page_fields input[type="submit"],
     428body.conv-form .gform_body .gform_page_fields input[type="tel"],
     429body.conv-form .gform_body .gform_page_fields input[type="text"],
     430body.conv-form .gform_body .gform_page_fields input[type="password"],
     431body.conv-form .gform_body .gform_page_fields input[type="url"],
     432body.conv-form .gform_body .gform_page_fields input[type="number"],
     433body.conv-form .gform_body .gform_page_fields textarea,
     434body.conv-form .gform_body .gform_page_fields select {
     435    color: #1a3d5c;
     436    border-bottom: 1px solid rgba(26,61,92,0.1);
     437}
     438
     439body.conv-form .gform_body .gform_page_fields input[type="button"],
     440body.conv-form .gform_body .gform_page_fields input[type="checkbox"],
     441body.conv-form .gform_body .gform_page_fields input[type="email"],
     442body.conv-form .gform_body .gform_page_fields input[type="file"],
     443body.conv-form .gform_body .gform_page_fields input[type="submit"],
     444body.conv-form .gform_body .gform_page_fields input[type="tel"],
     445body.conv-form .gform_body .gform_page_fields input[type="text"],
     446body.conv-form .gform_body .gform_page_fields input[type="password"],
     447body.conv-form .gform_body .gform_page_fields input[type="url"],
     448body.conv-form .gform_body .gform_page_fields input[type="number"],
     449body.conv-form .gform_body .gform_page_fields input[type="range"],
     450body.conv-form .gform_body .gform_page_fields textarea,
     451body.conv-form .gform_body .gform_page_fields select {
     452    max-width: 100%;
     453    line-height: normal;
     454    background-color: transparent;
     455    border: none;
     456    height: 66px;
     457    border-radius: 0;
     458    border-bottom: 1px solid;
     459    padding: var(--cf-small-gap) 0;
     460    width: 100%;
     461    outline: none;
     462}
     463
     464body.conv-form .gform_body .gform_page_fields input[type="email"],
     465body.conv-form .gform_body .gform_page_fields input[type="tel"],
     466body.conv-form .gform_body .gform_page_fields input[type="text"],
     467body.conv-form .gform_body .gform_page_fields input[type="password"],
     468body.conv-form .gform_body .gform_page_fields input[type="url"],
     469body.conv-form .gform_body .gform_page_fields input[type="number"],
     470body.conv-form .gform_body .gform_page_fields textarea,
     471body.conv-form .gform_body .gform_page_fields select {
     472    font-size: var(--cf-fs-input );
     473}
     474
     475body.conv-form .gform_body .gform_page_fields select option{
     476    font-size: 90%;
     477}
     478
     479body.conv-form .gform_page_footer.top_label {
     480    /*position: absolute;
     481    left: -999999px;*/
     482}
     483
     484
     485
     486
     487
     488body.conv-form .custom-template-wrap .conv-form-footer {
     489    font-size: 13px;
     490    height: 60px;
     491    position: fixed;
     492    bottom: 0;
     493    width: 100%;
     494    transition: height .25s ease-in-out;
     495    overflow: hidden;
     496    z-index: 99999;
     497}
     498
     499body.conv-form .custom-template-wrap .conv-form-footer {
     500    background-color: var(--cf-progressbar-color);
     501    color: var(--cf-secondary-color);
     502}
     503
     504body.conv-form .custom-template-wrap .conv-form-footer-wrap {
     505    display: flex;
     506    display: -ms-flexbox;
     507    justify-content: space-between;
     508    align-items: stretch;
     509    flex-wrap: wrap;
     510    max-width: 750px;
     511    margin: auto;
     512    padding: 15px;
     513}
     514
     515body.conv-form .custom-template-wrap .conv-form-footer-progress {
     516    flex: 0 0 60%;
     517}
     518
     519body.conv-form .custom-template-wrap .conv-form-footer-progress-status {
     520    line-height: 1;
     521    margin-bottom: 8px;
     522}
     523
     524body.conv-form .custom-template-wrap .conv-form-footer-wrap span {
     525    color: inherit;
     526}
     527
     528body.conv-form .custom-template-wrap .conv-form-footer-progress-bar {
     529    width: 100%;
     530    height: 10px;
     531    background-color: rgba(0,0,0,0.251);
     532    border-radius: 10px;
     533    position: relative;
     534    max-width: 240px;
     535}
     536
     537body.conv-form .custom-template-wrap .conv-form-footer-progress-completed {
     538    position: absolute;
     539    top: 0;
     540    left: 0;
     541    border-radius: 10px;
     542    width: 100%;
     543    height: 100%;
     544    background-color: var(--cf-bg-color);
     545}
     546
     547body.conv-form .custom-template-wrap .conv-form-footer-right-container {
     548    display: flex;
     549    display: -ms-flexbox;
     550    align-items: stretch;
     551    flex: 0 0 40%;
     552    justify-content: flex-end;
     553}
     554
     555body.conv-form .custom-template-wrap .conv-form-footer-switch-step {
     556    margin-left: var(--cf-medium-gap);
     557    width: 77px;
     558    display: flex;
     559    display: -ms-flexbox;
     560    justify-content: space-between;
     561    cursor: pointer;
     562}
     563
     564body.conv-form .custom-template-wrap .conv-form-footer-switch-step-up, .custom-template-wrap .conv-form-footer-switch-step-down {
     565    text-align: center;
     566    border-radius: 50%;
     567    vertical-align: middle;
     568    line-height: 1;
     569}
     570body.conv-form .custom-template-wrap .conv-form-footer-switch-step-up {
     571    transform: rotate(180deg);
     572}
     573body.conv-form .custom-template-wrap .conv-form-footer-switch-step-up i.fa, .custom-template-wrap .conv-form-footer-switch-step-down i.fa {
     574    line-height: 1;
     575    vertical-align: top;
     576}
     577
     578.conv-form-footer-switch-step img, .conv-form-footer-switch-step svg {
     579    height: 29px;
     580    width: 29px;
     581    padding: 5px;
     582    position: relative;
     583    top: 1px;
     584}
     585
     586body.conv-form .custom-template-wrap .conv-form-footer-switch-step-up, .custom-template-wrap .conv-form-footer-switch-step-down {
     587    border: 2px solid var(--cf-bg-color);
     588    color: 2px solid var(--cf-bg-color)
     589}
     590
     591.conv-form-footer-switch-step svg path{
     592    fill: var(--cf-bg-color);
     593}
     594
     595.conv-form-footer-switch-step-down.active,
     596.conv-form-footer-switch-step-up.active{
     597    animation: border-pulse 0.6s infinite;
     598}
     599
     600.conv-form-footer-switch-step-up img{
     601    transform: scale(1,-1);
     602}
     603
     604
     605.image-left, .image-right{
     606    display: none;
     607    width: 45%;
     608    flex: 0 0 45%;
     609    text-align: center;
     610}
     611
     612body.conv-form.leftimage .image-left{
     613    display: block;
     614}
     615
     616body.conv-form.rightimage .image-right{
     617    display: block;
     618}
     619
     620body.conv-form.leftimage .custom-template-wrap-inner .formgf,
     621body.conv-form.rightimage .custom-template-wrap-inner .formgf
     622{
     623    flex: 0 0 55%;
     624}
     625
     626body.conv-form .custom-template-wrap-inner .formgf {
     627    flex: 0 0 100%;
     628}
     629
     630body.conv-form .side-image img{
     631    height: 100%;
     632    object-fit: cover;
     633    object-position: center;
     634}
     635body.conv-form .gform_validation_errors{
     636    display: none;
     637}
     638
     639#color-panel-toggle {
     640    position: fixed;
     641    bottom: 30px;
     642    right: 30px;
     643    width: 40px;
     644    height: 40px;
     645    border-radius: 7%;
     646    background-color: #ffffff;
     647    color: #fff;
     648    text-align: center;
     649    line-height: 40px;
     650    cursor: pointer;
     651    z-index: 9999;
     652    display: flex;
     653    align-items: center;
     654    justify-content: center;
     655}
     656
     657#color-panel-toggle img {
     658    height: 25px;
     659    width: 24px;
     660}
     661
     662#color-panel-toggle.active{
     663    background: #000000;
     664}
     665#color-panel-toggle.active svg{
     666    fill: #ffffff;
     667}
     668
     669#color-panel {
     670    position: fixed;
     671    display: none;
     672    bottom: 20px;
     673    right: 20px;
     674    padding: 20px;
     675    background-color: #ffffff;
     676    border: 1px solid #dddddd;
     677    border-radius: 10px;
     678    z-index: 9999;
     679    width: 330px;
     680}
     681
     682#color-panel.open {
     683    display: block;
     684}
     685
     686#color-panel h2 {
     687    margin-top: 0;
     688    margin-bottom: 10px;
     689    font-size: 20px;
     690    font-weight: bold;
     691}
     692
     693.color-option {
     694    display: flex;
     695    flex-direction: row;
     696    align-items: center;
     697    margin-bottom: 10px;
     698}
     699
     700.color-option label {
     701    margin-right: 10px;
     702    font-weight: bold;
     703    flex: 0 0 calc(100% - 60px);
     704}
     705
     706.color-option input[type="color"] {
     707    margin-right: 10px;
     708    width: 40px;
     709    height: 40px;
     710    border: none;
     711    border-radius: 50%;
     712    padding: 0;
     713}
     714
     715#save-colors-btn {
     716    background-color: var(--cf-button-bg);
     717    color: var(--cf-button-text);
     718    border: none;
     719    border-radius: 5px;
     720    padding: 10px 20px;
     721    font-size: 16px;
     722    font-weight: bold;
     723    cursor: pointer;
     724    transition: background-color 0.3s ease-in-out;
     725    margin-top: 20px;
     726}
     727
     728#save-colors-btn:hover{
     729    background-color: var(--cf-button-hover-bg);
     730    color: var(--cf-button-hover-text);
     731}
     732
     733.color-option input[type=color]::-webkit-color-swatch {
     734    border-radius: 50%;
     735}
     736.color-option input[type="color" i]::-webkit-color-swatch-wrapper {
     737    padding: 0;
     738}
     739
     740body.conv-form .gform_confirmation_message {
     741    display: flex;
     742    flex-direction: column;
     743    justify-content: center;
     744    animation-duration: .5s;
     745    /* animation-delay: .2s; */
     746    min-height: calc(100vh - 90px);
     747    max-width: 720px;
     748    width: 80%;
     749    margin: auto;
     750    font-size: var(--cf-fs-label);
     751    color: var(--cf-confirmation-text);
     752    text-align: center;
     753}
     754
     755.gfa-loading {
     756    opacity: 0 !important;
     757}
     758
     759body.conv-form  .gform_wrapper .gform_page_footer .button,
     760body.conv-form  .gform_wrapper .gform_page_footer button,
     761body.conv-form  .gform_wrapper .gform_page_footer input.gform_next_button,
     762body.conv-form  .gform_wrapper .gform_page_footer input.gform_previous_button{ 
     763    transition: all 0.3s ease;
     764}
     765
     766
     767body.conv-form  .gform_wrapper  .gpoll_field_label {
     768    font-weight: 600;
     769    font-size: 22px;
     770    margin-top: 15px;
     771}
     772
     773@keyframes border-pulse {
     774    0% {
     775        box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.9);
     776    }
     777    70% {
     778        box-shadow: 0 0 0 15px rgba(0, 123, 255, 0);
     779    }
     780    100% {
     781        box-shadow: 0 0 0 0 rgba(0, 123, 255, 0);
     782    }
     783}
     784
     785@media screen and (max-width: 1024px) {
     786    body.conv-form .conv-intro .conv-intro-container .conv-intro-title {
     787        font-size: var(--cf-fs-heading-medium);
     788    }
     789
     790    body.conv-form .gsection_title {
     791        font-size: var(--cf-fs-heading-medium);
     792    }
     793
     794    body.conv-form .conv-intro .conv-intro-container .conv-intro-enter {
     795        font-size: var(--cf-fs-text-medium);
     796    }
     797
     798    body.conv-form  .gform_wrapper .gfield.conv_enabled .ginput_container.ginput_container_fileupload .gform_drop_area .gform_button_select_files,
     799    body.conv-form  .gform_wrapper .gfield_checkbox button,
     800    body.conv-form  .gform_wrapper .gform_body .gform_fields .gfield.conv_enabled input[type=submit],
     801    body.conv-form  .gform_wrapper .gform_footer button, body.conv-form  .gform_wrapper .gform_footer input,
     802    body.conv-form  .gform_wrapper .gform_page_footer .button,
     803    body.conv-form  .gform_wrapper .gform_page_footer button,
     804    body.conv-form  .gform_wrapper .gform_page_footer input,
     805    body.conv-form  .gform_wrapper .gform_page_footer input.gform_next_button,
     806    body.conv-form  .gform_wrapper .gform_page_footer input.gform_previous_button,
     807    body.conv-form .conv-intro .conv-intro-container button.conv-intro-btn {
     808        font-size: var(--cf-fs-text-medium);
     809    }
     810
     811    body.conv-form .gform_wrapper .gfield_label {
     812        font-size: var(--cf-fs-label-medium);
     813    }
     814
     815    body.conv-form .gform_confirmation_message {
     816        font-size: var(--cf-fs-label-medium);
     817    }
     818
     819    body.conv-form .gform_body .gform_page_fields input[type="email"],
     820    body.conv-form .gform_body .gform_page_fields input[type="tel"],
     821    body.conv-form .gform_body .gform_page_fields input[type="text"],
     822    body.conv-form .gform_body .gform_page_fields input[type="password"],
     823    body.conv-form .gform_body .gform_page_fields input[type="url"],
     824    body.conv-form .gform_body .gform_page_fields input[type="number"],
     825    body.conv-form .gform_body .gform_page_fields textarea,
     826    body.conv-form .gform_body .gform_page_fields select {
     827        font-size: var(--cf-fs-input-medium);
     828    }
     829}
     830
     831@media screen and (max-width: 767px) {
     832   
     833    body.conv-form .conv-form-container h1.conv-intro-title {
     834        font-size: 7vw;
     835        white-space: nowrap;
     836        padding: 10px;
     837        text-overflow: ellipsis;
     838        overflow: hidden;
     839    }
     840   
     841    body.conv-form .conv-intro .conv-intro-container .conv-intro-title {
     842        font-size: var(--cf-fs-heading-small);
     843    }
     844
     845    body.conv-form .gsection_title {
     846        font-size: var(--cf-fs-heading-small);
     847    }
     848
     849    body.conv-form .conv-intro .conv-intro-container .conv-intro-enter {
     850        font-size: var(--cf-fs-text-small);
     851    }
     852
     853    body.conv-form  .gform_wrapper .gfield.conv_enabled .ginput_container.ginput_container_fileupload .gform_drop_area .gform_button_select_files,
     854    body.conv-form  .gform_wrapper .gfield_checkbox button,
     855    body.conv-form  .gform_wrapper .gform_body .gform_fields .gfield.conv_enabled input[type=submit],
     856    body.conv-form  .gform_wrapper .gform_footer button, body.conv-form  .gform_wrapper .gform_footer input,
     857    body.conv-form  .gform_wrapper .gform_page_footer .button,
     858    body.conv-form  .gform_wrapper .gform_page_footer button,
     859    body.conv-form  .gform_wrapper .gform_page_footer input,
     860    body.conv-form  .gform_wrapper .gform_page_footer input.gform_next_button,
     861    body.conv-form  .gform_wrapper .gform_page_footer input.gform_previous_button,
     862    body.conv-form .conv-intro .conv-intro-container button.conv-intro-btn {
     863        font-size: var(--cf-fs-text-small);
     864    }
     865
     866    body.conv-form .gform_wrapper .gfield_label {
     867        font-size: var(--cf-fs-label-small);
     868    }
     869
     870    body.conv-form .gform_confirmation_message {
     871        font-size: var(--cf-fs-label-small);
     872    }
     873
     874    body.conv-form .gform_body .gform_page_fields input[type="email"],
     875    body.conv-form .gform_body .gform_page_fields input[type="tel"],
     876    body.conv-form .gform_body .gform_page_fields input[type="text"],
     877    body.conv-form .gform_body .gform_page_fields input[type="password"],
     878    body.conv-form .gform_body .gform_page_fields input[type="url"],
     879    body.conv-form .gform_body .gform_page_fields input[type="number"],
     880    body.conv-form .gform_body .gform_page_fields textarea,
     881    body.conv-form .gform_body .gform_page_fields select {
     882        font-size: var(--cf-fs-input-small);
     883    }
     884}
  • auto-advance-for-gravity-forms/trunk/freemius/includes/class-freemius.php

    r2955716 r2978325  
    15321532            $this->add_filter( 'after_code_type_change', array( &$this, '_after_code_type_change' ) );
    15331533
    1534             add_action( 'admin_init', array( &$this, '_add_trial_notice' ) );
    1535             add_action( 'admin_init', array( &$this, '_add_affiliate_program_notice' ) );
     1534            add_action( 'admin_init', array( &$this, '_add_trial_notice' ) ); // @phpstan-ignore-line
     1535            add_action( 'admin_init', array( &$this, '_add_affiliate_program_notice' ) ); // @phpstan-ignore-line
    15361536            add_action( 'admin_enqueue_scripts', array( &$this, '_enqueue_common_css' ) );
    15371537
     
    16431643         * @since 2.2.3
    16441644         *
    1645          * @return string
     1645         * @return void
    16461646         */
    16471647        static function _prepend_fs_allow_updater_and_dialog_flag_url_param() {
     
    34933493         */
    34943494        static function get_unfiltered_site_url( $blog_id = null, $strip_protocol = false, $add_trailing_slash = false ) {
     3495            $url = ( ! is_multisite() && defined( 'WP_SITEURL' ) ) ? WP_SITEURL : self::get_site_url_from_wp_option( $blog_id );
     3496
     3497            if ( $strip_protocol ) {
     3498                $url = fs_strip_url_protocol( $url );
     3499            }
     3500
     3501            if ( $add_trailing_slash ) {
     3502                $url = trailingslashit( $url );
     3503            }
     3504
     3505            return $url;
     3506        }
     3507
     3508        /**
     3509         * @author Leo Fajardo (@leorw)
     3510         * @since 2.6.0
     3511         *
     3512         * @param int|null $blog_id
     3513         *
     3514         * @return string
     3515         */
     3516        private static function get_site_url_from_wp_option( $blog_id = null ) {
    34953517            global $wp_filter;
    34963518
     
    35173539                    $wp_filter[ $hook_name ] = $site_url_filter;
    35183540                }
    3519             }
    3520 
    3521             if ( $strip_protocol ) {
    3522                 $url = fs_strip_url_protocol( $url );
    3523             }
    3524 
    3525             if ( $add_trailing_slash ) {
    3526                 $url = trailingslashit( $url );
    35273541            }
    35283542
     
    40814095
    40824096            if ( function_exists( 'random_int' ) ) {
    4083                 $random = random_int( $min, $max );
     4097                $random = random_int( $min, $max ); // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.random_intFound
    40844098            } else {
    40854099                $random = rand( $min, $max );
     
    44004414
    44014415            // Get the UTF encoded domain name.
    4402             $domain = idn_to_ascii( $parts[1] ) . '.';
     4416            /**
     4417             * @note - The check of `defined('...')` is there to account for PHP servers compiled with some older version of ICU where the constants are not defined.
     4418             * @author - @swashata
     4419             */
     4420            $is_new_idn_available = (
     4421                version_compare( PHP_VERSION, '5.6.40') > 0 &&
     4422                defined( 'IDNA_DEFAULT' ) &&
     4423                defined( 'INTL_IDNA_VARIANT_UTS46' )
     4424            );
     4425            if ( $is_new_idn_available ) {
     4426                $domain = idn_to_ascii( $parts[1], IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46 );
     4427            } else {
     4428                $domain = idn_to_ascii( $parts[1] );  // phpcs:ignore PHPCompatibility.ParameterValues.NewIDNVariantDefault.NotSet
     4429            }
     4430
     4431            $domain = $domain . '.';
    44034432
    44044433            return ( checkdnsrr( $domain, 'MX' ) || checkdnsrr( $domain, 'A' ) );
     
    56165645            }
    56175646
    5618             if ( $this->is_registered() ) {
    5619                 if ( ! $this->is_addon() ) {
    5620                     add_action(
    5621                         is_admin() ? 'admin_init' : 'init',
    5622                         array( &$this, '_plugin_code_type_changed' )
    5623                     );
    5624                 }
    5625 
    5626                 if ( $this->is_premium() ) {
    5627                     // Purge cached payments after switching to the premium version.
    5628                     // @todo This logic doesn't handle purging the cache for serviceware module upgrade.
    5629                     $this->get_api_user_scope()->purge_cache( "/plugins/{$this->_module_id}/payments.json?include_addons=true" );
    5630                 }
     5647            if ( ! $this->is_addon() ) {
     5648                add_action(
     5649                    is_admin() ? 'admin_init' : 'init',
     5650                    array( &$this, '_plugin_code_type_changed' )
     5651                );
     5652            }
     5653
     5654            if ( $this->is_registered() && $this->is_premium() ) {
     5655                // Purge cached payments after switching to the premium version.
     5656                // @todo This logic doesn't handle purging the cache for serviceware module upgrade.
     5657                $this->get_api_user_scope()->purge_cache( "/plugins/{$this->_module_id}/payments.json?include_addons=true" );
    56315658            }
    56325659        }
     
    56925719            }
    56935720
    5694             // Schedule code type changes event.
    5695             $this->schedule_install_sync();
     5721            if ( $this->is_registered() ) {
     5722                // Schedule code type changes event.
     5723                $this->schedule_install_sync();
     5724            }
    56965725
    56975726            /**
     
    999110020         * @param string $caller
    999210021         *
    9993          * @return string
     10022         * @return void
    999410023         */
    999510024        function set_basename( $is_premium, $caller ) {
     
    1241712446            $install_2_blog_map = array();
    1241812447            foreach ( $blog_2_install_map as $blog_id => $install ) {
    12419                 $params[] = array( 'id' => $install->id );
     12448                $params[] = array( 'id' => $install->id, 'url' => $install->url );
    1242012449
    1242112450                $install_2_blog_map[ $install->id ] = $blog_id;
     
    1669816727         * @return FS_User|false
    1669916728         */
    16700         static function _get_user_by_email( $email ) {
     16729        public static function _get_user_by_email( $email ) {
    1670116730            self::$_static_logger->entrance();
    1670216731
     
    1787217901         * @param bool      $redirect
    1787317902         *
    17874          * @return string If redirect is `false`, returns the next page the user should be redirected to.
     17903         * @return void
    1787517904         */
    1787617905        private function install_many_pending_with_user(
     
    2326623295
    2326723296        /**
     23297         * Adds CSS classes for the body tag in the admin.
     23298         *
     23299         * @param string $classes Space-separated string of class names.
     23300         *
     23301         * @return string $classes FS Admin body tag class names.
     23302         */
     23303        public function fs_addons_body_class( $classes ) {
     23304            $classes .= ' plugins-php';
     23305            return $classes;
     23306        }
     23307
     23308        /**
    2326823309         * Account page resources load.
    2326923310         *
     
    2328123322                wp_enqueue_script( 'plugin-install' );
    2328223323                add_thickbox();
    23283 
    23284                 function fs_addons_body_class( $classes ) {
    23285                     $classes .= ' plugins-php';
    23286 
    23287                     return $classes;
    23288                 }
    23289 
    23290                 add_filter( 'admin_body_class', 'fs_addons_body_class' );
     23324                add_filter( 'admin_body_class', array( $this, 'fs_addons_body_class' ) );
    2329123325            }
    2329223326
     
    2342323457            wp_enqueue_script( 'plugin-install' );
    2342423458            add_thickbox();
    23425 
    23426             function fs_addons_body_class( $classes ) {
    23427                 $classes .= ' plugins-php';
    23428 
    23429                 return $classes;
    23430             }
    23431 
    23432             add_filter( 'admin_body_class', 'fs_addons_body_class' );
     23459            add_filter( 'admin_body_class', array( $this, 'fs_addons_body_class' ) );
    2343323460
    2343423461            if ( ! $this->is_registered() && $this->is_org_repo_compliant() ) {
  • auto-advance-for-gravity-forms/trunk/freemius/includes/debug/class-fs-debug-bar-panel.php

    r2314702 r2978325  
    1111    }
    1212
    13     /**
    14      * Extends Debug Bar plugin by adding a panel to show all Freemius API requests.
    15      *
    16      * @author Vova Feldman (@svovaf)
    17      * @since  1.1.7.3
    18      *
    19      * Class Freemius_Debug_Bar_Panel
    20      */
    21     class Freemius_Debug_Bar_Panel extends Debug_Bar_Panel {
    22         function init() {
    23             $this->title( 'Freemius' );
    24         }
     13    if ( class_exists( 'Debug_Bar_Panel' ) ) {
    2514
    26         static function requests_count() {
    27             if ( class_exists( 'Freemius_Api_WordPress' ) ) {
    28                 $logger = Freemius_Api_WordPress::GetLogger();
    29             } else {
    30                 $logger = array();
     15        /**
     16         * Extends Debug Bar plugin by adding a panel to show all Freemius API requests.
     17         *
     18         * @author Vova Feldman (@svovaf)
     19         * @since  1.1.7.3
     20         *
     21         * Class Freemius_Debug_Bar_Panel
     22         */
     23        class Freemius_Debug_Bar_Panel extends Debug_Bar_Panel {
     24
     25            public function init() {
     26                $this->title( 'Freemius' ); // @phpstan-ignore-line
    3127            }
    3228
    33             return number_format( count( $logger ) );
    34         }
     29            public static function requests_count() {
     30                if ( class_exists( 'Freemius_Api_WordPress' ) ) {
     31                    $logger = Freemius_Api_WordPress::GetLogger();
     32                } else {
     33                    $logger = array();
     34                }
    3535
    36         static function total_time() {
    37             if ( class_exists( 'Freemius_Api_WordPress' ) ) {
    38                 $logger = Freemius_Api_WordPress::GetLogger();
    39             } else {
    40                 $logger = array();
     36                return number_format( count( $logger ) );
    4137            }
    4238
    43             $total_time = .0;
    44             foreach ( $logger as $l ) {
    45                 $total_time += $l['total'];
     39            public static function total_time() {
     40                if ( class_exists( 'Freemius_Api_WordPress' ) ) {
     41                    $logger = Freemius_Api_WordPress::GetLogger();
     42                } else {
     43                    $logger = array();
     44                }
     45
     46                $total_time = .0;
     47                foreach ( $logger as $l ) {
     48                    $total_time += $l['total'];
     49                }
     50
     51                return number_format( 100 * $total_time, 2 ) . ' ' . fs_text_x_inline( 'ms', 'milliseconds' );
    4652            }
    4753
    48             return number_format( 100 * $total_time, 2 ) . ' ' . fs_text_x_inline( 'ms', 'milliseconds' );
    49         }
    50 
    51         function render() {
    52             ?>
    53             <div id='debug-bar-php'>
    54                 <?php fs_require_template( '/debug/api-calls.php' ) ?>
    55                 <br>
    56                 <?php fs_require_template( '/debug/scheduled-crons.php' ) ?>
    57                 <br>
    58                 <?php fs_require_template( '/debug/plugins-themes-sync.php' ) ?>
    59                 <br>
    60                 <?php fs_require_template( '/debug/logger.php' ) ?>
    61             </div>
    62         <?php
     54            public function render() {
     55                ?>
     56                <div id='debug-bar-php'>
     57                    <?php fs_require_template( '/debug/api-calls.php' ) ?>
     58                    <br>
     59                    <?php fs_require_template( '/debug/scheduled-crons.php' ) ?>
     60                    <br>
     61                    <?php fs_require_template( '/debug/plugins-themes-sync.php' ) ?>
     62                    <br>
     63                    <?php fs_require_template( '/debug/logger.php' ) ?>
     64                </div>
     65            <?php
     66            }
    6367        }
    6468    }
  • auto-advance-for-gravity-forms/trunk/freemius/includes/fs-core-functions.php

    r2955716 r2978325  
    12051205         * @param string $slug    Module slug for overrides.
    12061206         *
    1207          * @return string
     1207         * @return void
    12081208         */
    12091209        function fs_esc_js_echo_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
  • auto-advance-for-gravity-forms/trunk/freemius/includes/sdk/FreemiusWordPress.php

    r2955716 r2978325  
    474474                        if ( filter_var( $matches[1], FILTER_VALIDATE_IP ) ) {
    475475                            if ( strlen( inet_pton( $matches[1] ) ) === 16 ) {
    476 //                          error_log('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.');
    477                                 // Hook to an action triggered just before cURL is executed to resolve the IP version to v4.
     476                                /**
     477                                 * error_log('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.');
     478                                 * Hook to an action triggered just before cURL is executed to resolve the IP version to v4.
     479                                 *
     480                                 * @phpstan-ignore-next-line
     481                                 */
    478482                                add_action( 'http_api_curl', 'Freemius_Api_WordPress::CurlResolveToIPv4', 10, 1 );
    479483
  • auto-advance-for-gravity-forms/trunk/freemius/start.php

    r2955716 r2978325  
    1616     * @var string
    1717     */
    18     $this_sdk_version = '2.5.10';
     18    $this_sdk_version = '2.5.12';
    1919
    2020    #region SDK Selection Logic --------------------------------------------------------------------
  • auto-advance-for-gravity-forms/trunk/freemius/templates/forms/license-activation.php

    r2955716 r2978325  
    5353        $all_sites = Freemius::get_sites();
    5454
    55         $subsite_data_by_install_id = array();
    56         $install_url_by_install_id  = array();
     55        $all_site_details          = array();
     56        $subsite_url_by_install_id = array();
     57        $install_url_by_install_id = array();
    5758
    5859        foreach ( $all_sites as $site ) {
     
    6768
    6869            if ( is_object( $install ) ) {
    69                 if ( isset( $subsite_data_by_install_id[ $install->id ] ) ) {
    70                     $clone_subsite_data = $subsite_data_by_install_id[ $install->id ];
    71                     $clone_install_url  = $install_url_by_install_id[ $install->id ];
     70                if ( isset( $subsite_url_by_install_id[ $install->id ] ) ) {
     71                    $clone_subsite_url = $subsite_url_by_install_id[ $install->id ];
     72                    $clone_install_url = $install_url_by_install_id[ $install->id ];
    7273
    7374                    if (
     
    7879                         * @since 2.5.0
    7980                         */
    80                         fs_strip_url_protocol( untrailingslashit( $clone_install_url ) ) === fs_strip_url_protocol( untrailingslashit( $clone_subsite_data['url'] ) ) ||
     81                        fs_strip_url_protocol( untrailingslashit( $clone_install_url ) ) === fs_strip_url_protocol( untrailingslashit( $clone_subsite_url ) ) ||
    8182                        fs_strip_url_protocol( untrailingslashit( $install->url ) ) !== fs_strip_url_protocol( untrailingslashit( $site_details['url'] ) )
    8283                    ) {
     
    8990                }
    9091
    91                 $subsite_data_by_install_id[ $install->id ] = $site_details;
    92                 $install_url_by_install_id[ $install->id ]  = $install->url;
    93             }
     92                $subsite_url_by_install_id[ $install->id ] = $site_details['url'];
     93                $install_url_by_install_id[ $install->id ] = $install->url;
     94            }
     95
     96            $all_site_details[] = $site_details;
    9497        }
    9598
     
    97100            $vars = array(
    98101                'id'                  => $fs->get_id(),
    99                 'sites'               => array_values( $subsite_data_by_install_id ),
     102                'sites'               => $all_site_details,
    100103                'require_license_key' => true
    101104            );
  • auto-advance-for-gravity-forms/trunk/js/aafg_script.js

    r2699051 r2978325  
    1 var loaded_auto_advanced = 0;
    2 jQuery(document).ready(function() {
    3    
    4     if( jQuery("#toplevel_page_gf_edit_forms .auto-advance-for-gravity-forms.pricing.upgrade-mode").length > 0) {
    5         jQuery("#toplevel_page_gf_edit_forms .auto-advance-for-gravity-forms.pricing.upgrade-mode").parent().attr("href", "https://multipagepro.com/").attr("target", "_blank");
    6     }
    7    
    8 });
    9 
    10 jQuery(document).bind('gform_page_loaded', function(event, form_id, current_page){         
    11     /*bind_advanced_events("Loaded");
    12     perform_hiding_operations();*/
    13 });
    141jQuery(document).bind('gform_post_render', function(){
    15     bind_advanced_events("Post Render");
    162    perform_hiding_operations();
    173});
     
    195function perform_hiding_operations() {
    206   
    21     if( jQuery(".gform_page").length > 0 ) {       
    22         jQuery(".gform_page").each(function() {                     
    23             if( jQuery(this).find(".hide-next-button").length > 0 ) {   
    24                 jQuery(this).find(".gform_next_button").removeClass('make_visible');
    25                 jQuery(this).find(".gform_next_button").addClass('keep_hidden');               
     7    if( jQuery('.gform_page').length > 0 ) {       
     8        jQuery('.gform_page').each(function() {                     
     9            if( jQuery(this).find('.hide-next-button').length > 0 ) {
     10                jQuery(this).find('.gform_next_button').removeClass('make_visible');
     11                jQuery(this).find('.gform_next_button').addClass('keep_hidden');               
    2612            }
    2713            else {
    28                 jQuery(this).find(".gform_next_button").removeClass('keep_hidden');
     14                jQuery(this).find('.gform_next_button').removeClass('keep_hidden');
    2915            }
    3016           
    31             if( jQuery(this).find(".hide-previous-button").length > 0 ) {               
    32                 jQuery(this).find(".gform_previous_button").removeClass('make_visible');               
    33                 jQuery(this).find(".gform_previous_button").addClass('keep_hidden');               
     17            if( jQuery(this).find('.hide-previous-button').length > 0 ) {               
     18                jQuery(this).find('.gform_previous_button').removeClass('make_visible');               
     19                jQuery(this).find('.gform_previous_button').addClass('keep_hidden');               
    3420            }
    3521            else {
    36                 jQuery(this).find(".gform_previous_button").removeClass('keep_hidden');
    37                 jQuery(this).find(".gform_previous_button").addClass('make_visible');   
     22                jQuery(this).find('.gform_previous_button').removeClass('keep_hidden');
     23                jQuery(this).find('.gform_previous_button').addClass('make_visible');   
    3824            }
    3925           
    40             if( jQuery(this).find(".hide-submit-button").length > 0 ) {             
    41                 jQuery(this).find(".gform_button").removeClass('make_visible');             
    42                 jQuery(this).find(".gform_button").addClass('keep_hidden');             
     26            if( jQuery(this).find('.hide-next-button').length > 0 ) {               
     27                jQuery(this).find('.gform_button').removeClass('make_visible');             
     28                jQuery(this).find('.gform_button').addClass('keep_hidden');             
    4329            }
    4430            else {
    45                 jQuery(this).find(".gform_button").removeClass('keep_hidden'); 
    46                 jQuery(this).find(".gform_button").addClass('make_visible');   
     31                jQuery(this).find('.gform_button').removeClass('keep_hidden'); 
     32                jQuery(this).find('.gform_button').addClass('make_visible');   
    4733            }
    4834        });
    4935    }
    5036   
    51     if( jQuery(".gform_wrapper").length > 0 && ! jQuery(".gform_page").length > 0 ){   
     37    if( jQuery('.gform_wrapper').length > 0 && ! jQuery('.gform_page').length > 0 ){   
    5238   
    53         jQuery(".gform_wrapper").each(function() {                                 
    54             if( jQuery(this).find(".hide-submit-button").length > 0 ) {             
    55                 jQuery(this).find(".gform_button").removeClass('make_visible');             
    56                 jQuery(this).find(".gform_button").addClass('keep_hidden');             
     39        jQuery('.gform_wrapper').each(function() {                                 
     40            if( jQuery(this).find('.hide-submit-button').length > 0 ) {             
     41                jQuery(this).find('.gform_button').removeClass('make_visible');             
     42                jQuery(this).find('.gform_button').addClass('keep_hidden');             
    5743            }
    5844            else {
    59                 jQuery(this).find(".gform_button").removeClass('keep_hidden'); 
    60                 jQuery(this).find(".gform_button").addClass('make_visible');   
     45                jQuery(this).find('.gform_button').removeClass('keep_hidden'); 
     46                jQuery(this).find('.gform_button').addClass('make_visible');   
    6147            }
    6248        });
    6349       
    6450    }
     51
    6552}
    6653
    67 function bind_advanced_events(evt) {
     54
     55jQuery( document ).ready( function($) {
    6856   
    6957    var click_perform = true;
    7058   
    71     jQuery(".trigger-next-zzd input[type='radio']").click(function() {
     59    jQuery(document).on('click', ".trigger-next-zzd input[type='radio']", function() {
    7260       var $this = jQuery(this);
    7361       setTimeout(function() {
    7462           
    7563            if(click_perform) {
    76                 $this.trigger("change");
     64                $this.trigger('change');
    7765            }
    78             click_perform - true;
     66            click_perform = true;
    7967       }, 100);
    8068       
    8169   });
    82    
    83    jQuery(".trigger-next-zzd input[type='radio'], .trigger-next-zzd select").change(function() {
    84         var process = true;
    85         var buttonshow = false;
    86         var $this = jQuery(this);
     70
     71
     72    jQuery(document).on ('change', ".trigger-next-zzd input[type='radio'], .trigger-next-zzd select", function() {
    8773       
    8874        click_perform = false;
    8975       
    90         if( typeof lookup_fields == "function" ) {
    91             lookup = lookup_fields($this);
    92             process = lookup.process;
    93             buttonshow = lookup.buttonshow;
    94         }
    95        
    96         if(process) {
    97             setTimeout( function() {               
    98                 $this.parents("form").trigger("submit", [true]);
    99             }, 200 );
    100         }
    101        
    102         if( buttonshow ) {
    103             var parents;
    104             if( jQuery(this).parents(".gform_page").length > 0 ) {
    105                 parents = jQuery(this).parents(".gform_page");             
    106             }
    107             else {
    108                 parents = jQuery(this).parents(".gform_wrapper");           
    109             }
    110            
    111             if(parents.find(".gform_next_button").length > 0) {
    112                 parents.find(".gform_next_button").removeClass("keep_hidden");
    113             }
    114             else if(parents.find("input[type='submit']").length > 0) {
    115                 parents.find("input[type='submit']").removeClass("keep_hidden");
    116             }
    117         }
    118         else {
    119             perform_hiding_operations();
    120         }
     76        setTimeout( function() {               
     77            $this.parents('form').trigger('submit', [true]);
     78        }, 200 );
    12179   });
    122            
    123 }
     80   
     81   
     82});
    12483
    12584
     
    13392
    13493
    135 
  • auto-advance-for-gravity-forms/trunk/readme.txt

    r2955716 r2978325  
    1111== Description ==
    1212
    13 The Multi Page Auto Advance plugin for Gravity Forms makes the form filling process quicker and more user friendly for visitors. The plugin gives an easy way to choose which field(s) trigger an auto advance to the next page of a multi-page form.
     13The Multi Page Auto Advance plugin for Gravity Forms makes the form filling process quicker and more user friendly for visitors. There are 3 options available:
    1414
    15 Works great when you want users to answer a question by making a selection and moving to the next question without needing to click the next button.
     15FREE:
     161. Auto advance for radio buttons, dropdown, polls and quizzes
     172. Hide/show next/previous/submit button
     18(does not work with Gravity Forms Conversational Add-On)
    1619
    17 Easily Enable auto advance in the field settings. [see the demo video](https://www.multipagepro.com/features)
     20Pro $39.99
     21Everything from Free +
     221. Works with products
     232. Works with check boxes (watch video)
     243. Works with text and number fields (watch video)
     252. Works with conditional logic
     263. Works with Gravity Forms Conversational Add-On
     274. Enable transition animations
     285. Adjust steps colors
    1829
    19 Enable auto advance in the field settings.
     30Plus (59.99)
     31Everything from Pro +
     32Conversational settings (watch video)
    2033
    21 == Basic Features ==
     34This plugin for WordPress and Gravity Forms completely transforms your boring forms into higher converting forms.
    2235
    23 - Advance automatically to the next page of a multi-page form
    24 - Option to submit the form on the last page selection without pressing submit
    25 - Easily hide next and previous buttons
    26 - Easily hide the submit button if using auto-submit
    27 - Works with dropdown and radio button fields
    28 - Works with quiz and poll fields
    29 - Works with survey fields
    30 - Works with Gravity Wiz Nested Forms plugin
    31 - Supports Ajax multi page forms
     36== Videos ==
    3237
    33 == Pro Features ==
     38[Here is the conversational settings video](https://youtu.be/LUk1OwOZb-0)
     39[Here is the text and number fields video](https://youtu.be/CXPq4270kA4)
    3440
    35 - Create the ability to show conditional fields for selected options.
    36 - Works with product fields
    37 
    38 Example:
     41== Example ==
    3942
    4043Pick your favorite color
     
    4447[Other triggers conditional field to enter favorite color manually and click next]
    4548
     49
    4650== RESOURCES: ==
     51
    4752Play with the Demos: [https://gformsdemo.com/gravity-forms-auto-advance-demo/](https://gformsdemo.com/gravity-forms-auto-advance-demo/)
    4853Watch Demo Video: [https://www.multipagepro.com/features](https://www.multipagepro.com/features)
     
    5055See Changelog & Upcoming Releases: [https://trello.com/b/z4vTvFop/multipage-auto-advance](https://trello.com/b/z4vTvFop/multipage-auto-advance)
    5156
    52 == Changelog ==
    53 4.5.4
    54 - Released SDK with security patches.
    5557
    56 == Videos ==
    57 
    58 Video Guide
    59 [youtube https://youtu.be/AyFpSWGsDRY]
    6058
    6159== Installation ==
Note: See TracChangeset for help on using the changeset viewer.