Version Notes
More reliable way to track orders and product metadata.
Download this release
Release Info
Developer | Roeland van Oostenbrugge |
Extension | Converdo_Analytics |
Version | 2.1.5.57 |
Comparing to | |
See all releases |
Code changes from version 2.1.5.56 to 2.1.5.57
- app/code/community/Converdo/Common/API/ConverdoAPI.php +11 -0
- app/code/community/Converdo/Common/API/ConverdoClient.php +42 -24
- app/code/community/Converdo/Common/API/Factories/OrderFactory.php +1 -1
- app/code/community/Converdo/Common/API/Requests.php +15 -14
- app/code/community/Converdo/Common/API/Sections/SetupAPI.php +20 -0
- app/code/community/Converdo/Common/Config/Configuration.php +12 -1
- app/code/community/Converdo/Common/Controllers/PingController.php +5 -8
- app/code/community/Converdo/Common/Query/Managers/QueryManager.php +1 -1
- app/code/community/Converdo/Common/Query/Managers/QueryMetadata.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/AbstractQuery.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/AddEcommerceItem.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/CategoryView.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/CustomVariable.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/EcommerceView.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/EnableHeartBeatTimer.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/EnableLinkTracking.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/SiteId.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/TrackEcommerceCart.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/TrackPageView.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/TrackSiteSearch.php +1 -1
- app/code/community/Converdo/Common/Query/Queries/TrackerUrl.php +1 -1
- app/code/community/Converdo/Common/Support/ListensToOrders.php +60 -0
- app/code/community/Converdo/Common/autoload.php +67 -86
- app/code/community/Converdo/Common/bootstrap.php +0 -2
- app/code/community/Converdo/Common/config.php +1 -0
- app/code/community/Converdo/Magento/Block/Tracker.php +1 -1
- app/code/community/Converdo/Magento/Factories/EcommerceItemFactory.php +3 -1
- app/code/community/Converdo/Magento/Model/Observer.php +28 -18
- app/code/community/Converdo/Magento/etc/config.xml +1 -1
- package.xml +4 -4
app/code/community/Converdo/Common/API/ConverdoAPI.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
namespace Converdo\Common\API;
|
4 |
|
5 |
use Converdo\Common\API\Sections\ConverdoOrderAPI;
|
|
|
6 |
|
7 |
class ConverdoAPI
|
8 |
{
|
@@ -15,4 +16,14 @@ class ConverdoAPI
|
|
15 |
{
|
16 |
return new ConverdoOrderAPI();
|
17 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
}
|
3 |
namespace Converdo\Common\API;
|
4 |
|
5 |
use Converdo\Common\API\Sections\ConverdoOrderAPI;
|
6 |
+
use Converdo\Common\API\Sections\SetupAPI;
|
7 |
|
8 |
class ConverdoAPI
|
9 |
{
|
16 |
{
|
17 |
return new ConverdoOrderAPI();
|
18 |
}
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns a new SetupAPI instance.
|
22 |
+
*
|
23 |
+
* @return SetupAPI
|
24 |
+
*/
|
25 |
+
public static function setup()
|
26 |
+
{
|
27 |
+
return new SetupAPI();
|
28 |
+
}
|
29 |
}
|
app/code/community/Converdo/Common/API/ConverdoClient.php
CHANGED
@@ -108,49 +108,67 @@ class ConverdoClient
|
|
108 |
/**
|
109 |
* Builds the URL for the request.
|
110 |
*
|
|
|
111 |
* @return string
|
112 |
*/
|
113 |
-
protected function buildUrl()
|
114 |
{
|
115 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
"index.php?" .
|
117 |
-
http_build_query(
|
118 |
-
'module' => 'API',
|
119 |
-
'method' => $this->module,
|
120 |
-
'idSite' => cvd_config()->platform()->website(),
|
121 |
-
'token_auth' => cvd_config()->platform()->user(),
|
122 |
-
'format' => 'json',
|
123 |
-
])
|
124 |
);
|
125 |
}
|
126 |
|
127 |
/**
|
128 |
* Posts the data to the API.
|
129 |
*
|
|
|
130 |
* @return bool
|
131 |
*/
|
132 |
public function post()
|
133 |
{
|
134 |
-
|
135 |
-
|
136 |
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
142 |
|
143 |
-
|
|
|
|
|
144 |
|
145 |
-
|
146 |
-
|
147 |
-
|
|
|
|
|
148 |
|
149 |
-
|
150 |
-
|
151 |
-
cvd_logger()->error("Could not connect to API with message: {$e->getMessage()}");
|
152 |
}
|
153 |
|
154 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
}
|
156 |
}
|
108 |
/**
|
109 |
* Builds the URL for the request.
|
110 |
*
|
111 |
+
* @param string $method
|
112 |
* @return string
|
113 |
*/
|
114 |
+
protected function buildUrl($method = 'GET')
|
115 |
{
|
116 |
+
$parameters = [
|
117 |
+
'module' => 'API',
|
118 |
+
'method' => $this->module,
|
119 |
+
'idSite' => cvd_config()->platform()->website(),
|
120 |
+
'token_auth' => cvd_config()->platform()->user(),
|
121 |
+
'format' => 'json',
|
122 |
+
];
|
123 |
+
|
124 |
+
if ($method === 'GET') {
|
125 |
+
$parameters = $parameters + $this->getParameters();
|
126 |
+
}
|
127 |
+
|
128 |
+
return cvd_config()->protocol() . ':' . cvd_config()->url(
|
129 |
"index.php?" .
|
130 |
+
http_build_query($parameters)
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
);
|
132 |
}
|
133 |
|
134 |
/**
|
135 |
* Posts the data to the API.
|
136 |
*
|
137 |
+
* @throws Exception
|
138 |
* @return bool
|
139 |
*/
|
140 |
public function post()
|
141 |
{
|
142 |
+
return $this->request('POST');
|
143 |
+
}
|
144 |
|
145 |
+
public function get()
|
146 |
+
{
|
147 |
+
return $this->request('GET');
|
148 |
+
}
|
|
|
149 |
|
150 |
+
public function request($method = 'GET')
|
151 |
+
{
|
152 |
+
$ch = curl_init($this->buildUrl($method));
|
153 |
|
154 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
155 |
+
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, strtoupper($method));
|
156 |
+
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '/resources/api_cert_chain.pem');
|
157 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
158 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
159 |
|
160 |
+
if ($method === 'POST') {
|
161 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->getParameters());
|
|
|
162 |
}
|
163 |
|
164 |
+
$response = curl_exec($ch);
|
165 |
+
|
166 |
+
if ($response === FALSE) {
|
167 |
+
throw new Exception(curl_error($ch));
|
168 |
+
}
|
169 |
+
|
170 |
+
curl_close($ch);
|
171 |
+
|
172 |
+
return trim($response);
|
173 |
}
|
174 |
}
|
app/code/community/Converdo/Common/API/Factories/OrderFactory.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace Converdo\Common\
|
4 |
|
5 |
use Converdo\Common\API\Models\Contracts\OrderInterface;
|
6 |
use Converdo\Common\API\Models\Order;
|
1 |
<?php
|
2 |
|
3 |
+
namespace Converdo\Common\API\Factories;
|
4 |
|
5 |
use Converdo\Common\API\Models\Contracts\OrderInterface;
|
6 |
use Converdo\Common\API\Models\Order;
|
app/code/community/Converdo/Common/API/Requests.php
CHANGED
@@ -4,7 +4,6 @@ namespace Converdo\Common\API;
|
|
4 |
|
5 |
use Converdo\Common\API\Models\Contracts\OrderInterface;
|
6 |
use Converdo\Common\Cookie\Managers\CookieManager;
|
7 |
-
use Exception;
|
8 |
|
9 |
class Requests
|
10 |
{
|
@@ -16,15 +15,11 @@ class Requests
|
|
16 |
*/
|
17 |
public static function orderCreate(OrderInterface $order)
|
18 |
{
|
19 |
-
|
20 |
-
(new ConverdoAPI())->order()->create($order);
|
21 |
|
22 |
-
|
23 |
|
24 |
-
|
25 |
-
} catch (Exception $e) {
|
26 |
-
cvd_logger()->error($e->getMessage());
|
27 |
-
}
|
28 |
|
29 |
return true;
|
30 |
}
|
@@ -37,14 +32,20 @@ class Requests
|
|
37 |
*/
|
38 |
public static function orderStatusUpdate(OrderInterface $order)
|
39 |
{
|
40 |
-
|
41 |
-
(new ConverdoAPI())->order()->modifyStatus($order);
|
42 |
|
43 |
-
|
44 |
-
} catch (Exception $e) {
|
45 |
-
cvd_logger()->error($e->getMessage());
|
46 |
-
}
|
47 |
|
48 |
return true;
|
49 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
}
|
4 |
|
5 |
use Converdo\Common\API\Models\Contracts\OrderInterface;
|
6 |
use Converdo\Common\Cookie\Managers\CookieManager;
|
|
|
7 |
|
8 |
class Requests
|
9 |
{
|
15 |
*/
|
16 |
public static function orderCreate(OrderInterface $order)
|
17 |
{
|
18 |
+
cvd_logger()->info("Order [#{$order->getOrderId()}] was created in the webshop.");
|
|
|
19 |
|
20 |
+
(new ConverdoAPI())->order()->create($order);
|
21 |
|
22 |
+
CookieManager::logEcommerce();
|
|
|
|
|
|
|
23 |
|
24 |
return true;
|
25 |
}
|
32 |
*/
|
33 |
public static function orderStatusUpdate(OrderInterface $order)
|
34 |
{
|
35 |
+
cvd_logger()->info("Order [#{$order->getOrderId()}] status changed to [{$order->getStatus()}] in the webshop.");
|
|
|
36 |
|
37 |
+
(new ConverdoAPI())->order()->modifyStatus($order);
|
|
|
|
|
|
|
38 |
|
39 |
return true;
|
40 |
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Retrieves the website configuration.
|
44 |
+
*
|
45 |
+
* @return string
|
46 |
+
*/
|
47 |
+
public static function configuration()
|
48 |
+
{
|
49 |
+
return (new ConverdoAPI())->setup()->configuration();
|
50 |
+
}
|
51 |
}
|
app/code/community/Converdo/Common/API/Sections/SetupAPI.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Converdo\Common\API\Sections;
|
4 |
+
|
5 |
+
use Converdo\Common\API\ConverdoClient;
|
6 |
+
|
7 |
+
class SetupAPI
|
8 |
+
{
|
9 |
+
/**
|
10 |
+
* Retrieve the website configuration.
|
11 |
+
*
|
12 |
+
* @return bool
|
13 |
+
*/
|
14 |
+
public function configuration()
|
15 |
+
{
|
16 |
+
return (new ConverdoClient())
|
17 |
+
->setModule('ConverdoSiteManager.configurationCVD')
|
18 |
+
->get();
|
19 |
+
}
|
20 |
+
}
|
app/code/community/Converdo/Common/Config/Configuration.php
CHANGED
@@ -13,7 +13,7 @@ class Configuration
|
|
13 |
*
|
14 |
* @var string
|
15 |
*/
|
16 |
-
const VERSION = '2.1.5.
|
17 |
|
18 |
/**
|
19 |
* The Converdo Analytics URL.
|
@@ -123,6 +123,17 @@ class Configuration
|
|
123 |
return $this->platform;
|
124 |
}
|
125 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
protected function resolveBindings()
|
127 |
{
|
128 |
cvd_app()->bindArray($this->platform()->bindings());
|
13 |
*
|
14 |
* @var string
|
15 |
*/
|
16 |
+
const VERSION = '2.1.5.57';
|
17 |
|
18 |
/**
|
19 |
* The Converdo Analytics URL.
|
123 |
return $this->platform;
|
124 |
}
|
125 |
|
126 |
+
/**
|
127 |
+
* Returns the protocol to use for API requests.
|
128 |
+
*
|
129 |
+
* @return string
|
130 |
+
*/
|
131 |
+
public function protocol()
|
132 |
+
{
|
133 |
+
return $this->environment['protocol'];
|
134 |
+
}
|
135 |
+
|
136 |
+
|
137 |
protected function resolveBindings()
|
138 |
{
|
139 |
cvd_app()->bindArray($this->platform()->bindings());
|
app/code/community/Converdo/Common/Controllers/PingController.php
CHANGED
@@ -4,6 +4,7 @@ namespace Converdo\Common\Controllers;
|
|
4 |
|
5 |
use Converdo\Common\Response\JsonResponse;
|
6 |
use Converdo\Common\Support\UsesInput;
|
|
|
7 |
|
8 |
class PingController extends JsonResponse
|
9 |
{
|
@@ -67,17 +68,13 @@ class PingController extends JsonResponse
|
|
67 |
$website = cvd_config()->platform()->website();
|
68 |
$user = cvd_config()->platform()->user();
|
69 |
|
70 |
-
$api =
|
71 |
-
$api = json_decode($api);
|
72 |
|
73 |
-
|
74 |
-
return null;
|
75 |
-
}
|
76 |
-
|
77 |
-
$tokens = json_decode(cvd_config()->crypt()->decrypt($api->tokens), true);
|
78 |
|
79 |
$validSite = $tokens['site'] === $website;
|
80 |
-
$validUser = $tokens['user']
|
81 |
$validEncryption = $tokens['encryption'] === cvd_config()->platform()->encryption();
|
82 |
|
83 |
return [
|
4 |
|
5 |
use Converdo\Common\Response\JsonResponse;
|
6 |
use Converdo\Common\Support\UsesInput;
|
7 |
+
use Converdo\Common\API\Requests;
|
8 |
|
9 |
class PingController extends JsonResponse
|
10 |
{
|
68 |
$website = cvd_config()->platform()->website();
|
69 |
$user = cvd_config()->platform()->user();
|
70 |
|
71 |
+
$api = Requests::configuration();
|
72 |
+
$api = json_decode($api, true)[0];
|
73 |
|
74 |
+
$tokens = json_decode(cvd_config()->crypt()->decrypt($api['tokens']), true);
|
|
|
|
|
|
|
|
|
75 |
|
76 |
$validSite = $tokens['site'] === $website;
|
77 |
+
$validUser = in_array($user, $tokens['user']);
|
78 |
$validEncryption = $tokens['encryption'] === cvd_config()->platform()->encryption();
|
79 |
|
80 |
return [
|
app/code/community/Converdo/Common/Query/Managers/QueryManager.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace Converdo\Common\Managers;
|
4 |
|
5 |
use Converdo\Common\Query\Queries\Contracts\QueryInterface;
|
6 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace Converdo\Common\Query\Managers;
|
4 |
|
5 |
use Converdo\Common\Query\Queries\Contracts\QueryInterface;
|
6 |
|
app/code/community/Converdo/Common/Query/Managers/QueryMetadata.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace Converdo\Common\Managers;
|
4 |
|
5 |
use Converdo\Common\Support\HasParameters;
|
6 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace Converdo\Common\Query\Managers;
|
4 |
|
5 |
use Converdo\Common\Support\HasParameters;
|
6 |
|
app/code/community/Converdo/Common/Query/Queries/AbstractQuery.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryMetadata;
|
6 |
use Converdo\Common\Query\Queries\Contracts\QueryInterface;
|
7 |
use Converdo\Common\Support\HasParameters;
|
8 |
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryMetadata;
|
6 |
use Converdo\Common\Query\Queries\Contracts\QueryInterface;
|
7 |
use Converdo\Common\Support\HasParameters;
|
8 |
|
app/code/community/Converdo/Common/Query/Queries/AddEcommerceItem.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
|
7 |
class AddEcommerceItem extends AbstractQuery
|
8 |
{
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
|
7 |
class AddEcommerceItem extends AbstractQuery
|
8 |
{
|
app/code/community/Converdo/Common/Query/Queries/CategoryView.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
|
7 |
class CategoryView extends AbstractQuery
|
8 |
{
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
|
7 |
class CategoryView extends AbstractQuery
|
8 |
{
|
app/code/community/Converdo/Common/Query/Queries/CustomVariable.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
|
7 |
class CustomVariable extends AbstractQuery
|
8 |
{
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
|
7 |
class CustomVariable extends AbstractQuery
|
8 |
{
|
app/code/community/Converdo/Common/Query/Queries/EcommerceView.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
|
7 |
class EcommerceView extends AbstractQuery
|
8 |
{
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
|
7 |
class EcommerceView extends AbstractQuery
|
8 |
{
|
app/code/community/Converdo/Common/Query/Queries/EnableHeartBeatTimer.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
|
7 |
class EnableHeartBeatTimer extends AbstractQuery
|
8 |
{
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
|
7 |
class EnableHeartBeatTimer extends AbstractQuery
|
8 |
{
|
app/code/community/Converdo/Common/Query/Queries/EnableLinkTracking.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
|
7 |
class EnableLinkTracking extends AbstractQuery
|
8 |
{
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
|
7 |
class EnableLinkTracking extends AbstractQuery
|
8 |
{
|
app/code/community/Converdo/Common/Query/Queries/SiteId.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
|
7 |
class SiteId extends AbstractQuery
|
8 |
{
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
|
7 |
class SiteId extends AbstractQuery
|
8 |
{
|
app/code/community/Converdo/Common/Query/Queries/TrackEcommerceCart.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
|
7 |
class TrackEcommerceCart extends AbstractQuery
|
8 |
{
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
|
7 |
class TrackEcommerceCart extends AbstractQuery
|
8 |
{
|
app/code/community/Converdo/Common/Query/Queries/TrackPageView.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
|
7 |
class TrackPageView extends AbstractQuery
|
8 |
{
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
|
7 |
class TrackPageView extends AbstractQuery
|
8 |
{
|
app/code/community/Converdo/Common/Query/Queries/TrackSiteSearch.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
|
7 |
class TrackSiteSearch extends AbstractQuery
|
8 |
{
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
|
7 |
class TrackSiteSearch extends AbstractQuery
|
8 |
{
|
app/code/community/Converdo/Common/Query/Queries/TrackerUrl.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
|
7 |
class TrackerUrl extends AbstractQuery
|
8 |
{
|
2 |
|
3 |
namespace Converdo\Common\Query\Queries;
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
|
7 |
class TrackerUrl extends AbstractQuery
|
8 |
{
|
app/code/community/Converdo/Common/Support/ListensToOrders.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Converdo\Common\Support;
|
4 |
+
|
5 |
+
use Mage_Sales_Model_Order;
|
6 |
+
use Varien_Event_Observer;
|
7 |
+
|
8 |
+
trait ListensToOrders
|
9 |
+
{
|
10 |
+
/**
|
11 |
+
* @var Mage_Sales_Model_Order
|
12 |
+
*/
|
13 |
+
protected $order;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Gets whether the plugin is disabled and should stop listening to the orders.
|
17 |
+
*
|
18 |
+
* @return bool
|
19 |
+
*/
|
20 |
+
protected function isDisabled()
|
21 |
+
{
|
22 |
+
return cvd_config()->platform()->disabled();
|
23 |
+
}
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Gets whether the order is invalid or empty and should stop listening to the orders.
|
27 |
+
*
|
28 |
+
* @param Varien_Event_Observer $observer
|
29 |
+
* @return bool
|
30 |
+
*/
|
31 |
+
protected function hasInvalidOrder(Varien_Event_Observer $observer)
|
32 |
+
{
|
33 |
+
$this->order = $observer->getEvent()->getOrder();
|
34 |
+
|
35 |
+
return ! $this->order;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Gets whether the order status is invalid or empty and should stop listening to the orders.
|
40 |
+
*
|
41 |
+
* @param Varien_Event_Observer $observer
|
42 |
+
* @return bool
|
43 |
+
*/
|
44 |
+
protected function hasInvalidOrderOrStatus(Varien_Event_Observer $observer)
|
45 |
+
{
|
46 |
+
$this->order = $observer->getEvent()->getOrder();
|
47 |
+
|
48 |
+
return ! $this->order || ! $this->order->getStatus();
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Gets the order.
|
53 |
+
*
|
54 |
+
* @return Mage_Sales_Model_Order
|
55 |
+
*/
|
56 |
+
public function order()
|
57 |
+
{
|
58 |
+
return $this->order;
|
59 |
+
}
|
60 |
+
}
|
app/code/community/Converdo/Common/autoload.php
CHANGED
@@ -1,94 +1,75 @@
|
|
1 |
<?php
|
2 |
|
3 |
$classmap = [
|
4 |
-
'/Common/Support/HasParameters
|
5 |
-
'/Common/Support/Arrayable
|
6 |
-
'/Common/
|
7 |
-
'/Common/Input/
|
8 |
-
'/Common/
|
9 |
-
|
10 |
-
'/Common/Log/LoggerInterface
|
11 |
-
'/Common/Log/Logger
|
12 |
-
'/Common/Log/LoggerAwareInterface
|
13 |
-
'/Common/Log/LogReader
|
14 |
-
|
15 |
-
'/Common/
|
16 |
-
|
17 |
-
'/Common/
|
18 |
-
'/Common/
|
19 |
-
|
20 |
-
'/Common/Query/
|
21 |
-
|
22 |
-
'/Common/Query/
|
23 |
-
'/Common/Query/
|
24 |
-
|
25 |
-
'/Common/Query/Models/
|
26 |
-
'/Common/Query/Models/
|
27 |
-
'/Common/Query/Models/
|
28 |
-
'/Common/Query/
|
29 |
-
|
30 |
-
'/Common/Query/
|
31 |
-
'/Common/Query/
|
32 |
-
'/Common/Query/
|
33 |
-
'/Common/Query/
|
34 |
-
|
35 |
-
'/Common/Query/Queries/
|
36 |
-
'/Common/Query/Queries/
|
37 |
-
'/Common/Query/Queries/
|
38 |
-
'/Common/Query/Queries/
|
39 |
-
'/Common/Query/Queries/
|
40 |
-
'/Common/
|
41 |
-
'/Common/
|
42 |
-
'/Common/
|
43 |
-
'/Common/
|
44 |
-
'/Common/
|
45 |
-
'/Common/
|
46 |
-
'/Common/
|
47 |
-
|
48 |
-
'/Common/
|
49 |
-
'/Common/
|
50 |
-
|
51 |
-
'/Common/
|
52 |
-
|
53 |
-
'/Common/
|
54 |
-
'/Common/
|
55 |
-
|
56 |
-
'/Common/
|
57 |
-
'/Common/
|
58 |
-
'/Common/
|
59 |
-
'/Common/
|
60 |
-
|
61 |
-
'/
|
62 |
-
|
63 |
-
'/
|
64 |
-
|
65 |
-
'/
|
66 |
-
'/
|
67 |
-
|
68 |
-
'/
|
69 |
-
'/Common/API/Models/Order.php',
|
70 |
-
'/Common/API/ConverdoClient.php',
|
71 |
-
'/Common/API/Sections/ConverdoOrderAPI.php',
|
72 |
-
'/Common/API/ConverdoAPI.php',
|
73 |
-
'/Common/API/Requests.php',
|
74 |
-
'/Common/API/Factories/OrderFactory.php',
|
75 |
-
|
76 |
-
'/Magento/Page/RouteResolver.php',
|
77 |
-
'/Magento/Config/Configuration.php',
|
78 |
-
'/Magento/Container/Bindings.php',
|
79 |
-
'/Magento/Factories/EcommerceCartFactory.php',
|
80 |
-
'/Magento/Factories/EcommerceCategoryFactory.php',
|
81 |
-
'/Magento/Factories/EcommerceItemFactory.php',
|
82 |
-
'/Magento/Factories/EcommerceSearchFactory.php',
|
83 |
-
'/Magento/Support/PriceHelper.php',
|
84 |
];
|
85 |
|
86 |
foreach ($classmap as $class) {
|
87 |
-
$class
|
88 |
-
|
89 |
-
if (! file_exists($class)) {
|
90 |
-
return false;
|
91 |
}
|
92 |
-
|
93 |
-
require_once $class;
|
94 |
}
|
1 |
<?php
|
2 |
|
3 |
$classmap = [
|
4 |
+
'/Common/Support/HasParameters',
|
5 |
+
'/Common/Support/Arrayable',
|
6 |
+
'/Common/Support/ListensToOrders',
|
7 |
+
'/Common/Input/Input',
|
8 |
+
'/Common/Input/InputManager',
|
9 |
+
'/Common/Support/UsesInput',
|
10 |
+
'/Common/Log/LoggerInterface',
|
11 |
+
'/Common/Log/Logger',
|
12 |
+
'/Common/Log/LoggerAwareInterface',
|
13 |
+
'/Common/Log/LogReader',
|
14 |
+
'/Common/Security/Crypt',
|
15 |
+
'/Common/Response/Response',
|
16 |
+
'/Common/Response/JsonResponse',
|
17 |
+
'/Common/Query/Queries/Contracts/QueryInterface',
|
18 |
+
'/Common/Query/Managers/QueryManager',
|
19 |
+
'/Common/Query/Managers/QueryMetadata',
|
20 |
+
'/Common/Query/Models/Contracts/EcommerceCartInterface',
|
21 |
+
'/Common/Query/Models/Contracts/EcommerceCategoryInterface',
|
22 |
+
'/Common/Query/Models/Contracts/EcommerceItemInterface',
|
23 |
+
'/Common/Query/Models/Contracts/EcommerceSearchInterface',
|
24 |
+
'/Common/Query/Models/EcommerceCart',
|
25 |
+
'/Common/Query/Models/EcommerceCategory',
|
26 |
+
'/Common/Query/Models/EcommerceItem',
|
27 |
+
'/Common/Query/Models/EcommerceSearch',
|
28 |
+
'/Common/Query/Queries/AbstractQuery',
|
29 |
+
'/Common/Query/Queries/EcommerceView',
|
30 |
+
'/Common/Query/Queries/CategoryView',
|
31 |
+
'/Common/Query/Queries/AddEcommerceItem',
|
32 |
+
'/Common/Query/Queries/TrackEcommerceCart',
|
33 |
+
'/Common/Query/Queries/SiteId',
|
34 |
+
'/Common/Query/Queries/TrackerUrl',
|
35 |
+
'/Common/Query/Queries/TrackPageView',
|
36 |
+
'/Common/Query/Queries/TrackSiteSearch',
|
37 |
+
'/Common/Query/Queries/EnableLinkTracking',
|
38 |
+
'/Common/Query/Queries/EnableHeartBeatTimer',
|
39 |
+
'/Common/Query/Queries/CustomVariable',
|
40 |
+
'/Common/Page/Models/Contracts/PageInterface',
|
41 |
+
'/Common/Page/Models/Page',
|
42 |
+
'/Common/Page/Factories/PageFactory',
|
43 |
+
'/Common/Page/Support/PageTypes',
|
44 |
+
'/Common/Page/Support/Contracts/RouteResolverInterface',
|
45 |
+
'/Common/Cookie/Models/Contracts/CookieInterface',
|
46 |
+
'/Common/Cookie/Models/Cookie',
|
47 |
+
'/Common/Cookie/Factories/CookieFactory',
|
48 |
+
'/Common/Cookie/Managers/CookieManager',
|
49 |
+
'/Common/Controllers/PingController',
|
50 |
+
'/Common/Container/Container',
|
51 |
+
'/Common/Config/Contracts/PlatformConfigurationContract',
|
52 |
+
'/Common/Config/Configuration',
|
53 |
+
'/Common/API/Models/Contracts/OrderInterface',
|
54 |
+
'/Common/API/Models/Order',
|
55 |
+
'/Common/API/ConverdoClient',
|
56 |
+
'/Common/API/Sections/ConverdoOrderAPI',
|
57 |
+
'/Common/API/Sections/SetupAPI',
|
58 |
+
'/Common/API/ConverdoAPI',
|
59 |
+
'/Common/API/Requests',
|
60 |
+
'/Common/API/Factories/OrderFactory',
|
61 |
+
'/Magento/Page/RouteResolver',
|
62 |
+
'/Magento/Config/Configuration',
|
63 |
+
'/Magento/Container/Bindings',
|
64 |
+
'/Magento/Factories/EcommerceCartFactory',
|
65 |
+
'/Magento/Factories/EcommerceCategoryFactory',
|
66 |
+
'/Magento/Factories/EcommerceItemFactory',
|
67 |
+
'/Magento/Factories/EcommerceSearchFactory',
|
68 |
+
'/Magento/Support/PriceHelper',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
];
|
70 |
|
71 |
foreach ($classmap as $class) {
|
72 |
+
if (realpath(dirname(__DIR__) . $class . '.php')) {
|
73 |
+
require_once dirname(__DIR__) . $class . '.php';
|
|
|
|
|
74 |
}
|
|
|
|
|
75 |
}
|
app/code/community/Converdo/Common/bootstrap.php
CHANGED
@@ -1,7 +1,5 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
define('CONVERDO_ANALYTICS_START', microtime(true));
|
4 |
-
|
5 |
$autoload = require_once __DIR__ . '/autoload.php';
|
6 |
|
7 |
$functions = require_once __DIR__ . '/functions.php';
|
1 |
<?php
|
2 |
|
|
|
|
|
3 |
$autoload = require_once __DIR__ . '/autoload.php';
|
4 |
|
5 |
$functions = require_once __DIR__ . '/functions.php';
|
app/code/community/Converdo/Common/config.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
return [
|
4 |
|
5 |
'name' => 'production',
|
|
|
6 |
'tracker_url' => '//tracker.converdo.com/',
|
7 |
'log_file' => 'ConverdoAnalytics.log',
|
8 |
|
3 |
return [
|
4 |
|
5 |
'name' => 'production',
|
6 |
+
'protocol' => 'https',
|
7 |
'tracker_url' => '//tracker.converdo.com/',
|
8 |
'log_file' => 'ConverdoAnalytics.log',
|
9 |
|
app/code/community/Converdo/Magento/Block/Tracker.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
require_once __DIR__ . '/../../Common/bootstrap.php';
|
4 |
|
5 |
-
use Converdo\Common\Managers\QueryManager;
|
6 |
use Converdo\Common\Query\Queries\SiteId;
|
7 |
use Converdo\Common\Query\Queries\TrackerUrl;
|
8 |
use Converdo\Common\Query\Queries\TrackSiteSearch;
|
2 |
|
3 |
require_once __DIR__ . '/../../Common/bootstrap.php';
|
4 |
|
5 |
+
use Converdo\Common\Query\Managers\QueryManager;
|
6 |
use Converdo\Common\Query\Queries\SiteId;
|
7 |
use Converdo\Common\Query\Queries\TrackerUrl;
|
8 |
use Converdo\Common\Query\Queries\TrackSiteSearch;
|
app/code/community/Converdo/Magento/Factories/EcommerceItemFactory.php
CHANGED
@@ -43,7 +43,9 @@ class EcommerceItemFactory
|
|
43 |
*/
|
44 |
protected static function categories(array $ids)
|
45 |
{
|
46 |
-
$categories =
|
|
|
|
|
47 |
|
48 |
foreach ($ids as $key => $id) {
|
49 |
$category = Mage::getModel('catalog/category')->load($id);
|
43 |
*/
|
44 |
protected static function categories(array $ids)
|
45 |
{
|
46 |
+
$categories = array_filter($ids);
|
47 |
+
|
48 |
+
$categories = array_splice($categories, 0, 5);
|
49 |
|
50 |
foreach ($ids as $key => $id) {
|
51 |
$category = Mage::getModel('catalog/category')->load($id);
|
app/code/community/Converdo/Magento/Model/Observer.php
CHANGED
@@ -1,9 +1,15 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
require_once __DIR__ . '
|
|
|
|
|
|
|
|
|
4 |
|
5 |
class Converdo_Magento_Model_Observer
|
6 |
{
|
|
|
|
|
7 |
/**
|
8 |
* Listens to placed orders. Sends the order to the Converdo Analytics API.
|
9 |
*
|
@@ -12,16 +18,18 @@ class Converdo_Magento_Model_Observer
|
|
12 |
*/
|
13 |
public function onOrderPlacedEvent(Varien_Event_Observer $observer)
|
14 |
{
|
15 |
-
|
|
|
|
|
16 |
|
17 |
-
|
18 |
-
|
|
|
|
|
19 |
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
);
|
24 |
-
}
|
25 |
}
|
26 |
}
|
27 |
|
@@ -33,16 +41,18 @@ class Converdo_Magento_Model_Observer
|
|
33 |
*/
|
34 |
public function onOrderStatusChangedEvent(Varien_Event_Observer $observer)
|
35 |
{
|
36 |
-
|
|
|
|
|
37 |
|
38 |
-
|
39 |
-
|
|
|
|
|
40 |
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
}
|
46 |
-
}
|
47 |
}
|
48 |
}
|
1 |
<?php
|
2 |
|
3 |
+
require_once dirname(dirname(__DIR__)) . '/Common/bootstrap.php';
|
4 |
+
|
5 |
+
use Converdo\Common\API\Factories\OrderFactory;
|
6 |
+
use Converdo\Common\API\Requests;
|
7 |
+
use Converdo\Common\Support\ListensToOrders;
|
8 |
|
9 |
class Converdo_Magento_Model_Observer
|
10 |
{
|
11 |
+
use ListensToOrders;
|
12 |
+
|
13 |
/**
|
14 |
* Listens to placed orders. Sends the order to the Converdo Analytics API.
|
15 |
*
|
18 |
*/
|
19 |
public function onOrderPlacedEvent(Varien_Event_Observer $observer)
|
20 |
{
|
21 |
+
if ($this->isDisabled() || $this->hasInvalidOrder($observer)) {
|
22 |
+
return;
|
23 |
+
}
|
24 |
|
25 |
+
try {
|
26 |
+
Requests::orderCreate(
|
27 |
+
$model = OrderFactory::build($this->order())
|
28 |
+
);
|
29 |
|
30 |
+
cvd_logger()->info("Order [#{$model->getOrderId()}] was pushed to Converdo Analytics.");
|
31 |
+
} catch (Exception $e) {
|
32 |
+
cvd_logger()->error($e->getMessage());
|
|
|
|
|
33 |
}
|
34 |
}
|
35 |
|
41 |
*/
|
42 |
public function onOrderStatusChangedEvent(Varien_Event_Observer $observer)
|
43 |
{
|
44 |
+
if ($this->isDisabled() || $this->hasInvalidOrderOrStatus($observer)) {
|
45 |
+
return;
|
46 |
+
}
|
47 |
|
48 |
+
try {
|
49 |
+
Requests::orderStatusUpdate(
|
50 |
+
$model = OrderFactory::build($this->order())
|
51 |
+
);
|
52 |
|
53 |
+
cvd_logger()->info("Order [#{$model->getOrderId()}] status [{$model->getStatus()}] was pushed to Converdo Analytics.");
|
54 |
+
} catch (Exception $e) {
|
55 |
+
cvd_logger()->error($e->getMessage());
|
56 |
+
}
|
|
|
|
|
57 |
}
|
58 |
}
|
app/code/community/Converdo/Magento/etc/config.xml
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
<config>
|
4 |
<modules>
|
5 |
<Converdo_Magento>
|
6 |
-
<version>2.1.5.
|
7 |
</Converdo_Magento>
|
8 |
</modules>
|
9 |
<global>
|
3 |
<config>
|
4 |
<modules>
|
5 |
<Converdo_Magento>
|
6 |
+
<version>2.1.5.57</version>
|
7 |
</Converdo_Magento>
|
8 |
</modules>
|
9 |
<global>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Converdo_Analytics</name>
|
4 |
-
<version>2.1.5.
|
5 |
<stability>stable</stability>
|
6 |
<license>MITL</license>
|
7 |
<channel>community</channel>
|
@@ -10,9 +10,9 @@
|
|
10 |
<description>Better E-commerce Analytics. Clear, actionable insight in the behavior of your visitors. Improve your campaigns and conversion rate easily. This plugin, installed in a minute, is all you need to have a complete and powerfull Analytics Suite. View your KPI's and sales funnels, segmented on dozens of dimensions like page type, device, landing page, campaign, etc. This plugin collects your users behaviour so you can view the insights on your dashboard on converdo.com. You can use Converdo Analytics side by side with Google Analytics without a problem. It works asynchronous so it will never impact your user experience. This extension is made especially for Magento ecommerce stores, which provides you powerfull insights out of the box.</description>
|
11 |
<notes>More reliable way to track orders and product metadata.</notes>
|
12 |
<authors><author><name>Roeland van Oostenbrugge</name><user>converdo</user><email>roeland@converdo.nl</email></author></authors>
|
13 |
-
<date>2017-04-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magecommunity"><dir name="Converdo"><dir name="Common"><dir name="API"><file name="ConverdoAPI.php" hash="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.5.37</min><max>7.0.5</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Converdo_Analytics</name>
|
4 |
+
<version>2.1.5.57</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>MITL</license>
|
7 |
<channel>community</channel>
|
10 |
<description>Better E-commerce Analytics. Clear, actionable insight in the behavior of your visitors. Improve your campaigns and conversion rate easily. This plugin, installed in a minute, is all you need to have a complete and powerfull Analytics Suite. View your KPI's and sales funnels, segmented on dozens of dimensions like page type, device, landing page, campaign, etc. This plugin collects your users behaviour so you can view the insights on your dashboard on converdo.com. You can use Converdo Analytics side by side with Google Analytics without a problem. It works asynchronous so it will never impact your user experience. This extension is made especially for Magento ecommerce stores, which provides you powerfull insights out of the box.</description>
|
11 |
<notes>More reliable way to track orders and product metadata.</notes>
|
12 |
<authors><author><name>Roeland van Oostenbrugge</name><user>converdo</user><email>roeland@converdo.nl</email></author></authors>
|
13 |
+
<date>2017-04-18</date>
|
14 |
+
<time>12:06:17</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="Converdo"><dir name="Common"><dir name="API"><file name="ConverdoAPI.php" hash="73dfefe52b6f0066863e93239bb607c6"/><file name="ConverdoClient.php" hash="4f79d13a77da330ec187390a435fa954"/><dir name="Factories"><file name="OrderFactory.php" hash="9515dd34734170910ae8f1ebf723409e"/></dir><dir name="Models"><dir name="Contracts"><file name="OrderInterface.php" hash="426e172166014f03cfe4d44bf4041711"/></dir><file name="Order.php" hash="fc528438a5f74c8e3689189a4c305627"/></dir><file name="Requests.php" hash="a0e2e58520de186e229ff6cfef48b086"/><dir name="Sections"><file name="ConverdoOrderAPI.php" hash="0865ae8e4c4d49b60e96e73c62e7c59a"/><file name="SetupAPI.php" hash="9a1059594426d668bd74394e16b8af52"/></dir><dir name="resources"><file name="api_cert_chain.pem" hash="38cd779c9429ab6e2e5ae3437b763238"/></dir></dir><dir name="Config"><file name="Configuration.php" hash="f7ea85f763cb49811fc66342ecf09bed"/><dir name="Contracts"><file name="PlatformConfigurationContract.php" hash="a81b3b6f3d95a1d295aa4655d89ea4c7"/></dir></dir><dir name="Container"><file name="Container.php" hash="b5397c8e26370c051cc78d6e6f1fd1d9"/></dir><dir name="Controllers"><file name="PingController.php" hash="b8cf566fb1631795606b13357b5d9954"/></dir><dir name="Cookie"><dir name="Factories"><file name="CookieFactory.php" hash="a2f67fc875f3bead010019f0ca9c8562"/></dir><dir name="Managers"><file name="CookieManager.php" hash="7c47484c5c0bb99c11f67a1adbfacad5"/></dir><dir name="Models"><dir name="Contracts"><file name="CookieInterface.php" hash="87c4d60b8cd462d41256b536b950d6f4"/></dir><file name="Cookie.php" hash="f4281cb4f6cf64739c47934089787e28"/></dir></dir><dir name="Input"><file name="Input.php" hash="dff17aa36ebff1249828ef849a7f6b3d"/><file name="InputManager.php" hash="ba9c61bb2a5d9e762c405f68b3773e45"/></dir><dir name="Log"><file name="LogReader.php" hash="8d1e48c646aebbacc9d22d37e3c42a71"/><file name="Logger.php" hash="51f3a0097798660f2cc0e24064a7c7d7"/><file name="LoggerAwareInterface.php" hash="75abd91a001bcf77df81ba4b487dadf4"/><file name="LoggerInterface.php" hash="9fd1a50cac6d243e5886df81aabf9794"/></dir><dir name="Page"><dir name="Factories"><file name="PageFactory.php" hash="aa982ee69889e676f67abd564279fde2"/></dir><dir name="Models"><dir name="Contracts"><file name="PageInterface.php" hash="ba745e11e0372dda50981143cb1d1570"/></dir><file name="Page.php" hash="7b75835e5737b69cf46ea77644cfa851"/></dir><dir name="Support"><dir name="Contracts"><file name="RouteResolverInterface.php" hash="400bfe4611b9e732d9fdd4fef86575fe"/></dir><file name="PageTypes.php" hash="c00d29114e972a7dc24a666a110f1dbf"/></dir></dir><dir name="Query"><dir name="Managers"><file name="QueryManager.php" hash="61e60f8398362956cb0ec8c762b02395"/><file name="QueryMetadata.php" hash="200fa9e4617ad1a2af5e1917f98608b7"/></dir><dir name="Models"><dir name="Contracts"><file name="EcommerceCartInterface.php" hash="7b18db590c782d99f7b9514c5d375348"/><file name="EcommerceCategoryInterface.php" hash="159b1bb3a4248c67e46dd6201064ed2c"/><file name="EcommerceItemInterface.php" hash="9be3da4668044b3fb0609bb496371da6"/><file name="EcommerceSearchInterface.php" hash="6aad67169123749733737e2b0104ffba"/></dir><file name="EcommerceCart.php" hash="d569b0d2ecb4421b9e06c4de03b1a31a"/><file name="EcommerceCategory.php" hash="d704a2ef710fb7b7bf07d582db2e0611"/><file name="EcommerceItem.php" hash="90efad4308237bfbdb11e67f562d0e8d"/><file name="EcommerceSearch.php" hash="0165c34cab7c3d0a73694d50a26dd77a"/></dir><dir name="Queries"><file name="AbstractQuery.php" hash="5dcee2afe12464bfc44da51e4239a446"/><file name="AddEcommerceItem.php" hash="fddbf90dd55152fc6a7c7b0b505c028a"/><file name="CategoryView.php" hash="8ffba1f33d6422906f7ed892622fb7d0"/><dir name="Contracts"><file name="QueryInterface.php" hash="fb92b5d11d99cfbff66af5596032fc13"/></dir><file name="CustomVariable.php" hash="aeb6b689fe9329b3575568baad8654bc"/><file name="EcommerceView.php" hash="c050012bc7e21c8756556cd98a61ae47"/><file name="EnableHeartBeatTimer.php" hash="764297b7bdeafe467b30a9fd818e9387"/><file name="EnableLinkTracking.php" hash="ad80f078bac6d11bebd410fd6d5940aa"/><file name="SiteId.php" hash="512d6b403ca87040a91634a025ba61b3"/><file name="TrackEcommerceCart.php" hash="feaee2f5a7179ccf850a620b281c32da"/><file name="TrackPageView.php" hash="c493c1740f6c1ecc607da3491dbbcfb0"/><file name="TrackSiteSearch.php" hash="ca3316f8aec5439041ff2d88953362ae"/><file name="TrackerUrl.php" hash="d9149278970edebdc256596f8cfb841e"/></dir></dir><dir name="Response"><file name="JsonResponse.php" hash="d3a4ff6984e2378d74f8afe007ea1d8d"/><file name="Response.php" hash="a4fb3927099ee5e69ea869b464039fd6"/></dir><dir name="Security"><file name="Crypt.php" hash="d0f67307ef26d6691c72c702b7fcf3f2"/></dir><dir name="Support"><file name="Arrayable.php" hash="cd34de85cce8e6b7ca3f5585dfa631e9"/><file name="HasParameters.php" hash="0821ecb3fd95c56e34880e86d1afb246"/><file name="ListensToOrders.php" hash="7dfed83d1ed17eac76adc9155f430c83"/><file name="UsesInput.php" hash="e4c019693f821df634361955a24d056d"/></dir><file name="autoload.php" hash="87bc082ad2c25ec28e2084bd41a1b48f"/><file name="bootstrap.php" hash="69f043c0de3d8c5afcde2dfcdc8c946d"/><file name="config.php" hash="731202bc124bad83a91f9a76f81f1a16"/><file name="dependencies.php" hash="e35bc74ed0d628cc007581178881854c"/><file name="functions.php" hash="1ec63ac646838220bfd7c04e536a5fd4"/></dir><dir name="Magento"><dir name="Block"><file name="Tracker.php" hash="26cdb06b3c7c4fabcb316e58e5f4fa20"/></dir><dir name="Config"><file name="Configuration.php" hash="8872732a1e15fe6e77359770abd8d4fb"/></dir><dir name="Container"><file name="Bindings.php" hash="25bfa222ea8ce66da2b50a6cc9c48ac0"/></dir><dir name="Factories"><file name="EcommerceCartFactory.php" hash="43ce610668ad865ddaaa5dfce6420e93"/><file name="EcommerceCategoryFactory.php" hash="7d21cba8d68be5bccb4f6387badb8674"/><file name="EcommerceItemFactory.php" hash="7c09e3ac74f1ccab2ab368a69fefcf39"/><file name="EcommerceSearchFactory.php" hash="ea08378e24f27567abb3ae85f500e658"/></dir><dir name="Helper"><file name="Data.php" hash="5b2572fbbd9d6acfe1907830ab883a19"/></dir><dir name="Model"><file name="Observer.php" hash="29974dafb986c52cee066c8f4813f215"/></dir><dir name="Page"><file name="RouteResolver.php" hash="fe9952398586e39679c85092ea03f013"/></dir><dir name="Support"><file name="PriceHelper.php" hash="375c5f44c2c9b90618919412e235e961"/></dir><dir name="controllers"><file name="PingController.php" hash="7649748a504168df69239daed1a96418"/></dir><dir name="etc"><file name="adminhtml.xml" hash="9923bfe8c0f4aa318166e15cd373cf09"/><file name="config.xml" hash="43db0c00b39c0d284dd40923d4196bae"/><file name="system.xml" hash="f45bc8eac0bd50a4ca12241d01c19322"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="analytics.xml" hash="d3f9d35df1981968a55a331c2b92d473"/></dir><dir name="template"><dir name="analytics"><file name="analytics.phtml" hash="30a9a5e06b7f8e8c8dc5d73249f1e172"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Converdo_Analytics.xml" hash="c1e39f4e5886e1a22dc078ddebca8ee3"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Converdo_Analytics.csv" hash="425f8597860e056c6566f3aab5c43a5e"/></dir><dir name="nl_NL"><file name="Converdo_Analytics.csv" hash="08d8c0cf37c34a266b120bc75a0fa924"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="converdoanalytics"><dir name="css"><file name="system_config_edit.css" hash="fd6f5337fd9a9b69b85079e17aa0e40b"/></dir><dir name="images"><file name="favicon.png" hash="674c9388eba1ea89e200fe6b1a62fc24"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="app"><dir name="design"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="converdoanalytics.xml" hash="b949a1ad4594eeb82ae7138c60afc19e"/></dir></dir></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.5.37</min><max>7.0.5</max></php></required></dependencies>
|
18 |
</package>
|