1
0

BxBaseModGroupsFormEntry.php 3.5 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. * Create/Edit Group Form.
  13. */
  14. class BxBaseModGroupsFormEntry extends BxBaseModProfileFormEntry
  15. {
  16. public function __construct($aInfo, $oTemplate = false)
  17. {
  18. parent::__construct($aInfo, $oTemplate);
  19. $CNF = &$this->_oModule->_oConfig->CNF;
  20. if (isset($this->aInputs['initial_members']) && !isset($this->aInputs['initial_members']['value'])) {
  21. $this->aInputs['initial_members']['value'] = isset($CNF['OBJECT_FORM_ENTRY_DISPLAY_INVITE']) && $CNF['OBJECT_FORM_ENTRY_DISPLAY_INVITE'] == $this->aParams['display'] ? array() : array(bx_get_logged_profile_id());
  22. }
  23. }
  24. function initChecker ($aValues = array (), $aSpecificValues = array())
  25. {
  26. $CNF = &$this->_oModule->_oConfig->CNF;
  27. $bValues = $aValues && !empty($aValues['id']);
  28. $aContentInfo = $bValues ? $this->_oModule->_oDb->getContentInfoById($aValues['id']) : false;
  29. if(isset($CNF['FIELD_PUBLISHED']) && $this->aParams['display'] == $CNF['OBJECT_FORM_ENTRY_DISPLAY_EDIT'] && isset($this->aInputs[$CNF['FIELD_PUBLISHED']]))
  30. if($bValues && in_array($aValues[$CNF['FIELD_STATUS']], array('active', 'hidden')))
  31. unset($this->aInputs[$CNF['FIELD_PUBLISHED']]);
  32. parent::initChecker ($aValues, $aSpecificValues);
  33. }
  34. public function insert ($aValsToAdd = array(), $isIgnore = false)
  35. {
  36. $CNF = &$this->_oModule->_oConfig->CNF;
  37. if(isset($CNF['FIELD_ADDED']) && empty($aValsToAdd[$CNF['FIELD_ADDED']])) {
  38. $iAdded = 0;
  39. if(isset($this->aInputs[$CNF['FIELD_ADDED']]))
  40. $iAdded = $this->getCleanValue($CNF['FIELD_ADDED']);
  41. if(empty($iAdded))
  42. $iAdded = time();
  43. $aValsToAdd[$CNF['FIELD_ADDED']] = $iAdded;
  44. }
  45. if(isset($CNF['FIELD_PUBLISHED']) && empty($aValsToAdd[$CNF['FIELD_PUBLISHED']])) {
  46. $iPublished = 0;
  47. if(isset($this->aInputs[$CNF['FIELD_PUBLISHED']]))
  48. $iPublished = $this->getCleanValue($CNF['FIELD_PUBLISHED']);
  49. if(empty($iPublished))
  50. $iPublished = time();
  51. $aValsToAdd[$CNF['FIELD_PUBLISHED']] = $iPublished;
  52. }
  53. $aValsToAdd[$CNF['FIELD_STATUS']] = (isset($CNF['FIELD_PUBLISHED']) && ($aValsToAdd[$CNF['FIELD_PUBLISHED']] > $aValsToAdd[$CNF['FIELD_ADDED']])) ? 'awaiting' : 'active';
  54. return parent::insert ($aValsToAdd, $isIgnore);
  55. }
  56. function update ($iContentId, $aValsToAdd = array(), &$aTrackTextFieldsChanges = null)
  57. {
  58. $CNF = &$this->_oModule->_oConfig->CNF;
  59. if(empty($aValsToAdd[$CNF['FIELD_PUBLISHED']]) && isset($this->aInputs[$CNF['FIELD_PUBLISHED']])) {
  60. $iPublished = $this->getCleanValue($CNF['FIELD_PUBLISHED']);
  61. if(empty($iPublished))
  62. $iPublished = time();
  63. $aValsToAdd[$CNF['FIELD_PUBLISHED']] = $iPublished;
  64. }
  65. return parent::update ($iContentId, $aValsToAdd, $aTrackTextFieldsChanges);
  66. }
  67. protected function genCustomInputInitialMembers ($aInput)
  68. {
  69. $aInput['ajax_get_suggestions'] = BX_DOL_URL_ROOT . "modules/?r=" . $this->_oModule->_oConfig->getUri() . "/ajax_get_initial_members";
  70. return $this->genCustomInputUsernamesSuggestions($aInput);
  71. }
  72. }
  73. /** @} */