preference.html.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <?php
  2. /**
  3. * The preference view file of block 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 Yuting Wang <wangyuting@easycorp.ltd>
  7. * @package block
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. /**
  12. * 展示个性化设置页面。
  13. * Print preference page.
  14. */
  15. function printPreference($URSRList)
  16. {
  17. global $lang, $config, $app;
  18. $imageList = array();
  19. $imageList['program-browse'] = 'list';
  20. $imageList['program-project'] = 'list-recent';
  21. $imageList['program-kanban'] = 'kanban';
  22. $imageList['product-index'] = 'panel-recent-browse';
  23. $imageList['product-all'] = 'list';
  24. $imageList['product-dashboard'] = 'panel';
  25. $imageList['product-browse'] = 'list-recent';
  26. $imageList['product-kanban'] = 'kanban';
  27. $imageList['project-browse'] = 'list';
  28. $imageList['project-execution'] = 'list-recent';
  29. $imageList['project-index'] = 'panel-recent-browse';
  30. $imageList['project-kanban'] = 'kanban';
  31. $imageList['execution-all'] = 'list';
  32. $imageList['execution-task'] = 'list-recent';
  33. $imageList['execution-executionkanban'] = 'kanban';
  34. $URSRItems = array();
  35. foreach($URSRList as $URSRKey => $URSRValue)
  36. {
  37. $contentHtml = "<div class=''><span class='inline-block primary-pale circle mr-4 text-center h-5 w-5'><p class='leading-5'>{$URSRKey}</p></span>{$URSRValue}</div>";
  38. $URSRItems[] = array('value' => $URSRKey, 'text' => $URSRValue, 'content' => array('html' => $contentHtml, 'class' => 'flex w-full border p-4 preference-box'));
  39. }
  40. foreach(array('program', 'product', 'project', 'execution') as $objectType)
  41. {
  42. $itemsName = $objectType . 'Items';
  43. $linkListName = $objectType . 'LinkList';
  44. $$itemsName = array();
  45. foreach($lang->my->$linkListName as $value => $label)
  46. {
  47. list($title, $desc) = explode('/', $label);
  48. $contentHtml = "<div class='basis-20'><img src='theme/default/images/guide/{$imageList[$value]}.png' /></div><div class='pl-2 col justify-around'><div class='text-black'>{$title}</div><div class='text-gray text-sm'>{$desc}</div></div>";
  49. ${$itemsName}[] = array('value' => $value, 'text' => $title, 'content' => array('html' => $contentHtml, 'class' => 'flex w-full border no-wrap pl-1 py-4 preference-box'));
  50. }
  51. }
  52. $isEn = $app->getClientLang() == 'en';
  53. return div
  54. (
  55. set('class', 'preference-block pt-2 px-6'),
  56. form
  57. (
  58. set::url(helper::createLink('my', 'preference', "showTip=false")),
  59. set::labelWidth($isEn ? '10rem' : '8rem'),
  60. set::actions(array('submit')),
  61. setStyle('gap', '0.8rem'),
  62. formGroup
  63. (
  64. set::label($lang->my->storyConcept),
  65. picker
  66. (
  67. set('menu', array('class' => 'menu picker-menu-list no-nested-items menu-nested flex flex-wrap content-between ursr-menu preference-menu')),
  68. set::name('URSR'),
  69. set::required(true),
  70. set::items($URSRItems),
  71. set::value($config->URSR)
  72. )
  73. ),
  74. in_array($config->systemMode, array('ALM', 'PLM')) ? formGroup
  75. (
  76. set::label($lang->my->programLink),
  77. picker
  78. (
  79. set('menu', array('class' => 'preference-menu')),
  80. set::name('programLink'),
  81. set::required(true),
  82. set::items($programItems),
  83. set::value($config->programLink)
  84. )
  85. ) : null,
  86. formGroup
  87. (
  88. set::label($lang->my->productLink),
  89. picker
  90. (
  91. set('menu', array('class' => 'preference-menu')),
  92. set::name('productLink'),
  93. set::required(true),
  94. set::items($productItems),
  95. set::value($config->productLink)
  96. )
  97. ),
  98. $config->vision != 'or' ? formGroup
  99. (
  100. set::label($lang->my->projectLink),
  101. picker
  102. (
  103. set('menu', array('class' => 'preference-menu')),
  104. set::name('projectLink'),
  105. set::required(true),
  106. set::items($projectItems),
  107. set::value($config->projectLink)
  108. )
  109. ) : null,
  110. $config->vision != 'or' ? formGroup
  111. (
  112. set::label($lang->my->executionLink),
  113. picker
  114. (
  115. set('menu', array('class' => 'preference-menu')),
  116. set::name('executionLink'),
  117. set::required(true),
  118. set::items($executionItems),
  119. set::value($config->executionLink)
  120. )
  121. ) : null,
  122. formGroup(
  123. set::label($lang->my->docLink),
  124. picker(
  125. set('menu', array('class' => 'normal')),
  126. set::name('docLink'),
  127. set::required(true),
  128. set::items(array(
  129. 'doc-lastViewedSpaceHome' => $lang->my->docLinkList['doc-lastViewedSpaceHome'],
  130. 'doc-lastViewedSpace' => $lang->my->docLinkList['doc-lastViewedSpace'],
  131. 'doc-lastViewedLib' => $lang->my->docLinkList['doc-lastViewedLib']
  132. )),
  133. set::value($config->docLink)
  134. )
  135. )
  136. )
  137. );
  138. }