Subversion Repositories oidplus

Rev

Rev 438 | Rev 730 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
221 daniel-mar 1
<?php
2
 
3
/*
4
 * OIDplus 2.0
511 daniel-mar 5
 * Copyright 2019 - 2021 Daniel Marschall, ViaThinkSoft
221 daniel-mar 6
 *
7
 * Licensed under the Apache License, Version 2.0 (the "License");
8
 * you may not use this file except in compliance with the License.
9
 * You may obtain a copy of the License at
10
 *
11
 *     http://www.apache.org/licenses/LICENSE-2.0
12
 *
13
 * Unless required by applicable law or agreed to in writing, software
14
 * distributed under the License is distributed on an "AS IS" BASIS,
15
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
 * See the License for the specific language governing permissions and
17
 * limitations under the License.
18
 */
19
 
511 daniel-mar 20
if (!defined('INSIDE_OIDPLUS')) die();
21
 
256 daniel-mar 22
abstract class OIDplusPlugin {
221 daniel-mar 23
 
292 daniel-mar 24
        public function implementsFeature($id) {
25
 
26
                // Use this function to query the plugin if it supports some specific interface
27
                // Usually, you would use PHP Interfaces. However, the problem with PHP interfaces
28
                // is, that there will be a fatal error if the interface can't be found (e.g. because
29
                // the OIDplus plugin is not installed). So we need an "optional" interface.
30
 
31
                return false;
32
        }
438 daniel-mar 33
 
380 daniel-mar 34
        public final function getPluginDirectory() {
35
                $reflector = new \ReflectionClass(get_called_class());
36
                $path = dirname($reflector->getFilename());
37
                return $path;
38
        }
292 daniel-mar 39
 
321 daniel-mar 40
        public function getManifest() {
380 daniel-mar 41
                $dir = $this->getPluginDirectory();
42
                $ini = $dir.'/manifest.xml';
43
                $manifest = new OIDplusPluginManifest();
44
                return $manifest->loadManifest($ini) ? $manifest : null;
321 daniel-mar 45
        }
46
 
230 daniel-mar 47
        public function init($html=true) {}
48
 
221 daniel-mar 49
}
50