Plugin Directory

Changeset 3236574


Ignore:
Timestamp:
02/07/2025 12:33:51 PM (13 months ago)
Author:
iteras
Message:

Escape output variables + add informational text to configuration page

Location:
iteras/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • iteras/trunk/README.txt

    r3235962 r3236574  
    33Requires at least: 3.5.1
    44Tested up to: 6.7.1
    5 Stable tag: 1.8.0
     5Stable tag: 1.8.1
    66License: GPLv2 or later
    77License URI: http://www.gnu.org/licenses/gpl-2.0.html
  • iteras/trunk/admin/iteras-admin.php

    r3235962 r3236574  
    281281
    282282      $this->save_settings_form();
     283
     284      array_push($messages, array(
     285        "text" => __( "Configuration has been saved", $this->plugin_slug ),
     286        "type" => 'success'
     287      ));
    283288    }
    284289
  • iteras/trunk/admin/views/admin.php

    r3235962 r3236574  
    1010  <form method="post" action="">
    1111    <?php wp_nonce_field( 'iteras_plugin_settings', 'iteras_plugin_settings_nonce' ); ?>
    12     <input name="paywall" type="hidden" value="<?=$settings['paywall_id']; ?>">
     12    <input name="paywall" type="hidden" value="<?= esc_attr($settings['paywall_id']); ?>">
    1313    <table class="form-table">
    1414      <tr>
    1515        <th scope="row"><label for="profile"><?php _e('ITERAS URL-id', $domain); ?></label></th>
    1616        <td>
    17           <input class="regular-text" name="profile" placeholder="<?php _e('e.g. sportsmanden', $domain); ?>" type="text" value="<?=$settings['profile_name']; ?>">
     17          <input class="regular-text" name="profile" placeholder="<?php _e('e.g. sportsmanden', $domain); ?>" type="text" value="<?= esc_attr($settings['profile_name']); ?>">
    1818          <p class="description"><?php _e('You can find your URL-id on the customer service settings page under the general settings section in the top right menu in ITERAS.', $domain); ?></p>
    1919        </td>
     
    2323        <th scope="row"><label for="signingkey"><?php _e('ITERAS signing key', $domain); ?></label></th>
    2424        <td>
    25           <input class="regular-text" id="signingkey" name="signing_key" placeholder="<?php _e('e.g.', $domain); ?> j8kau2v3lzp0n12ilw1d0hurr6059gyo" type="text" value="<?=$settings['signing_key']; ?>">
     25          <input class="regular-text" id="signingkey" name="signing_key" placeholder="<?php _e('e.g.', $domain); ?> j8kau2v3lzp0n12ilw1d0hurr6059gyo" type="text" value="<?= esc_attr($settings['signing_key']); ?>">
    2626          <p class="description"><?php _e('You can find your signing key in the general settings section in the top right menu in ITERAS.', $domain); ?></p>
    2727        </td>
     
    3131        <th scope="row"><label for="apikey"><?php _e('ITERAS API key', $domain); ?></label></th>
    3232        <td>
    33           <input class="regular-text" id="apikey" name="api_key" placeholder="<?php _e('e.g.', $domain); ?> drurhphapaikr5fcywk158n93ghat0vz" type="text" value="<?=$settings['api_key']; ?>">
     33          <input class="regular-text" id="apikey" name="api_key" placeholder="<?php _e('e.g.', $domain); ?> drurhphapaikr5fcywk158n93ghat0vz" type="text" value="<?= esc_attr($settings['api_key']); ?>">
    3434          <p class="description"><?php _e('You can create an API key under integrations in the top right menu in ITERAS.', $domain); ?></p>
    3535        </td>
     
    4747          <ul class="paywall-list">
    4848            <?php foreach ($settings['paywalls'] as $paywall) { ?>
    49               <li><?=$paywall['name']?> <span class="muted">(ID: <?=$paywall['paywall_id']?>)</span></li>
     49              <li><?= esc_html($paywall['name']); ?> <span class="muted">(ID: <?= esc_html($paywall['paywall_id']); ?>)</span></li>
    5050            <?php } ?>
    5151          </ul>
     
    6161          <select id="defaultaccess" name="default_access">
    6262            <?php foreach ($access_levels as $level => $label) { ?>
    63               <option value="<?=$level?>" <?php if ($settings['default_access'] == $level) echo 'selected="selected"' ?> ><?=$label?></option>
     63              <option value="<?= esc_html($level); ?>" <?php if ($settings['default_access'] == $level) echo 'selected="selected"' ?> ><?= esc_html($label); ?></option>
    6464            <?php } ?>
    6565          </select>
     
    7474          <select id="paywall_display_type" name="paywall_display_type">
    7575            <?php foreach ($this->paywall_display_types as $type => $label) { ?>
    76               <option value="<?=$type?>" <?php if ($settings['paywall_display_type'] == $type) echo 'selected="selected"' ?> ><?=$label?></option>
     76              <option value="<?= esc_attr($type); ?>" <?php if ($settings['paywall_display_type'] == $type) echo 'selected="selected"' ?> ><?= esc_html($label); ?></option>
    7777            <?php } ?>
    7878          </select>
     
    8585        <th scope="row"><label for="subscribeurl"><?php _e('Subscribe landing page', $domain); ?></label></th>
    8686        <td>
    87           <input class="regular-text" id="subscribeurl" name="subscribe_url" placeholder="<?php _e('e.g. /?page_id=1', $domain); ?>" type="text" value="<?=$settings['subscribe_url']; ?>">
     87          <input class="regular-text" id="subscribeurl" name="subscribe_url" placeholder="<?php _e('e.g. /?page_id=1', $domain); ?>" type="text" value="<?= esc_url($settings['subscribe_url']); ?>">
    8888          <p class="description"><?php _e('URL to the landing page for logging in or becoming a <b>paying subscriber</b>.', $domain); ?></p>
    8989        </td>
     
    9393        <th scope="row"><label for="userurl"><?php _e('User landing page', $domain); ?></label></th>
    9494        <td>
    95           <input class="regular-text" id="userurl" name="user_url" placeholder="<?php _e('e.g. /?page_id=2', $domain); ?>" type="text" value="<?=$settings['user_url']; ?>">
     95          <input class="regular-text" id="userurl" name="user_url" placeholder="<?php _e('e.g. /?page_id=2', $domain); ?>" type="text" value="<?= esc_attr($settings['user_url']); ?>">
    9696          <p class="description"><?php _e('URL to the landing page for logging in or registering as a <b>user</b>. The subscribe and user landing page can point to the same Wordpress page.', $domain); ?></p>
    9797        </td>
     
    101101        <th scope="row"><label for="paywall_snippet_size"><?php _e('Cut text at', $domain); ?></label></th>
    102102        <td>
    103           <input class="regular-text" name="paywall_snippet_size" style="width:6em;" placeholder="<?php _e('e.g. 30', $domain); ?>" type="text" value="<?=$settings['paywall_snippet_size']; ?>"> <?php _e('characters', $domain); ?>
     103          <input class="regular-text" name="paywall_snippet_size" style="width:6em;" placeholder="<?php _e('e.g. 30', $domain); ?>" type="text" value="<?= esc_attr($settings['paywall_snippet_size']); ?>"> <?php _e('characters', $domain); ?>
    104104        </td>
    105105      </tr>
     
    128128          <select id="paywall_integration_method" name="paywall_integration_method">
    129129            <?php foreach ($this->paywall_integration_methods as $method => $label) { ?>
    130               <option value="<?=$method?>" <?php if ($settings['paywall_integration_method'] == $method) echo 'selected="selected"' ?> ><?=$label?></option>
     130              <option value="<?= esc_attr($method); ?>" <?php if ($settings['paywall_integration_method'] == $method) echo 'selected="selected"' ?> ><?= esc_html($label); ?></option>
    131131            <?php } ?>
    132132          </select>
  • iteras/trunk/admin/views/post-meta-box.php

    r3016412 r3236574  
    1515  $i = 1;
    1616  foreach ($settings['paywalls'] as $paywall) {
    17     echo '<input id="iteras-paywall-checkbox'.$i.'" type="checkbox" name="iteras-paywall[]" value="'.$paywall['paywall_id'].'" '. (in_array($paywall['paywall_id'], $enabled_paywalls) ? 'checked="checked"' : "").'>';
    18     echo '<label for="iteras-paywall-checkbox'.$i.'">'.$paywall['name'].'</label><br>';
     17    echo '<input id="iteras-paywall-checkbox'.$i.'" type="checkbox" name="iteras-paywall[]" value="'.esc_attr($paywall['paywall_id']).'" '. (in_array($paywall['paywall_id'], $enabled_paywalls) ? 'checked="checked"' : "").'>';
     18    echo '<label for="iteras-paywall-checkbox'.$i.'">'.esc_html($paywall['name']).'</label><br>';
    1919    $i += 1;
    2020  }
  • iteras/trunk/iteras.php

    r3235962 r3236574  
    1313 * Plugin URI:        https://app.iteras.dk
    1414 * Description:       Integration with ITERAS, a cloud-based state-of-the-art system for managing subscriptions/memberships and payments.
    15  * Version:           1.8.0
     15 * Version:           1.8.1
    1616 * Author:            ITERAS
    1717 * Author URI:        https://www.iteras.dk
  • iteras/trunk/languages/iteras-da_DK.po

    r3016412 r3236574  
    66"Project-Id-Version: iteras\n"
    77"Report-Msgid-Bugs-To: team@iteras.dk\n"
    8 "POT-Creation-Date: 2024-01-02 13:05+0100\n"
    9 "PO-Revision-Date: 2024-01-02 13:05+0100\n"
     8"POT-Creation-Date: 2025-02-07 13:30+0100\n"
     9"PO-Revision-Date: 2025-02-07 13:30+0100\n"
    1010"Last-Translator: Ole Laursen <olau@iteras.dk>\n"
    1111"Language-Team: da\n"
     
    1515"Content-Transfer-Encoding: 8bit\n"
    1616
    17 #: admin/iteras-admin.php:61
     17#: admin/iteras-admin.php:65
    1818msgid "Everybody"
    1919msgstr "Alle"
    2020
    21 #: admin/iteras-admin.php:67
     21#: admin/iteras-admin.php:71
    2222msgid "Redirect to subscribe landing page"
    2323msgstr "Omdiriger til abonnér-landingsside"
    2424
    25 #: admin/iteras-admin.php:68
     25#: admin/iteras-admin.php:72
    2626msgid "Cut text and add call-to-action box"
    2727msgstr "Beskær tekst og tilføj call to action-boks"
    2828
    29 #: admin/iteras-admin.php:72
     29#: admin/iteras-admin.php:76
    3030msgid "Automatic"
    3131msgstr "Automatisk"
    3232
    33 #: admin/iteras-admin.php:73
     33#: admin/iteras-admin.php:77
    3434msgid "Custom"
    3535msgstr "Specialudviklet"
    3636
    37 #: admin/iteras-admin.php:90
     37#: admin/iteras-admin.php:94
    3838msgid "ITERAS Paywall"
    3939msgstr "ITERAS-paywall"
    4040
    41 #: admin/iteras-admin.php:95
     41#: admin/iteras-admin.php:99
    4242msgid "Paywall"
    4343msgstr "Betalingsmur"
    4444
    45 #: admin/iteras-admin.php:140
     45#: admin/iteras-admin.php:144
    4646msgid "Does not restrict visitors, everyone can see the content"
    4747msgstr "Begrænser ingen besøgende, alle kan se indholdet"
    4848
    49 #: admin/iteras-admin.php:141
     49#: admin/iteras-admin.php:145
    5050msgid ""
    5151"Content restricted to visitors who are in the subscriber database (but they "
     
    5555"have et aktivt abonnement)"
    5656
    57 #: admin/iteras-admin.php:142
     57#: admin/iteras-admin.php:146
    5858msgid "Content restricted to visitors with an active subscription"
    5959msgstr "Indhold begrænset til besøgende i abonnentdatabasen"
    6060
    61 #: admin/iteras-admin.php:184
     61#: admin/iteras-admin.php:192
    6262msgid "Add paywall"
    6363msgstr "Tilføj betalingsmur"
    6464
    65 #: admin/iteras-admin.php:187
     65#: admin/iteras-admin.php:195
    6666msgid "Remove paywalls"
    6767msgstr "Fjern betalingsmure"
    6868
    69 #: admin/iteras-admin.php:246
     69#: admin/iteras-admin.php:254
    7070msgid "ITERAS configuration"
    7171msgstr "ITERAS-konfiguration"
    7272
    73 #: admin/iteras-admin.php:247
     73#: admin/iteras-admin.php:255
    7474msgid "ITERAS"
    7575msgstr "ITERAS"
    7676
    77 #: admin/iteras-admin.php:286
     77#: admin/iteras-admin.php:279
     78msgid "Security check failed"
     79msgstr "Sikkerhedstjek mislykkedes"
     80
     81#: admin/iteras-admin.php:285
     82msgid "Configuration has been saved"
     83msgstr "Konfigurationen blev gemt"
     84
     85#: admin/iteras-admin.php:304
    7886msgid "Synchronization of paywalls from ITERAS complete"
    7987msgstr "Synkronisering af betalingsmure fra ITERAS gennemført"
    8088
    81 #: admin/iteras-admin.php:292
     89#: admin/iteras-admin.php:310
    8290msgid "Couldn't synchronize paywalls from ITERAS"
    8391msgstr "Kunne ikke synkronisere betalingsmure fra ITERAS"
    8492
    85 #: admin/iteras-admin.php:324
     93#: admin/iteras-admin.php:341
    8694msgid "Settings"
    8795msgstr "Indstillinger"
    8896
    89 #: admin/views/admin.php:14
     97#: admin/iteras-admin.php:350
     98msgid "You do not have sufficient permissions to access this page."
     99msgstr "Du har ikke nok rettigheder til at se denne side."
     100
     101#: admin/views/admin.php:15
    90102msgid "ITERAS URL-id"
    91103msgstr "ITERAS URL-id"
    92104
    93 #: admin/views/admin.php:16
     105#: admin/views/admin.php:17
    94106msgid "e.g. sportsmanden"
    95107msgstr "f.eks. sportsmanden"
    96108
    97 #: admin/views/admin.php:17
     109#: admin/views/admin.php:18
    98110msgid ""
    99111"You can find your URL-id on the customer service settings page under the "
     
    103115"grundindstillingerne i menuen øverst til højre i ITERAS."
    104116
    105 #: admin/views/admin.php:22
     117#: admin/views/admin.php:23
    106118msgid "ITERAS signing key"
    107119msgstr "ITERAS signeringsnøgle"
    108120
    109 #: admin/views/admin.php:24 admin/views/admin.php:32
     121#: admin/views/admin.php:25 admin/views/admin.php:33
    110122msgid "e.g."
    111123msgstr "f.eks."
    112124
    113 #: admin/views/admin.php:25
     125#: admin/views/admin.php:26
    114126msgid ""
    115127"You can find your signing key in the general settings section in the top "
     
    119131"til højre i ITERAS."
    120132
    121 #: admin/views/admin.php:30
     133#: admin/views/admin.php:31
    122134msgid "ITERAS API key"
    123135msgstr "ITERAS API-nøgle"
    124136
    125 #: admin/views/admin.php:33
     137#: admin/views/admin.php:34
    126138msgid ""
    127139"You can create an API key under integrations in the top right menu in ITERAS."
     
    130142"ITERAS."
    131143
    132 #: admin/views/admin.php:38
     144#: admin/views/admin.php:39
    133145msgid "Available paywalls"
    134146msgstr "Tilgængelige betalingsmure"
    135147
    136 #: admin/views/admin.php:42
     148#: admin/views/admin.php:43
    137149msgid "No paywalls available"
    138150msgstr "Ingen betalingsmure tilgængelig"
    139151
    140 #: admin/views/admin.php:52
     152#: admin/views/admin.php:53
    141153msgid "Synchronize"
    142154msgstr "Synkronisér"
    143155
    144 #: admin/views/admin.php:53
     156#: admin/views/admin.php:54
    145157msgid ""
    146158"You can configure paywalls in ITERAS in the paywalls section under "
     
    152164"knappen her bagefter."
    153165
    154 #: admin/views/admin.php:58
     166#: admin/views/admin.php:59
    155167msgid "Default paywall access"
    156168msgstr "Forvalgt paywall-adgang"
    157169
    158 #: admin/views/admin.php:66
     170#: admin/views/admin.php:67
    159171msgid "Default paywall access for new posts."
    160172msgstr "Betalingsmur-indstilling som nye indlæg og sider får som forvalg."
    161173
    162 #: admin/views/admin.php:71
     174#: admin/views/admin.php:72
    163175msgid "Access restriction"
    164176msgstr "Adgangsbegrænsning"
    165177
    166 #: admin/views/admin.php:79
     178#: admin/views/admin.php:80
    167179msgid "How users will be greeted on an article they don't have access to."
    168180msgstr ""
    169181"Hvordan besøgende bliver modtaget på en artikel som de ikke har adgang til."
    170182
    171 #: admin/views/admin.php:84
     183#: admin/views/admin.php:85
    172184msgid "Subscribe landing page"
    173185msgstr "Abonnér-landingsside"
    174186
    175 #: admin/views/admin.php:86
     187#: admin/views/admin.php:87
    176188msgid "e.g. /?page_id=1"
    177189msgstr "f.eks. /?page_id=1"
    178190
    179 #: admin/views/admin.php:87
     191#: admin/views/admin.php:88
    180192msgid ""
    181193"URL to the landing page for logging in or becoming a <b>paying subscriber</"
     
    185197"b>."
    186198
    187 #: admin/views/admin.php:92
     199#: admin/views/admin.php:93
    188200msgid "User landing page"
    189201msgstr "Bruger-landingsside"
    190202
    191 #: admin/views/admin.php:94
     203#: admin/views/admin.php:95
    192204msgid "e.g. /?page_id=2"
    193205msgstr "f.eks. /?page_id=2"
    194206
    195 #: admin/views/admin.php:95
     207#: admin/views/admin.php:96
    196208msgid ""
    197209"URL to the landing page for logging in or registering as a <b>user</b>. The "
     
    201213"b>. Abonnér- og bruger-landingssiderne kan pege på den samme Wordpress-side."
    202214
    203 #: admin/views/admin.php:100
     215#: admin/views/admin.php:101
    204216msgid "Cut text at"
    205217msgstr "Beskær tekst ved"
    206218
    207 #: admin/views/admin.php:102
     219#: admin/views/admin.php:103
    208220msgid "characters"
    209221msgstr "tegn"
    210222
    211 #: admin/views/admin.php:102
     223#: admin/views/admin.php:103
    212224msgid "e.g. 30"
    213225msgstr "f.eks. 30"
    214226
    215 #: admin/views/admin.php:107
     227#: admin/views/admin.php:108
    216228msgid "Call-to-action content"
    217229msgstr "Call to action-indhold"
    218230
    219 #: admin/views/admin.php:110
     231#: admin/views/admin.php:111
    220232msgid ""
    221233"Present ordering offers and a login option. If you link to separate ordering "
     
    231243"side efter at have bestilt eller logget ind."
    232244
    233 #: admin/views/admin.php:115
     245#: admin/views/admin.php:116
    234246msgid "Validation method"
    235247msgstr "Verifikationsmåde"
    236248
    237 #: admin/views/admin.php:117
     249#: admin/views/admin.php:118
    238250msgid "Enable server-side validation of access pass cookie"
    239251msgstr "Aktiver serverkontrol af adgangstegn-cookie"
    240252
    241 #: admin/views/admin.php:120
     253#: admin/views/admin.php:121
    242254msgid ""
    243255"With server-side validation, the ITERAS API key will be used to check the "
     
    258270"serverkontrol."
    259271
    260 #: admin/views/admin.php:125
     272#: admin/views/admin.php:126
    261273msgid "Paywall integration method"
    262274msgstr "Integrationsmåde for betalingsmur"
    263275
    264 #: admin/views/admin.php:133
     276#: admin/views/admin.php:134
    265277msgid ""
    266278"For custom integration use either <code>[iteras-paywall-content]...[/iteras-"
     
    272284"<code>Iteras::get_instance().potentially_paywall_content(...)</code>."
    273285
    274 #: admin/views/admin.php:145
     286#: admin/views/admin.php:146
    275287msgid ""
    276288"For more information about the ITERAS API check out the <a target=\"_blank\" "
  • iteras/trunk/public/iteras-public.php

    r3235962 r3236574  
    1616class Iteras {
    1717
    18   const VERSION = '1.8.0';
     18  const VERSION = '1.8.1';
    1919
    2020  const SETTINGS_KEY = "iteras_settings";
Note: See TracChangeset for help on using the changeset viewer.