<?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
);
$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">'
;
}
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 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'
]);
$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'
],
'AUTHOR'
=>
$row
[
'username'
],
'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 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];
}
$text
=
stripslashes
(
$row
[
'text'
]);
$row
[
'text'
] =
$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
=
$row
->news_text;
$textToShow
=
str_replace
(
'[PREVIEWENDE]'
,
''
,
$textToShow
);
$textToShow
=
stripslashes
(
$textToShow
);
if
( !
empty
(
$such
) ) {
$textToShow
= markword(
$textToShow
,
$such
);
}
$tpl
=
new
tpl (
'news.htm'
);
$ar
=
array
(
'TEXT'
=>
$textToShow
,
'KATE'
=>
$kategorie
,
'NID'
=>
$nid
,
'ANTISPAM'
=> (loggedin()?
''
:get_antispam (
'newskom'
, 0)),
'uname'
=>
$_SESSION
[
'authname'
],
'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();
?>