125 lines
5.4 KiB
PHP
125 lines
5.4 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use function MongoDB\BSON\toJSON;
|
|
|
|
class Home extends BaseController
|
|
{
|
|
|
|
|
|
public function index(): string
|
|
{
|
|
$template = array(
|
|
'table_open' => "<table class='table table-sm table-striped table-hover table-bordered table-condensed'>",
|
|
'thead_open' => '<thead class=\'bg-indigo\'>',
|
|
'thead_close' => '</thead>',
|
|
'heading_row_start' => '<tr>',
|
|
'heading_row_end' => '</tr>',
|
|
'heading_cell_start' => '<th>',
|
|
'heading_cell_end' => '</th>',
|
|
'tbody_open' => '<tbody>',
|
|
'tbody_close' => '</tbody>',
|
|
'row_start' => '<tr>',
|
|
'row_end' => '</tr>',
|
|
'cell_start' => '<td>',
|
|
'cell_end' => '</td>',
|
|
'row_alt_start' => '<tr>',
|
|
'row_alt_end' => '</tr>',
|
|
'cell_alt_start' => '<td>',
|
|
'cell_alt_end' => '</td>',
|
|
'table_close' => '</table>'
|
|
);
|
|
//$this->load->library('table');
|
|
// $this->table->set_template($template);
|
|
|
|
$data['label_env'] = $this->what_env();
|
|
$data["hanging_list"] = $this->getProvisionList(20);
|
|
return view('welcome_message',$data);
|
|
}
|
|
|
|
public function what_env(): string
|
|
{
|
|
$curr_env = env('CONFIG_NAME','undefined?');
|
|
// echo env('CI_ENVIRONMENT');
|
|
return $curr_env;
|
|
}
|
|
|
|
private function getProvisionList($limit){
|
|
$mysql ="SELECT * FROM members_products ORDER BY id DESC LIMIT $limit";
|
|
$query = $this->db->query($mysql);
|
|
return $query->getResult();
|
|
}
|
|
// public function provision(): string
|
|
// {
|
|
// $public_path = FCPATH;
|
|
// $ansible_folder = str_replace("public/", "ANSIBLE", $public_path);
|
|
// $partMachineLocal = "/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
|
|
// if (!is_dir($ansible_folder."/parts") ){
|
|
// mkdir($ansible_folder."/parts", 0700);
|
|
// }
|
|
//
|
|
// $mysql = "SELECT id, uid, internal_url,product_id,status,provision_port FROM members_products WHERE provision_port = 0 ";
|
|
// $query = $this->db->query($mysql);
|
|
// // $num = $query->num_rows();
|
|
// $provision_list= $query->getResult();
|
|
// //$provision_list =[];
|
|
// foreach ($provision_list as $pr){
|
|
// $provisionPort = $pr->provision_port;
|
|
// $productId = $pr->product_id;
|
|
// $provisionUID = $pr->uid;
|
|
// $ContainerName= $productId.str_pad( $pr->id, 10, "0", STR_PAD_LEFT);
|
|
// $partFolder = $ansible_folder."/parts/".$provisionUID;
|
|
//
|
|
// $allocatedPort = 8011;
|
|
//
|
|
// if (!is_dir($partFolder) ){
|
|
// mkdir($partFolder, 0700);
|
|
// }
|
|
//
|
|
//
|
|
// // THIS PROVISONING COMPOSERS
|
|
// $composer_template_path = $ansible_folder."/templates/composers/".$productId."/docker-compose.yml";
|
|
// $composer_template_path_local = $partMachineLocal.$provisionUID;
|
|
//
|
|
// $prov_name = str_replace(".", "_", $pr->internal_url).".yml";
|
|
// $template_file = $ansible_folder ."/templates/".$pr->product_id.".yml";
|
|
// //Get the domposer template file
|
|
// $composer_template_contents = file_get_contents($composer_template_path);
|
|
// // Do the processing
|
|
// $composer_template_contents = str_replace("WHAT_CONTAINER_NAME", $ContainerName, $composer_template_contents);
|
|
// $destinationHomeFolder = "/home/chiefsoft/SITES/".$ContainerName;
|
|
// $composer_template_contents = str_replace("DESTINATION_FOLDER", $destinationHomeFolder, $composer_template_contents);
|
|
// $composer_template_contents = str_replace("ALLOCATED_PORT", $allocatedPort, $composer_template_contents);
|
|
// $composer_template_contents = str_replace("CNT_DB_NAME", $ContainerName, $composer_template_contents);
|
|
// $composer_template_contents = str_replace("CNT_DB_PASS", $provisionUID, $composer_template_contents);
|
|
// $composer_template_contents = str_replace("PROVISION_UID_REPLACE", $provisionUID, $composer_template_contents);
|
|
// //Save to the specific path
|
|
// $destination_composer_path = $ansible_folder."/parts/".$provisionUID."/docker-compose.yml";
|
|
// $composerFile = fopen( $destination_composer_path, "w") or die("Unable to open file!");
|
|
// fwrite($composerFile, $composer_template_contents);
|
|
// fclose($composerFile);
|
|
//
|
|
// // GET THE TEMPLATE FOR THIS PROVISIONING
|
|
// $template_content = file_get_contents($template_file);
|
|
// $template_content_processed = str_replace("WHAT_HOST_IN_USE", $productId."_SERVER", $template_content);
|
|
// $template_content_processed = str_replace("WHAT_PART_FOLDER", $partFolder, $template_content_processed);
|
|
// $template_content_processed = str_replace("DESTINATION_FOLDER", $destinationHomeFolder, $template_content_processed);
|
|
// $template_content_processed = str_replace("WHAT_PART_LOCAL", $composer_template_path_local, $template_content_processed); // depends on the local machine
|
|
// // CREATE PROVISOINING FILE
|
|
// $myfile = fopen( $ansible_folder ."/".$prov_name, "w") or die("Unable to open file!");
|
|
// fwrite($myfile, $template_content_processed);
|
|
// fclose($myfile);
|
|
// }
|
|
//
|
|
// // echo (__dir__);
|
|
//
|
|
//
|
|
//
|
|
// $data['label_env'] = "Olusesan";
|
|
//
|
|
// return view('welcome_message',$data);
|
|
// }
|
|
|
|
}
|