Skip to content
Snippets Groups Projects
betteln.class.php 4.15 KiB
Newer Older
Eric Laufer's avatar
Eric Laufer committed
<?php 

class betteln{
	private $db;
	private $gconfig;
	private $post = array();
	private $error = 0;
	private $meldung;
	
	public function __construct(){
		global $datenbank,$grundconfig;
		$this->db = $datenbank;
		$this->gconfig = $grundconfig;
	}
	
	private function make_array($post){
		foreach($post AS $key => $value){
			if($key != '' && $key != 'run' && $value != ''){
				$this->post[$key] = $this->db->escape($value);
			}
		}
	}
	
	public function Uebersicht(){
		return '
		<div class="row">
			<div class="col-6">
				<div class="card">
					<div class="card-header">Bettellink aufrufe</div>
					<div class="card-body">
						'. $this->Aufrufe() .'
					</div>
				</div>
			</div>
			<div class="col-6">
				<div class="card">
					<div class="card-header">Gesperrte URL\'s</div>
					<div class="card-body">
						'. $this->Sperre() .'
					</div>
				</div>
			</div>
			<div class="w-100"></div>
			<div class="col-6">
				<div class="card">
					<div class="card-header">Bettellog <small>die letzten 100 Eintr&auml;ge</small></div>
					<div class="card-body">
						'. $this->liste() .'
					</div>
				</div>
			</div>
		</div>
		';
	}
	
	private function Sperre(){
		$aus = '<ul class="list-group">';
		foreach($this->db->get_results("SELECT * FROM ". PREFIX . BETTELURLS ." ") AS $res){
			$aus .= '
				<li class="list-group-item">
					<form method="post" action="">
						<input type="hidden" name="id" value="'. $res->id .'">
						<div class="row">
							<div class="col-4">'. $res->url .'</div>
							<div class="col-4">'. date("d.m.Y", $res->datum) .'</div>
							<div class="col-4"><input type="submit" name="run[BettelURLSperreDelete]" class="btn btn-success" value="Entsperren"></div>
						</div>
					</form>
				</li>
			';
		}
		$aus .= '</ul>';
		return $aus;
	}
	
	private function Aufrufe(){
		$array = array();
		foreach($this->db->get_results("SELECT * FROM ". PREFIX . BETTELB ." ") AS $res){
			if(array_key_exists($res->refferer,$array)){
				$array[$res->refferer] += 1;
			}else{
				$array[$res->refferer] = 1;
			}
		}
		
		$aus = '<ul class="list-group">';
		foreach($array AS $key => $value){
			$aus .= '
				<li class="list-group-item">
					<form method="post" action="">
						<input type="hidden" name="url" value="'. $key .'">
						<div class="row">
							<div class="col-4">'.$key.'</div>
							<div class="col-4">'.$value.'</div>
							<div class="col-4">';
							if($this->db->num_rows("SELECT id FROM ". PREFIX . BETTELURLS ." WHERE url = '$key' ") == 0){
								$aus .= '<input type="submit" name="run[BettelURLSperre]" value="Sperren" class="btn btn-danger">';
							}
							$aus .= '</div>
						</div>
					</form>
				</li>
			';
		}
		$aus .= '</ul>';
		return $aus;
	}
	
	private function Liste(){
		$aus = '<ul class="list-group">';
		foreach($this->db->get_results("SELECT * FROM ". PREFIX . BETTELB ." ORDER BY id DESC LIMIT 100") AS $res){
			if($res->status == 0){ $css = 'danger';}else{ $css = 'success';}
			$aus .= '
				<li class="list-group-item list-group-item-'. $css .'">
					<div class="row">
						<div class="col-3">'. date("d.m.Y H:i",$res->zeit) .'</div>
						<div class="col-3">'. $res->uid .'</div>
						<div class="col-3">'. $res->refferer .'</div>
						<div class="col-3">'. number_format($res->betrag,2,',','.') .' '. $this->gconfig->waehrung .'</div>
					</div>
				</li>
			';
		}
		$aus .= '</ul>';
		return $aus;
	}
	
	public function URLSperren($post){
		$this->make_array($post);
		$this->post['datum'] = time();
		if($this->db->insert(PREFIX . BETTELURLS, $this->post) == true){
			$this->meldung = BETTELT['sperren']['true'];
		}else{
			$this->error = 1;
			$this->meldung = BETTELT['sperren']['false'];
		}
		
		meldung($this->error,$this->meldung);
	}
	
	public function URLEntsperren($post){
		$this->make_array($post);
		if($this->db->delete(PREFIX . BETTELURLS, $this->post, 1) == true){
			$this->meldung = BETTELT['entsperren']['true'];
		}else{
			$this->error = 1;
			$this->meldung = BETTELT['entsperren']['false'];
		}
		
		meldung($this->error,$this->meldung);
	}
Eric Laufer's avatar
Eric Laufer committed
}