hi,
erstmal danke für eure mühen
also hab es heute getestet aber funzt irgendwie nicht. im adminbereich kann man zwar die beiträge schon schieben und anordnen aber diese anornnung wird auf der webseite nicht übernommen, obwohl ich dann in der
include/contents/news.php
ORDER BY news_time DESC gegen ORDER BY news_id DESC getauscht habe.
Ich muss dazu sagen, dass ich den FCK Editor für 1.1f benutze.
Ich poste mal hier zur sicherheit sie codes
include/contents/news.php
<?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_id 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')
{
$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' => 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'] = '» <a href="index.php?news-'.$row['id'].'">'.$lang['readwholenews'].'</a> «';
} 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ö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);
}
$design->footer();
?>
include/admin/news.php
<?php
// Copyright by: Manuel
// Support: www.ilch.de
defined ('main') or die ('no direct access');
defined ('admin') or die ('only admin access');
$design = new design ('Admins Area', 'Admins Area', 2);
$design->header();
// -----------------------------------------------------------|
// #
// ##
// ###
// #### F u n k t i o n e n
function getKats ($akt) {
$katAR = array();
$kats = '';
$erg = db_query("SELECT DISTINCT news_kat FROM `prefix_news`");
while ($row = db_fetch_object($erg)) {
$katAr[] = $row->news_kat;
}
$katAr[] = 'Allgemein';
$katAr = array_unique($katAr);
foreach($katAr as $a) {
if (trim($a) == trim($akt)) {
$sel = ' selected';
} else {
$sel = '';
}
$kats .= '<option' . $sel . '>' . $a . '</option>';
}
return ($kats);
}
// #### F u n k t i o n
// ###
// ##
// #
// #
// ##
// ###
// #### A k t i o n e n
if (!empty($_REQUEST['um'])) {
$um = $_REQUEST['um'];
$_POST['titel'] = escape($_POST['titel'], 'string');
$_POST['grecht'] = escape($_POST['grecht'], 'integer');
$_POST['kat'] = escape($_POST['kat'], 'string');
$_POST['katLis'] = escape($_POST['katLis'], 'string');
$_POST['newsID'] = escape($_POST['newsID'], 'integer');
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_kat,news_text)
VALUES ('" . $_POST['titel'] . "'," . $_SESSION['authid'] . ",NOW()," . $_POST['grecht'] . ",'" . $_POST['katLis'] . "','" . $text . "')");
// 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 = "' . $_POST['titel'] . '",
user_id = "' . $_SESSION['authid'] . '",
news_recht = "' . $_POST['grecht'] . '",
news_kat = "' . $_POST['katLis'] . '",
news_text = "' . $text . '" 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
// move
if ($menu->get(1) == 'move') {
$id = escape($menu->getE(2), 'integer');
if ($menu->getA(2) == 'u' AND $id < db_result(db_query("SELECT MAX(news_id) FROM `prefix_news`"),0)) {
$hoehereID = db_result(db_query("SELECT news_id FROM `prefix_news` WHERE news_id > ".$id." ORDER BY news_id ASC LIMIT 1"),0);
db_query("UPDATE `prefix_news` SET news_id = 0 WHERE news_id = ".$hoehereID);
db_query("UPDATE `prefix_koms` SET uid = 0 WHERE uid = ".$hoehereID);
db_query("UPDATE `prefix_news` SET news_id = ".$hoehereID." WHERE news_id = ".$id);
db_query("UPDATE `prefix_koms` SET uid = ".$hoehereID." WHERE uid = ".$id);
db_query("UPDATE `prefix_news` SET news_id = ".$id." WHERE news_id = 0");
db_query("UPDATE `prefix_koms` SET uid = ".$id." WHERE uid = 0");
}
elseif ($menu->getA(2) == 'd' AND $id > db_result(db_query("SELECT MIN(news_id) FROM `prefix_news`"),0)) {
$niedrigereID = db_result(db_query("SELECT news_id FROM `prefix_news` WHERE news_id < ".$id." ORDER BY news_id DESC LIMIT 1"),0);
db_query("UPDATE `prefix_news` SET news_id = 0 WHERE news_id = ".$niedrigereID);
db_query("UPDATE `prefix_koms` SET uid = 0 WHERE uid = ".$niedrigereID);
db_query("UPDATE `prefix_news` SET news_id = ".$niedrigereID." WHERE news_id = ".$id);
db_query("UPDATE `prefix_koms` SET uid = ".$niedrigereID." WHERE uid = ".$id);
db_query("UPDATE `prefix_news` SET news_id = ".$id." WHERE news_id = 0");
db_query("UPDATE `prefix_koms` SET uid = ".$id." WHERE uid = 0");
}
}
// move
// #### 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 = '';
$FkatLis = '';
$Fsub = 'Eintragen';
} else {
$row = db_fetch_object(db_query("SELECT * FROM `prefix_news` WHERE news_id = " . $menu->get(2)));
$FnewsID = $row->news_id;
$Faktion = 'change';
$Fueber = $row->news_title;
$Ftxt = stripslashes($row->news_text);
$Fgrecht = $row->news_recht;
$FkatLis = $row->news_kat;
$Fsub = 'Ändern';
}
$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
);
$tpl->set_ar_out($ar, 0);
// e d i t , d e l e t e
$abf = 'SELECT news_id,news_title
FROM `prefix_news`
ORDER BY news_id DESC
LIMIT ' . $anfang . ',' . $limit;
$erg = db_query($abf);
$class = '';
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) , 1);
}
// e d i t , d e l e t e
$tpl->set_ar_out(array ('MPL' => $MPL) , 2);
}
$design->footer();
?>
include/admin/templates/news.htm
<script type="text/javascript" src="include/includes/fckeditor/fckeditor.js"></script>
<script type="text/javascript">
window.onload = function()
{
var oFCKeditor = new FCKeditor( 'MyTextarea' ) ;
oFCKeditor.BasePath = "include/includes/fckeditor/" ;
oFCKeditor.ReplaceTextarea() ;
}
</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";
}
}
//--></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" width="100%"><tr><td valign="top">
<form method="POST" name="form" onsubmit="return submitForm();">
<input type="hidden" name="um" value="{AKTION}">
<input type="hidden" name="newsID" value="{NEWSID}">
<table cellpadding="2" cellspacing="1" border="0" class="border" width="100%">
<tr>
<td class="Cmite" align="right"><strong>Titel : </strong></td>
<td class="Cnorm"><input size="72" type="text" name="titel" value="{UEBER}"></td>
</tr><tr>
<td class="Cmite" align="right"><strong>News : </strong></td>
<td rowspan="2" class="Cnorm">
</td>
</tr><tr>
<td rowspan="2" valign="top" class="Cmite">{SMILIS}</td>
</tr><tr>
<td class="Cnorm">
<textarea id="MyTextarea" name="txt" tabindex="2" rows="20" cols="80">{txt}</textarea>
</td>
</tr><tr>
<td class="Cmite" align="right"><strong>Sichtbar ab : </strong></td>
<td class="Cnorm"><select name="grecht">{_list_grecht@<option%1 value="%2">%3</option>}</select></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> <input type="text" name="kat" size="40"></td>
</tr><tr class="Cdark">
<td></td>
<td><input type="submit" value="{FSUB}" name="submit"></td>
</tr>
</table>
</form>
<br /><br />
<div class="info_box">
<b>Merke (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>
<div class="info_box">
<b>Merke (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.
</span>
</div>
</td><td width="75"> </td><td valign="top">
{MPL}
<table cellpadding="5" cellspacing="1" border="0" class="border">
{EXPLODE}<tr class="{class}">
<td><a href="#" name="{ID}"></a><a href="javascript:delcheck({ID})"><img src="include/images/icons/del.gif" alt="Löschen" title="Löschen" border="0"></a></td>
<td><a href="?news-edit-{ID}"><img src="include/images/icons/edit.gif" alt="Verändern" title="Verändern" border="0"></a></td>
<td><a href="?news-move-u{ID}"><img src="include/images/icons/pfeilo.gif" alt="Hoch" title="Hoch" /></a></td>
<td><a href="?news-move-d{ID}"><img src="include/images/icons/pfeilu.gif" alt="Runter" title="Runter" /></a></td>
<td>{TITEL}</td>
</tr>{EXPLODE}
</table>
{MPL}
</td></tr></table>
<script language="JavaScript" type="text/javascript">
<!--
sichtbar();
//-->
</script>
Das sind sie Dateien wie sie bei mir drin sind.
Danke und Gruss
olos
Zuletzt modifiziert von olos am 20.01.2012 - 15:15:59