File: /home/cafsindia/groups_cafsindia_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');
}
$this->collect_base_info();
}
// LOAD PAGE WITH TABLE DATA
public function index(){
$data['table_headers']= $this->xss_clean(get_dbtable_headers($this->table_info));
$data['fliter_list'] = $this->fliter_list;
$data['link_info'] = $this->quick_link;
$this->load->view("$this->control_name/manage",$data);
}
//Dunamic db updated
public function db_config(){
$hostname = $this->input->post('hostname');
$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);
$link = mysqli_connect($db_info['hostname'], $db_info['username'], $db_info['password'], $db_info['database']);
if(mysqli_connect_errno()){
$message = mysqli_connect_error();
echo json_encode(array('success'=>False,'msg'=>$message));
exit(0);
}else{
$write_text = "<?php\n\t defined('BASEPATH') OR exit('No direct script access allowed');\n\t";
$write_text .= "\$active_group = 'default';\n\t";
$write_text .= "\$query_builder = TRUE;\n\t";
$write_text .= "\$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
);";
/** SATHISH START **/
$app_db_text = "<?php \n\t class dbconnect {
protected $db;
private \$host = '$hostname';
private \$username = '$username';
private \$password = '$password';
private \$database = '$database';
public function open_db(){
\$this->db = new mysqli(\$this->host, \$this->username, \$this->password, \$this->database);
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 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);
}
} \n\t ?>";
$app_db_filename = "./app/dbconnect.php";
chmod($app_db_filename, 0777, true);
$app_file = fopen($app_db_filename, "w");
fwrite($app_file, $app_db_text);
fclose($app_file);
chmod($app_file, 0755);
/** SATHISH END **/
$file_name = "application/config/database.php";
chmod($file_name, 0777, true);
$file = fopen($file_name, "w");
fwrite($file, $write_text);
fclose($file);
chmod($file, 0755);
$message ="DB update successfully!!!";
$this->session->sess_destroy();
echo json_encode(array('success'=>True,'msg'=>$message));
}
}
}
?>