diff options
| -rw-r--r-- | plugins/virtuser_file/virtuser_file.php | 87 | ||||
| -rw-r--r-- | plugins/virtuser_query/virtuser_query.php | 59 |
2 files changed, 71 insertions, 75 deletions
diff --git a/plugins/virtuser_file/virtuser_file.php b/plugins/virtuser_file/virtuser_file.php index 071722bf4..2f7c040b8 100644 --- a/plugins/virtuser_file/virtuser_file.php +++ b/plugins/virtuser_file/virtuser_file.php @@ -18,13 +18,13 @@ class virtuser_file extends rcube_plugin 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 +33,25 @@ class virtuser_file extends rcube_plugin function user2email($p) { $r = $this->findinvirtual('/\s' . preg_quote($p['user'], '/') . '\s*$/'); - $result = array(); - - for ($i=0; $i<count($r); $i++) - { - $arr = preg_split('/\s+/', $r[$i]); + $result = array(); - if (count($arr) > 0 && strpos($arr[0], '@')) + for ($i=0; $i<count($r); $i++) { - $result[] = trim(str_replace('\\@', '@', $arr[0])); + $arr = preg_split('/\s+/', $r[$i]); + + if (count($arr) > 0 && strpos($arr[0], '@')) { + $result[] = 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 @@ class virtuser_file extends rcube_plugin */ 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])); + 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; + if (count($arr) > 0) { + $p['user'] = trim($arr[count($arr)-1]); + break; + } } - } - return $p; + return $p; } /** @@ -83,27 +81,26 @@ class virtuser_file extends rcube_plugin */ private function findinvirtual($pattern) { - $result = array(); - $virtual = null; + $result = array(); + $virtual = null; - if ($this->file) - $virtual = file($virtuser_file); + if ($this->file) + $virtual = file($virtuser_file); - if (empty($virtual)) - return $result; + if (empty($virtual)) + return $result; - // check each line for matches - foreach ($virtual as $line) - { - $line = trim($line); - if (empty($line) || $line[0]=='#') - continue; + // 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; - } + if (preg_match($pattern, $line)) + $result[] = $line; + } - return $result; + return $result; } } diff --git a/plugins/virtuser_query/virtuser_query.php b/plugins/virtuser_query/virtuser_query.php index 94defc5de..6b025d0ea 100644 --- a/plugins/virtuser_query/virtuser_query.php +++ b/plugins/virtuser_query/virtuser_query.php @@ -22,13 +22,13 @@ class virtuser_query extends rcube_plugin function init() { - $this->app = rcmail::get_instance(); - $this->query = $this->app->config->get('virtuser_query'); + $this->app = rcmail::get_instance(); + $this->query = $this->app->config->get('virtuser_query'); - if ($this->query) { - $this->add_hook('user2email', array($this, 'user2email')); -// $this->add_hook('email2user', array($this, 'email2user')); - } + if ($this->query) { + $this->add_hook('user2email', array($this, 'user2email')); +// $this->add_hook('email2user', array($this, 'email2user')); + } } /** @@ -36,36 +36,35 @@ class virtuser_query extends rcube_plugin */ function user2email($p) { - $rcmail = rcmail::get_instance(); - $dbh = $rcmail->get_dbh(); + $dbh = $this->app->get_dbh(); - $sql_result = $dbh->query(preg_replace('/%u/', $dbh->escapeSimple($p['user']), $this->query)); + $sql_result = $dbh->query(preg_replace('/%u/', $dbh->escapeSimple($p['user']), $this->query)); - while ($sql_arr = $dbh->fetch_array($sql_result)) { - if (strpos($sql_arr[0], '@')) { - if ($p['extended'] && count($sql_arr) > 1) { - $result[] = array( - 'email' => $sql_arr[0], - 'name' => $sql_arr[1], - 'organization' => $sql_arr[2], - 'reply-to' => $sql_arr[3], - 'bcc' => $sql_arr[4], - 'signature' => $sql_arr[5], - 'html_signature' => (int)$sql_arr[6], - ); - } - else { - $result[] = $sql_arr[0]; - } + while ($sql_arr = $dbh->fetch_array($sql_result)) { + if (strpos($sql_arr[0], '@')) { + if ($p['extended'] && count($sql_arr) > 1) { + $result[] = array( + 'email' => $sql_arr[0], + 'name' => $sql_arr[1], + 'organization' => $sql_arr[2], + 'reply-to' => $sql_arr[3], + 'bcc' => $sql_arr[4], + 'signature' => $sql_arr[5], + 'html_signature' => (int)$sql_arr[6], + ); + } + else { + $result[] = $sql_arr[0]; + } - if ($p['first']) - break; + if ($p['first']) + break; + } } - } - $p['email'] = $result; + $p['email'] = $result; - return $p; + return $p; } } |
