From f9be77268cefbc73c807d3ae8472c47d4af2f21e Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Thu, 23 Jan 2014 15:53:53 -0600
Subject: [PATCH] Make Plugin class abstract

---
 include/class.plugin.php | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/class.plugin.php b/include/class.plugin.php
index a9ed46ffd..6a8ac830b 100644
--- a/include/class.plugin.php
+++ b/include/class.plugin.php
@@ -286,7 +286,7 @@ class PluginManager {
  * Base class for plugins. Plugins should inherit from this class and define
  * the useful pieces of the
  */
-class Plugin {
+abstract class Plugin {
     /**
      * Configuration manager for the plugin. Should be the name of a class
      * that inherits from PluginConfig. This is abstract and must be defined
@@ -321,6 +321,13 @@ class Plugin {
             . $this->info['include_path']) . '/';
     }
 
+    /**
+     * Main interface for plugins. Called at the beginning of every request
+     * for each installed plugin. Plugins should register functionality and
+     * connect to signals, etc.
+     */
+    abstract function bootstrap();
+
     /**
      * uninstall
      *
-- 
GitLab