Helpers.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace Encore\Admin\Helpers;
  3. use Encore\Admin\Admin;
  4. use Encore\Admin\Auth\Database\Menu;
  5. use Encore\Admin\Extension;
  6. class Helpers extends Extension
  7. {
  8. /**
  9. * Bootstrap this package.
  10. *
  11. * @return void
  12. */
  13. public static function boot()
  14. {
  15. static::registerRoutes();
  16. Admin::extend('helpers', __CLASS__);
  17. }
  18. /**
  19. * Register routes for laravel-admin.
  20. *
  21. * @return void
  22. */
  23. public static function registerRoutes()
  24. {
  25. parent::routes(function ($router) {
  26. /* @var \Illuminate\Routing\Router $router */
  27. $router->get('helpers/terminal/database', 'Encore\Admin\Helpers\Controllers\TerminalController@database');
  28. $router->post('helpers/terminal/database', 'Encore\Admin\Helpers\Controllers\TerminalController@runDatabase');
  29. $router->get('helpers/terminal/artisan', 'Encore\Admin\Helpers\Controllers\TerminalController@artisan');
  30. $router->post('helpers/terminal/artisan', 'Encore\Admin\Helpers\Controllers\TerminalController@runArtisan');
  31. $router->get('helpers/scaffold', 'Encore\Admin\Helpers\Controllers\ScaffoldController@index');
  32. $router->post('helpers/scaffold', 'Encore\Admin\Helpers\Controllers\ScaffoldController@store');
  33. $router->get('helpers/routes', 'Encore\Admin\Helpers\Controllers\RouteController@index');
  34. });
  35. }
  36. public static function import()
  37. {
  38. $lastOrder = Menu::max('order');
  39. $root = [
  40. 'parent_id' => 0,
  41. 'order' => $lastOrder++,
  42. 'title' => 'Helpers',
  43. 'icon' => 'fa-gears',
  44. 'uri' => '',
  45. ];
  46. $root = Menu::create($root);
  47. $menus = [
  48. [
  49. 'title' => 'Scaffold',
  50. 'icon' => 'fa-keyboard-o',
  51. 'uri' => 'helpers/scaffold',
  52. ],
  53. [
  54. 'title' => 'Database terminal',
  55. 'icon' => 'fa-database',
  56. 'uri' => 'helpers/terminal/database',
  57. ],
  58. [
  59. 'title' => 'Laravel artisan',
  60. 'icon' => 'fa-terminal',
  61. 'uri' => 'helpers/terminal/artisan',
  62. ],
  63. [
  64. 'title' => 'Routes',
  65. 'icon' => 'fa-list-alt',
  66. 'uri' => 'helpers/routes',
  67. ],
  68. ];
  69. foreach ($menus as $menu) {
  70. $menu['parent_id'] = $root->id;
  71. $menu['order'] = $lastOrder++;
  72. Menu::create($menu);
  73. }
  74. parent::createPermission('Admin helpers', 'ext.helpers', 'helpers/*');
  75. }
  76. }