Hi beisammen,
zu meinem Forum hab ich ein Navigationsscript gebastelt, dass aus einer id die Forumsstruktur ermittelt und dann die notwendige Navigation ausgibt. Leider hab ich das Gefühl, dass die Sache etwas zu ausladend geworden ist. Vielleicht hat der ein oder andere ne Idee wie man manchen geschickter anstellen kann.
Die notwendigen Variablen werden ermittelt:
Dann die aufgerufene Hauptfunktion:
Und hier noch die spezifischen Funktionen:
pnx
zu meinem Forum hab ich ein Navigationsscript gebastelt, dass aus einer id die Forumsstruktur ermittelt und dann die notwendige Navigation ausgibt. Leider hab ich das Gefühl, dass die Sache etwas zu ausladend geworden ist. Vielleicht hat der ein oder andere ne Idee wie man manchen geschickter anstellen kann.
Die notwendigen Variablen werden ermittelt:
PHP:
$site = $_GET['site'];
$site_split = split("/", $site);
$i = count($site_split)-1;
$file = substr($site_split[$i], 0, -4);
$id = $_GET['id'];
$fnav = doBSFNav($id,$file);
Dann die aufgerufene Hauptfunktion:
PHP:
function doBSFNav($id,$file)
{
//Filearrays definieren
$thread = array("thread","addpost");
$foren = array("foren","addthread");
$forum_s = array("forum_s");
$forum = array("forum");
if(in_array($file, $thread))
{
$fnav = doThreadNav($id);
//Daten in Navi Speichern
$fnav_all[3]['name'] = $fnav['name'];
$fnav_all[3]['id'] = $fnav['id'];
$id = $fnav['sqlid'];
$fnav = doForenNav($id);
//Daten in Navi Speichern
$fnav_all[2]['name'] = $fnav['name'];
$fnav_all[2]['id'] = $fnav['id'];
$id = $fnav['sqlid'];
$fnav = doForum_sNav($id);
//Daten in Navi Speichern
$fnav_all[1]['name'] = $fnav['name'];
$fnav_all[1]['id'] = $fnav['id'];
$id = $fnav['sqlid'];
$fnav = doForumNav();
//Daten in Navi Speichern
$fnav_all[0]['name'] = $fnav['name'];
$fnav_all[0]['id'] = $id;
}
elseif(in_array($file, $foren))
{
$fnav = doForenNav($id);
//Daten in Navi Speichern
$fnav_all[2]['name'] = $fnav['name'];
$fnav_all[2]['id'] = $fnav['id'];
$id = $fnav['sqlid'];
$fnav = doForum_sNav($id);
//Daten in Navi Speichern
$fnav_all[1]['name'] = $fnav['name'];
$fnav_all[1]['id'] = $fnav['id'];
$id = $fnav['sqlid'];
$fnav = doForumNav();
//Daten in Navi Speichern
$fnav_all[0]['name'] = $fnav['name'];
$fnav_all[0]['id'] = $id;
}
elseif(in_array($file, $forum_s))
{
$fnav = doForum_sNav($id);
//Daten in Navi Speichern
$fnav_all[1]['name'] = $fnav['name'];
$fnav_all[1]['id'] = $fnav['id'];
$id = $fnav['sqlid'];
$fnav = doForumNav();
//Daten in Navi Speichern
$fnav_all[0]['name'] = $fnav['name'];
$fnav_all[0]['id'] = $id;
}
elseif(in_array($file, $forum))
{
$fnav = doForumNav();
//Daten in Navi Speichern
$fnav_all[0]['name'] = $fnav['name'];
$fnav_all[0]['id'] = "0";
}
return $fnav_all;
}
Und hier noch die spezifischen Funktionen:
PHP:
function doThreadNav($id)
{
$tab_post = "bs_forum_post";
// Threadtitel
$query = "SELECT foren,titel FROM $tab_post
WHERE thread = '". $id ."' and isthread = '1'";
$result = mysql_query($query);
$thre_n = mysql_fetch_array($result);
// Einspeichern der Navi
$fnav['name'] = $thre_n['titel']; // Name der Nav
$fnav['id'] = $id; // ID der Nav
$fnav['sqlid'] = $thre_n['foren']; // ID zum weiteren auslesen
return $fnav;
}
function doForenNav($id)
{
$tab_ffor = "bs_forum_foren";
// Forenname
$query = "SELECT name,kategorie FROM $tab_ffor
WHERE id = '". $id ."'";
$result = mysql_query($query);
$ffor_n = mysql_fetch_array($result);
// Einspeichern der Navi
$fnav['name'] = $ffor_n['name']; // Name der Nav
$fnav['id'] = $id; // ID der Nav
$fnav['sqlid'] = $ffor_n['kategorie']; // ID zum weiteren auslesen
return $fnav;
}
function doForum_sNav($id)
{
$tab_fkat = "bs_forum_kategorie";
// Forum_s
$query = "SELECT name FROM $tab_fkat WHERE id = '". $id ."'";
$result = mysql_query($query);
$fkat_n = mysql_fetch_array($result);
// Einspeichern der Navi
$fnav['name'] = $fkat_n['name']; // Name der Nav
$fnav['id'] = $id; // ID der Nav
$fnav['sqlid'] = "1"; // ID zum weiteren auslesen
return $fnav;
}
function doForumNav()
{
// Einspeichern der Navi
$fnav['name'] = "Forumstartseite"; // Name der Nav
return $fnav;
}
pnx