Basic but working tool
This commit is contained in:
parent
aec01f20ea
commit
0677423455
139
domain_tool.php
Normal file
139
domain_tool.php
Normal file
@ -0,0 +1,139 @@
|
||||
<?php
|
||||
if (!defined("WHMCS")) {
|
||||
die("This file cannot be accessed directly");
|
||||
}
|
||||
|
||||
function domain_tool_config() {
|
||||
return [
|
||||
'name' => 'Active Domains List',
|
||||
'description' => 'An addon to list all active domains with client name, domain name, renewal period, recurring amount, and renewal price.',
|
||||
'version' => '1.0',
|
||||
'author' => 'Your Name',
|
||||
'language' => 'english',
|
||||
'fields' => []
|
||||
];
|
||||
}
|
||||
|
||||
function domain_tool_activate() {
|
||||
return [
|
||||
'status' => 'success',
|
||||
'description' => 'The Active Domains List module has been activated successfully.'
|
||||
];
|
||||
}
|
||||
|
||||
function domain_tool_deactivate() {
|
||||
return [
|
||||
'status' => 'success',
|
||||
'description' => 'The Active Domains List module has been deactivated successfully.'
|
||||
];
|
||||
}
|
||||
|
||||
function domain_tool_output($vars) {
|
||||
$query = "
|
||||
SELECT
|
||||
tblclients.id AS client_id,
|
||||
tblclients.firstname,
|
||||
tblclients.lastname,
|
||||
tbldomains.id AS domain_id,
|
||||
tbldomains.domain,
|
||||
tbldomains.registrationperiod,
|
||||
tbldomains.recurringamount,
|
||||
rp.renewalprice,
|
||||
(rp.renewalprice - tbldomains.recurringamount) AS pricedifference
|
||||
FROM
|
||||
tbldomains
|
||||
JOIN
|
||||
tblclients ON tblclients.id = tbldomains.userid
|
||||
JOIN (
|
||||
SELECT
|
||||
tbldomains.id AS domain_id,
|
||||
CASE tbldomains.registrationperiod
|
||||
WHEN 1 THEN tblpricing.msetupfee
|
||||
WHEN 2 THEN tblpricing.qsetupfee
|
||||
WHEN 3 THEN tblpricing.ssetupfee
|
||||
WHEN 4 THEN tblpricing.asetupfee
|
||||
WHEN 5 THEN tblpricing.bsetupfee
|
||||
WHEN 6 THEN tblpricing.monthly
|
||||
WHEN 7 THEN tblpricing.quarterly
|
||||
WHEN 8 THEN tblpricing.semiannually
|
||||
WHEN 9 THEN tblpricing.annually
|
||||
ELSE 0
|
||||
END AS renewalprice
|
||||
FROM tbldomains
|
||||
JOIN tbldomainpricing ON tbldomainpricing.extension = CONCAT('.', SUBSTRING_INDEX(tbldomains.domain, '.', -1))
|
||||
JOIN tblpricing ON tblpricing.relid = tbldomainpricing.id
|
||||
WHERE tblpricing.type = 'domainrenew'
|
||||
AND tblpricing.currency = 1
|
||||
) rp ON rp.domain_id = tbldomains.id
|
||||
WHERE
|
||||
tbldomains.status = 'Active'
|
||||
AND tbldomains.recurringamount > 0
|
||||
AND (rp.renewalprice - tbldomains.recurringamount) != 0;
|
||||
";
|
||||
|
||||
// Handling the update action
|
||||
if (isset($_POST['update_recurringamount']) && isset($_POST['domain_id'])) {
|
||||
$domainId = (int) $_POST['domain_id'];
|
||||
$price = (float) $_POST['price'];
|
||||
|
||||
$updateQuery = "UPDATE tbldomains
|
||||
SET recurringamount = {$price}
|
||||
-- SET recurringamount = (SELECT renewalprice FROM tbldomains
|
||||
-- JOIN tblpricing ON tblpricing.relid = tbldomains.id
|
||||
-- WHERE tbldomains.id = {$domainId} LIMIT 1)
|
||||
WHERE id = {$domainId}";
|
||||
|
||||
// Execute the query to update the recurring amount
|
||||
full_query($updateQuery);
|
||||
|
||||
// Optional: show a message indicating success
|
||||
echo "<div class='alert alert-success'>Recurring amount updated successfully!</div>";
|
||||
}
|
||||
|
||||
$result = full_query($query);
|
||||
|
||||
echo '<table class="table table-bordered table-striped">';
|
||||
echo '<thead><tr>
|
||||
<th>ID</th>
|
||||
<th>Domain</th>
|
||||
<th>Client Name</th>
|
||||
<th>Renewal Period</th>
|
||||
<th>Recurring Amount</th>
|
||||
<th>Renewal Price</th>
|
||||
<th>Price Difference</th>
|
||||
<th>Actions</th>
|
||||
</tr></thead><tbody>';
|
||||
|
||||
while ($data = mysql_fetch_array($result)) {
|
||||
$client_id = $data['client_id'];
|
||||
$clientName = $data['firstname'] . ' ' . $data['lastname'];
|
||||
$domain_id = $data['domain_id'];
|
||||
$domainName = $data['domain'];
|
||||
$renewalPeriod = $data['registrationperiod'] . ' Year(s)';
|
||||
$recurringAmount = '$' . number_format($data['recurringamount'], 2);
|
||||
$renewalPrice = '$' . number_format($data['renewalprice'], 2);
|
||||
$priceDifference = '$' . number_format($data['pricedifference'], 2);
|
||||
$domainId = $data['domain_id'];
|
||||
$price = $data['renewalprice'];
|
||||
|
||||
// Adding the action column with an "Update" button
|
||||
echo "<tr>
|
||||
<td><a href=\"clientsdomains.php?id={$domain_id}\">{$domain_id}</a></td>
|
||||
<td><a href=\"clientsdomains.php?id={$domain_id}\">{$domainName}</a></td>
|
||||
<td><a href=\"clientssummary.php?userid={$client_id}\">{$clientName}</td>
|
||||
<td>{$renewalPeriod}</td>
|
||||
<td>{$recurringAmount}</td>
|
||||
<td>{$renewalPrice}</td>
|
||||
<td>{$priceDifference}</td>
|
||||
<td>
|
||||
<form method='post' action=''>
|
||||
<input type='hidden' name='domain_id' value='{$domainId}' />
|
||||
<input type='hidden' name='price' value='{$price}' />
|
||||
<button type='submit' name='update_recurringamount' class='btn btn-primary'>Update Recurring Amount</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>";
|
||||
}
|
||||
|
||||
echo '</tbody></table>';
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user