84 lines
1.8 KiB
PHP
84 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
* @brief Dedicated Server Package
|
|
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
|
* @copyright (c) Invision Power Services, Inc.
|
|
* @license https://www.invisioncommunity.com/legal/standards/
|
|
* @package Invision Community
|
|
* @subpackage Nexus
|
|
* @since 29 Apr 2014
|
|
*/
|
|
|
|
namespace IPS\nexus\Package;
|
|
|
|
/* To prevent PHP errors (extending class does not exist) revealing path */
|
|
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
|
{
|
|
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* Dedicated Server Package
|
|
*/
|
|
class _Dedi extends \IPS\nexus\Package
|
|
{
|
|
/**
|
|
* @brief Icon
|
|
*/
|
|
public static $icon = 'database';
|
|
|
|
/**
|
|
* @brief Title
|
|
*/
|
|
public static $title = 'dedicated_server';
|
|
|
|
/**
|
|
* Show Purchase Record?
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function showPurchaseRecord()
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
/**
|
|
* On Purchase Generated
|
|
*
|
|
* @param \IPS\nexus\Purchase $purchase The purchase
|
|
* @param \IPS\nexus\Invoice $invoice The invoice
|
|
* @return void
|
|
*/
|
|
public function onPurchaseGenerated( \IPS\nexus\Purchase $purchase, \IPS\nexus\Invoice $invoice )
|
|
{
|
|
try
|
|
{
|
|
$server = \IPS\nexus\Hosting\Server::load( $purchase->name, 'server_hostname' );
|
|
$server->dedicated = $purchase->id;
|
|
$server->save();
|
|
}
|
|
catch ( \OutOfRangeException $e ) { }
|
|
|
|
return parent::onPurchaseGenerated( $purchase, $invoice );
|
|
}
|
|
|
|
/**
|
|
* On Purchase Canceled
|
|
*
|
|
* @param \IPS\nexus\Purchase $purchase The purchase
|
|
* @return void
|
|
*/
|
|
public function onCancel( \IPS\nexus\Purchase $purchase )
|
|
{
|
|
try
|
|
{
|
|
$server = \IPS\nexus\Hosting\Server::load( $purchase->id, 'server_dedicated' );
|
|
$server->dedicated = 0;
|
|
$server->save();
|
|
}
|
|
catch ( \OutOfRangeException $e ) { }
|
|
|
|
return parent::onCancel( $purchase );
|
|
}
|
|
} |