Merged colosa/processmaker into master
This commit is contained in:
@@ -413,7 +413,7 @@ class InputFilter
|
||||
* @author Marcelo Cuiza
|
||||
* @access protected
|
||||
* @param Array or String $input
|
||||
* @param String $type
|
||||
* @param String $type (url)
|
||||
* @return Array or String $input
|
||||
*/
|
||||
function xssFilterHard($input, $type = "")
|
||||
@@ -514,7 +514,7 @@ class InputFilter
|
||||
* @param Array $values
|
||||
* @return String $query
|
||||
*/
|
||||
function preventSqlInjection($query, $values = Array(), &$con = NULL)
|
||||
function preventSqlInjection($query, $values = Array(), $con = NULL)
|
||||
{
|
||||
if(is_array($values) && sizeof($values)) {
|
||||
foreach($values as $k1 => $val1) {
|
||||
@@ -535,12 +535,12 @@ class InputFilter
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal method: protect against SQL injenction
|
||||
* Internal method: validate user input
|
||||
* @author Marcelo Cuiza
|
||||
* @access protected
|
||||
* @param String $value
|
||||
* @param String or Array $types
|
||||
* @param String $valType
|
||||
* @param String $value (required)
|
||||
* @param Array or String $types ( string | int | float | boolean | path | nosql )
|
||||
* @param String $valType ( validate | sanitize )
|
||||
* @return String $value
|
||||
*/
|
||||
function validateInput($value, $types = 'string', $valType = 'sanitize')
|
||||
@@ -585,7 +585,7 @@ class InputFilter
|
||||
$value = (boolean)filter_var($value, FILTER_VALIDATE_BOOLEAN,FILTER_NULL_ON_FAILURE);
|
||||
break;
|
||||
case 'path':
|
||||
if(!file_exists($value)) {
|
||||
if(!file_exists($value) || !is_dir($value)) {
|
||||
$value = '';
|
||||
}
|
||||
break;
|
||||
@@ -623,7 +623,7 @@ class InputFilter
|
||||
}
|
||||
break;
|
||||
case 'path':
|
||||
if(!file_exists($value)) {
|
||||
if(!file_exists($value) || !is_dir($value)) {
|
||||
throw new Exception('not a valid path');
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -746,31 +746,45 @@ class Derivation
|
||||
} //switch
|
||||
}
|
||||
}
|
||||
|
||||
//SETS THE APP_PROC_CODE
|
||||
//if (isset($nextDel['TAS_DEF_PROC_CODE']))
|
||||
//$appFields['APP_PROC_CODE'] = $nextDel['TAS_DEF_PROC_CODE'];
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$taskCur = TaskPeer::retrieveByPK( $nextDel['TAS_UID']);
|
||||
$aTask = $taskCur->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
|
||||
if (!in_array($aTask['TAS_TYPE'], $arrayTaskTypeToExclude)) {
|
||||
if (!empty($iNewDelIndex) && empty($aSP)) {
|
||||
$oAppDel = AppDelegationPeer::retrieveByPK( $appFields['APP_UID'], $iNewDelIndex );
|
||||
$aFields = $oAppDel->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
$aFields['APP_STATUS'] = $currentDelegation['APP_STATUS'];
|
||||
$aFields['REMOVED_LIST'] = $removeList;
|
||||
$inbox = new ListInbox();
|
||||
$inbox->newRow($aFields, $appFields['CURRENT_USER_UID'], false, array(), ($nextDel['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE' ? true : false));
|
||||
$removeList = false;
|
||||
}
|
||||
} else {
|
||||
$oRow = ApplicationPeer::retrieveByPK($appFields['APP_UID']);
|
||||
$aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
$users = new Users();
|
||||
if ($aFields['APP_STATUS'] == 'DRAFT') {
|
||||
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'draft');
|
||||
if ($nextDel['TAS_UID'] != '-1') {
|
||||
$taskCur = TaskPeer::retrieveByPK($nextDel['TAS_UID']);
|
||||
$aTask = $taskCur->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
|
||||
if (!in_array($aTask['TAS_TYPE'], $arrayTaskTypeToExclude)) {
|
||||
if (!empty($iNewDelIndex) && empty($aSP)) {
|
||||
$oAppDel = AppDelegationPeer::retrieveByPK( $appFields['APP_UID'], $iNewDelIndex );
|
||||
$aFields = $oAppDel->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
$aFields['APP_STATUS'] = $currentDelegation['APP_STATUS'];
|
||||
$aFields['REMOVED_LIST'] = $removeList;
|
||||
$inbox = new ListInbox();
|
||||
$inbox->newRow($aFields, $appFields['CURRENT_USER_UID'], false, array(), ($nextDel['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE' ? true : false));
|
||||
$removeList = false;
|
||||
} else {
|
||||
if (empty($aSP)) {
|
||||
$oRow = ApplicationPeer::retrieveByPK($appFields['APP_UID']);
|
||||
$aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
$users = new Users();
|
||||
if ($aFields['APP_STATUS'] == 'DRAFT') {
|
||||
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'draft');
|
||||
} else {
|
||||
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'inbox');
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'inbox');
|
||||
$oRow = ApplicationPeer::retrieveByPK($appFields['APP_UID']);
|
||||
$aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
$users = new Users();
|
||||
if ($aFields['APP_STATUS'] == 'DRAFT') {
|
||||
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'draft');
|
||||
} else {
|
||||
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'inbox');
|
||||
}
|
||||
}
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
@@ -103,7 +103,6 @@ class AppCacheView extends BaseAppCacheView
|
||||
$criteria->addSelectColumn(AppCacheViewPeer::PRO_UID);
|
||||
|
||||
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
|
||||
$criteria->addJoin(AppCacheViewPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
|
||||
$criteria->add(TaskPeer::TAS_TYPE, $arrayTaskTypeToExclude, Criteria::NOT_IN);
|
||||
|
||||
$criteria->add(AppCacheViewPeer::APP_STATUS, "TO_DO", CRITERIA::EQUAL);
|
||||
|
||||
@@ -123,7 +123,10 @@ class ListMyInbox extends BaseListMyInbox
|
||||
|
||||
if ($data['DEL_INDEX'] == 1 && $data['APP_STATUS'] == 'TO_DO') {
|
||||
$data['APP_CREATE_DATE'] = $data['APP_UPDATE_DATE'];
|
||||
$this->remove($data['APP_UID'], $data['USR_UID']);
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->add(ListMyInboxPeer::APP_UID, $data['APP_UID']);
|
||||
$oCriteria->add(ListMyInboxPeer::USR_UID, $data['USR_UID']);
|
||||
ListMyInboxPeer::doDelete($oCriteria);
|
||||
$this->create($data);
|
||||
} else {
|
||||
unset($data['USR_UID']);
|
||||
|
||||
Reference in New Issue
Block a user