progress.html.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace zin;
  3. set::id('progress');
  4. set::title($title);
  5. to::header(html($approvalNotice));
  6. $keys = array_keys($nodeGroup);
  7. $lastKey = end($keys);
  8. foreach($nodeGroup as $approvalID => $nodes)
  9. {
  10. $items = '';
  11. foreach($nodes as $node)
  12. {
  13. if(empty($node->id)) continue;
  14. if($node->type == 'start' || $node->type == 'end')
  15. {
  16. $items .= $this->approval->buildReviewDesc($node, array('users' => $users, 'approval' => zget($approvals, $approvalID, array())));
  17. }
  18. elseif($node->type == 'branch')
  19. {
  20. foreach($node->branches as $branchNodes)
  21. {
  22. foreach($branchNodes->nodes as $branchNode)
  23. {
  24. $items .= $this->approval->buildReviewDesc($branchNode, array('users' => $users, 'allReviewers' => $reviewerGroup[$approvalID], 'reviewers' => zget($reviewerGroup[$approvalID], $branchNode->id, array())), $nodePairs);
  25. }
  26. }
  27. }
  28. elseif(isset($reviewerGroup[$approvalID][$node->id]))
  29. {
  30. $items .= $this->approval->buildReviewDesc($node, array('users' => $users, 'reviewers' => $reviewerGroup[$approvalID][$node->id]), $nodePairs);
  31. }
  32. elseif(!empty($node->reviewers))
  33. {
  34. $items .= $this->approval->buildReviewDesc($node, array(), $nodePairs);
  35. }
  36. }
  37. ul(setClass('timeline timeline-tag-right'), html($items));
  38. $approvalID == $lastKey ? h::hr(setClass('scroll-into-view my-5')) : hr();
  39. }