librecat/user.php

83 lines
2.1 KiB
PHP

<?php
session_start();
$db = new SQLite3('ask.db');
$p_user = $db->query("SELECT * FROM users WHERE username = '" . $_GET["q"] . "';")->fetchArray(SQLITE3_ASSOC);
if(!$p_user || !$p_user["id"]){
include("404.php");
die();
}
if(isset($_SESSION["uid"])){
if($_SESSION["uid"] == $p_user["id"]){
$is_current_user = true;
}
}
if($validUser){
header("Location: /"); die();
}
$errorMsg = "";
if(isset($_POST["post-submit"])){
if($_POST["post-text"] == "") $errorMsg = "The question can't be blank.";
else if(strlen($_POST["post-text"]) > 400) $errorMsg = "The question can't bee longer than 400 characters";
else{
$u = $p_user["id"];
$by = 0;
$question = htmlspecialchars($_POST["post-text"]);
// Insert user into DB
$db->exec("INSERT INTO questions(user,by,question,answered,date) VALUES ('$u','$by','$question',0,". strtotime('now') .");");
unset($_POST["post-text"]);
}
}
?>
<html>
<head>
<title><?= $p_user["username"] ?> | LibreCat</title>
</head>
<body>
<?php include("include/header.php"); ?>
<h2><?= $p_user["username"] ?></h2>
<p><?= $p_user["bio"] ?></p>
<?php
if($is_current_user){
if($fancy_urls)
echo("<a href='/config'>config</a>");
else
echo("<a href='/config.php'>config</a>");
}
?>
<form name="input" action="" method="post">
<p>Ask me anything</p>
<textarea id="post-text" name="post-text"></textarea>
<br/>
<?php if(isset($errorMsg)) echo "<p>$errorMsg</p>\n"; ?>
<input type="submit" name="post-submit"/>
</form>
<?php
$u_prep = $db->prepare("SELECT * FROM users WHERE id = :id");
$qs = $db->query("SELECT * FROM questions WHERE user = '" . $p_user["id"] . "' LIMIT 0, 10;");
$time = new DateTime("@0");
while($current = $qs->fetchArray(SQLITE3_ASSOC)){
// Execute prepared statement
$u_prep->bindValue(":id", $current["by"], SQLITE3_INTEGER);
$q_user = $u_prep->execute()->fetchArray(SQLITE3_ASSOC);
echo("<h3>". $current["id"] ." - " . $q_user["name"] ."</h3>");
// Time
$time->setTimestamp($current["date"]);
echo($time->format("Y-m-d H:i:s"));
echo("<p>". $current["question"] ."<p>");
}
?>
</body>
</html>