Ok, also doch der Code, wollt ich erst nich schreibn, weil der so lange ist
.
Am besten noch ein bisschen an deine Page anpassen. Also die Links zu den Smiles zum Beispiel, und für das Popup, wenn du das haben willst brauchst du noch eine Datei, die in den Contentordner kommt.
Also:
<?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 );
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 * 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
);
$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öschen" border="0" title="löschen" /></a>';
}
$tpl->set_ar_out( array('NAME' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl ) , 4 );
$zahl--;
}
}
}
$tpl->out(5);
}
?>
<h3>Shoutbox</h3>
Folgende Smilies werden ersetzt:
:) = <img src="http://asgerlangensmv.as.funpic.de/ilch/include/images/smiles/smile.gif">
:( = <img src="http://asgerlangensmv.as.funpic.de/ilch/include/images/smiles/sad.gif">
;) = <img src="http://asgerlangensmv.as.funpic.de/ilch/include/images/smiles/wink.gif">
:O = <img src="http://asgerlangensmv.as.funpic.de/ilch/include/images/smiles/surprised.gif">
:P = <img src="http://asgerlangensmv.as.funpic.de/ilch/include/images/smiles/razz.gif"> ...
<script type="text/javascript">
function FensterOeffnen (Adresse) {
Fenster1 = window.open(Adresse, "Zweitfenster", "width=230,height=510,left=100,top=200");
Fenster1.focus();
}
</script>
<p><a href="/index.php?smiles" onclick="FensterOeffnen(this.href); return false">mehr Smiles</a></p>
<?php
$shoutbox_VALUE_name = getenv("REMOTE_ADDR");
$datum=date(" j.n.Y");
$zeit=date(" H:i");
if ( $_SESSION['authright'] <= -1 ) {
// registrierte User
if ( loggedin() ) {
$shoutbox_VALUE_name = $_SESSION['authname'];
} else {
$shoutbox_VALUE_name = 'Nickname';
}
if ( !empty($_POST['shoutbox_submit']) ) {
$shoutbox_nickname = escape($_POST['shoutbox_nickname'],'string');
$shoutbox_nickname = substr($shoutbox_nickname, 0, 15);
$shoutbox_textarea = escape($_POST['shoutbox_textarea'],'textarea');
$shoutbox_textarea = preg_replace("/[.?(url|b|i|u|img|code|quote)[^]]*?]/i","",$shoutbox_textarea);
$shoutbox_textarea = strip_tags($shoutbox_textarea);
if ( !empty($shoutbox_nickname) AND !empty($shoutbox_textarea) ) {
db_query('INSERT INTO `prefix_shoutbox` VALUES ( "" , "'.$shoutbox_nickname.''.$zeit.''.$datum.'" , "'.$shoutbox_textarea.'" ) ' );
}
}
// echo getsmilies ('shoutbox', 0);
echo '<p><form action="index.php?shout2" method="POST">';
echo '<input type="text" size="15" name="shoutbox_nickname" value="'.$shoutbox_VALUE_name.'" onFocus="if (value == ''.$shoutbox_VALUE_name.'') {value = ''}" onBlur="if (value == '') {value = ''.$shoutbox_VALUE_name.''}" maxlength="15">';
echo '<br /><textarea cols="35" rows="3" name="shoutbox_textarea"></textarea><br/>';
echo '<input type="submit" value="'.$lang['formsub'].'" name="shoutbox_submit">';
}
else {
//Gaeste
echo "<font color=#FFFFFF><b><br>Zum Posten<br>Bitte Einloggen!<p></p></b></font>";
echo '</form><table width="100%" align="center" class="border" cellpadding="2" cellspacing="1" border="0">';
}
echo '</form><p><table width="95%" class="border" cellpadding="1" cellspacing="1" border="1" style="border-collapse: collapse" bordercolor="#232323">';
$erg = db_query('SELECT * FROM `prefix_shoutbox` ORDER BY id DESC LIMIT 10');
$class = 'Cnorm';
while ($row = db_fetch_object($erg) ) {
$class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
echo '<tr class="'.$class.'"><td height="5"><p align="center"><b>'.$row->nickname.':</b></td></tr><tr class="'.$class.'"><td><p align="left"> '.BBCode(preg_replace( '/([^s]{19})(?=[^s])/', "$1n", $row->textarea)).'</td></tr>';
}
echo '</table><br><b><a class="box" href="index.php?shoutbox">'.$lang['archiv'].'</b></a>';
$design->footer();
?>
Die Popup smiles.php
<?php;
?>
<title>SMILES</title>
Folgende Smilies werden ersetzt: <br>
:) = <img src="<<DEINE HOMEPAGE/Ilch Ordner>>/include/images/smiles/smile.gif"> <br>
:( = <img src="<<DEINE HOMEPAGE/Ilch Ordner>>/include/images/smiles/sad.gif"> <br>
;) = <img src="<<DEINE HOMEPAGE/Ilch Ordner>>/include/images/smiles/wink.gif"> <br>
:O = <img src="<<DEINE HOMEPAGE/Ilch Ordner>>/include/images/smiles/surprised.gif"> <br>
:P = <img src="<<DEINE HOMEPAGE/Ilch Ordner>>/include/images/smiles/razz.gif"> <br>
<<<USW...>>>
<br>
<a href="javascript:window.close()"><font color="red">Fenster schließen</font></a>
PS: Getestet hab ich das mit der Ilch-Version 1.1C, aber ich es müsste auch mit der Aktuellen
funktionieren.
Zuletzt modifiziert von Advokad am 04.02.2007 - 00:39:34