Skip to content
Snippets Groups Projects
  • Eric Laufer's avatar
    Rechtevergabe im Admin · 56c7da00
    Eric Laufer authored
    Es ist nun möglich, weitere User Adminrechte zu geben.
    Die Rechte können für jede einzelne Seite festgelegt werden. Somit ist
    es möglich, dem User einen bestimmten aufgabenbereich zu geben.
    56c7da00
betteln.class.php 4.15 KiB
<?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);
	}
}