<?php


// include($_SERVER["DOCUMENT_ROOT"]."/dnevnik/_autorize.php");

$file = htmlspecialchars($_GET['url']);
if( strstr($file,'/') && !preg_match("/^http:/si",$file) && !preg_match("/^ftp:/si",$file) ) exit(); // защита от хаков

// $file=str_replace("http://lleo.aha.ru/","http://lleo.me/",$file);

$file=$_SERVER["DOCUMENT_ROOT"].'/boyan/midi/'.basename($file);

// die(file_get_contents($file));
// die('OK: '.htmlspecialchars($file));

	require_once $_SERVER["DOCUMENT_ROOT"].'/boyan/classes/midi.class.php';
	$midi = new Midi();
	$midi->importMid($file);
	$txt = $midi->getTxt(0);

// die('OK:'.$txt);

$txt=preg_replace_callback("/(\d+) PrCh ch=(\d+) p=(\d+)/si","nabayan",$txt); //0 PrCh ch=8 p=2
$txt=preg_replace_callback("/(\d+ Meta \w+ )(\"[^\"]*\")/si","zaplatka",$txt);

        $midi = new Midi();
        $midi->importTxt($txt);
	$mid = $midi->getMid();

header("Content-Type: audio/midi");
die($mid);


// если все закончилось успешно...
//--------------- добавить в базу / увеличить счетчик ---------------

/*
        if($_GET['name']!='') $username=$_GET['name'];
        elseif($_COOKIE['CommentaryName']!='') $username=$_COOKIE['CommentaryName'];
        else $username=$lju;
*/

// include($_SERVER["DOCUMENT_ROOT"]."/mysql_.php");
// mysql_select_db("lleo") or die("ERROR select BASA");
// mysql_query("SET NAMES cp1251");

// include($_SERVER["DOCUMENT_ROOT"]."/sys/mysql_connect.php");
// include($_SERVER["DOCUMENT_ROOT"]."/mysql_.php");
// mysql_select_db("lleo") or die("ERROR select BASA");
// mysql_query("SET NAMES cp1251");

/*
include $_SERVER["DOCUMENT_ROOT"]."/config.php"; include_once $include_sys."_autorize.php"; mysql_select_db("lleo") or die("ERROR select BASA 2");

if (!mysql_num_rows(mysql_query("SELECT `count` FROM boyan WHERE `url`='".mysql_escape_string($file)."'"))) {

// вставить новый счетчик если не было
mysql_query("INSERT INTO boyan (`url`, `opis`, `count`,
`ip`,`ipx`,`bro`,`lj`,`name`,`sc`) VALUES (
'".mysql_escape_string($file)."',
'".mysql_escape_string($_GET['opis'])."',
'1',
'".mysql_escape_string($_SERVER['REMOTE_ADDR'])."',
'".mysql_escape_string($_SERVER['HTTP_X_FORWARDED_FOR'])."',
'".mysql_escape_string($_SERVER['HTTP_USER_AGENT'])."',
'".mysql_escape_string($lju)."',
'".mysql_escape_string($username)."',
'".mysql_escape_string($_COOKIE['sc'])."')");

} else { // увеличить счетчик

mysql_query("UPDATE boyan SET count=count+1,last_ip='".mysql_escape_string($_SERVER["REMOTE_ADDR"])."' WHERE `url`='".mysql_escape_string($file)."' AND last_ip!='".mysql_escape_string($_SERVER["REMOTE_ADDR"])."'");

}
*/

//-------------------------------------------------------------------

exit();

function nabayan($p) { if($p[2]!="10") $p[3]="22"; return $p[1]." PrCh ch=".$p[2]." p=".$p[3]; }
function zaplatka($p) {	return $p[1].str_replace("\n"," ",$p[2]); }

?>