Compare commits
2 commits
3bf3b486bf
...
de4cbe9ee6
Author | SHA1 | Date | |
---|---|---|---|
de4cbe9ee6 | |||
f717080e8a |
4 changed files with 45 additions and 7 deletions
3
Makefile
3
Makefile
|
@ -12,3 +12,6 @@ docker-run: data/
|
||||||
FORCE:
|
FORCE:
|
||||||
cp -r src/data ./
|
cp -r src/data ./
|
||||||
chmod 777 data
|
chmod 777 data
|
||||||
|
|
||||||
|
docker-run-dev: data/ src/
|
||||||
|
docker run -v $(current_dir)src/:/var/www/html/ -v $(current_dir)data/:/var/www/html/data/ -p 8080:80 snuffler/snuffler-web:dev
|
|
@ -102,7 +102,7 @@ class DataBase extends SQLite3 {
|
||||||
|
|
||||||
function addPersona($userid, $handle, $name, $about=NULL, $colour=NULL) {
|
function addPersona($userid, $handle, $name, $about=NULL, $colour=NULL) {
|
||||||
$id = hexdec(uniqid());
|
$id = hexdec(uniqid());
|
||||||
$sql = "INSERT INTO personas (id, userid, handle, name, colour) VALUES ('$id', '$userid', '$handle', '$about', '$colour');";
|
$sql = "INSERT INTO personas (id, userid, handle, name, about, colour) VALUES ('$id', '$userid', '$handle', '$name', '$about', '$colour');";
|
||||||
$ret = $this->exec($sql);
|
$ret = $this->exec($sql);
|
||||||
if(!$ret) {
|
if(!$ret) {
|
||||||
die($this->lastErrorMsg());
|
die($this->lastErrorMsg());
|
||||||
|
@ -125,6 +125,9 @@ class DataBase extends SQLite3 {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$dbhash = $ret[0];
|
$dbhash = $ret[0];
|
||||||
|
if(!$dbhash) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return password_verify($password, $dbhash);
|
return password_verify($password, $dbhash);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -192,5 +195,19 @@ class DataBase extends SQLite3 {
|
||||||
}
|
}
|
||||||
return $array;
|
return $array;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getPersonas($userid=NULL) {
|
||||||
|
if(!$userid) {
|
||||||
|
$userid = $this->getAuthedUserId();
|
||||||
|
}
|
||||||
|
$sql = "SELECT * FROM personas AS persona WHERE userid='$userid' ORDER BY name;";
|
||||||
|
|
||||||
|
$ret = $this->query($sql);
|
||||||
|
$array = array();
|
||||||
|
while ($row = $ret->fetchArray(SQLITE3_ASSOC)) {
|
||||||
|
array_push($array, $row);
|
||||||
|
}
|
||||||
|
return $array;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -55,12 +55,16 @@ if(!$database) {
|
||||||
} else {
|
} else {
|
||||||
?>
|
?>
|
||||||
<a href="logout.php">LOG OUT</a>
|
<a href="logout.php">LOG OUT</a>
|
||||||
<form id="postform">
|
<form id="postform" method="post" action="post.php">
|
||||||
<textarea id="postformtextarea" name="text" rows="5" placeholder="Whatcha snuffin' about?"></textarea><br />
|
<textarea id="postformtextarea" name="text" rows="5" placeholder="Whatcha snuffin' about?"></textarea><br />
|
||||||
<div id="postformactionrow">
|
<div id="postformactionrow">
|
||||||
<select id="user" name="user">
|
<select id="persona" name="persona">
|
||||||
<option value=0>SYSTEM</option>
|
<?php
|
||||||
<option value=1>User</option>
|
$personas = $database->getPersonas();
|
||||||
|
foreach($personas as $persona) {
|
||||||
|
echo "<option value=" . $persona['persona.id'] . ">" . $persona['persona.name'] . "</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
</select>
|
</select>
|
||||||
<input type="submit" id="submit" name="submit" value="Snuff!" />
|
<input type="submit" id="submit" name="submit" value="Snuff!" />
|
||||||
</div>
|
</div>
|
||||||
|
@ -80,8 +84,8 @@ $posts = array_reverse($database->getPosts());
|
||||||
foreach($posts as $post) {
|
foreach($posts as $post) {
|
||||||
echo '<div class="post">';
|
echo '<div class="post">';
|
||||||
echo '<div class="postinfo">';
|
echo '<div class="postinfo">';
|
||||||
echo '<strong>' . $post["user.name"] . '</strong>';
|
echo $post["user.name"] . ': <strong>' . $post["persona.name"] . '</strong>';
|
||||||
echo '<br><small>@' . $post["user.handle"] . '</small>';
|
echo '<br><small>@' . $post["user.handle"] . '@' . $post["persona.handle"] . '</small>';
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
|
||||||
echo '<p>' . $post["post.text"] . '</p>';
|
echo '<p>' . $post["post.text"] . '</p>';
|
||||||
|
|
14
src/post.php
Normal file
14
src/post.php
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<?php
|
||||||
|
if (empty($_POST) || !isset($_POST['submit'])) {
|
||||||
|
die("Post canceled: no post / no submit");
|
||||||
|
}
|
||||||
|
|
||||||
|
require_once('inc/database.php');
|
||||||
|
$db = new DataBase();
|
||||||
|
$userid = $db->getAuthedUserId();
|
||||||
|
$persid = $_POST['persona']; // TODO: CHECK OWNERSHIP! (db schema?)
|
||||||
|
if($userid) {
|
||||||
|
$db->addPost($_POST['text'], $userid, $persid);
|
||||||
|
}
|
||||||
|
header("Location: /");
|
||||||
|
?>
|
Loading…
Reference in a new issue