<?php

require_once("functions.php");

$filename=$_GET["filename"];
$nomefile = $_GET["filename"];
$filename = '/home/mini_cs/json/json/'.$filename;
$json = file_get_contents($filename);
$azione = $_GET["azione"];
if (false === $json) {
    printf('Impossibile leggere il file %s', $filename);
    exit;
}
$canali = json_decode($json, true);

if ($nomefile == "JsonFile.json"){ //DAZN LIVE
	$array_canali_statici = array('Eurosport 1', 'Zona DAZN', 'NFL Network', 'Milan TV', 'Inter TV', 'Red Bull TV', 'Eurosport 2', 'Unbeaten');
	try {
		$db->beginTransaction();
		$array_truncate = array("tipo" => 2);
		$sql_truncate = "DELETE FROM canali WHERE tipo=:tipo";
		list($status_sql_truncate,$nrows_truncate) = write_db_pdo_trans($sql_truncate,$array_truncate);
		echo "Canali Live Vecchi [se esistenti] eliminati\n\n";
		$db->commit(); 
		} catch(WriteDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 1 $pdo_error ";
			exit;
		} catch(ReadDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 2 $pdo_error ";
			exit;
		}

	foreach($canali as $canale) {
		$sostituire = array(" v ", " @ ");
		$canale["Title"] = str_replace($sostituire , " - ", $canale["Title"]);
		$M3U8 = $canale["HlsUrl"];
		if ($M3U8 == "") {
			$M3U8 = "inserire link m3u8";
		}
		if ($canale["Image"] == null){
		$canale["Image"] = "https://www.teledigitale.it/wp-content/uploads/2020/09/sky-sport-696x391.png";
	    }
	    if ($canale["ID"] == 42){
		$canale["Image"] = "https://www.teledigitale.it/wp-content/uploads/2020/09/sky-sport-696x391.png";
	    }
		if(in_array($canale["Title"], $array_canali_statici)){
			echo "Canale [".$canale['Title']."] non aggiunto in quanto statico\n\n";
		}else{
			$temp = explode(":",$canale["decrypt_key"]);
			$keyid = $temp[0];
			$key = $temp[1];
			try {
				$db->beginTransaction();
				$array_aggiungi = array(
										"tipo" => 2,
										"nome" => $canale["Title"],
										"titolo" => "<span style='color: red;'>🔴(LIVE)</span>",
										"link" => $canale["MPD"],
										"keyid" => $keyid,
										"keyy" => $key,
										"image" => $canale["Image"],
										"link_formato" => 0,
										"key_dinamica" =>  1,
										"HlsUrl" => $M3U8,
										"attivo" =>  1
										);
				$sql_aggiungi="INSERT INTO canali SET tipo=:tipo, nome=:nome, titolo=:titolo, link=:link, keyid=:keyid, keyy=:keyy, image=:image, link_formato=:link_formato, key_dinamica=:key_dinamica, HlsUrl=:HlsUrl, attivo=:attivo";
				list($status_sql_aggiungi,$nrows_aggiungi) = write_db_pdo_trans($sql_aggiungi,$array_aggiungi);
				$db->commit(); 	
				echo "Canale [".$canale['Title']."] aggiunto correttamente\n\n";
				
			} catch(WriteDBException $e) {
				$db->rollBack();
				$pdo_error = $e->getMessage();
				echo "errore db 1 $pdo_error ";
				exit;
			} catch(ReadDBException $e) {
				$db->rollBack();
				$pdo_error = $e->getMessage();
				echo "errore db 2 $pdo_error ";
				exit;
			}
		}
	}
	unlink($filename);
	echo "FILE $nomefile DELETED";
}

