array( "Type" => "text", "Default" => "default"), "SSH Access" => array( "Type" => "yesno", "Description" => "Tick to grant access", ), "IP Address (optional)" => array( "Type" => "text" ), ); return $configarray; } function vesta_CreateAccount($params) { // Execute only if there is assigned server if ($params["server"] == 1) { // Prepare variables $postvars = array( 'user' => $params["serverusername"], 'password' => $params["serverpassword"], 'hash' => $params["serveraccesshash"], 'cmd' => 'v-add-user', 'arg1' => $params["username"], 'arg2' => $params["password"], 'arg3' => $params["clientsdetails"]["email"], 'arg4' => $params["configoption1"], 'arg5' => $params["clientsdetails"]["firstname"], 'arg6' => $params["clientsdetails"]["lastname"], ); $postdata = http_build_query($postvars); // Create user account $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://' . $params["serverhostname"] . ':8083/api/'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); $answer = curl_exec($curl); // Enable ssh access if(($answer == 'OK') && ($params["configoption2"] == 'on')) { $postvars = array( 'user' => $params["serverusername"], 'password' => $params["serverpassword"], 'hash' => $params["serveraccesshash"], 'cmd' => 'v-change-user-shell', 'arg1' => $params["username"], 'arg2' => 'bash' ); $postdata = http_build_query($postvars); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://' . $params["serverhostname"] . ':8083/api/'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); $answer = curl_exec($curl); } // Add domain if(($answer == 'OK') && (!empty($params["domain"]))) { $postvars = array( 'user' => $params["serverusername"], 'password' => $params["serverpassword"], 'hash' => $params["serveraccesshash"], 'cmd' => 'v-add-domain', 'arg1' => $params["username"], 'arg2' => $params["domain"], 'arg3' => $params["configoption3"], ); $postdata = http_build_query($postvars); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://' . $params["serverhostname"] . ':8083/api/'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); $answer = curl_exec($curl); } } if($answer == 'OK') { $result = "success"; } else { $result = $answer; } return $result; } function vesta_TerminateAccount($params) { // Execute only if there is assigned server if ($params["server"] == 1) { // Prepare variables $postvars = array( 'user' => $params["serverusername"], 'password' => $params["serverpassword"], 'hash' => $params["serveraccesshash"], 'cmd' => 'v-delete-user', 'arg1' => $params["username"] ); $postdata = http_build_query($postvars); // Delete user account $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://' . $params["serverhostname"] . ':8083/api/'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); $answer = curl_exec($curl); } if($answer == 'OK') { $result = "success"; } else { $result = $answer; } return $result; } function vesta_SuspendAccount($params) { // Execute only if there is assigned server if ($params["server"] == 1) { // Prepare variables $postvars = array( 'user' => $params["serverusername"], 'password' => $params["serverpassword"], 'hash' => $params["serveraccesshash"], 'cmd' => 'v-suspend-user', 'arg1' => $params["username"] ); $postdata = http_build_query($postvars); // Susupend user account $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://' . $params["serverhostname"] . ':8083/api/'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); $answer = curl_exec($curl); } if($answer == 'OK') { $result = "success"; } else { $result = $answer; } } function vesta_UnsuspendAccount($params) { // Execute only if there is assigned server if ($params["server"] == 1) { // Prepare variables $postvars = array( 'user' => $params["serverusername"], 'password' => $params["serverpassword"], 'hash' => $params["serveraccesshash"], 'cmd' => 'v-unsuspend-user', 'arg1' => $params["username"] ); $postdata = http_build_query($postvars); // Unsusupend user account $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://' . $params["serverhostname"] . ':8083/api/'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); $answer = curl_exec($curl); } if($answer == 'OK') { $result = "success"; } else { $result = $answer; } } function vesta_ChangePassword($params) { // Execute only if there is assigned server if ($params["server"] == 1) { // Prepare variables $postvars = array( 'user' => $params["serverusername"], 'password' => $params["serverpassword"], 'hash' => $params["serveraccesshash"], 'cmd' => 'v-change-user-password', 'arg1' => $params["username"], 'arg2' => $params["password"] ); $postdata = http_build_query($postvars); // Change user package $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://' . $params["serverhostname"] . ':8083/api/'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); $answer = curl_exec($curl); } if($answer == 'OK') { $result = "success"; } else { $result = $answer; } return $result; } function vesta_ChangePackage($params) { // Execute only if there is assigned server if ($params["server"] == 1) { // Prepare variables $postvars = array( 'user' => $params["serverusername"], 'password' => $params["serverpassword"], 'hash' => $params["serveraccesshash"], 'cmd' => 'v-change-user-package', 'arg1' => $params["username"], 'arg2' => $params["configoption1"] ); $postdata = http_build_query($postvars); // Change user package $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://' . $params["serverhostname"] . ':8083/api/'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); $answer = curl_exec($curl); } if($answer == 'OK') { $result = "success"; } else { $result = $answer; } return $result; } function vesta_ClientArea($params) { $code = '
'; return $code; } function vesta_AdminLink($params) { $code = '
'; return $code; } function vesta_LoginLink($params) { echo "control panel"; } function vesta_UsageUpdate($params) { // Prepare variables $postvars = array( 'user' => $params["serverusername"], 'password' => $params["serverpassword"], 'hash' => $params["serveraccesshash"], 'cmd' => 'v-list-users', 'arg1' => 'json' ); $postdata = http_build_query($postvars); // Get user stats $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://' . $params["serverhostname"] . ':8083/api/'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); $answer = curl_exec($curl); // Decode json data $results = json_decode($answer, true); // Loop through results and update DB foreach ($results AS $user=>$values) { update_query("tblhosting",array( "diskusage"=>$values['U_DISK'], "disklimit"=>$values['DISK_QUOTA'], "bwusage"=>$values['U_BANDWIDTH'], "bwlimit"=>$values['BANDWIDTH'], "lastupdate"=>"now()", ),array("server"=>$params['serverid'], "username"=>$user)); } } ?>