LetsSyncroLLC_Oct8ne - Version 2.1.10

Version Notes

Search engine SearchSpring implementation

Download this release

Release Info

Developer Oct8ne
Extension LetsSyncroLLC_Oct8ne
Version 2.1.10
Comparing to
See all releases


Code changes from version 2.1.9 to 2.1.10

app/code/community/LetsSyncroLLC/Oct8ne/Helper/Search/Searchspring.php ADDED
@@ -0,0 +1,191 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /* SearchString Search engine adapter
4
+ * Parameters
5
+ * - siteId: site Id (The siteId parameter identifies your SearchSpring account. You can find your siteId in the SearchSpring Management Console on the My Account page (click here to go to the SearchSpring Management Console).)
6
+ * - protocol: http || https
7
+ */
8
+
9
+ class LetsSyncroLLC_Oct8ne_Helper_Search_Searchspring extends LetsSyncroLLC_Oct8ne_Helper_Search_Base {
10
+ public function getEngineName() {
11
+ return "searchspring";
12
+ }
13
+
14
+ public function isValidSearchCriteria($searchTerm) {
15
+ if (is_null($searchTerm) || strlen($searchTerm) == 0) {
16
+ return false;
17
+ }
18
+ return true;
19
+ }
20
+
21
+ public function search($storeId, $searchTerm, $searchOrder, $searchDir, $page, $pageSize, &$totalSearchResults, &$attrs_applied, &$attrs_available) {
22
+ $this->log("Searching " . $searchTerm);
23
+ $result = $this->executeSearchSpringSearchQuery($searchTerm, NULL, $searchOrder, $searchDir, $page, $pageSize);
24
+ if (is_null($result)) {
25
+ return array();
26
+ }
27
+ $totalSearchResults = $result["pagination"]["totalResults"];
28
+ $productIds = $this->getProductIds($result);
29
+
30
+ $allAvailableFilters = $this->getAvailableFilters($result);
31
+ $attrs_applied = $this->getResponseAppliedFilter($allAvailableFilters);
32
+ $attrs_available = $this->getAvailableButNotAppliedFilters($attrs_applied, $allAvailableFilters);
33
+
34
+ // if (!empty($productIds)) {
35
+ // // Uncomment for local testing
36
+ // $productIds = array('906', '875', '874', '554', '553', '552', '551', '549', '399', '398');
37
+ // }
38
+ return $productIds;
39
+ }
40
+
41
+ public function getRelatedProductIds($product, $page, $pageSize) {
42
+ $name = $product->getName();
43
+ if (!empty($name)) {
44
+ $result = $this->executeSearchSpringSearchQuery($term, NULL, 'relevance', 'asc', $page, $pageSize, FALSE);
45
+ }
46
+ $productIds = $this->getProductIds($result);
47
+ // if (!empty($productIds)) {
48
+ // // Uncomment for local testing
49
+ // $productIds = array('906', '875', '874', '554', '553', '552', '551', '549', '399', '398');
50
+ // }
51
+ return $productIds;
52
+ }
53
+
54
+ private function executeSearchSpringSearchQuery($searchTerm, $searchCategories, $searchOrder, $searchDir, $page, $pageSize, $includeFacets = TRUE, $method = NULL) {
55
+ if (!function_exists('curl_init')) {
56
+ return NULL;
57
+ }
58
+ $host = $this->getSearchSpringProtocol()."://api.searchspring.net/api/search/search.json";
59
+ $queryParams = array(
60
+ 'siteId' => $this->getEngineParam("siteId"),
61
+ 'resultsFormat' => "native",//response results will be formatted as native JSON objects
62
+ 'q' => $searchTerm,
63
+ 'page' => $page,
64
+ 'resultsPerPage' => $pageSize,
65
+ 'sort.'.$this->getSearchSpringSort($searchOrder) => $searchDir,
66
+ );
67
+ if (!is_null($method)) {
68
+ $queryParams["method"] = $method;
69
+ }
70
+
71
+ if ($includeFacets) {
72
+ $queryParams = $this->getFacets($queryParams);
73
+ }
74
+
75
+ $query = $host . '?' . http_build_query($queryParams);
76
+ $this->log("Executing query: {$query}");
77
+ $request = curl_init($query);
78
+ curl_setopt($request, CURLOPT_POST, 1);
79
+ curl_setopt($request, CURLOPT_RETURNTRANSFER, 1);
80
+ $response = curl_exec($request);
81
+ $err = curl_error($request);
82
+ if (is_null($err) || $err == "") {
83
+ $result = json_decode($response, true);
84
+ if (is_null($result)) {
85
+ $contentType = curl_getinfo($request, CURLINFO_CONTENT_TYPE);
86
+ $msg = "SearchSpring search is not returning valid JSON data, or result is empty. Content-type returned: " . $contentType;
87
+ Mage::log("[Oct8ne] " . $msg);
88
+ $this->log($msg);
89
+ } else {
90
+ $this->log("Query result received");
91
+ }
92
+ } else {
93
+ $this->log("Search error: " . $err);
94
+ $result = NULL;
95
+ }
96
+ curl_close($request);
97
+ return $result;
98
+ }
99
+
100
+ private function getProductIds($result) {
101
+ $productIds = array();
102
+ foreach ($result["results"] as $product) {
103
+ $productIds[] = $product["uid"];
104
+ }
105
+ return $productIds;
106
+ }
107
+
108
+ private function getAvailableFilters($result) {
109
+ $filters = array();
110
+ foreach ($result["facets"] as $facet) {
111
+ if (key_exists("parent_id", $facet)) {
112
+ continue; // Ignore sub-facets
113
+ }
114
+
115
+ $options = array();
116
+ foreach ($facet["values"] as $value) {
117
+ $options[] = $this->createFilterOption($value["label"], $value["value"], $value["count"]);
118
+ }
119
+ $filters[] = $this->createFilterInfo($facet["field"], $facet["label"], $options);
120
+ }
121
+ return $filters;
122
+ }
123
+
124
+ private function getResponseAppliedFilter($availableFilters) {
125
+ $filters = array();
126
+ $request = $this->getRequest();
127
+ foreach ($availableFilters as $availableFilter) {
128
+ $filterParameterValue = $request->getParam($availableFilter["param"]);
129
+ if (!is_null($filterParameterValue)) {
130
+ $options = $availableFilter["options"];
131
+ $currentLabel = $this->getCurrentOptionLabel($filterParameterValue, $options);
132
+ $filters[] = $this->createFilterInfo(
133
+ $availableFilter["param"], $availableFilter["paramLabel"], $options, $currentLabel, $filterParameterValue
134
+ );
135
+ }
136
+ }
137
+ return $filters;
138
+ }
139
+
140
+ private function getSearchSpringSort($searchOrder) {
141
+ $result = "";
142
+ if (!$searchOrder) {
143
+ $searchOrder = "relevance";
144
+ }
145
+ switch ($searchOrder) {
146
+ case "score":
147
+ $result = "relevance";
148
+ break;
149
+ case "relevance":
150
+ $result = "relevance"; // By default, the order is "relevance"
151
+ break;
152
+ case "price":
153
+ $result = "price";
154
+ break;
155
+ case "name":
156
+ $result = "name";
157
+ }
158
+ return $result;
159
+ }
160
+
161
+ function getSearchSpringProtocol() {
162
+ $protocol = $this->getEngineParam("protocol");
163
+ if(is_null($protocol)){
164
+ $protocol = "https";
165
+ }
166
+ return $protocol;
167
+ }
168
+
169
+ private function getFacets($queryParams) {
170
+
171
+ $appliedFilters = $this->getAppliedFilters();
172
+ if ($appliedFilters) {
173
+ $facet = "";
174
+ foreach ($appliedFilters as $param => $value) {
175
+ if (!is_null($value) && trim($value) != '') {
176
+ $queryParams["filter.".$param] = $value;
177
+ }
178
+ }
179
+ }
180
+ return $queryParams;
181
+ }
182
+
183
+ private function getCurrentOptionLabel($value, $options) {
184
+ foreach ($options as $option) {
185
+ if ($option['value'] == $value) {
186
+ return $option["valueLabel"];
187
+ }
188
+ }
189
+ return $value;
190
+ }
191
+ }
app/code/community/LetsSyncroLLC/Oct8ne/Helper/Search/Solr.php CHANGED
@@ -18,7 +18,7 @@
18
  * - http_verb: HTTP verb to use in requests (get|post). By default, "get".