if ($nomefile == "JsonFileDe.json"){ //DAZN GERMANIA LIVE
	$array_canali_statici = array('DAZN 2', 'DAZN 1', 'NFL Network', 'Eurosport1', 'Eurosport2', 'DAZN RISE', 'DAZN FAST+', 'NBA TV', 'Red Bull TV', 'Unbeaten', 'MBL Network', 'SPORTDIGITAL FUSSBALL');
	try {
		$db->beginTransaction();
		$array_truncate = array("tipo" => 3);
		$sql_truncate = "DELETE FROM canali WHERE tipo=:tipo";
		list($status_sql_truncate,$nrows_truncate) = write_db_pdo_trans($sql_truncate,$array_truncate);
		echo "Canali Live Vecchi [se esistenti] eliminati\n\n";
		$db->commit(); 
		} catch(WriteDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 1 $pdo_error ";
			exit;
		} catch(ReadDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 2 $pdo_error ";
			exit;
		}

	foreach($canali as $canale) {
		$sostituire = array(" v ", " @ ");
		$canale["Title"] = str_replace($sostituire , " - ", $canale["Title"]);
		$M3U8 = $canale["HlsUrl"];
		if ($M3U8 == "") {
			$M3U8 = "inserire link m3u8";
		}
		if ($canale["Image"] == null){
		$canale["Image"] = "https://www.teledigitale.it/wp-content/uploads/2020/09/sky-sport-696x391.png";
	    }
	    if ($canale["ID"] == 42){
		$canale["Image"] = "https://www.teledigitale.it/wp-content/uploads/2020/09/sky-sport-696x391.png";
	    }
		if(in_array($canale["Title"], $array_canali_statici)){
			echo "Canale [".$canale['Title']."] non aggiunto in quanto statico\n\n";
		}else{
			$temp = explode(":",$canale["decrypt_key"]);
			$keyid = $temp[0];
			$key = $temp[1];
			try {
				$db->beginTransaction();
				$array_aggiungi = array(
										"tipo" => 3,
										"nome" => $canale["Title"],
										"titolo" => "<span style='color: red;'>🔴(LIVE)</span>",
										"link" => $canale["MPD"],
										"keyid" => $keyid,
										"keyy" => $key,
										"image" => $canale["Image"],
										"link_formato" => 0,
										"key_dinamica" =>  1,
										"HlsUrl" => $M3U8,
										"attivo" =>  1
										);
				$sql_aggiungi="INSERT INTO canali SET tipo=:tipo, nome=:nome, titolo=:titolo, link=:link, keyid=:keyid, keyy=:keyy, image=:image, link_formato=:link_formato, key_dinamica=:key_dinamica, HlsUrl=:HlsUrl, attivo=:attivo";
				list($status_sql_aggiungi,$nrows_aggiungi) = write_db_pdo_trans($sql_aggiungi,$array_aggiungi);
				$db->commit(); 	
				echo "Canale [".$canale['Title']."] aggiunto correttamente\n\n";
				
			} catch(WriteDBException $e) {
				$db->rollBack();
				$pdo_error = $e->getMessage();
				echo "errore db 1 $pdo_error ";
				exit;
			} catch(ReadDBException $e) {
				$db->rollBack();
				$pdo_error = $e->getMessage();
				echo "errore db 2 $pdo_error ";
				exit;
			}
		}
	}
	unlink($filename);
	echo "FILE $nomefile DELETED";
}
if ($azione == "now"){ // SKY SPORT DA NOW
	// Ricezione del JSON dal client
	$json_data = file_get_contents("php://input");
	$canali = json_decode($json_data, true);

	// Esempio di elaborazione dei dati ricevuti
	if ($canali) {
		$response = [
			'status' => 'success',
			'message' => 'Dati ricevuti con successo!',
			'data' => $canali
		];
	} else {
		$response = [
			'status' => 'error',
			'message' => 'Errore nella ricezione dei dati JSON.'
		];
	}

	foreach($canali as $canale) {	
		if (($canale["ID"] == 13) || (($canale["ID"] >=23) && ($canale["ID"] <=42))){
			$temp = explode(":",$canale["decrypt_key"]);
			$keyid = $temp[0];
			$key = $temp[1];
			$tipo = 9; //SPORT
			if ($canale["Image"] == null){
				$canale["Image"] = "https://www.teledigitale.it/wp-content/uploads/2020/09/sky-sport-696x391.png";
			}
			if ($canale["ID"] == 42){
				$canale["Image"] = "https://www.teledigitale.it/wp-content/uploads/2020/09/sky-sport-696x391.png";
			}
			try {
				$db->beginTransaction();
				$array_aggiungi = array(
										"tipo" => $tipo,
										"nome" => $canale["Title"],
										"titolo" => $canale["ProgramTile"],
										"image" => $canale["Image"],
										"link" => $canale["MPD"],
										"keyid" => $keyid,
										"keyy" => $key,
										"link_formato" => 0,
										"key_dinamica" =>  1,
										"attivo" =>  1
										);
					$sql_aggiungi="UPDATE canali SET tipo=:tipo, nome=:nome, titolo=:titolo, link=:link, keyid=:keyid, keyy=:keyy, image=:image, link_formato=:link_formato, key_dinamica=:key_dinamica, attivo=:attivo WHERE nome=:nome";
					list($status_sql_aggiungi,$nrows_aggiungi) = write_db_pdo_trans($sql_aggiungi,$array_aggiungi);
					$db->commit(); 	
					echo "Canale [".$canale['Title']."] aggiunto correttamente\n\n";
					
				} catch(WriteDBException $e) {
					$db->rollBack();
					$pdo_error = $e->getMessage();
					echo "errore db 1 $pdo_error ";
					exit;
				} catch(ReadDBException $e) {
					$db->rollBack();
					$pdo_error = $e->getMessage();
					echo "errore db 2 $pdo_error ";
					exit;
				}
		}
	}
	echo $reponse;	
	
	
}

