Example #1
0
 /**
  * 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;
     }
 }