--- a/jobwp/admin/view/application_list.php
+++ b/jobwp/admin/view/application_list.php
@@ -62,7 +62,7 @@
esc_html_e( $application->applicant_message );
?></td>
<td><a href="<?php
- printf( '%s/%s', $jobwpDir, $application->resume_name );
+ echo esc_url( $jobwpDir . '/' . $application->resume_name );
?>"><?php
esc_html_e( $application->resume_name );
?></a></td>
--- a/jobwp/core/job_application.php
+++ b/jobwp/core/job_application.php
@@ -22,7 +22,7 @@
} else {
$jobwpDir = wp_upload_dir();
$jobwpDir = $jobwpDir['basedir'];
- $uniqueFile = uniqid() . '-' . $_FILES['jobwp_upload_resume']['name'];
+ $uniqueFile = uniqid() . '-' . sanitize_file_name( $_FILES['jobwp_upload_resume']['name'] );
$fileName = $jobwpDir . '/jobwp-resume/' . $uniqueFile;
if ( !is_writable( $jobwpDir . '/jobwp-resume' ) ) {
return __( 'The folder', 'jobwp' ) . ' ' . $jobwpDir . '/jobwp-resume ' . __( 'cannot be created or is not writable. Ask for support to your hosting provider', 'jobwp' ) . '.';
--- a/jobwp/freemius/includes/class-freemius.php
+++ b/jobwp/freemius/includes/class-freemius.php
@@ -14034,6 +14034,10 @@
$result['next_page'] = $next_page;
}
+ if ( $result['success'] ) {
+ $this->do_action( 'after_license_activation' );
+ }
+
return $result;
}
@@ -21667,6 +21671,8 @@
return;
}
+ $this->do_action( 'after_license_activation' );
+
$premium_license = new FS_Plugin_License( $license );
// Updated site plan.
@@ -21746,6 +21752,8 @@
'error'
);
+ $this->do_action( 'after_license_deactivation', $license );
+
return;
}
@@ -21766,6 +21774,8 @@
$this->_store_account();
+ $this->do_action( 'after_license_deactivation', $license );
+
if ( $show_notice ) {
$this->_admin_notices->add(
sprintf( $this->is_only_premium() ?
--- a/jobwp/freemius/includes/entities/class-fs-payment.php
+++ b/jobwp/freemius/includes/entities/class-fs-payment.php
@@ -132,10 +132,11 @@
*/
function formatted_gross()
{
+ $price = $this->gross + $this->vat;
return (
- ( $this->gross < 0 ? '-' : '' ) .
+ ( $price < 0 ? '-' : '' ) .
$this->get_symbol() .
- number_format( abs( $this->gross ), 2, '.', ',' ) . ' ' .
+ number_format( abs( $price ), 2, '.', ',' ) . ' ' .
strtoupper( $this->currency )
);
}
--- a/jobwp/freemius/includes/entities/class-fs-site.php
+++ b/jobwp/freemius/includes/entities/class-fs-site.php
@@ -202,7 +202,7 @@
// Vendasta
( fs_ends_with( $subdomain, '.websitepro-staging.com' ) || fs_ends_with( $subdomain, '.websitepro.hosting' ) ) ||
// InstaWP
- fs_ends_with( $subdomain, '.instawp.xyz' ) ||
+ ( fs_ends_with( $subdomain, '.instawp.co' ) || fs_ends_with( $subdomain, '.instawp.link' ) || fs_ends_with( $subdomain, '.instawp.xyz' ) ) ||
// 10Web Hosting
( fs_ends_with( $subdomain, '-dev.10web.site' ) || fs_ends_with( $subdomain, '-dev.10web.cloud' ) )
);
@@ -220,6 +220,8 @@
// Services aimed at providing a WordPress sandbox environment.
$sandbox_wp_environment_domains = array(
// InstaWP
+ 'instawp.co',
+ 'instawp.link',
'instawp.xyz',
// TasteWP
--- a/jobwp/freemius/includes/managers/class-fs-checkout-manager.php
+++ b/jobwp/freemius/includes/managers/class-fs-checkout-manager.php
@@ -12,7 +12,36 @@
class FS_Checkout_Manager {
- # region Singleton
+ /**
+ * Allowlist of query parameters for checkout.
+ */
+ private $_allowed_custom_params = array(
+ // currency
+ 'currency' => true,
+ 'default_currency' => true,
+ // cart
+ 'always_show_renewals_amount' => true,
+ 'annual_discount' => true,
+ 'billing_cycle' => true,
+ 'billing_cycle_selector' => true,
+ 'bundle_discount' => true,
+ 'maximize_discounts' => true,
+ 'multisite_discount' => true,
+ 'show_inline_currency_selector' => true,
+ 'show_monthly' => true,
+ // appearance
+ 'form_position' => true,
+ 'is_bundle_collapsed' => true,
+ 'layout' => true,
+ 'refund_policy_position' => true,
+ 'show_refund_badge' => true,
+ 'show_reviews' => true,
+ 'show_upsells' => true,
+ 'title' => true,
+ );
+
+
+ # region Singleton
/**
* @var FS_Checkout_Manager
@@ -153,7 +182,12 @@
( $fs->is_theme() && current_user_can( 'install_themes' ) )
);
- return array_merge( $context_params, $_GET, array(
+ $filtered_params = $fs->apply_filters('checkout/parameters', $context_params);
+
+ // Allowlist only allowed query params.
+ $filtered_params = array_intersect_key($filtered_params, $this->_allowed_custom_params);
+
+ return array_merge( $context_params, $filtered_params, $_GET, array(
// Current plugin version.
'plugin_version' => $fs->get_plugin_version(),
'sdk_version' => WP_FS__SDK_VERSION,
@@ -239,4 +273,4 @@
private function get_checkout_redirect_nonce_action( Freemius $fs ) {
return $fs->get_unique_affix() . '_checkout_redirect';
}
- }
No newline at end of file
+ }
--- a/jobwp/freemius/start.php
+++ b/jobwp/freemius/start.php
@@ -15,7 +15,7 @@
*
* @var string
*/
- $this_sdk_version = '2.12.2';
+ $this_sdk_version = '2.13.0';
#region SDK Selection Logic --------------------------------------------------------------------
@@ -446,6 +446,7 @@
* fs_plugin_icon_{plugin_slug}
* fs_show_trial_{plugin_slug}
* fs_is_pricing_page_visible_{plugin_slug}
+ * fs_checkout/parameters_{plugin_slug}
*
* --------------------------------------------------------
*
@@ -453,6 +454,8 @@
*
* fs_after_license_loaded_{plugin_slug}
* fs_after_license_change_{plugin_slug}
+ * fs_after_license_activation_{plugin_slug}
+ * fs_after_license_deactivation_{plugin_slug}
* fs_after_plans_sync_{plugin_slug}
*
* fs_after_account_details_{plugin_slug}
--- a/jobwp/jobwp.php
+++ b/jobwp/jobwp.php
@@ -4,12 +4,12 @@
* Plugin Name: JobWP
* Plugin URI: https://wordpress.org/plugins/jobwp/
* Description: Display job listings in a career page and allow users to apply directly to your site.
- * Version: 2.4.5
+ * Version: 2.4.6
* Author: HM Plugin
* Author URI: https://hmplugin.com
* Requires at least: 5.4
* Requires PHP: 7.2
- * Tested up to: 6.8.3
+ * Tested up to: 6.9
* Text Domain: jobwp
* Domain Path: /languages/
* License: GPL-2.0+
@@ -28,7 +28,7 @@
define( 'JOBWP_PRFX', 'jobwp_' );
define( 'JOBWP_CLS_PRFX', 'cls-jobwp-' );
define( 'JOBWP_TXT_DOMAIN', 'jobwp' );
- define( 'JOBWP_VERSION', '2.4.5' );
+ define( 'JOBWP_VERSION', '2.4.6' );
require_once JOBWP_PATH . '/lib/freemius-integrator.php';
require_once JOBWP_PATH . 'inc/' . JOBWP_CLS_PRFX . 'master.php';
$jobwp = new JobWp_Master();
--- a/jobwp/lib/freemius-integrator.php
+++ b/jobwp/lib/freemius-integrator.php
@@ -76,4 +76,5 @@
}
job_fs()->add_action( 'after_uninstall', 'job_fs_uninstall_cleanup' );
+ job_fs()->add_filter( 'pricing/show_annual_in_monthly', '__return_false' );
}
No newline at end of file