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); }
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; }
/** * 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); }