<?php
# Copyright by Manuel
# Support www.ilch.de
defined (
'main'
)
or
die
(
'no direct access'
);
function
smilies (
$string
) {
global
$smilies_array
;
if
(!isset(
$smilies_array
)) {
$smilies_array
=
array
();
$erg
= db_query(
"SELECT `ent`, `url`, `emo` FROM `prefix_smiliesshb`"
);
while
(
$row
= db_fetch_object(
$erg
) ) {
$smilies_array
[
$row
->ent] =
$row
->emo .
'#@#-_-_-#@#'
.
$row
->url;
}
}
foreach
(
$smilies_array
as
$k
=>
$v
) {
list(
$emo
,
$url
) =
explode
(
'#@#-_-_-#@#'
,
$v
);
$string
=
str_replace
(
$k
,
'<img src="include/images/smiliesshb/'
.
$url
.
'" border="0" alt="'
.
$emo
.
'" title="'
.
$emo
.
'" />'
,
$string
);
}
return
$string
;
}
function
smiliesshb () {
global
$lang
;
$zeilen
= 5;
$i
= 0;
$b
=
'<script language="JavaScript" type="text/javascript">function moreSmilies () { var x = window.open("about:blank", "moreSmilies", "width=250,height=200,left=200,top=300,status=no,scrollbars=yes,resizable=yes"); '
;
$a
=
''
;
$erg
= db_query(
'SELECT `emo`, `ent`, `url` FROM `prefix_smiliesshb`'
);
while
(
$row
= db_fetch_object(
$erg
) ) {
$b
.=
'x.document.write ("<a href=\"javascript:opener.put_shb(\''
.
addslashes
(
addslashes
(
$row
->ent)) .
'\')\">");'
;
$b
.=
'x.document.write ("<img style=\"border: 0px; padding: 5px;\" src=\"include/images/smiliesshb/'
.
$row
->url .
'\" title=\"'
.
$row
->emo .
'\"></a>");'
;
if
(
$i
<0) {
# float einbauen
if
(
$i
%
$zeilen
== 0 AND
$i
<> 0) {
$a
.=
'<br /><br />'
; }
$a
.=
'<a href="javascript:put_shb(\''
.
addslashes
(
$row
->ent).
'\')">'
;
$a
.=
'<img style="margin: 2px;" src="include/images/smilesshb/'
.
$row
->url .
'" border="0" title="'
.
$row
->emo .
'"></a>'
;
}
$i
++;
}
$b
.=
' x.document.write("<br /><br /><center><a href=\"javascript:window.close();\">'
.
$lang
[
'close'
] .
'</a></center>"); x.document.close(); }</script>'
;
if
(
$i
>0) {
$a
.=
'<br /><center><a href="javascript:moreSmilies();">Smilies</a></center>'
;
}
$a
=
$b
.
$a
;
return
(
$a
);
}
$shoutbox_VALUE_name2
=
getenv
(
"REMOTE_ADDR"
);
$datum
=
date
(
"j.n.Y"
);
$zeit
=
date
(
" H:i "
);
$abf
=
'SELECT `avatar` FROM `prefix_user` WHERE `name` = "'
.
$_SESSION
[
'authname'
] .
'"'
;
$erg
= db_query(
$abf
);
$row
= db_fetch_object(
$erg
);
if
(
$allgAr
[
'sh_avatar'
] == 1) {
if
(loggedin ()) {
if
(
file_exists
(
$row
->avatar)) {
$avatar
=
$row
->avatar;
}
else
{
$avatar
=
'include/images/avatars/noavatar.jpg'
;
}
}
else
{
$avatar
=
'include/images/avatars/gast.png'
;
}
$avatar
=
'<img src="'
.
$avatar
.
'" border="0" width="50" height="63"/>'
;
}
else
{
$avatar
=
''
;
}
if
( loggedin() ) {
$shoutbox_VALUE_name
=
$_SESSION
[
'authname'
];
}
else
{
$shoutbox_VALUE_name
=
'Gast'
;
}
if
(has_right(
$allgAr
[
'sb_recht'
])) {
if
(!
empty
(
$_POST
[
'shoutbox_submit'
]) AND chk_antispam (
'shoutbox'
)) {
$insert
= true;
if
(!loggedin()) {
$shoutbox_nickname
= escape(
$_POST
[
'shoutbox_nickname'
],
'string'
);
$shoutbox_nickname
=
substr
(
$shoutbox_nickname
, 0, 15);
if
(db_count_query(
"SELECT COUNT(*) FROM `prefix_user` WHERE `name` LIKE '%$shoutbox_nickname%'"
) > 0) {
$insert
= false;
echo
'<center><span color="#ff0000">Benutzen sie einen anderen Namen, dieser ist bereits vergeben.</span></center><br />'
;
}
}
else
{
$shoutbox_nickname
= escape(
$_SESSION
[
'authname'
],
'string'
);
}
$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
) AND
$insert
) {
db_query(
'INSERT INTO `prefix_shoutbox` (`nickname`, `textarea`, `time`) VALUES ( "'
.
$shoutbox_nickname
.
'" , "'
.
$shoutbox_textarea
.
'", '
. time() .
' ) '
);
}
}
?>
<script type=
"text/javascript"
>
function
simple_insert_shb(aTag,eTag) {
var
input = document.forms[
'shoutbox'
].elements[
'shoutbox_textarea'
];
input.focus();
if
(typeof document.selection !=
'undefined'
) {
var
range = document.selection.createRange();
var
insText = range.text;
range.text = aTag + insText + eTag;
range = document.selection.createRange();
if
(insText.length == 0) {
range.move(
'character'
, -eTag.length);
}
else
{
range.moveStart(
'character'
, aTag.length + insText.length + eTag.length);
}
range.select();
}
else
if
(typeof input.selectionStart !=
'undefined'
) {
var
start = input.selectionStart;
var
end
= input.selectionEnd;
var
insText = input.value.substring(start,
end
);
input.value = input.value.
substr
(0, start) + aTag + insText + eTag + input.value.
substr
(
end
);
var
pos;
if
(insText.length == 0) {
pos = start + aTag.length;
}
else
{
pos = start + aTag.length + insText.length + eTag.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
else
{
var
pos = input.value.length;
var
insText = prompt(
"Bitte geben Sie den zu formatierenden Text ein:"
);
input.value = input.value.
substr
(0, pos) + aTag + insText + eTag + input.value.
substr
(pos);
}
}
function
put_shb ( towrite ) {
simple_insert_shb ( towrite,
''
);
}
</script>
<?php
echo
'<form action="index.php" method="POST" name="shoutbox">'
;
echo
'<table width="90%" class="border" cellpadding="2" cellspacing="1" border="0"><tr><td style="font-size:11px; text-align:center;">Heute ist der '
.
$datum
.
' <br />um '
.
$zeit
.
' Uhr<br />Deine IP:<b> '
.
$shoutbox_VALUE_name2
.
'</b></td></tr></table>'
;
echo
'<table width="90%" class="border" cellpadding="2" cellspacing="1" border="0"><tr><td align="center">'
.
$avatar
.
'<br /><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"><textarea style="width: 85%" cols="15" rows="4" name="shoutbox_textarea"></textarea>'
. smiliesshb(
'shoutbox'
, 0) .
'</td></tr></table>'
;
echo
'<table width="90%" class="border" cellpadding="2" cellspacing="1" border="0"><tr><td align="center">'
. get_antispam (
'shoutbox'
, 0).
'<input type="submit" value="'
.
$lang
[
'formsub'
] .
'" name="shoutbox_submit"></td></tr></table>'
;
echo
'</form>'
;
}
else
{
echo
'<table width="90%" class="border" cellpadding="2" cellspacing="1" border="0"><tr><td style="font-size:11px; text-align:center;"><b>Zum Posten<br />Bitte Einloggen!<br /></b>Deine IP: '
.
$shoutbox_VALUE_name2
.
'</td></tr></table>'
;
}
echo
'<table width="90%" class="border" cellpadding="2" cellspacing="1" border="0">'
;
$erg
= db_query(
'SELECT `prefix_shoutbox`.*, `prefix_user`.`name`, `prefix_user`.`avatar` FROM `prefix_shoutbox` LEFT JOIN `prefix_user` ON `prefix_user`.name = `prefix_shoutbox`.nickname ORDER BY `id` DESC LIMIT '
. (
is_numeric
(
$allgAr
[
'sb_limit'
])?
$allgAr
[
'sb_limit'
]:5));
$class
=
'Cnorm'
;
while
(
$row
= db_fetch_object(
$erg
)) {
if
(
$allgAr
[
'sh_avatar'
] == 1) {
if
(
$row
->name) {
if
(
file_exists
(
$row
->avatar)) {
$avatar
=
$row
->avatar;
}
else
{
$avatar
=
'include/images/avatars/noavatar.jpg'
;
}
}
else
{
$avatar
=
'include/images/avatars/gast.png'
;
}
$avatar
=
'<img src="'
.
$avatar
.
'" border="0" width="50" height="63"/>'
;
}
else
{
$avatar
=
''
;
}
$class
= (
$class
==
'Cmite'
?
'Cnorm'
:
'Cmite'
);
$time
=
is_null
(
$row
->time) ?
'<br />'
:
'<br /><em style="font-size:0.9em;">'
.
date
(
'd.m.y - H:i'
,
$row
->time).
' Uhr</em><br />'
;
echo
'<tr class="'
.
$class
.
'"><td><div style="float:left; width:40%;">'
.
$avatar
.
'</div><div style="float:left; text-align:left; width:60%;"><b>'
.
$row
->nickname .
': '
.
$time
.
'</b></div></td></tr><tr class="'
.
$class
.
'"><td>'
.smilies(preg_replace(
'/([^\s]{'
.
$allgAr
[
'sb_maxwordlength'
] .
'})(?=[^\s])/'
,
"$1\n"
, bbcode(
$row
->textarea))).
'</td></tr>'
;
}
echo
'</table><a class="box" href="index.php?shoutbox">'
.
$lang
[
'archiv'
] .
'</a>'
;
?>