subscription system
[banana.git] / index.php
1 <?php
2 /********************************************************************************
3 * index.php : main page (newsgroups list)
4 * -----------
5 *
6 * This file is part of the banana distribution
7 * Copyright: See COPYING files that comes with this distribution
8 ********************************************************************************/
9
10 require("include/session.inc.php");
11 require("include/password.inc.php");
12 require("include/NetNNTP.inc.php");
13 require("include/groups.inc.php");
14 require("include/format.inc.php");
15 require("include/config.inc.php");
16 require("include/profile.inc.php");
17
18 $profile=getprofile();
19 require($profile['locale']);
20
21 require("include/header.inc.php");
22
23 $nntp = new nntp($news['server']);
24 if ($news['user']!="anonymous") {
25 $result = $nntp->authinfo($news["user"],$news["pass"]);
26 if (!$result) {
27 echo "<p class=\"error\">\n\t".$locale['error']['credentials']
28 ."\n</p>";
29 require("include/footer.inc.php");
30 exit;
31 }
32 }
33 $groups = new groups($nntp,0);
34 $newgroups = new groups($nntp,1);
35 ?>
36
37 <div class="<?php echo $css["title"];?>">
38 <?php echo $locale['index']['title'];?>
39 </div>
40
41 <?php
42 if (!sizeof($groups->overview)) {
43 echo "<p class=\"{$css['normal']}\">";
44 echo "\n".$locale['error']['nogroup']."\n";
45 echo "</p>\n";
46 require("include/footer.inc.php");
47 exit;
48 }
49
50 displayshortcuts();
51 ?>
52
53 <table class="<?php echo $css["bicol"];?>" cellspacing="0" cellpadding="2"
54 summary="<?php echo $locale['index']['summary'];?>">
55 <tr>
56 <th>
57 <?php echo $locale['index']['total'];?>
58 </th>
59 <th>
60 <?php echo $locale['index']['unread'];?>
61 </th>
62 <th>
63 <?php echo $locale['index']['name'];?>
64 </th>
65 <th>
66 <?php echo $locale['index']['description'];?>
67 </th>
68 </tr>
69 <?php
70 $pair = true;
71 foreach ($groups->overview as $g => $d) {
72 $pair = !$pair;
73 $groupinfo = $nntp->group($g);
74 $newarts = $nntp->newnews($profile['lastnews'],$g);
75 ?>
76 <tr class="<?php echo ($pair?$css["pair"]:$css["impair"]);?>" >
77 <td class="<?php echo $css["total"]; ?>">
78 <?php echo $groupinfo[0]; ?>
79 </td>
80 <td class="<?php echo $css["unread"]; ?>">
81 <?php echo sizeof($newarts); ?>
82 </td>
83 <td class="<?php echo $css["group"]; ?>">
84 <?php echo "<a href=\"thread.php?group=$g\">$g</a>";?>
85 </td>
86 <td class="<?php echo $css["description"]; ?>">
87 <?php echo $d[0];?>
88 </td>
89 </tr>
90 <?php
91 }
92 ?>
93 </table>
94 <?php
95 if (count($newgroups->overview) and count($profile['subscribe'])) {
96 ?>
97 <p class="normal">
98 <?php echo $locale['index']['newgroupstext']; ?>
99 </p>
100 <table class="<?php echo $css["bicol"];?>" cellspacing="0" cellpadding="2"
101 summary="<?php echo $locale['index']['summary'];?>">
102 <tr>
103 <th>
104 <?php echo $locale['index']['total'];?>
105 </th>
106 <th>
107 <?php echo $locale['index']['name'];?>
108 </th>
109 <th>
110 <?php echo $locale['index']['description'];?>
111 </th>
112 </tr>
113 <?php
114 $pair = true;
115 foreach ($newgroups->overview as $g => $d) {
116 $pair = !$pair;
117 $groupinfo = $nntp->group($g);
118 ?>
119 <tr class="<?php echo ($pair?$css["pair"]:$css["impair"]);?>" >
120 <td class="<?php echo $css["total"]; ?>">
121 <?php echo $groupinfo[0]; ?>
122 </td>
123 <td class="<?php echo $css["group"]; ?>">
124 <?php echo "<a href=\"thread.php?group=$g\">$g</a>";?>
125 </td>
126 <td class="<?php echo $css["description"]; ?>">
127 <?php echo $d[0];?>
128 </td>
129 </tr>
130 <?php
131 } //foreach
132 ?>
133 </table>
134 <?php
135 } // new newsgroups ?
136
137 displayshortcuts();
138
139 $nntp->quit();
140 require("include/footer.inc.php");
141 ?>