if ($nomefile == "UpdateJsonFile.json"){ // BLUE SPORT
	foreach($canali as $canale) {
		$temp = explode(":",$canale["decrypt_key"]);
		$keyid = "";//$temp[0];
		$key = "";//$temp[1];
		if ($canale["image"] == "") {
			$image = "https://unitedsenses.tv/wp-content/uploads/2020/11/Blue_Sport_zitat-1.jpg";
		}else{
			$image = $canale['image'];
		}
		if (($canale["ProgramTitle"] == "") || ($canale["ProgramTitle"] == null)){
			$titolo = $canale["LeagueTitle"];
		}else{
			$titolo = $canale["ProgramTitle"];
		}	
		if (($titolo == "") || ($titolo == null)){
			$titolo = "Nessun Evento";
		}		
		try {
			$db->beginTransaction();
			$array_aggiungi = array(
										"tipo" => 8,
										"nome" => $canale["Title"],
										"titolo" => $titolo,
										"link" => $canale["MPD"],
										"keyid" => $keyid,
										"keyy" => $key,
										"license" => $canale["license_url"],
										"image" => $image,
										"link_formato" => 0,
										"key_dinamica" =>  1,
										"attivo" =>  1
										);
				$sql_aggiungi="UPDATE canali SET tipo=:tipo, titolo=:titolo, link=:link, keyid=:keyid, keyy=:keyy, image=:image, link_formato=:link_formato, key_dinamica=:key_dinamica, license=:license, attivo=:attivo WHERE nome=:nome";
				list($status_sql_aggiungi,$nrows_aggiungi) = write_db_pdo_trans($sql_aggiungi,$array_aggiungi);
				$db->commit(); 	
				echo "Canale [".$canale['Title']."] aggiunto correttament\n\n";
				
			} catch(WriteDBException $e) {
				$db->rollBack();
				$pdo_error = $e->getMessage();
				echo "errore db 1 $pdo_error ";
				exit;
			} catch(ReadDBException $e) {
				$db->rollBack();
				$pdo_error = $e->getMessage();
				echo "errore db 2 $pdo_error ";
				exit;
			}
		}
	//unlink($filename);
	echo "SCRIPT BLUE ESEGUITO";
	}

