0
1
Fork 0
hedera-web-mindshore/rest/misc/access-version.php

72 lines
1.6 KiB
PHP

<?php
use Vn\Lib;
use Vn\Lib\UserException;
/**
* Uploads a access module.
*/
class AccessVersion extends Vn\Web\JsonRequest {
const PARAMS = [
'appName'
,'newVersion'
];
function run($db) {
// Checks for file errors.
$moduleFile = $_FILES['moduleFile'];
if (empty($moduleFile['name']))
throw new UserException(s('File not choosed'));
if ($moduleFile['error'] != 0) {
switch ($_FILES['image']['error']) {
case UPLOAD_ERR_INI_SIZE:
$message = 'ErrIniSize';
break;
case UPLOAD_ERR_FORM_SIZE:
$message = 'ErrFormSize';
break;
case UPLOAD_ERR_PARTIAL:
$message = 'ErrPartial';
break;
case UPLOAD_ERR_NO_FILE:
$message = 'ErrNoFile';
break;
case UPLOAD_ERR_NO_TMP_DIR:
$message = 'ErrNoTmpDir';
break;
case UPLOAD_ERR_CANT_WRITE:
$message = 'ErrCantWrite';
break;
case UPLOAD_ERR_EXTENSION:
$message = 'ErrExtension';
break;
default:
$message = 'ErrDefault';
break;
}
throw new Lib\Exception(s($message));
}
// Defining parameters
$appName = $_REQUEST['appName'];
$newVersion = $_REQUEST['newVersion'];
$uploadDir = '/mnt/cluster/vn-access';
$uploadFile = "$uploadDir/$appName.7z";
$archiveDir = "$uploadDir/.archive/$appName";
$archiveFile = "$archiveDir/$newVersion.7z";
// Updates the application
copy($moduleFile['tmp_name'], $archiveFile);
rename($moduleFile['tmp_name'], $uploadFile);
return TRUE;
}
}