Ergebnis 1 bis 3 von 3

Thema: Addon Refschleife

  1. #1
    Benutzer
    Registriert seit
    17.04.2008
    Beiträge
    42

    Addon Refschleife

    Ich hatte zwar ein Addon zur Prüfung von Refschleifen, aber das zeigte nur eine Ebene an und nicht den Verlauf der Schleife. Nun hab ich aus der Refvergütung eine Refschleifenprüfung gebastelt. Also für drei Ebenen mit der Anzeige über welche User die Schleife geht..

    Habe ich bei mir im System geprüft und lief. Gebe aber keine Garantie, dass es bei euch ebenfalls läuft.

    In "/adminforce/content" Datei refschleifen.php erstellen mit folgendem Inhalt:

    PHP-Code:
    <?
    head("Refschleifen");
    $i=0;
    $refliste = db_query ("SELECT `uid`,`werber` FROM ".$db_prefix."_werberdaten");
    while ($refliste_1 = mysql_fetch_array($refliste)) {

        // Ebene 1
        $refebene_1 = db_query ("SELECT `uid`,`werber` FROM ".$db_prefix."_werberdaten WHERE werber='".$refliste_1['uid']."'");
        while ($anzeigen_1 = mysql_fetch_array($refebene_1)) {
                           if ($anzeigen_1['uid'] == $refliste_1['werber']) {
                echo "User ".$refliste_1['uid']." -> ".$anzeigen_1['uid']."<br>";
                $i++; 
                      }

            // Ebene 2
            $refebene_2 = db_query ("SELECT `uid`,`werber` FROM ".$db_prefix."_werberdaten WHERE werber='".$anzeigen_1['uid']."'");
            while ($anzeigen_2 = mysql_fetch_array($refebene_2)) {
                           if ($anzeigen_2['uid'] == $refliste_1['uid']) {
                echo "User ".$refliste_1['uid']." -> ".$anzeigen_2['werber']." -> ".$anzeigen_2['uid']."<br>";
                $i++;
                }

                // Ebene 3
                $refebene_3 = db_query ("SELECT `uid`,`werber` FROM ".$db_prefix."_werberdaten WHERE werber='".$anzeigen_2['uid']."'");
                while ($anzeigen_3 = mysql_fetch_array($refebene_3)) {
                           if ($anzeigen_3['uid'] == $refliste_1['uid']) {
                echo "User ".$refliste_1['uid']." -> ".$anzeigen_2['werber']." -> ".$anzeigen_3['werber']." -> ".$anzeigen_3['uid']."<br>";
                $i++;
                }

                }
            }
        }

    }

    if ($i==0){
    echo "So ein Glück, keine Refschleifen vorhanden.";
    }

    foot();
    ?>
    Danach in der "/adminforce/lib/menue_links.php" oder "/adminforce/lib/menue_links.php" folgendes einfügen:

    HTML-Code:
    &raquo;&nbsp;<a href="?content=/refschleifen">Ref-Schleifen</a><br>
    Ich denk das ist ganz gut für die, die bisher keine Refschleifenprüfung in ihren Addons haben oder denen nicht vertrauen. :P

  2. #2
    Erfahrener Benutzer
    Registriert seit
    17.08.2006
    Beiträge
    573
    danke..

    super schnipzel..
    funktioniert bei mir tadellos....

  3. #3
    Benutzer
    Registriert seit
    16.08.2006
    Beiträge
    60
    um erst gar keine Refschleifen entstehen zu lassen kann man vor dem ändern des Werbers folgende Funktion einsetzten.

    die Funktion in die /lib/functions.lib.php einfügen
    PHP-Code:
    function refcheck($ref$werber$ebenen){
        
    $ref=(int)$ref;
        
    $werber=(int)$werber;
        if(
    $ebenen==0)return true;
        if(
    $ref==$werber)return false;
        if(
    $ref!=$werber){
            
    $query=db_query("SELECT werber FROM vms_werberdaten WHERE uid='".$werber."' LIMIT 1");
            if(
    mysql_num_rows($query)==1){
                
    $w=mysql_fetch_assoc($query);
                if(
    $w['werber']!=$ref){
                    return 
    refcheck($ref$w['werber'], $ebenen-1);
                }else{
                    return 
    false;
                }
            }
            return 
    true;
        }


    in der /adminforce/usersystem/userbearbeiten.php die Zeile
    PHP-Code:
        if ($_POST['werber'] != $_POST['alt_werber'] && $_POST['werber'] != $_POST['uid']) db_query ('UPDATE '.$db_prefix.'_werberdaten SET werber = "'.$_POST['werber'].'", umsatz = 0, zuordnungszeit = 0, reset = 0, resetzeit = 0, gesamt = 0, refback = 0, aktivzeit = 0 WHERE uid = '.$_POST['uid']); 
    in
    PHP-Code:
    if ($_POST['werber'] != $_POST['alt_werber'] && $_POST['werber'] != $_POST['uid']){
            if(
    refcheck($_POST['uid'], $_POST['werber'], 3)){
                
    db_query ('UPDATE '.$db_prefix.'_werberdaten SET werber = "'.$_POST['werber'].'", umsatz = 0, zuordnungszeit = 0, reset = 0, resetzeit = 0, gesamt = 0, refback = 0, aktivzeit = 0 WHERE uid = '.$_POST['uid']);
            }else{
                
    head("Fehler");
                echo 
    "Werber konnte nicht eingetragen werden. Eine Refschleife w&uuml;rde entstehen.";
                
    foot();
            }
        } 
    ändern

    mfg
    Aradiv

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 30.06.2011, 09:31
  2. Erweiterung Anteile Addon mit Mail_Inbox Addon
    Von ruegi im Forum Support zu Addons & Erweiterungen
    Antworten: 3
    Letzter Beitrag: 28.01.2011, 11:42
  3. Antworten: 3
    Letzter Beitrag: 07.05.2008, 13:22
  4. Bonuslose Addon - Gutschein Addon
    Von FlexMax im Forum Support zu Addons & Erweiterungen
    Antworten: 9
    Letzter Beitrag: 26.04.2008, 11:10
  5. PN Addon günstig gesucht Addon alle anbieten
    Von the-carnage im Forum Support zum VMSone
    Antworten: 4
    Letzter Beitrag: 03.10.2007, 13:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •