You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
334 lines
11 KiB
PHP
334 lines
11 KiB
PHP
<?php
|
|
$_VPS = true;
|
|
$_CPHP = true;
|
|
require("cphp/base.php");
|
|
require("classes/class.country.php");
|
|
require("classes/class.provider.php");
|
|
require("classes/class.plan.php");
|
|
require("classes/class.plan.priceoption.php");
|
|
require("classes/class.plan.locationoption.php");
|
|
require("classes/class.paymentmethod.php");
|
|
require("classes/class.virtualizationplatform.php");
|
|
|
|
?>
|
|
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,600' rel='stylesheet' type='text/css'>
|
|
<style>
|
|
body
|
|
{
|
|
font-family: "Open Sans", sans-serif;
|
|
}
|
|
|
|
.success
|
|
{
|
|
background-color: #E8FFC8;
|
|
border: 1px solid #AAFF38;
|
|
padding: 6px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.formfield
|
|
{
|
|
margin: 18px 8px;
|
|
background-color: #F6FFE9;
|
|
padding: 9px;
|
|
border: 1px solid #68B800;
|
|
}
|
|
|
|
h2
|
|
{
|
|
margin-top: 4px;
|
|
}
|
|
|
|
button
|
|
{
|
|
display: block;
|
|
font-size: 21px;
|
|
margin-left: 200px;
|
|
font-weight: bold;
|
|
font-family: "Open Sans", sans-serif;
|
|
}
|
|
</style>
|
|
<?php
|
|
|
|
if(!isset($_GET['action']))
|
|
{
|
|
?>
|
|
<h1>VPS plan submission page</h1>
|
|
<p>
|
|
<strong>Note:</strong> submitting providers or plans does not require registration yet, but every submission will be reviewed before becoming
|
|
visible. Typically this happens within 1 or 2 days. Since we have no way of contacting you, check back after 2 days to see if your submissions
|
|
have appeared yet. If not, there was probably an issue with your submission, and you should submit it again with correct details. If you need
|
|
any help on filling in the submission forms, feel free to <a href="http://irc.lc/cryto/crytocc">drop into IRC</a> and ask joepie91 for help.
|
|
</p>
|
|
<a href="?action=provider">Add provider</a><br>
|
|
<a href="?action=plan">Add plan</a><br>
|
|
<!-- <a href="?action=prices">Add pricing</a><br> -->
|
|
<?php
|
|
}
|
|
elseif($_GET['action'] == "provider")
|
|
{
|
|
// form
|
|
|
|
if(isset($_POST['submit']))
|
|
{
|
|
// process
|
|
$provider = new Provider(0);
|
|
$provider->uName = $_POST['name'];
|
|
$provider->uUrl = $_POST['url'];
|
|
$provider->uCompanyLocation = $_POST['location'];
|
|
$provider->uPlanCount = 0;
|
|
$provider->uUsesMaxmind = 2;
|
|
$provider->uCustomPossible = false;
|
|
$provider->uVisible = false;
|
|
$provider->sSubmissionDate = time();
|
|
$provider->InsertIntoDatabase();
|
|
echo("<div class=\"success\">Your submission has been added and will be reviewed shortly. <a href=\"quickadd.php?action=plan&sub={$provider->sId}\">Click here to add plans for the provider you just added.</a></div>");
|
|
}
|
|
|
|
?>
|
|
<form method="post" action="?action=provider">
|
|
Provider Name<br>
|
|
<input type="text" name="name"><br>
|
|
<br>
|
|
|
|
URL<br>
|
|
<input type="text" name="url" value="http://"><br>
|
|
<br>
|
|
|
|
Company location (NOT server location!)<br>
|
|
<input type="text" name="location"><br>
|
|
<br>
|
|
|
|
<button type="submit" name="submit" value="submit">Submit</button>
|
|
</form>
|
|
<?php
|
|
}
|
|
elseif($_GET['action'] == "plan")
|
|
{
|
|
if(!isset($_GET['sub']))
|
|
{
|
|
// list providers
|
|
$result = mysql_query_cached("SELECT * FROM providers ORDER BY `Name` ASC");
|
|
|
|
foreach($result->data as $row)
|
|
{
|
|
$provider = new Provider($row);
|
|
echo("<a href=\"?action=plan&sub={$provider->sId}\">{$provider->sName}</a><br>");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// form
|
|
$provider_id = $_GET['sub'];
|
|
$provider = new Provider($provider_id);
|
|
|
|
if(isset($_POST['submit']))
|
|
{
|
|
// process
|
|
$price_defined = false;
|
|
|
|
foreach($_POST['months'] as $month)
|
|
{
|
|
if(!empty($month))
|
|
{
|
|
$price_defined = true;
|
|
}
|
|
}
|
|
|
|
if($price_defined === false)
|
|
{
|
|
die("You did not specify any billing periods / prices. Go back and try again.");
|
|
}
|
|
|
|
$plan = new Plan(0);
|
|
$plan->uProviderId = $provider_id;
|
|
$plan->uName = $_POST['name'];
|
|
$plan->uGuaranteedRam = $_POST['guaranteed'];
|
|
$plan->uBurstRam = $_POST['burst'];
|
|
$plan->uDiskSpace = $_POST['disk'];
|
|
$plan->uTraffic = $_POST['traffic'];
|
|
$plan->uBandwidth = $_POST['bandwidth'];
|
|
$plan->uBackupSpace = $_POST['backup'];
|
|
$plan->uCpuCores = $_POST['cores'];
|
|
$plan->uAllowsIrc = (isset($_POST['irc'])) ? 1 : 0;
|
|
$plan->uIsUnmetered = isset($_POST['unmetered']);
|
|
$plan->uHasIpv4 = isset($_POST['ipv4']);
|
|
$plan->uHasIpv6 = isset($_POST['ipv6']);
|
|
$plan->uFreeDns = isset($_POST['dns']);
|
|
$plan->uOverageBilling = isset($_POST['overage']);
|
|
$plan->uDedicatedCpu = isset($_POST['dedicated_cores']);
|
|
$plan->uVirtualizationPlatformId = $_POST['platform'];
|
|
$plan->uVisible = false;
|
|
$plan->sLastUpdate = time();
|
|
$plan->sSubmissionDate = time();
|
|
$plan->InsertIntoDatabase();
|
|
|
|
for($i = 0; $i < count($_POST['months']); $i++)
|
|
{
|
|
if(!empty($_POST['months'][$i]))
|
|
{
|
|
$price = new PlanPriceOption(0);
|
|
$price->uBillingPeriod = $_POST['months'][$i];
|
|
$price->uPrice = $_POST['price'][$i] * 100;
|
|
$price->uPlanId = $plan->sId;
|
|
$price->InsertIntoDatabase();
|
|
}
|
|
}
|
|
|
|
echo("<div class=\"success\">Your submission has been added and will be reviewed shortly.</div>");
|
|
}
|
|
|
|
$platform_list = "<option vale=\"0\">Unknown</option>";
|
|
$result = mysql_query_cached("SELECT * FROM virtualizationplatforms");
|
|
|
|
foreach($result->data as $row)
|
|
{
|
|
$platform = new VirtualizationPlatform($row);
|
|
$platform_list .= "<option value=\"{$platform->sId}\">{$platform->sName}</option>";
|
|
}
|
|
|
|
echo("<h1>Add new plan for {$provider->sName}</h1>");
|
|
?>
|
|
<h3>NOTE: Please only add plans in different locations as separate plans, if the specifications are different. If only the location differs, list
|
|
them as 1 plan! Location data is coming soon.</h3>
|
|
<h3>NOTE: No discount plans/codes please, only plans that are listed on the website permanently.</h3>
|
|
<form method="post" action="?action=plan&sub=<?php echo($provider_id); ?>">
|
|
<div class="formfield">
|
|
<strong>Plan Name</strong><br>
|
|
<sup>Please use the same name as on your website</sup><br>
|
|
<input type="text" name="name">
|
|
</div>
|
|
|
|
<div class="formfield">
|
|
<strong>Virtualization platform</strong><br>
|
|
<sup>Your platform not listed? <a href="http://irc.lc/cryto/crytocc">Contact joepie91 on IRC.</a></sup><br>
|
|
<select name="platform">
|
|
<?php echo($platform_list); ?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="formfield">
|
|
<strong>Guaranteed/dedicated RAM</strong><br>
|
|
<input type="text" name="guaranteed">MB
|
|
</div>
|
|
|
|
<div class="formfield">
|
|
<strong>Burst RAM</strong><br>
|
|
<sup><strong>Using OpenVZ Burst RAM?</strong> Enter your amount of burst RAM including the guaranteed RAM.</sup><br>
|
|
<sup><strong>Using swap or vSwap?</strong> Enter the TOTAL amount of guaranteed RAM + the amount of swap/vSwap. A better method to indicate
|
|
this will be added in the very near future.</sup><br>
|
|
<sup><strong>Not using burst, swap, or vSwap?</strong> Leave this field empty.</sup><br>
|
|
<input type="text" name="burst">MB
|
|
</div>
|
|
|
|
<div class="formfield">
|
|
<strong>Disk space</strong><br>
|
|
<input type="text" name="disk">GB
|
|
</div>
|
|
|
|
<div class="formfield">
|
|
<strong>Traffic</strong><br>
|
|
<sup><strong>Unmetered?</strong> Leave the input field empty and tick the checkbox.</sup><br>
|
|
<sup><strong>Unmetered for either only inbound or outbound?</strong> Enter the traffic for the metered part.</sup><br>
|
|
<input type="text" name="traffic">GB<br>
|
|
<input type="checkbox" name="unmetered" id="unmetered"> <label for="unmetered">Unmetered</label>
|
|
</div>
|
|
|
|
<div class="formfield">
|
|
<strong>Port speed / bandwidth (NOT traffic!)</strong><br>
|
|
<input type="text" name="bandwidth">mbps
|
|
</div>
|
|
|
|
<div class="formfield">
|
|
<strong>CPU</strong><br>
|
|
<sup><strong>No defined amount of cores, or fair-share based on other specs?</strong> Leave this field empty.</sup><br>
|
|
<input type="text" name="cores"><br>
|
|
<input type="checkbox" name="dedicated_cores" id="dedicated_cores"> <label for="dedicated_cores">Dedicated</label>
|
|
</div>
|
|
|
|
<div class="formfield">
|
|
<strong>Free backup space</strong><br>
|
|
<sup><strong>Backup space per customer, rather than per plan?</strong> Just enter the backup space per customer, and ensure your website
|
|
clearly states that backup space is per customer.</sup><br>
|
|
<sup><strong>Backup space only on ticket request?</strong> Just fill in this field. It's recommended to clearly indicate this on your website.</sup><br>
|
|
<input type="text" name="backup" value="0">
|
|
</div>
|
|
|
|
<div class="formfield">
|
|
<input type="checkbox" name="irc" id="irc" checked> <label for="irc">Allows IRC servers<br><sup>(this is only about daemons, not about clients or bouncers)</sup></label>
|
|
</div>
|
|
<div class="formfield">
|
|
<input type="checkbox" name="dns" id="dns"> <label for="dns">Free DNS hosting</label>
|
|
</div>
|
|
<div class="formfield">
|
|
<input type="checkbox" name="ipv4" id="ipv4" checked> <label for="ipv4">IPv4 connectivity</label><br>
|
|
<input type="checkbox" name="ipv6" id="ipv6"> <label for="ipv6">IPv6 connectivity</label>
|
|
</div>
|
|
<div class="formfield">
|
|
<input type="checkbox" name="overage" id="overage"> <label for="overage">Overage billing<br><sup>(automatic billing for going over traffic quota, as opposed to temporary VPS suspension)</sup></label>
|
|
</div>
|
|
|
|
<div class="formfield">
|
|
<h2>Billing periods</h2>
|
|
<h3>For multiple-month billing periods, be sure to enter the TOTAL price for all those months together, and NOT the (discounted) price per month.</h3>
|
|
$<input type="text" name="price[]"> per <input type="text" name="months[]"> months<br>
|
|
$<input type="text" name="price[]"> per <input type="text" name="months[]"> months<br>
|
|
$<input type="text" name="price[]"> per <input type="text" name="months[]"> months<br>
|
|
$<input type="text" name="price[]"> per <input type="text" name="months[]"> months<br>
|
|
$<input type="text" name="price[]"> per <input type="text" name="months[]"> months<br>
|
|
</div>
|
|
|
|
<button type="submit" name="submit" value="submit">Submit</button>
|
|
</form>
|
|
<?php
|
|
}
|
|
}
|
|
/*elseif($_GET['action'] == "prices")
|
|
{
|
|
if(!isset($_GET['plan']))
|
|
{
|
|
$result = mysql_query_cached("SELECT * FROM plans ORDER BY `ProviderId`");
|
|
|
|
foreach($result->data as $row)
|
|
{
|
|
$plan = new Plan($row);
|
|
echo("<a href=\"?action=prices&plan={$plan->sId}\">[{$plan->sProvider->sName}] {$plan->sName}</a><br>");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$plan_id = $_GET['plan'];
|
|
$plan = new Plan($plan_id);
|
|
|
|
if(isset($_POST['submit']))
|
|
{
|
|
for($i = 0; $i < count($_POST['months']); $i++)
|
|
{
|
|
if(!empty($_POST['months'][$i]))
|
|
{
|
|
$price = new PlanPriceOption(0);
|
|
$price->uBillingPeriod = $_POST['months'][$i];
|
|
$price->uPrice = $_POST['price'][$i] * 100;
|
|
$price->uPlanId = $plan_id;
|
|
$price->InsertIntoDatabase();
|
|
}
|
|
}
|
|
|
|
echo("<strong>Done!</strong><br>");
|
|
}
|
|
?>
|
|
<form method="post" action="?action=prices&plan=<?php echo($plan_id); ?>">
|
|
<h2>Billing options for <?php echo("{$plan->sName} ({$plan->sProvider->sName})"); ?></h2>
|
|
$<input type="text" name="price[]"> per <input type="text" name="months[]"> months<br>
|
|
$<input type="text" name="price[]"> per <input type="text" name="months[]"> months<br>
|
|
$<input type="text" name="price[]"> per <input type="text" name="months[]"> months<br>
|
|
$<input type="text" name="price[]"> per <input type="text" name="months[]"> months<br>
|
|
$<input type="text" name="price[]"> per <input type="text" name="months[]"> months<br>
|
|
|
|
<button type="submit" name="submit" value="submit">Submit</button>
|
|
</form>
|
|
<?php
|
|
}
|
|
}*/
|
|
?>
|