ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » News in Kurzform darstellen

Geschlossen
  1. #1
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Gemeinde,

    folgende Anfrage: Ist es möglich ohne allzugroßem Aufwand die News so umzuschreiben und dann dazustellen, daß ein kleines Vorschaubild der Nachricht (die Nachricht ist mit Bild) angezeigt wird und der Anfang vom Text. Gleich nach dem kurzem Text dann der Button "weiterlesen".
    Die Sache mit dem "PREVIEWENDE" funktioniert aber da kann ich zum Weiterlesen nur die Überschrift anklicken und ich hätte gern den Anfang vom Text und dann den Button "weiterlesen".
    Ich verwende "Ilch1.1P" und habe "News Extended 1.4c für IlchClan 1.1I+" installiert.
    Vorschaubild muss nicht sein. Es reicht wenn das mit dem Text so geht.

    Als Beispiel wie es ungefähr aussehen soll, diese Seite hier:

    www.blinker.de/aktuell/fangmeldungen/index.php#.U2VhJVc2Xcf

    Ich hatte diese Anfrage schon einmal in der "Plauder Ecke" gestellt. Denke mal ist hier besser aufgehoben.

    MfG


    verwendete ilch Version: 1.1 P

    betroffene Homepage: fischerfreunde-haimhausen.de/index.php?news


    Zuletzt modifiziert von Revolution am 04.05.2014 - 20:06:40
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.634
    Beitragswertungen
    1193 Beitragspunkte
    Naja etwas Codeverständnis ist hier schon notwendig.

    Es müssten alle notwendigen Dateien (Admin/Frontend) und die Datenbank des Newsscript um zB. vorschaubild und vorschautext erweitert werden. Ist zwar nicht so schwer, aber etwas Arbeitsaufwand.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    ZitatZitat geschrieben von heinz2
    Die Sache mit dem "PREVIEWENDE" funktioniert aber da kann ich zum Weiterlesen nur die Überschrift anklicken...

    Das stimmt nicht ganz, in den News Extended sind Button enthalten. Und es gibt auch einen für "mehr lesen", diesen könntest Du umfunktionieren zu einem Link in Textform.
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Gemeinde,

    Danke für die Hinweise.
    Lassen wir das mit dem Vorschaubild mal weg.
    Aber wie und in welcher Datei muss ich Änderungen vornehmen um das Textfeld meinen Vorstellungen entsprechen darzustellen. Das mit dem "mehr lesen" habe ich zwar in templete/news.htm und in der contents/news/news.htm gefunden, weis aber nicht wie ich was ändern muss. Kann mir geholfen werden?

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Beides ist eigentlich einfach umzusetzten, man muss halt nur wissen wie und wo frech

    Mehr Lesen / Weiterlesen
    dazu einfach das template der News mit einem Editor öffnen, am besten einen Editor mit Syntax Highlight Funktion (z.b. Notepad++ oder PSpad beide Kostenlos). Die Datei ist dann unter include/templates/news/news.htm zu finden.

    In dieser Datei ist das Layout der Newsanscith definiert, hier suchst du nach dem ersten {text} Platzhalter.

    Unter diesem fügst du deinen Link Weiterlesen ein. (einfache Variante)
    <!--post read more-->
              <div class="post-read-more"> <a href="index.php?news-{id}" >Mehr lesen</a> </div>
    <!--.post read more-->

    Diesen Link kannst du dann per CSS ggf. noch anpassen, oder ihm noch ein title oder alt Element mitgeben.
    Damit wird IMMER ein "Mehr lesen" Link angezeigt.

    CSS:
    .post-read-more {}
    .post-read-more a {}


    Alternativ dazu müsste es im NewsEx System auch einen Platzhalter {readwholenews} geben, welcher ein "mehr Lesen" Bild einbaut.



    Das Titelbild wird nun natürlich schwerer, hier ist etwas ahnung von PHP nötig. Hier kommt es ganz auf deine Mitarbeit und interesse an, ob du die Lust und ZEit hast dich zumindest etwas mit dem Thema zu beschäftigen.

    Grober Ablauf der dich dann erwarten würde

    Adminerbeich:
    - Einbau eines Bildupload-feldes in der Template anschicht (etwas HTML)
    - Einbau der Uplaod-Funktion in der PHP Datei (PHP)
    - Einbauen eines neuen DB Feldes für die URL des Bildes (per PHPmyAdmin)
    - Einbau des Bildändern Dialogs (PHP)

    Frontend Template:
    - Ausgabe im Template per Platzhalter (HTML)
    - Auslesen des Bildes, wenn vorhanden aus der Datenbank (PHP)


    Das müsste es dann eigentlich gewesen sein.

    So könnte es dann aussehen
    gesperrtes Bild


    Alternative: Wenn du selbst keine Zeit in dieses Thema investieren möchtest oder kannst, dann solltest du dir ggf. jemanden suchen (Anfrage & Angebote).
    Zuletzt modifiziert von Revolution am 04.05.2014 - 20:05:59
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Lieber Heinz2

    der User Outi77 (alter Beitrag) hat natürlich recht, ein doppelter Beitrag bringt mehr nachteile als vorteile.

    Für das nächste mal bitte einfach einen Moderator anschreiben aber in der Regel reagieren Moderatoren selbst und verschieben einen Beitrag in die richtige Kategorie.


    Ich hab den anderen Beitrag entfernt und diesen hier abgeändert.
    Dabei sind einige Posts gelöscht worden, sorry Outi77 und Heinz2.


    Zuletzt modifiziert von Revolution am 04.05.2014 - 20:15:50
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Schritt 1:
    Datenbankfeld für das Bild anlegen, per phpmyadmin

    Tabelle ic1_news
    Feldname: z.B. titelbild (diesen merken!)
    Feldtyp: VARCHAR
    Länge 255

    Schritt 2:
    Ordner für die neuen News-Titelbilder anlegen
    z.B. unter include/images/news/titelbilder/

    Schiritt 2.1:
    Ein Testbild in diesen Ordner kopieren

    Schritt 2.2:
    Wieder zu PHPmyAdmin wechseln und unter ic1_news einen Newsbeitrag wählen,
    diesen nun bearbeiten.
    Es sollte dort das neue Feld aus Schitt 1 erscheinen und leer sein, dort nun

    include/images/news/titelbilder/bildname.jpg

    eintragen, als Bildname bitte den aus Schritt 2.1 benutzen.


    Schritt 3:
    Ausgabe im Frontend Template, in der include/templates/news/news.htm den Platzhalter {titelbild} vor das erste {text} einfügen.


    Schritt 4:
    (Beschrieben für die News Extended Version)
    Nun kommt die Aufbereitung der Ausgabe in PHP

    Dazu die include/contents/news/news.php mit einem Editor öffnen.

    Jetzt musst du nach db_query Aufbau suchen und diesen um das Datenbankfeld aus Schritt 1 erweitern.

    Such in der Datei einmal nach diesem Codeabschnitt
    	$MPL = db_make_sites ($page , "WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | news_recht) = news_recht) OR
    			(news_groups != 0 AND ((news_groups ^ $groups) != (news_groups | $groups)))) AND $news_kat `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND archiv != 1 AND (endtime IS NULL OR endtime > UNIX_TIMESTAMP())" , $limit , '?news'.$katmpl , 'news');
            // Normale News
            $tpl = new tpl ('news/news.htm');


    da nach sollte eine VAriable mit dem Namen $abf mit einer SELECT Anweisung folgen. Diese musst du nun erweitern, dazu muss
    a.titelbild as titelbild,

    eingefügt werden, z.b. nach a.klicks,.


    Kurze Erklärung zu diesem a.titelbild,
    innerhalb dieser SELECT Anweisung werden ein haufen Daten aus der Datenbank gelesen. Vereinfacht heißt kann man sagen das mit dem a. eine bestimmte Tabelle als Quelle genutzt werden soll, in disem Fall steht in der SELECT Anweisung FROM prefix_news as a ... und genau da soll ja nun das titelbild ausgelesen werden.

    Der zweite Abschnitt aus dem a.titelbild as titelbild, sprich das "as titlebild" ist der neue Name mit dem wir es später ansprechen können.

    $row['titelbild']



    Schritt 5:
    etwas weiter unten sollte sich eine while-Schliefe finden
    while ($row = db_fetch_assoc($erg)) {


    Innerhalb dieser Schleife müssen nun noch einige dinge erledigt werden.
    Zum Beispiel kann es sein, dass kein Bild vorhanden ist, dann sollte der Platzhalter ja auch leer bleiben.

    Also baust du eine schleife ein, vom Prinzip
    if(!empty($row['titelbild'])) {
    // Bild in Datenbank vorhanden
    
    }else{
    // Kein Bild in Datenbank vorhanden
    
    }


    *---------------------------------------------------------*

    (Dieser Fehler wurde im Beitrag angepasst, hier nur nochmal die erklärung)

    EDIT: Bei der IF Schleife ist mir ein Fehler unterlaufen bzw. ich hatte was vergessen, damit die Bedingung erst Wahr = Bild vorhanden und dann Falsch = Bild nicht vorhanden ist, muss ein ! vor das Empty. Durch das ! wird die IF Schleife verneint, sprich

    IST $row['titelbild'] NICHT LEER DANN
    Bild ist vorhanden
    ELSE
    Bild ist nicht vorhanden.


    Zum Vergleich nochmal ohne das !, die Logik-Lücke dürfte damit eigentlich klar werden.

    IST $row['titelbild'] LEER DANN
    Bild ist vorhanden
    ELSE
    Bild ist nicht vorhanden.

    *---------------------------------------------------------*


    Wie man sieht gibt es nun zwei fälle, getrennt durch das else.
    Erst mal der einfache Fall, kein Bild für den Beitrag (also innerhalb des else zweigs. Hier könnte man dann auch ein Standard Bild eintragen.

    $row['titelbild'] = "";


    Damit ergibt sich

    if(!empty($row['titelbild'])) {
    // Bild in Datenbank vorhanden
    
    }else{
    // Kein Bild in Datenbank vorhanden
    
    $row['titelbild'] = "";
    
    }


    Beim Fall "Bild vorhanden", könnte man nun noch eien Abfrage einbauen ob das Bild wirklich auf dem Server liegt, aber das ist erstmal unwichtig.

    Also zur Ausgabe, wenn ein Bild vorhanden ist:

    $row['titelbild'] = '<img src="'.$row['titelbild'].'">';

    damit sieht die Schleife nun so aus:

    if(!empty($row['titelbild'])) {
    // Bild in Datenbank vorhanden
    
    $row['titelbild'] = '<img src="'.$row['titelbild'].'">';
    
    }else{
    // Kein Bild in Datenbank vorhanden
    
    $row['titelbild'] = "";
    
    }


    Du kannst dem img Tag natürlich noch einen Div-Tag mit einer Klasse übergeben, damit kannst du diesen perfekt mit CSS anpassen.

    Z.B. kannst du die zeile damit ersetzten.

    $row['titelbild'] = '<div class="post-preview-img"><img src="'.$row['titelbild'].'"></div>';




    Damit sollte der Platzhalter {titlebild} nun durch das Bild ersetzt werden, falls ich keinen Fehler gemacht habe. Hab es selbst nicht getestet!


    Sollte es zu einem Fehler kommen, schau dir die Fehlermeldung an. In dieser steht meist eine Zeilenangabe, mit dieser findest du dann häufig die Fehler.

    Schau ob in der Zeile oder davor die ; und / oder , richtig gestzt sind.



    Adminbereich folgt dann morgen lachen





    05.05.2014 - 17:00 Uhr Fehler in der If Schleife behoben, es fehlte ein !

    Zuletzt modifiziert von Revolution am 05.05.2014 - 17:45:42
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Revolution,

    habe alles so gemacht nur kommt kein Bild sondern es wird nur der Pfad angezeigt und nicht das Bild.
    Ausgabe wie folgt:

    Donnerstag 10. 04. 2014 -
    Thema: Ramadama 2014
    Allgemein
    include/images/news/titelbilder/test1.jpg
    Beim Ramadama der
    Mehr lesen...

    In der Tabelle ic1_news Einträge wie angegeben eingetragen. Pfad ist auch i.o.
    Ich habe es hier auf meinem Rechner - localhost - getestet mit obigem Ergebnis, keine weitere Fehlermeldung.

    MfG
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Hey mir ist auch ein Fehler in der IF Schleife unterlaufen,
    hab es oben geändert und nochmal den Fehler erklärt (zufinden in diesem *---* Abschnitt)

    Vielleicht nochmal mit dieser kleinen Änderung testen.


    Zuletzt modifiziert von Revolution am 05.05.2014 - 17:00:05
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Ravolution,

    konnte jetzt längere Zeit nichts machen. Ich habe das jetzt so gemacht wie oben beschriebn, bekomme aber das Bild nicht angezeigt, sondern nur den Namen des Bildes. Das Bild habe ich test.jpg benannt und wenn kein Bild kein.jpg. Liegen beide im Verzeichnis /include/images/news/tilelbilder/
    Ich habe mal meine beiden Seiten den Code hier angegeben.

    contens/news/news.php
    <?php
    // Copyright by: Manuel Staechele
    // Support: www.ilch.de
    // Modded by Mairu für News Extended
    defined ('main') or die ('no direct access');
    
    $title = $allgAr['title'] . ' :: News';
    $hmenu = 'News';
    $design = new design ($title , $hmenu);
    $design->addheader('<link rel="alternate" type="application/atom+xml" title="News (Atom)" href="index.php?news-atom" />
    <link rel="alternate" type="application/rss+xml" title="News (RSS)" href="index.php?news-rss" />');
    
    function news_find_kat ($kat) {
        $katpfad = 'include/images/news/';
        $katjpg = $katpfad . $kat . '.jpg';
        $katgif = $katpfad . $kat . '.gif';
        $katpng = $katpfad . $kat . '.png';
    
        if (file_exists($katjpg)) {
            $pfadzumBild = $katjpg;
        } elseif (file_exists ($katgif)) {
            $pfadzumBild = $katgif;
        } elseif (file_exists ($katpng)) {
            $pfadzumBild = $katpng;
        }
    
        if (!empty($pfadzumBild)) {
            $kategorie = '<img style="" src="' . $pfadzumBild . '" alt="' . $kat . '">';
        } else {
            $kategorie = '<b>' . $kat . '</b><br /><br />';
        }
    
        return ($kategorie);
    }
    // Schaut ob ein Name so oder ähnlich in der Datenbank vorhanden ist
    // gibt true zurück falls der Name noch nicht verwendet ist
    function checkName($name) {
        if (db_count_query("SELECT COUNT(name) FROM prefix_user WHERE name LIKE '$name'")) {
            return false;
        } else {
            return true;
        }
    }
    
    function checkKomName($name) {
        $resp = new xajaxResponse();
        if (checkName($name) OR loggedin()) {
            $resp->script('document.forms["komform"].submit();');
        } else {
            $resp->assign('komname', 'value' , '');
            $resp->alert('Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.');
            $resp->script("document.getElementById('komname').focus();");
        }
        return $resp;
    }
    // xajax für namencheck
    $xajax = new xajax();
    $xajax->configureMany(array('decodeUTF8Input' => true ,'characterEncoding' => 'ISO-8859-1', 'requestURI' => 'admin.php?news-ajax'));
    $xajax->register(XAJAX_FUNCTION, 'checkKomName');
    $xajax->processRequest();
    
    if ($menu->get(1) == 'ajax') {
        exit();
    }
    
    if (!is_numeric($menu->get(1))) {
        if ($menu->get(1) == 'rss' || $menu->get(1) == 'atom') {
            // ob_clean();
            $feed_type = $menu->get(1);
    
            $abf = "SELECT MAX(news_time) AS last_update FROM prefix_news";
            $erg = db_query($abf);
            $row = db_fetch_assoc($erg);
            $last_update = str_replace(' ', 'T', $row['last_update']) . 'Z';
    
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0));
    
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,";
            $abf .= ($feed_type == 'atom') ? 'a.news_time as datum,' : "DATE_FORMAT(a.news_time,'%a, %e %b %y %H:%i:%s') as datum,";
            $abf .=
            "a.news_kat as kate,
          a.news_text as text,
          b.name as username,
          a.html
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE (a.news_recht | 1) = a.news_recht AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND a.news_id != $tn_id AND a.`archiv` != 1 AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY news_time DESC LIMIT 15";
            $erg = db_query($abf);
            $tpl = new tpl('news_' . $menu->get(1) . '.htm');
    
            header('Content-type: application/' . $menu->get(1) . '+xml');
    
            $tpl->set_ar_out(array('FEEDTITLE' => $allgAr['title'],
                    'UPDATED' => $last_update,
                    'SITEURL' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF'])), 0);
            while ($row = db_fetch_assoc($erg)) {
    
    //  Ab hier eingefuegt fuer Bilder bei den NEWS
            if(!empty($row['titelbild'])) {
            // Bild in Datenbank vorhanden
    
            $row['titelbild'] = '<img src="'.$row['titelbild'].'">';
    
            }else{
            // Kein Bild in Datenbank vorhanden
    
            $row['titelbild'] = '<img src="include/images/news/titelbilder/kein.jpg">';
    
            }
    // Bis hier eingefuegt fuer Bilder in den NEWS
    
                if ($feed_type == 'atom') {
                    $Z = (date('Z') > 0 ? '+' : '') . date('H:i:s', date('Z') + 23 * 3600);
                    $row['datum'] = str_replace(' ', 'T', $row['datum']) . $Z;
                }
    
                $a = explode('[PREVIEWENDE]', $row['text']);
                $tpl->set_ar_out(array('TITLE' => $row['title'],
                        'TXT' => $row['html'] ? $a[0] : bbcode($a[0]),
                        'LINK' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/index.php?news-' . $row['id'],
                        'AUTHOR' => $row['username'],
                        'DATE' => $row['datum']
                        ), 1);
            }
            $tpl->out(2);
            exit;
        } else {
            $design->header();
            $limit = $allgAr['Nlimit'];
            $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
    
            //Gruppenrechte
            $groups = getGroupRights();
    
            // Topnews ausgeben
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1, v2 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0, 0));
            $tn_koms = @db_result($news_opts, 0, 1);
            $tn_sql = db_query("SELECT a.news_title as title, a.news_text, a.news_kat, a.news_recht, a.news_groups, a.html,
                    DATE_FORMAT(a.news_time,'%d. %m. %Y - %H:%i Uhr') as datum,
                    DATE_FORMAT(a.news_time,'%W') as dayofweek,
                    b.name as username,
                    c.name as editorname,
                    a.html,
                    a.edit_time,
                    a.klicks,
                    a.titelbild as titelbild,
                    b.id as uid
                FROM prefix_news a
                LEFT JOIN prefix_user as b ON a.user_id = b.id
                LEFT JOIN prefix_user as c ON a.editor_id = c.id
                WHERE a.news_id = $tn_id AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP()) AND
                (((" . pow(2, abs($_SESSION['authright'])) . " | a.news_recht) = a.news_recht) OR
    	        (a.news_groups != 0 AND ((a.news_groups ^ $groups) != (a.news_groups | $groups))))");
            if (db_num_rows($tn_sql) > 0) {
                $tn_r = db_fetch_assoc($tn_sql);
    
    			$dontShow = false;
    			if ((pow(2, abs($_SESSION['authright'])) | $tn_r['news_recht']) != $tn_r['news_recht']) {
    				$dontShow = true;
    			}
    			if ($dontShow) {
    				foreach($_SESSION['authgrp'] as $id => $bool) {
    					if ($bool and (pow(2, abs($id)) | $tn_r['news_groups'] == $tn_r['news_groups'])) {
    						$dontShow = false;
    						break;
    					}
    				}
    			}
            	if (!$dontShow) {
    				$tn_tpl = new tpl ('news/top');
                    if ($tn_koms) {
                        $tn_r['kom'] = db_count_query("SELECT COUNT(id) FROM prefix_koms WHERE uid = $tn_id AND cat = 'NEWS'");
                    }
            	    $tn_r['showkom'] = $tn_koms;
                    if (strpos ($tn_r['news_text'], '[PREVIEWENDE]') !== false) {
                        $a = explode('[PREVIEWENDE]' , $tn_r['news_text']);
                        $tn_r['news_text']= $a[0];
                        $tn_r['readwholenews'] = '<a href="index.php?news-' . $tn_id . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>';
                    } else {
                         $tn_r['readwholenews'] = '';
                    }
                    $tn_r['id'] = $tn_id;
            	    $tn_r['klicks'] = '<img src="include/images/icons/news/counter.gif" alt="' . $tn_r['klicks']. ' mal gelesen" title="' . $tn_r['klicks']. ' mal gelesen" border="0">';
                    $tn_r['datum']  = $lang[$tn_r['dayofweek']] . ' ' . $tn_r['datum'];
            	    $tn_r['edit']   = is_null($tn_r['edit_time']) ? '' : '<br /><i>zuletzt ge&auml;ndert am ' . date('d.m.Y - H:i', strtotime($tn_r['edit_time'])) . '&nbsp;Uhr';
            	    if (!empty($tn_r['edit']) and $tn_r['editorname'] != $tn_r['username']) {
            	        $tn_r['edit'].= ' von ' . $tn_r['editorname']. '</i>';
            	    } elseif (!empty($tn_r['edit'])) {
            	        $tn_r['edit'].= '</i>';
            	    }
    
                    $tn_r['kate'] = news_find_kat($tn_r['news_kat']);
            	    $tn_r['text'] = $tn_r['html']? $tn_r['news_text']: bbcode($tn_r['news_text']);
                    $tn_tpl->set_ar_out($tn_r, 0);
    				unset($tn_tpl);
            	}
            }
    
    		//Kategorie einschränken
    		if ($menu->get(1) != '' and ($menu->getA(1) != 'p' or $menu->getE(1) == 0)) {
    			$kats = $katssql = array();  #collect given kats
    			$i = 1;
    			while($kat = escape($menu->get($i), 'string')){
    				$kats[] = $kat;
    				$katssql[] = '"' . $kat . '"';
    				$i++;
    			}
    			$news_kat = 'news_kat IN ('.implode(',', $katssql).') AND';
    			$katmpl = '-'.implode('-', $kats);
    			$page = $menu->getE('p');
    			if ($page < 1) {
    				$page = 1;
    			}
    			$katmpl = str_replace('-p'.$page, '', $katmpl);
    		} else {
    			$news_kat = $katmpl = '';
    			$page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
    		}
    
            $anfang = ($page - 1) * $limit;
    
    		$MPL = db_make_sites ($page , "WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | news_recht) = news_recht) OR
    			(news_groups != 0 AND ((news_groups ^ $groups) != (news_groups | $groups)))) AND $news_kat `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND archiv != 1 AND (endtime IS NULL OR endtime > UNIX_TIMESTAMP())" , $limit , '?news'.$katmpl , 'news');
            // Normale News
            $tpl = new tpl ('news/news.htm');
    
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y - %H:%i Uhr') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.name as username,
          c.name as editorname,
          a.html,
          a.edit_time,
          a.klicks,
          a.titelbild as titelbild,
          b.id as uid
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        LEFT JOIN prefix_user as c ON a.editor_id = c.id
        WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | a.news_recht) = a.news_recht) OR
    	      (a.news_groups != 0 AND ((a.news_groups ^ $groups) != (a.news_groups | $groups)))) AND $news_kat
    		a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND a.`archiv` != 1 AND
    		(a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY a.news_time DESC
        LIMIT " . $anfang . "," . $limit;
    
            // echo '<pre>'.$abf.'</pre>';
            $erg = db_query($abf);
        	if (db_num_rows($erg) == 0 and !empty($news_kat)) {
        		echo 'Keine News in dieser Kategorie gefunden.<br />
        			<a href="index.php?news">News&uuml;bersichtsseite aufrufen</a>';
        		$design->footer(1);
        	}
            while ($row = db_fetch_assoc($erg)) {
                $k0m = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = " . $row['id'] . " AND cat = 'NEWS'");
                $row['kom'] = db_result($k0m, 0);
                $row['kate'] = news_find_kat($row['kate']);
                $row['datum'] = $lang[$row['dayofweek']] . ' ' . $row['datum'];
                if (strpos ($row['text'] , '[PREVIEWENDE]') !== false) {
                    $a = explode('[PREVIEWENDE]' , $row['text']);
                    $row['text'] = $a[0];
                    $row['readwholenews'] = '<a href="index.php?news-' . $row['id'] . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>';
                } else {
                    $row['readwholenews'] = '';
                }
                $row['klicks'] = '<img src="include/images/icons/news/counter.gif" alt="' . $row['klicks'] . ' mal gelesen" title="' . $row['klicks'] . ' mal gelesen" border="0">';
                if (!$row['html']) {
                    $row['text'] = bbcode($row['text']);
                }
                $row['edit'] = is_null($row['edit_time']) ? '' : '<br /><i>zuletzt ge&auml;ndert am ' . date('d.m.Y - H:i', strtotime($row['edit_time'])) . '&nbsp;Uhr';
                if (!empty($row['edit']) and $row['editorname'] != $row['username']) {
                    $row['edit'] .= ' von ' . $row['editorname'] . '</i>';
                } elseif (!empty($row['edit'])) {
                    $row['edit'] .= '</i>';
                }
                $tpl->set_ar_out($row, 0);
            }
            $tpl->set_out('SITELINK', $MPL, 1);
            unset($tpl);
        }
    } else {
        $design->header();
        $xajax->printJavascript();
    
        $nid = escape($menu->get(1), 'integer');
        $erg = db_query("SELECT * FROM `prefix_news` WHERE `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id = '" . $nid . "'");
        if (db_num_rows($erg) == 0) {
            $dontShow = true;
    	} else {
    		$dontShow = false;
    		$row = db_fetch_object($erg);
    		if ((pow(2, abs($_SESSION['authright'])) | $row->news_recht) != $row->news_recht) {
    			$dontShow = true;
    		}
    		if ($dontShow) {
    			foreach($_SESSION['authgrp'] as $id => $bool) {
    				if ($bool and (pow(2, abs($id)) | $row->news_groups) == $row->news_groups) {
    					$dontShow = false;
    					break;
    				}
    			}
    		}
    	}
    
    	if ($dontShow) {
    		echo 'News existiert nicht oder Sie haben keine Rechte sie zu sehen.  <a href="javascript:history.back();">zur&uuml;ck</a>';
    		$design->footer(1);
    	}
    
        $komsOK = true;
        if ($allgAr['Ngkoms'] == 0) {
            if (loggedin()) {
                $komsOK = true;
            } else {
                $komsOK = false;
            }
        }
        if ($allgAr['Nukoms'] == 0) {
            $komsOK = false;
        }
    
        $kom_info = '';
        // kommentar add
        if ((loggedin() OR chk_antispam ('newskom')) AND $komsOK AND !empty($_POST['name']) AND !empty($_POST['txt'])) {
            $_POST['txt'] = escape($_POST['txt'], 'string');
            $_POST['name'] = escape($_POST['name'], 'string');
            if (checkName($_POST['name']) or loggedin()) {
                if (loggedin()) {
                    $_POST['name'] = $_SESSION['authname'];
                }
                db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`) VALUES (" . $nid . ",'NEWS','" . $_POST['name'] . "','" . $_POST['txt'] . "')");
            } else {
                $kom_info = '<span style="color:red;">Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.</span><br />';
            }
        }
        // kommentar add
        // kommentar loeschen
        if ($menu->getA(2) == 'd' AND is_numeric($menu->getE(2)) AND has_right(- 7, 'news')) {
            $kommentar_id = escape($menu->getE(2), 'integer');
            db_query("DELETE FROM prefix_koms WHERE uid = " . $nid . " AND cat = 'NEWS' AND id = " . $kommentar_id);
        }
        // kommentar loeschen
        $kategorie = news_find_kat($row->news_kat);
    
        $textToShow = $row->html ? $row->news_text : bbcode($row->news_text);
        $textToShow = str_replace('[PREVIEWENDE]', '', $textToShow);
        if (!empty($such)) {
            $textToShow = markword($textToShow, $such);
        }
        // klicks zaehlen
        db_query("UPDATE prefix_news SET klicks = klicks + 1 WHERE news_id = " . $nid);
    
        $tpl = new tpl ('news/news.htm');
        $ar = array (
            'TEXT' => $textToShow,
            'KATE' => $kategorie,
            'NID' => $nid,
            'uname' => $_SESSION['authname'],
            'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
            'NAME' => $row->news_title,
            'info' => $kom_info
            );
        $tpl->set_ar_out($ar, 2);
    
        if ($komsOK) {
            $tpl->set_ar_out (array ('NAME' => $row->news_title , 'NID' => $nid, 'style' => loggedin() ? 'style="display:none;"' : ''), 3);
        }
        $erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = " . $nid . " AND cat = 'NEWS' ORDER BY id DESC");
        $ergAnz1 = db_num_rows($erg1);
        if ($ergAnz1 == 0) {
            echo '<b>' . $lang['nocomments'] . '</b>';
        } else {
            $zahl = $ergAnz1;
            while ($row1 = db_fetch_assoc($erg1)) {
                $row1['text'] = bbcode(trim($row1['text']));
                if (has_right(- 7, 'news')) {
                    $row1['text'] .= '<a href="javascript:delkom(' . $nid . ',' . $row1['id'] . ')"><img src="include/images/icons/del.gif" alt="l&ouml;schen" border="0" title="l&ouml;schen" /></a>';
                }
                $tpl->set_ar_out(array('NAME' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl) , 4);
                $zahl--;
            }
        }
        $tpl->out(5);
    }
    
    $design->footer();
    
    ?>


    und templates/news/news.htm
    <br>
    <table width="100%" bgcolor="" border="0" align="center" cellpadding="5" cellspacing="0">
    <tr>
    <td>
    <table width="100%" border="0" align="center" cellpadding="5" cellspacing="0">
        <tr>
          <td><hr style="height: 0px; border: solid #0000FF 1px; border-top-width: 1px; " /></td>
          </tr>
        <tr>
          <td class="smalfont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{datum} - <strong><br> Thema:&nbsp;<a href="index.php?news-{id}">{title}</a></strong>
          </td>
          </tr>
          <tr>
          <td><hr style="height: 0px; border: dotted #000000 0px; border-top-width: 1px; " /></td>
          </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td>
    
      <table width="100%" border="0" align="center" cellpadding="1" cellspacing="0" class="cbg1">
        <tr>
          <td align="center">{kate}</td>
        </tr>
    
      </table>
       </td>
    </tr>
    <tr>
    <td>
    
      <table width="100%"  border="0" cellspacing="0" cellpadding="2">
        <tr>
    	  <td>Platzhalter {titelbild} Bild{text}
          <!--post read more-->
              <div class="post-read-more"> <a href="index.php?news-{id}" >Mehr lesen...</a> </div>
    <!--.post read more-->
          </td>
    	</tr>
    
     </table>
    
     </td>
    </tr>
    <tr>
    <td>
    
    
    </td></tr></table>
    
    <br />
    <br />
    {EXPLODE}
    <br />
    <br /><center>{SITELINK}</center>
    
    
    {EXPLODE}
    <script language="JavaScript" type="text/javascript">
    function delkom (NID, ID) {
    var Check = confirm("Kommentar wirklich löschen?")
    if (Check == true) window.open("index.php?news-"+NID+"-d"+ID,"_self");
    }</script>
    <!-- News Kommentare und Mehr lesen -->
    <table width="100%" cellpadding="5" cellspacing="1" border="0">
      <tr class="Chead">
        <th height="25"><b>{NAME}</b></th>
      </tr>
      <tr>
        <td height="25">{_lang_message}</td>
      </tr>
    
        <tr>
          <td align="center">{KATE}</td>
        </tr>
    
    
      <tr>
        <td >
          <div style="float:left; padding-left:10px; ">{TEXT}</div><br style="clear:both; " />
          <p></p>
          <a href="javascript:history.back(1)"><b>&laquo;</b>{_lang_back}</a> </td>
      </tr>
    
      <tr>
        <td height="25">{_lang_commentsfor} {NAME}</td>
      </tr>
      <tr>
        <td>
    
    	    {EXPLODE}
    	    <form action="index.php?news-{NID}" method="POST">
            <fieldset>
              <legend>{_lang_writecomment}</legend>
              <input type="text" name="name" value="{uname}" /> &nbsp; {ANTISPAM} &nbsp; <input type="submit" value="{_lang_enter}"><br />
              <textarea style="width: 98%" cols="50" rows="2" name="txt"></textarea><br />
            </fieldset>
          </form>
          <br />
          {EXPLODE}
    
          <span class="Cmite"># <b>{ZAHL}</b> von {NAME}</span>
          <br />{TEXT}<br /><br />
    
          {EXPLODE}
          <br />
          <a href="javascript:history.back(1)"><b>&laquo;</b> {_lang_back}</a>
    
        </td>
      </tr>
    </table>


    Getestet wird das hier auf dieser Seite bevor ich Änderungen übernehme:
    anglerfreunde-haimhausen.ciy.de/index.php?news unter dem Button Aktuelles.

    Kannst Du mir einen Hinweis geben?

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Hallo heinz2,

    du hast fast alles Richtig gemacht.

    Dann werden wir estmal die Fehler beheben lachen bzw. es besser machen als ich beschreiben habe.

    news.php Zeile 78 bis 127, hier ist es natürlich unsinn, das ist die XML Ausgabe.

    Einfach deinen Codeabschnitt Zeile 101 - 113 entfernen.
    -- Außer du möchtest später das Bild auch per Feed übergeben, dann geht es aber etwas anders.

    Den grad entfernen Codeblock kannst du dann in Zeile 261, sprich innerhalb dem While nach
     echo 'Keine News in dieser Kategorie gefunden.<br />
                    <a href="index.php?news">News&uuml;bersichtsseite aufrufen</a>';



    So sollte es dann aussehen:

    <?php
    // Copyright by: Manuel Staechele
    // Support: www.ilch.de
    // Modded by Mairu für News Extended
    defined ('main') or die ('no direct access');
     
    $title = $allgAr['title'] . ' :: News';
    $hmenu = 'News';
    $design = new design ($title , $hmenu);
    $design->addheader('<link rel="alternate" type="application/atom+xml" title="News (Atom)" href="index.php?news-atom" />
    <link rel="alternate" type="application/rss+xml" title="News (RSS)" href="index.php?news-rss" />');
     
    function news_find_kat ($kat) {
        $katpfad = 'include/images/news/';
        $katjpg = $katpfad . $kat . '.jpg';
        $katgif = $katpfad . $kat . '.gif';
        $katpng = $katpfad . $kat . '.png';
     
        if (file_exists($katjpg)) {
            $pfadzumBild = $katjpg;
        } elseif (file_exists ($katgif)) {
            $pfadzumBild = $katgif;
        } elseif (file_exists ($katpng)) {
            $pfadzumBild = $katpng;
        }
     
        if (!empty($pfadzumBild)) {
            $kategorie = '<img style="" src="' . $pfadzumBild . '" alt="' . $kat . '">';
        } else {
            $kategorie = '<b>' . $kat . '</b><br /><br />';
        }
     
        return ($kategorie);
    }
    // Schaut ob ein Name so oder ähnlich in der Datenbank vorhanden ist
    // gibt true zurück falls der Name noch nicht verwendet ist
    function checkName($name) {
        if (db_count_query("SELECT COUNT(name) FROM prefix_user WHERE name LIKE '$name'")) {
            return false;
        } else {
            return true;
        }
    }
     
    function checkKomName($name) {
        $resp = new xajaxResponse();
        if (checkName($name) OR loggedin()) {
            $resp->script('document.forms["komform"].submit();');
        } else {
            $resp->assign('komname', 'value' , '');
            $resp->alert('Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.');
            $resp->script("document.getElementById('komname').focus();");
        }
        return $resp;
    }
    // xajax für namencheck
    $xajax = new xajax();
    $xajax->configureMany(array('decodeUTF8Input' => true ,'characterEncoding' => 'ISO-8859-1', 'requestURI' => 'admin.php?news-ajax'));
    $xajax->register(XAJAX_FUNCTION, 'checkKomName');
    $xajax->processRequest();
     
    if ($menu->get(1) == 'ajax') {
        exit();
    }
     
    if (!is_numeric($menu->get(1))) {
        if ($menu->get(1) == 'rss' || $menu->get(1) == 'atom') {
            // ob_clean();
            $feed_type = $menu->get(1);
     
            $abf = "SELECT MAX(news_time) AS last_update FROM prefix_news";
            $erg = db_query($abf);
            $row = db_fetch_assoc($erg);
            $last_update = str_replace(' ', 'T', $row['last_update']) . 'Z';
     
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0));
     
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,";
            $abf .= ($feed_type == 'atom') ? 'a.news_time as datum,' : "DATE_FORMAT(a.news_time,'%a, %e %b %y %H:%i:%s') as datum,";
            $abf .=
            "a.news_kat as kate,
          a.news_text as text,
          b.name as username,
          a.html
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE (a.news_recht | 1) = a.news_recht AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND a.news_id != $tn_id AND a.`archiv` != 1 AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY news_time DESC LIMIT 15";
            $erg = db_query($abf);
            $tpl = new tpl('news_' . $menu->get(1) . '.htm');
     
            header('Content-type: application/' . $menu->get(1) . '+xml');
     
            $tpl->set_ar_out(array('FEEDTITLE' => $allgAr['title'],
                    'UPDATED' => $last_update,
                    'SITEURL' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF'])), 0);
            while ($row = db_fetch_assoc($erg)) {
     
    //  Ab hier eingefuegt fuer Bilder bei den NEWS
            if(!empty($row['titelbild'])) {
            // Bild in Datenbank vorhanden
     
            $row['titelbild'] = '<img src="'.$row['titelbild'].'">';
     
            }else{
            // Kein Bild in Datenbank vorhanden
     
            $row['titelbild'] = '<img src="include/images/news/titelbilder/kein.jpg">';
     
            }
    // Bis hier eingefuegt fuer Bilder in den NEWS
     
                if ($feed_type == 'atom') {
                    $Z = (date('Z') > 0 ? '+' : '') . date('H:i:s', date('Z') + 23 * 3600);
                    $row['datum'] = str_replace(' ', 'T', $row['datum']) . $Z;
                }
     
                $a = explode('[PREVIEWENDE]', $row['text']);
                $tpl->set_ar_out(array('TITLE' => $row['title'],
                        'TXT' => $row['html'] ? $a[0] : bbcode($a[0]),
                        'LINK' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/index.php?news-' . $row['id'],
                        'AUTHOR' => $row['username'],
                        'DATE' => $row['datum']
                        ), 1);
            }
            $tpl->out(2);
            exit;
        } else {
            $design->header();
            $limit = $allgAr['Nlimit'];
            $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
     
            //Gruppenrechte
            $groups = getGroupRights();
     
            // Topnews ausgeben
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1, v2 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0, 0));
            $tn_koms = @db_result($news_opts, 0, 1);
            $tn_sql = db_query("SELECT a.news_title as title, a.news_text, a.news_kat, a.news_recht, a.news_groups, a.html,
                    DATE_FORMAT(a.news_time,'%d. %m. %Y - %H:%i Uhr') as datum,
                    DATE_FORMAT(a.news_time,'%W') as dayofweek,
                    b.name as username,
                    c.name as editorname,
                    a.html,
                    a.edit_time,
                    a.klicks,
                    a.titelbild as titelbild,
                    b.id as uid
                FROM prefix_news a
                LEFT JOIN prefix_user as b ON a.user_id = b.id
                LEFT JOIN prefix_user as c ON a.editor_id = c.id
                WHERE a.news_id = $tn_id AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP()) AND
                (((" . pow(2, abs($_SESSION['authright'])) . " | a.news_recht) = a.news_recht) OR
                (a.news_groups != 0 AND ((a.news_groups ^ $groups) != (a.news_groups | $groups))))");
            if (db_num_rows($tn_sql) > 0) {
                $tn_r = db_fetch_assoc($tn_sql);
     
                $dontShow = false;
                if ((pow(2, abs($_SESSION['authright'])) | $tn_r['news_recht']) != $tn_r['news_recht']) {
                    $dontShow = true;
                }
                if ($dontShow) {
                    foreach($_SESSION['authgrp'] as $id => $bool) {
                        if ($bool and (pow(2, abs($id)) | $tn_r['news_groups'] == $tn_r['news_groups'])) {
                            $dontShow = false;
                            break;
                        }
                    }
                }
                if (!$dontShow) {
                    $tn_tpl = new tpl ('news/top');
                    if ($tn_koms) {
                        $tn_r['kom'] = db_count_query("SELECT COUNT(id) FROM prefix_koms WHERE uid = $tn_id AND cat = 'NEWS'");
                    }
                    $tn_r['showkom'] = $tn_koms;
                    if (strpos ($tn_r['news_text'], '[PREVIEWENDE]') !== false) {
                        $a = explode('[PREVIEWENDE]' , $tn_r['news_text']);
                        $tn_r['news_text']= $a[0];
                        $tn_r['readwholenews'] = '<a href="index.php?news-' . $tn_id . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>';
                    } else {
                         $tn_r['readwholenews'] = '';
                    }
                    $tn_r['id'] = $tn_id;
                    $tn_r['klicks'] = '<img src="include/images/icons/news/counter.gif" alt="' . $tn_r['klicks']. ' mal gelesen" title="' . $tn_r['klicks']. ' mal gelesen" border="0">';
                    $tn_r['datum']  = $lang[$tn_r['dayofweek']] . ' ' . $tn_r['datum'];
                    $tn_r['edit']   = is_null($tn_r['edit_time']) ? '' : '<br /><i>zuletzt ge&auml;ndert am ' . date('d.m.Y - H:i', strtotime($tn_r['edit_time'])) . '&nbsp;Uhr';
                    if (!empty($tn_r['edit']) and $tn_r['editorname'] != $tn_r['username']) {
                        $tn_r['edit'].= ' von ' . $tn_r['editorname']. '</i>';
                    } elseif (!empty($tn_r['edit'])) {
                        $tn_r['edit'].= '</i>';
                    }
     
                    $tn_r['kate'] = news_find_kat($tn_r['news_kat']);
                    $tn_r['text'] = $tn_r['html']? $tn_r['news_text']: bbcode($tn_r['news_text']);
                    $tn_tpl->set_ar_out($tn_r, 0);
                    unset($tn_tpl);
                }
            }
     
            //Kategorie einschränken
            if ($menu->get(1) != '' and ($menu->getA(1) != 'p' or $menu->getE(1) == 0)) {
                $kats = $katssql = array();  #collect given kats
                $i = 1;
                while($kat = escape($menu->get($i), 'string')){
                    $kats[] = $kat;
                    $katssql[] = '"' . $kat . '"';
                    $i++;
                }
                $news_kat = 'news_kat IN ('.implode(',', $katssql).') AND';
                $katmpl = '-'.implode('-', $kats);
                $page = $menu->getE('p');
                if ($page < 1) {
                    $page = 1;
                }
                $katmpl = str_replace('-p'.$page, '', $katmpl);
            } else {
                $news_kat = $katmpl = '';
                $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
            }
     
            $anfang = ($page - 1) * $limit;
     
            $MPL = db_make_sites ($page , "WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | news_recht) = news_recht) OR
                (news_groups != 0 AND ((news_groups ^ $groups) != (news_groups | $groups)))) AND $news_kat `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND archiv != 1 AND (endtime IS NULL OR endtime > UNIX_TIMESTAMP())" , $limit , '?news'.$katmpl , 'news');
            // Normale News
            $tpl = new tpl ('news/news.htm');
     
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y - %H:%i Uhr') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.name as username,
          c.name as editorname,
          a.html,
          a.edit_time,
          a.klicks,
          a.titelbild as titelbild,
          b.id as uid
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        LEFT JOIN prefix_user as c ON a.editor_id = c.id
        WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | a.news_recht) = a.news_recht) OR
              (a.news_groups != 0 AND ((a.news_groups ^ $groups) != (a.news_groups | $groups)))) AND $news_kat
            a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND a.`archiv` != 1 AND
            (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY a.news_time DESC
        LIMIT " . $anfang . "," . $limit;
     
            // echo '<pre>'.$abf.'</pre>';
            $erg = db_query($abf);
            if (db_num_rows($erg) == 0 and !empty($news_kat)) {
                echo 'Keine News in dieser Kategorie gefunden.<br />
                    <a href="index.php?news">News&uuml;bersichtsseite aufrufen</a>';
                $design->footer(1);
            }
            while ($row = db_fetch_assoc($erg)) {
                $k0m = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = " . $row['id'] . " AND cat = 'NEWS'");
                $row['kom'] = db_result($k0m, 0);
                $row['kate'] = news_find_kat($row['kate']);
                $row['datum'] = $lang[$row['dayofweek']] . ' ' . $row['datum'];
                if (strpos ($row['text'] , '[PREVIEWENDE]') !== false) {
                    $a = explode('[PREVIEWENDE]' , $row['text']);
                    $row['text'] = $a[0];
                    $row['readwholenews'] = '<a href="index.php?news-' . $row['id'] . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>';
                } else {
                    $row['readwholenews'] = '';
                }
                
    //  Ab hier eingefuegt fuer Bilder bei den NEWS
            if(!empty($row['titelbild'])) {
            // Bild in Datenbank vorhanden
     
            $row['titelbild'] = '<img src="'.$row['titelbild'].'">';
     
            }else{
            // Kein Bild in Datenbank vorhanden
     
            $row['titelbild'] = '<img src="include/images/news/titelbilder/kein.jpg">';
     
            }
    // Bis hier eingefuegt fuer Bilder in den NEWS
                
                $row['klicks'] = '<img src="include/images/icons/news/counter.gif" alt="' . $row['klicks'] . ' mal gelesen" title="' . $row['klicks'] . ' mal gelesen" border="0">';
                if (!$row['html']) {
                    $row['text'] = bbcode($row['text']);
                }
                $row['edit'] = is_null($row['edit_time']) ? '' : '<br /><i>zuletzt ge&auml;ndert am ' . date('d.m.Y - H:i', strtotime($row['edit_time'])) . '&nbsp;Uhr';
                if (!empty($row['edit']) and $row['editorname'] != $row['username']) {
                    $row['edit'] .= ' von ' . $row['editorname'] . '</i>';
                } elseif (!empty($row['edit'])) {
                    $row['edit'] .= '</i>';
                }
                $tpl->set_ar_out($row, 0);
            }
            $tpl->set_out('SITELINK', $MPL, 1);
            unset($tpl);
        }
    } else {
        $design->header();
        $xajax->printJavascript();
     
        $nid = escape($menu->get(1), 'integer');
        $erg = db_query("SELECT * FROM `prefix_news` WHERE `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id = '" . $nid . "'");
        if (db_num_rows($erg) == 0) {
            $dontShow = true;
        } else {
            $dontShow = false;
            $row = db_fetch_object($erg);
            if ((pow(2, abs($_SESSION['authright'])) | $row->news_recht) != $row->news_recht) {
                $dontShow = true;
            }
            if ($dontShow) {
                foreach($_SESSION['authgrp'] as $id => $bool) {
                    if ($bool and (pow(2, abs($id)) | $row->news_groups) == $row->news_groups) {
                        $dontShow = false;
                        break;
                    }
                }
            }
        }
     
        if ($dontShow) {
            echo 'News existiert nicht oder Sie haben keine Rechte sie zu sehen.  <a href="javascript:history.back();">zur&uuml;ck</a>';
            $design->footer(1);
        }
     
        $komsOK = true;
        if ($allgAr['Ngkoms'] == 0) {
            if (loggedin()) {
                $komsOK = true;
            } else {
                $komsOK = false;
            }
        }
        if ($allgAr['Nukoms'] == 0) {
            $komsOK = false;
        }
     
        $kom_info = '';
        // kommentar add
        if ((loggedin() OR chk_antispam ('newskom')) AND $komsOK AND !empty($_POST['name']) AND !empty($_POST['txt'])) {
            $_POST['txt'] = escape($_POST['txt'], 'string');
            $_POST['name'] = escape($_POST['name'], 'string');
            if (checkName($_POST['name']) or loggedin()) {
                if (loggedin()) {
                    $_POST['name'] = $_SESSION['authname'];
                }
                db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`) VALUES (" . $nid . ",'NEWS','" . $_POST['name'] . "','" . $_POST['txt'] . "')");
            } else {
                $kom_info = '<span style="color:red;">Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.</span><br />';
            }
        }
        // kommentar add
        // kommentar loeschen
        if ($menu->getA(2) == 'd' AND is_numeric($menu->getE(2)) AND has_right(- 7, 'news')) {
            $kommentar_id = escape($menu->getE(2), 'integer');
            db_query("DELETE FROM prefix_koms WHERE uid = " . $nid . " AND cat = 'NEWS' AND id = " . $kommentar_id);
        }
        // kommentar loeschen
        $kategorie = news_find_kat($row->news_kat);
     
        $textToShow = $row->html ? $row->news_text : bbcode($row->news_text);
        $textToShow = str_replace('[PREVIEWENDE]', '', $textToShow);
        if (!empty($such)) {
            $textToShow = markword($textToShow, $such);
        }
        // klicks zaehlen
        db_query("UPDATE prefix_news SET klicks = klicks + 1 WHERE news_id = " . $nid);
     
        $tpl = new tpl ('news/news.htm');
        $ar = array (
            'TEXT' => $textToShow,
            'KATE' => $kategorie,
            'NID' => $nid,
            'uname' => $_SESSION['authname'],
            'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
            'NAME' => $row->news_title,
            'info' => $kom_info
            );
        $tpl->set_ar_out($ar, 2);
     
        if ($komsOK) {
            $tpl->set_ar_out (array ('NAME' => $row->news_title , 'NID' => $nid, 'style' => loggedin() ? 'style="display:none;"' : ''), 3);
        }
        $erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = " . $nid . " AND cat = 'NEWS' ORDER BY id DESC");
        $ergAnz1 = db_num_rows($erg1);
        if ($ergAnz1 == 0) {
            echo '<b>' . $lang['nocomments'] . '</b>';
        } else {
            $zahl = $ergAnz1;
            while ($row1 = db_fetch_assoc($erg1)) {
                $row1['text'] = bbcode(trim($row1['text']));
                if (has_right(- 7, 'news')) {
                    $row1['text'] .= '<a href="javascript:delkom(' . $nid . ',' . $row1['id'] . ')"><img src="include/images/icons/del.gif" alt="l&ouml;schen" border="0" title="l&ouml;schen" /></a>';
                }
                $tpl->set_ar_out(array('NAME' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl) , 4);
                $zahl--;
            }
        }
        $tpl->out(5);
    }
     
    $design->footer();
     
    ?>



    Zuletzt modifiziert von Revolution am 20.05.2014 - 16:58:10
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Revolution,

    hat geklappt. Habe nur den Pfad zum Bild noch angepasst.
            $row['titelbild'] = '<img src="/include/images/news/titelbilder/'.$row['titelbild'].'">';


    Kannst Du mir einen Tip geben? und zwar. Was muss ich noch eintragen wenn das Bild dann auch beim vollständigem Text erscheinen soll. Oder wird das mit erledigt wenn wir die Sache mit
    Adminerbeich bzw Frontend Template in Angriff nehmen?

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Auch das ist relativ einfach, du musst nur noch
    a.titelbild as titelbild,

    in den SQL Query um Zeile 80 einfügen.

    Die Ausgabe hast du ja bereits eingebaut, zur Ausgabe musst du dann noch im Template den Platzhalter setzen.


    Zuletzt modifiziert von Revolution am 20.05.2014 - 21:51:31
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Kurze Frage: Was habe ich falsch?. Im Text steht nur: {titelbild} und dann der Text.
    <?php
    // Copyright by: Manuel Staechele
    // Support: www.ilch.de
    // Modded by Mairu für News Extended
    defined ('main') or die ('no direct access');
    
    $title = $allgAr['title'] . ' :: News';
    $hmenu = 'News';
    $design = new design ($title , $hmenu);
    $design->addheader('<link rel="alternate" type="application/atom+xml" title="News (Atom)" href="index.php?news-atom" />
    <link rel="alternate" type="application/rss+xml" title="News (RSS)" href="index.php?news-rss" />');
    
    function news_find_kat ($kat) {
        $katpfad = 'include/images/news/';
        $katjpg = $katpfad . $kat . '.jpg';
        $katgif = $katpfad . $kat . '.gif';
        $katpng = $katpfad . $kat . '.png';
    
        if (file_exists($katjpg)) {
            $pfadzumBild = $katjpg;
        } elseif (file_exists ($katgif)) {
            $pfadzumBild = $katgif;
        } elseif (file_exists ($katpng)) {
            $pfadzumBild = $katpng;
        }
    
        if (!empty($pfadzumBild)) {
            $kategorie = '<img style="" src="' . $pfadzumBild . '" alt="' . $kat . '">';
        } else {
            $kategorie = '<b>' . $kat . '</b><br /><br />';
        }
    
        return ($kategorie);
    }
    // Schaut ob ein Name so oder ähnlich in der Datenbank vorhanden ist
    // gibt true zurück falls der Name noch nicht verwendet ist
    function checkName($name) {
        if (db_count_query("SELECT COUNT(name) FROM prefix_user WHERE name LIKE '$name'")) {
            return false;
        } else {
            return true;
        }
    }
    
    function checkKomName($name) {
        $resp = new xajaxResponse();
        if (checkName($name) OR loggedin()) {
            $resp->script('document.forms["komform"].submit();');
        } else {
            $resp->assign('komname', 'value' , '');
            $resp->alert('Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.');
            $resp->script("document.getElementById('komname').focus();");
        }
        return $resp;
    }
    // xajax für namencheck
    $xajax = new xajax();
    $xajax->configureMany(array('decodeUTF8Input' => true ,'characterEncoding' => 'ISO-8859-1', 'requestURI' => 'admin.php?news-ajax'));
    $xajax->register(XAJAX_FUNCTION, 'checkKomName');
    $xajax->processRequest();
    
    if ($menu->get(1) == 'ajax') {
        exit();
    }
    
    if (!is_numeric($menu->get(1))) {
        if ($menu->get(1) == 'rss' || $menu->get(1) == 'atom') {
            // ob_clean();
            $feed_type = $menu->get(1);
    
            $abf = "SELECT MAX(news_time) AS last_update FROM prefix_news";
            $erg = db_query($abf);
            $row = db_fetch_assoc($erg);
            $last_update = str_replace(' ', 'T', $row['last_update']) . 'Z';
    
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0));
    
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          a.titelbild as titelbild,";
            $abf .= ($feed_type == 'atom') ? 'a.news_time as datum,' : "DATE_FORMAT(a.news_time,'%a, %e %b %y %H:%i:%s') as datum,";
            $abf .=
            "a.news_kat as kate,
          a.news_text as text,
          b.name as username,
          a.html
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE (a.news_recht | 1) = a.news_recht AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND a.news_id != $tn_id AND a.`archiv` != 1 AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY news_time DESC LIMIT 15";
            $erg = db_query($abf);
            $tpl = new tpl('news_' . $menu->get(1) . '.htm');
    
            header('Content-type: application/' . $menu->get(1) . '+xml');
    
            $tpl->set_ar_out(array('FEEDTITLE' => $allgAr['title'],
                    'UPDATED' => $last_update,
                    'SITEURL' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF'])), 0);
            while ($row = db_fetch_assoc($erg)) {
    
    //  Ab hier eingefuegt fuer Bilder bei den NEWS
            if(!empty($row['titelbild'])) {
            // Bild in Datenbank vorhanden
    
            $row['titelbild'] = '<img src="include/images/news/titelbilder/'.$row['titelbild'].'">';
    
            }else{
            // Kein Bild in Datenbank vorhanden
    
            $row['titelbild'] = '<img src="include/images/news/titelbilder/kein.jpg">';
    
            }
    // Bis hier eingefuegt fuer Bilder in den NEWS
    
                if ($feed_type == 'atom') {
                    $Z = (date('Z') > 0 ? '+' : '') . date('H:i:s', date('Z') + 23 * 3600);
                    $row['datum'] = str_replace(' ', 'T', $row['datum']) . $Z;
                }
    
                $a = explode('[PREVIEWENDE]', $row['text']);
                $tpl->set_ar_out(array('TITLE' => $row['title'],
                        'TXT' => $row['html'] ? $a[0] : bbcode($a[0]),
                        'LINK' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/index.php?news-' . $row['id'],
                        'AUTHOR' => $row['username'],
                        'DATE' => $row['datum']
                        ), 1);
            }
            $tpl->out(2);
            exit;
        } else {
            $design->header();
            $limit = $allgAr['Nlimit'];
            $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
    
            //Gruppenrechte
            $groups = getGroupRights();
    
            // Topnews ausgeben
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1, v2 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0, 0));
            $tn_koms = @db_result($news_opts, 0, 1);
            $tn_sql = db_query("SELECT a.news_title as title, a.news_text, a.news_kat, a.news_recht, a.news_groups, a.html,
                    DATE_FORMAT(a.news_time,'%d. %m. %Y - %H:%i Uhr') as datum,
                    DATE_FORMAT(a.news_time,'%W') as dayofweek,
                    b.name as username,
                    c.name as editorname,
                    a.html,
                    a.edit_time,
                    a.klicks,
                    a.titelbild as titelbild,
                    b.id as uid
                FROM prefix_news a
                LEFT JOIN prefix_user as b ON a.user_id = b.id
                LEFT JOIN prefix_user as c ON a.editor_id = c.id
                WHERE a.news_id = $tn_id AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP()) AND
                (((" . pow(2, abs($_SESSION['authright'])) . " | a.news_recht) = a.news_recht) OR
                (a.news_groups != 0 AND ((a.news_groups ^ $groups) != (a.news_groups | $groups))))");
            if (db_num_rows($tn_sql) > 0) {
                $tn_r = db_fetch_assoc($tn_sql);
    
                $dontShow = false;
                if ((pow(2, abs($_SESSION['authright'])) | $tn_r['news_recht']) != $tn_r['news_recht']) {
                    $dontShow = true;
                }
                if ($dontShow) {
                    foreach($_SESSION['authgrp'] as $id => $bool) {
                        if ($bool and (pow(2, abs($id)) | $tn_r['news_groups'] == $tn_r['news_groups'])) {
                            $dontShow = false;
                            break;
                        }
                    }
                }
                if (!$dontShow) {
                    $tn_tpl = new tpl ('news/top');
                    if ($tn_koms) {
                        $tn_r['kom'] = db_count_query("SELECT COUNT(id) FROM prefix_koms WHERE uid = $tn_id AND cat = 'NEWS'");
                    }
                    $tn_r['showkom'] = $tn_koms;
                    if (strpos ($tn_r['news_text'], '[PREVIEWENDE]') !== false) {
                        $a = explode('[PREVIEWENDE]' , $tn_r['news_text']);
                        $tn_r['news_text']= $a[0];
                        $tn_r['readwholenews'] = '<a href="index.php?news-' . $tn_id . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>';
                    } else {
                         $tn_r['readwholenews'] = '';
                    }
                    $tn_r['id'] = $tn_id;
                    $tn_r['klicks'] = '<img src="include/images/icons/news/counter.gif" alt="' . $tn_r['klicks']. ' mal gelesen" title="' . $tn_r['klicks']. ' mal gelesen" border="0">';
                    $tn_r['datum']  = $lang[$tn_r['dayofweek']] . ' ' . $tn_r['datum'];
                    $tn_r['edit']   = is_null($tn_r['edit_time']) ? '' : '<br /><i>zuletzt ge&auml;ndert am ' . date('d.m.Y - H:i', strtotime($tn_r['edit_time'])) . '&nbsp;Uhr';
                    if (!empty($tn_r['edit']) and $tn_r['editorname'] != $tn_r['username']) {
                        $tn_r['edit'].= ' von ' . $tn_r['editorname']. '</i>';
                    } elseif (!empty($tn_r['edit'])) {
                        $tn_r['edit'].= '</i>';
                    }
    
                    $tn_r['kate'] = news_find_kat($tn_r['news_kat']);
                    $tn_r['text'] = $tn_r['html']? $tn_r['news_text']: bbcode($tn_r['news_text']);
                    $tn_tpl->set_ar_out($tn_r, 0);
                    unset($tn_tpl);
                }
            }
    
            //Kategorie einschränken
            if ($menu->get(1) != '' and ($menu->getA(1) != 'p' or $menu->getE(1) == 0)) {
                $kats = $katssql = array();  #collect given kats
                $i = 1;
                while($kat = escape($menu->get($i), 'string')){
                    $kats[] = $kat;
                    $katssql[] = '"' . $kat . '"';
                    $i++;
                }
                $news_kat = 'news_kat IN ('.implode(',', $katssql).') AND';
                $katmpl = '-'.implode('-', $kats);
                $page = $menu->getE('p');
                if ($page < 1) {
                    $page = 1;
                }
                $katmpl = str_replace('-p'.$page, '', $katmpl);
            } else {
                $news_kat = $katmpl = '';
                $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
            }
    
            $anfang = ($page - 1) * $limit;
    
            $MPL = db_make_sites ($page , "WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | news_recht) = news_recht) OR
                (news_groups != 0 AND ((news_groups ^ $groups) != (news_groups | $groups)))) AND $news_kat `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND archiv != 1 AND (endtime IS NULL OR endtime > UNIX_TIMESTAMP())" , $limit , '?news'.$katmpl , 'news');
            // Normale News
            $tpl = new tpl ('news/news.htm');
    
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y - %H:%i Uhr') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.name as username,
          c.name as editorname,
          a.html,
          a.edit_time,
          a.klicks,
          a.titelbild as titelbild,
          b.id as uid
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        LEFT JOIN prefix_user as c ON a.editor_id = c.id
        WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | a.news_recht) = a.news_recht) OR
              (a.news_groups != 0 AND ((a.news_groups ^ $groups) != (a.news_groups | $groups)))) AND $news_kat
            a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND a.`archiv` != 1 AND
            (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY a.news_time DESC
        LIMIT " . $anfang . "," . $limit;
    
            // echo '<pre>'.$abf.'</pre>';
            $erg = db_query($abf);
            if (db_num_rows($erg) == 0 and !empty($news_kat)) {
                echo 'Keine News in dieser Kategorie gefunden.<br />
                    <a href="index.php?news">News&uuml;bersichtsseite aufrufen</a>';
                $design->footer(1);
            }
            while ($row = db_fetch_assoc($erg)) {
                $k0m = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = " . $row['id'] . " AND cat = 'NEWS'");
                $row['kom'] = db_result($k0m, 0);
                $row['kate'] = news_find_kat($row['kate']);
                $row['datum'] = $lang[$row['dayofweek']] . ' ' . $row['datum'];
                if (strpos ($row['text'] , '[PREVIEWENDE]') !== false) {
                    $a = explode('[PREVIEWENDE]' , $row['text']);
                    $row['text'] = $a[0];
                    $row['readwholenews'] = '<a href="index.php?news-' . $row['id'] . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>';
                } else {
                    $row['readwholenews'] = '';
                }
    
    //  Ab hier eingefuegt fuer Bilder bei den NEWS
            if(!empty($row['titelbild'])) {
            // Bild in Datenbank vorhanden
    
            $row['titelbild'] = '<img src="/include/images/news/tilelbilder/'.$row['titelbild'].'">';
    
            }else{
            // Kein Bild in Datenbank vorhanden
    
            $row['titelbild'] = '<img src="include/images/news/titelbilder/kein.jpg">';
    
            }
    // Bis hier eingefuegt fuer Bilder in den NEWS
    
                $row['klicks'] = '<img src="include/images/icons/news/counter.gif" alt="' . $row['klicks'] . ' mal gelesen" title="' . $row['klicks'] . ' mal gelesen" border="0">';
                if (!$row['html']) {
                    $row['text'] = bbcode($row['text']);
                }
                $row['edit'] = is_null($row['edit_time']) ? '' : '<br /><i>zuletzt ge&auml;ndert am ' . date('d.m.Y - H:i', strtotime($row['edit_time'])) . '&nbsp;Uhr';
                if (!empty($row['edit']) and $row['editorname'] != $row['username']) {
                    $row['edit'] .= ' von ' . $row['editorname'] . '</i>';
                } elseif (!empty($row['edit'])) {
                    $row['edit'] .= '</i>';
                }
                $tpl->set_ar_out($row, 0);
            }
            $tpl->set_out('SITELINK', $MPL, 1);
            unset($tpl);
        }
    } else {
        $design->header();
        $xajax->printJavascript();
    
        $nid = escape($menu->get(1), 'integer');
        $erg = db_query("SELECT * FROM `prefix_news` WHERE `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id = '" . $nid . "'");
        if (db_num_rows($erg) == 0) {
            $dontShow = true;
        } else {
            $dontShow = false;
            $row = db_fetch_object($erg);
            if ((pow(2, abs($_SESSION['authright'])) | $row->news_recht) != $row->news_recht) {
                $dontShow = true;
            }
            if ($dontShow) {
                foreach($_SESSION['authgrp'] as $id => $bool) {
                    if ($bool and (pow(2, abs($id)) | $row->news_groups) == $row->news_groups) {
                        $dontShow = false;
                        break;
                    }
                }
            }
        }
    
        if ($dontShow) {
            echo 'News existiert nicht oder Sie haben keine Rechte sie zu sehen.  <a href="javascript:history.back();">zur&uuml;ck</a>';
            $design->footer(1);
        }
    
        $komsOK = true;
        if ($allgAr['Ngkoms'] == 0) {
            if (loggedin()) {
                $komsOK = true;
            } else {
                $komsOK = false;
            }
        }
        if ($allgAr['Nukoms'] == 0) {
            $komsOK = false;
        }
    
        $kom_info = '';
        // kommentar add
        if ((loggedin() OR chk_antispam ('newskom')) AND $komsOK AND !empty($_POST['name']) AND !empty($_POST['txt'])) {
            $_POST['txt'] = escape($_POST['txt'], 'string');
            $_POST['name'] = escape($_POST['name'], 'string');
            if (checkName($_POST['name']) or loggedin()) {
                if (loggedin()) {
                    $_POST['name'] = $_SESSION['authname'];
                }
                db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`) VALUES (" . $nid . ",'NEWS','" . $_POST['name'] . "','" . $_POST['txt'] . "')");
            } else {
                $kom_info = '<span style="color:red;">Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.</span><br />';
            }
        }
        // kommentar add
        // kommentar loeschen
        if ($menu->getA(2) == 'd' AND is_numeric($menu->getE(2)) AND has_right(- 7, 'news')) {
            $kommentar_id = escape($menu->getE(2), 'integer');
            db_query("DELETE FROM prefix_koms WHERE uid = " . $nid . " AND cat = 'NEWS' AND id = " . $kommentar_id);
        }
        // kommentar loeschen
        $kategorie = news_find_kat($row->news_kat);
    
        $textToShow = $row->html ? $row->news_text : bbcode($row->news_text);
        $textToShow = str_replace('[PREVIEWENDE]', '', $textToShow);
        if (!empty($such)) {
            $textToShow = markword($textToShow, $such);
        }
        // klicks zaehlen
        db_query("UPDATE prefix_news SET klicks = klicks + 1 WHERE news_id = " . $nid);
    
        $tpl = new tpl ('news/news.htm');
        $ar = array (
            'TEXT' => $textToShow,
            'KATE' => $kategorie,
            'NID' => $nid,
            'uname' => $_SESSION['authname'],
            'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
            'NAME' => $row->news_title,
            'info' => $kom_info
            );
        $tpl->set_ar_out($ar, 2);
    
        if ($komsOK) {
            $tpl->set_ar_out (array ('NAME' => $row->news_title , 'NID' => $nid, 'style' => loggedin() ? 'style="display:none;"' : ''), 3);
        }
        $erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = " . $nid . " AND cat = 'NEWS' ORDER BY id DESC");
        $ergAnz1 = db_num_rows($erg1);
        if ($ergAnz1 == 0) {
            echo '<b>' . $lang['nocomments'] . '</b>';
        } else {
            $zahl = $ergAnz1;
            while ($row1 = db_fetch_assoc($erg1)) {
                $row1['text'] = bbcode(trim($row1['text']));
                if (has_right(- 7, 'news')) {
                    $row1['text'] .= '<a href="javascript:delkom(' . $nid . ',' . $row1['id'] . ')"><img src="include/images/icons/del.gif" alt="l&ouml;schen" border="0" title="l&ouml;schen" /></a>';
                }
                $tpl->set_ar_out(array('NAME' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl) , 4);
                $zahl--;
            }
        }
        $tpl->out(5);
    }
    
    $design->footer();
    
    ?>


    MfG heinz2


    Zuletzt modifiziert von heinz2 am 21.05.2014 - 18:02:54
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Sorry hab das Thema übersehn gehabt.

    Ergänz mal in Zeile 384

    'titelbild' => $row->titelbild


    (Schreibweise wie zuvor auch)

    (achte auf die , am ende der Zeilen. In der letzten Zeile vor dem ); darf ein Komma fehlen!


    Zuletzt modifiziert von Revolution am 24.05.2014 - 16:34:15
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Revolution,
    Danke der Hilfe und die Mühe die Du Dir mit mir machst. Habe die Zeile eingefügt, auch das Komma davor ergänzt. Ergebnis ist: Nur der Dateiname wird in der vollständigen News angezeigt , nicht das Bild.
    Siehe hier: anglerfreunde-haimhausen.ciy.de/index.php?news-5

    Hier nochmal meine news.php:
    <?php
    // Copyright by: Manuel Staechele
    // Support: www.ilch.de
    // Modded by Mairu für News Extended
    defined ('main') or die ('no direct access');
    
    $title = $allgAr['title'] . ' :: News';
    $hmenu = 'News';
    $design = new design ($title , $hmenu);
    $design->addheader('<link rel="alternate" type="application/atom+xml" title="News (Atom)" href="index.php?news-atom" />
    <link rel="alternate" type="application/rss+xml" title="News (RSS)" href="index.php?news-rss" />');
    
    function news_find_kat ($kat) {
        $katpfad = 'include/images/news/';
        $katjpg = $katpfad . $kat . '.jpg';
        $katgif = $katpfad . $kat . '.gif';
        $katpng = $katpfad . $kat . '.png';
    
        if (file_exists($katjpg)) {
            $pfadzumBild = $katjpg;
        } elseif (file_exists ($katgif)) {
            $pfadzumBild = $katgif;
        } elseif (file_exists ($katpng)) {
            $pfadzumBild = $katpng;
        }
    
        if (!empty($pfadzumBild)) {
            $kategorie = '<img style="" src="' . $pfadzumBild . '" alt="' . $kat . '">';
        } else {
            $kategorie = '<b>' . $kat . '</b><br /><br />';
        }
    
        return ($kategorie);
    }
    // Schaut ob ein Name so oder ähnlich in der Datenbank vorhanden ist
    // gibt true zurück falls der Name noch nicht verwendet ist
    function checkName($name) {
        if (db_count_query("SELECT COUNT(name) FROM prefix_user WHERE name LIKE '$name'")) {
            return false;
        } else {
            return true;
        }
    }
    
    function checkKomName($name) {
        $resp = new xajaxResponse();
        if (checkName($name) OR loggedin()) {
            $resp->script('document.forms["komform"].submit();');
        } else {
            $resp->assign('komname', 'value' , '');
            $resp->alert('Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.');
            $resp->script("document.getElementById('komname').focus();");
        }
        return $resp;
    }
    // xajax für namencheck
    $xajax = new xajax();
    $xajax->configureMany(array('decodeUTF8Input' => true ,'characterEncoding' => 'ISO-8859-1', 'requestURI' => 'admin.php?news-ajax'));
    $xajax->register(XAJAX_FUNCTION, 'checkKomName');
    $xajax->processRequest();
    
    if ($menu->get(1) == 'ajax') {
        exit();
    }
    
    if (!is_numeric($menu->get(1))) {
        if ($menu->get(1) == 'rss' || $menu->get(1) == 'atom') {
            // ob_clean();
            $feed_type = $menu->get(1);
    
            $abf = "SELECT MAX(news_time) AS last_update FROM prefix_news";
            $erg = db_query($abf);
            $row = db_fetch_assoc($erg);
            $last_update = str_replace(' ', 'T', $row['last_update']) . 'Z';
    
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0));
    
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          a.titelbild as titelbild,";
            $abf .= ($feed_type == 'atom') ? 'a.news_time as datum,' : "DATE_FORMAT(a.news_time,'%a, %e %b %y %H:%i:%s') as datum,";
            $abf .=
            "a.news_kat as kate,
          a.news_text as text,
          b.name as username,
          a.html
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE (a.news_recht | 1) = a.news_recht AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND a.news_id != $tn_id AND a.`archiv` != 1 AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY news_time DESC LIMIT 15";
            $erg = db_query($abf);
            $tpl = new tpl('news_' . $menu->get(1) . '.htm');
    
            header('Content-type: application/' . $menu->get(1) . '+xml');
    
            $tpl->set_ar_out(array('FEEDTITLE' => $allgAr['title'],
                    'UPDATED' => $last_update,
                    'SITEURL' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF'])), 0);
            while ($row = db_fetch_assoc($erg)) {
    
    //  Ab hier eingefuegt fuer Bilder bei den NEWS
            if(!empty($row['titelbild'])) {
            // Bild in Datenbank vorhanden
    
            $row['titelbild'] = '<img src="/include/images/news/tilelbilder/'.$row['titelbild'].'">';
    
            }else{
            // Kein Bild in Datenbank vorhanden
    
            $row['titelbild'] = '<img src="/include/images/news/tilelbilder/kein.jpg">';
    
            }
    // Bis hier eingefuegt fuer Bilder in den NEWS
    
                if ($feed_type == 'atom') {
                    $Z = (date('Z') > 0 ? '+' : '') . date('H:i:s', date('Z') + 23 * 3600);
                    $row['datum'] = str_replace(' ', 'T', $row['datum']) . $Z;
                }
    
                $a = explode('[PREVIEWENDE]', $row['text']);
                $tpl->set_ar_out(array('TITLE' => $row['title'],
                        'TXT' => $row['html'] ? $a[0] : bbcode($a[0]),
                        'LINK' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/index.php?news-' . $row['id'],
                        'AUTHOR' => $row['username'],
                        'DATE' => $row['datum']
                        ), 1);
            }
            $tpl->out(2);
            exit;
        } else {
            $design->header();
            $limit = $allgAr['Nlimit'];
            $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
    
            //Gruppenrechte
            $groups = getGroupRights();
    
            // Topnews ausgeben
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1, v2 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0, 0));
            $tn_koms = @db_result($news_opts, 0, 1);
            $tn_sql = db_query("SELECT a.news_title as title, a.news_text, a.news_kat, a.news_recht, a.news_groups, a.html,
                    DATE_FORMAT(a.news_time,'%d. %m. %Y - %H:%i Uhr') as datum,
                    DATE_FORMAT(a.news_time,'%W') as dayofweek,
                    b.name as username,
                    c.name as editorname,
                    a.html,
                    a.edit_time,
                    a.klicks,
                    a.titelbild as titelbild,
                    b.id as uid
                FROM prefix_news a
                LEFT JOIN prefix_user as b ON a.user_id = b.id
                LEFT JOIN prefix_user as c ON a.editor_id = c.id
                WHERE a.news_id = $tn_id AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP()) AND
                (((" . pow(2, abs($_SESSION['authright'])) . " | a.news_recht) = a.news_recht) OR
                (a.news_groups != 0 AND ((a.news_groups ^ $groups) != (a.news_groups | $groups))))");
            if (db_num_rows($tn_sql) > 0) {
                $tn_r = db_fetch_assoc($tn_sql);
    
                $dontShow = false;
                if ((pow(2, abs($_SESSION['authright'])) | $tn_r['news_recht']) != $tn_r['news_recht']) {
                    $dontShow = true;
                }
                if ($dontShow) {
                    foreach($_SESSION['authgrp'] as $id => $bool) {
                        if ($bool and (pow(2, abs($id)) | $tn_r['news_groups'] == $tn_r['news_groups'])) {
                            $dontShow = false;
                            break;
                        }
                    }
                }
                if (!$dontShow) {
                    $tn_tpl = new tpl ('news/top');
                    if ($tn_koms) {
                        $tn_r['kom'] = db_count_query("SELECT COUNT(id) FROM prefix_koms WHERE uid = $tn_id AND cat = 'NEWS'");
                    }
                    $tn_r['showkom'] = $tn_koms;
                    if (strpos ($tn_r['news_text'], '[PREVIEWENDE]') !== false) {
                        $a = explode('[PREVIEWENDE]' , $tn_r['news_text']);
                        $tn_r['news_text']= $a[0];
                        $tn_r['readwholenews'] = '<a href="index.php?news-' . $tn_id . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>';
                    } else {
                         $tn_r['readwholenews'] = '';
                    }
                    $tn_r['id'] = $tn_id;
                    $tn_r['klicks'] = '<img src="include/images/icons/news/counter.gif" alt="' . $tn_r['klicks']. ' mal gelesen" title="' . $tn_r['klicks']. ' mal gelesen" border="0">';
                    $tn_r['datum']  = $lang[$tn_r['dayofweek']] . ' ' . $tn_r['datum'];
                    $tn_r['edit']   = is_null($tn_r['edit_time']) ? '' : '<br /><i>zuletzt ge&auml;ndert am ' . date('d.m.Y - H:i', strtotime($tn_r['edit_time'])) . '&nbsp;Uhr';
                    if (!empty($tn_r['edit']) and $tn_r['editorname'] != $tn_r['username']) {
                        $tn_r['edit'].= ' von ' . $tn_r['editorname']. '</i>';
                    } elseif (!empty($tn_r['edit'])) {
                        $tn_r['edit'].= '</i>';
                    }
    
                    $tn_r['kate'] = news_find_kat($tn_r['news_kat']);
                    $tn_r['text'] = $tn_r['html']? $tn_r['news_text']: bbcode($tn_r['news_text']);
                    $tn_tpl->set_ar_out($tn_r, 0);
                    unset($tn_tpl);
                }
            }
    
            //Kategorie einschränken
            if ($menu->get(1) != '' and ($menu->getA(1) != 'p' or $menu->getE(1) == 0)) {
                $kats = $katssql = array();  #collect given kats
                $i = 1;
                while($kat = escape($menu->get($i), 'string')){
                    $kats[] = $kat;
                    $katssql[] = '"' . $kat . '"';
                    $i++;
                }
                $news_kat = 'news_kat IN ('.implode(',', $katssql).') AND';
                $katmpl = '-'.implode('-', $kats);
                $page = $menu->getE('p');
                if ($page < 1) {
                    $page = 1;
                }
                $katmpl = str_replace('-p'.$page, '', $katmpl);
            } else {
                $news_kat = $katmpl = '';
                $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
            }
    
            $anfang = ($page - 1) * $limit;
    
            $MPL = db_make_sites ($page , "WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | news_recht) = news_recht) OR
                (news_groups != 0 AND ((news_groups ^ $groups) != (news_groups | $groups)))) AND $news_kat `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND archiv != 1 AND (endtime IS NULL OR endtime > UNIX_TIMESTAMP())" , $limit , '?news'.$katmpl , 'news');
            // Normale News
            $tpl = new tpl ('news/news.htm');
    
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y - %H:%i Uhr') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.name as username,
          c.name as editorname,
          a.html,
          a.edit_time,
          a.klicks,
          a.titelbild as titelbild,
          b.id as uid
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        LEFT JOIN prefix_user as c ON a.editor_id = c.id
        WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | a.news_recht) = a.news_recht) OR
              (a.news_groups != 0 AND ((a.news_groups ^ $groups) != (a.news_groups | $groups)))) AND $news_kat
            a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND a.`archiv` != 1 AND
            (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY a.news_time DESC
        LIMIT " . $anfang . "," . $limit;
    
            // echo '<pre>'.$abf.'</pre>';
            $erg = db_query($abf);
            if (db_num_rows($erg) == 0 and !empty($news_kat)) {
                echo 'Keine News in dieser Kategorie gefunden.<br />
                    <a href="index.php?news">News&uuml;bersichtsseite aufrufen</a>';
                $design->footer(1);
            }
            while ($row = db_fetch_assoc($erg)) {
                $k0m = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = " . $row['id'] . " AND cat = 'NEWS'");
                $row['kom'] = db_result($k0m, 0);
                $row['kate'] = news_find_kat($row['kate']);
                $row['datum'] = $lang[$row['dayofweek']] . ' ' . $row['datum'];
                if (strpos ($row['text'] , '[PREVIEWENDE]') !== false) {
                    $a = explode('[PREVIEWENDE]' , $row['text']);
                    $row['text'] = $a[0];
                    $row['readwholenews'] = '<a href="index.php?news-' . $row['id'] . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>';
                } else {
                    $row['readwholenews'] = '';
                }
    
    //  Ab hier eingefuegt fuer Bilder bei den NEWS
            if(!empty($row['titelbild'])) {
            // Bild in Datenbank vorhanden
    
            $row['titelbild'] = '<img src="/include/images/news/tilelbilder/'.$row['titelbild'].'">';
    
            }else{
            // Kein Bild in Datenbank vorhanden
    
            $row['titelbild'] = '<img src="/include/images/news/tilelbilder/kein.jpg">';
    
            }
    // Bis hier eingefuegt fuer Bilder in den NEWS
    
                $row['klicks'] = '<img src="include/images/icons/news/counter.gif" alt="' . $row['klicks'] . ' mal gelesen" title="' . $row['klicks'] . ' mal gelesen" border="0">';
                if (!$row['html']) {
                    $row['text'] = bbcode($row['text']);
                }
                $row['edit'] = is_null($row['edit_time']) ? '' : '<br /><i>zuletzt ge&auml;ndert am ' . date('d.m.Y - H:i', strtotime($row['edit_time'])) . '&nbsp;Uhr';
                if (!empty($row['edit']) and $row['editorname'] != $row['username']) {
                    $row['edit'] .= ' von ' . $row['editorname'] . '</i>';
                } elseif (!empty($row['edit'])) {
                    $row['edit'] .= '</i>';
                }
                $tpl->set_ar_out($row, 0);
            }
            $tpl->set_out('SITELINK', $MPL, 1);
            unset($tpl);
        }
    } else {
        $design->header();
        $xajax->printJavascript();
    
        $nid = escape($menu->get(1), 'integer');
        $erg = db_query("SELECT * FROM `prefix_news` WHERE `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id = '" . $nid . "'");
        if (db_num_rows($erg) == 0) {
            $dontShow = true;
        } else {
            $dontShow = false;
            $row = db_fetch_object($erg);
            if ((pow(2, abs($_SESSION['authright'])) | $row->news_recht) != $row->news_recht) {
                $dontShow = true;
            }
            if ($dontShow) {
                foreach($_SESSION['authgrp'] as $id => $bool) {
                    if ($bool and (pow(2, abs($id)) | $row->news_groups) == $row->news_groups) {
                        $dontShow = false;
                        break;
                    }
                }
            }
        }
    
        if ($dontShow) {
            echo 'News existiert nicht oder Sie haben keine Rechte sie zu sehen.  <a href="javascript:history.back();">zur&uuml;ck</a>';
            $design->footer(1);
        }
    
        $komsOK = true;
        if ($allgAr['Ngkoms'] == 0) {
            if (loggedin()) {
                $komsOK = true;
            } else {
                $komsOK = false;
            }
        }
        if ($allgAr['Nukoms'] == 0) {
            $komsOK = false;
        }
    
        $kom_info = '';
        // kommentar add
        if ((loggedin() OR chk_antispam ('newskom')) AND $komsOK AND !empty($_POST['name']) AND !empty($_POST['txt'])) {
            $_POST['txt'] = escape($_POST['txt'], 'string');
            $_POST['name'] = escape($_POST['name'], 'string');
            if (checkName($_POST['name']) or loggedin()) {
                if (loggedin()) {
                    $_POST['name'] = $_SESSION['authname'];
                }
                db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`) VALUES (" . $nid . ",'NEWS','" . $_POST['name'] . "','" . $_POST['txt'] . "')");
            } else {
                $kom_info = '<span style="color:red;">Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.</span><br />';
            }
        }
        // kommentar add
        // kommentar loeschen
        if ($menu->getA(2) == 'd' AND is_numeric($menu->getE(2)) AND has_right(- 7, 'news')) {
            $kommentar_id = escape($menu->getE(2), 'integer');
            db_query("DELETE FROM prefix_koms WHERE uid = " . $nid . " AND cat = 'NEWS' AND id = " . $kommentar_id);
        }
        // kommentar loeschen
        $kategorie = news_find_kat($row->news_kat);
    
        $textToShow = $row->html ? $row->news_text : bbcode($row->news_text);
        $textToShow = str_replace('[PREVIEWENDE]', '', $textToShow);
        if (!empty($such)) {
            $textToShow = markword($textToShow, $such);
        }
        // klicks zaehlen
        db_query("UPDATE prefix_news SET klicks = klicks + 1 WHERE news_id = " . $nid);
    
        $tpl = new tpl ('news/news.htm');
        $ar = array (
            'TEXT' => $textToShow,
            'KATE' => $kategorie,
            'NID' => $nid,
            'uname' => $_SESSION['authname'],
            'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
            'NAME' => $row->news_title,
            'info' => $kom_info,
            'titelbild' => $row->titelbild
            );
        $tpl->set_ar_out($ar, 2);
    
        if ($komsOK) {
            $tpl->set_ar_out (array ('NAME' => $row->news_title , 'NID' => $nid, 'style' => loggedin() ? 'style="display:none;"' : ''), 3);
        }
        $erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = " . $nid . " AND cat = 'NEWS' ORDER BY id DESC");
        $ergAnz1 = db_num_rows($erg1);
        if ($ergAnz1 == 0) {
            echo '<b>' . $lang['nocomments'] . '</b>';
        } else {
            $zahl = $ergAnz1;
            while ($row1 = db_fetch_assoc($erg1)) {
                $row1['text'] = bbcode(trim($row1['text']));
                if (has_right(- 7, 'news')) {
                    $row1['text'] .= '<a href="javascript:delkom(' . $nid . ',' . $row1['id'] . ')"><img src="include/images/icons/del.gif" alt="l&ouml;schen" border="0" title="l&ouml;schen" /></a>';
                }
                $tpl->set_ar_out(array('NAME' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl) , 4);
                $zahl--;
            }
        }
        $tpl->out(5);
    }
    
    $design->footer();
    
    ?>

    Vieleicht kannst Du ja noch mal drüber schauen.

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Das Stimmt natürlich, bisher haben wir nur den Datenbankwert ausgegeben.

    Das Array in Zeile 377 bis 386 beschreibt die Platzhalter und die Ausgabe die dort erfolgen soll.

    titelbild => $row->titelbild,

    heist also, in den Platzhalter {titelbild} den Wert aus $row->titelbild eintragen, eine anpassung als Image Tag fehlt also noch.
    Die eigentliche Ausgabe erfolgt dann in Zeile 387, mit set_ar_out.


    Damit ein Bild ausgegeben wird, muss folgendes geamcht werden.

    Dazu vor dem Array Zeile 377 folgendes einfügen.
    Es ist von der Idee der bekannte Codeabschnitt.

    if(!empty($row->titelbild)) {
            // Bild in Datenbank vorhanden
     
            $row->titelbild = '<img src="/include/images/news/tilelbilder/'.$row->titelbild.'">';
     
            }else{
            // Kein Bild in Datenbank vorhanden
     
            $row->titelbild = '<img src="/include/images/news/tilelbilder/kein.jpg">';
     
            }


    Damit wird $row->titelbild in jedemfall mit einem Imagetag gefüllt.
    Wenn es klappt, kann ja als nächstes der Adminbereich folgen lachen


    Zuletzt modifiziert von Revolution am 25.05.2014 - 02:39:56
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Revolution,
    bin am verzweifeln.
    hab es so eingefügt und erhalte folgenden Fehler:

    Fatal error: Cannot use object of type stdClass as array in /data/multiserv/users/1178445/projects/2587862/www/include/contents/news/news.php on line 382

    Sowohl auf localhost auf meinem Rechner (unter XAMPP) bzw oben angegebenem Link.
    Hier der Code_Abschnitt Zeile 373 bis 401 aus news.php:

        // klicks zaehlen
        db_query("UPDATE prefix_news SET klicks = klicks + 1 WHERE news_id = " . $nid);
    
        $tpl = new tpl ('news/news.htm');
    
    // Anfang Eingefuegt Bilder anzeigen
        if(!empty($row->titelbild)) {
            // Bild in Datenbank vorhanden
    
            $row->titelbild = '<img src="/include/images/news/tilelbilder/'.$row['titelbild'].'">';
    
            }else{
            // Kein Bild in Datenbank vorhanden
    
            $row->titelbild = '<img src="/include/images/news/tilelbilder/kein.jpg">';
    
            }
    // Ende Einfuegen Bilder anzeigen
    
        $ar = array (
            'TEXT' => $textToShow,
            'KATE' => $kategorie,
            'NID' => $nid,
            'uname' => $_SESSION['authname'],
            'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
            'NAME' => $row->news_title,
            'info' => $kom_info,
            'titelbild' => $row->titelbild
            );


    MfG heinz2



    Codeabschnitt Startzeile eingefügt
    Zuletzt modifiziert von Revolution am 25.05.2014 - 02:40:50
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Ok, es liegt natürlich an meiner aufmerksamkeit lachen

    Im Letzten Codeabschnitt (siehe oben) musst du natürlich aus $row['titelbild'] ein $row->titelbild machen.
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Revolution,

    ich bedanke mich für die Mühe. Jetzt funktioniert die Bildausgabe. Wenn Du möchtest können den Adminbereich einrichten.
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Schonmal schön das die Ausgabe nun Funktioniert lachen

    Poste doch biite einmal die news.php aus dem Ordner incude/admin/
    Dann geht es nun Schritt für Schritt an den Adminbereich:D hoffentlich klappt der besser lachen


    Zuletzt modifiziert von Revolution am 25.05.2014 - 20:05:22
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Revolution,


    hier die Datei news.php aus dem Ordner include/admin/

    <?php
    // Copyright by: Manuel Staechele
    // Support: www.ilch.de
    // Modded by Mairu für News Extended
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    if (!isset($_SESSION['allowFCKUpload'])) {
    	$_SESSION['allowFCKUpload'] = true;
    }
    
    // -----------------------------------------------------------|
    // #
    // ##
    // ###
    // #### F u n k t i o n e n
    function dz_timestamp($d, $t = '00:00') {
        $d = trim($d);
        $t = trim($t);
        if (preg_match('/^\d{1,2}.\d{1,2}.(\d{2}|\d{4})$/', $d) == false OR preg_match('/^\d{1,2}:\d\d$/', $t) == false) {
            return false;
        }
        $d = explode('.', $d);
        $t = explode(':', $t);
        if ($o = mktime($t[0], $t[1], 0, $d[1], $d[0], $d[2])) {
            return $o;
        } else {
            return false;
        }
    }
    
    function getKats ($akt , $addkat = '', $self = false) {
        $katAr = array();
        if ($self) {
            $katAr['#0#'] = 'selbst w&auml;hlen';
        }
        $katAr['Allgemein'] = 'Allgemein';
    
        $kats = '';
        $erg = db_query("SELECT DISTINCT news_kat FROM `prefix_news`");
        while ($row = db_fetch_object($erg)) {
            $katAr[$row->news_kat] = $row->news_kat;
        }
        if (!empty($addkat) AND $addkat != '#0#') {
            $katAr[$addkat] = $addkat;
        }
        $katAr = array_unique($katAr);
    
        foreach($katAr as $k => $a) {
            if (trim($k) == trim($akt)) {
                $sel = 'selected="selected"';
            } else {
                $sel = '';
            }
            $kats .= '<option value="' . $k . '" ' . $sel . '>' . $a . '</option>';
        }
        return ($kats);
    }
    
    function vorschau($form) {
        global $info;
        $resp = new xajaxResponse();
        $txt = bbcode($form['txt']);
        $resp->assign('vorschau_td', 'innerHTML' , $txt);
        $resp->script("document.getElementById('vorschau').style.display = 'block';");
        if (isset($info['ImgMaxBreite'])) {
            $resp->script("ResizeBBCodeImages()");
        }
        return $resp;
    }
    
    function vorschau_id($id) {
        global $info;
        $resp = new xajaxResponse();
        $txt = @db_result($q = db_query("SELECT news_text, html FROM prefix_news WHERE news_id = '$id'"), 0, 0);
        if (@db_result($q, 0, 1) == 0) {
            $txt = bbcode($txt);
        }
        $resp->assign('vorschau_td', 'innerHTML' , $txt);
        $resp->script("document.getElementById('vorschau').style.display = 'block';");
        if (isset($info['ImgMaxBreite'])) {
            $resp->script("ResizeBBCodeImages()");
        }
        return $resp;
    }
    
    function tn_koms() {
        $resp = new xajaxResponse();
        $now = @db_result(db_query('SELECT v2 FROM prefix_allg WHERE k = "news"'), 0);
        db_query('UPDATE prefix_allg SET v2 = IF(v2=1,0,1) WHERE k = "news"');
        $linktxt = $now == '0' ? 'ja' : 'nein';
        $resp->assign('tn_koms', 'innerHTML' , $linktxt);
        return $resp;
    }
    
    function saveopts($newsempf, $kat) {
        $resp = new xajaxResponse();
        if (!db_query("UPDATE prefix_allg SET v3 = '$newsempf', v4 = '$kat' WHERE k = 'News'")) {
            $resp->alert("Fehler aufgetreten:\n" . mysql_error());
        }
        return $resp;
    }
    
    function setArchiv($id, $old) {
        $resp = new xajaxResponse();
        $new = $old == 'A' ? 0 : 1;
        if (db_query("UPDATE prefix_news SET archiv = $new WHERE news_id = '$id'")) {
            $resp->assign('archiv_link_' . $id, 'innerHTML' , $old == 'A' ? 'N' : 'A');
        } else {
            $resp->alert("Fehler:\n" . mysql_error());
        }
        return $resp;
    }
    // xajax für vorschau
    $xajax = new xajax();
    $xajax->configureMany(array('decodeUTF8Input' => true ,'characterEncoding' => 'ISO-8859-1', 'requestURI' => 'admin.php?news-ajax'));
    
    $xajax->register(XAJAX_FUNCTION, 'vorschau');
    $xajax->register(XAJAX_FUNCTION, 'vorschau_id');
    $xajax->register(XAJAX_FUNCTION, 'tn_koms');
    $xajax->register(XAJAX_FUNCTION, 'saveopts');
    $xajax->register(XAJAX_FUNCTION, 'setArchiv');
    $xajax->processRequest();
    // #### F u n k t i o n
    // ###
    // ##
    // #
    
    // #
    // ##
    // ###
    // #### A k t i o n e n
    $design = new design ('Admins Area', 'Admins Area', 2);
    $design->header();
    
    if (!empty($_REQUEST['um'])) {
        $um = $_REQUEST['um'];
        $newscreatetime = time();
        $newschangesqladd = '';
        $archiv = 0;
        // Sperre
        if ($_POST['gesperrt'] != 'on') {
            $show = dz_timestamp($_POST['datum'], $_POST['zeit']);
            if (!$show) {
                $show = 1;
            } elseif (isset($_POST['set_time'])) {
                $newscreatetime = $show;
                $newschangesqladd .= ',news_time = FROM_UNIXTIME(' . $show . '), editor_id  = NULL, edit_time  = NULL';
                debug('TEST: ' . $newscreatetimech);
            }
        } else {
            $show = 0;
        }
        // Enddatum
        if ($_POST['close'] == '0') {
            $endtime = 'NULL';
        } elseif ($_POST['close'] == '1') {
            $endtime = dz_timestamp($_POST['cdatum'], $_POST['czeit']);
        } else {
            $endtime = dz_timestamp($_POST['cdatum'], $_POST['czeit']);
            $archiv = 2;
        }
    
    	//Grundrechte + Gruppen
    	if ($um == 'insert' or $um == 'change') {
    		$grecht = 0;
    		for($i=0; $i<10; $i++) {
    			if (isset($_POST['grecht_'.$i])) {
    				$grecht = $grecht | pow(2, $i);
    			}
    		}
    
    		$groups = 0;
    		$sql = db_query("SELECT id FROM prefix_groups");
    		while ($r = db_fetch_assoc($sql)){
    			if (isset($_POST['groups_'.$r['id']])) {
    				$groups = $groups | pow(2, $r['id']);
    			}
    		}
    	}
    
    
        if ($um == 'insert') {
            // insert
            $text = escape($_POST['txt'], 'textarea');
            if ($_POST['katLis'] == 'neu') {
                $_POST['katLis'] = $_POST['kat'];
            }
    
            db_query("INSERT INTO `prefix_news` (news_title,user_id,news_time,news_recht,news_groups,news_kat,news_text,html,`show`,archiv,endtime)
    		VALUES ('" . $_POST['titel'] . "'," . $_SESSION['authid'] . ",FROM_UNIXTIME(".$newscreatetime.")," . $grecht . "," . $groups . ",'" . $_POST['katLis'] . "','" . $text . "','" . $_POST['html'] . "',$show,$archiv,$endtime)");
            // insert
        } elseif ($um == 'change') {
            // edit
            $text = escape($_POST['txt'], 'textarea');
    
            if ($_POST['katLis'] == 'neu') {
                $_POST['katLis'] = $_POST['kat'];
            }
            db_query('UPDATE `prefix_news` SET
    				news_title = "' . escape($_POST['titel'], 'string') . '",
    				editor_id  = "' . $_SESSION['authid'] . '",
    				edit_time  = NOW(),
    				news_recht = "' . $grecht . '",
    				news_groups = "' . $groups . '",
    				news_kat   = "' . $_POST['katLis'] . '",
    				html       = "' . $_POST['html'] . '",
    				`show`     = ' . $show . ',
    				archiv     = ' . $archiv . ',
    				endtime     = ' . $endtime . ',
                    news_text  = "' . $text . '"' . $newschangesqladd . ' WHERE news_id = "' . $_POST['newsID'] . '" LIMIT 1');
            $edit = $_POST['newsID'];
        }
    }
    // edit
    // del
    if ($menu->get(1) == 'del') {
        db_query('DELETE FROM `prefix_news` WHERE news_id = "' . $menu->get(2) . '" LIMIT 1');
    }
    // del
    // Sperren/Freischalten
    if ($menu->getA(1) == 's') {
        db_query('UPDATE `prefix_news` SET `show` = IF(`show`>0,0,1) WHERE news_id = "' . $menu->getE(1) . '" LIMIT 1');
    }
    // Sperren/Freischalten
    // Topnews
    if ($menu->getA(1) == 't') {
        db_query('UPDATE `prefix_allg` SET `v1` = "' . $menu->getE(1) . '" WHERE k = "news" LIMIT 1');
    }
    // Topnews
    // #### A k t i o n e n
    // ###
    // ##
    // #
    
    // #
    // ##
    // ###
    // #### h t m l   E i n g a b e n
    if (empty ($doNoIn)) {
        $limit = 20; // Limit
        $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
        $MPL = db_make_sites ($page , '' , $limit , "?news" , 'news');
        $anfang = ($page - 1) * $limit;
        if ($menu->get(1) != 'edit') {
            $FnewsID = '';
            $Faktion = 'insert';
            $Fueber = '';
            $Fstext = '';
            $Ftxt = '';
            $Fgrecht = 1023;
            $Fgroups = 0;
            $FkatLis = '';
            $Fsub = 'Eintragen';
            $Fhtml = '';
            $sel0 = 'checked="checked"';
            $sel1 = '';
            $sel_show = 'checked="checked"';
            $datum = date('d.m.Y');
            $zeit = date('H:i');
            $csel0 = 'checked="checked"';
            $csel1 = '';
            $csel2 = '';
            $cdatum = date('d.m.Y', time() + 604800);
            $czeit = date('H:i');
        } else {
            $row = db_fetch_object(db_query("SELECT * FROM `prefix_news` WHERE news_id = " . $menu->get(2)));
            $FnewsID = $row->news_id;
            $Faktion = 'change';
            $Fueber = str_replace('"', '&quot;', $row->news_title);
            $Ftxt = stripslashes($row->news_text);
            $Fgrecht = $row->news_recht;
            $Fgroups = $row->news_groups;
            $FkatLis = $row->news_kat;
            $Fsub = '&Auml;ndern';
            $Fhtml = $row->html == 1 ? 'switch_html();' : '';
            if ($row->show == 0) {
                $sel_gesperrt = 'checked="checked"';
                $datum = '';
                $zeit = '';
            } else {
                $sel_gesperrt = '';
                $row->show = $row->show < 10000 ? time() : $row->show;
                $datum = date('d.m.Y', $row->show);
                $zeit = date('H:i', $row->show);
            }
            $sel0 = $sel1 = '';
            if ($row->html) {
                $sel1 = 'checked="checked"';
            } else {
                $sel0 = 'checked="checked"';
            }
            $csel0 = $csel1 = $csel2 = '';
            if ($row->archiv == 1) {
                $csel2 = 'checked="checked"';
                $row->endtime = time() - 1000;
            } elseif (is_null($row->endtime)) {
                $csel0 = 'checked="checked"';
                $row->endtime = time() + 604800;
            } elseif ($row->archiv == 2) {
                $csel2 = 'checked="checked"';
            } else {
                $csel1 = 'checked="checked"';
            }
            $cdatum = date('d.m.Y', $row->endtime);
            $czeit = date('H:i', $row->endtime);
        }
        $tpl = new tpl ('news', 1);
    
        $ar = array (
            'NEWSID' => $FnewsID,
            'AKTION' => $Faktion,
            'MPL' => $MPL,
            'UEBER' => $Fueber,
            'txt' => $Ftxt,
            'SMILIS' => getsmilies(),
            // 'grecht' => dbliste($Fgrecht,$tpl,'grecht',"SELECT id,name FROM prefix_grundrechte ORDER BY id DESC"),
            'KATS' => getKats($FkatLis),
            'FSUB' => $Fsub,
            'sel0' => $sel0,
            'sel1' => $sel1,
            'sel_gesperrt' => $sel_gesperrt,
            'datum' => $datum,
            'zeit' => $zeit,
            'csel0' => $csel0,
            'csel1' => $csel1,
            'csel2' => $csel2,
            'cdatum' => $cdatum,
            'czeit' => $czeit,
            'xajax' => $xajax->getJavascript()
            );
        // Grundrechte
        $ar['grecht'] = '';
        $qry = db_query('SELECT ABS(id) as id, name FROM prefix_grundrechte ORDER BY id');
        while ($r = db_fetch_assoc($qry)) {
            $ar['grecht'] .= '<span style="white-space: nowrap; margin-right: 5px;"><input type="checkbox" id="grecht_' . $r['id'] . '" name="grecht_' . $r['id'] . '" ' .
            (($Fgrecht == ($Fgrecht | pow(2, $r['id']))) ? 'checked="checked"' : '') . ' />' .
            '<label for="grecht_' . $r['id'] . '">' . $r['name'] . "</label></span>\n";
        }
        // Groups
        $ar['groups'] = '';
        $qry = db_query('SELECT id, name FROM prefix_groups ORDER BY id');
        while ($r = db_fetch_assoc($qry)) {
            $ar['groups'] .= '<span style="white-space: nowrap; margin-right: 5px;"><input type="checkbox" id="groups_' . $r['id'] . '" name="groups_' . $r['id'] . '" ' .
            (($Fgroups == ($Fgroups | pow(2, $r['id']))) ? 'checked="checked"' : '') . ' />' .
            '<label for="groups_' . $r['id'] . '">' . $r['name'] . "</label></span>\n";
        }
    
        $tpl->set_ar_out($ar, 0);
        if (isset($info['ImgMaxBreite'])) {
            $tpl->out(2); //BBCode 2.0 Modul
        } else {
            $tpl->out(1); //BBCode vom Ilchscript
        }
        $tpl->set_ar_out($ar, 3);
        // e d i t , d e l e t e
        $abf = 'SELECT *
    	        FROM `prefix_news`
    					ORDER BY news_time DESC
    					LIMIT ' . $anfang . ',' . $limit;
    
        $erg = db_query($abf);
        $class = '';
        $opts = db_fetch_object(db_query("SELECT v1 as topnews, v2 as koms,v3 as pmempf,v4 as kat FROM prefix_allg WHERE k = 'news'"));
    
        while ($row = db_fetch_object($erg)) {
            $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
    
            $tpl->set_ar_out(array ('ID' => $row->news_id,
                    'class' => $class,
                    'TITEL' => $row->news_title,
                    'sperre' => $row->show >= 1 ? 'jep' : 'nop',
                    'sperren' => $row->show >= 1 ? 'Sperren' : 'Freischalten',
                    'title' => "Ersteller: " . get_n($row->user_id) . " ($row->news_time)" . (is_null($row->editor_id) ? '' : "\nGe&auml;ndert von: " . get_n($row->editor_id) . " ($row->edit_time)"),
                    'topnews' => $row->news_id == $opts->topnews ? 'ok' : 'leer',
                    'archiv' => (($row->archiv == 1) OR ($row->archiv == 2 AND $row->endtime < time())) ? 'A' : 'N'
                    ) , 4);
        }
        // e d i t , d e l e t e
        // Mögliche PM-Empfänger
        $pmq = db_query("SELECT a.id, a.name FROM prefix_user a LEFT JOIN prefix_modulerights b ON b.mid = 2 AND b.uid = a.id WHERE a.recht <= -8 OR b.mid IS NOT NULL");
        $pmempf = '';
        $pmar = explode('#', $opts->pmempf);
        while ($r = db_fetch_object($pmq)) {
            $sel = in_array($r->id, $pmar) ? 'selected="selected"' : '';
            $pmempf .= "<option value=\"$r->id\" $sel>$r->name</option>";
        } // while
        $tpl->set_ar_out(array (
                'MPL' => $MPL,
                'html' => $Fhtml,
                'tn_koms' => $opts->koms == '1' ? 'ja' : 'nein',
                'nadd_kat' => getKats($opts->kat, $opts->kat , true),
                'pmempf' => $pmempf
                ) , 5);
    }
    
    $design->footer();
    
    ?>


    MfG
    heinz2
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    ICh Poste hier einfach mal die Datei, du kannst ja mal drüber sehen lachen
    Die Geschichte mit der Bild-Auswahl Poste ich danach.

    news.php (include/admin)
    <?php
    
    // Copyright by: Manuel Staechele
    // Support: www.ilch.de
    // Modded by Mairu für News Extended
    defined('main') or die('no direct access');
    defined('admin') or die('only admin access');
    
    if (!isset($_SESSION['allowFCKUpload'])) {
        $_SESSION['allowFCKUpload'] = true;
    }
    
    // -----------------------------------------------------------|
    // #
    // ##
    // ###
    // #### F u n k t i o n e n
    function dz_timestamp($d, $t = '00:00')
    {
        $d = trim($d);
        $t = trim($t);
        if (preg_match('/^\d{1,2}.\d{1,2}.(\d{2}|\d{4})$/', $d) == false OR preg_match('/^\d{1,2}:\d\d$/', $t) == false) {
            return false;
        }
        $d = explode('.', $d);
        $t = explode(':', $t);
        if ($o = mktime($t[0], $t[1], 0, $d[1], $d[0], $d[2])) {
            return $o;
        } else {
            return false;
        }
    }
    
    function getKats($akt, $addkat = '', $self = false)
    {
        $katAr = array();
        if ($self) {
            $katAr['#0#'] = 'selbst w&auml;hlen';
        }
        $katAr['Allgemein'] = 'Allgemein';
    
        $kats = '';
        $erg = db_query("SELECT DISTINCT news_kat FROM `prefix_news`");
        while ($row = db_fetch_object($erg)) {
            $katAr[$row->news_kat] = $row->news_kat;
        }
        if (!empty($addkat) AND $addkat != '#0#') {
            $katAr[$addkat] = $addkat;
        }
        $katAr = array_unique($katAr);
    
        foreach ($katAr as $k => $a) {
            if (trim($k) == trim($akt)) {
                $sel = 'selected="selected"';
            } else {
                $sel = '';
            }
            $kats .= '<option value="' . $k . '" ' . $sel . '>' . $a . '</option>';
        }
        return ($kats);
    }
    
    function vorschau($form)
    {
        global $info;
        $resp = new xajaxResponse();
        $txt = bbcode($form['txt']);
        $resp->assign('vorschau_td', 'innerHTML', $txt);
        $resp->script("document.getElementById('vorschau').style.display = 'block';");
        if (isset($info['ImgMaxBreite'])) {
            $resp->script("ResizeBBCodeImages()");
        }
        return $resp;
    }
    
    function vorschau_id($id)
    {
        global $info;
        $resp = new xajaxResponse();
        $txt = @db_result($q = db_query("SELECT news_text, html FROM prefix_news WHERE news_id = '$id'"), 0, 0);
        if (@db_result($q, 0, 1) == 0) {
            $txt = bbcode($txt);
        }
        $resp->assign('vorschau_td', 'innerHTML', $txt);
        $resp->script("document.getElementById('vorschau').style.display = 'block';");
        if (isset($info['ImgMaxBreite'])) {
            $resp->script("ResizeBBCodeImages()");
        }
        return $resp;
    }
    
    function tn_koms()
    {
        $resp = new xajaxResponse();
        $now = @db_result(db_query('SELECT v2 FROM prefix_allg WHERE k = "news"'), 0);
        db_query('UPDATE prefix_allg SET v2 = IF(v2=1,0,1) WHERE k = "news"');
        $linktxt = $now == '0' ? 'ja' : 'nein';
        $resp->assign('tn_koms', 'innerHTML', $linktxt);
        return $resp;
    }
    
    function saveopts($newsempf, $kat)
    {
        $resp = new xajaxResponse();
        if (!db_query("UPDATE prefix_allg SET v3 = '$newsempf', v4 = '$kat' WHERE k = 'News'")) {
            $resp->alert("Fehler aufgetreten:\n" . mysql_error());
        }
        return $resp;
    }
    
    function setArchiv($id, $old)
    {
        $resp = new xajaxResponse();
        $new = $old == 'A' ? 0 : 1;
        if (db_query("UPDATE prefix_news SET archiv = $new WHERE news_id = '$id'")) {
            $resp->assign('archiv_link_' . $id, 'innerHTML', $old == 'A' ? 'N' : 'A');
        } else {
            $resp->alert("Fehler:\n" . mysql_error());
        }
        return $resp;
    }
    
    function NewsBildUpload($dateiname)
    {
        $zielordner = "include/images/news/titelbilder/";
    
        if (!empty($dateiname)) {
            $name = $dateiname['name'];
            $type = $dateiname['type'];
            $size = $dateiname['size'];
            $temp_path = $dateiname['tmp_name'];
            $erlaubteFiletypes = array("image/gif", "image/jpeg", "image/png");
    
            if ($x = array_search($type, $erlaubteFiletypes)) {
    
    
                // Dateiamen und Dateiendungen
                $datei = explode('.', $name);
                $dateiname = $datei[0];
                $dateiendung = $datei[1];
    
                $bild_url = $zielordner . $name;
    
                if (@move_uploaded_file($temp_path, $bild_url)) {
                    @chmod($bild_url, 0777);
                    echo "Datei erfolgreich hochgeladen";
                } else {
                    echo "Datei wurde nicht hochgeladen";
                }
            } else {
                echo "Dateitype ist nicht erlaubt";
            }
        }
    }
    
    // xajax für vorschau
    $xajax = new xajax();
    $xajax->configureMany(array('decodeUTF8Input' => true, 'characterEncoding' => 'ISO-8859-1', 'requestURI' => 'admin.php?news-ajax'));
    
    $xajax->register(XAJAX_FUNCTION, 'vorschau');
    $xajax->register(XAJAX_FUNCTION, 'vorschau_id');
    $xajax->register(XAJAX_FUNCTION, 'tn_koms');
    $xajax->register(XAJAX_FUNCTION, 'saveopts');
    $xajax->register(XAJAX_FUNCTION, 'setArchiv');
    $xajax->processRequest();
    // #### F u n k t i o n
    // ###
    // ##
    // #
    // #
    // ##
    // ###
    // #### A k t i o n e n
    $design = new design('Admins Area', 'Admins Area', 2);
    $design->header();
    
    if (!empty($_REQUEST['um'])) {
        $um = $_REQUEST['um'];
        $newscreatetime = time();
        $newschangesqladd = '';
        $archiv = 0;
        // Sperre
        if ($_POST['gesperrt'] != 'on') {
            $show = dz_timestamp($_POST['datum'], $_POST['zeit']);
            if (!$show) {
                $show = 1;
            } elseif (isset($_POST['set_time'])) {
                $newscreatetime = $show;
                $newschangesqladd .= ',news_time = FROM_UNIXTIME(' . $show . '), editor_id  = NULL, edit_time  = NULL';
                debug('TEST: ' . $newscreatetimech);
            }
        } else {
            $show = 0;
        }
        // Enddatum
        if ($_POST['close'] == '0') {
            $endtime = 'NULL';
        } elseif ($_POST['close'] == '1') {
            $endtime = dz_timestamp($_POST['cdatum'], $_POST['czeit']);
        } else {
            $endtime = dz_timestamp($_POST['cdatum'], $_POST['czeit']);
            $archiv = 2;
        }
    
        //Grundrechte + Gruppen
        if ($um == 'insert' or $um == 'change') {
            $grecht = 0;
            for ($i = 0; $i < 10; $i++) {
                if (isset($_POST['grecht_' . $i])) {
                    $grecht = $grecht | pow(2, $i);
                }
            }
    
            $groups = 0;
            $sql = db_query("SELECT id FROM prefix_groups");
            while ($r = db_fetch_assoc($sql)) {
                if (isset($_POST['groups_' . $r['id']])) {
                    $groups = $groups | pow(2, $r['id']);
                }
            }
        }
    
    
        if ($um == 'insert') {
            // insert
            $text = escape($_POST['txt'], 'textarea');
            if ($_POST['katLis'] == 'neu') {
                $_POST['katLis'] = $_POST['kat'];
            }
    
            if (!empty($_FILES['titelbild']['name'])) {
                NewsBildUpload($_FILES['titelbild']);
                $titelbild = escape($_FILES['titelbild']['name'],'String');
                
            }else if(!empty($_POST['titelbildpfad'])){
                $titelbild = escape($_POST['titelbildpfad'],'String');
            }
            
            db_query("INSERT INTO `prefix_news` (news_title,user_id,news_time,news_recht,news_groups,news_kat,news_text,html,`show`,archiv,endtime,titelbild)
            VALUES ('" . $_POST['titel'] . "'," . $_SESSION['authid'] . ",FROM_UNIXTIME(" . $newscreatetime . ")," . $grecht . "," . $groups . ",'" . $_POST['katLis'] . "','" . $text . "','" . $_POST['html'] . "',$show,$archiv,'" . $endtime . "', '" . $titelbild . "')");
            // insert
        } elseif ($um == 'change') {
            // edit
            $text = escape($_POST['txt'], 'textarea');
    
            if ($_POST['katLis'] == 'neu') {
                $_POST['katLis'] = $_POST['kat'];
            }
            
            if (!empty($_FILES['titelbild']['name'])) {
                NewsBildUpload($_FILES['titelbild']);
                $titelbild = escape($_FILES['titelbild']['name'],'String');
                
            }else if(!empty($_POST['titelbildpfad'])){
                $titelbild = escape($_POST['titelbildpfad'],'String');
            }
            
    
            
            db_query('UPDATE `prefix_news` SET
                    news_title = "' . escape($_POST['titel'], 'string') . '",
                    editor_id  = "' . $_SESSION['authid'] . '",
                    edit_time  = NOW(),
                    news_recht = "' . $grecht . '",
                    news_groups = "' . $groups . '",
                    news_kat   = "' . $_POST['katLis'] . '",
                    html       = "' . $_POST['html'] . '",
                    `show`     = ' . $show . ',
                    archiv     = ' . $archiv . ',
                    endtime     = "' . $endtime . '",
                    titelbild  = "' . $titelbild . '",
                    news_text  = "' . $text . '"' . $newschangesqladd . ' WHERE news_id = "' . $_POST['newsID'] . '" LIMIT 1');
            $edit = $_POST['newsID'];
        }
    }
    // edit
    // del
    if ($menu->get(1) == 'del') {
        db_query('DELETE FROM `prefix_news` WHERE news_id = "' . $menu->get(2) . '" LIMIT 1');
    }
    // del
    // Sperren/Freischalten
    if ($menu->getA(1) == 's') {
        db_query('UPDATE `prefix_news` SET `show` = IF(`show`>0,0,1) WHERE news_id = "' . $menu->getE(1) . '" LIMIT 1');
    }
    // Sperren/Freischalten
    // Topnews
    if ($menu->getA(1) == 't') {
        db_query('UPDATE `prefix_allg` SET `v1` = "' . $menu->getE(1) . '" WHERE k = "news" LIMIT 1');
    }
    // Topnews
    // #### A k t i o n e n
    // ###
    // ##
    // #
    // #
    // ##
    // ###
    // #### h t m l   E i n g a b e n
    if (empty($doNoIn)) {
        $limit = 20; // Limit
        $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
        $MPL = db_make_sites($page, '', $limit, "?news", 'news');
        $anfang = ($page - 1) * $limit;
        if ($menu->get(1) != 'edit') {
            $FnewsID = '';
            $Faktion = 'insert';
            $Fueber = '';
            $Fstext = '';
            $Ftxt = '';
            $Fgrecht = 1023;
            $Fgroups = 0;
            $FkatLis = '';
            $Fsub = 'Eintragen';
            $Fhtml = '';
            $sel0 = 'checked="checked"';
            $sel1 = '';
            $sel_show = 'checked="checked"';
            $datum = date('d.m.Y');
            $zeit = date('H:i');
            $csel0 = 'checked="checked"';
            $csel1 = '';
            $csel2 = '';
            $cdatum = date('d.m.Y', time() + 604800);
            $czeit = date('H:i');
            $previewbild = '';
            
        } else {
            $row = db_fetch_object(db_query("SELECT * FROM `prefix_news` WHERE news_id = " . $menu->get(2)));
            $FnewsID = $row->news_id;
            $Faktion = 'change';
            $Fueber = str_replace('"', '&quot;', $row->news_title);
            $Ftxt = stripslashes($row->news_text);
            $Fgrecht = $row->news_recht;
            $Fgroups = $row->news_groups;
            $FkatLis = $row->news_kat;
            $Fsub = '&Auml;ndern';
            $Fhtml = $row->html == 1 ? 'switch_html();' : '';
            if ($row->show == 0) {
                $sel_gesperrt = 'checked="checked"';
                $datum = '';
                $zeit = '';
            } else {
                $sel_gesperrt = '';
                $row->show = $row->show < 10000 ? time() : $row->show;
                $datum = date('d.m.Y', $row->show);
                $zeit = date('H:i', $row->show);
            }
            $sel0 = $sel1 = '';
            if ($row->html) {
                $sel1 = 'checked="checked"';
            } else {
                $sel0 = 'checked="checked"';
            }
            $csel0 = $csel1 = $csel2 = '';
            if ($row->archiv == 1) {
                $csel2 = 'checked="checked"';
                $row->endtime = time() - 1000;
            } elseif (is_null($row->endtime)) {
                $csel0 = 'checked="checked"';
                $row->endtime = time() + 604800;
            } elseif ($row->archiv == 2) {
                $csel2 = 'checked="checked"';
            } else {
                $csel1 = 'checked="checked"';
            }
            $cdatum = date('d.m.Y', $row->endtime);
            $czeit = date('H:i', $row->endtime);
            $previewbild = $row->titelbild;
        }
        $tpl = new tpl('news', 1);
    
        $ar = array(
            'NEWSID' => $FnewsID,
            'AKTION' => $Faktion,
            'MPL' => $MPL,
            'UEBER' => $Fueber,
            'txt' => $Ftxt,
            'SMILIS' => getsmilies(),
            // 'grecht' => dbliste($Fgrecht,$tpl,'grecht',"SELECT id,name FROM prefix_grundrechte ORDER BY id DESC"),
            'KATS' => getKats($FkatLis),
            'FSUB' => $Fsub,
            'sel0' => $sel0,
            'sel1' => $sel1,
            'sel_gesperrt' => $sel_gesperrt,
            'datum' => $datum,
            'zeit' => $zeit,
            'csel0' => $csel0,
            'csel1' => $csel1,
            'csel2' => $csel2,
            'cdatum' => $cdatum,
            'czeit' => $czeit,
            'xajax' => $xajax->getJavascript(),
            'titelbildpfad' => $previewbild
        );
        // Grundrechte
        $ar['grecht'] = '';
        $qry = db_query('SELECT ABS(id) as id, name FROM prefix_grundrechte ORDER BY id');
        while ($r = db_fetch_assoc($qry)) {
            $ar['grecht'] .= '<span style="white-space: nowrap; margin-right: 5px;"><input type="checkbox" id="grecht_' . $r['id'] . '" name="grecht_' . $r['id'] . '" ' .
                    (($Fgrecht == ($Fgrecht | pow(2, $r['id']))) ? 'checked="checked"' : '') . ' />' .
                    '<label for="grecht_' . $r['id'] . '">' . $r['name'] . "</label></span>\n";
        }
        // Groups
        $ar['groups'] = '';
        $qry = db_query('SELECT id, name FROM prefix_groups ORDER BY id');
        while ($r = db_fetch_assoc($qry)) {
            $ar['groups'] .= '<span style="white-space: nowrap; margin-right: 5px;"><input type="checkbox" id="groups_' . $r['id'] . '" name="groups_' . $r['id'] . '" ' .
                    (($Fgroups == ($Fgroups | pow(2, $r['id']))) ? 'checked="checked"' : '') . ' />' .
                    '<label for="groups_' . $r['id'] . '">' . $r['name'] . "</label></span>\n";
        }
    
        $tpl->set_ar_out($ar, 0);
        if (isset($info['ImgMaxBreite'])) {
            $tpl->out(2); //BBCode 2.0 Modul
        } else {
            $tpl->out(1); //BBCode vom Ilchscript
        }
        $tpl->set_ar_out($ar, 3);
        // e d i t , d e l e t e
        $abf = 'SELECT *
                FROM `prefix_news`
                        ORDER BY news_time DESC
                        LIMIT ' . $anfang . ',' . $limit;
    
        $erg = db_query($abf);
        $class = '';
        $opts = db_fetch_object(db_query("SELECT v1 as topnews, v2 as koms,v3 as pmempf,v4 as kat FROM prefix_allg WHERE k = 'news'"));
    
        while ($row = db_fetch_object($erg)) {
            $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
    
            $tpl->set_ar_out(array('ID' => $row->news_id,
                'class' => $class,
                'TITEL' => $row->news_title,
                'sperre' => $row->show >= 1 ? 'jep' : 'nop',
                'sperren' => $row->show >= 1 ? 'Sperren' : 'Freischalten',
                'title' => "Ersteller: " . get_n($row->user_id) . " ($row->news_time)" . (is_null($row->editor_id) ? '' : "\nGe&auml;ndert von: " . get_n($row->editor_id) . " ($row->edit_time)"),
                'topnews' => $row->news_id == $opts->topnews ? 'ok' : 'leer',
                'archiv' => (($row->archiv == 1) OR ($row->archiv == 2 AND $row->endtime < time())) ? 'A' : 'N'
                    ), 4);
        }
        // e d i t , d e l e t e
        // Mögliche PM-Empfänger
        $pmq = db_query("SELECT a.id, a.name FROM prefix_user a LEFT JOIN prefix_modulerights b ON b.mid = 2 AND b.uid = a.id WHERE a.recht <= -8 OR b.mid IS NOT NULL");
        $pmempf = '';
        $pmar = explode('#', $opts->pmempf);
        while ($r = db_fetch_object($pmq)) {
            $sel = in_array($r->id, $pmar) ? 'selected="selected"' : '';
            $pmempf .= "<option value=\"$r->id\" $sel>$r->name</option>";
        } // while
        $tpl->set_ar_out(array(
            'MPL' => $MPL,
            'html' => $Fhtml,
            'tn_koms' => $opts->koms == '1' ? 'ja' : 'nein',
            'nadd_kat' => getKats($opts->kat, $opts->kat, true),
            'pmempf' => $pmempf
                ), 5);
    }
    
    $design->footer();
    ?>


    news.html (include/admin/templates)

    <script type="text/javascript" src="include/includes/ckeditor/ckeditor.js"></script>
    <script language="JavaScript" type="text/javascript"><!--
    function delcheck ( DELID ) {
    	var frage = confirm ( "Willst du diesen Eintrag wirklich löschen?" );
    	if ( frage == true ) {
    	  document.location.href="?news-del-"+DELID;
    	}
    }
    
    function delKcheck ( DELID , NID) {
    	var frage = confirm ( "Willst du dieses Kommentar wirklich löschen?" );
    	if ( frage == true ) {
    	  document.location.href="?news-sKoms-"+NID+"-Kdel-"+DELID+"#"+NID;
    	}
    }
    
    function sichtbar(){
    	if( document.form.katLis.value=="neu"){
    	  document.form.kat.style.visibility="visible";
    	} else {
    	  document.form.kat.style.visibility="hidden";
      }
    }
    
    var datum, zeit;
    
    function switch_datum_zeit(){
         if (document.forms["form"].gesperrt.checked == false) {
            document.forms["form"].datum.disabled = false;
            document.forms["form"].zeit.disabled = false;
            document.forms["form"].datum.value = datum;
            document.forms["form"].zeit.value = zeit;
         } else {
            datum = document.forms["form"].datum.value;
            zeit = document.forms["form"].zeit.value;
            document.forms["form"].datum.value = '';
            document.forms["form"].zeit.value = '';
            document.forms["form"].datum.disabled = true;
            document.forms["form"].zeit.disabled = true;
         }
    }
    
    
    function switch_html(){
        var div = document.getElementById('txtdiv');
        var txtarea = document.getElementById('txt');
    
        if (document.forms["form"].html[1].checked || switch_html.arguments[0] == 'true') {
            var oldtxt = txtarea.value;
            document.getElementById('bbcode_buttons').style.display = 'none';
            document.getElementById('smilies').style.display = 'none';
            document.getElementById('btn_vorschau').style.display = 'none';
    
    	var objCKE = CKEDITOR.replace( 'txt', {
    		baseHref: 'include/includes/ckeditor/',
    		height : 400,
    		filebrowserBrowseUrl: 'include/includes/filemanager/index.html',
    		filebrowserUploadUrl: 'include/includes/filemanager/index.html'
    	}) ;
    
            if (switch_html.arguments[0] == 'true') {
                document.forms["form"].html[1].checked = true;
    			objCKE.setData( document.getElementById('vorschau_td').innerHTML );
            } else {
                objCKE.setData( oldtxt );
            }
    
    		document.getElementById('vorschau').style.display = 'none';
        } else {
    
            var objCKE = CKEDITOR.instances['txt'];
            var oldtxt = objCKE.getData();
            CKEDITOR.remove(objCKE);
    
    		div.innerHTML = '<textarea id="txt" name="txt" rows="15" cols="93" tabindex="2">' + oldtxt + '</textarea>';
            document.getElementById('bbcode_buttons').style.display = 'block';
            document.getElementById('smilies').style.display = 'block';
            document.getElementById('btn_vorschau').style.display = 'inline';
        }
    }
    
    function close_vorschau(){
        document.getElementById('vorschau').style.display = 'none';
    }
    
    function show_opts(){
        document.getElementById('news_opts_tbl').style.display = 'block';
    }
    
    function save_opts(){
        var kat = document.forms["news_opts"].nadd_kat.value;
        var newsempf = '';
        var sel = document.getElementById('pmempf');
        var len = sel.options.length
        for (var i = 0; i < len; i++) {
            if (sel.options[i].selected) {
                newsempf += sel.options[i].value + '#';
            }
        }
        xajax_saveopts(newsempf,kat);
        document.getElementById('news_opts_tbl').style.display = 'none';
    }
    
    function close_opts(){
        document.getElementById('news_opts_tbl').style.display = 'none';
    }
    
    function new_kat(){
        document.getElementById('nadd_kat_td').innerHTML = '<input type="text" value="" name="nadd_kat" />';
        document.forms["news_opts"].nadd_kat.focus();
    }
    //--></script>
    {xajax}
    
    <script type="text/javascript" src="include/includes/js/bbcode.js"></script>
    
    <table cellpadding="0" cellspacing="0" border="0"><tr><td><img src="include/images/icons/admin/news.png" /></td><td width="30"></td><td valign="bottom"><h1>News</h1></td></tr></table>
    <hr style="width: 400px; margin: 0px;">
    <br /><br />
    
    <table border="0" cellspacing="0" cellpadding="0"><tr><td valign="top">
    
    <table id="vorschau" cellpadding="2" cellspacing="1" border="0" class="border" style="display:none; margin-bottom:10px; width:600px;">
      <tr class="Chead" align="center"><td width="600">Vorschau</td></tr>
      <tr><td id="vorschau_td" class="Cmite"></td></tr>
      <tr class="Cdark"><td><input type="button" value="Schlie&szlig;en" onclick="close_vorschau();" style="margin-left:200px;" /> &nbsp; <input type="button" value="BBCode -&gt; HTML" onclick="switch_html('true');" /></td></tr>
    </table>
    
    <form method="POST" name="form" id="form" action="?news" enctype="multipart/form-data" >
      <input type="hidden" name="um"     value="{AKTION}">
      <input type="hidden" name="newsID" value="{NEWSID}">
    	<table cellpadding="2" cellspacing="1" border="0" class="border">
        <tr>
          <td class="Cmite" align="right"><strong>Titel : </strong></td>
          <td class="Cnorm"><input size="50" type="text" name="titel" value="{UEBER}" tabindex="1"></td>
        </tr><tr>
          <td class="Cmite" align="right" valign="top" height="20"><strong>News : </strong></td>
          <td width="600" class="Cnorm" rowspan="2" id="txttd">
            <div style="display:block;" id="bbcode_buttons">
          <!-- BB Code START -->
          {EXPLODE}
    	  <a href="javascript:void(0);" onclick="simple('b')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.bold.gif" alt="b" title="{_lang_bold}" border="0"></a>
          <a href="javascript:void(0);" onclick="simple('i')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.italic.gif" alt="i" title="{_lang_italic}" border="0"></a>
          <a href="javascript:void(0);" onclick="simple('u')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.underline.gif" alt="u" title="{_lang_underlined}" border="0"></a>
          <a href="javascript:void(0);" onclick="simple('code')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.code.gif" alt="Code" title="{_lang_code}" border="0"></a>
    	  <a href="javascript:void(0);" onclick="simple_liste()"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.insertunorderedlist.gif" alt="{_lang_list}" title="{_lang_list}" border="0"></a>
          <a href="javascript:void(0);" onclick="simple('url')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.link.gif" alt="Url" title="{_lang_link}" border="0"></a>
          <a href="javascript:void(0);" onclick="simple('img')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.image.gif" alt="{_lang_picture}" title="{_lang_picture}" border="0"></a>
          <!-- BB Code ENDE -->
          {EXPLODE}<script type="text/javascript" src="include/includes/js/BBCodeGlobal.js"></script>{__BBCodeButtons__}{EXPLODE}<br /><br /></div>
          <div id="txtdiv"><textarea tabindex="2" id="txt" name="txt" rows="15" cols="93" tabindex="2">{txt}</textarea></span>
          </td>
        </tr><tr>
          <td valign="top" class="Cmite"><div id="smilies" style="display:block;">{SMILIS}</div></td>
        </tr>
        
         <tr>
          <td class="Cmite" align="right"><strong>Titelbild:</strong></td>
          <td class="Cnorm"><input name="titelbildpfad" type="input" value="{titelbildpfad}" /> <a href="admin.php?newspics&p=1" onclick="window.open(this.href,'simplyanewwindow','width=990,height=300,scrollbars,resizable'); return false;">Titelbilder ansehen</a><br />
    <input name="titelbild" type="file" /></td>
        </tr><tr>
          <td class="Cmite" align="right"><strong>Sichtbar f&uuml;r: </strong><br /><small>(Grundrechte)</small></td>
          <td class="Cnorm">{grecht}</td>
        </tr><tr>
          <td class="Cmite" align="right"><strong>Sichtbar f&uuml;r: </strong><br /><small>(Gruppen/Teams)</small></td>
          <td class="Cnorm">{groups}</td>
        </tr><tr>
          <td class="Cmite" align="right"><strong>Kategorie : </strong></td>
          <td class="Cnorm"><select onChange="sichtbar()" name="katLis">{KATS}<option value="neu">Neu:</option></select>&nbsp;&nbsp;<input type="text" name="kat" size="40"></td>
        </tr><tr>
          <td class="Cmite" align="right"><strong>HTML : </strong></td>
          <td class="Cnorm"><input type="radio" name="html" value="0" onchange="switch_html();" {sel0} /><label for="html">BBCode</label><input type="radio" name="html" value="1" onchange="switch_html();" {sel1} /><label for="html">HTML (CKEditor)</label></td>
        </tr><tr>
          <td class="Cmite" align="right"><strong>gesperrt: </strong></td>
          <td class="Cnorm"><input type="checkbox" name="gesperrt" {sel_gesperrt} onchange="switch_datum_zeit();" /> &nbsp; <label for="datum" title="Zeitpunkt ab dem die News sichtbar ist, falls die News nicht gesperrt wird">Datum (TT:MM.YYYY)</label> <input type="input" name="datum" value="{datum}" /> &nbsp; <label for="zeit">Uhrzeit (HH:MM)</label> <input type="input" name="zeit" value="{zeit}" /><br />
          <input type="checkbox" name="set_time" id="set_time" /> &nbsp; <label for="set_time">Erstellungszeit der News auf Erscheinungszeit setzen</label> <small>(beim &Auml;ndern einer News mit dieser Option wird der Username vom Editierenden und die Editierzeit gel&ouml;scht)</small>
          </td>
        </tr><tr>
          <td class="Cmite" align="right"><strong>l&auml;uft aus: </strong></td>
          <td class="Cnorm"><input type="radio" name="close" value="0" {csel0} /><label for="close">nein</label> &nbsp; <input type="radio" name="close" value="1" {csel1} /><label for="close">sperren</label> &nbsp; <input type="radio" name="close" value="2" {csel2} /><label for="close">Archiv</label>
          <br /><label for="cdatum">Datum</label> <input type="input" name="cdatum" value="{cdatum}" /> &nbsp; <label for="czeit">Uhrzeit</label> <input type="input" name="czeit" value="{czeit}" /></td>
        </tr><tr class="Cdark">
          <td></td>
          <td><input type="submit" value="{FSUB}" name="submit">&nbsp;<input type="button" value="Vorschau" onclick="xajax_vorschau(xajax.getFormValues('form'));" id="btn_vorschau" style="display:inline;" /></td>
        </tr>
      </table>
    </form>
    
    
    </td><td width="20">&nbsp;</td><td valign="top">
    
    {MPL}
    <table cellpadding="3" cellspacing="1" border="0" class="border">
    <tr class="Cdark"><td colspan="6"><a href="admin.php?news">Neue News erstellen</a></td></tr>
      {EXPLODE}<tr class="{class}">
    	  <td><a href="javascript:void(0);" onclick="xajax_vorschau_id({ID});" title="{title}">{TITEL}</a></td>
          <td><a href="#" name="{ID}"></a><a href="javascript:void(0);" onclick="delcheck({ID})"><img src="include/images/icons/del.gif" alt="L&ouml;schen" title="L&ouml;schen" border="0"></a></td>
          <td><a href="?news-edit-{ID}"><img src="include/images/icons/edit.gif" alt="Ver&auml;ndern" title="Ver&auml;ndern" border="0"></a></td>
    	  <td><a href="?news-s{ID}"><img src="include/images/icons/{sperre}.gif" alt="{sperren}" title="{sperren}" border="0"></a></td>
    	  <td align="center"><a href="?news-t{ID}"><img src="include/images/icons/{topnews}.gif" alt="Als Topnews setzen" title="Als Topnews setzen" border="0"></a></td>
    	  <td><a id="archiv_link_{ID}" href="javascript:void(0);" onclick="xajax_setArchiv({ID},document.getElementById('archiv_link_{ID}').innerHTML);">{archiv}</a></td>
     </tr>{EXPLODE}
     <tr class="Cdark"><td colspan="6"><a href="?news-t0">Topnews entfernen</a> | <a href="javascript:void(0);" onclick="show_opts();">Optionen</a></td></tr>
    </table>
    {MPL}
    
    </td></tr></table>
    <form id="news_opts">
    <table cellpadding="3" cellspacing="1" border="0" class="border" id="news_opts_tbl" style="position:absolute; top:150px; left:540px; width:450px; height:178px; display:none">
    <tr height="30" class="Chead"><th colspan="2">News Optionen</th></tr>
    <tr height="30"><td class="Cmite" width="250">Kommentare bei Topnews zulassen</td><td width="200" class="Cnorm"><a href="javascript:void(0);" onclick="xajax_tn_koms();" id="tn_koms">{tn_koms}</a></td></tr>
    <tr height="30"><td class="Cmite">Kategorie f&uuml;r News einsenden</td><td class="Cnorm" id="nadd_kat_td"><select id="nadd_kat" name="nadd_kat">{nadd_kat}<option onclick="new_kat();">Neu</option></select></td></tr>
    <tr height="30"><td class="Cmite">PM-Empf&auml;nger bei Newseinsendungen</td><td class="Cnorm"><select id="pmempf" multiple="multiple" name="pmempf[]" />{pmempf}</select></td></tr>
    <tr height="30"><td class="Cdark" colspan="2"><input type="button" value="Speichern" onclick="save_opts();" /> &nbsp; <input type="button" value="Schlie&szlig;en" onclick="close_opts();" /></td></tr>
    </table></form>
    <table cellpadding="0" cellspacing="0"><tr><td>
    <div class="info_box" style="height: 85px;">
    			<b>Kategorie Bild</b>
    			<br />
    			<span class="smalfont">
    			Das Kategorie Bild muss in den Ordner include/images/news/
    			<br />
    			Das Bild muss genau wie die Kategorie heissen z.B. wenn die Kategorie
    			Allgemein heisst dann muss das Bild Allgemein heissen;)...
    			<br />
    			Die Endung muss entweder .jpg oder .gif sein bei uns also z.B. Allgemein.jpg
    			</span>
    </div>
    </td><td>
    <div class="info_box" style="height: 85px;">
    				<b>Vorschau Funktion</b>
    				<br />
    				<span class="smalfont">
    				Soll nur ein kleinerer Vorschautext angezeigt werden, einfach erst die Vorschau
    				eingeben und nach der Vorschau dann <b>[PREVIEWENDE]</b> schreiben. Dann den langen
    				Text eintragen.<br />
    				Falls Bilder nicht verkleinert werden einfach nochmal auf den Vorschaubutton klicken.
    				</span>
    </div>
    </td></tr><tr><td>
    <div class="info_box" style="height: 95px;">
    				<b>BBCode / HTML</b>
    				<br />
    				<span class="smalfont">
                    Du kannst zwischen HTML (FCK Editor) und BBCode umschalten, beachte dass eine direkte Umwandlung
                    der beiden Formate untereinander nicht m&ouml;glich ist, also keine Formatierung &uuml;bernommen werden.<br />
                    BBCode-News k&ouml;nnen auch zu HTML News umgewandelt werden (Vorschau benutzen), aber nur diese Richtung ist m&ouml;glich.
    				</span>
    </div>
    </td><td>
    <div class="info_box" style="height: 95px;">
    				<b>Topnews</b>
    				<br />
    				<span class="smalfont">
                    Du kannst genau eine News als Topnews markieren, diese wird dann falls
                    die Newsseite aufgerufen wird immer oben angezeigt. Das Aussehen ist durch das Template include/templates/news_top.htm festgelegt.
                    Die News bei dem <img src="include/images/icons/ok.gif" /> steht ist die derzeitige Topnews, durch dr&uuml;cken
                    auf das leere Feld bei einer News kannst du diese zur Topnews machen.
    				</span>
    </div>
    </td></tr>
    <tr><td>
    <div class="info_box" style="height: 95px;">
    				<b>Sperren</b>
    				<br />
    				<span class="smalfont">
                    Du kannst eine News sperren (<img src="include/images/icons/nop.gif" />), dann wird sie nicht angezeigt, eingesendete News sind automatisch gesperrt.
                    Wenn eine News nicht gesperrt ist (<img src="include/images/icons/jep.gif" />), kannst du ein Datum angeben, ab dem die News angezeigt wird.<br />
                    <u>Beachte:</u> Falls eine News mit Datum gesperrt wird, geht dieses Datum verloren.
    				</span>
    </div>
    </td><td>
    <div class="info_box" style="height: 95px;">
    				<b>Archiv</b>
    				<br />
    				<span class="smalfont">
                    Wenn eine News schon etwas &auml;lter ist, kannst du sie ins Archiv schieben, damit wird sie nicht mehr bei News angezeigt, sondern im Newsarchiv.<br />
                    Das ist die Spalte ganz rechts, A steht f&uuml;r ist im Archiv und N f&uuml;r normal bei den News.
    				</span>
    </div>
    </td></tr>
    <tr><td>
    <div class="info_box" style="height: 60px;">
    				<b>Ablaufdatum</b>
    				<br />
    				<span class="smalfont">
                    Du kannst eine News zu einer bestimmten Zeit ablaufen lassen, sie wird dann entweder gesperrt oder ins Archiv verschoben.
    				</span>
    </div>
    </td></tr>
    </table>
    <script language="JavaScript" type="text/javascript">
    <!--
      sichtbar();
      {html}
    //-->
    </script>



    so und dann noch eine neue Datei, diese kommt nach include/admin/
    Dateiname newspics.php

    Diese Datei ist nicht sonderlich Sauber geschrieben, hier ging es mehr um die Funktion.

    <?php
    include_once(dirname(__FILE__).'/../includes/loader.php');
    if(is_siteadmin){ ?>
    
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="include/admin/templates/style.css">
    
    <script type="text/javascript">
       function selectImage(name)
       {
           
           opener.document.form.titelbildpfad.value = name;
       }
        
        
    </script>
    
    </head>
    <body>
    
    <?php
    
    
    $stPath1[1] = 'include/images/news/titelbilder/';
    
    
    $stPath = $stPath1[$_GET['p']];
    
    $hDir = opendir($stPath);
    
    while($stFile = readdir($hDir)){
      if($stFile != '.' && $stFile != '..'){
    
    # Bildgröße
    $imagesize = getimagesize($stPath.$stFile);
    
    ?>
         <div style="margin-bottom:20px;"  class="Cnorm">
            <div style="background: gray; padding:5px; color:#fff"> <?=$stFile?></div>
            <div style="display:inline-block; width: 300px;">  <img src="<?=$stPath.$stFile?>" style="width:100%;"> </div>
            <div style="display:inline-block"
              <ul>
                <li><b>Format (b x h)</b>  <?=$imagesize[0].' x '.$imagesize[1] ?> Pixel</li>
                <li><b>Name</b> <?=$stFile?></li>  
                <li><b>Link</b> <?=$stPath.$stFile?></li>  
              </ul>  
               <ul>
                 <li>
                    <b>Dateiname</b>
                    <input type="text" name="" style="height: 35px; width:500px;"  onclick="selectImage('<?=$stFile?>');" value="<?=$stFile?>">
                </li>
                <li>
                    <b>BBcode Links</b>
                    <input type="text" name="" style="height: 35px; width:500px;"  onclick="this.select()" value="[img=Bildbeschreibung;left]<?=$stPath.$stFile?>[/img]">
                </li>
                 <li>
                    <b>BBcode Center</b>
                    <input type="text" name="" style="height: 35px; width:500px;"  onclick="this.select()" value="[img=Bildbeschreibung;center]<?=$stPath.$stFile?>[/img]">
                </li>
                 <li>
                    <b>BBcode Rechts</b>
                    <input type="text" name="" style="height: 35px; width:500px;"  onclick="this.select()" value="[img=Bildbeschreibung;right]<?=$stPath.$stFile?>[/img]">
                </li>
     
              </ul> 
            </div>
         </div>
    
    <?php
    
    
    
      }
    }
    
    closedir($hDir);
    
    
    ?>
    </body>
    </html>   
    
    <?php } ?>



    Du kannst nun über das Upload Feld ein News-Titelbild hochladen.
    Oder per Link diesen kleinen ImageBrowser für bisherige Dateibilder aufrufen lachen

    Mit einem Klick auf das Textfeld - Dateiname, wird der Name direkt übernommen.

    Die drei anderen Felder kannst du für den Beitrag verwenden.
    Wie gesagt die letzte Datei könnte man mal ordentlich umsetzetn


    Zuletzt modifiziert von Revolution am 26.05.2014 - 20:24:30
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    hallo Revolution,

    habe die Codes übernommen. Scheint auch die Eingabe zu funktionieren.Es erfolgt nur keine Ausgabe auf der Seite.
    Ich habe Dir mal die Zugangsdaten von meiner Testseite geschickt, damit Du das mal testenkannst. Irgendwie erfolgt keine Übernahme.

    Mfg heinz2
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Ich hab jetzt noch nicht bei dir geschaut, aber in der Theorie müsstest du einfach folgendes Testen (das kann ich ohne DB Zugriff auch nicht :D).

    Ich hatte den Adminbereich nur lokal probiert, dort gab es keine Probleme.

    1)
    Eine NEUE News mit Bild per Upload erstellen.
    - Prüfen ob das Bild hochgeladen wurde (wenn ja -> GUT)
    - Prüfen ob der Bildname in die DB geschreiben wurde.
    ic_news und dann wohl der letzte mit der größten ID, im Feld titelbild.

    Getestet beides geht Fehlerfrei !

    2.) Ausgabe Frontend
    -> Geht nicht




    Kann es sein das du nur das normale News Modul (standard ilch) auf deiner Seite hattest ?

    Ich hatte jetzt Erweiterte News Modul von Mairu + BBcode angenommen...


    Zuletzt modifiziert von Revolution am 27.05.2014 - 18:12:18
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Revolution,

    entschuldigung das ich längere Zeit nichts von mir habe hören lassen.
    Also, installiert ist das erweiterte News Modul von Mairu + BBcode 2.0

    wenn ich eine News eintrage wird die übernommen. Allerdings werden im Adminbereich unter News keine News angezeigt. Und wenn ich auf den Bearbeitungsstift gehe wird folgender Fehler wird mir angezeigT:

    MySQL Error:
    1054 : Unknown column 'ID' in 'where clause'
    in Query:
    SELECT * FROM `ic1_news` WHERE news_id = ID
    
    Debug backtrace:
    	@ mysql.php:46 -- debug_bt()
    	@ mysql.php:64 -- db_check_error(...)
    	@ news.php:267 -- db_query(...)
    	@ admin.php:20 -- require_once(...)
    
    
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /data/multiserv/users/1178445/projects/2587862/www/include/includes/func/db/mysql.php on line 81

    wenn ich local teste die selbige ehlermedung mit dem Unterschied, dass die Zeile 361 mit unter Warning kopmmt.
    Es wird auch die Erläuterung zum NewsModul mehrfach angezeigt.

    Frage: Sollte ich alles noch einmal installieren und erst das erweiterte News-Modul und dann bbcode 2.0 oder umgedreht oder bbcode 2.0 weglassen?
    Oder gibt es eine andere Lösung?

    MdG heinz2
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Spiel nochmal beide Module neu auf, die Reihenfolge dürfte eigentlich egal sein. Erst wenn beide Module Problemlos gehen dann mach hier weiter ;:D

    Du musst darauf achten das beide Module für deine ilch Version sind!

    In diesem Fall sagt der Fehler, dass im WHERE etwas unbekanntes ist, eine Variable begint schließlich immer mit einem $
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Revolution,

    werde dies tun.
    Frage dazu: bbcode herkömmlich oder bbcode 2.0 verwenden?

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Das kannst du dir aussuchen, wenn du mehr Möglichkeiten der Textformatierung möchtest - dann 2.0 lachen
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    heinz2 Mitglied
    Registriert seit
    05.10.2013
    Beiträge
    167
    Beitragswertungen
    2 Beitragspunkte
    Hallo Revolution,

    es hat etwas lange gedauert, doch jetzt habe ich mich hingesetzt und das Ganze noch einmal von vorn neu aufgezogen. Und es hat auf localhost sofort funktioniert. Jetzt werde ich noch das Vorschaubild in einer verkleinerten Version versuchen darzustellen. Denke das sollte nicht so schwierig sein.
    Ich möchte mich hier noch einmal recht herzlich für die geleistete Mühe bedanken.

    MfG heinz2
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten