<!-- Realisatsiooni aluseks on võetud:
PHP Object Oriented CRUD Example with Bootstrap
Kasutatud 6.04.2016
https://www.codeofaninja.com/2014/06/php-object-oriented-crud-example-oop.html
-->

<?php
/*
======================
Pildi klass
======================
*/
class Pilt
{
    private $conn;
    public $tabel = "img";
    
    public $id;
    public $nimi;
    public $oksjoni_id;
    
    public function __construct($db)
    {
        $this->conn = $db;
    }
    
    function create()
    {
        // Lisame pildi andmebaasi (internetioksjon)
        $query = "INSERT INTO " . $this->tabel . " SET nimi= ?, oksjoni_id= ?";
        
        $stmt = $this->conn->prepare($query);
        
        $this->nimi       = htmlspecialchars(strip_tags($this->nimi));
        $this->oksjoni_id = htmlspecialchars(strip_tags($this->oksjoni_id));
        
        $stmt->bindParam(1, $this->nimi);
        $stmt->bindParam(2, $this->oksjoni_id);
        
        if ($stmt->execute()) {
            return true;
        } else {
            return false;
        }
    }
    
    function lisamineSaal()
    {
        // Lisame pildi saalioksjoni esemele
        $query = "INSERT INTO img_saal SET nimi= ?, eseme_id= ?";
        
        $stmt = $this->conn->prepare($query);
        
        $this->nimi       = htmlspecialchars(strip_tags($this->nimi));
        $this->oksjoni_id = htmlspecialchars(strip_tags($this->oksjoni_id));
        
        $stmt->bindParam(1, $this->nimi);
        $stmt->bindParam(2, $this->oksjoni_id);
        
        if ($stmt->execute()) {
            return true;
        } else {
            return false;
        }
    }

        function lisamineHinnatav()
    {
        // Lisame hindamisele saadetud eseme pildi andmebaasi
        $query = "INSERT INTO img_hindamine SET nimi= ?, hinnatava_id= ?";
        
        $stmt = $this->conn->prepare($query);
        
        $this->nimi       = htmlspecialchars(strip_tags($this->nimi));
        $this->oksjoni_id = htmlspecialchars(strip_tags($this->oksjoni_id));
        
        $stmt->bindParam(1, $this->nimi);
        $stmt->bindParam(2, $this->oksjoni_id);
        
        if ($stmt->execute()) {
            return true;
        } else {
            return false;
        }
    }
    
    function readOne($oksjoni_id)
    {
        // Loeme kaanefoto andmebaasist (internetioksjon)
        $query = "SELECT nimi FROM " . $this->tabel . " WHERE oksjoni_id = $oksjoni_id AND kaanefoto = TRUE LIMIT 0,1";
        
        $stmt = $this->conn->prepare($query);
        $stmt->execute();
        
        return $stmt;
    }
    
    function readOneSaal($eseme_id)
    {
        // Loeme kaanefoto andmebaasist (saalioksjoni ese)
        $query = "SELECT nimi FROM img_saal WHERE eseme_id = $eseme_id AND kaanefoto = TRUE LIMIT 0,1";
        
        $stmt = $this->conn->prepare($query);
        $stmt->execute();
        
        return $stmt;
    }

        function readOneHinnatav($oksjoni_id)
    {
        // Loeme ühe hinnatavatest piltidest
        $query = "SELECT nimi FROM img_hindamine WHERE hinnatava_id = $oksjoni_id LIMIT 0,1";
        
        $stmt = $this->conn->prepare($query);
        $stmt->execute();
        
        return $stmt;
    }
    
    function readAll($oksjoni_id)
    {
        // Loeme kõik internetioksjoni kohta käivad pildid
        $query = "SELECT nimi, id FROM " . $this->tabel . " WHERE oksjoni_id = $oksjoni_id";
        
        $stmt = $this->conn->prepare($query);
        $stmt->execute();
        
        return $stmt;
    }
    
    function readAllSaal($oksjoni_id)
    {
        // Loeme kõik saalioksjoni eseme kohta käivad pildid
        $query = "SELECT nimi, id FROM img_saal WHERE eseme_id = $oksjoni_id";
        
        $stmt = $this->conn->prepare($query);
        $stmt->execute();
        
        return $stmt;
    }

        function readAllHinnatav($oksjoni_id)
    {
        // Loeme kõik hinnatava eseme kohta käivad pildid
        $query = "SELECT nimi, id FROM img_hindamine WHERE hinnatava_id = $oksjoni_id";
        
        $stmt = $this->conn->prepare($query);
        $stmt->execute();
        
        return $stmt;
    }
    
    function valiKaanefoto($pildi_id)
    {
        // Seame pildi kaanefotoks (internetioksjon)
        $query = "UPDATE " . $this->tabel . " SET kaanefoto = TRUE WHERE id = $pildi_id";
        
        $stmt = $this->conn->prepare($query);
        
        if ($stmt->execute()) {
            return true;
        } else {
            return false;
        }
    }
    
    function valiKaanefotoSaal($pildi_id)
    {
        // Seame pildi kaanefotoks (saalioksjon)
        $query = "UPDATE img_saal SET kaanefoto = TRUE WHERE id = $pildi_id";
        
        $stmt = $this->conn->prepare($query);
        
        if ($stmt->execute()) {
            return true;
        } else {
            return false;
        }
    }
    
    function tyhjendaKaanefoto($oksjoni_id)
    {
        // Eemaldame pildi kaanefotona (internetioksjon)
        $query = "UPDATE " . $this->tabel . " SET kaanefoto = FALSE WHERE oksjoni_id = $oksjoni_id";
        
        $stmt = $this->conn->prepare($query);
        
        if ($stmt->execute()) {
            return true;
        } else {
            return false;
        }
    }
    
    function tyhjendaKaanefotoSaal($eseme_id)
    {
        // Eemaldame pildi kaanefotona (saalioksjoni ese)
        $query = "UPDATE img_saal SET kaanefoto = FALSE WHERE eseme_id = $eseme_id";
        
        $stmt = $this->conn->prepare($query);
        
        if ($stmt->execute()) {
            return true;
        } else {
            return false;
        }
    }
    
    function kustutaPilt($pildi_id, $oksjoni_id)
    {
        // Kustutame pildi andmebaasist (internetioksjon)
        $query = "DELETE FROM " . $this->tabel . " WHERE id = $pildi_id AND oksjoni_id = $oksjoni_id AND kaanefoto = FALSE";
        
        $stmt = $this->conn->prepare($query);
        $stmt->execute();
        
        $num = $stmt->rowCount();
        return $num;
    }
    
    function kustutaPiltSaal($pildi_id, $eseme_id)
    {
        // Kustutame pildi andmebaasist (saalioksjoni ese)
        $query = "DELETE FROM img_saal WHERE id = $pildi_id AND eseme_id = $eseme_id AND kaanefoto = FALSE";
        
        $stmt = $this->conn->prepare($query);
        
        $stmt->execute();
        $num = $stmt->rowCount();
        return $num;
    }
    
}