0

RoundCube のパスワード変更プラグインを使用したい cpanel アカウントが複数あります。プラグインの config.inc.php ファイル (以下を参照) に、コードを統合する構成変数を設定する関数を含めました (意味については、case ステートメントを参照してください)。

関数配列を返したり、グローバル変数を追加したりしてみました。私の終焉の多くは、変数が構成されていることをパスワードプラグインに理解させることができません。結果を switch ステートメント内のログ ファイルに (ある時点で) 出力すると、関数内で定義されたすべての変数が返されました。しかし、何らかの理由で、プラグインはこれらの変数を password.php ファイル内で取得していません。

ユーザー側での結果は、パスワードの変更が失敗し、エラー メッセージが表示されることです。

// 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;
}
4

1 に答える 1

0

この問題をすでに解決したかどうかはわかりませんが、まったく同じ問題に遭遇し、cPanel コミュニティの助けを借りて解決しました. 私がうまくいかなかった (しかし最終的にはできた) 1 つのシナリオは、パーク ドメインが使用されたときでした。

cPanel のログイン情報ではなく、WHM のログイン情報を使用し、管理者として完了する際にポート 2087 を使用する必要があります。これが役立つことを願っています。

ここに最終的なコードを投稿しました

http://forums.cpanel.net/f42/finding-account-username-parked-domain-428501.html

于 2014-09-17T18:13:11.353 に答える