Używam Forum SMF. Podpiąłem do niego jeden z cms-ów, a teraz chciałbym "wyrzucić" na str gł oststnich kilka postów. W sumie wszystko zalezy od jedej funkcji (poniżej). Wstawiając wywołanie tej funkcji w index.php cms-a wyświetla mi się wszystko, lecz nie w taki sposób, w jaki sobie bym tego życzył - mianowicie mam tabelę o szerokości 300px, a całość napisana jest dla tablei o szerokości 760px (więc wiadomo, jak wygląda sprawa - dane się nie mieszczą i wychodzą cyrki

Pomyślałem więc, żeby może udałoby się tak rozwalić tę funkcję, by powstała tablica, z której wybrałbym wartości, które chcę wywalić na stronę (jesli źle myślę - plis poprawcie mnie).
Oto funkcja:
<?php function ssi_recentPosts($num_recent = 8, $exclude_boards = null, $output_method = 'echo') { if ($exclude_boards === null && !empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0) else // Find all the posts. Newer ones will have higher IDs. $request = db_query(" SELECT m.posterTime, m.subject, m.ID_TOPIC, m.ID_MEMBER, m.ID_MSG, m.ID_BOARD, b.name AS bName, IFNULL(mem.realName, m.posterName) AS posterName, " . ($user_info['is_guest'] ? '1 AS isRead, 0 AS new_from' : ' IFNULL(lt.ID_MSG, IFNULL(lmr.ID_MSG, 0)) >= m.ID_MSG_MODIFIED AS isRead, IFNULL(lt.ID_MSG, IFNULL(lmr.ID_MSG, -1)) + 1 AS new_from') . ", LEFT(m.body, 384) AS body, m.smileysEnabled FROM ({$db_prefix}messages AS m, {$db_prefix}boards AS b) LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)" . (!$user_info['is_guest'] ? " LEFT JOIN {$db_prefix}log_topics AS lt ON (lt.ID_TOPIC = m.ID_TOPIC AND lt.ID_MEMBER = $ID_MEMBER) LEFT JOIN {$db_prefix}log_mark_read AS lmr ON (lmr.ID_BOARD = m.ID_BOARD AND lmr.ID_MEMBER = $ID_MEMBER)" : '') . " AND $user_info[query_see_board] ORDER BY m.ID_MSG DESC LIMIT $num_recent", __FILE__, __LINE__); { $row['body'] = strip_tags(strtr(parse_bbc($row['body'], $row['smileysEnabled'], $row['ID_MSG']), array('<br />' => ' '))); if ($func['strlen']($row['body']) > 128) $row['body'] = $func['substr']($row['body'], 0, 128) . '...'; // Censor it! censorText($row['subject']); censorText($row['body']); // Build the array. 'id' => $row['ID_BOARD'], 'name' => $row['bName'], 'href' => $scripturl . '?board=' . $row['ID_BOARD'] . '.0', 'link' => '<a href="' . $scripturl . '?board=' . $row['ID_BOARD'] . '.0">' . $row['bName'] . '</a>' ), 'topic' => $row['ID_TOPIC'], 'id' => $row['ID_MEMBER'], 'name' => $row['posterName'], 'link' => empty($row['ID_MEMBER']) ? $row['posterName'] : '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['posterName'] . '</a>' ), 'subject' => $row['subject'], 'short_subject' => shorten_subject($row['subject'], 25), 'preview' => $row['body'], 'time' => timeformat($row['posterTime']), 'timestamp' => forum_time(true, $row['posterTime']), 'href' => $scripturl . '?topic=' . $row['ID_TOPIC'] . '.msg' . $row['ID_MSG'] . ';topicseen#new', 'link' => '<a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.msg' . $row['ID_MSG'] . '#msg' . $row['ID_MSG'] . '">' . $row['subject'] . '</a>', 'new_from' => $row['new_from'], ); } // Just return it. return $posts; echo ' <table border="0" class="ssi_table">'; foreach ($posts as $post) echo ' <tr> <td align="right" valign="top" nowrap="nowrap"> [', $post['board']['link'], '] </td> <td valign="top"> <a href="', $post['href'], '">', $post['subject'], '</a> ', $txt[525], ' ', $post['poster']['link'], ' ', $post['new'] ? '' : '<a href="' . $scripturl . '?topic=' . $post['topic'] . '.msg' . $post['new_from'] . ';topicseen#new"><img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/new.gif" alt="' . $txt[302] . '" border="0" /></a>', ' </td> <td align="right" nowrap="nowrap"> ', $post['time'], ' </td> </tr>'; echo ' </table>'; } ?>
Co chcę wyświetlić:
- nazwa działu forum (prawdopodobnie z 'ID_BOARD')
- tytuł wątku (prawdopodobnie z 'ID_TOPIC')
- autora posta (prawdopodobnie z 'ID_MEMBER')
Ewentualnie proszę o pomoc, by wyświetliło wszystko - a ja wyłuskam to, co potrzebuję...
Bardzo proszę o pomoc... (z tablicami u mnie krucho...)