<?php
# Copyright by: Manuel
# Support: www.ilch.de
defined (
'main'
)
or
die
(
'no direct access'
);
# liest
die
<!--@..=..@--> in den ersten 1024 Zeichen in ein Array aus
function
get_properties(
$file
){
$handle
=
fopen
(
$file
,
'r'
);
$buffer
=
fread
(
$handle
, 1024);
fclose (
$handle
);
preg_match_all(
"|(?:<!--@(?P<name>[^=]*)=(?P<value>.*)@-->)|U"
,
$buffer
,
$out
, PREG_SET_ORDER);
unset(
$buffer
);
$properties
=
array
();
foreach
(
$out
as
$x
){
$properties
[
$x
[name]]=
$x
[value];
}
unset(
$out
);
return
$properties
;
}
function
showpage(
$file
,
$page
) {
require_once
(
$file
);
$tpl
=
new
tpl (
'selfkom'
);
$ar
=
array
(
'pagename'
=>
$page
,
'uname'
=>
$_SESSION
[
'authname'
],
'ANTISPAM'
=> (loggedin()?
''
:get_antispam (
'selfkom_'
.
$page
, 0)),
);
$tpl
->set_ar_out(
$ar
, 0);
$erg1
= db_query(
"SELECT text, name, id FROM `prefix_koms` WHERE uid = '1' AND cat = 'SELFKOM_$page' 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)) {
$row1
[
'text'
] .=
'<a href="?selfkom-'
.
$page
.
'-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
) , 1 );
$zahl
--;
}
}
}
if
(
$menu
->get(1) !=
''
) {
# moegliche endungen
$ende_ar
=
array
(
'.html'
,
'.htm'
,
'.php'
);
$um
=
$menu
->get(1);
# um ../ backlinks in unterordner kicken.
$um
=
str_replace
(
'../'
,
''
,
$um
);
$um
=
str_replace
(
'./'
,
''
,
$um
);
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 = '1' AND cat = 'SELFKOM_$um' AND id = "
.
$kommentar_id
);
}
if
( (loggedin() OR chk_antispam (
'selfkom_'
.
$um
)) AND !
empty
(
$_POST
[
'kom_name'
]) AND !
empty
(
$_POST
[
'kom_txt'
]) ) {
$_POST
[
'txt'
] = escape(
$_POST
[
'kom_txt'
],
'string'
);
$_POST
[
'name'
] = escape(
$_POST
[
'kom_name'
],
'string'
);
db_query(
"INSERT INTO `prefix_koms` VALUES ('','1','SELFKOM_$um','"
.
$_POST
['name
']."'
,
'".$_POST['
txt
']."'
)");
$s
= mysql_error();
}
foreach
(
$ende_ar
as
$ext
) {
$file
=
'include/contents/selfbp/selfp/'
.
$menu
->get(1).
$ext
;
if
(
file_exists
(
$file
) ) {
$properties
= get_properties(
$file
);
if
(
$properties
[
'view'
] ==
"fullscreen"
){
showpage(
$file
,
$um
);
}
elseif
(
$properties
[
'view'
] ==
"popup"
){
if
(
$menu
->get(2)!=
'true'
){
$title
=
$allgAr
[
'title'
].
' :: '
.
$properties
[
'title'
];
$hmenu
=
$properties
[
'hmenu'
];
$design
=
new
design (
$title
,
$hmenu
);
$design
->header();
?>
<script language=
"JavaScript"
type=
"text/javascript"
>
<!--
var
fenster = window.open(
'index.php?self-<?php echo $menu->get(1); ?>-true'
,
'Seite'
,
'<?php echo $properties['
viewoptions
']; ?>'
);
fenster.focus();
-->
</script>
<?php
echo
'<a href="index.php?self-'
.
$menu
->get(1).
'-true">'
.
$properties
[
'title'
].
'</a>'
;
$design
->footer();
}
else
{
showpage(
$file
,
$um
);
}
}
else
{
$title
=
$allgAr
[
'title'
].
' :: '
.
$properties
[
'title'
];
$hmenu
=
$properties
[
'hmenu'
];
$design
=
new
design (
$title
,
$hmenu
);
$design
->header();
showpage(
$file
,
$um
);
echo
$s
;
$design
->footer();
}
$ok
=true;
break
;
}
}
}
if
(
$ok
!= true){
# dieser teil hier muss auch in
die
eigene self datei eingefuehgt werden.
#
die
datei muss aber
die
endung .php haben!!! und dann einfach den teil hier
# einfueghen und zwar bis zum #ENDE DESIGN
# und dann noch ganz am ende der self_ datei
$design
->footer();
# allers natuerlich in den php bereich der seite.
$title
=
$allgAr
[
'title'
];
$hmenu
=
""
;
$design
=
new
design (
$title
,
$hmenu
);
$design
->header();
#ENDE DESIGN
# das muss auch in
die
self datei eingefueght werden wenn sie direkt aufgerufen
# werden soll, davor aber auch noch das header ding am anfang ;9...
$design
->footer();
}
?>