Skip to content

Latest commit

 

History

History
86 lines (63 loc) · 2.59 KB

README.md

File metadata and controls

86 lines (63 loc) · 2.59 KB

Tippspiel Frontend (freiwilliges Projekt GWI1)

Dies ist das Repository für die freiwillige Projektarbeit im Fach GWI1.

Code ist nicht representativ

Dieser Code wurde in Zusammenarbeit mit Authoren unten erstellt. Um die Zusammenarbeit zu erleichtern wurde bewusst der Code sehr einfach gehalten. Dementsprechend wird sich nicht an dem Standard in der PHP-Community gehalten.

Autoren

Mario Kellner - mario.kellner@studmail.w-hs.de Jan Markus Momper - jan-markus.momper@studmail.w-hs.de Philipp Miller - philipp.miller@studmail.w-hs.de Mark Friedrich - mark.friedrich@studmail.w-hs.de

Verwendete Frameworks & Bibliotheken

Die verwendete MySQL Bibliothek ist: MySQLI (MySQL improved) Template Engine: smarty3.1.29

Konfiguration

Die Datei "Config.tpl.php" stellt die Standard-Konfiguration dar. Um das Frontend zu nutzen, muss diese in "Config.php" umbenannt werden.

Notwendige Konfiguration

In der Config.php müssen mindestens korrekte Logindaten für einen MySQL-Server hinterlegt werden.

Beispielhafte konfigurierte Datenbankverbindung:

public static $databaseSettings = [
    'host' => 'localhost',
    'user' => 'root',
    'password' => '',
    'database' => 'em2016'
];

Smarty Hack

Eigentlich braucht das Framework Smarty einen Ordner mit 0755 Rechten (UNIX Rechtesystem) damit dieses gescheit arbeiten kann.

Da wir aber davon ausgehen, dass wir auf keinen Ordner irgendwelche Schreibrechte bekommen, aber Smarty auf das Schreiben kompilierter Templates angewiesen ist, bedienen wir uns einer simplen Methode.

Wir benutzen den temporären Ordner eines Systems der mittels sys_get_temp_dir(); ermittelt wird. Auf diesen haben wir standardmäßig 0755 Rechte (0755 bedeutet alles außer ausführen)

Korrekte Konfiguration

In der Datei SmartyInstance.php die Zeile:

        $this->smarty->setCompileDir(sys_get_temp_dir());

in

        $this->smarty->setCompileDir(ROOT_DIR . DS . 'theme_compile');

ändern. Anschließend den Ordner theme_compile erstellen und mit write/read rechten (auf Linux und anderen Unix Systemen ist das das Octet 0755 oder 0777) ausstatten.

Anlegen eines neuen Kontrollers (Modules)

Im Ordner "classes/controller" muss eine neu PHP-Datei mit dem Namen der Klasse angelegt werden. Die Klasse muss vom Interface "IController" und die Funktionen implementieren.

Beispiel:

Anlegen eines neuen Modules namens "login".

Dateiname

"login.class.php"

Dateiinhalt

<?php

class login implements IController
{
    public function __construct() {
        
    }

    public function Run() {

    }
}