diff --git a/index.php b/index.php
index 0e4f57fb518d44382b49d0fc456986f1aeb4ccc5..bc09bb5d95e8fc2416f500b87fdf077798cbd7b3 100644
--- a/index.php
+++ b/index.php
@@ -5,7 +5,7 @@ if(!file_exists ( 'lib/db_config.php' )){
 }
 session_start();
 require_once('lib/db_config.php');
-require_once('lib/datenbank.inc.php');
+require_once('lib/class/db.class.php');
 require_once('lib/var.php');
 $grundconfig = $datenbank->get_row("SELECT * FROM ". PREFIX . CONFIG ." ",true);
 require_once('lib/session.lib.php');
@@ -15,7 +15,7 @@ require_once ('lib/run.inc.php');
 require_once ('lib/layout.lib.php');
 require_once ('lib/extras.lib.php');
 require_once ('lib/extra/mail.php');
-$datenbank->ReloadDelete();
+ReloadDelete();
 if (!isset($_GET['page']) || empty ($_GET['page'])) $_GET['page'] = '/intern/startseite';
 if (!file_exists('page' . $_GET['page'] . '.php')) $_GET['page'] = '/error/keine_seite';
 if ($_GET['page'] == '/intern/startseite') @require_once ('lib/texte/alt_startseitenpopup.txt');
