fix: convert single-line comments to block comments in script.php
The build pipeline strips newlines from PHP files during packaging. Single-line comments (//) then eat everything after them on the concatenated line, causing a FatalError on install. Block comments (/* */) survive minification.
This commit is contained in:
+24
-24
@@ -58,7 +58,7 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check required PHP extensions (warn but don't block install)
|
||||
/* Check required PHP extensions (warn but don't block install) */
|
||||
$requiredExts = ['zip', 'pdo', 'pdo_mysql', 'mbstring', 'curl'];
|
||||
$missingExts = array_filter($requiredExts, fn($ext) => !extension_loaded($ext));
|
||||
|
||||
@@ -71,7 +71,7 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
);
|
||||
}
|
||||
|
||||
// Save download key before Joomla re-registers the update site
|
||||
/* Save download key before Joomla re-registers the update site */
|
||||
if ($type === 'update') {
|
||||
$this->preflight_saveKey();
|
||||
}
|
||||
@@ -138,43 +138,43 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
return;
|
||||
}
|
||||
|
||||
// Restore download key if it was saved before update
|
||||
/* Restore download key if it was saved before update */
|
||||
if ($this->savedDownloadKey !== null) {
|
||||
$this->restoreDownloadKey();
|
||||
}
|
||||
|
||||
if ($type === 'install') {
|
||||
// Enable all bundled plugins on fresh install
|
||||
/* Enable all bundled plugins on fresh install */
|
||||
$this->enableBundledPlugins();
|
||||
|
||||
// Create default backup directory in site root
|
||||
/* Create default backup directory in site root */
|
||||
$this->createBackupDirectory();
|
||||
|
||||
// Generate a random webcron secret word
|
||||
/* Generate a random webcron secret word */
|
||||
$this->generateWebcronSecret();
|
||||
|
||||
// Create default scheduled task for backup automation
|
||||
/* Create default scheduled task for backup automation */
|
||||
$this->createDefaultScheduledTask();
|
||||
}
|
||||
|
||||
// Ensure submenu items exist and are up to date
|
||||
// (Joomla may not add new submenu entries or update params on upgrades)
|
||||
/* Ensure submenu items exist and are up to date */
|
||||
/* (Joomla may not add new submenu entries or update params on upgrades) */
|
||||
$this->ensureSubmenuItems();
|
||||
|
||||
// Fix package client_id — packages must be client_id=0 (site) for
|
||||
// Joomla's updater to match the <client>site</client> in updates.xml
|
||||
/* Fix package client_id — packages must be client_id=0 (site) for */
|
||||
/* Joomla's updater to match the <client>site</client> in updates.xml */
|
||||
$this->fixPackageClientId();
|
||||
|
||||
// Sync submenu icons in #__menu (Joomla doesn't update icons on upgrades)
|
||||
/* Sync submenu icons in #__menu (Joomla doesn't update icons on upgrades) */
|
||||
$this->syncMenuIcons();
|
||||
|
||||
// Warn if no license key configured
|
||||
/* Warn if no license key configured */
|
||||
$this->warnMissingLicenseKey();
|
||||
|
||||
// Migrate profiles with old default backup_dir values to [DEFAULT_DIR] placeholder
|
||||
/* Migrate profiles with old default backup_dir values to [DEFAULT_DIR] placeholder */
|
||||
$this->migrateDefaultBackupDir();
|
||||
|
||||
// Remind user to review backup profile settings
|
||||
/* Remind user to review backup profile settings */
|
||||
if ($type === 'install') {
|
||||
$profileUrl = Route::_('index.php?option=com_mokosuitebackup&view=profiles');
|
||||
|
||||
@@ -196,7 +196,7 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
try {
|
||||
$db = Factory::getDbo();
|
||||
|
||||
// Load current component params
|
||||
/* Load current component params */
|
||||
$query = $db->getQuery(true)
|
||||
->select($db->quoteName('params'))
|
||||
->from($db->quoteName('#__extensions'))
|
||||
@@ -208,7 +208,7 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
|
||||
$params = json_decode($rawParams ?: '{}', true) ?: [];
|
||||
|
||||
// Only generate if not already set
|
||||
/* Only generate if not already set */
|
||||
if (!empty($params['webcron_secret'])) {
|
||||
return;
|
||||
}
|
||||
@@ -286,7 +286,7 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
return;
|
||||
}
|
||||
|
||||
// Protect directory from direct web access
|
||||
/* Protect directory from direct web access */
|
||||
$htaccess = $backupDir . '/.htaccess';
|
||||
|
||||
if (!file_exists($htaccess)) {
|
||||
@@ -361,7 +361,7 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
try {
|
||||
$db = Factory::getDbo();
|
||||
|
||||
// Check if a MokoSuiteBackup task already exists
|
||||
/* Check if a MokoSuiteBackup task already exists */
|
||||
$query = $db->getQuery(true)
|
||||
->select('COUNT(*)')
|
||||
->from($db->quoteName('#__scheduler_tasks'))
|
||||
@@ -460,7 +460,7 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
try {
|
||||
$db = Factory::getDbo();
|
||||
|
||||
// Find the parent menu item for our component
|
||||
/* Find the parent menu item for our component */
|
||||
$query = $db->getQuery(true)
|
||||
->select([$db->quoteName('id'), $db->quoteName('menutype')])
|
||||
->from($db->quoteName('#__menu'))
|
||||
@@ -476,7 +476,7 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the component extension_id
|
||||
/* Get the component extension_id */
|
||||
$query = $db->getQuery(true)
|
||||
->select($db->quoteName('extension_id'))
|
||||
->from($db->quoteName('#__extensions'))
|
||||
@@ -492,7 +492,7 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
}
|
||||
|
||||
foreach ($submenus as $submenu) {
|
||||
// Check if this submenu item already exists
|
||||
/* Check if this submenu item already exists */
|
||||
$query = $db->getQuery(true)
|
||||
->select([$db->quoteName('id'), $db->quoteName('params')])
|
||||
->from($db->quoteName('#__menu'))
|
||||
@@ -503,7 +503,7 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
$existing = $db->loadObject();
|
||||
|
||||
if ($existing) {
|
||||
// Merge menu_icon into existing params to preserve other settings
|
||||
/* Merge menu_icon into existing params to preserve other settings */
|
||||
$existingParams = json_decode($existing->params ?? '{}', true) ?: [];
|
||||
$existingParams['menu_icon'] = $submenu['menu_icon'];
|
||||
$mergedParams = json_encode($existingParams);
|
||||
@@ -517,7 +517,7 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
continue;
|
||||
}
|
||||
|
||||
// Use Joomla's MenuTable to create the item properly
|
||||
/* Use Joomla's MenuTable to create the item properly */
|
||||
$table = Factory::getApplication()
|
||||
->bootComponent('com_menus')
|
||||
->getMVCFactory()
|
||||
|
||||
Reference in New Issue
Block a user