You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					44 lines
				
				949 B
			
		
		
			
		
	
	
					44 lines
				
				949 B
			| 
											7 years ago
										 | <?php
 | ||
|  | /**
 | ||
|  |  * Created by Error202
 | ||
|  |  * Date: 04.09.2018
 | ||
|  |  */
 | ||
|  | 
 | ||
|  | namespace console\controllers;
 | ||
|  | 
 | ||
|  | use core\entities\ModuleRecord;
 | ||
|  | use core\services\ModuleService;
 | ||
|  | use yii\console\Controller;
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * Modules management from console
 | ||
|  |  * Class ModuleController
 | ||
|  |  * @package console\controllers
 | ||
|  |  */
 | ||
|  | class ModuleController extends Controller
 | ||
|  | {
 | ||
|  |     /**
 | ||
|  |      * @var ModuleService Modules management service
 | ||
|  |      */
 | ||
|  |     private $_service;
 | ||
|  | 
 | ||
|  |     public function __construct(string $id, $module, ModuleService $service, array $config = [])
 | ||
|  |     {
 | ||
|  |         parent::__construct($id, $module, $config);
 | ||
|  |         $this->_service = $service;
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     /**
 | ||
|  |      * Activate module and apply it migration if needed
 | ||
|  |      * @param $name
 | ||
|  |      */
 | ||
|  |     public function actionActivate($name)
 | ||
|  |     {
 | ||
|  |         $module = ModuleRecord::find()->andWhere(['name' => $name])->one();
 | ||
|  | 
 | ||
|  |         if ($module || $module->isDisabled()) {
 | ||
|  |             $this->_service->enable($module);
 | ||
|  |         }
 | ||
|  |     }
 | ||
|  | }
 |