<?php
  require_once("../smarty/Smarty-3.1.8/libs/Smarty.class.php");
  class Kysitlus{
     private $kysimused=array();
	 private $smarty=null;
	 private $pealkiri="Küsitlus";
	 private $yhendus=null;
	 public function kysiSmarty(){
	    if($this->smarty==null){
		   $this->smarty=new Smarty;
		}
		return $this->smarty;
	 }
	 public function looYhendus($masin, $kasutaja, $parool, $baas){
	   $this->yhendus=new mysqli($masin, $kasutaja, $parool, $baas);
	 }
	 public function loeBaasistAndmed($kysitluse_id){
	    if($this->yhendus==null){throw new Exeption("Baasiyhendus puudub");}
	    $kask=$this->yhendus->prepare("SELECT pealkiri FROM kysitlused WHERE id=?");
		$kask->bind_param("i", $kysitluse_id);
		$kask->bind_result($pealkiri);
		$kask->execute();
		if($kask->fetch()){
		   $this->pealkiri=$pealkiri;
		   $kask->close();
		} else {
		   throw new Exception("Kysitlus $kysitluse_id puudub baasist");
		}
		$kask=$this->yhendus->prepare("SELECT id FROM kysimused WHERE kysitluse_id=?");
		$kask->bind_param("i", $kysitluse_id);
		$kask->bind_result($kysimuse_id);
		$kask->execute();
		$kysimusenrd=array();
		while($kask->fetch()){
		   $kysimusenrd[]=$kysimuse_id;
		}
		$vabrik=new KysimusteVabrik($this->yhendus);
		foreach($kysimusenrd as $kysimusenr){
		   $this->lisaKysimus($vabrik->loeBaasistKysimus($kysimusenr));
		}
	 }
	 public function lisaKysimus($kysimus){
	   if($kysimus->kysiId()==null){
	    $this->kysimused[]=$kysimus;	   
	   } else {
	    $this->kysimused[$kysimus->kysiId()]=$kysimus;
	   }
	 }
	 public function kuvaKysimusedVastamiseks(){
	    echo "<h2>$this->pealkiri</h2>";
	    foreach($this->kysimused as $kysimuse_id => $kysimus){
		  $kysimus->vastaKysimus($this->kysiSmarty(), $kysimuse_id);
		}
	 }
	 public function kontrolliVastused($andmed){
	    $t="";
	    foreach($this->kysimused as $kysimuse_id => $kysimus){
		    if(isSet($andmed["kys".$kysimuse_id])){
			  $t.="Küsimus $kysimuse_id: ".
			    $kysimus->kontrolliVastus($andmed["kys".$kysimuse_id])."<br />";
			}
        }
        return $t;	    
	 }
  }
?>