Merged in darojas/processmaker (pull request #177)

Fix notice CASE SCHEDULER. Fix notice OUTPUTDOCUMENT. Add download FILESMANAGER. Fix standard date CASE SCHEDULER
This commit is contained in:
erik ao
2014-02-12 10:14:55 -04:00
4 changed files with 77 additions and 24 deletions

View File

@@ -461,17 +461,23 @@ class CaseScheduler
if (($sOption != '1') && ($sOption != '4') && ($sOption != '5')) { if (($sOption != '1') && ($sOption != '4') && ($sOption != '5')) {
$sDateTmp = ''; $sDateTmp = '';
if ($sStartDay == '') { if ($sStartDay == '') {
$sStartDay = date( 'Y-m-d' ); $sStartDay = date('Y-m-d');
} else {
$aaStartDay = explode( "|", $aData['SCH_START_DAY'] );
$aaStartDay[0] = $aaStartDay[0];
$aaStartDay[1] = $aaStartDay[1];
$aaStartDay[2]= ($aaStartDay[2] == 7 ? 1 : $aaStartDay[2]);
$sStartDay = $aaStartDay[0].'|'.$aaStartDay[1].'|'.$aaStartDay[2];
} }
$dCurrentDay = date( "d" ); $dCurrentDay = date("d");
$dCurrentMonth = date( "m" ); $dCurrentMonth = date("m");
$aStartDay = explode( "|", $aData['SCH_START_DAY'] ); $aStartDay = explode( "|", $aData['SCH_START_DAY'] );
if ($sOption == '3' && $aStartDay[0] == '1') { if ($sOption == '3' && $aStartDay[0] == '1') {
$monthsArray = explode( "|", $sMonths ); $monthsArray = explode( "|", $sMonths );
foreach ($monthsArray as $row) { foreach ($monthsArray as $row) {
if ($dCurrentMonth == $row && $dCurrentDay < $aStartDay[1]) { if ($dCurrentMonth == $row && $dCurrentDay < $aStartDay[1]) {
$startTime = $aData['SCH_START_TIME'] . ":00"; $startTime = $aData['SCH_START_TIME'] . ":00";
$aData['SCH_TIME_NEXT_RUN'] = date( 'Y' ) . '-' . $row . '-' . $aStartDay[1] . ' ' . $startTime; $aData['SCH_TIME_NEXT_RUN'] = date('Y') . '-' . $row . '-' . $aStartDay[1] . ' ' . $startTime;
break; break;
} else { } else {
$aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun( $sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp ); $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun( $sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp );
@@ -482,8 +488,8 @@ class CaseScheduler
} }
} else { } else {
if ($sOption == '4') { if ($sOption == '4') {
$sDateTmp = date( 'Y-m-d' ); $sDateTmp = date('Y-m-d');
$aData['SCH_START_TIME'] = date( 'Y-m-d', strtotime( $sDateTmp ) ) . ' ' . date( 'H:i:s', strtotime( $sTimeTmp ) ); $aData['SCH_START_TIME'] = date('Y-m-d', strtotime( $sDateTmp )) . ' ' . date('H:i:s', strtotime( $sTimeTmp ));
$aData['SCH_START_DATE'] = $aData['SCH_START_TIME']; $aData['SCH_START_DATE'] = $aData['SCH_START_TIME'];
$aData['SCH_END_DATE'] = $aData['SCH_START_TIME']; $aData['SCH_END_DATE'] = $aData['SCH_START_TIME'];
} }
@@ -492,10 +498,10 @@ class CaseScheduler
if ($aData['SCH_START_DATE'] != '') { if ($aData['SCH_START_DATE'] != '') {
$sDateTmp = $aData['SCH_START_DATE']; $sDateTmp = $aData['SCH_START_DATE'];
} else { } else {
$sDateTmp = date( 'Y-m-d' ); $sDateTmp = date('Y-m-d');
$aData['SCH_START_DATE'] = $sDateTmp; $aData['SCH_START_DATE'] = $sDateTmp;
} }
$aData['SCH_END_DATE'] = date( 'Y-m-d', strtotime( $sDateTmp ) ) . ' ' . date( 'H:i:s', strtotime( $sTimeTmp ) ); $aData['SCH_END_DATE'] = date('Y-m-d', strtotime( $sDateTmp )) . ' ' . date('H:i:s', strtotime( $sTimeTmp ));
$aData['SCH_START_TIME'] = time(); $aData['SCH_START_TIME'] = time();
$aData['SCH_START_DATE'] = $aData['SCH_START_TIME']; $aData['SCH_START_DATE'] = $aData['SCH_START_TIME'];
if ($aData['SCH_REPEAT_EVERY'] == "") { if ($aData['SCH_REPEAT_EVERY'] == "") {
@@ -509,7 +515,7 @@ class CaseScheduler
$aData['SCH_REPEAT_EVERY'] = $aData['SCH_REPEAT_EVERY']; $aData['SCH_REPEAT_EVERY'] = $aData['SCH_REPEAT_EVERY'];
$date = $aData['SCH_START_TIME']; $date = $aData['SCH_START_TIME'];
$date += $nextRun; $date += $nextRun;
$date = date( "Y-m-d H:i", $date ); $date = date("Y-m-d H:i", $date);
$aData['SCH_TIME_NEXT_RUN'] = $date; $aData['SCH_TIME_NEXT_RUN'] = $date;
} }
} }
@@ -742,10 +748,16 @@ class CaseScheduler
} }
if (($sOption != '1') && ($sOption != '4') && ($sOption != '5')) { if (($sOption != '1') && ($sOption != '4') && ($sOption != '5')) {
if ($sStartDay == '') { if ($sStartDay == '') {
$sStartDay = date( 'Y-m-d' ); $sStartDay = date('Y-m-d');
} else {
$aaStartDay = explode( "|", $aData['SCH_START_DAY'] );
$aaStartDay[0] = $aaStartDay[0];
$aaStartDay[1] = $aaStartDay[1];
$aaStartDay[2]= ($aaStartDay[2] == 7 ? 1 : $aaStartDay[2]);
$sStartDay = $aaStartDay[0].'|'.$aaStartDay[1].'|'.$aaStartDay[2];
} }
$dCurrentDay = date( "d" ); $dCurrentDay = date("d");
$dCurrentMonth = date( "m" ); $dCurrentMonth = date("m");
$aStartDay = explode( "|", $aData['SCH_START_DAY'] ); $aStartDay = explode( "|", $aData['SCH_START_DAY'] );
$sDateTmp = ''; $sDateTmp = '';
if ($sOption == '3' && $aStartDay[0] == '1') { if ($sOption == '3' && $aStartDay[0] == '1') {
@@ -753,7 +765,7 @@ class CaseScheduler
foreach ($monthsArray as $row) { foreach ($monthsArray as $row) {
if ($dCurrentMonth == $row && $dCurrentDay < $aStartDay[1]) { if ($dCurrentMonth == $row && $dCurrentDay < $aStartDay[1]) {
$startTime = $aData['SCH_START_TIME'] . ":00"; $startTime = $aData['SCH_START_TIME'] . ":00";
$aData['SCH_TIME_NEXT_RUN'] = date( 'Y' ) . '-' . $row . '-' . $aStartDay[1] . ' ' . $startTime; $aData['SCH_TIME_NEXT_RUN'] = date('Y') . '-' . $row . '-' . $aStartDay[1] . ' ' . $startTime;
break; break;
} else { } else {
$aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun( $sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp ); $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun( $sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp );
@@ -764,8 +776,8 @@ class CaseScheduler
} }
} else { } else {
if ($sOption == '4') { if ($sOption == '4') {
$sDateTmp = date( 'Y-m-d' ); $sDateTmp = date('Y-m-d');
$aData['SCH_START_TIME'] = date( 'Y-m-d', strtotime( $sDateTmp ) ) . ' ' . date( 'H:i:s', strtotime( $sTimeTmp ) ); $aData['SCH_START_TIME'] = date('Y-m-d', strtotime( $sDateTmp )) . ' ' . date('H:i:s', strtotime( $sTimeTmp ));
$aData['SCH_START_DATE'] = $aData['SCH_START_TIME']; $aData['SCH_START_DATE'] = $aData['SCH_START_TIME'];
$aData['SCH_END_DATE'] = $aData['SCH_START_TIME']; $aData['SCH_END_DATE'] = $aData['SCH_START_TIME'];
} }
@@ -774,7 +786,7 @@ class CaseScheduler
if ($aData['SCH_START_DATE'] != '') { if ($aData['SCH_START_DATE'] != '') {
$sDateTmp = $aData['SCH_START_DATE']; $sDateTmp = $aData['SCH_START_DATE'];
} else { } else {
$sDateTmp = date( 'Y-m-d' ); $sDateTmp = date('Y-m-d');
$aData['SCH_START_DATE'] = $sDateTmp; $aData['SCH_START_DATE'] = $sDateTmp;
} }
$aData['SCH_END_DATE'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp)); $aData['SCH_END_DATE'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
@@ -791,7 +803,7 @@ class CaseScheduler
$aData['SCH_REPEAT_EVERY'] = $aData['SCH_REPEAT_EVERY']; $aData['SCH_REPEAT_EVERY'] = $aData['SCH_REPEAT_EVERY'];
$date = $aData['SCH_START_TIME']; $date = $aData['SCH_START_TIME'];
$date += $nextRun; $date += $nextRun;
$date = date( "Y-m-d H:i", $date ); $date = date("Y-m-d H:i", $date);
$aData['SCH_TIME_NEXT_RUN'] = $date; $aData['SCH_TIME_NEXT_RUN'] = $date;
} }
} }

View File

@@ -309,5 +309,28 @@ class FilesManager
throw $e; throw $e;
} }
} }
/**
*
* @param string $sProcessUID {@min 32} {@max 32}
* @param string $path
*
*
* @access public
*/
public function downloadProcessFilesManager($sProcessUID, $path)
{
try {
$arrayTaskUid = $this->getFileManagerUid($path);
$sPath = explode("/", $path);
$sfile = end(explode("/",$path));
$main = implode(array_slice($sPath, -3, 1));
if (file_exists(PATH_SEP.$path)) {
\G::streamFile($path, true);
}
} catch (Exception $e) {
throw $e;
}
}
} }

