mirror of
https://github.com/Sarjuuk/aowow.git
synced 2025-11-29 15:58:16 +08:00
Template/Update (Part 46 - VI)
* account management rework: Delete account
This commit is contained in:
128
endpoints/account/confirm-delete.php
Normal file
128
endpoints/account/confirm-delete.php
Normal file
@@ -0,0 +1,128 @@
|
||||
<?php
|
||||
|
||||
namespace Aowow;
|
||||
|
||||
if (!defined('AOWOW_REVISION'))
|
||||
die('illegal access');
|
||||
|
||||
|
||||
// custom handler
|
||||
class AccountConfirmdeleteResponse extends TemplateResponse
|
||||
{
|
||||
protected string $template = 'delete';
|
||||
protected string $pageName = 'confirm-delete';
|
||||
|
||||
protected array $scripts = array(
|
||||
[SC_CSS_FILE, 'css/delete.css'],
|
||||
[SC_CSS_STRING, '[type="submit"] { margin: 0px 10px; }']
|
||||
);
|
||||
|
||||
protected array $expectedGET = array(
|
||||
'key' => [FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => '/^[a-zA-Z0-9]{40}$/']]
|
||||
);
|
||||
protected array $expectedPOST = array(
|
||||
'submit' => [FILTER_UNSAFE_RAW ],
|
||||
'cancel' => [FILTER_UNSAFE_RAW ],
|
||||
'confirm' => [FILTER_CALLBACK, 'options' => [self::class, 'checkEmptySet'] ],
|
||||
'key' => [FILTER_VALIDATE_REGEXP, 'options' => ['regexp' => '/^[a-zA-Z0-9]{40}$/']]
|
||||
);
|
||||
|
||||
public bool $confirm = true; // just to select the correct localized brick
|
||||
public string $username = '';
|
||||
public string $deleteFormTarget = '?account=confirm-delete';
|
||||
public ?array $inputbox = null;
|
||||
public string $key = '';
|
||||
|
||||
private bool $success = false;
|
||||
|
||||
public function __construct(string $pageParam)
|
||||
{
|
||||
if (Cfg::get('ACC_AUTH_MODE') != AUTH_MODE_SELF)
|
||||
$this->generateError();
|
||||
|
||||
parent::__construct($pageParam);
|
||||
}
|
||||
|
||||
protected function generate() : void
|
||||
{
|
||||
array_unshift($this->title, Lang::account('accDelete'));
|
||||
|
||||
$this->username = User::$username;
|
||||
|
||||
parent::generate();
|
||||
|
||||
$msg = Lang::account('inputbox', 'error', 'purgeTokenUsed');
|
||||
|
||||
// display default confirm template
|
||||
if ($this->assertGET('key') && DB::Aowow()->selectCell('SELECT 1 FROM ?_account WHERE `status` = ?d AND `statusTimer` > UNIX_TIMESTAMP() AND `token` = ?', ACC_STATUS_PURGING, $this->_get['key']))
|
||||
{
|
||||
$this->key = $this->_get['key'];
|
||||
return;
|
||||
}
|
||||
|
||||
// perform action and display status
|
||||
if ($this->assertPOST('key') && ($userId = DB::Aowow()->selectCell('SELECT `id` FROM ?_account WHERE `status` = ?d AND `statusTimer` > UNIX_TIMESTAMP() AND `token` = ?', ACC_STATUS_PURGING, $this->_post['key'])))
|
||||
{
|
||||
if ($this->_post['cancel'])
|
||||
$msg = $this->cancel($userId);
|
||||
else if ($this->_post['submit'] && $this->_post['confirm'])
|
||||
$msg = $this->purge($userId);
|
||||
}
|
||||
|
||||
// throw error and display in status
|
||||
$this->inputbox = ['inputbox-status', array(
|
||||
'head' => Lang::account('inputbox', 'head', $this->success ? 'success' : 'error'),
|
||||
'message' => $this->success ? $msg : '',
|
||||
'error' => $this->success ? '' : $msg
|
||||
)];
|
||||
}
|
||||
|
||||
private function cancel(int $userId) : string
|
||||
{
|
||||
if (DB::Aowow()->query('UPDATE ?_account SET `status` = ?d, `statusTimer` = 0, `token` = "" WHERE `id` = ?d', ACC_STATUS_NONE, $userId))
|
||||
{
|
||||
$this->success = true;
|
||||
return Lang::account('inputbox', 'message', 'deleteCancel');
|
||||
}
|
||||
|
||||
return Lang::main('intError');
|
||||
}
|
||||
|
||||
private function purge(int $userId) : string
|
||||
{
|
||||
// empty all user settings and cookies
|
||||
DB::Aowow()->query('DELETE FROM ?_account_cookies WHERE `userId` = ?d', $userId);
|
||||
DB::Aowow()->query('DELETE FROM ?_account_avatars WHERE `userId` = ?d', $userId);
|
||||
DB::Aowow()->query('DELETE FROM ?_account_excludes WHERE `userId` = ?d', $userId);
|
||||
DB::Aowow()->query('DELETE FROM ?_account_favorites WHERE `userId` = ?d', $userId);
|
||||
DB::Aowow()->query('DELETE FROM ?_account_reputation WHERE `userId` = ?d', $userId);
|
||||
DB::Aowow()->query('DELETE FROM ?_account_weightscales WHERE `userId` = ?d', $userId); // cascades to aowow_account_weightscale_data
|
||||
|
||||
// delete profiles, unlink chars
|
||||
DB::Aowow()->query('DELETE pp FROM ?_profiler_profiles pp JOIN ?_account_profiles ap ON ap.`profileId` = pp.`id` WHERE ap.`accountId` = ?d', $userId);
|
||||
// DB::Aowow()->query('DELETE FROM ?_account_profiles WHERE `accountId` = ?d', $userId); // already deleted via FK?
|
||||
|
||||
// delete all sessions and bans
|
||||
DB::Aowow()->query('DELETE FROM ?_account_banned WHERE `userId` = ?d', $userId);
|
||||
DB::Aowow()->query('DELETE FROM ?_account_sessions WHERE `userId` = ?d', $userId);
|
||||
|
||||
// delete forum posts (msg: This post was from a user who has deleted their account. (no translations at src); comments/replies are unaffected)
|
||||
// ...
|
||||
|
||||
// replace username with userId and empty fields
|
||||
DB::Aowow()->query(
|
||||
'UPDATE ?_account SET
|
||||
`login` = "", `passHash` = "", `username` = `id`, `email` = NULL, `userGroups` = 0, `userPerms` = 0,
|
||||
`curIp` = "", `prevIp` = "", `curLogin` = 0, `prevLogin` = 0,
|
||||
`locale` = 0, `debug` = 0, `avatar` = 0, `wowicon` = "", `title` = "", `description` = "", `excludeGroups` = 0,
|
||||
`status` = ?d, `statusTimer` = 0, `token` = "", `updateValue` = "", `renameCooldown` = 0
|
||||
WHERE `id` = ?d',
|
||||
ACC_STATUS_DELETED, $userId
|
||||
);
|
||||
|
||||
$this->success = true;
|
||||
return Lang::account('inputbox', 'message', 'deleteOk');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
71
endpoints/account/delete.php
Normal file
71
endpoints/account/delete.php
Normal file
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
namespace Aowow;
|
||||
|
||||
if (!defined('AOWOW_REVISION'))
|
||||
die('illegal access');
|
||||
|
||||
|
||||
/*
|
||||
* accessed via account settings link
|
||||
* empty page with status box
|
||||
*/
|
||||
|
||||
class AccountDeleteResponse extends TemplateResponse
|
||||
{
|
||||
protected bool $requiresLogin = true;
|
||||
|
||||
protected string $template = 'delete';
|
||||
protected string $pageName = 'delete';
|
||||
|
||||
protected array $scripts = [[SC_CSS_FILE, 'css/delete.css']];
|
||||
|
||||
protected array $expectedPOST = array(
|
||||
'proceed' => ['filter' => FILTER_UNSAFE_RAW]
|
||||
);
|
||||
|
||||
public string $username = '';
|
||||
public string $deleteFormTarget = '?account=delete';
|
||||
public ?array $inputbox = null;
|
||||
|
||||
public function __construct(string $pageParam)
|
||||
{
|
||||
if (Cfg::get('ACC_AUTH_MODE') != AUTH_MODE_SELF)
|
||||
$this->generateError();
|
||||
|
||||
parent::__construct($pageParam);
|
||||
}
|
||||
|
||||
protected function generate() : void
|
||||
{
|
||||
array_unshift($this->title, Lang::account('accDelete'));
|
||||
|
||||
parent::generate();
|
||||
|
||||
$this->username = User::$username;
|
||||
|
||||
if ($this->_post['proceed'])
|
||||
{
|
||||
$error = false;
|
||||
if (!DB::Aowow()->selectCell('SELECT 1 FROM ?_account WHERE `status` NOT IN (?a) AND `statusTimer` > UNIX_TIMESTAMP() AND `id` = ?d', [ACC_STATUS_NEW, ACC_STATUS_NONE, ACC_STATUS_PURGING], User::$id))
|
||||
{
|
||||
$token = Util::createHash(40);
|
||||
|
||||
DB::Aowow()->query('UPDATE ?_account SET `status` = ?d, `statusTimer` = UNIX_TIMESTAMP() + ?d, `token` = ? WHERE `id` = ?d',
|
||||
ACC_STATUS_PURGING, Cfg::get('ACC_RECOVERY_DECAY'), $token, User::$id);
|
||||
|
||||
Util::sendMail(User::$email, 'delete-account', [$token, User::$email, User::$username]);
|
||||
}
|
||||
else
|
||||
$error = true;
|
||||
|
||||
$this->inputbox = ['inputbox-status', array(
|
||||
'head' => Lang::account('inputbox', 'head', $error ? 'error' : 'success'),
|
||||
'message' => $error ? '' : Lang::account('inputbox', 'message', 'deleteAccSent', [User::$email]),
|
||||
'error' => $error ? Lang::account('inputbox', 'error', 'isRecovering') : ''
|
||||
)];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -472,14 +472,16 @@ class TemplateResponse extends BaseResponse
|
||||
'viError' => $_SESSION['error']['vi'] ?? null
|
||||
);
|
||||
|
||||
// we cannot blanket NUMERIC_CHECK the data as usernames of deleted users are their id which does not support String.lower()
|
||||
|
||||
if ($this->contribute & CONTRIBUTE_CO)
|
||||
$community['co'] = Util::toJSON(CommunityContent::getComments($this->type, $this->typeId));
|
||||
$community['co'] = Util::toJSON(CommunityContent::getComments($this->type, $this->typeId), JSON_UNESCAPED_UNICODE);
|
||||
|
||||
if ($this->contribute & CONTRIBUTE_SS)
|
||||
$community['ss'] = Util::toJSON(CommunityContent::getScreenshots($this->type, $this->typeId));
|
||||
$community['ss'] = Util::toJSON(CommunityContent::getScreenshots($this->type, $this->typeId), JSON_UNESCAPED_UNICODE);
|
||||
|
||||
if ($this->contribute & CONTRIBUTE_VI)
|
||||
$community['vi'] = Util::toJSON(CommunityContent::getVideos($this->type, $this->typeId));
|
||||
$community['vi'] = Util::toJSON(CommunityContent::getVideos($this->type, $this->typeId), JSON_UNESCAPED_UNICODE);
|
||||
|
||||
unset($_SESSION['error']);
|
||||
|
||||
|
||||
@@ -69,7 +69,8 @@ define('ACC_STATUS_RECOVER_PASS', 3); // currently recover
|
||||
define('ACC_STATUS_CHANGE_EMAIL', 4); // currently changing contact email
|
||||
define('ACC_STATUS_CHANGE_PASS', 5); // currently changing password
|
||||
define('ACC_STATUS_CHANGE_USERNAME', 6); // currently changing username
|
||||
define('ACC_STATUS_DELETED', 7); // is deleted - only a stub remains
|
||||
define('ACC_STATUS_PURGING', 7); // deletion is pending
|
||||
define('ACC_STATUS_DELETED', 99); // is deleted - only a stub remains
|
||||
|
||||
// Session Status
|
||||
define('SESSION_ACTIVE', 1);
|
||||
|
||||
@@ -280,10 +280,11 @@ class User
|
||||
'SELECT a.`id`, a.`passHash`, BIT_OR(ab.`typeMask`) AS "bans", a.`status`
|
||||
FROM ?_account a
|
||||
LEFT JOIN ?_account_banned ab ON a.`id` = ab.`userId` AND ab.`end` > UNIX_TIMESTAMP()
|
||||
WHERE { a.`email` = ? } { a.`login` = ? }
|
||||
WHERE { a.`email` = ? } { a.`login` = ? } AND `status` <> ?d
|
||||
GROUP BY a.`id`',
|
||||
$email ?: DBSIMPLE_SKIP,
|
||||
!$email ? $nameOrEmail : DBSIMPLE_SKIP
|
||||
!$email ? $nameOrEmail : DBSIMPLE_SKIP,
|
||||
ACC_STATUS_DELETED
|
||||
);
|
||||
|
||||
if (!$query)
|
||||
|
||||
@@ -1035,6 +1035,7 @@ $lang = array(
|
||||
'passChangeOk' => "Ihr Kennwort wurde erfolgreich geändert.",
|
||||
'deleteAccSent' => "Eine E-Mail mit einem Bestätigungslink wurde an %s gesendet.",
|
||||
'deleteOk' => "Ihr Konto wurde erfolgreich entfernt. Wir hoffen, Sie bald wiederzusehen!<br /><br /> Sie können dieses Fenster jetzt schließen.",
|
||||
'deleteCancel' => "Die Kontolöschung wurde abgebrochen.",
|
||||
'createAccSent' => 'Eine Nachricht wurde soeben an <b>%s</b> versandt. Folgt einfach den darin enthaltenen Anweisungen, um Euer Konto zu erstellen.<br /><br />Falls du keine Bestätigungsnachricht erhalten hast <a href="?account=resend">klicke hier</a> um eine neue zu senden.</div>',
|
||||
'recovUserSent' => "Eine Nachricht wurde soeben an <b>%s</b> versandt. Folgt einfach den darin enthaltenen Anweisungen, um euren Benutzernamen zu erhalten.",
|
||||
'recovPassSent' => "Eine Nachricht wurde soeben an <b>%s</b> versandt. Folgt einfach den darin enthaltenen Anweisungen, um euer Kennwort zurückzusetzen.",
|
||||
@@ -1042,6 +1043,7 @@ $lang = array(
|
||||
'error' => array(
|
||||
'mailTokenUsed' => 'Dieser Schlüssel zur Änderung der E-Mail-Adresse wurde entweder bereits verwendet oder ist ungültig. Besuchen Sie Ihre <a href="?account#personal">Kontoeinstellungen</a>, um es erneut zu versuchen.',
|
||||
'passTokenUsed' => 'Dieser Schlüssel zur Änderung des Kennworts wurde entweder bereits verwendet oder ist ungültig. Besuchen Sie Ihre <a href="?account#personal">Kontoeinstellungen</a>, um es erneut zu versuchen.',
|
||||
'purgeTokenUsed' => 'Dieser Schlüssel zum Löschen des Kontos wurde entweder bereits verwendet oder ist ungültig. Besuchen Sie Ihre <a href="?account#personal">Kontoeinstellungen</a>, um es erneut zu versuchen.',
|
||||
'passTokenLost' => "Kein Token wurde bereitgestellt. Wenn Sie in einer E-Mail einen Link zum Zurücksetzen des Kennworts erhalten haben, kopieren Sie die gesamte URL (einschließlich des Tokens am Ende) in die Adressleiste Ihres Browsers.",
|
||||
'isRecovering' => "Dieses Konto wird bereits wiederhergestellt. Folgt den Anweisungen in der Nachricht oder wartet %s bis das Token verfällt.",
|
||||
'loginExceeded' => "Die maximale Anzahl an Anmelde-Versuchen von dieser IP wurde überschritten. Bitte versucht es in %s erneut.",
|
||||
|
||||
@@ -1035,6 +1035,7 @@ $lang = array(
|
||||
'passChangeOk' => "Your password has been changed successfully.",
|
||||
'deleteAccSent' => "An email has been sent to %s with confirmation link attached.",
|
||||
'deleteOk' => "Your account has been successfully removed. We hope to see you again soon!<br /><br /> You may now close this window.",
|
||||
'deleteCancel' => "Account deletion was canceled.",
|
||||
'createAccSent' => 'An email was sent to <b>%s</b>. Simply follow the instructions to create your account.<br /><br />If you don\'t receive the verification email, <a href="?account=resend">click here</a> to send another one.</div>',
|
||||
'recovUserSent' => "An email was sent to <b>%s</b>. Simply follow the instructions to recover your username.",
|
||||
'recovPassSent' => "An email was sent to <b>%s</b>. Simply follow the instructions to reset your password."
|
||||
@@ -1042,6 +1043,7 @@ $lang = array(
|
||||
'error' => array(
|
||||
'mailTokenUsed' => 'Either that email change key has already been used, or it\'s not a valid key. Visit your <a href="?account#personal">Account Settings page</a> to try again.',
|
||||
'passTokenUsed' => 'Either that password change key has already been used, or it\'s not a valid key. Visit your <a href="?account#personal">Account Settings page</a> to try again.',
|
||||
'purgeTokenUsed' => 'Either that account delete key has already been used, or it\'s not a valid key. Visit your <a href="?account#personal">Account Settings page</a> to try again.',
|
||||
'passTokenLost' => "No token was provided. If you received a reset password link in an email, please copy and paste the entire URL (including the token at the end) into your browser's location bar.",
|
||||
'isRecovering' => "This account is already recovering. Follow the instructions in your email or wait %s for the token to expire.",
|
||||
'loginExceeded' => "The maximum number of logins from this IP has been exceeded. Please try again in %s.",
|
||||
|
||||
@@ -1035,6 +1035,7 @@ $lang = array(
|
||||
'passChangeOk' => "Tu contraseña ha sido cambiada correctamente.",
|
||||
'deleteAccSent' => "Se ha enviado un correo electrónico a %s con el enlace de confirmación adjunto.",
|
||||
'deleteOk' => "Tu cuenta ha sido eliminada correctamente. ¡Esperamos verte de nuevo pronto!<br /><br /> Ahora puedes cerrar esta ventana.",
|
||||
'deleteCancel' => "La eliminación de la cuenta fue cancelada.",
|
||||
'createAccSent' => 'Un correo fue enviado a <b>%s</b>. Sigue las instrucciones para crear tu cuenta.<br /><br />Si no recibes el correo de verificación, <a href="?account=resend">haz clic aquí</a> para enviar otro.',
|
||||
'recovUserSent' => "Un correo fue enviado a <b>%s</b>. Sigue las instrucciones para recuperar tu nombre de usuario.",
|
||||
'recovPassSent' => "Un correo fue enviado a <b>%s</b>. Sigue las instrucciones para restablecer tu contraseña."
|
||||
@@ -1042,6 +1043,7 @@ $lang = array(
|
||||
'error' => array(
|
||||
'mailTokenUsed' => 'Ese código de cambio de correo electrónico ya ha sido usado, o no es válido. Visita tu <a href="?account#personal">página de configuración de cuenta</a> para intentarlo de nuevo.',
|
||||
'passTokenUsed' => 'Ese código de cambio de contraseña ya ha sido usado, o no es válido. Visita tu <a href="?account#personal">página de configuración de cuenta</a> para intentarlo de nuevo.',
|
||||
'purgeTokenUsed' => 'Esa clave de eliminación de cuenta ya ha sido usada, o no es válida. Visita tu <a href="?account#personal">página de configuración de cuenta</a> para intentarlo de nuevo.',
|
||||
'passTokenLost' => "No se recibió ningún código de petición. Si recibiste un enlace para restablecer tu contraseña por correo, por favor copia y pega la dirección completa (incluyendo el código del final) en la barra de dirección de tu navegador.",
|
||||
'isRecovering' => "Esta cuenta ya se encuentra en proceso de recuperación. Sigue las instrucciones en tu correo o espera %s para que el token expire.",
|
||||
'loginExceeded' => "Has excedido la cantidad de inicios de sesión con esta IP. Por favor intenta en %s.",
|
||||
|
||||
@@ -1035,6 +1035,7 @@ $lang = array(
|
||||
'passChangeOk' => "Votre mot de passe a été changé avec succès.",
|
||||
'deleteAccSent' => "Un courriel a été envoyé à %s avec le lien de confirmation.",
|
||||
'deleteOk' => "Votre compte a été supprimé avec succès. Nous espérons vous revoir bientôt !<br /><br /> Vous pouvez maintenant fermer cette fenêtre.",
|
||||
'deleteCancel' => "La suppression du compte a été annulée.",
|
||||
'createAccSent' => 'Un courriel vous a été envoyé à <b>%s</b>. Veuillez suivre les instructions qu\'il contient pour créer votre compte.<br /><br />Si vous ne recevez pas l\'email de vérification, <a href="?account=resend">cliquez ici</a> pour en envoyer un autre.</div>',
|
||||
'recovUserSent' => "Un courriel vous a été envoyé à <b>%s</b>. Veuillez suivre les instructions qu'il contient pour récupérer votre nom d'utilisateur.",
|
||||
'recovPassSent' => "Un courriel vous a été envoyé à <b>%s</b>. Veuillez suivre les instructions qu'il contient pour réinitialiser votre mot de passe."
|
||||
@@ -1042,6 +1043,7 @@ $lang = array(
|
||||
'error' => array(
|
||||
'mailTokenUsed' => "Cette clé de changement d'adresse courriel a déjà été utilisée ou n'est pas valide. Visitez votre <a href=\"?account#personal\">page de paramètres du compte</a> pour réessayer.",
|
||||
'passTokenUsed' => "Cette clé de changement de mot de passe a déjà été utilisée ou n'est pas valide. Visitez votre <a href=\"?account#personal\">page de paramètres du compte</a> pour réessayer.",
|
||||
'purgeTokenUsed' => "Cette clé de suppression de compte a déjà été utilisée ou n'est pas valide. Visitez votre <a href=\"?account#personal\">page de paramètres du compte</a> pour réessayer.",
|
||||
'passTokenLost' => "Aucun jeton n'a été fourni. Si vous avez reçu un lien de réinitialisation du mot de passe dans un courriel, merci de copier et coller l'URL entière (y compris le jeton à la fin) dans la barre d'adresse de votre navigateur.",
|
||||
'isRecovering' => "Ce compte est déjà en train d'être récupéré. Suivez les instruction dans l'email reçu ou attendez %s pour que le token expire.",
|
||||
'loginExceeded' => "Le nombre maximum de connections depuis cette IP a été dépassé. Essayez de nouevau dans %s.",
|
||||
|
||||
@@ -1035,6 +1035,7 @@ $lang = array(
|
||||
'passChangeOk' => "Ваш пароль был успешно изменен.",
|
||||
'deleteAccSent' => "Письмо с подтверждением было отправлено на %s.",
|
||||
'deleteOk' => "Ваша учетная запись была успешно удалена. Надеемся увидеть вас снова!<br /><br /> Теперь вы можете закрыть это окно.",
|
||||
'deleteCancel' => "Удаление учетной записи было отменено.",
|
||||
'createAccSent' => 'Письмо с инструкциями для активации учетной записи было отправлено на адрес <b>%s/b>. Следуйте инструкциям, для продолжения регистрации.<br /><br />Если вы не получили письмо для подтверждения, <a href="?account=resend">нажмите здесь</a>, чтобы отправить его повторно.</div>',
|
||||
'recovUserSent' => "Письмо с инструкциями для активации учетной записи было отправлено на адрес <b>%s/b>. Просто следуйте инструкциям для восстановления имени пользователя.",
|
||||
'recovPassSent' => "Письмо с инструкциями для активации учетной записи было отправлено на адрес <b>%s/b>. Просто следуйте инструкциям для сброса пароля."
|
||||
@@ -1042,6 +1043,7 @@ $lang = array(
|
||||
'error' => array(
|
||||
'mailTokenUsed' => 'Этот ключ для смены email уже был использован или недействителен. Посетите вашу <a href="?account#personal">страницу настроек учетной записи</a>, чтобы попробовать снова.',
|
||||
'passTokenUsed' => 'Этот ключ для смены пароля уже был использован или недействителен. Посетите вашу <a href="?account#personal">страницу настроек учетной записи</a>, чтобы попробовать снова.',
|
||||
'purgeTokenUsed' => 'Этот ключ для удаления учетной записи уже был использован или недействителен. Посетите вашу <a href="?account#personal">страницу настроек учетной записи</a>, чтобы попробовать снова.',
|
||||
'passTokenLost' => "Ключ не был получен. Если вы сбросили пароль по ссылке из письма, отправленного на email, пожалуйста, скопируйте URL целиком и вставьте в адресную строку (включая ключ, указанный в конце ссылки).",
|
||||
'isRecovering' => "Эта учетная запись уже восстанавливается. Следуйте инструкциям в письме или дождитесь истечения срока действия токена через %s.",
|
||||
'loginExceeded' => "Достигнуто максимальное количество попыток входа с этого IP. Пожалуйста, попробуйте снова через %s.",
|
||||
|
||||
@@ -1035,6 +1035,7 @@ $lang = array(
|
||||
'passChangeOk' => "您的密码已成功更改。",
|
||||
'deleteAccSent' => "已向 %s 发送了一封带有确认链接的邮件。",
|
||||
'deleteOk' => "您的账户已成功删除。希望不久后能再次见到您!<br /><br />您现在可以关闭此窗口。",
|
||||
'deleteCancel' => "账户删除已取消。",
|
||||
'createAccSent' => '电子邮件发送到<b>%s</b>。只请按照说明创建您的账户。<br /><br />如果您没有收到验证邮件,<a href="?account=resend">点击这里</a>重新发送。',
|
||||
'recovUserSent' => "电子邮件发送到<b>%s</b>。只请按照说明恢复您的用户名。",
|
||||
'recovPassSent' => "电子邮件发送到<b>%s</b>。只请按照说明重置您的密码。"
|
||||
@@ -1042,6 +1043,7 @@ $lang = array(
|
||||
'error' => array(
|
||||
'mailTokenUsed' => '该邮箱更改密钥已被使用,或不是有效密钥。请访问您的<a href="?account#personal">账户设置页面</a>重新尝试。',
|
||||
'passTokenUsed' => '该密码更改密钥已被使用,或不是有效密钥。请访问您的<a href="?account#personal">账户设置页面</a>重新尝试。',
|
||||
'purgeTokenUsed' => '该账户删除密钥已被使用,或不是有效密钥。请访问您的<a href="?account#personal">账户设置页面</a>重新尝试。',
|
||||
'passTokenLost' => "未提供令牌。如果您在邮件中收到重置密码链接,请将整个网址(包括最后的令牌)复制并粘贴到浏览器地址栏中。",
|
||||
'isRecovering' => "此帐户已恢复。按照电子邮件中的说明或等待%s后令牌过期。",
|
||||
'loginExceeded' => "这个IP最大登录次数已超过。请在%s后再次尝试。",
|
||||
|
||||
42
static/css/delete.css
Normal file
42
static/css/delete.css
Normal file
@@ -0,0 +1,42 @@
|
||||
.account-delete-box {
|
||||
background: #161616;
|
||||
border-radius: 3px;
|
||||
box-sizing: border-box;
|
||||
line-height: 1.7em;
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
padding: 15px;
|
||||
width: 34em;
|
||||
}
|
||||
|
||||
.account-delete-box [class^="heading-size-"] {
|
||||
margin-top: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.account-delete-box-warning,
|
||||
.account-delete-box-alternative {
|
||||
font-size: 175%;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.account-delete-box-warning,
|
||||
.account-delete-box-warning * {
|
||||
color: #ff4040 !important
|
||||
}
|
||||
|
||||
.account-delete-box-warning b {
|
||||
display: block;
|
||||
font-size: 200%;
|
||||
font-weight: 900;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.account-delete-box-confirm {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* from global.css */
|
||||
.text p {
|
||||
margin: 10px 0px;
|
||||
}
|
||||
26
template/localized/confirm-delete-account_0.tpl.php
Normal file
26
template/localized/confirm-delete-account_0.tpl.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1 class="heading-size-1">Please Confirm Account Deletion</h1>
|
||||
<p class="account-delete-box-alternative">
|
||||
Once you press the button below, there is no undo, no turning back, since we can’t keep a backup of any data that you are asking us to delete from our servers. We also won’t be able to contact you, because your email address is definitely something we’ll purge from our data.<br /><br />
|
||||
As a reminder, the “right to be forgotten” means that we will be removing any Personal Data linked to your account across all of the sites and services in our network.<br /><br />
|
||||
This information will include, but is not limited to:<br />
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
<ul>
|
||||
<li>Your Identity <?=$this->username;?>, and the email address associated with this login</li>
|
||||
<li>Your current Premium status and data, should you be a Premium member</li>
|
||||
<li>Your profile information and preferences.</li>
|
||||
<li>Any game-specific information and statistics directly linked to your Identity.</li>
|
||||
<li>In some cases, content that you've authored, including comments, guides and forum posts.</li>
|
||||
<li>Note that game data connected to your gaming identities will re-appear when other users request data updates, unless you delete that data at the source.</li>
|
||||
</ul>
|
||||
<label for="confirm" class="quote"><input type="checkbox" class="checkbox" name="confirm" id="confirm"/> To finalize the Forget Me Process check the following box, and then click the button below.</label>
|
||||
</p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="hidden" name="key" value="<?=$this->key;?>" />
|
||||
<input type="submit" class="button" name="submit" value="Permanently Forget My Account" />
|
||||
<input type="submit" class="button" name="cancel" value="Cancel Forget Me Process" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
26
template/localized/confirm-delete-account_2.tpl.php
Normal file
26
template/localized/confirm-delete-account_2.tpl.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1 class="heading-size-1">Veuillez confirmer la suppression du compte</h1>
|
||||
<p class="account-delete-box-alternative">
|
||||
Une fois que vous avez cliqué sur le bouton ci-dessous, vous ne pourrez plus revenir en arrière, car nous ne pouvons conserver aucune sauvegarde des données que vous nous demandez de supprimer de nos serveurs. Nous ne pourrons pas non plus vous contacter, car votre adresse e-mail sera supprimée de nos données.<br /><br />
|
||||
Pour rappel, le « droit à l'oubli » signifie que nous supprimerons toutes les données personnelles liées à votre compte sur tous les sites et services de notre réseau.<br /><br />
|
||||
Ces informations incluront, sans s'y limiter :<br />
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
<ul>
|
||||
<li>Votre identité <?=$this->username;?> et l'adresse e-mail associée à cet identifiant</li>
|
||||
<li>Votre statut et vos données Premium actuels, si vous êtes membre Premium</li>
|
||||
<li>Vos informations de profil et vos préférences</li>
|
||||
<li>Toutes les informations et statistiques spécifiques au jeu directement liées à votre identité</li>
|
||||
<li>Dans certains cas, le contenu dont vous êtes l'auteur, y compris les commentaires, les guides et les messages sur les forums.</li>
|
||||
<li>Notez que les données de jeu liées à vos identités de jeu réapparaîtront lorsque d'autres utilisateurs demanderont des mises à jour, sauf si vous supprimez ces données à la source.</li>
|
||||
</ul>
|
||||
<label for="confirm" class="quote"><input type="checkbox" class="checkbox" name="confirm" id="confirm"/> Pour finaliser la procédure « Oublier mon compte », cochez la case suivante, puis cliquez sur le bouton ci-dessous.</label>
|
||||
</p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="hidden" name="key" value="<?=$this->key;?>" />
|
||||
<input type="submit" class="button" name="submit" value="Oublier définitivement mon compte" />
|
||||
<input type="submit" class="button" name="cancel" value="Annuler la procédure « Oublier mon compte »" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
26
template/localized/confirm-delete-account_3.tpl.php
Normal file
26
template/localized/confirm-delete-account_3.tpl.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1 class="heading-size-1">Bitte Kontolöschung bestätigen</h1>
|
||||
<p class="account-delete-box-alternative">
|
||||
Sobald Sie die Schaltfläche unten gedrückt haben, können Sie die Löschung nicht mehr rückgängig machen, da wir keine Sicherungskopien der Daten speichern können, die Sie von unseren Servern löschen lassen möchten. Wir können Sie auch nicht kontaktieren, da Ihre E-Mail-Adresse definitiv aus unseren Daten gelöscht wird.<br /><br />
|
||||
Zur Erinnerung: Das „Recht auf Vergessenwerden“ bedeutet, dass wir alle personenbezogenen Daten, die mit Ihrem Konto verknüpft sind, auf allen Websites und Diensten unseres Netzwerks entfernen.<br /><br />
|
||||
Zu diesen Informationen gehören unter anderem:<br />
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
<ul>
|
||||
<li>Ihre Identität <?=$this->username;?> und die mit diesem Login verknüpfte E-Mail-Adresse</li>
|
||||
<li>Ihren aktuellen Premium-Status und die dazugehörigen Daten, falls Sie Premium-Mitglied sind</li>
|
||||
<li>Ihre Profilinformationen und -einstellungen</li>
|
||||
<li>Alle spielbezogenen Informationen und Statistiken, die direkt mit Ihrer Identität verknüpft sind</li>
|
||||
<li>In einigen Fällen von Ihnen verfasste Inhalte, einschließlich Kommentare, Leitfäden und Forenbeiträge.</li>
|
||||
<li>Beachten Sie, dass Spieldaten, die mit Ihren Spielidentitäten verknüpft sind, wieder angezeigt werden, wenn andere Nutzer Datenaktualisierungen anfordern, es sei denn, Sie löschen diese Daten an der Quelle.</li>
|
||||
</ul>
|
||||
<label for="confirm" class="quote"><input type="checkbox" class="checkbox" name="confirm" id="confirm"/> Um den „Vergessen“-Vorgang abzuschließen, aktivieren Sie das folgende Kontrollkästchen und klicken Sie anschließend auf die Schaltfläche unten.</label>
|
||||
</p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="hidden" name="key" value="<?=$this->key;?>" />
|
||||
<input type="submit" class="button" name="submit" value="Mein Konto dauerhaft vergessen" />
|
||||
<input type="submit" class="button" name="cancel" value="„Vergessen“-Vorgang abbrechen" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
26
template/localized/confirm-delete-account_4.tpl.php
Normal file
26
template/localized/confirm-delete-account_4.tpl.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1 class="heading-size-1">请确认删除账户</h1>
|
||||
<p class="account-delete-box-alternative">
|
||||
一旦您点击下方按钮,将无法撤消,因为我们无法备份您要求我们从服务器中删除的任何数据。我们也无法联系到您,因为我们肯定会从数据中清除您的电子邮件地址。<br /><br />
|
||||
提醒一下,“被遗忘权”意味着我们将从我们网络中的所有网站和服务中删除与您的帐户相关的所有个人数据。<br /><br />
|
||||
这些信息包括但不限于:<br />
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
<ul>
|
||||
<li>您的身份<?=$this->username;?>,以及与此登录关联的电子邮件地址</li>
|
||||
<li>您当前的高级会员状态和数据(如果您是高级会员)</li>
|
||||
<li>您的个人资料信息和偏好设置。</li>
|
||||
<li>任何与您的身份直接关联的游戏特定信息和统计信息。</li>
|
||||
<li>在某些情况下,您撰写的内容,包括评论、指南和论坛帖子。</li>
|
||||
<li>请注意,游戏数据已关联除非您从源头删除该数据,否则您的游戏身份信息将在其他用户请求数据更新时重新显示。</li>
|
||||
</ul>
|
||||
<label for="confirm" class="quote"><input type="checkbox" class="checkbox" name="confirm" id="confirm"/> 要完成“忘记我”流程,请勾选以下方框,然后点击下方按钮。</label>
|
||||
</p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="hidden" name="key" value="<?=$this->key;?>" />
|
||||
<input type="submit" class="button" name="submit" value="永久忘记我的账户" />
|
||||
<input type="submit" class="button" name="cancel" value="取消“忘记我”流程" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
26
template/localized/confirm-delete-account_6.tpl.php
Normal file
26
template/localized/confirm-delete-account_6.tpl.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1 class="heading-size-1">Confirmar la eliminación de la cuenta</h1>
|
||||
<p class="account-delete-box-alternative">
|
||||
Una vez que presione el botón de abajo, no podrá deshacerlo ni volver atrás, ya que no podemos guardar una copia de seguridad de los datos que nos solicita eliminar de nuestros servidores. Tampoco podremos contactarte, ya que tu dirección de correo electrónico será eliminada de nuestros datos.<br /><br />
|
||||
Te recordamos que el "derecho al olvido" implica que eliminaremos cualquier dato personal vinculado a tu cuenta en todos los sitios y servicios de nuestra red.<br /><br />
|
||||
Esta información incluirá, entre otros:<br />
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
<ul>
|
||||
<li>Tu identidad <?=$this->username;?> y la dirección de correo electrónico asociada a este inicio de sesión</li>
|
||||
<li>Tu estado y datos Premium actuales, si eres miembro Premium</li>
|
||||
<li>Tu información de perfil y preferencias</li>
|
||||
<li>Cualquier información y estadísticas específicas del juego directamente vinculadas a tu identidad</li>
|
||||
<li>En algunos casos, contenido de tu autoría, incluyendo comentarios, guías y publicaciones en el foro</li>
|
||||
<li>Ten en cuenta que los datos de juego asociados a tus identidades de juego volverán a aparecer cuando otros usuarios soliciten actualizaciones, a menos que los elimines en la fuente.</li>
|
||||
</ul>
|
||||
<label for="confirm" class="quote"><input type="checkbox" class="checkbox" name="confirm" id="confirm"/> Para finalizar el proceso de "Olvídate de mí", marca la casilla y haz clic en el botón de abajo.</label>
|
||||
</p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="hidden" name="key" value="<?=$this->key;?>" />
|
||||
<input type="submit" class="button" name="submit" value="Olvidar mi cuenta permanentemente" />
|
||||
<input type="submit" class="button" name="cancel" value="Cancelar el proceso de "Olvidarme"" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
26
template/localized/confirm-delete-account_8.tpl.php
Normal file
26
template/localized/confirm-delete-account_8.tpl.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1 class="heading-size-1">Подтвердите удаление аккаунта</h1>
|
||||
<p class="account-delete-box-alternative">
|
||||
После нажатия кнопки ниже вы не сможете отменить действие или вернуться назад, поскольку мы не можем хранить резервные копии данных, которые вы просите нас удалить с наших серверов. Мы также не сможем связаться с вами, поскольку ваш адрес электронной почты будет определённо удалён из наших данных.<br /><br />
|
||||
Напоминаем, что «право быть забытым» означает, что мы удалим все персональные данные, связанные с вашей учётной записью, на всех сайтах и сервисах нашей сети.<br /><br />
|
||||
Эта информация будет включать, помимо прочего:<br />
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
<ul>
|
||||
<li>Ваша идентификационная информация <?=$this->username;?> и адрес электронной почты, связанный с этим логином.</li>
|
||||
<li>Ваш текущий премиум-статус и данные, если вы являетесь премиум-участником.</li>
|
||||
<li>Информация и настройки вашего профиля.</li>
|
||||
<li>Любая информация и статистика, связанные с игрой, напрямую связанные с вашей идентификационной информацией.</li>
|
||||
<li>В некоторых случаях контент, который вы создали, включая комментарии, руководства и форум. Публикации.</li>
|
||||
<li>Обратите внимание, что игровые данные, связанные с вашими игровыми аккаунтами, будут снова отображаться, когда другие пользователи запросят обновление данных, если вы не удалите эти данные в источнике.</li>
|
||||
</ul>
|
||||
<label for="confirm" class="quote"><input type="checkbox" class="checkbox" name="confirm" id="confirm"/> Чтобы завершить процесс «Забыть меня», установите следующий флажок и нажмите кнопку ниже.</label>
|
||||
</p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="hidden" name="key" value="<?=$this->key;?>" />
|
||||
<input type="submit" class="button" name="submit" value="Забыть мою учетную запись навсегда" />
|
||||
<input type="submit" class="button" name="cancel" value="Отмена процесса «Забыть меня»" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
15
template/localized/delete-account_0.tpl.php
Normal file
15
template/localized/delete-account_0.tpl.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1 class="heading-size-1">Delete Account: <?=$this->username;?></h1>
|
||||
<p class="account-delete-box-warning">
|
||||
<b>WARNING!</b> This process is permanent! If you choose to delete your account and all your personal information, it CANNOT be recovered!</p>
|
||||
<p class="account-delete-box-alternative">
|
||||
<b>If you need help deleting something on your account instead of your entire account, please <a href="javascript:" onclick="ContactTool.show()">contact support</a> for help.</b>
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
We care about your data. If you want to exercise your “right to be forgotten” and request your Personal Data to be removed from our systems, please click here and follow the instructions on our corporate site:</p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="submit" name="proceed" value="Proceed" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
15
template/localized/delete-account_2.tpl.php
Normal file
15
template/localized/delete-account_2.tpl.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1>Supprimer le compte : <?=$this->username;?></h1>
|
||||
<p class="account-delete-box-warning">
|
||||
<b>ATTENTION !</b> Cette action est définitive ! Si vous choisissez de supprimer votre compte et toutes vos informations personnelles, il NE POURRA PAS être récupéré.</p>
|
||||
<p class="account-delete-box-alternative">
|
||||
<b>Si vous avez besoin d'aide pour supprimer quelque chose sur votre compte plutôt que votre compte entier, veuillez contacter <a href="javascript:" onclick="ContactTool.show()">l'assistance clientèle</a> afin qu'elle puisse vous y aider.</b>
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
Vos données sont importantes à nos yeux. Si vous voulez exercer votre droit à l'oubli et demander à ce que vos données personnelles soient supprimées de nos systèmes, veuillez cliquer ici et suivre les instructions sur le site de notre entreprise : </p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="submit" name="proceed" value="Continuer" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
15
template/localized/delete-account_3.tpl.php
Normal file
15
template/localized/delete-account_3.tpl.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1>Konto löschen: <?=$this->username;?></h1>
|
||||
<p class="account-delete-box-warning">
|
||||
<b>WARNUNG!</b> Dieser Prozess ist permanent! Wenn ihr euer Konto und alle eure persönlichen Daten löscht, können sie NICHT wiederhergestellt werden!</p>
|
||||
<p class="account-delete-box-alternative">
|
||||
<b>Wenn du Hilfe benötigst, um etwas von deinem Konto und nicht dein gesamtes Konto zu löschen, dann wende dich bitte an den <a href="javascript:" onclick="ContactTool.show()">Support</a>.</b>
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
Eure Daten sind uns nicht egal. Wenn ihr von eurem "Recht auf Vergessenwerden" Gebrauch machen und eure persönlichen Daten aus unserem System entfernen lassen möchtet, dann klickt bitte hier und folgt den Anweisungen auf unserer Unternehmensseite:</p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="submit" name="proceed" value="Fortfahren" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
15
template/localized/delete-account_4.tpl.php
Normal file
15
template/localized/delete-account_4.tpl.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1>删除账户:<?=$this->username;?></h1>
|
||||
<p class="account-delete-box-warning">
|
||||
<b>警告!</b>此步骤将永久地删除您的账户以及所有个人信息,并且不可恢复!</p>
|
||||
<p class="account-delete-box-alternative">
|
||||
<b>如果您需要删除账户上的部分信息而不是您的完整账户,请 <a href="javascript:" onclick="ContactTool.show()">联系客服</a> 寻求帮助。</b>
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
我们非常关心您的数据隐私。如果您确认要行使「被遗忘的权利」并且请求从我们的系统中删除您的个人信息,请点击下面的链接访问我们的企业网站。根据提示来完成删除请求:</p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="submit" name="proceed" value="继续" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
15
template/localized/delete-account_6.tpl.php
Normal file
15
template/localized/delete-account_6.tpl.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1>Eliminar Cuenta: <?=$this->username;?></h1>
|
||||
<p class="account-delete-box-warning">
|
||||
<b>CUIDADO!</b> ¡Este proceso es permanente e irreversible! Si eliges eliminar tu cuenta e información personal, NO podrás recuperarla!</p>
|
||||
<p class="account-delete-box-alternative">
|
||||
<b>Si necesitas ayuda para eliminar algo de tu cuenta en lugar de su totalidad, por favor contacta con nuestro <a href="javascript:" onclick="ContactTool.show()">soporte técnico</a>.</b>
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
Nos importan tus datos personales. Si quieres ejercer tu "derecho a ser olvidado" y solicitar que tus Datos Personales sean eliminados de nuestros sistemas, por favor haz click aquí y sigue las instrucciones de nuestra página web corporativa:</p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="submit" name="proceed" value="Procedar" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
15
template/localized/delete-account_8.tpl.php
Normal file
15
template/localized/delete-account_8.tpl.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<div class="account-delete-box text">
|
||||
<form action="<?=$this->deleteFormTarget;?>" method="POST">
|
||||
<h1>Удалить учетную запись: <?=$this->username;?></h1>
|
||||
<p class="account-delete-box-warning">
|
||||
<b>ВНИМАНИЕ!</b> Этот процесс необратим! Если вы решите удалить учетную запись и все связанные с ней персональные данные, то впоследствии мы не сможем ее восстановить.</p>
|
||||
<p class="account-delete-box-alternative">
|
||||
<b>Если вам требуется помощь в деле удаления каких-либо данных, связанных с учетной записью, а не учетной записи в целом, пожалуйста, <a href="javascript:" onclick="ContactTool.show()">свяжитесь с нами</a>.</b>
|
||||
</p>
|
||||
<p class="account-delete-box-right-to-be-forgotten">
|
||||
Мы заботимся о сохранности ваших данных. Если вы хотите воспользоваться «правом на забвение» и запросить удаление ваших персональных данных, пожалуйста, перейдите по указанной ссылке и следуйте инструкциям, представленным на нашем корпоративном сайте:</p>
|
||||
<p class="account-delete-box-confirm">
|
||||
<input type="submit" name="proceed" value="Продолжить" />
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
21
template/mails/delete-account_0.tpl
Normal file
21
template/mails/delete-account_0.tpl
Normal file
@@ -0,0 +1,21 @@
|
||||
# 2025
|
||||
Please verify your request to be forgotten
|
||||
Greetings,
|
||||
|
||||
We’ve just received a request to exercise the “right to be forgotten” from the following email address %2$s in accordance with our Privacy Policy.
|
||||
|
||||
Please click on following link HOST_URL?account=confirm-delete&key=%1$s to confirm your selection. You will get one last chance to review your choices once you are back on the site.
|
||||
|
||||
Should you choose to proceed with this process, we will permanently delete or anonymize any Personal Data linked to your account.
|
||||
|
||||
This information will include, but is not limited to:
|
||||
|
||||
* Your Identity %3$s, and the email address associated with this login.
|
||||
* Your current Premium status and data, should you be a Premium member.
|
||||
* Your profile information and preferences.
|
||||
* In some cases, content that you've authored, including comments, guides and forum posts.
|
||||
* Note that game data connected to your gaming identities will re-appear when other users request data updates, unless you delete that data at the source.
|
||||
|
||||
Once we receive your final confirmation, we will be removing your Personal Data.
|
||||
|
||||
If you have any questions or need further assistance, please contact CONTACT_EMAIL.
|
||||
21
template/mails/delete-account_2.tpl
Normal file
21
template/mails/delete-account_2.tpl
Normal file
@@ -0,0 +1,21 @@
|
||||
# GPTed from 2025 source
|
||||
Veuillez vérifier votre demande de droit à l'oubli
|
||||
Bonjour,
|
||||
|
||||
Nous venons de recevoir une demande d'exercice du « droit à l'oubli » de l'adresse e-mail suivante %2$s conformément à notre politique de confidentialité.
|
||||
|
||||
Veuillez cliquer sur le lien suivant HOST_URL?account=confirm-delete&key=%1$s pour confirmer votre choix. Vous aurez une dernière chance de revoir vos choix une fois de retour sur le site.
|
||||
|
||||
Si vous choisissez de poursuivre ce processus, nous supprimerons ou anonymiserons définitivement toutes les données personnelles liées à votre compte.
|
||||
|
||||
Ces informations incluront, sans s'y limiter :
|
||||
|
||||
* Votre identité %3$s, et l'adresse e-mail associée à cette connexion.
|
||||
* Votre statut Premium actuel et les données, si vous êtes membre Premium.
|
||||
* Vos informations de profil et préférences.
|
||||
* Dans certains cas, le contenu que vous avez créé, y compris les commentaires, guides et messages sur le forum.
|
||||
* Notez que les données de jeu liées à vos identités de jeu réapparaîtront lorsque d'autres utilisateurs demanderont des mises à jour de données, sauf si vous supprimez ces données à la source.
|
||||
|
||||
Une fois que nous aurons reçu votre confirmation finale, nous supprimerons vos données personnelles.
|
||||
|
||||
Si vous avez des questions ou besoin d'aide supplémentaire, veuillez contacter CONTACT_EMAIL.
|
||||
21
template/mails/delete-account_3.tpl
Normal file
21
template/mails/delete-account_3.tpl
Normal file
@@ -0,0 +1,21 @@
|
||||
# GPTed from 2025 source
|
||||
Bitte bestätigen Sie Ihre Anfrage auf Vergessenwerden
|
||||
Hallo,
|
||||
|
||||
Wir haben gerade eine Anfrage zum "Recht auf Vergessenwerden" von der folgenden E-Mail-Adresse %2$s gemäß unserer Datenschutzrichtlinie erhalten.
|
||||
|
||||
Bitte klicken Sie auf den folgenden Link HOST_URL?account=confirm-delete&key=%1$s, um Ihre Auswahl zu bestätigen. Sie erhalten eine letzte Gelegenheit, Ihre Auswahl zu überprüfen, sobald Sie wieder auf der Website sind.
|
||||
|
||||
Wenn Sie sich entscheiden, diesen Prozess fortzusetzen, werden wir alle mit Ihrem Konto verknüpften personenbezogenen Daten dauerhaft löschen oder anonymisieren.
|
||||
|
||||
Diese Informationen umfassen unter anderem:
|
||||
|
||||
* Ihre Identität %3$s und die mit diesem Login verknüpfte E-Mail-Adresse.
|
||||
* Ihren aktuellen Premium-Status und Daten, falls Sie ein Premium-Mitglied sind.
|
||||
* Ihre Profilinformationen und Präferenzen.
|
||||
* In einigen Fällen von Ihnen erstellte Inhalte, einschließlich Kommentare, Guides und Forenbeiträge.
|
||||
* Beachten Sie, dass Spieldaten, die mit Ihren Spielidentitäten verbunden sind, wieder erscheinen, wenn andere Nutzer Datenaktualisierungen anfordern, es sei denn, Sie löschen diese Daten an der Quelle.
|
||||
|
||||
Sobald wir Ihre endgültige Bestätigung erhalten haben, werden wir Ihre personenbezogenen Daten entfernen.
|
||||
|
||||
Wenn Sie Fragen haben oder weitere Unterstützung benötigen, kontaktieren Sie bitte CONTACT_EMAIL.
|
||||
21
template/mails/delete-account_4.tpl
Normal file
21
template/mails/delete-account_4.tpl
Normal file
@@ -0,0 +1,21 @@
|
||||
# GPTed from 2025 source
|
||||
请验证您的被遗忘权请求
|
||||
您好,
|
||||
|
||||
我们刚刚收到来自以下电子邮件地址 %2$s 的“被遗忘权”请求,依据我们的隐私政策。
|
||||
|
||||
请点击以下链接 HOST_URL?account=confirm-delete&key=%1$s 以确认您的选择。返回网站后,您将有最后一次机会审查您的选择。
|
||||
|
||||
如果您选择继续此流程,我们将永久删除或匿名化与您的账户相关的所有个人数据。
|
||||
|
||||
这些信息包括但不限于:
|
||||
|
||||
* 您的身份 %3$s,以及与此登录关联的电子邮件地址。
|
||||
* 您当前的高级会员状态和数据(如适用)。
|
||||
* 您的个人资料信息和偏好设置。
|
||||
* 在某些情况下,您创作的内容,包括评论、指南和论坛帖子。
|
||||
* 请注意,与您的游戏身份相关的游戏数据在其他用户请求数据更新时会重新出现,除非您在源头删除这些数据。
|
||||
|
||||
一旦我们收到您的最终确认,我们将删除您的个人数据。
|
||||
|
||||
如有任何疑问或需要进一步帮助,请联系 CONTACT_EMAIL。
|
||||
21
template/mails/delete-account_6.tpl
Normal file
21
template/mails/delete-account_6.tpl
Normal file
@@ -0,0 +1,21 @@
|
||||
# GPTed from 2025 source
|
||||
Por favor, verifique su solicitud de derecho al olvido
|
||||
Saludos,
|
||||
|
||||
Acabamos de recibir una solicitud para ejercer el "derecho al olvido" desde la siguiente dirección de correo electrónico %2$s de acuerdo con nuestra Política de Privacidad.
|
||||
|
||||
Por favor, haga clic en el siguiente enlace HOST_URL?account=confirm-delete&key=%1$s para confirmar su selección. Tendrá una última oportunidad de revisar sus opciones una vez que regrese al sitio.
|
||||
|
||||
Si decide continuar con este proceso, eliminaremos o anonimizaremos permanentemente cualquier dato personal vinculado a su cuenta.
|
||||
|
||||
Esta información incluirá, pero no se limitará a:
|
||||
|
||||
* Su identidad %3$s y la dirección de correo electrónico asociada a este inicio de sesión.
|
||||
* Su estado Premium actual y datos, si es miembro Premium.
|
||||
* Su información de perfil y preferencias.
|
||||
* En algunos casos, contenido que haya creado, incluyendo comentarios, guías y publicaciones en foros.
|
||||
* Tenga en cuenta que los datos de juego conectados a sus identidades de juego volverán a aparecer cuando otros usuarios soliciten actualizaciones de datos, a menos que elimine esos datos en la fuente.
|
||||
|
||||
Una vez que recibamos su confirmación final, eliminaremos sus datos personales.
|
||||
|
||||
Si tiene alguna pregunta o necesita más ayuda, por favor contacte a CONTACT_EMAIL.
|
||||
21
template/mails/delete-account_8.tpl
Normal file
21
template/mails/delete-account_8.tpl
Normal file
@@ -0,0 +1,21 @@
|
||||
# GPTed from 2025 source
|
||||
Пожалуйста, подтвердите ваш запрос на удаление данных
|
||||
Здравствуйте,
|
||||
|
||||
Мы только что получили запрос на реализацию "права быть забытым" с адреса электронной почты %2$s в соответствии с нашей Политикой конфиденциальности.
|
||||
|
||||
Пожалуйста, перейдите по следующей ссылке HOST_URL?account=confirm-delete&key=%1$s, чтобы подтвердить свой выбор. После возвращения на сайт у вас будет последний шанс пересмотреть свое решение.
|
||||
|
||||
Если вы решите продолжить процесс, мы навсегда удалим или анонимизируем все персональные данные, связанные с вашей учетной записью.
|
||||
|
||||
Эта информация будет включать, но не ограничиваться:
|
||||
|
||||
* Вашу личность %3$s и адрес электронной почты, связанный с этим входом.
|
||||
* Ваш текущий статус и данные Premium, если вы являетесь Premium-участником.
|
||||
* Вашу информацию профиля и предпочтения.
|
||||
* В некоторых случаях созданный вами контент, включая комментарии, руководства и сообщения на форуме.
|
||||
* Обратите внимание, что игровые данные, связанные с вашими игровыми идентификаторами, появятся снова, когда другие пользователи запросят обновление данных, если только вы не удалите эти данные у источника.
|
||||
|
||||
После получения вашего окончательного подтверждения мы удалим ваши персональные данные.
|
||||
|
||||
Если у вас есть вопросы или вам нужна дополнительная помощь, пожалуйста, свяжитесь с CONTACT_EMAIL.
|
||||
26
template/pages/delete.tpl.php
Normal file
26
template/pages/delete.tpl.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
namespace Aowow\Template;
|
||||
|
||||
$this->brick('header');
|
||||
?>
|
||||
<div class="main" id="main">
|
||||
<div class="main-precontents" id="main-precontents"></div>
|
||||
<div class="main-contents" id="main-contents">
|
||||
<?php
|
||||
$this->brick('announcement');
|
||||
|
||||
$this->brick('pageTemplate');
|
||||
|
||||
if ($this->inputbox):
|
||||
$this->brick(...$this->inputbox); // $templateName, [$templateVars]
|
||||
elseif ($this->confirm):
|
||||
$this->localizedBrick('confirm-delete-account');
|
||||
else:
|
||||
$this->localizedBrick('delete-account');
|
||||
endif;
|
||||
?>
|
||||
</div>
|
||||
</div><!-- main-contents -->
|
||||
</div><!-- main -->
|
||||
|
||||
<?php $this->brick('footer'); ?>
|
||||
Reference in New Issue
Block a user