setExerciseData("");
            $this->setVideo("");
        } else {
            global $kdb;
            $typeData = $kdb->getTypeData($rid, self::$table);
            $this->setExerciseData($typeData['data']);
            $this->setVideo($typeData['video']);
        }
    }
    
    protected function setExerciseData($d) {
        $this->exerciseData = $d;
    }
    public function getExerciseData() {
        return $this->exerciseData;
    }
    
    protected function setVideo($d) {
        $this->video = $d;
    }
    public function getVideo() {
        return $this->video;
    }
    
    public function makeResourceFromXML($xml) {
        parent::makeResourceFromXML($xml);  
        if ($this->getResourceID()!="new"){
            global $kdb; 
            $res = $kdb->query("INSERT INTO video (resourceID, video, data) values (".$this->getResourceID().", '".$xml['video']."', '".$xml['data']."')");
            if ($res) {
                $_SESSION['krihvel_notice'] = "\"".gettext("Video")."\" ".gettext("has been imported successfully!");    
            } else {
                $_SESSION['krihvel_notice'] = gettext("Upload failed! Zip file was corrupted!");
            }
        }
        return array('rid' => $this->getResourceID(), 'mode' => 'view');
    }
    
    public function makeXML() {
        $xml  = '\n';
        $xml .= 'getExerciseData().']]>\n';
        return $xml;
    }
    
     /** 
     * @Secured('roles' = {'authenticated'}, 'valid' = {})
     * */
    public function actionCopy() {
        global $kdb;
        $this->updateData($_POST);
        $rid = $this->getResourceID();
        parent::copy();       
        if ($this->getResourceID() != $rid){ 
            $res = $kdb->query("INSERT INTO video (resourceID, video, data) values (".$this->getResourceID().", '".$this->getVideo()."', '".$this->getExerciseData()."')");
            if ($res) {
                $_SESSION['krihvel_notice'] = gettext("You have new copy of")." \"".gettext("Video")."\"";    
            } else {
                $_SESSION['krihvel_notice'] = gettext("Making copy failed");
            }
        }
        return array('rid' => $this->getResourceID(), 'mode' => 'view');
    }
        
    /** 
     * @Secured('roles' = {'authenticated'}, 'valid' = {})
     * */
    public function actionSave() {
        $mode = "view";
        if ($this->getResourceID() == "new"){ 
            $mode = "compile";
        }
        $this->updateData($_POST);
        $this->save();
        $_SESSION['krihvel_notice'] = gettext("Saved");
        return array('rid' => $this->getResourceID(), 'mode' => $mode);
    }
    
    protected function save() {
        global $kdb;
        $rid = $this->getResourceID();
        parent::save();
        if ($rid == "new"){ 
            $kdb->query("INSERT INTO video (resourceID, video, data) values (".$this->getResourceID().", '".$this->getVideo()."', '".$this->getExerciseData()."')");
        }
    }
    
    /** 
     * @Secured('roles' = {'authenticated'}, 'valid' = {})
     * */
    public function actionCompile() {
        global $kdb;
        $kdb->query("UPDATE video SET data='".$_POST['exercise']."', video='".$_POST['video']."' WHERE resourceID=".$this->getResourceID());
        $this->updateFulltext();
        $_SESSION['krihvel_notice'] = gettext("Saved");
        return array('rid' => $this->getResourceID(), 'mode' => "settings");
    }
    
    /** 
     * @Secured('roles' = {'authenticated'}, 'valid' = {}) 
     * */
    public function actionAnswer() {        
        global $user, $krihvel;
        //$aid = $this->answerData($_POST);
        $a = new VideoAnswer();
        $a->setResourceID($this->getResourceID());
        $a->setAssignmentID($_POST['assignment']);
        $a->setUserID($user->getId());
        $a->setGrade(0);
        $a->setComment("");
        $a->setExponate(0);
        $a->setAnswer($_POST['answer']);
        $a->save();
        $_SESSION['krihvel_notice'] = gettext("Answered");
        return array('rid' => $this->getResourceID(), 'mode' => "answer");
    }
    function fulltext() {
        return $this->getExerciseData();
    }
}
?>