Seite 3 von 4

Re: Modul: Forum

Verfasst: Sa 3. Jul 2010, 10:55
von bipi
Wie könnte ich es noch schreiben?

Re: Modul: Forum

Verfasst: Mi 7. Jul 2010, 22:17
von bipi
Niemand eine Idee?

Re: Modul: Forum

Verfasst: Fr 3. Sep 2010, 19:17
von bipi
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.

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">&nbsp;</td>
        <td class="forum-header"><input type="checkbox" value="1" name="sticky" />&nbsp;'.mi18n("Thread pinnen").'</td>
        </tr>';
            echo '<tr>
            <td class="forum-header">&nbsp;</td>
            <td class="forum-header"><input type="checkbox" value="true" name="locked" />&nbsp;'.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&uuml;ck").'</a>';
    } elseif ($_POST['post_message']=="") {
        echo mi18n("Der Thread hat keinen Text.");
        echo '<br/><a href="javascript:history.back()" target="_self">'.mi18n("zur&uuml;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").'&nbsp;'.$quoteAuthor.'&nbsp;'.mi18n("vom").'&nbsp;'.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">&nbsp;</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&uuml;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:").'&nbsp;'.$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">&nbsp;</td>
        <td class="forum-header"><input type="checkbox" value="1" name="del_post" />&nbsp;'.mi18n("Post l&ouml;schen").'</td>
        </tr>';
    }
   // if ($row0==0) {
   //    if ($row0==0 && $settings[delete_post]=="true") {
     //   echo '<tr>
       // <td class="forum-header">&nbsp;</td>
    //    <td class="forum-header"><input type="checkbox" value="1" name="del_threads" />&nbsp;'.mi18n("Ganzen Thread l&ouml;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">&nbsp;</td>
            <td class="forum-header"><input type="checkbox" value="1" name="sticky"'.$chkSticky.' />&nbsp;'.mi18n("Thread pinnen").'</td>
            </tr>';
            echo '<tr>
            <td class="forum-header">&nbsp;</td>
            <td class="forum-header"><input type="checkbox" value="true" name="locked"'.$chkLocked.' />&nbsp;'.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&ouml;scht.").'<br/><br/><a href="'.$phpSelf.'" target="_self">'.mi18n("zum &Uuml;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&ouml;scht.").'<br/><br/><a href="'.$phpSelf.'" target="_self">'.mi18n("zum &Uuml;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&uuml;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:").'&nbsp;'.$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("&Uuml;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 '&nbsp;';
    }
    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").'&nbsp;'.date($settings[dateformat],strtotime($arr1[post_edittime])).'&nbsp;'.mi18n("von").'&nbsp;'.$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 '&nbsp;';
    }
    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("&Uuml;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("&Uuml;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 '&nbsp;'; }
    echo '</td></tr><tr><td style="height:3px">&nbsp;</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 '&nbsp;';
            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.'&nbsp;<a href="'.$phpSelf.$modRewriteFiller.'thread_id='.$lastpost[thread_id].'&show=last#'.$lastpost[post_id].'"><img src="images/arrows.gif" border="0" alt="&raquo;"></a>&nbsp;<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 '&nbsp;'; }
    echo '</td></tr><tr><td colspan="5" style="height:3px;"></td></tr>';
    echo '<tr><td colspan="3"><a href="'.$phpSelf.'">'.mi18n("&Uuml;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.'&nbsp;<a href="'.$phpSelf.$modRewriteFiller.'thread_id='.$lastpost[thread_id].'&show=last#'.$lastpost[post_id].'"><img src="images/arrows.gif" border="0" alt="&raquo;"></a>&nbsp;<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(""", "'", "&#92;", """, "'", "<", ">");
    $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")."&nbsp;".$cur_page."&nbsp;".mi18n("von")."&nbsp;".$pg_cnt_abs."&nbsp;&nbsp;&nbsp;&nbsp;</span>";
        if($idx_back >= 0) {
            $res.="<a class='small' href='".$link."0'>&laquo;</a>&nbsp;";

            $res.="<a class='small' href='".$link.bcsub($start,$count,0)."'>&lsaquo;</a>&nbsp;";
        }
        $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>&nbsp;</span>";
                }else{

                    $res.="<a class='small' href='".$link.$offset_page."'><b>$thisSite</b></a>&nbsp;";
                }
            }
        } 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>&nbsp;</span>";
                }else{
                    $res.="<a class='small' href='".$link.$offset_page."'><b>$i</b></a>&nbsp;";
                }
            }
        }
        if($idx_next < $total) {
            $res.="<a class='small' href='".$link.bcadd($start,$count,0)."'>&rsaquo;</a>&nbsp;";
            $res.="<a class='small' href='".$link.$offset_page."'>&raquo;</a>&nbsp;";
        }
    }
    return $res;
}
?>
vielen vielen Dank

Re: Modul: Forum

Verfasst: So 5. Sep 2010, 07:27
von bipi
welche funktion ist zuständig fürs speichern?

Re: Modul: Forum

Verfasst: Mo 6. Sep 2010, 06:19
von bipi
Niemand eine Idee?

Re: Modul: Forum

Verfasst: Mo 6. Sep 2010, 09:36
von i-fekt
^_^

Re: Modul: Forum

Verfasst: Mo 6. Sep 2010, 18:00
von bipi
Da i-fekt seine Idee nicht preis gibt, ersuche ich jemand anderen mir einen kleinen gedanklichen Anstoß zu geben.
vielen lieben Dank

Re: Modul: Forum

Verfasst: Do 9. Sep 2010, 07:02
von bipi
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

Verfasst: Sa 11. Sep 2010, 16:58
von bipi
wenn ich wüßte wo ich ansetzen soll, bitte bitte bitte

Re: Modul: Forum

Verfasst: Di 14. Sep 2010, 11:52
von Dinkel
sorry, ich hab auch keine konkrete Idee

Re: Modul: Forum

Verfasst: Sa 2. Okt 2010, 09:40
von booker
Hi,
Gibt es eigentlich eine möglichkeit die Volltextsuche dazu zu bringen auch forenbeiträge zu durchsuchen ?
THX
dennis

Re: Modul: Forum

Verfasst: Sa 2. Okt 2010, 13:23
von i-fekt
^_^

Re: Modul: Forum

Verfasst: Sa 2. Okt 2010, 20:40
von booker
Hi,

Danke für die Info, könntest du mir sagen was genau zu machen ist?
THX
Booker

Re: Modul: Forum

Verfasst: So 31. Okt 2010, 19:22
von Thi_Sch
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.

Re: Modul: Forum

Verfasst: Mo 1. Aug 2011, 08:50
von 20082009
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