Headymaster
Erfahrenes Mitglied
Hallo!
Ich möchte meiner Forum-Klasse gerne hinzufügen, dass erkannt wird ob der USer eingeloggt ist oder unregistriert..sorich nicht eingeloggt oder überhaupt kein Account.
So also ich habe eine User-Klasse in der der login überprüft wird:
---> Erklärung:
In dieser Klasse werden auch mit dem constructor registry-klassen geladen, wie z.b. die template- und mysql-klasse.
So in meine forum-klasse:
--->Erklärung:
So in dieser Methode wird ersteinmal überprüft ob man sich ausversehen in einem Oberforum befindet, denn dort darf man natürlich keine Threads erstellen.
Dann wird überprüft ob man einen Thread posten will oder ob man auf ein Thread antworten will.
Wenn man ein Thread erstellt wird ein Feld mit Topicangabe im addform angezeigt.
Wenn man antworten will wird das Topic des Threads mit einem hidden-Field übergeben und man kann kein neues Topic angeben.
So nun möchte ich diese Unterscheidung zwischen username mit hidden übergeben oder ein input field zum eintragen eines Namen so unterscheiden, dass eingeloggte User den Namen nicht mehr eingeben müssen, unregistrierte oder nicht eingeloggte User den Namen jedoch eingeben müssen.
So da ich ja mit einer registry-klasse wäre das ganze ja nicht schwer.
ABER: Ich habe ja in der User-Klasse bereits registry klassen verwendet, wie schaffe ich es nun dass die Forum-Klasse auch noch Methoden der User-Klasse verwenden kann?!
Also stehe super auf dem Schlauch...wäre nett wenn da ein paar Profis von euch nen Tipp wissen oder ob es da sogar Pattern gibt die so etwas bewerstelligen
Würde mich super über ne Hilfe freuen
MFG Niels
Ich möchte meiner Forum-Klasse gerne hinzufügen, dass erkannt wird ob der USer eingeloggt ist oder unregistriert..sorich nicht eingeloggt oder überhaupt kein Account.
So also ich habe eine User-Klasse in der der login überprüft wird:
PHP:
function checkuser($user_login, $user_id)
{
$query = $this->db->query("SELECT * FROM `user` WHERE login='".$user_login."' AND id='".$user_id."'");
if($this->db->num_rows($query) < 1)
{
return FALSE;
}
else
{
return TRUE;
}
}
In dieser Klasse werden auch mit dem constructor registry-klassen geladen, wie z.b. die template- und mysql-klasse.
So in meine forum-klasse:
PHP:
function addform($fid, $tid)
{
// Sicherstellen, dass kein Post in ein Hauptforum geschrieben wird....
$parfrid = $this->db->query("SELECT * FROM `forum_kats` WHERE id='".$fid."'");
$parfridget = $this->db->fetch_array($parfrid);
if($parfridget['ParentForumID'] == 0)
{
header ("Location: index.php?s=forum.php");
}
else
{
// Validierung der Daten
// Neuer Thread oder nur eine Antwort?!
if(empty($tid))
{
$this->add_link = "&fid=".$fid;
$topic = "<input type=\"text\" name=\"topic\" class=\"form\">";
}
else
{
$this->add_link = "&fid=".$fid."&tid=".$tid;
// Topicname auslesen
$gettopic = $this->db->query("SELECT `topic` FROM `forum_thr` WHERE id='".$tid."' AND fid='".$fid."'");
$topicget = $this->db->fetch_assoc($gettopic);
$topic = $topicget['topic']."<input type=\"hidden\" name=\"topic\" value=\"AW: ".$topicget['topic']."\" class=\"form\">";
}
// Eingeloggter User oder unregistriert?!
return $this->tpl->showtpl("forum/addform", array("fid" => $fid,
"tid" => $tid,
"topic" => $topic,
"add_link" => $this->add_link));
}
}
So in dieser Methode wird ersteinmal überprüft ob man sich ausversehen in einem Oberforum befindet, denn dort darf man natürlich keine Threads erstellen.
Dann wird überprüft ob man einen Thread posten will oder ob man auf ein Thread antworten will.
Wenn man ein Thread erstellt wird ein Feld mit Topicangabe im addform angezeigt.
Wenn man antworten will wird das Topic des Threads mit einem hidden-Field übergeben und man kann kein neues Topic angeben.
So nun möchte ich diese Unterscheidung zwischen username mit hidden übergeben oder ein input field zum eintragen eines Namen so unterscheiden, dass eingeloggte User den Namen nicht mehr eingeben müssen, unregistrierte oder nicht eingeloggte User den Namen jedoch eingeben müssen.
So da ich ja mit einer registry-klasse wäre das ganze ja nicht schwer.
ABER: Ich habe ja in der User-Klasse bereits registry klassen verwendet, wie schaffe ich es nun dass die Forum-Klasse auch noch Methoden der User-Klasse verwenden kann?!
Also stehe super auf dem Schlauch...wäre nett wenn da ein paar Profis von euch nen Tipp wissen oder ob es da sogar Pattern gibt die so etwas bewerstelligen
Würde mich super über ne Hilfe freuen
MFG Niels