From 5845d1f1555b2917e7ab44a2e76dc48a38e838ea Mon Sep 17 00:00:00 2001 From: Joey Schulze Date: Fri, 8 Aug 2008 14:57:43 +0000 Subject: [PATCH] Start of an admin section/page --- lib/admin.inc | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ lib/functions.inc | 2 ++ lib/layout.inc | 2 ++ 3 files changed, 82 insertions(+) create mode 100644 lib/admin.inc diff --git a/lib/admin.inc b/lib/admin.inc new file mode 100644 index 0000000..ad94a89 --- /dev/null +++ b/lib/admin.inc @@ -0,0 +1,78 @@ +List of Users'; + + $order = 'nickname'; + $query = "SELECT nickname,realname,email,register_date FROM users WHERE status = 1 ORDER BY $order"; + + $sth = db_query($query); + + if ($sth === false || pg_num_rows ($sth) == 0) + $ret .= '

Keine Nutzerdaten vorhanden.

'; + else { + $ret .= ''; + $ret .= ''; + for ($n=0; $n < pg_num_rows ($sth); $n++) { + $row = pg_fetch_array ($sth, $n); + if (strlen($row['realname'])) + $email = $row['email'] . '/' . $row['realname']; + else + $email = $row['email']; + + $name = $row['realname']; + $register = explode(' ', $row['register_date']); + $register = $register[0]; + $ret .= sprintf('', + $row['nickname'], $email, $register); + } + + $ret .= '
LoginEmailSince
%s%s%s
'; + } + + return $ret; +} + +function admin_hitlist() +{ + global $cfg; + + $ret = '

Globale Hitlist

'; + + $query = "SELECT zeitung,name,sum(counter) as counter FROM hits " . + "INNER JOIN zeitungen ON id = zeitung " . + "WHERE deleted IS false " . + "GROUP BY zeitung,name ORDER BY counter DESC"; + + $sth = db_query($query); + + if ($sth === false || pg_num_rows ($sth) == 0) + $ret .= '

Keint Hitliste vorhanden

'; + else { + $ret .= ''; + $ret .= ''; + for ($n=0; $n < pg_num_rows ($sth); $n++) { + $row = pg_fetch_array ($sth, $n); + $ret .= sprintf('', + $row['counter'], $cfg['basepath'], $row['zeitung'], $row['name']); + } + + $ret .= '
HitsName
%d%s
'; + } + + return $ret; +} + +function layout_admin() +{ + $ret = '

Admin page

'; + $ret .= admin_userlist(); + $ret .= admin_hitlist(); + return $ret; +} + +?> \ No newline at end of file diff --git a/lib/functions.inc b/lib/functions.inc index 7c07bc7..6f6badc 100644 --- a/lib/functions.inc +++ b/lib/functions.inc @@ -36,6 +36,8 @@ $dirs = array('zeitung' => array('func' => 'layout_showpaper'), 'archiv' => array('func' => 'layout_archive'), 'tag' => array('func' => 'layout_showtag'), 'topic' => array('func' => 'layout_topic'), + 'admin' => array('lib' => 'admin.inc', + 'func' => 'layout_admin'), ); diff --git a/lib/layout.inc b/lib/layout.inc index 54e1f7c..da85a1d 100644 --- a/lib/layout.inc +++ b/lib/layout.inc @@ -75,6 +75,8 @@ function pageheader() $ret .= '
Home'; if ($cfg['path'] != 'contact.html') $ret .= sprintf('   Kontakt', $cfg['basepath']); + if (is_admin() && $cfg['path'] != 'admin.html') + $ret .= sprintf('   Admin', $cfg['basepath']); if (is_spider()) $ret .= sprintf('   Sitemap', $cfg['basepath']); $ret .= '
'; -- 2.11.0