summaryrefslogtreecommitdiff
path: root/plugins/Sample
diff options
context:
space:
mode:
authorBrion Vibber <brion@status.net>2009-12-08 12:17:11 -0800
committerBrion Vibber <brion@status.net>2009-12-08 12:17:11 -0800
commit4b5e977a7b1c390555d880d3dc7f8b8c6744646c (patch)
tree9aa0f21fdffcb8f737b28d8a676746735574944f /plugins/Sample
parent3536f01258dc43bee764c98fbdda5a6f1df7bcb2 (diff)
New _m() gettext wrapper with smart detection of plugin domains. Plugin base class registers your gettext files if present at initialization.
update_pot.sh replaced with update_po_templates.php which can do core, plugins, or all (default). Top-level Makefile added to build .mo files for plugins as well as core. As described on list: http://lists.status.net/pipermail/statusnet-dev/2009-December/002869.html
Diffstat (limited to 'plugins/Sample')
-rw-r--r--plugins/Sample/SamplePlugin.php59
1 files changed, 59 insertions, 0 deletions
diff --git a/plugins/Sample/SamplePlugin.php b/plugins/Sample/SamplePlugin.php
new file mode 100644
index 000000000..6e361aafb
--- /dev/null
+++ b/plugins/Sample/SamplePlugin.php
@@ -0,0 +1,59 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2009, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @package SamplePlugin
+ * @maintainer Your Name <you@example.com>
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+ // This check helps protect against security problems;
+ // your code file can't be executed directly from the web.
+ exit(1);
+}
+
+class SamplePlugin extends Plugin
+{
+ function onInitializePlugin()
+ {
+ // Event handlers normally return true to indicate that all is well.
+ //
+ // Returning false will cancel further processing of any other
+ // plugins or core code hooking the same event.
+ return true;
+ }
+
+ /**
+ * Hook for RouterInitialized event.
+ *
+ * @param Net_URL_Mapper $m path-to-action mapper
+ * @return boolean hook return
+ */
+
+ function onRouterInitialized($m)
+ {
+ $m->connect(':nickname/samples',
+ array('action' => 'showsamples'),
+ array('feed' => '[A-Za-z0-9_-]+'));
+ $m->connect('settings/sample',
+ array('action' => 'samplesettings'));
+ return true;
+ }
+}
+