summaryrefslogtreecommitdiff
path: root/plugins/example_routing/example_routing.php
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/example_routing/example_routing.php')
-rw-r--r--plugins/example_routing/example_routing.php46
1 files changed, 46 insertions, 0 deletions
diff --git a/plugins/example_routing/example_routing.php b/plugins/example_routing/example_routing.php
new file mode 100644
index 000000000..a5c4e6139
--- /dev/null
+++ b/plugins/example_routing/example_routing.php
@@ -0,0 +1,46 @@
+<?php
+class Example_Routing extends Plugin implements IHandler {
+
+ // Demonstrates adding a custom handler and method:
+ // backend.php?op=test&method=example
+ // and masking a system builtin public method:
+ // public.php?op=getUnread
+
+ // Plugin class must implelement IHandler interface and has
+ // a public method of same name as being registered.
+ //
+ // Any system method may be masked by plugins.
+
+ private $link;
+ private $host;
+
+ function __construct($host) {
+ $this->link = $host->get_link();
+ $this->host = $host;
+
+ $host->add_handler("test", "example", $this);
+ $host->add_handler("public", "getunread", $this);
+ }
+
+ function getunread() {
+ print rand(0,100); # yeah right
+ }
+
+ function example() {
+ print "example method called";
+ }
+
+ function csrf_ignore($method) {
+ return true;
+ }
+
+ function before($method) {
+ return true;
+ }
+
+ function after() {
+ return true;
+ }
+
+}
+?>