. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ require_once 'classes/model/om/BaseGroupUser.php'; require_once 'classes/model/Content.php'; require_once 'classes/model/Users.php'; require_once 'classes/model/Groupwf.php'; /** * Skeleton subclass for representing a row from the 'GROUP_USER' table. * * * * You should add additional methods to this class to meet the * application requirements. This class will only be generated as * long as it does not already exist in the input directory. * * @package workflow.engine.classes.model */ class GroupUser extends BaseGroupUser { /** * Create the application document registry * @param array $aData * @return string */ public function create($aData) { $oConnection = Propel::getConnection(GroupUserPeer::DATABASE_NAME); try { $oGroupUser = new GroupUser(); $oGroupUser->fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($oGroupUser->validate()) { $oConnection->begin(); $iResult = $oGroupUser->save(); $oConnection->commit(); return $iResult; } else { $sMessage = ''; $aValidationFailures = $oGroupUser->getValidationFailures(); foreach($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage() . '
'; } throw(new Exception('The registry cannot be created!
'.$sMessage)); } } catch (Exception $oError) { $oConnection->rollback(); throw($oError); } } /** * Remove the application document registry * @param string $sGrpUid * @param string $sUserUid * @return string */ public function remove($sGrpUid, $sUserUid) { $oConnection = Propel::getConnection(GroupUserPeer::DATABASE_NAME); try { $oGroupUser = GroupUserPeer::retrieveByPK($sGrpUid, $sUserUid); if (!is_null($oGroupUser)) { $oConnection->begin(); $iResult = $oGroupUser->delete(); $oConnection->commit(); return $iResult; } else { throw(new Exception('This row doesn\'t exist!')); } } catch (Exception $oError) { $oConnection->rollback(); throw($oError); } } function getCountAllUsersByGroup() { $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(GroupUserPeer::GRP_UID); $oCriteria->addSelectColumn('COUNT(*) AS CNT'); $oCriteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::INNER_JOIN); $oCriteria->add(UsersPeer::USR_STATUS,'CLOSED', Criteria::NOT_EQUAL); $oCriteria->addGroupByColumn(GroupUserPeer::GRP_UID); $oDataset = GroupUserPeer::doSelectRS($oCriteria); $oDataset->setFetchmode (ResultSet::FETCHMODE_ASSOC); $aRows = Array(); while ($oDataset->next()){ $row = $oDataset->getRow(); $aRows[$row['GRP_UID']] = $row['CNT']; } return $aRows; } function getAllUserGroups($usrUid) { $oCriteria = new Criteria('workflow'); // $oCriteria->addSelectColumn(GroupUserPeer::GRP_UID); // $oCriteria->addSelectColumn('COUNT(*) AS CNT'); // $oCriteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::INNER_JOIN); $oCriteria->add(GroupUserPeer::USR_UID, $usrUid); //$oCriteria->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL); //$oCriteria->addGroupByColumn(GroupUserPeer::GRP_UID); $oDataset = GroupUserPeer::doSelectRS($oCriteria); $oDataset->setFetchmode (ResultSet::FETCHMODE_ASSOC); $g = new Groupwf(); $rows = Array(); while ($oDataset->next()) { $row = $oDataset->getRow(); $grpRow = $g->load($row['GRP_UID']); $row = array_merge($row, $grpRow); $rows[] = $row; } return $rows; } } // GroupUser