<?php
/**
 * class result
 *
 * Description for class result
 *
 * @author:
*/
use form\slideResult_form;

class result extends slideResult_form {
	public function valid($sendData) {
		$valid = true;
		
		$valueMin = $this->config["min_value"];
		$valueMax = $this->config["max_value"];

		foreach($this->optionsKeys as $optionId) {
			if(!isset($sendData[$optionId])) {
				$valid = false;
				continue;
			}

			$value = $sendData[$optionId];
			if($value == "-1") {
				continue;
			}

			if($valueMin > $value || $valueMax < $value) {
				$valid = false;
			}
		}

		return $valid;
	}

	public function save($presentationId, $slideId, $userId, $sendData, $time) {
		global $__database;

		try {
			foreach($this->optionsKeys as $optionId) {
				$value = $sendData[$optionId];
				if($value == "-1") {
					continue;
				}

				$query = $__database->prepare("INSERT INTO `results` (`result_id`, `presentation_id`, `board_id`, `option_id`, `user_id`, `reply`, `time`) VALUES (UUID(), :presentation_id, :board_id, :option_id, :user_id, :reply, :time)");
				$query->bindParam(":presentation_id", $presentationId);
				$query->bindParam(":board_id", $slideId);
				$query->bindParam(":option_id", $optionId);
				$query->bindParam(":user_id", $userId);
				$query->bindParam(":reply", $value);
				$query->bindParam(":time", $time);
				$query->execute();
			}

			return true;
		} catch(PDOException $error) {

		}

		return false;
	}
}
?>