<?php

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}



global $apimo_dir, $immowp_apimo_url;

if ( isset( $_POST['save_general_setting'] ) ) {

	if ( ! isset( $_POST['immowp_settings_nonce_field'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['immowp_settings_nonce_field'] ) ), 'immowp_save_settings_nonce' ) ) {
		wp_die( 'Nonce verification failed!' );
	}

	if ( isset( $_POST['immowp_archive_order'] ) ) {
		update_option( 'immowp_archive_order', sanitize_text_field( wp_unslash( $_POST['immowp_archive_order'] ) ) );
	}
	if ( isset( $_POST['immowp_archive_text'] ) ) {
		update_option( 'immowp_archive_text', sanitize_textarea_field( wp_unslash( $_POST['immowp_archive_text'] ) ) );
	}
	if ( isset( $_POST['immowp_archive_number'] ) ) {
		update_option( 'immowp_archive_number', absint( wp_unslash( $_POST['immowp_archive_number'] ) ) );
	}
	if ( isset( $_POST['immowp_agence_sidebar_image'] ) ) {
		update_option( 'immowp_agence_sidebar_image', absint( wp_unslash( $_POST['immowp_agence_sidebar_image'] ) ) );
	}
	if ( isset( $_POST['immowp_sidebar_coordinates'] ) ) {
		update_option( 'immowp_sidebar_coordinates', sanitize_text_field( wp_unslash( $_POST['immowp_sidebar_coordinates'] ) ) );
	}
	if ( isset( $_POST['immowp_sidebar_coordinates_name'] ) ) {
		update_option( 'immowp_sidebar_coordinates_name', sanitize_text_field( wp_unslash( $_POST['immowp_sidebar_coordinates_name'] ) ) );
	}
	if ( isset( $_POST['immowp_sidebar_coordinates_adress'] ) ) {
		update_option( 'immowp_sidebar_coordinates_adress', sanitize_textarea_field( wp_unslash( $_POST['immowp_sidebar_coordinates_adress'] ) ) );
	}
	if ( isset( $_POST['immowp_sidebar_coordinates_tel'] ) ) {
		update_option( 'immowp_sidebar_coordinates_tel', sanitize_text_field( wp_unslash( $_POST['immowp_sidebar_coordinates_tel'] ) ) );
	}
	if ( isset( $_POST['immowp_sidebar_coordinates_cp'] ) ) {
		update_option( 'immowp_sidebar_coordinates_cp', sanitize_text_field( wp_unslash( $_POST['immowp_sidebar_coordinates_cp'] ) ) );
	}
	if ( isset( $_POST['immowp_sidebar_coordinates_city'] ) ) {
		update_option( 'immowp_sidebar_coordinates_city', sanitize_text_field( wp_unslash( $_POST['immowp_sidebar_coordinates_city'] ) ) );
	}
	if ( isset( $_POST['immowp_sidebar_coordinates_email'] ) ) {
		update_option( 'immowp_sidebar_coordinates_email', sanitize_email( wp_unslash( $_POST['immowp_sidebar_coordinates_email'] ) ) );
	}
	if ( isset( $_POST['immowp_sidebar_coordinates_form'] ) ) {
		update_option( 'immowp_sidebar_coordinates_form', wp_kses_post( wp_unslash( $_POST['immowp_sidebar_coordinates_form'] ) ) );
	}
	if ( isset( $_POST['immowp_image_url'] ) ) {
		update_option( 'immowp_image_url', esc_url_raw( wp_unslash( $_POST['immowp_image_url'] ) ) );
	}
	if ( isset( $_POST['immowp_archive_slug'] ) ) {
		update_option( 'immowp_archive_slug', sanitize_title( wp_unslash( $_POST['immowp_archive_slug'] ) ) );
	}

	update_option( 'immowp_button_activate_archive', isset( $_POST['immowp_button_activate_archive'] ) ? 'yes' : '' );

	if ( isset( $_POST['immowp_redirect_page'] ) ) {
		update_option( 'immowp_redirect_page', absint( wp_unslash( $_POST['immowp_redirect_page'] ) ) );
	}

	// color
	if ( isset( $_POST['immowp_primary_color'] ) ) {
		update_option( 'immowp_primary_color', sanitize_hex_color( wp_unslash( $_POST['immowp_primary_color'] ) ) );
	}
	if ( isset( $_POST['immowp_secondary_color'] ) ) {
		update_option( 'immowp_secondary_color', sanitize_hex_color( wp_unslash( $_POST['immowp_secondary_color'] ) ) );
	}

	flush_rewrite_rules( true );

	add_settings_error(
		'immowp_settings',
		'immowp_settings_updated',
		__( 'Options sauvegardés', 'immowp-gestion-immobiliere' ),
		'updated'
	);

}

