<?php

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

function tilfy_wordpress_kaynak_aktif_mi() {
	return tilfy_ayar_al( 'wordpress_kaynak', '0' ) === '1';
}

function tilfy_platform_listesi() {
	$liste = array(
		'instagram' => array(
			'etiket'  => 'Instagram',
			'ikon'    => 'instagram',
			'api_tam' => true,
			'manuel'  => false,
			'kaynak'  => true,
			'hedef'   => true,
			'ac_url'  => 'https://www.instagram.com/',
		),
		'facebook' => array(
			'etiket'  => 'Facebook',
			'ikon'    => 'facebook',
			'api_tam' => true,
			'manuel'  => false,
			'kaynak'  => true,
			'hedef'   => true,
			'ac_url'  => 'https://www.facebook.com/',
		),
		'youtube' => array(
			'etiket'  => 'YouTube',
			'ikon'    => 'youtube',
			'api_tam' => true,
			'manuel'  => false,
			'kaynak'  => true,
			'hedef'   => true,
			'ac_url'  => 'https://studio.youtube.com/',
		),
		'linkedin' => array(
			'etiket'  => 'LinkedIn',
			'ikon'    => 'linkedin',
			'api_tam' => true,
			'manuel'  => false,
			'kaynak'  => true,
			'hedef'   => true,
			'ac_url'  => 'https://www.linkedin.com/feed/',
		),
		'tiktok' => array(
			'etiket'  => 'TikTok',
			'ikon'    => 'tiktok',
			'api_tam' => true,
			'manuel'  => true,
			'kaynak'  => true,
			'hedef'   => true,
			'ac_url'  => 'https://www.tiktok.com/upload',
		),
		'threads' => array(
			'etiket'  => 'Threads',
			'ikon'    => 'threads',
			'api_tam' => false,
			'manuel'  => true,
			'kaynak'  => true,
			'hedef'   => true,
			'ac_url'  => 'https://www.threads.net/',
		),
	);
	if ( tilfy_wordpress_kaynak_aktif_mi() ) {
		$liste['wordpress'] = array(
			'etiket'  => 'WordPress',
			'ikon'    => 'wordpress',
			'api_tam' => false,
			'manuel'  => false,
			'kaynak'  => true,
			'hedef'   => false,
			'ac_url'  => home_url( '/' ),
		);
	}
	return $liste;
}

function tilfy_kaynak_platform_listesi() {
	$cikti = array();
	foreach ( tilfy_platform_listesi() as $anahtar => $bilgi ) {
		if ( ! isset( $bilgi['kaynak'] ) || ! empty( $bilgi['kaynak'] ) ) {
			$cikti[ $anahtar ] = $bilgi;
		}
	}
	return $cikti;
}

function tilfy_hedef_platform_listesi() {
	$cikti = array();
	foreach ( tilfy_platform_listesi() as $anahtar => $bilgi ) {
		if ( ! isset( $bilgi['hedef'] ) || ! empty( $bilgi['hedef'] ) ) {
			$cikti[ $anahtar ] = $bilgi;
		}
	}
	return $cikti;
}

function tilfy_platform_kaynak_mi( $platform ) {
	$liste = tilfy_platform_listesi();
	$platform = sanitize_key( (string) $platform );
	if ( ! isset( $liste[ $platform ] ) ) {
		return false;
	}
	return ! isset( $liste[ $platform ]['kaynak'] ) || ! empty( $liste[ $platform ]['kaynak'] );
}

function tilfy_platform_hedef_mi( $platform ) {
	$liste = tilfy_platform_listesi();
	$platform = sanitize_key( (string) $platform );
	if ( ! isset( $liste[ $platform ] ) ) {
		return false;
	}
	return ! isset( $liste[ $platform ]['hedef'] ) || ! empty( $liste[ $platform ]['hedef'] );
}

function tilfy_platform_aktif_mi( $platform ) {
	$liste = tilfy_platform_listesi();
	return isset( $liste[ $platform ] );
}

function tilfy_platform_paylasim_hazir_mi( $platform ) {
	if ( ! tilfy_platform_aktif_mi( $platform ) || ! tilfy_platform_hedef_mi( $platform ) ) {
		return false;
	}
	$durum = tilfy_baglanti_durumu();
	return ! empty( $durum[ $platform ]['bagli'] );
}

function tilfy_platform_etiket( $platform ) {
	$liste = tilfy_platform_listesi();
	if ( isset( $liste[ $platform ]['etiket'] ) ) {
		return $liste[ $platform ]['etiket'];
	}
	if ( $platform === 'wordpress' ) {
		return 'WordPress';
	}
	return $platform;
}

function tilfy_icerik_kaynak_url( $icerik ) {
	if ( is_numeric( $icerik ) ) {
		global $wpdb;
		$icerik = $wpdb->get_row( $wpdb->prepare( 'SELECT kaynak_platform, kaynak_id, medya_url, kaynak_url FROM ' . tilfy_tablo( 'icerik' ) . ' WHERE id = %d', (int) $icerik ) );
	}
	if ( ! is_object( $icerik ) ) {
		return '';
	}
	$kaynak_url = esc_url_raw( (string) ( $icerik->kaynak_url ?? '' ) );
	if ( $kaynak_url !== '' ) {
		return $kaynak_url;
	}
	$platform  = sanitize_key( (string) ( $icerik->kaynak_platform ?? '' ) );
	$kaynak_id = sanitize_text_field( (string) ( $icerik->kaynak_id ?? '' ) );
	$medya_url = esc_url_raw( (string) ( $icerik->medya_url ?? '' ) );
	if ( $platform === 'wordpress' && $kaynak_id !== '' && ctype_digit( $kaynak_id ) ) {
		$url = get_permalink( (int) $kaynak_id );
		return $url ? esc_url_raw( $url ) : '';
	}
	if ( $platform === 'youtube' && $kaynak_id !== '' ) {
		return 'https://www.youtube.com/watch?v=' . rawurlencode( $kaynak_id );
	}
	if ( $platform === 'facebook' && $kaynak_id !== '' ) {
		return 'https://www.facebook.com/' . rawurlencode( $kaynak_id );
	}
	if ( $medya_url !== '' && preg_match( '#^https?://#i', $medya_url ) ) {
		if ( strpos( $medya_url, 'cdninstagram' ) === false && strpos( $medya_url, 'fbcdn.net' ) === false ) {
			return $medya_url;
		}
	}
	return '';
}
