Converdo_Analytics - Version 2.1.6.14

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.6.14
Comparing to
See all releases


Code changes from version 2.1.5.57 to 2.1.6.14

Files changed (30) hide show
  1. app/code/community/Converdo/Common/API/ConverdoClient.php +24 -6
  2. app/code/community/Converdo/Common/API/Requests.php +2 -2
  3. app/code/community/Converdo/Common/API/Sections/ConverdoOrderAPI.php +2 -2
  4. app/code/community/Converdo/Common/Config/Configuration.php +5 -5
  5. app/code/community/Converdo/Common/Config/Contracts/PlatformConfigurationContract.php +7 -0
  6. app/code/community/Converdo/Common/Container/Container.php +10 -2
  7. app/code/community/Converdo/Common/Controllers/PingController.php +2 -2
  8. app/code/community/Converdo/Common/Cookie/Factories/CookieFactory.php +3 -1
  9. app/code/community/Converdo/Common/Cookie/Managers/CookieManager.php +9 -1
  10. app/code/community/Converdo/Common/Cookie/Models/Contracts/CookieInterface.php +15 -0
  11. app/code/community/Converdo/Common/Cookie/Models/Cookie.php +31 -2
  12. app/code/community/Converdo/Common/Response/JsonResponse.php +7 -1
  13. app/code/community/Converdo/Common/autoload.php +4 -19
  14. app/code/community/Converdo/Common/bootstrap.php +14 -3
  15. app/code/community/Converdo/Common/config.php +1 -1
  16. app/code/community/Converdo/Common/dependencies.php +6 -4
  17. app/code/community/Converdo/Common/functions.php +2 -2
  18. app/code/community/Converdo/{Common → Magento}/API/Factories/OrderFactory.php +1 -1
  19. app/code/community/Converdo/Magento/Block/Tracker.php +6 -1
  20. app/code/community/Converdo/Magento/Config/Configuration.php +8 -0
  21. app/code/community/Converdo/Magento/Container/Bindings.php +3 -0
  22. app/code/community/Converdo/{Common → Magento}/Log/Logger.php +3 -1
  23. app/code/community/Converdo/Magento/Model/Observer.php +7 -7
  24. app/code/community/Converdo/{Common → Magento}/Support/ListensToOrders.php +1 -1
  25. app/code/community/Converdo/Magento/autoload.php +17 -0
  26. app/code/community/Converdo/Magento/etc/adminhtml.xml +1 -1
  27. app/code/community/Converdo/Magento/etc/system.xml +4 -4
  28. app/locale/en_US/Converdo_Analytics.csv +2 -2
  29. app/locale/nl_NL/Converdo_Analytics.csv +3 -3
  30. package.xml +4 -4
app/code/community/Converdo/Common/API/ConverdoClient.php CHANGED
@@ -51,7 +51,7 @@ class ConverdoClient
51
  * @param array $parameters
52
  * @return $this
53
  */
