123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <?php
- namespace common\components;
- use common\models\Plugin as PluginModel;
- use plugins\Plugin;
- use Yii;
- use yii\base\BootstrapInterface;
- use yii\base\Component;
- class LoadPlugin extends Component implements BootstrapInterface
- {
- public function bootstrap($app)
- {
-
- if (!file_exists(Yii::getAlias('@root/web/storage/install.txt'))) {
- return;
- }
- $models = PluginModel::findOpenPlugins();
- foreach ($models as $model) {
-
- $plugins = Yii::$app->pluginManager->findOne($model->id);
- if ($plugins instanceof BootstrapInterface) {
- $plugins->bootstrap($app);
- }
-
- if (!empty($plugins->aliases)) {
- foreach ($plugins->aliases as $name => $path) {
- Yii::setAlias($name, $path);
- }
- }
-
-
- }
- }
- }
|