PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 10ter Klick für den Admin



thomeshop
18.12.2008, 08:34
Hallo, wie in der Überschrift zu lesen würde ich gerne in allen Topframes, jeden zehnten klick nicht den Usern sondern der Seite zu gute kommen lassen. Kann mir da jemand helfen?

Lokutos
18.12.2008, 12:55
oder einfach 10% mehr betreibergebür gg
andernfals müsstest du irgendwo speichern das wie viele klicks gemacht wurden und beim 10 klick dan nichts vergüten und auf 0 zu setzten

andere frage global oder pro user ??

Masterphil
18.12.2008, 13:34
Also ich finde die Idee schon mal ganz gut, denn für einen klickenden User ist es vielleicht doch ein Unterschied ob er 10 % bei jedem Banner, oder halt jeden 10 Banner an den Admin abdrückt.

Also ich bekunde hiermit auch Interesse an solch einer Erweiterung.

Optional könnte man zum Beispiel den Klick-Jackpot an exakt diesen 10ten Banner binden, also das dieser nur fällt wenn der User nicht vergütet wird.

Vielleicht wird ja was hieraus.

MfG

Jenny
18.12.2008, 13:48
Jo, ich finde diese Idee auch sehr interessant und auch ausbaufähig, denn so könnten auch Reserven für Neuerungen oder höhere Ralleys und ähnliches geschaffen werden. *Meld, Interesse ich habe*

jpwfour
18.12.2008, 15:18
Bleibt immer noch die Frage, ob es nun global beim jedem 10. Klick sein soll oder je User beim 10 Klick.

Ich persönlich fände je User ja besser, so verteilt sich das gerecht, global wäre schon wieder eine Art Klick4Win/Spiel/...

Nun, würde man sowas "von Anfang an laufen lassen", wäre das nicht sehr schwer einzubauen, da ja die "Gesamtklicks" je User in der Datenbank gezählt werden, dann einfach "modulo X" (X steht für die Anzahl der Klicks, also 10, 20,...), und wenn das Ergebniss gleich 0 ist, wird der Klick nicht vergütet.

Da man da ja 'nen if-Block schon hat, kann man dort dann "Banner-Jackpot-Fall-Bedingung", "Extra 10. Klick Rallye" etc einbauen :yes:


Problem sehe ich dabei, ob man dem User das nun direkt anzeigt, also
"Dieser Klick wurde dir nicht vergütet" (wobei er das ja auch über seinen Kontostand rausfindet)
denn dann könnte er, bspw. bei Seiten mit einstellbarer Bannersortierung, alle 10 Klicks nen 10 Lose Banner klicken.
Also müsste man auf jeden Fall frei einstellbare Bannersortierung rausnehmen, dann kann er zwar immer noch den aktuell "niedrigsten" Banner klicken, aber bei 20 maximal anzeigbaren sollte das ja nicht soviel Unterschied machen....

Jenny
18.12.2008, 16:01
hm, auf der einen Seite hast Du recht jpwfour, auf der anderen aber a) wer geht für einen einzigen Klick extra in die Sortierung und ändert das?
b) hätten wir so an sich mehr oder weniger ne Art "freiwillige" Abgabe (ich bin nur gewillt auf 10 Lose zu verzichten *lol*)

Woran ich dabei denke wäre z.B. so ne Art extra Pot wo die rein gehen die nicht vergütet werden. Eben um z.B. diese Lose für gewisse neue Sachen oder irgendwas für die Seite zu verwenden. Verstehst was ich meine?

Dadurch würde es vielleicht auch manchem Webmaster leichter fallen mal nen Verlust eines Sponsors wegzustecken oder Ausfälle durch Sponsoren die einfach abhauen. In diese Richtung habe ich eher gedacht denn Bonisysteme an sich gibt es doch wie Sand am Meer

jpwfour
18.12.2008, 16:11
Das mit extra Pot ist auch nicht das Problem, kann man ja einfach iwo in der DB speichern, was bei diesen 10. Klicks so zusammenkommt, bspw. für jeden User, dann kann man auch sehen, welcher User da am meisten zu beigetragen hat.

