<?php
/**
* Jetpack CRM
* https://jetpackcrm.com
*
* WooSync: Admin: Settings page
*/
namespace Automattic\JetpackCRM;
// block direct access
defined( 'ZEROBSCRM_PATH' ) || exit( 0 );
/**
* Page: WooSync Settings
*/
function jpcrm_settings_page_html_woosync() {
global $zbs;
$page = 'woosync';
$current_tab = 'main';
// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Navigation parameter, not data modification.
if ( isset( $_GET['subtab'] ) ) {
$current_tab = sanitize_text_field( wp_unslash( $_GET['subtab'] ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended
// Only allow alphanumeric characters, hyphens, and underscores to prevent path traversal.
if ( ! preg_match( '/^[a-zA-Z0-9_-]+$/', $current_tab ) ) {
$current_tab = 'main';
}
}
$zbs->modules->woosync->load_admin_page( "settings/{$current_tab}" );
call_user_func( "Automattic\JetpackCRM\jpcrm_settings_page_html_{$page}_{$current_tab}" );
// enqueue settings styles
if ( function_exists( 'Automattic\JetpackCRM\jpcrm_woosync_connections_styles_scripts' ) ){
jpcrm_woosync_connections_styles_scripts();
}
}