/** * Chuc nang: cai dat cac module vao he thong * @param type $mod_name * @return boolean */ public function actionInstallModule($mod_name) { $ok = @(include_once Yii::app()->getBasePath() . '/modules/' . $mod_name . '/setup.php'); // Kiem tra ton tai file setup trong module if (!$ok) { $this->render('_view_error', array('msg' => 'Module setup file could not be found.')); return false; } // Kiem tra da dat ten module chua if (!$config['mod_name']) { $this->render('_view_error', array('msg' => 'Module does not have a valid setup module name defined.')); return false; } $modelMol = Modules::model()->findAll(); $module = new Modules(); $module->module_directory = $mod_name; $module->module_name = $config['mod_name']; $module->module_text = isset($config['mod_ui_name']) ? $config['mod_ui_name'] : $config['mod_name']; $module->modules_description = $config['mod_description']; $module->module_hidden = 0; $module->module_order = count($modelMol) + 1; if ($module->save()) { if (isset($config['mod_permission_define']) && count($config['mod_permission_define']) > 0) { foreach ($config['mod_permission_define'] as $defineItem) { $definepermission = new DefinePermission(); $definepermission->module_id = $module->lb_record_primary_key; $definepermission->define_permission_name = $defineItem; $definepermission->save(); } } $this->redirect($this->createUrl('viewModules')); } }