예제 #1
0
 public function actionUpload()
 {
     include __DIR__ . "./../uploader/Uploader.php";
     $upload_dir = \Yii::$app->getModule("file")->getStorageDir();
     $uploader = new \FileUpload('uploadfile');
     $fileModel = new File();
     $realName = $_GET["uploadfile"];
     // Handle the upload
     $isUplaoded = $uploader->handleUpload($upload_dir);
     $result = false;
     $errorMsg = '';
     if ($isUplaoded) {
         $fileModel = new File();
         $fileModel->setAttribute("real_name", $realName);
         $fileModel->setAttribute("name_on_server", $uploader->getSavedFileName());
         $fileModel->setAttribute("size", $uploader->getFileSize());
         if (!$fileModel->save()) {
             $uploader->rollBack();
             $errorMsg = "Entity save error";
         } else {
             if (!empty($_GET["relateTo"])) {
                 if (!$fileModel->linkWith($_GET["relateTo"])) {
                     $uploader->rollBack();
                     $fileModel->delete();
                     $errorMsg = "Entity link error";
                 } else {
                     $result = true;
                 }
             } else {
                 $result = true;
             }
         }
     } else {
         $errorMsg = $uploader->getErrorMsg();
     }
     if ($result) {
         echo json_encode(array('success' => true));
     } else {
         exit(json_encode(['success' => false, 'msg' => $errorMsg]));
     }
 }
