new config_url
This commit is contained in:
@@ -32,13 +32,27 @@ class email_config extends rcube_plugin
|
|||||||
function email_config_form()
|
function email_config_form()
|
||||||
{
|
{
|
||||||
$rcmail = rcube::get_instance();
|
$rcmail = rcube::get_instance();
|
||||||
$email = $rcmail->user->get_username();
|
$email = $rcmail->user->get_username();
|
||||||
|
|
||||||
$secret_key = 'SHARED_SECRET_KEY_987654321';
|
$secret_key = 'SHARED_SECRET_KEY_987654321';
|
||||||
$config_url = 'https://config.email-bayarea.com';
|
|
||||||
$expires = time() + 3600;
|
// mailadmin.<domain der adresse>, z.B. support@bayarea-cc.com
|
||||||
$data = $email . '|' . $expires;
|
// -> https://mailadmin.bayarea-cc.com
|
||||||
|
$at = strrpos($email, '@');
|
||||||
|
if ($at === false) {
|
||||||
|
// Roundcube liefert ausnahmsweise keinen vollen Namen: hier kann kein
|
||||||
|
// sinnvoller Link gebaut werden.
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
$domain = strtolower(substr($email, $at + 1));
|
||||||
|
$config_url = 'https://mailadmin.' . $domain;
|
||||||
|
|
||||||
|
$expires = time() + 3600;
|
||||||
|
$data = $email . '|' . $expires;
|
||||||
$signature = hash_hmac('sha256', $data, $secret_key);
|
$signature = hash_hmac('sha256', $data, $secret_key);
|
||||||
$url = $config_url . '/?email=' . urlencode($email) . '&expires=' . $expires . '&signature=' . $signature;
|
$url = $config_url . '/?email=' . urlencode($email)
|
||||||
|
. '&expires=' . $expires
|
||||||
|
. '&signature=' . $signature;
|
||||||
|
|
||||||
$out = '
|
$out = '
|
||||||
<div class="box" style="max-width: 600px; margin: 40px auto; padding: 30px; background: #fff; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">
|
<div class="box" style="max-width: 600px; margin: 40px auto; padding: 30px; background: #fff; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">
|
||||||
|
|||||||
Reference in New Issue
Block a user