Merged colosa/processmaker into master

This commit is contained in:
Quenta Ronald
2015-03-27 15:54:20 -04:00
4 changed files with 46 additions and 30 deletions

View File

@@ -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;

View File

@@ -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');
}
}
}
/*----------------------------------********---------------------------------*/

View File

@@ -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);

View File

@@ -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']);