├── .gitignore
├── README.md
└── modules
└── servers
└── solusvmpro
├── VERSION
├── callback_example.php
├── configure.ini.example
├── console.php
├── custom-example.php
├── get_client_data.php
├── html5console.php
├── java
├── jcterm
│ ├── jcterm-0.0.10.jar
│ ├── jsch-0.1.46.jar
│ └── jzlib-1.1.1.jar
├── sshterm-applet
│ ├── SSHTermApplet-jdk1.3.1-dependencies-signed.jar
│ ├── SSHTermApplet-jdkbug-workaround-signed.jar
│ ├── SSHTermApplet-signed.jar
│ ├── SSHTools-small-logo2.gif
│ └── sshterm-applet.htm
└── vnc
│ ├── AuthPanel.class
│ ├── ButtonPanel.class
│ ├── CapabilityInfo.class
│ ├── CapsContainer.class
│ ├── ClipboardFrame.class
│ ├── DesCipher.class
│ ├── HTTPConnectSocket.class
│ ├── HTTPConnectSocketFactory.class
│ ├── InStream.class
│ ├── MemInStream.class
│ ├── OptionsFrame.class
│ ├── RecordingFrame.class
│ ├── ReloginPanel.class
│ ├── RfbProto.class
│ ├── SessionRecorder.class
│ ├── SocketFactory.class
│ ├── VncCanvas.class
│ ├── VncCanvas2.class
│ ├── VncViewer.class
│ ├── VncViewer.jar
│ ├── VncViewer.zip
│ ├── ZlibInStream.class
│ └── index.vnc
├── js
├── get_user_data.js
├── hostname.js
├── rescuemode.js
├── rootpassword.js
└── vncpassword.js
├── lang
├── arabic.php
├── avalible
│ ├── arabic.txt
│ ├── czech.txt
│ ├── dutch.txt
│ ├── farsi.txt
│ ├── french.txt
│ ├── hebrew.txt
│ ├── hungarian.txt
│ ├── italian.txt
│ ├── portugues.txt
│ ├── spanish.txt
│ └── turkish.txt
├── english.php
├── french.php
├── italian.php
├── russian.php
├── spanish.php
└── ukranian.php
├── lib
├── CaseInsensitiveArray.php
├── Curl.php
└── SolusVM.php
├── novnc
├── images
│ ├── alt.png
│ ├── clipboard.png
│ ├── connect.png
│ ├── ctrl.png
│ ├── ctrlaltdel.png
│ ├── disconnect.png
│ ├── drag.png
│ ├── esc.png
│ ├── favicon.ico
│ ├── favicon.png
│ ├── keyboard.png
│ ├── mouse_left.png
│ ├── mouse_middle.png
│ ├── mouse_none.png
│ ├── mouse_right.png
│ ├── power.png
│ ├── screen_320x460.png
│ ├── screen_57x57.png
│ ├── screen_700x700.png
│ ├── settings.png
│ ├── showextrakeys.png
│ └── tab.png
└── include
│ ├── Orbitron700.ttf
│ ├── Orbitron700.woff
│ ├── base.css
│ ├── base64.js
│ ├── black.css
│ ├── blue.css
│ ├── des.js
│ ├── display.js
│ ├── input.js
│ ├── jsunzip.js
│ ├── keyboard.js
│ ├── keysym.js
│ ├── keysymdef.js
│ ├── logo.js
│ ├── playback.js
│ ├── rfb.js
│ ├── ui.js
│ ├── util.js
│ ├── websock.js
│ └── webutil.js
├── solusvmpro.php
├── svm_control.php
├── templates
├── clientarea.tpl
├── clientareaBootstrap.tpl
└── error.tpl
├── term
└── term.js
└── vnc.php
/.gitignore:
--------------------------------------------------------------------------------
1 | modules/servers/solusvmpro/.idea
2 | modules/servers/solusvmpro/callback.php
3 | modules/servers/solusvmpro/configure.ini
4 | modules/servers/solusvmpro/custom.php
5 | .idea
6 |
7 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | [SolusVM WHMCS Module Documentation](https://docs.solusvm.com/display/BET/SolusVM+WHMCS+billing+module)
3 |
--------------------------------------------------------------------------------
/modules/servers/solusvmpro/VERSION:
--------------------------------------------------------------------------------
1 | 4.2.1
2 |
--------------------------------------------------------------------------------
/modules/servers/solusvmpro/callback_example.php:
--------------------------------------------------------------------------------
1 | join( 'tblcustomfieldsvalues', 'tblcustomfieldsvalues.fieldid', '=', 'tblcustomfields.id' )
72 | ->join( 'tblhosting', 'tblcustomfieldsvalues.relid', '=', 'tblhosting.id' )
73 | ->join( 'tblservers', 'tblhosting.server', '=', 'tblservers.id' )
74 | ->select( 'tblcustomfields.id AS field_id', 'tblcustomfields.type AS field_type,', 'tblcustomfields.fieldname AS field_name', 'tblcustomfieldsvalues.fieldid AS value_id', 'tblcustomfieldsvalues.value AS value_value', 'tblcustomfieldsvalues.relid AS value_productid' )
75 | ->where( 'tblcustomfields.type', 'product' )
76 | ->where( 'tblcustomfields.fieldname', 'vserverid' )
77 | ->where( 'tblcustomfieldsvalues.value', $vserverid )
78 | ->where( 'tblservers.ipaddress', $remote_addr )
79 | ->first();
80 |
81 | if ( ! $product ) {
82 | echo "vserverid not found";
83 | exit();
84 | }
85 |
86 | $hosting_id = $product->value_productid;
87 | switch ( $action ) {
88 |
89 | case "suspend":
90 |
91 | /**
92 | * Product suspend
93 | */
94 |
95 | $values["messagename"] = "Service Suspension Notification";
96 | $values["id"] = $hosting_id;
97 |
98 | Capsule::table( 'tblhosting' )
99 | ->where( 'id', $hosting_id )
100 | ->update(
101 | [
102 | 'domainstatus' => 'Suspended',
103 | 'suspendreason' => $extra_var["suspendreason"],
104 | ]
105 | );
106 | $output = localAPI( 'sendemail', $values, $admin_user );
107 |
108 | if ( $output["result"] == "success" ) {
109 | echo "