BxWorkspacesModule.php 2.4 KB

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