$immowp_archive_slug   = get_option( 'immowp_archive_slug' );
$immowp_archive_order  = get_option( 'immowp_archive_order' );
$immowp_archive_text   = get_option( 'immowp_archive_text' );
$immowp_archive_number = get_option( 'immowp_archive_number' );

$immowp_sidebar_coordinates        = get_option( 'immowp_sidebar_coordinates' );
$immowp_sidebar_coordinates_name   = get_option( 'immowp_sidebar_coordinates_name' );
$immowp_sidebar_coordinates_adress = get_option( 'immowp_sidebar_coordinates_adress' );
$immowp_sidebar_coordinates_tel    = get_option( 'immowp_sidebar_coordinates_tel' );
$immowp_sidebar_coordinates_cp     = get_option( 'immowp_sidebar_coordinates_cp' );
$immowp_sidebar_coordinates_city   = get_option( 'immowp_sidebar_coordinates_city' );
$immowp_sidebar_coordinates_email  = get_option( 'immowp_sidebar_coordinates_email' );
$immowp_sidebar_coordinates_form   = get_option( 'immowp_sidebar_coordinates_form' );

$immowp_archive_slug  = get_option( 'immowp_archive_slug' );
$immowp_image_url     = get_option( 'immowp_image_url' );
$immowp_agence_sidebar_image = get_option( 'immowp_agence_sidebar_image' );

// options
$immowp_button_activate_archive = get_option( 'immowp_button_activate_archive' );
$immowp_redirect_page           = get_option( 'immowp_redirect_page' ) ?? '';

// color
$immowp_primary_color   = get_option( 'immowp_primary_color' );
$immowp_secondary_color = get_option( 'immowp_secondary_color' );


$pages = get_pages();

function immowp_enqueue_media_uploader() {
	$script_version = defined( 'IMMOWP_GESTION_IMMOBILIERE_LITE_VERSION' ) ? IMMOWP_GESTION_IMMOBILIERE_LITE_VERSION : '1.0.0';
	wp_enqueue_media();
	wp_enqueue_script( 'immowp-media-uploader', plugin_dir_url( __FILE__ ) . 'media-uploader.js', array( 'jquery' ), $script_version, true );
}
add_action( 'admin_enqueue_scripts', 'immowp_enqueue_media_uploader' );


?>

<?php settings_errors( 'immowp_settings' ); ?>

