All pastes #544808 Raw Edit

Mine

public text v1 · immutable
·published 2007-06-06 16:26 UTC
rendered paste body
<?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 );
require_once('include/boxes/geburtstag_popup.php');

$abf = 'SELECT * FROM prefix_user WHERE id = "'.$uid.'"';
$erg = db_query($abf);
$row = db_fetch_assoc($erg);
$avatar = '';
if ( file_exists($row['avatar'])) {
  $avatar = '<img src="'.$row['avatar'].'" border="0">';
}
$linkclass		= '';

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 = '<a href="index.php?katnews-'.$kat.'"><img border="0" style="" src="'.$pfadzumBild.'" alt="'.$kat.'"></a>';
             		   } else {
             		     $kategorie = '<a href="index.php?katnews-'.$kat.'"><b>'.$kat.'</b></a><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,
      a.news_html as html,
	  a.news_tn as tn,
      b.name as username,
      c.name as editor
    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 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), 0);
    while ($row = db_fetch_assoc($erg))
    {
      if($feed_type == 'atom')
      {
          $row['datum'] = str_replace(' ', 'T', $row['datum']) . 'Z';
      }
      $text = stripslashes($row['text']);


      if($row['html'] == "true"){
				$row['text'] = $text;
			}
			else
			{$row['text'] = BBcode($text);}

      //$avatar_exists = @db_result(db_query("SELECT avatar FROM prefix_user WHERE name = ".$row['username']),0);
      //$row ['AVATA'] = '<img src="'.$avatar_exists.'" border="0">';

      $author = $row['username'];
      if (($row['username'] != $row['editor']) AND ($row['editor'] != '')) $author .= ' (Letzte &Auml;nderung von '.$row['editor'].')';
      $a = explode('[PREVIEWENDE]', $text);
      $tpl->set_ar_out(array('TITLE' => $row['title'],
                             'TXT' => $row['text'],
                             'LINK' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']). '/index.php?news-' . $row['id'],
                             'QUELLE' => $row['quelle'],
                             'LINK' => $row['link'],
                             'AUTHOR' => $author,
                             'DATE' => $row['datum'],
				                     //'AVATA' => $avatar
                             ), 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 block = 0 AND news_recht >= ".$_SESSION['authright'] , $limit , '?news' , 'news' );
    $anfang = ($page - 1) * $limit;
    
    $tpl = new tpl ( 'news.htm' );
    
    $abf = "SELECT
      a.news_id as id,
      a.news_time as datum,
      a.news_title as title,
      a.news_quelle as quelle,
      a.news_link as link,
      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,
      a.news_html as html,
	  a.news_tn as tn,
      b.name as username,
      b.id as uid,
      c.name as editor,
      c.id as eid
    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 ".$_SESSION['authright']." <= a.news_recht
        AND a.block = 0
    ORDER BY news_time DESC 
    LIMIT ".$anfang.",".$limit;
    #echo '<pre>'.$abf.'</pre>';
    
    $erg = db_query($abf);
    while ($row = db_fetch_assoc($erg)) {
      if($row['tn'] == "true"){
      $k0m  = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = ".$row['id']." AND cat = 'NEWS'");
      $row['kom']  = db_result($k0m,0);
      $author = $row['username'];
      if (($row['username'] != $row['editor']) AND ($row['editor'] != '')) $row['username'] .= ' (Letzte &Auml;nderung von '.$row['editor'].')';
      $row['title'] = substr($row['title'],0,$allgAr['ntlimit']).'...';
      $row['link'] = substr($row['link'],0,20).'...';
      $row['quelle'] = substr($row['quelle'],0,30).'';
      $row['kate'] = news_find_kat($row['kate']);
      $row['datum'] = $lang[$row['dayofweek']].' '.$row['datum'];

$row['readwholenews'] = '';
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'].'"><font style="text-decoration: none; ">Artikel weiter lesen</font></a>  &laquo;';
      }
      $text = stripslashes($row['text']);


      if($row['html'] == "true"){
				$row['text'] = $text;
			}
			else
			{$row['text'] = bbcode($row['text']);}
      $tpl->set_ar_out($row,0);
    }
	}
	    $ezd = "SELECT
      a.news_id as id,
      a.news_time as datum,
      a.news_title as title,
      a.news_quelle as quelle,
      a.news_link as link,
      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,
      a.news_html as html,
	  a.news_tn as tn,
      b.name as username,
      b.id as uid,
      c.name as editor,
      c.id as eid
    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 ".$_SESSION['authright']." <= a.news_recht
        AND a.block = 0
    ORDER BY news_time DESC 
    LIMIT ".$anfang.",".$limit;
    #echo '<pre>'.$abf.'</pre>';
    
    $erg1 = db_query($ezd);
    while ($row = db_fetch_assoc($erg1)) {
      if($row['tn'] == "false"){
      $k0m  = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = ".$row['id']." AND cat = 'NEWS'");
      $row['kom']  = db_result($k0m,0);
      $author = $row['username'];
      if (($row['username'] != $row['editor']) AND ($row['editor'] != '')) $row['username'] .= ' (Letzte &Auml;nderung von '.$row['editor'].')';
      $row['title'] = substr($row['title'],0,$allgAr['ntlimit']).'...';
      $row['link'] = substr($row['link'],0,20).'...';
      $row['quelle'] = substr($row['quelle'],0,30).'';
      $row['kate'] = news_find_kat($row['kate']);
      $row['datum'] = $lang[$row['dayofweek']].' '.$row['datum'];

$row['readwholenews'] = '';
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'].'"><font style="text-decoration: none; ">Artikel weiter lesen</font></a>  &laquo;';
      }
      $text = stripslashes($row['text']);


      if($row['html'] == "true"){
				$row['text'] = $text;
			}
			else
			{$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` 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)) {
      $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->news_text;
      $textToShow = stripslashes($textToShow);
      if($row->news_html == "false"){
				$textToShow = bbcode($textToShow);
			}
		$textToShow = str_replace('[PREVIEWENDE]','<br /><hr style="width:500px" /><br />',$textToShow);

    //$textToShow = bbcode($row->news_text);
		//$textToShow = str_replace('[PREVIEWENDE]','',$textToShow);
		# Für html in News ohne horizontale Linie
		//$textToShow = $row->news_text;
		//$textToShow = str_replace('[PREVIEWENDE]','',$textToShow);
		if ( !empty($such) ) {
		  $textToShow = markword($textToShow,$such);
		}

		$users = '';
    if (has_right(-1)) {
      $readonly = 'readonly="readonly"';
      $user = 'u';
    }
    else
    {
      $user = 'g';
      $uquery = db_query("SELECT name FROM prefix_user");
      while ($uds = db_fetch_object($uquery)) {
        $username = $uds -> name;
        if (!empty($users)) $users = $users.', ';
        $users = $users.'"'.$username.'"';
      }
    }
		
		$tpl = new tpl ( 'news.htm' );
		$ar = array (
			'NAME'  => $row->news_title,
			'DATE' => $row->news_time,
      'TEXT'  => $textToShow,
			'KATE'  => $kategorie,
      'NID' => $nid,
      'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
      'uname' => $author,
    	'READONLY' => $readonly,
    	'user' => $user,
    	'USERS' => $users,
			'PRINT'     => '<a '.$linkclass.' href="?printpage-'.$row->news_id.'" alt="Druckoptimierte Version" title="Druckoptimierte Version"><img src="include/images/icons/print.gif" alt="Druckoptimierte Version" border="0"></a>',
    	'SMILIES' => getsmilies()
		);
		$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($row1->html == "false"){
							$row1['text'] = bbcode(trim($row1['text']));
							}
        if (has_right(-7)) {
          $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();

?>