static function getConfigModules() { global $zdbh; global $controller; $line = "<h2>" . ui_language::translate("Configure Modules") . "</h2>"; $modsql = "SELECT COUNT(*) FROM x_modules"; if ($nummodsql = $zdbh->query($modsql)) { if ($nummodsql->fetchColumn() > 0) { $modsql = $zdbh->prepare("SELECT * FROM x_modules WHERE mo_folder_vc <> 'zpx_core_module' ORDER BY mo_name_vc ASC"); $modsql->execute(); $line .= "<form action=\"./?module=moduleadmin&action=EditModule\" method=\"post\">"; $line .= "<table class=\"table table-striped\">"; $line .= "<tr>"; $line .= "<th></th>"; $line .= "<th>" . ui_language::translate("Module") . "</th>"; $line .= "<th>" . ui_language::translate("On") . "/" . ui_language::translate("Off") . "</th>"; $line .= "<th>" . ui_language::translate("Category") . "</th>"; $line .= "<th style=\"text-align:center\">" . ui_language::translate("Up-to-date?") . "</th>"; $groupssql = $zdbh->query("SELECT * FROM x_groups ORDER BY ug_name_vc ASC"); while ($groups = $groupssql->fetch()) { $line .= "<th style=\"text-align:center\">" . $groups['ug_name_vc'] . "</th>"; } $line .= "</tr>"; $numline = 0; while ($modules = $modsql->fetch()) { if ($numline == 20) { $line .= "<tr>"; $line .= "<th></th>"; $line .= "<th>" . ui_language::translate("Module") . "</th>"; $line .= "<th>" . ui_language::translate("On") . "/" . ui_language::translate("Off") . "</th>"; $line .= "<th>" . ui_language::translate("Category") . "</th>"; $line .= "<th style=\"text-align:center\">" . ui_language::translate("Up-to-date?") . "</th>"; $groupssql = $zdbh->query("SELECT * FROM x_groups ORDER BY ug_name_vc ASC"); while ($groups = $groupssql->fetch()) { $line .= "<th style=\"text-align:center\">" . $groups['ug_name_vc'] . "</th>"; } $line .= "</tr>"; } $ismodadmin = 0; $line .= "<tr>"; $line .= "<td>" . self::ModuleStatusIcon($modules['mo_id_pk']) . "</td>"; $line .= "<td><a href=\"./?module=moduleadmin&showinfo=" . $modules['mo_folder_vc'] . "\">" . ui_language::translate($modules['mo_name_vc']) . "</a></td>"; $line .= "<td>"; if ($modules['mo_type_en'] != "system") { $line .= "<select style=\"min-width:85px;\" name=\"inDisable_" . $modules['mo_id_pk'] . "\" id=\"inDisable_" . $modules['mo_id_pk'] . "\">"; } else { $line .= "<select style=\"min-width:85px;\" name=\"inDisable_" . $modules['mo_id_pk'] . "\" id=\"inDisable_" . $modules['mo_id_pk'] . "\" disabled=\"disabled\">"; } if ($modules['mo_enabled_en'] == 'true') { $selected = "SELECTED"; } else { $selected = ""; } if ($modules['mo_name_vc'] == 'Module Admin') { $ismodadmin = 1; $disabled = "disabled=\"disabled\""; } else { $disabled = ""; } $line .= "<option value=\"true\" " . $selected . " >" . ui_language::translate("Enabled") . "</option>"; if ($modules['mo_enabled_en'] == 'false') { $selected = "SELECTED"; } else { $selected = ""; } $line .= "<option value=\"false\" " . $selected . " " . $disabled . ">" . ui_language::translate("Disabled") . "</option>"; $line .= "</select></td>"; $line .= "<td>"; if ($modules['mo_type_en'] == "user") { $line .= "<select style=\"min-width:175px;\" name=\"inCategory_" . $modules['mo_id_pk'] . "\" id=\"inCategory_" . $modules['mo_id_pk'] . "\">"; $catssql = $zdbh->query("SELECT * FROM x_modcats ORDER BY mc_name_vc ASC"); while ($modulecats = $catssql->fetch()) { $selected = ""; if ($modules['mo_category_fk'] == $modulecats['mc_id_pk']) { $selected = "selected"; } $line .= "<option value=\"" . $modulecats['mc_id_pk'] . "\" " . $selected . ">" . $modulecats['mc_name_vc'] . "</option>"; } $line .= "</select>"; } elseif ($modules['mo_type_en'] == "modadmin") { $line .= "" . ui_language::translate("N/A (Module Admin)") . ""; } else { $line .= "" . ui_language::translate("N/A (System Module)") . ""; } $line .= "</td><td style=\"text-align:center\">"; if (ui_module::GetModuleHasUpdates($modules['mo_folder_vc'])) { $line .= "<img src=\"modules/" . $controller->GetControllerRequest('URL', 'module') . "/assets/down.gif\"><br>" . ui_language::translate("Latest version") . ": <a href=\"" . $modules['mo_updateurl_tx'] . "\" target=\"_blank\">" . $modules['mo_updatever_vc'] . "</a>"; } else { $line .= "<img src=\"modules/" . $controller->GetControllerRequest('URL', 'module') . "/assets/up.gif\">"; } /** * -- */ $line .= "</td>"; $groupssql = $zdbh->query("SELECT * FROM x_groups ORDER BY ug_name_vc ASC"); while ($groups = $groupssql->fetch()) { if ($groups['ug_name_vc'] == 'Administrators' && $ismodadmin == 1) { $line .= "<input type=\"hidden\" value=\"1\" name=\"inEnable_" . $groups['ug_id_pk'] . "_" . $modules['mo_id_pk'] . "\" id=\"inEnable_" . $groups['ug_id_pk'] . "_" . $modules['mo_id_pk'] . "\"/>"; $disabled = "disabled=\"disabled\""; } else { $disabled = ""; } $ischeck = 0; if (ctrl_groups::CheckGroupModulePermissions($groups['ug_id_pk'], $modules['mo_id_pk'])) { $ischeck = "checked=\"checked\" "; } if ($modules['mo_type_en'] != "system") { $line .= "<td style=\"text-align:center\"><input type=\"checkbox\" value=\"1\" name=\"inEnable_" . $groups['ug_id_pk'] . "_" . $modules['mo_id_pk'] . "\" id=\"inEnable_" . $groups['ug_id_pk'] . "_" . $modules['mo_id_pk'] . "\" " . $ischeck . " " . $disabled . "/></td>"; } else { $disabled = "disabled=\"disabled\""; $line .= "<td style=\"text-align:center\"><input type=\"checkbox\" value=\"1\" name=\"inEnable_" . $groups['ug_id_pk'] . "_" . $modules['mo_id_pk'] . "\" id=\"inEnable_" . $groups['ug_id_pk'] . "_" . $modules['mo_id_pk'] . "\" " . $ischeck . " " . $disabled . " /></td>"; } } $line .= "</tr>"; $numline++; if ($numline == 21) { $numline = 0; } } $line .= "</table><br>"; $line .= "<button class=\"button-loader btn btn-primary\" type=\"submit\" id=\"button\" name=\"inSave\" value=\"inSave\">" . ui_language::translate("Save changes") . "</button></form>"; } else { $line .= ui_language::translate("You have no administration modules at this time."); } } return $line; }