So there is a problem with the api `<?php
class bt_api {
private $BT_KEY = "some key";
private $BT_PANEL = "http://somewebsite:7800";
public function __construct($bt_panel = null,$bt_key = null){
if($bt_panel) $this->BT_PANEL = $bt_panel;
if($bt_key) $this->BT_KEY = $bt_key;
}
public function CreateWebsite($domain, $root_dir, $php_version, $remarks, $create_ftp, $ftp_username, $ftp_password, $create_database, $db_charset, $db_username, $db_name, $db_password){
$url = $this->BT_PANEL.'/site?action=addsite';
$p_data = $this->GetKeyData(); // Get signature
// Website parameters
$web_param = array(
'domain' => $domain,
'domainlist' => [],
'count' => 1
);
$p_data['webname'] = json_encode($web_param);
$p_data['path'] = $root_dir;
$p_data['type_id'] = 0; // Classification mark
$p_data['type'] = 'PHP'; // Project type
$p_data['version'] = $php_version; // PHP version
$p_data['port'] = 80; // Website port
$p_data['ps'] = $remarks; // Website Remarks
// FTP parameters
$p_data['ftp'] = $create_ftp;
$p_data['ftp_username'] = $ftp_username;
$p_data['ftp_password'] = $ftp_password;
// Database parameters
$p_data['sql'] = $create_database;
$p_data['codeing'] = $db_charset;
$p_data['datauser'] = $db_username;
$p_data['dataname'] = $db_name;
$p_data['datapassword'] = $db_password;
$result = $this->HttpPostCookie($url, $p_data);
$data = json_decode($result, true);
return $data;
}
private function GetKeyData(){
$now_time = time();
$p_data = array(
'request_token' => md5($now_time.''.md5($this->BT_KEY)),
'request_time' => $now_time
);
return $p_data;
}
/**
* Send POST request
* @param String $url Target website, with http://
* @param Array|String $data Data to be submitted
* @return string
*/
private function HttpPostCookie($url, $data, $timeout = 60)
{
$cookie_file = './'.md5($this->BT_PANEL).'.cookie';
if(!file_exists($cookie_file)){
$fp = fopen($cookie_file,'w+');
fclose($fp);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
}
$api = new bt_api();
$domain = 'fucky.mythicalsystems.tech';
$root_dir = '/www/wwwroot/fucky.mythicalsystems.tech';
$php_version = '72';
$remarks = 'Test website';
$create_ftp = true;
$ftp_username = 'fucky_mythicalsystems';
$ftp_password = 'M303k@dls!';
$create_database = true;
$db_charset = 'utf8';
$db_username = 'fucky';
$db_name = 'fucky_db';
$db_password = 'fucky_password389@34';
$response = $api->CreateWebsite($domain, $root_dir, $php_version, $remarks, $create_ftp, $ftp_username, $ftp_password, $create_database, $db_charset, $db_username, $db_name, $db_password);
print_r($response);
?> `
and i checked the api docs and i still get the error Array ( [status] => [msg] => Specific parameters are invalid! )