Пример #1
0
function plugin_qhmpw_send_remind()
{
    global $script, $vars, $admin_email;
    // 登録メールアドレスチェック
    if (trim($vars['qhmpw']['email']) != $admin_email) {
        $error = 'メールアドレスが登録されているものと異なります';
        return plugin_qhmpw_form_remind($error);
    }
    // qhm.ini.php の qhm_pw_str を変更
    require_once "./lib/Mcrypt.php";
    $code = $_SESSION['qhmsetting']['qhm_pw_str'] = ORMcrypt::get_key(50);
    if (exist_plugin('qhmsetting')) {
        call_user_func('plugin_qhmsetting_update_ini');
    }
    // メール送信
    require_once "./lib/simplemail.php";
    $smail = new SimpleMail();
    $smail->set_params('', $admin_email);
    $smail->subject = 'パスワードの再発行';
    $smail->to = array('name' => '', 'email' => $admin_email);
    $mailbody = '

パスワードの再発行をします。
下記のURLをクリックしてください。

' . $script . '?cmd=qhmpw&code=' . $code . '

';
    $smail->send($mailbody);
    $msg = 'パスワードの再発行:メールを送信しました';
    $body = '登録メールアドレスにメールを送信しました。';
    return array('msg' => $msg, 'body' => $body);
}
Пример #2
0
function plugin_qhmsetting_admin_msg()
{
    global $vars, $script;
    $qt = get_qt();
    $params = plugin_qhmsetting_getparams();
    // --------------------------------------------
    // 直接のアクセスを拒否する
    if (!isset($vars['from']) || $vars['from'] != 'admin_form') {
        return 'このページへの直接アクセスは、無効です。';
    }
    $uname = $_SESSION['qhmsetting']['username'] = $vars['qhmsetting']['username'];
    $_SESSION['qhmsetting']['passwd'] = '{x-php-md5}' . md5($vars['qhmsetting']['password']);
    $admin_email = $_SESSION['qhmsetting']['admin_email'] = $vars['qhmsetting']['admin_email'];
    // encrypt_ftp の再暗号化
    if ($params['encrypt_ftp'] != '') {
        require_once "./lib/Mcrypt.php";
        $mc = new ORMcrypt(trim($params['username']) . trim($vars['qhmsetting']['old_password']));
        $codearr = array_pad(explode(',', $params['encrypt_ftp']), 2, '');
        $data = $mc->decrypt(trim($codearr[0]), trim($codearr[1]));
        $mc->set_key($uname . $vars['qhmsetting']['password']);
        $arr = $mc->encrypt($data);
        $_SESSION['qhmsetting']['encrypt_ftp'] = implode(',', $arr);
    }
    plugin_qhmsetting_update_ini();
    session_destroy();
    $qt->appendv('beforescript', '<meta http-equiv="refresh" content="5;URL=' . h($script . '?cmd=qhmauth') . '" />');
    return <<<EOD
<h2>ユーザーの変更完了</h2>
<p>編集ユーザーの変更を完了しました。</p>
<p>新しいユーザー名は、<span style="font-size:24px;">{$uname}</span>、パスワードは「******」です。</p>
<p>管理者のメールアドレスに{$admin_email}を設定しました。<br />
パスワードの再取得などの際にこのメールアドレスを利用します。
</p>
<p>再度、ログインが必要となります。<a href="{$script}?plugin=qhmauth" style="font-weight:bold;background-color:#ff6;">ここをクリック</a>して下さい</p>
<p>
※5秒後にログイン画面に移動します</p>
EOD;
}
Пример #3
0
 /**
  * FTP情報の複合化
  * 
  * @param string key
  * @return array ftpinfo
  */
 function decrypt_ftp($key, $codearr)
 {
     if (!is_array($codearr) || count($codearr) != 2) {
         return FALSE;
     }
     $mc = new ORMcrypt($key);
     $data = $mc->decrypt($codearr[0], $codearr[1]);
     return unserialize($data);
 }