Skip to content
This repository was archived by the owner on Mar 9, 2023. It is now read-only.

Commit

Permalink
Merge pull request #192 from Flagbit/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
xpoback authored Dec 16, 2016
2 parents 6a04368 + 1f1f737 commit 99099d3
Show file tree
Hide file tree
Showing 7 changed files with 78 additions and 21 deletions.
10 changes: 7 additions & 3 deletions src/app/code/community/FACTFinder/Asn/Helper/Data.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
*/
class FACTFinder_Asn_Helper_Data extends Mage_Core_Helper_Abstract
{
/**
* A sequence that is unlikely to occur in an URL
*/
const QUERY_PLACEHOLDER = 'XWPZVYTAQOJ';


/**
Expand All @@ -36,7 +40,7 @@ public function getQueryParams($url)
$queryParams = array();

//conserve url encoded spaces, since parse_str replaces them with underscores
$url = str_replace('%20', 'XXXXXXXXXX', $url);
$url = str_replace('%20', self::QUERY_PLACEHOLDER, $url);

$parseUrl = parse_url($url);
if (isset($parseUrl['query'])) {
Expand All @@ -47,8 +51,8 @@ public function getQueryParams($url)
// we use not encoded values since they will be encoded with Mage::getUrl()
$result = array();
foreach ($queryParams as $key => $value) {
$key = str_replace('XXXXXXXXXX', ' ', $key);
$value = str_replace('XXXXXXXXXX', ' ', $value);
$key = str_replace(self::QUERY_PLACEHOLDER, ' ', $key);
$value = str_replace(self::QUERY_PLACEHOLDER, ' ', $value);
$result[$key] = $value;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -972,9 +972,13 @@ protected function getProductImageUrl($productId, $storeId)

// if no cache image was generated we should create one
if (!$imageModel->isCached()) {
$imageModel
->resize()
->saveFile();
try {
$imageModel
->resize()
->saveFile();
} catch (Exception $e) {
Mage::logException($e);
}
}

return $imageModel->getUrl();
Expand Down
6 changes: 3 additions & 3 deletions src/app/code/community/FACTFinder/Core/etc/system.xml
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</export_url>
<disable_validation translate="label comment">
<disabled_validation translate="label comment">
<label>Disable export feed validation</label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
Expand All @@ -323,7 +323,7 @@
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<comment><![CDATA[This can be used in case of unpredicted problems with export data validation]]></comment>
</disable_validation>
</disabled_validation>
</fields>
</export>
<config translate="label">
Expand Down Expand Up @@ -504,4 +504,4 @@
</groups>
</factfinder>
</sections>
</config>
</config>
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,13 @@ protected function _getIdParam()
public function getRecommendedIds()
{
$ids = array();
foreach ($this->getRecommendations() as $recommendation) {
$recommendations = $this->getRecommendations();
if (empty($recommendations)) {
return $ids;
}
foreach ($recommendations as $recommendation) {
$ids[] = $recommendation->getId();
}

return $ids;
}

Expand Down
29 changes: 20 additions & 9 deletions src/app/code/community/FACTFinder/Tracking/Model/Observer.php
Original file line number Diff line number Diff line change
Expand Up @@ -184,27 +184,37 @@ public function addOrderDetailsToQueue($observer)
}

$idFieldName = Mage::helper('factfinder_tracking')->getIdFieldName();
if ($idFieldName == 'entity_id') {
$idFieldName = 'product_id'; // sales_order_item does not contain a entity_id
}

/** @var Mage_Sales_Model_Order_Item $item */
foreach ($order->getAllItems() as $item) {
if ($item->getParentItem() != null) {
if ($item->getChildrenItems()) {
continue;
}

$parentProductId = null;
$price = $item->getPrice();

$parentItem = $item->getParentItem();

if ($parentItem) {
$parentProductId = $parentItem->getProduct()->getData($idFieldName);
if ($parentItem->getProduct()->isConfigurable()) {
$price = $parentItem->getPrice();
}
}

try {
Mage::getModel('factfinder_tracking/queue')
->setProductId($item->getData($idFieldName))
->setProductId($item->getProduct()->getData($idFieldName))
->setParentProductId($parentProductId)
->setProductName($item->getName())
->setSid(Mage::helper('factfinder_tracking')->getSessionId())
->setUserid($customerId)
->setPrice($item->getPrice())
->setPrice($price)
->setCount($item->getQtyOrdered())
->setStoreId($order->getStoreId())
->save();
}
catch (Exception $e) {
} catch (Exception $e) {
Mage::logException($e);
}
}
Expand Down Expand Up @@ -239,10 +249,11 @@ public function processOrderQueue()
$tracking = Mage::getModel('factfinder_tracking/handler_tracking');
$tracking->setStoreId($storeId);

/** @var FACTFinder_Tracking_Model_Queue $item */
foreach ($items as $item) {
$tracking->setupCheckoutTracking(
$item->getProductId(),
$item->getProductId(),
$item->getParentProductId(),
$item->getProductName(),
null,
$item->getSid(),
Expand Down
2 changes: 1 addition & 1 deletion src/app/code/community/FACTFinder/Tracking/etc/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<config>
<modules>
<FACTFinder_Tracking>
<version>4.1.11</version>
<version>4.1.12</version>
</FACTFinder_Tracking>
</modules>
<global>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php
/**
* FACTFinder_Tracking
*
* @category Mage
* @package FACTFinder_Tracking
* @author Flagbit Magento Team <magento@flagbit.de>
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
* @link http://www.flagbit.de
*
*/
/**
* Install script
*
* Adds column for parent ID
*
*/

$installer = $this;
$installer->startSetup();

$table = $installer->getConnection()
->addColumn(
$installer->getTable('factfinder_tracking/queue'),
'parent_product_id',
array(
'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
'length' => 255,
'nullable' => true,
'default' => null,
'comment' => 'Parent Product ID',
)
);
$installer->endSetup();

0 comments on commit 99099d3

Please sign in to comment.