/** * Método para actualizar el archivo config.ini según los parámetros enviados * * @param type $data Campos de los formularios * @param type $source Production o Deveploment * @param type $createDb Indica si se crea o no la base de datos * @return boolean */ public static function setConfig($data, $source = 'application') { //Verifico si tiene permisos de escritura para crear y editar un archvivo.ini if (!is_writable(APP_PATH . 'config')) { MkcMessage::warning('Asigna temporalmente el permiso de escritura a la carpeta "config" de tu app!.'); return false; } //Filtro el array $data = Filter::data($data, null, 'trim'); $rs = MkcConfig::write('config', $data, $source); if ($rs && $source == 'custom') { //Para verificar si está habilitado el manejo de sucursales $config = MkcConfig::read('config', 'custom'); $menu = new Menu(); $menu->find_first(Menu::SUCURSAL); $menu->activo = $config['app_office'] == 'Off' ? Menu::INACTIVO : Menu::ACTIVO; $menu->update(); } if ($rs) { MkcAudit::info('Se ha actualizado el archivo de configuración del sistema'); } return $rs; }
/** * Callback que se ejecuta antes de guardar/modificar */ protected function before_save() { //Verifico la sucursal al crear el usuario if (APP_OFFICE) { $this->sucursal_id = $this->sucursal_id == 'todas' ? NULL : Filter::get($this->sucursal_id, 'int'); } else { $this->sucursal_id = Sucursal::OFICINA_PRINCIPAL; } if (Session::get('perfil_id') != Perfil::SUPER_USUARIO) { //Solo el super usuario puede hacer esto //Verifico las exclusiones de los nombres de usuarios del config.ini $exclusion = MkcConfig::read('config', array('custom' => 'login_exclusion')); $exclusion = explode(',', $exclusion); if (!empty($exclusion)) { if (in_array($this->login, $exclusion)) { MkcMessage::error('El nombre de usuario indicado, no se encuentra disponible.'); return 'cancel'; } } } //Verifico si el login está disponible if ($this->_getRegisteredField('login', $this->login, $this->id)) { MkcMessage::error('El nombre de usuario no se encuentra disponible.'); return 'cancel'; } //Verifico si ya se encuentra registrado if ($this->_getRegisteredField('persona_id', $this->persona_id, $this->id)) { MkcMessage::error('La persona registrada ya posee una cuenta de usuario.'); return 'cancel'; } //Verifico si se encuentra el mail registrado if ($this->_getRegisteredField('email', $this->email, $this->id)) { MkcMessage::error('El correo electrónico ya se encuentra registrado.'); return 'cancel'; } $this->datagrid = Filter::get($this->datagrid, 'int'); }
/** * Método para editar el databases */ public function databases() { if (Input::hasPost('development') && Input::hasPost('production')) { try { Sistema::setDatabases(Input::post('development'), 'development'); Sistema::setDatabases(Input::post('production'), 'production'); MkcMessage::valid('El archivo de conexión se ha actualizado correctamente!'); } catch (KumbiaException $e) { MkcMessage::error('Oops!. Se ha realizado algo mal internamente. <br />Intentalo de nuevo!.'); } Input::delete('databases'); } $this->databases = MkcConfig::read('databases', '', true); $this->page_module = 'Configuración de conexión'; }