PDF rausgenommen
This commit is contained in:
95
msd2/myoos/includes/classes/class_plugin_event.php
Normal file
95
msd2/myoos/includes/classes/class_plugin_event.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
/* ----------------------------------------------------------------------
|
||||
|
||||
MyOOS [Shopsystem]
|
||||
https://www.oos-shop.de
|
||||
|
||||
Copyright (c) 2003 - 2019 by the MyOOS Development Team.
|
||||
----------------------------------------------------------------------
|
||||
Based on:
|
||||
|
||||
osCommerce, Open Source E-Commerce Solutions
|
||||
http://www.oscommerce.com
|
||||
|
||||
Copyright (c) 2003 osCommerce
|
||||
----------------------------------------------------------------------
|
||||
Released under the GNU General Public License
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
|
||||
/** ensure this file is being included by a parent file */
|
||||
defined( 'OOS_VALID_MOD' ) OR die( 'Direct Access to this location is not allowed.' );
|
||||
|
||||
class plugin_event {
|
||||
var $aEventPlugins, $aPlugins;
|
||||
|
||||
public function __construct() {
|
||||
$this->aEventPlugins = explode(';', MODULE_PLUGIN_EVENT_INSTALLED);
|
||||
}
|
||||
|
||||
public function getInstance() {
|
||||
$this->aPlugins = array();
|
||||
|
||||
foreach ($this->aEventPlugins as $event) {
|
||||
$this->load_plugin($event);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function load_plugin($sInstance, $sPluginPath = '') {
|
||||
|
||||
$sName = 'oos_event_' . $sInstance;
|
||||
|
||||
if (!class_exists($sName)) {
|
||||
if (empty($sPluginPath)) {
|
||||
if (empty($sPluginPath)) {
|
||||
$sPluginPath = $sName;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$sPluginPath = oos_var_prep_for_os($sPluginPath);
|
||||
$sName = oos_var_prep_for_os($sName);
|
||||
|
||||
if (file_exists('includes/plugins/' . $sPluginPath . '/' . $sName . '.php')) {
|
||||
include_once 'includes/plugins/' . $sPluginPath . '/' . $sName . '.php';
|
||||
}
|
||||
|
||||
if (isset($_SESSION['language']) && file_exists('includes/plugins/' . $sPluginPath . '/lang/' . oos_var_prep_for_os($_SESSION['language']) . '.php')) {
|
||||
include_once 'includes/plugins/' . $sPluginPath . '/lang/' . oos_var_prep_for_os($_SESSION['language']) . '.php';
|
||||
} elseif (file_exists('includes/plugins/' . $sPluginPath . '/lang/' . DEFAULT_LANGUAGE . '.php')) {
|
||||
include_once 'includes/plugins/' . $sPluginPath . '/lang/' . DEFAULT_LANGUAGE . '.php';
|
||||
}
|
||||
|
||||
if (!class_exists($sName)) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (@call_user_func(array('oos_event_' . $sInstance, 'create_plugin_instance'))) {
|
||||
$this->aPlugins[] = $sName;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
public function introspect() {
|
||||
$this->aPlugins = array();
|
||||
|
||||
foreach ($this->aEventPlugins as $event) {
|
||||
$this->get_intro($event);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function get_intro($event) {
|
||||
@call_user_func(array('oos_event_' . $event, 'intro'));
|
||||
}
|
||||
|
||||
|
||||
public function installed_plugin($event) {
|
||||
return in_array($event, $this->aEventPlugins);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user