1 | <?php
|
---|
2 | if ($user_level < 6) die ( __('Cheatin’ uh?') ); // safety net to ctach cheets
|
---|
3 | ?>
|
---|
4 |
|
---|
5 | <h2>Managing the <a href="edit.php?page=parteibuch-aggregator/bdp-rssadmin.php">Parteibuch Aggregator</a> plugin</h2>
|
---|
6 |
|
---|
7 | <h3>The Parteibuch Aggregator has some stuff to configure:</h3>
|
---|
8 |
|
---|
9 | <ul>
|
---|
10 | <li><b><a href="#addfeeds">1. add and manage the feeds</a></b> you wish to have in your Parteibuch Aggregator</li>
|
---|
11 | <li><b><a href="#createlist">2. create/update lists</a></b> to group your feeds to lists that can be selected for filtering output</li>
|
---|
12 | <li><b><a href="#createpbaoutput">3. create/update output formats and assign them to your blog pages</a></b></li>
|
---|
13 | <li><b><a href="#globals">4. set/change some global configuration options</a></b> for the Parteibuch Aggregator</li>
|
---|
14 | <?php
|
---|
15 | if(function_exists('wp_register_sidebar_widget')){
|
---|
16 | echo '<li><b><a href="widgets.php">5. add widgets</a></b> with aggregated feeds to your sidebar</li>';
|
---|
17 | }
|
---|
18 |
|
---|
19 | ?>
|
---|
20 | </ul>
|
---|
21 |
|
---|
22 |
|
---|
23 |
|
---|
24 | <p><hr /></p>
|
---|
25 |
|
---|
26 | <fieldset>
|
---|
27 | <a name="addfeeds"></a>
|
---|
28 | <h3>1: Feeds</h3>
|
---|
29 | <h4>Add a new feed</h4>
|
---|
30 | <form method="post" action="<?php echo $selfreference; ?>">
|
---|
31 | <table border="0" width="100%" cellspacing="2" cellpadding="5" class="editform">
|
---|
32 | <tr valign="middle">
|
---|
33 | <td align="left"><strong>RSS Address:</strong>
|
---|
34 | <input type="text" name="bdprss_new_feed_name" value="" size="60" />
|
---|
35 | <br />(multiple feeds can be entered as a comma separated list)<br/></td>
|
---|
36 | <td align="right">
|
---|
37 | <input type="submit" name="bdprss_add_feed_button" value="Add Feed »" />
|
---|
38 | </td>
|
---|
39 | </tr>
|
---|
40 | </table>
|
---|
41 | </form>
|
---|
42 |
|
---|
43 | <?php
|
---|
44 | global $bdprss_db;
|
---|
45 | $overriden = FALSE;
|
---|
46 | $result = $bdprss_db->get_all_sites();
|
---|
47 | if($result) {
|
---|
48 | ?>
|
---|
49 | <hr width='50%' />
|
---|
50 | <h4>Current feeds</h4>
|
---|
51 | <table width="100%" cellpadding="3" cellspacing="3">
|
---|
52 | <?php
|
---|
53 | $file = get_option('siteurl') . '/wp-admin/edit.php?page=' . PBA_DIRECTORY. '/bdp-rssadmin.php';
|
---|
54 | $now = $bdprss_db->now;
|
---|
55 |
|
---|
56 | echo "<tr><th align='left'>Site and feed status</th><th>Site updated</th>".
|
---|
57 | "<th>GMT adj</th><th>Polling freq</th>".
|
---|
58 | "<th>Last poll</th><th>Cache updated</th><th>Next poll</th>".
|
---|
59 | "<th colspan='3'>Actions</th></tr>\n";
|
---|
60 |
|
---|
61 | $benchmark = $now - (60 * 60 * 24 * 7); // highlight blogs with updates older than 7 days
|
---|
62 |
|
---|
63 | if($result) {
|
---|
64 | $class='';
|
---|
65 | foreach($result as $r) {
|
---|
66 | $ref = $r->{$bdprss_db->cidentifier};
|
---|
67 | $url = $r->{$bdprss_db->cfeedurl};
|
---|
68 | $site = $r->{$bdprss_db->csitename};
|
---|
69 | $siteurl = $r->{$bdprss_db->csiteurl};
|
---|
70 | $description = $r->{$bdprss_db->cdescription};
|
---|
71 | $gmt = $r->{$bdprss_db->cgmtadjust};
|
---|
72 | $polled = PBALIB::gettheage( $r->{$bdprss_db->clastpolltime} );
|
---|
73 | $updated = PBALIB::gettheage( $r->{$bdprss_db->cupdatetime} );
|
---|
74 | $scheduled = PBALIB::gettheage( $r->{$bdprss_db->cnextpolltime} );
|
---|
75 | $pollingfreq = $r->{$bdprss_db->cpollingfreqmins};
|
---|
76 | if($scheduled == 'never') $scheduled = 'now';
|
---|
77 | $sno = $r->{$bdprss_db->csitenameoverride} == 'Y';
|
---|
78 |
|
---|
79 | $siteUpdate = '';
|
---|
80 | $name = $url;
|
---|
81 | if($site)
|
---|
82 | {
|
---|
83 | $italics = ''; $unitalics = '';
|
---|
84 | if($sno) { $italics = '<b>*</b> <em>'; $unitalics = '</em>'; $overriden = TRUE; }
|
---|
85 | $name = "$italics<a href='$siteurl' title='$description'>"."$site</a>$unitalics";
|
---|
86 | $name .= " [<a href='$url' title='$url'>feed</a>]";
|
---|
87 |
|
---|
88 | $ticks = $bdprss_db->get_most_recent_item_time($ref);
|
---|
89 | $bold = ''; $unbold ='';
|
---|
90 | if($ticks < $benchmark) { $bold = '<strong>'; $unbold ='</strong>'; }
|
---|
91 | $siteUpdate = " $bold".PBALIB::gettheage($ticks)."$unbold";
|
---|
92 | }
|
---|
93 |
|
---|
94 | $bold = '';
|
---|
95 | $unbold = '';
|
---|
96 | if( $r->{$bdprss_db->clastpolltime} != $r->{$bdprss_db->cupdatetime} ) {
|
---|
97 | $bold = '<strong>';
|
---|
98 | $unbold = '</strong>';
|
---|
99 | }
|
---|
100 |
|
---|
101 | $sbold = ''; $sunbold = '';
|
---|
102 | if($r->{$bdprss_db->cnextpolltime} < $now)
|
---|
103 | {
|
---|
104 | $sbold = '<strong>';
|
---|
105 | $sunbold = '</strong>';
|
---|
106 | }
|
---|
107 |
|
---|
108 | $class = ('alternate' == $class) ? '' : 'alternate';
|
---|
109 |
|
---|
110 | $errorCount = $bdprss_db->countErrors($url);
|
---|
111 | if($errorCount)
|
---|
112 | $name .= " <a href='".$file.
|
---|
113 | "&action=errorlist&rss=$ref'>[<strong>E $errorCount</strong>]</a>";
|
---|
114 |
|
---|
115 | echo "<tr class='$class' valign='middle' align='center'>\n".
|
---|
116 | "\t<td align='left'>$name</td>\n".
|
---|
117 | "\t<td align='center'>$siteUpdate</td>\n".
|
---|
118 | "\t<td align='center'>";
|
---|
119 | if($gmt != 0.0) echo $gmt;
|
---|
120 | echo "</td>\n".
|
---|
121 | "\t<td align='center'>";
|
---|
122 | if( $pollingfreq ) echo "$pollingfreq minutes";
|
---|
123 | echo "</td>\n" .
|
---|
124 | "\t<td align='center'>$polled</td>\n" .
|
---|
125 | "\t<td align='center'>$bold $updated $unbold</td>\n".
|
---|
126 | "\t<td align='center'>$sbold $scheduled $sunbold</td>\n".
|
---|
127 | "\t<td align='center'><a href='" .$file.
|
---|
128 | "&action=editfeed&rss=$ref'>Edit</a></td>\n".
|
---|
129 | "\t<td align='center'><a href='" .$file.
|
---|
130 | "&action=update&rss=$ref'>Poll</a></td>\n".
|
---|
131 | "\t<td align='center'><a href='" .$file.
|
---|
132 | "&action=delete&rss=$ref'>Delete</a></td>\n".
|
---|
133 | "</tr>\n";
|
---|
134 | }
|
---|
135 | }
|
---|
136 | }
|
---|
137 | ?>
|
---|
138 | </table>
|
---|
139 |
|
---|
140 | <?php
|
---|
141 |
|
---|
142 | if($overriden)
|
---|
143 | echo "<p><b>Note:</b> Sites in italics have had their feed details overridden. ".
|
---|
144 | "To restore feed details: first edit the site, second un-tick the box to switch off the feed override, ".
|
---|
145 | "then hit the edit button, and finally poll the feed. </p>\n";
|
---|
146 |
|
---|
147 | // improved monitoring of feed errors
|
---|
148 | if($bdprss_db->countErrors())
|
---|
149 | {
|
---|
150 | echo "<hr width='50%' />\n\n<h4>Recent feed errrors</h4>\n\n";
|
---|
151 |
|
---|
152 | echo "<table width='100%' cellpadding='3' cellspacing='3'>\n";
|
---|
153 | echo "<tr><td align='left'>".
|
---|
154 | "<a href='".$file."&action=errorlist'>List all feed errors</a></td>\n";
|
---|
155 | echo "<td align='right'>".
|
---|
156 | "<a href='".$file."&action=errordelete'>Delete the feed error table</a></td>\n";
|
---|
157 | echo "</tr></table>";
|
---|
158 | }
|
---|
159 |
|
---|
160 | // lets put the list of URLs in the OUTPUT - they can be useful!
|
---|
161 | if($result)
|
---|
162 | {
|
---|
163 | echo "<hr width='50%' />\n\n<h4>A list of feeds</h4>\n\n";
|
---|
164 |
|
---|
165 | echo "<p>This list can be copied and saved to a file. If you delete everything, ".
|
---|
166 | "you can paste the list into the add feeds box.</p>\n<p>";
|
---|
167 |
|
---|
168 | echo '<textarea cols="120" rows="5" readonly>';
|
---|
169 |
|
---|
170 | $subsequent = false;
|
---|
171 | foreach($result as $r)
|
---|
172 | {
|
---|
173 | if($subsequent) echo " ";
|
---|
174 | $subsequent = true;
|
---|
175 | $url = $r->{$bdprss_db->cfeedurl};
|
---|
176 | echo $url;
|
---|
177 | }
|
---|
178 | echo "</textarea></p>\n";
|
---|
179 | }
|
---|
180 | ?>
|
---|
181 | </fieldset>
|
---|
182 |
|
---|
183 | <hr width='50%' />
|
---|
184 |
|
---|
185 | <fieldset>
|
---|
186 | <h4>Manage feed related values</h4>
|
---|
187 |
|
---|
188 | <form method="post" action="<?php echo $selfreference; ?>">
|
---|
189 |
|
---|
190 | <table border="0" width="100%" cellspacing="2" cellpadding="5" class="editform">
|
---|
191 | <tr valign="top">
|
---|
192 | <th width="40%" scope="row">
|
---|
193 | Standard feed polling frequency:
|
---|
194 | </th>
|
---|
195 | <td>
|
---|
196 | <input type="range" name="bdprss_new_frequency"
|
---|
197 | value="<?php echo get_option('bdprss_update_frequency'); ?>"
|
---|
198 | maxlength="3" size="3" /> minutes<br>
|
---|
199 | This frequency is used for all sites unless a non-standard
|
---|
200 | frequency is set above.
|
---|
201 | </td>
|
---|
202 | </tr>
|
---|
203 | <tr valign="top">
|
---|
204 | <th width="40%" scope="row">
|
---|
205 | Keep feed items for:
|
---|
206 | </th>
|
---|
207 | <td>
|
---|
208 | <input type="range" name="bdprss_keep_howlong"
|
---|
209 | value="<?php echo intval(get_option('bdprss_keep_howlong')); ?>"
|
---|
210 | maxlength="3" size="3" /> months (zero = forever)
|
---|
211 | </td>
|
---|
212 | </tr>
|
---|
213 | <tr valign="top">
|
---|
214 | <td align="right" colspan="2">
|
---|
215 | <input type="submit" name="bdprss_change_frequency_button"
|
---|
216 | value="Change »" />
|
---|
217 | </td>
|
---|
218 | </tr>
|
---|
219 | </table>
|
---|
220 |
|
---|
221 | </form>
|
---|
222 | </fieldset>
|
---|
223 |
|
---|
224 | <hr width='50%' />
|
---|
225 |
|
---|
226 | <fieldset>
|
---|
227 | <h4>Poll some RSS feeds</h4>
|
---|
228 | <?php
|
---|
229 | echo "<table width='100%' cellpadding='3' cellspacing='3'>\n";
|
---|
230 | echo "<tr><td align='left'>".
|
---|
231 | "Be patient, this can take some time.";
|
---|
232 | ?></td><td align="right">
|
---|
233 |
|
---|
234 | <form method="post" action="<?php echo $selfreference; ?>">
|
---|
235 | <input type="submit" name="bdprss_poll_all_button" value="Poll some feeds" />
|
---|
236 | </form>
|
---|
237 | </td></tr></table>
|
---|
238 | </fieldset>
|
---|
239 |
|
---|
240 | <p><hr /></p>
|
---|
241 |
|
---|
242 | <fieldset>
|
---|
243 | <a name="createlist"></a>
|
---|
244 | <h3>2: List filters</h3>
|
---|
245 |
|
---|
246 | <h4><a href="<?php echo "$selfreference&action=createlist"; ?>">Create a new list filter</a></h4>
|
---|
247 |
|
---|
248 | <?php
|
---|
249 | global $bdprss_db;
|
---|
250 | $result = $bdprss_db->get_all_lists();
|
---|
251 | $pbaoutputs = $bdprss_db->get_all_pbaoutputs();
|
---|
252 | if($result) {
|
---|
253 | if($pbaoutputs){
|
---|
254 | foreach($pbaoutputs as $r) {
|
---|
255 | if(!isset($isdefaultlist[$r->{$bdprss_db->pbaodefaultlist}])) $isdefaultlist[$r->{$bdprss_db->pbaodefaultlist}] ="";
|
---|
256 | $isdefaultlist[$r->{$bdprss_db->pbaodefaultlist}] .= $r->{$bdprss_db->pbaoidentifier} . " ";
|
---|
257 | }
|
---|
258 | }
|
---|
259 |
|
---|
260 | ?>
|
---|
261 |
|
---|
262 | <h4>Current lists</h4>
|
---|
263 | <table width="100%" cellpadding="3" cellspacing="3">
|
---|
264 | <?php
|
---|
265 | global $bdprss_db;
|
---|
266 |
|
---|
267 | $file = get_option('siteurl') . '/wp-admin/edit.php?page=' . PBA_DIRECTORY. '/bdp-rssadmin.php';
|
---|
268 |
|
---|
269 | echo "<tr><th>List ID</th><th width='60%'>Name</th><th colspan='3'>Actions</th></tr>\n";
|
---|
270 |
|
---|
271 | if($result) {
|
---|
272 | $class = '';
|
---|
273 | foreach($result as $r) {
|
---|
274 | $id = $r->{$bdprss_db->lidentifier};
|
---|
275 | $name = htmlspecialchars($r->{$bdprss_db->lname});
|
---|
276 |
|
---|
277 | $class = ('alternate' == $class) ? '' : 'alternate';
|
---|
278 |
|
---|
279 | echo "<tr class='$class' valign='middle' align='center'>\n".
|
---|
280 | "<td>$id</td><td width='60%'>$name</td>".
|
---|
281 | "<td><a href='$selfreference&action=editlist&list=$id'>Edit</a></td><td>".
|
---|
282 | "<a title='Copy list filter #$id and edit it as new list ' href='$selfreference&action=createlist&list=$id'>Copy to new</a></td><td>";
|
---|
283 | if(!isset($isdefaultlist[$id])) {
|
---|
284 | echo "<a href='$selfreference&action=dellist&list=$id'>Delete</a>";
|
---|
285 | }else{
|
---|
286 | echo "Used by $isdefaultlist[$id]";
|
---|
287 | $displaylistnote=true;
|
---|
288 | }
|
---|
289 | echo "</td></tr>";
|
---|
290 | }
|
---|
291 | }
|
---|
292 | }
|
---|
293 |
|
---|
294 | ?>
|
---|
295 | </table>
|
---|
296 | </fieldset>
|
---|
297 | <?php if($displaylistnote) echo "<p><b>Note:</b> List filters can only be deleted when they are not used as default list filter by any output format</p>\n"; ?>
|
---|
298 |
|
---|
299 | <p><hr /></p>
|
---|
300 |
|
---|
301 | <?php
|
---|
302 | ?>
|
---|
303 |
|
---|
304 | <fieldset>
|
---|
305 | <a name="createpbaoutput"></a>
|
---|
306 | <h3>3: Output streams</h3>
|
---|
307 |
|
---|
308 | <h4><a href="<?php echo "$selfreference&action=createpbaoutput"; ?>">Create a new output format</a></h4>
|
---|
309 |
|
---|
310 | <?php
|
---|
311 | global $bdprss_db;
|
---|
312 | if(count($pbaoutputs)>=1) {
|
---|
313 | ?>
|
---|
314 |
|
---|
315 | <h4>Current output streams</h4>
|
---|
316 | <table width="100%" cellpadding="3" cellspacing="3">
|
---|
317 | <?php
|
---|
318 | global $bdprss_db;
|
---|
319 |
|
---|
320 | $file = get_option('siteurl') . '/wp-admin/edit.php?page=' . PBA_DIRECTORY. '/bdp-rssadmin.php';
|
---|
321 |
|
---|
322 | echo "<tr><th>Output format ID</th><th width='60%'>Name</th><th colspan='3'>Actions</th></tr>\n";
|
---|
323 |
|
---|
324 | if($pbaoutputs) {
|
---|
325 | $class = '';
|
---|
326 | foreach($pbaoutputs as $r) {
|
---|
327 | $id = $r->{$bdprss_db->pbaoidentifier};
|
---|
328 | $name = htmlspecialchars($r->{$bdprss_db->pbaoname});
|
---|
329 |
|
---|
330 | $class = ('alternate' == $class) ? '' : 'alternate';
|
---|
331 |
|
---|
332 | echo "<tr class='$class' valign='middle' align='center'>\n".
|
---|
333 | "<td>$id</td><td width='60%'>$name</td>".
|
---|
334 | "<td><a href='$selfreference&action=editpbaoutput&pboutput=$id'>Edit</a></td>".
|
---|
335 | "<td><a title='Copy output format #$id and edit it as new pba output ' href='$selfreference&action=createpbaoutput&pboutput=$id'>Copy to new</a></td>".
|
---|
336 | "<td><a href='$selfreference&action=delpbaoutput&pboutput=$id'>Delete</a></td>".
|
---|
337 | "</tr>";
|
---|
338 | }
|
---|
339 | }
|
---|
340 | }
|
---|
341 |
|
---|
342 | ?>
|
---|
343 | </table>
|
---|
344 | </fieldset>
|
---|
345 |
|
---|
346 |
|
---|
347 |
|
---|
348 | <p><hr /></p>
|
---|
349 | <a name="globals"></a>
|
---|
350 | <h3>4. Manage some global options of the Parteibuch Aggregator</h3>
|
---|
351 | <?php echo "<a href='$selfreference&action=options'><b>Manage global options</b></a>"; ?>
|
---|
352 | Do you want to have a look into programmer's hell? Go and get here <?php echo "<a href='$selfreference&action=status'><b>some raw status info</b></a>."; ?>
|
---|
353 |
|
---|
354 | <p><hr /></p>
|
---|
355 |
|
---|
356 | <fieldset>
|
---|
357 | <h3>Notes:</h3>
|
---|
358 | <ul>
|
---|
359 |
|
---|
360 | <li>Although <b>designed for <a href="http://wordpress.org/">Wordpress'</a> single site RSS feeds</b>,
|
---|
361 | this system should work with the RDF feeds generated by <a href="http://www.sixapart.com/">Typepad</a>
|
---|
362 | and the ATOM feeds generated by <a href="http://www.blogger.com/start">Blogger</a>.
|
---|
363 | It will not work with synthetic or multi-channel RSS or ATOM feeds.</li>
|
---|
364 |
|
---|
365 | <li>The number of feeds you will be able to carry will depend on the volume of traffic to your site,
|
---|
366 | and the polling frequency. Typically each hit to your site will update one feed. The more visitors per hour,
|
---|
367 | and the wider the polling interval, the more feeds you will be able to carry. </li>
|
---|
368 |
|
---|
369 | </ul>
|
---|
370 | </fieldset>
|
---|
371 |
|
---|