Extension.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. namespace Dcat\Admin\Http\Repositories;
  3. use Dcat\Admin\Admin;
  4. use Dcat\Admin\Extend\ServiceProvider as AbstractExtension;
  5. use Dcat\Admin\Form;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Repositories\Repository;
  8. use Dcat\Admin\Show;
  9. class Extension extends Repository
  10. {
  11. public function get(Grid\Model $model)
  12. {
  13. $data = [];
  14. foreach (Admin::extension()->all() as $extension) {
  15. $data[] = $this->each($extension);
  16. }
  17. return $data;
  18. //return collect($data)->sort(function ($row) {
  19. // return ! empty($row['version']) && empty($row['new_version']);
  20. //})->toArray();
  21. }
  22. /**
  23. * @param AbstractExtension $extension
  24. *
  25. * @return array
  26. */
  27. protected function each(AbstractExtension $extension)
  28. {
  29. $property = $extension->composerProperty;
  30. $name = $extension->getName();
  31. $current = $extension->getVersion();
  32. $latest = $extension->getLocalLatestVersion();
  33. return [
  34. 'id' => $name,
  35. 'alias' => $name,
  36. 'name' => $name,
  37. 'version' => $current,
  38. 'type' => $extension->getType(),
  39. 'description' => $property->description,
  40. 'authors' => $property->authors,
  41. 'homepage' => $property->homepage,
  42. 'enabled' => $extension->enabled(),
  43. 'new_version' => $latest === $current || ! $current ? '' : $latest,
  44. 'extension' => $extension,
  45. ];
  46. }
  47. public function edit(Form $form): array
  48. {
  49. return [];
  50. }
  51. public function update(Form $form)
  52. {
  53. $id = $form->getKey();
  54. return true;
  55. }
  56. /**
  57. * Get data before update.
  58. *
  59. * @param Form $form
  60. *
  61. * @return array
  62. */
  63. public function updating(Form $form): array
  64. {
  65. return [];
  66. }
  67. public function detail(Show $show): array
  68. {
  69. return [];
  70. }
  71. public function delete(Form $form, array $deletingData)
  72. {
  73. }
  74. public function store(Form $form)
  75. {
  76. }
  77. public function deleting(Form $form): array
  78. {
  79. return [];
  80. }
  81. }