Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
| [ 1 | 2 | 3 ] | [ Anmelden zum schreiben ] |
| Premium Account | |||
|---|---|---|---|
| mickey Mitglied
Posts: 151 |
Es ist auch so, das der abgelaufene PA erst nach dem aus- und wieder einloggen als tatsächlich abgelaufen registriert wird. Solange er eingeloggt ist, besteht auch der PA...zumindest bei mir....
muss doch was mit den Sessions zu tun haben...grml grml |
||
| Tr3icio Mitglied
|
Natürlich hats was mit den Sessions zu tun. Jedes mal ne Datenbankabfrage wäre viel zu viel Aufwand und das Script würde langsamer werden.
Man könnte z.B. beim Updaten der Onlineliste nochmal überprüfen. Das wäre eine Möglichkeit. |
||
| webork Mitglied
Posts: 229 |
Zitat geschrieben von Tr3icio
Also ich habe es mir schon 100 mal angeguckt aber finde einfach keine Stelle wo der Fehler sein könnte. Koerner hat es simple aber so auch genial gelöst. Er holt beim auslesen der Spalte des Users , mit dem man sich einloggen möchte, einfach die Zeit für den Premiumaccount mit aus der Datenbank und schaut ob diese Zeit größer als die momentane ( oder gleich ) ist. ( Wobei ich nicht kapiere warum dort auch Premium gegeben wird wenn die Zeit die selbe ist wie die momentane Zeit, da damit ja eigentlich das Premium 1 Sekunde später abgelaufen wäre :-P ). Und sollte das Premiumrecht höher sein als das eigen,so wird man hochgestuft. Also liegt es daran, das man sich auf demselben Computer keinen Testuser anlegen kann um es zu testen ? Zumindest wenn ich dann einen zweiten Testuser anlege würde es wegen der Session ID nich tmehr funktionieren ? Aber mach doch mal ein Beispiel bitte. Was für einen Rang hast du in der Konfiguration eingetragen und was für einen Rang in einem PA Link ? Kann es sein das ich Inhalte in einen anderen Ordner legen muss ? Wer es mal sehen oder testen will: moto.4wow.de/ Habe bei den Navilinks mal hingeschrieben ab welchem Recht. Wenn ich mich nun neu registriere und auf PA kaufen klicke, danach auf News werden alle Links angezeigt. Würde mich freuen wenn es mal jemand testen könnte. Die Links "ab Member" sind auf Recht Superuser gestellt (liegt höher als User) und im PA Config ist das Recht mindestens Superuser eingestellt. Zuletzt modifiziert von webork am 09.07.2011 - 14:52:11 |
||
| Tr3icio Mitglied
|
Lol .. ich guck mir die Datei gleich mal an :-) Mal schaun ob unser Koerner nicht doch n Fehler drinne hat ^^
EDIT Evtl. habe ich den Fehler gefunden :-) @All : include/includes/func/premium.php Funktion : setpremium Zeile : 21 Code: if ( $status = true AND $_SESSION['authright'] > $allgAr['premium_right']) {
Und jetzt kommt es: = setzt einen Wert == vergleicht Wer === vergleicht Wert und Typ Und somit dürfte die Lösung heißen: aus dem $status = true Ein: $status == true man könnte auch === machen aber ich empfehle == Zuletzt modifiziert von Tr3icio am 09.07.2011 - 15:22:38 |
||
| webork Mitglied
Posts: 229 |
Bingoooo, jetzt funktioniert es. War das nun ein fehler oder geht das bei einigen und bei anderen nicht ohne == ?
|
||
| Tr3icio Mitglied
|
Also @ Koerner: Übernimm das mal pls in dein Modul ^^
Und für alle die es schnell wollen: hier die ganze include/includes/func/premium.php mit änderung: <?php
# Copyright by Florian Koerner
# Support www.ilch.de
defined ('main') or die ( 'no direct access' );
function morecoins ( $uid , $coins ) {
db_query("UPDATE `prefix_user` SET `premium_coins` = premium_coins+".$coins." WHERE `id` LIKE '".$uid."' AND `recht` < '0'");
return mysql_affected_rows();
}
function lesscoins ( $uid , $coins ) {
db_query("UPDATE `prefix_user` SET `premium_coins` = premium_coins-".$coins." WHERE `id` = '".$uid."' AND `premium_coins` >= '".$coins."' AND `recht` < '0'");
return mysql_affected_rows();
}
function setpremium ( $status = true ) {
global $allgAr;
$_SESSION['premium'] = $status;
if ( $status == true AND $_SESSION['authright'] > $allgAr['premium_right']) {
$_SESSION['authright'] = $allgAr['premium_right'];
} else if ( $status == false ){
$_SESSION['authright'] = @db_result(db_query("SELECT `recht` FROM `prefix_user` WHERE `id` = '".$_SESSION['authid']."'"),0);
}
return $_SESSION['premium'];
}
function checkpremium ( $uid = '' ) {
if ( empty ( $uid ) ){
$uid = $_SESSION['authid'];
}
$premium_time = @db_result(db_query("SELECT `premium_time` FROM `prefix_user` WHERE `id` = '".$uid."'"),0);
if ( $premium_time <= time() AND $_SESSION['authid'] == $uid) {
setpremium( false );
}
return $premium_time;
}
function premium_pm ( $uid , $text , $extra = "" ) {
if ( !empty( $text ) ) {
$uname = @db_result(db_query("SELECT `name` FROM `prefix_user` WHERE `id` = '".$uid."'"),0);
$text = str_replace("%%name%%", $uname, $text);
$text = str_replace("%%coins%%", $extra, $text);
$text = str_replace("%%premium%%", $extra, $text);
sendpm (1,$uid,"Informationen über Dein Premium-Konto",$text);
}
}
function is_premium ( $uid = '' ){
if ( empty ( $uid ) ){
$uid = $_SESSION['authid'];
}
if ( checkpremium( $uid ) > time() ) {
return true;
}else{
return false;
}
}
?> |
||
| webork Mitglied
Posts: 229 |
Danke Tr3icio für Deine bemühungen. Jetzt funktioniert es so wie es soll. Also wie wir schon sagten tatsache nen Fehler drinn und keiner wollts glauben. Big Thx nochmal
|
||
| KoernerWS Ilch 2.0 Entwickler
Posts: 732 |
@Tr3icio nenne mir per PM mal deine PayPal Adresse.
Netter, dummer Bug. :-D Wird heute noch geändert. Job gesucht? - checkdomain.de sucht PHP-Entwickler! www.ilch-pluto.net/ |
||
| mickey Mitglied
Posts: 151 |
jup, nun gehts !
danke an Tr3icio. Da frage ich mich nur, wie es bei den anderen laufen konnte bzw noch läuft. Ob die wissen, das eigentlich jeder User ihren Inhalt sieht ? ![]() |
||
| Tr3icio Mitglied
|
Zitat geschrieben von KoernerWS
@Tr3icio nenne mir per PM mal deine PayPal Adresse.
Netter, dummer Bug. :-D Wird heute noch geändert. Wozu brauche ich eine, wenn ich das Modul für jemand anders auf seiner Seite installieren soll und n bssl abändern soll? xD |
||
| KoernerWS Ilch 2.0 Entwickler
Posts: 732 |
Für ein kleines Dankeschön?
![]() Job gesucht? - checkdomain.de sucht PHP-Entwickler! www.ilch-pluto.net/ |
||
| webork Mitglied
Posts: 229 |
Hallo KoernerWS, mein Dank gebührt auch Dir für das Modul. Aber ich verstehe nich ganz wie es letztens bei Deinem test bestehen konnte...
![]() |
||
| Tr3icio Mitglied
|
Zitat geschrieben von KoernerWS
Für ein kleines Dankeschön?
julian.nuss@t-online.de <-- Oder ganz simple: scriptz-source.de hat nen Spendenbutton :-P ( die seite wird net mehr weiter gemacht. muss nochmal alles neu machen ) |
||
| KoernerWS Ilch 2.0 Entwickler
Posts: 732 |
Heute erst Update auf 1.2 zur Verfügung gestellt - eine Tracht Prügel verdient^^ xD
Job gesucht? - checkdomain.de sucht PHP-Entwickler! www.ilch-pluto.net/ |
||
| [ 1 | 2 | 3 ] | [ Anmelden zum schreiben ] |