예제 #2
0
    } else {
        require '/opt/nginx/html/vendor/upload.php';
        $upload_directory = '/opt/nginx/html/public/uploads/subs';
        $allowed_extensions = array('srt');
        $max_size = 1048576;
        $uploader = new FileUpload('file');
        $ext = $uploader->getExtension();
        if (empty($ext)) {
            $response = Response::json(array('result' => false, 'location' => false, 'error' => 'Invalid file type.'));
            $response->header('Content-Type', 'application/json');
            return $response;
        }
        $filename = uniqid(uniqid(), true) . '.' . $ext;
        $uploader->newFileName = $filename;
        $uploader->sizeLimit = $max_size;
        $result = $uploader->handleUpload($upload_directory, $allowed_extensions);
        $errors = $uploader->getErrorMsg();
        if (!empty($errors)) {
            $response = Response::json(array('result' => false, 'location' => false, 'error' => $uploader->getErrorMsg()));
            $response->header('Content-Type', 'application/json');
            return $response;
        }
        $response = Response::json(array('result' => true, 'type' => 'subs_file', 'data' => URL::to('/uploads/subs') . '/' . $filename));
        $response->header('Content-Type', 'application/json');
        return $response;
    }
});
Route::get('upload', function () {
    if (Auth::guest()) {
    } else {
        return View::make('widgets.upload');
예제 #3
0
<?php

include_once "config.php";
require dirname(__FILE__) . '/Class/Uploader.php';
// Directory where we're storing uploaded images
// Remember to set correct permissions or it won't work
$upload_dir = IMAGEDEVICES;
$valid_extensions = array('gif', 'png', 'jpeg', 'jpg');
$uploader = new FileUpload('uploadfile');
// Handle the upload
$result = $uploader->handleUpload($upload_dir);
if (!$result) {
    exit(json_encode(array('success' => false, 'msg' => $uploader->getErrorMsg())));
}
echo json_encode(array('success' => true));
예제 #4
0
<?php

require 'Uploader.php';
//try to get the directory from the request
$dir = htmlspecialchars($_GET["dir"]);
//if it is null
if ($dir === null || $dir === "") {
    echo json_encode(array('success' => false, 'msg' => $Upload->getErrorMsg()));
    return;
} else {
    if ($dir === "files") {
        $upload_dir = '././Content/files/';
        //$valid_extensions = array('adi', 'txt', 'cabrillo.txt', 'log', 'cbr');
    } else {
        echo json_encode(array('success' => false, 'msg' => $Upload->getErrorMsg()));
        return;
    }
}
$Upload = new FileUpload('uploadfile');
$ext = $Upload->getExtension();
// Get the extension of the uploaded file
$time = time();
$Upload->newFileName = $time . '.' . $ext;
//$result = $Upload->handleUpload($upload_dir, $valid_extensions);
$result = $Upload->handleUpload($upload_dir);
if (!$result) {
    echo json_encode(array('success' => false, 'msg' => $Upload->getErrorMsg()));
} else {
    echo json_encode(array('success' => true, 'file' => $Upload->getFileName(), 'timestamp' => $time));
}
예제 #5
0
mysql_query('SET NAMES utf8');
//mysql_query('SET TIME_ZONE=\'+04:00\'');
// Mass import offers from XLSX file
if ($_REQUEST['ajax_upload_offers'] != '') {
    // Check CSRF key
    $arr_request_headers = getallheaders();
    if ($arr_request_headers['Authorization'] != CSRF_KEY) {
        echo "Wrong access key";
        exit;
    }
    require_once _TRACK_SHOW_COMMON_PATH . '/lib/uploader/uploader.php';
    $upload_dir = ini_get('upload_tmp_dir') ? ini_get('upload_tmp_dir') : sys_get_temp_dir();
    $valid_extensions = array('xlsx');
    $Upload = new FileUpload('ajax_upload_offers');
    $Upload->newFileName = 'offers.xlsx';
    $result = $Upload->handleUpload($upload_dir, $valid_extensions);
    if (!$result) {
        echo json_encode(array('success' => false, 'msg' => $Upload->getErrorMsg()));
    } else {
        require_once _TRACK_SHOW_COMMON_PATH . '/lib/excel-reader/excel_reader.php';
        require_once _TRACK_SHOW_COMMON_PATH . '/lib/excel-reader/SpreadsheetReader.php';
        $reader = new SpreadsheetReader($upload_dir . '/' . $Upload->getFileName());
        $i = 0;
        foreach ($reader as $xls_row) {
            // Skip row with column names
            if ($i++ == 0) {
                continue;
            }
            $category_id = 0;
            // Category is set
            if (isset($xls_row[3])) {
예제 #6
0
$allowed_extensions = array("gif", "jpg", "jpeg", "png");
// Directory where we're storing uploaded images
$upload_dir = './upload_files';
$upload_name = 'file_' . date("Y-m-d_His.");
if (isset($_GET['file_tree'])) {
    include dirname(__FILE__) . "/extras/php_file_tree.php";
    die(php_file_tree($upload_dir, "javascript:shoWImg('[link]',[id])", $allowed_extensions));
}
if (isset($_GET['uploadfile'])) {
    require dirname(__FILE__) . '/extras/Uploader.php';
    $Upload = new FileUpload('uploadfile');
    $ext = $Upload->getExtension();
    // Get the extension of the uploaded file
    $Upload->newFileName = $upload_name . $ext;
    $result = $Upload->handleUpload($upload_dir, $allowed_extensions);
    if (!$result) {
        die(json_encode(array('success' => false, 'msg' => $Upload->getErrorMsg())));
    } else {
        die(json_encode(array('success' => true, 'FileName' => $Upload->getFileName(), 'Size' => $Upload->getFileSize(), 'SavedFile' => $Upload->getSavedFile(), 'Extension' => $Upload->getExtension())));
    }
}
?>
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>تحميل الملفات</title>
	
    <link href="./assets/css/bootstrap.min.css" rel="stylesheet">
예제 #7
0
파일: dashboard.php 프로젝트: ram-1501/rs
 function upload_car($id = 0)
 {
     $this->load->library('FileUpload');
     $upload_dir = 'assets/uploads/cars/';
     $uploader = new FileUpload('uploadfile');
     // Handle the upload
     $result = $uploader->handleUpload($upload_dir);
     if (!$result) {
         exit(json_encode(array('success' => false, 'msg' => $uploader->getErrorMsg())));
     }
     $update = array('img_name' => $uploader->getFileName());
     $this->car_model->update(array('id' => $id), $update);
     echo json_encode(array('success' => true, 'fname' => $uploader->getFileName()));
     exit;
 }
예제 #8
0
<?php

require 'Uploader.php';
$uploads_path = "../../../uploads";
$entries_path = "/at-entries";
if (!file_exists($uploads_path)) {
    mkdir($uploads_path);
}
if (!file_exists($uploads_path . $entries_path)) {
    mkdir($uploads_path . $entries_path);
}
if (!file_exists($uploads_path . $entries_path . "/.htaccess")) {
    /* add htaccess file to secure entry upload folder */
    file_put_contents($uploads_path . $entries_path . "/.htaccess", "order deny,allow\ndeny from all");
}
$uploader = new FileUpload('uploadFile');
//$result = $uploader->handleUpload($user_round_path . "/");
$result = $uploader->handleUpload($uploads_path . $entries_path . "/");
if (!$result) {
    echo json_encode(array('success' => false, 'msg' => $uploader->getErrorMsg()));
} else {
    echo json_encode(array('success' => true, 'file' => $uploader->getFileName()));
}
예제 #9
0
<?php

require_once '../Simple-Ajax-Uploader/extras/Uploader.php';
$uploader = new FileUpload('imgfile');
$result = $uploader->handleUpload('uploadDir/');
if (!$result) {
    echo json_encode(array('success' => false, 'msg' => $uploader->getErrorMsg()));
} else {
    echo json_encode(array('success' => true, 'file' => $uploader->getFileName()));
}
예제 #10
0
 public function uploadFile()
 {
     $requestsPerHour = 60;
     $key = sprintf('api:%s', Request::getClientIp());
     $get_data = DB::table('limit')->where('ip', $key)->first();
     if (isset($get_data->ip)) {
         $count = $get_data->count;
         $count++;
         DB::table('limit')->where('ip', $key)->update(array('count' => $count));
     } else {
         DB::table('limit')->insert(array('user_id' => Auth::user()->id, 'ip' => $key, 'count' => 0));
     }
     $count = UserMedia::where('user_id', '=', Auth::user()->id)->where('is_deleted', '=', '0')->where('cat', '=', '1')->count();
     //if($count >= 2 && Auth::user()->category_id == 1){
     //	$response = Response::json(array('result'=>false, 'location' => false,'error'=>'Free accounts are only allowed 2 torrents per account.' ));
     //	$response->header('Content-Type', 'application/json');
     //	return $response;
     //}
     $user_media = UserMedia::where('user_id', '=', Auth::user()->id)->where('is_deleted', '=', '0')->get();
     if (count($user_media) != 0) {
         $uma = array();
         foreach ($user_media as $um) {
             array_push($uma, $um->media_id);
         }
         $media_count = Media::whereIn('id', $uma)->where('state', '!=', 'done')->where('state', '!=', 'max_pause')->where('state', '!=', 'failed')->where('state', '!=', 'process')->where('state', '!=', 'stop')->count();
         if ($media_count >= 1 && Auth::user()->category_id == 1) {
             $response = Response::json(array('result' => false, 'location' => false, 'error' => 'Free accounts are only allowed 1 active torrent per account.'));
             $response->header('Content-Type', 'application/json');
             return $response;
         }
         if ($media_count >= 10) {
             $response = Response::json(array('result' => false, 'location' => false, 'error' => 'Your account is only allowed 10 active torrents.'));
             $response->header('Content-Type', 'application/json');
             return $response;
         }
     }
     if (Auth::user()->category_id == 1) {
         $status = true;
         $useage = Auth::user()->used_bytes;
         if ($useage > Auth::user()->avl_bytes) {
             $status = false;
         }
         if (Auth::user()->avl_bytes - $useage < 104857600) {
             $status = false;
         }
         date_default_timezone_set('Pacific/Auckland');
         $ip_date = date("Y-m-d");
         $ip_bytes = DataIp::where('ip', '=', $_SERVER['REMOTE_ADDR'])->where('date', '=', $ip_date)->sum('bytes');
         if (1073741824 - $ip_bytes < 104857600) {
             $status = false;
         }
         if (!$status) {
             $response = Response::json(array('result' => false, 'location' => false, 'error' => 'Low bandwidth left on your account. Upgrade your account to premium.'));
             $response->header('Content-Type', 'application/json');
             return $response;
         }
     }
     require '/opt/nginx/html/vendor/upload.php';
     $upload_directory = '/opt/nginx/html/public/cache/tmp';
     $allowed_extensions = array('torrent');
     $max_size = 1048576;
     $uploader = new FileUpload('file');
     $ext = $uploader->getExtension();
     if (empty($ext)) {
         $response = Response::json(array('result' => false, 'location' => false, 'error' => 'Invalid file type.'));
         $response->header('Content-Type', 'application/json');
         return $response;
     }
     $filename = uniqid(uniqid(), true) . '.' . $ext;
     $uploader->newFileName = $filename;
     $uploader->sizeLimit = $max_size;
     $result = $uploader->handleUpload($upload_directory, $allowed_extensions);
     $errors = $uploader->getErrorMsg();
     if (!empty($errors)) {
         $response = Response::json(array('result' => false, 'location' => false, 'error' => $uploader->getErrorMsg()));
         $response->header('Content-Type', 'application/json');
         return $response;
     }
     $file = $uploader->getSavedFile();
     $url = 'http://s01.okaydrive.com/rt/php/addtorrent2.php';
     $myvars = 'torrents_start_stopped=1&url=https://okaydrive.com/cache/tmp/' . $filename;
     $ch = curl_init($url);
     $username = '******';
     $password = '******';
     curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
     curl_setopt($ch, CURLOPT_POST, 1);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $myvars);
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
     curl_setopt($ch, CURLOPT_HEADER, 0);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     $response = curl_exec($ch);
     $json = json_decode($response, true);
     $uni_id = '';
     if ($json["result"] == "success") {
         $hash = $json["hash"];
         $mediaexist = Media::where('hash', '=', $hash)->first();
         if (isset($mediaexist->id)) {
             if ($mediaexist->state == 'done' || $mediaexist->state == 'failed') {
                 $url = 'http://s01.okaydrive.com/rt/plugins/httprpc/action.php';
                 $myvars = 'mode=remove&hash=' . $mediaexist->hash;
                 $ch = curl_init($url);
                 $username = '******';
                 $password = '******';
                 curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
                 curl_setopt($ch, CURLOPT_POST, 1);
                 curl_setopt($ch, CURLOPT_POSTFIELDS, $myvars);
                 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
                 curl_setopt($ch, CURLOPT_HEADER, 0);
                 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
                 curl_setopt($ch, CURLOPT_TIMEOUT, 4);
                 //timeout in seconds
                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                 $response = curl_exec($ch);
                 $removed = json_decode($response, true);
             }
             $userHasMedia = UserMedia::where('user_id', '=', Auth::user()->id)->where('media_id', '=', $mediaexist->id)->first();
             if (!isset($userHasMedia->id)) {
                 if ($mediaexist->size > Auth::user()->category()->max_add) {
                     $response = Response::json(array('result' => false, 'location' => false, 'error' => 'Max torrent size allowed for Free accounts reached.'));
                     $response->header('Content-Type', 'application/json');
                     return $response;
                 }
                 if ($mediaexist->state == 'max_pause') {
                     $mediaexist->state = 'put_pause';
                     $mediaexist->save();
                 }
                 if ($mediaexist->state == 'fail_free' && $mediaexist->user_id != Auth::user()->user_id) {
                     $mediaexist->state = 'put_pause';
                     $mediaexist->save();
                 }
                 if ($mediaexist->state == 'delete') {
                     $mediaexist->state = 'put_pause';
                     $mediaexist->save();
                 }
                 $newMedia = new UserMedia();
                 $newMedia->user_id = Auth::user()->id;
                 $newMedia->cat = Auth::user()->category_id;
                 $newMedia->media_id = $mediaexist->id;
                 $newMedia->uni_id = uniqid(rand(), true);
                 $newMedia->save();
                 $uni_id = $newMedia->uni_id;
                 $res = 'cache';
             } else {
                 if ($mediaexist->state == 'max_pause') {
                     $mediaexist->state = 'put_pause';
                     $mediaexist->save();
                 }
                 if ($mediaexist->state == 'fail_free' && $mediaexist->user_id != Auth::user()->user_id) {
                     $mediaexist->state = 'put_pause';
                     $mediaexist->save();
                 }
                 if ($mediaexist->state == 'delete') {
                     $mediaexist->state = 'put_pause';
                     $mediaexist->save();
                 }
                 if ($userHasMedia->is_deleted) {
                     $userHasMedia->is_deleted = false;
                     $userHasMedia->save();
                 }
                 $uni_id = $userHasMedia->uni_id;
                 $res = 'has';
             }
         } else {
             sleep(4);
             $url = 'http://s01.okaydrive.com/rt/plugins/httprpc/action.php';
             $myvars = 'mode=info&hash=' . $hash;
             $ch = curl_init($url);
             $username = '******';
             $password = '******';
             curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
             curl_setopt($ch, CURLOPT_POST, 1);
             curl_setopt($ch, CURLOPT_POSTFIELDS, $myvars);
             curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
             curl_setopt($ch, CURLOPT_HEADER, 0);
             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
             $response = curl_exec($ch);
             $torrent_info = json_decode($response, true);
             if (empty($torrent_info[0]) || !isset($torrent_info[0])) {
                 $torrent_info[0] = $hash;
             }
             $inputTorrent["hash"] = $hash;
             $inputTorrent["title"] = $torrent_info[0];
             $inputTorrent["state"] = 'put_pause';
             $inputTorrent["user_id"] = Auth::user()->id;
             $inputTorrent["source"] = 'https://okaydrive.com/cache/tmp/' . $filename;
             $inputTorrent["cat"] = Auth::user()->category_id;
             $new_media = $this->media->create($inputTorrent);
             $newMedia = new UserMedia();
             $newMedia->user_id = Auth::user()->id;
             $newMedia->cat = Auth::user()->category_id;
             $newMedia->media_id = $new_media->id;
             $newMedia->uni_id = uniqid(rand(), true);
             $newMedia->save();
             $uni_id = $newMedia->uni_id;
             sleep(1);
             $url = 'http://s01.okaydrive.com/rt/plugins/httprpc/action.php';
             $myvars = 'mode=fls&hash=' . $hash;
             $ch = curl_init($url);
             $username = '******';
             $password = '******';
             curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
             curl_setopt($ch, CURLOPT_POST, 1);
             curl_setopt($ch, CURLOPT_POSTFIELDS, $myvars);
             curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
             curl_setopt($ch, CURLOPT_HEADER, 0);
             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
             $response = curl_exec($ch);
             $torrent_files = json_decode($response, true);
             $files = $torrent_files;
             $totalSize = $torrent_info[1];
             if (!empty($totalSize)) {
                 if ($totalSize > Auth::user()->category()->max_add) {
                     $newMedia->delete();
                     $new_media->delete();
                     $response = Response::json(array('result' => false, 'location' => false, 'error' => 'Max torrent size allowed for Free accounts reached.'));
                     $response->header('Content-Type', 'application/json');
                     return $response;
                 } else {
                     $new_media["size"] = $totalSize;
                 }
             }
             if (!empty($files) && !empty($torrent_info[2])) {
                 $ignore_first_folder = true;
                 $id = 1;
                 $paths = array();
                 foreach ($files as $file) {
                     if ($file[0] != $hash . '.meta') {
                         if ($torrent_info[3] != 0) {
                             $fd = parse_url(basename($torrent_info[2]) . '/' . $file[0]);
                         } else {
                             $fd = parse_url($file[0]);
                         }
                         $path_parts = pathinfo($fd['path']);
                         $dirs = explode("/", $path_parts['dirname']);
                         for ($i = 0; $i <= count($dirs); $i++) {
                             if (isset($dirs[$i]) && $dirs[$i] != '.') {
                                 $full_path = $this->fullpath($dirs, $i);
                                 if (array_key_exists($full_path, $paths)) {
                                 } else {
                                     $paths[$full_path]["id"] = $id;
                                     $paths[$full_path]["name"] = $dirs[$i];
                                     $prev_path = $this->fullpath($dirs, $i - 1);
                                     if (!isset($paths[$prev_path]["id"])) {
                                         $pv_p = 0;
                                     } else {
                                         $pv_p = $paths[$prev_path]["id"];
                                     }
                                     $new_folder = new MediaFlag();
                                     $new_folder->name = $dirs[$i];
                                     $new_folder->folder_id = $id;
                                     $new_folder->in = $pv_p;
                                     $new_folder->media_id = $new_media->id;
                                     $new_folder->save();
                                     $id++;
                                 }
                             } elseif (isset($dirs[$i]) && $dirs[$i] == '.') {
                                 //echo $path_parts["basename"].' 0';
                                 $new_file = new MediaLike();
                                 if ($torrent_info[3] != 0) {
                                     $new_file->path = basename($torrent_info[2]) . '/' . $file[0];
                                 } else {
                                     $new_file->path = $file[0];
                                 }
                                 $new_file->type = $this->getExt($new_file->path);
                                 $new_file->name = $path_parts["basename"];
                                 $new_file->in = 0;
                                 $new_file->size = $file[3];
                                 $new_file->media_id = $new_media->id;
                                 //$like->user_id = Auth::user()->id;
                                 $new_file->save();
                                 $ignore_first_folder = false;
                             } else {
                                 if (isset($dirs[$i - 1]) && $dirs[$i - 1] != '.') {
                                     $full_path = $this->fullpath($dirs, $i - 1);
                                     //echo $path_parts["basename"].' '.$paths[$full_path]["id"];
                                     $new_file = new MediaLike();
                                     if ($torrent_info[3] != 0) {
                                         $new_file->path = basename($torrent_info[2]) . '/' . $file[0];
                                     } else {
                                         $new_file->path = $file[0];
                                     }
                                     $new_file->type = $this->getExt($new_file->path);
                                     $new_file->name = $path_parts["basename"];
                                     $new_file->in = $paths[$full_path]["id"];
                                     $new_file->size = $file[3];
                                     $new_file->media_id = $new_media->id;
                                     //$like->user_id = Auth::user()->id;
                                     $new_file->save();
                                 }
                             }
                         }
                     }
                 }
                 $new_media["ignore_first"] = $ignore_first_folder;
             }
             $new_media->save();
             $res = 'added';
         }
     } else {
         $error = "Could not add the torrent, please check your input.";
     }
     //$new_media = $this->media->create($input);
     if (isset($error)) {
         $response = Response::json(array('result' => false, 'location' => false, 'error' => $error));
         $response->header('Content-Type', 'application/json');
         return $response;
     } else {
         $response = Response::json(array('result' => true, 'location' => '/torrent/' . $uni_id, 'torrent' => $res));
         $response->header('Content-Type', 'application/json');
         return $response;
     }
 }