BxBaseModGroupsTemplate.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. * Groups module representation.
  13. */
  14. class BxBaseModGroupsTemplate extends BxBaseModProfileTemplate
  15. {
  16. protected $_iUnitCharsSummary;
  17. protected $_sUnitClassWoCover;
  18. function __construct(&$oConfig, &$oDb)
  19. {
  20. parent::__construct($oConfig, $oDb);
  21. $this->_bLetterAvatar = false;
  22. $this->_iUnitCharsSummary = 50;
  23. $this->_sUnitClassWoCover = $this->_sUnitClass; //--- Save default 'Unit' class (from BxBaseModProfileTemplate) as 'Unit W\O Cover' class here.
  24. $this->_sUnitClassWithCover .= ' bx-base-groups-unit-with-cover';
  25. $this->_sUnitClass = $this->_sUnitClassWithCover;
  26. $this->_sUnitClassWoInfo .= ' bx-base-groups-unit-wo-info';
  27. $this->_sUnitClassWoInfoShowCase .= ' bx-base-groups-unit-wo-info bx-base-groups-unit-wo-info-showcase';
  28. $this->_sUnitClassShowCase .= ' bx-base-groups-unit-with-cover bx-base-groups-unit-showcase';
  29. }
  30. function unitVars ($aData, $isCheckPrivateContent = true, $sTemplateName = 'unit.html')
  31. {
  32. $aVars = parent::unitVars ($aData, $isCheckPrivateContent, $sTemplateName);
  33. $CNF = &$this->_oConfig->CNF;
  34. $oProfile = BxDolProfile::getInstance($aData[$CNF['FIELD_AUTHOR']]);
  35. if (!$oProfile)
  36. $oProfile = BxDolProfileUndefined::getInstance();
  37. $aVars['title'] = (boolean)$aVars['public'] ? bx_process_output($aData[$CNF['FIELD_NAME']]) : _t($CNF['T']['txt_private_group']);
  38. $aVars['description'] = '';
  39. if(!empty($CNF['FIELD_TEXT']) && !empty($aData[$CNF['FIELD_TEXT']]) && (boolean)$aVars['public'])
  40. $aVars['description'] = strmaxtextlen(strip_tags($aData[$CNF['FIELD_TEXT']]), $this->_iUnitCharsSummary);
  41. $aVars['author'] = $oProfile->getDisplayName();
  42. $aVars['author_url'] = $oProfile->getUrl();
  43. $aVars['author_icon'] = $oProfile->getIcon();
  44. $aVars['author_thumb'] = $oProfile->getThumb();
  45. $aVars['author_avatar'] = $oProfile->getAvatar();
  46. return $aVars;
  47. }
  48. protected function _getUnitClass($aData, $sTemplateName = 'unit.html')
  49. {
  50. $sResult = '';
  51. switch($sTemplateName) {
  52. case 'unit_wo_cover.html':
  53. $sResult = $this->_sUnitClassWoCover;
  54. break;
  55. default:
  56. $sResult = parent::_getUnitClass($aData, $sTemplateName);
  57. }
  58. return $sResult;
  59. }
  60. protected function _getUnitSize($aData, $sTemplateName = 'unit.html')
  61. {
  62. $sResult = '';
  63. switch($sTemplateName) {
  64. case 'unit.html':
  65. case 'unit_with_cover.html':
  66. $sResult = 'ava';
  67. break;
  68. default:
  69. $sResult = $this->_sUnitSizeDefault;
  70. break;
  71. }
  72. return $sResult;
  73. }
  74. }
  75. /** @} */