ba1efe06ecc94892f0c0772c61d996e4e1ab0cd0
2 /********************************************************************************
3 * thread.php : group overview
6 * This file is part of the banana distribution
7 * Copyright: See COPYING files that comes with this distribution
8 ********************************************************************************/
10 require_once("include/session.inc.php");
11 require_once("include/misc.inc.php");
12 require_once("include/format.inc.php");
13 require_once("include/config.inc.php");
14 require_once("include/NetNNTP.inc.php");
15 require_once("include/post.inc.php");
16 require_once("include/spool.inc.php");
17 require_once("include/password.inc.php");
18 require_once("include/profile.inc.php");
19 require_once("include/error.inc.php");
21 $profile=getprofile();
22 require_once("include/header.inc.php");
24 if (isset($_REQUEST['group'])) {
25 $group=htmlentities(strtolower($_REQUEST['group']));
27 $group=htmlentities(strtolower(strtok(str_replace(" ","",$_REQUEST['newsgroups']),",")));
30 if (isset($_REQUEST['id'])) {
31 $id=htmlentities(strtolower($_REQUEST['id']));
34 //$nntp = new nntp($news['server'],120,1);
35 $nntp = new nntp($news['server']);
36 if (!$nntp) error("nntpsock");
37 if ($news['user']!="anonymous") {
38 $result = $nntp->authinfo($news["user"],$news["pass"]);
39 if (!$result) error("nntpauth");
41 $spool = new spool($nntp,$group,$profile['display'],
42 $profile['lastnews']);
43 if (!$spool) error("nntpspool");
45 if (isset($_REQUEST['first']) && ($_REQUEST['first']>sizeof($spool->overview
)))
46 $_REQUEST['first']=sizeof($spool->overview
);
47 $first = (isset($_REQUEST['first'])?
48 (floor($_REQUEST['first']/$max)*$max+
1):1);
49 $last = (isset($_REQUEST['first'])?
50 (floor($_REQUEST['first']/$max+
1)*$max):$max);
52 if (isset($_REQUEST['action']) && (isset($_REQUEST['type'])) &&
53 (isset($_SESSION['bananapostok'])) && ($_SESSION['bananapostok'])) {
54 switch ($_REQUEST['type']) {
56 $mid = array_search($id,$spool->ids
);
58 $post = new NNTPPost($nntp,$id);
60 if (checkcancel($post->headers
)) {
61 $message = 'From: '.$profile['name']."\n"
62 ."Newsgroups: $group\n"
63 ."Subject: cmsg $mid\n"
65 ."Control: cancel $mid\n"
67 ."Message canceled with Banana";
68 $result = $nntp->post($message);
71 $text = "<p class=\"normal\">"._b_('Message annulé')."</p>";
73 $text = "<p class=\"error\">"._b_('Impossible d\'annuler le message')."</p>";
76 $text="<p class=\"error\">\n\t"._b_('Vous n\'avez pas les permissions pour annuler ce message')."\n</p>";
80 $body = preg_replace("/\n\.[ \t\r]*\n/m","\n..\n",stripslashes($_REQUEST['body']));
81 $message = 'From: '.$profile['name']."\n"
82 ."Newsgroups: ".stripslashes(str_replace(" ","",
83 $_REQUEST['newsgroups']))."\n"
84 ."Subject: ".stripslashes($_REQUEST['subject'])."\n"
85 .(isset($profile['org'])?
"Organization: ".$profile['org']."\n":"")
86 .($_REQUEST['followup']!=''?
'Followup-To: '
87 .stripslashes($_REQUEST['followup'])."\n":"")
90 .wrap($body,"",$news['wrap']);
91 $result = $nntp->post($message);
93 $text="<p class=\"normal\">"._b_('Message posté')."</p>";
95 $text="<p class=\"error\">"._b_('Impossible de poster le message')."</p>";
99 $rq=$nntp->group($group);
100 $post = new NNTPPost($nntp,$id);
102 $refs = (isset($post->headers
->references
)?
103 $post->headers
->references
." ":"").$post->headers
->msgid
;
106 $body = preg_replace("/\n\.[ \t\r]*\n/m","\n..\n",stripslashes($_REQUEST['body']));
107 $message = 'From: '.$profile['name']."\n"
108 ."Newsgroups: ".stripslashes($_REQUEST['newsgroups'])."\n"
109 ."Subject: ".stripslashes($_REQUEST['subject'])."\n"
110 .(isset($profile['org'])?
"Organization: ".$profile['org']."\n":"")
111 .($_REQUEST['followup']!=''?
'Followup-To: '
112 .stripslashes($_REQUEST['followup'])."\n":"")
113 ."References: $refs\n"
115 .$profile['customhdr']
117 .wrap($body,"",$news['wrap']);
118 $result = $nntp->post($message);
120 $text="<p class=\"normal\">"._b_('Message posté')."</p>";
122 $text="<p class=\"error\">"._b_('Impossible de poster le message')."</p>";
126 $_SESSION['bananapostok']=false
;
127 $spool = new spool($nntp,$group,$profile['display'],
128 $profile['lastnews']);
129 if (!$spool) error("nntpspool");
135 <?php
echo $group; ?
>
145 <table
class="<?php echo $css['bicol']?>" cellpadding
="0" cellspacing
="0" border
="0">
147 <th
class="<?php echo $css['date']?>">
148 <?php
echo _b_('Date'); ?
>
150 <th
class="<?php echo $css['subject']?>">
151 <?php
echo _b_('Sujet'); ?
>
153 <th
class="<?php echo $css['from']?>">
154 <?php
echo _b_('Auteur'); ?
>
158 $spool->disp($first,$last);
164 require_once("include/footer.inc.php");