View file ViPTurbo 3.0/adminpanel/mancont.php

File size: 7.76Kb
<? exit;
include('../include/path.php');

if(isset($user) && ($rank&128)==128){   // если админ

$dir = (isset($_GET['dir']) && !preg_match('/[^a-z0-9_\/-]/iu',$_GET['dir']))?$_GET['dir']:dirname(dirname($_SERVER['SCRIPT_FILENAME'])); 

// получение каталогов для загрузки
function getAllCat($path){
   
     if(file_exists($path)) { 
        include($path);
     }
     
     if(isset($cat)){
     
       foreach($cat as $key1=>$value1){
       
          foreach($value1 as $key2=>$value2){

             if(!array_key_exists($key2,$cat)){ $temp[$key2]=$cat[$key1][$key2]; }
 
          }
       }
     }
     
if(isset($temp)){ return $temp; }

return false; 
}
$catal=getAllCat($path.'/../database/loads/category.php');


// функция вывода содежимого папок
function browser($path,$dir){
   
   if(file_exists($path.'/manage/ctype.php')) { 
      include($path.'/manage/ctype.php');
   }
   
   $array_file = array(); 
   $array_dir = array();
   
   $opendir = opendir($dir); 

   while ($list_file = readdir($opendir)) {
	
	   $isdir = @is_dir($dir."/".$list_file);
	
	   if ($isdir == true) {
		   
		   if (($list_file != ".") && ($list_file != "..")) { 
			
			array_push($array_dir, $list_file); 
		   }
	   }
	
	   if ($isdir == false) {

		  
		      array_push($array_file, $list_file); 

	   }
    }

    array_multisort ($array_dir, SORT_ASC, SORT_STRING ); 
    array_multisort ($array_file, SORT_ASC, SORT_STRING );
    reset ($array_dir);
    reset ($array_file);

    $temp=array();
    
    foreach($array_dir as $value){
        
        $temp[]= '<a href="mancont.php?dir='.rawurlencode(($dir.'/'.$value)).'&amp;'.SID.'">'.$value.'</a>'; 

     }
     
     foreach($array_file as $value){
        
       $part=explode('.',$value);
	   if(count($part)==2) {
        
           if(array_key_exists($part[1],$ctype)){
              
              $temp[]='<input name="chbox['.$part[0].']" type="checkbox">'.$value.'<input type="hidden" name="fexp['.$part[0].']" value="'.$part[1].'">';
              
           }else{
             
              $temp[]=$value;
           
           }
       }
     }
     
     return $temp;
 
  }
  
  
// обработка POST данных и добавление в базу
if(isset($_POST['fexp']) && isset($_POST['chbox']) && isset($_POST['fcat']) && $catal){
     
     //include($path.'/include/datafunc.php');
     
     if(file_exists($path.'/manage/ctype.php')) { 
        include($path.'/manage/ctype.php');
     }
     if(file_exists($path.'/../database/loads/category.php')) { 
        include($path.'/../database/loads/category.php'); 
     }
      
      foreach ($_POST['chbox'] as $key=>$value){
      
       if(isset($ctype) && array_key_exists(StrToLow($_POST['fexp'][$key]),$ctype)){

       if(!is_dir($path.'/files/'.StrToLow($_POST['fexp'][$key]))){ mkdir($path.'/files/'.StrToLow($_POST['fexp'][$key]),0770); }
         
       if(array_key_exists($_POST['fcat'],$catal)){ // является ли каталог допустимым к загрузке
        
        if(!load_in_base($path.'/../database/loads/base.dat',array(3,StrToLow($key)),array(4,$_POST['fexp'][$key]))){
        
          if(!file_exists($path.'/files/'.StrToLow($_POST['fexp'][$key]).'/'.StrToLow($key).'.'.StrToLow($_POST['fexp'][$key]))){ // если такой файл еще не существет
         
         //копируем в папку с расширением
             if (copy($dir.'/'.$key.'.'.$_POST['fexp'][$key], $path.'/files/'.StrToLow($_POST['fexp'][$key]).'/'.StrToLow($key).'.'.StrToLow($_POST['fexp'][$key]))) {
           
                if(StrToLow($_POST['fexp'][$key])=='jar'){ getJAD($path.'/files/jar/',StrToLow($key)); } // если ява, генерируем jad
           
             if(!file_exists($path.'/../database/loads/base.dat')) {
                create_file($path.'/../database/loads/base.dat','6|1|6|128|4|255|1024|20|10|1|10|10');
             }
           // добавляем в базу
                set_logs($path.'/../database/loads/base.dat',array(1,$_POST['fcat'],StrToLow($key),StrToLow($_POST['fexp'][$key]),StrToLow($key),'',iconv('utf-8','cp1251',$user),time(),'2',filesize($dir.'/'.$key.'.'.$_POST['fexp'][$key]),'0'));
           
                take_cm($cat,$_POST['fcat'],true); // инкремент загрузки
           // удаляем из общей папки
                unlink($dir.'/'.$key.'.'.$_POST['fexp'][$key]); 
            
                $error[]='- Файл '.$key.'.'.$_POST['fexp'][$key].' успешно добавлен<br>'; 
            
         }else{ $error[]='- Ошибка при копировании файла '.$key.'.'.$_POST['fexp'][$key].'<br>'; }         
         
         }else{
         
             if(StrToLow($_POST['fexp'][$key])=='jar'){ getJAD($path.'/files/jar/',StrToLow($key)); } // если ява, генерируем jad
           // добавляем в базу
             if(!file_exists($path.'/../database/loads/base.dat')) {
                create_file($path.'/../database/loads/base.dat','6|1|6|128|4|255|1024|20|10|1|10|10');
             }
             set_logs($path.'/../database/loads/base.dat',array(1,$_POST['fcat'],StrToLow($key),StrToLow($_POST['fexp'][$key]),StrToLow($key),'',iconv('utf-8','cp1251',$user),time(),'2',filesize($dir.'/'.$key.'.'.$_POST['fexp'][$key]),'0'));
             
             take_cm($cat,$_POST['fcat'],true); // инкремент загрузки
             
             $error[]='- Файл '.$key.'.'.$_POST['fexp'][$key].' успешно добавлен<br>';
         }
         
        }else{ $error[]='- Файл '.$key.'.'.$_POST['fexp'][$key].' уже существует в базе<br>'; }
        
       }else{ $error[]='- Не выбран каталог для файлa '.$key.'.'.$_POST['fexp'][$key].'<br>'; }
       
       }else{ $error[]='- Файл '.$key.'.'.$_POST['fexp'][$key].' не может быть загружен. Не прописан Content-type для '.$_POST['fexp'][$key].'<br>'; }
       
          
      }

   }



function put_content(){

 global $path,$catal,$dir,$error;
  
  echo '<div class="title">Распределение контента</div>';
  
  if(isset($error)) { echo implode($error); }
  
  //print_r($dir);
   if(@is_dir(dirname($dir))){ echo '<a href="mancont.php?dir='.rawurlencode(dirname($dir)).'&amp;'.SID.'">..</a><br>'; } 
    
    echo'<form action="mancont.php?dir='.$dir.'&amp;'.SID.'"  method="post" accept-charset="utf-8">';
    
    $temp=array();
    $temp=browser($path,$dir);
  
    foreach($temp as $value){
        
        echo $value.'<br>'; 

    }
    echo '<div class="header" align="center">Добавление файлов</div>';
    //$catal=getAllCat($path.'/../database/loads/category.php');
    echo'Категория:<br><select name="fcat">';
    echo'<option value="no"></option>';
    foreach($catal as $key=>$value){
       $str=get_string($path.'/../database/loads/category.dat',$value,2);
       echo'<option value="'.$key.'">'.iconv('cp1251','utf-8',$str).'</option>';
    }
    echo'</select><br>'; 
    echo'<input type="submit" name="add" class="button" value="Добавить">';
    echo'</form>';

echo '<div class="nav"><a href="index.php?'.SID.'">панель управления</a><br>';
echo '<a href="../?'.SID.'">на главную</a></div>';

}


} else {
         $link = '1; URL=../';
         function put_content() {
                  echo '<a href="../">далее...</a>';
                  }
       }    
    
// подключение дизайна
design();?>