19
  *
20
  * Example:
21
- host=http://dev.binaryanvil.net:8080/solr;
22
  id_field=id;
23
  additional_query_params=in_stock:true AND store_id:1;
24
  query_fields=fulltext_1_en,fulltext_2_en;
18
  * - http_verb: HTTP verb to use in requests (get|post). By default, "get".
19
  *
20
  * Example:
21
+ host=http://xxxxxxxxx.net:8080/solr;
22
  id_field=id;
23
  additional_query_params=in_stock:true AND store_id:1;
24
  query_fields=fulltext_1_en,fulltext_2_en;
app/code/community/LetsSyncroLLC/Oct8ne/Model/SearchEngines.php CHANGED
@@ -8,6 +8,7 @@ class LetsSyncroLLC_Oct8ne_Model_SearchEngines extends Mage_Core_Model_Abstract
8
  array('value' => 'sli', 'label' => 'SLI Search'),
9
  array('value' => 'solr', 'label' => 'Solr'),
10
  array('value' => 'celebros', 'label' => 'Celebros'),
 
11
  );
12
  }
13
 
8
  array('value' => 'sli', 'label' => 'SLI Search'),
9
  array('value' => 'solr', 'label' => 'Solr'),
10
  array('value' => 'celebros', 'label' => 'Celebros'),
11
+ array('value' => 'searchspring', 'label' => 'SearchSpring'),
12
  );
13
  }
14
 
app/code/community/LetsSyncroLLC/Oct8ne/controllers/SetupController.php CHANGED
@@ -15,8 +15,8 @@ class LetsSyncroLLC_Oct8ne_SetupController extends Mage_Core_Controller_Front_Ac
15
  print "<h2 style='color: orange'>Oct8ne</h2>";
16
  print "<p>Welcome to oct8ne's setup utility!</p>";
17
  print "<ul>";
18
- print "<li><a href='/oct8ne/setup/settings'>View or change Settings</a></li>";
19
- print "<li><a href='/oct8ne/setup/linkup'>View or change Linkup or Service status</a></li>";
20
  print "</ul>";
21
  print "</body></html>";
22
  }
