session_start(); require_once '../_librerias/php/funciones.php'; require_once '../_librerias/php/UploadService.php'; $token = post("token"); $prepare = post("PREPARE_UPLOAD"); $configSession = $_SESSION[$token]; //create a Upload Service //create constraints $constraints = new UploadService_Config_Constraints(); $constraints->setMaxSize($configSession["constraints"]["maxSize"]); $constraints->setExtensions($configSession["constraints"]["extensions"]); //create configs $config = new UploadService_Config(); $config->setToserver($configSession["toserver"]); $config->setPath($configSession["path"]); $config->setVideoPlatform($configSession["videoPlatform"]); $config->setConstraints($constraints); $upload = new UploadService(); $upload->setConfig($config); $fileResource = $upload->file; //$fileResource = new UploadService_File_Resource(); $response = null; if ($prepare) { $file = new UploadService_File(); $file->setName(post("name")); $file->setSize(post("size")); $response = $fileResource->prepare($file); } else { $response = $fileResource->put(); } echo json_encode($response);
public function prepare(UploadService_File $file) { $config = $this->uploadService->getConfig(); // $config = new UploadService_Config(); $configConstraints = $config->getConstraints(); // $configConstraints = new UploadService_Config_Constraints(); $response = ["success" => false, "message" => null]; $file->setName(strtolower($file->getName())); $fileNameExtension = pathinfo($file->getName(), PATHINFO_EXTENSION); $maxSizeMegaBytesValue = $configConstraints->getMaxSize() * 1024 * 1024; if (in_array($fileNameExtension, $configConstraints->getExtensions()) && $file->getSize() < $maxSizeMegaBytesValue) { $response["success"] = true; } else { if (!in_array($fileNameExtension, $configConstraints->getExtensions())) { $extensionsString = implode(", ", $configConstraints->getExtensions()); $response["message"] = "La extensión del archivo es {$fileNameExtension}, debe tener las siguientes extensiones {$extensionsString}"; } else { if (!($file->getSize() < $maxSizeMegaBytesValue)) { $response["message"] = "El archivo supera los {$configConstraints->getMaxSize()} Megabytes"; } } } //Verify if filename extension is video if (file::isVideo($file->getName())) { $response["isVideo"] = true; //Get token to video platform $postdata = http_build_query(["name" => "prueba", "password" => "12345"]); $options = ["http" => ["method" => "POST", "header" => "Content-type: application/x-www-form-urlencoded", "content" => $postdata]]; $context = stream_context_create($options); $result = json_decode(file_get_contents('https://multimedia.owlgroup.org/login', false, $context)); $response["token"] = $result->token; } return $response; }