BxJobsConnectionFans.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup Jobs Jobs
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. class BxJobsConnectionFans extends BxBaseModGroupsConnectionFans
  12. {
  13. public function __construct($aObject)
  14. {
  15. $this->_sModule = 'bx_jobs';
  16. parent::__construct($aObject);
  17. $this->_bBan = true;
  18. $this->_bQuestionnaire = true;
  19. }
  20. public function getConnectedInitiatorsCount($iContent, $isMutual = false)
  21. {
  22. $iResult = parent::getConnectedInitiatorsCount($iContent, $isMutual);
  23. if(($aAdmins = $this->_oModule->_oDb->getAdmins($iContent)) && is_array($aAdmins) && ($iAdmins = count($aAdmins)) > 0)
  24. $iResult -= $iAdmins;
  25. return $iResult;
  26. }
  27. public function getConnectedInitiators($iContent, $isMutual = false, $iStart = 0, $iLimit = BX_CONNECTIONS_LIST_LIMIT, $iOrder = BX_CONNECTIONS_ORDER_NONE)
  28. {
  29. $aResults = parent::getConnectedInitiators($iContent, $isMutual, $iStart, $iLimit, $iOrder);
  30. if(($aAdmins = $this->_oModule->_oDb->getAdmins($iContent)) && is_array($aAdmins))
  31. $aResults = array_diff($aResults, $aAdmins);
  32. return $aResults;
  33. }
  34. public function getConnectedContentAsCondition($sContentField, $iInitiator, $iMutual = false)
  35. {
  36. $aResults = parent::getConnectedContentAsCondition($sContentField, $iInitiator, $iMutual);
  37. if(($aAdmins = $this->_oModule->_oDb->getAdmins($iInitiator)) && is_array($aAdmins))
  38. $aResults['restriction']['connections_exclude_' . $this->_sObject] = [
  39. 'value' => $aAdmins,
  40. 'field' => 'content',
  41. 'operator' => 'not in',
  42. 'table' => $this->_aObject['table'],
  43. ];
  44. return $aResults;
  45. }
  46. }
  47. /** @} */