00001 <?PHP 00002 00006 abstract class Plugin { 00007 00008 # ----- PUBLIC INTERFACE ------------------------------------------------- 00009 00014 abstract function Register(); 00015 00022 function Initialize() 00023 { 00024 return NULL; 00025 } 00026 00034 function HookEvents() 00035 { 00036 return array(); 00037 } 00038 00043 function DeclareEvents() 00044 { 00045 return array(); 00046 } 00047 00054 function Install() 00055 { 00056 return NULL; 00057 } 00058 00067 function Upgrade($PreviousVersion) 00068 { 00069 return NULL; 00070 } 00071 00079 function Uninstall($RemoveData) 00080 { 00081 return NULL; 00082 } 00083 00088 function GetAttributes() 00089 { 00090 return array( 00091 "Name" => $this->Name, 00092 "Version" => $this->Version, 00093 "Description" => $this->Description, 00094 "Author" => $this->Author, 00095 "Url" => $this->Url, 00096 "Email" => $this->Email, 00097 "EnabledByDefault" => $this->EnabledByDefault, 00098 "Requires" => $this->Requires, 00099 ); 00100 } 00101 00102 00103 # ----- PRIVATE INTERFACE ------------------------------------------------ 00104 00106 protected $Name = NULL; 00108 protected $Version = NULL; 00110 protected $Description = NULL; 00112 protected $Author = NULL; 00114 protected $Url = NULL; 00116 protected $Email = NULL; 00118 protected $EnabledByDefault = FALSE; 00119 00124 protected $Requires = array(); 00125 } 00126 00127 ?>