aboutsummaryrefslogtreecommitdiff
path: root/model
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--model/Feedback.php37
1 files changed, 37 insertions, 0 deletions
diff --git a/model/Feedback.php b/model/Feedback.php
index 86ef886..7ba697d 100644
--- a/model/Feedback.php
+++ b/model/Feedback.php
@@ -8,4 +8,41 @@ class Feedback extends ModelBase
public function getUrl() {
return 'feedback/';
}
+
+ public function validate($info)
+ {
+ return
+ isset($_POST['datetime']) ||
+ isset($_POST['net']) ||
+ isset($_POST['os']) ||
+ isset($_POST['player']) ||
+ isset($_POST['stream']) ||
+ isset($_POST['provider']) ||
+ isset($_POST['issuetext']);
+ }
+
+ public function store($info)
+ {
+ $db = new PDO($this->get('FEEDBACK.DSN'));
+ $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+
+ $stm = $db->prepare('
+ INSERT INTO feedback (reported, datetime, net, os, player, stream, ipproto_v4, ipproto_v6, provider, issues, issuetext)
+ VALUES (:reported, :datetime, :net, :os, :player, :stream, :ipproto_v4, :ipproto_v6, :provider, :issues, :issuetext)
+ ');
+
+ $stm->execute(array(
+ 'reported' => time(),
+ 'datetime' => strtotime($info['datetime']),
+ 'net' => $info['net'],
+ 'os' => $info['os'],
+ 'player' => $info['player'],
+ 'stream' => $info['stream'],
+ 'ipproto_v4' => isset($info['ipproto']) && is_array($info['ipproto']) && in_array('v4', $info['ipproto']),
+ 'ipproto_v6' => isset($info['ipproto']) && is_array($info['ipproto']) && in_array('v6', $info['ipproto']),
+ 'provider' => $info['provider'],
+ 'issues' => isset($info['issues']) && is_array($info['issues']) ? implode(',', $info['issues']) : '',
+ 'issuetext' => $info['issuetext'],
+ ));
+ }
}