ProjectXtreamUI For WHMCS

From XtreamResell
Revision as of 16:06, 13 November 2019 by Admin (talk | contribs) (Known Issues)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

About ProjectXtreamUI for WHMCS

ProjectXtreamUI is addon that provides seamless integration with XtreamUI. It uses whmcs at its core. It is designed for the back-end XtreamUI reseller, not the top tier XtreamUI panel owner. ProjectXtreamUI will automate tasks such as adding users, credits and automated billing. ProjectXtreamUI is also not restricted to working with just one panel and can be used on as many panels that you may be subscribed too.

  • Admin Area Features:
    • Create/Suspend/Unsuspend/Terminate Service.
    • Change Package - Supports Configurable Options.
  • Client Area Features:
    • Create/Terminate Service.
    • View Service Details.

System Requirements

This is still a Beta Edition. I can confirm the Addon works with Ubuntu 18.04.3 LTS. We have tested the addon on namecheap shared hosting (Cloudlinux) and it works. You need to get them to unblock your reseller port i.e http://domain.com:25500 they will need to unblock 25500 for you.


Please Read Known issues at the bottom of this Wiki before proceeding.

The following table shows the minimum and recommended system requirements for running WHMCS 7.5 and later. ProjectX has the same System Requirements as WHMCS.


System Requirements
Requirement Minimum Recommended
Requirement Minimum Recommended
PHP Version 7.1 Latest 7.1 or 7.3 Release
PHP Memory Limit 64MB 128MB**
PHP Database Extension PDO PDO
PHP Extensions Curl with SSL, GD2 Image Library, JSON Support, XML Curl with SSL, GD2 Image Library, JSON Support, IMAP,

MBString, , Iconv


Installation

1. Log in to our client area and download the module. Take Note of your license here as you will need it later.


Download 01.jpg


2. In the downloaded file you will find PHP 7_2-7_3.

  • Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.

Download 02.jpg

3. Extract the zip file and you will see a new folder created called "modules".


Download 06.jpg

4.

  • Upload the "modules => servers => xtreamresell" folder into the main WHMCS directory => Modules => Servers.

Download 03.jpg

  • Upload the "modules => addons => addonxtreamresell" folder into the main WHMCS directory => Modules => Addons.

Download 07.jpg

5. Click "Setup" => "Addon Modules."

Download 08.jpg

6. Click "Activate" on the "XtreamResell licensing Manager" Addon to activate the addon.

Download 09.jpg

7. Click "Configure". Paste your license key in from the Client Area. (Step 1) and Click "Save". Your product will now be activated.

  • NOTE: Each time you make changes to the license you will need to first deactivate the license and then repeat the above process.Italic text

Download 10.jpg

Configuration of ProjextXtreamUI

In this tutorial we will explain how to create your first product.

7. Click "Setup", "Products/Service", "Products/Service"

Configure 01.jpg

8. Click "Create New Group"

Configure 02.jpg

9. Create your group and give it a name, click "Save".

Configure 03.jpg

10. Click "Create New Product".

Configure 04.jpg

11. For "Product Type" use Hosting or Other. Give your product a name. Do not use and special characters here. Click continue

Configure 05.jpg

12. Enter your "Product Description" leave the "Welcome Email " as default we will come back and change this later. Check the Featured box. Uncheck the "Require Domain" box and select the "Featured" box to make the product Live or choose "Hidden" to hide the product. Click "Save"

Configure 06.jpg

13. Move to the next tab "Pricing". If your product is going to be a Trial and its free choose "Free". If your product is a One time package like a 48 Hour etc choose "One Time". If your product is a recurring subscription and will be billed Monthly, Quarterly etc choose "Recurring".

NOTE: You are using multiple currencies you only have to update the currency for your base currency i.e GBP. If you click setup => Payments => Currencies, there is a option to update "Product Prices". This will update the prices with the current exchange rate.

Configure 08.jpg

14 In this example we will show you how to create a Trial. In pricing set the payment type to free and save. Click the next tab "Modules". Click "Module Name" a drop-down list will show. Choose "Xtreamresell". Enter your "Reseller Username", "Reseller Password", "XtreamCodes URL" and "Reseller Domain URL". Dont forget the "Trailing slash" / after the Urls. Click save. Now Click the dropdown box where is says "Line Type". If you entered your login information correctly, ProjectXreamUI will retrieve the products from your panel and list them in the dropdown list. Select your "Trial" product here. Leave all other Product ID's as none. Leave "Reseller Credits" as unchecked and "Credit Amount" as empty as this will enable the product to be used by resellers to add credit to the XtreamUI panel. We will explain this in the next section of the tutorial

