summaryrefslogtreecommitdiff
path: root/classes/plugin-template.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-11-13 18:21:04 +0300
committerAndrew Dolgov <[email protected]>2021-11-13 18:21:04 +0300
commit70051742afdd05ab66d9265edb063eb5b6615765 (patch)
tree1f348cdee59b7e1be2f498464bf10f307b620063 /classes/plugin-template.php
parentb381e9579295b238d44532a50edb6422b8c6b4ab (diff)
experimental: also don't keep base plugin template as a non-analyzed file
Diffstat (limited to 'classes/plugin-template.php')
-rw-r--r--classes/plugin-template.php62
1 files changed, 62 insertions, 0 deletions
diff --git a/classes/plugin-template.php b/classes/plugin-template.php
new file mode 100644
index 000000000..ad6d07ee0
--- /dev/null
+++ b/classes/plugin-template.php
@@ -0,0 +1,62 @@
+<?php
+abstract class PluginTemplate {
+ 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 **/
+}