summaryrefslogtreecommitdiff
path: root/plugins/password/drivers/directadmin.php
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/password/drivers/directadmin.php')
-rw-r--r--plugins/password/drivers/directadmin.php82
1 files changed, 41 insertions, 41 deletions
diff --git a/plugins/password/drivers/directadmin.php b/plugins/password/drivers/directadmin.php
index 3b6ae9f03..1be14f6e8 100644
--- a/plugins/password/drivers/directadmin.php
+++ b/plugins/password/drivers/directadmin.php
@@ -5,50 +5,53 @@
*
* Driver to change passwords via DirectAdmin Control Panel
*
- * @version 1.2
+ * @version 2.0
* @author Victor Benincasa <vbenincasa@gmail.com>
*
*/
+class rcube_directadmin_password
+{
+ public function save($curpass, $passwd)
+ {
+ $rcmail = rcmail::get_instance();
+ $Socket = new HTTPSocket;
-function password_save($curpass, $passwd){
-
- $rcmail = rcmail::get_instance();
- $Socket = new HTTPSocket;
-
- $da_user = $_SESSION['username'];
- $da_curpass = $curpass;
- $da_newpass = $passwd;
- $da_host = $rcmail->config->get('password_directadmin_host');
- $da_port = $rcmail->config->get('password_directadmin_port');
-
- if(strpos($da_user, '@') === false) return array('code' => PASSWORD_ERROR, 'message' => 'Change the SYSTEM user password through control panel!');
+ $da_user = $_SESSION['username'];
+ $da_curpass = $curpass;
+ $da_newpass = $passwd;
+ $da_host = $rcmail->config->get('password_directadmin_host');
+ $da_port = $rcmail->config->get('password_directadmin_port');
- $da_host = str_replace('%h', $_SESSION['imap_host'], $da_host);
- $da_host = str_replace('%d', $rcmail->user->get_username('domain'), $da_host);
+ if (strpos($da_user, '@') === false) {
+ return array('code' => PASSWORD_ERROR, 'message' => 'Change the SYSTEM user password through control panel!');
+ }
- $Socket->connect($da_host,$da_port);
- $Socket->set_method('POST');
- $Socket->query('/CMD_CHANGE_EMAIL_PASSWORD',
- array(
- 'email' => $da_user,
- 'oldpassword' => $da_curpass,
- 'password1' => $da_newpass,
- 'password2' => $da_newpass,
- 'api' => '1'
- ));
- $response = $Socket->fetch_parsed_body();
+ $da_host = str_replace('%h', $_SESSION['imap_host'], $da_host);
+ $da_host = str_replace('%d', $rcmail->user->get_username('domain'), $da_host);
- //DEBUG
- //console("Password Plugin: [USER: $da_user] [HOST: $da_host] - Response: [SOCKET: ".$Socket->result_status_code."] [DA ERROR: ".strip_tags($response['error'])."] [TEXT: ".$response[text]."]");
+ $Socket->connect($da_host,$da_port);
+ $Socket->set_method('POST');
+ $Socket->query('/CMD_CHANGE_EMAIL_PASSWORD',
+ array(
+ 'email' => $da_user,
+ 'oldpassword' => $da_curpass,
+ 'password1' => $da_newpass,
+ 'password2' => $da_newpass,
+ 'api' => '1'
+ ));
+ $response = $Socket->fetch_parsed_body();
- if($Socket->result_status_code != 200)
- return array('code' => PASSWORD_CONNECT_ERROR, 'message' => $Socket->error[0]);
- elseif($response['error'] == 1)
- return array('code' => PASSWORD_ERROR, 'message' => strip_tags($response['text']));
- else
- return PASSWORD_SUCCESS;
+ //DEBUG
+ //console("Password Plugin: [USER: $da_user] [HOST: $da_host] - Response: [SOCKET: ".$Socket->result_status_code."] [DA ERROR: ".strip_tags($response['error'])."] [TEXT: ".$response[text]."]");
+ if($Socket->result_status_code != 200)
+ return array('code' => PASSWORD_CONNECT_ERROR, 'message' => $Socket->error[0]);
+ elseif($response['error'] == 1)
+ return array('code' => PASSWORD_ERROR, 'message' => strip_tags($response['text']));
+ else
+ return PASSWORD_SUCCESS;
+ }
}
@@ -68,7 +71,7 @@ function password_save($curpass, $passwd){
class HTTPSocket {
var $version = '2.7';
-
+
/* all vars are private except $error, $query_cache, and $doFollowLocationHeader */
var $method = 'GET';
@@ -169,7 +172,7 @@ class HTTPSocket {
$location = parse_url($request);
$this->connect($location['host'],$location['port']);
$this->set_login($location['user'],$location['pass']);
-
+
$request = $location['path'];
$content = $location['query'];
@@ -322,7 +325,7 @@ class HTTPSocket {
}
}
-
+
list($this->result_header,$this->result_body) = preg_split("/\r\n\r\n/",$this->result,2);
if ($this->bind_host)
@@ -361,7 +364,6 @@ class HTTPSocket {
$this->query($headers['location']);
}
}
-
}
function getTransferSpeed()
@@ -445,7 +447,7 @@ class HTTPSocket {
function fetch_header( $header = '' )
{
$array_headers = preg_split("/\r\n/",$this->result_header);
-
+
$array_return = array( 0 => $array_headers[0] );
unset($array_headers[0]);
@@ -485,5 +487,3 @@ class HTTPSocket {
}
}
-
-?>