mode.html.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. /**
  3. * The code view file of custom module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  5. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  6. * @author Shujie Tian<tianshujie@easycorp.ltd>
  7. * @package custom
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('changeModeTips', sprintf($lang->custom->changeModeTips, $lang->custom->modeList[$mode == 'light' ? 'ALM' : 'light']));
  12. jsVar('mode', $mode);
  13. jsVar('hasProgram', !empty($programs));
  14. $featureItems = array();
  15. foreach($disabledFeatures as $feature)
  16. {
  17. if(is_array($feature) && empty($disabledProjectFeatures)) continue;
  18. if(is_string($feature) && !in_array($feature, $config->custom->allFeatures)) continue;
  19. $featureItems[] = h::tr
  20. (
  21. setClass('text-center'),
  22. h::td(setClass('text-left'), (is_array($feature) && !empty($disabledProjectFeatures)) ? implode($lang->comma, $disabledProjectFeatures) : $this->lang->custom->features[$feature]),
  23. h::td(setClass('text-center'), icon(setClass('text-danger'), 'ban-circle')),
  24. h::td(setClass('text-center'), icon(setClass('text-success'), 'check'))
  25. );
  26. }
  27. foreach($config->custom->allFeatures as $feature)
  28. {
  29. if(in_array($feature, $disabledFeatures)) continue;
  30. if($feature == 'projectDetail' and empty($enabledProjectFeatures)) continue;
  31. $featureItems[] = h::tr
  32. (
  33. setClass('text-center'),
  34. h::td(setClass('text-left'), ($feature == 'projectDetail' and !empty($enabledProjectFeatures)) ? implode($lang->comma, $enabledProjectFeatures) : $this->lang->custom->features[$feature]),
  35. h::td(setClass('text-center'), icon(setClass('text-success'), 'check')),
  36. h::td(setClass('text-center'), icon(setClass('text-success'), 'check'))
  37. );
  38. }
  39. formPanel
  40. (
  41. set::title($lang->custom->modeManagement),
  42. p(setClass('font-bold'), $currentModeTips),
  43. set::actions(false),
  44. h::table
  45. (
  46. setClass('modeTable'),
  47. h::thead
  48. (
  49. h::tr
  50. (
  51. h::th($lang->custom->mode),
  52. h::th(setClass('text-center'), $lang->custom->modeList['light']),
  53. h::th(setClass('text-center'), $lang->custom->modeList['ALM'])
  54. )
  55. ),
  56. h::tbody
  57. (
  58. h::tr
  59. (
  60. h::td($lang->custom->usage),
  61. h::td(setClass('text-center'), $lang->custom->modeIntroductionList['light']),
  62. h::td(setClass('text-center'), $lang->custom->modeIntroductionList['ALM'])
  63. ),
  64. $featureItems,
  65. h::tr
  66. (
  67. setClass('text-center select-mode'),
  68. h::td(setClass('text-left font-bold'), $lang->custom->selectUsage),
  69. h::td
  70. (
  71. $mode == 'light' ? set::title($currentModeTips) : null,
  72. btn
  73. (
  74. setID('useLight'),
  75. setClass('primary wide'),
  76. set('data-mode', 'light'),
  77. $mode != 'light' && empty($programs) ? null : set('data-toggle', 'modal'),
  78. $mode != 'light' && empty($programs) ? null : set('data-target', '#selectProgramModal'),
  79. $mode == 'light' ? set('disabled', true) : null,
  80. set('onclick', 'saveMode(this)'),
  81. $lang->custom->useLight
  82. )
  83. ),
  84. h::td
  85. (
  86. $mode == 'ALM' ? set::title($currentModeTips) : null,
  87. btn(setID('useALM'), setClass('primary wide'), set('data-mode', 'ALM'), $mode == 'ALM' ? set::disabled(true) : null, set('onclick', 'saveMode(this)'), $lang->custom->useALM),
  88. formHidden('mode', $mode)
  89. )
  90. )
  91. )
  92. )
  93. );
  94. modal
  95. (
  96. setID('selectProgramModal'),
  97. set::title($lang->custom->selectDefaultProgram),
  98. set::size('sm'),
  99. form
  100. (
  101. div(setClass('alert secondary-pale'), $lang->custom->selectProgramTips),
  102. formGroup(set::label($lang->custom->defaultProgram), picker(setID('program'), set::name('program'), set::items($programs), set::value(!empty($programs) ? $programID : ''), set::required(true))),
  103. formHidden('mode', 'light'),
  104. set::actions(array('submit'))
  105. )
  106. );
  107. /* ====== Render page ====== */
  108. render();