@@ -30,7 +30,7 @@ class LetsSyncroLLC_Oct8ne_SetupController extends Mage_Core_Controller_Front_Ac
30
  $settings = "";
31
  $dataList = array();
32
  $this->addSetting($dataList, $settings, 'oct8neSearch/assistedSearch/elementSelector', "Search element selector", 'CSS selector. Example: "#search"');
33
- $this->addSetting($dataList, $settings, 'oct8neSearch/searchEngine/engine', "Search engine", 'Allowed: { "magento", "sli", "solr", "celebros" }');
34
  $this->addSetting($dataList, $settings, 'oct8neSearch/searchEngine/params', "Search engine settings", '"Search engine specific settings"');
35
  $this->addSetting($dataList, $settings, 'oct8neData/productData/productDataDescription', "Comma-separated product description fallback fields or groups.", 'Example: "description,short_description,field1+field2"');
36
  $this->addSetting($dataList, $settings, 'oct8neData/productData/ignoreExcludedImages', "Ignore images marked as excluded", "1=true, 0=false");
@@ -132,7 +132,7 @@ class LetsSyncroLLC_Oct8ne_SetupController extends Mage_Core_Controller_Front_Ac
132
  . "<br /> <br /> "
133
  . "<input type='submit'>"
134
  . "</form>"
135
- . "<p><a href='/oct8ne/setup'>Back to menu</a></p>"
136
  . "</body>"
137
  . "</html>";
138
  }
@@ -202,7 +202,7 @@ class LetsSyncroLLC_Oct8ne_SetupController extends Mage_Core_Controller_Front_Ac
202
  return FALSE;
203
 
204
  $ip = $_SERVER[$header];
205
- return $ip == '127.0.0.1' || $ip == '80.28.120.5' || $ip == '83.32.31.92' || $ip == '::1';
206
  }
207
 
208
  private function returnBadRequest() {
15
  print "<h2 style='color: orange'>Oct8ne</h2>";
16
  print "<p>Welcome to oct8ne's setup utility!</p>";
17
  print "<ul>";
18
+ print "<li><a href='". Mage::getBaseUrl().'oct8ne/setup/settings' ."'>View or change Settings</a></li>";
19
+ print "<li><a href='". Mage::getBaseUrl().'oct8ne/setup/linkup' ."'>View or change Linkup or Service status</a></li>";
20
  print "</ul>";
21
  print "</body></html>";
22
  }
30
  $settings = "";
31
  $dataList = array();
32
  $this->addSetting($dataList, $settings, 'oct8neSearch/assistedSearch/elementSelector', "Search element selector", 'CSS selector. Example: "#search"');
33
+ $this->addSetting($dataList, $settings, 'oct8neSearch/searchEngine/engine', "Search engine", 'Allowed: { "magento", "sli", "solr", "celebros", "searchspring" }');
34
  $this->addSetting($dataList, $settings, 'oct8neSearch/searchEngine/params', "Search engine settings", '"Search engine specific settings"');
35
  $this->addSetting($dataList, $settings, 'oct8neData/productData/productDataDescription', "Comma-separated product description fallback fields or groups.", 'Example: "description,short_description,field1+field2"');
36
  $this->addSetting($dataList, $settings, 'oct8neData/productData/ignoreExcludedImages', "Ignore images marked as excluded", "1=true, 0=false");
132
  . "<br /> <br /> "
133
  . "<input type='submit'>"
134
  . "</form>"
135
+ . "<p><a href='../setup'>Back to menu</a></p>"
136
  . "</body>"
137
  . "</html>";
138
  }
202
  return FALSE;
203
 
204
  $ip = $_SERVER[$header];
205
+ return $ip == '127.0.0.1' || $ip == '80.28.120.5' || $ip == '83.32.31.92' || $ip == '138.91.153.74' || $ip == '168.62.164.114' || $ip == '::1';
206
  }
207
 