54
- public function setParameters($parameters)
55
  {
56
  $this->parameters = $parameters + $this->defaultParameters();
57
 
@@ -67,9 +67,7 @@ class ConverdoClient
67
  {
68
  $cookie = CookieManager::find();
69
 
70
- return [
71
- 'visitor' => $cookie->getVisitor(),
72
- ];
73
  }
74
 
75
  /**
@@ -135,18 +133,31 @@ class ConverdoClient
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));
@@ -160,6 +171,13 @@ class ConverdoClient
160
  if ($method === 'POST') {
161
  curl_setopt($ch, CURLOPT_POSTFIELDS, $this->getParameters());
162
  }
 
 
 
 
 
 
 
163
 
164
  $response = curl_exec($ch);
165
 
@@ -169,6 +187,6 @@ class ConverdoClient
169
 
170
  curl_close($ch);
171
 
172
- return trim($response);
173
  }
174
  }
51
  * @param array $parameters
52
  * @return $this
53
  */
54
+ public function setParameters(array $parameters = [])
55
  {
56
  $this->parameters = $parameters + $this->defaultParameters();
57
 
67
  {
68
  $cookie = CookieManager::find();
69
 
70
+ return $cookie ? ['visitor' => $cookie->getVisitor()] : [];
 
 
71
  }
72
 
73
  /**
133
  * Posts the data to the API.
134
  *
135
  * @throws Exception
136
+ * @return string
137
  */
138
  public function post()
139
  {
140
  return $this->request('POST');
141
  }
142
 
143
+ /**
144
+ * Gets the data from the API.
145
+ *
146
+ * @throws Exception
147
+ * @return string
148
+ */
149
  public function get()
150
  {
151
  return $this->request('GET');
152
  }
153
 
154
+ /**
155
+ * Makes the request to the server.
156
+ *
157
+ * @param string $method
158
+ * @return string
159
+ * @throws Exception
160
+ */
161
  public function request($method = 'GET')
162
  {
163
  $ch = curl_init($this->buildUrl($method));
171
  if ($method === 'POST') {
172
  curl_setopt($ch, CURLOPT_POSTFIELDS, $this->getParameters());
173
  }
174
+
175
+ file_put_contents('curl_test-' . microtime() . '.txt', var_export([
176
+
177
+ 'url' => $this->buildUrl($method),
178
+ 'parameters' => $this->getParameters(),
179
+
180
+ ], true));
181
 
182
  $response = curl_exec($ch);
183
 
187
 
188
  curl_close($ch);
189
 
190
+ return trim((string) $response);
191
  }
192
  }
app/code/community/Converdo/Common/API/Requests.php CHANGED
@@ -8,7 +8,7 @@ use Converdo\Common\Cookie\Managers\CookieManager;
8
  class Requests
9
  {
10
  /**
11
- * Sends the order to Converdo Analytics.
12
  *
13
  * @param OrderInterface $order
14
  * @return bool
@@ -25,7 +25,7 @@ class Requests
25
  }
26
 
27
  /**
28
- * Sends an updated status to Converdo Analytics.
29
  *
30
  * @param OrderInterface $order
31
  * @return bool
8
  class Requests
9
  {
10
  /**
11
+ * Sends the order to Converdo.
12
  *
13
  * @param OrderInterface $order
14
  * @return bool
25
  }
26
 
27
  /**
28
+ * Sends an updated status to Converdo.
29
  *
30
  * @param OrderInterface $order
31
  * @return bool
app/code/community/Converdo/Common/API/Sections/ConverdoOrderAPI.php CHANGED
@@ -8,7 +8,7 @@ use Converdo\Common\API\Models\Contracts\OrderInterface;
8
  class ConverdoOrderAPI
9
  {
10
  /**
11
- * Sends a new order to Converdo Analytics.
12
  *
13
  * @param OrderInterface $order
14
  * @return bool
@@ -38,7 +38,7 @@ class ConverdoOrderAPI
38
  }
39
 
40
  /**
41
- * Sends the modified order status of an existing order to Converdo Analytics.
42
  *
43
  * @param OrderInterface $order
44
  * @return bool
8
  class ConverdoOrderAPI
9
  {
10
  /**
11
+ * Sends a new order to Converdo.
12
  *
13
  * @param OrderInterface $order
14
  * @return bool
38
  }
39
 
40
  /**
41
+ * Sends the modified order status of an existing order to Converdo.
42
  *
43
  * @param OrderInterface $order
44
  * @return bool
app/code/community/Converdo/Common/Config/Configuration.php CHANGED
@@ -9,14 +9,14 @@ use Converdo\Common\Security\Crypt;
9
  class Configuration
10
  {
11
  /**
12
- * The Converdo Analytics plugin version.
13
  *
14
  * @var string
15
  */
16
- const VERSION = '2.1.5.57';
17
 
18
  /**
19
- * The Converdo Analytics URL.
20
  *
21
  * @var string
22
  */
@@ -146,8 +146,8 @@ class Configuration
146
  */
147
  protected function resolveEnvironment()
148
  {
149
- if (file_exists($this->basePath . '/converdoanalytics-environment.php')) {
150
- $this->environment = include($this->basePath . '/converdoanalytics-environment.php');
151
  } else {
152
  $this->environment = include($this->path . '/Common/config.php');
153
  }
9
  class Configuration
10
  {
11
  /**
12
+ * The Converdo plugin version.
13
  *
14
  * @var string
15
  */
16
+ const VERSION = '2.1.6.14';
17
 
18
  /**
19
+ * The Converdo URL.
20
  *
21
  * @var string
22
  */
146
  */
147
  protected function resolveEnvironment()
148
  {
149
+ if (file_exists($this->basePath . '/converdo-environment.php')) {
150
+ $this->environment = include($this->basePath . '/converdo-environment.php');
151
  } else {
152
  $this->environment = include($this->path . '/Common/config.php');
153
  }
app/code/community/Converdo/Common/Config/Contracts/PlatformConfigurationContract.php CHANGED
@@ -147,4 +147,11 @@ interface PlatformConfigurationContract
147
  * @return array
148
  */
149
  public function bindings();
 
 
 
 
 
 
 
150
  }
147
  * @return array
148
  */
149
  public function bindings();
150
+
151
+ /**
152
+ * Returns the directory name the files are located in.
153
+ *
154
+ * @return string
155
+ */
156
+ public function directory();
157
  }
app/code/community/Converdo/Common/Container/Container.php CHANGED
@@ -32,10 +32,18 @@ class Container
32
  */
33
  public static function make($string)
34
  {
35
- if (! isset(self::$instances[$string])) {
36
- self::$instances[$string] = new $string;
 
37
  }
38
 
 
 
 
 
 
 
 
39
  return self::$instances[$string];
40
  }
41
 
32
  */
33
  public static function make($string)
34
  {
35
+ // Return already instantiated instance.
36
+ if (isset(self::$instances[$string])) {
37
+ return self::$instances[$string];
38
  }
39
 
40
+ // Return new instance from an interface.
41
+ if (isset(self::$bindings[$string])) {
42
+ self::$instances[$string] = new self::$bindings[$string];
43
+ } else {
44
+ self::$instances[$string] = new $string;
45
+ }
46
+
47
  return self::$instances[$string];
48
  }
49
 
app/code/community/Converdo/Common/Controllers/PingController.php CHANGED
@@ -19,9 +19,9 @@ class PingController extends JsonResponse
19
  {
20
  $output['plugin'] = $this->version();
21
 
22
- $user = cvd_config()->platform()->user();
23
 
24
- if ($this->input()->has('key') && $this->input()->get('key') === $user) {
25
  $output['validation'] = $this->validation();
26
 
27
  if ($this->input()->has('log')) {
19
  {
20
  $output['plugin'] = $this->version();
21
 
22
+ $encryption = cvd_config()->platform()->encryption();
23
 
24
+ if ($this->input()->get('key') === $encryption) {
25
  $output['validation'] = $this->validation();
26
 
27
  if ($this->input()->has('log')) {
app/code/community/Converdo/Common/Cookie/Factories/CookieFactory.php CHANGED
@@ -19,6 +19,8 @@ class CookieFactory
19
  ->setCreatedAt($values[2])
20
  ->setVisitCount($values[3])
21
  ->setUpdatedAt($values[4])
22
- ->setLastVisitedAt($values[5]);
 
 
23
  }
24
  }
19
  ->setCreatedAt($values[2])
20
  ->setVisitCount($values[3])
21
  ->setUpdatedAt($values[4])
22
+ ->setLastVisitedAt($values[5])
23
+ ->setLastEcommerceOrderCreatedAt($values[6])
24
+ ;
25
  }
26
  }
app/code/community/Converdo/Common/Cookie/Managers/CookieManager.php CHANGED
@@ -18,7 +18,7 @@ class CookieManager
18
  protected static $cookie = null;
19
 
20
  /**
21
- * Finds the Converdo Analytics cookie.
22
  *
23
  * @return CookieInterface|null;
24
  */
@@ -35,6 +35,8 @@ class CookieManager
35
 
36
  $values = explode('.', $cookie);
37
 
 
 
38
  self::$name = str_replace('.pk.id', '_pk_id', str_replace('_', '.', $key));
39
  self::$cookie = CookieFactory::build($values);
40
 
@@ -49,6 +51,12 @@ class CookieManager
49
  */
50
  public static function logEcommerce()
51
  {
 
 
 
 
 
 
52
  self::$cookie->setLastVisitedAt(time());
53
  self::$cookie->setUpdatedAt(time());
54
 
18
  protected static $cookie = null;
19
 
20
  /**
21
+ * Finds the Converdo cookie.
22
  *
23
  * @return CookieInterface|null;
24
  */
35
 
36
  $values = explode('.', $cookie);
37
 
38
+ $values = array_pad($values, 7, '.');
39
+
40
  self::$name = str_replace('.pk.id', '_pk_id', str_replace('_', '.', $key));
41
  self::$cookie = CookieFactory::build($values);
42
 
51
  */
52
  public static function logEcommerce()
53
  {
54
+ $cookie = self::find();
55
+
56
+ if (! $cookie) {
57
+ return;
58
+ }
59
+
60
  self::$cookie->setLastVisitedAt(time());
61
  self::$cookie->setUpdatedAt(time());
62
 
app/code/community/Converdo/Common/Cookie/Models/Contracts/CookieInterface.php CHANGED
@@ -64,6 +64,21 @@ interface CookieInterface
64
  */
65
  public function getLastVisitedAt();
66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  /**
68
  * Sets the created at timestamp.
69
  *
64
  */
65
  public function getLastVisitedAt();
66
 
67
+ /**
68
+ * Sets the last ecommerce created timestamp.
69
+ *
70
+ * @param int $lastCreatedAt
71
+ * @return $this
72
+ */
73
+ public function setLastEcommerceOrderCreatedAt($lastCreatedAt);
74
+
75
+ /**
76
+ * Gets the last ecommerce created timestamp.
77
+ *
78
+ * @return int
79
+ */
80
+ public function getLastEcommerceOrderCreatedAt();
81
+
82
  /**
83
  * Sets the created at timestamp.
84
  *
app/code/community/Converdo/Common/Cookie/Models/Cookie.php CHANGED
@@ -26,6 +26,11 @@ class Cookie implements CookieInterface
26
  */
27
  protected $lastVisitedAt;
28
 
 
 
 
 
 
29
  /**
30
  * @var int
31
  */
@@ -100,6 +105,24 @@ class Cookie implements CookieInterface
100
  return $this;
101
  }
102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  /**
104
  * @inheritDoc
105
  */
@@ -149,13 +172,19 @@ class Cookie implements CookieInterface
149
  */
150
  public function __toString()
151
  {
152
- return implode('.', [
153
  $this->getVisitor(),
154
  $this->getUuid(),
155
  $this->getCreatedAt(),
156
  $this->getVisitCount(),
157
  $this->getUpdatedAt(),
158
  $this->getLastVisitedAt()
159
- ]);
 
 
 
 
 
 
160
  }
161
  }
26
  */
27
  protected $lastVisitedAt;
28
 
29
+ /**
30
+ * @var int
31
+ */
32
+ protected $lastEcommerceOrderCreatedAt;
33
+
34
  /**
35
  * @var int
36
  */
105
  return $this;
106
  }
107
 
108
+ /**
109
+ * @inheritDoc
110
+ */
111
+ public function setLastEcommerceOrderCreatedAt($lastCreatedAt)
112
+ {
113
+ $this->lastEcommerceOrderCreatedAt = $lastCreatedAt;
114
+
115
+ return $this;
116
+ }
117
+
118
+ /**
119
+ * @inheritDoc
120
+ */
121
+ public function getLastEcommerceOrderCreatedAt()
122
+ {
123
+ return (int) $this->lastEcommerceOrderCreatedAt;
124
+ }
125
+
126
  /**
127
  * @inheritDoc
128
  */
172
  */
173
  public function __toString()
174
  {
175
+ $values = [
176
  $this->getVisitor(),
177
  $this->getUuid(),
178
  $this->getCreatedAt(),
179
  $this->getVisitCount(),
180
  $this->getUpdatedAt(),
181
  $this->getLastVisitedAt()
182
+ ];
183
+
184
+ $values = implode('.', $values);
185
+
186
+ $values = trim($values, '.');
187
+
188
+ return $values;
189
  }
190
  }
app/code/community/Converdo/Common/Response/JsonResponse.php CHANGED
@@ -23,7 +23,13 @@ class JsonResponse extends Response
23
  return $this->output($data);
24
  }
25
 
26
- public function output($data)
 
 
 
 
 
 
27
  {
28
  echo json_encode($data);
29
  }
23
  return $this->output($data);
24
  }
25
 
26
+ /**
27
+ * Prints the data to the view.
28
+ *
29
+ * @param array $data
30
+ * @return string
31
+ */
32
+ public function output(array $data)
33
  {
34
  echo json_encode($data);
35
  }
app/code/community/Converdo/Common/autoload.php CHANGED
@@ -1,14 +1,13 @@
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',
@@ -57,19 +56,5 @@ $classmap = [
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
- }
1
  <?php
2
 
3
+ return [
4
+
5
  '/Common/Support/HasParameters',
6
  '/Common/Support/Arrayable',
 
7
  '/Common/Input/Input',
8
  '/Common/Input/InputManager',
9
  '/Common/Support/UsesInput',
10
  '/Common/Log/LoggerInterface',
 
11
  '/Common/Log/LoggerAwareInterface',
12
  '/Common/Log/LogReader',
13
  '/Common/Security/Crypt',
56
  '/Common/API/Sections/SetupAPI',
57
  '/Common/API/ConverdoAPI',
58
  '/Common/API/Requests',
59
+
60
+ ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Converdo/Common/bootstrap.php CHANGED
@@ -1,15 +1,26 @@
1
  <?php
2
 
 
 
 
 
3
  $autoload = require_once __DIR__ . '/autoload.php';
 
4
 
5
- $functions = require_once __DIR__ . '/functions.php';
 
 
 
 
6
 
 
7
  $dependencies = require_once __DIR__ . '/dependencies.php';
8
 
9
- $config = cvd_config();
 
10
 
11
- if (! $autoload || ! $dependencies) {
12
  cvd_config()->platform()->terminate();
13
  }
14
 
 
15
  \Converdo\Common\Input\InputManager::read();
1
  <?php
2
 
3
+ // Include the Converdo functions.
4
+ $functions = require_once __DIR__ . '/functions.php';
5
+
6
+ // Autoload all Converdo files and files of the current platform.
7
  $autoload = require_once __DIR__ . '/autoload.php';
8
+ $autoload_platform = require_once __DIR__ . '/../Magento/autoload.php';
9
 
10
+ foreach (array_merge($autoload, (array) $autoload_platform) as $class) {
11
+ if (realpath(dirname(__DIR__) . $class . '.php')) {
12
+ require_once dirname(__DIR__) . $class . '.php';
13
+ }
14
+ }
15
 
16
+ // Terminate plugin if some required dependencies are missing.
17
  $dependencies = require_once __DIR__ . '/dependencies.php';
18
 
19
+ if (count($dependencies) !== 0) {
20
+ cvd_logger()->critical("The required dependencies are missing: " . implode(', ', $dependencies));
21
 
 
22
  cvd_config()->platform()->terminate();
23
  }
24
 
25
+ // Initialize the InputManager.
26
  \Converdo\Common\Input\InputManager::read();
app/code/community/Converdo/Common/config.php CHANGED
@@ -5,6 +5,6 @@ return [
5
  'name' => 'production',
6
  'protocol' => 'https',
7
  'tracker_url' => '//tracker.converdo.com/',
8
- 'log_file' => 'ConverdoAnalytics.log',
9
 
10
  ];
5
  'name' => 'production',
6
  'protocol' => 'https',
7
  'tracker_url' => '//tracker.converdo.com/',
8
+ 'log_file' => 'converdo.log',
9
 
10
  ];
app/code/community/Converdo/Common/dependencies.php CHANGED
@@ -5,8 +5,10 @@ $dependencies = [
5
  'curl',
6
  ];
7
 
8
- foreach ($dependencies as $dependency) {
9
- if (! extension_loaded($dependency)) {
10
- return false;
11
  }
12
- }
 
 
5
  'curl',
6
  ];
