Merged in darojas/processmaker (pull request #278)

Se modifica la creacion y eliminacion de folders, se corrigen nombres de variables para los mensajes de error en FILEMANAGER
This commit is contained in:
erik ao
2014-03-06 14:33:12 -04:00
2 changed files with 66 additions and 47 deletions

View File

@@ -150,6 +150,17 @@ class FilesManager
if (!$aData['prf_filename']) {
throw (new \Exception( 'Invalid value specified for `prf_filename`.'));
}
$extention = strstr($aData['prf_filename'], '.');
if (!$extention) {
$extention = '.html';
$aData['prf_filename'] = $aData['prf_filename'].$extention;
}
if ($extention == '.docx' || $extention == '.doc' || $extention == '.html' || $extention == '.php' || $extention == '.jsp' ||
$extention == '.xlsx' || $extention == '.xls' || $extention == '.js' || $extention == '.css' || $extention == '.txt') {
$sEditable = true;
} else {
$sEditable = false;
}
$sMainDirectory = current(explode("/", $aData['prf_path']));
if ($sMainDirectory != 'public' && $sMainDirectory != 'templates') {
throw (new \Exception( 'Invalid value specified for `prf_path`. Expecting `templates/` or `public/`'));
@@ -163,27 +174,31 @@ class FilesManager
case 'templates':
$sDirectory = PATH_DATA_MAILTEMPLATES . $sProcessUID . PATH_SEP . $sSubDirectory . $aData['prf_filename'];
$sCheckDirectory = PATH_DATA_MAILTEMPLATES . $sProcessUID . PATH_SEP . $sSubDirectory;
$sEditable = false;
break;
case 'public':
$sDirectory = PATH_DATA_PUBLIC . $sProcessUID . PATH_SEP . $sSubDirectory . $aData['prf_filename'];
$sCheckDirectory = PATH_DATA_PUBLIC . $sProcessUID . PATH_SEP . $sSubDirectory;
$sEditable = false;
break;
default:
$sDirectory = PATH_DATA_MAILTEMPLATES . $sProcessUID . PATH_SEP . $sSubDirectory . $aData['prf_filename'];
break;
}
$extention = end(explode(".", $aData['prf_filename']));
if ($extention == 'docx' || $extention == 'doc' || $extention == 'html' || $extention == 'php' || $extention == 'jsp' ||
$extention == 'xlsx' || $extention == 'xls' || $extention == 'js' || $extention == 'css' || $extention == 'txt') {
$sEditable = true;
} else {
$sEditable = false;
if (!file_exists($sCheckDirectory)) {
$sPkProcessFiles = \G::generateUniqueID();
$oProcessFiles = new \ProcessFiles();
$sDate = date('Y-m-d H:i:s');
$oProcessFiles->setPrfUid($sPkProcessFiles);
$oProcessFiles->setProUid($sProcessUID);
$oProcessFiles->setUsrUid($userUID);
$oProcessFiles->setPrfUpdateUsrUid('');
$oProcessFiles->setPrfPath($sCheckDirectory);
$oProcessFiles->setPrfType('folder');
$oProcessFiles->setPrfEditable('');
$oProcessFiles->setPrfCreateDate($sDate);
$oProcessFiles->save();
}
\G::verifyPath($sCheckDirectory, true);
if (file_exists(PATH_SEP.$sDirectory)) {
throw (new \Exception( 'The file: '. $sDirectory . ' already exists.'));
}
$sPkProcessFiles = \G::generateUniqueID();
$oProcessFiles = new \ProcessFiles();
$sDate = date('Y-m-d H:i:s');
@@ -254,7 +269,6 @@ class FilesManager
throw new \Exception(\G::LoadTranslation('ID_PMTABLE_UPLOADING_FILE_PROBLEM'));
}
$oProcessFile = array('prf_uid' => $prfUid);
var_dump($oProcessFile);
return $oProcessFile;
} catch (Exception $e) {
throw $e;
@@ -344,7 +358,7 @@ class FilesManager
'prf_filename' => $sFile,
'usr_uid' => $oProcessFiles->getUsrUid(),
'prf_update_usr_uid' => $oProcessFiles->getPrfUpdateUsrUid(),
'prf_path' => $sMainDirectory.PATH_SEP.$sSubDirectory,
'prf_path' => $sMainDirectory.$sSubDirectory,
'prf_type' => $oProcessFiles->getPrfType(),
'prf_editable' => $sEditable,
'prf_create_date' => $oProcessFiles->getPrfCreateDate(),
@@ -472,11 +486,16 @@ class FilesManager
die();
break;
}
if (file_exists($sDirectory . $sDirToDelete)) {
\G::rm_dir($sDirectory . $sDirToDelete);
if (file_exists($sDirectory.$sDirToDelete)) {
\G::rm_dir($sDirectory.$sDirToDelete);
} else {
throw (new \Exception( 'Invalid value specified for `path`.'));
}
$criteria = new \Criteria("workflow");
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_PATH);
$criteria->add( \ProcessFilesPeer::PRF_PATH, '%' . $sDirectory.$sDirToDelete. PATH_SEP . '%', \Criteria::LIKE );
$rs = \ProcessFilesPeer::doDelete($criteria);
return $sDirectory.$sDirToDelete;
} catch (Exception $e) {
throw $e;
}

View File

