Example #1
0
 public function handleSave()
 {
     require_once __DIR__ . "/../../vendor/fineuploader/Uploader/handler.php";
     $uploader = new \UploadHandler();
     $uploader->allowedExtensions = array("jpeg", "jpg", "png", "gif");
     $result = $uploader->handleUpload(__DIR__ . '/../../www/images/uploaded');
     $this->sendResponse(new \Nette\Application\Responses\JsonResponse($result));
 }
Example #2
0
 * 3. Ensure your php.ini file contains appropriate values for
 *    max_input_time, upload_max_filesize and post_max_size.
 *
 * 4. Ensure your "chunks" and "files" folders exist and are writable.
 *    "chunks" is only needed if you have enabled the chunking feature client-side.
 */
// Include the upload handler class
require "handler.php";
$uploader = new UploadHandler();
// Specify the list of valid extensions, ex. array("jpeg", "xml", "bmp")
$uploader->allowedExtensions = array();
// all files types allowed by default
// Specify max file size in bytes.
$uploader->sizeLimit = 10 * 1024 * 1024;
// default is 10 MiB
// Specify the input name set in the javascript.
$uploader->inputName = "qqfile";
// matches Fine Uploader's default inputName value by default
// If you want to use the chunking/resume feature, specify the folder to temporarily save parts.
$uploader->chunksFolder = "chunks";
$method = $_SERVER["REQUEST_METHOD"];
if ($method == "POST") {
    header("Content-Type: text/plain");
    // Call handleUpload() with the name of the folder, relative to PHP's getcwd()
    $result = $uploader->handleUpload("files");
    // To return a name used for uploaded file you can use the following line.
    $result["uploadName"] = $uploader->getUploadName();
    echo json_encode($result);
} else {
    header("HTTP/1.0 405 Method Not Allowed");
}
Example #3
0
 public function handleUploadReciever()
 {
     //ob_start();
     $uploader = new \UploadHandler();
     $uploader->allowedExtensions = ["jpeg", "jpg", "png", "gif"];
     $uploader->chunksFolder = __DIR__ . '/../../www/chunks';
     $name = Nette\Utils\Strings::webalize($uploader->getName(), '.');
     //TODO: picture optimalization (?)
     $result = $uploader->handleUpload(__DIR__ . '/../../../www/uploads', $name);
     try {
         $picture = $this->pictures->findOneBy(['uuid' => $uploader->getUuid()]);
         if (!$picture) {
             //FIXME: toto není optimální (zejména kvůli rychlosti)
             $picture = new Entity\Picture();
         }
         $picture->uuid = $uploader->getUuid();
         $picture->name = $name;
         $picture->created = new \DateTime('now');
         $this->pictures->save($picture);
     } catch (\Exception $exc) {
         $uploader->handleDelete(__DIR__ . '/../../www/uploads');
         $this->sendResponse(new Nette\Application\Responses\JsonResponse(['error' => $exc->getMessage()]));
     }
     //TODO: napřed předat do šablony nová data
     $this->redrawControl('pictures');
     $this->sendResponse(new Nette\Application\Responses\JsonResponse($result));
 }
Example #4
0
 public function postHandlethemes()
 {
     $uploader = new UploadHandler();
     // Specify the list of valid extensions, ex. array("jpeg", "xml", "bmp")
     $uploader->allowedExtensions = array("zip");
     // all files types allowed by default
     // Specify max file size in bytes.
     $uploader->sizeLimit = 10 * 1024 * 1024;
     // default is 10 MiB
     // Specify the input name set in the javascript.
     $uploader->inputName = "qqfile";
     // matches Fine Uploader's default inputName value by default
     // If you want to use the chunking/resume feature, specify the folder to temporarily save parts.
     $uploader->chunksFolder = storage_path() . "/cache";
     $method = $_SERVER["REQUEST_METHOD"];
     if ($method == "POST") {
         header("Content-Type: text/plain");
         // Call handleUpload() with the name of the folder, relative to PHP's getcwd()
         $result = $uploader->handleUpload(storage_path() . "/uploads");
         // To return a name used for uploaded file you can use the following line.
         $result["uploadName"] = $uploader->getUploadName();
         //{"success":true,"uuid":"23355116-d788-4e64-a8e1-0133703e6452","uploadName":"jquery-ui-1.8.11.zip"}
         $this->unzip($result['uploadName'], storage_path() . "/uploads/" . $result['uuid'] . "/", public_path() . "/layouts/frontend/");
         $this->saveThemeinfo($result['uploadName'], storage_path() . "/uploads/" . $result['uuid'] . "/", $result);
         File::deleteDirectory(storage_path() . "/uploads/" . $result['uuid']);
         return json_encode($result);
     } else {
         header("HTTP/1.0 405 Method Not Allowed");
     }
 }
Example #5
0
    $parsedUrl = parse_url($url);
    // make sure it's a youtube link.
    if ($parsedUrl["host"] == "www.youtube.com" || $parsedUrl["host"] == "youtube.com") {
        parse_str($parsedUrl["query"], $query);
        if (isset($query["v"])) {
            $attachment = new ArticleAttachment();
            $attachment->data = $query["v"];
            $attachment->article = $article->id;
            $attachment->type = ArticleAttachment::TYPE_VIDEO;
            $attachment->save();
        }
    }
}
// save file attachment if any
if ($_FILES["attachment"]["error"] != UPLOAD_ERR_NO_FILE) {
    $uploadedFile = UploadHandler::handleUpload("attachment");
    $split = explode(".", $uploadedFile);
    $extension = strtolower(array_pop($split));
    $type = ArticleAttachment::TYPE_OTHER;
    switch ($extension) {
        case "jpg":
        case "png":
        case "gif":
        case "jpeg":
            $type = ArticleAttachment::TYPE_IMAGE;
            break;
        case "doc":
        case "docx":
        case "ppt":
        case "pptx":
        case "pdf":
Example #6
0
// all files types allowed by default
// Specify max file size in bytes.
$uploader->sizeLimit = 10 * 1024 * 1024;
// default is 10 MiB
// Specify the input name set in the javascript.
$uploader->inputName = "qqfile";
// matches Fine Uploader's default inputName value by default
// If you want to use the chunking/resume feature, specify the folder to temporarily save parts.
$uploader->chunksFolder = "chunks";
$method = $_SERVER["REQUEST_METHOD"];
if ($method == "POST") {
    header("Content-Type: text/plain");
    // Assumes you have a chunking.success.endpoint set to point here with a query parameter of "done".
    // For example: /myserver/handlers/endpoint.php?done
    if (isset($_GET["done"])) {
        $result = $uploader->combineChunks("files");
    } else {
        // Call handleUpload() with the name of the folder, relative to PHP's getcwd()
        $result = $uploader->handleUpload("../../photos");
        // To return a name used for uploaded file you can use the following line.
        $result["uploadName"] = $uploader->getUploadName();
    }
    echo json_encode($result);
} else {
    if ($method == "DELETE") {
        $result = $uploader->handleDelete("files");
        echo json_encode($result);
    } else {
        header("HTTP/1.0 405 Method Not Allowed");
    }
}