Automatically create up-sells widgets based on customer purchase info

Use the following simple script to automate your up-sells widgets creation based on your customer orders info.
Save the script as autoUpSells.php and run it through cron jobs to create up-sells from orders with processing status.

<?php
require_once 'app/Mage.php';
umask ( 0 );
$currentStore = Mage::app ()->getStore ()->getId ();
Mage::app ()->setCurrentStore ( Mage_Core_Model_App::ADMIN_STORE_ID );

$salesModel=Mage::getModel("sales/order");
$salesCollection = $salesModel->getCollection();
$salesCollection->addFieldToFilter('state', 'processing');
foreach($salesCollection as $order)
{
	      $orderId= $order->getIncrementId();
		$order = Mage::getModel('sales/order')->loadByIncrementID($orderId);
		$items = $order->getAllItems();
		$skus=array();
		$counter = 0;
		foreach ($items as $itemId => $item){
			$skus[$item->getProductId()] ['position'] = $counter;
			$counter++;
		}
		getSellLinkData($skus);
}
function getSellLinkData($skus){

	foreach ($skus as $key => $value) {
		$param = $skus;
		$product = Mage::getModel('catalog/product')->load($key);
		unset($param[$key]);
		$product->setUpSellLinkData($param);
		$product->save();
	}
}

Have questions? please do not hesitate to ask!