Plugin Directory

Changeset 2946705


Ignore:
Timestamp:
08/02/2023 03:07:38 PM (20 months ago)
Author:
funnelforms
Message:

-Added B2B e-mail validation
-UX improvements
-Bugfixes

Location:
funnelforms-free
Files:
503 added
29 edited

Legend:

Unmodified
Added
Removed
  • funnelforms-free/trunk/Funnelforms-free.php

    r2935043 r2946705  
    99Text Domain: funnelforms-free
    1010Domain Path: /languages/
    11 Version: 3.3.8.5
     11Version: 3.3.8.6
    1212*/
    1313
  • funnelforms-free/trunk/admin/edit_sidebar_elements/Kontaktformularbuilder_elements.php

    r2833737 r2946705  
    133133                array(
    134134                    'type' => 'checkbox',
     135                    'label' => __('B2B e-mail validation', 'funnelforms-free'),
     136                    'conditioned' => true,
     137                    'depending_field' => 'typ',
     138                    'depending_values' => array('text_type_mail'),
     139                    'details' => array(
     140                        'html' => false,
     141                        'saveObjectId' => 'questions',
     142                        'saveObjectIdField' => 'b2bMailValidation'
     143                    )
     144                ),
     145                array(
     146                    'type' => 'checkbox',
    135147                    'label' => __('Mr.', 'funnelforms-free'),
    136148                    'conditioned' => true,
  • funnelforms-free/trunk/admin/menus/physical_menus/Kontaktformularbuilder.php

    r2903697 r2946705  
    142142            array_push($echo_content, array('label' => __('No e-mail message specified!', 'funnelforms-free'), 'type' => 'af2_error', 'error_object' => '#af2_goto_kontaktformularbuilder_settings'));
    143143        }
    144         else if(!fnsf_af2_str_contains(strtolower($own_content['mailtext']), strtolower(__('[ANSWERS]', 'funnelforms-free')))) {
    145             array_push($echo_content, array('label' => __('The tag [ANSWERS] is not included in the e-mail message!', 'funnelforms-free'), 'type' => 'af2_error', 'error_object' => '#af2_goto_kontaktformularbuilder_settings'));
     144        else {
     145            require_once FNSF_AF2_MISC_FUNCTIONS_PATH;
     146            $translations = fnsf_af2GetAnswersTranslations();
     147            $gotAnswers = false;
     148            foreach($translations as $translation) {
     149                if(fnsf_af2_str_contains(strtolower($own_content['mailtext']), strtolower($translation))) $gotAnswers = true;
     150            }
     151            if(!$gotAnswers) {
     152                array_push($echo_content, array('label' => __('The tag [ANSWERS] is not included in the e-mail message!', 'funnelforms-free'), 'type' => 'af2_error', 'error_object' => '#af2_goto_kontaktformularbuilder_settings'));
     153            }
    146154        }
    147155        if(!isset($own_content['mailsubject']) || empty($own_content['mailsubject'])) {
  • funnelforms-free/trunk/admin/menus/physical_menus/Kontaktformularbuilder_settings.php

    r2903697 r2946705  
    113113            array_push($echo_content, array('label' => __('No e-mail message specified!', 'funnelforms-free'), 'type' => 'af2_error', 'error_object' => '.custom_builder_content_card_box [data-saveobjectid="mailtext"]'));
    114114        }
    115         else if(!fnsf_af2_str_contains(strtolower($own_content['mailtext']), strtolower(__('[ANSWERS]', 'funnelforms-free')))) {
    116             array_push($echo_content, array('label' => __('The tag [ANSWERS] is not included in the e-mail message!', 'funnelforms-free'), 'type' => 'af2_error', 'error_object' => '.custom_builder_content_card_box [data-saveobjectid="mailtext"]'));
     115        else {
     116            require_once FNSF_AF2_MISC_FUNCTIONS_PATH;
     117            $translations = fnsf_af2GetAnswersTranslations();
     118            $gotAnswers = false;
     119            foreach($translations as $translation) {
     120                if(fnsf_af2_str_contains(strtolower($own_content['mailtext']), strtolower($translation))) $gotAnswers = true;
     121            }
     122            if(!$gotAnswers) {
     123                array_push($echo_content, array('label' => __('The tag [ANSWERS] is not included in the e-mail message!', 'funnelforms-free'), 'type' => 'af2_error', 'error_object' => '.custom_builder_content_card_box [data-saveobjectid="mailtext"]'));
     124            }
    117125        }
    118126        if(!isset($own_content['mailsubject']) || empty($own_content['mailsubject'])) {
  • funnelforms-free/trunk/admin/menus/physical_menus/Leads_details.php

    r2833737 r2946705  
    7474                        }
    7575                /*  $label = isset($field['label']) && !empty($field['label']) ? $field['label'] : $field['id'];  */
    76                 $new_field = array( 'label' => $label, 'value' => $field['input'] );
     76                $val = $field['input'];
     77                if($field['input'] === 'true' || $field['input'] === true) $val = __('true', 'funnelforms-free');
     78                if($field['input'] === 'false' || $field['input'] === false) $val = __('false', 'funnelforms-free');
     79                $new_field = array( 'label' => $label, 'value' => $val );
    7780                array_push($lead_details_array, $new_field);
    7881            }
  • funnelforms-free/trunk/admin/views/menu/menu_types/custom.php

    r2856203 r2946705  
    1515        <div class="af2_decide_pro_div">
    1616            <h1><?php _e('This function is only included in Funnelforms Pro!', 'funnelforms-free'); ?></h1>
    17             <h1><?php _e('Choose Pro', 'funnelforms-free'); ?></h1>
     17            <h1 style="display: none;"><?php _e('Choose Pro', 'funnelforms-free'); ?></h1>
     18            <h5 style="
     19    text-align: center;
     20    margin-top: 10px;
     21    margin-bottom: 50px;
     22    white-space: break-spaces;
     23    max-width: 60%;
     24"><?php _e('Note: The Funnelforms Free and Pro version are two different plugins. You will receive the download link after purchasing the Pro version and then you can upload the plugin to your WordPress website.', 'funnelforms-free') ?></h5>
    1825            <a class="af2_btn_link" target="_blank" href="https://www.funnelforms.io/gopro">
    1926                <div class="af2_btn af2_btn_primary"><?php _e('Upgrade to Pro Version', 'funnelforms-free'); ?></div>
  • funnelforms-free/trunk/frontend/frontend.php

    r2907346 r2946705  
    12691269                            die();
    12701270                        }
     1271                        $cf_mail = trim($answer_block[$x]);
     1272
     1273                        // IF BUSINESS ?
     1274                        // Check if the email address contains invalid domains
     1275                        if(isset($form_question->b2bMailValidation) && ( $form_question->b2bMailValidation === 'true' || $form_question->b2bMailValidation === true )) {
     1276                            $invalid_domains = array(
     1277                                'hotmail.com',
     1278                                'gmail.com',
     1279                                'yahoo.co',
     1280                                'yahoo.com',
     1281                                'mailinator.com',
     1282                                'gmail.co.in',
     1283                                'aol.com',
     1284                                'yandex.com',
     1285                                'msn.com',
     1286                                'gawab.com',
     1287                                'inbox.com',
     1288                                'gmx.com',
     1289                                'outlook.de',
     1290                                'web.de',
     1291                                'rediffmail.com',
     1292                                'in.com',
     1293                                'live.com',
     1294                                'hotmail.co.uk',
     1295                                'hotmail.fr',
     1296                                'yahoo.fr',
     1297                                'wanadoo.fr',
     1298                                'comcast.net',
     1299                                'yahoo.co.uk',
     1300                                'yahoo.com.br',
     1301                                'yahoo.co.in',
     1302                                'rediffmail.com',
     1303                                'free.fr',
     1304                                'gmx.de',
     1305                                'yandex.ru',
     1306                                'ymail.com',
     1307                                'libero.it',
     1308                                'outlook.com',
     1309                                'uol.com.br',
     1310                                'bol.com.br',
     1311                                'mail.ru',
     1312                                'cox.net',
     1313                                'hotmail.it',
     1314                                'sbcglobal.net',
     1315                                'sfr.fr',
     1316                                'live.fr',
     1317                                'verizon.net',
     1318                                'live.co.uk',
     1319                                'googlemail.com',
     1320                                'yahoo.es',
     1321                                'ig.com.br',
     1322                                'live.nl',
     1323                                'bigpond.com',
     1324                                'terra.com.br',
     1325                                'yahoo.it',
     1326                                'neuf.fr',
     1327                                'yahoo.de',
     1328                                'live.com',
     1329                                'yahoo.de',
     1330                                'rocketmail.com',
     1331                                'att.net',
     1332                                'laposte.net',
     1333                                'facebook.com',
     1334                                'bellsouth.net',
     1335                                'yahoo.in',
     1336                                'hotmail.es',
     1337                                'charter.net',
     1338                                'yahoo.ca',
     1339                                'yahoo.com.au',
     1340                                'rambler.ru',
     1341                                'hotmail.de',
     1342                                'tiscali.it',
     1343                                'shaw.ca',
     1344                                'yahoo.co.jp',
     1345                                'sky.com',
     1346                                'earthlink.net',
     1347                                'optonline.net',
     1348                                'freenet.de',
     1349                                't-online.de',
     1350                                'aliceadsl.fr',
     1351                                'virgilio.it',
     1352                                'home.nl',
     1353                                'qq.com',
     1354                                'telenet.be',
     1355                                'me.com',
     1356                                'yahoo.com.ar',
     1357                                'tiscali.co.uk',
     1358                                'yahoo.com.mx',
     1359                                'gmx.net',
     1360                                'mail.com',
     1361                                'planet.nl',
     1362                                'tin.it',
     1363                                'live.it',
     1364                                'ntlworld.com',
     1365                                'arcor.de',
     1366                                'yahoo.co.id',
     1367                                'frontiernet.net',
     1368                                'hetnet.nl',
     1369                                'live.com.au',
     1370                                'yahoo.com.sg',
     1371                                'zonnet.nl',
     1372                                'club-internet.fr',
     1373                                'juno.com',
     1374                                'optusnet.com.au',
     1375                                'blueyonder.co.uk',
     1376                                'bluewin.ch',
     1377                                'skynet.be',
     1378                                'sympatico.ca',
     1379                                'windstream.net',
     1380                                'mac.com',
     1381                                'centurytel.net',
     1382                                'chello.nl',
     1383                                'live.ca',
     1384                                'aim.com',
     1385                                'bigpond.net.au'
     1386                            );
     1387
     1388                            $email_domain = strtolower(substr(strrchr($cf_mail, "@"), 1));
     1389
     1390                            if (in_array($email_domain, $invalid_domains)) {
     1391                                echo '<div class="af2_response_error" data-id="' . $x . '">'.__('Please enter a valid business email!', 'funnelforms-free').'</div>';
     1392                                die();
     1393                            }
     1394                        }
    12711395                    }
    12721396
     
    14151539        $mailtextString = sanitize_text_field($_POST['af2_queryString']);
    14161540        $mailtextUrl =   sanitize_url($_POST['af2_url']);
    1417         $mailtext = str_ireplace(__('[ANSWERS]', 'funnelforms-free'), $m_answers, $mailtext);
     1541
     1542        require_once FNSF_AF2_MISC_FUNCTIONS_PATH;
     1543        $translations = fnsf_af2GetAnswersTranslations();
     1544        foreach($translations as $translation) {
     1545            $mailtext = str_ireplace($translation, $m_answers, $mailtext);
     1546        }
    14181547        $mailtext = str_ireplace('[queryString]', $mailtextString, $mailtext);
    14191548        $mailtext = str_ireplace('[url]', $mailtextUrl, $mailtext);
     
    14511580                continue;
    14521581           
    1453             $mailtext = str_ireplace('[' . $form_question->id . ']', $answer_block[$x], $mailtext);
     1582            $mailtext = str_ireplace('[' . $form_question->id . ']', __($answer_block[$x], 'funnelforms-free'), $mailtext);
    14541583
    14551584           
  • funnelforms-free/trunk/languages/funnelforms-free-de_AT.po

    r2908793 r2946705  
    27712771msgid "Current"
    27722772msgstr "Aktuell"
     2773
     2774msgid "Note: The Funnelforms Free and Pro version are two different plugins. You will receive the download link after purchasing the Pro version and then you can upload the plugin to your WordPress website."
     2775msgstr "Hinweis: Die Funnelforms Free und Pro Version sind zwei verschiedene Plugins. Du wirst nach dem Kauf der Pro Version den Link zum Download erhalten und kannst dann das Plugin in deine WordPress Website hochladen."
     2776
     2777msgid "B2B e-mail validation"
     2778msgstr "B2B E-Mail Validierung"
     2779
     2780msgid "Please enter a valid business email!"
     2781msgstr "Bitte gib eine geschäftliche E-Mail Adresse an!"
     2782
     2783msgid "true"
     2784msgstr "wahr"
     2785
     2786msgid "false"
     2787msgstr "falsch"
  • funnelforms-free/trunk/languages/funnelforms-free-de_CH.po

    r2908793 r2946705  
    27712771msgid "Current"
    27722772msgstr "Aktuell"
     2773
     2774msgid "Note: The Funnelforms Free and Pro version are two different plugins. You will receive the download link after purchasing the Pro version and then you can upload the plugin to your WordPress website."
     2775msgstr "Hinweis: Die Funnelforms Free und Pro Version sind zwei verschiedene Plugins. Du wirst nach dem Kauf der Pro Version den Link zum Download erhalten und kannst dann das Plugin in deine WordPress Website hochladen."
     2776
     2777msgid "B2B e-mail validation"
     2778msgstr "B2B E-Mail Validierung"
     2779
     2780msgid "Please enter a valid business email!"
     2781msgstr "Bitte gib eine geschäftliche E-Mail Adresse an!"
     2782
     2783msgid "true"
     2784msgstr "wahr"
     2785
     2786msgid "false"
     2787msgstr "falsch"
  • funnelforms-free/trunk/languages/funnelforms-free-de_DE.po

    r2908793 r2946705  
    27712771msgid "Current"
    27722772msgstr "Aktuell"
     2773
     2774msgid "Note: The Funnelforms Free and Pro version are two different plugins. You will receive the download link after purchasing the Pro version and then you can upload the plugin to your WordPress website."
     2775msgstr "Hinweis: Die Funnelforms Free und Pro Version sind zwei verschiedene Plugins. Du wirst nach dem Kauf der Pro Version den Link zum Download erhalten und kannst dann das Plugin in deine WordPress Website hochladen."
     2776
     2777msgid "B2B e-mail validation"
     2778msgstr "B2B E-Mail Validierung"
     2779
     2780msgid "Please enter a valid business email!"
     2781msgstr "Bitte gib eine geschäftliche E-Mail Adresse an!"
     2782
     2783msgid "true"
     2784msgstr "wahr"
     2785
     2786msgid "false"
     2787msgstr "falsch"
  • funnelforms-free/trunk/languages/funnelforms-free-de_DE_formal.po

    r2908793 r2946705  
    27712771msgid "Current"
    27722772msgstr "Aktuell"
     2773
     2774msgid "Note: The Funnelforms Free and Pro version are two different plugins. You will receive the download link after purchasing the Pro version and then you can upload the plugin to your WordPress website."
     2775msgstr "Hinweis: Die Funnelforms Free und Pro Version sind zwei verschiedene Plugins. Du wirst nach dem Kauf der Pro Version den Link zum Download erhalten und kannst dann das Plugin in deine WordPress Website hochladen."
     2776
     2777msgid "B2B e-mail validation"
     2778msgstr "B2B E-Mail Validierung"
     2779
     2780msgid "Please enter a valid business email!"
     2781msgstr "Bitte gib eine geschäftliche E-Mail Adresse an!"
     2782
     2783msgid "true"
     2784msgstr "wahr"
     2785
     2786msgid "false"
     2787msgstr "falsch"
  • funnelforms-free/trunk/languages/funnelforms-free-en_US.po

    r2908793 r2946705  
    27712771msgid "Current"
    27722772msgstr "Current"
     2773
     2774msgid "Note: The Funnelforms Free and Pro version are two different plugins. You will receive the download link after purchasing the Pro version and then you can upload the plugin to your WordPress website."
     2775msgstr "Note: The Funnelforms Free and Pro version are two different plugins. You will receive the download link after purchasing the Pro version and then you can upload the plugin to your WordPress website."
     2776
     2777msgid "B2B e-mail validation"
     2778msgstr "B2B e-mail validation"
     2779
     2780msgid "Please enter a valid business email!"
     2781msgstr "Please enter a valid business email!"
     2782
     2783msgid "true"
     2784msgstr "true"
     2785
     2786msgid "false"
     2787msgstr "false"
  • funnelforms-free/trunk/languages/funnelforms-free-en_US.pot

    r2908793 r2946705  
    27302730msgid "Current"
    27312731msgstr ""
     2732
     2733msgid "Note: The Funnelforms Free and Pro version are two different plugins. You will receive the download link after purchasing the Pro version and then you can upload the plugin to your WordPress website."
     2734msgstr ""
     2735
     2736msgid "B2B e-mail validation"
     2737msgstr ""
     2738
     2739msgid "Please enter a valid business email!"
     2740msgstr ""
     2741
     2742msgid "true"
     2743msgstr ""
     2744
     2745msgid "false"
     2746msgstr ""
  • funnelforms-free/trunk/languages/funnelforms-free-es_ES.po

    r2908793 r2946705  
    27942794msgid "Current"
    27952795msgstr "Actual"
     2796
     2797msgid "Note: The Funnelforms Free and Pro version are two different plugins. You will receive the download link after purchasing the Pro version and then you can upload the plugin to your WordPress website."
     2798msgstr "Nota: Funnelforms Free y Pro son dos plugins diferentes. Usted recibirá el enlace de descarga después de comprar la versión Pro y luego se puede subir el plugin a tu sitio web WordPress."
     2799
     2800msgid "B2B e-mail validation"
     2801msgstr "Validación de correo electrónico B2B"
     2802
     2803msgid "Please enter a valid business email!"
     2804msgstr "Por favor, introduzca una dirección de correo electrónico válida."
     2805
     2806msgid "true"
     2807msgstr "verdadero"
     2808
     2809msgid "false"
     2810msgstr "falso"
  • funnelforms-free/trunk/languages/funnelforms-free-fr_FR.po

    r2908793 r2946705  
    27802780msgid "Current"
    27812781msgstr "Actuel"
     2782
     2783msgid "Note: The Funnelforms Free and Pro version are two different plugins. You will receive the download link after purchasing the Pro version and then you can upload the plugin to your WordPress website."
     2784msgstr "Note : Les versions Free et Pro de Funnelforms sont deux plugins différents. Vous recevrez le lien de téléchargement après avoir acheté la version Pro et vous pourrez ensuite télécharger le plugin sur votre site WordPress."
     2785
     2786msgid "B2B e-mail validation"
     2787msgstr "Validation du courrier électronique B2B"
     2788
     2789msgid "Please enter a valid business email!"
     2790msgstr "Veuillez saisir un courriel professionnel valide !"
     2791
     2792msgid "true"
     2793msgstr "vrai"
     2794
     2795msgid "false"
     2796msgstr "faux"
  • funnelforms-free/trunk/languages/funnelforms-free-it_IT.po

    r2908793 r2946705  
    27792779msgid "Current"
    27802780msgstr "Attuale"
     2781
     2782msgid "Note: The Funnelforms Free and Pro version are two different plugins. You will receive the download link after purchasing the Pro version and then you can upload the plugin to your WordPress website."
     2783msgstr "Nota: Funnelforms Free e Pro sono due plugin diversi. Dopo aver acquistato la versione Pro, riceverete il link per il download e potrete caricare il plugin sul vostro sito WordPress."
     2784
     2785msgid "B2B e-mail validation"
     2786msgstr "Convalida delle e-mail B2B"
     2787
     2788msgid "Please enter a valid business email!"
     2789msgstr "Inserisci un'email aziendale valida!"
     2790
     2791msgid "true"
     2792msgstr "vero"
     2793
     2794msgid "false"
     2795msgstr "falso"
  • funnelforms-free/trunk/misc/constants.php

    r2935043 r2946705  
    139139
    140140// Other constants
    141 define( 'FNSF_AF2_FINAL_VERSION', '3.3.8.5' );
     141define( 'FNSF_AF2_FINAL_VERSION', '3.3.8.6' );
    142142define( 'FNSF_AF2_MENU_ICON_URL', plugins_url("/res/images/menu_icon.png", AF2F_PLUGIN) );
    143143define( 'FNSF_AF2_HEALTHCHECK_JSON', AF2F_PLUGIN_DIR."/res/backend/healthcheck.json");
  • funnelforms-free/trunk/misc/misc_functions.php

    r2903120 r2946705  
    6767    return $info['scheme'] . '://' . $info['host'] . $info['path'] . '?' . http_build_query( $query ? array_merge( $query, array($key => $value ) ) : array( $key => $value ) );
    6868}
     69
     70function fnsf_af2GetAnswersTranslations() {
     71    $supported_languages = array('de_AT', 'de_CH', 'de_DE', 'en_US', 'es_ES', 'fr_FR', 'it_IT', 'fr_FR');
     72
     73    $translations = array();
     74
     75    foreach ($supported_languages as $language) {
     76        switch_to_locale($language);
     77
     78        $translated_text = __('[ANSWERS]', 'funnelforms-free');
     79
     80        array_push($translations, $translated_text);
     81
     82        restore_previous_locale();
     83    }
     84
     85    return $translations;
     86}
  • funnelforms-free/trunk/readme.txt

    r2935043 r2946705  
    55Tested up to: 6.2
    66Requires PHP: 7.4
    7 Stable tag: 3.3.8.5
     7Stable tag: 3.3.8.6
    88License: GPLv2
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    246246== Changelog ==
    247247
     248= 3.3.8.6 - 02. August 2023 =
     249* Added B2B e-mail validation
     250* UX improvements
     251* Bugfixes
     252
    248253= 3.3.8.5 - 06. July 2023 =
    249254* Updated Freemius SDK to the latest version
  • funnelforms-free/trunk/res/backend/scripts/builder/physical_builder/kontaktformularbuilder.js

    r2833737 r2946705  
    3838    af2_builder_object.af2_save_object.questions = questions != null && questions != [] ? questions : [
    3939        {typ: 'text_type_name', icon: 'fas fa-user', label: '', placeholder: af2_kontaktformularbuilder_object.strings.name_placeholder, required: true, id: af2_kontaktformularbuilder_object.strings.name},
    40         {typ: 'text_type_mail', icon: 'fas fa-envelope', label: '', placeholder: af2_kontaktformularbuilder_object.strings.mail_placeholder, required: true, id: af2_kontaktformularbuilder_object.strings.mail},
     40        {typ: 'text_type_mail', icon: 'fas fa-envelope', label: '', placeholder: af2_kontaktformularbuilder_object.strings.mail_placeholder, required: true, id: af2_kontaktformularbuilder_object.strings.mail, b2bMailValidation: false},
    4141        {typ: 'text_type_phone', icon: 'fas fa-phone', label: '', required: true, id: af2_kontaktformularbuilder_object.strings.telefon},
    4242        {typ: 'checkbox_type', text: af2_kontaktformularbuilder_object.strings.checkbox_text, required: true, id: af2_kontaktformularbuilder_object.strings.checkbox}
  • funnelforms-free/trunk/res/backend/scripts/builder/physical_builder/kontaktformularbuilder_settings.js

    r2833737 r2946705  
    3737    af2_builder_object.af2_save_object.questions = questions != null && questions != [] ? questions : [
    3838        {typ: 'text_type_name', icon: 'fas fa-user', label: '', placeholder: af2_kontaktformularbuilder_settings_object.strings.name_placeholder, required: true, id: af2_kontaktformularbuilder_settings_object.strings.name},
    39         {typ: 'text_type_mail', icon: 'fas fa-envelope', label: '', placeholder: af2_kontaktformularbuilder_settings_object.strings.mail_placeholder, required: true, id: af2_kontaktformularbuilder_settings_object.strings.mail},
     39        {typ: 'text_type_mail', icon: 'fas fa-envelope', label: '', placeholder: af2_kontaktformularbuilder_settings_object.strings.mail_placeholder, required: true, id: af2_kontaktformularbuilder_settings_object.strings.mail, b2bMailValidation: false},
    4040        {typ: 'text_type_phone', icon: 'fas fa-phone', label: '', required: true, id: af2_kontaktformularbuilder_settings_object.strings.telefon},
    4141        {typ: 'checkbox_type', text: af2_kontaktformularbuilder_settings_object.strings.checkbox_text, required: true, id: af2_kontaktformularbuilder_settings_object.strings.checkbox}
Note: See TracChangeset for help on using the changeset viewer.