<?php class ref{ private $db; private $config; private $verdienst = 0; private $konto; private $verg = array(); private $post = array(); private $session; function __construct(){ global $datenbank,$k_buchung,$_SESSION; $this->session = $_SESSION; $this->db = $datenbank; $this->config = $this->db->get_row("SELECT * FROM ". PREFIX . CONFIG ." ",true); $this->konto = $k_buchung; $explode = explode(";",$this->config->RefVerg); for($i = 1; $i <= $this->config->RefEbenen; $i++){ if(!empty($explode[$i-1])){ $this->verg[$i] = $explode[$i-1]; } } } public function UserListe(){ foreach($this->db->get_results("SELECT * FROM ". PREFIX . WERBER ." WHERE werber != '0' ") AS $res){ $this->Ebenverguetung($res->uid,$res->werber,1,$res); } } private function Ebenverguetung($uid,$werber,$ebene,$ressourcen){ //Bezahlung von Werber in Grundstufe $verguetung = $ressourcen->umsatz /100 * $this->verg[$ebene]; $this->konto->set_var($werber,$verguetung,'+','Refzahlung ('. $uid .')'); if($ressourcen->refback > 0){ $refback = $verguetung / 100 * $ressourcen->refback; $this->konto->set_var($werber,$refback,'-','Refback ('. $uid .'->'. $ressourcen->refback.'%)'); $this->konto->set_var($uid,$refback,'+','Refback ('. $ressourcen->refback.'%)'); } if($ebene == 1){ $this->db->update(PREFIX . WERBER, array("umsatz" => 0, "gesamt" => $ressourcen->gesamt + $ressourcen->umsatz), array("uid" => $uid),1); } $query = "SELECT * FROM ". PREFIX . WERBER ." WHERE werber = '$uid' "; if($this->db->num_rows($query) != 0){ foreach($this->db->get_results($query) AS $res){ $ebene++; $this->Ebenverguetung($res->uid,$werber,$ebene,$res); } } } private function RefAnzahl($uid){ $anz = $this->db->num_rows("SELECT uid FROM ". PREFIX . WERBER ." WHERE werber = '$uid'"); if($anz == 0){ return 0; }else{ return $anz.' <a class="btn btn-primary btn-sm" data-toggle="collapse" href="#refs_'.$uid.'" role="button" aria-expanded="false" aria-controls="collapseExample">Anzeigen</a>'; } } private function RefRefListe($uid,$ebene){ if($ebene <= $this->config->RefEbenen){ $aus = '<ul class="list-group">'; foreach($this->db->get_results("SELECT * FROM ". PREFIX . WERBER ." WHERE werber = '$uid' ") AS $res){ $user = userinfo($res->uid); $refs = $this->RefAnzahl($res->uid); $aus .= '<li class="list-group-item">'; $aus .= ' <div class="row"> <div class="col"> '.$user->nickname.'('.$res->uid.')</div> <div class="col">Umsatz: '. number_format($res->umsatz,2,',','.') .' '. $this->config->waehrung .'</div> <div class="col">Refs: '. $refs .'</div> </div> '; if($refs != 0){ $aus .= ' <div class="collapse" id="refs_'. $res->uid .'"> <div class="card card-body"> '. $this->RefRefListe($res->uid,$ebene+1) .' </div> </div> '; } } $aus .= '</ul>'; return $aus; } return $aus; } public function RefListe($uid){ $query = "SELECT * FROM ". PREFIX . WERBER ." WHERE werber = '$uid' "; if($this->db->num_rows($query) > 0){ $aus = '<ul class="list-group">'; foreach($this->db->get_results($query) AS $res){ $user = userinfo($res->uid); $refs = $this->RefAnzahl($res->uid); $aus .= '<li class="list-group-item">'; $aus .= '<div class="row"> <div class="col"> '.$user->nickname.'('.$res->uid.')</div> <div class="col"> <form method="post" action=""> <input type="hidden" name="uid" value="'. $res->uid .'"> <div class="input-group"> <input type="text" class="form-control" name="refback" value="'. $res->refback.'"> <div class="input-group-append"> <span class="input-group-text">%</span> <input type="submit" name="run[refback_save]" value="Save" class="btn btn-success btn-sm"> </div> </div> </form> </div> <div class="col">Umsatz: '. number_format($res->umsatz,2,',','.') .' '. $this->config->waehrung .'</div> <div class="col">Refs: '. $refs .'</div> </div>'; if($refs != 0){ $aus .= ' <div class="collapse" id="refs_'. $res->uid .'"> <div class="card card-body"> '. $this->RefRefListe($res->uid,1) .' </div> </div> '; } $aus .= '</li>'; } $aus .= '</ul>'; }else{ $aus = '<div class=" alert alert-info">Du hast noch keinen User geworben.</div>'; } return $aus; } private function make_array($post){ foreach($post AS $key => $value){ if($key != '' && $key != 'run'){ $this->post[$key] = $this->db->escape($value); } } } public function RefBackSave($post){ $this->make_array($post); if($this->db->num_rows("SELECT uid FROM ". PREFIX . WERBER ." WHERE uid = '". $this->post['uid'] ."' AND werber = '". $this->session['uid'] ."' ") == 1){ if($this->db->update(PREFIX . WERBER, array("refback" => $this->post['refback']), array("uid" => $this->post['uid'])) == true){ meldung(0,REFBACK_SAVE_TRUE); }else{ meldung(1,REFBACK_SAVE_FALSE); } }else{ meldung(1,REFBACK_ERROR_USER_FALSE); } } }