<?php
/**
* System help page
*
* You may not change or alter any portion of this comment or credits
* of supporting developers from this source code or any supporting source code
* which is considered copyrighted (c) material of the original comment or credit authors.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* @copyright (c) 2000-2016 XOOPS Project (www.xoops.org)
* @license GNU GPL 2 (http://www.gnu.org/licenses/gpl-2.0.html)
* @author Andricq Nicolas (AKA MusS)
*/
/* @var XoopsModule $module */
// Include header
include __DIR__ . '/header.php';
$page = system_CleanVars($_REQUEST, 'page', '', 'string');
$mid = system_CleanVars($_REQUEST, 'mid', 0, 'int');
// Define main template
$GLOBALS['xoopsOption']['template_main'] = 'system_help.tpl';
xoops_cp_header();
// Define Stylesheet
$xoTheme->addStylesheet(XOOPS_URL . '/modules/system/css/admin.css');
$xoTheme->addStylesheet(XOOPS_URL . '/modules/system/css/help.css');
// Define Breadcrumb and tips
$xoBreadCrumb->addLink(_AM_SYSTEM_HELP, 'help.php');
// If $mid > 0, we're in a module's help section.
if ($mid > 0) {
/* @var XoopsModuleHandler $module_handler */
$module_handler = xoops_getHandler('module');
/* @var XoopsModule $module */
$module = $module_handler->get($mid);
$xoBreadCrumb->addLink($module->getVar('name'), 'help.php?mid=' . $module->getVar('mid', 's'));
$xoBreadCrumb->addLink(system_adminVersion($page, 'name'));
$xoBreadCrumb->render();
// Special handling for the System Module
if ($module->getVar('dirname', 'e') === 'system') {
xoops_load('xoopslists');
$admin_dir = XOOPS_ROOT_PATH . '/modules/system/admin';
$dirlist = XoopsLists::getDirListAsArray($admin_dir);
foreach ($dirlist as $directory) {
if (file_exists($admin_dir . '/' . $directory . '/xoops_version.php')) {
require $admin_dir . '/' . $directory . '/xoops_version.php';
if ($modversion['help']) {
$help['name'] = system_adminVersion($directory, 'name');
$help['link'] = 'help.php?mid=' . $mid . '&' . system_adminVersion($directory, 'help');
$xoopsTpl->append_by_ref('help', $help);
unset($help);
}
unset($modversion);
}
}
unset($dirlist);
// Handling for all other modules.
} else {
$list_help = array();
$listed_mods[0] = $module->toArray();
$helplist = $module->getInfo('helpsection');
$j = 0;
if (is_array($helplist)) {
foreach ($helplist as $helpitem) {
if (($helpitem['name'] !== '') && ($helpitem['link'] !== '')) {
$list_help[$j]['name'] = $helpitem['name'];
$list_help[$j]['link'] = 'help.php?mid=' . $mid . '&' . $helpitem['link'];
++$j;
}
}
$listed_mods[0]['help_page'] = $list_help;
$xoopsTpl->assign('list_mods', $listed_mods);
}
unset($helplist);
if (($module->getInfo('help') !== '') && ($j == 0)) {
$help['name'] = $module->getInfo('name');
$help['link'] = 'help.php?mid=' . $mid . '&' . $module->getInfo('help');
$xoopsTpl->append_by_ref('help', $help);
}
unset($help);
}
$xoopsTpl->assign('modname', $module->getVar('name'));
if ($page !== '') {
// Call template
if (file_exists(XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'e') . '/language/' . $xoopsConfig['language'] . '/help/' . $page . '.html')) {
$helpcontent = $xoopsTpl->fetch(XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'e') . '/language/' . $xoopsConfig['language'] . '/help/' . $page . '.html');
} elseif (file_exists(XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'e') . '/language/' . $xoopsConfig['language'] . '/help/' . $page . '.tpl')) {
$helpcontent = $xoopsTpl->fetch(XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'e') . '/language/' . $xoopsConfig['language'] . '/help/' . $page . '.tpl');
} elseif (file_exists(XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'e') . '/language/english/help/' . $page . '.html')) {
$helpcontent = $xoopsTpl->fetch(XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'e') . '/language/english/help/' . $page . '.html');
} elseif (file_exists(XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'e') . '/language/english/help/' . $page . '.tpl')) {
$helpcontent = $xoopsTpl->fetch(XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'e') . '/language/english/help/' . $page . '.tpl');
} else {
$xoopsTpl->assign('load_error', 1);
}
$xoopsTpl->assign('helpcontent', $helpcontent);
} else {
if (file_exists(XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'e') . '/language/' . $xoopsConfig['language'] . '/help/module_index.html')) {
$helpcontent = $xoopsTpl->fetch(XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'e') . '/language/' . $xoopsConfig['language'] . '/help/module_index.html');
} else {
$helpcontent = $module->getInfo('description');
$helpcontent = '<div id="non-modhelp">' . $helpcontent . '</div>';
}
$xoopsTpl->assign('helpcontent', $helpcontent);
}
// This section is called if we're in the general help area.
} else {
$xoBreadCrumb->render();
// Get Module Handler
/* @var XoopsModuleHandler $module_handler */
$module_handler = xoops_getHandler('module');
$criteria = new CriteriaCompo();
$criteria->setOrder('weight');
// Get all installed modules
$installed_mods = $module_handler->getObjects($criteria);
$listed_mods = array();
$i = 0;
$j = 0;
foreach ($installed_mods as $module) {
$list_help = array();
$listed_mods[$i] = $module->toArray();
$listed_mods[$i]['image'] = $module->getInfo('image');
$listed_mods[$i]['adminindex'] = $module->getInfo('adminindex');
$listed_mods[$i]['version'] = round($module->getVar('version') / 100, 2);
$listed_mods[$i]['last_update'] = formatTimestamp($module->getVar('last_update'), 'm');
$listed_mods[$i]['author'] = $module->getInfo('author');
$listed_mods[$i]['credits'] = $module->getInfo('credits');
$listed_mods[$i]['license'] = $module->getInfo('license');
$listed_mods[$i]['description'] = $module->getInfo('description');
// Special handling for the System module
if ($module->getVar('dirname', 'e') === 'system') {
xoops_load('xoopslists');
$admin_dir = XOOPS_ROOT_PATH . '/modules/system/admin';
$dirlist = XoopsLists::getDirListAsArray($admin_dir);
foreach ($dirlist as $directory) {
if (file_exists($admin_dir . '/' . $directory . '/xoops_version.php')) {
require $admin_dir . '/' . $directory . '/xoops_version.php';
if ($modversion['help']) {
$list_help[$j]['name'] = system_adminVersion($directory, 'name');
$list_help[$j]['link'] = 'help.php?mid=' . $module->getVar('mid', 'e') . '&' . system_adminVersion($directory, 'help');
}
unset($modversion);
++$j;
}
}
unset($dirlist);
// Handling for all other modules
} else {
$helplist = $module->getInfo('helpsection');
$k = 0;
// Only build the list if one has been defined.
if (is_array($helplist)) {
foreach ($helplist as $helpitem) {
if (($helpitem['name'] !== '') && ($helpitem['link'] !== '')) {
$list_help[$j]['name'] = $helpitem['name'];
$list_help[$j]['link'] = 'help.php?mid=' . $module->getVar('mid', 'e') . '&' . $helpitem['link'];
++$j;
++$k;
}
}
}
unset($helplist);
// If there is no help section ($k=0), and a lone help parameter has been defined.
if (($module->getInfo('help') !== '') && ($k == 0)) {
$list_help[$j]['name'] = $module->getInfo('name');
$list_help[$j]['link'] = 'help.php?mid=' . $module->getVar('mid', 'e') . '&' . $module->getInfo('help');
}
}
$listed_mods[$i]['help_page'] = $list_help;
if ($module->getInfo('help') === '') {
unset($listed_mods[$i]);
}
unset($list_help, $module);
++$i;
++$j;
}
$xoopsTpl->assign('list_mods', $listed_mods);
if (file_exists(XOOPS_ROOT_PATH . '/modules/system/language/' . $xoopsConfig['language'] . '/help/help_center.html')) {
$helpcontent = $xoopsTpl->fetch(XOOPS_ROOT_PATH . '/modules/system/language/' . $xoopsConfig['language'] . '/help/help_center.html');
} else {
$helpcontent = '<div id="non-modhelp">' . _MD_CPANEL_HELPCENTER . '</div>';
}
$xoopsTpl->assign('helpcontent', $helpcontent);
}
xoops_cp_footer();
|