public function call($group, $hook, $parameters = null, $action = null) { if (!isset($action)) { $action = 'execute'; } if (!isset($this->hooks[$this->site][$group][$hook][$action])) { $this->register($group, $hook, $action); } $calls = []; if (isset($this->hooks[$this->site][$group][$hook][$action])) { $calls = $this->hooks[$this->site][$group][$hook][$action]; } if (isset($this->watches[$this->site][$group][$hook][$action])) { $calls = array_merge($calls, $this->watches[$this->site][$group][$hook][$action]); } $result = []; foreach ($calls as $code) { $bait = null; if (is_string($code)) { $class = Apps::getModuleClass($code, 'Hooks'); $obj = new $class(); $bait = $obj->{$action}($parameters); } else { $ref = new \ReflectionFunction($code); if ($ref->isClosure()) { $bait = $code($parameters); } } if (!empty($bait)) { $result[] = $bait; } } return $result; }
function __construct($module = '') { global $PHP_SELF; $this->lang = Registry::get('Language'); if (defined('MODULE_PAYMENT_INSTALLED') && tep_not_null(MODULE_PAYMENT_INSTALLED)) { $this->modules = explode(';', MODULE_PAYMENT_INSTALLED); $include_modules = array(); if (tep_not_null($module) && (in_array($module . '.' . substr($PHP_SELF, strrpos($PHP_SELF, '.') + 1), $this->modules) || in_array($module, $this->modules))) { $this->selected_module = $module; if (strpos($module, '\\') !== false) { $class = Apps::getModuleClass($module, 'Payment'); $include_modules[] = ['class' => $module, 'file' => $class]; } else { $include_modules[] = array('class' => $module, 'file' => $module . '.php'); } } else { foreach ($this->modules as $value) { if (strpos($value, '\\') !== false) { $class = Apps::getModuleClass($value, 'Payment'); $include_modules[] = ['class' => $value, 'file' => $class]; } else { $class = basename($value, '.php'); $include_modules[] = array('class' => $class, 'file' => $value); } } } for ($i = 0, $n = sizeof($include_modules); $i < $n; $i++) { if (strpos($include_modules[$i]['class'], '\\') !== false) { Registry::set('Payment_' . str_replace('\\', '_', $include_modules[$i]['class']), new $include_modules[$i]['file']()); } else { $this->lang->loadDefinitions('modules/payment/' . pathinfo($include_modules[$i]['file'], PATHINFO_FILENAME)); include 'includes/modules/payment/' . $include_modules[$i]['file']; $GLOBALS[$include_modules[$i]['class']] = new $include_modules[$i]['class'](); } } // if there is only one payment method, select it as default because in // checkout_confirmation.php the $_SESSION['payment'] variable is being assigned the // $_POST['payment'] value which will be empty (no radio button selection possible) if (tep_count_payment_modules() == 1 && (!isset($_SESSION['payment']) || $_SESSION['payment'] != $include_modules[0]['class'])) { $_SESSION['payment'] = $include_modules[0]['class']; } if (tep_not_null($module) && (in_array($module . '.' . substr($PHP_SELF, strrpos($PHP_SELF, '.') + 1), $this->modules) || in_array($module, $this->modules))) { if (strpos($module, '\\') !== false) { $OSCOM_PM = Registry::get('Payment_' . str_replace('\\', '_', $module)); if (isset($OSCOM_PM->form_action_url)) { $this->form_action_url = $OSCOM_PM->form_action_url; } } elseif (isset($GLOBALS[$module]->form_action_url)) { $this->form_action_url = $GLOBALS[$module]->form_action_url; } } } }
function __construct($module = '') { global $PHP_SELF; $this->lang = Registry::get('Language'); if (defined('MODULE_SHIPPING_INSTALLED') && tep_not_null(MODULE_SHIPPING_INSTALLED)) { $this->modules = explode(';', MODULE_SHIPPING_INSTALLED); $include_modules = array(); $code = null; if (isset($module) && is_array($module) && isset($module['id'])) { if (strpos($module['id'], '\\') !== false) { list($vendor, $app, $module) = explode('\\', $module['id']); list($module, $method) = explode('_', $module); $code = $vendor . '\\' . $app . '\\' . $module; } elseif (strpos($module['id'], '_') !== false) { $code = substr($module['id'], 0, strpos($module['id'], '_')); } } if (isset($code) && (in_array($code . '.' . substr($PHP_SELF, strrpos($PHP_SELF, '.') + 1), $this->modules) || in_array($code, $this->modules))) { if (strpos($code, '\\') !== false) { $class = Apps::getModuleClass($code, 'Shipping'); $include_modules[] = ['class' => $code, 'file' => $class]; } else { $include_modules[] = ['class' => $code, 'file' => $code . '.' . substr($PHP_SELF, strrpos($PHP_SELF, '.') + 1)]; } } else { foreach ($this->modules as $value) { if (strpos($value, '\\') !== false) { $class = Apps::getModuleClass($value, 'Shipping'); $include_modules[] = ['class' => $value, 'file' => $class]; } else { $class = substr($value, 0, strrpos($value, '.')); $include_modules[] = ['class' => $class, 'file' => $value]; } } } for ($i = 0, $n = sizeof($include_modules); $i < $n; $i++) { if (strpos($include_modules[$i]['class'], '\\') !== false) { Registry::set('Shipping_' . str_replace('\\', '_', $include_modules[$i]['class']), new $include_modules[$i]['file']()); } else { $this->lang->loadDefinitions('modules/shipping/' . pathinfo($include_modules[$i]['file'], PATHINFO_FILENAME)); include 'includes/modules/shipping/' . $include_modules[$i]['file']; $GLOBALS[$include_modules[$i]['class']] = new $include_modules[$i]['class'](); } } } }
function __construct() { $this->lang = Registry::get('Language'); if (defined('MODULE_ORDER_TOTAL_INSTALLED') && tep_not_null(MODULE_ORDER_TOTAL_INSTALLED)) { $this->modules = explode(';', MODULE_ORDER_TOTAL_INSTALLED); foreach ($this->modules as $value) { if (strpos($value, '\\') !== false) { $class = Apps::getModuleClass($value, 'OrderTotal'); Registry::set('OrderTotal_' . str_replace('\\', '_', $value), new $class()); } else { $this->lang->loadDefinitions('modules/order_total/' . pathinfo($value, PATHINFO_FILENAME)); include 'includes/modules/order_total/' . $value; $class = substr($value, 0, strrpos($value, '.')); $GLOBALS[$class] = new $class(); } } } }
public function call($group, $hook, $action = 'execute', $flatten = false) { if (!isset($this->hooks[$this->site][$group][$hook][$action])) { $this->register($group, $hook, $action); } $result = []; foreach ($this->hooks[$this->site][$group][$hook][$action] as $code) { $class = Apps::getModuleClass($code, 'Hooks'); $regclass = 'Hook_' . str_replace(['/', '\\'], '_', $code); if (!Registry::exists($regclass)) { Registry::set($regclass, new $class()); } $bait = Registry::get($regclass)->{$action}(); if (!empty($bait)) { $result[] = $bait; } } if ($flatten === true) { $result = implode('', $result); } return $result; }
echo OSCOM::getDef('table_heading_group'); ?> </td> <td class="dataTableHeadingContent"><?php echo OSCOM::getDef('table_heading_sort_order'); ?> </td> <td class="dataTableHeadingContent" align="right"><?php echo OSCOM::getDef('table_heading_action'); ?> </td> </tr> <?php foreach ($modules['installed'] as $m) { if (strpos($m['code'], '\\') !== false) { $class = Apps::getModuleClass($m['code'], 'Content'); $module = new $class(); $module->code = $m['code']; } else { $module = new $m['code'](); } if ((!isset($_GET['module']) || isset($_GET['module']) && $_GET['module'] == $module->code) && !isset($mInfo)) { $module_info = array('code' => $module->code, 'title' => $module->title, 'description' => $module->description, 'signature' => isset($module->signature) ? $module->signature : null, 'api_version' => isset($module->api_version) ? $module->api_version : null, 'sort_order' => (int) $module->sort_order, 'keys' => array()); foreach ($module->keys() as $key) { $key = HTML::sanitize($key); $Qkeys = $OSCOM_Db->get('configuration', ['configuration_title', 'configuration_value', 'configuration_description', 'use_function', 'set_function'], ['configuration_key' => $key]); $module_info['keys'][$key] = ['title' => $Qkeys->value('configuration_title'), 'value' => $Qkeys->value('configuration_value'), 'description' => $Qkeys->value('configuration_description'), 'use_function' => $Qkeys->value('use_function'), 'set_function' => $Qkeys->value('set_function')]; } $mInfo = new \ArrayObject($module_info, \ArrayObject::ARRAY_AS_PROPS); } if (isset($mInfo) && is_object($mInfo) && $module->code == $mInfo->code) {
<td class="dataTableHeadingContent" align="right"><?php echo OSCOM::getDef('table_heading_sort_order'); ?> </td> <td class="dataTableHeadingContent" align="right"><?php echo OSCOM::getDef('table_heading_action'); ?> </td> </tr> <?php $installed_modules = array(); for ($i = 0, $n = sizeof($directory_array); $i < $n; $i++) { $file = $directory_array[$i]; if (strpos($file, '\\') !== false) { $file_extension = ''; $class = Apps::getModuleClass($file, $appModuleType); $module = new $class(); $module->code = $file; $class = $file; } else { $file_extension = substr($PHP_SELF, strrpos($PHP_SELF, '.')); $OSCOM_Language->loadDefinitions($module_site . '/modules/' . $module_type . '/' . pathinfo($file, PATHINFO_FILENAME)); include $module_directory . $file; $class = substr($file, 0, strrpos($file, '.')); if (class_exists($class)) { $module = new $class(); } } if (isset($module)) { if ($module->check() > 0) { if ($module->sort_order > 0 && !isset($installed_modules[$module->sort_order])) {
<h2><i class="fa fa-home"></i> <a href="<?php echo OSCOM::link(FILENAME_DEFAULT); ?> "><?php echo STORE_NAME; ?> </a></h2> <?php if (defined('MODULE_ADMIN_DASHBOARD_INSTALLED') && tep_not_null(MODULE_ADMIN_DASHBOARD_INSTALLED)) { $adm_array = explode(';', MODULE_ADMIN_DASHBOARD_INSTALLED); $col = 0; foreach ($adm_array as $adm) { if (strpos($adm, '\\') !== false) { $class = Apps::getModuleClass($adm, 'AdminDashboard'); } else { $class = substr($adm, 0, strrpos($adm, '.')); if (!class_exists($class)) { $OSCOM_Language->loadDefinitions('modules/dashboard/' . pathinfo($adm, PATHINFO_FILENAME)); include 'includes/modules/dashboard/' . $class . '.php'; } } $ad = new $class(); if ($ad->isEnabled()) { $col += 1; if ($col === 1) { echo '<div class="row">'; } echo '<div class="col-md-6">' . $ad->getOutput() . '</div>'; if ($col === 2) {
function getContent($group) { if (!class_exists('tp_' . $group) && file_exists(DIR_WS_MODULES . 'pages/tp_' . $group . '.php')) { include DIR_WS_MODULES . 'pages/tp_' . $group . '.php'; } if (class_exists('tp_' . $group)) { $template_page_class = 'tp_' . $group; $template_page = new $template_page_class(); $template_page->prepare(); } foreach ($this->getContentModules($group) as $module) { if (strpos($module, '\\') !== false) { $class = Apps::getModuleClass($group . '/' . $module, 'Content'); $mb = new $class(); if ($mb->isEnabled()) { $mb->execute(); } } else { if (!class_exists($module)) { if (file_exists(DIR_WS_MODULES . 'content/' . $group . '/' . $module . '.php')) { if (file_exists(DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/content/' . $group . '/' . $module . '.php')) { include DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/content/' . $group . '/' . $module . '.php'; } include DIR_WS_MODULES . 'content/' . $group . '/' . $module . '.php'; } } if (class_exists($module)) { $mb = new $module(); if ($mb->isEnabled()) { $mb->execute(); } } } } if (class_exists('tp_' . $group)) { $template_page->build(); } if ($this->hasContent($group)) { return implode("\n", $this->_content[$group]); } }
function getContent($group) { if (!class_exists('tp_' . $group) && is_file('includes/modules/pages/tp_' . $group . '.php')) { include 'includes/modules/pages/tp_' . $group . '.php'; } if (class_exists('tp_' . $group)) { $template_page_class = 'tp_' . $group; $template_page = new $template_page_class(); $template_page->prepare(); } foreach ($this->getContentModules($group) as $module) { if (strpos($module, '\\') !== false) { $class = Apps::getModuleClass($group . '/' . $module, 'Content'); $mb = new $class(); if ($mb->isEnabled()) { $mb->execute(); } } else { if (!class_exists($module)) { if (is_file('includes/modules/content/' . $group . '/' . $module . '.php')) { if ($this->lang->definitionsExist('modules/content/' . $group . '/' . $module)) { $this->lang->loadDefinitions('modules/content/' . $group . '/' . $module); } include 'includes/modules/content/' . $group . '/' . $module . '.php'; } } if (class_exists($module)) { $mb = new $module(); if ($mb->isEnabled()) { $mb->execute(); } } } } if (class_exists('tp_' . $group)) { $template_page->build(); } if ($this->hasContent($group)) { return implode("\n", $this->_content[$group]); } }