"Meine offenen Artikel" - Block
Hallöle zusammen,ich einen kleinen PHP-Block entwickelt, der einem ausgibt, welche selbst-angelegten Artikel noch im Entwurfsmodus sind.
Ich finde das für einen Überblick auf der Startseite ganz praktisch.
Hier der Code:
/**
* Draft-Stories - Blockfunktion
*
* Listet die Artikel des aktuellen Users, die im Entwurfs-Modus sind.
**/
function phpblock_draftStories() {
global $_TABLES, $_CONF, $_USER, $LANG01, $LANG24;
// Ignore users that are not logged in. Including Mr Anonymous
if( empty($_USER['uid']) OR $_USER['uid'] == 1 ) {
$lReturnValue .= $LANG01[37];
} else {
// Find all draft articles of the loggid in user
$lResult = DB_query("SELECT sid,draft_flag,date,title,owner_id FROM "
." WHERE draft_flag=1 AND owner_id="
." ORDER BY date ASC");
$lNumRows = DB_numRows($lResult);
if ($lNumRows > 0) {
$lStories = array();
for ($i = 0; $i < $lNumRows; $i++) {
$lRow = DB_fetchArray($lResult);
// Extract date and reformat it
$lStoryDate = strtotime($lRow['date']);
$lStoryDate = getdate($lStoryDate);
$lStories[count($lStories)] = ''. $lRow['title'] .' '. $lStoryDate['mday'] .'.'. $lStoryDate['mon'] .'.';
}
$lReturnValue .= COM_makeList($lStories);
} else {
// Sorry didn't find anything
$lReturnValue .= $LANG24[6];
}
}
return $lReturnValue;
}
Der Block muss als PHP-Block eingebunden werden, der Name der Methode ist ja oben ersichtlich. Ach ja, diese muss in die lib-common.php eingefügt werden. Auch klar... ;)Statt hier die Strings mit dem li-Tag selber zusammenzusetzen, kann man auch die Funktion COM_makeList() benutzen (siehe Kommentare zu Top-Links-Block). Hab ich jetzt aber mal nicht gemacht... ;)
Angezeigt werden in dem Block dann die eigenen Artikel im Entwurfsmodus, in Form von Titel und Erstelldatum. Der Titel ist auf den eigentlichen Artikel verlinkt.
Gruß,
Alex