View File

@@ -260,12 +260,14 @@ class OutputDocument
$aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] = ""; $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] = "";
$aData['OUT_DOC_PDF_SECURITY_PERMISSIONS'] = ""; $aData['OUT_DOC_PDF_SECURITY_PERMISSIONS'] = "";
} }
if (isset( $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] ) && $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] != "") {
$aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] = \G::encrypt( $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'], $aData['OUT_DOC_UID'] );
$aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] = \G::encrypt( $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'], $aData['OUT_DOC_UID'] );
}
} }
$outDocUid = $oOutputDocument->create($aData); $outDocUid = $oOutputDocument->create($aData);
$aData = array_change_key_case($aData, CASE_LOWER);
if (isset( $aData['out_doc_pdf_security_open_password'] ) && $aData['out_doc_pdf_security_open_password'] != "") {
$aData['out_doc_pdf_security_open_password'] = \G::encrypt( $aData['out_doc_pdf_security_open_password'], $outDocUid );
$aData['out_doc_pdf_security_owner_password'] = \G::encrypt( $aData['out_doc_pdf_security_owner_password'], $outDocUid );
}
$this->updateOutputDocument($sProcessUID, $aData, $outDocUid);
//Return //Return
unset($aData["PRO_UID"]); unset($aData["PRO_UID"]);
$aData = array_change_key_case($aData, CASE_LOWER); $aData = array_change_key_case($aData, CASE_LOWER);

View File

@@ -125,6 +125,7 @@ class FilesManager extends Api
} }
return $response; return $response;
} }
/** /**
* @param string $prjUid {@min 32} {@max 32} * @param string $prjUid {@min 32} {@max 32}
* @param string $path * @param string $path
@@ -135,15 +136,30 @@ class FilesManager extends Api
{ {
try { try {
$filesManager = new \BusinessModel\FilesManager(); $filesManager = new \BusinessModel\FilesManager();
$arrayData = $filesManager->deleteProcessFilesManager($prjUid, $path); $filesManager->deleteProcessFilesManager($prjUid, $path);
//Response
$response = $arrayData;
} catch (\Exception $e) { } catch (\Exception $e) {
//response //response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
} }
return $response; return $response;
} }
/**
* @param string $prjUid {@min 32} {@max 32}
* @param string $path
*
* @url GET /:prjUid/process-file-manager/download
*/
public function doDownloadProcessFilesManager($prjUid, $path)
{
try {
$filesManager = new \BusinessModel\FilesManager();
$filesManager->downloadProcessFilesManager($prjUid, $path);
} catch (\Exception $e) {
//response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
}
}
} }
class ProcessFilesManagerStructure class ProcessFilesManagerStructure