From 0b36d151572e050b51d82e7429fee847ebb33e22 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Thu, 20 Nov 2014 06:03:22 -0500 Subject: [PATCH] Add method to display operation (uploading) progress in UI message --- plugins/virtuser_file/virtuser_file.php | 112 +++++++++++++++++++++++++++----------------------------- 1 files changed, 54 insertions(+), 58 deletions(-) diff --git a/plugins/virtuser_file/virtuser_file.php b/plugins/virtuser_file/virtuser_file.php index 071722b..f2b357a 100644 --- a/plugins/virtuser_file/virtuser_file.php +++ b/plugins/virtuser_file/virtuser_file.php @@ -2,13 +2,14 @@ /** * File based User-to-Email and Email-to-User lookup - * - * Add it to the plugins list in config/main.inc.php and set + * + * Add it to the plugins list in config.inc.php and set * path to a virtuser table file to resolve user names and e-mail * addresses - * $rcmail_config['virtuser_file'] = ''; + * $rcmail['virtuser_file'] = ''; * - * @version 1.0 + * @version @package_version@ + * @license GNU GPLv3+ * @author Aleksander Machniak */ class virtuser_file extends rcube_plugin @@ -18,13 +19,13 @@ function init() { - $this->app = rcmail::get_instance(); - $this->file = $this->app->config->get('virtuser_file'); + $this->app = rcmail::get_instance(); + $this->file = $this->app->config->get('virtuser_file'); - if ($this->file) { - $this->add_hook('user2email', array($this, 'user2email')); - $this->add_hook('email2user', array($this, 'email2user')); - } + if ($this->file) { + $this->add_hook('user2email', array($this, 'user2email')); + $this->add_hook('email2user', array($this, 'email2user')); + } } /** @@ -33,26 +34,24 @@ function user2email($p) { $r = $this->findinvirtual('/\s' . preg_quote($p['user'], '/') . '\s*$/'); - $result = array(); + $result = array(); - for ($i=0; $i<count($r); $i++) - { - $arr = preg_split('/\s+/', $r[$i]); + for ($i=0; $i<count($r); $i++) { + $arr = preg_split('/\s+/', $r[$i]); - if (count($arr) > 0 && strpos($arr[0], '@')) - { - $result[] = trim(str_replace('\\@', '@', $arr[0])); + if (count($arr) > 0 && strpos($arr[0], '@')) { + $result[] = rcube_utils::idn_to_ascii(trim(str_replace('\\@', '@', $arr[0]))); - if ($p['first']) { - $p['email'] = $result[0]; - break; - } - } - } + if ($p['first']) { + $p['email'] = $result[0]; + break; + } + } + } - $p['email'] = empty($result) ? NULL : $result; + $p['email'] = empty($result) ? NULL : $result; - return $p; + return $p; } /** @@ -60,19 +59,18 @@ */ function email2user($p) { - $r = $this->findinvirtual('/^' . preg_quote($p['email'], '/') . '\s/'); + $r = $this->findinvirtual('/^' . preg_quote($p['email'], '/') . '\s/'); - for ($i=0; $i<count($r); $i++) - { - $arr = preg_split('/\s+/', trim($r[$i])); - - if (count($arr) > 0) { - $p['user'] = trim($arr[count($arr)-1]); - break; - } - } + for ($i=0; $i<count($r); $i++) { + $arr = preg_split('/\s+/', trim($r[$i])); - return $p; + if (count($arr) > 0) { + $p['user'] = trim($arr[count($arr)-1]); + break; + } + } + + return $p; } /** @@ -83,27 +81,25 @@ */ private function findinvirtual($pattern) { - $result = array(); - $virtual = null; - - if ($this->file) - $virtual = file($virtuser_file); - - if (empty($virtual)) - return $result; - - // check each line for matches - foreach ($virtual as $line) - { - $line = trim($line); - if (empty($line) || $line[0]=='#') - continue; - - if (preg_match($pattern, $line)) - $result[] = $line; - } - - return $result; - } + $result = array(); + $virtual = null; + if ($this->file) + $virtual = file($this->file); + + if (empty($virtual)) + return $result; + + // check each line for matches + foreach ($virtual as $line) { + $line = trim($line); + if (empty($line) || $line[0]=='#') + continue; + + if (preg_match($pattern, $line)) + $result[] = $line; + } + + return $result; + } } -- Gitblit v1.9.1