/** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ /** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ /** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ /** * Genesis Sample. * * This file adds functions to the Genesis Sample Theme. * * @package Genesis Sample * @author StudioPress * @license GPL-2.0-or-later * @link https://www.studiopress.com/ */ // Starts the engine. require_once get_template_directory() . '/lib/init.php'; // Defines the child theme (do not remove). define( 'CHILD_THEME_NAME', 'Genesis Sample' ); define( 'CHILD_THEME_URL', 'https://www.studiopress.com/' ); define( 'CHILD_THEME_VERSION', '2.8.0' ); // Sets up the Theme. require_once get_stylesheet_directory() . '/lib/theme-defaults.php'; add_action( 'after_setup_theme', 'genesis_sample_localization_setup' ); /** * Sets localization (do not remove). * * @since 1.0.0 */ function genesis_sample_localization_setup() { load_child_theme_textdomain( 'genesis-sample', get_stylesheet_directory() . '/languages' ); } // Adds helper functions. require_once get_stylesheet_directory() . '/lib/helper-functions.php'; // Adds image upload and color select to Customizer. require_once get_stylesheet_directory() . '/lib/customize.php'; // Includes Customizer CSS. require_once get_stylesheet_directory() . '/lib/output.php'; // Adds WooCommerce support. require_once get_stylesheet_directory() . '/lib/woocommerce/woocommerce-setup.php'; // Adds the required WooCommerce styles and Customizer CSS. require_once get_stylesheet_directory() . '/lib/woocommerce/woocommerce-output.php'; // Adds the Genesis Connect WooCommerce notice. require_once get_stylesheet_directory() . '/lib/woocommerce/woocommerce-notice.php'; add_action( 'after_setup_theme', 'genesis_child_gutenberg_support' ); /** * Adds Gutenberg opt-in features and styling. * * @since 2.7.0 */ function genesis_child_gutenberg_support() { // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound -- using same in all child themes to allow action to be unhooked. require_once get_stylesheet_directory() . '/lib/gutenberg/init.php'; } add_action( 'wp_enqueue_scripts', 'genesis_sample_enqueue_scripts_styles' ); /** * Enqueues scripts and styles. * * @since 1.0.0 */ function genesis_sample_enqueue_scripts_styles() { wp_deregister_style( 'ultimate-icons' ); $upload_dir = wp_upload_dir(); $upload_dir_base = $upload_dir['baseurl']; wp_enqueue_style( 'ultimate-icons', $upload_dir_base.'/bb-plugin/icons/ultimate-icons/style.css', array(), CHILD_THEME_VERSION ); wp_enqueue_style( 'genesis-sample-fonts', '//fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,700', array(), CHILD_THEME_VERSION ); wp_enqueue_style( 'dashicons' ); $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; wp_enqueue_script( 'genesis-sample-responsive-menu', get_stylesheet_directory_uri() . "/js/responsive-menus{$suffix}.js", array( 'jquery' ), CHILD_THEME_VERSION, true ); wp_localize_script( 'genesis-sample-responsive-menu', 'genesis_responsive_menu', genesis_sample_responsive_menu_settings() ); wp_enqueue_script( 'genesis-sample', get_stylesheet_directory_uri() . '/js/genesis-sample.js', array( 'jquery' ), CHILD_THEME_VERSION, true ); } /** * Defines responsive menu settings. * * @since 2.3.0 */ function genesis_sample_responsive_menu_settings() { $settings = array( 'mainMenu' => __( 'Menu', 'genesis-sample' ), 'menuIconClass' => 'dashicons-before dashicons-menu', 'subMenu' => __( 'Submenu', 'genesis-sample' ), 'subMenuIconClass' => 'dashicons-before dashicons-arrow-down-alt2', 'menuClasses' => array( 'combine' => array( '.nav-primary', ), 'others' => array(), ), ); return $settings; } // Adds support for HTML5 markup structure. add_theme_support( 'html5', genesis_get_config( 'html5' ) ); // Adds support for accessibility. add_theme_support( 'genesis-accessibility', genesis_get_config( 'accessibility' ) ); // Adds viewport meta tag for mobile browsers. add_theme_support( 'genesis-responsive-viewport' ); // Adds custom logo in Customizer > Site Identity. add_theme_support( 'custom-logo', genesis_get_config( 'custom-logo' ) ); // Renames primary and secondary navigation menus. add_theme_support( 'genesis-menus', genesis_get_config( 'menus' ) ); // Adds image sizes. add_image_size( 'sidebar-featured', 75, 75, true ); // Adds support for after entry widget. add_theme_support( 'genesis-after-entry-widget-area' ); // Adds support for 3-column footer widgets. add_theme_support( 'genesis-footer-widgets', 3 ); // Removes header right widget area. unregister_sidebar( 'header-right' ); // Removes secondary sidebar. unregister_sidebar( 'sidebar-alt' ); // Removes site layouts. genesis_unregister_layout( 'content-sidebar-sidebar' ); genesis_unregister_layout( 'sidebar-content-sidebar' ); genesis_unregister_layout( 'sidebar-sidebar-content' ); // Removes output of primary navigation right extras. remove_filter( 'genesis_nav_items', 'genesis_nav_right', 10, 2 ); remove_filter( 'wp_nav_menu_items', 'genesis_nav_right', 10, 2 ); add_action( 'genesis_theme_settings_metaboxes', 'genesis_sample_remove_metaboxes' ); /** * Removes output of unused admin settings metaboxes. * * @since 2.6.0 * * @param string $_genesis_admin_settings The admin screen to remove meta boxes from. */ function genesis_sample_remove_metaboxes( $_genesis_admin_settings ) { remove_meta_box( 'genesis-theme-settings-header', $_genesis_admin_settings, 'main' ); remove_meta_box( 'genesis-theme-settings-nav', $_genesis_admin_settings, 'main' ); } add_filter( 'genesis_customizer_theme_settings_config', 'genesis_sample_remove_customizer_settings' ); /** * Removes output of header and front page breadcrumb settings in the Customizer. * * @since 2.6.0 * * @param array $config Original Customizer items. * @return array Filtered Customizer items. */ function genesis_sample_remove_customizer_settings( $config ) { unset( $config['genesis']['sections']['genesis_header'] ); unset( $config['genesis']['sections']['genesis_breadcrumbs']['controls']['breadcrumb_front_page'] ); return $config; } // Displays custom logo. add_action( 'genesis_site_title', 'the_custom_logo', 0 ); // Repositions primary navigation menu. remove_action( 'genesis_after_header', 'genesis_do_nav' ); add_action( 'genesis_header', 'genesis_do_nav', 12 ); // Repositions the secondary navigation menu. remove_action( 'genesis_after_header', 'genesis_do_subnav' ); add_action( 'genesis_footer', 'genesis_do_subnav', 10 ); add_filter( 'wp_nav_menu_args', 'genesis_sample_secondary_menu_args' ); /** * Reduces secondary navigation menu to one level depth. * * @since 2.2.3 * * @param array $args Original menu options. * @return array Menu options with depth set to 1. */ function genesis_sample_secondary_menu_args( $args ) { if ( 'secondary' !== $args['theme_location'] ) { return $args; } $args['depth'] = 1; return $args; } add_filter( 'genesis_author_box_gravatar_size', 'genesis_sample_author_box_gravatar' ); /** * Modifies size of the Gravatar in the author box. * * @since 2.2.3 * * @param int $size Original icon size. * @return int Modified icon size. */ function genesis_sample_author_box_gravatar( $size ) { return 90; } add_filter( 'genesis_comment_list_args', 'genesis_sample_comments_gravatar' ); /** * Modifies size of the Gravatar in the entry comments. * * @since 2.2.3 * * @param array $args Gravatar settings. * @return array Gravatar settings with modified size. */ function genesis_sample_comments_gravatar( $args ) { $args['avatar_size'] = 60; return $args; } /*FOOTER*/ add_theme_support( 'genesis-footer-widgets', 4 ); /* CUSTOM CSS */ add_action( 'wp_enqueue_scripts', 'wsm_custom_stylesheet', 20 ); function wsm_custom_stylesheet() { wp_enqueue_style( 'custom-style', get_stylesheet_directory_uri() . '/custom.css' ); } /** Register Utility Bar Widget Areas. */ genesis_register_sidebar( array( 'id' => 'utility-bar-left', 'name' => __( 'Utility Bar Left', 'theme-prefix' ), 'description' => __( 'This is the left utility bar above the header.', 'theme-prefix' ), ) ); genesis_register_sidebar( array( 'id' => 'utility-bar-right', 'name' => __( 'Utility Bar Right', 'theme-prefix' ), 'description' => __( 'This is the right utility bar above the header.', 'theme-prefix' ), ) ); add_action( 'genesis_before_header', 'utility_bar' ); /** * Add utility bar above header. * * @author Carrie Dils * @copyright Copyright (c) 2013, Carrie Dils * @license GPL-2.0+ */ function utility_bar() { echo '
'; genesis_widget_area( 'utility-bar-left', array( 'before' => '
', 'after' => '
', ) ); genesis_widget_area( 'utility-bar-right', array( 'before' => '
', 'after' => '
', ) ); echo '
'; } function genesischild_footer_creds_text () { echo ' '; } add_filter( 'genesis_pre_get_option_footer_text', 'genesischild_footer_creds_text' ); function post_to_third_party( $entry, $form ) { $field_id = 9; $field = GFFormsModel::get_field( $form, $field_id ); $field_value = is_object( $field ) ? $field->get_value_export( $entry, $field_id, true ) : ''; $body = array( 'enquiryreason' => $field_value, 'namefirst' => rgar( $entry, '8.3' ), 'namelast' => rgar( $entry, '8.6' ), 'phonemobile' => rgar( $entry, '12' ), 'email' => rgar( $entry, '13' ), 'dateofbirth' => date('m/d/Y', strtotime(rgar( $entry, '14' ) ) ), 'address1' => rgar( $entry, '10.1' ), 'address2' => rgar( $entry, '10.2' ), 'addresstown' => rgar( $entry, '10.3' ), 'addresspostcode' => rgar( $entry, '10.5' ), 'notes_patient' => rgar( $entry, '6' ), 'enquirydetails_1' => rgar( $entry, '16' ), ); $post_data = json_encode($body); $post_data = json_encode(array("fieldData"=>$body)); $token_url = 'https://data02.e-clinic.uk.com/fmi/data/v1/databases/southface/sessions'; $encodeunpw = base64_encode("enquiry:*4gUv=^wVtj?LN89"); $token = curl_init($token_url); curl_setopt($token, CURLOPT_RETURNTRANSFER, true); curl_setopt($token, CURLINFO_HEADER_OUT, true); curl_setopt($token, CURLOPT_POST, true); //curl_setopt($token, CURLOPT_POSTFIELDS, ); curl_setopt($token, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($token, CURLOPT_SSL_VERIFYPEER, false); //curl_setopt($token, CURLOPT_VERBOSE, 1); curl_setopt($token, CURLOPT_HTTPHEADER, array( "Authorization: Basic $encodeunpw", "Content-Type: application/json") ); $authentication = curl_exec($token); curl_close($token); $data_obj = json_decode($authentication, true); //echo "
";print_r($data_obj);

	$access_token = $data_obj['response']['token'];

	$output_obj = "";
	echo $output_obj;

	$url = 'https://data02.e-clinic.uk.com/fmi/data/v1/databases/southface/layouts/enquiry_api/records';
	$crl = curl_init($url);
	curl_setopt($crl, CURLOPT_SSL_VERIFYHOST, 0);
	curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, false);
	//curl_setopt($crl, CURLINFO_HEADER_OUT, true);
	curl_setopt($crl, CURLOPT_POST, 1);
	curl_setopt($crl, CURLOPT_POSTFIELDS, $post_data);
	curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($crl, CURLOPT_FOLLOWLOCATION, 1);
	//curl_setopt($crl, CURLOPT_SSL_VERIFYHOST, 0);
	//curl_setopt($crl, CURLOPT_VERBOSE, 1);
	curl_setopt($crl, CURLOPT_HTTPHEADER, array(
			"Authorization: Bearer $access_token",
      "Content-Type: application/json")
  );
	$result = curl_exec($crl);
	curl_close($crl);

	//$jsonArrayResponse = json_decode($result);
	//print_r($result);
    $output='';
	if ($result === false) {
		$output = "";
		echo $output;
		//die();
	} else {
		$output = "";
		echo $output;
		//die();
	}

	$output = "";
	echo $output;

}
add_action( 'gform_post_submission_5', 'post_to_third_party', 10, 2 );

