Plugin Directory

Changeset 3222918


Ignore:
Timestamp:
01/15/2025 01:03:19 PM (14 months ago)
Author:
yourownprogrammer
Message:

version 6.5.36

Location:
yop-poll
Files:
8 added
8 deleted
14 edited
22 copied

Legend:

Unmodified
Added
Removed
  • yop-poll/tags/6.5.36/admin/inc/maintenance.php

    r3198009 r3222918  
    258258        YOP_Poll_Settings::update_settings_to_version_6_5_35();
    259259        update_option( 'yop_poll_version', '6.5.35' );
     260    }
     261    public function update_to_version_6_5_36() {
     262        YOP_Poll_Settings::update_settings_to_version_6_5_36();
     263        update_option( 'yop_poll_version', '6.5.36' );
    260264    }
    261265    public function create_archive_page() {
  • yop-poll/tags/6.5.36/admin/models/polls.php

    r3148540 r3222918  
    77            $text_align_allowed = array( 'left', 'center', 'right' ),
    88            $yes_no_allowed = array( 'yes', 'no' ),
    9             $captcha_allowed = array( 'yes', 'yes-recaptcha', 'yes-recaptcha-invisible', 'yes-recaptcha-v3', 'yes-hcaptcha', 'no' ),
     9            $captcha_allowed = array( 'yes', 'yes-recaptcha', 'yes-recaptcha-invisible', 'yes-recaptcha-v3', 'yes-hcaptcha', 'yes-cloudflare-turnstile', 'no' ),
    1010            $answers_display_allowed = array( 'vertical', 'horizontal', 'columns' ),
    1111            $answers_sort_allowed = array( 'as-defined' ),
  • yop-poll/tags/6.5.36/admin/models/settings.php

    r3198009 r3222918  
    7878                ),
    7979                'hCaptcha' => array(
     80                    'enabled' => 'no',
     81                    'site-key' => '',
     82                    'secret-key' => '',
     83                ),
     84                'cloudflare-turnstile' => array(
    8085                    'enabled' => 'no',
    8186                    'site-key' => '',
     
    357362        update_option( 'yop_poll_settings', serialize( $current_settings ) );
    358363    }
     364    public static function update_settings_to_version_6_5_36() {
     365        $current_settings = unserialize( self::get_all_settings() );
     366        if ( false === isset( $current_settings['messages']['voting']['too-many-chars-for-custom-field'] ) ) {
     367            $current_settings['messages']['voting']['too-many-chars-for-custom-field'] = 'Text for {custom_field_name} is too long';
     368        }
     369        $current_settings['integrations']['cloudflare-turnstile']['enabled'] = 'no';
     370        $current_settings['integrations']['cloudflare-turnstile']['site-key'] = '';
     371        $current_settings['integrations']['cloudflare-turnstile']['secret-key'] = '';
     372        update_option( 'yop_poll_settings', serialize( $current_settings ) );
     373    }
    359374    public static function get_all_settings() {
    360375        if ( ( false === isset( self::$settings ) ) || ( '' === self::$settings ) ) {
     
    430445                    'site-key' => ( isset( $unserialized_settings['integrations'] ) && isset( $unserialized_settings['integrations']['hCaptcha'] ) && isset( $unserialized_settings['integrations']['hCaptcha']['site-key'] ) ) ? $unserialized_settings['integrations']['hCaptcha']['site-key'] : '',
    431446                    'secret-key' => ( isset( $unserialized_settings['integrations'] ) && isset( $unserialized_settings['integrations']['hCaptcha'] ) && isset( $unserialized_settings['integrations']['hCaptcha']['secret-key'] ) ) ? $unserialized_settings['integrations']['hCaptcha']['secret-key'] : '',
     447                ),
     448                'cloudflare-turnstile' => array(
     449                    'enabled' => ( isset( $unserialized_settings['integrations'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile']['enabled'] ) ) ? $unserialized_settings['integrations']['cloudflare-turnstile']['enabled'] : '',
     450                    'site-key' => ( isset( $unserialized_settings['integrations'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile']['site-key'] ) ) ? $unserialized_settings['integrations']['cloudflare-turnstile']['site-key'] : '',
     451                    'secret-key' => ( isset( $unserialized_settings['integrations'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile']['secret-key'] ) ) ? $unserialized_settings['integrations']['cloudflare-turnstile']['secret-key'] : '',
    432452                ),
    433453                'facebook' => array(
     
    559579                    self::$errors_present = true;
    560580                    self::$error_text = esc_html__( 'Data for "Secret Key" is invalid', 'yop-poll' );
     581                }
     582            }
     583            if (
     584                ( false === self::$errors_present ) &&
     585                ( ! isset( $settings->integrations->{'cloudflare-turnstile'}->{'enabled'} ) ||
     586                    ( '' === sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'enabled'} ) ) )
     587            ) {
     588                self::$errors_present = true;
     589                self::$error_text = esc_html__( 'Data for "Use Cloudflare Turnstile" is invalid', 'yop-poll' );
     590            }
     591            if ( 'yes' === $settings->integrations->{'cloudflare-turnstile'}->{'enabled'} ) {
     592                if ( ( false === isset( $settings->integrations->{'cloudflare-turnstile'}->{'site-key'} ) ) || ( '' === sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'site-key'} ) ) ) {
     593                    self::$errors_present = true;
     594                    self::$error_text = esc_html__( 'Data for "Site Key" is invalid', 'yop-poll' );
     595                }
     596                if ( ( false === isset( $settings->integrations->{'cloudflare-turnstile'}->{'secret-key'} ) ) || ( '' === sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'secret-key'} ) ) ) {
     597                    self::$errors_present = true;
     598                    self::$error_text = esc_html__( 'Data for "Secret Key" is invalid', 'yop-poll' );
    561599                }
    562600            }
     
    900938                        'site-key' => sanitize_text_field( $settings->integrations->hCaptcha->{'site-key'} ),
    901939                        'secret-key' => sanitize_text_field( $settings->integrations->hCaptcha->{'secret-key'} ),
     940                    ),
     941                    'cloudflare-turnstile' => array(
     942                        'enabled' => sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'enabled'} ),
     943                        'site-key' => sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'site-key'} ),
     944                        'secret-key' => sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'secret-key'} ),
    902945                    ),
    903946                    'facebook' => array(
  • yop-poll/tags/6.5.36/admin/models/votes.php

    r3198009 r3222918  
    5757        if ( ( false === self::$errors_present ) && ( 'yes-hcaptcha' === $poll->meta_data['options']['poll']['useCaptcha'] ) ) {
    5858            self::validate_hcaptcha( $vote, $poll );
     59        }
     60        if ( ( false === self::$errors_present ) && ( 'yes-cloudflare-turnstile' === $poll->meta_data['options']['poll']['useCaptcha'] ) ) {
     61            self::validate_cloudflare_turnstile( $vote, $poll );
    5962        }
    6063        if ( false === self::$errors_present ) {
     
    439442                    self::$error_text,
    440443                    self::$settings_messages['voting']['no-captcha-selected']
     444                );
     445            }
     446        }
     447    }
     448    public static function validate_cloudflare_turnstile( $vote, $poll ) {
     449        $captcha_result = false;
     450        if ( 'yes-cloudflare-turnstile' === $poll->meta_data['options']['poll']['useCaptcha'] ) {
     451            if ( '' !== $vote->reCaptcha ) {
     452                $post_link = 'https://challenges.cloudflare.com/turnstile/v0/siteverify';
     453                $integrations = YOP_Poll_Settings::get_integrations();
     454                $data = array(
     455                    'body' => array(
     456                        'secret' => $integrations['cloudflare-turnstile']['secret-key'],
     457                        'response' => $vote->reCaptcha,
     458                    ),
     459                );
     460                $response = wp_remote_post(
     461                    $post_link,
     462                    $data
     463                );
     464                if ( '200' === strval( wp_remote_retrieve_response_code( $response ) ) ) {
     465                    $response_decoded = json_decode( wp_remote_retrieve_body( $response ) );
     466                    if ( false === $response_decoded->success ) {
     467                        self::$errors_present = true;
     468                        array_push(
     469                            self::$error_text,
     470                            self::$settings_messages['voting']['no-captcha-selected']
     471                        );
     472                    }
     473                } else {
     474                    self::$errors_present = true;
     475                    array_push(
     476                        self::$error_text,
     477                        self::$settings_messages['voting']['no-captcha-selected']
     478                    );
     479                }
     480            } else {
     481                self::$errors_present = true;
     482                array_push(
     483                    self::$error_text,
     484                    self::$settings_messages['voting']['no-captcha-selected']
    441485                );
    442486            }
  • yop-poll/tags/6.5.36/admin/views/polls/add/options-poll.php

    r2815762 r3222918  
    219219                            <option value="yes-recaptcha-v3"><?php esc_html_e( 'Use reCaptcha v3', 'yop-poll' ); ?></option>
    220220                            <option value="yes-hcaptcha"><?php esc_html_e( 'Use hCaptcha', 'yop-poll' ); ?></option>
     221                            <option value="yes-cloudflare-turnstile"><?php esc_html_e( 'Use Cloudflare Turnstile', 'yop-poll' );?></option>
    221222                        </optgroup>
    222223                    </select>
  • yop-poll/tags/6.5.36/admin/views/polls/edit/options-poll.php

    r2815762 r3222918  
    333333                    $use_reCaptcha_v3_yes = '';
    334334                    $use_h_captcha = '';
     335                    $use_cloudflare_turnstile = '';
    335336                    $use_captcha_no = '';
    336337                    switch ( $poll->meta_data['options']['poll']['useCaptcha'] ) {
     
    353354                        case 'yes-hcaptcha': {
    354355                            $use_h_captcha = 'selected';
     356                            break;
     357                        }
     358                        case 'yes-cloudflare-turnstile': {
     359                            $use_cloudflare_turnstile = 'selected';
    355360                            break;
    356361                        }
     
    371376                            <option value="yes-recaptcha-v3"  <?php echo esc_attr( $use_reCaptcha_v3_yes ); ?>><?php esc_html_e( 'Use reCaptcha v3', 'yop-poll' ); ?></option>
    372377                            <option value="yes-hcaptcha"  <?php echo esc_attr( $use_h_captcha ); ?>><?php esc_html_e( 'Use hCaptcha', 'yop-poll' ); ?></option>
     378                            <option value="yes-cloudflare-turnstile"  <?php echo esc_attr( $use_cloudflare_turnstile ); ?>><?php esc_html_e( 'Use Cloudflare Turnstile', 'yop-poll' ); ?></option>
    373379                        </optgroup>
    374380                    </select>
  • yop-poll/tags/6.5.36/admin/views/settings/view.php

    r3198009 r3222918  
    296296                                                </div>
    297297                                            </div>
     298                                            <div class="row submenu" style="padding-top: 20px;">
     299                                                <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
     300                                                    <?php esc_html_e( 'Use Cloudflare Turnstile:', 'yop-poll' ); ?>
     301                                                </div>
     302                                                <div class="col-lg-9 col-md-9 col-sm-9 col-xs-9">
     303                                                    <?php
     304                                                    $cloudflare_turnstile_integration_yes = '';
     305                                                    $cloudflare_turnstile_integration_no = '';
     306                                                    $cloudflare_turnstile_data_section = '';
     307                                                    if ( ( true === isset( $settings['integrations']['cloudflare-turnstile']['enabled'] ) ) && ( 'yes' === $settings['integrations']['cloudflare-turnstile']['enabled'] ) ) {
     308                                                        $cloudflare_turnstile_integration_yes = 'selected';
     309                                                    } else {
     310                                                        $cloudflare_turnstile_integration_no = 'selected';
     311                                                        $cloudflare_turnstile_data_section = 'hide';
     312                                                    }
     313                                                    ?>
     314                                                    <select name="integrations-cloudflare-turnstile-enabled" id="integrations-cloudflare-turnstile-enabled" class="integrations-cloudflare-turnstile-enabled admin-select" style="width:100%">
     315                                                        <option value="yes" <?php echo esc_attr( $cloudflare_turnstile_integration_yes ); ?>><?php esc_html_e( 'Yes', 'yop-poll' ); ?></option>
     316                                                        <option value="no" <?php echo esc_attr( $cloudflare_turnstile_integration_no ); ?>><?php esc_html_e( 'No', 'yop-poll' ); ?></option>
     317                                                    </select>
     318                                                </div>
     319                                            </div>
     320                                            <div class="row submenu integrations-cloudflare-turnstile-section <?php echo esc_attr( $cloudflare_turnstile_data_section ); ?>" style="padding-top: 20px; margin-left: 20px;">
     321                                                <div class="col-md-12">
     322                                                    <div class="row">
     323                                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3 input-caption">
     324                                                            <?php esc_html_e( '- Site Key:', 'yop-poll' ); ?>
     325                                                        </div>
     326                                                        <div class="col-lg-9 col-md-9 col-sm-9 col-xs-9">
     327                                                            <input name="integrations-cloudflare-turnstile-site-key" id ="integrations-cloudflare-turnstile-site-key" class="form-control settings-required-field" value="<?php echo isset( $settings['integrations']['cloudflare-turnstile']['site-key'] ) ? esc_attr( $settings['integrations']['cloudflare-turnstile']['site-key'] ) : ''; ?>">
     328                                                        </div>
     329                                                    </div>
     330                                                    <div class="row" style="padding-top: 10px;">
     331                                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3 input-caption">
     332                                                            <?php esc_html_e( '- Secret Key:', 'yop-poll' ); ?>
     333                                                        </div>
     334                                                        <div class="col-lg-9 col-md-9 col-sm-9 col-xs-9">
     335                                                            <input name="integrations-cloudflare-turnstile-secret-key" id ="integrations-cloudflare-turnstile-secret-key" class="form-control settings-required-field" value="<?php echo isset( $settings['integrations']['cloudflare-turnstile']['secret-key'] ) ? esc_attr( $settings['integrations']['cloudflare-turnstile']['secret-key'] ) : ''; ?>">
     336                                                        </div>
     337                                                    </div>
     338                                                </div>
     339                                            </div>
    298340                                            <div class="row submenu" style="padding-top: 20px;">
    299341                                                <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
  • yop-poll/tags/6.5.36/languages/yop-poll.pot

    r3198009 r3222918  
    1 # Copyright (C) 2024 yourownprogrammer
     1# Copyright (C) 2025 yourownprogrammer
    22# This file is distributed under the GPL2.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: YOP Poll 6.5.35\n"
     5"Project-Id-Version: YOP Poll 6.5.36\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/yop-poll-free\n"
    7 "POT-Creation-Date: 2024-11-27 09:20:47+00:00\n"
     7"POT-Creation-Date: 2025-01-15 12:34:33+00:00\n"
    88"MIME-Version: 1.0\n"
    99"Content-Type: text/plain; charset=utf-8\n"
    1010"Content-Transfer-Encoding: 8bit\n"
    11 "PO-Revision-Date: 2024-MO-DA HO:MI+ZONE\n"
     11"PO-Revision-Date: 2025-MO-DA HO:MI+ZONE\n"
    1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    1313"Language-Team: LANGUAGE <LL@li.org>\n"
     
    278278msgstr ""
    279279
    280 #: admin/admin.php:827 admin/views/settings/view.php:386
     280#: admin/admin.php:827 admin/views/settings/view.php:428
    281281msgid "Voting"
    282282msgstr ""
     
    285285#: admin/views/polls/add/main.php:108 admin/views/polls/add/options-poll.php:40
    286286#: admin/views/polls/edit/main.php:124 admin/views/results/view.php:31
    287 #: admin/views/results/votes.php:47 admin/views/settings/view.php:391
     287#: admin/views/results/votes.php:47 admin/views/settings/view.php:433
    288288msgid "Results"
    289289msgstr ""
     
    631631
    632632#: admin/admin.php:2137 admin/admin.php:2140 admin/models/bans.php:435
    633 #: admin/models/polls.php:862 admin/models/settings.php:467
     633#: admin/models/polls.php:862 admin/models/settings.php:487
    634634msgid "Invalid data"
    635635msgstr ""
     
    758758msgstr ""
    759759
    760 #: admin/inc/maintenance.php:338
     760#: admin/inc/maintenance.php:342
    761761msgid "Click <a href=\""
    762762msgstr ""
    763763
    764 #: admin/inc/maintenance.php:338
     764#: admin/inc/maintenance.php:342
    765765msgid "here"
    766766msgstr ""
    767767
    768 #: admin/inc/maintenance.php:338
     768#: admin/inc/maintenance.php:342
    769769msgid "to start the import."
    770770msgstr ""
     
    822822#: admin/models/bans-list.php:217 admin/models/logs-list.php:259
    823823#: admin/models/logs.php:439 admin/models/votes-list.php:141
    824 #: admin/models/votes.php:1615
     824#: admin/models/votes.php:1659
    825825msgid "Date"
    826826msgstr ""
     
    833833#: admin/models/bans.php:73 admin/models/list-table.php:947
    834834#: admin/models/logs.php:96 admin/models/polls.php:128
    835 #: admin/models/votes.php:1294
     835#: admin/models/votes.php:1338
    836836msgid "Previous page"
    837837msgstr ""
     
    839839#: admin/models/bans.php:78 admin/models/list-table.php:977
    840840#: admin/models/logs.php:101 admin/models/polls.php:133
    841 #: admin/models/votes.php:1299
     841#: admin/models/votes.php:1343
    842842msgid "Next page"
    843843msgstr ""
     
    989989
    990990#: admin/models/logs-list.php:255 admin/models/logs.php:435
    991 #: admin/models/votes-list.php:138 admin/models/votes.php:1611
     991#: admin/models/votes-list.php:138 admin/models/votes.php:1655
    992992#: admin/views/bans/add.php:54 admin/views/bans/edit.php:106
    993993msgid "Username"
     
    995995
    996996#: admin/models/logs-list.php:256 admin/models/logs.php:436
    997 #: admin/models/votes-list.php:139 admin/models/votes.php:1612
     997#: admin/models/votes-list.php:139 admin/models/votes.php:1656
    998998#: admin/views/bans/add.php:51 admin/views/bans/edit.php:103
    999999msgid "Email"
     
    10011001
    10021002#: admin/models/logs-list.php:257 admin/models/logs.php:437
    1003 #: admin/models/votes-list.php:137 admin/models/votes.php:1613
     1003#: admin/models/votes-list.php:137 admin/models/votes.php:1657
    10041004msgid "User Type"
    10051005msgstr ""
     
    10101010
    10111011#: admin/models/logs-list.php:260 admin/models/logs.php:440
    1012 #: admin/views/polls/add/options-poll.php:295
    1013 #: admin/views/polls/edit/options-poll.php:472
     1012#: admin/views/polls/add/options-poll.php:296
     1013#: admin/views/polls/edit/options-poll.php:478
    10141014msgid "Message"
    10151015msgstr ""
     
    10191019msgstr ""
    10201020
    1021 #: admin/models/logs.php:438 admin/models/votes.php:1614
     1021#: admin/models/logs.php:438 admin/models/votes.php:1658
    10221022#: admin/views/bans/add.php:48 admin/views/bans/edit.php:100
    10231023msgid "IP"
     
    10281028msgstr ""
    10291029
    1030 #: admin/models/logs.php:451 admin/models/votes.php:1664
    1031 #: admin/models/votes.php:1697
     1030#: admin/models/logs.php:451 admin/models/votes.php:1708
     1031#: admin/models/votes.php:1741
    10321032msgid "Can't open php://output!"
    10331033msgstr ""
    10341034
    1035 #: admin/models/logs.php:453 admin/models/votes.php:1668
    1036 #: admin/models/votes.php:1704
     1035#: admin/models/logs.php:453 admin/models/votes.php:1712
     1036#: admin/models/votes.php:1748
    10371037msgid "Can't write header!"
    10381038msgstr ""
     
    10421042msgstr ""
    10431043
    1044 #: admin/models/logs.php:487 admin/models/votes.php:1677
    1045 #: admin/models/votes.php:1711
     1044#: admin/models/logs.php:487 admin/models/votes.php:1721
     1045#: admin/models/votes.php:1755
    10461046msgid "Can't close php://output!"
    10471047msgstr ""
     
    12981298
    12991299#: admin/models/polls.php:1273 admin/models/polls.php:1288
    1300 #: admin/models/settings.php:673
     1300#: admin/models/settings.php:711
    13011301msgid "Data for \"Minimum answers required\" is invalid"
    13021302msgstr ""
    13031303
    13041304#: admin/models/polls.php:1281 admin/models/polls.php:1305
    1305 #: admin/models/settings.php:681
     1305#: admin/models/settings.php:719
    13061306msgid "Data for \"Maximum answers required\" is invalid"
    13071307msgstr ""
     
    14591459msgstr ""
    14601460
    1461 #: admin/models/polls.php:2503 admin/views/settings/view.php:459
     1461#: admin/models/polls.php:2503 admin/views/settings/view.php:501
    14621462msgid "Invalid Poll"
    14631463msgstr ""
    14641464
    1465 #: admin/models/settings.php:517
     1465#: admin/models/settings.php:537
    14661466msgid "Data for \"Use Google reCaptcha\" is invalid"
    14671467msgstr ""
    14681468
    1469 #: admin/models/settings.php:522 admin/models/settings.php:532
    1470 #: admin/models/settings.php:542 admin/models/settings.php:556
     1469#: admin/models/settings.php:542 admin/models/settings.php:552
     1470#: admin/models/settings.php:562 admin/models/settings.php:576
     1471#: admin/models/settings.php:594
    14711472msgid "Data for \"Site Key\" is invalid"
    14721473msgstr ""
    14731474
    1474 #: admin/models/settings.php:526 admin/models/settings.php:536
    1475 #: admin/models/settings.php:546 admin/models/settings.php:560
     1475#: admin/models/settings.php:546 admin/models/settings.php:556
     1476#: admin/models/settings.php:566 admin/models/settings.php:580
     1477#: admin/models/settings.php:598
    14761478msgid "Data for \"Secret Key\" is invalid"
    14771479msgstr ""
    14781480
    1479 #: admin/models/settings.php:550
     1481#: admin/models/settings.php:570
    14801482msgid "Data for \"Min Allowed Score\" is invalid"
    14811483msgstr ""
    14821484
    1483 #: admin/models/settings.php:569
     1485#: admin/models/settings.php:589
     1486msgid "Data for \"Use Cloudflare Turnstile\" is invalid"
     1487msgstr ""
     1488
     1489#: admin/models/settings.php:607
    14841490msgid "Data for \"Use Facebook integration\" is invalid"
    14851491msgstr ""
    14861492
    1487 #: admin/models/settings.php:574 admin/models/settings.php:588
     1493#: admin/models/settings.php:612 admin/models/settings.php:626
    14881494msgid "Data for \"App ID\" is invalid"
    14891495msgstr ""
    14901496
    1491 #: admin/models/settings.php:583
     1497#: admin/models/settings.php:621
    14921498msgid "Data for \"Use Google integration\" is invalid"
    14931499msgstr ""
    14941500
    1495 #: admin/models/settings.php:592
     1501#: admin/models/settings.php:630
    14961502msgid "Data for \"App Secret\" is invalid"
    14971503msgstr ""
    14981504
    1499 #: admin/models/settings.php:601
     1505#: admin/models/settings.php:639
    15001506msgid "Data for \"Vote as anonymous\" is invalid"
    15011507msgstr ""
    15021508
    1503 #: admin/models/settings.php:609
     1509#: admin/models/settings.php:647
    15041510msgid "Data for \"Vote with your WordPress account\" is invalid"
    15051511msgstr ""
    15061512
    1507 #: admin/models/settings.php:617
     1513#: admin/models/settings.php:655
    15081514msgid "Data for \"Vote with your Facebook account\" is invalid"
    15091515msgstr ""
    15101516
    1511 #: admin/models/settings.php:625
     1517#: admin/models/settings.php:663
    15121518msgid "Data for \"Vote with your Google account\" is invalid"
    15131519msgstr ""
    15141520
    1515 #: admin/models/settings.php:633
     1521#: admin/models/settings.php:671
    15161522msgid "Data for \"Poll Ended\" is invalid"
    15171523msgstr ""
    15181524
    1519 #: admin/models/settings.php:641
     1525#: admin/models/settings.php:679
    15201526msgid "Data for \"Poll Not Started\" is invalid"
    15211527msgstr ""
    15221528
    1523 #: admin/models/settings.php:649
     1529#: admin/models/settings.php:687
    15241530msgid "Data for \"Already voted on poll\" is invalid"
    15251531msgstr ""
    15261532
    1527 #: admin/models/settings.php:657
     1533#: admin/models/settings.php:695
    15281534msgid "Data for \"Invalid Poll\" is invalid"
    15291535msgstr ""
    15301536
    1531 #: admin/models/settings.php:665
     1537#: admin/models/settings.php:703
    15321538msgid "Data for \"No Answer(s) selected\" is invalid"
    15331539msgstr ""
    15341540
    1535 #: admin/models/settings.php:689
     1541#: admin/models/settings.php:727
    15361542msgid "Data for \"No value for other\" is invalid"
    15371543msgstr ""
    15381544
    1539 #: admin/models/settings.php:697
     1545#: admin/models/settings.php:735
    15401546msgid "Data for \"No value for custom field\" is invalid"
    15411547msgstr ""
    15421548
    1543 #: admin/models/settings.php:705
     1549#: admin/models/settings.php:743
    15441550msgid "Data for \"Too many chars for custom field\" is invalid"
    15451551msgstr ""
    15461552
    1547 #: admin/models/settings.php:713
     1553#: admin/models/settings.php:751
    15481554msgid "Data for \"Consent not checked\" is invalid"
    15491555msgstr ""
    15501556
    1551 #: admin/models/settings.php:721
     1557#: admin/models/settings.php:759
    15521558msgid "Data for \"Captcha missing\" is invalid"
    15531559msgstr ""
    15541560
    1555 #: admin/models/settings.php:729
     1561#: admin/models/settings.php:767
    15561562msgid "Data for \"Vote not allowed by ban setting\" is invalid"
    15571563msgstr ""
    15581564
    1559 #: admin/models/settings.php:737
     1565#: admin/models/settings.php:775
    15601566msgid "Data for \"Vote not allowed by block setting\" is invalid"
    15611567msgstr ""
    15621568
    1563 #: admin/models/settings.php:745
     1569#: admin/models/settings.php:783
    15641570msgid "Data for \"Vote not allowed by limit setting\" is invalid"
    15651571msgstr ""
    15661572
    1567 #: admin/models/settings.php:753
     1573#: admin/models/settings.php:791
    15681574msgid "Data for \"Thank you for your vote\" is invalid"
    15691575msgstr ""
    15701576
    1571 #: admin/models/settings.php:761
     1577#: admin/models/settings.php:799
    15721578msgid "Data for \"Single Vote\" is invalid"
    15731579msgstr ""
    15741580
    1575 #: admin/models/settings.php:769
     1581#: admin/models/settings.php:807
    15761582msgid "Data for \"Multiple Votes\" is invalid"
    15771583msgstr ""
    15781584
    1579 #: admin/models/settings.php:777
     1585#: admin/models/settings.php:815
    15801586msgid "Data for \"Single Answer\" is invalid"
    15811587msgstr ""
    15821588
    1583 #: admin/models/settings.php:785
     1589#: admin/models/settings.php:823
    15841590msgid "Data for \"Multiple Answers\" is invalid"
    15851591msgstr ""
    15861592
    1587 #: admin/models/settings.php:793
     1593#: admin/models/settings.php:831
    15881594msgid "Data for \"Accessibility Alt\" is invalid"
    15891595msgstr ""
    15901596
    1591 #: admin/models/settings.php:801
     1597#: admin/models/settings.php:839
    15921598msgid "Data for \"Accessibility Title\" is invalid"
    15931599msgstr ""
    15941600
    1595 #: admin/models/settings.php:809
     1601#: admin/models/settings.php:847
    15961602msgid "Data for \"Accessibility Description\" is invalid"
    15971603msgstr ""
    15981604
    1599 #: admin/models/settings.php:817
     1605#: admin/models/settings.php:855
    16001606msgid "Data for \"Accessibility Explanation\" is invalid"
    16011607msgstr ""
    16021608
    1603 #: admin/models/settings.php:825
     1609#: admin/models/settings.php:863
    16041610msgid "Data for \"Refresh Alt\" is invalid"
    16051611msgstr ""
    16061612
    1607 #: admin/models/settings.php:833
     1613#: admin/models/settings.php:871
    16081614msgid "Data for \"Refresh Title\" is invalid"
    16091615msgstr ""
     
    16311637msgstr ""
    16321638
    1633 #: admin/models/votes.php:1673 admin/models/votes.php:1708
     1639#: admin/models/votes.php:1717 admin/models/votes.php:1752
    16341640msgid "Can't write votes!"
    16351641msgstr ""
     
    16751681
    16761682#: admin/views/general/migrate-old-tables.php:15
    1677 #: admin/views/polls/add/options-poll.php:312
    1678 #: admin/views/polls/edit/options-poll.php:489
     1683#: admin/views/polls/add/options-poll.php:313
     1684#: admin/views/polls/edit/options-poll.php:495
    16791685msgid "Enable GDPR"
    16801686msgstr ""
     
    16941700#: admin/views/polls/add/options-poll.php:203
    16951701#: admin/views/polls/add/options-poll.php:215
    1696 #: admin/views/polls/add/options-poll.php:255
    1697 #: admin/views/polls/add/options-poll.php:316
     1702#: admin/views/polls/add/options-poll.php:256
     1703#: admin/views/polls/add/options-poll.php:317
    16981704#: admin/views/polls/add/options-results.php:111
    16991705#: admin/views/polls/edit/elements.php:236
     
    17091715#: admin/views/polls/edit/options-poll.php:257
    17101716#: admin/views/polls/edit/options-poll.php:319
    1711 #: admin/views/polls/edit/options-poll.php:367
    1712 #: admin/views/polls/edit/options-poll.php:432
    1713 #: admin/views/polls/edit/options-poll.php:510
     1717#: admin/views/polls/edit/options-poll.php:372
     1718#: admin/views/polls/edit/options-poll.php:438
     1719#: admin/views/polls/edit/options-poll.php:516
    17141720#: admin/views/polls/edit/options-results.php:174
    17151721#: admin/views/polls/elements-definitions.php:134
     
    17201726#: admin/views/settings/view.php:139 admin/views/settings/view.php:181
    17211727#: admin/views/settings/view.php:223 admin/views/settings/view.php:273
    1722 #: admin/views/settings/view.php:318 admin/views/settings/view.php:351
     1728#: admin/views/settings/view.php:315 admin/views/settings/view.php:360
     1729#: admin/views/settings/view.php:393
    17231730msgid "Yes"
    17241731msgstr ""
     
    17381745#: admin/views/polls/add/options-poll.php:204
    17391746#: admin/views/polls/add/options-poll.php:214
    1740 #: admin/views/polls/add/options-poll.php:256
    1741 #: admin/views/polls/add/options-poll.php:317
     1747#: admin/views/polls/add/options-poll.php:257
     1748#: admin/views/polls/add/options-poll.php:318
    17421749#: admin/views/polls/add/options-results.php:110
    17431750#: admin/views/polls/edit/elements.php:237
     
    17531760#: admin/views/polls/edit/options-poll.php:258
    17541761#: admin/views/polls/edit/options-poll.php:320
    1755 #: admin/views/polls/edit/options-poll.php:365
    1756 #: admin/views/polls/edit/options-poll.php:433
    1757 #: admin/views/polls/edit/options-poll.php:511
     1762#: admin/views/polls/edit/options-poll.php:370
     1763#: admin/views/polls/edit/options-poll.php:439
     1764#: admin/views/polls/edit/options-poll.php:517
    17581765#: admin/views/polls/edit/options-results.php:173
    17591766#: admin/views/polls/elements-definitions.php:135
     
    17641771#: admin/views/settings/view.php:140 admin/views/settings/view.php:182
    17651772#: admin/views/settings/view.php:224 admin/views/settings/view.php:274
    1766 #: admin/views/settings/view.php:319 admin/views/settings/view.php:352
     1773#: admin/views/settings/view.php:316 admin/views/settings/view.php:361
     1774#: admin/views/settings/view.php:394
    17671775msgid "No"
    17681776msgstr ""
    17691777
    17701778#: admin/views/general/migrate-old-tables.php:26
    1771 #: admin/views/polls/add/options-poll.php:323
    1772 #: admin/views/polls/edit/options-poll.php:517
     1779#: admin/views/polls/add/options-poll.php:324
     1780#: admin/views/polls/edit/options-poll.php:523
    17731781msgid "Solution"
    17741782msgstr ""
     
    22062214#: admin/views/polls/edit/elements.php:347
    22072215#: admin/views/polls/elements-definitions.php:195
    2208 #: admin/views/settings/view.php:473
     2216#: admin/views/settings/view.php:515
    22092217msgid "Minimum answers required"
    22102218msgstr ""
     
    23212329#: admin/views/polls/add/main.php:139 admin/views/polls/add/main.php:204
    23222330#: admin/views/polls/add/main.php:208 admin/views/polls/edit/main.php:213
    2323 #: admin/views/settings/view.php:642
     2331#: admin/views/settings/view.php:684
    23242332msgid "Publish"
    23252333msgstr ""
     
    25602568
    25612569#: admin/views/polls/add/options-poll.php:216
    2562 #: admin/views/polls/edit/options-poll.php:368
     2570#: admin/views/polls/edit/options-poll.php:373
    25632571msgid "Use built in Captcha"
    25642572msgstr ""
    25652573
    25662574#: admin/views/polls/add/options-poll.php:217
    2567 #: admin/views/polls/edit/options-poll.php:369
     2575#: admin/views/polls/edit/options-poll.php:374
    25682576msgid "Use reCaptcha v2 Checkbox"
    25692577msgstr ""
    25702578
    25712579#: admin/views/polls/add/options-poll.php:218
    2572 #: admin/views/polls/edit/options-poll.php:370
     2580#: admin/views/polls/edit/options-poll.php:375
    25732581msgid "Use reCaptcha v2 Invisible"
    25742582msgstr ""
    25752583
    25762584#: admin/views/polls/add/options-poll.php:219
    2577 #: admin/views/polls/edit/options-poll.php:371
     2585#: admin/views/polls/edit/options-poll.php:376
    25782586msgid "Use reCaptcha v3"
    25792587msgstr ""
    25802588
    25812589#: admin/views/polls/add/options-poll.php:220
    2582 #: admin/views/polls/edit/options-poll.php:372
     2590#: admin/views/polls/edit/options-poll.php:377
    25832591msgid "Use hCaptcha"
    25842592msgstr ""
    25852593
    2586 #: admin/views/polls/add/options-poll.php:227
    2587 #: admin/views/polls/edit/options-poll.php:379
     2594#: admin/views/polls/add/options-poll.php:221
     2595#: admin/views/polls/edit/options-poll.php:378
     2596msgid "Use Cloudflare Turnstile"
     2597msgstr ""
     2598
     2599#: admin/views/polls/add/options-poll.php:228
     2600#: admin/views/polls/edit/options-poll.php:385
    25882601msgid "Location for Notification"
    25892602msgstr ""
    25902603
    2591 #: admin/views/polls/add/options-poll.php:232
    2592 #: admin/views/polls/edit/options-poll.php:398
     2604#: admin/views/polls/add/options-poll.php:233
     2605#: admin/views/polls/edit/options-poll.php:404
    25932606msgid "Top"
    25942607msgstr ""
    25952608
    2596 #: admin/views/polls/add/options-poll.php:235
    2597 #: admin/views/polls/edit/options-poll.php:401
     2609#: admin/views/polls/add/options-poll.php:236
     2610#: admin/views/polls/edit/options-poll.php:407
    25982611msgid "Bottom"
    25992612msgstr ""
    26002613
    2601 #: admin/views/polls/add/options-poll.php:244
    2602 #: admin/views/polls/edit/options-poll.php:410 admin/views/settings/view.php:25
     2614#: admin/views/polls/add/options-poll.php:245
     2615#: admin/views/polls/edit/options-poll.php:416 admin/views/settings/view.php:25
    26032616msgid "Notifications"
    26042617msgstr ""
    26052618
    2606 #: admin/views/polls/add/options-poll.php:251
    2607 #: admin/views/polls/edit/options-poll.php:417
     2619#: admin/views/polls/add/options-poll.php:252
     2620#: admin/views/polls/edit/options-poll.php:423
    26082621msgid "Send Email notifications"
    26092622msgstr ""
    26102623
    2611 #: admin/views/polls/add/options-poll.php:262
    2612 #: admin/views/polls/edit/options-poll.php:439 admin/views/settings/view.php:87
     2624#: admin/views/polls/add/options-poll.php:263
     2625#: admin/views/polls/edit/options-poll.php:445 admin/views/settings/view.php:87
    26132626msgid "From Name"
    26142627msgstr ""
    26152628
    2616 #: admin/views/polls/add/options-poll.php:270
    2617 #: admin/views/polls/edit/options-poll.php:447 admin/views/settings/view.php:93
     2629#: admin/views/polls/add/options-poll.php:271
     2630#: admin/views/polls/edit/options-poll.php:453 admin/views/settings/view.php:93
    26182631msgid "From Email"
    26192632msgstr ""
    26202633
    2621 #: admin/views/polls/add/options-poll.php:278
    2622 #: admin/views/polls/edit/options-poll.php:455 admin/views/settings/view.php:99
     2634#: admin/views/polls/add/options-poll.php:279
     2635#: admin/views/polls/edit/options-poll.php:461 admin/views/settings/view.php:99
    26232636msgid "Recipients"
    26242637msgstr ""
    26252638
    2626 #: admin/views/polls/add/options-poll.php:281
    2627 #: admin/views/polls/edit/options-poll.php:458
     2639#: admin/views/polls/add/options-poll.php:282
     2640#: admin/views/polls/edit/options-poll.php:464
    26282641#: admin/views/settings/view.php:101
    26292642msgid "Use comma separated email addresses: email@xmail.com,email2@ymail.com"
    26302643msgstr ""
    26312644
    2632 #: admin/views/polls/add/options-poll.php:287
    2633 #: admin/views/polls/edit/options-poll.php:464
     2645#: admin/views/polls/add/options-poll.php:288
     2646#: admin/views/polls/edit/options-poll.php:470
    26342647#: admin/views/settings/view.php:106
    26352648msgid "Subject"
    26362649msgstr ""
    26372650
    2638 #: admin/views/polls/add/options-poll.php:305
    2639 #: admin/views/polls/edit/options-poll.php:482
     2651#: admin/views/polls/add/options-poll.php:306
     2652#: admin/views/polls/edit/options-poll.php:488
    26402653msgid "Compliance"
    26412654msgstr ""
    26422655
    2643 #: admin/views/polls/add/options-poll.php:327
    2644 #: admin/views/polls/edit/options-poll.php:544
     2656#: admin/views/polls/add/options-poll.php:328
     2657#: admin/views/polls/edit/options-poll.php:550
    26452658msgid "Ask for consent ( Ip Addresses will be stored and cookies will be enabled )"
    26462659msgstr ""
    26472660
    2648 #: admin/views/polls/add/options-poll.php:328
    2649 #: admin/views/polls/edit/options-poll.php:545
     2661#: admin/views/polls/add/options-poll.php:329
     2662#: admin/views/polls/edit/options-poll.php:551
    26502663msgid "Anonymize Ip Addresses ( Cookies will be disabled ) "
    26512664msgstr ""
    26522665
    2653 #: admin/views/polls/add/options-poll.php:329
    2654 #: admin/views/polls/edit/options-poll.php:546
     2666#: admin/views/polls/add/options-poll.php:330
     2667#: admin/views/polls/edit/options-poll.php:552
    26552668msgid "Do not store Ip Addresses ( Cookies will be disabled ) "
    26562669msgstr ""
    26572670
    2658 #: admin/views/polls/add/options-poll.php:335
    2659 #: admin/views/polls/edit/options-poll.php:552
     2671#: admin/views/polls/add/options-poll.php:336
     2672#: admin/views/polls/edit/options-poll.php:558
    26602673msgid "Text for consent checkbox"
    26612674msgstr ""
     
    29042917#: admin/views/settings/view.php:148 admin/views/settings/view.php:190
    29052918#: admin/views/settings/view.php:232 admin/views/settings/view.php:282
     2919#: admin/views/settings/view.php:324
    29062920msgid "- Site Key:"
    29072921msgstr ""
     
    29092923#: admin/views/settings/view.php:156 admin/views/settings/view.php:198
    29102924#: admin/views/settings/view.php:240 admin/views/settings/view.php:290
     2925#: admin/views/settings/view.php:332
    29112926msgid "- Secret Key:"
    29122927msgstr ""
     
    29282943msgstr ""
    29292944
    2930 #: admin/views/settings/view.php:303
     2945#: admin/views/settings/view.php:300
     2946msgid "Use Cloudflare Turnstile:"
     2947msgstr ""
     2948
     2949#: admin/views/settings/view.php:345
    29312950msgid "Use Facebook integration:"
    29322951msgstr ""
    29332952
    2934 #: admin/views/settings/view.php:325 admin/views/settings/view.php:359
     2953#: admin/views/settings/view.php:367 admin/views/settings/view.php:401
    29352954msgid "- App ID:"
    29362955msgstr ""
    29372956
    2938 #: admin/views/settings/view.php:336
     2957#: admin/views/settings/view.php:378
    29392958msgid "Use Google integration:"
    29402959msgstr ""
    29412960
    2942 #: admin/views/settings/view.php:367
     2961#: admin/views/settings/view.php:409
    29432962msgid "- App Secret:"
    29442963msgstr ""
    29452964
    2946 #: admin/views/settings/view.php:381
     2965#: admin/views/settings/view.php:423
    29472966msgid "Vote Buttons"
    29482967msgstr ""
    29492968
    2950 #: admin/views/settings/view.php:396
     2969#: admin/views/settings/view.php:438
    29512970msgid "Captcha"
    29522971msgstr ""
    29532972
    2954 #: admin/views/settings/view.php:405
     2973#: admin/views/settings/view.php:447
    29552974msgid "Vote as anonymous"
    29562975msgstr ""
    29572976
    2958 #: admin/views/settings/view.php:412
     2977#: admin/views/settings/view.php:454
    29592978msgid "Vote with your WordPress account"
    29602979msgstr ""
    29612980
    2962 #: admin/views/settings/view.php:419
     2981#: admin/views/settings/view.php:461
    29632982msgid "Vote with your facebook account"
    29642983msgstr ""
    29652984
    2966 #: admin/views/settings/view.php:426
     2985#: admin/views/settings/view.php:468
    29672986msgid "Vote with your google account"
    29682987msgstr ""
    29692988
    2970 #: admin/views/settings/view.php:438
     2989#: admin/views/settings/view.php:480
    29712990msgid "Poll Ended"
    29722991msgstr ""
    29732992
    2974 #: admin/views/settings/view.php:445
     2993#: admin/views/settings/view.php:487
    29752994msgid "Poll Not Started"
    29762995msgstr ""
    29772996
    2978 #: admin/views/settings/view.php:452
     2997#: admin/views/settings/view.php:494
    29792998msgid "Already voted on poll"
    29802999msgstr ""
    29813000
    2982 #: admin/views/settings/view.php:466
     3001#: admin/views/settings/view.php:508
    29833002msgid "No Answer(s) selected"
    29843003msgstr ""
    29853004
    2986 #: admin/views/settings/view.php:480
     3005#: admin/views/settings/view.php:522
    29873006msgid "Maximum answers required"
    29883007msgstr ""
    29893008
    2990 #: admin/views/settings/view.php:487
     3009#: admin/views/settings/view.php:529
    29913010msgid "No value for other"
    29923011msgstr ""
    29933012
    2994 #: admin/views/settings/view.php:494
     3013#: admin/views/settings/view.php:536
    29953014msgid "No value for custom field"
    29963015msgstr ""
    29973016
    2998 #: admin/views/settings/view.php:501
     3017#: admin/views/settings/view.php:543
    29993018msgid "Too many chars for custom field"
    30003019msgstr ""
    30013020
    3002 #: admin/views/settings/view.php:508
     3021#: admin/views/settings/view.php:550
    30033022msgid "Consent not checked"
    30043023msgstr ""
    30053024
    3006 #: admin/views/settings/view.php:515
     3025#: admin/views/settings/view.php:557
    30073026msgid "Captcha missing"
    30083027msgstr ""
    30093028
    3010 #: admin/views/settings/view.php:522
     3029#: admin/views/settings/view.php:564
    30113030msgid "Vote not allowed by ban setting"
    30123031msgstr ""
    30133032
    3014 #: admin/views/settings/view.php:529
     3033#: admin/views/settings/view.php:571
    30153034msgid "Vote not allowed by block setting"
    30163035msgstr ""
    30173036
    3018 #: admin/views/settings/view.php:536
     3037#: admin/views/settings/view.php:578
    30193038msgid "Vote not allowed by limit setting"
    30203039msgstr ""
    30213040
    3022 #: admin/views/settings/view.php:543
     3041#: admin/views/settings/view.php:585
    30233042msgid "Thank you for your vote"
    30243043msgstr ""
    30253044
    3026 #: admin/views/settings/view.php:555
     3045#: admin/views/settings/view.php:597
    30273046msgid "Single Vote"
    30283047msgstr ""
    30293048
    3030 #: admin/views/settings/view.php:562
     3049#: admin/views/settings/view.php:604
    30313050msgid "Multiple Votes"
    30323051msgstr ""
    30333052
    3034 #: admin/views/settings/view.php:569
     3053#: admin/views/settings/view.php:611
    30353054msgid "Single Answer"
    30363055msgstr ""
    30373056
    3038 #: admin/views/settings/view.php:576
     3057#: admin/views/settings/view.php:618
    30393058msgid "Multiple Answers"
    30403059msgstr ""
    30413060
    3042 #: admin/views/settings/view.php:588
     3061#: admin/views/settings/view.php:630
    30433062msgid "Accessibility Alt"
    30443063msgstr ""
    30453064
    3046 #: admin/views/settings/view.php:595
     3065#: admin/views/settings/view.php:637
    30473066msgid "Accessibility Title"
    30483067msgstr ""
    30493068
    3050 #: admin/views/settings/view.php:602
     3069#: admin/views/settings/view.php:644
    30513070msgid "Accessibility Description"
    30523071msgstr ""
    30533072
    3054 #: admin/views/settings/view.php:609
     3073#: admin/views/settings/view.php:651
    30553074msgid "Accessibility Explanation"
    30563075msgstr ""
    30573076
    3058 #: admin/views/settings/view.php:616
     3077#: admin/views/settings/view.php:658
    30593078msgid "Refresh Alt"
    30603079msgstr ""
    30613080
    3062 #: admin/views/settings/view.php:623
     3081#: admin/views/settings/view.php:665
    30633082msgid "Refresh Title"
    30643083msgstr ""
    30653084
    3066 #: admin/views/settings/view.php:653
     3085#: admin/views/settings/view.php:695
    30673086msgid "Save settings"
    30683087msgstr ""
    30693088
    3070 #: public/inc/basic.php:322
     3089#: public/inc/basic.php:328
    30713090msgid "Username or Email Address"
    30723091msgstr ""
    30733092
    3074 #: public/inc/basic.php:328
     3093#: public/inc/basic.php:334
    30753094msgid "Password"
    30763095msgstr ""
    30773096
    3078 #: public/inc/basic.php:334
     3097#: public/inc/basic.php:340
    30793098msgid "Log In"
    30803099msgstr ""
    30813100
    3082 #: public/inc/basic.php:340
     3101#: public/inc/basic.php:346
    30833102msgid "No account? Register here"
    30843103msgstr ""
    30853104
    3086 #: public/inc/basic.php:345
     3105#: public/inc/basic.php:351
    30873106msgid "Forgot password"
    30883107msgstr ""
  • yop-poll/tags/6.5.36/public/inc/basic.php

    r3198009 r3222918  
    110110                case 'yes-hcaptcha': {
    111111                    $use_captcha[0] = '5';
     112                    $use_captcha[1] = '<div id="yop-poll-captcha-' . esc_attr( $uid ) . '" class="basic-captcha"></div>';
     113                    $use_captcha[2] = $uid;
     114                    break;
     115                }
     116                case 'yes-cloudflare-turnstile': {
     117                    $use_captcha[0] = '6';
    112118                    $use_captcha[1] = '<div id="yop-poll-captcha-' . esc_attr( $uid ) . '" class="basic-captcha"></div>';
    113119                    $use_captcha[2] = $uid;
  • yop-poll/tags/6.5.36/public/public.php

    r3198009 r3222918  
    9494            wp_enqueue_script( 'yop-hCaptcha' );
    9595        }
     96        if (
     97            ( true === isset( $plugin_settings_decoded['integrations']['cloudflare-turnstile']['enabled'] ) ) &&
     98            ( 'yes' === $plugin_settings_decoded['integrations']['cloudflare-turnstile']['enabled'] ) &&
     99            ( '' !== $plugin_settings_decoded['integrations']['cloudflare-turnstile']['site-key'] ) &&
     100            ( '' !== $plugin_settings_decoded['integrations']['cloudflare-turnstile']['secret-key'] )
     101        ) {
     102            /* add cloudflare-turnstile if enabled */
     103            $args = array(
     104                'render' => 'explicit'
     105            );
     106            wp_register_script(
     107                'yop-cloudflare-turnstile',
     108                add_query_arg(
     109                    $args,
     110                    'https://challenges.cloudflare.com/turnstile/v0/api.js'
     111                ),
     112                '',
     113                null
     114            );
     115            wp_enqueue_script( 'yop-cloudflare-turnstile' );
     116            /* done adding cloudflare-turnstile */
     117        }
    96118        $captcha_accessibility_description = str_replace( '[STRONG]', '<strong>', esc_html( $plugin_settings_decoded['messages']['captcha']['accessibility-description'] ) );
    97119        $captcha_accessibility_description = str_replace( '[/STRONG]', '</strong>', $captcha_accessibility_description );
     
    119141                        'hCaptcha' => array(
    120142                            'siteKey' => isset( $plugin_settings_decoded['integrations']['hCaptcha']['site-key'] ) ? $plugin_settings_decoded['integrations']['hCaptcha']['site-key'] : '',
     143                        ),
     144                        'cloudflareTurnstile' => array(
     145                            'siteKey' => isset( $plugin_settings_decoded['integrations']['cloudflare-turnstile']['site-key'] ) ? $plugin_settings_decoded['integrations']['cloudflare-turnstile']['site-key'] : '',
    121146                        ),
    122147                    ),
  • yop-poll/tags/6.5.36/readme.txt

    r3198009 r3222918  
    55Requires at least: 3.3
    66Tested up to: 6.7
    7 Stable tag: 6.5.35
     7Stable tag: 6.5.36
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.htm
     
    119119
    120120== Changelog ==
     121
     122= 6.5.36 =
     123* added support for Cloudflare Turnstile
    121124
    122125= 6.5.35 =
  • yop-poll/tags/6.5.36/yop_poll.php

    r3198009 r3222918  
    44Plugin URI:  https://yop-poll.com
    55Description: Use a full option polling functionality to get the answers you need. YOP Poll is the perfect, easy to use poll plugin for your WordPress website.
    6 Version:     6.5.35
     6Version:     6.5.36
    77Author:      yourownprogrammer
    88Author URI:  https://yop-poll.com
     
    1212Text Domain: yop-poll
    1313*/
    14 define( 'YOP_POLL_VERSION', '6.5.35' );
     14define( 'YOP_POLL_VERSION', '6.5.36' );
    1515define( 'YOP_POLL_URL', plugin_dir_url( __FILE__ ) );
    1616define( 'YOP_POLL_PATH', plugin_dir_path( __FILE__ ) );
  • yop-poll/trunk/admin/inc/maintenance.php

    r3198009 r3222918  
    258258        YOP_Poll_Settings::update_settings_to_version_6_5_35();
    259259        update_option( 'yop_poll_version', '6.5.35' );
     260    }
     261    public function update_to_version_6_5_36() {
     262        YOP_Poll_Settings::update_settings_to_version_6_5_36();
     263        update_option( 'yop_poll_version', '6.5.36' );
    260264    }
    261265    public function create_archive_page() {
  • yop-poll/trunk/admin/models/polls.php

    r3148540 r3222918  
    77            $text_align_allowed = array( 'left', 'center', 'right' ),
    88            $yes_no_allowed = array( 'yes', 'no' ),
    9             $captcha_allowed = array( 'yes', 'yes-recaptcha', 'yes-recaptcha-invisible', 'yes-recaptcha-v3', 'yes-hcaptcha', 'no' ),
     9            $captcha_allowed = array( 'yes', 'yes-recaptcha', 'yes-recaptcha-invisible', 'yes-recaptcha-v3', 'yes-hcaptcha', 'yes-cloudflare-turnstile', 'no' ),
    1010            $answers_display_allowed = array( 'vertical', 'horizontal', 'columns' ),
    1111            $answers_sort_allowed = array( 'as-defined' ),
  • yop-poll/trunk/admin/models/settings.php

    r3198009 r3222918  
    7878                ),
    7979                'hCaptcha' => array(
     80                    'enabled' => 'no',
     81                    'site-key' => '',
     82                    'secret-key' => '',
     83                ),
     84                'cloudflare-turnstile' => array(
    8085                    'enabled' => 'no',
    8186                    'site-key' => '',
     
    357362        update_option( 'yop_poll_settings', serialize( $current_settings ) );
    358363    }
     364    public static function update_settings_to_version_6_5_36() {
     365        $current_settings = unserialize( self::get_all_settings() );
     366        if ( false === isset( $current_settings['messages']['voting']['too-many-chars-for-custom-field'] ) ) {
     367            $current_settings['messages']['voting']['too-many-chars-for-custom-field'] = 'Text for {custom_field_name} is too long';
     368        }
     369        $current_settings['integrations']['cloudflare-turnstile']['enabled'] = 'no';
     370        $current_settings['integrations']['cloudflare-turnstile']['site-key'] = '';
     371        $current_settings['integrations']['cloudflare-turnstile']['secret-key'] = '';
     372        update_option( 'yop_poll_settings', serialize( $current_settings ) );
     373    }
    359374    public static function get_all_settings() {
    360375        if ( ( false === isset( self::$settings ) ) || ( '' === self::$settings ) ) {
     
    430445                    'site-key' => ( isset( $unserialized_settings['integrations'] ) && isset( $unserialized_settings['integrations']['hCaptcha'] ) && isset( $unserialized_settings['integrations']['hCaptcha']['site-key'] ) ) ? $unserialized_settings['integrations']['hCaptcha']['site-key'] : '',
    431446                    'secret-key' => ( isset( $unserialized_settings['integrations'] ) && isset( $unserialized_settings['integrations']['hCaptcha'] ) && isset( $unserialized_settings['integrations']['hCaptcha']['secret-key'] ) ) ? $unserialized_settings['integrations']['hCaptcha']['secret-key'] : '',
     447                ),
     448                'cloudflare-turnstile' => array(
     449                    'enabled' => ( isset( $unserialized_settings['integrations'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile']['enabled'] ) ) ? $unserialized_settings['integrations']['cloudflare-turnstile']['enabled'] : '',
     450                    'site-key' => ( isset( $unserialized_settings['integrations'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile']['site-key'] ) ) ? $unserialized_settings['integrations']['cloudflare-turnstile']['site-key'] : '',
     451                    'secret-key' => ( isset( $unserialized_settings['integrations'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile'] ) && isset( $unserialized_settings['integrations']['cloudflare-turnstile']['secret-key'] ) ) ? $unserialized_settings['integrations']['cloudflare-turnstile']['secret-key'] : '',
    432452                ),
    433453                'facebook' => array(
     
    559579                    self::$errors_present = true;
    560580                    self::$error_text = esc_html__( 'Data for "Secret Key" is invalid', 'yop-poll' );
     581                }
     582            }
     583            if (
     584                ( false === self::$errors_present ) &&
     585                ( ! isset( $settings->integrations->{'cloudflare-turnstile'}->{'enabled'} ) ||
     586                    ( '' === sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'enabled'} ) ) )
     587            ) {
     588                self::$errors_present = true;
     589                self::$error_text = esc_html__( 'Data for "Use Cloudflare Turnstile" is invalid', 'yop-poll' );
     590            }
     591            if ( 'yes' === $settings->integrations->{'cloudflare-turnstile'}->{'enabled'} ) {
     592                if ( ( false === isset( $settings->integrations->{'cloudflare-turnstile'}->{'site-key'} ) ) || ( '' === sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'site-key'} ) ) ) {
     593                    self::$errors_present = true;
     594                    self::$error_text = esc_html__( 'Data for "Site Key" is invalid', 'yop-poll' );
     595                }
     596                if ( ( false === isset( $settings->integrations->{'cloudflare-turnstile'}->{'secret-key'} ) ) || ( '' === sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'secret-key'} ) ) ) {
     597                    self::$errors_present = true;
     598                    self::$error_text = esc_html__( 'Data for "Secret Key" is invalid', 'yop-poll' );
    561599                }
    562600            }
     
    900938                        'site-key' => sanitize_text_field( $settings->integrations->hCaptcha->{'site-key'} ),
    901939                        'secret-key' => sanitize_text_field( $settings->integrations->hCaptcha->{'secret-key'} ),
     940                    ),
     941                    'cloudflare-turnstile' => array(
     942                        'enabled' => sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'enabled'} ),
     943                        'site-key' => sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'site-key'} ),
     944                        'secret-key' => sanitize_text_field( $settings->integrations->{'cloudflare-turnstile'}->{'secret-key'} ),
    902945                    ),
    903946                    'facebook' => array(
  • yop-poll/trunk/admin/models/votes.php

    r3198009 r3222918  
    5757        if ( ( false === self::$errors_present ) && ( 'yes-hcaptcha' === $poll->meta_data['options']['poll']['useCaptcha'] ) ) {
    5858            self::validate_hcaptcha( $vote, $poll );
     59        }
     60        if ( ( false === self::$errors_present ) && ( 'yes-cloudflare-turnstile' === $poll->meta_data['options']['poll']['useCaptcha'] ) ) {
     61            self::validate_cloudflare_turnstile( $vote, $poll );
    5962        }
    6063        if ( false === self::$errors_present ) {
     
    439442                    self::$error_text,
    440443                    self::$settings_messages['voting']['no-captcha-selected']
     444                );
     445            }
     446        }
     447    }
     448    public static function validate_cloudflare_turnstile( $vote, $poll ) {
     449        $captcha_result = false;
     450        if ( 'yes-cloudflare-turnstile' === $poll->meta_data['options']['poll']['useCaptcha'] ) {
     451            if ( '' !== $vote->reCaptcha ) {
     452                $post_link = 'https://challenges.cloudflare.com/turnstile/v0/siteverify';
     453                $integrations = YOP_Poll_Settings::get_integrations();
     454                $data = array(
     455                    'body' => array(
     456                        'secret' => $integrations['cloudflare-turnstile']['secret-key'],
     457                        'response' => $vote->reCaptcha,
     458                    ),
     459                );
     460                $response = wp_remote_post(
     461                    $post_link,
     462                    $data
     463                );
     464                if ( '200' === strval( wp_remote_retrieve_response_code( $response ) ) ) {
     465                    $response_decoded = json_decode( wp_remote_retrieve_body( $response ) );
     466                    if ( false === $response_decoded->success ) {
     467                        self::$errors_present = true;
     468                        array_push(
     469                            self::$error_text,
     470                            self::$settings_messages['voting']['no-captcha-selected']
     471                        );
     472                    }
     473                } else {
     474                    self::$errors_present = true;
     475                    array_push(
     476                        self::$error_text,
     477                        self::$settings_messages['voting']['no-captcha-selected']
     478                    );
     479                }
     480            } else {
     481                self::$errors_present = true;
     482                array_push(
     483                    self::$error_text,
     484                    self::$settings_messages['voting']['no-captcha-selected']
    441485                );
    442486            }
  • yop-poll/trunk/admin/views/polls/add/options-poll.php

    r2815762 r3222918  
    219219                            <option value="yes-recaptcha-v3"><?php esc_html_e( 'Use reCaptcha v3', 'yop-poll' ); ?></option>
    220220                            <option value="yes-hcaptcha"><?php esc_html_e( 'Use hCaptcha', 'yop-poll' ); ?></option>
     221                            <option value="yes-cloudflare-turnstile"><?php esc_html_e( 'Use Cloudflare Turnstile', 'yop-poll' );?></option>
    221222                        </optgroup>
    222223                    </select>
  • yop-poll/trunk/admin/views/polls/edit/options-poll.php

    r2815762 r3222918  
    333333                    $use_reCaptcha_v3_yes = '';
    334334                    $use_h_captcha = '';
     335                    $use_cloudflare_turnstile = '';
    335336                    $use_captcha_no = '';
    336337                    switch ( $poll->meta_data['options']['poll']['useCaptcha'] ) {
     
    353354                        case 'yes-hcaptcha': {
    354355                            $use_h_captcha = 'selected';
     356                            break;
     357                        }
     358                        case 'yes-cloudflare-turnstile': {
     359                            $use_cloudflare_turnstile = 'selected';
    355360                            break;
    356361                        }
     
    371376                            <option value="yes-recaptcha-v3"  <?php echo esc_attr( $use_reCaptcha_v3_yes ); ?>><?php esc_html_e( 'Use reCaptcha v3', 'yop-poll' ); ?></option>
    372377                            <option value="yes-hcaptcha"  <?php echo esc_attr( $use_h_captcha ); ?>><?php esc_html_e( 'Use hCaptcha', 'yop-poll' ); ?></option>
     378                            <option value="yes-cloudflare-turnstile"  <?php echo esc_attr( $use_cloudflare_turnstile ); ?>><?php esc_html_e( 'Use Cloudflare Turnstile', 'yop-poll' ); ?></option>
    373379                        </optgroup>
    374380                    </select>
  • yop-poll/trunk/admin/views/settings/view.php

    r3198009 r3222918  
    296296                                                </div>
    297297                                            </div>
     298                                            <div class="row submenu" style="padding-top: 20px;">
     299                                                <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
     300                                                    <?php esc_html_e( 'Use Cloudflare Turnstile:', 'yop-poll' ); ?>
     301                                                </div>
     302                                                <div class="col-lg-9 col-md-9 col-sm-9 col-xs-9">
     303                                                    <?php
     304                                                    $cloudflare_turnstile_integration_yes = '';
     305                                                    $cloudflare_turnstile_integration_no = '';
     306                                                    $cloudflare_turnstile_data_section = '';
     307                                                    if ( ( true === isset( $settings['integrations']['cloudflare-turnstile']['enabled'] ) ) && ( 'yes' === $settings['integrations']['cloudflare-turnstile']['enabled'] ) ) {
     308                                                        $cloudflare_turnstile_integration_yes = 'selected';
     309                                                    } else {
     310                                                        $cloudflare_turnstile_integration_no = 'selected';
     311                                                        $cloudflare_turnstile_data_section = 'hide';
     312                                                    }
     313                                                    ?>
     314                                                    <select name="integrations-cloudflare-turnstile-enabled" id="integrations-cloudflare-turnstile-enabled" class="integrations-cloudflare-turnstile-enabled admin-select" style="width:100%">
     315                                                        <option value="yes" <?php echo esc_attr( $cloudflare_turnstile_integration_yes ); ?>><?php esc_html_e( 'Yes', 'yop-poll' ); ?></option>
     316                                                        <option value="no" <?php echo esc_attr( $cloudflare_turnstile_integration_no ); ?>><?php esc_html_e( 'No', 'yop-poll' ); ?></option>
     317                                                    </select>
     318                                                </div>
     319                                            </div>
     320                                            <div class="row submenu integrations-cloudflare-turnstile-section <?php echo esc_attr( $cloudflare_turnstile_data_section ); ?>" style="padding-top: 20px; margin-left: 20px;">
     321                                                <div class="col-md-12">
     322                                                    <div class="row">
     323                                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3 input-caption">
     324                                                            <?php esc_html_e( '- Site Key:', 'yop-poll' ); ?>
     325                                                        </div>
     326                                                        <div class="col-lg-9 col-md-9 col-sm-9 col-xs-9">
     327                                                            <input name="integrations-cloudflare-turnstile-site-key" id ="integrations-cloudflare-turnstile-site-key" class="form-control settings-required-field" value="<?php echo isset( $settings['integrations']['cloudflare-turnstile']['site-key'] ) ? esc_attr( $settings['integrations']['cloudflare-turnstile']['site-key'] ) : ''; ?>">
     328                                                        </div>
     329                                                    </div>
     330                                                    <div class="row" style="padding-top: 10px;">
     331                                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3 input-caption">
     332                                                            <?php esc_html_e( '- Secret Key:', 'yop-poll' ); ?>
     333                                                        </div>
     334                                                        <div class="col-lg-9 col-md-9 col-sm-9 col-xs-9">
     335                                                            <input name="integrations-cloudflare-turnstile-secret-key" id ="integrations-cloudflare-turnstile-secret-key" class="form-control settings-required-field" value="<?php echo isset( $settings['integrations']['cloudflare-turnstile']['secret-key'] ) ? esc_attr( $settings['integrations']['cloudflare-turnstile']['secret-key'] ) : ''; ?>">
     336                                                        </div>
     337                                                    </div>
     338                                                </div>
     339                                            </div>
    298340                                            <div class="row submenu" style="padding-top: 20px;">
    299341                                                <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
  • yop-poll/trunk/languages/yop-poll.pot

    r3198009 r3222918  
    1 # Copyright (C) 2024 yourownprogrammer
     1# Copyright (C) 2025 yourownprogrammer
    22# This file is distributed under the GPL2.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: YOP Poll 6.5.35\n"
     5"Project-Id-Version: YOP Poll 6.5.36\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/yop-poll-free\n"
    7 "POT-Creation-Date: 2024-11-27 09:20:47+00:00\n"
     7"POT-Creation-Date: 2025-01-15 12:34:33+00:00\n"
    88"MIME-Version: 1.0\n"
    99"Content-Type: text/plain; charset=utf-8\n"
    1010"Content-Transfer-Encoding: 8bit\n"
    11 "PO-Revision-Date: 2024-MO-DA HO:MI+ZONE\n"
     11"PO-Revision-Date: 2025-MO-DA HO:MI+ZONE\n"
    1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    1313"Language-Team: LANGUAGE <LL@li.org>\n"
     
    278278msgstr ""
    279279
    280 #: admin/admin.php:827 admin/views/settings/view.php:386
     280#: admin/admin.php:827 admin/views/settings/view.php:428
    281281msgid "Voting"
    282282msgstr ""
     
    285285#: admin/views/polls/add/main.php:108 admin/views/polls/add/options-poll.php:40
    286286#: admin/views/polls/edit/main.php:124 admin/views/results/view.php:31
    287 #: admin/views/results/votes.php:47 admin/views/settings/view.php:391
     287#: admin/views/results/votes.php:47 admin/views/settings/view.php:433
    288288msgid "Results"
    289289msgstr ""
     
    631631
    632632#: admin/admin.php:2137 admin/admin.php:2140 admin/models/bans.php:435
    633 #: admin/models/polls.php:862 admin/models/settings.php:467
     633#: admin/models/polls.php:862 admin/models/settings.php:487
    634634msgid "Invalid data"
    635635msgstr ""
     
    758758msgstr ""
    759759
    760 #: admin/inc/maintenance.php:338
     760#: admin/inc/maintenance.php:342
    761761msgid "Click <a href=\""
    762762msgstr ""
    763763
    764 #: admin/inc/maintenance.php:338
     764#: admin/inc/maintenance.php:342
    765765msgid "here"
    766766msgstr ""
    767767
    768 #: admin/inc/maintenance.php:338
     768#: admin/inc/maintenance.php:342
    769769msgid "to start the import."
    770770msgstr ""
     
    822822#: admin/models/bans-list.php:217 admin/models/logs-list.php:259
    823823#: admin/models/logs.php:439 admin/models/votes-list.php:141
    824 #: admin/models/votes.php:1615
     824#: admin/models/votes.php:1659
    825825msgid "Date"
    826826msgstr ""
     
    833833#: admin/models/bans.php:73 admin/models/list-table.php:947
    834834#: admin/models/logs.php:96 admin/models/polls.php:128
    835 #: admin/models/votes.php:1294
     835#: admin/models/votes.php:1338
    836836msgid "Previous page"
    837837msgstr ""
     
    839839#: admin/models/bans.php:78 admin/models/list-table.php:977
    840840#: admin/models/logs.php:101 admin/models/polls.php:133
    841 #: admin/models/votes.php:1299
     841#: admin/models/votes.php:1343
    842842msgid "Next page"
    843843msgstr ""
     
    989989
    990990#: admin/models/logs-list.php:255 admin/models/logs.php:435
    991 #: admin/models/votes-list.php:138 admin/models/votes.php:1611
     991#: admin/models/votes-list.php:138 admin/models/votes.php:1655
    992992#: admin/views/bans/add.php:54 admin/views/bans/edit.php:106
    993993msgid "Username"
     
    995995
    996996#: admin/models/logs-list.php:256 admin/models/logs.php:436
    997 #: admin/models/votes-list.php:139 admin/models/votes.php:1612
     997#: admin/models/votes-list.php:139 admin/models/votes.php:1656
    998998#: admin/views/bans/add.php:51 admin/views/bans/edit.php:103
    999999msgid "Email"
     
    10011001
    10021002#: admin/models/logs-list.php:257 admin/models/logs.php:437
    1003 #: admin/models/votes-list.php:137 admin/models/votes.php:1613
     1003#: admin/models/votes-list.php:137 admin/models/votes.php:1657
    10041004msgid "User Type"
    10051005msgstr ""
     
    10101010
    10111011#: admin/models/logs-list.php:260 admin/models/logs.php:440
    1012 #: admin/views/polls/add/options-poll.php:295
    1013 #: admin/views/polls/edit/options-poll.php:472
     1012#: admin/views/polls/add/options-poll.php:296
     1013#: admin/views/polls/edit/options-poll.php:478
    10141014msgid "Message"
    10151015msgstr ""
     
    10191019msgstr ""
    10201020
    1021 #: admin/models/logs.php:438 admin/models/votes.php:1614
     1021#: admin/models/logs.php:438 admin/models/votes.php:1658
    10221022#: admin/views/bans/add.php:48 admin/views/bans/edit.php:100
    10231023msgid "IP"
     
    10281028msgstr ""
    10291029
    1030 #: admin/models/logs.php:451 admin/models/votes.php:1664
    1031 #: admin/models/votes.php:1697
     1030#: admin/models/logs.php:451 admin/models/votes.php:1708
     1031#: admin/models/votes.php:1741
    10321032msgid "Can't open php://output!"
    10331033msgstr ""
    10341034
    1035 #: admin/models/logs.php:453 admin/models/votes.php:1668
    1036 #: admin/models/votes.php:1704
     1035#: admin/models/logs.php:453 admin/models/votes.php:1712
     1036#: admin/models/votes.php:1748
    10371037msgid "Can't write header!"
    10381038msgstr ""
     
    10421042msgstr ""
    10431043
    1044 #: admin/models/logs.php:487 admin/models/votes.php:1677
    1045 #: admin/models/votes.php:1711
     1044#: admin/models/logs.php:487 admin/models/votes.php:1721
     1045#: admin/models/votes.php:1755
    10461046msgid "Can't close php://output!"
    10471047msgstr ""
     
    12981298
    12991299#: admin/models/polls.php:1273 admin/models/polls.php:1288
    1300 #: admin/models/settings.php:673
     1300#: admin/models/settings.php:711
    13011301msgid "Data for \"Minimum answers required\" is invalid"
    13021302msgstr ""
    13031303
    13041304#: admin/models/polls.php:1281 admin/models/polls.php:1305
    1305 #: admin/models/settings.php:681
     1305#: admin/models/settings.php:719
    13061306msgid "Data for \"Maximum answers required\" is invalid"
    13071307msgstr ""
     
    14591459msgstr ""
    14601460
    1461 #: admin/models/polls.php:2503 admin/views/settings/view.php:459
     1461#: admin/models/polls.php:2503 admin/views/settings/view.php:501
    14621462msgid "Invalid Poll"
    14631463msgstr ""
    14641464
    1465 #: admin/models/settings.php:517
     1465#: admin/models/settings.php:537
    14661466msgid "Data for \"Use Google reCaptcha\" is invalid"
    14671467msgstr ""
    14681468
    1469 #: admin/models/settings.php:522 admin/models/settings.php:532
    1470 #: admin/models/settings.php:542 admin/models/settings.php:556
     1469#: admin/models/settings.php:542 admin/models/settings.php:552
     1470#: admin/models/settings.php:562 admin/models/settings.php:576
     1471#: admin/models/settings.php:594
    14711472msgid "Data for \"Site Key\" is invalid"
    14721473msgstr ""
    14731474
    1474 #: admin/models/settings.php:526 admin/models/settings.php:536
    1475 #: admin/models/settings.php:546 admin/models/settings.php:560
     1475#: admin/models/settings.php:546 admin/models/settings.php:556
     1476#: admin/models/settings.php:566 admin/models/settings.php:580
     1477#: admin/models/settings.php:598
    14761478msgid "Data for \"Secret Key\" is invalid"
    14771479msgstr ""
    14781480
    1479 #: admin/models/settings.php:550
     1481#: admin/models/settings.php:570
    14801482msgid "Data for \"Min Allowed Score\" is invalid"
    14811483msgstr ""
    14821484
    1483 #: admin/models/settings.php:569
     1485#: admin/models/settings.php:589
     1486msgid "Data for \"Use Cloudflare Turnstile\" is invalid"
     1487msgstr ""
     1488
     1489#: admin/models/settings.php:607
    14841490msgid "Data for \"Use Facebook integration\" is invalid"
    14851491msgstr ""
    14861492
    1487 #: admin/models/settings.php:574 admin/models/settings.php:588
     1493#: admin/models/settings.php:612 admin/models/settings.php:626
    14881494msgid "Data for \"App ID\" is invalid"
    14891495msgstr ""
    14901496
    1491 #: admin/models/settings.php:583
     1497#: admin/models/settings.php:621
    14921498msgid "Data for \"Use Google integration\" is invalid"
    14931499msgstr ""
    14941500
    1495 #: admin/models/settings.php:592
     1501#: admin/models/settings.php:630
    14961502msgid "Data for \"App Secret\" is invalid"
    14971503msgstr ""
    14981504
    1499 #: admin/models/settings.php:601
     1505#: admin/models/settings.php:639
    15001506msgid "Data for \"Vote as anonymous\" is invalid"
    15011507msgstr ""
    15021508
    1503 #: admin/models/settings.php:609
     1509#: admin/models/settings.php:647
    15041510msgid "Data for \"Vote with your WordPress account\" is invalid"
    15051511msgstr ""
    15061512
    1507 #: admin/models/settings.php:617
     1513#: admin/models/settings.php:655
    15081514msgid "Data for \"Vote with your Facebook account\" is invalid"
    15091515msgstr ""
    15101516
    1511 #: admin/models/settings.php:625
     1517#: admin/models/settings.php:663
    15121518msgid "Data for \"Vote with your Google account\" is invalid"
    15131519msgstr ""
    15141520
    1515 #: admin/models/settings.php:633
     1521#: admin/models/settings.php:671
    15161522msgid "Data for \"Poll Ended\" is invalid"
    15171523msgstr ""
    15181524
    1519 #: admin/models/settings.php:641
     1525#: admin/models/settings.php:679
    15201526msgid "Data for \"Poll Not Started\" is invalid"
    15211527msgstr ""
    15221528
    1523 #: admin/models/settings.php:649
     1529#: admin/models/settings.php:687
    15241530msgid "Data for \"Already voted on poll\" is invalid"
    15251531msgstr ""
    15261532
    1527 #: admin/models/settings.php:657
     1533#: admin/models/settings.php:695
    15281534msgid "Data for \"Invalid Poll\" is invalid"
    15291535msgstr ""
    15301536
    1531 #: admin/models/settings.php:665
     1537#: admin/models/settings.php:703
    15321538msgid "Data for \"No Answer(s) selected\" is invalid"
    15331539msgstr ""
    15341540
    1535 #: admin/models/settings.php:689
     1541#: admin/models/settings.php:727
    15361542msgid "Data for \"No value for other\" is invalid"
    15371543msgstr ""
    15381544
    1539 #: admin/models/settings.php:697
     1545#: admin/models/settings.php:735
    15401546msgid "Data for \"No value for custom field\" is invalid"
    15411547msgstr ""
    15421548
    1543 #: admin/models/settings.php:705
     1549#: admin/models/settings.php:743
    15441550msgid "Data for \"Too many chars for custom field\" is invalid"
    15451551msgstr ""
    15461552
    1547 #: admin/models/settings.php:713
     1553#: admin/models/settings.php:751
    15481554msgid "Data for \"Consent not checked\" is invalid"
    15491555msgstr ""
    15501556
    1551 #: admin/models/settings.php:721
     1557#: admin/models/settings.php:759
    15521558msgid "Data for \"Captcha missing\" is invalid"
    15531559msgstr ""
    15541560
    1555 #: admin/models/settings.php:729
     1561#: admin/models/settings.php:767
    15561562msgid "Data for \"Vote not allowed by ban setting\" is invalid"
    15571563msgstr ""
    15581564
    1559 #: admin/models/settings.php:737
     1565#: admin/models/settings.php:775
    15601566msgid "Data for \"Vote not allowed by block setting\" is invalid"
    15611567msgstr ""
    15621568
    1563 #: admin/models/settings.php:745
     1569#: admin/models/settings.php:783
    15641570msgid "Data for \"Vote not allowed by limit setting\" is invalid"
    15651571msgstr ""
    15661572
    1567 #: admin/models/settings.php:753
     1573#: admin/models/settings.php:791
    15681574msgid "Data for \"Thank you for your vote\" is invalid"
    15691575msgstr ""
    15701576
    1571 #: admin/models/settings.php:761
     1577#: admin/models/settings.php:799
    15721578msgid "Data for \"Single Vote\" is invalid"
    15731579msgstr ""
    15741580
    1575 #: admin/models/settings.php:769
     1581#: admin/models/settings.php:807
    15761582msgid "Data for \"Multiple Votes\" is invalid"
    15771583msgstr ""
    15781584
    1579 #: admin/models/settings.php:777
     1585#: admin/models/settings.php:815
    15801586msgid "Data for \"Single Answer\" is invalid"
    15811587msgstr ""
    15821588
    1583 #: admin/models/settings.php:785
     1589#: admin/models/settings.php:823
    15841590msgid "Data for \"Multiple Answers\" is invalid"
    15851591msgstr ""
    15861592
    1587 #: admin/models/settings.php:793
     1593#: admin/models/settings.php:831
    15881594msgid "Data for \"Accessibility Alt\" is invalid"
    15891595msgstr ""
    15901596
    1591 #: admin/models/settings.php:801
     1597#: admin/models/settings.php:839
    15921598msgid "Data for \"Accessibility Title\" is invalid"
    15931599msgstr ""
    15941600
    1595 #: admin/models/settings.php:809
     1601#: admin/models/settings.php:847
    15961602msgid "Data for \"Accessibility Description\" is invalid"
    15971603msgstr ""
    15981604
    1599 #: admin/models/settings.php:817
     1605#: admin/models/settings.php:855
    16001606msgid "Data for \"Accessibility Explanation\" is invalid"
    16011607msgstr ""
    16021608
    1603 #: admin/models/settings.php:825
     1609#: admin/models/settings.php:863
    16041610msgid "Data for \"Refresh Alt\" is invalid"
    16051611msgstr ""
    16061612
    1607 #: admin/models/settings.php:833
     1613#: admin/models/settings.php:871
    16081614msgid "Data for \"Refresh Title\" is invalid"
    16091615msgstr ""
     
    16311637msgstr ""
    16321638
    1633 #: admin/models/votes.php:1673 admin/models/votes.php:1708
     1639#: admin/models/votes.php:1717 admin/models/votes.php:1752
    16341640msgid "Can't write votes!"
    16351641msgstr ""
     
    16751681
    16761682#: admin/views/general/migrate-old-tables.php:15
    1677 #: admin/views/polls/add/options-poll.php:312
    1678 #: admin/views/polls/edit/options-poll.php:489
     1683#: admin/views/polls/add/options-poll.php:313
     1684#: admin/views/polls/edit/options-poll.php:495
    16791685msgid "Enable GDPR"
    16801686msgstr ""
     
    16941700#: admin/views/polls/add/options-poll.php:203
    16951701#: admin/views/polls/add/options-poll.php:215
    1696 #: admin/views/polls/add/options-poll.php:255
    1697 #: admin/views/polls/add/options-poll.php:316
     1702#: admin/views/polls/add/options-poll.php:256
     1703#: admin/views/polls/add/options-poll.php:317
    16981704#: admin/views/polls/add/options-results.php:111
    16991705#: admin/views/polls/edit/elements.php:236
     
    17091715#: admin/views/polls/edit/options-poll.php:257
    17101716#: admin/views/polls/edit/options-poll.php:319
    1711 #: admin/views/polls/edit/options-poll.php:367
    1712 #: admin/views/polls/edit/options-poll.php:432
    1713 #: admin/views/polls/edit/options-poll.php:510
     1717#: admin/views/polls/edit/options-poll.php:372
     1718#: admin/views/polls/edit/options-poll.php:438
     1719#: admin/views/polls/edit/options-poll.php:516
    17141720#: admin/views/polls/edit/options-results.php:174
    17151721#: admin/views/polls/elements-definitions.php:134
     
    17201726#: admin/views/settings/view.php:139 admin/views/settings/view.php:181
    17211727#: admin/views/settings/view.php:223 admin/views/settings/view.php:273
    1722 #: admin/views/settings/view.php:318 admin/views/settings/view.php:351
     1728#: admin/views/settings/view.php:315 admin/views/settings/view.php:360
     1729#: admin/views/settings/view.php:393
    17231730msgid "Yes"
    17241731msgstr ""
     
    17381745#: admin/views/polls/add/options-poll.php:204
    17391746#: admin/views/polls/add/options-poll.php:214
    1740 #: admin/views/polls/add/options-poll.php:256
    1741 #: admin/views/polls/add/options-poll.php:317
     1747#: admin/views/polls/add/options-poll.php:257
     1748#: admin/views/polls/add/options-poll.php:318
    17421749#: admin/views/polls/add/options-results.php:110
    17431750#: admin/views/polls/edit/elements.php:237
     
    17531760#: admin/views/polls/edit/options-poll.php:258
    17541761#: admin/views/polls/edit/options-poll.php:320
    1755 #: admin/views/polls/edit/options-poll.php:365
    1756 #: admin/views/polls/edit/options-poll.php:433
    1757 #: admin/views/polls/edit/options-poll.php:511
     1762#: admin/views/polls/edit/options-poll.php:370
     1763#: admin/views/polls/edit/options-poll.php:439
     1764#: admin/views/polls/edit/options-poll.php:517
    17581765#: admin/views/polls/edit/options-results.php:173
    17591766#: admin/views/polls/elements-definitions.php:135
     
    17641771#: admin/views/settings/view.php:140 admin/views/settings/view.php:182
    17651772#: admin/views/settings/view.php:224 admin/views/settings/view.php:274
    1766 #: admin/views/settings/view.php:319 admin/views/settings/view.php:352
     1773#: admin/views/settings/view.php:316 admin/views/settings/view.php:361
     1774#: admin/views/settings/view.php:394
    17671775msgid "No"
    17681776msgstr ""
    17691777
    17701778#: admin/views/general/migrate-old-tables.php:26
    1771 #: admin/views/polls/add/options-poll.php:323
    1772 #: admin/views/polls/edit/options-poll.php:517
     1779#: admin/views/polls/add/options-poll.php:324
     1780#: admin/views/polls/edit/options-poll.php:523
    17731781msgid "Solution"
    17741782msgstr ""
     
    22062214#: admin/views/polls/edit/elements.php:347
    22072215#: admin/views/polls/elements-definitions.php:195
    2208 #: admin/views/settings/view.php:473
     2216#: admin/views/settings/view.php:515
    22092217msgid "Minimum answers required"
    22102218msgstr ""
     
    23212329#: admin/views/polls/add/main.php:139 admin/views/polls/add/main.php:204
    23222330#: admin/views/polls/add/main.php:208 admin/views/polls/edit/main.php:213
    2323 #: admin/views/settings/view.php:642
     2331#: admin/views/settings/view.php:684
    23242332msgid "Publish"
    23252333msgstr ""
     
    25602568
    25612569#: admin/views/polls/add/options-poll.php:216
    2562 #: admin/views/polls/edit/options-poll.php:368
     2570#: admin/views/polls/edit/options-poll.php:373
    25632571msgid "Use built in Captcha"
    25642572msgstr ""
    25652573
    25662574#: admin/views/polls/add/options-poll.php:217
    2567 #: admin/views/polls/edit/options-poll.php:369
     2575#: admin/views/polls/edit/options-poll.php:374
    25682576msgid "Use reCaptcha v2 Checkbox"
    25692577msgstr ""
    25702578
    25712579#: admin/views/polls/add/options-poll.php:218
    2572 #: admin/views/polls/edit/options-poll.php:370
     2580#: admin/views/polls/edit/options-poll.php:375
    25732581msgid "Use reCaptcha v2 Invisible"
    25742582msgstr ""
    25752583
    25762584#: admin/views/polls/add/options-poll.php:219
    2577 #: admin/views/polls/edit/options-poll.php:371
     2585#: admin/views/polls/edit/options-poll.php:376
    25782586msgid "Use reCaptcha v3"
    25792587msgstr ""
    25802588
    25812589#: admin/views/polls/add/options-poll.php:220
    2582 #: admin/views/polls/edit/options-poll.php:372
     2590#: admin/views/polls/edit/options-poll.php:377
    25832591msgid "Use hCaptcha"
    25842592msgstr ""
    25852593
    2586 #: admin/views/polls/add/options-poll.php:227
    2587 #: admin/views/polls/edit/options-poll.php:379
     2594#: admin/views/polls/add/options-poll.php:221
     2595#: admin/views/polls/edit/options-poll.php:378
     2596msgid "Use Cloudflare Turnstile"
     2597msgstr ""
     2598
     2599#: admin/views/polls/add/options-poll.php:228
     2600#: admin/views/polls/edit/options-poll.php:385
    25882601msgid "Location for Notification"
    25892602msgstr ""
    25902603
    2591 #: admin/views/polls/add/options-poll.php:232
    2592 #: admin/views/polls/edit/options-poll.php:398
     2604#: admin/views/polls/add/options-poll.php:233
     2605#: admin/views/polls/edit/options-poll.php:404
    25932606msgid "Top"
    25942607msgstr ""
    25952608
    2596 #: admin/views/polls/add/options-poll.php:235
    2597 #: admin/views/polls/edit/options-poll.php:401
     2609#: admin/views/polls/add/options-poll.php:236
     2610#: admin/views/polls/edit/options-poll.php:407
    25982611msgid "Bottom"
    25992612msgstr ""
    26002613
    2601 #: admin/views/polls/add/options-poll.php:244
    2602 #: admin/views/polls/edit/options-poll.php:410 admin/views/settings/view.php:25
     2614#: admin/views/polls/add/options-poll.php:245
     2615#: admin/views/polls/edit/options-poll.php:416 admin/views/settings/view.php:25
    26032616msgid "Notifications"
    26042617msgstr ""
    26052618
    2606 #: admin/views/polls/add/options-poll.php:251
    2607 #: admin/views/polls/edit/options-poll.php:417
     2619#: admin/views/polls/add/options-poll.php:252
     2620#: admin/views/polls/edit/options-poll.php:423
    26082621msgid "Send Email notifications"
    26092622msgstr ""
    26102623
    2611 #: admin/views/polls/add/options-poll.php:262
    2612 #: admin/views/polls/edit/options-poll.php:439 admin/views/settings/view.php:87
     2624#: admin/views/polls/add/options-poll.php:263
     2625#: admin/views/polls/edit/options-poll.php:445 admin/views/settings/view.php:87
    26132626msgid "From Name"
    26142627msgstr ""
    26152628
    2616 #: admin/views/polls/add/options-poll.php:270
    2617 #: admin/views/polls/edit/options-poll.php:447 admin/views/settings/view.php:93
     2629#: admin/views/polls/add/options-poll.php:271
     2630#: admin/views/polls/edit/options-poll.php:453 admin/views/settings/view.php:93
    26182631msgid "From Email"
    26192632msgstr ""
    26202633
    2621 #: admin/views/polls/add/options-poll.php:278
    2622 #: admin/views/polls/edit/options-poll.php:455 admin/views/settings/view.php:99
     2634#: admin/views/polls/add/options-poll.php:279
     2635#: admin/views/polls/edit/options-poll.php:461 admin/views/settings/view.php:99
    26232636msgid "Recipients"
    26242637msgstr ""
    26252638
    2626 #: admin/views/polls/add/options-poll.php:281
    2627 #: admin/views/polls/edit/options-poll.php:458
     2639#: admin/views/polls/add/options-poll.php:282
     2640#: admin/views/polls/edit/options-poll.php:464
    26282641#: admin/views/settings/view.php:101
    26292642msgid "Use comma separated email addresses: email@xmail.com,email2@ymail.com"
    26302643msgstr ""
    26312644
    2632 #: admin/views/polls/add/options-poll.php:287
    2633 #: admin/views/polls/edit/options-poll.php:464
     2645#: admin/views/polls/add/options-poll.php:288
     2646#: admin/views/polls/edit/options-poll.php:470
    26342647#: admin/views/settings/view.php:106
    26352648msgid "Subject"
    26362649msgstr ""
    26372650
    2638 #: admin/views/polls/add/options-poll.php:305
    2639 #: admin/views/polls/edit/options-poll.php:482
     2651#: admin/views/polls/add/options-poll.php:306
     2652#: admin/views/polls/edit/options-poll.php:488
    26402653msgid "Compliance"
    26412654msgstr ""
    26422655
    2643 #: admin/views/polls/add/options-poll.php:327
    2644 #: admin/views/polls/edit/options-poll.php:544
     2656#: admin/views/polls/add/options-poll.php:328
     2657#: admin/views/polls/edit/options-poll.php:550
    26452658msgid "Ask for consent ( Ip Addresses will be stored and cookies will be enabled )"
    26462659msgstr ""
    26472660
    2648 #: admin/views/polls/add/options-poll.php:328
    2649 #: admin/views/polls/edit/options-poll.php:545
     2661#: admin/views/polls/add/options-poll.php:329
     2662#: admin/views/polls/edit/options-poll.php:551
    26502663msgid "Anonymize Ip Addresses ( Cookies will be disabled ) "
    26512664msgstr ""
    26522665
    2653 #: admin/views/polls/add/options-poll.php:329
    2654 #: admin/views/polls/edit/options-poll.php:546
     2666#: admin/views/polls/add/options-poll.php:330
     2667#: admin/views/polls/edit/options-poll.php:552
    26552668msgid "Do not store Ip Addresses ( Cookies will be disabled ) "
    26562669msgstr ""
    26572670
    2658 #: admin/views/polls/add/options-poll.php:335
    2659 #: admin/views/polls/edit/options-poll.php:552
     2671#: admin/views/polls/add/options-poll.php:336
     2672#: admin/views/polls/edit/options-poll.php:558
    26602673msgid "Text for consent checkbox"
    26612674msgstr ""
     
    29042917#: admin/views/settings/view.php:148 admin/views/settings/view.php:190
    29052918#: admin/views/settings/view.php:232 admin/views/settings/view.php:282
     2919#: admin/views/settings/view.php:324
    29062920msgid "- Site Key:"
    29072921msgstr ""
     
    29092923#: admin/views/settings/view.php:156 admin/views/settings/view.php:198
    29102924#: admin/views/settings/view.php:240 admin/views/settings/view.php:290
     2925#: admin/views/settings/view.php:332
    29112926msgid "- Secret Key:"
    29122927msgstr ""
     
    29282943msgstr ""
    29292944
    2930 #: admin/views/settings/view.php:303
     2945#: admin/views/settings/view.php:300
     2946msgid "Use Cloudflare Turnstile:"
     2947msgstr ""
     2948
     2949#: admin/views/settings/view.php:345
    29312950msgid "Use Facebook integration:"
    29322951msgstr ""
    29332952
    2934 #: admin/views/settings/view.php:325 admin/views/settings/view.php:359
     2953#: admin/views/settings/view.php:367 admin/views/settings/view.php:401
    29352954msgid "- App ID:"
    29362955msgstr ""
    29372956
    2938 #: admin/views/settings/view.php:336
     2957#: admin/views/settings/view.php:378
    29392958msgid "Use Google integration:"
    29402959msgstr ""
    29412960
    2942 #: admin/views/settings/view.php:367
     2961#: admin/views/settings/view.php:409
    29432962msgid "- App Secret:"
    29442963msgstr ""
    29452964
    2946 #: admin/views/settings/view.php:381
     2965#: admin/views/settings/view.php:423
    29472966msgid "Vote Buttons"
    29482967msgstr ""
    29492968
    2950 #: admin/views/settings/view.php:396
     2969#: admin/views/settings/view.php:438
    29512970msgid "Captcha"
    29522971msgstr ""
    29532972
    2954 #: admin/views/settings/view.php:405
     2973#: admin/views/settings/view.php:447
    29552974msgid "Vote as anonymous"
    29562975msgstr ""
    29572976
    2958 #: admin/views/settings/view.php:412
     2977#: admin/views/settings/view.php:454
    29592978msgid "Vote with your WordPress account"
    29602979msgstr ""
    29612980
    2962 #: admin/views/settings/view.php:419
     2981#: admin/views/settings/view.php:461
    29632982msgid "Vote with your facebook account"
    29642983msgstr ""
    29652984
    2966 #: admin/views/settings/view.php:426
     2985#: admin/views/settings/view.php:468
    29672986msgid "Vote with your google account"
    29682987msgstr ""
    29692988
    2970 #: admin/views/settings/view.php:438
     2989#: admin/views/settings/view.php:480
    29712990msgid "Poll Ended"
    29722991msgstr ""
    29732992
    2974 #: admin/views/settings/view.php:445
     2993#: admin/views/settings/view.php:487
    29752994msgid "Poll Not Started"
    29762995msgstr ""
    29772996
    2978 #: admin/views/settings/view.php:452
     2997#: admin/views/settings/view.php:494
    29792998msgid "Already voted on poll"
    29802999msgstr ""
    29813000
    2982 #: admin/views/settings/view.php:466
     3001#: admin/views/settings/view.php:508
    29833002msgid "No Answer(s) selected"
    29843003msgstr ""
    29853004
    2986 #: admin/views/settings/view.php:480
     3005#: admin/views/settings/view.php:522
    29873006msgid "Maximum answers required"
    29883007msgstr ""
    29893008
    2990 #: admin/views/settings/view.php:487
     3009#: admin/views/settings/view.php:529
    29913010msgid "No value for other"
    29923011msgstr ""
    29933012
    2994 #: admin/views/settings/view.php:494
     3013#: admin/views/settings/view.php:536
    29953014msgid "No value for custom field"
    29963015msgstr ""
    29973016
    2998 #: admin/views/settings/view.php:501
     3017#: admin/views/settings/view.php:543
    29993018msgid "Too many chars for custom field"
    30003019msgstr ""
    30013020
    3002 #: admin/views/settings/view.php:508
     3021#: admin/views/settings/view.php:550
    30033022msgid "Consent not checked"
    30043023msgstr ""
    30053024
    3006 #: admin/views/settings/view.php:515
     3025#: admin/views/settings/view.php:557
    30073026msgid "Captcha missing"
    30083027msgstr ""
    30093028
    3010 #: admin/views/settings/view.php:522
     3029#: admin/views/settings/view.php:564
    30113030msgid "Vote not allowed by ban setting"
    30123031msgstr ""
    30133032
    3014 #: admin/views/settings/view.php:529
     3033#: admin/views/settings/view.php:571
    30153034msgid "Vote not allowed by block setting"
    30163035msgstr ""
    30173036
    3018 #: admin/views/settings/view.php:536
     3037#: admin/views/settings/view.php:578
    30193038msgid "Vote not allowed by limit setting"
    30203039msgstr ""
    30213040
    3022 #: admin/views/settings/view.php:543
     3041#: admin/views/settings/view.php:585
    30233042msgid "Thank you for your vote"
    30243043msgstr ""
    30253044
    3026 #: admin/views/settings/view.php:555
     3045#: admin/views/settings/view.php:597
    30273046msgid "Single Vote"
    30283047msgstr ""
    30293048
    3030 #: admin/views/settings/view.php:562
     3049#: admin/views/settings/view.php:604
    30313050msgid "Multiple Votes"
    30323051msgstr ""
    30333052
    3034 #: admin/views/settings/view.php:569
     3053#: admin/views/settings/view.php:611
    30353054msgid "Single Answer"
    30363055msgstr ""
    30373056
    3038 #: admin/views/settings/view.php:576
     3057#: admin/views/settings/view.php:618
    30393058msgid "Multiple Answers"
    30403059msgstr ""
    30413060
    3042 #: admin/views/settings/view.php:588
     3061#: admin/views/settings/view.php:630
    30433062msgid "Accessibility Alt"
    30443063msgstr ""
    30453064
    3046 #: admin/views/settings/view.php:595
     3065#: admin/views/settings/view.php:637
    30473066msgid "Accessibility Title"
    30483067msgstr ""
    30493068
    3050 #: admin/views/settings/view.php:602
     3069#: admin/views/settings/view.php:644
    30513070msgid "Accessibility Description"
    30523071msgstr ""
    30533072
    3054 #: admin/views/settings/view.php:609
     3073#: admin/views/settings/view.php:651
    30553074msgid "Accessibility Explanation"
    30563075msgstr ""
    30573076
    3058 #: admin/views/settings/view.php:616
     3077#: admin/views/settings/view.php:658
    30593078msgid "Refresh Alt"
    30603079msgstr ""
    30613080
    3062 #: admin/views/settings/view.php:623
     3081#: admin/views/settings/view.php:665
    30633082msgid "Refresh Title"
    30643083msgstr ""
    30653084
    3066 #: admin/views/settings/view.php:653
     3085#: admin/views/settings/view.php:695
    30673086msgid "Save settings"
    30683087msgstr ""
    30693088
    3070 #: public/inc/basic.php:322
     3089#: public/inc/basic.php:328
    30713090msgid "Username or Email Address"
    30723091msgstr ""
    30733092
    3074 #: public/inc/basic.php:328
     3093#: public/inc/basic.php:334
    30753094msgid "Password"
    30763095msgstr ""
    30773096
    3078 #: public/inc/basic.php:334
     3097#: public/inc/basic.php:340
    30793098msgid "Log In"
    30803099msgstr ""
    30813100
    3082 #: public/inc/basic.php:340
     3101#: public/inc/basic.php:346
    30833102msgid "No account? Register here"
    30843103msgstr ""
    30853104
    3086 #: public/inc/basic.php:345
     3105#: public/inc/basic.php:351
    30873106msgid "Forgot password"
    30883107msgstr ""
  • yop-poll/trunk/public/inc/basic.php

    r3198009 r3222918  
    110110                case 'yes-hcaptcha': {
    111111                    $use_captcha[0] = '5';
     112                    $use_captcha[1] = '<div id="yop-poll-captcha-' . esc_attr( $uid ) . '" class="basic-captcha"></div>';
     113                    $use_captcha[2] = $uid;
     114                    break;
     115                }
     116                case 'yes-cloudflare-turnstile': {
     117                    $use_captcha[0] = '6';
    112118                    $use_captcha[1] = '<div id="yop-poll-captcha-' . esc_attr( $uid ) . '" class="basic-captcha"></div>';
    113119                    $use_captcha[2] = $uid;
  • yop-poll/trunk/public/public.php

    r3198009 r3222918  
    9494            wp_enqueue_script( 'yop-hCaptcha' );
    9595        }
     96        if (
     97            ( true === isset( $plugin_settings_decoded['integrations']['cloudflare-turnstile']['enabled'] ) ) &&
     98            ( 'yes' === $plugin_settings_decoded['integrations']['cloudflare-turnstile']['enabled'] ) &&
     99            ( '' !== $plugin_settings_decoded['integrations']['cloudflare-turnstile']['site-key'] ) &&
     100            ( '' !== $plugin_settings_decoded['integrations']['cloudflare-turnstile']['secret-key'] )
     101        ) {
     102            /* add cloudflare-turnstile if enabled */
     103            $args = array(
     104                'render' => 'explicit'
     105            );
     106            wp_register_script(
     107                'yop-cloudflare-turnstile',
     108                add_query_arg(
     109                    $args,
     110                    'https://challenges.cloudflare.com/turnstile/v0/api.js'
     111                ),
     112                '',
     113                null
     114            );
     115            wp_enqueue_script( 'yop-cloudflare-turnstile' );
     116            /* done adding cloudflare-turnstile */
     117        }
    96118        $captcha_accessibility_description = str_replace( '[STRONG]', '<strong>', esc_html( $plugin_settings_decoded['messages']['captcha']['accessibility-description'] ) );
    97119        $captcha_accessibility_description = str_replace( '[/STRONG]', '</strong>', $captcha_accessibility_description );
     
    119141                        'hCaptcha' => array(
    120142                            'siteKey' => isset( $plugin_settings_decoded['integrations']['hCaptcha']['site-key'] ) ? $plugin_settings_decoded['integrations']['hCaptcha']['site-key'] : '',
     143                        ),
     144                        'cloudflareTurnstile' => array(
     145                            'siteKey' => isset( $plugin_settings_decoded['integrations']['cloudflare-turnstile']['site-key'] ) ? $plugin_settings_decoded['integrations']['cloudflare-turnstile']['site-key'] : '',
    121146                        ),
    122147                    ),
  • yop-poll/trunk/readme.txt

    r3198009 r3222918  
    55Requires at least: 3.3
    66Tested up to: 6.7
    7 Stable tag: 6.5.35
     7Stable tag: 6.5.36
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.htm
     
    119119
    120120== Changelog ==
     121
     122= 6.5.36 =
     123* added support for Cloudflare Turnstile
    121124
    122125= 6.5.35 =
  • yop-poll/trunk/yop_poll.php

    r3198009 r3222918  
    44Plugin URI:  https://yop-poll.com
    55Description: Use a full option polling functionality to get the answers you need. YOP Poll is the perfect, easy to use poll plugin for your WordPress website.
    6 Version:     6.5.35
     6Version:     6.5.36
    77Author:      yourownprogrammer
    88Author URI:  https://yop-poll.com
     
    1212Text Domain: yop-poll
    1313*/
    14 define( 'YOP_POLL_VERSION', '6.5.35' );
     14define( 'YOP_POLL_VERSION', '6.5.36' );
    1515define( 'YOP_POLL_URL', plugin_dir_url( __FILE__ ) );
    1616define( 'YOP_POLL_PATH', plugin_dir_path( __FILE__ ) );
Note: See TracChangeset for help on using the changeset viewer.