Seite 1 von 1

(erl.) Vault Mod: Konto schliessen - Sicherheitsabfrage

Verfasst: 26.11.2008 12:15
von Dungeonwatcher
Moin! 8-)

Leider fehlt dem Vault Mod eine Sicherheitsabfrage bei der Schließung des Kontos und seltsamerweise schaffen es einige meiner User immer wieder genau dies zu tun. ;-)

Ich musste also eine Sicherheitsabfrage ala

Code: Alles auswählen

Bist du sicher das du dein Konto schliessen willst?
Es werden alle Aktien zum aktuellen Kurs verkauft und dein Konto aufgelöst.

   Konto auflösen         |         Zurück zum Konto
einbauen.

In der zuständigen vault.php ist dies die Funktion zur Kontoauflösung:

Code: Alles auswählen

if ( $close )
{
Ich habe nun in der vault.php folgendes geändert:

suche:

Code: Alles auswählen

if ( !$board_config['vault_enable'] )
{
davor füge ein:

Code: Alles auswählen

if ( $cancel )
{
	redirect(append_sid("vault.$phpEx", true));
}
suche:

Code: Alles auswählen

$close = isset($HTTP_POST_VARS['close']);
danach füge ein:

Code: Alles auswählen

$close_account = isset($HTTP_POST_VARS['close_account']);
suche:

Code: Alles auswählen

if ( $close )
{
und ersetze mit:

Code: Alles auswählen

if ( $close )
{
	$template->set_filenames(array(
		'body' => 'vault_confirm_body.tpl')
	);

	$template->assign_vars(array(
		'VAULT_CLOSE_ACCOUNT' => $lang['Vault_close_account'],
		'L_VAULT_CLOSE_ACCOUNT_SEC' => $lang['Vault_close_account_sec'],
		'L_VAULT_YES' => $lang['Vault_yes'],
		'L_VAULT_NO' => $lang['Vault_no'],
		'S_VAULT_ACTION' => append_sid("vault.$phpEx?mode=close_account"))
	);
}

if ( $close_account )
{
suche in der lang_vault.php:

Code: Alles auswählen

$lang['Vault_close_account'] = 'Konto schliessen';
füge danach ein:

Code: Alles auswählen

$lang['Vault_close_account_sec'] = 'Bist du sicher das du dein Konto schliessen willst?<br />Es werden alle Aktien zum aktuellen Kurs verkauft und dein Konto aufgel&ouml;st. ';
$lang['Vault_yes'] = 'Konto aufl&ouml;sen';
$lang['Vault_no'] = 'zur&uuml;ck zur Konto&uuml;bersicht';
erstelle eine neues Template mit dem Namen vault_confirm_body.tpl und kopiere es in den jeweilige Template Ordner:

Code: Alles auswählen

<table width="100%" cellspacing="2" cellpadding="2" border="0">
  <tr>
    <td align="center" class="maintitle">{VAULT_CLOSE_ACCOUNT}</td>
  </tr>
  <tr> 
    <td class="nav"><a href="{U_PORTAL}">{L_HOME}</a> &raquo; <a href="{U_INDEX}">{L_INDEX}</a> &raquo; {VAULT_CLOSE_ACCOUNT}</td>
  </tr>
</table>
<form action="{S_VAULT_ACTION}" method="post">
<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0">
  <tr> 
    <th>{VAULT_CLOSE_ACCOUNT}</th>
  </tr>
  <tr> 
    <td class="row1" align="center"><br />{L_VAULT_CLOSE_ACCOUNT_SEC}<br /><br /><input type="submit" value="{L_VAULT_YES}" name="close_account" class="button" />&nbsp;<input type="submit" name="cancel" value="{L_VAULT_NO}" class="button" /><br /><br /></td>
  </tr>
  <tr>
    <td class="cat">&nbsp;</td>
  </tr>
</table>
</form>
<table>
  <tr> 
    <td class="nav"><a href="{U_PORTAL}">{L_HOME}</a> &raquo; <a href="{U_INDEX}">{L_INDEX}</a> &raquo; {VAULT_CLOSE_ACCOUNT}</td>
  </tr>
</table>
<br />
Nun erscheint die Sicherheitsabfrage, beim betätigen des Buttons "Konto auflösen" wird das Konto korrekt gelöscht bzw. beim betätigen des Buttons "zurück zur Kontoübersicht" geht es zurück zur eigenen Kontoübersicht.

Bye