2014-06-20 2 views
0

RoundCube에 비밀번호 변경 플러그인을 사용하고자하는 여러 개의 cpanel 계정이 있습니다. 플러그인에 대한 config.inc.php 파일 (아래 참조)에는 코드를 통합하는 구성 변수를 설정하는 함수가 포함되어 있습니다 (내 말은 case 문 참조).RoundCube 패스워드 설정 플러그인 여러 개의 Cpanel 계정이 있음

함수 배열 반환, 전역 변수 추가 등을 시도했습니다. 필자의 실패로 인해, 변수가 구성되었음을 이해하기 위해 비밀번호 플러그인을 얻을 수 없습니다. 그 결과를 switch 문 내부의 로그 파일에 인쇄하고 (한 지점에서) 함수 내부에 정의 된 모든 변수를 반환했습니다. 하지만, 어떤 이유로 플러그인은 password.php 파일 내에 이러한 변수를 얻지 못하고 있습니다.

사용자가 결과를 얻지 못하면 암호 변경이 실패하고 오류 메시지가 나타납니다. 이미이 문제를 해결했지만 나는 정확히 같은 문제를 가로 질러 와서의 cPanel 지역 사회의 도움으로 해결 한 경우 나도 몰라

// Password Plugin options 
    $rcmail_config['password_driver'] = 'cpanel'; 

// LOAD USER CONFIGURATION 
    global $CONFIG, $RCMAIL; 
    $rcmail = rcmail::get_instance(); 
    $user = $rcmail->user; 

// GET THE USER'S DOMAIN NAME 
function getDomainFromEmail($email) 
{ 
    $domain = substr(strrchr($email, "@"), 1); 
    return $domain; 
} 


// CONFIGURE PASSWORD PLUG-IN BASED ON THE EMAIL DOMAIN NAME 
function setConfiguration($password_cpanel_host, $password_cpanel_username, $password_cpanel_password, $password_cpanel_port, $password_cpanel_ssl, $password_cpanel_theme) 
{ global $rcmail, $rcmail_config; 
    $rcmail_config['password_cpanel_host']  = $password_cpanel_host; 
    $rcmail_config['password_cpanel_username'] = $password_cpanel_username; 
    $rcmail_config['password_cpanel_password'] = $password_cpanel_password; 
    $rcmail_config['password_cpanel_port']  = $password_cpanel_port; 
    $rcmail_config['password_cpanel_ssl']  = $password_cpanel_ssl; 
    $rcmail_config['password_cpanel_theme']  = $password_cpanel_theme; 

    //return $rcmail_config;  
} 

// CHECK THE DOMAIN NAME AND APPLY THE PLUG-IN SETTINGS 
switch (getDomainFromEmail($user->get_username())) 
{ 
case "domain1.com": 
    // DOES NOT WORK WHEN DEFINED THIS WAY (AFTER RETURN IS UNCOMMENTED IN FUNCTION) 
    $rcmail_config = setConfiguration('xxx', 'xxx', 'xxx', 2083, true, 'x3'); 
    // OR THIS WAY 
    setConfiguration('xxx', 'xxx', 'xxx', 2083, true, 'x3'); 

    break; 

case "domain2.org": 
    // WORKS WHEN DEFINED THIS WAY 
    $rcmail_config['password_cpanel_host']  = 'xxx'; 
    $rcmail_config['password_cpanel_username'] = 'xxx'; 
    $rcmail_config['password_cpanel_password'] = 'xxx'; 
    $rcmail_config['password_cpanel_port']  = '2083'; 
    $rcmail_config['password_cpanel_ssl']  = true; 
    $rcmail_config['password_cpanel_theme']  = 'x3'; 
    break; 
} 

답변