111 lines
5.0 KiB
PHP
111 lines
5.0 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use function MongoDB\BSON\toJSON;
|
|
|
|
class Home extends BaseController
|
|
{
|
|
|
|
|
|
public function index(): string
|
|
{
|
|
$data['label_env'] = $this->what_env();
|
|
$data["hanging_list"] = $this->getProvisionList(15, 6);
|
|
$data["completed_list"] = $this->getProvisionList(15, 7);
|
|
$data["starting_list"] = $this->getProvisionList(15, 1);
|
|
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,$status){
|
|
$mysql ="SELECT * FROM members_products WHERE status = $status ORDER BY id DESC LIMIT $limit";
|
|
$query = $this->db->query($mysql);
|
|
return $query->getResult();
|
|
}
|
|
|
|
public function test_force_refresh(){
|
|
//member_product_refresh
|
|
$mysql = "INSERT INTO member_product_refresh ( member_id ,product_id, subscription_uid) VALUES( 80 , 'A000001', '22db2157-f45f-4405-8f11-958e1537a08a')";
|
|
$query = $this->db->query($mysql);
|
|
|
|
}
|
|
// 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);
|
|
// }
|
|
|
|
}
|