projectdocblock.html.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * The projectdoc block 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. $active = isset($params['active']) ? $params['active'] : key($projects);
  12. $project = null;
  13. $items = array();
  14. foreach($projects as $projectItem)
  15. {
  16. $params = helper::safe64Encode("active={$projectItem->id}&type={$type}");
  17. $items[] = array
  18. (
  19. 'id' => $projectItem->id,
  20. 'text' => $projectItem->name,
  21. 'url' => createLink('doc', 'projectspace', "projectID={$projectItem->id}"),
  22. 'activeUrl' => createLink('block', 'printBlock', "blockID={$block->id}&params={$params}")
  23. );
  24. if($projectItem->id == $active) $project = $projectItem;
  25. }
  26. statisticBlock
  27. (
  28. to::titleSuffix
  29. (
  30. dropdown
  31. (
  32. a
  33. (
  34. setClass('text-gray ml-4'),
  35. $type == 'involved' ? $lang->project->involved : $lang->project->all,
  36. span(setClass('caret align-middle ml-1'))
  37. ),
  38. set::items(array(
  39. array('text' => $lang->project->involved, 'data-url' => createLink('block', 'printBlock', "blockID={$block->id}&params=" . helper::safe64Encode("type=involved")), 'data-on' => 'click', 'data-do' => "loadBlock('$block->id', options.url)"),
  40. array('text' => $lang->project->all, 'data-url' => createLink('block', 'printBlock', "blockID={$block->id}&params=" . helper::safe64Encode("type=all")), 'data-on' => 'click', 'data-do' => "loadBlock('$block->id', options.url)"))
  41. )
  42. )
  43. ),
  44. set::block($block),
  45. set::active($active),
  46. set::moreLink(createLink('doc', 'projectspace')),
  47. set::items($items),
  48. set::className('projectdoc-block'),
  49. dtable
  50. (
  51. set::height(318),
  52. set::bordered(false),
  53. set::horzScrollbarPos('inside'),
  54. set::cols(array_values($config->block->doc->dtable->fieldList)),
  55. set::data(isset($project) && !empty($docGroup) && !empty($docGroup[$project->id]) ? array_values($docGroup[$project->id]) : array()),
  56. set::userMap($users)
  57. )
  58. );
  59. render();