@@ -12,19 +12,19 @@ use \Luracast\Restler\RestException;
class FilesManager extends Api
{
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $prj_uid {@min 32} {@max 32}
* @param string $path
*
* @url GET /:prjUid/file-manager
* @url GET /:prj_uid/file-manager
*/
public function doGetProcessFilesManager($prjUid, $path = '')
public function doGetProcessFilesManager($prj_uid, $path = '')
{
try {
$filesManager = new \BusinessModel\FilesManager();
if ($path != '') {
$arrayData = $filesManager->getProcessFilesManagerPath($prjUid, $path);
$arrayData = $filesManager->getProcessFilesManagerPath($prj_uid, $path);
} else {
$arrayData = $filesManager->getProcessFilesManager($prjUid);
$arrayData = $filesManager->getProcessFilesManager($prj_uid);
}
//Response
$response = $arrayData;
@@ -36,18 +36,18 @@ class FilesManager extends Api
}
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $prj_uid {@min 32} {@max 32}
* @param ProcessFilesManagerStructure $request_data
*
* @url POST /:prjUid/file-manager
* @url POST /:prj_uid/file-manager
*/
public function doPostProcessFilesManager($prjUid, ProcessFilesManagerStructure $request_data)
public function doPostProcessFilesManager($prj_uid, ProcessFilesManagerStructure $request_data)
{
try {
$userUid = $this->getUserId();
$request_data = (array)($request_data);
$filesManager = new \BusinessModel\FilesManager();
$arrayData = $filesManager->addProcessFilesManager($prjUid, $userUid, $request_data);
$arrayData = $filesManager->addProcessFilesManager($prj_uid, $userUid, $request_data);
//Response
$response = $arrayData;
} catch (\Exception $e) {
@@ -58,16 +58,16 @@ class FilesManager extends Api
}
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $prfUid {@min 32} {@max 32}
* @param string $prj_uid {@min 32} {@max 32}
* @param string $prf_uid {@min 32} {@max 32}
*
* @url POST /:prjUid/file-manager/:prfUid/upload
* @url POST /:prj_uid/file-manager/:prf_uid/upload
*/
public function doPostProcessFilesManagerUpload($prjUid, $prfUid)
public function doPostProcessFilesManagerUpload($prj_uid, $prf_uid)
{
try {
$filesManager = new \BusinessModel\FilesManager();
$sData = $filesManager->uploadProcessFilesManager($prjUid, $prfUid);
$sData = $filesManager->uploadProcessFilesManager($prj_uid, $prf_uid);
//Response
$response = $sData;
} catch (\Exception $e) {
@@ -77,19 +77,19 @@ class FilesManager extends Api
}
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $prj_uid {@min 32} {@max 32}
* @param ProcessFilesManagerStructure $request_data
* @param string $prfUid {@min 32} {@max 32}
* @param string $prf_uid {@min 32} {@max 32}
*
* @url PUT /:prjUid/file-manager/:prfUid
* @url PUT /:prj_uid/file-manager/:prf_uid
*/
public function doPutProcessFilesManager($prjUid, ProcessFilesManagerStructure $request_data, $prfUid)
public function doPutProcessFilesManager($prj_uid, ProcessFilesManagerStructure $request_data, $prf_uid)
{
try {
$userUid = $this->getUserId();
$request_data = (array)($request_data);
$filesManager = new \BusinessModel\FilesManager();
$arrayData = $filesManager->updateProcessFilesManager($prjUid, $userUid, $request_data, $prfUid);
$arrayData = $filesManager->updateProcessFilesManager($prj_uid, $userUid, $request_data, $prf_uid);
//Response
$response = $arrayData;
} catch (\Exception $e) {
@@ -100,16 +100,16 @@ class FilesManager extends Api
}
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $prfUid {@min 32} {@max 32}
* @param string $prj_uid {@min 32} {@max 32}
* @param string $prf_uid {@min 32} {@max 32}
*
* @url DELETE /:prjUid/file-manager/:prfUid
* @url DELETE /:prj_uid/file-manager/:prf_uid
*/
public function doDeleteProcessFilesManager($prjUid, $prfUid)
public function doDeleteProcessFilesManager($prj_uid, $prf_uid)
{
try {
$filesManager = new \BusinessModel\FilesManager();
$filesManager->deleteProcessFilesManager($prjUid, $prfUid);
$filesManager->deleteProcessFilesManager($prj_uid, $prf_uid);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
@@ -117,16 +117,16 @@ class FilesManager extends Api
}
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $prfUid {@min 32} {@max 32}
* @param string $prj_uid {@min 32} {@max 32}
* @param string $prf_uid {@min 32} {@max 32}
*
* @url GET /:prjUid/file-manager/:prfUid/download
* @url GET /:prj_uid/file-manager/:prf_uid/download
*/
public function doGetProcessFilesManagerDownload($prjUid, $prfUid)
public function doGetProcessFilesManagerDownload($prj_uid, $prf_uid)
{
try {
$filesManager = new \BusinessModel\FilesManager();
$filesManager->downloadProcessFilesManager($prjUid, $prfUid);
$filesManager->downloadProcessFilesManager($prj_uid, $prf_uid);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
@@ -134,16 +134,16 @@ class FilesManager extends Api
}
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $prj_uid {@min 32} {@max 32}
* @param string $path
*
* @url DELETE /:prjUid/file-manager/folder
* @url DELETE /:prj_uid/file-manager/folder
*/
public function doDeleteFolderProcessFilesManager($prjUid, $path)
public function doDeleteFolderProcessFilesManager($prj_uid, $path)
{
try {
$filesManager = new \BusinessModel\FilesManager();
$filesManager->deleteFolderProcessFilesManager($prjUid, $path);
$filesManager->deleteFolderProcessFilesManager($prj_uid, $path);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());