Hi,
Correctly it should look like:
default:
switch(@$task) {
with the @ character before $task. Maybe some update didn't go well on your server?
"Save failed with the following error: Another article from this category has the same alias"
From my limited knowledge of PHP isn't the "@" just masking the error so it will still fail as task is not defined?