index.php 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. use yii\grid\GridView;
  3. use yii\helpers\Html;
  4. /* @var $this yii\web\View */
  5. /* @var $dataProvider yii\data\ArrayDataProvider */
  6. $this->title = '插件';
  7. $this->params['breadcrumbs'][] = $this->title;
  8. ?>
  9. <div class="module-index">
  10. <div class="box box-success">
  11. <div class="box-body">
  12. <?= GridView::widget([
  13. 'dataProvider' => $dataProvider,
  14. 'columns' => [
  15. 'package:text:ID',
  16. 'name:text:名字',
  17. 'version:text:版本',
  18. 'author:text:作者',
  19. 'open:boolean:是否启用',
  20. [
  21. 'class' => 'common\helpers\DiyActionColumn',
  22. 'template' => '{open} {close} {install} {uninstall} {config}',
  23. 'buttons' => [
  24. 'open' => function($url, $model, $key) {
  25. if (!$model->install) {
  26. return false;
  27. }
  28. if ($model->open) {
  29. return false;
  30. }
  31. return Html::a('开启', ['open'], [
  32. 'data-method' => 'post',
  33. 'data-params' => ['id' => $model->package],
  34. 'class' => 'btn btn-default btn-xs'
  35. ]);
  36. },
  37. 'close' => function($url, $model, $key) {
  38. if (!$model->install) {
  39. return false;
  40. }
  41. if (!$model->open) {
  42. return false;
  43. }
  44. return Html::a('关闭', ['close'], [
  45. 'data-method' => 'post',
  46. 'data-params' => ['id' => $model->package],
  47. 'class' => 'btn btn-default btn-xs'
  48. ]);
  49. },
  50. 'install' => function($url, $model, $key) {
  51. if ($model->install) {
  52. return false;
  53. }
  54. return Html::a('安装', ['install'], [
  55. 'data-method' => 'post',
  56. 'data-params' => ['id' => $model->package],
  57. 'class' => 'btn btn-default btn-xs'
  58. ]);
  59. },
  60. 'uninstall' => function($url, $model, $key) {
  61. if (!$model->install) {
  62. return false;
  63. }
  64. return Html::a('卸载', ['uninstall'], [
  65. 'data-method' => 'post',
  66. 'data-confirm' => '确定要卸载该插件吗?',
  67. 'data-params' => ['id' => $model->package],
  68. 'class' => 'btn btn-default btn-xs'
  69. ]);
  70. },
  71. 'config' => function($url, $model, $key) {
  72. if (!$model->install || empty($model->config)) {
  73. return false;
  74. }
  75. return Html::a('配置', ['config', 'id' => $model->package], ['class' => 'btn btn-default btn-xs']);
  76. }
  77. ]
  78. ],
  79. ],
  80. ]); ?>
  81. </div>
  82. </div>
  83. </div>