45c3f930a72bc78fb38c3cd9ba9bf40a63546d27
[atutor.git] / mods / wiki / plugins / page / since_updates.php
1 <?php
2
3  # provides the internal (generated) page "SinceUpdatedPages"
4  #
5  # Carsten Senf <ewiki@csenf.de>
6
7
8  define("EWIKI_PAGE_SINCEUPDATES", "SinceUpdatedPages");
9
10  $ewiki_plugins["page"][EWIKI_PAGE_SINCEUPDATES] = "ewiki_page_since_updates";
11
12
13
14 function ewiki_page_since_updates($id=0, $data=0) {
15         $orderby="lastmodified";
16         $asc=-1;
17         $print="%02dT %02dH %02dM %02dS";
18         $title="Aktualisierung seit";
19         
20         $sorted = array();
21         $result = ewiki_db::GETALL(array($orderby, "flags", "version"));
22         
23         while ($row = $result->get()) {
24                 if (EWIKI_DB_F_TEXT == ($row["flags"] & EWIKI_DB_F_TYPE)) {
25                         $sorted[$row["id"]] = $row[$orderby];
26                 }
27         }
28         
29         if ($asc != 0) { arsort($sorted); }
30         else { asort($sorted); }
31         
32         foreach ($sorted as $name => $value) {
33                 $x = time() - $value;
34                 $dy = (int)(($x) / 86400);
35                 $hr = (int)(($x % 86400) / 3600);
36                 $mn = (int)((($x % 86400) % 3600) / 60);
37                 $se = (($x % 86400) % 3600) % 60;
38                 $sorted[$name] = sprintf($print, $dy, $hr, $mn, $se);
39         }
40         $o .= ewiki_list_pages($sorted);
41         
42         return($o);
43 }
44
45 ?>