|
|
|
@ -28,8 +28,8 @@ class virtuser_query extends rcube_plugin
|
|
|
|
|
|
|
|
|
|
function init()
|
|
|
|
|
{
|
|
|
|
|
$this->app = rcmail::get_instance();
|
|
|
|
|
$this->config = $this->app->config->get('virtuser_query');
|
|
|
|
|
$this->app = rcmail::get_instance();
|
|
|
|
|
$this->config = $this->app->config->get('virtuser_query');
|
|
|
|
|
|
|
|
|
|
if (!empty($this->config)) {
|
|
|
|
|
if (is_string($this->config)) {
|
|
|
|
@ -53,35 +53,36 @@ class virtuser_query extends rcube_plugin
|
|
|
|
|
*/
|
|
|
|
|
function user2email($p)
|
|
|
|
|
{
|
|
|
|
|
$dbh = $this->app->get_dbh();
|
|
|
|
|
|
|
|
|
|
$sql_result = $dbh->query(preg_replace('/%u/', $dbh->quote($p['user']), $this->config['email']));
|
|
|
|
|
|
|
|
|
|
while ($sql_arr = $dbh->fetch_array($sql_result)) {
|
|
|
|
|
if (strpos($sql_arr[0], '@')) {
|
|
|
|
|
if ($p['extended'] && count($sql_arr) > 1) {
|
|
|
|
|
$result[] = array(
|
|
|
|
|
'email' => rcube_idn_to_ascii($sql_arr[0]),
|
|
|
|
|
'name' => $sql_arr[1],
|
|
|
|
|
'organization' => $sql_arr[2],
|
|
|
|
|
'reply-to' => rcube_idn_to_ascii($sql_arr[3]),
|
|
|
|
|
'bcc' => rcube_idn_to_ascii($sql_arr[4]),
|
|
|
|
|
'signature' => $sql_arr[5],
|
|
|
|
|
'html_signature' => (int)$sql_arr[6],
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
$result[] = $sql_arr[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($p['first'])
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$p['email'] = $result;
|
|
|
|
|
|
|
|
|
|
return $p;
|
|
|
|
|
$dbh = $this->app->get_dbh();
|
|
|
|
|
|
|
|
|
|
$sql_result = $dbh->query(preg_replace('/%u/', $dbh->quote($p['user']), $this->config['email']));
|
|
|
|
|
|
|
|
|
|
while ($sql_arr = $dbh->fetch_array($sql_result)) {
|
|
|
|
|
if (strpos($sql_arr[0], '@')) {
|
|
|
|
|
if ($p['extended'] && count($sql_arr) > 1) {
|
|
|
|
|
$result[] = array(
|
|
|
|
|
'email' => rcube_idn_to_ascii($sql_arr[0]),
|
|
|
|
|
'name' => $sql_arr[1],
|
|
|
|
|
'organization' => $sql_arr[2],
|
|
|
|
|
'reply-to' => rcube_idn_to_ascii($sql_arr[3]),
|
|
|
|
|
'bcc' => rcube_idn_to_ascii($sql_arr[4]),
|
|
|
|
|
'signature' => $sql_arr[5],
|
|
|
|
|
'html_signature' => (int)$sql_arr[6],
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
$result[] = $sql_arr[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($p['first']) {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$p['email'] = $result;
|
|
|
|
|
|
|
|
|
|
return $p;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|