BxPersonsModule.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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 Persons Persons
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. /**
  12. * Person profiles module.
  13. */
  14. class BxPersonsModule extends BxBaseModProfileModule
  15. {
  16. function __construct(&$aModule)
  17. {
  18. parent::__construct($aModule);
  19. $this->_aSearchableNamesExcept[] = $this->_oConfig->CNF['FIELD_AUTHOR'];
  20. }
  21. public function servicePrepareFields ($aFieldsProfile)
  22. {
  23. $a = parent::_servicePrepareFields($aFieldsProfile, array(), array());
  24. if (empty($a['fullname']))
  25. $a['fullname'] = $aFieldsProfile['name'];
  26. return $a;
  27. }
  28. /**
  29. * @page service Service Calls
  30. * @section bx_persons Persons
  31. * @subsection bx_persons-other Other
  32. * @subsubsection bx_persons-get_search_options
  33. *
  34. * @code bx_srv('bx_persons', 'get_search_options', [...]); @endcode
  35. *
  36. * Get options for searchable fields
  37. *
  38. * @return array - params or false.
  39. *
  40. * @see BxPersonsModule::serviceGetSearchOptions
  41. */
  42. /**
  43. * @ref bx_persons-get_search_options "get_search_options"
  44. */
  45. public function serviceGetSearchOptions ($sField, $sFieldType, $sSearchType)
  46. {
  47. $CNF = $this->_oConfig->CNF;
  48. if (isset($CNF['OBJECT_FORM_ENTRY']) && isset($CNF['OBJECT_FORM_ENTRY_DISPLAY_ADD'])){
  49. $oForm = BxDolForm::getObjectInstance($CNF['OBJECT_FORM_ENTRY'], $CNF['OBJECT_FORM_ENTRY_DISPLAY_ADD'], $this->_oTemplate);
  50. foreach ($oForm->aInputs as $aFld) {
  51. if ($aFld['name'] == $sField && $aFld['type'] == $sFieldType && isset($aFld['checker']) && isset($aFld['checker']['params'])){
  52. return $aFld['checker']['params'];
  53. }
  54. }
  55. }
  56. if (isset($CNF['OBJECT_FORM_ENTRY']) && isset($CNF['OBJECT_FORM_ENTRY_DISPLAY_EDIT'])){
  57. $oForm = BxDolForm::getObjectInstance($CNF['OBJECT_FORM_ENTRY'], $CNF['OBJECT_FORM_ENTRY_DISPLAY_EDIT'], $this->_oTemplate);
  58. foreach ($oForm->aInputs as $aFld) {
  59. if ($aFld['name'] == $sField && $aFld['type'] == $sFieldType && isset($aFld['checker']) && isset($aFld['checker']['params'])){
  60. return $aFld['checker']['params'];
  61. }
  62. }
  63. }
  64. return false;
  65. }
  66. public function getProfileName ($aContentInfo)
  67. {
  68. return bx_process_output($aContentInfo[$this->_oConfig->CNF['FIELD_NAME']] . ($aContentInfo[$this->_oConfig->CNF['FIELD_LAST_NAME']] != '' ? ' ' . $aContentInfo[$this->_oConfig->CNF['FIELD_LAST_NAME']] : ''));
  69. }
  70. }
  71. /** @} */