| 
<?php/**
 * See the enclosed file license.txt for licensing information.
 * If you did not receive this file, get it at http://www.gnu.org/licenses/gpl-2.0.html
 *
 * @copyright    (c) 2000-2016 XOOPS Project (www.xoops.org)
 * @license          GNU GPL 2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
 * @package          installer
 * @since            2.3.0
 * @author           Haruki Setoyama  <[email protected]>
 * @author           Kazumi Ono <[email protected]>
 * @author           Skalpa Keo <[email protected]>
 * @author           Taiwen Jiang <[email protected]>
 * @author           DuGris (aka L. JEN) <[email protected]>
 **/
 
 $xoopsOption['checkadmin'] = true;
 $xoopsOption['hascommon']  = true;
 require_once './include/common.inc.php';
 defined('XOOPS_INSTALL') || die('XOOPS Installation wizard die');
 
 if (!@include_once "../language/{$wizard->language}/global.php") {
 include_once '../language/english/global.php';
 }
 if (!@include_once "../modules/system/language/{$wizard->language}/admin/modulesadmin.php") {
 include_once '../modules/system/language/english/admin/modulesadmin.php';
 }
 if (!@include_once "../modules/system/language/{$wizard->language}/admin.php") {
 include_once '../modules/system/language/english/admin.php';
 }
 require_once '../class/xoopsformloader.php';
 require_once '../class/xoopslists.php';
 
 $pageHasForm = true;
 $pageHasHelp = false;
 
 if ($_SERVER['REQUEST_METHOD'] === 'POST') {
 include_once '../class/xoopsblock.php';
 include_once '../kernel/module.php';
 include_once '../include/cp_functions.php';
 include_once '../include/version.php';
 include_once './include/modulesadmin.php';
 
 /* @var XoopsConfigHandler $config_handler */
 $config_handler = xoops_getHandler('config');
 $xoopsConfig    = $config_handler->getConfigsByCat(XOOPS_CONF);
 
 $msgs = array();
 foreach ($_REQUEST['modules'] as $dirname => $installmod) {
 if ($installmod) {
 $msgs[] = xoops_module_install($dirname);
 }
 }
 
 $pageHasForm = false;
 
 if (count($msgs) > 0) {
 $content = '<div class="alert alert-success"><span class="fa fa-check text-success"></span> '
 . INSTALLED_MODULES . '</div><div class="well"><ul class="list-unstyled">';
 foreach ($msgs as $msg) {
 $noAnchors = preg_replace(array('"<a (.*?)>"', '"</a>"'), array('',''), $msg);
 $content .= "<li>{$noAnchors}</li>";
 }
 $content .= '</ul></div>';
 } else {
 $content = '<div class="alert alert-info"><span class="fa fa-info-circle text-info"></span> ' . NO_INSTALLED_MODULES . '</div>';
 }
 
 // Flush cache files for cpanel GUIs
 xoops_load('cpanel', 'system');
 XoopsSystemCpanel::flush();
 
 //Set active modules in cache folder
 xoops_setActiveModules();
 } else {
 if (!isset($GLOBALS['xoopsConfig']['language'])) {
 $GLOBALS['xoopsConfig']['language'] = $_COOKIE['xo_install_lang'];
 }
 
 // Get installed modules
 /* @var XoopsModuleHandler $module_handler */
 $module_handler = xoops_getHandler('module');
 $installed_mods = $module_handler->getObjects();
 $listed_mods    = array();
 foreach ($installed_mods as $module) {
 $listed_mods[] = $module->getVar('dirname');
 }
 
 include_once '../class/xoopslists.php';
 $dirlist  = XoopsLists::getModulesList();
 $toinstal = 0;
 
 $javascript = '';
 $content  = '';
 $content .= '<div class="panel panel-info">';
 $content .= '<div class="panel-heading">' . MODULES_AVAILABLE . '</div>';
 $content .= '<div class="panel-body">';
 
 foreach ($dirlist as $file) {
 clearstatcache();
 if (!in_array($file, $listed_mods)) {
 $value = 0;
 $style = '';
 if (in_array($file, $wizard->configs['modules'])) {
 $value = 1;
 $style = " style='background-color:#E6EFC2;'";
 }
 
 $file   = trim($file);
 $module = $module_handler->create();
 if (!$module->loadInfo($file, false)) {
 continue;
 }
 
 $form     = new XoopsThemeForm('', 'modules', 'index.php', 'post');
 $moduleYN = new XoopsFormRadio('', 'modules[' . $module->getInfo('dirname') . ']', $value);
 $moduleYN->addOption(1, sprintf(INSTALL_THIS_MODULE, $module->getInfo('name')));
 $moduleYN->setExtra("onclick='selectModule(\"" . $file . "\", this)'");
 $form->addElement($moduleYN);
 /*
 $content .= "<tr id='" . $file . "'" . $style . ">\n";
 $content .= "    <td class='img' ><img src='" . XOOPS_URL . '/modules/' . $module->getInfo('dirname') . '/' . $module->getInfo('image') . "' alt='" . $module->getInfo('name') . "'/></td>\n";
 $content .= '    <td>';
 $content .= '        ' . $module->getInfo('name') . ' ' . number_format(round($module->getInfo('version'), 2), 2) . ' (' . $module->getInfo('dirname') . ')';
 $content .= '        <br>' . $module->getInfo('description');
 $content .= "    </td>\n";
 $content .= "    <td class='yesno'>";
 $content .= $moduleYN->render();
 $content .= "    </td></tr>\n";
 */
 $content .= '<div class="row module-row" id="' . $file . '">';
 $content .= '<div class="col-md-2">';
 $content .= '<br><img src="' . XOOPS_URL . '/modules/' . $module->getInfo('dirname')
 . '/' . $module->getInfo('image') . '" alt="' . $module->getInfo('name') . '">';
 $content .= '</div>';
 $content .= '<div class="col-md-7">';
 $content .= '<h3>' . $module->getInfo('name');
 $content .= ' <small> ' . number_format(round($module->getInfo('version'), 2), 2)
 . ' (' . $module->getInfo('dirname') . ')' . '</small>' . '</h3>';
 $content .= '<i>' . $module->getInfo('description') . '</i>';
 $content .= '</div>';
 $content .= '<div class="col-md-3"><br><br><br>' . $moduleYN->render() . '</div>';
 $content .= '</div>';
 
 ++$toinstal;
 }
 }
 $content .= '</div></div>';
 $content .= "<script type='text/javascript'>" . $javascript . '</script>';
 if ($toinstal == 0) {
 $pageHasForm = false;
 $content     = '<div class="alert alert-info"><span class="fa fa-info-circle text-info"></span> ' . NO_MODULES_FOUND . '</div>';
 }
 }
 
 include './include/install_tpl.php';
 
 |