Existing Xtreamresell customers may a continuous spinner when accessing module settings. This is because the addon is trying to contact the old cms. The workaround is from the "Module Name" dropdown box select a random module i.e WHMSonic and then click save. Then select Xtreamresell again and click save and your fields should populate.

Install01.jpg

15 In this example we will show you how to create a Recurring Subscription. in the Pricing section you will set the billing periods i.e Monthly, Quarterly etc etc. If you prefer you could have one product for Monthly and another for Quarterly etc. In the below we have one Product for all. Click the dropdown box where is says "Line Type" and select "official" then click "save". Now select the dropdown boxes where it says "Monthly ID" etc and choose your product ID's. Click save when done.

Existing Xtreamresell customers may a continuous spinner when accessing module settings. This is because the addon is trying to contact the old cms. The workaround is from the "Module Name" dropdown box select a random module i.e WHMSonic and then click save. Then select Xtreamresell again and click save and your fields should populate.

Install02.jpg

  • Leave "Reseller Credits" as unchecked and "Credit Amount" as empty as this will enable the product to be used by resellers to add credit to the XtreamUI panel. We will explain this in the next section of the tutorial

Configure 13.jpg


15. Next we will configure the automation settings.

There are 4 automation settings to choose from for product activation and they are: Automatically setup the product as soon as an order is placed - this will setup instantly usually used for free products Automatically setup the product as soon as the first payment is received - this will perform the setup as soon as the order is paid for Automatically setup the product when you manually accept a pending order - this will perform the setup only when an admin has manually reviewed and accepted the order Do not automatically setup this product - never auto setup the product - admins can still initiate manually from the product details page under a clients profile Next Click "Save".

Configure 10.jpg

16. Still in "Products/Services" click "Custom Fields" NOTE: This is a required Field. NOTE this is case sensitive and Username starts with a Capital U. If you Customers will be connecting using a "Username" In the "Field Name" Enter "Username" and for "Field Type" choose "Text Box" These fields must be entered exactly like below.

Description (You need to enter something here) and validation fields are optional.

You need to check the boxes "Required Field, Show on Order Form and Show on Invoice"

In the below example I am using a validation string to force users to use a email address. You can leave that field blank if you wish. Below is the Regex should you want to use it to force them to use emails.

/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/

If you would prefer to force Letters and Numbers use the Regex below.

A username between 4 and 8 characters in length, alpha-numeric, and allowing underscores

/^[a-z\d_]{4,8}$/i


Configure 11.jpg

17. ProjectX is also able to setup MAG Devices.

  • NOTE: You either setup a product to use a Username or MAC do not use both together.Italic text

For MAC to work its the almost the same as above. The Field name is "MAC" (This is Case Sensitive) and the Regex is below. I would reccomend using the Regex for the MAC. NOTE MAC is in Capitals

/^[a-fA-F0-9:]{17}|[a-fA-F0-9]{12}$/

Configure 12.jpg

18. Random Username and Password

Install03.jpg

Random username will generate a random numeric username. For this function to work you should uncheck show on Order Form in Custom Fields for Username and clear any Validation strings

Install04.jpg

Generate a random numeric password. For this function to work you should be able to edit passwords in XtreamUI


19. Click "Setup" > "Email templates" and then "Create New Email template"

You need to create two email templates. "New Account Information" for user accounts and "New Account Information MAGBOX" for Magboxes. When creating those email templates the must be spelt exactly like the above.

Configure 15.jpg

20. Email Type choose "Product/Service" and give the template one of the above names.

Configure 16.jpg

21. Add a Subject like "New Account Information" then click "Enable/Disable Rich Text Editor" to enable the rich text editor.

Configure 17.jpg

22. below is a example template to get you started. The template will use {$service_domain} to get your domain from the ProjectX module settings. Just copy and paste the below text and click save.

Template 1 for General use (m3u)

Dear {$client_name},


Your order for {$service_product_name} has now been activated. Please keep this message for your records.


Product Details are :

Product/Service: {$service_product_name}

Payment Method: {$service_payment_method}

Amount: {$service_recurring_amount}

Billing Cycle: {$service_billing_cycle}

Next Due Date: {$service_next_due_date}

Your M3U is:

NOTE: This is Case Sensitive:

{$service_domain}get.php?username={$service_username}&password= {$service_password}&type=m3u_plus&output=ts

