Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
Downloads
/
vfm-admin
/
ajax
:
shorten.php
Voltar
Back Up
Advanced Editor
Save
<?php /** * VFM - veno file manager: ajax/shorten.php * * Generate short sharing link * * PHP version >= 5.3 * * @category PHP * @package VenoFileManager * @author Nicola Franchini <support@veno.it> * @copyright 2013 Nicola Franchini * @license Exclusively sold on CodeCanyon * @link http://filemanager.veno.it/ */ if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !== 'xmlhttprequest') ) { exit; } require_once dirname(__DIR__).'/class/class.utils.php'; require_once dirname(__DIR__).'/class/class.downloader.php'; require_once dirname(__DIR__).'/class/class.setup.php'; use chillerlan\QRCode\{QRCode, QROptions}; use chillerlan\QRCode\Output\QROutputInterface; require_once dirname(__DIR__).'/assets/qrcode/vendor/autoload.php'; $utils = new Utils; $downloader = new Downloader(); $setUp = new SetUp(); $attachments = filter_input(INPUT_POST, "atts", FILTER_SANITIZE_SPECIAL_CHARS); $time = filter_input(INPUT_POST, "time", FILTER_SANITIZE_SPECIAL_CHARS); $hash = filter_input(INPUT_POST, "hash", FILTER_SANITIZE_SPECIAL_CHARS); $lifetime = filter_input(INPUT_POST, "lifetime", FILTER_SANITIZE_NUMBER_INT); $pass = isset($_POST['pass']) ? $_POST['pass'] : false; $hpass = false; if ($pass) { if (strlen($pass) > 0) { $hpass = md5($pass); } } $saveData = array(); $saveData['pass'] = $hpass; $saveData['time'] = $time; $saveData['hash'] = $hash; $saveData['attachments'] = $attachments; if ($lifetime) { $saveData['lifetime'] = $lifetime; } $json_name = md5($time.$attachments.$pass.$lifetime); /** * Use this second function * to shorten the name to 12 chars instead of default 32 */ // $json_name = substr(md5($time.$attachments.$pass), 0, 12); // create the temporary directory if (!is_dir(dirname(dirname(__FILE__)).'/_content/share')) { mkdir(dirname(dirname(__FILE__)).'/_content/share', 0755, true); } // save dowloadable link if it does not already exists if (!file_exists(dirname(dirname(__FILE__)).'/_content/share/'.$json_name.'.json') || $pass!==false) { $fp = fopen(dirname(dirname(__FILE__)).'/_content/share/'.$json_name.'.json', 'w'); fwrite($fp, json_encode($saveData)); fclose($fp); } $link = $setUp->getConfig('script_url').'?dl='.$json_name; $options = new QROptions( [ 'version' => 7, 'outputType' => QROutputInterface::MARKUP_SVG, 'imageBase64' => true, 'addQuietzone' => true, 'drawLightModules' => false, 'markupDark' => '', 'markupLight' => '', 'connectPaths' => true ] ); $qrcode_img = (new QRCode($options))->render($link); $return_data = array( 'qrcode' => $qrcode_img, 'link' => $link ); echo json_encode($return_data); exit;