Uncancelling a Magento order

A Magento order could be cancelled by mistake, but there is no way to undo this action - at least not in the GUI. There might be excellent third party modules providing this functionality, but you could also write just a simple PHP-script to accomplish the same task.

The clue to uncancel an order, is that - while you can change the order itself by changing its state and status, you also need to uncancel the order-items within that order. The following PHP-script could be run from the command-line to uncancel a specific order.

require_once 'app/Mage.php';

$order = Mage::getModel('sales/order')->load(1382);

foreach ($order->getAllItems() as $item) {