diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index ee2d53902..0aa369cd9 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -71,6 +71,8 @@ class Cases { private $appSolr = null; + public $dir = 'ASC'; + public $sort = 'APP_MSG_DATE'; public function __construct() { @@ -5941,9 +5943,8 @@ class Cases $oCriteria = new Criteria('dbarray'); $oCriteria->setDBArrayTable('messages'); - - usort( $aMessages, 'ordProcess' ); - $aMessages = array_splice($aMessages, $start, $limit); + + usort( $aMessages, array($this, "ordProcess") ); return $aMessages; } @@ -6757,27 +6758,28 @@ class Cases } } } -} -function ordProcess ($a, $b) -{ - if (isset($_POST['sort'])) { - if ($_POST['dir']=='ASC') { - if ($a[$_POST['sort']] > $b[$_POST['sort']]) { + public function ordProcess ($a, $b) + { + if ($this->sort == '') { + $this->sort = 'APP_MSG_DATE'; + } + if ($this->dir=='ASC') { + if ($a[$this->sort] > $b[$this->sort]) { return 1; - } elseif ($a[$_POST['sort']] < $b[$_POST['sort']]) { + } elseif ($a[$this->sort] < $b[$this->sort]) { return - 1; } else { return 0; } } else { - if ($a[$_POST['sort']] > $b[$_POST['sort']]) { + if ($a[$this->sort] > $b[$this->sort]) { return - 1; - } elseif ($a[$_POST['sort']] < $b[$_POST['sort']]) { + } elseif ($a[$this->sort] < $b[$this->sort]) { return 1; } else { return 0; } - } + } } -} +} \ No newline at end of file diff --git a/workflow/engine/methods/cases/caseMessageHistory_Ajax.php b/workflow/engine/methods/cases/caseMessageHistory_Ajax.php index ca860287a..4a71313f5 100755 --- a/workflow/engine/methods/cases/caseMessageHistory_Ajax.php +++ b/workflow/engine/methods/cases/caseMessageHistory_Ajax.php @@ -36,9 +36,14 @@ if ($actionAjax == 'messageHistoryGridList_JXP') { G::LoadClass( 'case' ); G::LoadClass( "BasePeer" ); + + $dir = isset( $_POST['dir'] ) ? $_POST['dir'] : 'ASC'; + $sort = isset( $_POST['sort'] ) ? $_POST['sort'] : ''; global $G_PUBLISH; $oCase = new Cases(); + $oCase->dir = $dir; + $oCase->sort = $sort; $appMessageArray = $oCase->getHistoryMessagesTrackerExt( $_SESSION['APPLICATION'], true, $_REQUEST['start'], $_REQUEST['limit']); $appMessageCountArray = $oCase->getHistoryMessagesTrackerExt( $_SESSION['APPLICATION'], true); @@ -98,6 +103,8 @@ if ($actionAjax == 'messageHistoryGridList_JXP') { } } + $aProcesses = array_splice($aProcesses, $_REQUEST['start'], $_REQUEST['limit']); + $newDir = '/tmp/test/directory'; $r = G::verifyPath( $newDir ); $r->data = $aProcesses;