Jenny
18.12.2008, 16:18
genau das *gg* und Du hast zusätzlich ne Kontrollfunktion dadurch

jpwfour
18.12.2008, 17:29
ALTER TABLE `vms_kontodaten` ADD `tenkv` DOUBLE NOT NULL DEFAULT '0',
ADD `tenka` BIGINT NOT NULL DEFAULT '0';so in etwa, also in tenkv die vergütung (abzüglich betreibergebühr oder hier die "richtige" vergütung? )
und tenka die anzahl, da es ja nicht von anfang an läuft, ansonsten könnte man sich das sparen.

dann in der topframe_forced.php im bereich, wo die banner vergütung stattfindet:


$ten = mysql_fetch_array(db_query('SELECT klicks,tenka FROM vms_kontodaten WHERE uid = '.$_SESSION['uid'].' LIMIT 1'));
if( ( ($ten['klicks']+$ten['tenka'])%10) == 0){
db_query('UPDATE vms_kontodaten SET tenka = tenka+1, tenkv = tenkv + '.$forced['verdienst'].' WHERE uid = '.$_SESSION['uid'].' LIMIT 1');
$headmsg = $forced['verdienst'].' '.$waehrung.' wurden in den 10 Klick Pot eingezahlt!';
}else{
//hier dann der "normale" bannervergütungsteil
}
//hier die reloads, dann muss man das nicht zweimal schreiben


natürlich absolut ungetestet, aber evtl kann ja jemand das verwenden, um es bei sich einzubauen, und dann ne ausführlichere Anleitung schreiben :thumb:

Jenny
18.12.2008, 17:44
super, habe mir mal nen merk gesetzt und werde mich so bald als möglich da drum kümmern, denke mal in den nächsten Tagen

maniwelt
31.07.2009, 02:11
Hmm....

Jenny wollte ja weiter basteln, leider bis heute nichts daraus.....

Wird noch was aus der gute Idee ?

Ich wurde dies begrüßen..... :yes:

Jenny
31.07.2009, 19:41
hm, ich weiss nicht mehr wer das war wo ich was in der Richtung für geschrieben hatte, bin mir auch nicht sicher ob das tatsächlich funkte.

Wir hatten bei ihm nur ne einfache If Abfrage mit rein gemacht wo dann dieses Banner nicht bezahlt wurde. Ich weiss einfach nicht mehr wer das noch war *lol*

Hatten diesen Thread ehrlich gesagt auch was aus den Augen verloren weil ich in der Zwischenzeit jetzt viele andere Sachen gemacht habe.

Guck mir das aber gern noch mal an.

eRaaaa
31.07.2009, 19:48
Hmm....

Jenny wollte ja weiter basteln, leider bis heute nichts daraus.....

Wird noch was aus der gute Idee ?

Ich wurde dies begrüßen..... :yes:

wenn jenny das nicht übernehmen mag, kannste dich auch mal bei mir per icq melden, hab zur zeit frei und würde das ansonsten gern übernehmen :D

Jenny
31.07.2009, 19:52
viel Spass Eraaa, bin zur Zeit mega ausgelastet und würde mich freuen wenn Du dich da dran geben würdest

maniwelt
31.07.2009, 20:59
wenn jenny das nicht übernehmen mag, kannste dich auch mal bei mir per icq melden, hab zur zeit frei und würde das ansonsten gern übernehmen :D

Gerne....

Kannst aber dann direkt hier dein Preis nennen XD

drubadu
01.08.2009, 11:39
Hab es mal ausprobiert aber iregndwie klappt das mit der reloadsperre nicht für den banner der der 10. Klick ist

ich nehm mal an das es nicht geht weil ich das eingebaut habe
//Überprüfung ob die Zeit wirklich durchgelaufen ist... (ZeitCheck)/*Link und Copyright von MoRamedia.de*/

