Version Notes
nothing
Download this release
Release Info
| Developer | Ship200 |
| Extension | ship200_bulk |
| Version | 1.0.0 |
| Comparing to | |
| See all releases | |
Version 1.0.0
- app/code/local/Ship200/Bulk/Helper/Data.php +9 -0
- app/code/local/Ship200/Bulk/controllers/IndexController.php +367 -0
- app/code/local/Ship200/Bulk/etc/adminhtml.xml +43 -0
- app/code/local/Ship200/Bulk/etc/config.xml +109 -0
- app/code/local/Ship200/Bulk/etc/system.xml +196 -0
- app/etc/modules/Ship200_Bulk.xml +18 -0
- package.xml +25 -0
app/code/local/Ship200/Bulk/Helper/Data.php
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
class Ship200_Bulk_Helper_Data extends Mage_Core_Helper_Abstract{
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
}
|
| 8 |
+
|
| 9 |
+
?>
|
app/code/local/Ship200/Bulk/controllers/IndexController.php
ADDED
|
@@ -0,0 +1,367 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
class Ship200_Bulk_IndexController extends Mage_Core_Controller_Front_Action
|
| 6 |
+
|
| 7 |
+
{
|
| 8 |
+
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
public function bulkprocessAction(){
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
$secret_key = Mage::getStoreConfig('bulk/info/appkey');
|
| 16 |
+
$order_status_import = Mage::getStoreConfig('bulk/info/order_status_import');
|
| 17 |
+
$order_status_tracking = Mage::getStoreConfig('bulk/info/order_status_tracking');
|
| 18 |
+
// $notify_customer_setting = Mage::getStoreConfig('bulk/info/notify_customer');
|
| 19 |
+
$notify_customer_setting = 1;
|
| 20 |
+
if($notify_customer_setting == "1"){
|
| 21 |
+
$notifycustomer="true";
|
| 22 |
+
}else{
|
| 23 |
+
$notifycustomer="false";
|
| 24 |
+
}
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
if($secret_key == ""){ echo "The Secret Key was never setup. Please refer to read_me file"; exit;}
|
| 29 |
+
|
| 30 |
+
if($order_status_import == ""){ echo "Please Select Order Status From Admin for Order Import"; exit;}
|
| 31 |
+
if($order_status_tracking == ""){ echo "Please Select Order Status From Admin for Update With Tracking"; exit;}
|
| 32 |
+
|
| 33 |
+
#Extra security
|
| 34 |
+
// Check that request is coming from Ship200 Server
|
| 35 |
+
$allowed_servers = file_get_contents('http://www.ship200.com/instructions/allowed_servers.txt');
|
| 36 |
+
$servers_array = explode(",",$allowed_servers);
|
| 37 |
+
|
| 38 |
+
$server = 0;
|
| 39 |
+
foreach($servers_array as $ip){
|
| 40 |
+
if($_SERVER['REMOTE_ADDR'] == $ip){$server = 1;}
|
| 41 |
+
}
|
| 42 |
+
if($server == 0){ echo "Incorrect Server"; exit;}
|
| 43 |
+
// Check that request is coming from Ship200 Server
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
if ($_POST['id'] == $secret_key){
|
| 48 |
+
|
| 49 |
+
|
| 50 |
+
$fields = array(
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
|
| 54 |
+
// Ship200 field name your db field name
|
| 55 |
+
|
| 56 |
+
// cannot be changed can be changed (see examples below)
|
| 57 |
+
|
| 58 |
+
"Orderid" => "increment_id", // that will be used 'keyForUpdate' to update the tracking number back in the backend
|
| 59 |
+
|
| 60 |
+
"Order_Date" => "created_at",
|
| 61 |
+
|
| 62 |
+
"Order_Status" => "status",
|
| 63 |
+
|
| 64 |
+
|
| 65 |
+
|
| 66 |
+
"Name" => "firstname",
|
| 67 |
+
|
| 68 |
+
"Company_Name" => "company",
|
| 69 |
+
|
| 70 |
+
"Address_Line1" => "street",
|
| 71 |
+
|
| 72 |
+
"City" => "city",
|
| 73 |
+
|
| 74 |
+
"State" => "region", // 2 Letter State, example: NY, LA etc..
|
| 75 |
+
|
| 76 |
+
"Zip" => "postcode",
|
| 77 |
+
|
| 78 |
+
"Country" => "country_id",
|
| 79 |
+
|
| 80 |
+
"Phone" => "telephone",
|
| 81 |
+
|
| 82 |
+
"Email" => "customer_email",
|
| 83 |
+
|
| 84 |
+
|
| 85 |
+
|
| 86 |
+
"Weight" => "weight", #any numeric(int) value
|
| 87 |
+
|
| 88 |
+
//"Weight_Units" => array(""=>"manual"), #valid values are "lb" or "oz"
|
| 89 |
+
|
| 90 |
+
"Ship_Method" => "shipping_description",
|
| 91 |
+
|
| 92 |
+
//"Subtotal" => "base_subtotal",
|
| 93 |
+
|
| 94 |
+
//"Shipping" => "base_shipping_amount",
|
| 95 |
+
|
| 96 |
+
//"Total" => "base_grand_total",
|
| 97 |
+
|
| 98 |
+
|
| 99 |
+
|
| 100 |
+
"items" => array("1"=>"items"),
|
| 101 |
+
|
| 102 |
+
|
| 103 |
+
|
| 104 |
+
//"Name_On_Invoice" => array(str_replace("http://", "", HTTP_SERVER)=>"manual")
|
| 105 |
+
|
| 106 |
+
);
|
| 107 |
+
|
| 108 |
+
|
| 109 |
+
|
| 110 |
+
|
| 111 |
+
|
| 112 |
+
//////////////////////////////// Do Not Change Anything Below this Line /////////////////////////////////////////////////
|
| 113 |
+
|
| 114 |
+
|
| 115 |
+
|
| 116 |
+
require_once("app/Mage.php");
|
| 117 |
+
|
| 118 |
+
$app = Mage::app('');
|
| 119 |
+
|
| 120 |
+
|
| 121 |
+
|
| 122 |
+
$salesModel=Mage::getModel("sales/order");
|
| 123 |
+
|
| 124 |
+
$salesCollection = $salesModel->getCollection()->addFieldToFilter('status', $order_status_import);
|
| 125 |
+
|
| 126 |
+
|
| 127 |
+
|
| 128 |
+
|
| 129 |
+
|
| 130 |
+
|
| 131 |
+
|
| 132 |
+
foreach($salesCollection as $order)
|
| 133 |
+
|
| 134 |
+
{
|
| 135 |
+
|
| 136 |
+
$shipping_address = $order->getShippingAddress();
|
| 137 |
+
//var_dump($shipping_address);
|
| 138 |
+
//exit;
|
| 139 |
+
|
| 140 |
+
$items=$order->getAllItems();
|
| 141 |
+
|
| 142 |
+
|
| 143 |
+
|
| 144 |
+
$out .= "<order>\n";
|
| 145 |
+
|
| 146 |
+
|
| 147 |
+
|
| 148 |
+
foreach($fields as $key => $value){
|
| 149 |
+
|
| 150 |
+
|
| 151 |
+
|
| 152 |
+
if (is_array($value)){
|
| 153 |
+
|
| 154 |
+
|
| 155 |
+
|
| 156 |
+
$man = "";
|
| 157 |
+
|
| 158 |
+
foreach($value as $key2 => $value2){ /// if field is array
|
| 159 |
+
|
| 160 |
+
|
| 161 |
+
|
| 162 |
+
if ($value2 == "items"){
|
| 163 |
+
unset($totals);unset($item_title_array);unset($items_qty_array);unset($items_price_array);unset($items_sku_array);
|
| 164 |
+
|
| 165 |
+
|
| 166 |
+
|
| 167 |
+
foreach($items as $item){
|
| 168 |
+
|
| 169 |
+
$item_title_array[] = $this->clear($item->getName());
|
| 170 |
+
$items_qty_array[] = $this->clear(round($item->getQtyOrdered()),2);
|
| 171 |
+
$items_price_array[] = $this->clear(round($item->getPrice()),2);
|
| 172 |
+
$items_sku_array[] = $this->clear($item->getSku());
|
| 173 |
+
}
|
| 174 |
+
|
| 175 |
+
//titles
|
| 176 |
+
$man .= "\n<title><![CDATA[".json_encode($item_title_array)."]]></title>\n";
|
| 177 |
+
//itemid
|
| 178 |
+
$man .= "\n<itemid>".json_encode($items_sku_array)."</itemid>\n";
|
| 179 |
+
//qty
|
| 180 |
+
$man .= "\n<qty>".json_encode($items_qty_array)."</qty>\n";
|
| 181 |
+
//price
|
| 182 |
+
$man .= "\n<price>".json_encode($items_price_array)."</price>\n";
|
| 183 |
+
|
| 184 |
+
|
| 185 |
+
$man .= "\n<subtotal>".$this->clear($order->getBaseSubtotal())."</subtotal>";
|
| 186 |
+
|
| 187 |
+
$man .= "\n<shipping>".$this->clear($order->getBaseShippingAmount())."</shipping>";
|
| 188 |
+
|
| 189 |
+
$man .= "\n<total>".$this->clear($order->getBaseGrandTotal())."</total>";
|
| 190 |
+
|
| 191 |
+
$man .= "\n<discount>".$this->clear($order->getBaseDiscountAmount())."</discount>";
|
| 192 |
+
|
| 193 |
+
|
| 194 |
+
|
| 195 |
+
}
|
| 196 |
+
|
| 197 |
+
}
|
| 198 |
+
|
| 199 |
+
$out .= "<$key>".$man."</$key>\n";
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
|
| 203 |
+
}else if($value==""){
|
| 204 |
+
|
| 205 |
+
$out .= "<$key></$key>\n";
|
| 206 |
+
|
| 207 |
+
}else{
|
| 208 |
+
|
| 209 |
+
|
| 210 |
+
|
| 211 |
+
if($this->clear($order->getData($value))==""){
|
| 212 |
+
|
| 213 |
+
|
| 214 |
+
|
| 215 |
+
$out .= "<$key>".$this->clear($shipping_address->getData($value))."</$key>\n";
|
| 216 |
+
|
| 217 |
+
}else{
|
| 218 |
+
|
| 219 |
+
if($value=="status"){
|
| 220 |
+
$out .= "<$key>".$this->clear($order_status_import)."</$key>\n";
|
| 221 |
+
}else{
|
| 222 |
+
|
| 223 |
+
$out .= "<$key>".$this->clear($order->getData($value))."</$key>\n";
|
| 224 |
+
}
|
| 225 |
+
}
|
| 226 |
+
|
| 227 |
+
}
|
| 228 |
+
|
| 229 |
+
|
| 230 |
+
|
| 231 |
+
|
| 232 |
+
|
| 233 |
+
}
|
| 234 |
+
|
| 235 |
+
|
| 236 |
+
|
| 237 |
+
$out .= "</order>\n";
|
| 238 |
+
|
| 239 |
+
|
| 240 |
+
|
| 241 |
+
}
|
| 242 |
+
|
| 243 |
+
|
| 244 |
+
|
| 245 |
+
header("Content-type: text/xml; charset=utf-8");
|
| 246 |
+
|
| 247 |
+
echo "<?xml version='1.0' encoding='ISO-8859-1'?>
|
| 248 |
+
|
| 249 |
+
<orders>
|
| 250 |
+
|
| 251 |
+
$out
|
| 252 |
+
|
| 253 |
+
</orders>";
|
| 254 |
+
exit;
|
| 255 |
+
|
| 256 |
+
|
| 257 |
+
|
| 258 |
+
|
| 259 |
+
|
| 260 |
+
//////////////// Update Tracking ///////////////////////
|
| 261 |
+
|
| 262 |
+
}elseif($_POST['update_tracking'] == "1" && $_POST['secret_key'] == $secret_key && $server == 1){
|
| 263 |
+
|
| 264 |
+
$order=Mage::getModel("sales/order")->loadByIncrementId($_POST['keyForUpdate']);
|
| 265 |
+
|
| 266 |
+
if($order->canShip()){
|
| 267 |
+
|
| 268 |
+
$arrTracking = array(
|
| 269 |
+
'carrier_code' => strtolower($_POST['carrier']),
|
| 270 |
+
'title' => $_POST[service]." - (Ship200 Bulk)",
|
| 271 |
+
'number' => $_POST['tracking'],
|
| 272 |
+
);
|
| 273 |
+
|
| 274 |
+
$itemQty = $order->getItemsCollection()->count();
|
| 275 |
+
$shipment = $order->prepareShipment();
|
| 276 |
+
if($shipment){
|
| 277 |
+
$track = Mage::getModel('sales/order_shipment_track')->addData($arrTracking);
|
| 278 |
+
$shipment->addTrack($track);
|
| 279 |
+
$shipment->register();
|
| 280 |
+
$transactionSave = Mage::getModel('core/resource_transaction')
|
| 281 |
+
->addObject($shipment)
|
| 282 |
+
->addObject($shipment->getOrder())
|
| 283 |
+
->save();
|
| 284 |
+
}
|
| 285 |
+
|
| 286 |
+
}
|
| 287 |
+
|
| 288 |
+
$order->setData('state', $order_status_tracking);
|
| 289 |
+
$order->setStatus($order_status_tracking);
|
| 290 |
+
$comment = addslashes($_POST['carrier'])." tracking#: ".addslashes($_POST['tracking']);
|
| 291 |
+
$history = $order->addStatusHistoryComment($comment, false);
|
| 292 |
+
$history->setIsCustomerNotified($notifycustomer);
|
| 293 |
+
$order->save();
|
| 294 |
+
|
| 295 |
+
|
| 296 |
+
}else{
|
| 297 |
+
// Not valid request //////
|
| 298 |
+
echo "Error: 1094";
|
| 299 |
+
exit;
|
| 300 |
+
}
|
| 301 |
+
|
| 302 |
+
|
| 303 |
+
|
| 304 |
+
|
| 305 |
+
|
| 306 |
+
|
| 307 |
+
}
|
| 308 |
+
|
| 309 |
+
|
| 310 |
+
|
| 311 |
+
public function clear ($value="") {
|
| 312 |
+
|
| 313 |
+
|
| 314 |
+
|
| 315 |
+
$value = preg_replace("'<style[^>]*>.*</style>'siU",'',$value);
|
| 316 |
+
|
| 317 |
+
$value = strip_tags($value);
|
| 318 |
+
|
| 319 |
+
$value = str_replace("<", "<", $value);
|
| 320 |
+
|
| 321 |
+
$value = str_replace("&", "&", $value);
|
| 322 |
+
|
| 323 |
+
$value = str_replace(",", " ", $value);
|
| 324 |
+
|
| 325 |
+
$value = str_replace("\n", " ", $value);
|
| 326 |
+
|
| 327 |
+
$value = str_replace("\r", " ", $value);
|
| 328 |
+
|
| 329 |
+
$value = str_replace(" ", " ", $value);
|
| 330 |
+
|
| 331 |
+
$value = str_replace("�", " ", $value);
|
| 332 |
+
|
| 333 |
+
|
| 334 |
+
|
| 335 |
+
$value = preg_replace('/\<[^\>]+\>/', '', $value);
|
| 336 |
+
|
| 337 |
+
#$value = urldecode(html_entity_decode($value));
|
| 338 |
+
|
| 339 |
+
$value = preg_replace('/[\r\n]+/', '', $value);
|
| 340 |
+
|
| 341 |
+
$value = preg_replace('/[\s]+$/', '', $value);
|
| 342 |
+
|
| 343 |
+
$value = preg_replace('/[\s\t]+\xA0$/', '', $value);
|
| 344 |
+
|
| 345 |
+
|
| 346 |
+
|
| 347 |
+
$value = substr($value, 0, 10000);
|
| 348 |
+
|
| 349 |
+
|
| 350 |
+
|
| 351 |
+
$value = addslashes($value);
|
| 352 |
+
|
| 353 |
+
|
| 354 |
+
|
| 355 |
+
return $value;
|
| 356 |
+
|
| 357 |
+
}
|
| 358 |
+
|
| 359 |
+
|
| 360 |
+
|
| 361 |
+
|
| 362 |
+
|
| 363 |
+
}
|
| 364 |
+
|
| 365 |
+
|
| 366 |
+
|
| 367 |
+
?>
|
app/code/local/Ship200/Bulk/etc/adminhtml.xml
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
|
| 3 |
+
<config>
|
| 4 |
+
|
| 5 |
+
<acl>
|
| 6 |
+
|
| 7 |
+
<resources>
|
| 8 |
+
|
| 9 |
+
<admin>
|
| 10 |
+
|
| 11 |
+
<children>
|
| 12 |
+
|
| 13 |
+
<system>
|
| 14 |
+
|
| 15 |
+
<children>
|
| 16 |
+
|
| 17 |
+
<config>
|
| 18 |
+
|
| 19 |
+
<children>
|
| 20 |
+
|
| 21 |
+
<bulk>
|
| 22 |
+
|
| 23 |
+
<title>Ship200 Bulk Labels options</title>
|
| 24 |
+
|
| 25 |
+
</bulk>
|
| 26 |
+
|
| 27 |
+
</children>
|
| 28 |
+
|
| 29 |
+
</config>
|
| 30 |
+
|
| 31 |
+
</children>
|
| 32 |
+
|
| 33 |
+
</system>
|
| 34 |
+
|
| 35 |
+
</children>
|
| 36 |
+
|
| 37 |
+
</admin>
|
| 38 |
+
|
| 39 |
+
</resources>
|
| 40 |
+
|
| 41 |
+
</acl>
|
| 42 |
+
|
| 43 |
+
</config>
|
app/code/local/Ship200/Bulk/etc/config.xml
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
|
| 3 |
+
<config>
|
| 4 |
+
|
| 5 |
+
<modules>
|
| 6 |
+
|
| 7 |
+
<Ship200_Bulk>
|
| 8 |
+
|
| 9 |
+
<version>0.1.0</version>
|
| 10 |
+
|
| 11 |
+
</Ship200_Bulk>
|
| 12 |
+
|
| 13 |
+
</modules>
|
| 14 |
+
|
| 15 |
+
<global>
|
| 16 |
+
|
| 17 |
+
<!--<blocks>
|
| 18 |
+
|
| 19 |
+
<onebyone>
|
| 20 |
+
|
| 21 |
+
<class>Shiptwohundred_Onebyone_Block</class>
|
| 22 |
+
|
| 23 |
+
</onebyone>
|
| 24 |
+
|
| 25 |
+
<adminhtml>
|
| 26 |
+
|
| 27 |
+
<rewrite>
|
| 28 |
+
|
| 29 |
+
<sales_order_view>Shiptwohundred_Onebyone_Block_Adminhtml_Sales_Order_View</sales_order_view>
|
| 30 |
+
|
| 31 |
+
</rewrite>
|
| 32 |
+
|
| 33 |
+
</adminhtml>
|
| 34 |
+
|
| 35 |
+
</blocks>-->
|
| 36 |
+
|
| 37 |
+
<helpers>
|
| 38 |
+
|
| 39 |
+
<bulk>
|
| 40 |
+
|
| 41 |
+
<class>Ship200_Bulk_Helper</class>
|
| 42 |
+
|
| 43 |
+
</bulk>
|
| 44 |
+
|
| 45 |
+
</helpers>
|
| 46 |
+
|
| 47 |
+
<!--<models>
|
| 48 |
+
|
| 49 |
+
<onebyone>
|
| 50 |
+
|
| 51 |
+
<class>Shiptwohundred_Onebyone_Model</class>
|
| 52 |
+
|
| 53 |
+
</onebyone>
|
| 54 |
+
|
| 55 |
+
</models>-->
|
| 56 |
+
|
| 57 |
+
</global>
|
| 58 |
+
|
| 59 |
+
<!--<adminhtml>
|
| 60 |
+
|
| 61 |
+
<layout>
|
| 62 |
+
|
| 63 |
+
<updates>
|
| 64 |
+
|
| 65 |
+
<Ship200_Bulk>
|
| 66 |
+
|
| 67 |
+
<file>ship200_bulk.xml</file>
|
| 68 |
+
|
| 69 |
+
</Ship200_Bulk>
|
| 70 |
+
|
| 71 |
+
</updates>
|
| 72 |
+
|
| 73 |
+
</layout>
|
| 74 |
+
|
| 75 |
+
</adminhtml>-->
|
| 76 |
+
|
| 77 |
+
<frontend>
|
| 78 |
+
|
| 79 |
+
<routers>
|
| 80 |
+
|
| 81 |
+
<bulk>
|
| 82 |
+
|
| 83 |
+
<use>standard</use>
|
| 84 |
+
|
| 85 |
+
<args>
|
| 86 |
+
|
| 87 |
+
<module>Ship200_Bulk</module>
|
| 88 |
+
|
| 89 |
+
<frontName>bulk</frontName>
|
| 90 |
+
|
| 91 |
+
</args>
|
| 92 |
+
|
| 93 |
+
</bulk>
|
| 94 |
+
|
| 95 |
+
</routers>
|
| 96 |
+
|
| 97 |
+
</frontend>
|
| 98 |
+
|
| 99 |
+
|
| 100 |
+
<default>
|
| 101 |
+
<bulk>
|
| 102 |
+
<info>
|
| 103 |
+
<order_status_import>pending</order_status_import>
|
| 104 |
+
<order_status_tracking>complete</order_status_tracking>
|
| 105 |
+
</info>
|
| 106 |
+
</bulk>
|
| 107 |
+
</default>
|
| 108 |
+
|
| 109 |
+
</config>
|
app/code/local/Ship200/Bulk/etc/system.xml
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
|
| 3 |
+
<config>
|
| 4 |
+
|
| 5 |
+
<tabs>
|
| 6 |
+
|
| 7 |
+
<!--Here is the tabs definition-->
|
| 8 |
+
|
| 9 |
+
<bulksetting translate="label" module="bulk">
|
| 10 |
+
|
| 11 |
+
<label>Ship200 Bulk Labels</label>
|
| 12 |
+
|
| 13 |
+
<sort_order>20</sort_order>
|
| 14 |
+
|
| 15 |
+
<sort_order>800</sort_order>
|
| 16 |
+
|
| 17 |
+
<show_in_default>1</show_in_default>
|
| 18 |
+
|
| 19 |
+
<show_in_website>1</show_in_website>
|
| 20 |
+
|
| 21 |
+
<show_in_store>1</show_in_store>
|
| 22 |
+
|
| 23 |
+
</bulksetting>
|
| 24 |
+
|
| 25 |
+
</tabs>
|
| 26 |
+
|
| 27 |
+
<sections>
|
| 28 |
+
|
| 29 |
+
<!--Here are the sections definition-->
|
| 30 |
+
|
| 31 |
+
<bulk translate="label" module="bulk">
|
| 32 |
+
|
| 33 |
+
<class>separator-top</class>
|
| 34 |
+
|
| 35 |
+
<label>Ship200 Bulk Processing Settings</label>
|
| 36 |
+
|
| 37 |
+
<tab>bulksetting</tab>
|
| 38 |
+
|
| 39 |
+
<sort_order>800</sort_order>
|
| 40 |
+
|
| 41 |
+
<show_in_default>1</show_in_default>
|
| 42 |
+
|
| 43 |
+
<show_in_website>1</show_in_website>
|
| 44 |
+
|
| 45 |
+
<show_in_store>1</show_in_store>
|
| 46 |
+
|
| 47 |
+
<groups>
|
| 48 |
+
|
| 49 |
+
<!--Here are the groups definitions-->
|
| 50 |
+
|
| 51 |
+
<info translate="label">
|
| 52 |
+
|
| 53 |
+
<label>Ship200 Bulk Labels General information</label>
|
| 54 |
+
|
| 55 |
+
<frontend_type>text</frontend_type>
|
| 56 |
+
|
| 57 |
+
<sort_order>1</sort_order>
|
| 58 |
+
|
| 59 |
+
<show_in_default>1</show_in_default>
|
| 60 |
+
|
| 61 |
+
<show_in_website>1</show_in_website>
|
| 62 |
+
|
| 63 |
+
<show_in_store>1</show_in_store>
|
| 64 |
+
|
| 65 |
+
<fields>
|
| 66 |
+
|
| 67 |
+
<!--Here are the fields definition-->
|
| 68 |
+
|
| 69 |
+
<enable translate="label">
|
| 70 |
+
|
| 71 |
+
<label>Enable</label>
|
| 72 |
+
|
| 73 |
+
<frontend_type>select</frontend_type>
|
| 74 |
+
|
| 75 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 76 |
+
|
| 77 |
+
<sort_order>0</sort_order>
|
| 78 |
+
|
| 79 |
+
<show_in_default>1</show_in_default>
|
| 80 |
+
|
| 81 |
+
<show_in_website>1</show_in_website>
|
| 82 |
+
|
| 83 |
+
<show_in_store>1</show_in_store>
|
| 84 |
+
|
| 85 |
+
</enable>
|
| 86 |
+
<appkey translate="label">
|
| 87 |
+
|
| 88 |
+
<label>Ship200 Secret Key</label>
|
| 89 |
+
|
| 90 |
+
<frontend_type>text</frontend_type>
|
| 91 |
+
|
| 92 |
+
<sort_order>1</sort_order>
|
| 93 |
+
|
| 94 |
+
<show_in_default>1</show_in_default>
|
| 95 |
+
|
| 96 |
+
<show_in_website>1</show_in_website>
|
| 97 |
+
|
| 98 |
+
<show_in_store>1</show_in_store>
|
| 99 |
+
|
| 100 |
+
<comment><![CDATA[1. Login to your Ship200.com Account </br> 2. On Top Menu click "Bulk Processing", then "Add/Remove Store", then "Setup Import From Magento"
|
| 101 |
+
</br> 3. Copy/Paste secret key from Ship200 to "key" field above</br> 4. Change domain name to "your domain" <BR> in "Path to Ship200 Comunicator Script" Field, then hit Save Changes]]></comment>
|
| 102 |
+
|
| 103 |
+
</appkey>
|
| 104 |
+
|
| 105 |
+
<order_status_import translate="label">
|
| 106 |
+
|
| 107 |
+
<label>Order Status For Import</label>
|
| 108 |
+
|
| 109 |
+
<frontend_type>select</frontend_type>
|
| 110 |
+
|
| 111 |
+
<source_model>adminhtml/system_config_source_order_status</source_model>
|
| 112 |
+
|
| 113 |
+
<sort_order>2</sort_order>
|
| 114 |
+
|
| 115 |
+
<show_in_default>1</show_in_default>
|
| 116 |
+
|
| 117 |
+
<show_in_website>1</show_in_website>
|
| 118 |
+
|
| 119 |
+
<show_in_store>1</show_in_store>
|
| 120 |
+
|
| 121 |
+
</order_status_import>
|
| 122 |
+
|
| 123 |
+
|
| 124 |
+
<order_status_tracking translate="label">
|
| 125 |
+
|
| 126 |
+
<label>Order Status For Update With Tracking</label>
|
| 127 |
+
|
| 128 |
+
<frontend_type>select</frontend_type>
|
| 129 |
+
|
| 130 |
+
<source_model>adminhtml/system_config_source_order_status</source_model>
|
| 131 |
+
|
| 132 |
+
<sort_order>3</sort_order>
|
| 133 |
+
|
| 134 |
+
<show_in_default>1</show_in_default>
|
| 135 |
+
|
| 136 |
+
<show_in_website>1</show_in_website>
|
| 137 |
+
|
| 138 |
+
<show_in_store>1</show_in_store>
|
| 139 |
+
|
| 140 |
+
</order_status_tracking>
|
| 141 |
+
|
| 142 |
+
<!--<notify_customer translate="label">
|
| 143 |
+
|
| 144 |
+
<label>Notify Customer</label>
|
| 145 |
+
|
| 146 |
+
<frontend_type>select</frontend_type>
|
| 147 |
+
|
| 148 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 149 |
+
|
| 150 |
+
<sort_order>4</sort_order>
|
| 151 |
+
|
| 152 |
+
<show_in_default>1</show_in_default>
|
| 153 |
+
|
| 154 |
+
<show_in_website>1</show_in_website>
|
| 155 |
+
|
| 156 |
+
<show_in_store>1</show_in_store>
|
| 157 |
+
|
| 158 |
+
</notify_customer>
|
| 159 |
+
-->
|
| 160 |
+
|
| 161 |
+
|
| 162 |
+
|
| 163 |
+
|
| 164 |
+
<!--<carrier translate="label">
|
| 165 |
+
|
| 166 |
+
<label>Ship200 Carrier Service Codes</label>
|
| 167 |
+
|
| 168 |
+
<frontend_type>select</frontend_type>
|
| 169 |
+
|
| 170 |
+
<source_model>onebyone/source_carrier</source_model>
|
| 171 |
+
|
| 172 |
+
<sort_order>170</sort_order>
|
| 173 |
+
|
| 174 |
+
<show_in_default>1</show_in_default>
|
| 175 |
+
|
| 176 |
+
<show_in_website>1</show_in_website>
|
| 177 |
+
|
| 178 |
+
<show_in_store>1</show_in_store>
|
| 179 |
+
|
| 180 |
+
<comment><![CDATA[For Ship200 Carrier Service Codes]]></comment>
|
| 181 |
+
|
| 182 |
+
</carrier>-->
|
| 183 |
+
|
| 184 |
+
|
| 185 |
+
|
| 186 |
+
</fields>
|
| 187 |
+
|
| 188 |
+
</info>
|
| 189 |
+
|
| 190 |
+
</groups>
|
| 191 |
+
|
| 192 |
+
</bulk>
|
| 193 |
+
|
| 194 |
+
</sections>
|
| 195 |
+
|
| 196 |
+
</config>
|
app/etc/modules/Ship200_Bulk.xml
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
|
| 3 |
+
<config>
|
| 4 |
+
|
| 5 |
+
<modules>
|
| 6 |
+
|
| 7 |
+
<Ship200_Bulk>
|
| 8 |
+
|
| 9 |
+
<active>true</active>
|
| 10 |
+
|
| 11 |
+
<codePool>local</codePool>
|
| 12 |
+
|
| 13 |
+
</Ship200_Bulk>
|
| 14 |
+
|
| 15 |
+
</modules>
|
| 16 |
+
|
| 17 |
+
</config>
|
| 18 |
+
|
package.xml
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<package>
|
| 3 |
+
<name>ship200_bulk</name>
|
| 4 |
+
<version>1.0.0</version>
|
| 5 |
+
<stability>stable</stability>
|
| 6 |
+
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
|
| 7 |
+
<channel>community</channel>
|
| 8 |
+
<extends/>
|
| 9 |
+
<summary>Ship200 is Multi Carrier (Fedex, UPS, USPS) Shipping Software</summary>
|
| 10 |
+
<description>Ship200 is Multi Carrier (Fedex, UPS, USPS) Shipping Software which allows you to print shipping labels in bulk or individually and integrate process of creating labels directly into you Magento.
|
| 11 |
+
<br /><br />
|
| 12 |
+
This Plugin connects your Magento store to Ship200, and adds the ability to download new orders to Ship200 for creating shipping labels in bulk.
|
| 13 |
+
<br /><br />
|
| 14 |
+
Demo:
|
| 15 |
+
<a href="https://www.youtube.com/watch?v=rZdC1f1WIxU">https://www.youtube.com/watch?v=rZdC1f1WIxU</a>
|
| 16 |
+
<br /><br />
|
| 17 |
+
Visit Us at <a href="http://www.Ship200.com">www.Ship200.com</a></description>
|
| 18 |
+
<notes>nothing</notes>
|
| 19 |
+
<authors><author><name>Ship200</name><user>Ship200</user><email>bell@ship200.com</email></author></authors>
|
| 20 |
+
<date>2014-07-21</date>
|
| 21 |
+
<time>13:31:26</time>
|
| 22 |
+
<contents><target name="magelocal"><dir name="Ship200"><dir name="Bulk"><dir name="Helper"><file name="Data.php" hash="5501e6608f0a1cef651ae2a89cee1bcb"/></dir><dir name="controllers"><file name="IndexController.php" hash="dc987182ab3ad91767c3396cbcda6ac7"/></dir><dir name="etc"><file name="adminhtml.xml" hash="a3457b8da52d66fda1e386ed0d7ca078"/><file name="config.xml" hash="de37b7428ff1ef8a759a913a742f48a2"/><file name="system.xml" hash="9f6a029173997f8a69621913890fe487"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Ship200_Bulk.xml" hash="8d72455b0d5fd4b13d19a03e1ee70b89"/></dir></target></contents>
|
| 23 |
+
<compatible/>
|
| 24 |
+
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
| 25 |
+
</package>
|
