49d8bc49fce09bc76ee03606e5b844eb755a1ec9
[atutor.git] / mods / wiki / plugins / page / aboutplugins.php
1 <?php
2
3 #--  show infos about registered plugins (even internal plugins)
4 #
5
6
7 $ewiki_plugins["page"]["AboutPlugins"] = "ewiki_page_aboutplugins";
8
9
10
11 function ewiki_page_aboutplugins($id, $data, $action) {
12
13    global $ewiki_plugins;
14
15    $o = ewiki_make_title($id, $id, 2);
16
17    #-- plugin types
18    foreach (array("page", "action", "mpi") as $pclass) {
19
20       $o .= "<u>$pclass plugins</u><br />\n";
21
22       switch ($pclass) {
23          case "page":
24             $o .= "dynamically generated pages<br />\n";
25             break;
26          case "action":
27             $o .= "can be activated on each (real) page<br />\n";
28             break;
29          case "mpi":
30             $o .= "the markup plugins can be utilized to integrate dynamic content into pages<small> (loaded on demand, so rarely shown here)</small><br />\n";
31             break;
32          default:
33       }
34
35       if ($pf_a = $ewiki_plugins[$pclass]) {
36           ksort($pf_a);
37          if ($pclass=="action") {
38             $pf_a = array_merge($pf_a, $ewiki_plugins["action_always"]);
39          }
40          foreach ($pf_a as $i=>$pf) {
41
42             switch ($pclass) {
43                case "page":
44                   $i = '<a href="'.ewiki_script("",$i).'">'.$i.'</a>';
45                   break;
46                case "action":
47                   $i = '<a href="'.ewiki_script($i,"Notepad").'">'.$i.'</a>';
48                   break;
49                case "mpi":
50                   $i = '<a href="'.ewiki_script("mpi/$i").'">&lt;?plugin '.$i.'?&gt;</a>';
51                   break;
52                default:
53             }
54
55             $o .= "· <b>$i</b> <small>via $pf</small><br />\n";
56
57          }
58       }
59
60       $o .= "<br />\n";
61
62    }
63
64    #-- task plugins
65    $o .= "<u>task plugins</u> (core stuff)<br />\n";
66    $o .= "enhance the wiki engine internally, with widely varying functionality enhancements or changes<br />\n";
67    foreach ($ewiki_plugins as $i=>$a) {
68       if (is_array($a)) {
69          foreach ($a as $n=>$pf) {
70
71             if (is_int($n)) {
72
73                $o .= "· <b><tt>$i</tt></b> <small>via $pf</small><br />\n";
74
75             }
76          }
77       }
78    }
79    $o .= "<br />\n";
80
81
82    return($o);
83
84 }
85
86
87 ?>