diff --git a/lib/class/bettel.class.php b/lib/class/bettel.class.php
index 679e30eab884f5bbdcabb49b041b8ffd31955543..e3c2fc2abe8ad31b268b7a8f31883435e26b4565 100644
--- a/lib/class/bettel.class.php
+++ b/lib/class/bettel.class.php
@@ -63,8 +63,16 @@ class bettel{
 	}
 	
 	private function BettelAuszahlung(){
+		global $_SERVER;
 		$bettelsumme = rand($this->config->min_betteln * 100, $this->config->max_betteln * 100) / 100;
 		$new_reload = time() + $this->config->reload_betteln;
+		$bettelb = array(
+			"uid" => $this->uid,
+			"refferer" => $_SERVER['HTTP_REFERER'],
+			"betrag" => $bettelsumme,
+			"zeit" => time()
+		);
+		$this->db->insert(PREFIX . BETTELB, $bettelb,1);
 		$this->db->insert(PREFIX . RELOAD, array("ip" => $this->ip,"uid" => $this->uid ,"tan" => 'bettelaufruf',"bis" => $new_reload) );
 		$this->db->query("UPDATE ". PREFIX . KONTO ." SET angebettelt = angebettelt + 1, bv = bv + $bettelsumme, kontostand_a = kontostand_a + $bettelsumme WHERE uid = '$this->uid' ");
 		$this->db->update(PREFIX . BETTELB, array("zeit" => time(),"betrag" => $bettelsumme,"refferer" => $this->refferer,"uid" => $this->uid));
diff --git a/lib/class/rally.class.php b/lib/class/rally.class.php
index a1733347f3c0ced84847314f09f8f4729d6b4eae..b0dbec824dd848d178420fc6d929c3520716f72c 100644
--- a/lib/class/rally.class.php
+++ b/lib/class/rally.class.php
@@ -53,7 +53,7 @@ class rally{
 				</tr>
 		';
 		$gesperrt = explode(";",$row->sperruser);
-		foreach($this->db->get_results("SELECT uid,punkte FROM ". PREFIX . RALLYU ." WHERE rally = '$row->id' ORDER BY punkte DESC") AS $res){
+		foreach($this->db->get_results("SELECT uid,punkte FROM ". PREFIX . RALLYU ." WHERE rally = '$row->id' AND ausgezahlt = '0' ORDER BY punkte DESC") AS $res){
 			if(!in_array($res->uid,$gesperrt) && $row->gewinner_anzahl >= $rp){
 				$pl = 'p'.$rp;
 				$user = userinfo($res->uid);
@@ -121,7 +121,7 @@ class rally{
 	private function SelfStatus($row){
 		$aus = '';
 		if ($this->session['login'] == true) {
-			if($this->db->num_rows("SELECT uid FROM ". PREFIX. RALLYU ." WHERE uid = '". $this->session['uid'] ."' AND rally = '$row->id' ") == 1){
+			if($this->db->num_rows("SELECT uid FROM ". PREFIX. RALLYU ." WHERE uid = '". $this->session['uid'] ."' AND rally = '$row->id' AND ausgezahlt = '0' ") == 1){
 				$rallystand = $this->db->get_row("SELECT punkte FROM ". PREFIX . RALLYU ." WHERE uid=" . $this->session['uid'] . " and  rally = '$row->id' LIMIT 1",true);
 				$aus = '<div class="alert alert-info">Du hast in der ' . $row->name . '-Rally bereits ' . number_format($rallystand->punkte, 0, ",", ".") . ' ' . nl2br($row->ende_formulierung) . '.</div>';
 			}else{
@@ -152,19 +152,19 @@ class rally{
 					$swf_prozent = number_format((time() - $tag) / ($ende - $tag) * 100, 0, ',', '\'');
 					
 					$swf_status = sectodays($ende - time());
-				} elseif ($rally['ende_vortschritt'] == 'Jede Woche') {
+				} elseif ($row->ende_vortschritt == 'Jede Woche') {
 					if (date('w') == 0) $wochentag = 7;
 					if (date('w') != 0) $wochentag = date('w');
 					$tag = mktime(0, 0, 0, date('m'), (date('d') - $wochentag + 1), date('Y'));
 					$ende = $tag + (7 * 24 * 60 * 60);
 					$swf_prozent = number_format((time() - $tag) / ($ende - $tag) * 100, 0, ',', '\'');
 					$swf_status = sectodays($ende - time());
-				} elseif ($rally['ende_vortschritt'] == 'Jeden Monat') {
+				} elseif ($row->ende_vortschritt == 'Jeden Monat') {
 					$tag = mktime(0, 0, 0, date('m'), 1, date('Y'));
 					$ende = mktime(23, 59, 59, (date('m') + 1), 0, date('Y'));
 					$swf_prozent = number_format((time() - $tag) / ($ende - $tag) * 100, 0, ',', '\'');
 					$swf_status = sectodays($ende - time());
-				} elseif ($rally['ende_vortschritt'] == 'Jedes Jahr') {
+				} elseif ($row->ende_vortschritt == 'Jedes Jahr') {
 					$wochentag = 365 - date('z');
 					$tag = mktime(0, 0, 0, 1, 1, date('Y'));
 					$ende = $tag + (365 * 24 * 60 * 60);
diff --git a/lib/class/ref.class.php b/lib/class/ref.class.php
index adadbb569f7a72996c8aa01e27d777096c3247f9..03e76c3a6754e31cbdcf9507c478b5601bc98e2f 100644
--- a/lib/class/ref.class.php
+++ b/lib/class/ref.class.php
@@ -43,7 +43,8 @@ class ref{
 		$query = "SELECT * FROM ". PREFIX . WERBER ." WHERE werber = '$uid' ";
 		if($this->db->num_rows($query) != 0){
 			foreach($this->db->get_results($query) AS $res){
-				$this->Ebenverguetung($res->uid,$werber,$ebene++,$res);
+				$ebene++;
+				$this->Ebenverguetung($res->uid,$werber,$ebene,$res);
 			}
 		}
 	}
diff --git a/lib/functions.lib.php b/lib/functions.lib.php
index c0717aad65cf65f48193c25868bc380cf2975c50..e3fa64a1fe6e752f2953a9d589b2edf52feb9c44 100644
--- a/lib/functions.lib.php
+++ b/lib/functions.lib.php
@@ -94,7 +94,7 @@ function rallysystem ($uid,$was,$anzahl) {
 			eval("\$steigerung = $steigerung;");
             if ($res->gewinn_art == 'dynamisch') $datenbank->query("UPDATE ". PREFIX . RALLY ." SET gewinn_topf=gewinn_topf+'".$steigerung."' WHERE id = '".$res->id."' LIMIT 1");
             if ($res->ende_art == 'punkt') $datenbank->query("UPDATE ". PREFIX . RALLY ." SET ende_punkte_aktuell = ende_punkte_aktuell + '".$anzahl2."' WHERE id = ".$res->id." LIMIT 1");
-            if($datenbank->num_rows("SELECT uid FROM ". PREFIX . RALLYU ." WHERE uid = '$uid' AND rally = '$res->id' ") == 1){
+            if($datenbank->num_rows("SELECT uid FROM ". PREFIX . RALLYU ." WHERE uid = '$uid' AND rally = '$res->id' AND ausgezahlt = '0' ") == 1){
 				$datenbank->query("UPDATE ". PREFIX . RALLYU ." SET punkte = punkte + '".$anzahl2."' WHERE uid = '".$uid."' AND rally = '".$res->id."' AND ausgezahlt = '0'");
 			}else{
 				$datenbank->insert(PREFIX . RALLYU, array("rally" => $res->id,"uid" => $uid, "punkte" => $anzahl2));
diff --git a/lib/lang/lang.de.php b/lib/lang/lang.de.php
index 9b771b0eee0c2e50ffeeb01cf6b0789ed401d91b..6af6e027e00bb0c6213108e1f0f46acad789aee4 100644
--- a/lib/lang/lang.de.php
+++ b/lib/lang/lang.de.php
@@ -2,6 +2,8 @@
 	$sko = " Bitte wende dich an den Support.<br>";
 	//GLOBAL
 	define("ERROR_RUN_INC","Aktion konnte nicht durchgef&uuml;hrt werden.<br>");
+	define("SESSION_LOGIN_FALSE","Du musst eingeloggt sein um dies auszuf&uuml;hren.<br>");
+	
 	//LOGIN
 	define("LOGIN_ERROR_NICKNAME_FALSE","Bitte einen Nicknamen oder E-Mail Adresse angeben.<br>");
 	define("LOGIN_ERROR_PASSWORT_FALSE","Bitte das Passwort angeben<br>");