Modul: Forum
Re: Modul: Forum
Wie könnte ich es noch schreiben?
Re: Modul: Forum
Niemand eine Idee?
Re: Modul: Forum
Ich verwende das Forum Modul und es läuft super soweit, ich möchte es gerne ein wenig erweitern und zwar dass alle FE-Users eine Email bekommen wenn jemand einen Thread schreibt.
ich poste mal den Code und hoffe es kann mir jemand dabei helfen.
vielen vielen Dank
ich poste mal den Code und hoffe es kann mir jemand dabei helfen.
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Forum Anzeige
* Version : 0.9
* Created : 17.09.2009
* Author : Andreas Dinkelacker
* Copyright : Andreas Dinkelacker
************************************************/
$username=$auth->auth['uname'];
$userid=$auth->auth['uid'];
$settings=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_settings"));
if ($settings[allow_guest_post]=="true" || $username!="nobody" || $userid!="nobody") $allowPost="true";
$catSitenav=$settings[cat_sitenav];
$threadSitenav=$settings[thread_sitenav];
$postSitenav=$settings[post_sitenav];
echo '<script language="javascript" type="text/javascript" src="'.$cfg['path']['wysiwyg_html'].'jscripts/tiny_mce/tiny_mce.js"></script>
<link rel="stylesheet" href="css/forum.css" type="text/css" media="all" />
<script language="javascript" type="text/javascript">
tinyMCE.init({
mode : "exact",
elements: "post_message",
language : "de",
width : "'.$settings[tinymce_width].'",
height : "'.$settings[tinymce_height].'",
theme : "advanced",
force_br_newlines : "true",
forced_root_block : "",
force_p_newlines : "false",
plugins : "safari,table,save,advhr,advimage,advlink,pagebreak,style,layer,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups",
theme_advanced_buttons1 : "'.$settings[tinymce1].'",
theme_advanced_buttons2 : "'.$settings[tinymce2].'",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_align : "left",
theme_advanced_toolbar_location : "top",
valid_elements : "*[*]",
extended_valid_elements : "*[*]",
content_css : "css/forum.css",
verify_css_classes : "false"
});
</script>';
// Check if mod_rewrite may be active
if (substr_count($_SERVER[REQUEST_URI],"front_content.php")==0) {
$modRewrite=1;
$modRewriteFiller="?";
$phpSelf=str_replace("?".$_SERVER[QUERY_STRING],"",$_SERVER[REQUEST_URI]);
} else {
$modRewrite=0;
$modRewriteFiller="&";
$idcat=strip_tags($_GET[idcat]);
$idart=strip_tags($_GET[idart]);
$idcatart=strip_tags($_GET[idcatart]);
if ($idcat!="" && $idcat!=0) {
$artCat='idcat='.$idcat;
} elseif ($idart!="" && $idart!=0) {
$artCat='idart='.$idart;
} elseif ($idcatart!="" && $idcatart!=0) {
$artCat='idcatart='.$idcatart;
}
$phpSelf=$_SERVER[PHP_SELF].'?'.$artCat;
}
if (isset($_POST['new_thread'])) {
$forum_id=strip_tags($_POST[forum_id]);
// Neuen Thread schreiben
echo '<form name=post" action="" method="post">';
echo '<table cellspacing="0" cellpadding="0" class="forum-catTable" style="width;:'.$settings[forum_width].'px;">
<tr>
<td colspan="2" class="forum-header"><b>'.mi18n("Neuen Thread verfassen").'</b></td>
</tr>
<tr>
<td width="75">Titel</td>
<td><input type="text" name="post_subject" maxlength="255" style="width:200px;" /></td>
</tr>
<tr>
<td class="forum-header" valign="top">'.mi18n("Text").'</td>
<td class="forum-header"><textarea style="word-break:break-all;" rows="20" cols="45" name="post_message"></textarea></td>
</tr>';
$modArr=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_forums WHERE forum_id='".$forum_id."'"));
$treffer_mod = substr_count($modArr['forum_mods'], $userid);
if (substr_count($modArr['forum_mods'], $userid)!=0) {
$modIDs=$userid;
}
if (substr_count($settings['forum_admins'], $userid)!=0) {
$adminIDs=$userid;
}
if ($modIDs==$userid || $adminIDs==$userid) {
echo '<tr>
<td class="forum-header"> </td>
<td class="forum-header"><input type="checkbox" value="1" name="sticky" /> '.mi18n("Thread pinnen").'</td>
</tr>';
echo '<tr>
<td class="forum-header"> </td>
<td class="forum-header"><input type="checkbox" value="true" name="locked" /> '.mi18n("Thread sperren").'</td>
</tr>';
}
echo '<tr>
<td colspan="2" align="center"><input type="hidden" value="'.$forum_id.'" name="forum_id" /><input type="submit" value="'.mi18n("Speichern").'" class="forum-button" name="save_new_thread" /></td>
</tr>
</table></form>';
} elseif (isset($_POST['save_new_thread'])) {
if ($_POST['post_subject']=="") {
echo mi18n("Der Thread hat keinen Betreff.");
echo '<br/><a href="javascript:history.back()" target="_self">'.mi18n("zurück").'</a>';
} elseif ($_POST['post_message']=="") {
echo mi18n("Der Thread hat keinen Text.");
echo '<br/><a href="javascript:history.back()" target="_self">'.mi18n("zurück").'</a>';
} else {
$forum_id=strip_tags($_POST[forum_id]);
$post_subject=$_POST['post_subject'];
$post_text=str_replace("<a href","<a target=\"_blank\" href",$_POST['post_message']);
$post_author=$userid;
$post_time=date('Y-m-d H:i:s');
$isSticky=strip_tags($_POST[sticky]);
if ($isSticky!="1") $isSticky="0";
$isLocked=strip_tags($_POST[locked]);
if ($isLocked!="true") $isLocked="false";
$qry=mysql_query("INSERT INTO ".$cfg['sql']['sqlprefix']."_forum_threads VALUES ('', '".$forum_id."', '0', '".$isLocked."', '".$isSticky."', '', '', '".$post_time."')");
$thread_id=mysql_insert_id();
$qry=mysql_query("INSERT INTO ".$cfg['sql']['sqlprefix']."_forum_posts VALUES ('', '".$thread_id."', '".$_POST['forum_id']."', '".$post_subject."', '".$post_text."', '".$post_author."', '".$post_time."', '', '', '')");
$post_id=mysql_insert_id();
$qry=mysql_query("UPDATE ".$cfg['sql']['sqlprefix']."_forum_threads SET thread_firstpost='".$post_id."' WHERE thread_id='".$thread_id."'");
header('Location: '.$phpSelf.$modRewriteFiller.'thread_id='.$thread_id);
}
} elseif (isset($_POST['new_post']) || isset($_POST['quote_post'])) {
$post_id=strip_tags($_POST[post_id]);
// Post-Antwort schreiben
echo '<form name=post" action="" method="post">';
echo '<table cellspacing="0" cellpadding="0" style="width:'.$settings[forum_width].'px;">
<tr>
<td class="forum-header" colspan="2"><b>'.mi18n("Post-Antwort schreiben").'</b></td>
</tr>
<tr>
<td width="75">'.mi18n("Titel").'</td>
<td><input type="text" name="post_subject" value="" maxlength="255" style="width:200px;" /></td>
</tr>
<tr><td valign="top" class="forum-header">'.mi18n("Text").'</td>';
// quote post?
if (isset($_POST[quote_post])) {
$arrGetThreadId=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE post_id='".$post_id."'"));
$thread_id=$arrGetThreadId[thread_id];
$quoteArr=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE post_id='".$post_id."'"));
$postMessage=$quoteArr[post_message];
$postMessage=str_replace('class="forum-quote4"','class="forum-quote5"',$postMessage);
$postMessage=str_replace('class="forum-quote3"','class="forum-quote4"',$postMessage);
$postMessage=str_replace('class="forum-quote2"','class="forum-quote3"',$postMessage);
$postMessage=str_replace('class="forum-quote1"','class="forum-quote2"',$postMessage);
$quoteAuthorArr=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_frontendusers WHERE idfrontenduser='".$quoteArr[post_author]."'"));
$quoteAuthor=$quoteAuthorArr[username];
$quoteText='<br/><center><div class="forum-quote1"><b>'.mi18n("Zitat von").' '.$quoteAuthor.' '.mi18n("vom").' '.date($settings[dateformat],strtotime($quoteArr[post_time])).':</b><br/>'.$postMessage.'</div></center><br/>';
echo '<td class="forum-header">'.$quoteText.'<input type="hidden" value="'.urlencode($quoteText).'" name="quoteText" /></td></tr>';
echo '<tr><td class="forum-header"> </td>';
}
echo '<td><textarea style="word-break:break-all;" rows="20" cols="45" name="post_message"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="hidden" value="'.$thread_id.'" name="thread_id" /><input type="submit" value="'.mi18n("Speichern").'" class="forum-button" name="save_new_post" /></td>
</tr>
</table></form>';
} elseif (isset($_POST['save_new_post'])) {
if ($_POST['post_message']=="") {
echo mi18n("Bitte einen Text eingeben.");
echo '<br/><a href="javascript:history.back()" target="_self">'.mi18n("zurück").'</a>';
} else {
$thread_id=strip_tags($_POST[thread_id]);
$arr1=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE thread_id='".$thread_id."'"));
$postArr=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE post_id='".$arr1[thread_firstpost]."'"));
if ($post_subject=="") {
$post_subject=mi18n("RE:").' '.$postArr[post_subject];
} else {
$post_subject=$_POST['post_subject'];
}
$post_message=str_replace("target=\"_self\"","target=\"_blank\"",str_replace("<a href","<a target=\"_blank\" href",$_POST['post_message']));
if ($_POST[quoteText]!="") $post_message=urldecode($_POST[quoteText]).$post_message;
$post_author=$userid;
$post_time=date('Y-m-d H:i:s');
$qry=mysql_query("INSERT INTO ".$cfg['sql']['sqlprefix']."_forum_posts VALUES ('', '$arr1[thread_id]', '$arr1[forum_id]', '$post_subject', '$post_message', '$post_author', '$post_time', '', '', '')");
$post_id=mysql_insert_id();
$qry=mysql_query("UPDATE ".$cfg['sql']['sqlprefix']."_forum_threads SET thread_lastpost_time='".$post_time."' WHERE thread_id='".$arr1[thread_id]."'");
//echo mi18n("Der Post wurde gespeichert.");
header("Location: ".$phpSelf.$modRewriteFiller."thread_id=".$thread_id."&post_id=".$post_id."&show=last#".$post_id);
}
} elseif (isset($_POST['edit_post'])) {
// Post editieren
$post_id=strip_tags($_POST[post_id]);
$arr1 = mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE post_id='".$post_id."'"));
echo '<form name=post" action="" method="post">';
echo '<table cellspacing="0" cellpadding="0" class="forum-catTable" style="width:'.$settings[forum_width].'px;">
<tr>
<td class="forum-header" colspan="2"><b>'.mi18n("Post bearbeiten").'</b></td>
</tr>
<tr>
<td width="75">'.mi18n("Titel").'</td>
<td><input type="text" name="post_subject" value="'.$arr1[post_subject].'" maxlength="255" style="width:200px;" /></td>
</tr>
<tr>
<td class="forum-header" valign="top">'.mi18n("Text").'</td>
<td class="forum-header"><textarea name="post_message" style="word-break:break-all;" rows="20" cols="45">'.$arr1[post_message].'</textarea></td>
</tr>';
$row1=mysql_num_rows(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE thread_firstpost='".$post_id."'"));
if ($row1==0 && $settings[delete_post]=="true") {
echo '<tr>
<td class="forum-header"> </td>
<td class="forum-header"><input type="checkbox" value="1" name="del_post" /> '.mi18n("Post löschen").'</td>
</tr>';
}
// if ($row0==0) {
// if ($row0==0 && $settings[delete_post]=="true") {
// echo '<tr>
// <td class="forum-header"> </td>
// <td class="forum-header"><input type="checkbox" value="1" name="del_threads" /> '.mi18n("Ganzen Thread löschen").'</td>
// </tr>';
// }
$rowThread=mysql_num_rows(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE thread_firstpost='".$arr1[post_id]."'"));
if ($rowThread==1) {
$modArr=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_forums WHERE forum_id='".$arr1[forum_id]."'"));
$treffer_mod = substr_count($modArr['forum_mods'], $userid);
if (substr_count($modArr['forum_mods'], $userid)!=0) {
$modIDs=$userid;
}
if (substr_count($settings['forum_admins'], $userid)!=0) {
$adminIDs=$userid;
}
$arrThread=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE thread_firstpost='".$arr1[post_id]."'"));
if ($arrThread[thread_locked]=="true") $chkLocked=" checked";
if ($arrThread[thread_sticky]=="1") $chkSticky=" checked";
if ($modIDs==$userid || $adminIDs==$userid) {
echo '<tr>
<td class="forum-header"> </td>
<td class="forum-header"><input type="checkbox" value="1" name="sticky"'.$chkSticky.' /> '.mi18n("Thread pinnen").'</td>
</tr>';
echo '<tr>
<td class="forum-header"> </td>
<td class="forum-header"><input type="checkbox" value="true" name="locked"'.$chkLocked.' /> '.mi18n("Thread sperren").'</td>
</tr>';
}
}
echo '<tr>
<td colspan="2" align="center"><input type="hidden" value="'.$_POST[post_id].'" name="post_id" /><input type="submit" value="'.mi18n("Speichern").'" class="forum-button" name="save_edit_post" /></td>
</tr>
</table></form>';
} elseif (isset($_POST['save_edit_post'])) {
if ($_POST['del_post']==1) {
$qry=mysql_query("DELETE FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE post_id='$_POST[post_id]'");
echo mi18n("Der Post wurde erfolgreich gelöscht.").'<br/><br/><a href="'.$phpSelf.'" target="_self">'.mi18n("zum Übersicht").'</a>';
} else if ($_POST['del_threads']==1) {
$qry=mysql_query("DELETE FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE thread_id='".$_POST[thread_id]."'");
// $qry=mysql_query("DELETE FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE thread_id='$_POST[thread_id]'");
echo mi18n("Der Beitrag wurde erfolgreich gelöscht.").'<br/><br/><a href="'.$phpSelf.'" target="_self">'.mi18n("zum Übersicht").'</a>';
} else {
$postId=$_POST['post_id'];
$isSticky="0";
if (strip_tags($_POST[sticky])=="1") $isSticky="1";
$isLocked="false";
if (strip_tags($_POST[locked])=="true") $isLocked="true";
$qry1=mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE thread_firstpost='".$post_id."'");
$qry2=mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE post_id='".$post_id."'");
$arr22=mysql_fetch_assoc($qry2);
$row1=mysql_num_rows($qry1);
if ($_POST['post_subject']=="" && $row1==1) {
echo mi18n("Dieser Post muss einen Betreff haben, da es der erste in einem Thread ist.");
} elseif ($_POST['post_message']=="") {
echo mi18n("Der Post hat keinen Text.");
echo '<br/><a href="javascript:history.back()" target="_self">'.mi18n("zurück").'</a>';
} else {
$postArr=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE post_id='".$post_id."'"));
if ($post_subject=="") {
$post_subject=mi18n("RE:").' '.$postArr[post_subject];
} else {
$post_subject=$_POST['post_subject'];
}
$post_text=str_replace("<a href","<a target=\"_blank\" href",$_POST['post_message']);
$edit_user=$userid;
$qry=mysql_query("UPDATE ".$cfg['sql']['sqlprefix']."_forum_posts SET post_subject='$post_subject', post_message='$post_text', post_edittime='".date('Y-m-d H:i:s')."', post_edituser='$edit_user' WHERE post_id='".$postId."'");
$arr1=mysql_fetch_assoc($qry1);
if ($arr1[thread_firstpost]==$post_id) $qry=mysql_query("UPDATE ".$cfg['sql']['sqlprefix']."_forum_threads SET thread_sticky='".$isSticky."', thread_locked='".$isLocked."' WHERE thread_id='".$postArr[thread_id]."'");
header('Location: '.$phpSelf.$modRewriteFiller.'thread_id='.$arr22[thread_id]);
}
}
} elseif (isset($_POST['open_thread']) || ($_GET['post_id']!="" || $_GET['thread_id']!="")) {
if ($_GET['post_id']!="" && $_GET['post_id']!="0") {
$post_id=addslashes($_GET[post_id]);
$arr=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE post_id='$post_id'"));
$thread_id=$arr[thread_id];
} elseif ($_GET['thread_id']!="" && $_GET['thread_id']!=0) {
$thread_id=addslashes($_GET['thread_id']);
} else {
$thread_id=$_POST['thread_id'];
}
// Posts im Thread anzeigen
if (!$show || !$_GET[show]) $show=0;
$rowsNavi=mysql_num_rows(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE thread_id='".$thread_id."' ORDER BY post_time"));
if ($postSitenav==0) $postSitenav=$rowsNavi;
if (strip_tags($_GET[show])=="last") $show=(ceil($rowsNavi/$postSitenav)-1)*$postSitenav;
if ($rowsNavi>$postSitenav) {
$show2 = ceil($rowsNavi/$postSitenav);
$show2 = "&show=".(($show2-1)*$postSitenav);
} else {
$show2 = "";
}
$qry1 = mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE thread_id='".$thread_id."' ORDER BY post_time LIMIT ".$show.",".$postSitenav);
$arr11 = mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE thread_id='".$thread_id."'"));
$arr12 = mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_forums WHERE forum_id='".$arr11['forum_id']."'"));
$arr13=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE thread_id='".$thread_id."'"));
$arr14=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE post_id='".$arr13['thread_firstpost']."'"));
$modpool=$arr12['forum_mods'];;
$treffer_mod = substr_count($modpool, $userid);
if ($treffer_mod!=0) $modIDs=$userid;
echo '<table cellspacing="0" cellpadding="0" class="forum-catTable" style="border:0px;width:'.$settings[forum_width].'px;">';
echo '<tr><td colspan="2"><a href="'.$phpSelf.'">'.mi18n("Übersicht").'</a> > <a href="'.$phpSelf.$modRewriteFiller.'forum_id='.$arr12[forum_id].'">'.$arr12[forum_name].'</a> > '.$arr14[post_subject].'</td>
<td align="right" colspan="2"><br/>';
echo makeNavi($show,$postSitenav,$rowsNavi,ceil($rowsNavi/$postSitenav),$phpSelf.$modRewriteFiller."thread_id=".$thread_id);
echo '<br/><br/></td></tr>';
echo '<tr><td colspan="4" align="right">';
if ($allowPost=="true") echo '<form action="" method="post" margin="0"><input type="hidden" value="'.$thread_id.'" name="thread_id" /><input type="hidden" value="'.$arr12[forum_id].'" name="forum_id" />';
if ($arr13[thread_locked]!="true") {
echo '<input type="submit" name="new_post" class="forum-button" value="'.mi18n("Antworten").'" />';
} else {
echo ' ';
}
echo '<input type="submit" name="new_thread" class="forum-button" value="'.mi18n("Neuer Thread").'" /></form>';
echo '</td></tr>';
echo '</tr><tr><td colspan="4" style="height:3px;"></td></tr>';
while ($arr1=mysql_fetch_assoc($qry1)) {
$thisAuthorArr=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_frontendusers WHERE idfrontenduser='".$arr1[post_author]."'"));
$thisAuthor=$thisAuthorArr[username];
echo '<tr>
<td class="forum-header" width="10%"><a name="'.$arr1[post_id].'"></a>'.mi18n("Autor:").'<br/>'.$thisAuthor.'</td>
<td class="forum-header" width="75%" style="padding-left:2px;"><b><a href="'.$phpSelf.$modRewriteFiller.'thread_id='.$arr1[thread_id].'&show='.$show.'#'.$arr1[post_id].'" target="_self">'.$arr1[post_subject].'</a></b><br/>'.date($settings[dateformat],strtotime($arr1[post_time])).'</td>
<td class="forum-header" width="15%" colspan="2" align="right"><form margin="0" action="" method="post"><input type="hidden" value="'.$arr1[post_id].'" name="post_id" />';
if (($userid==$arr1['post_author'] || $userid==$adminIDs || $userid==$modIDs) && $allowPost=="true") echo '<input type="submit" class="forum-button" name="edit_post" value="'.mi18n("editieren").'" />';
if ($allowPost=="true") echo '<input type="submit" class="forum-button" name="quote_post" value="'.mi18n("zitieren").'" />';
echo '</form></td>
</tr>
<tr>
<td colspan="4" class="forum-postContent">'.nl2br($arr1[post_message]).'</td>';
if ($arr1['post_edituser']!="" && $arr1['post_edittime']!=0) echo '<tr><td colspan="4" style="border:1px solid #eee;border-top:0px;" align="right"><small><i>'.mi18n("zuletzt editiert am").' '.date($settings[dateformat],strtotime($arr1[post_edittime])).' '.mi18n("von").' '.$arr1[post_edituser].'</i></small></td>';
echo '</tr><tr><td colspan="4" style="height:3px;"></td></tr>';
}
echo '<tr><td colspan="4" align="right">';
if ($allowPost=="true") echo '<form action="" method="post" margin="0"><input type="hidden" value="'.$thread_id.'" name="thread_id" /><input type="hidden" value="'.$arr12[forum_id].'" name="forum_id" />';
if ($arr13[thread_locked]!="true") {
echo '<input type="submit" name="new_post" class="forum-button" value="'.mi18n("Antworten").'" />';
} else {
echo ' ';
}
echo '<input type="submit" name="new_thread" class="forum-button" value="'.mi18n("Neuer Thread").'" /></form>';
echo '</td></tr>
<tr><td colspan="2"><a href="'.$phpSelf.'">'.mi18n("Übersicht").'</a> > <a href="'.$phpSelf.$modRewriteFiller.'forum_id='.$arr12[forum_id].'">'.$arr12[forum_name].'</a> > '.$arr14[post_subject].'</td>
<td colspan="2" align="right"><br/><br/>';
echo makeNavi($show,$postSitenav,$rowsNavi,ceil($rowsNavi/$postSitenav),$phpSelf.$modRewriteFiller."thread_id=".$thread_id);
echo '</td></tr>';
echo '</table></form>';
} elseif (isset($_POST['open_forum']) || ($_GET['forum_id']!="" || $_GET['forum_id']!=0)) {
// Threads im Forum anzeigen
if ($_GET['forum_id']!="" && $_GET['forum_id']!=0) {
$forum_id=strip_tags($_GET['forum_id']);
} else {
$forum_id=$_POST['forum_id'];
}
if (!$show || !$_GET[show]) $show=0;
$rowsNavi=mysql_num_rows(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE forum_id='".$forum_id."' ORDER BY thread_lastpost_time DESC"));
if ($threadSitenav==0) $threadSitenav=$rowsNavi;
if (strip_tags($_GET[show])=="last") $show=(ceil($rowsNavi/$threadSitenav)-1)*$threadSitenav;
if ($rowsNavi>$threadSitenav) {
$show2 = ceil($rowsNavi/$threadSitenav);
$show2 = "&show=".(($show2-1)*$threadSitenav);
} else {
$show2 = "";
}
$qry1=mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE forum_id='".$forum_id."' ORDER BY thread_sticky DESC,thread_lastpost_time DESC LIMIT ".$show.",".$threadSitenav);
$qryThreads=mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE forum_id='".$forum_id."' ORDER BY thread_lastpost_time DESC");
$arr12=mysql_fetch_assoc($qryThreads);
$arr13=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_forums WHERE forum_id='".$forum_id."'"));
echo '<table style="width:'.$settings[forum_width].'px;" cellspacing="0" cellpadding="0">';
echo '<tr><td colspan="3"><a href="'.$phpSelf.'">'.mi18n("Übersicht").'</a> > '.$arr13[forum_name].'</td>
<td colspan="2" align="right"><br/>';
echo makeNavi($show,$threadSitenav,$rowsNavi,ceil($rowsNavi/$threadSitenav),$phpSelf.$modRewriteFiller."forum_id=".$forum_id);
echo '<br/><br/></td></tr>';
echo '<tr><td colspan="5" align="right">';
if ($allowPost=="true") { echo '<form action="" method="post" margin="0"><input type="hidden" value="'.$forum_id.'" name="forum_id" /><input type="submit" name="new_thread" class="forum-button" value="'.mi18n("Neuer Thread").'" /></form>'; } else { echo ' '; }
echo '</td></tr><tr><td style="height:3px"> </tr>';
echo '<tr>
<td class="forum-table-header-1" width="50%" colspan="2">'.mi18n("Thread").'</td>
<td class="forum-table-header-2" width="10%">'.mi18n("Posts").'</td>
<td class="forum-table-header-3" width="15%">'.mi18n("erstellt von").'</td>
<td class="forum-table-header-4" width="25%" align="center">'.mi18n("neuster Post").'</td>
</tr>';
$i=0;
while ($arr1=mysql_fetch_assoc($qry1)) {
$back="forum-threadLine1";
if ($i%2) $back="forum-threadLine2";
$posts=mysql_num_rows(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE thread_id='".$arr1[thread_id]."'"));
$lastpost=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE thread_id='".$arr1[thread_id]."' ORDER BY post_id DESC LIMIT 1"));
$arr11=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE thread_id='".$arr1['thread_id']."'"));
$arr12=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE thread_id='".$arr1['thread_id']."' AND post_id='".$arr11['thread_firstpost']."'"));
echo '<tr><td class="'.$back.'-1" width="20">';
if ($arr1[thread_sticky]=="1") echo '<img style="padding-right:3px;" src="images/but_warn.gif" alt="!" title="sticky" />';
if ($arr1[thread_sticky]=="0" && $arr1[thread_locked]=="false") echo ' ';
echo '</td><td class="'.$back.'-2" width="60%">';
if ($arr1[thread_locked]=="true") echo '<img style="padding-right:3px;" src="images/lock_closed.gif" alt="x" title="closed" />';
echo '<a href="'.$phpSelf.$modRewriteFiller.'thread_id='.$arr1[thread_id].'" target="_self">'.$arr12[post_subject].'</a>
</td>';
echo '<td class="'.$back.'-2">'.$posts.'</td>';
$thisAuthorArr=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_frontendusers WHERE idfrontenduser='".$arr12[post_author]."'"));
$thisAuthor=$thisAuthorArr[username];
echo '<td class="'.$back.'-3">'.$thisAuthor.'</td>';
$lastAuthorArr=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_frontendusers WHERE idfrontenduser='".$lastpost[post_author]."'"));
$lastAuthor=$lastAuthorArr[username];
echo '<td class="'.$back.'-4" width="25%" align="right" valign="top">'.$lastAuthor.' <a href="'.$phpSelf.$modRewriteFiller.'thread_id='.$lastpost[thread_id].'&show=last#'.$lastpost[post_id].'"><img src="images/arrows.gif" border="0" alt="»"></a> <br/>'.date($settings[dateformat],strtotime($lastpost[post_time])).'</td>';
echo '</tr>';
$i++;
}
echo '<tr><td colspan="5" align="right">';
if ($allowPost=="true") { echo '<form action="" method="post" margin="0"><input type="hidden" value="'.$forum_id.'" name="forum_id" /><input type="submit" name="new_thread" class="forum-button" value="'.mi18n("Neuer Thread").'" /></form>'; } else { echo ' '; }
echo '</td></tr><tr><td colspan="5" style="height:3px;"></td></tr>';
echo '<tr><td colspan="3"><a href="'.$phpSelf.'">'.mi18n("Übersicht").'</a> > '.$arr13[forum_name].'</td>
<td colspan="2" align="right">';
echo makeNavi($show,$threadSitenav,$rowsNavi,ceil($rowsNavi/$threadSitenav),$phpSelf.$modRewriteFiller."forum_id=".$forum_id);
echo '</td></tr></table>';
} else {
// Kategorien und Foren auflisten
if (!$show || !$_GET[show]) $show=0;
$rowsNavi=mysql_num_rows(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_cats"));
if ($catSitenav==0) $catSitenav=$rowsNavi;
if ($rowsNavi==0) {
mi18n("Noch keine Kategorien und Foren angelegt.");
die();
}
if (strip_tags($_GET[show])=="last") $show=(ceil($rowsNavi/$catSitenav)-1)*$catSitenav;
if ($rowsNavi>$catSitenav) {
$show2 = ceil($rowsNavi/$catSitenav);
$show2 = "&show=".(($show2-1)*$catSitenav);
} else {
$show2 = "";
}
echo '<div style="text-align:right;width:'.$settings[forum_width].'px;">'.makeNavi($show,$catSitenav,$rowsNavi,ceil($rowsNavi/$catSitenav),$phpSelf.$modRewriteFiller).'</div><br/>';
$qry=mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_cats LIMIT ".$show.",".$catSitenav);
while ($arr=mysql_fetch_assoc($qry)) {
$accessIDs="";
if ($arr['cat_access']!="") {
$treffer_access = substr_count($arr['cat_access'], $userid);
if ($treffer_access!=0) {
$accessIDs=$userid;
}
} else {
$accessIDs=$userid;
}
if ($accessIDs==$userid || $adminIDs==$userid) {
echo '<table class="forum-catTable" style="width:'.$settings[forum_width].'px;" cellspacing="0" cellpadding="0">';
echo '<tr>
<td colspan="4" class="forum-catHeader"><b>'.$arr[cat_name].'</b></td></tr>';
$qry1 = mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_forums WHERE cat_id='".$arr[cat_id]."' AND forum_status='1'");
echo '<tr>
<td class="forum-table-header" width="50%">'.mi18n("Forum").'</td>
<td class="forum-table-header" width="10%" align="center">'.mi18n("Threads").'</td>
<td class="forum-table-header" width="15%" align="center">'.mi18n("Posts").'</td>
<td class="forum-table-header" width="25%" align="right">'.mi18n("neuster Post").'</td>
</tr>';
$i=0;
while ($arr1=mysql_fetch_assoc($qry1)) {
$forumAccessIDs="";
$modIDs="";
if ($arr1['forum_access']!="") {
$forum_access = substr_count($arr1['forum_access'], $userid);
if ($forum_access!=0) {
$forumAccessIDs=$userid;
}
} else {
$forumAccessIDs=$userid;
}
$treffer_mod = substr_count($arr1['forum_mods'], $userid);
if ($treffer_mod!=0) {
$modIDs=$userid;
}
if ($forumAccessIDs==$userid || $adminIDs==$userid || $modIDs==$userid) {
$back="forum-catLine1";
if ($i%2) $back="forum-catLine2";
$threads=mysql_num_rows(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_threads WHERE forum_id='$arr1[forum_id]'"));
$posts=mysql_num_rows(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE forum_id='$arr1[forum_id]'"));
$lastpost=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_forum_posts WHERE forum_id='$arr1[forum_id]' ORDER BY post_id DESC LIMIT 1"));
$cut_val=strrpos($arr1[forum_mods], ', ');
echo '<tr>';
echo '<td class="'.$back.'"><form action="" method="post" margin="0">
<input type="hidden" value="'.$arr1[forum_id].'" name="forum_id" />
<a href="'.$phpSelf.$modRewriteFiller.'forum_id='.$arr1[forum_id].'" target="_self">'.$arr1[forum_name].'</a>
<br/><small>'.$arr1[forum_description].'</small>
</form></td>';
echo '<td class="'.$back.'" align="center">'.$threads.'</td>';
echo '<td class="'.$back.'" align="center">'.$posts.'</td>';
if ($threads==0 && $posts==0) {
echo '<td class="'.$back.'" align="right">'.mi18n("keine Posts").'</td>';
} else {
$thisAuthorArr=mysql_fetch_assoc(mysql_query("SELECT * FROM ".$cfg['sql']['sqlprefix']."_frontendusers WHERE idfrontenduser='".$lastpost[post_author]."'"));
$thisAuthor=$thisAuthorArr[username];
echo '<td class="'.$back.'" align="right" valign="top">'.$thisAuthor.' <a href="'.$phpSelf.$modRewriteFiller.'thread_id='.$lastpost[thread_id].'&show=last#'.$lastpost[post_id].'"><img src="images/arrows.gif" border="0" alt="»"></a> <br/>'.date($settings[dateformat],strtotime($lastpost[post_time])).'</td>';
}
echo '</tr>';
$i++;
}
}
echo '</table><div style="padding-top:5px;text-align:right;width:'.$settings[forum_width].'px;">';
echo makeNavi($show,$catSitenav,$rowsNavi,ceil($rowsNavi/$catSitenav),$phpSelf.$modRewriteFiller);
echo '</div>';
}
}
}
function cut($text, $length) {
$dec = array("\"", "'", "\\", '\"', "\'", "<", ">");
$enc = array(""", "'", "\", """, "'", "<", ">");
$text = str_replace($enc, $dec, $text);
$text = str_replace($dec, $enc, $text);
if (strlen($text) > $length) {
$text = substr($text, 0, ($length-3)."...");
}
return $text;
}
function makeNavi($start,$count,$total,$range,$link){
$link=$link.'&show=';
$res="";
$pg_cnt=ceil($total / $count);
$pg_cnt_abs=$pg_cnt;
$cur_page=ceil(($start + 1) / $count);
if ($start>0) {
$thisRange=$start;
} else {
$thisRange=$range;
}
if ($pg_cnt>10) {
if ($thisRange==$start) {
if ($start>bcdiv($total,2,0)) {
$middleRange=bcdiv(bcadd($thisRange,1,0),2,0);
} else {
$middleRange=$thisRange + 1;
}
} else {
$middleRange=bcdiv($thisRange,2,0);
}
$middleRangeSub=bcsub($middleRange,1,0);
$middleRangeSubSub=bcsub($middleRangeSub,1,0);
$middleRangeAdd=bcadd($middleRange,1,0);
$middleRangeAddAdd=bcadd($middleRangeAdd,1,0);
$lastRangeSub=bcsub($range,1,0);
$lastRangeSubSub=bcsub($lastRangeSub,1,0);
$pg_cnt_abs=$range;
// The first three sites
$validSites=array('1','2','3');
if ($cur_page==3 || $cur_page==4 || $cur_page==5) array_push($validSites,'4');
if ($cur_page==4 || $cur_page==5) array_push($validSites,'5');
if ($cur_page==5) array_push($validSites,'6');
array_push($validSites,'...');
if (!in_array($cur_page,$validSites) && $cur_page>5 && $cur_page<bcsub($pg_cnt,2,0)) array_push($validSites,bcsub($cur_page,1,0),$cur_page);
if ($cur_page>5 && $cur_page<bcsub($pg_cnt,3,0)) array_push($validSites,bcadd($cur_page,1,0));
if ($cur_page>5 && $cur_page<bcsub($pg_cnt,4,0)) array_push($validSites,'...');
if ($cur_page>5 && $cur_page>bcsub($pg_cnt,3,0) && $cur_page<bcsub($pg_cnt,1,0)) array_push($validSites,bcsub($cur_page,1,0));
// The last three sites
array_push($validSites,bcsub($pg_cnt,2,0),bcsub($pg_cnt,1,0),$pg_cnt);
}
if($pg_cnt > 1) {
$idx_back = $start - $count;
$idx_next = $start + $count;
$cur_page=ceil(($start + 1) / $count);
$res.="<span class='small'>".mi18n("Seite")." ".$cur_page." ".mi18n("von")." ".$pg_cnt_abs." </span>";
if($idx_back >= 0) {
$res.="<a class='small' href='".$link."0'>«</a> ";
$res.="<a class='small' href='".$link.bcsub($start,$count,0)."'>‹</a> ";
}
$idx_fst=max($cur_page - $range, 1);
$idx_lst=min($cur_page + $range, $pg_cnt);
if($range==0){
$idx_fst = 1;
$idx_lst=$pg_cnt;
}
if ($pg_cnt>10) {
foreach ($validSites as $thisSite) {
if ($thisSite!="...") $offset_page=($thisSite - 1) * $count;
if($thisSite==$cur_page || $thisSite=="..."){
$res.="<span class='small'><b>$thisSite</b> </span>";
}else{
$res.="<a class='small' href='".$link.$offset_page."'><b>$thisSite</b></a> ";
}
}
} else {
for($i=$idx_fst;$i<=$idx_lst;$i++){
$offset_page=($i - 1) * $count;
if($i==$cur_page){
$res.="<span class='small'><b>$i</b> </span>";
}else{
$res.="<a class='small' href='".$link.$offset_page."'><b>$i</b></a> ";
}
}
}
if($idx_next < $total) {
$res.="<a class='small' href='".$link.bcadd($start,$count,0)."'>›</a> ";
$res.="<a class='small' href='".$link.$offset_page."'>»</a> ";
}
}
return $res;
}
?>
Re: Modul: Forum
welche funktion ist zuständig fürs speichern?
Re: Modul: Forum
Niemand eine Idee?
Re: Modul: Forum
^_^
Zuletzt geändert von i-fekt am Do 21. Okt 2010, 12:15, insgesamt 1-mal geändert.
Gruss,
Michael
"Keep on riding this Bike!" (Jackson Mulham)
Michael
"Keep on riding this Bike!" (Jackson Mulham)
Re: Modul: Forum
Da i-fekt seine Idee nicht preis gibt, ersuche ich jemand anderen mir einen kleinen gedanklichen Anstoß zu geben.
vielen lieben Dank
vielen lieben Dank
Re: Modul: Forum
mir würde es schon genügen wenn bei jedem speichern an alle FE-user eine email geschickt wird mit der Info dass es einen neuen Beitrag gibt.
Re: Modul: Forum
wenn ich wüßte wo ich ansetzen soll, bitte bitte bitte
Re: Modul: Forum
sorry, ich hab auch keine konkrete Idee
selbstentwickelte Module:
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR
Re: Modul: Forum
Hi,
Gibt es eigentlich eine möglichkeit die Volltextsuche dazu zu bringen auch forenbeiträge zu durchsuchen ?
THX
dennis
Gibt es eigentlich eine möglichkeit die Volltextsuche dazu zu bringen auch forenbeiträge zu durchsuchen ?
THX
dennis
Re: Modul: Forum
^_^
Zuletzt geändert von i-fekt am Do 21. Okt 2010, 12:15, insgesamt 1-mal geändert.
Gruss,
Michael
"Keep on riding this Bike!" (Jackson Mulham)
Michael
"Keep on riding this Bike!" (Jackson Mulham)
Re: Modul: Forum
Hi,
Danke für die Info, könntest du mir sagen was genau zu machen ist?
THX
Booker
Danke für die Info, könntest du mir sagen was genau zu machen ist?
THX
Booker
Re: Modul: Forum
Hallo ZUsammen,
das Modul Forum ist eine prima Sache.
Habe aber folgendes Verhalten festgestellt:
FE-User #1 kann alles administrieren obwohl er im Admin-Bereich unter "Einstellungen"->Administratoren nicht ausgewählt ist, sondern nur FE-User #2 ausgewählt ist.
Ist das Verhalten so gewollt?
Falls es ein Bug ist, hat jemand bereits eine LÖsung, bevor ich mich auf die Suche mache?
Danke - und frohes Hacken.
das Modul Forum ist eine prima Sache.
Habe aber folgendes Verhalten festgestellt:
FE-User #1 kann alles administrieren obwohl er im Admin-Bereich unter "Einstellungen"->Administratoren nicht ausgewählt ist, sondern nur FE-User #2 ausgewählt ist.
Ist das Verhalten so gewollt?
Falls es ein Bug ist, hat jemand bereits eine LÖsung, bevor ich mich auf die Suche mache?
Danke - und frohes Hacken.
- Alles ist gut, jetzt ist es besser, es wäre noch besser wenn alles wieder gut wäre -
Thi_Sch
Thi_Sch
Re: Modul: Forum
Hallo,
ich habe das Modul in Contenido 4.8.12 im Einsatz.
Soweit alles gut. Danke.
Allerdings kann ich im Adminbereich die Einstellung "Dürfen Gäste posten" nicht auf "ja" stellen. Ich klicke das an, wenn ich dann abspeicher springt die Eingabe wieder auf "nein".
Wo kann da der Fehler liegen??
Beste Grüße
ich habe das Modul in Contenido 4.8.12 im Einsatz.
Soweit alles gut. Danke.
Allerdings kann ich im Adminbereich die Einstellung "Dürfen Gäste posten" nicht auf "ja" stellen. Ich klicke das an, wenn ich dann abspeicher springt die Eingabe wieder auf "nein".
Wo kann da der Fehler liegen??
Beste Grüße