208
  private function returnBadRequest() {
app/code/community/LetsSyncroLLC/Oct8ne/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <LetsSyncroLLC_Oct8ne>
5
- <version>2.1.9</version>
6
  </LetsSyncroLLC_Oct8ne>
7
  </modules>
8
 
2
  <config>
3
  <modules>
4
  <LetsSyncroLLC_Oct8ne>
5
+ <version>2.1.10</version>
6
  </LetsSyncroLLC_Oct8ne>
7
  </modules>
8
 
app/design/frontend/base/default/template/oct8ne/letssyncro.phtml CHANGED
@@ -63,7 +63,6 @@ EOT;
63
  if($oct8neHostName) {
64
  echo <<<EOT
65
  oct8ne.server = "{$oct8neHostName}/";
66
-
67
  EOT;
68
  }
69
 
63
  if($oct8neHostName) {
64
  echo <<<EOT
65
  oct8ne.server = "{$oct8neHostName}/";
 
66
  EOT;
67
  }
68
 
app/etc/modules/LetsSyncroLLC_Oct8ne.xml CHANGED
@@ -4,7 +4,7 @@
4
  <LetsSyncroLLC_Oct8ne>
5
  <active>true</active>
6
  <codePool>community</codePool>
7
- <version>2.1.9</version>
8
  <depends>
9
  <Mage_Eav/>
10
  <Mage_Dataflow/>
4
  <LetsSyncroLLC_Oct8ne>
5
  <active>true</active>
6
  <codePool>community</codePool>
7
+ <version>2.1.10</version>
8
  <depends>
9
  <Mage_Eav/>
10
  <Mage_Dataflow/>
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>LetsSyncroLLC_Oct8ne</name>
4
- <version>2.1.9</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>Oct8ne extension</summary>
10
  <description>Agent-assisted search, proprietary co-viewing technology, &amp; live chat to engage in personal selling &amp; service.</description>
11
- <notes>CDN Api Implementation</notes>
12
  <authors><author><name>Oct8ne</name><user>Oct8ne</user><email>xavier.gonzalez@oct8ne.com</email></author></authors>
13
- <date>2017-05-30</date>
14
- <time>15:16:18</time>
15
- <contents><target name="magecommunity"><dir name="LetsSyncroLLC"><dir name="Oct8ne"><dir name="Block"><file name="Accountconfig.php" hash="3ed9d084914ed2b2651bf64bfb4f8eed"/><dir name="Customer"><file name="Notifier.php" hash="58785a446c6c6a69db0348b81852028b"/></dir><dir name="Html"><file name="Head.php" hash="7fec049acbd3391ce0176982eede105b"/></dir><file name="Index.php" hash="d4cc07e7e6412cb9f3cedf2508f56461"/><dir name="Mage"><dir name="Product"><file name="View.php" hash="ca15ba7c5cc756cc18af5c9c48fbe492"/></dir></dir></dir><dir name="Helper"><file name="CustomerData.php" hash="38658993e66fee8d5e3170658fa71556"/><file name="Data.php" hash="b44aae800370a4bc39c66d4e1b349215"/><file name="Debug.php" hash="147f2d06848b4596a0409b471cf0769a"/><dir name="Image"><file name="Default.php" hash="74ff374e88db99c4ae911bd3303e4c8e"/><file name="Schuler.php" hash="ea104cd9d9df2c62beab7af298e45fe1"/></dir><file name="Reports.php" hash="6df3362a381e507a69fbf27162174f1b"/><dir name="Search"><file name="Base.php" hash="abd7647e0892bd912cc11406ee59188b"/><file name="Celebros.php" hash="9c7007d3a3501d63af8207e107f6ac0f"/><dir name="CelebrosAPI"><file name="QwiserAnswer.php" hash="56f07a272ce8de8738868fc4c7a74165"/><file name="QwiserAnswers.php" hash="a7ac00848b3f60935771880b75aba90c"/><file name="QwiserConcept.php" hash="32ffebe11630864b666fe66f37eab1b2"/><file name="QwiserConcepts.php" hash="0b3c0fada961fe22dd6cbb3a4b719d2a"/><file name="QwiserProduct.php" hash="09069308e5f5fc862ddafebe7152f40b"/><file name="QwiserProductAnswer.php" hash="9dc1c8c9a929affa9db5a339ac1b7317"/><file name="QwiserProductAnswers.php" hash="699fc568eeb8bfc3d4bcc9b24102d3ad"/><file name="QwiserProductField.php" hash="273c36aad014b9220201881738eeafea"/><file name="QwiserProductFields.php" hash="4670e55b10d57c4208d9e5bacdd1d91c"/><file name="QwiserProducts.php" hash="cf2f76940b1c508823d00fbb7817cd06"/><file name="QwiserProductsMetaData.php" hash="4d54fae9b996ea18bbad5a60cd72c52a"/><file name="QwiserQuestion.php" hash="a148b2193de6967c3a12f43b939b92f2"/><file name="QwiserQuestions.php" hash="9de5d58ab267ea6a4ea9084d54920ddd"/><file name="QwiserSearchAPI.php" hash="e2680c99083553f6e0dc908ba3875603"/><file name="QwiserSearchPath.php" hash="300327589bf6720d0ae400c9cce755e7"/><file name="QwiserSearchPathEntry.php" hash="6e4192df47fc6c7ebdbb6251b6401e57"/><file name="QwiserSearchResults.php" hash="379337770db03fc27377be8de14ebd55"/><file name="QwiserSpellerInformation.php" hash="c52100535c3f0dc9650740cdbda6e40a"/><file name="SearchInformation.php" hash="de29fd1136f2512c18603164abfa58af"/><file name="SortingOptions.php" hash="a55d1eaabfee811b9f71dfdbb61f5c9a"/><file name="domxml-php4-to-php5.php" hash="29c0571bea402f63987c09d811d1a662"/></dir><file name="Magento.php" hash="0ae593bd70db8952c897682082594c10"/><file name="Sli.php" hash="c3cbe01a28f09a0e83bffb7764fb40c1"/><file name="Solr.php" hash="65b9025b2d6c9d5a4d560241dfbe3805"/></dir><file name="Url.php" hash="f149bf772e00100ea8241da35476e4af"/><file name="Version.php" hash="fe41f98f2f73b6252f0e2c4fca830369"/><file name="Wishlist.php" hash="95a30da6de9131026580e6475a2ea951"/></dir><dir name="Model"><file name="Cron.php" hash="11fbdce80ef509a89cbc055960c627dd"/><file name="ImageWidth.php" hash="ddffd8d74a25f989b1116a663ac3a9e6"/><file name="Letssyncro.php" hash="a7755ee759fa31f004207823314a907d"/><dir name="Mage"><file name="Onepage.php" hash="400ea1de621a7d2e6b0e04db55b60027"/><file name="Request.php" hash="feee181c817bc4a1ed8d662104ddb1af"/><file name="Rewrite.php" hash="5699a8b1707724c4ad01fd6998cf12d6"/><file name="Url.php" hash="82a05832eaea74fedfd2c5b081dc5cc6"/></dir><dir name="Mysql4"><dir name="LetsSyncro"><file name="Collection.php" hash="1820b31106065627aa81007f966de6b7"/></dir><file name="Letssyncro.php" hash="81b49a4f7770d408eacd230a41434cbf"/><dir name="Order"><file name="Collection.php" hash="431a18fb0f8a2d29ea44a1b617b48382"/></dir><file name="Order.php" hash="1fd857af382915617c1d64d438a842ab"/></dir><file name="Observer.php" hash="bdfb77a7082ac8c27756b5bf7f4779df"/><file name="Order.php" hash="5ea076e3f76f9a28a5ab6eee1f157b69"/><file name="Orderproducts.php" hash="9edf0ab5159b046d0d33c2766087183f"/><file name="Quoteproducts.php" hash="3b6baf23d5ab4136c52fe24d470a3fd0"/><file name="SearchEngines.php" hash="d894f3f32f74bde7899db50dcf3e2719"/></dir><dir name="controllers"><file name="AccountController.php" hash="c900a756947b61498e5edd2e39b1d0bf"/><file name="FrameController.php" hash="86bc36473a0d69bc6e01b2d14374a0b8"/><file name="IndexController.php" hash="5a63469c2dead9b78a262fd580a3e43b"/><file name="Oct8neAdminController.php" hash="159d851a7b51f3483ebdfe2b49b05b4a"/><file name="SetupController.php" hash="5d00d70a9d9794877ba9c7490038d6d2"/></dir><dir name="etc"><file name="config.xml" hash="c73d3840f01fb10410dfc13f1ca46386"/><file name="system.xml" hash="2447530e6dd54c5abd423732c54644da"/></dir><dir name="sql"><dir name="oct8ne_setup"><file name="mysql4-install-2.0.0.php" hash="7cd9ed6b373a104ec7a27b1b2f26b570"/><file name="mysql4-install-2.1.0.php" hash="0c268a08bbfc48a072fdfb75c7013a43"/><file name="mysql4-install-2.1.2.php" hash="0c268a08bbfc48a072fdfb75c7013a43"/><file name="mysql4-install-2.1.3.php" hash="0c268a08bbfc48a072fdfb75c7013a43"/><file name="mysql4-install-2.1.4.php" hash="0c268a08bbfc48a072fdfb75c7013a43"/><file name="mysql4-upgrade-1-2.1.0.php" hash="5883e47d9718350d49146e33ba8fbd84"/><file name="mysql4-upgrade-1.0.0-1.1.0.php" hash="0944f9c420562fa8071b04eff2abdb15"/><file name="mysql4-upgrade-1.1.6-1.1.7.php" hash="eecd1f66e51507306abf5e4fa5d70584"/><file name="mysql4-upgrade-1.1.7-2.0.0.php" hash="3c7e1655fb0b45dd5dc01aca98929679"/><file name="mysql4-upgrade-2.0.0-2.0.3.php" hash="0288d291dec83584d97052e62b64a738"/><file name="mysql4-upgrade-2.0.3-2.1.0.php" hash="4a06d9802360e45a08d417168c260f15"/><file name="mysql4-upgrade-2.1.0-2.1.1.php" hash="0288d291dec83584d97052e62b64a738"/><file name="mysql4-upgrade-2.1.1-2.1.2.php" hash="0288d291dec83584d97052e62b64a738"/><file name="mysql4-upgrade-2.1.2-2.1.3.php" hash="0288d291dec83584d97052e62b64a738"/><file name="mysql4-upgrade-2.1.3-2.1.4.php" hash="0288d291dec83584d97052e62b64a738"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="oct8ne"><dir name="layout"><file name="oct8ne.xml" hash="664f6b6c51799aba0fa905cbc80eb703"/></dir><dir name="template"><dir name="page"><file name="1column.phtml" hash="3fbf17f71254a75cbf3261eab5a727ab"/><file name="2columns-left.phtml" hash="3fbf17f71254a75cbf3261eab5a727ab"/><file name="2columns-right.phtml" hash="3fbf17f71254a75cbf3261eab5a727ab"/><file name="3columns.phtml" hash="3fbf17f71254a75cbf3261eab5a727ab"/></dir></dir></dir></dir><dir name="base"><dir name="default"><dir name="layout"><file name="oct8ne.xml" hash="4b6f167fdbaf25f864934c0e8ecdda51"/></dir><dir name="template"><dir name="oct8ne"><dir name="frame"><file name="clean-page.phtml" hash="86c6580270709b8adb8a624130704cb5"/><dir name="productview"><file name="additional.phtml" hash="d0f80a4f31b31154af12197301cbc524"/><file name="addto.phtml" hash="358f19e35ff76f853cfad50ad35329fc"/><file name="addtocart.phtml" hash="06ac8be9a7197e87e8c5972c27804cc9"/><file name="attributes.phtml" hash="def5531385ad60aac88274bd91f76f52"/><file name="description.phtml" hash="09674e0a56d36f27c93d3a52c3a880c4"/><file name="media.phtml" hash="b23c4e9ef29e00d2f592d822fec8e52c"/><file name="media.phtml.ORIGINAL" hash="071f4d92269b2cbfa1a14271afbf0dbe"/><dir name="options"><file name="js.phtml" hash="7d9917d908ca99033c3473ecc10d895d"/><dir name="type"><file name="date.phtml" hash="41a612891cda695e3023d15a460c4325"/><file name="default.phtml" hash="b6f6d8e715f2a1d59913f313654fc38a"/><file name="file.phtml" hash="5e336ccdfa66b78264e5a0e859600d74"/><file name="select.phtml" hash="162f029fc825b78676cce70633805e62"/><file name="text.phtml" hash="c2c2940fb278d952e0e0d5d232ba5ed9"/></dir><dir name="wrapper"><file name="bottom.phtml" hash="182b49972e67cc834b8e1094a3984f5b"/></dir><file name="wrapper.phtml" hash="b635f6abf10b920afb6000b462134db6"/></dir><file name="options.phtml" hash="60d92d70da66f28300788027aa6f3056"/><file name="price.phtml" hash="06e90ec3368d07d62c3895f706069f96"/><file name="price_clone.phtml" hash="fb1ca9b19f97b0498f529b96c5c0e372"/><file name="tierprices.phtml" hash="4ac50d3c9f54d11fa5041a361485da74"/><dir name="type"><file name="configurable.phtml" hash="b9a427816f9c8a3d0d7179e8d5382683"/><file name="default.phtml" hash="e7f000d4b7fbc62f4e155e429f976126"/><file name="grouped.phtml" hash="9ce42ac44794853963bf68e9f2e911b0"/><dir name="options"><file name="configurable.phtml" hash="2636b369c1ceacd1b131f77ade2c996f"/></dir><file name="simple.phtml" hash="b9a427816f9c8a3d0d7179e8d5382683"/><file name="virtual.phtml" hash="b9a427816f9c8a3d0d7179e8d5382683"/></dir></dir><file name="productview.phtml" hash="da287c78285ecb003bbee37491d3a2f2"/></dir><file name="letssyncro.phtml" hash="31e09ed153e3a86bd538253172cdec0b"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="LetsSyncroLLC_Oct8ne.xml" hash="8eabd7a27861de2b5ec96ed16c813461"/></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="LetsSyncroLLC_Oct8ne.csv" hash="686df4107da7e35e243b629c5ee57963"/></dir><dir name="es_ES"><file name="LetsSyncroLLC_Oct8ne.csv" hash="eb0b3ddaae1e2e52005e9ab23cb37163"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><file name="oct8ne.css" hash="4255fddac8c054bbe32621cdccf844b8"/></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><file name="LetsSyncro_Logo.png" hash="2104af20cc380d0c745531e1dca2f97c"/></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>LetsSyncroLLC_Oct8ne</name>
4
+ <version>2.1.10</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>Oct8ne extension</summary>
10
  <description>Agent-assisted search, proprietary co-viewing technology, &amp; live chat to engage in personal selling &amp; service.</description>
11
+ <notes>Search engine SearchSpring implementation</notes>
12
  <authors><author><name>Oct8ne</name><user>Oct8ne</user><email>xavier.gonzalez@oct8ne.com</email></author></authors>
13
+ <date>2017-06-13</date>
14
+ <time>09:19:43</time>
15
+ <contents><target name="magecommunity"><dir name="LetsSyncroLLC"><dir name="Oct8ne"><dir name="Block"><file name="Accountconfig.php" hash="3ed9d084914ed2b2651bf64bfb4f8eed"/><dir name="Customer"><file name="Notifier.php" hash="58785a446c6c6a69db0348b81852028b"/></dir><dir name="Html"><file name="Head.php" hash="7fec049acbd3391ce0176982eede105b"/></dir><file name="Index.php" hash="d4cc07e7e6412cb9f3cedf2508f56461"/><dir name="Mage"><dir name="Product"><file name="View.php" hash="ca15ba7c5cc756cc18af5c9c48fbe492"/></dir></dir></dir><dir name="Helper"><file name="CustomerData.php" hash="38658993e66fee8d5e3170658fa71556"/><file name="Data.php" hash="b44aae800370a4bc39c66d4e1b349215"/><file name="Debug.php" hash="147f2d06848b4596a0409b471cf0769a"/><dir name="Image"><file name="Default.php" hash="74ff374e88db99c4ae911bd3303e4c8e"/><file name="Schuler.php" hash="ea104cd9d9df2c62beab7af298e45fe1"/></dir><file name="Reports.php" hash="6df3362a381e507a69fbf27162174f1b"/><dir name="Search"><file name="Base.php" hash="abd7647e0892bd912cc11406ee59188b"/><file name="Celebros.php" hash="9c7007d3a3501d63af8207e107f6ac0f"/><dir name="CelebrosAPI"><file name="QwiserAnswer.php" hash="56f07a272ce8de8738868fc4c7a74165"/><file name="QwiserAnswers.php" hash="a7ac00848b3f60935771880b75aba90c"/><file name="QwiserConcept.php" hash="32ffebe11630864b666fe66f37eab1b2"/><file name="QwiserConcepts.php" hash="0b3c0fada961fe22dd6cbb3a4b719d2a"/><file name="QwiserProduct.php" hash="09069308e5f5fc862ddafebe7152f40b"/><file name="QwiserProductAnswer.php" hash="9dc1c8c9a929affa9db5a339ac1b7317"/><file name="QwiserProductAnswers.php" hash="699fc568eeb8bfc3d4bcc9b24102d3ad"/><file name="QwiserProductField.php" hash="273c36aad014b9220201881738eeafea"/><file name="QwiserProductFields.php" hash="4670e55b10d57c4208d9e5bacdd1d91c"/><file name="QwiserProducts.php" hash="cf2f76940b1c508823d00fbb7817cd06"/><file name="QwiserProductsMetaData.php" hash="4d54fae9b996ea18bbad5a60cd72c52a"/><file name="QwiserQuestion.php" hash="a148b2193de6967c3a12f43b939b92f2"/><file name="QwiserQuestions.php" hash="9de5d58ab267ea6a4ea9084d54920ddd"/><file name="QwiserSearchAPI.php" hash="e2680c99083553f6e0dc908ba3875603"/><file name="QwiserSearchPath.php" hash="300327589bf6720d0ae400c9cce755e7"/><file name="QwiserSearchPathEntry.php" hash="6e4192df47fc6c7ebdbb6251b6401e57"/><file name="QwiserSearchResults.php" hash="379337770db03fc27377be8de14ebd55"/><file name="QwiserSpellerInformation.php" hash="c52100535c3f0dc9650740cdbda6e40a"/><file name="SearchInformation.php" hash="de29fd1136f2512c18603164abfa58af"/><file name="SortingOptions.php" hash="a55d1eaabfee811b9f71dfdbb61f5c9a"/><file name="domxml-php4-to-php5.php" hash="29c0571bea402f63987c09d811d1a662"/></dir><file name="Magento.php" hash="0ae593bd70db8952c897682082594c10"/><file name="Searchspring.php" hash="e8ac99fe18eb2c2d96e0eeb7c2df76d1"/><file name="Sli.php" hash="c3cbe01a28f09a0e83bffb7764fb40c1"/><file name="Solr.php" hash="ec7ff617b5cc692e5089ad98193a2eb4"/></dir><file name="Url.php" hash="f149bf772e00100ea8241da35476e4af"/><file name="Version.php" hash="fe41f98f2f73b6252f0e2c4fca830369"/><file name="Wishlist.php" hash="95a30da6de9131026580e6475a2ea951"/></dir><dir name="Model"><file name="Cron.php" hash="11fbdce80ef509a89cbc055960c627dd"/><file name="ImageWidth.php" hash="ddffd8d74a25f989b1116a663ac3a9e6"/><file name="Letssyncro.php" hash="a7755ee759fa31f004207823314a907d"/><dir name="Mage"><file name="Onepage.php" hash="400ea1de621a7d2e6b0e04db55b60027"/><file name="Request.php" hash="feee181c817bc4a1ed8d662104ddb1af"/><file name="Rewrite.php" hash="5699a8b1707724c4ad01fd6998cf12d6"/><file name="Url.php" hash="82a05832eaea74fedfd2c5b081dc5cc6"/></dir><dir name="Mysql4"><dir name="LetsSyncro"><file name="Collection.php" hash="1820b31106065627aa81007f966de6b7"/></dir><file name="Letssyncro.php" hash="81b49a4f7770d408eacd230a41434cbf"/><dir name="Order"><file name="Collection.php" hash="431a18fb0f8a2d29ea44a1b617b48382"/></dir><file name="Order.php" hash="1fd857af382915617c1d64d438a842ab"/></dir><file name="Observer.php" hash="bdfb77a7082ac8c27756b5bf7f4779df"/><file name="Order.php" hash="5ea076e3f76f9a28a5ab6eee1f157b69"/><file name="Orderproducts.php" hash="9edf0ab5159b046d0d33c2766087183f"/><file name="Quoteproducts.php" hash="3b6baf23d5ab4136c52fe24d470a3fd0"/><file name="SearchEngines.php" hash="aafb79c287ddba4ac649ee739194e620"/></dir><dir name="controllers"><file name="AccountController.php" hash="c900a756947b61498e5edd2e39b1d0bf"/><file name="FrameController.php" hash="86bc36473a0d69bc6e01b2d14374a0b8"/><file name="IndexController.php" hash="5a63469c2dead9b78a262fd580a3e43b"/><file name="Oct8neAdminController.php" hash="159d851a7b51f3483ebdfe2b49b05b4a"/><file name="SetupController.php" hash="1143f1844db0f18cabca82ede4296bb4"/></dir><dir name="etc"><file name="config.xml" hash="f1e0b793592d8675b435ebbc02647b81"/><file name="system.xml" hash="2447530e6dd54c5abd423732c54644da"/></dir><dir name="sql"><dir name="oct8ne_setup"><file name="mysql4-install-2.0.0.php" hash="7cd9ed6b373a104ec7a27b1b2f26b570"/><file name="mysql4-install-2.1.0.php" hash="0c268a08bbfc48a072fdfb75c7013a43"/><file name="mysql4-install-2.1.2.php" hash="0c268a08bbfc48a072fdfb75c7013a43"/><file name="mysql4-install-2.1.3.php" hash="0c268a08bbfc48a072fdfb75c7013a43"/><file name="mysql4-install-2.1.4.php" hash="0c268a08bbfc48a072fdfb75c7013a43"/><file name="mysql4-upgrade-1-2.1.0.php" hash="5883e47d9718350d49146e33ba8fbd84"/><file name="mysql4-upgrade-1.0.0-1.1.0.php" hash="0944f9c420562fa8071b04eff2abdb15"/><file name="mysql4-upgrade-1.1.6-1.1.7.php" hash="eecd1f66e51507306abf5e4fa5d70584"/><file name="mysql4-upgrade-1.1.7-2.0.0.php" hash="3c7e1655fb0b45dd5dc01aca98929679"/><file name="mysql4-upgrade-2.0.0-2.0.3.php" hash="0288d291dec83584d97052e62b64a738"/><file name="mysql4-upgrade-2.0.3-2.1.0.php" hash="4a06d9802360e45a08d417168c260f15"/><file name="mysql4-upgrade-2.1.0-2.1.1.php" hash="0288d291dec83584d97052e62b64a738"/><file name="mysql4-upgrade-2.1.1-2.1.2.php" hash="0288d291dec83584d97052e62b64a738"/><file name="mysql4-upgrade-2.1.2-2.1.3.php" hash="0288d291dec83584d97052e62b64a738"/><file name="mysql4-upgrade-2.1.3-2.1.4.php" hash="0288d291dec83584d97052e62b64a738"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="oct8ne"><dir name="layout"><file name="oct8ne.xml" hash="664f6b6c51799aba0fa905cbc80eb703"/></dir><dir name="template"><dir name="page"><file name="1column.phtml" hash="3fbf17f71254a75cbf3261eab5a727ab"/><file name="2columns-left.phtml" hash="3fbf17f71254a75cbf3261eab5a727ab"/><file name="2columns-right.phtml" hash="3fbf17f71254a75cbf3261eab5a727ab"/><file name="3columns.phtml" hash="3fbf17f71254a75cbf3261eab5a727ab"/></dir></dir></dir></dir><dir name="base"><dir name="default"><dir name="layout"><file name="oct8ne.xml" hash="4b6f167fdbaf25f864934c0e8ecdda51"/></dir><dir name="template"><dir name="oct8ne"><dir name="frame"><file name="clean-page.phtml" hash="86c6580270709b8adb8a624130704cb5"/><dir name="productview"><file name="additional.phtml" hash="d0f80a4f31b31154af12197301cbc524"/><file name="addto.phtml" hash="358f19e35ff76f853cfad50ad35329fc"/><file name="addtocart.phtml" hash="06ac8be9a7197e87e8c5972c27804cc9"/><file name="attributes.phtml" hash="def5531385ad60aac88274bd91f76f52"/><file name="description.phtml" hash="09674e0a56d36f27c93d3a52c3a880c4"/><file name="media.phtml" hash="b23c4e9ef29e00d2f592d822fec8e52c"/><file name="media.phtml.ORIGINAL" hash="071f4d92269b2cbfa1a14271afbf0dbe"/><dir name="options"><file name="js.phtml" hash="7d9917d908ca99033c3473ecc10d895d"/><dir name="type"><file name="date.phtml" hash="41a612891cda695e3023d15a460c4325"/><file name="default.phtml" hash="b6f6d8e715f2a1d59913f313654fc38a"/><file name="file.phtml" hash="5e336ccdfa66b78264e5a0e859600d74"/><file name="select.phtml" hash="162f029fc825b78676cce70633805e62"/><file name="text.phtml" hash="c2c2940fb278d952e0e0d5d232ba5ed9"/></dir><dir name="wrapper"><file name="bottom.phtml" hash="182b49972e67cc834b8e1094a3984f5b"/></dir><file name="wrapper.phtml" hash="b635f6abf10b920afb6000b462134db6"/></dir><file name="options.phtml" hash="60d92d70da66f28300788027aa6f3056"/><file name="price.phtml" hash="06e90ec3368d07d62c3895f706069f96"/><file name="price_clone.phtml" hash="fb1ca9b19f97b0498f529b96c5c0e372"/><file name="tierprices.phtml" hash="4ac50d3c9f54d11fa5041a361485da74"/><dir name="type"><file name="configurable.phtml" hash="b9a427816f9c8a3d0d7179e8d5382683"/><file name="default.phtml" hash="e7f000d4b7fbc62f4e155e429f976126"/><file name="grouped.phtml" hash="9ce42ac44794853963bf68e9f2e911b0"/><dir name="options"><file name="configurable.phtml" hash="2636b369c1ceacd1b131f77ade2c996f"/></dir><file name="simple.phtml" hash="b9a427816f9c8a3d0d7179e8d5382683"/><file name="virtual.phtml" hash="b9a427816f9c8a3d0d7179e8d5382683"/></dir></dir><file name="productview.phtml" hash="da287c78285ecb003bbee37491d3a2f2"/></dir><file name="letssyncro.phtml" hash="6e359ef3c88edcb76204c6171db3ce2e"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="LetsSyncroLLC_Oct8ne.xml" hash="02a44479d5fd679e69bed1206c72b2ea"/></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="LetsSyncroLLC_Oct8ne.csv" hash="686df4107da7e35e243b629c5ee57963"/></dir><dir name="es_ES"><file name="LetsSyncroLLC_Oct8ne.csv" hash="eb0b3ddaae1e2e52005e9ab23cb37163"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><file name="oct8ne.css" hash="4255fddac8c054bbe32621cdccf844b8"/></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><file name="LetsSyncro_Logo.png" hash="2104af20cc380d0c745531e1dca2f97c"/></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>