Skip to content

Instantly share code, notes, and snippets.

@mmenozzi
Last active January 15, 2016 11:18
Show Gist options
  • Save mmenozzi/60813c7a6ece4b8eb5b6 to your computer and use it in GitHub Desktop.
Save mmenozzi/60813c7a6ece4b8eb5b6 to your computer and use it in GitHub Desktop.
Restore canceled order with Magento 1.x
<?php
// -------------------------------------------------
// Prevent script to be called via HTTP
// -------------------------------------------------
if (isset($_SERVER['REQUEST_METHOD'])) {
die('This script cannot be run from Browser. This is the shell script.');
}
// -------------------------------------------------
// Override useful ini values
// -------------------------------------------------
set_time_limit(0); // avoid any time limit
ini_set('memory_limit', -1); // avoid any memory limit
// -------------------------------------------------
// Include Magento Core
// -------------------------------------------------
require_once 'app/Mage.php';
// -------------------------------------------------
// Load and Start Magento Application runtime
// -------------------------------------------------
// Trick reference:
// http://www.magentocommerce.com/boards/viewthread/38379/#t189142
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
umask(0);
// -------------------------------------------------
// Init an admin user session
// -------------------------------------------------
$userModel = Mage::getModel('admin/user');
$userModel->setUserId(0);
Mage::getSingleton('admin/session')->setUser($userModel);
$orderId = 14;
$order = Mage::getModel('sales/order')->load($orderId);
foreach ($order->getAllItems() as $item) {
/** @var Mage_Sales_Model_Order_Item $item */
$item->setQtyCanceled(0);
$item->setTaxCanceled(0);
$item->setHiddenTaxCanceled(0);
$item->save();
}
$order->setSubtotalCanceled(0);
$order->setBaseSubtotalCanceled(0);
$order->setTaxCanceled(0);
$order->setBaseTaxCanceled(0);
$order->setShippingCanceled(0);
$order->setBaseShippingCanceled(0);
$order->setDiscountCanceled(0);
$order->setBaseDiscountCanceled(0);
$order->setTotalCanceled(0);
$order->setBaseTotalCanceled(0);
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
$order->save();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment