summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-09-29 12:36:53 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-09-29 12:36:53 +0000
commita192257ed136ace67ac80a61d939f3e59942a92d (patch)
tree9b99d492229a41e6a2fa376c5897c82dcef1ae22
parenta1ab3314f33bb69b9f40dd700ea769bbeffc8a5d (diff)
- Add Internationalized Domain Name (IDNA) support (#1483894)
git-svn-id: https://svn.roundcube.net/trunk@4010 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--plugins/managesieve/managesieve.php2
-rw-r--r--plugins/new_user_dialog/new_user_dialog.php4
-rw-r--r--plugins/new_user_identity/new_user_identity.php2
-rw-r--r--plugins/virtuser_file/virtuser_file.php2
-rw-r--r--plugins/virtuser_query/virtuser_query.php6
5 files changed, 10 insertions, 6 deletions
diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php
index 4705d54db..81e6eb7f9 100644
--- a/plugins/managesieve/managesieve.php
+++ b/plugins/managesieve/managesieve.php
@@ -65,6 +65,8 @@ class managesieve extends rcube_plugin
$host = rcube_parse_host($this->rc->config->get('managesieve_host', 'localhost'));
$port = $this->rc->config->get('managesieve_port', 2000);
+ $host = idn_to_ascii($host);
+
// try to connect to managesieve server and to fetch the script
$this->sieve = new rcube_sieve($_SESSION['username'],
$this->rc->decrypt($_SESSION['password']), $host, $port,
diff --git a/plugins/new_user_dialog/new_user_dialog.php b/plugins/new_user_dialog/new_user_dialog.php
index 5bf8f8497..9b773be65 100644
--- a/plugins/new_user_dialog/new_user_dialog.php
+++ b/plugins/new_user_dialog/new_user_dialog.php
@@ -62,7 +62,7 @@ class new_user_dialog extends rcube_plugin
$table->add(null, html::tag('input', array(
'type' => 'text',
'name' => '_email',
- 'value' => $identity['email'],
+ 'value' => idn_to_utf8($identity['email']),
'disabled' => ($identities_level == 1 || $identities_level == 3)
)));
@@ -111,6 +111,8 @@ class new_user_dialog extends rcube_plugin
// don't let the user alter the e-mail address if disabled by config
if ($identities_level == 1 || $identities_level == 3)
$save_data['email'] = $identity['email'];
+ else
+ $save_data['email'] = idn_to_ascii($save_data['email']);
// save data if not empty
if (!empty($save_data['name']) && !empty($save_data['email'])) {
diff --git a/plugins/new_user_identity/new_user_identity.php b/plugins/new_user_identity/new_user_identity.php
index 79b01cf9d..ecdf7c137 100644
--- a/plugins/new_user_identity/new_user_identity.php
+++ b/plugins/new_user_identity/new_user_identity.php
@@ -40,7 +40,7 @@ class new_user_identity extends rcube_plugin
if (count($results->records) == 1) {
$args['user_name'] = $results->records[0]['name'];
if (!$args['user_email'] && strpos($results->records[0]['email'], '@')) {
- $args['user_email'] = $results->records[0]['email'];
+ $args['user_email'] = idn_to_ascii($results->records[0]['email']);
}
}
}
diff --git a/plugins/virtuser_file/virtuser_file.php b/plugins/virtuser_file/virtuser_file.php
index bb5ccb756..d91e532a9 100644
--- a/plugins/virtuser_file/virtuser_file.php
+++ b/plugins/virtuser_file/virtuser_file.php
@@ -40,7 +40,7 @@ class virtuser_file extends rcube_plugin
$arr = preg_split('/\s+/', $r[$i]);
if (count($arr) > 0 && strpos($arr[0], '@')) {
- $result[] = trim(str_replace('\\@', '@', $arr[0]));
+ $result[] = idn_to_ascii(trim(str_replace('\\@', '@', $arr[0])));
if ($p['first']) {
$p['email'] = $result[0];
diff --git a/plugins/virtuser_query/virtuser_query.php b/plugins/virtuser_query/virtuser_query.php
index 6b025d0ea..2ec24d50e 100644
--- a/plugins/virtuser_query/virtuser_query.php
+++ b/plugins/virtuser_query/virtuser_query.php
@@ -44,11 +44,11 @@ class virtuser_query extends rcube_plugin
if (strpos($sql_arr[0], '@')) {
if ($p['extended'] && count($sql_arr) > 1) {
$result[] = array(
- 'email' => $sql_arr[0],
+ 'email' => idn_to_ascii($sql_arr[0]),
'name' => $sql_arr[1],
'organization' => $sql_arr[2],
- 'reply-to' => $sql_arr[3],
- 'bcc' => $sql_arr[4],
+ 'reply-to' => idn_to_ascii($sql_arr[3]),
+ 'bcc' => idn_to_ascii($sql_arr[4]),
'signature' => $sql_arr[5],
'html_signature' => (int)$sql_arr[6],
);