Version Notes
OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.
Download this release
Release Info
Developer | Oro, Inc |
Extension | Oro_Api |
Version | 1.2.7.0 |
Comparing to | |
See all releases |
Code changes from version 1.2.5.0 to 1.2.7.0
- app/code/community/Oro/Api/Helper/Data.php +21 -0
- app/code/community/Oro/Api/Model/Ping.php +6 -3
- app/code/community/Oro/Api/Model/Resource/Setup.php +25 -0
- app/code/community/Oro/Api/Model/Resource/Wishlist/Status.php +74 -0
- app/code/community/Oro/Api/Model/Resource/Wishlist/Status/Collection.php +33 -0
- app/code/community/Oro/Api/Model/Sales/Quote/Api.php +50 -35
- app/code/community/Oro/Api/Model/Wishlist/Api.php +217 -6
- app/code/community/Oro/Api/Model/Wishlist/Observer.php +75 -0
- app/code/community/Oro/Api/Model/Wishlist/Status.php +49 -0
- app/code/community/Oro/Api/Model/Wishlist/Status/Api.php +71 -0
- app/code/community/Oro/Api/Model/Wishlist/Status/Api/V2.php +21 -0
- app/code/community/Oro/Api/etc/api.xml +50 -0
- app/code/community/Oro/Api/etc/config.xml +56 -1
- app/code/community/Oro/Api/etc/system.xml +9 -0
- app/code/community/Oro/Api/etc/wsdl.xml +104 -1
- app/code/community/Oro/Api/etc/wsi.xml +103 -1
- app/code/community/Oro/Api/sql/oro_api_setup/install-1.2.5.php +20 -0
- app/code/community/Oro/Api/sql/oro_api_setup/upgrade-1.2.5.0-1.2.5.1.php +42 -0
- app/etc/modules/Oro_Api.xml +3 -0
- package.xml +4 -4
app/code/community/Oro/Api/Helper/Data.php
CHANGED
@@ -260,4 +260,25 @@ class Oro_Api_Helper_Data
|
|
260 |
|
261 |
return $result;
|
262 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
263 |
}
|
260 |
|
261 |
return $result;
|
262 |
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* Get store/wibsite filter data as array from filter condition
|
266 |
+
*
|
267 |
+
* @param array $condition
|
268 |
+
* @return array
|
269 |
+
*/
|
270 |
+
public function getDataFromFilterCondition($condition)
|
271 |
+
{
|
272 |
+
$result = array();
|
273 |
+
|
274 |
+
if (is_array($condition)) {
|
275 |
+
if (isset($condition['eq'])) {
|
276 |
+
$result = array($condition['eq']);
|
277 |
+
} elseif (isset($condition['in'])) {
|
278 |
+
$result = $condition['in'];
|
279 |
+
}
|
280 |
+
}
|
281 |
+
|
282 |
+
return $result;
|
283 |
+
}
|
284 |
}
|
app/code/community/Oro/Api/Model/Ping.php
CHANGED
@@ -22,10 +22,13 @@ class Oro_Api_Model_Ping extends Mage_Api_Model_Resource_Abstract
|
|
22 |
*/
|
23 |
public function ping()
|
24 |
{
|
|
|
|
|
25 |
return array(
|
26 |
-
'version'
|
27 |
-
'mage_version'
|
28 |
-
'admin_url'
|
|
|
29 |
);
|
30 |
}
|
31 |
}
|
22 |
*/
|
23 |
public function ping()
|
24 |
{
|
25 |
+
$customerScope = (int)Mage::getSingleton('customer/config_share')->isWebsiteScope();
|
26 |
+
|
27 |
return array(
|
28 |
+
'version' => (string)Mage::getConfig()->getNode('modules/Oro_Api/version'),
|
29 |
+
'mage_version' => Mage::getVersion(),
|
30 |
+
'admin_url' => Mage::getUrl('adminhtml'),
|
31 |
+
'customer_scope' => $customerScope,
|
32 |
);
|
33 |
}
|
34 |
}
|
app/code/community/Oro/Api/Model/Resource/Setup.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Oro Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magecore.com so we can send you a copy immediately
|
12 |
+
*
|
13 |
+
* @category Oro
|
14 |
+
* @package Oro_Api
|
15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Oro API wishlist resource setup
|
21 |
+
*
|
22 |
+
*/
|
23 |
+
class Oro_Api_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup
|
24 |
+
{
|
25 |
+
}
|
app/code/community/Oro/Api/Model/Resource/Wishlist/Status.php
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Oro Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magecore.com so we can send you a copy immediately
|
12 |
+
*
|
13 |
+
* @category Oro
|
14 |
+
* @package Oro_Api
|
15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Wishlist status resource model
|
21 |
+
*/
|
22 |
+
class Oro_Api_Model_Resource_Wishlist_Status extends Mage_Core_Model_Resource_Db_Abstract
|
23 |
+
{
|
24 |
+
/**
|
25 |
+
* Primary key auto increment flag
|
26 |
+
*
|
27 |
+
* @var bool
|
28 |
+
*/
|
29 |
+
protected $_isPkAutoIncrement = false;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Constructor
|
33 |
+
*/
|
34 |
+
protected function _construct()
|
35 |
+
{
|
36 |
+
$this->_init('oro_api/wishlist_status', 'wishlist_id');
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Clean status logs
|
41 |
+
*
|
42 |
+
* @param Oro_Api_Model_Wishlist_Status $object
|
43 |
+
* @return Oro_Api_Model_Resource_Wishlist_Status
|
44 |
+
*/
|
45 |
+
public function clean(Oro_Api_Model_Wishlist_Status $object)
|
46 |
+
{
|
47 |
+
$cleanTime = $object->getLogCleanTime();
|
48 |
+
$this->_cleanStatuses($cleanTime);
|
49 |
+
|
50 |
+
return $this;
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Clean statuses table
|
55 |
+
*
|
56 |
+
* @param int $time
|
57 |
+
* @return Oro_Api_Model_Resource_Wishlist_Status
|
58 |
+
*/
|
59 |
+
protected function _cleanStatuses($time)
|
60 |
+
{
|
61 |
+
$writeAdapter = $this->_getWriteAdapter();
|
62 |
+
$timeLimit = $this->formatDate(Mage::getModel('core/date')->gmtTimestamp() - $time);
|
63 |
+
$condition = array('deleted_at < ?' => $timeLimit);
|
64 |
+
|
65 |
+
// remove wishlist statuses from oro_api/wishlist_status
|
66 |
+
try {
|
67 |
+
$writeAdapter->delete($this->getTable('oro_api/wishlist_status'), $condition);
|
68 |
+
} catch (Exception $e) {
|
69 |
+
Mage::log($e->getMessage());
|
70 |
+
}
|
71 |
+
|
72 |
+
return $this;
|
73 |
+
}
|
74 |
+
}
|
app/code/community/Oro/Api/Model/Resource/Wishlist/Status/Collection.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Oro Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magecore.com so we can send you a copy immediately
|
12 |
+
*
|
13 |
+
* @category Oro
|
14 |
+
* @package Oro_Api
|
15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Wishlist Status Resource Collection
|
21 |
+
*/
|
22 |
+
class Oro_Api_Model_Resource_Wishlist_Status_Collection
|
23 |
+
extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
24 |
+
{
|
25 |
+
/**
|
26 |
+
* Resource constructor
|
27 |
+
*
|
28 |
+
*/
|
29 |
+
protected function _construct()
|
30 |
+
{
|
31 |
+
$this->_init('oro_api/wishlist_status');
|
32 |
+
}
|
33 |
+
}
|
app/code/community/Oro/Api/Model/Sales/Quote/Api.php
CHANGED
@@ -45,7 +45,6 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
45 |
{
|
46 |
/** @var Mage_Sales_Model_Resource_Quote_Collection $quoteCollection */
|
47 |
$quoteCollection = Mage::getResourceModel('sales/quote_collection');
|
48 |
-
|
49 |
$filters = $this->_apiHelper->parseFilters($filters);
|
50 |
try {
|
51 |
foreach ($filters as $field => $value) {
|
@@ -61,6 +60,8 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
61 |
return array();
|
62 |
}
|
63 |
|
|
|
|
|
64 |
$resultArray = array();
|
65 |
/** @var Mage_Sales_Model_Quote $quote */
|
66 |
foreach ($quoteCollection as $quote) {
|
@@ -84,12 +85,6 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
84 |
*/
|
85 |
protected function info($quote)
|
86 |
{
|
87 |
-
if ($quote->getGiftMessageId() > 0) {
|
88 |
-
$quote->setGiftMessage(
|
89 |
-
Mage::getSingleton('giftmessage/message')->load($quote->getGiftMessageId())->getMessage()
|
90 |
-
);
|
91 |
-
}
|
92 |
-
|
93 |
$result = $this->_getAttributes($quote, 'quote');
|
94 |
$result['shipping_address'] = $this->_getAttributes($quote->getShippingAddress(), 'quote_address');
|
95 |
$result['billing_address'] = $this->_getAttributes($quote->getBillingAddress(), 'quote_address');
|
@@ -97,12 +92,6 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
97 |
|
98 |
/** @var Mage_Sales_Model_Quote_Item $item */
|
99 |
foreach ($quote->getAllItems() as $item) {
|
100 |
-
if ($item->getGiftMessageId() > 0) {
|
101 |
-
$item->setGiftMessage(
|
102 |
-
Mage::getSingleton('giftmessage/message')->load($item->getGiftMessageId())->getMessage()
|
103 |
-
);
|
104 |
-
}
|
105 |
-
|
106 |
$quoteItem = $this->_getAttributes($item, 'quote_item');
|
107 |
$productAttributes = $this->_getProductAttributes($item);
|
108 |
$quoteItem = array_merge($quoteItem, $productAttributes);
|
@@ -127,30 +116,14 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
127 |
protected function _getProductAttributes($item)
|
128 |
{
|
129 |
$result = array();
|
130 |
-
|
131 |
-
$productModel = Mage::getModel('catalog/product');
|
132 |
-
/** @var Mage_Catalog_Model_Resource_Eav_Attribute[] $mediaAttributes */
|
133 |
-
$mediaAttributes = $productModel->getMediaAttributes();
|
134 |
-
if (is_array($mediaAttributes) && array_key_exists('image', $mediaAttributes)) {
|
135 |
-
/** @var Mage_Catalog_Model_Product $product */
|
136 |
-
$product = Mage::getModel('catalog/product')
|
137 |
-
->setStoreId($item->getQuote()->getStoreId())
|
138 |
-
->load($item->getProductId(), array($mediaAttributes['image']->getAttributeCode()));
|
139 |
-
|
140 |
-
if ($product) {
|
141 |
-
/** @var Mage_Catalog_Model_Product_Media_Config $productMediaConfig */
|
142 |
-
$productMediaConfig = Mage::getSingleton('catalog/product_media_config');
|
143 |
-
|
144 |
-
$productImage = $product->getData('image');
|
145 |
-
if ($productImage) {
|
146 |
-
$result['product_image_url'] = $productMediaConfig->getMediaUrl($productImage);
|
147 |
-
}
|
148 |
-
}
|
149 |
-
} else {
|
150 |
-
$product = $item->getProduct();
|
151 |
-
}
|
152 |
|
153 |
if ($product) {
|
|
|
|
|
|
|
|
|
|
|
154 |
$result['product_url'] = $product->getProductUrl(false);
|
155 |
}
|
156 |
|
@@ -173,4 +146,46 @@ class Oro_Api_Model_Sales_Quote_Api
|
|
173 |
|
174 |
return $this->_knownAttributes;
|
175 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
}
|
45 |
{
|
46 |
/** @var Mage_Sales_Model_Resource_Quote_Collection $quoteCollection */
|
47 |
$quoteCollection = Mage::getResourceModel('sales/quote_collection');
|
|
|
48 |
$filters = $this->_apiHelper->parseFilters($filters);
|
49 |
try {
|
50 |
foreach ($filters as $field => $value) {
|
60 |
return array();
|
61 |
}
|
62 |
|
63 |
+
$this->_preparesGiftMessages($quoteCollection);
|
64 |
+
|
65 |
$resultArray = array();
|
66 |
/** @var Mage_Sales_Model_Quote $quote */
|
67 |
foreach ($quoteCollection as $quote) {
|
85 |
*/
|
86 |
protected function info($quote)
|
87 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
$result = $this->_getAttributes($quote, 'quote');
|
89 |
$result['shipping_address'] = $this->_getAttributes($quote->getShippingAddress(), 'quote_address');
|
90 |
$result['billing_address'] = $this->_getAttributes($quote->getBillingAddress(), 'quote_address');
|
92 |
|
93 |
/** @var Mage_Sales_Model_Quote_Item $item */
|
94 |
foreach ($quote->getAllItems() as $item) {
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
$quoteItem = $this->_getAttributes($item, 'quote_item');
|
96 |
$productAttributes = $this->_getProductAttributes($item);
|
97 |
$quoteItem = array_merge($quoteItem, $productAttributes);
|
116 |
protected function _getProductAttributes($item)
|
117 |
{
|
118 |
$result = array();
|
119 |
+
$product = $item->getProduct();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
|
121 |
if ($product) {
|
122 |
+
$productImage = $product->getData('image');
|
123 |
+
if ($productImage) {
|
124 |
+
$result['product_image_url'] = Mage::getSingleton('catalog/product_media_config')
|
125 |
+
->getMediaUrl($productImage);
|
126 |
+
}
|
127 |
$result['product_url'] = $product->getProductUrl(false);
|
128 |
}
|
129 |
|
146 |
|
147 |
return $this->_knownAttributes;
|
148 |
}
|
149 |
+
|
150 |
+
/**
|
151 |
+
* Set gift_message key to quote and quote item
|
152 |
+
*
|
153 |
+
* @param Mage_Sales_Model_Resource_Quote_Collection $quoteCollection
|
154 |
+
*/
|
155 |
+
protected function _preparesGiftMessages($quoteCollection)
|
156 |
+
{
|
157 |
+
$messageIds = array();
|
158 |
+
/* @var Mage_Sales_Model_Quote $quote */
|
159 |
+
foreach ($quoteCollection as $quote) {
|
160 |
+
if ($quote->getGiftMessageId()) {
|
161 |
+
$messageIds[] = $quote->getGiftMessageId();
|
162 |
+
}
|
163 |
+
foreach ($quote->getAllItems() as $quoteItem) {
|
164 |
+
if ($quoteItem->getGiftMessageId()) {
|
165 |
+
$messageIds[] = $quoteItem->getGiftMessageId();
|
166 |
+
}
|
167 |
+
}
|
168 |
+
}
|
169 |
+
|
170 |
+
if (!$messageIds) {
|
171 |
+
return;
|
172 |
+
}
|
173 |
+
|
174 |
+
$messageIds = array_unique($messageIds);
|
175 |
+
|
176 |
+
$giftCollection = Mage::getResourceModel('giftmessage/message_collection');
|
177 |
+
$giftCollection->addFieldToFilter('gift_message_id', array('in' => $messageIds));
|
178 |
+
|
179 |
+
/* @var Mage_Sales_Model_Quote $quote */
|
180 |
+
foreach ($quoteCollection as $quote) {
|
181 |
+
if ($quote->getGiftMessageId()) {
|
182 |
+
$quote->setGiftMessage($giftCollection->getItemById($quote->getGiftMessageId())->getMessage());
|
183 |
+
}
|
184 |
+
foreach ($quote->getAllItems() as $quoteItem) {
|
185 |
+
if ($quoteItem->getGiftMessageId()) {
|
186 |
+
$quoteItem->setGiftMessage($giftCollection->getItemById($quoteItem->getGiftMessageId())->getMessage());
|
187 |
+
}
|
188 |
+
}
|
189 |
+
}
|
190 |
+
}
|
191 |
}
|
app/code/community/Oro/Api/Model/Wishlist/Api.php
CHANGED
@@ -15,20 +15,46 @@
|
|
15 |
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
16 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
*/
|
18 |
-
|
19 |
-
|
|
|
|
|
|
|
20 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
/**
|
22 |
* @param array|object $filters
|
|
|
23 |
* @return array
|
24 |
*/
|
25 |
-
public function items($filters)
|
26 |
{
|
27 |
/** @var Mage_Wishlist_Model_Resource_Wishlist_Collection $collection */
|
28 |
$collection = Mage::getResourceModel('wishlist/wishlist_collection');
|
29 |
-
|
30 |
-
$apiHelper = Mage::helper('oro_api');
|
31 |
-
$filters = $apiHelper->parseFilters($filters);
|
32 |
try {
|
33 |
foreach ($filters as $field => $value) {
|
34 |
$collection->addFieldToFilter($field, $value);
|
@@ -37,8 +63,193 @@ class Oro_Api_Model_Wishlist_Api
|
|
37 |
$this->_fault('filters_invalid', $e->getMessage());
|
38 |
}
|
39 |
|
|
|
|
|
|
|
|
|
|
|
40 |
$arr = $collection->toArray();
|
41 |
|
42 |
return $arr['items'];
|
43 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
}
|
15 |
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
16 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
*/
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Oro Wishlist Api
|
21 |
+
*/
|
22 |
+
class Oro_Api_Model_Wishlist_Api extends Mage_Api_Model_Resource_Abstract
|
23 |
{
|
24 |
+
protected $_mapAttributes = array(
|
25 |
+
'wishlist_id' => 'entity_id'
|
26 |
+
);
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Store ids (website stores)
|
30 |
+
*
|
31 |
+
* @var array
|
32 |
+
*/
|
33 |
+
protected $storeIds = null;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @var Oro_Api_Helper_Data
|
37 |
+
*/
|
38 |
+
protected $apiHelper;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Constructor.
|
42 |
+
*/
|
43 |
+
public function __construct()
|
44 |
+
{
|
45 |
+
$this->apiHelper = Mage::helper('oro_api');
|
46 |
+
}
|
47 |
+
|
48 |
/**
|
49 |
* @param array|object $filters
|
50 |
+
* @param \stdClass $pager
|
51 |
* @return array
|
52 |
*/
|
53 |
+
public function items($filters, $pager = null)
|
54 |
{
|
55 |
/** @var Mage_Wishlist_Model_Resource_Wishlist_Collection $collection */
|
56 |
$collection = Mage::getResourceModel('wishlist/wishlist_collection');
|
57 |
+
$filters = $this->apiHelper->parseFilters($filters);
|
|
|
|
|
58 |
try {
|
59 |
foreach ($filters as $field => $value) {
|
60 |
$collection->addFieldToFilter($field, $value);
|
63 |
$this->_fault('filters_invalid', $e->getMessage());
|
64 |
}
|
65 |
|
66 |
+
if ($pager && !$this->apiHelper->applyPager($collection, $pager)) {
|
67 |
+
// there's no such page, so no results for it
|
68 |
+
return array();
|
69 |
+
}
|
70 |
+
|
71 |
$arr = $collection->toArray();
|
72 |
|
73 |
return $arr['items'];
|
74 |
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Get wishlist with items info
|
78 |
+
*
|
79 |
+
* @param array|object $filters
|
80 |
+
* @param null|\stdClass $pager
|
81 |
+
* @return array
|
82 |
+
*
|
83 |
+
* @throws Mage_Api_Exception
|
84 |
+
*/
|
85 |
+
public function listWithItems($filters, $pager = null)
|
86 |
+
{
|
87 |
+
/** @var Mage_Wishlist_Model_Resource_Wishlist_Collection $collection */
|
88 |
+
$collection = Mage::getResourceModel('wishlist/wishlist_collection');
|
89 |
+
$filters = $this->apiHelper->parseFilters($filters, array('updated_at' => 'main_table.updated_at'));
|
90 |
+
/* Prepare store/website filters for wishlist */
|
91 |
+
$filters = $this->prepareFilters($filters);
|
92 |
+
|
93 |
+
try {
|
94 |
+
foreach ($filters as $field => $value) {
|
95 |
+
$collection->addFieldToFilter($field, $value);
|
96 |
+
}
|
97 |
+
// Load customer data
|
98 |
+
$collection = $this->addCustomerData($collection);
|
99 |
+
} catch (Mage_Core_Exception $e) {
|
100 |
+
$this->_fault('filters_invalid', $e->getMessage());
|
101 |
+
}
|
102 |
+
|
103 |
+
if ($pager && !$this->apiHelper->applyPager($collection, $pager)) {
|
104 |
+
// there's no such page, so no results for it
|
105 |
+
return array();
|
106 |
+
}
|
107 |
+
|
108 |
+
$result = array();
|
109 |
+
foreach ($collection as $wishlist) {
|
110 |
+
/** @var Mage_Wishlist_Model_Wishlist $wishlist */
|
111 |
+
$wishlistData = $this->info($wishlist);
|
112 |
+
$result[] = $wishlistData;
|
113 |
+
}
|
114 |
+
|
115 |
+
return $result;
|
116 |
+
}
|
117 |
+
|
118 |
+
/**
|
119 |
+
* Retrieve store ids
|
120 |
+
*
|
121 |
+
* @param null|integer $websiteId
|
122 |
+
* @return array
|
123 |
+
*/
|
124 |
+
public function getStoreIds($websiteId = null)
|
125 |
+
{
|
126 |
+
$storeIds = array();
|
127 |
+
if ($websiteId) {
|
128 |
+
$website = Mage::getModel('core/website')->load($websiteId);
|
129 |
+
$storeIds = $website->getStoreIds();
|
130 |
+
} else {
|
131 |
+
$stores = Mage::app()->getStores();
|
132 |
+
foreach ($stores as $store) {
|
133 |
+
$storeIds[] = $store->getId();
|
134 |
+
}
|
135 |
+
}
|
136 |
+
return $storeIds;
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Add customer data to collection
|
141 |
+
*
|
142 |
+
* @param Mage_Wishlist_Model_Resource_Wishlist_Collection $collection
|
143 |
+
* @return Mage_Wishlist_Model_Resource_Wishlist_Collection
|
144 |
+
*/
|
145 |
+
protected function addCustomerData($collection)
|
146 |
+
{
|
147 |
+
$customerTable = $collection->getTable('customer/entity');
|
148 |
+
$select = $collection->getSelect();
|
149 |
+
$select->joinLeft(
|
150 |
+
array('customer' => $customerTable),
|
151 |
+
'main_table.customer_id = customer.entity_id',
|
152 |
+
array(
|
153 |
+
'customer_email' => 'email',
|
154 |
+
'website_id' => 'website_id'
|
155 |
+
)
|
156 |
+
);
|
157 |
+
|
158 |
+
return $collection;
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Retrieve full information about wishlist
|
163 |
+
*
|
164 |
+
* @param Mage_Wishlist_Model_Wishlist $wishlist
|
165 |
+
* @return array
|
166 |
+
*/
|
167 |
+
protected function info($wishlist)
|
168 |
+
{
|
169 |
+
$result = $wishlist->toArray();
|
170 |
+
$result['items'] = array();
|
171 |
+
|
172 |
+
// Load wishlist items data
|
173 |
+
/** @var Mage_Wishlist_Model_Resource_Item_Collection $collection */
|
174 |
+
$collection = Mage::getResourceModel('wishlist/item_collection')
|
175 |
+
->addWishlistFilter($wishlist)
|
176 |
+
->addStoreFilter($this->storeIds)
|
177 |
+
->setVisibilityFilter();
|
178 |
+
|
179 |
+
/** @var Mage_Wishlist_Model_Item $item */
|
180 |
+
foreach ($collection as $item) {
|
181 |
+
$product = $item->getProduct();
|
182 |
+
if ($product) {
|
183 |
+
$item->setSku($product->getSku());
|
184 |
+
$item->setProductName($product->getName());
|
185 |
+
$item->setWebsiteId(Mage::app()->getStore($item->getStoreId())->getWebsiteId());
|
186 |
+
}
|
187 |
+
$wishlistItem = $item->toArray();
|
188 |
+
unset($wishlistItem['product']);
|
189 |
+
$result['items'][] = $wishlistItem;
|
190 |
+
}
|
191 |
+
return $result;
|
192 |
+
}
|
193 |
+
|
194 |
+
/**
|
195 |
+
* Prepare store/website filters for wishlist
|
196 |
+
*
|
197 |
+
* Exclude store fields from complex filter for wishlist if exists
|
198 |
+
* Save store filter data to storeIds - used for filter wishlist items
|
199 |
+
* Save website filter data to websiteIds - used for filter wishlists by customer's website
|
200 |
+
*
|
201 |
+
* If website filter exists in the incoming filter (from integration) and customer accounts shared globally
|
202 |
+
* ignore sent filters, set all stores where customer can be presented to storeIds
|
203 |
+
*
|
204 |
+
* Example if complex filter:
|
205 |
+
* 'website_id',
|
206 |
+
* [
|
207 |
+
* 'key' => 'website_id',
|
208 |
+
* 'value' => [
|
209 |
+
* 'key' => 'eq',
|
210 |
+
* 'value' => '1'
|
211 |
+
* ]
|
212 |
+
* ]
|
213 |
+
* 'store_id',
|
214 |
+
* [
|
215 |
+
* 'key' => 'store_id',
|
216 |
+
* 'value' => [
|
217 |
+
* 'key' => 'in',
|
218 |
+
* 'value' => [1,2]
|
219 |
+
* ]
|
220 |
+
* ]
|
221 |
+
*
|
222 |
+
* @param array $filters
|
223 |
+
* @return array
|
224 |
+
*/
|
225 |
+
protected function prepareFilters($filters)
|
226 |
+
{
|
227 |
+
if (Mage::getSingleton('customer/config_share')->isWebsiteScope()) {
|
228 |
+
if (isset($filters['store_id'])) {
|
229 |
+
$storeIds = $this->apiHelper->getDataFromFilterCondition($filters['store_id']);
|
230 |
+
$this->storeIds = $storeIds;
|
231 |
+
unset($filters['store_id']);
|
232 |
+
}
|
233 |
+
if (isset($filters['website_id'])) {
|
234 |
+
$websiteIds = $this->apiHelper->getDataFromFilterCondition($filters['website_id']);
|
235 |
+
if (!$this->storeIds) {
|
236 |
+
foreach ($websiteIds as $websiteId) {
|
237 |
+
$storeIds = $this->getStoreIds($websiteId);
|
238 |
+
foreach ($storeIds as $id) {
|
239 |
+
$this->storeIds[] = $id;
|
240 |
+
}
|
241 |
+
}
|
242 |
+
}
|
243 |
+
}
|
244 |
+
} else {
|
245 |
+
unset($filters['store_id']);
|
246 |
+
unset($filters['website_id']);
|
247 |
+
}
|
248 |
+
|
249 |
+
if (!$this->storeIds) {
|
250 |
+
$this->storeIds = $this->getStoreIds();
|
251 |
+
}
|
252 |
+
|
253 |
+
return $filters;
|
254 |
+
}
|
255 |
}
|
app/code/community/Oro/Api/Model/Wishlist/Observer.php
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Oro Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magecore.com so we can send you a copy immediately
|
12 |
+
*
|
13 |
+
* @category Oro
|
14 |
+
* @package Oro_Api
|
15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Multiple wishlist observer.
|
21 |
+
*/
|
22 |
+
class Oro_Api_Model_Wishlist_Observer
|
23 |
+
{
|
24 |
+
/**
|
25 |
+
* Log wishlist on manually wishlist deletion
|
26 |
+
*
|
27 |
+
* @param Varien_Event_Observer $observer
|
28 |
+
* @return Oro_Api_Model_Wishlist_Observer
|
29 |
+
*/
|
30 |
+
public function registerWishlistChange(Varien_Event_Observer $observer)
|
31 |
+
{
|
32 |
+
if (Mage::helper('core')->isModuleEnabled('Enterprise_Wishlist') &&
|
33 |
+
Mage::helper('enterprise_wishlist')->isMultipleEnabled()) {
|
34 |
+
/** @var Mage_Wishlist_Model_Wishlist $wishlist */
|
35 |
+
$wishlist = $observer->getEvent()->getObject();
|
36 |
+
$wishlistId = $wishlist->getId();
|
37 |
+
if ($wishlistId) {
|
38 |
+
try {
|
39 |
+
$websiteId = $this->getWishlistOwnerWebsiteId($wishlist);
|
40 |
+
/** @var Oro_Api_Model_Wishlist_Status $wishlistStatus */
|
41 |
+
$wishlistStatus = Mage::getModel('oro_api/wishlist_status')
|
42 |
+
->setWishlistId($wishlistId)
|
43 |
+
->setWebsiteId($websiteId)
|
44 |
+
->setDeletedAt(Mage::getSingleton('core/date')->gmtDate());
|
45 |
+
$wishlistStatus->save();
|
46 |
+
} catch (Exception $e) {
|
47 |
+
Mage::log($e->getMessage());
|
48 |
+
}
|
49 |
+
}
|
50 |
+
}
|
51 |
+
|
52 |
+
return $this;
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Retrieve wishlist owner website
|
57 |
+
*
|
58 |
+
* @param Mage_Wishlist_Model_Wishlist $wishlist
|
59 |
+
* @return null
|
60 |
+
*/
|
61 |
+
public function getWishlistOwnerWebsiteId($wishlist)
|
62 |
+
{
|
63 |
+
$customerId = $wishlist->getCustomerId();
|
64 |
+
if ($customerId) {
|
65 |
+
/** @var Mage_Customer_Model_Customer $owner */
|
66 |
+
$owner = Mage::getModel("customer/customer");
|
67 |
+
$owner->load($customerId);
|
68 |
+
if ($owner->getId()) {
|
69 |
+
return $owner->getWebsiteId();
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
return null;
|
74 |
+
}
|
75 |
+
}
|
app/code/community/Oro/Api/Model/Wishlist/Status.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Oro Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magecore.com so we can send you a copy immediately
|
12 |
+
*
|
13 |
+
* @category Oro
|
14 |
+
* @package Oro_Api
|
15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Log Wishlist Status Model
|
21 |
+
*/
|
22 |
+
class Oro_Api_Model_Wishlist_Status extends Mage_Core_Model_Abstract
|
23 |
+
{
|
24 |
+
const XML_WISHLIST_STATUS_CLEAN_DAYS = 'oro/api/wishlist_status_clean_after_day';
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Init Resource Model
|
28 |
+
*/
|
29 |
+
protected function _construct()
|
30 |
+
{
|
31 |
+
$this->_init('oro_api/wishlist_status');
|
32 |
+
}
|
33 |
+
|
34 |
+
public function getLogCleanTime()
|
35 |
+
{
|
36 |
+
return Mage::getStoreConfig(self::XML_WISHLIST_STATUS_CLEAN_DAYS) * 60 * 60 * 24;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Clean statuses
|
41 |
+
*
|
42 |
+
* @return Oro_Api_Model_Wishlist_Status
|
43 |
+
*/
|
44 |
+
public function clean()
|
45 |
+
{
|
46 |
+
$this->getResource()->clean($this);
|
47 |
+
return $this;
|
48 |
+
}
|
49 |
+
}
|
app/code/community/Oro/Api/Model/Wishlist/Status/Api.php
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Oro Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magecore.com so we can send you a copy immediately
|
12 |
+
*
|
13 |
+
* @category Oro
|
14 |
+
* @package Oro_Api
|
15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Oro API Wishlist Status Api
|
21 |
+
*/
|
22 |
+
class Oro_Api_Model_Wishlist_Status_Api extends Mage_Api_Model_Resource_Abstract
|
23 |
+
{
|
24 |
+
/**
|
25 |
+
* @var Oro_Api_Helper_Data
|
26 |
+
*/
|
27 |
+
protected $apiHelper;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Constructor.
|
31 |
+
*/
|
32 |
+
public function __construct()
|
33 |
+
{
|
34 |
+
$this->apiHelper = Mage::helper('oro_api');
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Get wishlist status list
|
39 |
+
*
|
40 |
+
* @param array|object $filters
|
41 |
+
* @param null|\stdClass $pager
|
42 |
+
* @return array
|
43 |
+
* @throws Mage_Api_Exception
|
44 |
+
*/
|
45 |
+
public function items($filters, $pager = null)
|
46 |
+
{
|
47 |
+
/** @var Oro_Api_Model_Resource_Wishlist_Status_Collection $collection */
|
48 |
+
$collection = Mage::getResourceModel('oro_api/wishlist_status_collection');
|
49 |
+
$filters = $this->apiHelper->parseFilters($filters);
|
50 |
+
try {
|
51 |
+
foreach ($filters as $field => $value) {
|
52 |
+
$collection->addFieldToFilter($field, $value);
|
53 |
+
}
|
54 |
+
} catch (Mage_Core_Exception $e) {
|
55 |
+
$this->_fault('filters_invalid', $e->getMessage());
|
56 |
+
}
|
57 |
+
|
58 |
+
if ($pager && !$this->apiHelper->applyPager($collection, $pager)) {
|
59 |
+
// there's no such page, so no results for it
|
60 |
+
return array();
|
61 |
+
}
|
62 |
+
|
63 |
+
$result = array();
|
64 |
+
/** @var Oro_Api_Model_Wishlist_Status $status */
|
65 |
+
foreach ($collection as $status) {
|
66 |
+
$result[] = $status->toArray();
|
67 |
+
}
|
68 |
+
|
69 |
+
return $result;
|
70 |
+
}
|
71 |
+
}
|
app/code/community/Oro/Api/Model/Wishlist/Status/Api/V2.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Oro Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magecore.com so we can send you a copy immediately
|
12 |
+
*
|
13 |
+
* @category Oro
|
14 |
+
* @package Api
|
15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
class Oro_Api_Model_Wishlist_Status_Api_V2 extends Oro_Api_Model_Wishlist_Status_Api
|
19 |
+
{
|
20 |
+
|
21 |
+
}
|
app/code/community/Oro/Api/etc/api.xml
CHANGED
@@ -167,6 +167,42 @@
|
|
167 |
</list>
|
168 |
</methods>
|
169 |
</wishlist_item>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
<report_product_viewed translate="title" module="oro_api">
|
171 |
<model>oro_api/report_product_viewed_api</model>
|
172 |
<title>Report Product Viewed</title>
|
@@ -262,6 +298,12 @@
|
|
262 |
<wishlist_item_list>
|
263 |
<get><method>list</method></get>
|
264 |
</wishlist_item_list>
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
<report_product_viewed>
|
266 |
<get><method>list</method></get>
|
267 |
</report_product_viewed>
|
@@ -319,6 +361,12 @@
|
|
319 |
<wishlist_item translate="title" module="oro_api">
|
320 |
<title>Wishlist Item Info</title>
|
321 |
</wishlist_item>
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
<report_product_viewed translate="title" module="oro_api">
|
323 |
<title>Report Product Viewed</title>
|
324 |
</report_product_viewed>
|
@@ -356,6 +404,8 @@
|
|
356 |
<oro_customer_address>oroCustomerAddress</oro_customer_address>
|
357 |
<wishlist>wishlist</wishlist>
|
358 |
<wishlist_item>wishlistItem</wishlist_item>
|
|
|
|
|
359 |
<report_product_viewed>reportProductViewed</report_product_viewed>
|
360 |
<newsletter_subscriber>newsletterSubscriber</newsletter_subscriber>
|
361 |
</resources_function_prefix>
|
167 |
</list>
|
168 |
</methods>
|
169 |
</wishlist_item>
|
170 |
+
<oro_wishlist translate="title" module="oro_api">
|
171 |
+
<model>oro_api/wishlist_api</model>
|
172 |
+
<title>Oro Wishlist API</title>
|
173 |
+
<acl>oro</acl>
|
174 |
+
<methods>
|
175 |
+
<list translate="title" module="oro_api">
|
176 |
+
<title>Get wishlist with items by filters</title>
|
177 |
+
<method>listWithItems</method>
|
178 |
+
<acl>oro/wishlist</acl>
|
179 |
+
</list>
|
180 |
+
</methods>
|
181 |
+
<faults module="oro_api">
|
182 |
+
<filters_invalid>
|
183 |
+
<code>100</code>
|
184 |
+
<message>Invalid filters given. Details in error message.</message>
|
185 |
+
</filters_invalid>
|
186 |
+
</faults>
|
187 |
+
</oro_wishlist>
|
188 |
+
<oro_wishlist_status translate="title" module="oro_api">
|
189 |
+
<model>oro_api/wishlist_status_api</model>
|
190 |
+
<title>Wishlist Status Information</title>
|
191 |
+
<acl>oro</acl>
|
192 |
+
<methods>
|
193 |
+
<list translate="title" module="oro_api">
|
194 |
+
<title>Get wishlist status by filters</title>
|
195 |
+
<method>items</method>
|
196 |
+
<acl>oro/wishlist</acl>
|
197 |
+
</list>
|
198 |
+
</methods>
|
199 |
+
<faults module="oro_api">
|
200 |
+
<filters_invalid>
|
201 |
+
<code>100</code>
|
202 |
+
<message>Invalid filters given. Details in error message.</message>
|
203 |
+
</filters_invalid>
|
204 |
+
</faults>
|
205 |
+
</oro_wishlist_status>
|
206 |
<report_product_viewed translate="title" module="oro_api">
|
207 |
<model>oro_api/report_product_viewed_api</model>
|
208 |
<title>Report Product Viewed</title>
|
298 |
<wishlist_item_list>
|
299 |
<get><method>list</method></get>
|
300 |
</wishlist_item_list>
|
301 |
+
<oro_wishlist_list>
|
302 |
+
<get><method>list</method></get>
|
303 |
+
</oro_wishlist_list>
|
304 |
+
<oro_wishlist_status_list>
|
305 |
+
<get><method>list</method></get>
|
306 |
+
</oro_wishlist_status_list>
|
307 |
<report_product_viewed>
|
308 |
<get><method>list</method></get>
|
309 |
</report_product_viewed>
|
361 |
<wishlist_item translate="title" module="oro_api">
|
362 |
<title>Wishlist Item Info</title>
|
363 |
</wishlist_item>
|
364 |
+
<oro_wishlist translate="title" module="oro_api">
|
365 |
+
<title>Wishlist with Items Info</title>
|
366 |
+
</oro_wishlist>
|
367 |
+
<oro_wishlist_status translate="title" module="oro_api">
|
368 |
+
<title>Wishlist Status Info</title>
|
369 |
+
</oro_wishlist_status>
|
370 |
<report_product_viewed translate="title" module="oro_api">
|
371 |
<title>Report Product Viewed</title>
|
372 |
</report_product_viewed>
|
404 |
<oro_customer_address>oroCustomerAddress</oro_customer_address>
|
405 |
<wishlist>wishlist</wishlist>
|
406 |
<wishlist_item>wishlistItem</wishlist_item>
|
407 |
+
<oro_wishlist>oroWishlist</oro_wishlist>
|
408 |
+
<oro_wishlist_status>oroWishlistStatus</oro_wishlist_status>
|
409 |
<report_product_viewed>reportProductViewed</report_product_viewed>
|
410 |
<newsletter_subscriber>newsletterSubscriber</newsletter_subscriber>
|
411 |
</resources_function_prefix>
|
app/code/community/Oro/Api/etc/config.xml
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
<config>
|
21 |
<modules>
|
22 |
<Oro_Api>
|
23 |
-
<version>1.2.
|
24 |
</Oro_Api>
|
25 |
</modules>
|
26 |
<global>
|
@@ -31,6 +31,11 @@
|
|
31 |
</oro_api>
|
32 |
<oro_api_resource>
|
33 |
<class>Oro_Api_Model_Resource</class>
|
|
|
|
|
|
|
|
|
|
|
34 |
</oro_api_resource>
|
35 |
<catalog>
|
36 |
<rewrite>
|
@@ -47,8 +52,22 @@
|
|
47 |
<oro_api_setup>
|
48 |
<setup>
|
49 |
<module>Oro_Api</module>
|
|
|
50 |
</setup>
|
|
|
|
|
|
|
51 |
</oro_api_setup>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
</resources>
|
53 |
<events>
|
54 |
<newsletter_subscriber_save_before>
|
@@ -59,7 +78,24 @@
|
|
59 |
</oro_api_newsletter_subscriber_save_before_observer>
|
60 |
</observers>
|
61 |
</newsletter_subscriber_save_before>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
</events>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
</global>
|
64 |
<admin>
|
65 |
<routers>
|
@@ -112,4 +148,23 @@
|
|
112 |
</checkout_submit_all_after>
|
113 |
</events>
|
114 |
</adminhtml>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
</config>
|
20 |
<config>
|
21 |
<modules>
|
22 |
<Oro_Api>
|
23 |
+
<version>1.2.7</version>
|
24 |
</Oro_Api>
|
25 |
</modules>
|
26 |
<global>
|
31 |
</oro_api>
|
32 |
<oro_api_resource>
|
33 |
<class>Oro_Api_Model_Resource</class>
|
34 |
+
<entities>
|
35 |
+
<wishlist_status>
|
36 |
+
<table>oro_wishlist_status</table>
|
37 |
+
</wishlist_status>
|
38 |
+
</entities>
|
39 |
</oro_api_resource>
|
40 |
<catalog>
|
41 |
<rewrite>
|
52 |
<oro_api_setup>
|
53 |
<setup>
|
54 |
<module>Oro_Api</module>
|
55 |
+
<class>Oro_Api_Model_Resource_Setup</class>
|
56 |
</setup>
|
57 |
+
<connection>
|
58 |
+
<use>core_setup</use>
|
59 |
+
</connection>
|
60 |
</oro_api_setup>
|
61 |
+
<oro_api_read>
|
62 |
+
<connection>
|
63 |
+
<use>core_read</use>
|
64 |
+
</connection>
|
65 |
+
</oro_api_read>
|
66 |
+
<oro_api_write>
|
67 |
+
<connection>
|
68 |
+
<use>core_write</use>
|
69 |
+
</connection>
|
70 |
+
</oro_api_write>
|
71 |
</resources>
|
72 |
<events>
|
73 |
<newsletter_subscriber_save_before>
|
78 |
</oro_api_newsletter_subscriber_save_before_observer>
|
79 |
</observers>
|
80 |
</newsletter_subscriber_save_before>
|
81 |
+
<wishlist_delete_commit_after>
|
82 |
+
<observers>
|
83 |
+
<oro_api_wishlist_status>
|
84 |
+
<class>oro_api/wishlist_observer</class>
|
85 |
+
<method>registerWishlistChange</method>
|
86 |
+
</oro_api_wishlist_status>
|
87 |
+
</observers>
|
88 |
+
</wishlist_delete_commit_after>
|
89 |
</events>
|
90 |
+
<sales>
|
91 |
+
<quote>
|
92 |
+
<item>
|
93 |
+
<product_attributes>
|
94 |
+
<image/>
|
95 |
+
</product_attributes>
|
96 |
+
</item>
|
97 |
+
</quote>
|
98 |
+
</sales>
|
99 |
</global>
|
100 |
<admin>
|
101 |
<routers>
|
148 |
</checkout_submit_all_after>
|
149 |
</events>
|
150 |
</adminhtml>
|
151 |
+
<default>
|
152 |
+
<oro>
|
153 |
+
<api>
|
154 |
+
<wishlist_status_clean_after_day>30</wishlist_status_clean_after_day>
|
155 |
+
</api>
|
156 |
+
</oro>
|
157 |
+
</default>
|
158 |
+
<crontab>
|
159 |
+
<jobs>
|
160 |
+
<oro_api_wishlist_status_clean>
|
161 |
+
<schedule>
|
162 |
+
<cron_expr>15 0 1 * *</cron_expr>
|
163 |
+
</schedule>
|
164 |
+
<run>
|
165 |
+
<model>oro_api/wishlist_status::clean</model>
|
166 |
+
</run>
|
167 |
+
</oro_api_wishlist_status_clean>
|
168 |
+
</jobs>
|
169 |
+
</crontab>
|
170 |
</config>
|
app/code/community/Oro/Api/etc/system.xml
CHANGED
@@ -45,6 +45,15 @@
|
|
45 |
<show_in_website>0</show_in_website>
|
46 |
<show_in_store>0</show_in_store>
|
47 |
</enable_attributes>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
</fields>
|
49 |
</api>
|
50 |
</groups>
|
45 |
<show_in_website>0</show_in_website>
|
46 |
<show_in_store>0</show_in_store>
|
47 |
</enable_attributes>
|
48 |
+
<wishlist_status_clean_after_day translate="label">
|
49 |
+
<label>Save Wishlist Status Log, Days</label>
|
50 |
+
<comment>Used in case of Magento Enterprise Multiple Wishlist enabled to clean Wishlist deletion logs.</comment>
|
51 |
+
<frontend_type>text</frontend_type>
|
52 |
+
<sort_order>20</sort_order>
|
53 |
+
<show_in_default>1</show_in_default>
|
54 |
+
<show_in_website>0</show_in_website>
|
55 |
+
<show_in_store>0</show_in_store>
|
56 |
+
</wishlist_status_clean_after_day>
|
57 |
</fields>
|
58 |
</api>
|
59 |
</groups>
|
app/code/community/Oro/Api/etc/wsdl.xml
CHANGED
@@ -93,6 +93,7 @@
|
|
93 |
<element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
|
94 |
<element name="gift_message_id" type="xsd:string" minOccurs="0" />
|
95 |
<element name="is_persistent" type="xsd:string" minOccurs="0" />
|
|
|
96 |
|
97 |
<element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
98 |
<element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
@@ -167,6 +168,65 @@
|
|
167 |
</restriction>
|
168 |
</complexContent>
|
169 |
</complexType>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
<!-- Report Product Viewed -->
|
171 |
<complexType name="reportProductViewedEntity">
|
172 |
<all>
|
@@ -218,6 +278,7 @@
|
|
218 |
<element name="version" type="xsd:string" minOccurs="0" />
|
219 |
<element name="mage_version" type="xsd:string" minOccurs="0" />
|
220 |
<element name="admin_url" type="xsd:string" minOccurs="0" />
|
|
|
221 |
</all>
|
222 |
</complexType>
|
223 |
|
@@ -375,8 +436,20 @@
|
|
375 |
<output message="typens:wishlistItemListResponse"/>
|
376 |
</operation>
|
377 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
378 |
<operation name="reportProductViewedList">
|
379 |
-
<documentation>Get
|
380 |
<input message="typens:reportProductViewedListRequest"/>
|
381 |
<output message="typens:reportProductViewedListResponse"/>
|
382 |
</operation>
|
@@ -480,6 +553,16 @@
|
|
480 |
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
481 |
<output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
|
482 |
</operation>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
483 |
<operation name="reportProductViewedList">
|
484 |
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
485 |
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
@@ -592,6 +675,26 @@
|
|
592 |
<message name="wishlistItemListResponse">
|
593 |
<part name="result" type="typens:wishlistItemEntityArray" />
|
594 |
</message>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
595 |
|
596 |
<!-- Report Product Viewed -->
|
597 |
<message name="reportProductViewedListRequest">
|
93 |
<element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
|
94 |
<element name="gift_message_id" type="xsd:string" minOccurs="0" />
|
95 |
<element name="is_persistent" type="xsd:string" minOccurs="0" />
|
96 |
+
<element name="gift_message" type="xsd:string" minOccurs="0" />
|
97 |
|
98 |
<element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
99 |
<element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
168 |
</restriction>
|
169 |
</complexContent>
|
170 |
</complexType>
|
171 |
+
<!-- Oro Wishlist With Items-->
|
172 |
+
<complexType name="oroWishlistEntity">
|
173 |
+
<all>
|
174 |
+
<element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
175 |
+
<element name="customer_id" type="xsd:string" minOccurs="0" />
|
176 |
+
<element name="shared" type="xsd:string" minOccurs="0" />
|
177 |
+
<element name="sharing_code" type="xsd:string" minOccurs="0" />
|
178 |
+
<element name="updated_at" type="xsd:string" minOccurs="0" />
|
179 |
+
<element name="name" type="xsd:string" minOccurs="0" />
|
180 |
+
<element name="visibility" type="xsd:string" minOccurs="0" />
|
181 |
+
<element name="customer_email" type="xsd:string" minOccurs="0" />
|
182 |
+
<element name="items" type="typens:oroWishlistItemEntityArray" minOccurs="0"/>
|
183 |
+
</all>
|
184 |
+
</complexType>
|
185 |
+
<complexType name="oroWishlistEntityArray">
|
186 |
+
<complexContent>
|
187 |
+
<restriction base="soapenc:Array">
|
188 |
+
<attribute ref="soapenc:arrayType" wsdl:arrayType="typens:oroWishlistEntity[]" />
|
189 |
+
</restriction>
|
190 |
+
</complexContent>
|
191 |
+
</complexType>
|
192 |
+
<complexType name="oroWishlistItemEntity">
|
193 |
+
<all>
|
194 |
+
<element name="wishlist_item_id" type="xsd:string" minOccurs="0" />
|
195 |
+
<element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
196 |
+
<element name="product_id" type="xsd:string" minOccurs="0" />
|
197 |
+
<element name="store_id" type="xsd:string" minOccurs="0" />
|
198 |
+
<element name="website_id" type="xsd:string" minOccurs="0" />
|
199 |
+
<element name="added_at" type="xsd:string" minOccurs="0" />
|
200 |
+
<element name="description" type="xsd:string" minOccurs="0" />
|
201 |
+
<element name="qty" type="xsd:string" minOccurs="0" />
|
202 |
+
<element name="sku" type="xsd:string" minOccurs="0" />
|
203 |
+
<element name="product_name" type="xsd:string" minOccurs="0" />
|
204 |
+
</all>
|
205 |
+
</complexType>
|
206 |
+
<complexType name="oroWishlistItemEntityArray">
|
207 |
+
<complexContent>
|
208 |
+
<restriction base="soapenc:Array">
|
209 |
+
<attribute ref="soapenc:arrayType" wsdl:arrayType="typens:oroWishlistItemEntity[]" />
|
210 |
+
</restriction>
|
211 |
+
</complexContent>
|
212 |
+
</complexType>
|
213 |
+
<!-- Oro Wishlist With Items-->
|
214 |
+
<!-- Oro Wishlist Status -->
|
215 |
+
<complexType name="oroWishlistStatusEntity">
|
216 |
+
<all>
|
217 |
+
<element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
218 |
+
<element name="deleted_at" type="xsd:string" minOccurs="0" />
|
219 |
+
</all>
|
220 |
+
</complexType>
|
221 |
+
<complexType name="oroWishlistStatusEntityArray">
|
222 |
+
<complexContent>
|
223 |
+
<restriction base="soapenc:Array">
|
224 |
+
<attribute ref="soapenc:arrayType" wsdl:arrayType="typens:oroWishlistStatusEntity[]" />
|
225 |
+
</restriction>
|
226 |
+
</complexContent>
|
227 |
+
</complexType>
|
228 |
+
<!-- Oro Wishlist Status -->
|
229 |
+
|
230 |
<!-- Report Product Viewed -->
|
231 |
<complexType name="reportProductViewedEntity">
|
232 |
<all>
|
278 |
<element name="version" type="xsd:string" minOccurs="0" />
|
279 |
<element name="mage_version" type="xsd:string" minOccurs="0" />
|
280 |
<element name="admin_url" type="xsd:string" minOccurs="0" />
|
281 |
+
<element name="customer_scope" type="xsd:int" minOccurs="0" />
|
282 |
</all>
|
283 |
</complexType>
|
284 |
|
436 |
<output message="typens:wishlistItemListResponse"/>
|
437 |
</operation>
|
438 |
|
439 |
+
<operation name="oroWishlistList">
|
440 |
+
<documentation>Get wishlist collection with items</documentation>
|
441 |
+
<input message="typens:oroWishlistListRequest"/>
|
442 |
+
<output message="typens:oroWishlistListResponse"/>
|
443 |
+
</operation>
|
444 |
+
|
445 |
+
<operation name="oroWishlistStatusList">
|
446 |
+
<documentation>Get wishlist Status collection</documentation>
|
447 |
+
<input message="typens:oroWishlistStatusListRequest"/>
|
448 |
+
<output message="typens:oroWishlistStatusListResponse"/>
|
449 |
+
</operation>
|
450 |
+
|
451 |
<operation name="reportProductViewedList">
|
452 |
+
<documentation>Get product viewed collection</documentation>
|
453 |
<input message="typens:reportProductViewedListRequest"/>
|
454 |
<output message="typens:reportProductViewedListResponse"/>
|
455 |
</operation>
|
553 |
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
554 |
<output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
|
555 |
</operation>
|
556 |
+
<operation name="oroWishlistList">
|
557 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
558 |
+
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
559 |
+
<output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
|
560 |
+
</operation>
|
561 |
+
<operation name="oroWishlistStatusList">
|
562 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
563 |
+
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
564 |
+
<output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
|
565 |
+
</operation>
|
566 |
<operation name="reportProductViewedList">
|
567 |
<soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
|
568 |
<input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
|
675 |
<message name="wishlistItemListResponse">
|
676 |
<part name="result" type="typens:wishlistItemEntityArray" />
|
677 |
</message>
|
678 |
+
<!-- Oro Wishlist -->
|
679 |
+
<message name="oroWishlistListRequest">
|
680 |
+
<part name="sessionId" type="xsd:string" />
|
681 |
+
<part name="filters" type="typens:filters" />
|
682 |
+
<part name="pager" type="typens:pager" />
|
683 |
+
</message>
|
684 |
+
<message name="oroWishlistListResponse">
|
685 |
+
<part name="result" type="typens:oroWishlistEntityArray" />
|
686 |
+
</message>
|
687 |
+
<!-- Oro Wishlist -->
|
688 |
+
<!-- Oro Wishlist Status -->
|
689 |
+
<message name="oroWishlistStatusListRequest">
|
690 |
+
<part name="sessionId" type="xsd:string" />
|
691 |
+
<part name="filters" type="typens:filters" />
|
692 |
+
<part name="pager" type="typens:pager" />
|
693 |
+
</message>
|
694 |
+
<message name="oroWishlistStatusListResponse">
|
695 |
+
<part name="result" type="typens:oroWishlistStatusEntityArray" />
|
696 |
+
</message>
|
697 |
+
<!-- Oro Wishlist Status -->
|
698 |
|
699 |
<!-- Report Product Viewed -->
|
700 |
<message name="reportProductViewedListRequest">
|
app/code/community/Oro/Api/etc/wsi.xml
CHANGED
@@ -75,6 +75,7 @@
|
|
75 |
<xsd:element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
|
76 |
<xsd:element name="gift_message_id" type="xsd:string" minOccurs="0" />
|
77 |
<xsd:element name="is_persistent" type="xsd:string" minOccurs="0" />
|
|
|
78 |
|
79 |
<xsd:element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
80 |
<xsd:element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
@@ -145,6 +146,64 @@
|
|
145 |
</xsd:sequence>
|
146 |
</xsd:complexType>
|
147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
<!-- Report Product Viewed -->
|
149 |
<xsd:complexType name="reportProductViewedEntity">
|
150 |
<xsd:sequence>
|
@@ -197,6 +256,7 @@
|
|
197 |
<xsd:element name="version" type="xsd:string" minOccurs="0" />
|
198 |
<xsd:element name="mage_version" type="xsd:string" minOccurs="0" />
|
199 |
<xsd:element name="admin_url" type="xsd:string" minOccurs="0" />
|
|
|
200 |
</xsd:sequence>
|
201 |
</xsd:complexType>
|
202 |
|
@@ -542,6 +602,8 @@
|
|
542 |
<xsd:complexType>
|
543 |
<xsd:sequence>
|
544 |
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
|
|
|
|
545 |
</xsd:sequence>
|
546 |
</xsd:complexType>
|
547 |
</xsd:element>
|
@@ -643,6 +705,16 @@
|
|
643 |
<wsdl:part name="result" element="typens:wishlistItemEntityArray" />
|
644 |
</wsdl:message>
|
645 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
646 |
<!-- Report Product Viewed -->
|
647 |
<wsdl:message name="reportProductViewedListRequest">
|
648 |
<wsdl:part name="sessionId" element="xsd:string" />
|
@@ -772,8 +844,20 @@
|
|
772 |
<wsdl:output message="typens:wishlistItemListResponse"/>
|
773 |
</wsdl:operation>
|
774 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
775 |
<wsdl:operation name="reportProductViewedList">
|
776 |
-
<wsdl:documentation>Get
|
777 |
<wsdl:input message="typens:reportProductViewedListRequest"/>
|
778 |
<wsdl:output message="typens:reportProductViewedListResponse"/>
|
779 |
</wsdl:operation>
|
@@ -925,6 +1009,24 @@
|
|
925 |
<soap:body use="literal" />
|
926 |
</wsdl:output>
|
927 |
</wsdl:operation>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
928 |
<wsdl:operation name="reportProductViewedList">
|
929 |
<soap:operation soapAction=""/>
|
930 |
<wsdl:input>
|
75 |
<xsd:element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
|
76 |
<xsd:element name="gift_message_id" type="xsd:string" minOccurs="0" />
|
77 |
<xsd:element name="is_persistent" type="xsd:string" minOccurs="0" />
|
78 |
+
<xsd:element name="gift_message" type="xsd:string" minOccurs="0" />
|
79 |
|
80 |
<xsd:element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
81 |
<xsd:element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
|
146 |
</xsd:sequence>
|
147 |
</xsd:complexType>
|
148 |
|
149 |
+
<!-- Oro Wishlist -->
|
150 |
+
<xsd:complexType name="oroWishlistEntity">
|
151 |
+
<xsd:sequence>
|
152 |
+
<xsd:element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
153 |
+
<xsd:element name="customer_id" type="xsd:string" minOccurs="0" />
|
154 |
+
<xsd:element name="shared" type="xsd:string" minOccurs="0" />
|
155 |
+
<xsd:element name="sharing_code" type="xsd:string" minOccurs="0" />
|
156 |
+
<xsd:element name="updated_at" type="xsd:string" minOccurs="0" />
|
157 |
+
<xsd:element name="name" type="xsd:string" minOccurs="0" />
|
158 |
+
<xsd:element name="visibility" type="xsd:string" minOccurs="0" />
|
159 |
+
<xsd:element name="customer_email" type="xsd:string" minOccurs="0" />
|
160 |
+
<xsd:element name="items" type="typens:oroWishlistItemEntityArray" minOccurs="0"/>
|
161 |
+
</xsd:sequence>
|
162 |
+
</xsd:complexType>
|
163 |
+
|
164 |
+
<xsd:complexType name="oroWishlistEntityArray">
|
165 |
+
<xsd:sequence>
|
166 |
+
<xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:oroWishlistEntity" />
|
167 |
+
</xsd:sequence>
|
168 |
+
</xsd:complexType>
|
169 |
+
|
170 |
+
<xsd:complexType name="oroWishlistItemEntity">
|
171 |
+
<xsd:sequence>
|
172 |
+
<xsd:element name="wishlist_item_id" type="xsd:string" minOccurs="0" />
|
173 |
+
<xsd:element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
174 |
+
<xsd:element name="product_id" type="xsd:string" minOccurs="0" />
|
175 |
+
<xsd:element name="store_id" type="xsd:string" minOccurs="0" />
|
176 |
+
<xsd:element name="website_id" type="xsd:string" minOccurs="0" />
|
177 |
+
<xsd:element name="added_at" type="xsd:string" minOccurs="0" />
|
178 |
+
<xsd:element name="description" type="xsd:string" minOccurs="0" />
|
179 |
+
<xsd:element name="qty" type="xsd:string" minOccurs="0" />
|
180 |
+
<xsd:element name="sku" type="xsd:string" minOccurs="0" />
|
181 |
+
<xsd:element name="product_name" type="xsd:string" minOccurs="0" />
|
182 |
+
</xsd:sequence>
|
183 |
+
</xsd:complexType>
|
184 |
+
|
185 |
+
<xsd:complexType name="oroWishlistItemEntityArray">
|
186 |
+
<xsd:sequence>
|
187 |
+
<xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:oroWishlistItemEntity" />
|
188 |
+
</xsd:sequence>
|
189 |
+
</xsd:complexType>
|
190 |
+
<!-- Oro Wishlist -->
|
191 |
+
|
192 |
+
<!-- Oro Wishlist Status-->
|
193 |
+
<xsd:complexType name="oroWishlistStatusEntity">
|
194 |
+
<xsd:sequence>
|
195 |
+
<xsd:element name="wishlist_id" type="xsd:string" minOccurs="0" />
|
196 |
+
<xsd:element name="deleted_at" type="xsd:string" minOccurs="0" />
|
197 |
+
</xsd:sequence>
|
198 |
+
</xsd:complexType>
|
199 |
+
|
200 |
+
<xsd:complexType name="oroWishlistStatusEntityArray">
|
201 |
+
<xsd:sequence>
|
202 |
+
<xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:oroWishlistStatusEntity" />
|
203 |
+
</xsd:sequence>
|
204 |
+
</xsd:complexType>
|
205 |
+
<!-- Oro Wishlist Status-->
|
206 |
+
|
207 |
<!-- Report Product Viewed -->
|
208 |
<xsd:complexType name="reportProductViewedEntity">
|
209 |
<xsd:sequence>
|
256 |
<xsd:element name="version" type="xsd:string" minOccurs="0" />
|
257 |
<xsd:element name="mage_version" type="xsd:string" minOccurs="0" />
|
258 |
<xsd:element name="admin_url" type="xsd:string" minOccurs="0" />
|
259 |
+
<xsd:element name="customer_scope" type="xsd:int" minOccurs="0" />
|
260 |
</xsd:sequence>
|
261 |
</xsd:complexType>
|
262 |
|
602 |
<xsd:complexType>
|
603 |
<xsd:sequence>
|
604 |
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
605 |
+
<xsd:element minOccurs="0" maxOccurs="1" name="filters" type="typens:filters" />
|
606 |
+
<xsd:element minOccurs="0" maxOccurs="1" name="pager" type="typens:pager" />
|
607 |
</xsd:sequence>
|
608 |
</xsd:complexType>
|
609 |
</xsd:element>
|
705 |
<wsdl:part name="result" element="typens:wishlistItemEntityArray" />
|
706 |
</wsdl:message>
|
707 |
|
708 |
+
<!-- Oro Wishlist -->
|
709 |
+
<wsdl:message name="oroWishlistItemListRequest">
|
710 |
+
<wsdl:part name="sessionId" element="xsd:string" />
|
711 |
+
<wsdl:part name="filters" element="typens:filters" />
|
712 |
+
</wsdl:message>
|
713 |
+
<wsdl:message name="oroWishlistItemListResponse">
|
714 |
+
<wsdl:part name="result" element="typens:oroWishlistItemEntityArray" />
|
715 |
+
</wsdl:message>
|
716 |
+
<!-- Oro Wishlist -->
|
717 |
+
|
718 |
<!-- Report Product Viewed -->
|
719 |
<wsdl:message name="reportProductViewedListRequest">
|
720 |
<wsdl:part name="sessionId" element="xsd:string" />
|
844 |
<wsdl:output message="typens:wishlistItemListResponse"/>
|
845 |
</wsdl:operation>
|
846 |
|
847 |
+
<wsdl:operation name="oroWishlistList">
|
848 |
+
<wsdl:documentation>Get wishlist collection with items</wsdl:documentation>
|
849 |
+
<wsdl:input message="typens:oroWishlistListRequest"/>
|
850 |
+
<wsdl:output message="typens:oroWishlistListResponse"/>
|
851 |
+
</wsdl:operation>
|
852 |
+
|
853 |
+
<wsdl:operation name="oroWishlistStatusList">
|
854 |
+
<wsdl:documentation>Get wishlist collection with items</wsdl:documentation>
|
855 |
+
<wsdl:input message="typens:oroWishlistStatusListRequest"/>
|
856 |
+
<wsdl:output message="typens:oroWishlistStatusListResponse"/>
|
857 |
+
</wsdl:operation>
|
858 |
+
|
859 |
<wsdl:operation name="reportProductViewedList">
|
860 |
+
<wsdl:documentation>Get product viewed collection</wsdl:documentation>
|
861 |
<wsdl:input message="typens:reportProductViewedListRequest"/>
|
862 |
<wsdl:output message="typens:reportProductViewedListResponse"/>
|
863 |
</wsdl:operation>
|
1009 |
<soap:body use="literal" />
|
1010 |
</wsdl:output>
|
1011 |
</wsdl:operation>
|
1012 |
+
<wsdl:operation name="oroWishlistList">
|
1013 |
+
<soap:operation soapAction=""/>
|
1014 |
+
<wsdl:input>
|
1015 |
+
<soap:body use="literal" />
|
1016 |
+
</wsdl:input>
|
1017 |
+
<wsdl:output>
|
1018 |
+
<soap:body use="literal" />
|
1019 |
+
</wsdl:output>
|
1020 |
+
</wsdl:operation>
|
1021 |
+
<wsdl:operation name="oroWishlistStatusList">
|
1022 |
+
<soap:operation soapAction=""/>
|
1023 |
+
<wsdl:input>
|
1024 |
+
<soap:body use="literal" />
|
1025 |
+
</wsdl:input>
|
1026 |
+
<wsdl:output>
|
1027 |
+
<soap:body use="literal" />
|
1028 |
+
</wsdl:output>
|
1029 |
+
</wsdl:operation>
|
1030 |
<wsdl:operation name="reportProductViewedList">
|
1031 |
<soap:operation soapAction=""/>
|
1032 |
<wsdl:input>
|
app/code/community/Oro/Api/sql/oro_api_setup/install-1.2.5.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Oro Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magecore.com so we can send you a copy immediately
|
12 |
+
*
|
13 |
+
* @category Oro
|
14 |
+
* @package Oro_Api
|
15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
|
19 |
+
/* @var $installer Oro_Api_Model_Resource_Setup */
|
20 |
+
$installer = $this;
|
app/code/community/Oro/Api/sql/oro_api_setup/upgrade-1.2.5.0-1.2.5.1.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Oro Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is published at http://opensource.org/licenses/osl-3.0.php.
|
9 |
+
* If you did not receive a copy of the license and are unable to
|
10 |
+
* obtain it through the world-wide-web, please send an email
|
11 |
+
* to license@magecore.com so we can send you a copy immediately
|
12 |
+
*
|
13 |
+
* @category Oro
|
14 |
+
* @package Oro_Api
|
15 |
+
* @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
|
16 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
17 |
+
*/
|
18 |
+
|
19 |
+
/* @var $installer Oro_Api_Model_Resource_Setup */
|
20 |
+
$installer = $this;
|
21 |
+
|
22 |
+
$installer->startSetup();
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Create table 'oro_api/wishlist_status'
|
26 |
+
*/
|
27 |
+
$table = $installer->getConnection()
|
28 |
+
->newTable($installer->getTable('oro_api/wishlist_status'))
|
29 |
+
->addColumn('wishlist_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
|
30 |
+
'unsigned' => true,
|
31 |
+
'nullable' => false,
|
32 |
+
'primary' => true,
|
33 |
+
), 'Wishlist ID')
|
34 |
+
->addColumn('website_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array(
|
35 |
+
'unsigned' => true,
|
36 |
+
), 'Website Id')
|
37 |
+
->addColumn('deleted_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
|
38 |
+
), 'Wishlist Deletion Time')
|
39 |
+
->setComment('Wishlist Deletion Status Table');
|
40 |
+
$installer->getConnection()->createTable($table);
|
41 |
+
|
42 |
+
$installer->endSetup();
|
app/etc/modules/Oro_Api.xml
CHANGED
@@ -22,6 +22,9 @@
|
|
22 |
<Oro_Api>
|
23 |
<active>true</active>
|
24 |
<codePool>community</codePool>
|
|
|
|
|
|
|
25 |
</Oro_Api>
|
26 |
</modules>
|
27 |
</config>
|
22 |
<Oro_Api>
|
23 |
<active>true</active>
|
24 |
<codePool>community</codePool>
|
25 |
+
<depends>
|
26 |
+
<Mage_Api/>
|
27 |
+
</depends>
|
28 |
</Oro_Api>
|
29 |
</modules>
|
30 |
</config>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Oro_Api</name>
|
4 |
-
<version>1.2.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL 3.0)</license>
|
7 |
<channel>community</channel>
|
@@ -10,9 +10,9 @@
|
|
10 |
<description>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</description>
|
11 |
<notes>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</notes>
|
12 |
<authors><author><name>Oro, Inc</name><user>orocrm</user><email>info@orocrm.com</email></author></authors>
|
13 |
-
<date>
|
14 |
-
<time>
|
15 |
-
<contents><target name="magecommunity"><dir name="Oro"><dir name="Api"><dir name="Helper"><file name="Data.php" hash="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.13</min><max>5.6.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Oro_Api</name>
|
4 |
+
<version>1.2.7.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL 3.0)</license>
|
7 |
<channel>community</channel>
|
10 |
<description>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</description>
|
11 |
<notes>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</notes>
|
12 |
<authors><author><name>Oro, Inc</name><user>orocrm</user><email>info@orocrm.com</email></author></authors>
|
13 |
+
<date>2016-09-08</date>
|
14 |
+
<time>10:08:48</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="Oro"><dir name="Api"><dir name="Helper"><file name="Data.php" hash="3f60d322fbdeea0f751addadc3d0b10e"/></dir><dir name="Model"><dir name="Catalog"><dir name="Product"><dir name="Api"><file name="V2.php" hash="9fe5e65e1b189ba6a9fed25fe8d858d6"/></dir></dir></dir><dir name="Customer"><dir name="Address"><dir name="Api"><file name="V2.php" hash="d78fb25439d4c4f172f8ff49dc24439d"/></dir><file name="Api.php" hash="bc68a17a8b3f4ef84d4887c9bbe148f0"/></dir><dir name="Api"><file name="V2.php" hash="89fc6f16e7f452438d4927669ea0f0de"/></dir><file name="Api.php" hash="36e09efd92d3ecb1d4dc833f3c259ad3"/></dir><dir name="Newsletter"><dir name="Subscriber"><dir name="Api"><file name="V2.php" hash="7b18db294f86ccf841a95aa7b7e656af"/></dir><file name="Api.php" hash="ac35ba0bb921258495149509fdb1b66e"/></dir></dir><dir name="Observer"><dir name="Crm"><file name="Controller.php" hash="7b3ec12f8934af2cb97ee21d7cd1c903"/></dir><dir name="Sales"><file name="Order.php" hash="81e2f8992f57a406130c893072365782"/></dir></dir><file name="Observer.php" hash="cf5202298ae9319e731ef8b5845a36a1"/><dir name="Ping"><file name="V2.php" hash="0fa10110ecb67d32079c5530a979c55a"/></dir><file name="Ping.php" hash="223e546950e0f7c23dfcc567e44893a3"/><dir name="Report"><dir name="Product"><dir name="Viewed"><dir name="Api"><file name="V2.php" hash="c8481504cefd028a17cc4a6555182ad0"/></dir><file name="Api.php" hash="fe175f2aab97cafa47574f1da2e169a3"/></dir></dir></dir><dir name="Resource"><dir name="Reports"><dir name="Product"><dir name="Index"><dir name="Viewed"><file name="Collection.php" hash="199749c5c972ab305abff0c9b10e9954"/></dir></dir></dir></dir><file name="Setup.php" hash="4186114dd1317db2c98d54089d7edf89"/><dir name="Wishlist"><dir name="Status"><file name="Collection.php" hash="c700fba4fcdf3c229cac1636c09e6d63"/></dir><file name="Status.php" hash="2af51c733fd1a967d0c540b7d8db9f76"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Api"><file name="V2.php" hash="0621bd68c420feb8000dae6861c49369"/></dir><file name="Api.php" hash="9a38a73ed31bdc4a681478be4456cedf"/></dir><dir name="Quote"><dir name="Api"><file name="V2.php" hash="4e8ba0ed7757110c4eae1d239b2adf76"/></dir><file name="Api.php" hash="5d279114dda6adff26e85a7af3641570"/></dir></dir><dir name="Website"><dir name="Api"><file name="V2.php" hash="aa9ab487ab696216d287be68dac262a6"/></dir><file name="Api.php" hash="a7cc7c6b06873e6d63b5d393cd50fd9b"/></dir><dir name="Wishlist"><dir name="Api"><file name="V2.php" hash="f0ac63e1cf9440ed0e4ca72eb93834f2"/></dir><file name="Api.php" hash="db30a7c3c9fbd7ff5fa6dcf7ba4c594f"/><dir name="Item"><dir name="Api"><file name="V2.php" hash="43a919dae8dd432e211878a39ba3f4a2"/></dir><file name="Api.php" hash="8d5d856ea533b9b122c96d0bef32861b"/></dir><file name="Observer.php" hash="475495be5a367730dfdf1ffbc20b54fa"/><dir name="Status"><dir name="Api"><file name="V2.php" hash="37a227a428a277ace34cbb25d30e92c2"/></dir><file name="Api.php" hash="25789253dbd23561aabaf62aba3a982c"/></dir><file name="Status.php" hash="0fe5e02ae58a405adbc7b69a282acdab"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Oro"><file name="GatewayController.php" hash="aca4efd099a889a77fb119356d9fab23"/><file name="SalesController.php" hash="3cd40b74eafe18fc6885ce871e305c5c"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="b3298b50c6f9556d36055f01cdfeb180"/><file name="api.xml" hash="f7bfee159a0af513bc55a82c270c2caf"/><file name="config.xml" hash="617796a28a194e16d9a9a5c318d343e6"/><file name="system.xml" hash="d42daecd30f4b9a1de9952fa1041bfbe"/><file name="workflow.xml" hash="40e7f46d53156e77b1d5498769e8f6cc"/><file name="wsdl.xml" hash="02b59d257447b63b80019dc9755c3b67"/><file name="wsi.xml" hash="8cbeca1823c055abf2576b18562067dc"/></dir><dir name="sql"><dir name="oro_api_setup"><file name="install-1.2.5.php" hash="d7c5d2ef1ebfd4f6084aa48d318fe307"/><file name="upgrade-1.2.5.0-1.2.5.1.php" hash="7946d51070254f4230c90da2e97801e8"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Oro_Api.xml" hash="9e6e71fac0eecdb2eb3d5589a19aa60e"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="oro"><dir><dir name="api"><file name="check.phtml" hash="142e380fa9eae5c0b7f233d519d13dc7"/><file name="login_styles.phtml" hash="a89d5d690702cf8296d76923b85e4ced"/><file name="page.phtml" hash="e9359e49019bbaa6e8b77e2a0ec458dd"/><file name="script.phtml" hash="89c3810165995c0ef6a0f5ad3b39f41f"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="oro"><file name="add_button_icon_dark.png" hash="01929b4351b537427035ba0f4df61689"/><file name="apply_button_icon.png" hash="4fc6fffbf943e82ea2b1a0022ec329e1"/><file name="error.png" hash="0caf3533e40e7f425d206803ef6e1876"/><file name="grid_sort_asc.gif" hash="8a86df764d4219dc0cf04f8529165cef"/><file name="grid_sort_desc.gif" hash="4f493deb94cb0eb0c6401e7f6bf6e0af"/><file name="loader.gif" hash="edf214475c8e79574dac3687926fc62b"/></dir></dir><file name="oro_style.css" hash="fd0609bb04a1f6748c06dd17a2946a54"/></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.13</min><max>5.6.0</max></php></required></dependencies>
|
18 |
</package>
|