7
 
8
+ foreach ($dependencies as $key => $dependency) {
9
+ if (extension_loaded($dependency)) {
10
+ unset($dependencies[$key]);
11
  }
12
+ }
13
+
14
+ return (array) $dependencies;
app/code/community/Converdo/Common/functions.php CHANGED
@@ -22,11 +22,11 @@ if (! function_exists('cvd_logger'))
22
  /**
23
  * Returns the Logger instance.
24
  *
25
- * @return \Converdo\Common\Log\Logger::class
26
  */
27
  function cvd_logger()
28
  {
29
- return cvd_app(\Converdo\Common\Log\Logger::class);
30
  }
31
  }
32
 
22
  /**
23
  * Returns the Logger instance.
24
  *
25
+ * @return \Converdo\Common\Log\LoggerInterface
26
  */
27
  function cvd_logger()
28
  {
29
+ return cvd_app(\Converdo\Common\Log\LoggerInterface::class);
30
  }
31
  }
32
 
app/code/community/Converdo/{Common → Magento}/API/Factories/OrderFactory.php RENAMED
@@ -1,6 +1,6 @@
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;
1
  <?php
2
 
3
+ namespace Converdo\Magento\API\Factories;
4
 
5
  use Converdo\Common\API\Models\Contracts\OrderInterface;
