Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [poszukuję] NNTP -> WWW
Bakus
post
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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marian8
post
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&plusmn;pił bł&plusmn;d podczas ł&plusmn;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&plusmn;pił bł&plusmn;d';
exit;
}
$num = imap_num_msg($nntp);
echo 'Ilo&para;ć wiadomo&para;ci: '.$num.'<br>';
$num = ($num > MAX) ? MAX : $num;
$num = ($ofset+MAX > imap_num_msg($nntp)) ? imap_num_msg($nntp)-$ofset : $num;
echo 'Wy&para;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ł&plusmn;cz"></td></tr></table></form>';
}

?>[/php:1:bbc29ccbe6]
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 00:05