Merged in darojas/processmaker (pull request #230)

Se mejora FILESMANAGER. Se adiciona en el GET el content del documento y se agregan validaciones.
This commit is contained in:
erik ao
2014-02-24 17:07:09 -04:00
2 changed files with 32 additions and 20 deletions

View File

@@ -82,17 +82,25 @@ class FilesManager
}
foreach ($aFiles as $aFile) {
$arrayFileUid = $this->getFileManagerUid($sDirectory.$aFile['FILE']);
$fcontent = file_get_contents($sDirectory.$aFile['FILE']);
$fileUid = $arrayFileUid["PRF_UID"];
if ($fileUid) {
$oProcessFiles = \ProcessFilesPeer::retrieveByPK($fileUid);
$editable = $oProcessFiles->getPrfEditable();
if ($editable == 1){
$editable = 'true';
} else {
$editable = 'false';
}
$aTheFiles[] = array( 'prf_filename' => $aFile['FILE'],
'usr_uid' => $oProcessFiles->getUsrUid(),
'prf_update_usr_uid' => $oProcessFiles->getPrfUpdateUsrUid(),
'prf_path' => $sMainDirectory. PATH_SEP .$sSubDirectory,
'prf_type' => $oProcessFiles->getPrfType(),
'prf_editable' => $oProcessFiles->getPrfEditable(),
'prf_editable' => $editable,
'prf_create_date' => $oProcessFiles->getPrfCreateDate(),
'prf_update_date' => $oProcessFiles->getPrfUpdateDate());
'prf_update_date' => $oProcessFiles->getPrfUpdateDate(),
'prf_content' => $fcontent);
} else {
$aTheFiles[] = array('prf_filename' => $aFile['FILE'],
@@ -100,9 +108,10 @@ class FilesManager
'prf_update_usr_uid' => '',
'prf_path' => $sMainDirectory. PATH_SEP .$sSubDirectory,
'prf_type' => 'file',
'prf_editable' => '',
'prf_editable' => $editable,
'prf_create_date' => '',
'prf_update_date' => '');
'prf_update_date' => '',
'prf_content' => $fcontent);
}
}
@@ -127,6 +136,9 @@ class FilesManager
{
try {
$aData['prf_path'] = rtrim($aData['prf_path'], '/') . '/';
if (!$aData['prf_filename']){
throw (new \Exception( 'invalid value specified for `prf_filename`.'));
}
$sMainDirectory = current(explode("/", $aData['prf_path']));
if ($sMainDirectory != 'public' && $sMainDirectory != 'templates') {
throw (new \Exception( 'invalid value specified for `prf_path`. Expecting `templates/` or `public/`'));
@@ -184,7 +196,8 @@ class FilesManager
'prf_type' => $oProcessFiles->getPrfType(),
'prf_editable' => $oProcessFiles->getPrfEditable(),
'prf_create_date' => $oProcessFiles->getPrfCreateDate(),
'prf_update_date' => $oProcessFiles->getPrfUpdateDate());
'prf_update_date' => $oProcessFiles->getPrfUpdateDate(),
'prf_content' => $content);
return $oProcessFile;
} catch (Exception $e) {
throw $e;
@@ -195,15 +208,14 @@ class FilesManager
* Return the Process Files Manager
*
* @param string $prjUid {@min 32} {@max 32}
* @param array $aData
* @param string $prfUid {@min 32} {@max 32}
*
*
* @access public
*/
public function uploadProcessFilesManager($prjUid, $aData)
public function uploadProcessFilesManager($prjUid, $prfUid)
{
try {
$prfUid = $aData['prf_uid'];
$path = '';
$criteria = new \Criteria("workflow");
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_PATH);
@@ -220,10 +232,14 @@ class FilesManager
}
$file = end(explode("/",$path));
$path = str_replace($file,'',$path);
if ($_FILES['my_file']['error'] != 1) {
if ($_FILES['my_file']['tmp_name'] != '') {
\G::uploadFile($_FILES['my_file']['tmp_name'],$path , $_FILES['my_file']['name']);
}
if ($file == $_FILES['prf_file']['name']) {
if ($_FILES['prf_file']['error'] != 1) {
if ($_FILES['prf_file']['tmp_name'] != '') {
\G::uploadFile($_FILES['prf_file']['tmp_name'],$path , $_FILES['prf_file']['name']);
}
}
} else {
throw new \Exception(\G::LoadTranslation('ID_PMTABLE_UPLOADING_FILE_PROBLEM'));
}
} catch (Exception $e) {
throw $e;

View File

@@ -46,7 +46,6 @@ class FilesManager extends Api
try {
$userUid = $this->getUserId();
$request_data = (array)($request_data);
$filesManager = new \BusinessModel\FilesManager();
$arrayData = $filesManager->addProcessFilesManager($prjUid, $userUid, $request_data);
//Response
@@ -60,15 +59,15 @@ class FilesManager extends Api
/**
* @param string $prjUid {@min 32} {@max 32}
* @param array $request_data
* @param string $prfUid {@min 32} {@max 32}
*
* @url POST /:prjUid/file-manager/upload
* @url POST /:prjUid/file-manager/:prfUid/upload
*/
public function doPostProcessFilesManagerUpload($prjUid, $request_data)
public function doPostProcessFilesManagerUpload($prjUid, $prfUid)
{
try {
$filesManager = new \BusinessModel\FilesManager();
$filesManager->uploadProcessFilesManager($prjUid, $request_data);
$filesManager->uploadProcessFilesManager($prjUid, $prfUid);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
@@ -145,9 +144,6 @@ class ProcessFilesManagerStructure
*/
public $prf_path;
/**
* @var string {@from body}
*/
public $prf_content;
}