ajaxsidecommits.html.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. /**
  3. * The side logs view file of repo module of ZenTaoPMS.
  4. *
  5. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.cnezsoft.com)
  6. * @license LGPL (http://www.gnu.org/licenses/lgpl.html)
  7. * @author Yidong Wang <yidong@cnezsoft.com>
  8. * @package repo
  9. * @version $Id$
  10. * @link https://www.zentao.net
  11. */
  12. ?>
  13. <?php
  14. $pathInfo = '&root=' . $this->repo->encodePath(empty($path) ? '/' : $path);
  15. if(isset($entry)) $pathInfo .= '&type=file';
  16. ?>
  17. <?php js::set('paramsBase', "repoID=$repoID&path=" . $this->repo->encodePath($path) . "&objectID=$objectID&type=$logType");?>
  18. <form id='logForm' class='main-table not-watch' method='post' onsubmit='logsubmit()'>
  19. <table class='table table-fixed'>
  20. <thead>
  21. <tr>
  22. <th class='c-checkbox w-40px'></th>
  23. <th class='c-version'><?php echo $lang->repo->revisionA?></th>
  24. <?php if($repo->SCM != 'Subversion'):?>
  25. <th class='c-commit'><?php echo $lang->repo->commit?></th>
  26. <?php endif;?>
  27. <th class='c-date'><?php echo $lang->repo->time?></th>
  28. <th class='c-committer'><?php echo $lang->repo->committer?></th>
  29. <th><?php echo $lang->repo->comment?></th>
  30. </tr>
  31. </thead>
  32. <tbody>
  33. <?php foreach($revisions as $log):?>
  34. <tr>
  35. <td>
  36. <div class='checkbox-primary'>
  37. <input type='checkbox' name='revision[]' value="<?php echo $log->revision?>" />
  38. <label></label>
  39. </div>
  40. </td>
  41. <td class='versions'><span class="revision"><?php echo html::a($this->repo->createLink('revision', "repoID=$repoID&objectID=$objectID&revision={$log->revision}" . $pathInfo), $repo->SCM != 'Subversion' ? substr($log->revision, 0, 10) : $log->revision, '', "data-app='{$this->app->tab}'");?></span></td>
  42. <?php if($repo->SCM != 'Subversion'):?>
  43. <td><?php echo $log->commit?></td>
  44. <?php endif;?>
  45. <td><?php echo substr($log->time, 0, 10);?></td>
  46. <td><?php echo $log->committer;?></td>
  47. <td title='<?php echo $log->originalComment?>' class='comment'><?php echo $log->comment?></td>
  48. </tr>
  49. <?php endforeach;?>
  50. </tbody>
  51. </table>
  52. <div class='table-footer'>
  53. <?php if(common::hasPriv('repo', 'diff')) echo html::submitButton($lang->repo->diff, '', count($revisions) < 2 ? 'disabled btn btn-primary' : 'btn btn-primary')?>
  54. <?php echo html::a($this->repo->createLink('log', "repoID=$repoID&branchID=&objectID=$objectID&entry=" . $this->repo->encodePath($path) . "&revision=HEAD&type=$logType"), $lang->repo->allLog, '', "class='allLogs' data-app='{$this->app->tab}'");?>
  55. <div class='pull-right'>
  56. <ul id="repoPageSize" class="pager" data-ride="pager" data-elements="size_menu" data-rec-total="<?php echo $pager->recTotal;?>" data-rec-per-page="<?php echo $pager->recPerPage;?>" data-page="<?php echo $pager->pageID;?>"></ul>
  57. <div class='btn-group'>
  58. <?php
  59. $prePage = $pager->pageID == 1 ? 1 : $pager->pageID - 1;
  60. $nextPage = $pager->pageID == $pager->pageTotal ? $pager->pageID : $pager->pageID + 1;
  61. $params = "repoID=$repoID&path=" . $this->repo->encodePath($path) . "&objectID=$objectID&type=$logType&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}";
  62. $preLink = $this->repo->createLink('ajaxSideCommits', "$params&pageID=$prePage");
  63. $nextLink = $this->repo->createLink('ajaxSideCommits', "$params&pageID=$nextPage");
  64. echo html::commonButton("<i class='icon icon-angle-left'></i>", "data-href='$preLink'", "ajaxPager btn" . ($prePage == $pager->pageID ? ' disabled' : ''));
  65. echo html::commonButton("<i class='icon icon-angle-right'></i>", "data-href='$nextLink'", "ajaxPager btn" . ($nextPage == $pager->pageID ? ' disabled' : ''));
  66. ?>
  67. </div>
  68. </div>
  69. </div>
  70. </form>
  71. <script>
  72. if($.cookie('sideRepoSelected'))
  73. {
  74. var sideRepoSelectedAry = $.cookie('sideRepoSelected').split(',');
  75. for(i in sideRepoSelectedAry) $("input:checkbox[value='" + sideRepoSelectedAry[i] + "']").attr('checked', 'checked');
  76. }
  77. if($("input:checkbox[name='revision[]']:checked").length < 2)
  78. {
  79. $("input:checkbox[name='revision[]']:lt(2)").attr('checked', 'checked');
  80. }
  81. $("input:checkbox[name='revision[]']").each(function(){ if(!$(this).is(':checked')) $(this).attr("disabled","disabled")});
  82. $("input:checkbox[name='revision[]']").click(function(){
  83. var checkNum = $("input:checkbox[name='revision[]']:checked").length;
  84. if (checkNum >= 2)
  85. {
  86. $("input:checkbox[name='revision[]']").each(function(){ if(!$(this).is(':checked')) $(this).attr("disabled","disabled")});
  87. }
  88. else
  89. {
  90. $('#diffRepo').remove();
  91. $("input:checkbox[name='revision[]']").each(function(){$(this).attr("disabled", false)});
  92. }
  93. });
  94. /**
  95. * Method before submit
  96. *
  97. * @access public
  98. * @return void
  99. */
  100. function logsubmit()
  101. {
  102. $("input:checkbox[name='revision[]']:checked").each(function()
  103. {
  104. var sideRepoSelected = $.cookie('sideRepoSelected') ? $.cookie('sideRepoSelected').split(',') : [];
  105. sideRepoSelected.unshift($(this).val());
  106. sideRepoSelected = sideRepoSelected.slice(0, 2);
  107. $.cookie('sideRepoSelected', sideRepoSelected.join(','), {expires:config.cookieLife, path:config.webRoot});
  108. });
  109. }
  110. $(function()
  111. {
  112. var myPager = $('#repoPageSize').data('zui.pager');
  113. if(!myPager) $('#repoPageSize').pager();
  114. $('#repoPageSize').on('onPageChange', function(e, state, oldState) {
  115. var link = createLink('repo', 'ajaxSideCommits', paramsBase + '&recTotal=' + state.recTotal + '&recPerPage=' + state.recPerPage + '&pageID=' + state.page);
  116. $('#sidebar .side-body').load(link);
  117. });
  118. });
  119. </script>