![]() |
![]() |
![]()
Post
#1
|
|
Administrator serwera Grupa: Przyjaciele php.pl Postów: 909 Pomógł: 0 Dołączył: 12.08.2003 Skąd: /var/www/wroclaw.php Ostrzeżenie: (0%) ![]() ![]() |
Poszukuję jakiejś dobrej bramki NNTP -> WWW
(do wyświetlania i pisania postów dla grup dyskusyjnych) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 3.12.2003 Skąd: Jelenia Góra Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio sie tez troche narobilem nad NNTP. Ponizszy skrypt potrafi odczytac wiadomosci z grupy. Nie pokazuje hierarchicznie watkow (nie polecam sposobu imap_thread()). Najprostrzy przyklad obrazujacy zasade dzialania funkcji imap... tekstow z ISO mi sie nie chcialo przerabiac...
[php:1:bbc29ccbe6] <?php define('MAX',20); if (isset($_GET['server']) && isset($_GET['grupa'])) { $server="{".$_GET['server'].":119/nntp}"; $nntp = imap_open($server.$_GET['grupa'], "", "") or die ("Wyst±pił bł±d podczas ł±czenia.<BR>Errors: " . join(", ", imap_errors()) . "nAlerts:n" . join(", ", imap_alerts())); if (!isset($_GET['nr'])) { echo imap_last_error(); $ofset = (isset($_GET['ofset'])) ? $_GET['ofset'] : 1; if ($ofset > imap_num_msg($nntp)) { echo 'Wyst±pił bł±d'; exit; } $num = imap_num_msg($nntp); echo 'Ilo¶ć wiadomo¶ci: '.$num.'<br>'; $num = ($num > MAX) ? MAX : $num; $num = ($ofset+MAX > imap_num_msg($nntp)) ? imap_num_msg($nntp)-$ofset : $num; echo 'Wy¶wietlam: '.$num.'<br>'; $overview = imap_fetch_overview($nntp, $ofset.":".($num+$ofset), 0); if (is_array($overview)) { reset($overview); echo "<table>"; while (list($key, $val) = each($overview)) { $temat = (!empty($val->subject)) ? $val->subject : "brak tematu"; echo "<tr><td>". $val->msgno . "</td><td><a href=?server=" . $_GET['server'] . "&grupa=" . $_GET['grupa'] . "&nr=" . $val->msgno . ">" . $temat . "</a>" . "</td><td>" . $val->from . "</td><td>" . $val->date . "</td></tr>"; } echo "</table>"; } if (isset($_GET['ofset'])) { echo '<a href=nntp.php?server='.$_GET['server'].'&grupa='.$_GET['grupa']. (($_GET['ofset'] > MAX) ? '&ofset='.($_GET['ofset']-MAX) : '') .'><<<</a>'; } if (imap_num_msg($nntp) > MAX) { if (isset($_GET['ofset'])) { if ($_GET['ofset']+MAX < imap_num_msg($nntp)) { echo '<a href=nntp.php?server='.$_GET['server'].'&grupa='.$_GET['grupa']. '&ofset='.($_GET['ofset']+MAX).'>>>></a>'; } } else { echo ' <a href=nntp.php?server='.$_GET['server'].'&grupa='.$_GET['grupa']. '&ofset='.MAX.'>>>></a>'; } } } else { echo nl2br(imap_fetchbody($nntp,$_GET['nr'],'1')); echo '<br><br><a href="nntp.php?server='.$_GET['server'].'&grupa='.$_GET['grupa'].'">powrot</a>'; } imap_close($nntp); } else { echo '<form action="nntp.php" method="get">'. '<table><tr><td>Serwer</td><td>'. '<input type="text" name="server">'. '</td><td>np. news.idg.pl</td></tr><tr><td>Grupa</td><td>'. '<input type="text" name="grupa">'. '</td><td>np. pcwk.test</td></tr><tr><td></td><td>'. '<input type="submit" value="Poł±cz"></td></tr></table></form>'; } ?>[/php:1:bbc29ccbe6] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 00:05 |