Administrative Aufgaben
Eingetragen von Goofy (49)
am 10.08.2005 - 14:56 Uhr in
am 10.08.2005 - 14:56 Uhr in
moin,
mir war es immer lästig alle standardaufgaben, wie benutzer aktivieren und beiträge veröffentlichen, als admin über das menü einzeln zu erreichen. deswegen habe ich mir heute eine "admin-seite" gebastelt.
Das ist das ergebnis:
<?php
print ("<h3>Inaktive Benutzer:</h3>");
$q = "SELECT uid, name, created FROM users WHERE status=0 ORDER BY created";
$output .= "<ul>";
$result = db_query($q);
while ($anode = db_fetch_object($result)) {
$output1 .= "<li>".l($anode->name, "user/$anode->uid")."</li>";
}
$output .= "</ul>";
print ($output1);
print ("<h3>Unveröffentlichte Beiträge:</h3>");
$q = "SELECT nid, title, created, uid FROM node WHERE status=0 ORDER BY created";
$output .= "<ul>";
$result = db_query($q);
while ($anode = db_fetch_object($result)) {
$output2 .= "<li>".l($anode->title, "node/$anode->nid/edit")."</li>";
}
$output .= "</ul>";
print ($output2);
?>
damit habe ich erstmal alles auf einen blick und kann direkt drauf zugreifen. der code ist recht simple gestrickt, da ich "neu-einsteiger" bin. vielleicht fallen euch ja noch einige verbeserungen/erweiterungen ein oder ihr habt optimierungen für den code... etc.
ciao
- Anmelden oder Registrieren um Kommentare zu schreiben
Sehr nützlich! Es gibt ein
am 10.08.2005 - 15:33 Uhr
Sehr nützlich!
Es gibt ein Modul ("Admin block":http://drupal.org/node/19309), das den direkten Zugriff auf Nodes in der Moderationswarteschlange und noch nicht freigegebene Kommentare ermöglicht, evtl. findest du in diesem Modul noch weitere Anregungen...
Grüße
Björn
Überarbeitet
am 10.08.2005 - 18:43 Uhr
da ich mit der ausgabe nicht zufrieden war, habe ich das ganze nochmals überarbeitet:
<?php
print "<h3>Unveröffentlichte Beiträge:</h3>";
$header = array ('Änderungsdatum','Titel','Löschen','Benutzer');
$rows = array();
$q = "SELECT n.nid as nr, n.title as titel, DATE_FORMAT(FROM_UNIXTIME(n.changed), '%d.%m.%Y') as lastpost, u.name as uname, u.uid
FROM {node} n
INNER JOIN {users} u ON n.uid = u.uid
WHERE n.status =0
ORDER BY n.changed DESC";
$result = db_query ($q);
while ( $row = db_fetch_object ( $result ) )
{
$link = l($row->titel, "node/".$row->nr."/edit");
$dlink = l(t('delete'), "admin/node/".$row->nr."/delete&destination=admin/node/".$row->nr."/delete");
$rows[] = array ( 'data' => array ($row->lastpost, $link, $dlink, $row->uname )) ;
}
if (!$rows) {
$rows[] = array(array('data' => t('No log data available.'), 'colspan' => 2));
}
print theme('table', $header, $rows);
print "<h3>Inaktive Benutzer:</h3>";
$header = array ('Erstelldatum','Name','Mail');
$rows = array();
$q = "SELECT u.uid as ur, u.name as uname, DATE_FORMAT(FROM_UNIXTIME(u.created), '%d.%m.%Y') as cdate, u.mail as umail
FROM {users} u
WHERE u.status = 0 AND u.uid != 0
ORDER BY u.created DESC";
$result = db_query ($q);
while ( $row = db_fetch_object ( $result ) )
{
$link = l($row->uname, "user/".$row->ur."/edit");
$rows[] = array ( 'data' => array ($row->cdate, $link, $row->umail)) ;
}
if (!$rows) {
$rows[] = array(array('data' => t('No log data available.'), 'colspan' => 2));
}
print theme('table', $header, $rows);
?>