diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7b30c02 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +modules/servers/solusvmpro/.idea +modules/servers/solusvmpro/callback.php +modules/servers/solusvmpro/configure.ini +modules/servers/solusvmpro/custom.php +.idea + diff --git a/README.md b/README.md index c4e7c56..6a738e4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -[SolusVM WHMCS Module Documentation](https://documentation.solusvm.com/display/DOCS/WHMCS) \ No newline at end of file +[SolusVM WHMCS Module Documentation](https://docs.solusvm.com/display/BET/SolusVM+WHMCS+billing+module) diff --git a/modules/servers/solusvmpro/VERSION b/modules/servers/solusvmpro/VERSION index 2582ddd..fae6e3d 100644 --- a/modules/servers/solusvmpro/VERSION +++ b/modules/servers/solusvmpro/VERSION @@ -1 +1 @@ -4.1.1 \ No newline at end of file +4.2.1 diff --git a/modules/servers/solusvmpro/console.php b/modules/servers/solusvmpro/console.php index f431a3f..8fbbbf2 100644 --- a/modules/servers/solusvmpro/console.php +++ b/modules/servers/solusvmpro/console.php @@ -3,9 +3,9 @@ define( "CLIENTAREA", true ); require( "../../../init.php" ); -require_once __DIR__ . '/lib/Curl.php'; -require_once __DIR__ . '/lib/CaseInsensitiveArray.php'; -require_once __DIR__ . '/lib/SolusVM.php'; +require_once ROOTDIR . '/modules/servers/solusvmpro/lib/Curl.php'; +require_once ROOTDIR . '/modules/servers/solusvmpro/lib/CaseInsensitiveArray.php'; +require_once ROOTDIR . '/modules/servers/solusvmpro/lib/SolusVM.php'; use Illuminate\Database\Capsule\Manager as Capsule; use SolusVM\SolusVM; diff --git a/modules/servers/solusvmpro/custom-example.php b/modules/servers/solusvmpro/custom-example.php index 420301f..4818015 100644 --- a/modules/servers/solusvmpro/custom-example.php +++ b/modules/servers/solusvmpro/custom-example.php @@ -16,18 +16,18 @@ # ### server is ordered, if no hostname is specified. # ########################################################################### # ################################## CODE ################################### -# $serviceid = $params["serviceid"]; -# $clientsdetails = $params["clientsdetails"]; -# if(!empty($params[domain])) { -# $currentHost = $params[domain] { -# strlen($params[domain]) - 1} +# $serviceid = $params['serviceid']; +# $clientsdetails = $params['clientsdetails']; +# if(!empty($params['domain'])) { +# $currentHost = $params['domain'] { +# strlen($params['domain']) - 1} # ; # if(!strcmp($currentHost, ".")) { -# $newHost = substr($params[domain], 0, -1); +# $newHost = substr($params['domain'], 0, -1); # mysql_real_escape_string($newHost); # mysql_query("UPDATE tblhosting SET `domain` = '$newHost' WHERE `id` = '$serviceid'"); # } else { -# $newHost = $params[domain]; +# $newHost = $params['domain']; # } # } else { # $newHost = "vps" . $serviceid . $clientsdetails['id'] . ".EXAMPLEDOMAIN.COM"; @@ -56,7 +56,7 @@ # ### from the server list in whmcs # ########################################################################### # ################################## CODE ################################### -# $code = '
'; return $code; @@ -902,7 +923,7 @@ function solusvmpro_Custom_ChangeHostname( $params = '' ) { if ( $check_section ) { ## The call string for the connection function - $callArray = array( "vserverid" => $_GET['vserverid'], "hostname" => $newhostname ); + $callArray = array( "vserverid" => $params['customfields']['vserverid'], "hostname" => $newhostname ); $solusvm = new SolusVM( $params ); @@ -959,7 +980,7 @@ function solusvmpro_Custom_ChangeRootPassword( $params = '' ) { $checkNewRootPassword = SolusVM::validateRootPassword( $newrootpassword ); if ( $checkNewRootPassword ) { ## The call string for the connection function - $callArray = array( "vserverid" => $_GET['vserverid'], "rootpassword" => $newrootpassword ); + $callArray = array( "vserverid" => $params['customfields']['vserverid'], "rootpassword" => $newrootpassword ); $solusvm = new SolusVM( $params ); @@ -1016,7 +1037,7 @@ function solusvmpro_Custom_ChangeVNCPassword( $params = '' ) { $checkNewVNCPassword = SolusVM::validateVNCPassword( $newvncpassword ); if ( $checkNewVNCPassword ) { ## The call string for the connection function - $callArray = array( "vserverid" => $_GET['vserverid'], "vncpassword" => $newvncpassword ); + $callArray = array( "vserverid" => $params['customfields']['vserverid'], "vncpassword" => $newvncpassword ); $solusvm = new SolusVM( $params ); @@ -1035,23 +1056,27 @@ function solusvmpro_Custom_ChangeVNCPassword( $params = '' ) { exit( json_encode( $result ) ); } - $solusvm->apiCall( 'vserver-vncpassword', $callArray ); + $solusvm->apiCall( 'vserver-vncpass', $callArray ); $r = $solusvm->result; $message = ''; + $isApiCallSuccessful = false; if ( $r["status"] == "success" ) { $solusvm->setCustomfieldsValue( 'vncpassword', $newvncpassword ); $message = $_LANG['solusvmpro_passwordUpdated']; + $isApiCallSuccessful = true; } elseif ( $r["status"] == "error" && $r["statusmsg"] == "VNC password not specified" ) { $message = $_LANG['solusvmpro_enterPassword']; } elseif ( $r["status"] == "error" && $r["statusmsg"] == "Not supported for this virtualization type" ) { $message = $_LANG['solusvmpro_virtualizationTypeError']; + } elseif ( $r["status"] === "error" && $r["statusmsg"] === "Length of KVM VNC password cannot be greater than 8 characters." ) { + $message = $_LANG['solusvmpro_kvmVncPasswordLengthError']; } else { $message = $_LANG['solusvmpro_unknownError']; } //$message = "" . print_r($r, true) . $solusvm->debugTxt;
$result = (object) array(
- 'success' => true,
+ 'success' => $isApiCallSuccessful,
'msg' => $message,
);
exit( json_encode( $result ) );
@@ -1097,7 +1122,7 @@ function solusvmpro_ClientArea( $params ) {
$callArray = array( "vserverid" => $customField["vserverid"], "nographs" => false );
$solusvm->apiCall( 'vserver-infoall', $callArray );
- if ( $solusvm->result["status"] == "success" ) {
+ if ( $solusvm->isSuccessResponse($solusvm->result) ) {
$data = $solusvm->clientAreaCalculations( $solusvm->result );
return solusvmpro_customclientarea( $params, $data );
@@ -1175,12 +1200,12 @@ function solusvmpro_UsageUpdate($params)
$r = json_decode($res);
$bandwidthData = explode(',', $r->bandwidth);
- $bwusage = round($bandwidthData[1] / 1024 ** 2, 0, PHP_ROUND_HALF_UP);
- $bwlimit = round($bandwidthData[0] / 1024 ** 2, 0, PHP_ROUND_HALF_UP);
+ $bwusage = round((int)$bandwidthData[1] / 1024 ** 2, 0, PHP_ROUND_HALF_UP);
+ $bwlimit = round((int)$bandwidthData[0] / 1024 ** 2, 0, PHP_ROUND_HALF_UP);
$hddData = explode(',', $r->hdd);
- $diskusage = round($hddData[1] / 1024 ** 2, 0, PHP_ROUND_HALF_UP);
- $disklimit = round($hddData[0] / 1024 ** 2, 0, PHP_ROUND_HALF_UP);
+ $diskusage = round((int)$hddData[1] / 1024 ** 2, 0, PHP_ROUND_HALF_UP);
+ $disklimit = round((int)$hddData[0] / 1024 ** 2, 0, PHP_ROUND_HALF_UP);
Capsule::table('tblhosting')
->where('id', $ownerRow->id)
@@ -1210,7 +1235,7 @@ function solusvmpro_Custom_ChangeRescueMode( $params = '' ) {
if ( $rescueValue && $rescueAction) {
// The call string for the connection function
- $callArray = array( 'vserverid' => $_GET['vserverid'], $rescueAction => $rescueValue );
+ $callArray = array( 'vserverid' => $params['customfields']['vserverid'], $rescueAction => $rescueValue );
$solusvm = new SolusVM( $params );
$solusvm->apiCall( 'vserver-rescue', $callArray );
@@ -1257,4 +1282,3 @@ function solusvmpro_customclientareaunavailable( $params, $cparams ) {
return $output;
}
}
-
diff --git a/modules/servers/solusvmpro/svm_control.php b/modules/servers/solusvmpro/svm_control.php
index 7774b61..10c9fa9 100644
--- a/modules/servers/solusvmpro/svm_control.php
+++ b/modules/servers/solusvmpro/svm_control.php
@@ -5,9 +5,9 @@
require("../../../init.php");
session_start();
-require_once __DIR__ . '/lib/Curl.php';
-require_once __DIR__ . '/lib/CaseInsensitiveArray.php';
-require_once __DIR__ . '/lib/SolusVM.php';
+require_once ROOTDIR . '/modules/servers/solusvmpro/lib/Curl.php';
+require_once ROOTDIR . '/modules/servers/solusvmpro/lib/CaseInsensitiveArray.php';
+require_once ROOTDIR . '/modules/servers/solusvmpro/lib/SolusVM.php';
use Illuminate\Database\Capsule\Manager as Capsule;
use SolusVM\SolusVM;
diff --git a/modules/servers/solusvmpro/vnc.php b/modules/servers/solusvmpro/vnc.php
index 3dd242d..0cff97a 100644
--- a/modules/servers/solusvmpro/vnc.php
+++ b/modules/servers/solusvmpro/vnc.php
@@ -3,9 +3,9 @@
define( "CLIENTAREA", true );
require( "../../../init.php" );
-require_once __DIR__ . '/lib/Curl.php';
-require_once __DIR__ . '/lib/CaseInsensitiveArray.php';
-require_once __DIR__ . '/lib/SolusVM.php';
+require_once ROOTDIR . '/modules/servers/solusvmpro/lib/Curl.php';
+require_once ROOTDIR . '/modules/servers/solusvmpro/lib/CaseInsensitiveArray.php';
+require_once ROOTDIR . '/modules/servers/solusvmpro/lib/SolusVM.php';
use Illuminate\Database\Capsule\Manager as Capsule;
use SolusVM\SolusVM;