function request_callback_post_to_third_party( $entry, $form ) {
    $field_id = 14;
	$field = GFFormsModel::get_field( $form, $field_id );
	$field_value = is_object( $field ) ? $field->get_value_export( $entry, $field_id, true ) : '';
	$body = array(
	  'enquiryreason' => $field_value,
	  'namefirst' => rgar( $entry, '16.3' ),
	  'namelast' => rgar( $entry, '16.6' ),
	  'phonemobile' => rgar( $entry, '2' ),
	  'email' => rgar( $entry, '3' ),
      'dateofbirth' => date('m/d/Y', strtotime(rgar( $entry, '12' ))),
	  'address1' => rgar( $entry, '15.1' ),
	  'address2' => rgar( $entry, '15.2' ),
	  'addresstown' => rgar( $entry, '15.3' ),
	  'addresspostcode' => rgar( $entry, '15.5' ),
	  'enquirydetails_1' => rgar( $entry, '16' ),
  );
	$post_data = json_encode($body);

	$post_data = json_encode(array("fieldData"=>$body));

	$token_url = 'https://data02.e-clinic.uk.com/fmi/data/v1/databases/southface/sessions';
	$encodeunpw = base64_encode("enquiry:*4gUv=^wVtj?LN89");
	$token = curl_init($token_url);
	curl_setopt($token, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($token, CURLINFO_HEADER_OUT, true);
	curl_setopt($token, CURLOPT_POST, true);
	//curl_setopt($token, CURLOPT_POSTFIELDS, );
	curl_setopt($token, CURLOPT_SSL_VERIFYHOST, 0);
	curl_setopt($token, CURLOPT_SSL_VERIFYPEER, false);
	//curl_setopt($token, CURLOPT_VERBOSE, 1);
	curl_setopt($token, CURLOPT_HTTPHEADER, array(
			"Authorization: Basic $encodeunpw",
      "Content-Type: application/json")
  );
	$authentication = curl_exec($token);
	curl_close($token);

	$data_obj = json_decode($authentication, true);
	//echo "
";print_r($data_obj);

	$access_token = $data_obj['response']['token'];

	$output_obj = "";
	echo $output_obj;

	$url = 'https://data02.e-clinic.uk.com/fmi/data/v1/databases/southface/layouts/enquiry_api/records';
	$crl = curl_init($url);
	curl_setopt($crl, CURLOPT_SSL_VERIFYHOST, 0);
	curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, false);
	//curl_setopt($crl, CURLINFO_HEADER_OUT, true);
	curl_setopt($crl, CURLOPT_POST, 1);
	curl_setopt($crl, CURLOPT_POSTFIELDS, $post_data);
	curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($crl, CURLOPT_FOLLOWLOCATION, 1);
	//curl_setopt($crl, CURLOPT_SSL_VERIFYHOST, 0);
	//curl_setopt($crl, CURLOPT_VERBOSE, 1);
	curl_setopt($crl, CURLOPT_HTTPHEADER, array(
			"Authorization: Bearer $access_token",
      "Content-Type: application/json")
  );
	$result = curl_exec($crl);
	curl_close($crl);

	//$jsonArrayResponse = json_decode($result);
	//print_r($result);
    $output='';

	if ($result === false) {
		$output = "";
		echo $output;
		//die();
	} else {
		$output .= "";
		echo $output; 
		//die();
	}

	//$output = "";
	//echo $output;

}
add_action( 'gform_post_submission_4', 'request_callback_post_to_third_party', 10, 2 );

