Файл: wapmaster/wapmaster/java/index.php
Строк: 199
<?php
// PclZip
$pclzip = 'pclzip.lib.php';
$dir = scandir('get');
foreach($dir as $file)
{
if($file=='.htaccess' || $file=='.' || $file=='..'){
continue;
}
$time = time();
if(is_dir('get/'.$file)){
$dir2 = scandir('get/'.$file);
foreach($dir2 as $f){
// Время хранения файла
if($f=='.' || $f=='..' || filectime('get/'.$file.'/'.$f)>$time-1000){
continue;
}
unlink('get/'.$file.'/'.$f);
}
rmdir('get/'.$file);
}
else{
unlink('get/'.$file);
}
}
include_once '../../sys/inc/start.php';
include_once '../../sys/inc/compress.php';
include_once '../../sys/inc/sess.php';
include_once '../../sys/inc/home.php';
include_once '../../sys/inc/settings.php';
include_once '../../sys/inc/db_connect.php';
include_once '../../sys/inc/ipua.php';
include_once '../../sys/inc/fnc.php';
include_once '../../sys/inc/user.php';
$set['title']='Создатель java книг';
include_once '../../sys/inc/thead.php';
title();
err();
aut();
if(!$_POST && !$_FILES)
{
echo '<div class="input">
<form action="?" method="post" enctype="multipart/form-data">
<div>
TXT Файл:<br/>
<input type="text" name="file" value="http://"/><br/>
<input type="file" name="f" /><br/>
Название:<br/>
<input type="text" name="name" maxlength="20"/><br/>
<input type="checkbox" name="jad" checked="checked"/> JAD<br/>
<input type="submit" value="Создать"/>
</div>
</form>
</div>';
}
else
{
// если файл
if(!$_FILES['f']['error'])
{
$data = file_get_contents($_FILES['f']['tmp_name']);
if(!$_POST['name']){
$_POST['name'] = $_FILES['f']['name'];
}
}
else
{
// если url
$type = strtolower(strrchr($_POST['file'],'.'));
if($type != '.txt'){
print'<div class="red">Не соответствующий формат<br/></div>';
include_once '../../sys/inc/tfoot.php';
exit;
}
ini_set('user_agent', $_SERVER['HTTP_USER_AGENT']);
$data = file_get_contents($_POST['file']);
if($type != '.txt'){
print'<div class="red">Не удалось получить файл<br/></div>';
include_once '../../sys/inc/tfoot.php';
exit;
}
}
$size = strlen($data);
if($size>256000 || $size<1){
print'<div class="red">Не соответствующий размер<br/></div>';
include_once '../../sys/inc/tfoot.php';
exit;
}
$name = substr(trim(rawurldecode($_POST['name'])), 0, 64);
if(!$name){
$name = 'book';
}
$nm2 = str_replace(
array('.',',',' ','Я','Я','я','ые','Ё','ё','Ё','Ж','ж','Ж','З','з','Ч','ч','Ч','Ш','ш','Ш','Э','э','Э','Ю','ю','Ю','Я','я','Я','А','а','Б','б','В','в','Г','г','Д','д','Е','е','И','и','Й','й','К','к','Л','л','М','м','Н','н','О','о','П','п','Р','р','С','с','Т','т','У','у','Ф','ф','Х','х','Щ','щ','ь','Ы','ы','Ц','ц','Х','х'),
array('_','_','_','YA','Ya','ya','yee','YO','yo','Yo','ZH','zh','Zh','Z','z','CH','ch','Ch','SH','sh','Sh','YE','ye','Ye','YU','yu','Yu','JA','ja','Ja','A','a','B','b','V','v','G','g','D','d','E','e','I','i','J','j','K','k','L','l','M','m','N','n','O','o','P','p','R','r','S','s','T','t','U','u','F','f','H','h','W','w','q','Y','y','C','c','X','x'),
$name);
$nm = null;
for($i=0; $i<=strlen($nm2); ++$i)
{
if(preg_match('/^[A-Z_0-9-]$/i',$nm2[$i])){
$nm.= $nm2[$i];
}
}
$temp = mt_rand(1111,99999999);
mkdir('get/'.$temp,0777);
copy('book.zip','get/'.$temp.'/'.$nm.'.jar');
// кодировка
if(!stripos($data,chr(192)) && !stripos($data,chr(197))){
$data = iconv('UTF-8', 'windows-1251', $data);
}
$arr = str_split($data,25600);
$all = sizeof($arr);
$ar = file('props.ini');
function encode($str)
{
$ln = strlen($str);
for($i=0; $i<$ln; $i++){
$st.= $str[$i].chr(0);
}
return $st;
}
$ar[] = chr(0).chr(10).chr(0).encode('J/textfile.txt.label='.$nm.'(1)');
for($i=1; $i<$all; $i++){
$ar[] = chr(10).chr(0).encode('J/textfile'.$i.'.txt.label='.$nm.'('.($i+1).')');
}
$ar[] = chr(10);
file_put_contents('get/'.$temp.'/props.ini',$ar);
$f = fopen('get/'.$temp.'/MANIFEST.MF','w');
fputs($f,"Manifest-Version: 1.0rnMicroEdition-Configuration: CLDC-1.0rnMicroEdition-Profile: MIDP-1.0rnMIDlet-Name: $nmrnMIDlet-Vendor: $_SERVER[HTTP_HOST]rnMIDlet-1: $nm, /icon.png, br.BookReaderrnMIDlet-Version: 1.6rnMIDlet-Info-URL: http://$_SERVER[HTTP_HOST]rnMIDlet-Delete-Confirm: Good Luck =)");
fclose($f);
require $pclzip;
$zip = new PclZip(dirname(__FILE__).'/get/'.$temp.'/'.$nm.'.jar');
$zip->add(dirname(__FILE__).'/get/'.$temp.'/props.ini',PCLZIP_OPT_REMOVE_ALL_PATH);
$zip->add(dirname(__FILE__).'/get/'.$temp.'/MANIFEST.MF',PCLZIP_OPT_REMOVE_ALL_PATH,PCLZIP_OPT_ADD_PATH,'META-INF');
unlink('get/'.$temp.'/MANIFEST.MF');
unlink('get/'.$temp.'/props.ini');
file_put_contents(dirname(__FILE__).'/get/'.$temp.'/textfile.txt',$arr[0]);
$zip->add(dirname(__FILE__).'/get/'.$temp.'/textfile.txt',PCLZIP_OPT_REMOVE_ALL_PATH);
unlink('get/'.$temp.'/textfile.txt');
for($i=1; $i<$all; $i++)
{
file_put_contents('get/'.$temp.'/textfile'.$i.'.txt',$arr[$i]);
$zip->add(dirname(__FILE__).'/get/'.$temp.'/textfile'.$i.'.txt',PCLZIP_OPT_REMOVE_ALL_PATH);
unlink('get/'.$temp.'/textfile'.$i.'.txt');
}
if($_POST['jad'])
{
$sz = filesize('get/'.$temp.'/'.$nm.'.jar');
$f = fopen('get/'.$temp.'/'.$nm.'.jad','w');
$nm3 = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/'.$nm.'.jad';
fputs($f,"MIDlet-Jar-URL: $nm3rnSiemens-Jad-URL: $nm3rnMIDlet-Jar-Size: $szrnManifest-Version: 1.0rnMicroEdition-Configuration: CLDC-1.0rnMIDlet-Name: $nmrnMIDlet-Vendor: $_SERVER[HTTP_HOST]rnMIDlet-1: $nm, /icon.png, br.BookReaderrnMIDlet-Version: 1.6rnMicroEdition-Profile: MIDP-1.0rnMIDlet-Info-URL: http://$_SERVER[HTTP_HOST]rnMIDlet-Delete-Confirm: Good Luck =)");
fclose($f);
}
// Вывод
echo '<div class="telo">';
if($_POST['jad']){
echo '<a href="get/'.$temp.'/'.$nm.'.jad">Скачать JAD</a><br/>';
}
echo '<a href="get/'.$temp.'/'.$nm.'.jar">Скачать JAR</a><br/></div>';
}
echo '<br /><a href="/wapmaster">В раздел</a></div>';
include_once '../../sys/inc/tfoot.php';
?>