From f482908777e3cc6f7d073c13347bacb5d3f969ff Mon Sep 17 00:00:00 2001 From: Magnus Rosenquist Hamvall Date: Wed, 22 May 2024 13:44:47 +0200 Subject: [PATCH 1/7] Added functionality for clientside Paywall rendering --- admin/tulo-payway-paywall-settings.php | 2 + includes/class-tulo-payway.php | 2 + public/class-tulo-payway-public.php | 72 +++++++++++++++++++++++--- public/js/wp-tulo.js | 3 +- 4 files changed, 71 insertions(+), 8 deletions(-) diff --git a/admin/tulo-payway-paywall-settings.php b/admin/tulo-payway-paywall-settings.php index 288f9f9..bf3a0f2 100644 --- a/admin/tulo-payway-paywall-settings.php +++ b/admin/tulo-payway-paywall-settings.php @@ -16,6 +16,7 @@ if(isset($_POST['action']) && $_POST['action'] == 'update') { update_option('tulo_paywall_enabled', isset($_POST["tulo_paywall_enabled"]) ? "on" : "" ); + update_option('tulo_paywall_clientside_enabled', isset($_POST["tulo_paywall_clientside_enabled"]) ? "on" : "" ); update_option('tulo_paywall_error_header', $_POST["tulo_paywall_error_header"]); update_option('tulo_paywall_error_message', $_POST["tulo_paywall_error_message"]); //update_option('tulo_paywall_error_function', $_POST["tulo_paywall_error_function"]); @@ -175,6 +176,7 @@ function tulo_server_render_custom_variables() diff --git a/includes/class-tulo-payway.php b/includes/class-tulo-payway.php index d5dcad4..a50a686 100644 --- a/includes/class-tulo-payway.php +++ b/includes/class-tulo-payway.php @@ -257,6 +257,8 @@ private function define_public_hooks() { $this->loader->add_action( 'wp_ajax_tulo_login', $plugin_public, 'ajax_login', 1 ); $this->loader->add_action( 'wp_ajax_nopriv_tulo_logout', $plugin_public, 'ajax_logout', 1 ); $this->loader->add_action( 'wp_ajax_tulo_logout', $plugin_public, 'ajax_logout', 1 ); + $this->loader->add_action( 'wp_ajax_nopriv_tulo_pw_signature', $plugin_public, 'ajax_paywall_jwt', 1 ); + $this->loader->add_action( 'wp_ajax_tulo_pw_signature', $plugin_public, 'ajax_paywall_jwt', 1 ); } diff --git a/public/class-tulo-payway-public.php b/public/class-tulo-payway-public.php index bed9022..e34a5a5 100644 --- a/public/class-tulo-payway-public.php +++ b/public/class-tulo-payway-public.php @@ -346,10 +346,15 @@ public function content_filter($content) { } } - if (get_option("tulo_paywall_enabled") == "on") { + if (get_option("tulo_paywall_enabled") == "on" && get_option("tulo_paywall_clientside_enabled") != "on") { $output .= $this->initialize_paywall($restrictions); } + if (get_option("tulo_paywall_clientside_enabled") == "on") { + $output .= $this->initialize_paywall_clientside($restrictions); + } + + $output .= ''; $output .= ''; @@ -365,8 +370,14 @@ private function restrictions_require_login_only($post_restrictions) { return false; } + private function initialize_paywall_clientside($post_restrictions) + { + $this->common->write_log("initialize paywall clientside"); + $output = $this->initialize_paywall($post_restrictions, true); + return $output; + } - private function initialize_paywall($post_restrictions) + private function initialize_paywall($post_restrictions, $late_init = false) { if (is_admin()) return; @@ -390,15 +401,17 @@ private function initialize_paywall($post_restrictions) $output .= ''; } - - + $jwtToken = ""; + if (!$late_init) { + $jwtToken = $paywall->get_signature($post_restrictions); + } $output .= ''; $output .= ''; + if (!$late_init) { + $output .= ''; + } else { + $restrictions = base64_encode(serialize($post_restrictions)); + $output .= ''; + } return $output; } @@ -534,8 +577,23 @@ public function ajax_logout() { wp_die(); } + public function ajax_paywall_jwt() { + $restrictions = base64_decode(filter_input(INPUT_POST, 'restrictions')); + $post_restrictions = unserialize($restrictions); + $this->common->write_log(" post restrictions unserialized: ".print_r($post_restrictions, true)); + $paywall = new Tulo_Paywall_Common(); + $signature = $paywall->get_signature($post_restrictions); + $this->common->write_log(" generated signature: ".$signature); + + header('Content-Type: text/plain'); + echo $signature; + wp_die(); + } + public function tulo_query_vars($qvars) { $qvars[] = "tpw_session_refresh"; return $qvars; } + + } diff --git a/public/js/wp-tulo.js b/public/js/wp-tulo.js index 8b12676..40d3169 100644 --- a/public/js/wp-tulo.js +++ b/public/js/wp-tulo.js @@ -163,4 +163,5 @@ // Insert error message before the form's first child node target.insertBefore(errorMessageNode, target.childNodes[0]); } -}); + +}); \ No newline at end of file From 6899a21153f335a6782bc38d20aeec16ad4835b7 Mon Sep 17 00:00:00 2001 From: Magnus Rosenquist Hamvall Date: Wed, 22 May 2024 13:46:17 +0200 Subject: [PATCH 2/7] Bump version --- wp-tulo-payway.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wp-tulo-payway.php b/wp-tulo-payway.php index 504a1fd..071c9ca 100644 --- a/wp-tulo-payway.php +++ b/wp-tulo-payway.php @@ -9,13 +9,13 @@ * that starts the plugin. * * @link https://adeprimo.se - * @since 1.2.2 + * @since 1.2.3.1 * @package Tulo_Payway_Server * * @wordpress-plugin * Plugin Name: Tulo Payway Connector for Wordpress * Description: This plugin integrates with the SSO2 single sign on solution in Tulo Payway. Now with support for Tulo Paywall. - * Version: 1.2.2 + * Version: 1.2.3.1 * Author: Adeprimo AB * Author URI: https://adeprimo.se * Text Domain: tulo From 0d74f1e7851248bd4904f050b85a8662086a1fbb Mon Sep 17 00:00:00 2001 From: Magnus Rosenquist Hamvall Date: Wed, 22 May 2024 13:51:17 +0200 Subject: [PATCH 3/7] Translations and help-texts --- admin/tulo-payway-paywall-settings.php | 2 +- lang/tulo-en_US.mo | Bin 9805 -> 9881 bytes lang/tulo-en_US.po | 112 ++++++++++++----------- lang/tulo-sv_SE.mo | Bin 10597 -> 10889 bytes lang/tulo-sv_SE.po | 118 ++++++++++++++----------- 5 files changed, 123 insertions(+), 109 deletions(-) diff --git a/admin/tulo-payway-paywall-settings.php b/admin/tulo-payway-paywall-settings.php index bf3a0f2..b19e2fd 100644 --- a/admin/tulo-payway-paywall-settings.php +++ b/admin/tulo-payway-paywall-settings.php @@ -176,7 +176,7 @@ function tulo_server_render_custom_variables() diff --git a/lang/tulo-en_US.mo b/lang/tulo-en_US.mo index 60ae719f3e30a2ed976d27958ff64391f3be935d..956345d401bf63900f80fe7268ee48b718f76f33 100644 GIT binary patch delta 2214 zcmajfTTGL87{~DkWe9?EQV|BIb+8Et4ysrYwHy>>Q$+DB9$Kl|h19Jx9%E`k%tVt- zg2pXbVlrdohK!6XQL}{Th0%*GL=%n2?WPwSCK{qfjTe4@?c3}9!_&`ue*f?DJb(UN z@zcualkC*9#t0CFMEO{=E?k(#4`X?{*#vCH@wfpeV*oSp0A^vAvws>tVgF~$#v#Ys z$fGTW{MoCiT;9>_$wCie*4F{AeFNPoG3uu=tX@&Gb%Ifs0SUwVLXj_=qEkv@Gv&u zFjk}ML+5_i)hF-h}tMHg}!Ee~c{t)g(7im$3x=<53k2CNx zYC;e2V|;^}xQq1Z`DIv&ZK&&yqB3zloBX@k_?-iK@Lg1MjiORM&Smx$7Gpeh$SJ#s zMR*xCkw@skm#8l-;UQ|;YV5#9@q+e_JtXRaBrppw)3_lnpJ5{iq8Mqf*s{ zS{41MRWX8I%pkv774@i9(T!Ra!*~wwp(e1GhR~`wf;D&*HNh81bu5E)>qDajY-pw) ztVACM@N3+Scd!#{sfS9@hboPWS=C`B>OtS&FrGl>YMW??br``0yovgNOgdN@Yec`+ ze+wIA(+02_Z=h=Q4wzU($V+<8j%*&ehKQqt5GQop)z#=)l>thRgpts^}^$*FF%9onSNBNuQ}d9 z{)br%_55d8%KI&kR@My-s2*64`qJ%4_AP>{-S?;zUqF>&UvVOHf1|E{iJY?ZPZJX< zM-Tf;Q4>Fi%FuD#g}oTn4BxV$Cd&FO(Tpzqfc;#gpKL0s#$ME_XhBW*C~8&oU<&G- zGNrMA*g#PBc;~C63ki))39ME1SIyNZeqxDpLSL&FYb+*OhybBFYAAhm#A-rcrmQJb zUlPet%f=#SrvXz5S}L9?9bQVTQ2o_>&BRuMlE#~4Ij$r$RI_%XjhIWQi#3!XjWL9l zq=wR+9OZ1NFH{n(n0mrZY#~Tkd~8$w=MieO9Yk_$Pj28GVy3fCiQ}V!-}TORC6*DZ zoPDZkYYEj_LnW#r8i_9mR;bM)(ujH=Kk9*v#AZSrtYxLKhL}&N_Ma1~x&Apd5y_E1 zI3v9*rLZ#;4DYM>Hq;SxM}pywU?ddY?GA?hfzDvZ;2(KUQ+mVsX@j+yOU9>rJnpJF S3+B!n{4U2k_Wy3|neZMgiq8xH delta 2136 zcmXxkc}P@I6vy%7lA30vWo4_mOq-cw*)*0`wrDzSmRZ?mNkK#rZ6Lw4fzU!kL`eS? zgn?Nk;Xg_ef$hs5MbSc31{F~d87)xX-+Ql%=Y8&5=H2_wxz~pI_d?-U$N$jz7NwmKZ?nC$@4n$YI}_Q*)tAf%)<7D zP9Yb1^)w4$8J6GyoQtMq<@MSE*HVoo#Ou>9^CSf@az}2V;?!;W&j~RHy zxgR!rLT3mUKBIovlczQFA*hVxpk7pt4{<#X!il7%5<^&wXE7hU(D{9DvpmjoP!p>` z-QRNW2 z%W5$NnY+~?A8$uc&z(V%Y>oZNKYeTEpqbyr9DIws%aR#A7Jaxcl6$BDE|E5+ydCxX zo2Zn(L=Er(S=ZK$+6{k^Z?SY{E%Q;kp)^cK4~9^wszmJuT@PS8YBzjG?S?|~tle-3 zPva5Pz!@wA?S=^$#I2}_H6m58cGL$xKuz#H=3@98o%M7wslz6$$1V5;Rf1L2LnZ0t zFazJAUX(S=-3`-_xmh9$p%Q&qjC)ZZa1E8IAE^H^k*s8rXtkKH{a;5%wYiMU#X68| z*>hB?zM*Orljhbk1$EztDn$|MehBsZYE(vcqXs_UogYJec>`*3o_Ef}q{O@M0`=k^ zELEj&80rUAsKr!^+6}i*0|qIqzPuE*R%%eG-sM@3{O_^`)PUzuCBBP#z8m8h-{M)) z`qF-=-QYvjt{5L;6{-}YGu_mkL_L22xn*sriM+-<{E3=)c9xr=Aa3Nm1U12C)Eer* za1@Yu%2P1v%jQtqP`5cVE@x&BDO&ME8upFGd4mMQ>+Hx0Lh?9t= z#5!V@>aV7B=nK>eiTOkgp*pIKBBm3I2z{A$jA~s*{BH$xrgHvx#y- znJpz&5osD1I5o)SgHBmuKBqkGT%8*(lG1uw2|24g?jiaM=L0O$L&cG4GN`gc> zZ8b+$y_4Owy2AKQTjMEILo)0%)mJT>(DqWBKxiQ?&9>I>a zu|y0}MD!)9h!uoiD_+}AZ7~rbv_DmMEi$d#ImG{#+TxEJ8_^P<`Z1zqLqb`6Ty7xE SKe=F1u;pq>Ad2h96aNA6A-4(u diff --git a/lang/tulo-en_US.po b/lang/tulo-en_US.po index 98fefe3..1907c45 100644 --- a/lang/tulo-en_US.po +++ b/lang/tulo-en_US.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Tulo Payway\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-07 16:49+0200\n" -"PO-Revision-Date: 2024-05-07 16:49+0200\n" +"POT-Creation-Date: 2024-05-22 13:46+0200\n" +"PO-Revision-Date: 2024-05-22 13:46+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: sv\n" @@ -25,33 +25,33 @@ msgstr "" msgid "Tulo Payway restrictions" msgstr "Tulo Payway restrictions" -#: admin/tulo-payway-paywall-settings.php:50 +#: admin/tulo-payway-paywall-settings.php:51 msgid "Spinner html" msgstr "Spinner html" -#: admin/tulo-payway-paywall-settings.php:51 +#: admin/tulo-payway-paywall-settings.php:52 msgid "HTML shown when paywall is loading." msgstr "" "HTML shown when the paywall is loading, if left empty standard Tulo Paywall " "spinner will be shown." -#: admin/tulo-payway-paywall-settings.php:136 +#: admin/tulo-payway-paywall-settings.php:137 msgid "Variable key" msgstr "Key" -#: admin/tulo-payway-paywall-settings.php:141 +#: admin/tulo-payway-paywall-settings.php:142 msgid "Variable value" msgstr "Value" -#: admin/tulo-payway-paywall-settings.php:143 +#: admin/tulo-payway-paywall-settings.php:144 msgid "Variable delete" msgstr "Delete" -#: admin/tulo-payway-paywall-settings.php:149 +#: admin/tulo-payway-paywall-settings.php:150 msgid "Add variable" msgstr "Add variable" -#: admin/tulo-payway-paywall-settings.php:155 +#: admin/tulo-payway-paywall-settings.php:156 #, fuzzy #| msgid "Tulo Paywall custom variables." msgid "Tulo Paywall custom variable." @@ -60,53 +60,57 @@ msgstr "" "paywall-js/1-1/#support-for-custom-variables”>Read more about custom " "variables." -#: admin/tulo-payway-paywall-settings.php:168 +#: admin/tulo-payway-paywall-settings.php:169 msgid "Tulo Paywall settings" msgstr "Tulo Paywall settings" -#: admin/tulo-payway-paywall-settings.php:173 +#: admin/tulo-payway-paywall-settings.php:174 msgid "Paywall basic settings" msgstr "Basic settings" -#: admin/tulo-payway-paywall-settings.php:177 +#: admin/tulo-payway-paywall-settings.php:178 msgid "Tulo Paywall enabled" msgstr "Tulo Paywall enabled" -#: admin/tulo-payway-paywall-settings.php:178 +#: admin/tulo-payway-paywall-settings.php:179 +msgid "Client-side rendering enabled" +msgstr "Client-side rendering enabled" + +#: admin/tulo-payway-paywall-settings.php:180 #: admin/tulo-payway-server-settings.php:281 msgid "API Client id" msgstr "API Client-ID" -#: admin/tulo-payway-paywall-settings.php:178 +#: admin/tulo-payway-paywall-settings.php:180 msgid "Paywall API user client id" msgstr "Paywall API user client id" -#: admin/tulo-payway-paywall-settings.php:179 +#: admin/tulo-payway-paywall-settings.php:181 #: admin/tulo-payway-server-settings.php:282 msgid "API Secret" msgstr "API Secret" -#: admin/tulo-payway-paywall-settings.php:179 +#: admin/tulo-payway-paywall-settings.php:181 msgid "Paywall API user secret" msgstr "Paywall API user secret" -#: admin/tulo-payway-paywall-settings.php:183 +#: admin/tulo-payway-paywall-settings.php:185 msgid "Paywall selection settings" msgstr "Paywall selection settings" -#: admin/tulo-payway-paywall-settings.php:187 +#: admin/tulo-payway-paywall-settings.php:189 msgid "Tulo Paywall title" msgstr "Tulo Paywall title" -#: admin/tulo-payway-paywall-settings.php:187 +#: admin/tulo-payway-paywall-settings.php:189 msgid "Tulo Payway title code where Paywall is configured" msgstr "Tulo Payway title code where Paywall is configured" -#: admin/tulo-payway-paywall-settings.php:188 +#: admin/tulo-payway-paywall-settings.php:190 msgid "Tulo Paywall Static Selector Key" msgstr "Static Paywall key" -#: admin/tulo-payway-paywall-settings.php:188 +#: admin/tulo-payway-paywall-settings.php:190 msgid "" "If there are more than one Paywall active in Tulo, this static key will " "select which Paywall to select for presentation. If static and dynamic keys " @@ -116,11 +120,11 @@ msgstr "" "select which Paywall to select for presentation. If static and dynamic keys " "are left blank, Tulo will display the first Paywall created." -#: admin/tulo-payway-paywall-settings.php:189 +#: admin/tulo-payway-paywall-settings.php:191 msgid "Tulo Paywall Dynamic Selector Key" msgstr "Dynamic Paywall key" -#: admin/tulo-payway-paywall-settings.php:189 +#: admin/tulo-payway-paywall-settings.php:191 msgid "" "Enter the name of a session variable that holds the Paywall selection key, " "if no value is defined on the session variable, the static key will be used." @@ -128,11 +132,11 @@ msgstr "" "Enter the name of a session variable that holds the Paywall selection key, " "if no value is defined on the session variable, the static key will be used." -#: admin/tulo-payway-paywall-settings.php:190 +#: admin/tulo-payway-paywall-settings.php:192 msgid "Tulo Paywall Product Selector Key" msgstr "Product Paywall key" -#: admin/tulo-payway-paywall-settings.php:190 +#: admin/tulo-payway-paywall-settings.php:192 msgid "" "Use the locked article's required product code as selector, must map to a " "Paywall with matching key." @@ -140,23 +144,23 @@ msgstr "" "Use the locked article’s required product code as selector, must map to a " "Paywall with matching key." -#: admin/tulo-payway-paywall-settings.php:196 +#: admin/tulo-payway-paywall-settings.php:198 msgid "Paywall analytics settings" msgstr "Analytics settings" -#: admin/tulo-payway-paywall-settings.php:200 +#: admin/tulo-payway-paywall-settings.php:202 msgid "Tulo Paywall Traffic Source" msgstr "Tulo Paywall Traffic Source" -#: admin/tulo-payway-paywall-settings.php:200 +#: admin/tulo-payway-paywall-settings.php:202 msgid "Leave empty if no traffic source should be used (not recommended)." msgstr "Leave empty if no traffic source should be used (not recommended)." -#: admin/tulo-payway-paywall-settings.php:201 +#: admin/tulo-payway-paywall-settings.php:203 msgid "Tulo Paywall Merchant Reference (static)" msgstr "Tulo Paywall Merchant Reference (static)" -#: admin/tulo-payway-paywall-settings.php:201 +#: admin/tulo-payway-paywall-settings.php:203 msgid "" "Leave empty if no merchant reference should be used or if inferred from " "article link." @@ -164,96 +168,96 @@ msgstr "" "Leave empty if no merchant reference should be used or if inferred from " "article link." -#: admin/tulo-payway-paywall-settings.php:202 +#: admin/tulo-payway-paywall-settings.php:204 msgid "Tulo Paywall Merchant Reference from link" msgstr "Tulo Paywall Merchant Reference from link" -#: admin/tulo-payway-paywall-settings.php:202 +#: admin/tulo-payway-paywall-settings.php:204 msgid "Get merchant reference from current article link" msgstr "Get merchant reference from current article link" -#: admin/tulo-payway-paywall-settings.php:203 +#: admin/tulo-payway-paywall-settings.php:205 msgid "Tulo Paywall Account Origin" msgstr "Account Origin" -#: admin/tulo-payway-paywall-settings.php:203 +#: admin/tulo-payway-paywall-settings.php:205 msgid "New accounts will be created with this account origin" msgstr "New accounts will be created with this account origin" -#: admin/tulo-payway-paywall-settings.php:208 +#: admin/tulo-payway-paywall-settings.php:210 msgid "Paywall look and feel settings" msgstr "Look and feel" -#: admin/tulo-payway-paywall-settings.php:213 +#: admin/tulo-payway-paywall-settings.php:215 msgid "Tulo Paywall CSS enabled" msgstr "Tulo Paywall CSS enabled" -#: admin/tulo-payway-paywall-settings.php:213 +#: admin/tulo-payway-paywall-settings.php:215 msgid "Check to include Tulo CSS for the paywall" msgstr "Check to include Tulo CSS for the paywall" -#: admin/tulo-payway-paywall-settings.php:219 +#: admin/tulo-payway-paywall-settings.php:221 msgid "Paywall error handling settings" msgstr "Error handling settings" -#: admin/tulo-payway-paywall-settings.php:223 +#: admin/tulo-payway-paywall-settings.php:225 msgid "Tulo Paywall Error header" msgstr "Error header text" -#: admin/tulo-payway-paywall-settings.php:223 +#: admin/tulo-payway-paywall-settings.php:225 msgid "Error header text shown when the paywall cannot be loaded" msgstr "Error header text shown when the paywall cannot be loaded" -#: admin/tulo-payway-paywall-settings.php:224 +#: admin/tulo-payway-paywall-settings.php:226 msgid "Tulo Paywall Error description" msgstr "Error description" -#: admin/tulo-payway-paywall-settings.php:224 +#: admin/tulo-payway-paywall-settings.php:226 msgid "Error description text shown when the paywall cannot be loaded" msgstr "Error description text shown when the paywall cannot be loaded" -#: admin/tulo-payway-paywall-settings.php:229 +#: admin/tulo-payway-paywall-settings.php:231 msgid "Tulo Paywall error handling." msgstr "" "If no specific error settings are defined, default values apply. Read more about error handling." -#: admin/tulo-payway-paywall-settings.php:234 +#: admin/tulo-payway-paywall-settings.php:236 msgid "Paywall other settings" msgstr "Other settings" -#: admin/tulo-payway-paywall-settings.php:238 +#: admin/tulo-payway-paywall-settings.php:240 msgid "Tulo Paywall Login Url" msgstr "Login Url" -#: admin/tulo-payway-paywall-settings.php:238 +#: admin/tulo-payway-paywall-settings.php:240 msgid "Login URL that can be used in the Paywall template" msgstr "" "Enter URL used for logging in on the site, if left empty the standard Tulo " "login url will be used" -#: admin/tulo-payway-paywall-settings.php:239 +#: admin/tulo-payway-paywall-settings.php:241 msgid "Tulo Paywall Shop Url" msgstr "Shop Url" -#: admin/tulo-payway-paywall-settings.php:239 +#: admin/tulo-payway-paywall-settings.php:241 msgid "Shop URL that can be used in the Paywall template" msgstr "Enter URL for the shop you wish to display in the Paywall" -#: admin/tulo-payway-paywall-settings.php:240 +#: admin/tulo-payway-paywall-settings.php:242 msgid "Javascript debug enabled" msgstr "Javascript debug enabled" -#: admin/tulo-payway-paywall-settings.php:240 +#: admin/tulo-payway-paywall-settings.php:242 msgid "Check to see extra debug statements in the Javascript console" msgstr "Check to see extra debug statements in the Javascript console" -#: admin/tulo-payway-paywall-settings.php:244 +#: admin/tulo-payway-paywall-settings.php:246 msgid "Paywall custom variables" msgstr "Custom variables" -#: admin/tulo-payway-paywall-settings.php:256 +#: admin/tulo-payway-paywall-settings.php:258 #: admin/tulo-payway-server-settings.php:315 msgid "Save Changes" msgstr "Save Changes" @@ -438,11 +442,11 @@ msgstr "Wrong username or password. (%s attempts left)" msgid "Visitor is logged in" msgstr "Visitor must be logged in" -#: public/class-tulo-payway-public.php:385 +#: public/class-tulo-payway-public.php:396 msgid "Loading paywall..." msgstr "Loading..." -#: public/class-tulo-payway-public.php:482 +#: public/class-tulo-payway-public.php:525 msgid "Buy" msgstr "Buy" diff --git a/lang/tulo-sv_SE.mo b/lang/tulo-sv_SE.mo index 6b93a41b6bfe27f616f7823c6cf8f9abd45ddc5e..352204326f3c270e933504a58048316fcb5f60ff 100644 GIT binary patch delta 2461 zcmYk-e@xVM9LMobfC@qg6oeu2#Wc|b;S3NGK}Av%L4KKN;K6-64$p(#0fyDieym1Y z)9u!*DE?`>)gQUVs=2n9vDpt>v)THiF(-4aTCSFBOKNRBU*G#)^%?Jbe7@iNem|f0 z=hyLl+eBydT29Ip`48Lr~` z8_dB!T$iR9L(`@Zxn+uRoiS0fp31}A=)gLB0}Jsxtj62!_vQ57#Pt)X+-C3$UP2|( z!^c(}#2S1XbMXdd;{xVkI@v1WReY4wzu8FTK5iUAJ@7mh;3VqB4^boe95q98sOJ{& z3T81q`8bcA_$O}1)=Xn6F^10j=;3+}mDsXnd{6&o4Hf>(AwKTKqj(R#;9gImI=q1D z=n59$Pq-4(vf|&Dpx&=XCdG8S+Q{I|Fp{%*3QKSTqq^~)dt(OG@sC)68os{wU^~|1 z5XMk5l+3V{P!Sg6W>iAmxE#k(iN{bKzJu%VD(d;abC`ckMbTZxSXhZ_xC^xh!l=!5 z8a4H2aS%U2y;sVYv}Janmaq$z&!^YJfO;>Q zM=R=R8){_xU2SAgW*qgxDGcDp7{U^UH;iX+1XEe~H}PpK#{zb!-rtM!*oWj~8Z9mhdI<#uIAT84Ob(RV49J(jUP3D7g5hmy7%8j zayDO~mf&YxjY({nOr8I=RJ3+gsAJNIYN!>pYkjEA@-p(SnZhc(hz)ofwRdW0wHKRE zr{o+m%O-D4eB>U~?r%mVcpNk7-@HUcBYzDwlDF^yoJA$_D{9ju-ycsX12vVEs3~tn zjqDe^jEmOtbB$l45@=@>>Tn3j)jW%O{~SiORu`#g58Og^m_(X0n1`C`Z*d9U#Kri# z>tCqzp2SYlX(`4^tU|RD#8f>BbWeln9wL5A^u-9k`DI1evot!wDq9FGZ7*?%=vMz-!~ue3cGe4=|73-@f$-=CrHI%@ zG!eyw3M*jhi56W@v=Ozo{e+fOC#aT4lu{~5g!TigVxkZ6(MPE0m?X-BR8kTbuI*S& zXl+$m37rI$T|~N5i~sZ4=+<>|v^Vw<+ueJQ;wIuq{Kq!_d5|0XV>?r?Zw=capB=VZ zz2nEd!JyS24A`NONWf=XBSY43*dF83iUj;2@5pG_w)(yO1A&m=3Pd8KcBCv;kk+um zd8O2OC*GPKutVOypzWJJnAVYz>hV|=n`$e|r{B-5OCCt{m1x!S+aWt_hrJPNEa0=o zyx~EcS|mg}8?47?KM31><9 delta 2174 zcmZA1dq|ac9LMo*Y4ehEc{Izcd92os(@ZTjEl-x2mdiHn)JoH37bxjo1cUKp4Wj

`L^haA1LF7LU97+9Q*AWpLbU9m)VMzZRk}weV{ygUiq95n`ynfH^cl|!+SZJWZ z3HxGyHA)*XmB@=RJAw;8;XtX4H~SQqV?M^i$vu4FAL_^l$g6Ou|83K;2b`nW&D6FbnJOb8PqSA4ffZ9$5tI_3TIH zVh@qAS{MU3A`^us=}G-A-fuS#|rH3;b+=gJ$p!^D%{9Y11k(4p-x$ zvFtgjgJ&!sleHn#1V&K<%w$w*Cm+dgtHwgCN8LY!TKP_gN-UMjsF7VoJ=llyF@j%V zF6Yj7o=Lwyymu^-=f=e;C^27VLuUIf+dG?rNtneDk4nS(hYDte(Ex8WJwiLtEz zZrq3a@db9_I;L5GZ&3{dNPy=UL?xr2Ol`*nSdG7;M)ZE9cm6RBE`; zgIXG8iW*KuCS^IuyH^+>yWWn3+nyDsIBTk z<-lL4nTPQ@M$pkxU!&JJyoE}t2cG|+zV9&V>lnpi^f65}REzQ0jAL*%p}kfqBi0i7 zD%c6PEbv_C`Hl8}9w#AUBT?nuP~#-NTPipzXEM(L}I=ZfT)^cS*Is-@BKhht?13Mbz19w`hM=@`yEV&1?>`1GdULCw*)+ zp{!TY)+!H{5X%XDE&6ZJR)>Ndl>Ofk>k0iUDOpq+h*Cm1l20hBNdfn}2Dj)F{kX(* p{uuvX=Y@ol?vaFsr1*kTe_=`ayt3}b^op3yk&LqLRa43*{0|hHz-j;h diff --git a/lang/tulo-sv_SE.po b/lang/tulo-sv_SE.po index 3ea408e..1f5506a 100644 --- a/lang/tulo-sv_SE.po +++ b/lang/tulo-sv_SE.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Tulo Payway\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-07 16:49+0200\n" -"PO-Revision-Date: 2024-05-07 16:49+0200\n" +"POT-Creation-Date: 2024-05-22 13:49+0200\n" +"PO-Revision-Date: 2024-05-22 13:50+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: sv\n" @@ -25,85 +25,95 @@ msgstr "" msgid "Tulo Payway restrictions" msgstr "Tulo Payway begränsningar" -#: admin/tulo-payway-paywall-settings.php:50 +#: admin/tulo-payway-paywall-settings.php:51 msgid "Spinner html" msgstr "Spinner html" -#: admin/tulo-payway-paywall-settings.php:51 +#: admin/tulo-payway-paywall-settings.php:52 msgid "HTML shown when paywall is loading." msgstr "" "HTML som visas när Paywall laddas, om fältet lämnas tomt används standard " "Tulo Paywall “spinner”." -#: admin/tulo-payway-paywall-settings.php:136 +#: admin/tulo-payway-paywall-settings.php:137 msgid "Variable key" msgstr "Nyckel" -#: admin/tulo-payway-paywall-settings.php:141 +#: admin/tulo-payway-paywall-settings.php:142 msgid "Variable value" msgstr "Värde" -#: admin/tulo-payway-paywall-settings.php:143 +#: admin/tulo-payway-paywall-settings.php:144 msgid "Variable delete" msgstr "Ta bort" -#: admin/tulo-payway-paywall-settings.php:149 +#: admin/tulo-payway-paywall-settings.php:150 msgid "Add variable" msgstr "Lägg till ny variabel" -#: admin/tulo-payway-paywall-settings.php:155 +#: admin/tulo-payway-paywall-settings.php:156 msgid "Tulo Paywall custom variable." msgstr "" "Läs mer om utökade variabler." -#: admin/tulo-payway-paywall-settings.php:168 +#: admin/tulo-payway-paywall-settings.php:169 msgid "Tulo Paywall settings" msgstr "Tulo Paywall inställningar" -#: admin/tulo-payway-paywall-settings.php:173 +#: admin/tulo-payway-paywall-settings.php:174 msgid "Paywall basic settings" msgstr "Grundinställningar" -#: admin/tulo-payway-paywall-settings.php:177 +#: admin/tulo-payway-paywall-settings.php:178 msgid "Tulo Paywall enabled" msgstr "Tulo Paywall aktiverad" -#: admin/tulo-payway-paywall-settings.php:178 +#: admin/tulo-payway-paywall-settings.php:179 +msgid "Client-side rendering enabled" +msgstr "Rendera Paywall på klienten" + +#: admin/tulo-payway-paywall-settings.php:179 +msgid "Check to render Paywall clientside to prevent signature caching issues." +msgstr "" +"Paywall signatur genereras vid varje visning, förebygger eventuella problem " +"med cachning av signaturer." + +#: admin/tulo-payway-paywall-settings.php:180 #: admin/tulo-payway-server-settings.php:281 msgid "API Client id" msgstr "API Klient-ID" -#: admin/tulo-payway-paywall-settings.php:178 +#: admin/tulo-payway-paywall-settings.php:180 msgid "Paywall API user client id" msgstr "Paywall API Klient-ID" -#: admin/tulo-payway-paywall-settings.php:179 +#: admin/tulo-payway-paywall-settings.php:181 #: admin/tulo-payway-server-settings.php:282 msgid "API Secret" msgstr "API Hemlig nyckel" -#: admin/tulo-payway-paywall-settings.php:179 +#: admin/tulo-payway-paywall-settings.php:181 msgid "Paywall API user secret" msgstr "Paywall API hemlig nyckel" -#: admin/tulo-payway-paywall-settings.php:183 +#: admin/tulo-payway-paywall-settings.php:185 msgid "Paywall selection settings" msgstr "Inställningar för urval av Paywall" -#: admin/tulo-payway-paywall-settings.php:187 +#: admin/tulo-payway-paywall-settings.php:189 msgid "Tulo Paywall title" msgstr "Tulo Paywall Titel" -#: admin/tulo-payway-paywall-settings.php:187 +#: admin/tulo-payway-paywall-settings.php:189 msgid "Tulo Payway title code where Paywall is configured" msgstr "Payway titel-kod där Paywall finns konfigurerad" -#: admin/tulo-payway-paywall-settings.php:188 +#: admin/tulo-payway-paywall-settings.php:190 msgid "Tulo Paywall Static Selector Key" msgstr "Statisk nyckel för hämtning av Paywall" -#: admin/tulo-payway-paywall-settings.php:188 +#: admin/tulo-payway-paywall-settings.php:190 msgid "" "If there are more than one Paywall active in Tulo, this static key will " "select which Paywall to select for presentation. If static and dynamic keys " @@ -113,11 +123,11 @@ msgstr "" "för att välja vilken Paywall som skall hämtas. Om både statisk och dynamisk " "nyckel är odefinierade, levererar Tulo den 1:a Paywall som skapades." -#: admin/tulo-payway-paywall-settings.php:189 +#: admin/tulo-payway-paywall-settings.php:191 msgid "Tulo Paywall Dynamic Selector Key" msgstr "Dynamisk nyckel för hämtning av Paywall" -#: admin/tulo-payway-paywall-settings.php:189 +#: admin/tulo-payway-paywall-settings.php:191 msgid "" "Enter the name of a session variable that holds the Paywall selection key, " "if no value is defined on the session variable, the static key will be used." @@ -126,11 +136,11 @@ msgstr "" "Paywall som skall hämtas, om inget värde är definierat på sessions-variabeln " "används den statiska nyckeln istället." -#: admin/tulo-payway-paywall-settings.php:190 +#: admin/tulo-payway-paywall-settings.php:192 msgid "Tulo Paywall Product Selector Key" msgstr "Produkt på artikel" -#: admin/tulo-payway-paywall-settings.php:190 +#: admin/tulo-payway-paywall-settings.php:192 msgid "" "Use the locked article's required product code as selector, must map to a " "Paywall with matching key." @@ -139,23 +149,23 @@ msgstr "" "Om flera produkter används slås dessa ihop till en nyckel separerade med " "punkt. Ex: “productA.productB”." -#: admin/tulo-payway-paywall-settings.php:196 +#: admin/tulo-payway-paywall-settings.php:198 msgid "Paywall analytics settings" msgstr "Inställningar för spårbarhet" -#: admin/tulo-payway-paywall-settings.php:200 +#: admin/tulo-payway-paywall-settings.php:202 msgid "Tulo Paywall Traffic Source" msgstr "Tulo Paywall trafik källa" -#: admin/tulo-payway-paywall-settings.php:200 +#: admin/tulo-payway-paywall-settings.php:202 msgid "Leave empty if no traffic source should be used (not recommended)." msgstr "Lämna tomt om ingen trafik källa skall användas (ej rekommenderat)" -#: admin/tulo-payway-paywall-settings.php:201 +#: admin/tulo-payway-paywall-settings.php:203 msgid "Tulo Paywall Merchant Reference (static)" msgstr "Tulo Paywall Merchant Reference" -#: admin/tulo-payway-paywall-settings.php:201 +#: admin/tulo-payway-paywall-settings.php:203 msgid "" "Leave empty if no merchant reference should be used or if inferred from " "article link." @@ -163,96 +173,96 @@ msgstr "" "Lämna tomt om ingen merchant reference skall användas eller om det skall " "härledas från artikelns länk." -#: admin/tulo-payway-paywall-settings.php:202 +#: admin/tulo-payway-paywall-settings.php:204 msgid "Tulo Paywall Merchant Reference from link" msgstr "Tulo Paywall Merchant reference från länk" -#: admin/tulo-payway-paywall-settings.php:202 +#: admin/tulo-payway-paywall-settings.php:204 msgid "Get merchant reference from current article link" msgstr "Använd artikelns länk som merchant reference" -#: admin/tulo-payway-paywall-settings.php:203 +#: admin/tulo-payway-paywall-settings.php:205 msgid "Tulo Paywall Account Origin" msgstr "Tulo Paywall Konto ursprung" -#: admin/tulo-payway-paywall-settings.php:203 +#: admin/tulo-payway-paywall-settings.php:205 msgid "New accounts will be created with this account origin" msgstr "Nya konton kommer bli skapade med detta värde som “Account Origin”" -#: admin/tulo-payway-paywall-settings.php:208 +#: admin/tulo-payway-paywall-settings.php:210 msgid "Paywall look and feel settings" msgstr "Inställningar för utseende" -#: admin/tulo-payway-paywall-settings.php:213 +#: admin/tulo-payway-paywall-settings.php:215 msgid "Tulo Paywall CSS enabled" msgstr "Tulo Paywall CSS aktiverad" -#: admin/tulo-payway-paywall-settings.php:213 +#: admin/tulo-payway-paywall-settings.php:215 msgid "Check to include Tulo CSS for the paywall" msgstr "Kryssa om Tulo CSS skall inkluderas vid rendering" -#: admin/tulo-payway-paywall-settings.php:219 +#: admin/tulo-payway-paywall-settings.php:221 msgid "Paywall error handling settings" msgstr "Inställningar för felhanterin" -#: admin/tulo-payway-paywall-settings.php:223 +#: admin/tulo-payway-paywall-settings.php:225 msgid "Tulo Paywall Error header" msgstr "Rubrik vid fel" -#: admin/tulo-payway-paywall-settings.php:223 +#: admin/tulo-payway-paywall-settings.php:225 msgid "Error header text shown when the paywall cannot be loaded" msgstr "Rubrik som visas vid fel att ladda paywall" -#: admin/tulo-payway-paywall-settings.php:224 +#: admin/tulo-payway-paywall-settings.php:226 msgid "Tulo Paywall Error description" msgstr "Meddelande vid fel" -#: admin/tulo-payway-paywall-settings.php:224 +#: admin/tulo-payway-paywall-settings.php:226 msgid "Error description text shown when the paywall cannot be loaded" msgstr "Meddelande som visas vid fel att ladda paywall" -#: admin/tulo-payway-paywall-settings.php:229 +#: admin/tulo-payway-paywall-settings.php:231 msgid "Tulo Paywall error handling." msgstr "" "Om inga specifika inställningar sparas används standardvärden. Läs mer om felhantering." -#: admin/tulo-payway-paywall-settings.php:234 +#: admin/tulo-payway-paywall-settings.php:236 msgid "Paywall other settings" msgstr "Övriga inställningar" -#: admin/tulo-payway-paywall-settings.php:238 +#: admin/tulo-payway-paywall-settings.php:240 msgid "Tulo Paywall Login Url" msgstr "Login Url" -#: admin/tulo-payway-paywall-settings.php:238 +#: admin/tulo-payway-paywall-settings.php:240 msgid "Login URL that can be used in the Paywall template" msgstr "" "Ange URL för login om du vill använda den i Paywall mallen, lämna tomt om " "standard inloggnings URL skall användas" -#: admin/tulo-payway-paywall-settings.php:239 +#: admin/tulo-payway-paywall-settings.php:241 msgid "Tulo Paywall Shop Url" msgstr "Shop Url" -#: admin/tulo-payway-paywall-settings.php:239 +#: admin/tulo-payway-paywall-settings.php:241 msgid "Shop URL that can be used in the Paywall template" msgstr "Ange Url till den Tulo Shop du vill länka till i Paywall mallen" -#: admin/tulo-payway-paywall-settings.php:240 +#: admin/tulo-payway-paywall-settings.php:242 msgid "Javascript debug enabled" msgstr "Javascript debug aktiverat" -#: admin/tulo-payway-paywall-settings.php:240 +#: admin/tulo-payway-paywall-settings.php:242 msgid "Check to see extra debug statements in the Javascript console" msgstr "Kryssa för att se debug information i Javascript konsol" -#: admin/tulo-payway-paywall-settings.php:244 +#: admin/tulo-payway-paywall-settings.php:246 msgid "Paywall custom variables" msgstr "Utökade variabler" -#: admin/tulo-payway-paywall-settings.php:256 +#: admin/tulo-payway-paywall-settings.php:258 #: admin/tulo-payway-server-settings.php:315 msgid "Save Changes" msgstr "Spara ändringar" @@ -439,11 +449,11 @@ msgstr "Fel användarnamn eller lösenord. (%s försök kvar)" msgid "Visitor is logged in" msgstr "Besökare måste vara inloggad" -#: public/class-tulo-payway-public.php:385 +#: public/class-tulo-payway-public.php:396 msgid "Loading paywall..." msgstr "Laddar..." -#: public/class-tulo-payway-public.php:482 +#: public/class-tulo-payway-public.php:525 msgid "Buy" msgstr "Köp" From aba18fda5c919e65f08f5c06ac4718d4706d660e Mon Sep 17 00:00:00 2001 From: Magnus Rosenquist Hamvall Date: Wed, 22 May 2024 13:53:36 +0200 Subject: [PATCH 4/7] Bump version --- wp-tulo-payway.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wp-tulo-payway.php b/wp-tulo-payway.php index 071c9ca..3a1ff15 100644 --- a/wp-tulo-payway.php +++ b/wp-tulo-payway.php @@ -9,13 +9,13 @@ * that starts the plugin. * * @link https://adeprimo.se - * @since 1.2.3.1 + * @since 1.2.3.3 * @package Tulo_Payway_Server * * @wordpress-plugin * Plugin Name: Tulo Payway Connector for Wordpress * Description: This plugin integrates with the SSO2 single sign on solution in Tulo Payway. Now with support for Tulo Paywall. - * Version: 1.2.3.1 + * Version: 1.2.3.3 * Author: Adeprimo AB * Author URI: https://adeprimo.se * Text Domain: tulo From 93c7246388240d9e751adff3636558f9822fc96a Mon Sep 17 00:00:00 2001 From: Magnus Rosenquist Hamvall Date: Wed, 22 May 2024 21:00:19 +0200 Subject: [PATCH 5/7] Made MyAccountUrl public --- includes/class-tulo-payway-common.php | 2 +- public/class-tulo-payway-public.php | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/includes/class-tulo-payway-common.php b/includes/class-tulo-payway-common.php index 5ebef2e..1c26187 100644 --- a/includes/class-tulo-payway-common.php +++ b/includes/class-tulo-payway-common.php @@ -21,7 +21,7 @@ class Tulo_Payway_Server_Common { public function __construct() { } - public function get_tulo_myaccount_url() { + public static function get_tulo_myaccount_url() { $url = ""; $currentOrg = get_option('tulo_organisation_id'); if (get_option('tulo_environment') == 'prod') { diff --git a/public/class-tulo-payway-public.php b/public/class-tulo-payway-public.php index e34a5a5..1281c9e 100644 --- a/public/class-tulo-payway-public.php +++ b/public/class-tulo-payway-public.php @@ -41,6 +41,15 @@ public function __construct( $version ) { $this->session = new Tulo_Payway_Session(); } + public static function get_portal_base_url() { + return Tulo_Payway_Server_Public::get_myaccount_url(); + } + + public static function get_myaccount_url() { + return Tulo_Payway_Server_Common::get_tulo_myaccount_url(); + } + + public static function get_product_shop_url($product) { $orgid = get_option('tulo_organisation_id'); $thisuri = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; From 7221c945ce9895ef7c24d305d3ab89fdf13ad9c1 Mon Sep 17 00:00:00 2001 From: Magnus Rosenquist Hamvall Date: Thu, 23 May 2024 14:41:58 +0200 Subject: [PATCH 6/7] Bump version --- wp-tulo-payway.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wp-tulo-payway.php b/wp-tulo-payway.php index 3a1ff15..30be50b 100644 --- a/wp-tulo-payway.php +++ b/wp-tulo-payway.php @@ -9,13 +9,13 @@ * that starts the plugin. * * @link https://adeprimo.se - * @since 1.2.3.3 + * @since 1.2.3.4 * @package Tulo_Payway_Server * * @wordpress-plugin * Plugin Name: Tulo Payway Connector for Wordpress * Description: This plugin integrates with the SSO2 single sign on solution in Tulo Payway. Now with support for Tulo Paywall. - * Version: 1.2.3.3 + * Version: 1.2.3.4 * Author: Adeprimo AB * Author URI: https://adeprimo.se * Text Domain: tulo From 5ec795043ea05f75182162f419de01cdba8b4906 Mon Sep 17 00:00:00 2001 From: Magnus Rosenquist Hamvall Date: Fri, 24 May 2024 16:36:54 +0200 Subject: [PATCH 7/7] Added credentials to signature call --- public/class-tulo-payway-public.php | 1 + 1 file changed, 1 insertion(+) diff --git a/public/class-tulo-payway-public.php b/public/class-tulo-payway-public.php index 1281c9e..7a20e16 100644 --- a/public/class-tulo-payway-public.php +++ b/public/class-tulo-payway-public.php @@ -454,6 +454,7 @@ private function initialize_paywall($post_restrictions, $late_init = false) async function generatePaywallSignature(restrictions) { var response = await fetch(tulo_params.url, { method: "POST", + credentials: "include", headers: { "Content-Type": "application/x-www-form-urlencoded", },