<form method="post" enctype="multipart/form-data">
	<?php wp_nonce_field( 'immowp_save_settings_nonce', 'immowp_settings_nonce_field' ); ?>
	<div class="immowp-dashboard">

		<div class="immowp-header">

			<div class="immowp-logo">
				<img src="<?php echo esc_url( plugin_dir_url( __DIR__ ) . '/admin/images/logo.png' ); // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage -- static plugin asset ?>" alt="<?php esc_attr_e( 'ImmoWP', 'immowp-gestion-immobiliere' ); ?>">
			</div>

			<div class="immowp-nav">

				<nav>

					<ul>

					<input type="hidden" name="save_general_setting" value="true">
						<li> <input type="submit" class="button button-primary" value="<?php esc_attr_e( 'Sauvegarder', 'immowp-gestion-immobiliere' ); ?>"> </li>

					</ul>

				</nav>

			</div>

		</div>

		<!-- ImmoWP Promotional Banner -->
		<div class="immowp-promo-banner">
			<div class="immowp-promo-content">
				<div class="immowp-promo-icon">🔧</div>
				<div class="immowp-promo-text">
					<strong><?php esc_html_e( 'Besoin de connecter votre site à votre logiciel métier ?', 'immowp-gestion-immobiliere' ); ?></strong>
					<span><?php esc_html_e( 'Essayez ImmoWP. ImmoWP fait la liaison entre votre logiciel de multidiffusion d\'annonces immobilières et votre site WordPress afin de vous éviter une duplication fastidieuse. Compatible avec tous les thèmes WordPress.', 'immowp-gestion-immobiliere' ); ?></span>
				</div>
				<div class="immowp-promo-action">
					<a href="https://www.immowp.fr/" target="_blank" class="immowp-promo-button">
						<?php esc_html_e( 'Découvrir ImmoWP', 'immowp-gestion-immobiliere' ); ?>
					</a>
				</div>
			</div>
		</div>



		<div class="immowp_settings">

			<section>

			<div class="immowp_settings-header">

					<h3><?php esc_html_e( 'Réglages', 'immowp-gestion-immobiliere' ); ?></h3>

				</div>

				<div class="immowp_settings-description">

					<div class="immowp-row">
						<h5><?php esc_html_e( 'Permaliens / slug', 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Mettre à jour (flush) les permaliens après toutes modifications.', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" name="immowp_archive_slug" value="<?php echo $immowp_archive_slug ? esc_html( $immowp_archive_slug ) : 'propriete'; ?>" placeholder="propriete"></p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( "Ordre d'affichage", 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( "Ordre d'affichage des annonces sur la page recherche.", 'immowp-gestion-immobiliere' ); ?></small>
						<p>
							<select name="immowp_archive_order">
								<option value="new" <?php echo $immowp_archive_order == 'new' ? 'selected' : ''; ?>><?php esc_html_e( 'Les annonces les plus récentes en premier', 'immowp-gestion-immobiliere' ); ?></option>
								<option value="price" <?php echo $immowp_archive_order == 'price' ? 'selected' : ''; ?>><?php esc_html_e( 'Les annonces les moins chères en premier', 'immowp-gestion-immobiliere' ); ?></option>
								<option value="rand" <?php echo $immowp_archive_order == 'rand' ? 'selected' : ''; ?>><?php esc_html_e( 'Aléatoire', 'immowp-gestion-immobiliere' ); ?></option>
							</select>
						</p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( 'Aucun résultat', 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( "Texte s'affichant lorsque la recherche ne retourne aucun résultat", 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" name="immowp_archive_text" value="<?php echo $immowp_archive_text ? esc_html( $immowp_archive_text ) : 'Aucun résultat ne correspond à votre recherche.'; ?>" placeholder="Aucun résultat ne correspond à votre recherche."></p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( 'Nombre de résultats par page ', 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Nombre de résultats par page sur la page recherche.', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="number" name="immowp_archive_number" value="<?php echo $immowp_archive_number ? esc_html( $immowp_archive_number ) : 12; ?>" placeholder="12"></p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( 'Page de redirection lors de la suppression ', 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Quand un bien est supprimé, indiquez la page pour rediriger en 301, laisser vide pour avoir une 404.', 'immowp-gestion-immobiliere' ); ?></small>
						<p>
							<select name="immowp_redirect_page">
								<option value disabled selected><?php esc_html_e( 'Sélectionner une page', 'immowp-gestion-immobiliere' ); ?></option>
								<?php foreach ( $pages as $page ) : ?>
									<option value="<?php echo esc_attr( $page->ID ); ?>" <?php selected( $immowp_redirect_page, $page->ID ); ?>><?php echo esc_html( $page->post_title ); ?></option>
								<?php endforeach; ?>
							</select>
						</p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( 'Activer la page archive', 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( "Permet l'activation de la page archive, peut-être utile pour réalisé des templates avec Elementor notamment.", 'immowp-gestion-immobiliere' ); ?></small>
						<p>
							<input type="checkbox" name="immowp_button_activate_archive" id="immowp_button_activate_archive" <?php echo $immowp_button_activate_archive === 'yes' ? 'checked' : ''; ?>>
							<label for="immowp_button_activate_archive"><?php esc_html_e( 'Activer la page archive', 'immowp-gestion-immobiliere' ); ?></label>
						</p>
					</div>

				</div>

			</section>

		</div>

		<div class="immowp_settings">

			<section>

				<div class="immowp_settings-header">

					<h3><?php esc_html_e( 'Sidebar', 'immowp-gestion-immobiliere' ); ?></h3>

				</div>

				<div class="immowp_settings-description">

					<div class="immowp-row">
						<h5><?php esc_html_e( "Image de l'agence", 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Image à afficher si les coordonnées personnalisées sont choisies.', 'immowp-gestion-immobiliere' ); ?></small>
						<br/>
						<?php $immowp_image_html = $immowp_agence_sidebar_image ? wp_get_attachment_image( $immowp_agence_sidebar_image, 'thumbnail' ) : ''; ?>

						<?php if ( $immowp_image_html ) : ?>
							<a href="#" class="button rudr-reglages-upload" style="display:none">Choisir l'image</a>
							<a href="#" class="rudr-upload-image">
								<?php echo $immowp_image_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- generated by WordPress ?>
							</a>
							<br/>
							<a href="#" class="rudr-reglages-remove">Supprimer l'image</a>
							<input type="hidden" name="immowp_agence_sidebar_image" value="<?php echo absint( $immowp_agence_sidebar_image ); ?>">
						<?php else : ?>
							<a href="#" class="button rudr-reglages-upload">Choisir l'image</a>
							<br/>
							<a href="#" class="rudr-reglages-remove" style="display:none">Supprimer l'image</a>
							<input type="hidden" name="immowp_agence_sidebar_image" value="">
						<?php endif; ?>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( "Nom de l'agence", 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Nom à afficher si les coordonnées personnalisées sont choisies.', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" name="immowp_sidebar_coordinates_name" value="<?php echo esc_html( $immowp_sidebar_coordinates_name ); ?>" placeholder="Nom de l'agence"></p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( "Adresse de l'agence ", 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Adresse à afficher si les coordonnées personnalisées sont choisies.', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" name="immowp_sidebar_coordinates_adress" value="<?php echo esc_html( $immowp_sidebar_coordinates_adress ); ?>" placeholder="Adresse de l'agence"></p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( "Code Postal de l'agence ", 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Code Postal à afficher si les coordonnées personnalisées sont choisies.', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" name="immowp_sidebar_coordinates_cp" value="<?php echo esc_html( $immowp_sidebar_coordinates_cp ); ?>" placeholder="Code postal de l'agence"></p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( "Ville de l'agence", 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Ville à afficher si les coordonnées personnalisées sont choisies.', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" name="immowp_sidebar_coordinates_city" value="<?php echo esc_html( $immowp_sidebar_coordinates_city ); ?>" placeholder="Ville de l'agence"></p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( "Téléphone de l'agence ", 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Téléphone à afficher si les coordonnées personnalisées sont choisies.', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" name="immowp_sidebar_coordinates_tel" value="<?php echo esc_html( $immowp_sidebar_coordinates_tel ); ?>" placeholder="Téléphone de l'agence"></p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( "Email de l'agence", 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Email à afficher si les coordonnées personnalisées sont choisies.', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" name="immowp_sidebar_coordinates_email" value="<?php echo esc_html( $immowp_sidebar_coordinates_email ); ?>" placeholder="Email de l'agence"></p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( 'Formulaire de contact', 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Vous pouvez afficher un shortcode de contact dans la sidebar (Par exemple avec contact form 7)', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" name="immowp_sidebar_coordinates_form" value="<?php echo esc_html( $immowp_sidebar_coordinates_form ); ?>" placeholder="Shortcode du formulaire de contact"></p>
					</div>

				</div>

			</section>

		</div>

		<div class="immowp_settings">

			<section>

				<div class="immowp_settings-header">

					<h3><?php esc_html_e( 'Design', 'immowp-gestion-immobiliere' ); ?></h3>

				</div>

				<div class="immowp_settings-description">

					<div class="immowp-row">
						<h5><?php esc_html_e( 'Couleur principale', 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Couleur principale du plugin notamment utilisé pour le texte.', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" name="immowp_primary_color" value="<?php echo esc_html( $immowp_primary_color ); ?>" placeholder="Couleur principale"></p>
					</div>

					<div class="immowp-row">
						<h5><?php esc_html_e( 'Couleur secondaire', 'immowp-gestion-immobiliere' ); ?></h5>
						<small><?php esc_html_e( 'Couleur secondaire du plugin notamment utilisé pour les icones.', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" name="immowp_secondary_color" value="<?php echo esc_html( $immowp_secondary_color ); ?>" placeholder="Couleur secondaire"></p>
					</div>
				</div>

			</section>

		</div>



		<!-- shortcode -->
		<div class="immowp_settings">

			<section>

				<div class="immowp_settings-header">

					<h3><?php esc_html_e( 'Shortcode', 'immowp-gestion-immobiliere' ); ?></h3>

				</div>

				<div class="immowp_settings-description">

					<div class="immowp-row">
						<small><?php esc_html_e( 'Shortcode à utiliser pour votre page de résultat', 'immowp-gestion-immobiliere' ); ?></small>
						<p><input type="text" readonly value="[immowp_property]"></p>
					</div>

				</div>

			</section>

		</div>




	</div>

</form>
