1
0

BxBaseModGroupsMenuViewActions.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 BaseGroups Base classes for groups modules
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. /**
  12. * 'View group' actions menu.
  13. */
  14. class BxBaseModGroupsMenuViewActions extends BxBaseModProfileMenuViewActions
  15. {
  16. public function __construct($aObject, $oTemplate = false)
  17. {
  18. parent::__construct($aObject, $oTemplate);
  19. }
  20. public function setContentId($iContentId)
  21. {
  22. parent::setContentId($iContentId);
  23. if(!$this->_oProfile || !isLogged())
  24. return;
  25. $CNF = &$this->_oModule->_oConfig->CNF;
  26. if(isset($CNF['OBJECT_CONNECTIONS']) && ($oConn = BxDolConnection::getObjectInstance($CNF['OBJECT_CONNECTIONS'])) !== false) {
  27. $iProfileId = bx_get_logged_profile_id();
  28. $iGroupProfileId = $this->_oProfile->id();
  29. $sOnclickAddFan = "bx_conn_action(this, 'bx_events_fans', 'add', '" . $iGroupProfileId . "')";
  30. $aMarkers = [];
  31. if($oConn->isConnectedNotMutual($iProfileId, $iGroupProfileId)) {
  32. if(isset($CNF['T']['menu_item_title_become_fan_sent'], $CNF['T']['menu_item_title_leave_group_cancel_request']))
  33. $aMarkers = [
  34. 'title_add_fan' => _t($CNF['T']['menu_item_title_become_fan_sent']),
  35. 'onclick_add_fan' => $sOnclickAddFan,
  36. 'title_remove_fan' => _t($CNF['T']['menu_item_title_leave_group_cancel_request']),
  37. ];
  38. }
  39. else {
  40. if(!empty($CNF['FIELD_JOIN_CONFIRMATION']) && (int)$this->_aContentInfo[$CNF['FIELD_JOIN_CONFIRMATION']] != 0)
  41. $sOnclickAddFan = $this->_oModule->_oConfig->getJsObject('entry') . ".connAction(this, 'bx_events_fans', 'add', '" . $iGroupProfileId . "')";
  42. if(isset($CNF['T']['menu_item_title_become_fan'], $CNF['T']['menu_item_title_leave_group']))
  43. $aMarkers = [
  44. 'title_add_fan' => _t($CNF['T']['menu_item_title_become_fan']),
  45. 'onclick_add_fan' => $sOnclickAddFan,
  46. 'title_remove_fan' => _t($CNF['T']['menu_item_title_leave_group']),
  47. ];
  48. }
  49. $this->addMarkers($aMarkers);
  50. if ($this->_oModule->isFan($this->_aContentInfo[$CNF['FIELD_ID']])) {
  51. $a = $oConn->getConnectedInitiators($iGroupProfileId);
  52. $this->addMarkers(array('recipients' => implode(',', $a)));
  53. }
  54. }
  55. }
  56. }
  57. /** @} */