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.
		
		
		
		
		
			
		
			
				
					
					
						
							51 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							51 lines
						
					
					
						
							1.1 KiB
						
					
					
				<?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; | 
						|
    } | 
						|
 | 
						|
    /** | 
						|
     * First modules initialization | 
						|
     */ | 
						|
    public function actionInit() : void | 
						|
    { | 
						|
        \Yii::$app->moduleManager->getModules(); | 
						|
    } | 
						|
 | 
						|
    /** | 
						|
     * 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); | 
						|
        } | 
						|
    } | 
						|
}
 | 
						|
 |