<?php

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

function tilfy_galeri_varsayilan_platformlar() {
	$platformlar = function_exists( 'tilfy_kaynak_platform_listesi' )
		? tilfy_kaynak_platform_listesi()
		: ( function_exists( 'tilfy_platform_listesi' ) ? tilfy_platform_listesi() : array() );
	return array_keys( $platformlar );
}

function tilfy_galeri_etkin_mi() {
	return tilfy_ayar_al( 'galeri_etkin', '0' ) === '1';
}

function tilfy_galeri_platformlar_al() {
	$ham = tilfy_ayar_al( 'galeri_platformlar', '' );
	if ( $ham === '' ) {
		return tilfy_galeri_varsayilan_platformlar();
	}
	$liste = json_decode( (string) $ham, true );
	if ( ! is_array( $liste ) ) {
		return tilfy_galeri_varsayilan_platformlar();
	}
	$cikti = array();
	foreach ( $liste as $pl ) {
		$pl = sanitize_key( (string) $pl );
		if ( $pl !== '' && function_exists( 'tilfy_platform_kaynak_mi' ) && tilfy_platform_kaynak_mi( $pl ) ) {
			$cikti[] = $pl;
		}
	}
	return array_values( array_unique( $cikti ) );
}

function tilfy_galeri_platform_aktif_mi( $platform ) {
	$platform = sanitize_key( (string) $platform );
	if ( $platform === '' ) {
		return false;
	}
	return in_array( $platform, tilfy_galeri_platformlar_al(), true );
}

function tilfy_galeri_gizli_goster_mi() {
	return tilfy_ayar_al( 'galeri_gizli_goster', '0' ) === '1';
}

function tilfy_galeri_wp_ozel_goster_mi() {
	return tilfy_ayar_al( 'galeri_wp_ozel_goster', '0' ) === '1';
}

function tilfy_galeri_modal_kapak_mi() {
	return tilfy_ayar_al( 'galeri_modal_kapak', '1' ) === '1';
}

function tilfy_galeri_modal_aciklama_modu() {
	$mod = sanitize_key( (string) tilfy_ayar_al( 'galeri_modal_aciklama', '1' ) );
	return in_array( $mod, array( '0', '1', '2' ), true ) ? $mod : '1';
}

function tilfy_galeri_buton_metni() {
	$metin = trim( (string) tilfy_ayar_al( 'galeri_buton_metni', 'Kaynağı aç' ) );
	return $metin !== '' ? $metin : tilfy__( 'Kaynağı aç' );
}

function tilfy_galeri_istatistik_goster_mi() {
	return tilfy_ayar_al( 'galeri_istatistik', '0' ) === '1';
}

function tilfy_galeri_sayfa_basina() {
	return max( 10, (int) tilfy_ayar_al( 'galeri_sayfa_basina', '50' ) );
}

function tilfy_galeri_varsayilan_sira() {
	return sanitize_key( (string) tilfy_ayar_al( 'galeri_varsayilan_sira', 'yeni' ) ) === 'eski' ? 'eski' : 'yeni';
}

function tilfy_galeri_filtre_aktif_mi( $anahtar ) {
	$anahtar = sanitize_key( (string) $anahtar );
	$map     = array(
		'arama' => 'galeri_filtre_arama',
		'tarih' => 'galeri_filtre_tarih',
		'medya' => 'galeri_filtre_medya',
		'sira'  => 'galeri_filtre_sira',
	);
	if ( ! isset( $map[ $anahtar ] ) ) {
		return false;
	}
	return tilfy_ayar_al( $map[ $anahtar ], '1' ) === '1';
}

function tilfy_galeri_modal_lazy_mi() {
	return tilfy_ayar_al( 'galeri_modal_lazy', '1' ) === '1';
}

function tilfy_galeri_ayarlari_kaydet( $post ) {
	$girdi = array();

	$girdi['galeri_etkin']          = ! empty( $post['galeri_etkin'] ) ? '1' : '0';
	$girdi['galeri_gizli_goster']   = ! empty( $post['galeri_gizli_goster'] ) ? '1' : '0';
	$girdi['galeri_wp_ozel_goster'] = ! empty( $post['galeri_wp_ozel_goster'] ) ? '1' : '0';
	$girdi['galeri_modal_kapak']    = ! empty( $post['galeri_modal_kapak'] ) ? '1' : '0';
	$girdi['galeri_istatistik']     = ! empty( $post['galeri_istatistik'] ) ? '1' : '0';
	$girdi['galeri_filtre_arama']   = ! empty( $post['galeri_filtre_arama'] ) ? '1' : '0';
	$girdi['galeri_filtre_tarih']   = ! empty( $post['galeri_filtre_tarih'] ) ? '1' : '0';
	$girdi['galeri_filtre_medya']   = ! empty( $post['galeri_filtre_medya'] ) ? '1' : '0';
	$girdi['galeri_filtre_sira']    = ! empty( $post['galeri_filtre_sira'] ) ? '1' : '0';
	$girdi['galeri_modal_lazy']     = ! empty( $post['galeri_modal_lazy'] ) ? '1' : '0';

	$platformlar = array();
	if ( isset( $post['galeri_platformlar'] ) && is_array( $post['galeri_platformlar'] ) ) {
		foreach ( $post['galeri_platformlar'] as $pl ) {
			$pl = sanitize_key( (string) $pl );
			if ( $pl !== '' && function_exists( 'tilfy_platform_kaynak_mi' ) && tilfy_platform_kaynak_mi( $pl ) ) {
				$platformlar[] = $pl;
			}
		}
	}
	$girdi['galeri_platformlar'] = wp_json_encode( array_values( array_unique( $platformlar ) ) );

	if ( isset( $post['galeri_modal_aciklama'] ) ) {
		$mod = sanitize_key( (string) $post['galeri_modal_aciklama'] );
		$girdi['galeri_modal_aciklama'] = in_array( $mod, array( '0', '1', '2' ), true ) ? $mod : '1';
	}

	if ( isset( $post['galeri_buton_metni'] ) ) {
		$metin = sanitize_text_field( (string) $post['galeri_buton_metni'] );
		$girdi['galeri_buton_metni'] = $metin !== '' ? $metin : 'Kaynağı aç';
	}

	if ( isset( $post['galeri_varsayilan_sira'] ) ) {
		$sira = sanitize_key( (string) $post['galeri_varsayilan_sira'] );
		$girdi['galeri_varsayilan_sira'] = $sira === 'eski' ? 'eski' : 'yeni';
	}

	if ( isset( $post['galeri_sayfa_basina'] ) ) {
		$girdi['galeri_sayfa_basina'] = (string) max( 10, (int) $post['galeri_sayfa_basina'] );
	}

	return $girdi;
}
