summaryrefslogtreecommitdiff
path: root/plugins/password/drivers/poppassd.php
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2012-02-24 10:17:19 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2012-02-24 10:17:19 +0000
commit121ae23a83555b34c28b9967113a0cdf1755387a (patch)
tree8fe7044c54773f041b2111808ff11e973e801a90 /plugins/password/drivers/poppassd.php
parent85fefe3e33be4824377161c4587ec4141bfc57f4 (diff)
- Fixed drivers namespace issues
git-svn-id: https://svn.roundcube.net/trunk@5902 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'plugins/password/drivers/poppassd.php')
-rw-r--r--plugins/password/drivers/poppassd.php65
1 files changed, 34 insertions, 31 deletions
diff --git a/plugins/password/drivers/poppassd.php b/plugins/password/drivers/poppassd.php
index fc105de47..e18ec2660 100644
--- a/plugins/password/drivers/poppassd.php
+++ b/plugins/password/drivers/poppassd.php
@@ -5,58 +5,61 @@
*
* Driver to change passwords via Poppassd/Courierpassd
*
- * @version 1.1
+ * @version 2.0
* @author Philip Weir
*
*/
-function format_error_result($code, $line)
+class rcube_poppassd_password
{
- if (preg_match('/^\d\d\d\s+(\S.*)\s*$/', $line, $matches)) {
- return array('code' => $code, 'message' => $matches[1]);
- } else {
- return $code;
+ function format_error_result($code, $line)
+ {
+ if (preg_match('/^\d\d\d\s+(\S.*)\s*$/', $line, $matches)) {
+ return array('code' => $code, 'message' => $matches[1]);
+ } else {
+ return $code;
+ }
}
-}
-function password_save($curpass, $passwd)
-{
- $rcmail = rcmail::get_instance();
+ function save($curpass, $passwd)
+ {
+ $rcmail = rcmail::get_instance();
// include('Net/Socket.php');
- $poppassd = new Net_Socket();
+ $poppassd = new Net_Socket();
- $result = $poppassd->connect($rcmail->config->get('password_pop_host'), $rcmail->config->get('password_pop_port'), null);
- if (PEAR::isError($result)) {
- return format_error_result(PASSWORD_CONNECT_ERROR, $result->getMessage());
- }
- else {
- $result = $poppassd->readLine();
- if(!preg_match('/^2\d\d/', $result)) {
- $poppassd->disconnect();
- return format_error_result(PASSWORD_ERROR, $result);
+ $result = $poppassd->connect($rcmail->config->get('password_pop_host'), $rcmail->config->get('password_pop_port'), null);
+ if (PEAR::isError($result)) {
+ return $this->format_error_result(PASSWORD_CONNECT_ERROR, $result->getMessage());
}
else {
- $poppassd->writeLine("user ". $_SESSION['username']);
$result = $poppassd->readLine();
- if(!preg_match('/^[23]\d\d/', $result) ) {
+ if(!preg_match('/^2\d\d/', $result)) {
$poppassd->disconnect();
- return format_error_result(PASSWORD_CONNECT_ERROR, $result);
+ return $this->format_error_result(PASSWORD_ERROR, $result);
}
else {
- $poppassd->writeLine("pass ". $curpass);
+ $poppassd->writeLine("user ". $_SESSION['username']);
$result = $poppassd->readLine();
if(!preg_match('/^[23]\d\d/', $result) ) {
$poppassd->disconnect();
- return format_error_result(PASSWORD_ERROR, $result);
+ return $this->format_error_result(PASSWORD_CONNECT_ERROR, $result);
}
else {
- $poppassd->writeLine("newpass ". $passwd);
+ $poppassd->writeLine("pass ". $curpass);
$result = $poppassd->readLine();
- $poppassd->disconnect();
- if (!preg_match('/^2\d\d/', $result))
- return format_error_result(PASSWORD_ERROR, $result);
- else
- return PASSWORD_SUCCESS;
+ if(!preg_match('/^[23]\d\d/', $result) ) {
+ $poppassd->disconnect();
+ return $this->format_error_result(PASSWORD_ERROR, $result);
+ }
+ else {
+ $poppassd->writeLine("newpass ". $passwd);
+ $result = $poppassd->readLine();
+ $poppassd->disconnect();
+ if (!preg_match('/^2\d\d/', $result))
+ return $this->format_error_result(PASSWORD_ERROR, $result);
+ else
+ return PASSWORD_SUCCESS;
+ }
}
}
}