2016-06-16 11 views
1

У меня есть - последняя версия 1.2.0 - веб-почта работает с . Я размещаю несколько доменов на этом сервере, и я использую IIS в качестве веб-сервера для Roundcube. Веб-почта доступна по адресу https://mail.xxxx.tld, где xxxx - это доменное имя, которое я принимаю.Настроить список серверов электронной почты Rouncube

Все домены указывают только на один веб-сайт в IIS, используя bindings из веб-настроек IIS.

В Roundcube config.inc.php:

$ конфигурации [ 'default_host'] = массив ('mail.x1.net', 'mail.x2.net', «mail.x3 .org ',' mail.x4.net ');

Таким образом, на странице входа есть список серверов, как на следующем скриншоте:

enter image description here

Первый сервер в списке сервера всегда выбирается по умолчанию. Мне нужно получить выбранный сервер или даже сделать доступным один сервер на основе URL-адреса, с которого открывается страница входа в систему.

Теперь я не имел в виду, как реализовать его, либо на стороне клиента, используя javascript, либо на стороне сервера, используя PHP, я просто имел в виду, где я мог бы применить любую реализацию для этого требования?

Я попытался изменить skins/larry/templates/login.html но я не в состоянии найти какие-либо детали для формы входа, кроме следующего:

<roundcube:form name="form" method="post"> 
<roundcube:object name="loginform" form="form" size="40" submit=true /> 
</form> 

Другими словами, все три формы элементов, имя пользователя, пароль и сервер генерируются из <roundcube:object name="loginform" form="form" size="40" submit=true />, так где я могу изменить этот объект?

ответ

0

я обнаружил, что есть два способа:

  1. длинный путь, исследование Roundcube API и построить плагин.
  2. Короткий путь, добавив немного скрипт в конце skins/larry/templates/login.html

Ниже приведен сценарий, который я добавил:

<script> 
/* By: Said Bakr 
Making only one select list server item equals to the current host. 
*/ 
$(document).ready(function() { 
    my_host = $(location).attr('hostname'); 
    $("#rcmloginhost option").each(function(){ 
     if ($(this).val().replace(/^(.*)\:\/\//i, "") != my_host){ 
     $(this).remove(); 
     } 
    }) 
}); 
</script> 
</body>