<?php
# Copyright by: Manuel
# Support: www.ilch.de
defined (
'main'
)
or
die
(
'no direct access'
);
$title
=
$allgAr
[
'title'
].
' :: User :: '
.
$lang
[
'listofmembers'
];
$hmenu
=
$extented_forum_menu
.
'User <b> » </b> '
.
$lang
[
'listofmembers'
].
$extented_forum_menu_sufix
;
$ILCH_HEADER_ADDITIONS
.=
"\n<style type=\"text/css\"> a.alpha-item { padding:3px 5px; margin:3px 0 3px 0; -moz-border-radius: 3px 3px 3px 3px; text-decoration: none; } </style>\n"
;
$design
=
new
design (
$title
,
$hmenu
, 1);
$design
->header();
$limit
= 20;
$tpl
=
new
tpl (
'user/memb_list.htm'
);
if
(
$menu
->exists(
'filtername'
)) {
$page
= (
$menu
->getA(3) ==
'p'
?
$menu
->getE(3) : 1 );
$filtername
= escape(
$menu
->get(2),
'string'
);
}
elseif
(
$menu
->exists(
'letter'
)) {
$page
= (
$menu
->getA(3) ==
'p'
?
$menu
->getE(3) : 1 );
}
else
{
$page
= (
$menu
->getA(1) ==
'p'
?
$menu
->getE(1) : 1 );
}
$anfang
= (
$page
- 1) *
$limit
;
$tpl
=
new
tpl (
'user/memb_list.htm'
);
if
(isset(
$_GET
[
'filtername'
]) AND !
empty
(
$_GET
[
'filtername'
])){
$filtername
= escape(
$_GET
[
'filtername'
],
'string'
);
}
$allowed
=
array
(
'1'
,
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
,
'g'
,
'h'
,
'i'
,
'j'
,
'k'
,
'l'
,
'm'
,
'n'
,
'o'
,
'p'
,
'q'
,
'r'
,
's'
,
't'
,
'u'
,
'v'
,
'w'
,
'x'
,
'y'
,
'z'
,
'extra'
);
$extra
=
array
(
'1'
=>
'[0-9]'
,
'extra'
=>
'#'
);
$letter
= in_array(
$menu
->get(2),
$allowed
) ?
$allowed
[
array_search
(
$menu
->get(2),
$allowed
)] : false;
$abc
=
''
;
foreach
(
$allowed
as
$val
) {
$promptVal
=
array_key_exists
(
$val
,
$extra
) ?
$extra
[
$val
] :
strtoupper
(
$val
);
$abc
.=
'<a class="'
.(
$val
==
$letter
?
'Cmite'
:
'Cnorm'
).
' alpha-item rand" href="index.php?user-letter-'
.
$val
.
'">'
.(
$val
==
$letter
?
'<strong>'
.
$promptVal
.
'</strong>'
:
$promptVal
).
'</a>'
.
"\n"
;
}
if
(!
empty
(
$filtername
)) {
$sql_search
=
"`prefix_user`.`name` LIKE '%"
.
$filtername
.
"%'"
;
$mpl_link
=
'?user-filtername-'
.
$filtername
;
}
elseif
(
$menu
->exists(
'letter'
)
and
$letter
!= false ) {
if
(
is_numeric
(
$letter
)) {
$sql_search
=
"LEFT(`prefix_user`.`name`, 1) REGEXP '[[:digit:]]'"
;
}
elseif
(
$letter
==
'extra'
) {
$sql_search
=
"LEFT(`prefix_user`.`name`, 1) NOT REGEXP '[[:alnum:]]'"
;
}
else
{
$sql_search
=
"LOWER( LEFT(`prefix_user`.`name`, 1) ) = '"
.(
$letter
).
"'"
;
}
$mpl_link
=
'?user-letter-'
.
$letter
;
}
else
{
$sql_search
=
""
;
$mpl_link
=
'?user'
;
}
$sql_search
=
strlen
(
$sql_search
) ==
'0'
?
''
: sprintf(
"WHERE %s"
,
$sql_search
);
$MPL
= db_make_sites (
$page
,
$sql_search
,
$limit
,
$mpl_link
,
'user'
);
$tpl
->set_ar_out(
array
(
'SITELINK'
=>
$MPL
,
'ABC'
=>
$abc
), 0);
$class
=
''
;
$q
= sprintf("SELECT
`posts`,
`prefix_user`.`id`,
`prefix_grundrechte`.`name` AS `recht_name`,
`regist`,
`prefix_user`.`name`
FROM `prefix_user`
LEFT JOIN `prefix_grundrechte` ON `prefix_user`.`recht` = `prefix_grundrechte`.`id`
%s
ORDER by `recht`, `prefix_user`.`posts` DESC
LIMIT %d,%d",
$sql_search
,
$anfang
,
$limit
);
$erg
= db_query(
$q
);
while
(
$row
= db_fetch_object(
$erg
)) {
if
(
$class
==
'Cmite'
) {
$class
=
'Cnorm'
; }
else
{
$class
=
'Cmite'
; }
$ar
=
array
(
'NAME'
=>
$row
->name,
'RANG'
=> userrang(
$row
->posts,
$row
->id),
'CLASS'
=>
$class
,
'POSTS'
=>
$row
->posts,
'UID'
=>
$row
->id,
'DATE'
=>
date
(
'd.m.Y'
,
$row
->regist),
'GRUPE'
=>
$row
->recht_name
);
$tpl
->set_ar_out(
$ar
,1);
}
$tpl
->set_out(
'filtername'
,
$filtername
?
$filtername
:
''
,2);
$design
->footer();
?>