get_required_files(); } public function add_plugin_page() { $icon_64 = 'PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9Ijk3IiB2aWV3Qm94PSIwIDAgMTAwIDk3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNOTIuNjgwNyA2MS4zNTEzVjYuNTgxMjdDOTIuNjgwNyA1LjkwNzg1IDkyLjEzMTggNS4zNTk2IDkxLjQ1NCA1LjM1OTZIODQuMzk4QzgzLjcyMTMgNS4zNTk2IDgzLjE3MzUgNS45MDY3NSA4My4xNzM1IDYuNTgxMjdDODMuMTczNSA3LjI1NTc4IDgzLjcyMDIgNy44MDE4MiA4NC4zOTggNy44MDE4Mkg5MC4yMzE3VjU5LjYxMTNDODcuMTgwNCA1Ny43NzA1IDgzLjYwOCA1Ni43MDgzIDc5Ljc4ODkgNTYuNzA4M0M2OC42NTcxIDU2LjcwODMgNTkuNjAzMyA2NS43NDYyIDU5LjYwMzMgNzYuODU0MkM1OS42MDMzIDg3Ljk2MzIgNjguNjU3MSA5NyA3OS43ODg5IDk3QzkwLjkzMjggOTcgMTAwIDg3Ljk2MzIgMTAwIDc2Ljg1NDJDMTAwLjAwMSA3MC42MjYyIDk3LjE0OTggNjUuMDQ4NCA5Mi42ODA3IDYxLjM1MTNaTTc5Ljc5IDk0LjU2QzcwLjAwODMgOTQuNTYgNjIuMDUwMSA4Ni42MTc1IDYyLjA1MDEgNzYuODU1M0M2Mi4wNTAxIDY3LjA5MTkgNzAuMDA4MyA1OS4xNTA1IDc5Ljc5IDU5LjE1MDVDODkuNTgzOSA1OS4xNTA1IDk3LjU1MzIgNjcuMDkxOSA5Ny41NTMyIDc2Ljg1NTNDOTcuNTUzMiA4Ni42MTc1IDg5LjU4MzkgOTQuNTYgNzkuNzkgOTQuNTZaTTE2Ljg5OTggNi41ODEyN0MxNi44OTk4IDUuOTA3ODUgMTcuNDQ1NCA1LjM1OTYgMTguMTIyMSA1LjM1OTZIMjguNTQxNlYxLjIyMTY3QzI4LjU0MTYgMC41NDgyNTQgMjkuMDg4MyAwIDI5Ljc2MzkgMEMzMC40NDA2IDAgMzAuOTg5NSAwLjU0NzE0NyAzMC45ODk1IDEuMjIxNjdWMTEuOTY0MUMzMC45ODk1IDEyLjYzNzUgMzAuNDQxNyAxMy4xODQ3IDI5Ljc2MzkgMTMuMTg0N0MyOS4wODk0IDEzLjE4NDcgMjguNTQxNiAxMi42Mzg2IDI4LjU0MTYgMTEuOTY0MVY3LjgwMDcySDE4LjEyMjFDMTcuNDQ1NCA3LjgwMTgyIDE2Ljg5OTggNy4yNTU3OCAxNi44OTk4IDYuNTgxMjdaTTMzLjQ2MDcgNi41ODEyN0MzMy40NjA3IDUuOTA3ODUgMzQuMDA4NiA1LjM1OTYgMzQuNjg1MyA1LjM1OTZINDUuMTI4MVYxLjIyMTY3QzQ1LjEyODEgMC41NDgyNTQgNDUuNjc0OCAwIDQ2LjM1MjYgMEM0Ny4wMjgyIDAgNDcuNTc3MSAwLjU0NzE0NyA0Ny41NzcxIDEuMjIxNjdWMTEuOTY0MUM0Ny41NzcxIDEyLjYzNzUgNDcuMDI5MyAxMy4xODQ3IDQ2LjM1MjYgMTMuMTg0N0M0NS42NzU5IDEzLjE4NDcgNDUuMTI4MSAxMi42Mzg2IDQ1LjEyODEgMTEuOTY0MVY3LjgwMDcySDM0LjY4NTNDMzQuMDA4NiA3LjgwMTgyIDMzLjQ2MDcgNy4yNTU3OCAzMy40NjA3IDYuNTgxMjdaTTY2LjYxMTUgNi41ODEyN0M2Ni42MTE1IDUuOTA3ODUgNjcuMTU4MiA1LjM1OTYgNjcuODM2IDUuMzU5Nkg3OC4yNTU1VjEuMjIxNjdDNzguMjU1NSAwLjU0ODI1NCA3OC44MDIyIDAgNzkuNDc3NyAwQzgwLjE1NDUgMCA4MC43MDIzIDAuNTQ3MTQ3IDgwLjcwMjMgMS4yMjE2N1YxMS45NjQxQzgwLjcwMjMgMTIuNjM3NSA4MC4xNTU2IDEzLjE4NDcgNzkuNDc3NyAxMy4xODQ3Qzc4LjgwMzMgMTMuMTg0NyA3OC4yNTU1IDEyLjYzODYgNzguMjU1NSAxMS45NjQxVjcuODAwNzJINjcuODM2QzY3LjE1ODIgNy44MDE4MiA2Ni42MTE1IDcuMjU1NzggNjYuNjExNSA2LjU4MTI3Wk01MC4wNDgzIDYuNTgxMjdDNTAuMDQ4MyA1LjkwNzg1IDUwLjU5NjEgNS4zNTk2IDUxLjI3MjggNS4zNTk2SDYxLjY5MjNWMS4yMjE2N0M2MS42OTIzIDAuNTQ4MjU0IDYyLjIzOSAwIDYyLjkxNDYgMEM2My41OTEzIDAgNjQuMTM5MSAwLjU0NzE0NyA2NC4xMzkxIDEuMjIxNjdWMTEuOTY0MUM2NC4xMzkxIDEyLjYzNzUgNjMuNTkyNCAxMy4xODQ3IDYyLjkxNDYgMTMuMTg0N0M2Mi4yNDAxIDEzLjE4NDcgNjEuNjkyMyAxMi42Mzg2IDYxLjY5MjMgMTEuOTY0MVY3LjgwMDcySDUxLjI3MjhDNTAuNTk2MSA3LjgwMTgyIDUwLjA0ODMgNy4yNTU3OCA1MC4wNDgzIDYuNTgxMjdaTTYwLjE3ODkgODguNDgzOEM2MC4xNzg5IDg5LjE1NzIgNTkuNjMyMiA4OS43MDU1IDU4Ljk1NDQgODkuNzA1NUgxNS4wMjY0QzYuNzQwMzcgODkuNzA1NSAwIDgyLjk4NTcgMCA3NC43MjY1VjYuNTgxMjdDMCA1LjkwNzg1IDAuNTQ2Njk3IDUuMzU5NiAxLjIyNDUxIDUuMzU5NkgxMS45Nzg0VjEuMjIxNjdDMTEuOTc4NCAwLjU0ODI1NCAxMi41MjYzIDAgMTMuMjAzIDBDMTMuODc5NyAwIDE0LjQyNzUgMC41NDcxNDcgMTQuNDI3NSAxLjIyMTY3VjExLjk2NDFDMTQuNDI3NSAxMi42Mzc1IDEzLjg4MDggMTMuMTg0NyAxMy4yMDMgMTMuMTg0N0MxMi41Mjc0IDEzLjE4NDcgMTEuOTc4NCAxMi42Mzg2IDExLjk3ODQgMTEuOTY0MVY3LjgwMDcySDIuNDQ3OTFWMjMuODU1MUg4Mi45ODI0QzgzLjY1OTEgMjMuODU1MSA4NC4yMDY5IDI0LjQwMjMgODQuMjA2OSAyNS4wNzU3Qzg0LjIwNjkgMjUuNzUwMiA4My42NjAyIDI2LjI5NzQgODIuOTgyNCAyNi4yOTc0SDIuNDQ3OTFWNzQuNzI1NEMyLjQ0NzkxIDgxLjYzODkgOC4wOTA0NSA4Ny4yNjMyIDE1LjAyNjQgODcuMjYzMkg1OC45NTQ0QzU5LjYzMjIgODcuMjYzMiA2MC4xNzg5IDg3LjgwOTMgNjAuMTc4OSA4OC40ODM4Wk04MS4wMTM0IDYzLjk4MjlWNzYuODU1M0M4MS4wMTM0IDc3LjUyODcgODAuNDY2NyA3OC4wNzU4IDc5Ljc4ODkgNzguMDc1OEg3MS4wMjczQzcwLjM1MDYgNzguMDc1OCA2OS44MDI4IDc3LjUyOTggNjkuODAyOCA3Ni44NTUzQzY5LjgwMjggNzYuMTgwNyA3MC4zNDk1IDc1LjYzMzYgNzEuMDI3MyA3NS42MzM2SDc4LjU2NjZWNjMuOTgxOEM3OC41NjY2IDYzLjMwODQgNzkuMTEzMyA2Mi43NjAxIDc5Ljc4ODkgNjIuNzYwMUM4MC40NjY3IDYyLjc2MTMgODEuMDEzNCA2My4zMDg0IDgxLjAxMzQgNjMuOTgyOVpNNTMuODg5NyAzOC45NzgxQzUzLjg4OTcgMzguMzA0NyA1My4zNDA3IDM3Ljc1NjQgNTIuNjY0IDM3Ljc1NjRINDAuMDE0NEMzOS4zMzg5IDM3Ljc1NjQgMzguNzkxIDM4LjMwMzYgMzguNzkxIDM4Ljk3ODFWNTEuNTYzNkMzOC43OTEgNTIuMjM1OSAzOS4zMzc3IDUyLjc4NDEgNDAuMDE0NCA1Mi43ODQxSDUyLjY2NTFDNTMuMzQwNyA1Mi43ODQxIDUzLjg5MDggNTIuMjM3IDUzLjg5MDggNTEuNTYzNkw1My44ODk3IDM4Ljk3ODFaTTUxLjQ0MDYgNTAuMzQ0MUg0MS4yMzc4VjQwLjE5ODdINTEuNDQwNlY1MC4zNDQxWk0yOC4xNTQ5IDM4Ljk3ODFDMjguMTU0OSAzOC4zMDQ3IDI3LjYwODIgMzcuNzU2NCAyNi45MzE1IDM3Ljc1NjRIMTQuMzA1MkMxMy42Mjk2IDM3Ljc1NjQgMTMuMDgxOCAzOC4zMDM2IDEzLjA4MTggMzguOTc4MVY1MS41NjM2QzEzLjA4MTggNTIuMjM1OSAxMy42Mjg1IDUyLjc4NDEgMTQuMzA1MiA1Mi43ODQxSDI2LjkzMTVDMjcuNjA3MSA1Mi43ODQxIDI4LjE1NDkgNTIuMjM3IDI4LjE1NDkgNTEuNTYzNlYzOC45NzgxWk0yNS43MDgxIDUwLjM0NDFIMTUuNTI5OFY0MC4xOTg3SDI1LjcwODFWNTAuMzQ0MVpNNjUuNzQ4MSAzNy43NTc1QzY1LjA3MTQgMzcuNzU3NSA2NC41MjM2IDM4LjMwNDcgNjQuNTIzNiAzOC45NzkyVjUxLjU2NDdDNjQuNTIzNiA1Mi4yMzcgNjUuMDcwMyA1Mi43ODUyIDY1Ljc0ODEgNTIuNzg1Mkg3OC4zNzQ0Qzc5LjA0ODggNTIuNzg1MiA3OS41OTY2IDUyLjIzODEgNzkuNTk2NiA1MS41NjQ3VjM4Ljk3ODFDNzkuNTk2NiAzOC4zMDQ3IDc5LjA0OTkgMzcuNzU2NCA3OC4zNzQ0IDM3Ljc1NjRMNjUuNzQ4MSAzNy43NTc1Wk03Ny4xNTA5IDUwLjM0NDFINjYuOTcyNlY0MC4xOTg3SDc3LjE1MDlWNTAuMzQ0MVpNNTIuNjY0IDYwLjc1MjFINDAuMDE0NEMzOS4zMzg5IDYwLjc1MjEgMzguNzkxIDYxLjI5OTIgMzguNzkxIDYxLjk3MzhWNzQuNTgzNkMzOC43OTEgNzUuMjU1OSAzOS4zMzc3IDc1LjgwNDIgNDAuMDE0NCA3NS44MDQySDUyLjY2NTFDNTMuMzQwNyA3NS44MDQyIDUzLjg5MDggNzUuMjU3IDUzLjg5MDggNzQuNTgzNlY2MS45NzI3QzUzLjg4OTcgNjEuMjk5MiA1My4zNDA3IDYwLjc1MjEgNTIuNjY0IDYwLjc1MjFaTTUxLjQ0MDYgNzMuMzYwOEg0MS4yMzc4VjYzLjE5MjFINTEuNDQwNlY3My4zNjA4Wk0yNi45MzE1IDYwLjc1MjFIMTQuMzA1MkMxMy42Mjk2IDYwLjc1MjEgMTMuMDgxOCA2MS4yOTkyIDEzLjA4MTggNjEuOTczOFY3NC41ODM2QzEzLjA4MTggNzUuMjU1OSAxMy42Mjg1IDc1LjgwNDIgMTQuMzA1MiA3NS44MDQySDI2LjkzMTVDMjcuNjA3MSA3NS44MDQyIDI4LjE1NDkgNzUuMjU3IDI4LjE1NDkgNzQuNTgzNlY2MS45NzI3QzI4LjE1NDkgNjEuMjk5MiAyNy42MDgyIDYwLjc1MjEgMjYuOTMxNSA2MC43NTIxWk0yNS43MDgxIDczLjM2MDhIMTUuNTI5OFY2My4xOTIxSDI1LjcwODFWNzMuMzYwOFoiIGZpbGw9IiNGRkZGRkYiLz4KPC9zdmc+Cg=='; $icon_data_uri = 'data:image/svg+xml;base64,' . $icon_64; add_menu_page( __('Advanced Date Time Field', 'advanced-date-time-field'), __('Date Time Field', 'advanced-date-time-field'), 'manage_options', 'advanced-date-time-field', [$this, 'admin_page'], $icon_data_uri ); } public function enqueue_admin_scripts() { $current_screen = get_current_screen(); if (strpos($current_screen->base, 'advanced-date-time-field') !== false) { wp_enqueue_style('adtf_admin', ADTF_URL . '/assets/css/adtf_admin.css', [], ADTF_VERSION); wp_enqueue_script('adtf_admin', ADTF_AEESTS . '/js/adtf-admin.js', ['jquery'], ADTF_VERSION, true); wp_localize_script( 'adtf_admin', 'adtf_admin', [ 'ajax_url' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('adtf_nonce'), ] ); } } public function admin_page() { echo '
'; echo '
'; include_once __DIR__ . '/views/header.php'; include_once __DIR__ . '/views/dashboard.php'; include_once __DIR__ . '/views/integrations.php'; include_once __DIR__ . '/views/other-plugins.php'; echo '
'; } public function get_required_files() { include_once __DIR__ . '/class-settings.php'; include ADTF_PATH . "/includes/integrations/integration.php"; } public function save_integrations() { if (!check_ajax_referer('adtf_nonce', 'nonce', false)) { wp_send_json_error(['message' => esc_html__('Something went wrong.', 'advanced-date-time-field')]); } if (isset($_POST['integrations'])) { $sanitized_integrations = is_array($_POST['integrations']) ? array_map('sanitize_text_field', wp_unslash($_POST['integrations'])) : sanitize_text_field(wp_unslash($_POST['integrations'])); update_option('adtf_integrations', $sanitized_integrations); } else { $sanitized_integrations = []; update_option('adtf_integrations', $sanitized_integrations); } wp_send_json_success([ 'message' => esc_html__('Changes has been saved successfully.', 'advanced-date-time-field'), ]); wp_die(); } public static function instance() { // If the single instance hasn't been set, set it now. if (null == self::$instance) { self::$instance = new self(); } return self::$instance; } } ADTF_Admin_Dashboard::instance();