Files
easystream-main/f_modules/m_frontend/m_file/transfer.php
SamiAhmed7777 0b7e2d0a5b feat: Add comprehensive documentation suite and reorganize project structure
- Created complete documentation in docs/ directory
- Added PROJECT_OVERVIEW.md with feature highlights and getting started guide
- Added ARCHITECTURE.md with system design and technical details
- Added SECURITY.md with comprehensive security implementation guide
- Added DEVELOPMENT.md with development workflows and best practices
- Added DEPLOYMENT.md with production deployment instructions
- Added API.md with complete REST API documentation
- Added CONTRIBUTING.md with contribution guidelines
- Added CHANGELOG.md with version history and migration notes
- Reorganized all documentation files into docs/ directory for better organization
- Updated README.md with proper documentation links and quick navigation
- Enhanced project structure with professional documentation standards
2025-10-21 00:39:45 -07:00

72 lines
3.1 KiB
PHP

<?php
/*******************************************************************************************************************
| Software Name : EasyStream
| Software Description : High End YouTube Clone Script with Videos, Shorts, Streams, Images, Audio, Documents, Blogs
| Software Author : (c) Sami Ahmed
|*******************************************************************************************************************
|
|*******************************************************************************************************************
| This source file is subject to the EasyStream Proprietary License Agreement.
|
| By using this software, you acknowledge having read this Agreement and agree to be bound thereby.
|*******************************************************************************************************************
| Copyright (c) 2025 Sami Ahmed. All rights reserved.
|*******************************************************************************************************************/
define('_ISVALID', true);
set_time_limit(0);
$main_dir = realpath(dirname(__FILE__) . '/../../../');
set_include_path($main_dir);
include_once 'f_core/config.core.php';
include_once 'f_core/f_classes/class.be.servers.php';
include_once 'f_core/f_classes/class_ftp/ftp_class.php';
include_once $class_language->setLanguageFile('frontend', 'language.global');
if (isset($_SERVER['argv'][1]) and isset($_SERVER['argv'][2]) and isset($_SERVER['argv'][3])) {
$file_type = $class_filter->clr_str($_SERVER['argv'][1]);
$file_id = $class_filter->clr_str($_SERVER['argv'][2]);
$user_key = $class_filter->clr_str($_SERVER['argv'][3]);
$server_id = intval($_SERVER['argv'][4]);
$do_tmb = intval($_SERVER['argv'][5]);
$data = $db->execute(sprintf("SELECT `file_title`, `thumb_cache` FROM `db_%sfiles` WHERE `file_key`='%s' LIMIT 1;", $file_type, $file_id));
$file_title = $data->fields["file_title"];
$thumb_cache = $data->fields["thumb_cache"];
$thumb_cache = $thumb_cache > 1 ? $thumb_cache : null;
switch ($file_type[0]) {
case "v":
$_ext = '.360p.mp4';
break;
case "i":
$_ext = '.jpg';
break;
case "a":
$_ext = '.mp3';
break;
case "d":
$_ext = '.pdf';
break;
}
$file_name = $do_tmb == 0 ? md5($cfg["global_salt_key"] . $file_id) . $_ext : $file_id . '/0' . $thumb_cache . '.jpg';
$src_folder = $cfg["media_files_dir"] . '/' . $user_key . '/' . ($do_tmb == 0 ? $file_type[0] : 't') . '/';
$src = $src_folder . $file_name;
if (file_exists($src) && is_file($src)) {
$xfer = new fileTransfer();
if ($xfer->load($src, $file_type)) {
$xfer->log_setup($file_id, true);
$xfer->log("Preparing " . ($do_tmb == 1 ? 'thumb' : $file_type) . ": " . $file_title . "\n\n" . $xfer->get_data_string() . "\n");
$xfer->doTransfer($file_id, $user_key, $src, $server_id, $do_tmb);
} else {
$xfer->log('Failed to load file: ' . $src);
}
}
}