Refactored code to use namespaces

This commit is contained in:
Andreas 2019-09-30 14:17:21 +02:00
parent 28e378fbe2
commit 929a848b23
37 changed files with 135 additions and 57 deletions

View File

@ -1,4 +1,5 @@
<?php
namespace controller;
Class HUtils{
static function issetPost($arr_postvars){
for ($i=0; $i <sizeof($arr_postvars) ; $i++)

View File

@ -1,4 +1,5 @@
<?php
namespace controller;
class MVCController{
private $model;
private $testaction;

View File

@ -1,5 +1,7 @@
<?php
require_once(ROOT_DIR.'/controller/db/Database.php');
namespace controller;
use controller\db\Database;
use DateTime;
Class UserSession{
public $uid = -1;
public $token = "undefined";

View File

@ -1,5 +1,7 @@
<?php
require_once ROOT_DIR.'/controller/db/Database.php';
namespace controller\db;
use model\forum\Board;
use PDO;
class DBBoard extends Database{
static function getBoards():array
{

View File

@ -1,6 +1,7 @@
<?php
require_once ROOT_DIR.'/controller/db/Database.php';
require_once ROOT_DIR.'/model/forum/Reply.php';
namespace controller\db;
use model\forum\Reply;
use PDO;
class DBReply extends Database{
static function createReply($uid, $threadID, $content){
$con = self::connectToDB();

View File

@ -1,5 +1,7 @@
<?php
require_once ROOT_DIR.'/model/forum/Thread.php';
namespace controller\db;
use model\forum\Thread;
use PDO;
class DBThread extends Database {
static function getThreadByID($id){
$con = self::connectToDB();

View File

@ -1,5 +1,7 @@
<?php
require_once(ROOT_DIR.'/model/forum/User.php');
namespace controller\db;
use model\forum\User;
use PDO;
class DBUser extends Database
{
static function getUserByUID($uid){

View File

@ -1,4 +1,6 @@
<?php
namespace controller\db;
use PDO;
Class Database{
static function connectToDB(){
try{

View File

@ -1,13 +1,41 @@
<?php
define('ROOT_DIR', __DIR__);
function autoload($className){
$className = ltrim($className, '\\');
$fileName = '';
$namespace = '';
if($lastNsPos = strrpos($className, '\\')){
$namespace = substr($className, 0, $lastNsPos);
$className = substr($className, $lastNsPos + 1);
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
}
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
//echo $fileName;
require ROOT_DIR . '\\' . $fileName;
}
spl_autoload_register('autoload');
use model\testactions\TestAction;
use controller\MVCController;
use controller\UserSession;
use controller\HUtils;
error_reporting(E_ALL);
ini_set('log_errors','1');
ini_set('display_errors','1');
define('ROOT_DIR', __DIR__);
session_start();
require_once(ROOT_DIR.'/model/testactions/TestAction.php');
//date_default_timezone_set('Europe/Amsterdam');
require_once(ROOT_DIR.'/controller/MVCController.php');
require_once(ROOT_DIR.'/controller/UserSession.php');
$mvcController = new MVCController();
$mvcController->executeModel();
if(!isset($_POST['testaction'])){

View File

@ -1,8 +1,8 @@
<?php
require_once ROOT_DIR.'/controller/UserSession.php';
require_once(ROOT_DIR.'/controller/HUtils.php');
require_once ROOT_DIR.'/controller/db/DBReply.php';
require_once ROOT_DIR.'/model/forum/Reply.php';
use controller\UserSession;
use controller\HUtils;
use controller\db\DBReply;
Use model\forum\Reply;
//dit bestand bestaat grotendeels uit dummy code.
//Ik heb onvoldoende tijd gehad tijdens de afgelopen paar weken en het was extreem druk in de klas tijdens de les.
$uid = $_SESSION['usersession']->uid;

View File

@ -1,8 +1,8 @@
<?php
require_once ROOT_DIR.'/controller/UserSession.php';
require_once(ROOT_DIR.'/controller/HUtils.php');
require_once ROOT_DIR.'/controller/db/DBThread.php';
require_once ROOT_DIR.'/model/forum/Thread.php';
use controller\UserSession;
use controller\HUtils;
use controller\db\DBThread;
use model\forum\Thread;
//dit bestand bestaat grotendeels uit dummy code.
//Ik heb onvoldoende tijd gehad tijdens de afgelopen paar weken en het was extreem druk in de klas tijdens de les.
$uid = $_SESSION['usersession']->uid;

View File

@ -3,6 +3,9 @@
require_once(ROOT_DIR."/controller/db/Database.php");
require_once(ROOT_DIR."/controller/db/DBUser.php");
require_once(ROOT_DIR."/controller/HUtils.php");
use controller\db\Database;
use controller\db\DBUser;
use controller\HUtils;
if(HUtils::issetPost(['email', 'pass', 'pass2', 'name'])){
$email = $_POST['email'];
$pass = $_POST['pass'];

View File

@ -1,9 +1,11 @@
<?php
$debuginfo = false;
require_once(ROOT_DIR."/controller/UserSession.php");
require_once(ROOT_DIR."/controller/db/Database.php");
require_once(ROOT_DIR."/controller/db/DBUser.php");
require_once(ROOT_DIR."/controller/HUtils.php");
use controller\UserSession;
use controller\db\Database;
use controller\db\DBUser;
use controller\HUtils;
use controller\MVCController;
use model\forum\User;
$skipoverride = false;
if(!UserSession::isUserSignedIn()){
if(HUtils::issetPost(['email','password'])){

View File

@ -1,5 +1,7 @@
<?php
require_once(ROOT_DIR.'/controller/db/Database.php');
use controller\db\Database;
use controller\UserSession;
$_SESSION['usersession'] = null;
Database::invalidateSession($_COOKIE['usersession']);
session_destroy();

View File

@ -1,4 +1,5 @@
<?php
namespace model\forum;
class Board {
public $id;
public $name;

View File

@ -1,4 +1,6 @@
<?php
namespace model\forum;
use DateTime;
class Reply {
public $id;
public $threadID;

View File

@ -1,4 +1,6 @@
<?php
namespace model\forum;
use DateTime;
class Thread {
public $id;
public $title;

View File

@ -1,5 +1,5 @@
<?php
namespace model\forum;
class User {
public $id;
public $username;

View File

@ -1,4 +1,6 @@
<?php
namespace model\testactions;
use DateTime;
class TA_CreateDB extends TestAction{
function TA_CreateDB(){

View File

@ -1,4 +1,5 @@
<?php
namespace model\testactions;
class TA_PopulateDB extends TestAction{
function TA_PopulateDB(){
parent::__construct();

View File

@ -1,4 +1,5 @@
<?php
namespace model\testactions;
require_once(ROOT_DIR.'/controller/db/DBReply.php');
require_once(ROOT_DIR.'/model/forum/Reply.php');
class TA_TestDBReply extends TestAction{

View File

@ -1,4 +1,5 @@
<?php
namespace model\testactions;
require_once(ROOT_DIR.'/controller/db/DBThread.php');
require_once(ROOT_DIR.'/model/forum/Thread.php');
class TA_TestDBThread extends TestAction{

View File

@ -1,4 +1,5 @@
<?php
namespace model\testactions;
require_once(ROOT_DIR.'/controller/db/DBUser.php');
require_once(ROOT_DIR.'/model/forum/User.php');
class TA_TestDBUser extends TestAction{

View File

@ -1,4 +1,5 @@
<?php
namespace model\testactions;
class TA_TestSQLConnection extends TestAction{
function __construct(){
parent::__construct();

View File

@ -1,4 +1,5 @@
<?php
namespace model\testactions;
class TestAction{
function __construct(){
if(isset($_POST['auth'])){

View File

@ -12,6 +12,7 @@ require_once("index.php");
<?php
include_once(ROOT_DIR."/view/webcontent/content_header.php");
?>
</header>
<div class="main">
<?php

View File

@ -1,6 +1,5 @@
<?php
require_once ROOT_DIR.'/model/forum/Thread.php';
require_once ROOT_DIR.'/model/forum/User.php';
use controller\MVCController;
foreach (MVCController::$viewData['boards'] as $board){
include ROOT_DIR.'/view/webcontent/modules/modules_boards/module_boardtable.php';
}

View File

@ -1,3 +1,6 @@
<?php
use controller\MVCController;
?>
<form action="./?p=showthread&thread=<?=MVCController::$viewData['threadid'];?>" method="post">
<textarea placeholder="post content" name="content"></textarea><br>
<input type="submit" value="Create Reply">

View File

@ -1,5 +1,5 @@
<?php
require_once(ROOT_DIR.'/controller/UserSession.php');
use controller\UserSession;
if(UserSession::isUserSignedIn()){
include(ROOT_DIR.'/view/webcontent/header/header_signedin.php');
}

View File

@ -1,7 +1,8 @@
<?php
require_once ROOT_DIR.'/model/forum/Thread.php';
require_once ROOT_DIR.'/model/forum/Reply.php';
require_once ROOT_DIR.'/model/forum/User.php';
use controller\MVCController;
use model\forum\Thread;
use model\forum\Reply;
use model\forum\User;
//$thread = new Thread();
$thread = MVCController::$viewData['thread'];
$replies = $thread->getReplies();

View File

@ -1,7 +1,7 @@
<div class="logo">
hF
</div>
<nav>
<a href="./">Home</a>
<a href="?action=signout">Sign out</a>
</nav>
<div class="logo">
hF
</div>
<nav>
<a href="./">Home</a>
<a href="?action=signout">Sign out</a>
</nav>

View File

@ -1,8 +1,8 @@
<div class="logo">
hF
</div>
<nav>
<a href="./">Home</a>
<a href="?p=register">Register</a>
<a href="?p=signin">Sign in</a>
</nav>
<div class="logo">
hF
</div>
<nav>
<a href="./">Home</a>
<a href="?p=register">Register</a>
<a href="?p=signin">Sign in</a>
</nav>

View File

@ -1,3 +1,6 @@
<?php
use controller\MVCController;
?>
<h2><?=$board->name?></h2>
<a href="?p=createthread&board=<?=$board->id?>">Create Thread</a>
<table>
@ -6,7 +9,7 @@
<th width=10%>Started by</th>
<th width=15%>Last reply</th>
</tr>
<?php
<?php
foreach (MVCController::$viewData['threads'] as $thread){
if($thread->getBoardID() == $board->id){
$currentRow = [];
@ -28,7 +31,7 @@ foreach (MVCController::$viewData['threads'] as $thread){
}
}
}
?>
?>
<tr>
<td>
<a href="?p=showthread&thread=<?=$currentRow['threadID']?>"><?=$currentRow['threadTitle']?></a>
@ -39,9 +42,10 @@ foreach (MVCController::$viewData['threads'] as $thread){
</td>
<td>
<?=$currentRow['lastUpdated']?>
</td>
</tr>
<?php
<?php
}
}
?>

View File

@ -1,11 +1,13 @@
<?php
require_once ROOT_DIR.'/controller/db/DBBoard.php';
require_once ROOT_DIR.'/controller/db/DBThread.php';
require_once ROOT_DIR.'/controller/db/DBUser.php';
require_once ROOT_DIR.'/model/forum/Board.php';
require_once ROOT_DIR.'/model/forum/Thread.php';
require_once ROOT_DIR.'/model/forum/User.php';
require_once ROOT_DIR.'/model/forum/Reply.php';
use controller\MVCController;
use controller\db\DBBoard;
use controller\db\DBThread;
use controller\db\DBUser;
use model\forum\Board;
use model\forum\Thread;
use model\forum\User;
use model\forum\Reply;
$boards = DBBoard::getBoards();
$users = [];

View File

@ -1,4 +1,5 @@
<?php
use controller\MVCController;
if(isset($_GET['thread'])){
MVCController::$viewData['threadid'] = $_GET['thread'];
}

View File

@ -1,6 +1,6 @@
<?php
require_once ROOT_DIR.'/controller/UserSession.php';
require_once ROOT_DIR.'/controller/MVCController.php';
use controller\UserSession;
use controller\MVCController;
if(UserSession::isUserSignedIn()){
MVCController::getMVCController()->overrideView("boards");
}

View File

@ -1,4 +1,10 @@
<?php
use controller\MVCController;
use controller\db\DBThread;
use controller\db\DBReply;
use controller\db\DBUser;
use model\forum\User;
use model\forum\Reply;
require_once ROOT_DIR.'/controller/db/DBThread.php';
require_once ROOT_DIR.'/controller/db/DBReply.php';
require_once ROOT_DIR.'/controller/db/DBUser.php';