// lastpostings 0.5.0 // Hubzilla-Umgebung laden require_once '/var/www/my_webapp/www/boot.php'; // Anzahl der anzuzeigenden Postings define('NUMOFPOSTS', 5); // Kanal-ID und -name ermitteln $channel_id = isset($_SESSION['uid']) ? intval($_SESSION['uid']) : 51; $channel_name = isset($a->channel['channel_name']) ? $a->channel['channel_name'] : 'pepechan'; // SQL-Abfrage: Nur eigene, sichtbare, öffentliche Postings // allen anderen Kram rigoros aussortieren… vor allem die gelöschten Postings $sql = sprintf( "SELECT id, mid, llink, title, body, created FROM item WHERE uid = %d AND item_origin = 1 AND item_deleted = 0 AND item_unpublished = 0 AND item_hidden = 0 AND item_pending_remove = 0 AND item_private = 0 AND verb IN ('Create', 'Announce') AND mimetype = 'text/bbcode' ORDER BY id DESC LIMIT %d", intval($channel_id), NUMOFPOSTS ); $result = q($sql); // Ergebnisse verarbeiten für MySQL UND PostgreSQL $items = []; if (is_array($result)) { $items = $result; } elseif ($result && property_exists($result, 'num_rows') && $result->num_rows > 0) { while ($item = $result->fetch()) { $items[] = $item; } } // Ausgabe if (!empty($items)) { echo '
'; foreach ($items as $item) { $title = htmlspecialchars($item['title'] ?? '', ENT_QUOTES, 'UTF-8'); // BBCode in HTML umwandeln $body = bbcode($item['body'] ?? ''); // Auf 512 Zeichen kürzen — nur am letzten vollständigen Tag, damit kein Markup zerbricht if (mb_strlen($body, 'UTF-8') > 512) { $cut = mb_substr($body, 0, 512, 'UTF-8'); $pos = mb_strrpos($cut, '>'); $summary = ($pos !== false) ? mb_substr($cut, 0, $pos + 1, 'UTF-8') . '…' : $cut . '…'; } else { $summary = $body; } // Datum ins deutsche Format (TT.MM.JJJJ) $created = date('d.m.Y', strtotime($item['created'])); // Weiterlesen-Link über llink (display erscheint mir "krisensicherer") $llink = $item['llink'] ?? ''; $read_more_link = $llink ? '..::Weiterlesen::..' : ''; echo '
'; if ($title) { echo '
' . $title . '
'; } echo '
' . $created . '
'; echo '
' . $summary . '
'; echo $read_more_link; echo '
'; } echo '
'; } else { echo '

Keine eigenen Beiträge gefunden.

'; }