mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2025-08-07 20:10:08 +02:00
👌 Finalize PHP Guard functionality
This commit is contained in:
@ -2799,7 +2799,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 1000;
|
CURRENT_PROJECT_VERSION = 1020;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG = YES;
|
DEBUG = YES;
|
||||||
DEVELOPMENT_TEAM = 8M54J5J787;
|
DEVELOPMENT_TEAM = 8M54J5J787;
|
||||||
@ -2828,7 +2828,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 1000;
|
CURRENT_PROJECT_VERSION = 1020;
|
||||||
DEAD_CODE_STRIPPING = YES;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG = NO;
|
DEBUG = NO;
|
||||||
DEVELOPMENT_TEAM = 8M54J5J787;
|
DEVELOPMENT_TEAM = 8M54J5J787;
|
||||||
@ -3056,7 +3056,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 1000;
|
CURRENT_PROJECT_VERSION = 1020;
|
||||||
DEBUG = NO;
|
DEBUG = NO;
|
||||||
DEVELOPMENT_TEAM = 8M54J5J787;
|
DEVELOPMENT_TEAM = 8M54J5J787;
|
||||||
ENABLE_HARDENED_RUNTIME = YES;
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
@ -3166,7 +3166,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 1000;
|
CURRENT_PROJECT_VERSION = 1020;
|
||||||
DEBUG = YES;
|
DEBUG = YES;
|
||||||
DEVELOPMENT_TEAM = 8M54J5J787;
|
DEVELOPMENT_TEAM = 8M54J5J787;
|
||||||
ENABLE_HARDENED_RUNTIME = YES;
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
|
@ -172,6 +172,9 @@ class PhpEnv {
|
|||||||
public func validate(_ version: String) -> Bool {
|
public func validate(_ version: String) -> Bool {
|
||||||
if self.currentInstall.version.short == version {
|
if self.currentInstall.version.short == version {
|
||||||
Log.info("Switching to version \(version) seems to have succeeded. Validation passed.")
|
Log.info("Switching to version \(version) seems to have succeeded. Validation passed.")
|
||||||
|
Log.info("Keeping track that this is the new version!")
|
||||||
|
Stats.persistCurrentGlobalPhpVersion(version: version)
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,9 +51,6 @@ class InternalSwitcher: PhpSwitcher {
|
|||||||
await brew("services restart nginx", sudo: true)
|
await brew("services restart nginx", sudo: true)
|
||||||
|
|
||||||
Log.info("The new version(s) have been linked!")
|
Log.info("The new version(s) have been linked!")
|
||||||
|
|
||||||
// Persist which formula is linked so we can check at launch
|
|
||||||
Stats.persistCurrentGlobalPhpVersion(version: PhpEnv.phpInstall.formula)
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,19 +53,7 @@ class InterApp {
|
|||||||
Task { MainMenu.shared.openPhpInfo() }
|
Task { MainMenu.shared.openPhpInfo() }
|
||||||
}),
|
}),
|
||||||
InterApp.Action(command: "switch/php/", action: { version in
|
InterApp.Action(command: "switch/php/", action: { version in
|
||||||
if PhpEnv.shared.availablePhpVersions.contains(version) {
|
Task { MainMenu.shared.switchToAnyPhpVersion(version) }
|
||||||
Task { MainMenu.shared.switchToPhpVersion(version) }
|
|
||||||
} else {
|
|
||||||
Task {
|
|
||||||
BetterAlert().withInformation(
|
|
||||||
title: "alert.php_switch_unavailable.title".localized,
|
|
||||||
subtitle: "alert.php_switch_unavailable.subtitle".localized(version)
|
|
||||||
).withPrimary(
|
|
||||||
text: "alert.php_switch_unavailable.ok".localized
|
|
||||||
).show()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
]}
|
]}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -231,6 +231,21 @@ extension MainMenu {
|
|||||||
self.switchToPhpVersion(sender.version)
|
self.switchToPhpVersion(sender.version)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public func switchToAnyPhpVersion(_ version: String) {
|
||||||
|
if PhpEnv.shared.availablePhpVersions.contains(version) {
|
||||||
|
Task { MainMenu.shared.switchToPhpVersion(version) }
|
||||||
|
} else {
|
||||||
|
Task {
|
||||||
|
BetterAlert().withInformation(
|
||||||
|
title: "alert.php_switch_unavailable.title".localized,
|
||||||
|
subtitle: "alert.php_switch_unavailable.subtitle".localized(version)
|
||||||
|
).withPrimary(
|
||||||
|
text: "alert.php_switch_unavailable.ok".localized
|
||||||
|
).show()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@objc func switchToPhpVersion(_ version: String) {
|
@objc func switchToPhpVersion(_ version: String) {
|
||||||
setBusyImage()
|
setBusyImage()
|
||||||
PhpEnv.shared.isBusy = true
|
PhpEnv.shared.isBusy = true
|
||||||
|
@ -145,8 +145,6 @@ class Stats {
|
|||||||
let currentVersion = PhpEnv.phpInstall.version.short
|
let currentVersion = PhpEnv.phpInstall.version.short
|
||||||
let previousVersion = Stats.lastGlobalPhpVersion
|
let previousVersion = Stats.lastGlobalPhpVersion
|
||||||
|
|
||||||
// TODO: Add a preference to disable this
|
|
||||||
|
|
||||||
// Save the PHP version that is currently in use (only if unknown)
|
// Save the PHP version that is currently in use (only if unknown)
|
||||||
if Stats.lastGlobalPhpVersion == "" {
|
if Stats.lastGlobalPhpVersion == "" {
|
||||||
Stats.persistCurrentGlobalPhpVersion(version: currentVersion)
|
Stats.persistCurrentGlobalPhpVersion(version: currentVersion)
|
||||||
@ -159,15 +157,27 @@ class Stats {
|
|||||||
BetterAlert()
|
BetterAlert()
|
||||||
.withInformation(
|
.withInformation(
|
||||||
title: "startup.version_mismatch.title".localized,
|
title: "startup.version_mismatch.title".localized,
|
||||||
subtitle: "startup.version_mismatch.subtitle".localized,
|
subtitle: "startup.version_mismatch.subtitle".localized(
|
||||||
description: "startup.version_mismatch.desc".localized
|
currentVersion,
|
||||||
|
previousVersion
|
||||||
|
),
|
||||||
|
description: "startup.version_mismatch.desc".localized()
|
||||||
)
|
)
|
||||||
.withPrimary(text: "OK")
|
.withPrimary(text: "startup.version_mismatch.button_switch_back".localized(
|
||||||
// TODO: Add secondary button to switch to that version (if possible)
|
previousVersion
|
||||||
|
), action: { alert in
|
||||||
|
alert.close(with: .OK)
|
||||||
|
Task { MainMenu.shared.switchToAnyPhpVersion(previousVersion) }
|
||||||
|
})
|
||||||
|
.withTertiary(text: "startup.version_mismatch.button_stay".localized(
|
||||||
|
currentVersion
|
||||||
|
), action: { alert in
|
||||||
|
Stats.persistCurrentGlobalPhpVersion(version: currentVersion)
|
||||||
|
alert.close(with: .OK)
|
||||||
|
})
|
||||||
.show()
|
.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -540,6 +540,13 @@ If you are seeing this message but are confused why this folder has gone missing
|
|||||||
"startup.errors.which_alias_issue.subtitle" = "It appears that there's a file in `/usr/local/bin/which`. This is usually set up by NodeJS, but `node` isn't in the PATH in `/usr/local/bin`. To fix this, keep reading.";
|
"startup.errors.which_alias_issue.subtitle" = "It appears that there's a file in `/usr/local/bin/which`. This is usually set up by NodeJS, but `node` isn't in the PATH in `/usr/local/bin`. To fix this, keep reading.";
|
||||||
"startup.errors.which_alias_issue.desc" = "You will need to symlink `node` into the `/usr/local/bin` directory to make sure PHP Monitor can start successfully. For more info, see: https://github.com/nicoverbruggen/phpmon/issues/174";
|
"startup.errors.which_alias_issue.desc" = "You will need to symlink `node` into the `/usr/local/bin` directory to make sure PHP Monitor can start successfully. For more info, see: https://github.com/nicoverbruggen/phpmon/issues/174";
|
||||||
|
|
||||||
|
// Warning about a different PHP version linked than last time
|
||||||
|
"startup.version_mismatch.title" = "Your active PHP version has changed.";
|
||||||
|
"startup.version_mismatch.subtitle" = "Since PHP Monitor was last active, your linked PHP version has been changed to PHP %@. Would you like to switch back to PHP %@, or do you want to keep using the current version?";
|
||||||
|
"startup.version_mismatch.desc" = "PHP Monitor keeps track of which version of PHP is globally linked. The global version may have been changed due to some other program or Homebrew may have linked a different formula after upgrades.";
|
||||||
|
"startup.version_mismatch.button_switch_back" = "Switch back to PHP %@";
|
||||||
|
"startup.version_mismatch.button_stay" = "Keep using PHP %@";
|
||||||
|
|
||||||
// SPONSOR ENCOURAGEMENT
|
// SPONSOR ENCOURAGEMENT
|
||||||
|
|
||||||
"startup.sponsor_encouragement.title" = "If PHP Monitor has been useful to you or your company, please consider leaving a tip.";
|
"startup.sponsor_encouragement.title" = "If PHP Monitor has been useful to you or your company, please consider leaving a tip.";
|
||||||
|
Reference in New Issue
Block a user