<?php

class news{
	private $db;
	private $error = 0;
	private $meldung;
	private $array = array();
	private $config;
	private $id = 0;
	private $session = array();
	
	function __construct(){
		global $datenbank,$grundconfig,$_SESSION;
		$this->db = $datenbank;
		$this->config = $grundconfig;
		$this->session = $this->db->escape($_SESSION);
	}
	
	private function make_array($post){
		foreach($post AS $key => $value){
			if($key != '' && $key != 'news_komment'){
				$this->array[$key] = $this->db->escape($value);
			}
		}
	}
	
	public function KommentarSave($post){
		$this->make_array($post);
		if($this->session['login'] == true){
			if(empty($this->array['news_kommentar_text'])){ $this->error = 1; $this->meldung .= NEWS_KOMMENT_FEHLT;}
			if(strlen($this->array['news_kommentar_text'] > 10)){ $this->error = 1; $this->meldung .= NEWS_KOMMENT_ANZAHL_FALSE;}
			if(empty($this->array['id']) OR !is_numeric($this->array['id'])){ $this->error = 1; $this->meldung = NEWS_KOMMENT_ID_FALSE;}
			
			if($this->error == 0){
				if($this->db->insert(PREFIX . NEWSK, array("uid" => $this->session['uid'], "datum" => time(), "news" => $this->array['id'],"kommentar" => htmlspecialchars($this->array['news_kommentar_text']))) == true){
					$this->meldung = NEWS_KOMMENT_SAVE_TRUE;
				}else{
					$this->error = 1;
					$this->meldung = NEWS_KOMMENT_SAVE_FALSE;
				}
			}
			meldung($this->error,$this->meldung);
		}
	}
	
	public function SetID($id){
		if(is_numeric($id)){ $this->id = htmlspecialchars($id);}
	}
	
	public function NewsAnzeigen($seite){
		$aus = '';
		$start = $seite * 10 - 10;
		foreach($this->db->get_results("SELECT * FROM " . PREFIX . NEWS . " ORDER BY id DESC LIMIT $start, 10") AS $res) {
				$aus .= '<div class="card"><div class="card-header">'. $res->titel . ' vom ' . date("d.m.Y - H:i:s", $res->zeit) .'</div>';
				$aus .= '<div class="card-body">'.$res->news;
				if($this->config->news_komment == 1){ $aus .= $this->NewsKommentare($res->id); }
				$aus .= '</div>';
				$aus .= '</div><br>';
		}
		return $aus;
	}
	
	public function Ausgabe(){
		$aus = $this->db->get_row("SELECT titel,news FROM ". PREFIX . NEWS ." WHERE id = '$this->id' ");
		return $aus;
	}
	
	public function NewsKommentare($id){
		if($this->config->news_komment == 1){
			$aus = '<ul class="list-group">';
			foreach($this->db->get_results("SELECT datum,uid,kommentar FROM ". PREFIX . NEWSK ." WHERE news = '$id' ") AS $res){
				$userinfo = userinfo($res->uid);
				$aus .= '
					<li class="list-group-item">
						<div class="row">
							<div class="col-md-3">
								Kommentar von <a href="?page=/nickpage&nick='. $userinfo->nickname .'">'. $userinfo->nickname .'</a>
								<br><small><i>geschrieben '. niceDate($res->datum) .'</i></small>
							</div>
							<div class="col-md-9">'. nl2br($res->kommentar) .'</div>
						</div>
					</li>
				';
			}
			$aus .= '</ul>';
			if($this->session['login'] == true){
				$aus .= '<hr>
				<form method="post" action="">
				<input type="hidden" name="id" value="'.$id.'">
					<div class="form-group">
						<label for="exampleInputEmail1">Kommentar verfassen</label>
						<textarea class="form-control" name="news_kommentar_text"></textarea><br>
						<small id="emailHelp" class="form-text text-muted">hier kannst du deine Meinung sagen</small>
					</div>
					<input type="submit" class="btn btn-default" name="run[news_komment]" value="Kommentar Speichern">
				</form>
				';
			}
			
			
			return $aus;
		}
	}
}
?>