Minor fixes to payment, host manage and plesk

This commit is contained in:
Deon George
2012-04-17 20:50:06 +10:00
parent d2bc1bd451
commit 01d7f09a68
13 changed files with 360 additions and 108 deletions

View File

@@ -12,6 +12,7 @@
class Controller_Task_Host extends Controller_Task {
// Host Server Object
private $hs;
private $so;
public function __construct(Request $request, Response $response) {
parent::__construct($request,$response);
@@ -19,34 +20,83 @@ class Controller_Task_Host extends Controller_Task {
// To make it easy for some methods, we'll load our service here
switch (Request::current()->action()) {
case 'getclient':
case 'getservice':
case 'getdomain':
case 'gettraffic':
case 'provision':
$sid = $this->request->param('id');
$this->so = ORM::factory('service',$this->request->param('id'));
$hso = ORM::factory('service',$sid)->plugin()->host_server;
require Kohana::find_file('vendor',$hso->provision_plugin);
if (! $this->so->loaded())
throw new Kohana_Exception('Unknown service :sid',array(':sid'=>$this->request->param('id')));
$hso = $this->so->plugin()->host_server;
$this->hs = new $hso->provision_plugin($hso);
break;
}
}
/**
* Get Client Details from Host Server
*/
public function action_getclient() {
$sid = $this->request->param('id');
public function save($index,$result) {
$p = $this->so->plugin();
print_r((string)$this->hs->get_client(ORM::factory('service',$sid)));
// We need to use a new var to avoid Indirect modification of overloaded property errors.
$x = is_null($p->server_data) ? array() : $p->server_data;
$x[$p->host_server_id][$index] = serialize($result);
$p->server_data = $x;
$x = is_null($p->server_data_date) ? array() : $p->server_data_date;
$x[$p->host_server_id][$index] = time();
$p->server_data_date = $x;
return $p->save();
}
/**
* Get Client Details from Host Server
*/
public function action_getservice() {
public function action_getclient() {
$result = $this->hs->cmd_getclient($this->so);
$p = $this->so->plugin();
if ($result->loaded()) {
if (! isset($p->server_data[$p->host_server_id]['c']) OR (md5($p->server_data[$p->host_server_id]['c']) != md5(serialize($result)))) {
echo "WARNING: data changed on server";
$this->save('c',$result);
} else
echo "NOTE: data same on server";
} else
print_r($result);
}
/**
* Get Client Details from Host Server
*/
public function action_getdomain() {
$result = $this->hs->cmd_getdomain($this->so);
$p = $this->so->plugin();
if ($result->loaded()) {
if (! isset($p->server_data[$p->host_server_id]['d']) OR (md5($p->server_data[$p->host_server_id]['d']) != md5(serialize($result)))) {
echo "WARNING: data changed on server";
$this->save('d',$result);
} else
echo "NOTE: data same on server";
} else
print_r($result);
}
/**
* Get Domain Traffic
*/
public function action_gettraffic() {
$sid = $this->request->param('id');
print_r((string)$this->hs->get_service(ORM::factory('service',$sid)));
$result = $this->hs->cmd_gettraffic(ORM::factory('service',$sid));
if ($result->gen_info)
print_r($result->gen_info->as_array());
else
print_r((string)$result);
}
/**