BxBaseModGroupsFormEntry.php 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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(isset($CNF['FIELD_PUBLISHED'])){
  60. if(empty($aValsToAdd[$CNF['FIELD_PUBLISHED']]) && isset($this->aInputs[$CNF['FIELD_PUBLISHED']])) {
  61. $iPublished = $this->getCleanValue($CNF['FIELD_PUBLISHED']);
  62. if(empty($iPublished))
  63. $iPublished = time();
  64. $aValsToAdd[$CNF['FIELD_PUBLISHED']] = $iPublished;
  65. }
  66. }
  67. return parent::update ($iContentId, $aValsToAdd, $aTrackTextFieldsChanges);
  68. }
  69. protected function genCustomInputInitialMembers ($aInput)
  70. {
  71. $aInput['ajax_get_suggestions'] = BX_DOL_URL_ROOT . "modules/?r=" . $this->_oModule->_oConfig->getUri() . "/ajax_get_initial_members";
  72. return $this->genCustomInputUsernamesSuggestions($aInput);
  73. }
  74. }
  75. /** @} */