Version Notes
Bugfixes.
Download this release
Release Info
Developer | Carlos Escribano Rey |
Extension | Doofinder_Feed |
Version | 1.8.8 |
Comparing to | |
See all releases |
Code changes from version 1.8.7 to 1.8.8
- app/code/community/Doofinder/Feed/Block/Adminhtml/Log/View.php +1 -1
- app/code/community/Doofinder/Feed/Block/Adminhtml/Map/Additional.php +1 -1
- app/code/community/Doofinder/Feed/Block/Integration.php +1 -1
- app/code/community/Doofinder/Feed/Block/Settings/Buttons/Generate.php +1 -1
- app/code/community/Doofinder/Feed/Block/Settings/Buttons/ViewLog.php +1 -1
- app/code/community/Doofinder/Feed/Block/Settings/Locks.php +89 -0
- app/code/community/Doofinder/Feed/Block/Settings/Panel/Crondescription.php +1 -1
- app/code/community/Doofinder/Feed/Block/Settings/Panel/Datetime.php +1 -1
- app/code/community/Doofinder/Feed/Block/Settings/Panel/Description.php +1 -1
- app/code/community/Doofinder/Feed/Block/Settings/Panel/File.php +1 -1
- app/code/community/Doofinder/Feed/Block/Settings/Panel/Layerdescription.php +1 -1
- app/code/community/Doofinder/Feed/Block/Settings/Panel/Message.php +1 -1
- app/code/community/Doofinder/Feed/Helper/Data.php +4 -3
- app/code/community/Doofinder/Feed/Helper/Log.php +33 -3
- app/code/community/Doofinder/Feed/Helper/Tax.php +1 -1
- app/code/community/Doofinder/Feed/Model/Adminhtml/System/Config/Backend/Cron.php +1 -1
- app/code/community/Doofinder/Feed/Model/Config.php +2 -2
- app/code/community/Doofinder/Feed/Model/Cron.php +1 -1
- app/code/community/Doofinder/Feed/Model/Generator.php +37 -18
- app/code/community/Doofinder/Feed/Model/Log.php +1 -1
- app/code/community/Doofinder/Feed/Model/Map/Product/Abstract.php +23 -7
- app/code/community/Doofinder/Feed/Model/Map/Product/Associated.php +2 -2
- app/code/community/Doofinder/Feed/Model/Map/Product/Bundle.php +2 -2
- app/code/community/Doofinder/Feed/Model/Map/Product/Configurable.php +2 -2
- app/code/community/Doofinder/Feed/Model/Map/Product/Downloadable.php +2 -2
- app/code/community/Doofinder/Feed/Model/Map/Product/Grouped.php +2 -2
- app/code/community/Doofinder/Feed/Model/Map/Product/Simple.php +2 -2
- app/code/community/Doofinder/Feed/Model/Map/Product/Virtual.php +2 -2
- app/code/community/Doofinder/Feed/Model/Mysql4/Cron.php +1 -1
- app/code/community/Doofinder/Feed/Model/Mysql4/Cron/Collection.php +1 -1
- app/code/community/Doofinder/Feed/Model/Mysql4/Log.php +1 -1
- app/code/community/Doofinder/Feed/Model/Mysql4/Log/Collection.php +1 -1
- app/code/community/Doofinder/Feed/Model/Observers/Feed.php +55 -23
- app/code/community/Doofinder/Feed/Model/Observers/Logs.php +1 -1
- app/code/community/Doofinder/Feed/Model/Observers/Schedule.php +1 -1
- app/code/community/Doofinder/Feed/Model/Resource/Mysql4/Setup.php +1 -1
- app/code/community/Doofinder/Feed/Model/System/Config/Backend/Map/Additional.php +1 -1
- app/code/community/Doofinder/Feed/Model/System/Config/Reset.php +1 -1
- app/code/community/Doofinder/Feed/Model/System/Config/Source/Feed/Pricetaxmode.php +1 -1
- app/code/community/Doofinder/Feed/Model/System/Config/Source/Product/Attributes.php +1 -1
- app/code/community/Doofinder/Feed/Model/Tools.php +2 -2
- app/code/community/Doofinder/Feed/controllers/DoofinderFeedFeedController.php +26 -1
- app/code/community/Doofinder/Feed/controllers/DoofinderFeedLogController.php +1 -1
- app/code/community/Doofinder/Feed/controllers/FeedController.php +2 -2
- app/code/community/Doofinder/Feed/controllers/IndexController.php +2 -2
- app/code/community/Doofinder/Feed/etc/config.xml +2 -1
- app/code/community/Doofinder/Feed/etc/system.xml +29 -0
- package.xml +5 -5
app/code/community/Doofinder/Feed/Block/Adminhtml/Log/View.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Adminhtml_Log_View extends Mage_Adminhtml_Block_Widget_Grid
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Adminhtml_Log_View extends Mage_Adminhtml_Block_Widget_Grid
|
app/code/community/Doofinder/Feed/Block/Adminhtml/Map/Additional.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Adminhtml_Map_Additional extends Mage_Adminhtml_Block_System_Config_Form_Field
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Adminhtml_Map_Additional extends Mage_Adminhtml_Block_System_Config_Form_Field
|
app/code/community/Doofinder/Feed/Block/Integration.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Integration extends Mage_Core_Block_Abstract
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Integration extends Mage_Core_Block_Abstract
|
app/code/community/Doofinder/Feed/Block/Settings/Buttons/Generate.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Buttons_Generate extends Mage_Adminhtml_Block_System_Config_Form_Field
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Buttons_Generate extends Mage_Adminhtml_Block_System_Config_Form_Field
|
app/code/community/Doofinder/Feed/Block/Settings/Buttons/ViewLog.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Buttons_ViewLog extends Mage_Adminhtml_Block_System_Config_Form_Field
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Buttons_ViewLog extends Mage_Adminhtml_Block_System_Config_Form_Field
|
app/code/community/Doofinder/Feed/Block/Settings/Locks.php
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* This file is part of Doofinder_Feed.
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
* @category blocks
|
8 |
+
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
+
*/
|
11 |
+
|
12 |
+
class Doofinder_Feed_Block_Settings_Locks extends Mage_Adminhtml_Block_System_Config_Form_Field
|
13 |
+
{
|
14 |
+
public function render(Varien_Data_Form_Element_Abstract $element)
|
15 |
+
{
|
16 |
+
$element->setCanUseDefaultValue(false);
|
17 |
+
return parent::render($element);
|
18 |
+
}
|
19 |
+
|
20 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
21 |
+
{
|
22 |
+
$helper = Mage::helper('doofinder_feed');
|
23 |
+
|
24 |
+
$this->setElement($element);
|
25 |
+
$name = $element->getName();
|
26 |
+
$element->setScopeLabel('');
|
27 |
+
|
28 |
+
$store_code = Mage::app()->getRequest()->getParam('store');
|
29 |
+
|
30 |
+
$stores = array();
|
31 |
+
|
32 |
+
if ($store_code) {
|
33 |
+
$stores[$store_code] = Mage::getModel('core/store')->load($store_code);
|
34 |
+
} else {
|
35 |
+
foreach (Mage::app()->getStores() as $store) {
|
36 |
+
if ($store->getIsActive()) {
|
37 |
+
$stores[$store->getCode()] = $store;
|
38 |
+
}
|
39 |
+
}
|
40 |
+
}
|
41 |
+
|
42 |
+
$locks = array();
|
43 |
+
|
44 |
+
foreach ($stores as $store) {
|
45 |
+
if (file_exists($helper->getFeedLockPath($store->getCode()))) {
|
46 |
+
$msg = $this->getLayout()->createBlock('adminhtml/widget_button')
|
47 |
+
->setType('button')
|
48 |
+
->setClass('remove-lock')
|
49 |
+
->setLabel($helper->__('Remove lock'))
|
50 |
+
->setOnClick("confirm('Removing lock file may cause inconsistencies in generated feed. Proceed?') && removeFeedLock('" . $store->getCode() . "')")
|
51 |
+
->toHtml();
|
52 |
+
} else {
|
53 |
+
$msg = $helper->__('Lock file for store <em>%s</em> does not exist.', $store->getCode());
|
54 |
+
}
|
55 |
+
|
56 |
+
$locks[$store->getCode()] = $msg;
|
57 |
+
}
|
58 |
+
|
59 |
+
$html = '';
|
60 |
+
|
61 |
+
if (count($locks) > 1) {
|
62 |
+
$html .= '<ul>';
|
63 |
+
foreach ($locks as $code => $file) {
|
64 |
+
$html .= '<li><b>' . $stores[$code]->getName() . ':</b><div>' . $file . '</div></li>';
|
65 |
+
}
|
66 |
+
$html .= '</ul>';
|
67 |
+
} else {
|
68 |
+
$html .= reset($locks);
|
69 |
+
}
|
70 |
+
|
71 |
+
$url = Mage::helper("adminhtml")->getUrl('adminhtml/doofinderFeedFeed/removeLock');
|
72 |
+
$script = "<script type=\"text/javascript\">
|
73 |
+
function removeFeedLock(storeCode) {
|
74 |
+
var call = new Ajax.Request('" . $url . "', {
|
75 |
+
method: 'post',
|
76 |
+
parameters: {
|
77 |
+
store: storeCode
|
78 |
+
},
|
79 |
+
onComplete: function(transport) {
|
80 |
+
alert(transport.responseText);
|
81 |
+
window.location.reload();
|
82 |
+
}
|
83 |
+
});
|
84 |
+
}
|
85 |
+
</script>";
|
86 |
+
|
87 |
+
return $html . $script;
|
88 |
+
}
|
89 |
+
}
|
app/code/community/Doofinder/Feed/Block/Settings/Panel/Crondescription.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_CronDescription extends Doofinder_Feed_Block_Settings_Panel_Description
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_CronDescription extends Doofinder_Feed_Block_Settings_Panel_Description
|
app/code/community/Doofinder/Feed/Block/Settings/Panel/Datetime.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_Datetime extends Mage_Adminhtml_Block_System_Config_Form_Field
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_Datetime extends Mage_Adminhtml_Block_System_Config_Form_Field
|
app/code/community/Doofinder/Feed/Block/Settings/Panel/Description.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_Description extends Mage_Adminhtml_Block_System_Config_Form_Field
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_Description extends Mage_Adminhtml_Block_System_Config_Form_Field
|
app/code/community/Doofinder/Feed/Block/Settings/Panel/File.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_File extends Mage_Adminhtml_Block_System_Config_Form_Field
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_File extends Mage_Adminhtml_Block_System_Config_Form_Field
|
app/code/community/Doofinder/Feed/Block/Settings/Panel/Layerdescription.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_LayerDescription extends Doofinder_Feed_Block_Settings_Panel_Description
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_LayerDescription extends Doofinder_Feed_Block_Settings_Panel_Description
|
app/code/community/Doofinder/Feed/Block/Settings/Panel/Message.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_Message extends Mage_Adminhtml_Block_System_Config_Form_Field
|
6 |
/**
|
7 |
* @category blocks
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Block_Settings_Panel_Message extends Mage_Adminhtml_Block_System_Config_Form_Field
|
app/code/community/Doofinder/Feed/Helper/Data.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Helpers
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Data helper for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Helper_Data extends Mage_Core_Helper_Abstract
|
@@ -78,7 +78,8 @@ class Doofinder_Feed_Helper_Data extends Mage_Core_Helper_Abstract
|
|
78 |
$tax = $taxHelper->getPriceDisplayType() != Mage_Tax_Model_Config::DISPLAY_TYPE_EXCLUDING_TAX;
|
79 |
}
|
80 |
|
81 |
-
|
|
|
82 |
}
|
83 |
|
84 |
/**
|
6 |
/**
|
7 |
* @category Helpers
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Data helper for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Helper_Data extends Mage_Core_Helper_Abstract
|
78 |
$tax = $taxHelper->getPriceDisplayType() != Mage_Tax_Model_Config::DISPLAY_TYPE_EXCLUDING_TAX;
|
79 |
}
|
80 |
|
81 |
+
// Return raw price with/without tax - no price rounding here
|
82 |
+
return $taxHelper->getPrice($product, $price, $tax, null, null, null, null, null, false);
|
83 |
}
|
84 |
|
85 |
/**
|
app/code/community/Doofinder/Feed/Helper/Log.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Helpers
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Log helper for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Helper_Log extends Mage_Core_Helper_Abstract
|
@@ -21,15 +21,31 @@ class Doofinder_Feed_Helper_Log extends Mage_Core_Helper_Abstract
|
|
21 |
const WARNING = 'warning';
|
22 |
const ERROR = 'error';
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
/**
|
25 |
* Log the feed event.
|
26 |
*
|
27 |
* @param Doofinder_Feed_Model_Cron $process
|
28 |
* @param string $type
|
29 |
* @param string $message
|
|
|
30 |
*/
|
31 |
-
function log(Doofinder_Feed_Model_Cron $process, $type, $message)
|
32 |
{
|
|
|
|
|
33 |
$entry = Mage::getModel('doofinder_feed/log')
|
34 |
->setProcessId($process->getId())
|
35 |
->setType($type)
|
@@ -52,4 +68,18 @@ class Doofinder_Feed_Helper_Log extends Mage_Core_Helper_Abstract
|
|
52 |
static::ERROR => $this->__('Error'),
|
53 |
);
|
54 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
}
|
6 |
/**
|
7 |
* @category Helpers
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Log helper for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Helper_Log extends Mage_Core_Helper_Abstract
|
21 |
const WARNING = 'warning';
|
22 |
const ERROR = 'error';
|
23 |
|
24 |
+
/**
|
25 |
+
* @var boolean
|
26 |
+
*/
|
27 |
+
public $_debugEnabled;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Constructor
|
31 |
+
*/
|
32 |
+
function __construct()
|
33 |
+
{
|
34 |
+
$this->_debugEnabled = Mage::getStoreConfig('doofinder_cron/feed_settings/debug', false);
|
35 |
+
}
|
36 |
+
|
37 |
/**
|
38 |
* Log the feed event.
|
39 |
*
|
40 |
* @param Doofinder_Feed_Model_Cron $process
|
41 |
* @param string $type
|
42 |
* @param string $message
|
43 |
+
* @param boolean $debug Pass message to debug log
|
44 |
*/
|
45 |
+
function log(Doofinder_Feed_Model_Cron $process, $type, $message, $debug = true)
|
46 |
{
|
47 |
+
$debug && $this->debug(sprintf('log(%d, %s) %s', $process->getId(), $type, $message));
|
48 |
+
|
49 |
$entry = Mage::getModel('doofinder_feed/log')
|
50 |
->setProcessId($process->getId())
|
51 |
->setType($type)
|
68 |
static::ERROR => $this->__('Error'),
|
69 |
);
|
70 |
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Log a debug message
|
74 |
+
*
|
75 |
+
* @param string $msg
|
76 |
+
*/
|
77 |
+
function debug($msg)
|
78 |
+
{
|
79 |
+
if (!$this->_debugEnabled) {
|
80 |
+
return;
|
81 |
+
}
|
82 |
+
|
83 |
+
Mage::log($msg, null, 'doofinder.log');
|
84 |
+
}
|
85 |
}
|
app/code/community/Doofinder/Feed/Helper/Tax.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Helpers
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Helper_Tax extends Mage_Tax_Helper_Data
|
6 |
/**
|
7 |
* @category Helpers
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Helper_Tax extends Mage_Tax_Helper_Data
|
app/code/community/Doofinder/Feed/Model/Adminhtml/System/Config/Backend/Cron.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Adminhtml_System_Config_Backend_Cron extends Mage_Core_Model_Config_Data {
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Adminhtml_System_Config_Backend_Cron extends Mage_Core_Model_Config_Data {
|
app/code/community/Doofinder/Feed/Model/Config.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Config model for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Config extends Mage_Core_Model_Config_Data
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Config model for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Config extends Mage_Core_Model_Config_Data
|
app/code/community/Doofinder/Feed/Model/Cron.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Cron extends Mage_Core_Model_Abstract {
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Cron extends Mage_Core_Model_Abstract {
|
app/code/community/Doofinder/Feed/Model/Generator.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Generator model for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
if (!defined('DS'))
|
@@ -50,6 +50,20 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
50 |
|
51 |
protected $_lastProcessedProductId;
|
52 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
/**
|
54 |
* Log to doofinder generator logfile
|
55 |
*
|
@@ -58,6 +72,7 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
58 |
*/
|
59 |
public function logError($message)
|
60 |
{
|
|
|
61 |
$this->_errors[] = $message;
|
62 |
}
|
63 |
|
@@ -79,6 +94,8 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
79 |
|
80 |
public function run()
|
81 |
{
|
|
|
|
|
82 |
// This must NOT depend on cron being enabled because it's used
|
83 |
// by the front controller!!!
|
84 |
|
@@ -93,6 +110,8 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
93 |
// Clear errors
|
94 |
$this->_errors = array();
|
95 |
|
|
|
|
|
96 |
// Perform run
|
97 |
$this->_initFeed();
|
98 |
$this->_batchProcessProducts(
|
@@ -100,11 +119,16 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
100 |
$this->getData('_limit_')
|
101 |
);
|
102 |
|
|
|
|
|
103 |
// Only close feed if close empty flag is set to true or there was at least one processed product
|
104 |
if ($this->getData('close_empty') || $this->getLastProcessedProductId() != $this->getData('_offset_')) {
|
|
|
105 |
$this->_closeFeed();
|
106 |
}
|
107 |
|
|
|
|
|
108 |
return $this->_response;
|
109 |
}
|
110 |
|
@@ -175,6 +199,7 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
175 |
try
|
176 |
{
|
177 |
$row = $args['row'];
|
|
|
178 |
|
179 |
$this->_lastProcessedProductId = $row['entity_id'];
|
180 |
|
@@ -205,6 +230,8 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
205 |
$this->_iDumped++;
|
206 |
|
207 |
$map->unsetData();
|
|
|
|
|
208 |
}
|
209 |
catch (Exception $e)
|
210 |
{
|
@@ -236,6 +263,7 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
236 |
protected function _addProductToXml(
|
237 |
Doofinder_Feed_Model_Map_Product_Abstract $productMap)
|
238 |
{
|
|
|
239 |
|
240 |
$iDumped = 0;
|
241 |
$displayPrice = $this->getDisplayPrice();
|
@@ -244,6 +272,7 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
244 |
{
|
245 |
if ($productMap->isSkip())
|
246 |
{
|
|
|
247 |
$this->_iSkipped++;
|
248 |
return $this;
|
249 |
}
|
@@ -339,11 +368,12 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
339 |
|
340 |
$iDumped++;
|
341 |
}
|
|
|
|
|
342 |
}
|
343 |
catch (Exception $e)
|
344 |
{
|
345 |
-
|
346 |
-
$this->_debug($e->getMessage());
|
347 |
}
|
348 |
|
349 |
return $iDumped > 0;
|
@@ -530,6 +560,8 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
530 |
$this->_oXmlWriter->openMemory();
|
531 |
if (!$this->getData('_offset_'))
|
532 |
{
|
|
|
|
|
533 |
$this->_oXmlWriter->startDocument('1.0', 'UTF-8');
|
534 |
|
535 |
// Output the parent rss tag
|
@@ -577,13 +609,6 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
577 |
}
|
578 |
}
|
579 |
|
580 |
-
protected function _debug($m)
|
581 |
-
{
|
582 |
-
// $this->_response .= '<pre>';
|
583 |
-
// var_dump($m);
|
584 |
-
// $this->_response .= '</pre>';
|
585 |
-
}
|
586 |
-
|
587 |
protected function _sanitizeData($data)
|
588 |
{
|
589 |
$sanitized = array();
|
@@ -634,8 +659,7 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
634 |
}
|
635 |
catch (Exception $e)
|
636 |
{
|
637 |
-
$
|
638 |
-
$this->_stopOnException($e);
|
639 |
}
|
640 |
}
|
641 |
|
@@ -781,11 +805,6 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
|
|
781 |
return $this->_fieldMap;
|
782 |
}
|
783 |
|
784 |
-
protected function _stopOnException(Exception $e)
|
785 |
-
{
|
786 |
-
Mage::logError($e->getMessage());
|
787 |
-
}
|
788 |
-
|
789 |
protected function _cleanFieldValue($field)
|
790 |
{
|
791 |
// http://stackoverflow.com/questions/4224141/php-removing-invalid-utf-8-characters-in-xml-using-filter
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Generator model for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
if (!defined('DS'))
|
50 |
|
51 |
protected $_lastProcessedProductId;
|
52 |
|
53 |
+
/**
|
54 |
+
* @var Doofinder_Feed_Helper_Log
|
55 |
+
*/
|
56 |
+
protected $_log;
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Initialize log
|
60 |
+
*/
|
61 |
+
public function _construct()
|
62 |
+
{
|
63 |
+
parent::_construct();
|
64 |
+
$this->_log = Mage::helper('doofinder_feed/log');
|
65 |
+
}
|
66 |
+
|
67 |
/**
|
68 |
* Log to doofinder generator logfile
|
69 |
*
|
72 |
*/
|
73 |
public function logError($message)
|
74 |
{
|
75 |
+
$this->_log->debug($message);
|
76 |
$this->_errors[] = $message;
|
77 |
}
|
78 |
|
94 |
|
95 |
public function run()
|
96 |
{
|
97 |
+
$this->_log->debug("Running generator");
|
98 |
+
|
99 |
// This must NOT depend on cron being enabled because it's used
|
100 |
// by the front controller!!!
|
101 |
|
110 |
// Clear errors
|
111 |
$this->_errors = array();
|
112 |
|
113 |
+
$this->_log->debug("Starting products processig");
|
114 |
+
|
115 |
// Perform run
|
116 |
$this->_initFeed();
|
117 |
$this->_batchProcessProducts(
|
119 |
$this->getData('_limit_')
|
120 |
);
|
121 |
|
122 |
+
$this->_log->debug("Products processig done");
|
123 |
+
|
124 |
// Only close feed if close empty flag is set to true or there was at least one processed product
|
125 |
if ($this->getData('close_empty') || $this->getLastProcessedProductId() != $this->getData('_offset_')) {
|
126 |
+
$this->_log->debug("Closing xml feed");
|
127 |
$this->_closeFeed();
|
128 |
}
|
129 |
|
130 |
+
$this->_log->debug("Generator finished");
|
131 |
+
|
132 |
return $this->_response;
|
133 |
}
|
134 |
|
199 |
try
|
200 |
{
|
201 |
$row = $args['row'];
|
202 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Adding product %d to feed', $row['entity_id']));
|
203 |
|
204 |
$this->_lastProcessedProductId = $row['entity_id'];
|
205 |
|
230 |
$this->_iDumped++;
|
231 |
|
232 |
$map->unsetData();
|
233 |
+
|
234 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Product %d added to feed', $row['entity_id']));
|
235 |
}
|
236 |
catch (Exception $e)
|
237 |
{
|
263 |
protected function _addProductToXml(
|
264 |
Doofinder_Feed_Model_Map_Product_Abstract $productMap)
|
265 |
{
|
266 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Adding product %d to xml', $productMap->getProduct()->getId()));
|
267 |
|
268 |
$iDumped = 0;
|
269 |
$displayPrice = $this->getDisplayPrice();
|
272 |
{
|
273 |
if ($productMap->isSkip())
|
274 |
{
|
275 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Product %d skipped', $productMap->getProduct()->getId()));
|
276 |
$this->_iSkipped++;
|
277 |
return $this;
|
278 |
}
|
368 |
|
369 |
$iDumped++;
|
370 |
}
|
371 |
+
|
372 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Product %d added to xml', $productMap->getProduct()->getId()));
|
373 |
}
|
374 |
catch (Exception $e)
|
375 |
{
|
376 |
+
$this->logError($e->getMessage());
|
|
|
377 |
}
|
378 |
|
379 |
return $iDumped > 0;
|
560 |
$this->_oXmlWriter->openMemory();
|
561 |
if (!$this->getData('_offset_'))
|
562 |
{
|
563 |
+
$this->_log->debug('Opening feed');
|
564 |
+
|
565 |
$this->_oXmlWriter->startDocument('1.0', 'UTF-8');
|
566 |
|
567 |
// Output the parent rss tag
|
609 |
}
|
610 |
}
|
611 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
612 |
protected function _sanitizeData($data)
|
613 |
{
|
614 |
$sanitized = array();
|
659 |
}
|
660 |
catch (Exception $e)
|
661 |
{
|
662 |
+
$this->logError(sprintf('Invalid store code %s', $this->getData('store_code')));
|
|
|
663 |
}
|
664 |
}
|
665 |
|
805 |
return $this->_fieldMap;
|
806 |
}
|
807 |
|
|
|
|
|
|
|
|
|
|
|
808 |
protected function _cleanFieldValue($field)
|
809 |
{
|
810 |
// http://stackoverflow.com/questions/4224141/php-removing-invalid-utf-8-characters-in-xml-using-filter
|
app/code/community/Doofinder/Feed/Model/Log.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Log extends Mage_Core_Model_Abstract {
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Log extends Mage_Core_Model_Abstract {
|
app/code/community/Doofinder/Feed/Model/Map/Product/Abstract.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Abstract Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Abstract extends Varien_Object
|
@@ -21,9 +21,24 @@ class Doofinder_Feed_Model_Map_Product_Abstract extends Varien_Object
|
|
21 |
protected $skip = false;
|
22 |
protected $_attributeSetModel;
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
public function initialize()
|
26 |
{
|
|
|
|
|
27 |
$currency_code = Mage::app()
|
28 |
->getStore($this->getData('store_code'))
|
29 |
->getCurrentCurrencyCode();
|
@@ -47,10 +62,14 @@ class Doofinder_Feed_Model_Map_Product_Abstract extends Varien_Object
|
|
47 |
|
48 |
public function map()
|
49 |
{
|
|
|
|
|
50 |
$this->_beforeMap();
|
51 |
$rows = $this->_map();
|
52 |
$this->_afterMap($rows);
|
53 |
|
|
|
|
|
54 |
return $rows;
|
55 |
}
|
56 |
|
@@ -247,11 +266,8 @@ class Doofinder_Feed_Model_Map_Product_Abstract extends Varien_Object
|
|
247 |
|
248 |
$store = Mage::app()->getStore($this->getStoreCode());
|
249 |
|
250 |
-
//
|
251 |
-
|
252 |
-
|
253 |
-
// Format price with store currency
|
254 |
-
return $store->getCurrentCurrency()->format($price, array('display' => Zend_Currency::NO_SYMBOL), false);
|
255 |
}
|
256 |
|
257 |
protected function mapFieldPrice()
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Abstract Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Abstract extends Varien_Object
|
21 |
protected $skip = false;
|
22 |
protected $_attributeSetModel;
|
23 |
|
24 |
+
/**
|
25 |
+
* @var Doofinder_Feed_Helper_Log
|
26 |
+
*/
|
27 |
+
protected $_log;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Initialize log
|
31 |
+
*/
|
32 |
+
public function _construct()
|
33 |
+
{
|
34 |
+
parent::_construct();
|
35 |
+
$this->_log = Mage::helper('doofinder_feed/log');
|
36 |
+
}
|
37 |
|
38 |
public function initialize()
|
39 |
{
|
40 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Initializing %s for product %d', get_called_class(), $this->getProduct()->getId()));
|
41 |
+
|
42 |
$currency_code = Mage::app()
|
43 |
->getStore($this->getData('store_code'))
|
44 |
->getCurrentCurrencyCode();
|
62 |
|
63 |
public function map()
|
64 |
{
|
65 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Mapping product %d', $this->getProduct()->getId()));
|
66 |
+
|
67 |
$this->_beforeMap();
|
68 |
$rows = $this->_map();
|
69 |
$this->_afterMap($rows);
|
70 |
|
71 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Map for product %d: %s', $this->getProduct()->getId(), json_encode($rows)));
|
72 |
+
|
73 |
return $rows;
|
74 |
}
|
75 |
|
266 |
|
267 |
$store = Mage::app()->getStore($this->getStoreCode());
|
268 |
|
269 |
+
// Return price converted to store currency
|
270 |
+
return Mage::helper('core')->currencyByStore($price, $store, false, false);
|
|
|
|
|
|
|
271 |
}
|
272 |
|
273 |
protected function mapFieldPrice()
|
app/code/community/Doofinder/Feed/Model/Map/Product/Associated.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Associated Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Associated
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Associated Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Associated
|
app/code/community/Doofinder/Feed/Model/Map/Product/Bundle.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Bundle Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Bundle
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Bundle Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Bundle
|
app/code/community/Doofinder/Feed/Model/Map/Product/Configurable.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Configurable Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Configurable
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Configurable Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Configurable
|
app/code/community/Doofinder/Feed/Model/Map/Product/Downloadable.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Downloadable Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Downloadable
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Downloadable Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Downloadable
|
app/code/community/Doofinder/Feed/Model/Map/Product/Grouped.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Grouped Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Grouped
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Grouped Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Grouped
|
app/code/community/Doofinder/Feed/Model/Map/Product/Simple.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Simple Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Simple
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Simple Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Simple
|
app/code/community/Doofinder/Feed/Model/Map/Product/Virtual.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Virtual Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Virtual
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Virtual Product Map Model for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Map_Product_Virtual
|
app/code/community/Doofinder/Feed/Model/Mysql4/Cron.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Mysql4_Cron extends Mage_Core_Model_Mysql4_Abstract {
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Mysql4_Cron extends Mage_Core_Model_Mysql4_Abstract {
|
app/code/community/Doofinder/Feed/Model/Mysql4/Cron/Collection.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Mysql4_Cron_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Mysql4_Cron_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
|
app/code/community/Doofinder/Feed/Model/Mysql4/Log.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Mysql4_Log extends Mage_Core_Model_Mysql4_Abstract {
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Mysql4_Log extends Mage_Core_Model_Mysql4_Abstract {
|
app/code/community/Doofinder/Feed/Model/Mysql4/Log/Collection.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Mysql4_Log_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Mysql4_Log_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
app/code/community/Doofinder/Feed/Model/Observers/Feed.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Observers_Feed
|
@@ -18,6 +18,18 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
18 |
|
19 |
private $productCount;
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
public function updateSearchEngineIndexes($observer) {
|
23 |
|
@@ -77,6 +89,8 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
77 |
|
78 |
$generator = Mage::getModel('doofinder_feed/generator', $options);
|
79 |
|
|
|
|
|
80 |
$xmlData = $generator->run();
|
81 |
|
82 |
if ($xmlData) {
|
@@ -89,6 +103,7 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
89 |
updated for
|
90 |
this store view. To fix this problem set HashID for a given stor view or disable Internal Search in Doofinder
|
91 |
Search Configuration.', $this->storeCode);
|
|
|
92 |
Mage::getSingleton('adminhtml/session')->addWarning($warning);
|
93 |
continue;
|
94 |
}
|
@@ -98,6 +113,7 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
98 |
// Check if search engine exists and skip foreach iteration if not.
|
99 |
if (!$searchEngine) {
|
100 |
$error = sprintf('Search engine with HashID %s doesn\'t exists. Please, check your configuration.', $hashId);
|
|
|
101 |
Mage::getSingleton('adminhtml/session')->addError($error);
|
102 |
continue;
|
103 |
}
|
@@ -105,19 +121,21 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
105 |
// Declare array of products to update
|
106 |
$products = array();
|
107 |
foreach ($rss->channel->item as $item) {
|
108 |
-
$
|
109 |
foreach ($item as $key => $value) {
|
110 |
-
$
|
111 |
}
|
112 |
-
$products[] = $
|
113 |
}
|
114 |
-
if (count($products))
|
115 |
$searchEngine->updateItems('product', $products);
|
116 |
-
|
|
|
|
|
117 |
}
|
118 |
-
}
|
119 |
-
|
120 |
|
|
|
|
|
121 |
}
|
122 |
|
123 |
/**
|
@@ -136,12 +154,16 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
136 |
|
137 |
// Create lock file
|
138 |
if (!$remove) {
|
|
|
|
|
139 |
if (file_exists($lockFilepath)) {
|
140 |
Mage::throwException($helper->__('Process for store %s is already locked', $process->getStoreCode()));
|
141 |
}
|
142 |
|
143 |
touch($lockFilepath);
|
144 |
} else {
|
|
|
|
|
145 |
unlink($lockFilepath);
|
146 |
}
|
147 |
}
|
@@ -174,22 +196,25 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
174 |
$process = $collection->fetchItem();
|
175 |
|
176 |
if (!$process || !$process->getId()) {
|
|
|
177 |
return;
|
178 |
}
|
179 |
|
180 |
-
|
181 |
-
$this->lockProcess($process);
|
182 |
|
183 |
-
|
184 |
-
|
|
|
185 |
|
186 |
-
|
187 |
-
|
188 |
|
189 |
-
|
190 |
-
|
|
|
|
|
|
|
191 |
|
192 |
-
try {
|
193 |
// Clear out the message
|
194 |
$process->setMessage($helper::MSG_EMPTY);
|
195 |
|
@@ -203,6 +228,9 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
203 |
$path = $helper->getFeedPath($this->storeCode);
|
204 |
$tmpPath = $helper->getFeedTemporaryPath($this->storeCode);
|
205 |
|
|
|
|
|
|
|
206 |
// Get job code
|
207 |
$jobCode = $helper::JOB_CODE;
|
208 |
|
@@ -220,19 +248,23 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
220 |
|
221 |
$generator = Mage::getModel('doofinder_feed/generator', $options);
|
222 |
|
223 |
-
|
|
|
|
|
|
|
|
|
224 |
|
225 |
// If there were errors log them
|
226 |
if ($errors = $generator->getErrors()) {
|
227 |
$process->setErrorStack($process->getErrorStack() + count($errors));
|
228 |
|
229 |
foreach ($errors as $error) {
|
230 |
-
|
231 |
}
|
232 |
}
|
233 |
|
234 |
$message = $helper->__('Processed products with ids in range %d - %d', $offset + 1, $generator->getLastProcessedProductId());
|
235 |
-
|
236 |
|
237 |
// If there is new data append to xml.tmp else convert into xml
|
238 |
if ($xmlData) {
|
@@ -250,7 +282,7 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
250 |
|
251 |
$this->productCount = $generator->getProductCount();
|
252 |
} else {
|
253 |
-
|
254 |
}
|
255 |
|
256 |
// Set process offset and progress
|
@@ -260,7 +292,7 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
260 |
if (!$generator->isFeedDone()) {
|
261 |
$helper->createNewSchedule($process);
|
262 |
} else {
|
263 |
-
|
264 |
|
265 |
if (!rename($tmpPath, $path)) {
|
266 |
Mage::throwException($helper->__("Cannot rename {$tmpPath} to {$path}"));
|
@@ -271,7 +303,7 @@ class Doofinder_Feed_Model_Observers_Feed
|
|
271 |
}
|
272 |
|
273 |
} catch (Exception $e) {
|
274 |
-
|
275 |
$process->setErrorStack($process->getErrorStack() + 1);
|
276 |
$process->setMessage('#error#' . $e->getMessage());
|
277 |
$helper->createNewSchedule($process);
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Observers_Feed
|
18 |
|
19 |
private $productCount;
|
20 |
|
21 |
+
/**
|
22 |
+
* @var Doofinder_Feed_Helper_Log
|
23 |
+
*/
|
24 |
+
protected $_log;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Initialize log
|
28 |
+
*/
|
29 |
+
public function __construct()
|
30 |
+
{
|
31 |
+
$this->_log = Mage::helper('doofinder_feed/log');
|
32 |
+
}
|
33 |
|
34 |
public function updateSearchEngineIndexes($observer) {
|
35 |
|
89 |
|
90 |
$generator = Mage::getModel('doofinder_feed/generator', $options);
|
91 |
|
92 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Starting atomic update for product %d in store %s', $product->getId(), $storeCode));
|
93 |
+
|
94 |
$xmlData = $generator->run();
|
95 |
|
96 |
if ($xmlData) {
|
103 |
updated for
|
104 |
this store view. To fix this problem set HashID for a given stor view or disable Internal Search in Doofinder
|
105 |
Search Configuration.', $this->storeCode);
|
106 |
+
$this->_log->debug($warning);
|
107 |
Mage::getSingleton('adminhtml/session')->addWarning($warning);
|
108 |
continue;
|
109 |
}
|
113 |
// Check if search engine exists and skip foreach iteration if not.
|
114 |
if (!$searchEngine) {
|
115 |
$error = sprintf('Search engine with HashID %s doesn\'t exists. Please, check your configuration.', $hashId);
|
116 |
+
$this->_log->debug($error);
|
117 |
Mage::getSingleton('adminhtml/session')->addError($error);
|
118 |
continue;
|
119 |
}
|
121 |
// Declare array of products to update
|
122 |
$products = array();
|
123 |
foreach ($rss->channel->item as $item) {
|
124 |
+
$_product = array();
|
125 |
foreach ($item as $key => $value) {
|
126 |
+
$_product[$key] = (string)$value;
|
127 |
}
|
128 |
+
$products[] = $_product;
|
129 |
}
|
130 |
+
if (count($products)) {
|
131 |
$searchEngine->updateItems('product', $products);
|
132 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Atomic update for product %d in store %s done with: %s', $product->getId(), $storeCode, json_encode($products)));
|
133 |
+
return;
|
134 |
+
}
|
135 |
}
|
|
|
|
|
136 |
|
137 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Atomic update for product %d in store %s failed with no data', $product->getId(), $storeCode));
|
138 |
+
}
|
139 |
}
|
140 |
|
141 |
/**
|
154 |
|
155 |
// Create lock file
|
156 |
if (!$remove) {
|
157 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Locking cron process for store %s', $process->getStoreCode()));
|
158 |
+
|
159 |
if (file_exists($lockFilepath)) {
|
160 |
Mage::throwException($helper->__('Process for store %s is already locked', $process->getStoreCode()));
|
161 |
}
|
162 |
|
163 |
touch($lockFilepath);
|
164 |
} else {
|
165 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Unlocking cron process for store %s locked', $process->getStoreCode()));
|
166 |
+
|
167 |
unlink($lockFilepath);
|
168 |
}
|
169 |
}
|
196 |
$process = $collection->fetchItem();
|
197 |
|
198 |
if (!$process || !$process->getId()) {
|
199 |
+
$this->_log->debug('No active cron processes');
|
200 |
return;
|
201 |
}
|
202 |
|
203 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Starting cron process for store %s', $process->getStoreCode()));
|
|
|
204 |
|
205 |
+
try {
|
206 |
+
// Lock process
|
207 |
+
$this->lockProcess($process);
|
208 |
|
209 |
+
// Get store code
|
210 |
+
$this->storeCode = $process->getStoreCode();
|
211 |
|
212 |
+
// Set store context
|
213 |
+
Mage::app()->setCurrentStore($this->storeCode);
|
214 |
+
|
215 |
+
// Get store config
|
216 |
+
$this->config = $helper->getStoreConfig($this->storeCode);
|
217 |
|
|
|
218 |
// Clear out the message
|
219 |
$process->setMessage($helper::MSG_EMPTY);
|
220 |
|
228 |
$path = $helper->getFeedPath($this->storeCode);
|
229 |
$tmpPath = $helper->getFeedTemporaryPath($this->storeCode);
|
230 |
|
231 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Feed path for store %s: ', $process->getStoreCode(), $path));
|
232 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Temporary feed path for store %s: ', $process->getStoreCode(), $path));
|
233 |
+
|
234 |
// Get job code
|
235 |
$jobCode = $helper::JOB_CODE;
|
236 |
|
248 |
|
249 |
$generator = Mage::getModel('doofinder_feed/generator', $options);
|
250 |
|
251 |
+
try {
|
252 |
+
$xmlData = $generator->run();
|
253 |
+
} finally {
|
254 |
+
$this->_log->_debugEnabled && $this->_log->debug(sprintf('Generator run failed with errors: %s', json_encode($generator->getErrors())));
|
255 |
+
}
|
256 |
|
257 |
// If there were errors log them
|
258 |
if ($errors = $generator->getErrors()) {
|
259 |
$process->setErrorStack($process->getErrorStack() + count($errors));
|
260 |
|
261 |
foreach ($errors as $error) {
|
262 |
+
$this->_log->log($process, Doofinder_Feed_Helper_Log::ERROR, $error, false);
|
263 |
}
|
264 |
}
|
265 |
|
266 |
$message = $helper->__('Processed products with ids in range %d - %d', $offset + 1, $generator->getLastProcessedProductId());
|
267 |
+
$this->_log->log($process, Doofinder_Feed_Helper_Log::STATUS, $message);
|
268 |
|
269 |
// If there is new data append to xml.tmp else convert into xml
|
270 |
if ($xmlData) {
|
282 |
|
283 |
$this->productCount = $generator->getProductCount();
|
284 |
} else {
|
285 |
+
$this->_log->log($process, Doofinder_Feed_Helper_Log::WARNING, $helper->__('No data added to feed'));
|
286 |
}
|
287 |
|
288 |
// Set process offset and progress
|
292 |
if (!$generator->isFeedDone()) {
|
293 |
$helper->createNewSchedule($process);
|
294 |
} else {
|
295 |
+
$this->_log->log($process, Doofinder_Feed_Helper_Log::STATUS, $helper->__('Feed generation completed'));
|
296 |
|
297 |
if (!rename($tmpPath, $path)) {
|
298 |
Mage::throwException($helper->__("Cannot rename {$tmpPath} to {$path}"));
|
303 |
}
|
304 |
|
305 |
} catch (Exception $e) {
|
306 |
+
$this->_log->log($process, Doofinder_Feed_Helper_Log::ERROR, $e->getMessage());
|
307 |
$process->setErrorStack($process->getErrorStack() + 1);
|
308 |
$process->setMessage('#error#' . $e->getMessage());
|
309 |
$helper->createNewSchedule($process);
|
app/code/community/Doofinder/Feed/Model/Observers/Logs.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Observers_Logs
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Observers_Logs
|
app/code/community/Doofinder/Feed/Model/Observers/Schedule.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Observers_Schedule
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Observers_Schedule
|
app/code/community/Doofinder/Feed/Model/Resource/Mysql4/Setup.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Resource_Mysql4_Setup extends Mage_Core_Model_Resource_Setup {
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_Resource_Mysql4_Setup extends Mage_Core_Model_Resource_Setup {
|
app/code/community/Doofinder/Feed/Model/System/Config/Backend/Map/Additional.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_System_Config_Backend_Map_Additional extends Mage_Adminhtml_Model_System_Config_Backend_Serialized
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_System_Config_Backend_Map_Additional extends Mage_Adminhtml_Model_System_Config_Backend_Serialized
|
app/code/community/Doofinder/Feed/Model/System/Config/Reset.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_System_Config_Reset extends Mage_Core_Model_Config_Data
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_System_Config_Reset extends Mage_Core_Model_Config_Data
|
app/code/community/Doofinder/Feed/Model/System/Config/Source/Feed/Pricetaxmode.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_System_Config_Source_Feed_Pricetaxmode
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_System_Config_Source_Feed_Pricetaxmode
|
app/code/community/Doofinder/Feed/Model/System/Config/Source/Product/Attributes.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_System_Config_Source_Product_Attributes
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_Model_System_Config_Source_Product_Attributes
|
app/code/community/Doofinder/Feed/Model/Tools.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Tools model for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Tools extends Varien_Object
|
6 |
/**
|
7 |
* @category Models
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Tools model for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_Model_Tools extends Varien_Object
|
app/code/community/Doofinder/Feed/controllers/DoofinderFeedFeedController.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category controllers
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_DoofinderFeedFeedController extends Mage_Adminhtml_Controller_Action
|
@@ -40,4 +40,29 @@ class Doofinder_Feed_DoofinderFeedFeedController extends Mage_Adminhtml_Controll
|
|
40 |
|
41 |
$this->getResponse()->setBody('Feed generation has been scheduled.');
|
42 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
}
|
6 |
/**
|
7 |
* @category controllers
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_DoofinderFeedFeedController extends Mage_Adminhtml_Controller_Action
|
40 |
|
41 |
$this->getResponse()->setBody('Feed generation has been scheduled.');
|
42 |
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Remove feed lock action
|
46 |
+
*/
|
47 |
+
public function removeLockAction()
|
48 |
+
{
|
49 |
+
$response = $this->getResponse();
|
50 |
+
$storeCode = $this->getRequest()->getParam('store', false);
|
51 |
+
|
52 |
+
if (!$storeCode) {
|
53 |
+
$response->setBody('No store code given.');
|
54 |
+
return;
|
55 |
+
}
|
56 |
+
|
57 |
+
$lockPath = Mage::helper('doofinder_feed')->getFeedLockPath($storeCode);
|
58 |
+
|
59 |
+
if (file_exists($lockPath)) {
|
60 |
+
unlink($lockPath);
|
61 |
+
} else {
|
62 |
+
$response->setBody('Lock file not exists.');
|
63 |
+
return;
|
64 |
+
}
|
65 |
+
|
66 |
+
$response->setBody('Feed lock file has been removed.');
|
67 |
+
}
|
68 |
}
|
app/code/community/Doofinder/Feed/controllers/DoofinderFeedLogController.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
* @category controllers
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_DoofinderFeedLogController extends Mage_Adminhtml_Controller_Action
|
6 |
/**
|
7 |
* @category controllers
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
class Doofinder_Feed_DoofinderFeedLogController extends Mage_Adminhtml_Controller_Action
|
app/code/community/Doofinder/Feed/controllers/FeedController.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category controllers
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Feed controller for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_FeedController extends Mage_Core_Controller_Front_Action
|
6 |
/**
|
7 |
* @category controllers
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Feed controller for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_FeedController extends Mage_Core_Controller_Front_Action
|
app/code/community/Doofinder/Feed/controllers/IndexController.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
/**
|
7 |
* @category controllers
|
8 |
* @package Doofinder_Feed
|
9 |
-
* @version 1.8.
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Index controller for Doofinder Feed
|
14 |
*
|
15 |
-
* @version 1.8.
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_IndexController extends Mage_Core_Controller_Front_Action
|
6 |
/**
|
7 |
* @category controllers
|
8 |
* @package Doofinder_Feed
|
9 |
+
* @version 1.8.8
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Index controller for Doofinder Feed
|
14 |
*
|
15 |
+
* @version 1.8.8
|
16 |
* @package Doofinder_Feed
|
17 |
*/
|
18 |
class Doofinder_Feed_IndexController extends Mage_Core_Controller_Front_Action
|
app/code/community/Doofinder/Feed/etc/config.xml
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
|
4 |
<modules>
|
5 |
<Doofinder_Feed>
|
6 |
-
<version>1.8.
|
7 |
</Doofinder_Feed>
|
8 |
</modules>
|
9 |
<global>
|
@@ -254,6 +254,7 @@
|
|
254 |
<atomic_updates_enabled>0</atomic_updates_enabled>
|
255 |
<categories_in_navigation>0</categories_in_navigation>
|
256 |
<price_tax_mode>0</price_tax_mode>
|
|
|
257 |
</feed_settings>
|
258 |
<attributes_mapping>
|
259 |
<id>df_directive_id</id>
|
3 |
|
4 |
<modules>
|
5 |
<Doofinder_Feed>
|
6 |
+
<version>1.8.8</version>
|
7 |
</Doofinder_Feed>
|
8 |
</modules>
|
9 |
<global>
|
254 |
<atomic_updates_enabled>0</atomic_updates_enabled>
|
255 |
<categories_in_navigation>0</categories_in_navigation>
|
256 |
<price_tax_mode>0</price_tax_mode>
|
257 |
+
<debug>0</debug>
|
258 |
</feed_settings>
|
259 |
<attributes_mapping>
|
260 |
<id>df_directive_id</id>
|
app/code/community/Doofinder/Feed/etc/system.xml
CHANGED
@@ -248,6 +248,16 @@
|
|
248 |
<show_in_website>0</show_in_website>
|
249 |
<show_in_store>1</show_in_store>
|
250 |
</categories_in_navigation>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
</fields>
|
252 |
</feed_settings>
|
253 |
|
@@ -423,6 +433,25 @@
|
|
423 |
</view_log>
|
424 |
</fields>
|
425 |
</panel>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
426 |
</groups>
|
427 |
</doofinder_cron>
|
428 |
<doofinder_search translate="label" module="doofinder_feed">
|
248 |
<show_in_website>0</show_in_website>
|
249 |
<show_in_store>1</show_in_store>
|
250 |
</categories_in_navigation>
|
251 |
+
<debug>
|
252 |
+
<label>Debug</label>
|
253 |
+
<frontend_type>select</frontend_type>
|
254 |
+
<comment>Debug mode with intensively verbose logging. Use with care.</comment>
|
255 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
256 |
+
<sort_order>12</sort_order>
|
257 |
+
<show_in_default>1</show_in_default>
|
258 |
+
<show_in_website>0</show_in_website>
|
259 |
+
<show_in_store>1</show_in_store>
|
260 |
+
</debug>
|
261 |
</fields>
|
262 |
</feed_settings>
|
263 |
|
433 |
</view_log>
|
434 |
</fields>
|
435 |
</panel>
|
436 |
+
<advanced translate="label">
|
437 |
+
<label>Advanced</label>
|
438 |
+
<expanded>false</expanded>
|
439 |
+
<frontend_type>text</frontend_type>
|
440 |
+
<sort_order>40</sort_order>
|
441 |
+
<show_in_default>1</show_in_default>
|
442 |
+
<show_in_website>0</show_in_website>
|
443 |
+
<show_in_store>1</show_in_store>
|
444 |
+
<fields>
|
445 |
+
<locks>
|
446 |
+
<label>Locks</label>
|
447 |
+
<frontend_model>doofinder_feed/settings_locks</frontend_model>
|
448 |
+
<sort_order>10</sort_order>
|
449 |
+
<show_in_default>1</show_in_default>
|
450 |
+
<show_in_website>0</show_in_website>
|
451 |
+
<show_in_store>1</show_in_store>
|
452 |
+
</locks>
|
453 |
+
</fields>
|
454 |
+
</advanced>
|
455 |
</groups>
|
456 |
</doofinder_cron>
|
457 |
<doofinder_search translate="label" module="doofinder_feed">
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Doofinder_Feed</name>
|
4 |
-
<version>1.8.
|
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>
|
@@ -48,11 +48,11 @@ Doofinder is fast and innovative. With no doubt, it is the best search engine fo
|
|
48 |
You can get more info and create your account visiting the Doofinder site:
|
49 |

|
50 |
http://www.doofinder.com</description>
|
51 |
-
<notes>
|
52 |
<authors><author><name>Carlos Escribano Rey</name><user>doofinder</user><email>carlos@doofinder.com</email></author></authors>
|
53 |
-
<date>2017-
|
54 |
-
<time>10:
|
55 |
-
<contents><target name="magecommunity"><dir name="Doofinder"><dir name="Feed"><dir name="Block"><dir name="Adminhtml"><dir name="Log"><file name="View.php" hash="
|
56 |
<compatible/>
|
57 |
<dependencies><required><php><min>5.4.0</min><max>6.0.0</max></php></required></dependencies>
|
58 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Doofinder_Feed</name>
|
4 |
+
<version>1.8.8</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>
|
48 |
You can get more info and create your account visiting the Doofinder site:
|
49 |

|
50 |
http://www.doofinder.com</description>
|
51 |
+
<notes>Bugfixes.</notes>
|
52 |
<authors><author><name>Carlos Escribano Rey</name><user>doofinder</user><email>carlos@doofinder.com</email></author></authors>
|
53 |
+
<date>2017-06-19</date>
|
54 |
+
<time>10:25:17</time>
|
55 |
+
<contents><target name="magecommunity"><dir name="Doofinder"><dir name="Feed"><dir name="Block"><dir name="Adminhtml"><dir name="Log"><file name="View.php" hash="af8bac5674529679ccd7bbb380d7b825"/></dir><dir name="Map"><file name="Additional.php" hash="3be6b21503289a010366064ff023cea0"/></dir></dir><file name="Integration.php" hash="13957f1e132d94751adc0cac48cbac15"/><dir name="Settings"><dir name="Buttons"><file name="Generate.php" hash="72ab7275f4210328fe80ebfe674f2a15"/><file name="ViewLog.php" hash="97f1e8081407f007b12aced40205398f"/></dir><file name="Locks.php" hash="c4d4c5c031da8c3550ceba6f07e655b4"/><dir name="Panel"><file name="Cron.php" hash="e93e0471544eef8d6cc1ea5c2a8037dd"/><file name="Crondescription.php" hash="403b146bba3eacb9303b02ee5ce2846c"/><file name="Datetime.php" hash="2f238e8fa69774a0d60d0d748c928b52"/><file name="Description.php" hash="a3de7841479ae86218be28270044b899"/><file name="File.php" hash="a9932b28f21afc3f8009e5522c1da7bf"/><file name="Hashdescription.php" hash="707aa2f0eff7a1e170e6355787e09e84"/><file name="Layerdescription.php" hash="10c5e59c01b2bf2a9a5d9070b0d04a92"/><file name="Message.php" hash="21da62d2234178acc51d57a926ccb44d"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="2c0c613677138564a87992fb5bf368f2"/><file name="Log.php" hash="81f778b9bc506f7de05ba0e0055523fb"/><file name="Search.php" hash="adedec93e07dadb8edfcac8dd74fa07c"/><file name="Tax.php" hash="edcae4b2da6b0a8d30bc49c3604c698c"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="759b6b4b171e043a2d0a1d7b79b6bb8a"/></dir><dir name="Validation"><file name="Hashid.php" hash="5c84ddebe10442c48bc8bca05a9253d1"/></dir></dir></dir></dir><dir name="CatalogSearch"><dir name="Resource"><file name="Fulltext.php" hash="a3ece9fe463669dc6c16a232f7160aba"/></dir></dir><file name="Config.php" hash="d6693e794f8347cc60a94ed0c9b12cbc"/><file name="Cron.php" hash="a427491052e2f6b2871a8ed6423b0b2d"/><file name="Generator.php" hash="dc92b0490f0d6a3233f10adf2b0863d0"/><file name="Log.php" hash="46f4f1ec6ad5d16c50558ef63b7d9855"/><dir name="Map"><dir name="Product"><file name="Abstract.php" hash="de2e71e21b0fece105771439c372252d"/><file name="Associated.php" hash="6aa315a0aa5eb75ed87bd0c67be86412"/><file name="Bundle.php" hash="704c3367e24e8d2ca8dad763921627f5"/><file name="Configurable.php" hash="110b2b1d6e4f4983b62e1f3797a752ff"/><file name="Downloadable.php" hash="917f2e66e6b99726894353051015cffc"/><file name="Grouped.php" hash="3081ad017ac7f15344a4e9d23f75b0a4"/><file name="Simple.php" hash="7833d3d21ada092d2c02978755e32872"/><file name="Virtual.php" hash="f6118a7170331745c93038e198c0ddb5"/></dir></dir><dir name="Mysql4"><dir name="Cron"><file name="Collection.php" hash="460ce1393598ac86e0f14687f712a85d"/></dir><file name="Cron.php" hash="2a8b00a00953a025d1829585581db660"/><dir name="Log"><file name="Collection.php" hash="d080ba904cbb07a1ed9e5e6eebbb5f8e"/></dir><file name="Log.php" hash="77b6651e6e782eeedc378b3dcc752b9a"/></dir><dir name="Observers"><file name="Feed.php" hash="bd0977c86201e2fdc2ab747ce19efe5f"/><file name="Logs.php" hash="eb4c0f708d13365d2e58ed6404e59a0d"/><file name="Schedule.php" hash="60fbf6961dcecfca030da956d742cd78"/></dir><dir name="Resource"><dir name="Mysql4"><file name="Setup.php" hash="6c3b0299c1bc90b92cd848179baa6d32"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Map"><file name="Additional.php" hash="824824b1a4389529d3031f85ca76cc6e"/></dir><file name="Password.php" hash="b52b0e16c0ae02fd528bf5c567a7a8b5"/><dir name="Total"><file name="Limit.php" hash="a23092ea72cbe81e2779b086ad055bf6"/></dir></dir><file name="Reset.php" hash="54426d1bc21ad7568a8be212080372b9"/><dir name="Source"><dir name="Feed"><file name="Pricetaxmode.php" hash="11f7c21265be054de73ae6d5c381c2e8"/></dir><dir name="Product"><file name="Attributes.php" hash="49b2e06125f389028d03763c85546d49"/></dir></dir></dir></dir><file name="Tools.php" hash="bc051c6a16ae700cb0be13146ca38827"/></dir><dir name="Test"><dir name="Controller"><dir name="Index"><dir name="fixtures"><file name="testConfig.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/><file name="testFeed.yaml" hash="694cf25a35a9a301a8ae678866937909"/><file name="testIndex.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/></dir><dir name="providers"><file name="testConfig.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/><file name="testFeed.yaml" hash="1ea2f638be8fdcea22ef47767ed8d7db"/><file name="testIndex.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/></dir></dir><file name="Index.php" hash="2771de706303653d039818bd0f6590ea"/></dir><dir name="Model"><dir name="Product"><dir name="expectations"><file name="testGenerator.yaml" hash="232dda1f4fd88b8ef081393f08044731"/></dir><dir name="fixtures"><file name="testGenerator.yaml" hash="df25e3ca67fd98ab1b933c4951c599ef"/></dir><dir name="providers"><file name="testGenerator.yaml" hash="84779d5dcd8d92abdecf0cd5ee65cfb0"/></dir></dir><file name="Product.php" hash="6c45ae2b36c6cc721ef634855ed6d596"/></dir></dir><dir name="controllers"><file name="DoofinderFeedFeedController.php" hash="9f37c14f7e865b03447e4220abb0a3f1"/><file name="DoofinderFeedLogController.php" hash="bb793db53ee2c4fb46ad1b89a9c8541a"/><file name="FeedController.php" hash="6798f3d9f2fec0291fa348c56958f27b"/><file name="IndexController.php" hash="6cec62715e623e70f84535188dbc00c3"/></dir><dir name="etc"><file name="config.xml" hash="84bb7fcc913d88609a0e4de3f73ef7d1"/><file name="system.xml" hash="ca6813b70bef81957ee6fa646bb1bac8"/></dir><dir name="sql"><dir name="doofinder_feed_setup"><file name="mysql4-install-1.5.4.php" hash="9dc5ed4e10febbe75ab1911259a1c9fe"/><file name="mysql4-install-1.5.7.php" hash="85baa03d9c4d76f6b744ba107c21f8da"/><file name="mysql4-upgrade-1.5.4-1.5.5.php" hash="df7158f6d6cdded9bdfc5cb72c1dc8e3"/><file name="mysql4-upgrade-1.5.5-1.5.6.php" hash="0f3ca5263356a0bc83d9352b463944dc"/><file name="mysql4-upgrade-1.5.6-1.5.7.php" hash="b0180770655f36d6723483aa3bd1541f"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Doofinder_Feed.xml" hash="9d3b6fbbbec12708461c33260715451c"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="doofinder.xml" hash="a7b9105a4e613086340b042845793d9f"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="doofinder.xml" hash="48a8636096950914917461260416c355"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="doofinder"><file name="admin.js" hash="ca050b0527ae101c75532fbca1c4a274"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="doofinder"><file name="styles.css" hash="d6ec303c3199db3ab4dffa8d2491105e"/></dir></dir></dir></dir></target><target name="magelib"><dir name="php-doofinder"><file name="CHANGELOG.txt" hash="b4fc19b1cb37810d8faa6a1e784ab32b"/><file name="README.md" hash="f9eda30362e3356947f86a9248122c2f"/><file name="autoload.php" hash="1ab27f8a639e30c5a25a6100f1a3035d"/><file name="composer.json" hash="76f54c3a763a3ae683fa677106b41027"/><file name="phpunit.xml" hash="97d89bb72790578c7ca60aebe7e3b1dd"/><dir name="src"><dir name="Management"><file name="AggregatesIterator.php" hash="431618213beb8294f6cab35376c935c8"/><file name="Client.php" hash="3d4dc1dbabcb42c7b1e4835ff5056d21"/><dir name="Errors"><file name="BadRequest.php" hash="45113fccee9500f4ee2a20e845ef8ee2"/><file name="NotAllowed.php" hash="98169302570fcf34a49277c5afbbed20"/><file name="NotFound.php" hash="9b08d95a549cfaea5562ecfa74a28746"/><file name="NotProcessedResponse.php" hash="63984cfbe90b6912e8d53faa293e65d6"/><file name="QuotaExhausted.php" hash="75f95704e509d7b5a4c61ebdb76208f5"/><file name="ThrottledResponse.php" hash="d3cd9c6df62246b5c3e80de3e1ecfc9c"/><file name="Utils.php" hash="be1220fc529292e8cc723dc9f68ef81d"/><file name="WrongResponse.php" hash="3c0fd79d6c04ac2c8f93984912369333"/></dir><file name="ItemsResultSet.php" hash="67532bd88b478fb4e0ce9f05d2ffd94a"/><file name="ScrollIterator.php" hash="0d916403f85a791af8e4e2240ad9e1be"/><file name="SearchEngine.php" hash="417e44ce9f11be52d3a6679161014eb8"/><file name="TopTermsIterator.php" hash="9ef2a784ce1d2cae81e577ce8c13ed08"/></dir><dir name="Search"><file name="Client.php" hash="857ed6a6594776f3060d87c2c9b86aca"/><file name="Error.php" hash="38a4283a860ed443f43a8452cc931c99"/><file name="Results.php" hash="87417657ec8a4908d6fd35868b782d7e"/></dir><dir name="Test"><dir name="Management"><file name="AggregatesIteratorTest.php" hash="eb9abdc3de26ac6396efc007373906ca"/><file name="ClientTest.php" hash="9958013403856eab97a44a14b8c32569"/><file name="ScrollIteratorTest.php" hash="34ef0111f1bb3633e6950151efd5e3ec"/><file name="SearchEngineTest.php" hash="a354a2e690851ab8d2b9a41495fcd979"/><file name="TopTermsIteratorTest.php" hash="9804ca4b89dce16d1e89b6614c11c2c0"/></dir><dir name="Search"><file name="ClientTest.php" hash="6aeac0a72fc4a4798233dfde15014543"/><file name="ResultsTests.php" hash="64503776af865c5d23e261b71d36a6bc"/></dir></dir></dir></dir></target></contents>
|
56 |
<compatible/>
|
57 |
<dependencies><required><php><min>5.4.0</min><max>6.0.0</max></php></required></dependencies>
|
58 |
</package>
|