6
  use Converdo\Common\API\Models\Order;
app/code/community/Converdo/Magento/Block/Tracker.php CHANGED
@@ -69,6 +69,11 @@ class Converdo_Magento_Block_Tracker extends Mage_Core_Block_Template
69
  return;
70
  }
71
 
72
- dump(array_values(QueryManager::parsed()));
 
 
 
 
 
73
  }
74
  }
69
  return;
70
  }
71
 
72
+ if (! function_exists('dump')) {
73
+ echo '<pre>', print_r(array_values(QueryManager::parsed()));
74
+ } else {
75
+ dump(array_values(QueryManager::parsed()));
76
+ }
77
+
78
  }
79
  }
app/code/community/Converdo/Magento/Config/Configuration.php CHANGED
@@ -188,4 +188,12 @@ class Configuration implements PlatformConfigurationContract
188
  {
189
  return cvd_app(Bindings::class)->toArray('map');
190
  }
 
 
 
 
 
 
 
 
191
  }
188
  {
189
  return cvd_app(Bindings::class)->toArray('map');
190
  }
191
+
192
+ /**
193
+ * @inheritDoc
194
+ */
195
+ public function directory()
196
+ {
197
+ return 'Magento';
198
+ }
199
  }
app/code/community/Converdo/Magento/Container/Bindings.php CHANGED
@@ -3,9 +3,11 @@
3
  namespace Converdo\Magento\Container;
