MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //home/cafsindia/hrms_allyindian_com/application/controllers/Dynamic_db.php
<?php if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Action_controller.php");
class Dynamic_db  extends Action_controller{
	
	public function __construct(){
		parent::__construct('dynamic_db');
		if(!$this->Appconfig->isAppvalid()){
			redirect('config');
		}
	}
	
	// LOAD PAGE WITH TABLE DATA
	public function index(){
		$data['key'] = $this->generateKey();
		$this->load->view("$this->control_name/manage",$data);
	}
	
	//Dunamic db updated
	public function db_config(){
		$encString         = file_get_contents('php://input');
		$_POST             = $this->cryptoDecrypt($encString);
		if(!$_POST){
			echo json_encode(array('success' => false,'message' => 'Url Expired.. Please refresh the page and try again....','table_data' => ""));
			exit(0);
		}
		$hostname      = $this->input->post('hostname');
		$port          = $this->input->post('port');
		$username      = $this->input->post('username');
		$password      = $this->input->post('password');
		$database      = $this->input->post('database');

		$db_info = array('hostname' => $hostname,'username' => $username,'password' => $password,'database' => $database,'port' => $port);
		mysqli_report(MYSQLI_REPORT_OFF);
		$link = mysqli_connect($db_info['hostname'],$db_info['username'],$db_info['password'],$db_info['database'],(int)$db_info['port']);

		if(!$link){
			echo json_encode(['success' => false,'msg' => mysqli_connect_error()]);
			exit;
		}else{	
			$write_text = "<?php
				defined('BASEPATH') OR exit('No direct script access allowed');

				\$active_group = 'default';
				\$query_builder = TRUE;

				\$db['default'] = array(
					'dsn'       => '',
					'hostname'  => '$hostname',
					'username'  => '$username',
					'password'  => '$password',
					'database'  => '$database',
					'dbdriver'  => 'mysqli',
					'dbprefix'  => 'cw_',
					'pconnect'  => FALSE,
					'db_debug'  => (ENVIRONMENT !== 'production'),
					'cache_on'  => FALSE,
					'cachedir'  => '',
					'char_set'  => 'utf8',
					'dbcollat'  => 'utf8_general_ci',
					'swap_pre'  => '',
					'encrypt'   => FALSE,
					'compress'  => FALSE,
					'stricton'  => FALSE,
					'failover'  => array(),
					'save_queries' => TRUE,
					'port'      => '$port'
				);";

			/** SATHISH START **/
			$app_db_text = "<?php \n\t class dbconnect {
			//MSSQL	
			protected \$db;	
			//MSSQL
			protected \$sql_db;
			protected \$host;
			protected \$username;
			protected \$password;
			protected \$database;
			protected \$port;

			public function open_db(){
				define('BASEPATH', true);
				define('ENVIRONMENT', 'production');
    			require_once __DIR__ . '/../application/config/database.php';
				\$this->host 	 = \$db['default']['hostname'];
				\$this->username = \$db['default']['username'];
				\$this->password = \$db['default']['password'];
				\$this->database = \$db['default']['database'];
				\$this->port     = \$db['default']['port'];
				\$this->db 		 = new mysqli(\$this->host, \$this->username, \$this->password, \$this->database, \$this->port);
				if(mysqli_connect_errno()){
					return false;
				}else{
					return true;
				}
			}
			
			public function runQuery(\$query){
				\$result = mysqli_query(\$this->db,\$query);
				if(!\$result){
					echo('Error description: '.mysqli_error(\$this->db).'<br/>');
					return false;
				}else{
					return \$result;
				}		
			}
			
			public function result(\$result){
				\$data = array();
				while (\$obj = mysqli_fetch_object(\$result)) {
					if(\$obj){				
						\$data[] = \$obj;
					}
				}
				return \$data;
			}

			public function result_array(\$result){
				\$data = array();
				while (\$obj = mysqli_fetch_assoc(\$result)) {
					if(\$obj){				
						\$data[] = \$obj;
					}
				}
				return \$data;
			}

			public function runQuery_insert_id(\$query) {
				\$result    = mysqli_query(\$this->db,\$query);
				\$insert_id = \$this->db->insert_id;
				if(!\$result){
					echo('Error description: '.mysqli_error(\$this->db).'<br/>');
					return false;
				}else{
					return \$insert_id;
				}
			}
			
			public function num_rows(\$result){
				return mysqli_num_rows(\$result);
			}
			
			public function close_db(){
				mysqli_close(\$this->db);
			}
			public function sql_runQuery(\$query) {
				\$result = sqlsrv_query(\$this->sql_db,\$query);
				if(!\$result){
					echo('Error description: '.sqlsrv_errors(\$this->sql_db).'<br/>');
					return false;
				}else{
					return \$result;
				}		
			}
			public function sql_result(\$result){
				\$data = array();
				while (\$obj = sqlsrv_fetch_object(\$result)){
					if(\$obj){				
						\$data[] = \$obj;
					}
				}
				return \$data;
			}
			//SQL Functions
			public function sql_open_db(){
				define('BASEPATH', true);
    			require_once __DIR__ . '/../application/config/database.php';
				\$this->sql_host 	 = \$db['default']['sql_hostname'];
				\$this->sql_database = \$db['default']['sql_database'];
				\$this->sql_db = sqlsrv_connect(\$this->sql_host, array( 'Database'=>\$this->sql_database));
				if(\$this->sql_db === false ) {
					return false;
				}else{
					return true;
				}
			}
		} \n\t ?>";
			//  FILE PATH TO OVERWRITE THE CONTENT
		 	$database_file_name = APPPATH . 'config/database.php';
			$app_db_filename    = FCPATH . 'app/dbconnect.php';
			// ================ APP DBCONNECT ==================
			chmod($app_db_filename, 0777);
			$app_file = fopen($app_db_filename, "w");
			fwrite($app_file, $app_db_text);
			fclose($app_file);
			chmod($app_db_filename, 0644);
			// ================== DATABASE =====================
			chmod($database_file_name, 0777);
			$file = fopen($database_file_name, "w");
			fwrite($file, $write_text);
			fclose($file);
			chmod($database_file_name, 0644);
			$message  = "DB update successfully!!!";
			$this->session->sess_destroy();
			echo json_encode(array('success'=>True,'msg'=>$message));
		}
	}
}
?>