Added password change to plesk
This commit is contained in:
parent
8100fa2540
commit
25c73e2819
36
application/classes/lnapp/pwgen.php
Normal file
36
application/classes/lnapp/pwgen.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php defined('SYSPATH') or die('No direct access allowed.');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class is for providing password from a password genarator
|
||||||
|
*
|
||||||
|
* @package lnApp
|
||||||
|
* @subpackage PWGen
|
||||||
|
* @category Helpers
|
||||||
|
* @author Deon George
|
||||||
|
* @copyright (c) 2010 Deon George
|
||||||
|
* @license http://dev.leenooks.net/license.html
|
||||||
|
*/
|
||||||
|
abstract class lnApp_PWgen {
|
||||||
|
public static function get($pwonly=TRUE) {
|
||||||
|
if (! Kohana::Config('pwgen.host') OR ! Kohana::Config('pwgen.port'))
|
||||||
|
throw new Kohana_Exception('No configuration for host or port (:host/:port)',array(':host'=>Kohana::Config('pwgen.host'),':port'=>Kohana::Config('pwgen.port')));
|
||||||
|
|
||||||
|
$ps = socket_create(AF_INET,SOCK_STREAM,0);
|
||||||
|
if (! socket_connect($ps,Kohana::Config('pwgen.host'),Kohana::Config('pwgen.port')))
|
||||||
|
throw new Kohana_Exception('Unable to connect to password server');
|
||||||
|
|
||||||
|
// echo "Reading response:\n\n";
|
||||||
|
$pw = '';
|
||||||
|
while ($out = socket_read($ps,64))
|
||||||
|
$pw .= rtrim($out);
|
||||||
|
|
||||||
|
// echo "Closing socket...";
|
||||||
|
socket_close ($ps);
|
||||||
|
|
||||||
|
list($passwd,$passwdSay) = explode(' ',$pw);
|
||||||
|
// print " Password [$passwd] ($passwdSay) [$pw] ".md5($passwd)."<BR>";
|
||||||
|
|
||||||
|
return $pwonly ? $passwd : array('pw'=>$passwd,'say'=>$passwdSay);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
4
application/classes/pwgen.php
Normal file
4
application/classes/pwgen.php
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?php defined('SYSPATH') or die('No direct access allowed.');
|
||||||
|
|
||||||
|
class PWGen extends lnApp_PWGen {}
|
||||||
|
?>
|
18
application/config/pwgen.php
Normal file
18
application/config/pwgen.php
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?php defined('SYSPATH') or die('No direct access allowed.');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OSB Configuration - PWGen Configuration
|
||||||
|
*
|
||||||
|
* @package OSB
|
||||||
|
* @subpackage PWGen
|
||||||
|
* @category PWGen
|
||||||
|
* @author Deon George
|
||||||
|
* @copyright (c) 2010 Open Source Billing
|
||||||
|
* @license http://dev.osbill.net/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'host' => '127.0.0.1',
|
||||||
|
'port' => '129',
|
||||||
|
);
|
||||||
|
?>
|
@ -25,6 +25,7 @@ class Controller_Task_Host extends Controller_Task {
|
|||||||
case 'gettraffic':
|
case 'gettraffic':
|
||||||
case 'migrate':
|
case 'migrate':
|
||||||
case 'provision':
|
case 'provision':
|
||||||
|
case 'resetpw':
|
||||||
$this->so = ORM::factory('service',$this->request->param('id'));
|
$this->so = ORM::factory('service',$this->request->param('id'));
|
||||||
|
|
||||||
if (! $this->so->loaded())
|
if (! $this->so->loaded())
|
||||||
@ -252,5 +253,17 @@ class Controller_Task_Host extends Controller_Task {
|
|||||||
$result = $this->hpo->provision($this->so);
|
$result = $this->hpo->provision($this->so);
|
||||||
print_r((string)$result);
|
print_r((string)$result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function action_resetpw() {
|
||||||
|
$pw = PWGen::get(TRUE);
|
||||||
|
|
||||||
|
$spho = $this->so->plugin();
|
||||||
|
$spho->host_password = $pw;
|
||||||
|
|
||||||
|
if (! ($result = $this->hpo->setpasswd($this->so,$pw)) OR ! $result->loaded() OR ! $spho->save())
|
||||||
|
throw new Kohana_Exception('Unable to set password.');
|
||||||
|
|
||||||
|
echo _('Password Reset Success');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -47,7 +47,7 @@ class Host_Plugin_Plesk_10 extends Host_Plugin_Plesk {
|
|||||||
$client = $this->packet->add_node('customer');
|
$client = $this->packet->add_node('customer');
|
||||||
$get = $client->add_node('get');
|
$get = $client->add_node('get');
|
||||||
$filter = $get->add_node('filter');
|
$filter = $get->add_node('filter');
|
||||||
$filter->add_node('login',$so->plugin()->host_account);
|
$filter->add_node('login',$so->plugin()->host_username);
|
||||||
$dataset = $get->add_node('dataset');
|
$dataset = $get->add_node('dataset');
|
||||||
foreach ($items as $k)
|
foreach ($items as $k)
|
||||||
$dataset->add_node($k);
|
$dataset->add_node($k);
|
||||||
@ -172,7 +172,7 @@ class Host_Plugin_Plesk_10 extends Host_Plugin_Plesk {
|
|||||||
$gen_info->add_node('cname',$so->account->company);
|
$gen_info->add_node('cname',$so->account->company);
|
||||||
$gen_info->add_node('pname',sprintf('%s %s',$so->account->first_name,$so->account->last_name));
|
$gen_info->add_node('pname',sprintf('%s %s',$so->account->first_name,$so->account->last_name));
|
||||||
|
|
||||||
$gen_info->add_node('login',$so->plugin()->host_account);
|
$gen_info->add_node('login',$so->plugin()->host_username);
|
||||||
$gen_info->add_node('passwd',$so->plugin()->host_password);
|
$gen_info->add_node('passwd',$so->plugin()->host_password);
|
||||||
|
|
||||||
$gen_info->add_node('status',0);
|
$gen_info->add_node('status',0);
|
||||||
@ -229,5 +229,19 @@ class Host_Plugin_Plesk_10 extends Host_Plugin_Plesk {
|
|||||||
|
|
||||||
return $this->packet->add_node($type);
|
return $this->packet->add_node($type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setpasswd(Model_Service $so,$pw) {
|
||||||
|
$this->init();
|
||||||
|
|
||||||
|
$client = $this->packet->add_node('customer');
|
||||||
|
$set = $client->add_node('set');
|
||||||
|
$filter = $set->add_node('filter');
|
||||||
|
$filter->add_node('login',$so->plugin()->host_username);
|
||||||
|
$values = $set->add_node('values');
|
||||||
|
$gen_info = $values->add_node('gen_info');
|
||||||
|
$gen_info->add_node('passwd',$pw);
|
||||||
|
|
||||||
|
return $this->server_command($this->xml);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -88,7 +88,7 @@ class Host_Plugin_Plesk_9 extends Host_Plugin_Plesk {
|
|||||||
$client = $this->packet->add_node('client');
|
$client = $this->packet->add_node('client');
|
||||||
$get = $client->add_node('get');
|
$get = $client->add_node('get');
|
||||||
$filter = $get->add_node('filter');
|
$filter = $get->add_node('filter');
|
||||||
$filter->add_node('login',$so->plugin()->host_account);
|
$filter->add_node('login',$so->plugin()->host_username);
|
||||||
$dataset = $get->add_node('dataset');
|
$dataset = $get->add_node('dataset');
|
||||||
foreach ($items as $k)
|
foreach ($items as $k)
|
||||||
$dataset->add_node($k);
|
$dataset->add_node($k);
|
||||||
@ -303,5 +303,19 @@ class Host_Plugin_Plesk_9 extends Host_Plugin_Plesk {
|
|||||||
return $this->server_command($this->xml);
|
return $this->server_command($this->xml);
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setpasswd(Model_Service $so,$pw) {
|
||||||
|
$this->init();
|
||||||
|
|
||||||
|
$client = $this->packet->add_node('client');
|
||||||
|
$set = $client->add_node('set');
|
||||||
|
$filter = $set->add_node('filter');
|
||||||
|
$filter->add_node('login',$so->plugin()->host_username);
|
||||||
|
$values = $set->add_node('values');
|
||||||
|
$gen_info = $values->add_node('gen_info');
|
||||||
|
$gen_info->add_node('passwd',$pw);
|
||||||
|
|
||||||
|
return $this->server_command($this->xml);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
Reference in New Issue
Block a user