diff --git a/SeedDMS_Core/Core/inc.ClassGroup.php b/SeedDMS_Core/Core/inc.ClassGroup.php index 16cafc9bb..3c8afed0f 100644 --- a/SeedDMS_Core/Core/inc.ClassGroup.php +++ b/SeedDMS_Core/Core/inc.ClassGroup.php @@ -461,18 +461,24 @@ class SeedDMS_Core_Group { /* {{{ */ $status = array(); + if (!$db->createTemporaryTable("ttcontentid")) { + return false; + } // See if the group is assigned as a revisor. $queryStr = "SELECT `tblDocumentRevisors`.*, `tblDocumentRevisionLog`.`status`, ". "`tblDocumentRevisionLog`.`comment`, `tblDocumentRevisionLog`.`date`, ". "`tblDocumentRevisionLog`.`userID` ". "FROM `tblDocumentRevisors` ". "LEFT JOIN `tblDocumentRevisionLog` USING (`revisionID`) ". + "LEFT JOIN `ttcontentid` ON `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` AND `ttcontentid`.`document` = `tblDocumentRevisors`.`documentID` ". "WHERE `tblDocumentRevisors`.`type`='1' ". ($documentID==null ? "" : "AND `tblDocumentRevisors`.`documentID` = '". (int) $documentID ."' "). ($version==null ? "" : "AND `tblDocumentRevisors`.`version` = '". (int) $version ."' "). - "AND `tblDocumentRevisors`.`required`='". $this->_id ."' "; + ($documentID==null && $version==null ? "AND `ttcontentid`.`maxVersion` = `tblDocumentRevisors`.`version` " : ""). + "AND `tblDocumentRevisors`.`required`='". $this->_id ."' ". + "ORDER BY `tblDocumentRevisionLog`.`revisionLogID` DESC"; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && $resArr == false) + if ($resArr === false) return false; if (count($resArr)>0) { $status['status'] = array();