summaryrefslogtreecommitdiff
path: root/classes/plugin.tpl
diff options
context:
space:
mode:
Diffstat (limited to 'classes/plugin.tpl')
-rw-r--r--classes/plugin.tpl62
1 files changed, 62 insertions, 0 deletions
diff --git a/classes/plugin.tpl b/classes/plugin.tpl
new file mode 100644
index 000000000..10f5b8ce7
--- /dev/null
+++ b/classes/plugin.tpl
@@ -0,0 +1,62 @@
+<?php
+abstract class Plugin {
+ const API_VERSION_COMPAT = 1;
+
+ /** @var PDO $pdo */
+ protected $pdo;
+
+ abstract function init(PluginHost $host);
+
+ abstract function about();
+ // return array(1.0, "plugin", "No description", "No author", false);
+
+ function __construct() {
+ $this->pdo = Db::pdo();
+ }
+
+ function flags() {
+ /* associative array, possible keys:
+ needs_curl = boolean
+ */
+ return array();
+ }
+
+ function is_public_method($method) {
+ return false;
+ }
+
+ function csrf_ignore($method) {
+ return false;
+ }
+
+ function get_js() {
+ return "";
+ }
+
+ function get_prefs_js() {
+ return "";
+ }
+
+ function api_version() {
+ return Plugin::API_VERSION_COMPAT;
+ }
+
+ /* gettext-related helpers */
+
+ function __($msgid) {
+ return _dgettext(PluginHost::object_to_domain($this), $msgid);
+ }
+
+ function _ngettext($singular, $plural, $number) {
+ return _dngettext(PluginHost::object_to_domain($this), $singular, $plural, $number);
+ }
+
+ function T_sprintf() {
+ $args = func_get_args();
+ $msgid = array_shift($args);
+
+ return vsprintf($this->__($msgid), $args);
+ }
+
+ /** AUTO_GENERATED_HOOKS_GO_HERE **/
+}