requiredfields.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * The required fields entry point of ZenTaoPMS.
  4. *
  5. * @copyright Copyright 2009-2025 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.cnezsoft.com)
  6. * @license ZPL(http://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  7. * @author Ruogu Liu <liuruogu@easycorp.ltd>
  8. * @package entries
  9. * @version 1
  10. * @link https://www.zentao.net
  11. */
  12. class requiredFieldsEntry extends entry
  13. {
  14. /**
  15. * GET method.
  16. * 获取所有模块的自定义必填字段配置
  17. * Get required fields configuration for all modules.
  18. *
  19. * @access public
  20. * @return string
  21. */
  22. public function get()
  23. {
  24. $this->loadModel('custom');
  25. /* Load language for all required modules. */
  26. foreach($this->config->custom->requiredModules as $requiredModule) $this->app->loadLang($requiredModule);
  27. $result = array();
  28. /* Get required fields for each module. */
  29. foreach($this->config->custom->requiredModules as $moduleName)
  30. {
  31. /* Load module config. */
  32. $this->loadModel($moduleName);
  33. if($moduleName == 'user') $this->app->loadModuleConfig($moduleName);
  34. /* Get required fields. */
  35. $requiredFields = $this->custom->getRequiredFields($this->config->$moduleName);
  36. /* Handle special case for doc module. */
  37. if($moduleName == 'doc')
  38. {
  39. unset($requiredFields['createlib']);
  40. unset($requiredFields['editlib']);
  41. }
  42. /* Format result. */
  43. if(!empty($requiredFields))
  44. {
  45. $moduleFields = array();
  46. foreach($requiredFields as $method => $fields)
  47. {
  48. $moduleFields[$method] = array(
  49. 'method' => $method,
  50. 'fields' => explode(',', $fields),
  51. 'fieldsString' => $fields
  52. );
  53. }
  54. $result[$moduleName] = $moduleFields;
  55. }
  56. }
  57. return $this->send(200, $result);
  58. }
  59. }