ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Problem mit News Script/Vorschaufunktion

Geschlossen
  1. #1
    User Pic
    Jaheira Mitglied
    Registriert seit
    20.03.2009
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    Hallo alle zusammen!

    Erstmal möchte ich mich bei Allen bedanken, die dieses tolle Script geschaffen haben. Es ist wirklich leicht zu installieren und zu bedienen und lässt eigentlich keine Wünsche offen, da sich vieles auf die eigenen Bedürfnisse anpassen lässt.
    Vielen, vielen Dank!

    Tja, trotz allem habe ich ein Problem entdeckt auf der News-Seite. Der Link "{readwholenews}" funktioniert nicht.

    Die Erklärung im Admin-Menü im Punkt News
    ( (Vorschau Funktion)
    Soll nur ein kleinerer Vorschautext angezeigt werden, einfach erst die Vorschau eingeben und nach der Vorschau dann [PREVIEWENDE] schreiben. Dann den langen Text eintragen.)
    habe ich berücksichtig und auch hoffentlich richtig zwischen die beiden Textelemente eingefügt.

    Das habe ich wie folgt getan:

    ttttttttteeeeeeexxxxxtttt
    [PREVIEWENDE]
    ttttteeeeexxxxxtttt

    Leider funktionierte das nicht, auch nicht nach mehreren Versuchen und Umstrukturierungen des Textes.

    Als nächstes habe ich dann sämtliche Dateien, die in irgendeinerweise was mit News zu tun haben, nochmal neu hochgeladen. Natürlich die frisch entzippten.

    Was ich möchte ist, dass auf der Hauptseite der News nur eine Kurzform steht und man per Link, dieser sollte sich unten rechts unter dem Text befinden, auf eine andere Seite gelangt auf der, der gesamte Newstext zu lesen ist.

    Vielleicht hat ja Jemand eine Lösung und ist so nett mir diese mitzuteilen.
    Vielen Dank, Jaheira

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    AFh_Team Mitglied
    Registriert seit
    01.06.2008
    Beiträge
    141
    Beitragswertungen
    0 Beitragspunkte
    So wie das ausschaut gibts da Probleme mit der news.php.
    Vielleicht könntest du diese mal posten!?!
    Eigentlich ziemlich unwahrscheinlich, da du ja sagtest das du alle Dateien die irgendwas mit News zu tun haben nochmal neu hochgeladen hast!
    Aber man weiß ja nie!;)
    Meine Projekte:

    eMada - Games,Konsolen & Zubehör günstig kaufen | gebraucht verkaufen
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Jaheira Mitglied
    Registriert seit
    20.03.2009
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    So, habe hier meine news.php aus dem contents ordner.
    Das ist die original Datei aus dem Ilch zip. Habe daran nix verändert.
    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    
    $title = $allgAr['title'].' :: News';
    $hmenu = 'News';
    $design = new design ( $title , $hmenu );
    
    
    
    function news_find_kat ($kat) {
        
          $katpfad = 'include/images/news/';
          $katjpg = $katpfad.$kat.'.jpg';
          $katgif = $katpfad.$kat.'.gif';
          $katpng = $katpfad.$kat.'.jpg';
          
          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 );
    }
    
    
    
    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';
        
        $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
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE a.news_recht = 0
        ORDER BY news_time ASC 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), 0);
        while ($row = db_fetch_assoc($erg))
        {
          if($feed_type == 'atom')
          {
              $row['datum'] = str_replace(' ', 'T', $row['datum']) . 'Z';
          }
          
          $a = explode('[PREVIEWENDE]', $row['text']);
          $tpl->set_ar_out(array('TITLE' => $row['title'],
                                 'TXT' => 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 );
        $MPL = db_make_sites ($page , "WHERE news_recht >= ".$_SESSION['authright'] , $limit , '?news' , 'news' );
        $anfang = ($page - 1) * $limit;
        
        $tpl = new tpl ( 'news.htm' );
        
        $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.name as username
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE ".$_SESSION['authright']." <= a.news_recht
           OR a.news_recht = 0
        ORDER BY news_time DESC 
        LIMIT ".$anfang.",".$limit;
        #echo '<pre>'.$abf.'</pre>';
        
        $erg = db_query($abf);
        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['text'] = bbcode($row['text']);
          $tpl->set_ar_out($row,0);
        }
        $tpl->set_out('SITELINK', $MPL,1);
        unset($tpl);
      }
    
      
      
    } else {
     
     $design->header();
     $nid = escape($menu->get(1), 'integer');
     $row = db_fetch_object(db_query("SELECT
     DATE_FORMAT(news_time,'%d. %m. %Y') as datum,
     DATE_FORMAT(news_time,'%W') as dayofweek,
     user_id,news_text,news_kat,news_title,
     news_recht
     FROM `prefix_news` WHERE news_id = '".$nid."'"));
    
      if ( has_right(array($row->news_recht)) ) {
        $komsOK = true;
         if ( $allgAr['Ngkoms'] == 0 ) {
          if ( loggedin() ) {
            $komsOK = true;
            } else {
              $komsOK = false;
            }
        }
         if ( $allgAr['Nukoms'] == 0 ) {
           $komsOK = false;
         }
    
        # 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');
          db_query("INSERT INTO `prefix_koms` VALUES ('',".$nid.",'NEWS','".$_POST['name']."','".$_POST['txt']."')");
         } 
         # 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 = bbcode($row->news_text);
        $textToShow = str_replace('[PREVIEWENDE]','',$textToShow);
        if ( !empty($such) ) {
           $textToShow = markword($textToShow,$such);
        }
          
          $tpl = new tpl ( 'news.htm' );
          $ar = array (
              'TEXT'  => $textToShow,
              'KATE'  => $kategorie,
              'NID' => $nid,
              'uname' => $_SESSION['authname'],
              'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
              'NAME'  => $row->news_title,
              'username2' => get_n($row->user_id),
              'datum' => $lang[$row->dayofweek].' '.$row->datum
          );
          $tpl->set_ar_out($ar, 2 );
          
          if ($komsOK) {
            $tpl->set_ar_out ( array ( 'NAME' => $row->news_title , 'NID' => $nid ), 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 '&nbsp;&nbsp;&nbsp;&nbsp;<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="?news-'.$nid.'-d'.$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();
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    AFh_Team Mitglied
    Registriert seit
    01.06.2008
    Beiträge
    141
    Beitragswertungen
    0 Beitragspunkte
    Welche Version verwendest du?
    Also bei mir sieht sie ein bissl anders aus. Ist aus der Version 1.1M!
    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    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 );
    }
    
    
    
    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';
    
        $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
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE a.news_recht = 0
        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))
        {
          if($feed_type == 'atom')
          {
              $row['datum'] = str_replace(' ', 'T', $row['datum']) . 'Z';
          }
    
          $a = explode('[PREVIEWENDE]', $row['text']);
          $tpl->set_ar_out(array('TITLE' => $row['title'],
                                 'TXT' => 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 );
        $MPL = db_make_sites ($page , "WHERE news_recht >= ".$_SESSION['authright'] , $limit , '?news' , 'news' );
        $anfang = ($page - 1) * $limit;
    
        $tpl = new tpl ( 'news.htm' );
    
        $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.name as username
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE ".$_SESSION['authright']." <= a.news_recht
           OR a.news_recht = 0
        ORDER BY news_time DESC
        LIMIT ".$anfang.",".$limit;
        #echo '<pre>'.$abf.'</pre>';
    
        $erg = db_query($abf);
        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'] = '&raquo; <a href="index.php?news-'.$row['id'].'">'.$lang['readwholenews'].'</a>  &laquo;';
          } else {
            $row['readwholenews'] = '';
          }
          $row['text'] = bbcode($row['text']);
          $tpl->set_ar_out($row,0);
        }
        $tpl->set_out('SITELINK', $MPL,1);
        unset($tpl);
      }
    
    
    
    } else {
    
     $design->header();
     $nid = escape($menu->get(1), 'integer');
     $row = db_fetch_object(db_query("SELECT * FROM `prefix_news` WHERE news_id = '".$nid."'"));
    
      if ( has_right(array($row->news_recht)) ) {
        $komsOK = true;
    	  if ( $allgAr['Ngkoms'] == 0 ) {
          if ( loggedin() ) {
            $komsOK = true;
      		} else {
    	  	  $komsOK = false;
    		  }
        }
    	  if ( $allgAr['Nukoms'] == 0 ) {
    	    $komsOK = false;
    	  }
    
        # 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');
          db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`) VALUES (".$nid.",'NEWS','".$_POST['name']."','".$_POST['txt']."')");
    	  }
    	  # 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 = bbcode($row->news_text);
    		$textToShow = str_replace('[PREVIEWENDE]','',$textToShow);
    		if ( !empty($such) ) {
    		  $textToShow = markword($textToShow,$such);
    		}
    
    		$tpl = new tpl ( 'news.htm' );
    		$ar = array (
          'TEXT'  => $textToShow,
    			'KATE'  => $kategorie,
          'NID' => $nid,
          'uname' => $_SESSION['authname'],
    			'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
    			'NAME'  => $row->news_title
    		);
    		$tpl->set_ar_out($ar, 2 );
    
    		if ($komsOK) {
    		  $tpl->set_ar_out ( array ( 'NAME' => $row->news_title , 'NID' => $nid ), 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="?news-'.$nid.'-d'.$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();
    
    ?>

    Versuch mal diese, falls du auch M benutzt!
    Meine Projekte:

    eMada - Games,Konsolen & Zubehör günstig kaufen | gebraucht verkaufen
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Jaheira Mitglied
    Registriert seit
    20.03.2009
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    Ja Wahnsinn! Es funktioniert! Vielen lieben Dank.
    Hm, kleine Ursache, große Wirkung.*g*

    Danke für die schnelle Hilfe!

    Bis bald, Jaheira
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten