Hi
Ich suche ein Addon mit dem ich meinen Usern die AGB's nach dem Login nochmal anzeigen und bestätigen lassen kann.
Ich meine ich hätte das mal gesehen, weiß aber nicht mehr wo.
Hat da einer einen Tip für mich?
Danke
Marc
Druckbare Version
Hi
Ich suche ein Addon mit dem ich meinen Usern die AGB's nach dem Login nochmal anzeigen und bestätigen lassen kann.
Ich meine ich hätte das mal gesehen, weiß aber nicht mehr wo.
Hat da einer einen Tip für mich?
Danke
Marc
Auch habbe will...irgendwann is nämlich nervig, wenn man dauernd den tollen Spruch gedrückt bekommt, Zitat: " Das hab ich nicht gewußt" Zitat Ende.
Ich habs auch noch in keinem Shop gesehen, und kenn auch nur wenige Netzwerke, die das integriert haben.
LG
beim vms2 ists glaube ich integriert.
ich finde das eigentlich kein problem.
das lässt sich mit einer "wenn-dann-abfrage" machen
wenn wert agb=0 dann agb anzeigen
ansonsten
seiteninhalt
beim bestätigen wird der wert auf 1 gestellt und per cron bei einer agb änderung wieder resettet
LG
Sobald ich was gebastelt hab poste ich das hier.
Da Murks entfernt damit das keiner einbaut.
Was ich nicht auf Anhieb weiß wie ich machen soll ist den Bestätigen button für sagen wir mal 30 Sekunden für das klicken zu sperren. Das muss dann in die Datei neueagbs.php mit rein. Da ich Praktisch kein Javascript kann tu ich mir damit noch recht schwer.
hey das is super :thumb:
bzgl der wartezeit schau doch mal hier rein
deine klamm-id hät ich gern, sollst das ja net für lau gemacht haben :D
grüße
dedi
Das war leider Murks. Kommt halt davon wenn man versucht das mal eben schnell schnell zu machen.
Also, neuer Versuch ;-)
Die Erweiterung der Tabelle bleibt:
Datei: session.lib.phpPHP-Code:
ALTER TABLE `vms_kontodaten` ADD `neueagb` TINYINT( 1 ) NOT NULL DEFAULT '0'
Suche:
und ersetzte sie mit:PHP-Code:
$login_check = db_query("SELECT k.uid,k.passwort,k.status,k.hinweis FROM
".$db_prefix."_userdaten u
LEFT JOIN ".$db_prefix."_kontodaten k ON k.uid=u.uid
WHERE u.nickname='".$_POST['nickname']."' AND k.passwort='".md5($_POST['passwort'])."' LIMIT 1");
suche:PHP-Code:
$login_check = db_query("SELECT k.uid,k.passwort,k.status,k.hinweis,k.neueagb FROM
".$db_prefix."_userdaten u
LEFT JOIN ".$db_prefix."_kontodaten k ON k.uid=u.uid
WHERE u.nickname='".$_POST['nickname']."' AND k.passwort='".md5($_POST['passwort'])."' LIMIT 1");
und füge danach aber vor dem:PHP-Code:
$_SESSION['login'] = "";
$_GET['content'] = '/error/user_gesperrt';
}
// Wenn es den User garnicht gibt
ein.PHP-Code:
if ($login_check['neueagb'] == 1) {
$_SESSION['uid'] = $login_check['uid'];
$_SESSION['passwort'] = $login_check['passwort'];
$_SESSION['login'] = "true";
$_GET['content'] = '/intern/neueagbs';
}
Suche weiter:
und ersetze das mitPHP-Code:
$login_check = db_query("SELECT `uid`,`passwort`,`status`,`hinweis` FROM ".$db_prefix."_kontodaten WHERE uid=".$_COOKIE['uid']." and passwort='".$_COOKIE['passwort']."' LIMIT 1");
suche:PHP-Code:
$login_check = db_query("SELECT `uid`,`passwort`,`status`,`hinweis`,`neueagb` FROM ".$db_prefix."_kontodaten WHERE uid=".$_COOKIE['uid']." and passwort='".$_COOKIE['passwort']."' LIMIT 1");
und ersetze es mitPHP-Code:
if ($login_check['status'] == 1) {
Suche:PHP-Code:
if ($login_check['status'] == 1 AND $login_check['neueagb'] == 0) {
und füge dahinter:PHP-Code:
$_SESSION['passwort'] = $login_check['passwort'];
$_SESSION['login'] = "true";
}
ein.PHP-Code:
if ($login_check['neueagb'] == 1) {
setCookie('uid','',time()-86400*30);
setCookie('passwort','',time()-86400*30);
setCookie('autologin','',time()-86400*30);
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
header ("location: ".$domain);
die();
}
Speichere folgendes als Datei: neueagbs.php unter /content/intern ab:
Der Wert:
var bis = time+5;
besagt das man 5 Sekunden warten muss und kann beliebig geändert werden.
Datei: functions.lib.phpPHP-Code:
<?
if (isset ($_POST['neueagb'])) {
db_query ('UPDATE '.$db_prefix.'_kontodaten SET neueagb = 0 WHERE uid = '.$_SESSION['uid'].'');
echo '<center><font color="#008000"><b>Fertig! Die neuen AGB wurden bestätigt!</font></center><br /><br /><br /><br />';
}
// Variabeln
$filename = 'lib/texte/agb.txt';
// Datei auslesen
$fp = fopen ($filename, "r");
$inhalt = fread ($fp, filesize ($filename));
fclose ($fp);
$inhalt = str_replace('\\', '', $inhalt);
?>
<table width="98%" border="0" cellpadding="2" cellspacing="2">
<tr><td>
<?//head("Allgemeine Geschäftsbedingungen");?>
<?=nl2br($inhalt);?>
<?//foot();?>
</td></tr></table>
<body onload="activate()">
<script>
var time = new Date;
var time = time.getTime();
var to = "document.forms['neueagb'].elements['button']";
var bis = time+5;
var text = "Bitte warten...";
var text2 = "AGB's bestätigen";
function activate()
{
noch = bis-time-1;
eval(to+".disabled = true");
if(time < bis)
{
eval(to+'.value = "' + text + ' (" + noch + ")"');
time = time+1;
window.setTimeout("activate()", 1000);
}
else
{
eval(to+".disabled = false");
eval(to+".value = \"" + text2 + "\"");
}
}
</script>
</div>
<div style="text-align: center;">
<body onload="activate()">
<form action="?content=/intern/neueagbs" id="button" name="neueagb" method="post" action="">
<input name="neueagb" type="submit" id="button" value="" />
</form>
Suche:
ersetze es mit:PHP-Code:
$us = db_query("SELECT `uid`,`passwort`,`status`,`hinweis` FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." and passwort='".$_SESSION['passwort']."' LIMIT 1");
suche:PHP-Code:
$us = db_query("SELECT `uid`,`passwort`,`status`,`hinweis`,`neueagb` FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." and passwort='".$_SESSION['passwort']."' LIMIT 1");
füge dahinter:PHP-Code:
@include_once('content/error/kein_zutritt.php');
@include_once('lib/footer.php');
die();
}
ein, so scheint es bei mir derzeit zu gehen.PHP-Code:
// neue AGB's
if ($login_check['neueagb'] == 1) {
setCookie('uid','',time()-86400*30);
setCookie('passwort','',time()-86400*30);
setCookie('autologin','',time()-86400*30);
$_SESSION['uid'] = "";
$_SESSION['passwort'] = "";
$_SESSION['login'] = "";
header ("location: http://www.hobbylose.de");
die();
}
Bei meinem derzeitigem Test bleibt die aktuelle Session bestehen, erst wenn auf Logout geklickt oder der browser neu gestartet wird erscheinen erst die AGB's
Verbesserungs Vorschläge sind natürlich willkommen.