/** * Edits the shipping address of the order * @param TinyBrick_OrderEdit_Model_Order $order * @param array $data * @return string */ public function edit(TinyBrick_OrderEdit_Model_Order $order, $data = array()) { $array = array(); $shipping = $order->getShippingAddress(); $oldArray = $shipping->getData(); $data['street'] = $data['street1']; if ($data['street2']) { $data['street'] .= "\n" . $data['street2']; } $shipping->setData($data); $region = Mage::getResourceModel('directory/region_collection')->addFieldToFilter('default_name', $data['region'])->getFirstItem(); $shipping->setRegionId($region->getId()); try { $shipping->save(); $newArray = $shipping->getData(); $results = array_diff($oldArray, $newArray); $count = 0; $comment = ""; foreach ($results as $key => $result) { if (array_key_exists($key, $newArray)) { if ($key == 'updated_at') { } else { $comment .= "Changed " . $key . " FROM: " . $oldArray[$key] . " TO: " . $newArray[$key] . "<br />"; $count++; } } } if ($count != 0) { $comment = "Changed shipping address:<br />" . $comment . "<br />"; return $comment; } return true; } catch (Exception $e) { $array['status'] = 'error'; $array['msg'] = "Error updating shipping address"; return false; } }