Файл: masteram_us/work/java/index.php
Строк: 160
<?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);
}
}
require'../../shaxty.php';
$title='Создатель JAVA книг';
$align = 'left';
$head = 'Создатель JAVA книг';
include_once (H.'shaxty/head.php');
echo '<br />';
if (!$_POST && !$_FILES)
{
echo '<form action="?" method="post" enctype="multipart/form-data">
<div>
<label>TXT Файл:</label><br/>
<input type="text" name="file" value="http://"/><br/>
<input type="file" name="f" /><br/>
<label>Название:</label><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') {
err('Не соответствующий формат');
include_once (H.'shaxty/foot.php');
exit();
}
ini_set('user_agent', $_SERVER['HTTP_USER_AGENT']);
$data = file_get_contents($_POST['file']);
if ($type != '.txt') {
err('Не удалось получить файл');
include_once (H.'shaxty/foot.php');
exit();
}
}
$size = strlen($data);
if ($size > 256000 || $size < 1) {
err('<div class="red">Не соответствующий размер');
include_once (H.'shaxty/foot.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);
}
// Вывод
if ($_POST['jad']) {
echo '<a href="get/'.$temp.'/'.$nm.'.jad">Скачать JAD</a><br/>';
}
echo '<a href="get/'.$temp.'/'.$nm.'.jar">Скачать JAR</a><br/>';
}
echo '« <a href="/work/?">В раздел</a>';
echo '<br />';
include_once (H.'shaxty/foot.php');
foot();
?>