Version Notes
Added upgrade note
Download this release
Release Info
Developer | aftership |
Extension | aftership |
Version | 0.3.1 |
Comparing to | |
See all releases |
Code changes from version 0.3.0 to 0.3.1
- app/code/community/Aftership/Track/Model/Observer.php +59 -68
- app/code/community/Aftership/Track/etc/config.xml +1 -1
- app/code/community/Aftership/Track/etc/system.xml +35 -1
- app/code/community/Aftership/Track/sql/track_setup/{mysql4-install-0.2.9.php → mysql4-install-0.3.0.php} +0 -0
- app/code/community/Aftership/Track/sql/track_setup/{mysql4-upgrade-0.2.8-0.2.9.php → mysql4-upgrade-0.2.9-0.3.0.php} +0 -0
- package.xml +7 -7
app/code/community/Aftership/Track/Model/Observer.php
CHANGED
@@ -1,13 +1,11 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class Aftership_Track_Model_Observer
|
4 |
-
{
|
5 |
const ENDPOINT_TRACKING = 'https://api.aftership.com/v1/trackings';
|
6 |
const ENDPOINT_CONFIG = 'https://api.aftership.com/v1/users/authenticate';
|
7 |
|
8 |
|
9 |
-
public function salesOrderShipmentTrackSaveAfter(Varien_Event_Observer $observer)
|
10 |
-
{
|
11 |
ob_start();
|
12 |
|
13 |
$track = $observer->getEvent()->getTrack();
|
@@ -16,8 +14,12 @@ class Aftership_Track_Model_Observer
|
|
16 |
|
17 |
$website_id = Mage::getModel('core/store')->load($order_data['store_id'])->getWebsiteId();
|
18 |
|
19 |
-
|
20 |
-
|
|
|
|
|
|
|
|
|
21 |
|
22 |
$shipping_address_data = $track->getShipment()->getOrder()->getShippingAddress()->getData();
|
23 |
if (strlen(trim($track_data["track_number"])) > 0) {
|
@@ -69,24 +71,8 @@ class Aftership_Track_Model_Observer
|
|
69 |
$track->save();
|
70 |
}
|
71 |
|
72 |
-
/*
|
73 |
-
|
74 |
-
$scope = "websites";
|
75 |
-
$score_id = (int)Mage::getConfig()->getNode('websites/'.Mage::app()->getWebsite($website_id)->getCode().'/system/website/id');
|
76 |
-
|
77 |
-
var_dump($website_id);
|
78 |
-
var_dump($score_id);
|
79 |
-
|
80 |
-
$config = Mage::app()->getWebsite($website_id)->getConfig('aftership_options/messages');
|
81 |
-
echo '<pre>';
|
82 |
-
var_dump($config);
|
83 |
-
echo '</pre>';
|
84 |
-
|
85 |
-
die();
|
86 |
-
|
87 |
-
*/
|
88 |
-
|
89 |
if (array_key_exists("status", $config) && $config["status"]) {
|
|
|
90 |
$api_key = $config["api_key"];
|
91 |
|
92 |
$post_tracks = Mage::getModel('track/track')
|
@@ -107,7 +93,6 @@ class Aftership_Track_Model_Observer
|
|
107 |
$url_params["customer_name"] = $shipping_address_data["firstname"] . " " . $shipping_address_data['lastname'];
|
108 |
$url_params["source"] = "magento";
|
109 |
|
110 |
-
|
111 |
$url_params = http_build_query($url_params);
|
112 |
|
113 |
$ch = curl_init();
|
@@ -118,8 +103,10 @@ class Aftership_Track_Model_Observer
|
|
118 |
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
|
119 |
//curl_setopt($ch, CURLOPT_HEADER, 0);
|
120 |
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
121 |
-
|
122 |
-
//
|
|
|
|
|
123 |
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($url_params)));
|
124 |
|
125 |
$response = curl_exec($ch);
|
@@ -127,10 +114,11 @@ class Aftership_Track_Model_Observer
|
|
127 |
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
128 |
$error = curl_error($ch);
|
129 |
curl_close($ch);
|
|
|
130 |
$response_obj = json_decode($response, true);
|
131 |
|
132 |
-
|
133 |
-
{
|
134 |
$track_obj = Mage::getModel('track/track');
|
135 |
$track_obj->load($track["track_id"]);
|
136 |
$track_obj->setPosted(1);
|
@@ -174,6 +162,9 @@ class Aftership_Track_Model_Observer
|
|
174 |
curl_setopt($ch, CURLOPT_HEADER, 0);
|
175 |
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
176 |
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
|
|
|
|
|
|
177 |
|
178 |
$response = curl_exec($ch);
|
179 |
$error = curl_error($ch);
|
@@ -182,38 +173,30 @@ class Aftership_Track_Model_Observer
|
|
182 |
$response_obj = json_decode($response, true);
|
183 |
|
184 |
if ($http_status != "200" && $http_status != "401") {
|
185 |
-
//Mage::getModel('core/config')->saveConfig('aftership_options/messages/status', 0);
|
186 |
-
/*Mage::getModel('core/config_data')
|
187 |
-
->setScope($scope)
|
188 |
-
->setScopeId($score_id)
|
189 |
-
->setPath('aftership_options/messages/status')
|
190 |
-
->setValue(0)
|
191 |
-
->save();*/
|
192 |
Mage::throwException(Mage::helper('adminhtml')->__("Connection error, please try again later."));
|
193 |
} else {
|
194 |
-
if (!$response_obj["success"])
|
195 |
-
{
|
196 |
-
//Mage::getModel('core/config')->saveConfig('aftership_options/messages/status', 0);
|
197 |
-
/*Mage::getModel('core/config_data')
|
198 |
-
->setScope($scope)
|
199 |
-
->setScopeId($score_id)
|
200 |
-
->setPath('aftership_options/messages/status')
|
201 |
-
->setValue(0)
|
202 |
-
->save();*/
|
203 |
Mage::throwException(Mage::helper('adminhtml')->__("Incorrect API Key"));
|
204 |
}
|
205 |
}
|
206 |
}
|
207 |
}
|
208 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
/*
|
210 |
*
|
211 |
* Cron
|
212 |
*
|
213 |
*/
|
214 |
|
215 |
-
public function sendTracking($api_key, $tracking_number, $carrier_code, $telephone, $email, $title, $order_id, $customer_name)
|
216 |
-
{
|
217 |
//echo $tracking_number.', '.$telephone.', '.$email.', '.$title.', '.$order_id.', '.$customer_name;
|
218 |
|
219 |
//save to table
|
@@ -257,13 +240,14 @@ class Aftership_Track_Model_Observer
|
|
257 |
$ch = curl_init();
|
258 |
curl_setopt($ch, CURLOPT_URL, $url);
|
259 |
curl_setopt($ch, CURLOPT_POST, true);
|
260 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $url_params);
|
261 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
262 |
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
|
263 |
curl_setopt($ch, CURLOPT_HEADER, 0);
|
264 |
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
265 |
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); //the SSL is not correct
|
266 |
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //the SSL is not correct
|
|
|
267 |
|
268 |
$response = curl_exec($ch);
|
269 |
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
@@ -272,11 +256,8 @@ class Aftership_Track_Model_Observer
|
|
272 |
|
273 |
$response_obj = json_decode($response, true);
|
274 |
|
275 |
-
//
|
276 |
-
|
277 |
-
//save
|
278 |
-
if ($http_status == "201" || $http_status == "422") //422: repeated
|
279 |
-
{
|
280 |
Mage::getModel('track/track')
|
281 |
->load($track_id)
|
282 |
->setPosted(1)
|
@@ -284,8 +265,7 @@ class Aftership_Track_Model_Observer
|
|
284 |
}
|
285 |
}
|
286 |
|
287 |
-
public function cron()
|
288 |
-
{
|
289 |
|
290 |
set_time_limit(0);
|
291 |
|
@@ -295,13 +275,15 @@ class Aftership_Track_Model_Observer
|
|
295 |
|
296 |
//load website config
|
297 |
$website_config = array();
|
298 |
-
foreach (Mage::app()->getWebsites() as $website) {
|
299 |
-
$website_id = $website->getId();
|
300 |
-
$config = Mage::app()->getWebsite($website_id)->getConfig('aftership_options/messages');
|
301 |
-
$website_config[$website_id] = $config;
|
302 |
-
}
|
303 |
|
304 |
-
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
305 |
|
306 |
$from = '';
|
307 |
$to = '';
|
@@ -332,10 +314,9 @@ class Aftership_Track_Model_Observer
|
|
332 |
|
333 |
$store_id = $order_shipment->getStoreId();
|
334 |
|
|
|
335 |
if (isset($website_config[$store_id]['status']) && $website_config[$store_id]['status'] == 1 &&
|
336 |
-
isset($website_config[$store_id]['cron_job_enable']) && $website_config[$store_id]['cron_job_enable'] == 1
|
337 |
-
) //if website enabled
|
338 |
-
{
|
339 |
//check with existing as_track table and see if sent
|
340 |
$post_tracks = Mage::getModel('track/track')
|
341 |
->getCollection()
|
@@ -343,8 +324,8 @@ class Aftership_Track_Model_Observer
|
|
343 |
->addFieldToFilter('tracking_number', array('eq' => $track->getTrackNumber()))
|
344 |
->getData();
|
345 |
|
346 |
-
|
347 |
-
{
|
348 |
$order = $order_shipment->getOrder();
|
349 |
$shipping_address = $order->getShippingAddress();
|
350 |
|
@@ -361,8 +342,6 @@ class Aftership_Track_Model_Observer
|
|
361 |
}
|
362 |
}
|
363 |
|
364 |
-
//Mage::log(ob_get_clean());
|
365 |
-
|
366 |
//update time ONLY if success
|
367 |
Mage::getModel('core/config')->saveConfig('aftership_options/messages/last_update', time());
|
368 |
|
@@ -377,7 +356,19 @@ class Aftership_Track_Model_Observer
|
|
377 |
->setPath('aftership_options/messages/last_update')
|
378 |
->setValue(time())
|
379 |
->save();
|
380 |
-
|
381 |
}
|
382 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
383 |
}
|
1 |
<?php
|
2 |
|
3 |
+
class Aftership_Track_Model_Observer {
|
|
|
4 |
const ENDPOINT_TRACKING = 'https://api.aftership.com/v1/trackings';
|
5 |
const ENDPOINT_CONFIG = 'https://api.aftership.com/v1/users/authenticate';
|
6 |
|
7 |
|
8 |
+
public function salesOrderShipmentTrackSaveAfter(Varien_Event_Observer $observer) {
|
|
|
9 |
ob_start();
|
10 |
|
11 |
$track = $observer->getEvent()->getTrack();
|
14 |
|
15 |
$website_id = Mage::getModel('core/store')->load($order_data['store_id'])->getWebsiteId();
|
16 |
|
17 |
+
//if only 1 store, get the default
|
18 |
+
if (count(Mage::app()->getWebsites()) == 1) {
|
19 |
+
$config = $this->getDefaultConfig();
|
20 |
+
} else {
|
21 |
+
$config = $this->getConfigByWebsiteId($website_id);
|
22 |
+
}
|
23 |
|
24 |
$shipping_address_data = $track->getShipment()->getOrder()->getShippingAddress()->getData();
|
25 |
if (strlen(trim($track_data["track_number"])) > 0) {
|
71 |
$track->save();
|
72 |
}
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
if (array_key_exists("status", $config) && $config["status"]) {
|
75 |
+
|
76 |
$api_key = $config["api_key"];
|
77 |
|
78 |
$post_tracks = Mage::getModel('track/track')
|
93 |
$url_params["customer_name"] = $shipping_address_data["firstname"] . " " . $shipping_address_data['lastname'];
|
94 |
$url_params["source"] = "magento";
|
95 |
|
|
|
96 |
$url_params = http_build_query($url_params);
|
97 |
|
98 |
$ch = curl_init();
|
103 |
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
|
104 |
//curl_setopt($ch, CURLOPT_HEADER, 0);
|
105 |
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
106 |
+
|
107 |
+
//handle SSL certificate problem: unable to get local issuer certificate issue
|
108 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); //the SSL is not correct
|
109 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //the SSL is not correct
|
110 |
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($url_params)));
|
111 |
|
112 |
$response = curl_exec($ch);
|
114 |
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
115 |
$error = curl_error($ch);
|
116 |
curl_close($ch);
|
117 |
+
|
118 |
$response_obj = json_decode($response, true);
|
119 |
|
120 |
+
//422: repeated
|
121 |
+
if ($http_status == "201" || $http_status == "422") {
|
122 |
$track_obj = Mage::getModel('track/track');
|
123 |
$track_obj->load($track["track_id"]);
|
124 |
$track_obj->setPosted(1);
|
162 |
curl_setopt($ch, CURLOPT_HEADER, 0);
|
163 |
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
164 |
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
165 |
+
//handle SSL certificate problem: unable to get local issuer certificate issue
|
166 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); //the SSL is not correct
|
167 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //the SSL is not correct
|
168 |
|
169 |
$response = curl_exec($ch);
|
170 |
$error = curl_error($ch);
|
173 |
$response_obj = json_decode($response, true);
|
174 |
|
175 |
if ($http_status != "200" && $http_status != "401") {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
Mage::throwException(Mage::helper('adminhtml')->__("Connection error, please try again later."));
|
177 |
} else {
|
178 |
+
if (!$response_obj["success"]) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
Mage::throwException(Mage::helper('adminhtml')->__("Incorrect API Key"));
|
180 |
}
|
181 |
}
|
182 |
}
|
183 |
}
|
184 |
|
185 |
+
/*Mage::getModel('core/config')->saveConfig('aftership_options/messages/status', 0);
|
186 |
+
Mage::getModel('core/config_data')
|
187 |
+
->setScope($scope)
|
188 |
+
->setScopeId($score_id)
|
189 |
+
->setPath('aftership_options/messages/status')
|
190 |
+
->setValue(0)
|
191 |
+
->save();*/
|
192 |
+
|
193 |
/*
|
194 |
*
|
195 |
* Cron
|
196 |
*
|
197 |
*/
|
198 |
|
199 |
+
public function sendTracking($api_key, $tracking_number, $carrier_code, $telephone, $email, $title, $order_id, $customer_name) {
|
|
|
200 |
//echo $tracking_number.', '.$telephone.', '.$email.', '.$title.', '.$order_id.', '.$customer_name;
|
201 |
|
202 |
//save to table
|
240 |
$ch = curl_init();
|
241 |
curl_setopt($ch, CURLOPT_URL, $url);
|
242 |
curl_setopt($ch, CURLOPT_POST, true);
|
243 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($url_params));
|
244 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
245 |
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
|
246 |
curl_setopt($ch, CURLOPT_HEADER, 0);
|
247 |
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
248 |
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); //the SSL is not correct
|
249 |
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //the SSL is not correct
|
250 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($url_params)));
|
251 |
|
252 |
$response = curl_exec($ch);
|
253 |
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
256 |
|
257 |
$response_obj = json_decode($response, true);
|
258 |
|
259 |
+
//save, 422: repeated
|
260 |
+
if ($http_status == "201" || $http_status == "422") {
|
|
|
|
|
|
|
261 |
Mage::getModel('track/track')
|
262 |
->load($track_id)
|
263 |
->setPosted(1)
|
265 |
}
|
266 |
}
|
267 |
|
268 |
+
public function cron() {
|
|
|
269 |
|
270 |
set_time_limit(0);
|
271 |
|
275 |
|
276 |
//load website config
|
277 |
$website_config = array();
|
|
|
|
|
|
|
|
|
|
|
278 |
|
279 |
+
//if there if only 1 store
|
280 |
+
if (count(Mage::app()->getWebsites()) == 1) {
|
281 |
+
$website_config[1] = $this->getDefaultConfig();
|
282 |
+
} else {
|
283 |
+
foreach (Mage::app()->getWebsites() as $website) {
|
284 |
+
$website_config[$website->getId()] = $this->getConfigByWebsiteId($website->getId());
|
285 |
+
}
|
286 |
+
}
|
287 |
|
288 |
$from = '';
|
289 |
$to = '';
|
314 |
|
315 |
$store_id = $order_shipment->getStoreId();
|
316 |
|
317 |
+
//if website enabled
|
318 |
if (isset($website_config[$store_id]['status']) && $website_config[$store_id]['status'] == 1 &&
|
319 |
+
isset($website_config[$store_id]['cron_job_enable']) && $website_config[$store_id]['cron_job_enable'] == 1) {
|
|
|
|
|
320 |
//check with existing as_track table and see if sent
|
321 |
$post_tracks = Mage::getModel('track/track')
|
322 |
->getCollection()
|
324 |
->addFieldToFilter('tracking_number', array('eq' => $track->getTrackNumber()))
|
325 |
->getData();
|
326 |
|
327 |
+
//if not sent
|
328 |
+
if (count($post_tracks) == 0) {
|
329 |
$order = $order_shipment->getOrder();
|
330 |
$shipping_address = $order->getShippingAddress();
|
331 |
|
342 |
}
|
343 |
}
|
344 |
|
|
|
|
|
345 |
//update time ONLY if success
|
346 |
Mage::getModel('core/config')->saveConfig('aftership_options/messages/last_update', time());
|
347 |
|
356 |
->setPath('aftership_options/messages/last_update')
|
357 |
->setValue(time())
|
358 |
->save();
|
|
|
359 |
}
|
360 |
}
|
361 |
+
|
362 |
+
private function getDefaultConfig() {
|
363 |
+
return Mage::getStoreConfig('aftership_options/messages');
|
364 |
+
}
|
365 |
+
|
366 |
+
private function getConfigByWebsiteId($website_id) {
|
367 |
+
$config_obj = Mage::app()->getWebsite($website_id)->getConfig('aftership_options');
|
368 |
+
$config = array();
|
369 |
+
$config['api_key'] = $config_obj['messages']->api_key.'';
|
370 |
+
$config['status'] = $config_obj['messages']->status.'';
|
371 |
+
$config['cron_job_enable'] = $config_obj['messages']->cron_job_enable.'';
|
372 |
+
return $config;
|
373 |
+
}
|
374 |
}
|
app/code/community/Aftership/Track/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Aftership_Track>
|
5 |
-
<version>0.3.
|
6 |
</Aftership_Track>
|
7 |
</modules>
|
8 |
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Aftership_Track>
|
5 |
+
<version>0.3.1</version>
|
6 |
</Aftership_Track>
|
7 |
</modules>
|
8 |
|
app/code/community/Aftership/Track/etc/system.xml
CHANGED
@@ -25,7 +25,7 @@
|
|
25 |
<show_in_store>1</show_in_store>
|
26 |
<fields>
|
27 |
<api_key>
|
28 |
-
<label>API key</label>
|
29 |
<frontend_type>text</frontend_type>
|
30 |
<sort_order>10</sort_order>
|
31 |
<show_in_default>1</show_in_default>
|
@@ -68,6 +68,40 @@
|
|
68 |
<show_in_website>0</show_in_website>
|
69 |
<show_in_store>0</show_in_store>
|
70 |
</last_update>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
<!--<notification>
|
72 |
<label>Notification</label>
|
73 |
<frontend_type>Multiselect</frontend_type>
|
25 |
<show_in_store>1</show_in_store>
|
26 |
<fields>
|
27 |
<api_key>
|
28 |
+
<label>AfterShip API key</label>
|
29 |
<frontend_type>text</frontend_type>
|
30 |
<sort_order>10</sort_order>
|
31 |
<show_in_default>1</show_in_default>
|
68 |
<show_in_website>0</show_in_website>
|
69 |
<show_in_store>0</show_in_store>
|
70 |
</last_update>
|
71 |
+
<upgrade_note>
|
72 |
+
<label><![CDATA[<strong>Option 1 - Recommended</strong>]]></label>
|
73 |
+
<frontend_type>note</frontend_type>
|
74 |
+
<sort_order>0</sort_order>
|
75 |
+
<show_in_default>1</show_in_default>
|
76 |
+
<show_in_website>1</show_in_website>
|
77 |
+
<show_in_store>0</show_in_store>
|
78 |
+
<comment>
|
79 |
+
<![CDATA[
|
80 |
+
|
81 |
+
<ol>
|
82 |
+
<li style="margin-bottom:10px !important;">1. <a href="https://www.aftership.com/signup" target="_blank">Sign up AfterShip account</a> for FREE</li>
|
83 |
+
<li style="margin-bottom:10px !important;">2. Go to <a href="https://www.aftership.com/apps/magento-v2" target="_blank">“apps”</a> and add “Magento Connector v2”</li>
|
84 |
+
<li style="margin-bottom:10px !important;">3. Add a SOAP/XML-RPC web services user in Magento admin page, using a role with all resources accessible.</li>
|
85 |
+
<li style="margin-bottom:10px !important;">4. Input your Magento version, store domain, username, API key and Store ID (optional), and click connect.</li>
|
86 |
+
<li>5. AfterShip will automatically import shipments created at Magento every 3 hours.</li>
|
87 |
+
</ol>
|
88 |
+
]]>
|
89 |
+
|
90 |
+
</comment>
|
91 |
+
</upgrade_note>
|
92 |
+
<upgrade_note2>
|
93 |
+
<label><![CDATA[<strong>Option 2</strong>]]></label>
|
94 |
+
<frontend_type>note</frontend_type>
|
95 |
+
<sort_order>1</sort_order>
|
96 |
+
<show_in_default>1</show_in_default>
|
97 |
+
<show_in_website>1</show_in_website>
|
98 |
+
<show_in_store>0</show_in_store>
|
99 |
+
<comment>
|
100 |
+
<![CDATA[
|
101 |
+
(In case Option 1 does not work)
|
102 |
+
]]>
|
103 |
+
</comment>
|
104 |
+
</upgrade_note2>
|
105 |
<!--<notification>
|
106 |
<label>Notification</label>
|
107 |
<frontend_type>Multiselect</frontend_type>
|
app/code/community/Aftership/Track/sql/track_setup/{mysql4-install-0.2.9.php → mysql4-install-0.3.0.php}
RENAMED
File without changes
|
app/code/community/Aftership/Track/sql/track_setup/{mysql4-upgrade-0.2.8-0.2.9.php → mysql4-upgrade-0.2.9-0.3.0.php}
RENAMED
File without changes
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>aftership</name>
|
4 |
-
<version>0.3.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/gpl-license.php">GPL</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
-
<summary>AfterShip magento extension interface. Tracking number will be added to the aftership.com <https://www.aftership.com/>
|
10 |
<description>Users can simply link their online stores to Aftership and view all packages in one place. Online stores can also automatically inform their customers of the latest delivery status through SMS, email and Twitter. All the messages are white-labeled and can be customized for any marketing opportunities. Aftership also provides online stores a reporting tool so that they can easily find out any shipping problems like delayed delivery and solve immediately. Aftership currently supports over 40 shipping companies worldwide.</description>
|
11 |
-
<notes>
|
12 |
<authors><author><name>aftership</name><user>aftership</user><email>support@aftership.com</email></author></authors>
|
13 |
-
<date>2013-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magecommunity"><dir name="Aftership"><dir name="Track"><dir name="Helper"><file name="Data.php" hash="854baf793cb348f80c94703b585691b9"/></dir><dir name="Model"><file name="FrequencyWords.php" hash="91aad25bcba1c0f8433ab0f297f50614"/><file name="Methods.php" hash="ee6ccd73ab94405e8b0ab4a59990a0fa"/><dir name="Mysql4"><dir name="Track"><file name="Collection.php" hash="b359845af660063396556b37920675ad"/></dir><file name="Track.php" hash="e7799ea4fef0ff7e4217ae0d3a3ed50e"/></dir><file name="Observer.php" hash="
|
16 |
<compatible/>
|
17 |
-
<dependencies><required><php><min>5.2.13</min><max>5.5.
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>aftership</name>
|
4 |
+
<version>0.3.1</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/gpl-license.php">GPL</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
+
<summary>AfterShip magento extension interface. Tracking number will be added to the aftership.com <https://www.aftership.com/> account at the same time when input in magento shipment. Please go to aftership.com <https://www.aftership.com/> to change the notification setting and value.</summary>
|
10 |
<description>Users can simply link their online stores to Aftership and view all packages in one place. Online stores can also automatically inform their customers of the latest delivery status through SMS, email and Twitter. All the messages are white-labeled and can be customized for any marketing opportunities. Aftership also provides online stores a reporting tool so that they can easily find out any shipping problems like delayed delivery and solve immediately. Aftership currently supports over 40 shipping companies worldwide.</description>
|
11 |
+
<notes>Added upgrade note</notes>
|
12 |
<authors><author><name>aftership</name><user>aftership</user><email>support@aftership.com</email></author></authors>
|
13 |
+
<date>2013-09-26</date>
|
14 |
+
<time>08:10:46</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="Aftership"><dir name="Track"><dir name="Helper"><file name="Data.php" hash="854baf793cb348f80c94703b585691b9"/></dir><dir name="Model"><file name="FrequencyWords.php" hash="91aad25bcba1c0f8433ab0f297f50614"/><file name="Methods.php" hash="ee6ccd73ab94405e8b0ab4a59990a0fa"/><dir name="Mysql4"><dir name="Track"><file name="Collection.php" hash="b359845af660063396556b37920675ad"/></dir><file name="Track.php" hash="e7799ea4fef0ff7e4217ae0d3a3ed50e"/></dir><file name="Observer.php" hash="b8b756896cb8e59c449c94001b1e6aec"/><dir name="Resource"><dir name="Mysql4"><file name="Setup.php" hash="9a1fee597d5f7219cd3f68f38bb1ed97"/></dir></dir><file name="Track.php" hash="61bae429d01ace637296e11994203fe5"/><file name="Words.php" hash="40d412b8ea57998ae6429219b14709db"/></dir><dir name="controllers"><file name="IndexController.php" hash="7f5c1ae52f625152ca3e9ffe15a93028"/></dir><dir name="etc"><file name="adminhtml.xml" hash="cadc113478c285edf9f43c7506f6ba89"/><file name="config.xml" hash="cacc995b0edbc9d69bf6f64c1a0303d6"/><file name="system.xml" hash="bfd83204df3be87132971d15fbef8607"/></dir><dir name="sql"><dir name="track_setup"><file name="mysql4-install-0.3.0.php" hash="7639b6303191813f78441a6d7297e0d1"/><file name="mysql4-upgrade-0.2.9-0.3.0.php" hash="7639b6303191813f78441a6d7297e0d1"/></dir></dir></dir></dir></target><target name="mage"><dir name="app"><dir name="etc"><dir name="modules"><file name="Aftership_Track.xml" hash="25367ce0ec0484973a73e5548199dea0"/></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="aftership"><dir name="css"><file name="style.css" hash="bd5df03e68aa767303eb392df394ce52"/></dir><dir name="images"><file name="logo.png" hash="3e8d8f9d5e1747c18fcd1a810ddc5f2a"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name=".DS_Store" hash="e8931b980e8ec084f41ef4f99eeef0c3"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="aftership.xml" hash="263c8bb1e2ba9acbf017a2a44fb11439"/></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
+
<dependencies><required><php><min>5.2.13</min><max>5.5.2</max></php></required></dependencies>
|
18 |
</package>
|