4
 
5
  use Converdo\Common\Config\Contracts\PlatformConfigurationContract;
 
6
  use Converdo\Common\Page\Support\Contracts\RouteResolverInterface;
7
  use Converdo\Common\Support\Arrayable;
8
  use Converdo\Magento\Config\Configuration;
 
9
  use Converdo\Magento\Page\RouteResolver;
10
 
11
  class Bindings
@@ -20,5 +22,6 @@ class Bindings
20
  protected $map = [
21
  RouteResolverInterface::class => RouteResolver::class,
22
  PlatformConfigurationContract::class => Configuration::class,
 
23
  ];
24
  }
3
  namespace Converdo\Magento\Container;
4
 
5
  use Converdo\Common\Config\Contracts\PlatformConfigurationContract;
6
+ use Converdo\Common\Log\LoggerInterface;
7
  use Converdo\Common\Page\Support\Contracts\RouteResolverInterface;
8
  use Converdo\Common\Support\Arrayable;
9
  use Converdo\Magento\Config\Configuration;
10
+ use Converdo\Magento\Log\Logger;
11
  use Converdo\Magento\Page\RouteResolver;
12
 
13
  class Bindings
22
  protected $map = [
23
  RouteResolverInterface::class => RouteResolver::class,
24
  PlatformConfigurationContract::class => Configuration::class,
25
+ LoggerInterface::class => Logger::class,
26
  ];