Your Electronic Programme Guide is:

{$service_domain}xmltv.php?username={$service_username}&password={$service_password}

Login details:

Primary-Server={$service_domain}

Username :{$service_username}

Password : {$service_password}

Thanks for choosing us.

{$signature}


Template 2 for mag use


Dear {$client_name},


Your order for {$service_product_name} has now been activated. Please keep this message for your records.


Product Details are :

Product/Service: {$service_product_name}

Payment Method: {$service_payment_method}

Amount: {$service_recurring_amount}

Billing Cycle: {$service_billing_cycle}

Next Due Date: {$service_next_due_date}


Login Details

Portal={$service_domain}c

Your MAC is: {$service_username}

Thanks for choosing us.

{$signature}

23. Return to "Product/Services" and change the "Welcome Email" to your newly created email template. This only has to be done for Trials. For "official" (paid subscriptions) leave the welcome email as none.

Configure 18.jpg

24. Click Settings => General Settings

Configure 19.jpg

25. Click the "Other" tab. Check the box Attempt to load all files for Encoded file loading. then Click save

  • NOTE: Dont forget this step it is required for ProjectX to function properly.Italic text

Configure 20.jpg

Configuring Reseller Credits

If you have Resellers and would like them to be able to add credits automatically. We will show you how to configure ProjectX for this.

1. Got to Setup => Products/Service => Products/Services, "Create New Group" (Optional) and "New product".

Reseller 01.jpg

2. Give your product a name and a description.

3. In the "Pricing" tab set "Payment Type" to "One Time".

4 In "Module Settings" Choose "xtreamresell" from the dropdown box. Enter "YOUR" "Reseller Username", "Reseller Pass", "Reseller URL". Leave Trial ID, Monthly ID etc all as none. Enable the checkbox "Reseller Credits" and enter the amount of Credits this will add to the reseller in the Xtreamcodes panel. Click "Save".

Reseller 02.jpg

5. Go to the "Custom Fields" tab. in "Field Name" enter "Reseller" NOTE the capital R. Enter a description. i.e enter your reseller name exactly as it is spelt. Enable the checkboxes for Required Field Show on Order Form and Show on Invoice. and then click save. Your Prouct is now setup.

Reseller 03.jpg

5. When purchasing the Reseller Credits from the client area they will be presented with the below screen at checkout.

Reseller 04.jpg


Updating & Uploading ProjectX

In this tutorial we will show you how to upload and download ProjectX using Filezilla.

1. Login to your client area and click on your services, then click on the service you wish to access the downloads for.

Update 01.jpg

2. If you want a diffrent version click the download button on the left and it will display all versions. Click the download button to download the zip file to your computer.

Update 02.jpg

3. Extract the zip files and a folder called "xtreamresell" will be created. If you open the file it will look something like the below picture.

Update 03.jpg

4. You will need a FTP client to upload the files to your server. We would suggest using. Filezilla

Update 04.jpg

5. open Filezilla and click the button under "file" to open the file manager.

Update 6.jpg

6. Click "New Site". Host" enter your server ipaddress. "Port" enter 22. "Protocol" choose SFTP, SSH File Transfer protocol. "Login Type" choose Normal. "User" enter your root user name, this would most likley be "root" and in "Password" enter your root password. Click "Connect".


Update 05.jpg

7. Once filezilla has connected. The files on the left are on your computer. Find the location of the "xtreamresell" folder you extracted earlier. On the right is your server. Browse to where you installed WHMCS. Once you find wher WHMCS is installed you will want to open modules => servers. In the picture below our WHMCS folder is called "billing" You will then upload the "xtreamresell" folder to the server folder. If you are updating only the files from the "xtreamresell" folder will be uploaded.Filezilla will ask you if its ok to replace the files already in the folder. Answer YES. Once thats done ProjectX has been updated and you can close Filezilla and return to WHMCS.


Update 07.jpg

Known Issues

1. We have tested the addon on namecheap shared hosting and it works. You need to get them to unblock your reseller port i.e http://domain.com:25500 they will need to unblock 25500 for you. You may need to get them to disable ModSecurity as well.

2. Existing Xtreamresell customers may a continuous spinner when accessing module settings. This is because the addon is trying to contact the old cms. The workaround is from the "Module Name" dropdown box select a random module i.e WHMSonic and then click save. Then select Xtreamresell again and click save and your fields should populate.

3. If you encounter any other bugs please log a ticket and inform us.