public function frontend($variables) { global $classDatabase; global $classPageInfo; require_once 'classes/userDetails.php'; global $classUserDetails; if (!isset($classUserDetails)) { $classUserDetails = new userDetails(); } require_once 'classes/userSession.php'; global $classUserSession; if (!isset($classUserSession)) { $classUserSession = new userSession(); } if ($classPageInfo->permissionWrite) { //POST reply //Only post if a $_POST['threadID'] is given if (isset($_POST['threadID'])) { echo "<div class='postReply postInformation'>"; if (str_replace(' ', '', $_POST['textArea']) == '') { echo 'Your reply requires some text!'; } else { $userCheck = false; if ($classUserSession->checkSession()) { $userCheck = true; } else { if (isset($_POST['username']) && isset($_POST['password'])) { $userCheck = $classUserDetails->checkDetails($_POST['username'], $_POST['password']); } } if ($userCheck) { $userIdent = 0; if ($classUserSession->checkSession()) { $userIdent = $classUserSession->returnUserID(); } else { $userIdent = $classDatabase->psUserSelectIDWhereUsernameEquals($_POST['username']); } $classDatabase->psPostsInsertThreadIDTextCreateTimeCreateIPuserID($_POST['threadID'], strip_tags($_POST['textArea']), date('Y-m-d H:i:s'), $_SERVER['REMOTE_ADDR'], $userIdent); $classDatabase->psThreadsIncrementTotalRepliesWhereIDEquals($_POST['threadID']); $classDatabase->psThreadsBumporderPointWhereIDEquals($_POST['threadID']); } else { echo 'Could not confirm user details provided.'; } } echo '</div>'; } //Display form echo "<div class='createReply form'><form id='createReplyForm' action='?' method='post'>" . "<div class='createReply head'>Reply to thread:</div>" . "<div class='createReply text'>Text: <textarea form='createReplyForm' name='textArea' rows='6'></textarea></div>" . "<div class='createReply static'>" . "<input type='submit' value='Submit'>"; if (!$classUserSession->checkSession()) { echo "<div class='createReply userDetails'>" . "<div class='createReply username'>Username: <input type='text' name='username' value='anonymous'></div>" . "<div class='createReply password'>Password: <input type='password' name='password'></div>" . '</div>'; } echo "<div class='createReply boardID'>Thread ID: <input type='text' name='threadID' readonly required value='{$classPageInfo->threadID}'></div>" . "<div class='createReply markupLink'>Formatting Markup</div>" . '</div>' . '</form></div>'; } }
public function frontend($variables) { global $classDatabase; global $classPageInfo; require_once 'classes/userDetails.php'; global $classUserDetails; if (!isset($classUserDetails)) { $classUserDetails = new userDetails(); } require_once 'classes/userSession.php'; global $classUserSession; if (!isset($classUserSession)) { $classUserSession = new userSession(); } if ($classPageInfo->permissionWrite) { echo "<div class='createThread form'><form id='createThreadForm' action='?' method='post'>" . "<div class='createThread head'>Create a new thread:</div>" . "<div class='createThread title'>Title: <input type='text' name='threadTitle' required'></div>"; if (!$classUserSession->checkSession()) { echo "<div class='createThread userDetails'>" . "<div class='createThread username'>Username: <input type='text' name='username' value='anonymous'></div>" . "<div class='createThread password'>Password: <input type='text' name='password'></div>" . '</div>'; } echo "<div class='createThread link'>Link: <input type='text' name='subject'></div>" . "<div class='createThread text'>Text: <textarea form='createThreadForm' name='textArea' rows='6'></textarea></div>" . "<div class='createThread static'>" . "<input type='submit' value='Submit'>" . "<div class='createThread markupLink'>Formatting Markup</div>" . "<div class='createThread boardID'>Board ID: <input type='text' name='boardID' readonly required value='{$classPageInfo->boardID}'></div>" . '</div>' . '</form></div>'; //POST THREAD //Only post if a $_POST['boardID'] is given if (isset($_POST['boardID'])) { echo "<div class='postThread postInformation'>"; if (str_replace(' ', '', $_POST['threadTitle']) == '') { echo 'Your post requires a title.'; } else { $userCheck = false; if ($classUserSession->checkSession()) { $userCheck = true; } else { if (isset($_POST['username']) && isset($_POST['password'])) { $userCheck = $classUserDetails->checkDetails($_POST['username'], $_POST['password']); } } if ($userCheck) { $userIdent = 0; if ($classUserSession->checkSession()) { $userIdent = $classUserSession->returnUserID(); } else { $userIdent = $classDatabase->psUserSelectIDWhereUsernameEquals($_POST['username']); } $classDatabase->psThreadsInsertBoardIDTitleLinkTextCreateTimeCreateIPUserID_Bump($_POST['boardID'], strip_tags($_POST['threadTitle']), strip_tags($_POST['subject']), strip_tags($_POST['textArea']), date('Y-m-d H:i:s'), $_SERVER['REMOTE_ADDR'], $userIdent); } else { echo 'Could not confirm user details provided.'; } } echo '</div>'; } } }
public function startSession($username, $password) { require_once 'classes/userDetails.php'; global $classUserDetails; if (!isset($classUserDetails)) { $classUserDetails = new userDetails(); } require_once 'classes/database.php'; global $classDatabase; if (!isset($classDatabase)) { $classDatabase = new database(); } if ($classUserDetails->checkDetails($username, $password)) { $this->endSession(); //Clear stored info for guest/anon session session_start(); $_SESSION['soylentSession'] = true; $_SESSION['username'] = true; $_SESSION['userID'] = $classDatabase->psUserSelectIDWhereUsernameEquals($username); return true; } else { return false; } }