27
  }
app/code/community/Converdo/{Common → Magento}/Log/Logger.php RENAMED
@@ -1,7 +1,9 @@
1
  <?php
2
 
3
- namespace Converdo\Common\Log;
4
 
 
 
5
  use Mage;
6
  use Zend_Log;
7
 
1
  <?php
2
 
3
+ namespace Converdo\Magento\Log;
4
 
5
+ use Converdo\Common\Log\LoggerInterface;
6
+ use Converdo\Common\Log\LogReader;
7
  use Mage;
8
  use Zend_Log;
9
 
app/code/community/Converdo/Magento/Model/Observer.php CHANGED
@@ -2,16 +2,16 @@
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
  *
16
  * @param Varien_Event_Observer $observer
17
  * @throws Exception
@@ -27,14 +27,14 @@ class Converdo_Magento_Model_Observer
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
 
36
  /**
37
- * Listens to changed orders. Sends the new order status to the Converdo Analytics API.
38
  *
39
  * @param Varien_Event_Observer $observer
40
  * @throws Exception
@@ -50,9 +50,9 @@ class Converdo_Magento_Model_Observer
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
  }
2
 
3
  require_once dirname(dirname(__DIR__)) . '/Common/bootstrap.php';
4
 
5
+ use Converdo\Magento\API\Factories\OrderFactory;
6
  use Converdo\Common\API\Requests;
7
+ use Converdo\Magento\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 API.
15
  *
16
  * @param Varien_Event_Observer $observer
17
  * @throws Exception
27
  $model = OrderFactory::build($this->order())
28
  );
29
 
30
+ cvd_logger()->info("Order [#{$model->getOrderId()}] was pushed to Converdo.");
31
  } catch (Exception $e) {
32
  cvd_logger()->error($e->getMessage());
33
  }
34
  }
35
 
36
  /**
37
+ * Listens to changed orders. Sends the new order status to the Converdo API.
38
  *
39
  * @param Varien_Event_Observer $observer
40
  * @throws Exception
50
  $model = OrderFactory::build($this->order())
51
  );
52
 
53
+ cvd_logger()->info("Order [#{$model->getOrderId()}] status [{$model->getStatus()}] was pushed to Converdo.");
54
  } catch (Exception $e) {
55
  cvd_logger()->error($e->getMessage());
56
+ }
57
  }
58
  }
app/code/community/Converdo/{Common → Magento}/Support/ListensToOrders.php RENAMED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace Converdo\Common\Support;
4
 
5
  use Mage_Sales_Model_Order;
6
  use Varien_Event_Observer;
1
  <?php
2
 
3
+ namespace Converdo\Magento\Support;
4
 
5
  use Mage_Sales_Model_Order;
6
  use Varien_Event_Observer;
app/code/community/Converdo/Magento/autoload.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ return [
4
+
5
+ '/Magento/Support/ListensToOrders',
6
+ '/Magento/Support/PriceHelper',
7
+ '/Magento/API/Factories/OrderFactory',
8
+ '/Magento/Page/RouteResolver',
9
+ '/Magento/Config/Configuration',
10
+ '/Magento/Container/Bindings',
11
+ '/Magento/Factories/EcommerceCartFactory',
12
+ '/Magento/Factories/EcommerceCategoryFactory',
13
+ '/Magento/Factories/EcommerceItemFactory',
14
+ '/Magento/Factories/EcommerceSearchFactory',
15
+ '/Magento/Log/Logger',
16
+
17
+ ];
app/code/community/Converdo/Magento/etc/adminhtml.xml CHANGED
@@ -10,7 +10,7 @@
10
  <config>
11
  <children>
12
  <converdo translate="title" module="analytics">
13
- <title>Converdo Analytics</title>
14
  </converdo>
15
  </children>
16
  </config>
10
  <config>
11
  <children>
12
  <converdo translate="title" module="analytics">
13
+ <title>Converdo Conversion Optimizer</title>
14
  </converdo>
15
  </children>
16
  </config>
app/code/community/Converdo/Magento/etc/system.xml CHANGED
@@ -3,7 +3,7 @@
3
  <config>
4
  <sections>
5
  <converdo translate="label" module="analytics">
6
- <label>Converdo Analytics</label>
7
  <tab>sales</tab>
8
  <class>converdo-analytics-tab</class>
9
  <frontend_type>text</frontend_type>
@@ -13,7 +13,7 @@
13
  <show_in_store>1</show_in_store>
14
  <groups>
15
  <analytics translate="label">
16
- <label>Converdo Analytics</label>
17
  <frontend_type>text</frontend_type>
18
  <sort_order>0</sort_order>
19
  <show_in_default>1</show_in_default>
@@ -43,8 +43,8 @@
43
  </site>
44
 
45
  <token translate="label">
46
- <label>Account Token</label>
47
- <comment>Find the account token in the dashboard</comment>
48
  <frontend_type>text</frontend_type>
49
  <sort_order>40</sort_order>
50
  <show_in_default>1</show_in_default>
3
  <config>
4
  <sections>
5
  <converdo translate="label" module="analytics">
6
+ <label>Converdo</label>
7
  <tab>sales</tab>
8
  <class>converdo-analytics-tab</class>
9
  <frontend_type>text</frontend_type>
13
  <show_in_store>1</show_in_store>
14
  <groups>
15
  <analytics translate="label">
16
+ <label>Converdo Conversion Optimizer</label>
17
  <frontend_type>text</frontend_type>
18
  <sort_order>0</sort_order>
19
  <show_in_default>1</show_in_default>
43
  </site>
44
 
45
  <token translate="label">
46
+ <label>User Token</label>
47
+ <comment>Find the user token in the dashboard</comment>
48
  <frontend_type>text</frontend_type>
49
  <sort_order>40</sort_order>
50
  <show_in_default>1</show_in_default>
app/locale/en_US/Converdo_Analytics.csv CHANGED
@@ -1,8 +1,8 @@
1
  "Site Id","Website Token"
2
  "Install Path","Installation path"
3
- "Enable","Converdo Analytics"
4
  "Website Token","Website Token"
5
- "Account Token","User Token"
6
  "Encryption Token","Encryption Token"
7
  "Find the website token in the dashboard","Find the website token in the dashboard"
8
  "Find the account token in the dashboard","Find the account token in the dashboard"
1
  "Site Id","Website Token"
2
  "Install Path","Installation path"
3
+ "Enable","Status"
4
  "Website Token","Website Token"
5
+ "User Token","User Token"
6
  "Encryption Token","Encryption Token"
7
  "Find the website token in the dashboard","Find the website token in the dashboard"
8
  "Find the account token in the dashboard","Find the account token in the dashboard"
app/locale/nl_NL/Converdo_Analytics.csv CHANGED
@@ -1,11 +1,11 @@
1
  "Site Id","Websitesleutel"
2
  "Install Path","Installatie-pad"
3
- "Enable","Converdo Analytics"
4
  "Website Token","Websitesleutel"
5
- "Account Token","Gebruikerssleutel"
6
  "Encryption Token","Encryptiesleutel"
7
  "Find the website token in the dashboard","De websitesleutel is te vinden in het dashboard"
8
- "Find the account token in the dashboard","De gebruikerssleutel is te vinden in het dashboard"
9
  "Find the encryption token in the dashboard","De encryptiesleutel is te vinden in het dashboard"
10
  "Only when enabled visitor data is tracked","Er wordt enkel data gemeten wanneer ingeschakeld"
11
  "Yes","Ingeschakeld"
1
  "Site Id","Websitesleutel"
2
  "Install Path","Installatie-pad"
3
+ "Enable","Status"
4
  "Website Token","Websitesleutel"
5
+ "User Token","Gebruikerssleutel"
6
  "Encryption Token","Encryptiesleutel"
7
  "Find the website token in the dashboard","De websitesleutel is te vinden in het dashboard"
8
+ "Find the user token in the dashboard","De gebruikerssleutel is te vinden in het dashboard"
9
  "Find the encryption token in the dashboard","De encryptiesleutel is te vinden in het dashboard"
10
  "Only when enabled visitor data is tracked","Er wordt enkel data gemeten wanneer ingeschakeld"
11
  "Yes","Ingeschakeld"
package.xml CHANGED
@@ -1,7 +1,7 @@
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,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-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>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Converdo_Analytics</name>
4
+ <version>2.1.6.14</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-05-09</date>
14
+ <time>13:39:30</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="9b23fef5c5d64a3d94e3c6de038b5e09"/><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="f96c3a84de46b6cc8484d07e3b9a2314"/><dir name="Sections"><file name="ConverdoOrderAPI.php" hash="af4dd49f7c08176410aafc72da88b204"/><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="53ddbaa91f4c46d16de1b47b2f24e8b3"/><dir name="Contracts"><file name="PlatformConfigurationContract.php" hash="46e9e2f44531575789553fa6ef08becd"/></dir></dir><dir name="Container"><file name="Container.php" hash="a2205f6d86205da4de23e794c41dac72"/></dir><dir name="Controllers"><file name="PingController.php" hash="8c94c9349b5048f0634f3bf74a6a72e6"/></dir><dir name="Cookie"><dir name="Factories"><file name="CookieFactory.php" hash="78252b7a31606240b43aa55374dd9e05"/></dir><dir name="Managers"><file name="CookieManager.php" hash="594d3b5397162d87fc4801a7476f4382"/></dir><dir name="Models"><dir name="Contracts"><file name="CookieInterface.php" hash="92b3fa2f6990f88f301c999c996f50e3"/></dir><file name="Cookie.php" hash="1fcb532f1b6b2930baf003497e2f66c6"/></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="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="1226250c2546b8255f93bacb8315b49c"/><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="UsesInput.php" hash="e4c019693f821df634361955a24d056d"/></dir><file name="autoload.php" hash="27e9e301ecfbf3ae1a078a797c73f92a"/><file name="bootstrap.php" hash="6a9ac72f0a211dbee9669a462d934eb3"/><file name="config.php" hash="974bfee176efa8828340c0cc983c6d10"/><file name="dependencies.php" hash="45eca8d2171d49f03f4a8721d8167a38"/><file name="functions.php" hash="864a2f9356955a2c44f47b3098f8a738"/></dir><dir name="Magento"><dir name="API"><dir name="Factories"><file name="OrderFactory.php" hash="9ba23305cf4f4554c67bab265e0be83d"/></dir></dir><dir name="Block"><file name="Tracker.php" hash="c2d5df5e73ee1609bb41ddc0425fc975"/></dir><dir name="Config"><file name="Configuration.php" hash="8a6b55117cbe798bebdbd27380b9a6c1"/></dir><dir name="Container"><file name="Bindings.php" hash="9011f4fe08ccbc98b4b881422a53760c"/></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="Log"><file name="Logger.php" hash="f08e96e7d5fffcfacc4e0b052058dd73"/></dir><dir name="Model"><file name="Observer.php" hash="51cc0a8f619715dca0b51caab37256d8"/></dir><dir name="Page"><file name="RouteResolver.php" hash="fe9952398586e39679c85092ea03f013"/></dir><dir name="Support"><file name="ListensToOrders.php" hash="1f1025a5f93f43de05bf27bfd6048b97"/><file name="PriceHelper.php" hash="375c5f44c2c9b90618919412e235e961"/></dir><file name="autoload.php" hash="1dbde2e0916e842888085e261ee558c5"/><dir name="controllers"><file name="PingController.php" hash="7649748a504168df69239daed1a96418"/></dir><dir name="etc"><file name="adminhtml.xml" hash="824d06724e840246b69adfd13e04254b"/><file name="config.xml" hash="43db0c00b39c0d284dd40923d4196bae"/><file name="system.xml" hash="16fc7457f9305475b216c81c6cf1a0af"/></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="e5548c443f1564ce28992e6566cc454d"/></dir><dir name="nl_NL"><file name="Converdo_Analytics.csv" hash="71b67c6946b28b410b919c7a727d1cb2"/></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>