ModuleInfo.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Author: ljt
  5. * DateTime: 2017/2/17 12:14
  6. * Description:
  7. */
  8. namespace common\modules;
  9. use common\components\PackageInfo;
  10. use common\modules\rbac\models\Menu;
  11. class ModuleInfo extends PackageInfo
  12. {
  13. public $isCore = 0;
  14. public function getModuleClass()
  15. {
  16. return $this->getNamespace() . '\\' . 'Module';
  17. }
  18. /**
  19. * 在菜单插件管理下添加一个新菜单
  20. * @param $name
  21. * @param $route
  22. * @throws \yii\db\Exception
  23. * @return bool
  24. */
  25. protected function addMenu($name, $route)
  26. {
  27. $id = \Yii::$app->db->createCommand('SELECT `id` FROM {{%menu}} WHERE `name`="插件" AND `parent` IS NULL')->queryScalar();
  28. $model = new Menu();
  29. $model->name = $name;
  30. $model->route = $route;
  31. $model->parent = $id;
  32. return $model->save(false);
  33. }
  34. /**
  35. * 删除一个插件管理下的子菜单
  36. * @param $name
  37. * @throws \yii\db\Exception
  38. * @return bool
  39. */
  40. protected function deleteMenu($name)
  41. {
  42. $id = \Yii::$app->db->createCommand('SELECT `id` FROM {{%menu}} WHERE `name`="插件" AND `parent` IS NULL')->queryScalar();
  43. $menu = Menu::find()->where(['parent' => $id])->andWhere(['name' => $name])->one();
  44. if ($menu === null) {
  45. return true;
  46. }
  47. return $menu->delete();
  48. }
  49. }