if ($nomefile == "JsonFileVod.json"){ //DAZN VOD DA RIVEDERE

	try {
		$db->beginTransaction();
		$array_truncate = array("tipo" => 14);
		$sql_truncate = "DELETE FROM canali WHERE tipo=:tipo";
		list($status_sql_truncate,$nrows_truncate) = write_db_pdo_trans($sql_truncate,$array_truncate);
		echo "Canali VOD Vecchi [se esistenti] eliminati\n\n";
		$db->commit(); 
		} catch(WriteDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 1 $pdo_error ";
			exit;
		} catch(ReadDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 2 $pdo_error ";
			exit;
		}

	foreach($canali as $canale) {
		$temp = explode(":",$canale["decrypt_key"]);
		$keyid = $temp[0];
		$key = $temp[1];
		if ($canale["Image"] == ""){
			$canale["Image"] = "MANCA IMMAGINE";
		}
		try {
			$db->beginTransaction();
			$array_aggiungi = array(
									"tipo" => 14,
									"nome" => $canale["VodTitle"],
									"titolo" => $canale["CompetitionTitle"],
									"link" => $canale["MPD"],
									"keyid" => $keyid,
									"keyy" => $key,
									"image" => $canale["Image"],
									"link_formato" => 0,
									"key_dinamica" =>  1,
									"HlsUrl" => "",
									"attivo" =>  1
									);
			$sql_aggiungi="INSERT INTO canali SET tipo=:tipo, nome=:nome, titolo=:titolo, link=:link, keyid=:keyid, keyy=:keyy, image=:image, link_formato=:link_formato, key_dinamica=:key_dinamica, HlsUrl=:HlsUrl, attivo=:attivo";
			list($status_sql_aggiungi,$nrows_aggiungi) = write_db_pdo_trans($sql_aggiungi,$array_aggiungi);
			$db->commit(); 	
			echo "Canale [".$canale['VodTitle']."] aggiunto correttamente\n\n";
			
		} catch(WriteDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 1 $pdo_error ";
			exit;
		} catch(ReadDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 2 $pdo_error ";
			exit;
		}
	
	}
	unlink($filename);
	echo "FILE $nomefile DELETED";
}
if ($nomefile == "JsonFileVod2.json"){ //DAZN VOD DA NON PERDERE

	try {
		$db->beginTransaction();
		$array_truncate = array("tipo" => 15);
		$sql_truncate = "DELETE FROM canali WHERE tipo=:tipo";
		list($status_sql_truncate,$nrows_truncate) = write_db_pdo_trans($sql_truncate,$array_truncate);
		echo "Canali VOD Vecchi [se esistenti] eliminati\n\n";
		$db->commit(); 
		} catch(WriteDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 1 $pdo_error ";
			exit;
		} catch(ReadDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 2 $pdo_error ";
			exit;
		}

	foreach($canali as $canale) {
		$temp = explode(":",$canale["decrypt_key"]);
		$keyid = $temp[0];
		$key = $temp[1];
		if ($canale["Image"] == ""){
			$canale["Image"] = "MANCA IMMAGINE";
		}
		try {
			$db->beginTransaction();
			$array_aggiungi = array(
									"tipo" => 15,
									"nome" => $canale["VodTitle"],
									"titolo" => $canale["CompetitionTitle"],
									"link" => $canale["MPD"],
									"keyid" => $keyid,
									"keyy" => $key,
									"image" => $canale["Image"],
									"link_formato" => 0,
									"key_dinamica" =>  1,
									"HlsUrl" => "",
									"attivo" =>  1
									);
			$sql_aggiungi="INSERT INTO canali SET tipo=:tipo, nome=:nome, titolo=:titolo, link=:link, keyid=:keyid, keyy=:keyy, image=:image, link_formato=:link_formato, key_dinamica=:key_dinamica, HlsUrl=:HlsUrl, attivo=:attivo";
			list($status_sql_aggiungi,$nrows_aggiungi) = write_db_pdo_trans($sql_aggiungi,$array_aggiungi);
			$db->commit(); 	
			echo "Canale [".$canale['VodTitle']."] aggiunto correttamente\n\n";
			
		} catch(WriteDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 1 $pdo_error ";
			exit;
		} catch(ReadDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 2 $pdo_error ";
			exit;
		}
	
	}
	unlink($filename);
	echo "FILE $nomefile DELETED";
}
if ($nomefile == "JsonFileVod3.json"){ //DAZN SERIE BKT

	try {
		$db->beginTransaction();
		$array_truncate = array("tipo" => 16);
		$sql_truncate = "DELETE FROM canali WHERE tipo=:tipo";
		list($status_sql_truncate,$nrows_truncate) = write_db_pdo_trans($sql_truncate,$array_truncate);
		echo "Canali VOD Vecchi [se esistenti] eliminati\n\n";
		$db->commit(); 
		} catch(WriteDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 1 $pdo_error ";
			exit;
		} catch(ReadDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 2 $pdo_error ";
			exit;
		}

	foreach($canali as $canale) {
		$temp = explode(":",$canale["decrypt_key"]);
		$keyid = $temp[0];
		$key = $temp[1];
		if ($canale["Image"] == ""){
			$canale["Image"] = "MANCA IMMAGINE";
		}
		try {
			$db->beginTransaction();
			$array_aggiungi = array(
									"tipo" => 16,
									"nome" => $canale["VodTitle"],
									"titolo" => $canale["CompetitionTitle"],
									"link" => $canale["MPD"],
									"keyid" => $keyid,
									"keyy" => $key,
									"image" => $canale["Image"],
									"link_formato" => 0,
									"key_dinamica" =>  1,
									"HlsUrl" => "",
									"attivo" =>  1
									);
			$sql_aggiungi="INSERT INTO canali SET tipo=:tipo, nome=:nome, titolo=:titolo, link=:link, keyid=:keyid, keyy=:keyy, image=:image, link_formato=:link_formato, key_dinamica=:key_dinamica, HlsUrl=:HlsUrl, attivo=:attivo";
			list($status_sql_aggiungi,$nrows_aggiungi) = write_db_pdo_trans($sql_aggiungi,$array_aggiungi);
			$db->commit(); 	
			echo "Canale [".$canale['VodTitle']."] aggiunto correttamente\n\n";
			
		} catch(WriteDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 1 $pdo_error ";
			exit;
		} catch(ReadDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 2 $pdo_error ";
			exit;
		}
	
	}
	unlink($filename);
	echo "FILE $nomefile DELETED";
}
if ($nomefile == "JsonFileWow.json"){ //WOW
	try {
		$db->beginTransaction();
		$array_truncate = array("tipo" => 10);
		$sql_truncate = "DELETE FROM canali WHERE tipo=:tipo";
		list($status_sql_truncate,$nrows_truncate) = write_db_pdo_trans($sql_truncate,$array_truncate);
		echo "Canali Vecchi [se esistenti] eliminati\n\n";
		$db->commit(); 
		} catch(WriteDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 1 $pdo_error ";
			exit;
		} catch(ReadDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 2 $pdo_error ";
			exit;
		}

	foreach($canali as $canale) {
		$sostituire = array(" v ", " @ ");
		$canale["Title"] = str_replace($sostituire , " - ", $canale["Title"]);
		$M3U8 = $canale["HlsUrl"];
		if ($M3U8 == "") {
			$M3U8 = "inserire link m3u8";
		}
		if ($canale["Image"] == null){
		$canale["Image"] = "https://www.teledigitale.it/wp-content/uploads/2020/09/sky-sport-696x391.png";
	    }
	   
		$temp = explode(":",$canale["decrypt_key"]);
		$keyid = $temp[0];
		$key = $temp[1];
		try {
			$db->beginTransaction();
			$array_aggiungi = array(
									"tipo" => 10,
									"nome" => $canale["Title"],
									"titolo" => $canale["ProgramTile"],
									"link" => $canale["MPD"],
									"keyid" => $keyid,
									"keyy" => $key,
									"image" => $canale["Image"],
									"link_formato" => 0,
									"key_dinamica" =>  1,
									"HlsUrl" => $M3U8,
									"attivo" =>  1
									);
			$sql_aggiungi="INSERT INTO canali SET tipo=:tipo, nome=:nome, titolo=:titolo, link=:link, keyid=:keyid, keyy=:keyy, image=:image, link_formato=:link_formato, key_dinamica=:key_dinamica, HlsUrl=:HlsUrl, attivo=:attivo";
			list($status_sql_aggiungi,$nrows_aggiungi) = write_db_pdo_trans($sql_aggiungi,$array_aggiungi);
			$db->commit(); 	
			echo "Canale [".$canale['Title']."] aggiunto correttamente\n\n";
			
		} catch(WriteDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 1 $pdo_error ";
			exit;
		} catch(ReadDBException $e) {
			$db->rollBack();
			$pdo_error = $e->getMessage();
			echo "errore db 2 $pdo_error ";
			exit;
		}
		
	}
	unlink($filename);
	echo "FILE $nomefile DELETED";
}


?>
