AdminAssetController.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2013-present http://www.thinkcmf.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
  8. // +----------------------------------------------------------------------
  9. // | Author: 小夏 < 449134904@qq.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\user\controller;
  12. use app\user\model\AssetModel;
  13. use cmf\controller\AdminBaseController;
  14. class AdminAssetController extends AdminBaseController
  15. {
  16. /**
  17. * 资源管理列表
  18. * @adminMenu(
  19. * 'name' => '资源管理',
  20. * 'parent' => '',
  21. * 'display'=> false,
  22. * 'hasView'=> true,
  23. * 'order' => 10000,
  24. * 'icon' => 'file',
  25. * 'remark' => '资源管理列表',
  26. * 'param' => ''
  27. * )
  28. */
  29. public function index()
  30. {
  31. $content = hook_one('user_admin_asset_index_view');
  32. if (!empty($content)) {
  33. return $content;
  34. }
  35. $result = AssetModel::field('a.*,u.user_login,u.user_email,u.user_nickname')
  36. ->alias('a')->join('user u', 'a.user_id = u.id')
  37. ->order('create_time', 'DESC')
  38. ->paginate(10);
  39. $this->assign('assets', $result->items());
  40. $this->assign('page', $result->render());
  41. return $this->fetch();
  42. }
  43. /**
  44. * 删除文件
  45. * @adminMenu(
  46. * 'name' => '删除文件',
  47. * 'parent' => 'index',
  48. * 'display'=> false,
  49. * 'hasView'=> false,
  50. * 'order' => 10000,
  51. * 'icon' => '',
  52. * 'remark' => '删除文件',
  53. * 'param' => ''
  54. * )
  55. */
  56. public function delete()
  57. {
  58. if ($this->request->isPost()) {
  59. $id = $this->request->param('id');
  60. $file_filePath = AssetModel::where('id', $id)->value('file_path');
  61. $file = 'upload/' . $file_filePath;
  62. $res = true;
  63. if (file_exists($file)) {
  64. $res = unlink($file);
  65. }
  66. if ($res) {
  67. AssetModel::where('id', $id)->delete();
  68. $this->success('删除成功');
  69. } else {
  70. $this->error('删除失败');
  71. }
  72. }
  73. }
  74. }