View file dc/admin.php

File size: 11.14Kb
<?php
include 'config.php';
include '../system/start.php';
 $title.='ЗЦ-Админка';
//админ
if($user[level]!='5'){
  myheader('/');
}
$d=fint($_GET[d]);
$f=fint($_GET[f]);

switch($_GET[mode]){

 //добавление папки
case 'dnew':
 if(isset($_POST[name]))$_POST[name]=mysql_real_escape_string($_POST[name]);
 if(isset($_GET[d]))$indata=mysql_result(mysql_query("SELECT `url` FROM `dc_dir` WHERE `id`='$d';"),0).'/';
 else $indata=$dc[config][basedir];
if(isset($_POST[name])){
  if(@mysql_num_rows(mysql_query("SELECT * FROM `dc_dir` WHERE `in`='$_GET[d]' AND `name`='$_POST[name]'"))!='0') $err='Ошибка! Раздел с таким именем уже существует';
  $url=$indata.$_POST[url];
  if(!@mkdir($url)) $err='Ошибка! Не удается создать папку '.$url;
if(!isset($err)){
  mysql_query("INSERT INTO `dc_dir` SET `name`='$_POST[name]', `in`='$d', `url`='$url';");
  $did=@mysql_result(mysql_query("SELECT `id` FROM `dc_dir` WHERE `name`='$_POST[name]' AND `in`='$d';"),0);
  myheader('/dc/?d='.$did);
  }
}
//панель навигации
$page.='<div class="linker"><a href="/">главная</a>| <a href="/dc/">загрузки</a>';
$ddata=mysql_fetch_array(mysql_query("SELECT * FROM `dc_dir` WHERE `id`='$d';"));
$i=0;
//навигация
for(;;){
  if($ddata[in]==0) break;
 $nav=mysql_fetch_array(mysql_query("SELECT * FROM `dc_dir` WHERE `id`='$ddata[in]';"));
 $links[$i]='| <a href="?d='.$nav[id].'">'.$nav[name].'</a>';
 $titles[$i]='|'.$nav[name];
 $ddata[in]=$nav[in];
 $i++;
}
for($j=(count($links)-1);$j>=0;$j--){
  $page.=$links[$j];
  $title.=$titles[$j];
}
$page.='| '.$ddata[name];
$title.='|'.$ddata[name];
$page.='| добавление раздела</div>
<div><form action="" method="post">
'.$err.'
<div>Наименование раздела:</div>
<div><input type="text" name="name" size="50"/></div>
<div>URL:</div>
<div><input type="text" name="url" size="50"/></div>
<div><input type="submit" value="Продолжить" /></divn>
</form>
</div>';
break;




case 'fedit':
 if(isset($_POST[go])){
$_POST[name]=mysql_real_escape_string($_POST[name]);
mysql_query("UPDATE `dc_files` SET `name`='$_POST[name]', `about`='$_POST[about]' WHERE `id`='$f';");
myheader("/dc/$d/$f/");
 }
$fdata=@mysql_fetch_array(mysql_query("SELECT `name`,`about` FROM `dc_files` WHERE `id`='$f';"));
  $page.='<div class="border">'.$fdata[name].'</div>
<div>
<form action="" method="post">
<div>Название</div>
<div><input type="text" name="name" size="70" value="'.$fdata[name].'"/></div>
<div>Описание</div>
<div><textarea name="about" cols="60" rows="25">'.$fdata[about].'</textarea></div>
<div><input type="submit" name="go" value="Сохранить" /></div>
</form>
</div>';
break;



//добавление нового файла
case 'fnew':
 if(isset($_POST[go])){
    $_POST[name]=mysql_real_escape_string($_POST[name]);
  if(@mysql_num_rows(mysql_query("SELECT * FROM `dc_files` WHERE `name`='$_POST[name]' AND `d`='$d';"))!=0) $err='Название дублируется';
      //обработка скриншота
    if(!empty($_FILES[userfile][type])){
      switch($_FILES[userfile][type]){
    case 'image/jpeg':
      $im=imagecreatefromjpeg($_FILES[userfile][tmp_name]);
    break;

    case 'image/pjpeg':
      $im=imagecreatefromjpeg($_FILES[userfile][tmp_name]);
    break;

    case 'image/gif':
      $im=imagecreatefromgif($_FILES[userfile][tmp_name]);
    break;

    case 'image/png':
      $im=imagecreatefrompng($_FILES[userfile][tmp_name]);
    break;
  }
 $x=@imagesx($im);
 $y=@imagesy($im);
 //файл не явлется поддерживаемой картинкой
    if(empty($x)){
      $err='Неверный тип файла';
    }
   }
//создаем папку
if(!isset($err)){
   if(isset($d))$indata=mysql_result(mysql_query("SELECT `url` FROM `dc_dir` WHERE `id`='$d';"),0).'/';
 else $indata=$dc[config][basedir];
 $url=$indata.$_POST[url];
  if(!@mkdir($url)) $err='Ошибка! Не удается создать папку '.$url;


  if(!isset($err)){
 mysql_query("INSERT INTO `dc_files` SET `name`='$_POST[name]', `url`='$_POST[url]', `about`='".mysql_real_escape_string($_POST[about])."', `d`='$d';");
 $data=@mysql_fetch_array(mysql_query("SELECT * FROM `dc_files` WHERE `name`='$_POST[name]' AND `d`='$d';"));



  //сохраняем описание
  $ft=fopen("$url/about.txt",'a+');
  fwrite($ft,$_POST[about]);
  fclose($ft);
  //не анимация
  if($_POST[stype]!='1'){
 if($x>128){
    $px=128;
    $py=round($y/round($x/$px,1));
    $img=imagecreatetruecolor($px,$py);
    imagecopyresampled($img,$im,0,0,0,0,$px,$py,$x,$y);
    $im=$img;
  }
   @imagejpeg($im,"$url/screen.jpg",100);
   @imagedestroy($im);
  }
  else{
  $ft=fopen("$url/screen.gif",'a+');
  fwrite($ft,file_get_contents($_FILES[userfile][tmp_name]));
  fclose($ft);
  }
//добавляем в счетчики $d-папка в которой находится файл
$dt=$d;
for(;;){
 $in=mysql_result(mysql_query("SELECT `in` FROM `dc_dir` WHERE `id`='$dt';"),0);
 mysql_query("UPDATE `dc_dir` SET `sum`=`sum`+1 WHERE `id`='$dt'");
 if($in==0){
 @mysql_query("UPDATE `counter` SET `value`=`value`+1 WHERE `name`='dc';");
 break;
 }
 $dt=$in;
}
  //переходим в раздел файла
  myheader(" /dc/?d=$d&f=$data[id]");
  }
}
 }
//панель навигации
$page.='<div class="linker"><a href="/">главная</a>| <a href="/dc/">загрузки</a>';
$ddata=mysql_fetch_array(mysql_query("SELECT * FROM `dc_dir` WHERE `id`='$d';"));
$i=0;
//навигация
for(;;){
  if($ddata[in]==0) break;
 $nav=mysql_fetch_array(mysql_query("SELECT * FROM `dc_dir` WHERE `id`='$ddata[in]';"));
 $links[$i]='| <a href="?d='.$nav[id].'">'.$nav[name].'</a>';
 $titles[$i]='|'.$nav[name];
 $ddata[in]=$nav[in];
 $i++;
}
for($j=(count($links)-1);$j>=0;$j--){
  $page.=$links[$j];
  $title.=$titles[$j];
}
$page.='| <a href="/dc/?d='.$ddata[id].'">'.$ddata[name].'</a>';
$title.='|'.$ddata[name];
$page.='| добавление файла</div>
<div>
<div>Скриншот</div>
<form enctype="multipart/form-data" action="" method="post">
<div><input name="userfile" type="file" accept="image/*,image/gif,image/png,image/jpeg" /></div>
<div><input type="checkbox" name="stype" value="1"/> Анимация</div>
<div>Название</div>
<div><input type="text" name="name" size="50"></div>
<div>Название папки</div>
<div><input type="text" name="url" size="50"></div>
<div style="#CC0000;">'.$err.'</div>
<div>Описание</div>
<div><textarea name="about" cols="60" rows="25"></textarea></div>
<div><input type="submit" name="go" value="Добавить" /></div>
</form>
</div>';
break;

//удаление ссылки
case 'ldel':

$u=fint($_GET[id]);
  $udata=@mysql_fetch_array(mysql_query("SELECT `f`,`url`,`name` FROM `dc_urls` WHERE `id`='$u' LIMIT 1;"));
  $fdata=@mysql_fetch_array(mysql_query("SELECT `d`,`url` FROM `dc_files` WHERE `id`='$udata[f]' LIMIT 1;"));
  $ddata=@mysql_fetch_array(mysql_query("SELECT `url` FROM `dc_dir` WHERE `id`='$fdata[d]' LIMIT 1;"));

$lurl=$ddata[url].'/'.$fdata[url].'/'.$udata[url];

 if(isset($_POST[go])){
 if(@unlink($lurl)){
mysql_query("DELETE FROM `dc_urls` WHERE `id`='$u';");
myheader("/dc/$d/$f/");
}
else $err='<div class="error">Не удается удалить файл '.$lurl.'</div>';
 }

  $page.='<div class="border">Удаление файла</div>
<div>
<form action="" method="post">
<div>Будет удален файл '.$udata[name].'</div>
<div>URL:'.$udata[url].'</div>
'.$err.'
<div><input type="submit" name="go" value="Подтверждаю" /></div>
</form>
</div>';
break;

//редактирование ссылки
case 'ledit':
 if(isset($_POST[go])){
mysql_query("UPDATE `dc_urls` SET `name`='$_POST[name]' WHERE `id`='$_GET[id]';");
myheader("/dc/$d/$f/");
 }
$ldata=@mysql_fetch_array(mysql_query("SELECT `name`,`url` FROM `dc_urls` WHERE `id`='$_GET[id]';"));
  $page.='<div class="border">'.$ldata[url].'</div>
<div>
<form action="" method="post">
<div>Название</div>
<div><input type="text" name="name" size="70" value="'.$ldata[name].'"/></div>
<div><input type="submit" name="go" value="Сохранить" /></div>
</form>
</div>';
break;



//добавление ссылки
case 'lnew':
 if(isset($_POST[go])){
  if(mysql_num_rows(mysql_query("SELECT * FROM `dc_urls` WHERE `url`='".$_FILES[userfile][name]."' AND `f`='$f';"))!='0') $err.='Дублирование имени файла';
//сохранение файла
if(!isset($err)){
  $_POST[name]=$_POST[name1].' '.$_POST[name2];
  if(!empty($_POST[name3]))$_POST[name]=$_POST[name].', '.$_POST[name3];
  if(!empty($_POST[name4]))$_POST[name]=$_POST[name].', '.$_POST[name4];
  if(!empty($_POST[model])) $_POST[name]=$_POST[name].' ('.$_POST[model].')';
  if(empty($_POST[name])) $_POST[name]='Скачать';


  mysql_query("INSERT INTO `dc_urls` SET `f`='$f', `name`='$_POST[name]', `url`='".$_FILES[userfile][name]."', `size`='".$_FILES[userfile][size]."', `time`='".time()."';");
  mysql_query("UPDATE `dc_files` SET `time`='".time()."' WHERE `id`='$f';");
  $data=mysql_fetch_array(mysql_query("SELECT * FROM `dc_urls` WHERE `name`='$_POST[name]' AND `f`='$f';"));
  $fdata=mysql_result(mysql_query("SELECT `url` FROM `dc_files` WHERE `id`='$f';"),0);
  $gdata=mysql_result(mysql_query("SELECT `url` FROM `dc_dir` WHERE `id`='$d';"),0);

  $url=$gdata.'/'.$fdata.'/'.$data[url];
 //записываем файл на диск
  $ft=fopen($url,'a+');
  fwrite($ft,file_get_contents($_FILES[userfile][tmp_name]));
  fclose($ft);
 //генерируем jad-файл
$pathinfo=pathinfo($url);
$type=$pathinfo[extension];
if($type=='jar'){
include $_SERVER[DOCUMENT_ROOT].'/system/lib/pclzip.lib.php';
	$open = 'META-INF/MANIFEST.MF';
	$zip = new PclZip($url);
	$content = $zip->extract(PCLZIP_OPT_BY_NAME,$open,PCLZIP_OPT_EXTRACT_AS_STRING);
   $jad=$content[0]['content']."
MIDlet-Jar-Size: ".$_FILES[userfile][size]."
MIDlet-Jar-URL: /dc/$url
MIDlet-Delete-Confirm: ".$dc[config][MIDletDeleteConfirm]."
MIDlet-Description: ".$dc[config][MIDletDescription];
  //записываем файл на диск
  $ft=fopen(preg_replace('~[.]jar$~iu','.jad',$url),'a+');
  fwrite($ft,$jad);
  fclose($ft);
}
  myheader("/dc/?d=$d&f=$f");

}
 }
$fldata=@mysql_result(mysql_query("SELECT `name` FROM `dc_files` WHERE `id`='$_GET[f]';"),0);

  $page.='<div class="border">'.$fldata.'</div>
<div>
<form enctype="multipart/form-data" action="" method="post">
<div>Выберите файл</div>
<div><input name="userfile" type="file" size="140"/></div>
<div>Название</div>
<div>';
include 'namer.php';
$page.='Модель телефона
<input type="text" name="model" size="30"/></div>
<div style="color:#CC0000;">'.$err.'</div>
<div><input type="hidden" name="new" /></div>
<div><input type="submit" name="go" value="Добавить" /></div>
</form>
</div>';
break;



}




include '../system/pagegen.php';
?>