protected function register($group, $hook, $action) { $group = basename($group); $this->hooks[$this->site][$group][$hook][$action] = []; $directory = OSCOM::getConfig('dir_root', 'Shop') . 'includes/Module/Hooks/' . $this->site . '/' . $group; if (is_dir($directory)) { if ($dir = new \DirectoryIterator($directory)) { foreach ($dir as $file) { if (!$file->isDot() && !$file->isDir() && $file->getExtension() == 'php' && $file->getBasename('.php') == $hook) { $class = 'OSC\\OM\\Module\\Hooks\\' . $this->site . '\\' . $group . '\\' . $hook; if (method_exists($class, $action)) { $this->hooks[$this->site][$group][$hook][$action][] = $class; } } } } } $filter = ['site' => $this->site, 'group' => $group, 'hook' => $hook]; foreach (Apps::getModules('Hooks', null, $filter) as $k => $class) { if (method_exists($class, $action)) { $this->hooks[$this->site][$group][$hook][$action][] = $k; } } }
$module = new $class(); if (in_array($group . '/' . $class, $modules_installed)) { $modules['installed'][] = array('code' => $class, 'title' => $module->title, 'group' => $group, 'sort_order' => (int) $module->sort_order); } else { $modules['new'][] = array('code' => $class, 'title' => $module->title, 'group' => $group); } } } } } $dir->close(); } } } $maindir->close(); foreach (Apps::getModules('Content') as $k => $class) { $module = new $class(); if (in_array($k, $modules_installed)) { $modules['installed'][] = array('code' => $k, 'title' => $module->title, 'group' => $module->group, 'sort_order' => (int) $module->sort_order); } else { $modules['new'][] = array('code' => $k, 'title' => $module->title, 'group' => $module->group); } } function _sortContentModulesInstalled($a, $b) { return strnatcmp($a['group'] . '-' . (int) $a['sort_order'] . '-' . $a['title'], $b['group'] . '-' . (int) $b['sort_order'] . '-' . $b['title']); } function _sortContentModuleFiles($a, $b) { return strnatcmp($a['group'] . '-' . $a['title'], $b['group'] . '-' . $b['title']); }
$directory_array[] = $file; } } else { if (in_array($file, $modules_installed)) { $directory_array[] = $file; } else { $new_modules_counter++; } } } } } $dir->close(); } if (isset($appModuleType)) { foreach (Apps::getModules($appModuleType) as $k => $v) { if (isset($_GET['list']) && $_GET['list'] == 'new') { if (!in_array($k, $modules_installed)) { $directory_array[] = $k; } } else { if (in_array($k, $modules_installed)) { $directory_array[] = $k; } else { $new_modules_counter++; } } } } sort($directory_array); ?>
if (!is_dir($dir->path . '/' . $file)) { if (substr($file, strrpos($file, '.')) == '.php') { $files[] = $file; } } } $dir->close(); natcasesort($files); foreach ($files as $file) { if ($OSCOM_Language->definitionsExist('modules/boxes/' . pathinfo($file, PATHINFO_FILENAME))) { $OSCOM_Language->loadDefinitions('modules/boxes/' . pathinfo($file, PATHINFO_FILENAME)); } include $dir->path . '/' . $file; } } foreach (Apps::getModules('AdminMenu') as $m) { $appmenu = call_user_func([$m, 'execute']); if (is_array($appmenu) && !empty($appmenu)) { $cl_apps_groups[] = $appmenu; } } } usort($cl_box_groups, function ($a, $b) { return strcasecmp($a['heading'], $b['heading']); }); foreach ($cl_box_groups as &$group) { usort($group['apps'], function ($a, $b) { return strcasecmp($a['title'], $b['title']); }); } unset($group);
foreach ($h->getMethods(\ReflectionMethod::IS_STATIC | \ReflectionMethod::IS_PUBLIC) as $method) { if ($method->name != '__construct') { $hooks[$site . '/' . $group . '\\' . $hook][] = ['method' => $method->name]; } } } } } } } } } } } } foreach (Apps::getModules('Hooks') as $k => $v) { list($vendor, $app, $code) = explode('\\', $k, 3); $h = new \ReflectionClass($v); foreach ($h->getMethods(\ReflectionMethod::IS_STATIC | \ReflectionMethod::IS_PUBLIC) as $method) { if ($method->name != '__construct') { $hooks[$code][] = ['app' => $vendor . '\\' . $app, 'method' => $method->name]; } } } require $oscTemplate->getFile('template_top.php'); ?> <style> .sitePill { color: #fff; background-color: #009933;