und er dann sagt wenn ich } setze und dann danach die reload eintragung folgt

Parse error: syntax error, unexpected T_ELSE in /var/www/vhosts/...../httpdocs/vms/topframe_forced.php

eRaaaa
02.08.2009, 07:31
Ich hab mir aber mal die Mühe gemacht eine kleine Anleitung zu schreiben, da ich sonst nicht wüsste was hier zu tun ist. Hatte mir jetzt den Thread hier nochmal durchgelesen und jpwfour hatte ja schon eine Lösung gepostet die funktioniert.

Zuerst kleine SQL - Änderungen:


ALTER TABLE `vms_kontodaten` ADD `tenkv` DOUBLE NOT NULL DEFAULT '0',
ADD `tenka` BIGINT NOT NULL DEFAULT '0';


Als nächstes ändern wir die topframe_forced.php im Hauptordner ab.
Suche :


// User bezahlen und Reload schreiben
if ($_GET['auszahlen'] == 'true' && $force_error != 'true' && $_GET['puk'] == md5($_SESSION['uid'].$forced['aufendhalt'].date("d.m.Y",time()).$percode)){


Füge dahinter folgendes ein:


$ten = mysql_fetch_array(db_query('SELECT klicks,tenka FROM vms_kontodaten WHERE uid = '.$_SESSION['uid'].' LIMIT 1'));
if( ( ($ten['klicks']+$ten['tenka'])%10) == 0){
db_query('UPDATE vms_kontodaten SET tenka = tenka+1, tenkv = tenkv + '.$forced['verdienst'].' WHERE uid = '.$_SESSION['uid'].' LIMIT 1');
$headmsg = $forced['verdienst'].' '.$waehrung.' wurden in den 10 Klick Pot eingezahlt!';
$new_reload = time()+$forced['reload'];
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."',".$_SESSION['uid'].",'".$forced['tan']."',".$new_reload.")");
db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET menge = menge - 1 WHERE tan='".$_GET['tan']."'");
}else{


Den else-Block müssen wir wieder schließen, also suche einige Zeilen weiter unten im Code :


$headmsg = $forced['verdienst'].' '.$waehrung.' erhalten!';

und schließe den else-Block indem du eine Klammer "}" setzt:


$headmsg = $forced['verdienst'].' '.$waehrung.' erhalten!';
}


Solltet ihr in dieser Datei zuvor noch nichts verändert haben, sollte der entsprechende Code ungefähr so aussehen:


// User bezahlen und Reload schreiben
if ($_GET['auszahlen'] == 'true' && $force_error != 'true' && $_GET['puk'] == md5($_SESSION['uid'].$forced['aufendhalt'].date("d.m.Y",time()).$percode)){
$ten = mysql_fetch_array(db_query('SELECT klicks,tenka FROM vms_kontodaten WHERE uid = '.$_SESSION['uid'].' LIMIT 1'));
if( ( ($ten['klicks']+$ten['tenka'])%10) == 0){
db_query('UPDATE vms_kontodaten SET tenka = tenka+1, tenkv = tenkv + '.$forced['verdienst'].' WHERE uid = '.$_SESSION['uid'].' LIMIT 1');
$headmsg = $forced['verdienst'].' '.$waehrung.' wurden in den 10 Klick Pot eingezahlt!';
$new_reload = time()+$forced['reload'];
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."',".$_SESSION['uid'].",'".$forced['tan']."',".$new_reload.")");
db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET menge = menge - 1 WHERE tan='".$_GET['tan']."'");
}else{
// Um einen mysql_query zu sparen wurde hier auf kontobuchung() verzichtet...
db_query("UPDATE ".$db_prefix."_kontodaten SET klicks = klicks + 1, kv = kv + ".$forced['verdienst'].", kontostand = kontostand + ".$forced['verdienst']." WHERE uid = ".$_SESSION['uid']."");

refumsatz ($forced['verdienst'],$_SESSION['uid']);
aktivralley ($forced['verdienst'],$_SESSION['uid']);
klickralley ();
bilanz($forced['preis'],$forced['verdienst']);

$new_reload = time()+$forced['reload'];
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."',".$_SESSION['uid'].",'".$forced['tan']."',".$new_reload.")");
db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET menge = menge - 1 WHERE tan='".$_GET['tan']."'");
$headmsg = $forced['verdienst'].' '.$waehrung.' erhalten!';
}
} else {
if ($_GET['auszahlen'] == 'true' && $force_error != 'true') $headmsg = 'Pin abgelaufen!';
}