//* Remove the site title
remove_action( 'genesis_site_title', 'genesis_seo_site_title' );








	
	Southface Dermatology Clinic at IMCAS Paris - Dorset, Bournemouth, Christchurch
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	












































		
		






 


     






		
		





6b5d788d-1da0-4b85-b262-6b7074df027d

Southface Dermatology Clinic at IMCAS Paris

Our team recently returned from IMCAS in Paris, one of the world’s leading congresses for medical aesthetics and dermatology. It was a fantastic few days immersed in innovation, education, and the latest advancements shaping our industry.

IMCAS brings together globally respected dermatologists, doctors, surgeons, and aesthetic experts to share research, techniques, and emerging technologies. Attending conferences of this calibre allows us to stay at the forefront of best practice, ensuring that the treatments we offer are grounded in the most up-to-date medical evidence and clinical expertise.

From advanced injectables and laser technologies to evolving approaches in skin health and patient care, the insights gained at IMCAS directly influence how we continue to refine our services. Continuous professional development is central to our ethos, and we believe that investing in education is essential to delivering safe, effective, and results-driven treatments.

At Southface Dermatology Clinic, our commitment is to bring the very best techniques, treatments, and knowledge back to our patients. Experiences like IMCAS ensure we remain forward-thinking, clinically informed, and dedicated to excellence in dermatology and medical aesthetics.

Always learning. Always evolving. Always putting patient care first.