Просмотр файла ViPTurbo 3.0/files/index.php

Размер файла: 17.61Kb
<?
require('../include/path.php');

if($config["accload"]==1 || (isset($user) && ($rank&255)==255)){

if($config["accloadreg"]!=1 || isset($user)){


$c=(isset($_GET['c']) && !preg_match('/[^0-9]/',$_GET['c']))?$_GET['c']:1;

$result=sql_query('SELECT cat_parent_id,cat_name,auth_upload,cat_perpage,file_perpage FROM `'.PRE.'dc_categories` WHERE cat_id='.$c);
if($row=mysql_fetch_assoc($result)){
$cat=$row;

function unlink_thumbnail($name,$exp){
 $exps=array('jpg','gif','png');
 foreach($exps as $val){ 
  if(file_exists($GLOBALS['path'].'/files/thumbnails/'.$exp.'/'.$name.'.'.$val)){
   unlink($GLOBALS['path'].'/files/thumbnails/'.$exp.'/'.$name.'.'.$val);
   return true;
  }
} return false; }

function get_element($var,$cts){
 foreach($cts as $key=>$val){
   if(array_key_exists($var,$val)) return $val[$var];
 }
 return 0;
}

function sum($c=1,$cts){
 $count=0;
 if(isset($cts[$c])){
 foreach($cts[$c] as $key=>$value){
     $count+=sum($key,$cts);
 }
 }else $count+=get_element($c,$cts);
return $count;
}

function put_content(){
global $path,$user,$rank,$cat,$c;

$pc=(isset($_GET['pc']) && !preg_match('/[^0-9]/',$_GET['pc']))?$_GET['pc']:0;
echo '<div class="title">Файлобменник</div>';

if(isset($_POST['newcat']) && ($rank&2)==2){
  if(isset($_POST['title']) && $_POST['title']!=''){
    $title=filtr($_POST['title']);
  }else{ $error[]='- Название каталога отсутствует<br><br>'; }
  $desc=(isset($_POST['desc']))?filtr($_POST['desc']):'';
  if(!isset($error)){
    if($result=sql_query('SELECT `cat_order` FROM `'.PRE.'dc_categories` WHERE cat_parent_id ='.$c.' ORDER BY `cat_order` DESC LIMIT 1')){
     if($row=mysql_fetch_assoc($result)){
      $cat_order=$row['cat_order']+10;    
     }else $cat_order=10;
    if(sql_query('INSERT INTO `'.PRE.'dc_categories` (cat_parent_id,cat_order,cat_name,cat_description,file_max_size,auth_upload,files_exp,cat_perpage,file_perpage) VALUES ('.$c.','.$cat_order.',"'.$title.'","'.$desc.'",2097152,2,0,10,10)')){
      $error[]='- Каталог добавлен<br><br>';
    }else $error[]=mysql_error().'<br><br>';
    }else $error[]=mysql_error().'<br><br>';
  }
}elseif(isset($_GET['cdel']) && !preg_match('/[^0-9]/',$_GET['cdel']) && ($rank&2)==2){
           
  if($result=sql_query('SELECT COUNT(cat_id) FROM `'.PRE.'dc_categories` WHERE cat_parent_id='.$_GET['cdel'])){
    $row=mysql_fetch_row($result);
    if(!$row[0]){ 
      if($result=sql_query('SELECT COUNT(file_id) FROM `'.PRE.'dc_files` WHERE cat_id='.$_GET['cdel'])){
        $row=mysql_fetch_row($result);
        if(!$row[0]){
          if(sql_query('DELETE FROM `'.PRE.'dc_categories` WHERE cat_id='.$_GET['cdel'])){
            $error[]='- Каталог удален<br><br>';
          }else $error[]=mysql_error().'<br><br>';
        }else $error[]='- Каталог содержит файлы<br><br>'; 
      }else $error[]=mysql_error().'<br><br>';
    }else $error[]='- Каталог содержит вложенные каталоги<br><br>';
  }else $error[]=mysql_error().'<br><br>';

}elseif(isset($_GET['fdel']) && !preg_match('/[^0-9]/',$_GET['fdel']) && ($rank&2)==2){

  if($result=sql_query('SELECT cat_id,file_name,file_exp,count_com FROM `'.PRE.'dc_files` WHERE file_id='.$_GET['fdel'])){
   if($row=mysql_fetch_assoc($result)){

     if(!sql_query('DELETE FROM `'.PRE.'dc_files` WHERE file_id='.$_GET['fdel'])){ $error[]=mysql_error().'<br><br>'; }
       
       if($row['count_com']){ if(!sql_query('DELETE FROM `'.PRE.'dc_comments` WHERE file_id='.$_GET['fdel'])){ $error[]=mysql_error().'<br><br>'; } }

       if(file_exists($path.'/files/'.$row['file_exp'].'/'.$row['file_name'].'.'.$row['file_exp'])){
         unlink($path.'/files/'.$row['file_exp'].'/'.$row['file_name'].'.'.$row['file_exp']);
       }
  
       unlink_thumbnail($row['file_name'],$row['file_exp']);
       
       $error[]='- Файл удален<br><br>';
     }else $error[]='- Такой файл не найден в базе';
   }else $error[]=mysql_error().'<br><br>';
}

if(isset($_GET['move']) && isset($_GET['moveid']) && !preg_match('/[^0-9]/',$_GET['moveid']) && (($rank&2)==2)){
 
$number=($_GET['move']=="up")?-15:15;
if(sql_query('UPDATE `'.PRE.'dc_categories` SET cat_order=cat_order+'.$number.' WHERE cat_id='.$_GET['moveid'])){

 if($result=sql_query('SELECT cat_id FROM `'.PRE.'dc_categories` WHERE cat_parent_id='.$c.' ORDER BY cat_order ASC')){
  $i=10;
  while($row=mysql_fetch_assoc($result)){
   sql_query('UPDATE `'.PRE.'dc_categories` SET cat_order='.$i.' WHERE cat_id='.$row['cat_id']);
   $i+=10;
  }
 }else $error[]=mysql_error().'<br><br>';
}else $error[]=mysql_error().'<br><br>';
}


if(isset($error)) { echo implode($error); } 


$result=sql_query('SELECT COUNT(cat_id) FROM `'.PRE.'dc_categories` WHERE cat_parent_id='.$c) or die(mysql_error());
$row=mysql_fetch_row($result);

if($row[0]){
   
require($path.'/manage/ctype.php');

//--запрос количества файлов в каталогах--

$cfiles=array();
$result=sql_query('SELECT cat_id,COUNT(file_id) FROM `'.PRE.'dc_files` GROUP BY cat_id') or die(mysql_error());
while($row=mysql_fetch_row($result)){
 $cfiles[$row[0]]=$row[1];
}
$result=sql_query('SELECT cat_id,cat_parent_id FROM `'.PRE.'dc_categories`') or die(mysql_error());
while($row=mysql_fetch_assoc($result)){
 $cts[$row['cat_parent_id']][$row['cat_id']]=(isset($cfiles[$row['cat_id']]))?$cfiles[$row['cat_id']]:0;
}

//-----------------------------------------
 $pagCoun=ceil($row[0]/$cat['cat_perpage']);
 $interv=5; $sint=($interv-1)/2; $limn=$sint; $lime=$pagCoun-$sint;
 if($result=sql_query('SELECT cat_id,cat_name,cat_description,files_exp FROM `'.PRE.'dc_categories` WHERE cat_parent_id='.$c.' ORDER BY cat_order ASC LIMIT '.($cat['cat_perpage']*$pc).','.$cat['cat_perpage'])){
  while($row=mysql_fetch_assoc($result)){
    $cats[]=$row;
  }
 } else echo mysql_error().'<br><br>'; 



foreach($cats as $val){
  echo '<a href="?c='.$val['cat_id'].'&amp;'.SID.'">'.htmlspecialchars(bbc($val['cat_name'])).'</a> ';
  echo '('.sum($val['cat_id'],$cts).')<br>';
  if(($rank&2)==2) echo '<small><a href="index.php?move=down&amp;moveid='.$val['cat_id'].'&amp;c='.$c.'&amp;'.SID.'">&darr;</a> <a href="index.php?move=up&amp;moveid='.$val['cat_id'].'&amp;c='.$c.'&amp;'.SID.'">&uarr;</a></small><br>';
  if($val['cat_description']){ echo '<small>'.htmlspecialchars(bbc($val['cat_description'])).'</small><br>'; }
  
  $i=0;$tmp=false;
  foreach($ctype as $key=>$value){
  if(($val['files_exp']&pow(2,$i))==pow(2,$i)){ $tmp.=$key.' ';}
    $i++;
  }
  if($tmp){ echo '<small>Типы файлов: '.$tmp.'</small><br>'; }
  if(($rank&2)==2){ 
    echo '<small><a href="dirsetup.php?id='.$val['cat_id'].'&amp;c='.$c.'&amp;'.SID.'">настроить</a> ';
    echo '<a href="index.php?cdel='.$val['cat_id'].'&amp;c='.$c.'&amp;'.SID.'">удалить</a></small><br><br>';
  }
 }

// Постраничный вывод каталогов
if($cat['cat_perpage'] && $pagCoun>1){ echo'<div class="nav">Стр ';
if($pc>0) {echo '<a href="?c='.$c.'&amp;p='.($pc-1).'&amp;'.SID.'">&lt;&lt;</a> '; }
if($interv>=$pagCoun) { for($i=1;$i<=$pagCoun;$i++) { if (($i-1)==$pc) { echo $i.' ';} else { echo '<a href="?c='.$c.'&amp;pc='.($i-1).'&amp;'.SID.'">'.$i.'</a> '; } } 
} else {
if($pc<=$limn) { for($i=1;$i<=$interv;$i++) { if (($i-1)==$pc) { echo $i.' ';} else { echo '<a href="?c='.$c.'&amp;pc='.($i-1).'&amp;'.SID.'">'.$i.'</a> '; }}}
elseif($pc>=$lime) { for($i=$pagCoun-$interv+1;$i<=$pagCoun;$i++) { if (($i-1)==$pc) { echo $i.' ';} else { echo '<a href="?c='.$c.'&amp;pc='.($i-1).'&amp;'.SID.'">'.$i.'</a> '; }} }
else { for($i=$pc+1-$sint;$i<=$pc+1+$sint;$i++) { if (($i-1)==$pc) { echo $i.' ';} else { echo '<a href="?c='.$c.'&amp;pc='.($i-1).'&amp;'.SID.'">'.$i.'</a> '; }} }
}
if(($i-2)>$pc) { echo '<a href="?c='.$c.'&amp;pc='.($pc+1).'&amp;'.SID.'">&gt;&gt;</a> '; }
echo'</div>'; }
//---------------

if(($rank&2)==2){ 
// ФОРМА ДОБАВЛЕНИЯ КАТЕГОРИИ 
  echo '<div class="header">Новая категория</div>';  
  echo'<form action="?c='.$c.'&amp;'.SID.'" method="post" accept-charset="utf-8">';
  echo'Название:<br><input type="text" maxlength="128" name="title" class="text" value="'.((isset($_POST['title']) && isset($error))?htmlspecialchars($_POST['title']):'').'"><br>';
  echo'Описание:<br><textarea cols="30" rows="5" name="desc">'.((isset($_POST['desc']) && isset($error))?htmlspecialchars($_POST['desc']):'').'</textarea><br>';
  echo'<input type="submit" class="button" name="newcat" value="Добавить">';
  echo'</form>';  
}
      
echo '<br><a href="search.php?c='.$c.'&amp;'.SID.'">Поиск</a>';
if(($rank&2)==2){
 echo '<br><a href="unchecked.php?'.SID.'">Не проверенные</a>';
 echo '<br><a href="dirsetup.php?id='.$c.'&amp;inside&amp;'.SID.'">Настроить каталог</a> ';
}
if($c>1){ echo '<div class="nav"><a href="index.php?c='.$cat['cat_parent_id'].'&amp;'.SID.'">назад</a></div>'; }
      
echo '<div class="nav"><a href="../index.php?'.SID.'">на главную</a></div>';

}else{

$result=sql_query('SELECT COUNT(file_id) FROM `'.PRE.'dc_files` WHERE cat_id='.$c) or die(mysql_error());
$row=mysql_fetch_row($result);  
if($row[0]){


  $pc=(isset($_GET['pc']) && !preg_match('/[^0-9]/',$_GET['pc']))?$_GET['pc']:0;
  $p=(isset($_GET['p']) && !preg_match('/[^0-9]/',$_GET['p']))?$_GET['p']:0;
           
       
  if($c>1) echo '<div class="header">'.bbc($cat['cat_name']).'</div>';
 
  $srt_fields=array('file_date','file_size','file_downloads','count_com');
  $srt_key=(isset($_GET['srt']) && array_key_exists($_GET['srt'],$srt_fields))?$_GET['srt']:0;
   

   $pagCoun=ceil($row[0]/$cat['file_perpage']);
   $interv=5; $sint=($interv-1)/2; $limn=$sint; $lime=$pagCoun-$sint;
   if($result=sql_query("SELECT file_id,user,file_name,file_exp,file_title,file_description,DATE_FORMAT(file_date,'%d.%m.%Y') as date,file_size,file_downloads,count_com,admit FROM `".PRE."dc_files` WHERE cat_id=".$c." ORDER BY ".$srt_fields[$srt_key]." ".((isset($_GET['back']))?"ASC":"DESC")." LIMIT ".($cat['file_perpage']*$p).",".$cat['file_perpage'])){

     while($row=mysql_fetch_assoc($result)){
      
      echo '<div class="header"><a href="'.$row['file_id'].'.'.$row['file_exp'].'">'.bbc($row['file_title']).'</a><br><small>Тип: '.$row['file_exp'].'</small></div>';

      if(preview($row['file_exp'])){
        echo '<img src="/files/thumbnails/'.$row['file_name'].'.'.$row['file_exp'].'" alt=""/>';
      }elseif(file_exists($path.'/files/thumbnails/'.$row['file_exp'].'/'.$row['file_name'].'.jpg')){
        echo '<img src="/files/thumbnails/'.$row['file_exp'].'/'.$row['file_name'].'.jpg" alt=""/>';
      }elseif(file_exists($path.'/files/thumbnails/'.$row['file_exp'].'/'.$row['file_name'].'.gif')){
        echo '<img src="/files/thumbnails/'.$row['file_exp'].'/'.$row['file_name'].'.gif" alt=""/>';
      }elseif(file_exists($path.'/files/thumbnails/'.$row['file_exp'].'/'.$row['file_name'].'.png')){
        echo '<img src="/files/thumbnails/'.$row['file_exp'].'/'.$row['file_name'].'.png" alt=""/>';
      }

      echo '<br><a href="'.$row['file_id'].'.'.$row['file_exp'].'">скачать</a>';
      if($row['file_exp']=='jar' && file_exists($path.'/files/jar/'.$row['file_name'].'.jad')){  echo ' <a href="java/'.$row['file_id'].'.jad">jad</a><br>';  }
      echo '<small>';
      if($row['file_description']){ echo '<br>'.bbc($row['file_description']); }
      echo '<br>Размер: '.round($row['file_size']/1024).' KB';
      echo '<br>Скачано: '.$row['file_downloads'];
      $author=($row['user']);
      echo '<br>Добавил: '.(($author!='Гость')?'<a href="../whois.php?login='.MyEncode($author).'&amp;c='.$c.'&amp;p='.$p.'&amp;'.((isset($_GET['back']))?'back&amp;':'').SID.'">'.$author.'</a>':$author);
      echo '<br>Дата: '.$row['date'];
      if(($rank&2)==2) echo '<br>Статус: '.(($row['admit'])?'проверен':'не проверен');
      echo '<br><a href="comments.php?file='.$row['file_id'].'&amp;c='.$c.'&amp;p='.$p.'&amp;'.((isset($_GET['back']))?'back&amp;':'').SID.'">Комментарии</a> ('.$row['count_com'].')';
      if((isset($user) && $user['login']==$row['user'] && $row['admit']!=1) || ($rank&2)==2) echo '<br><a href="index.php?fdel='.$row['file_id'].'&amp;c='.$c.'&amp;p='.$p.'&amp;'.((isset($_GET['back']))?'back&amp;':'').SID.'">удалить</a> <a href="mod.php?id='.$row['file_id'].'&amp;pc='.$pc.'&amp;p='.$p.'&amp;'.((isset($_GET['back']))?'back&amp;':'').SID.'">изменить</a>';
      echo '</small>';
     }
   } else echo mysql_error().'<br><br>';
        

// Постраничный вывод каталогов
if($cat['file_perpage'] && $pagCoun>1){ echo'<div class="nav">Стр ';
if($p>0) {echo '<a href="?c='.$c.'&amp;p='.($p-1).'&amp;srt='.$srt_key.'&amp;'.((isset($_GET['pc']))?'pc='.$_GET['pc'].'&amp;':'').((isset($_GET['back']))?'back&amp;':'').SID.'">&lt;&lt;</a> '; }
if($interv>=$pagCoun) { for($i=1;$i<=$pagCoun;$i++) { if (($i-1)==$p) { echo $i.' ';} else { echo '<a href="?c='.$c.'&amp;p='.($i-1).'&amp;srt='.$srt_key.'&amp;'.((isset($_GET['pc']))?'pc='.$_GET['pc'].'&amp;':'').((isset($_GET['back']))?'back&amp;':'').SID.'">'.$i.'</a> '; } } 
} else {
if($p<=$limn) { for($i=1;$i<=$interv;$i++) { if (($i-1)==$p) { echo $i.' ';} else { echo '<a href="?c='.$c.'&amp;p='.($i-1).'&amp;srt='.$srt_key.'&amp;'.((isset($_GET['pc']))?'pc='.$_GET['pc'].'&amp;':'').((isset($_GET['back']))?'back&amp;':'').SID.'">'.$i.'</a> '; }}}
elseif($p>=$lime) { for($i=$pagCoun-$interv+1;$i<=$pagCoun;$i++) { if (($i-1)==$p) { echo $i.' ';} else { echo '<a href="?c='.$c.'&amp;p='.($i-1).'&amp;srt='.$srt_key.'&amp;'.((isset($_GET['pc']))?'pc='.$_GET['pc'].'&amp;':'').((isset($_GET['back']))?'back&amp;':'').SID.'">'.$i.'</a> '; }} }
else { for($i=$p+1-$sint;$i<=$p+1+$sint;$i++) { if (($i-1)==$p) { echo $i.' ';} else { echo '<a href="?c='.$c.'&amp;p='.($i-1).'&amp;srt='.$srt_key.'&amp;'.((isset($_GET['pc']))?'pc='.$_GET['pc'].'&amp;':'').((isset($_GET['back']))?'back&amp;':'').SID.'">'.$i.'</a> '; }} }
}
if(($i-2)>$p) {echo '<a href="?c='.$c.'&amp;p='.($p+1).'&amp;srt='.$srt_key.'&amp;'.((isset($_GET['pc']))?'pc='.$_GET['pc'].'&amp;':'').((isset($_GET['back']))?'back&amp;':'').SID.'">&gt;&gt;</a> ';}
echo'</div>'; }
//---------------
//}
if($c>1){ echo '<div class="nav"><a href="?c='.$cat['cat_parent_id'].'&amp;'.SID.'">назад</a></div>'; }
echo '<br><br>Сортировать:<br>';
$sort=array('по дате','по размеру','по популярности','по комментариям');
foreach($sort as $key=>$val){
 echo ($srt_key==$key)?'<u>'.$val.'</u><br>':'<a href="?srt='.$key.'&amp;c='.$c.'&amp;p='.$p.'&amp;pc='.$pc.'&amp;'.((isset($_GET['back']))?'back&amp;':'').SID.'">'.$val.'</a><br>';
}

if(isset($_GET['back'])){ echo'<br><a href="?c='.$c.'&amp;p='.$p.'&amp;pc='.$pc.'&amp;srt='.$srt_key.'&amp;'.SID.'">в обратном порядке</a><br>';
}else{ echo'<br><a href="?back&amp;c='.$c.'&amp;p='.$p.'&amp;pc='.$pc.'&amp;srt='.$srt_key.'&amp;'.SID.'">в обратном порядке</a><br>';}

echo '<br><a href="search.php?c='.$c.'&amp;'.SID.'">Поиск</a><br>';
if(($rank&2)==2){
 echo '<br><a href="mancont.php?'.SID.'">Распределение контента</a>';
 echo '<br><a href="unchecked.php?'.SID.'">Непроверенные</a>';
 echo '<br><a href="dirsetup.php?id='.$c.'&amp;inside&amp;'.SID.'">Настроить каталог</a><br><br>';
} 
if(($rank&$cat['auth_upload'])==$cat['auth_upload']){ echo '<br><a href="upload.php?c='.$c.'&amp;'.SID.'">Загрузить</a>'; }

echo '<div class="nav"><a href="../index.php?'.SID.'">на главную</a></div>';

}else{ 
       

echo '- Каталог пустой<br>';

if(($rank&2)==2){

 // ФОРМА ДОБАВЛЕНИЯ КАТЕГОРИИ 
echo '<div class="header">Новая категория</div>';
echo'<form action="index.php?c='.$c.'&amp;'.SID.'" method="post" accept-charset="utf-8">';
echo'Название:<br><input type="text" maxlength="128" name="title" class="text" value="'.((isset($_POST['title']) && isset($error))?htmlspecialchars($_POST['title']):'').'"><br>';
echo'Описание:<br><textarea cols="30" rows="5" name="desc">'.((isset($_POST['desc']) && isset($error))?htmlspecialchars($_POST['desc']):'').'</textarea><br>';
echo'<input type="submit" class="button" name="newcat" value="Добавить">';
echo'</form>';  
}

if($c>1) echo '<div class="nav"><a href="?c='.$cat['cat_parent_id'].'&amp;'.SID.'">назад</a></div>';
if(($rank&2)==2) echo '<a href="dirsetup.php?id='.$c.'&amp;inside&amp;'.SID.'">Настроить каталог</a><br><br>';
if(($rank&$cat['auth_upload'])==$cat['auth_upload']){ echo '<a href="upload.php?c='.$c.'&amp;'.SID.'">Загрузить</a><br>'; }
echo '<div class="nav"><a href="../index.php?'.SID.'">на главную</a></div>';

}         
}
}

}else{
  $link = '3; URL=/';
  function put_content(){
    echo '- Категория не найдена<br><br>';
    echo '<a href="../index.php">далее...</a>';
  }
}


}else{
  $link = '10; URL=/';
  function put_content() {
    echo '- Доступ запрещен незарегистрированным пользователям<br><br>';
    echo '<a href="../index.php">далее...</a>';
  }
}
 
}else{
  $link = '10; URL=/?'.SID;
  function put_content() {
    echo '- Доступ запрещен администрацией сайта<br><br>';
    echo '<a href="../index.php?'.SID.'">далее...</a>';
  }
}

// подключение дизайна
design();?>