Nun sollte schon jeder 10. Klick nicht vergütet werden. Wir erstellen uns eine Übersichtsliste für das Adminforce:

Erstellt eine Datei namens 10klick.php mit nachfolgendem Inhalt und lege diese in adminforce/content/:


<?
head("10-Klick Übersicht");?>
Hier eine übersicht über die Einnahmen durch jeden 10. Klick
<?foot();?>

<?head("Statistik");?>
<table border="0" width="100%">
<tr>
<td align="center"><b>Einnahmen gesamt</b></td>
<td align="center"><b>Bester User gesamt</b></td>
<td align="center"><b>Einnahmen bester User</b></td>
</tr>
<?
$gesamteinnahmen = mysql_fetch_assoc(db_query("SELECT SUM(tenkv) AS Gesamteinnahmen FROM ".$db_prefix."_kontodaten LIMIT 1"));
$besterUser = mysql_fetch_assoc(db_query("SELECT k.uid, k.tenkv, u.nickname
FROM ".$db_prefix."_kontodaten AS k
LEFT JOIN vms_userdaten AS u ON k.uid = u.uid
WHERE k.tenkv = (
SELECT max( tenkv )
FROM `vms_kontodaten` )"));
echo
'
<tr>
<td align="center">'.$gesamteinnahmen['Gesamteinnahmen'].'</td>
<td align="center">'.$besterUser['nickname'].'('.$besterUser['uid'].')</td>
<td align="center">'.$besterUser['tenkv'].'</td>
</tr>
'
?>
</table>
<?foot();?>


Verlinke diese Datei Beispielsweise in der adminforce/lib/menu_links.php.
Unter


&raquo;&nbsp;<a href="?content=/bilanzsystem">Bilanz</a><br>

fügst du folgendes ein:


&raquo;&nbsp;<a href="?content=/10klick">10-Klick</a><br>


Das wars auch schon :-)

drubadu
02.08.2009, 11:58
Also wenn ich das so wie beschrieben einbaue funktioniert für den 10. klick der nicht vergütet wird, die reloadsperre nicht

der banner wird beim neu laden erneut wieder angezeigt und dann dem user vergütet.

eRaaaa
02.08.2009, 12:34
hmm, das hatter wohl nicht beachtet (und ich auch net :D )

suche

db_query('UPDATE vms_kontodaten SET tenka = tenka+1, tenkv = tenkv + '.$forced['verdienst'].' WHERE uid = '.$_SESSION['uid'].' LIMIT 1');
$headmsg = $forced['verdienst'].' '.$waehrung.' wurden in den 10 Klick Pot eingezahlt!';


füge dadrunter folgendes ein:


$new_reload = time()+$forced['reload'];
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."',".$_SESSION['uid'].",'".$forced['tan']."',".$new_reload.")");
db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET menge = menge - 1 WHERE tan='".$_GET['tan']."'");


(ich habs oben mal abgeändert)

drubadu
02.08.2009, 18:32
ja jetzt klapps aber oben stimmt es noch nicht ganz da steht das in den pott eingezahlt wurde 2 mal.

eRaaaa
02.08.2009, 18:41
ja jetzt klapps aber oben stimmt es noch nicht ganz da steht das in den pott eingezahlt wurde 2 mal.


grml...scheiss copy&paste, werd hier nochmal bekloppt, unübersichtlich hier :)
danke für den hinweis ! (hoffe ich habs nu richtig editiert ! :D )