Doofinder_Feed - Version 1.8.15

Version Notes

Hotfix: Fix cron alert condition in feed status panel. Add regression tests. Do not allow exporting `sale price` larger than `price`. Bugfix: Replace Varien_Io_File::filePutContent with file_put_contents. Replace resource iterator with simple foreach loop. Bugfix: Return all search results if query is stored.

Download this release

Release Info

Developer Carlos Escribano Rey
Extension Doofinder_Feed
Version 1.8.15
Comparing to
See all releases


Code changes from version 1.8.14 to 1.8.15

Files changed (50) hide show
  1. app/code/community/Doofinder/Feed/Block/Adminhtml/Log/View.php +1 -1
  2. app/code/community/Doofinder/Feed/Block/Adminhtml/Map/Additional.php +1 -1
  3. app/code/community/Doofinder/Feed/Block/Integration.php +1 -1
  4. app/code/community/Doofinder/Feed/Block/Settings/Buttons/Generate.php +1 -1
  5. app/code/community/Doofinder/Feed/Block/Settings/Buttons/ViewLog.php +1 -1
  6. app/code/community/Doofinder/Feed/Block/Settings/Locks.php +2 -2
  7. app/code/community/Doofinder/Feed/Block/Settings/Panel/AtomicUpdates.php +1 -1
  8. app/code/community/Doofinder/Feed/Block/Settings/Panel/Crondescription.php +1 -1
  9. app/code/community/Doofinder/Feed/Block/Settings/Panel/Datetime.php +1 -1
  10. app/code/community/Doofinder/Feed/Block/Settings/Panel/Description.php +1 -1
  11. app/code/community/Doofinder/Feed/Block/Settings/Panel/DynamicFeedUrl.php +1 -1
  12. app/code/community/Doofinder/Feed/Block/Settings/Panel/File.php +2 -2
  13. app/code/community/Doofinder/Feed/Block/Settings/Panel/Layerdescription.php +1 -1
  14. app/code/community/Doofinder/Feed/Block/Settings/Panel/Message.php +1 -1
  15. app/code/community/Doofinder/Feed/Helper/Data.php +75 -6
  16. app/code/community/Doofinder/Feed/Helper/Log.php +2 -2
  17. app/code/community/Doofinder/Feed/Helper/Tax.php +1 -1
  18. app/code/community/Doofinder/Feed/Model/Adminhtml/System/Config/Backend/Cron.php +1 -1
  19. app/code/community/Doofinder/Feed/Model/CatalogSearch/Resource/Fulltext.php +1 -1
  20. app/code/community/Doofinder/Feed/Model/Config.php +2 -2
  21. app/code/community/Doofinder/Feed/Model/Cron.php +1 -1
  22. app/code/community/Doofinder/Feed/Model/Generator.php +6 -8
  23. app/code/community/Doofinder/Feed/Model/Log.php +1 -1
  24. app/code/community/Doofinder/Feed/Model/Map/Product/Abstract.php +2 -2
  25. app/code/community/Doofinder/Feed/Model/Map/Product/Associated.php +2 -2
  26. app/code/community/Doofinder/Feed/Model/Map/Product/Bundle.php +2 -2
  27. app/code/community/Doofinder/Feed/Model/Map/Product/Configurable.php +2 -2
  28. app/code/community/Doofinder/Feed/Model/Map/Product/Downloadable.php +2 -2
  29. app/code/community/Doofinder/Feed/Model/Map/Product/Grouped.php +2 -2
  30. app/code/community/Doofinder/Feed/Model/Map/Product/Simple.php +2 -2
  31. app/code/community/Doofinder/Feed/Model/Map/Product/Virtual.php +2 -2
  32. app/code/community/Doofinder/Feed/Model/Mysql4/Cron.php +1 -1
  33. app/code/community/Doofinder/Feed/Model/Mysql4/Cron/Collection.php +1 -1
  34. app/code/community/Doofinder/Feed/Model/Mysql4/Log.php +1 -1
  35. app/code/community/Doofinder/Feed/Model/Mysql4/Log/Collection.php +1 -1
  36. app/code/community/Doofinder/Feed/Model/Observers/Feed.php +6 -7
  37. app/code/community/Doofinder/Feed/Model/Observers/Logs.php +1 -1
  38. app/code/community/Doofinder/Feed/Model/Observers/Schedule.php +3 -4
  39. app/code/community/Doofinder/Feed/Model/Resource/Mysql4/Setup.php +1 -1
  40. app/code/community/Doofinder/Feed/Model/System/Config/Backend/Map/Additional.php +1 -1
  41. app/code/community/Doofinder/Feed/Model/System/Config/Reset.php +1 -1
  42. app/code/community/Doofinder/Feed/Model/System/Config/Source/Feed/Pricetaxmode.php +1 -1
  43. app/code/community/Doofinder/Feed/Model/System/Config/Source/Product/Attributes.php +1 -1
  44. app/code/community/Doofinder/Feed/Model/Tools.php +2 -2
  45. app/code/community/Doofinder/Feed/controllers/DoofinderFeedFeedController.php +6 -5
  46. app/code/community/Doofinder/Feed/controllers/DoofinderFeedLogController.php +1 -1
  47. app/code/community/Doofinder/Feed/controllers/FeedController.php +4 -10
  48. app/code/community/Doofinder/Feed/controllers/IndexController.php +2 -2
  49. app/code/community/Doofinder/Feed/etc/config.xml +1 -1
  50. 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.14
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.15
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.14
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.15
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.14
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.15
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.14
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.15
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.14
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.15
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 CHANGED
@@ -6,7 +6,7 @@
6
  /**
7
  * @category blocks
8
  * @package Doofinder_Feed
9
- * @version 1.8.14
10
  */
11
 
12
  class Doofinder_Feed_Block_Settings_Locks extends Mage_Adminhtml_Block_System_Config_Form_Field
@@ -41,7 +41,7 @@ class Doofinder_Feed_Block_Settings_Locks extends Mage_Adminhtml_Block_System_Co
41
  $locks = array();
42
 
43
  foreach ($stores as $store) {
44
- if ((new Varien_Io_File())->fileExists($helper->getFeedLockPath($store->getCode()))) {
45
  $msg = $this->getLayout()->createBlock('adminhtml/widget_button')
46
  ->setType('button')
47
  ->setClass('remove-lock')
6
  /**
7
  * @category blocks
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  class Doofinder_Feed_Block_Settings_Locks extends Mage_Adminhtml_Block_System_Config_Form_Field
41
  $locks = array();
42
 
43
  foreach ($stores as $store) {
44
+ if ($helper->fileExists($helper->getFeedLockPath($store->getCode()))) {
45
  $msg = $this->getLayout()->createBlock('adminhtml/widget_button')
46
  ->setType('button')
47
  ->setClass('remove-lock')
app/code/community/Doofinder/Feed/Block/Settings/Panel/AtomicUpdates.php CHANGED
@@ -6,7 +6,7 @@
6
  /**
7
  * @category blocks
8
  * @package Doofinder_Feed
9
- * @version 1.8.14
10
  */
11
 
12
  class Doofinder_Feed_Block_Settings_Panel_AtomicUpdates extends Mage_Adminhtml_Block_System_Config_Form_Field
6
  /**
7
  * @category blocks
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  class Doofinder_Feed_Block_Settings_Panel_AtomicUpdates extends Mage_Adminhtml_Block_System_Config_Form_Field
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.14
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.15
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.14
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.15
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.14
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.15
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/DynamicFeedUrl.php CHANGED
@@ -6,7 +6,7 @@
6
  /**
7
  * @category blocks
8
  * @package Doofinder_Feed
9
- * @version 1.8.14
10
  */
11
 
12
  class Doofinder_Feed_Block_Settings_Panel_DynamicFeedUrl extends Mage_Adminhtml_Block_System_Config_Form_Field
6
  /**
7
  * @category blocks
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  class Doofinder_Feed_Block_Settings_Panel_DynamicFeedUrl 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.14
10
  */
11
 
12
  class Doofinder_Feed_Block_Settings_Panel_File extends Mage_Adminhtml_Block_System_Config_Form_Field
@@ -98,7 +98,7 @@ class Doofinder_Feed_Block_Settings_Panel_File extends Mage_Adminhtml_Block_Syst
98
  $fileUrl = Mage::getBaseUrl('media').'doofinder'.DS.$lastGeneratedName;
99
  $fileDir = Mage::getBaseDir('media').DS.'doofinder'.DS.$lastGeneratedName;
100
 
101
- if ($lastGeneratedName && (new Varien_Io_File())->fileExists($fileDir)) {
102
  $message = '<p><a href=' . $fileUrl . ' target="_blank">';
103
  $message .= !empty($stores) ? $fileUrl : $helper->__('Get %s', $lastGeneratedName);
104
  $message .= '</a></p>';
6
  /**
7
  * @category blocks
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  class Doofinder_Feed_Block_Settings_Panel_File extends Mage_Adminhtml_Block_System_Config_Form_Field
98
  $fileUrl = Mage::getBaseUrl('media').'doofinder'.DS.$lastGeneratedName;
99
  $fileDir = Mage::getBaseDir('media').DS.'doofinder'.DS.$lastGeneratedName;
100
 
101
+ if ($lastGeneratedName && $helper->fileExists($fileDir)) {
102
  $message = '<p><a href=' . $fileUrl . ' target="_blank">';
103
  $message .= !empty($stores) ? $fileUrl : $helper->__('Get %s', $lastGeneratedName);
104
  $message .= '</a></p>';
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.14
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.15
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.14
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.15
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.14
10
  */
11
 
12
  /**
13
  * Data helper for Doofinder Feed
14
  *
15
- * @version 1.8.14
16
  * @package Doofinder_Feed
17
  */
18
  class Doofinder_Feed_Helper_Data extends Mage_Core_Helper_Abstract
@@ -38,6 +38,19 @@ class Doofinder_Feed_Helper_Data extends Mage_Core_Helper_Abstract
38
  const MSG_DISABLED = "The feed generator for this view is currently disabled.";
39
  const MSG_WAITING = "Waiting for registering the new process of generating the feed.";
40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  /**
42
  * Get product price
43
  *
@@ -137,9 +150,8 @@ class Doofinder_Feed_Helper_Data extends Mage_Core_Helper_Abstract
137
  $newFilename = $this->_processXmlName($xmlName, $storeCode, $newPassword);
138
  $newFilepath = $dir . DS . $newFilename;
139
 
140
- $fileIo = new Varien_Io_File();
141
- if ($fileIo->fileExists($oldFilepath)) {
142
- if (!$fileIo->fileExists($newFilepath) && !$fileIo->mv($oldFilepath, $newFilepath)) {
143
  $msg = __(
144
  'Feed file could not be renamed accordingly to new %s ' .
145
  'value because file permission issues or file with name %s already exists.',
@@ -300,8 +312,65 @@ class Doofinder_Feed_Helper_Data extends Mage_Core_Helper_Abstract
300
  public function createFeedDirectory()
301
  {
302
  $dir = $this->getFeedDirectory();
303
- (new Varien_Io_File())->checkAndCreateFolder($dir, 0777);
304
 
305
  return true;
306
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
307
  }
6
  /**
7
  * @category Helpers
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  /**
13
  * Data helper for Doofinder Feed
14
  *
15
+ * @version 1.8.15
16
  * @package Doofinder_Feed
17
  */
18
  class Doofinder_Feed_Helper_Data extends Mage_Core_Helper_Abstract
38
  const MSG_DISABLED = "The feed generator for this view is currently disabled.";
39
  const MSG_WAITING = "Waiting for registering the new process of generating the feed.";
40
 
41
+ /**
42
+ * @var Varien_Io_File
43
+ */
44
+ private $ioFile = null;
45
+
46
+ /**
47
+ * Constructor
48
+ */
49
+ public function __construct()
50
+ {
51
+ $this->ioFile = new Varien_Io_File();
52
+ }
53
+
54
  /**
55
  * Get product price
56
  *
150
  $newFilename = $this->_processXmlName($xmlName, $storeCode, $newPassword);
151
  $newFilepath = $dir . DS . $newFilename;
152
 
153
+ if ($this->fileExists($oldFilepath)) {
154
+ if (!$this->fileExists($newFilepath) && !$this->fileMove($oldFilepath, $newFilepath)) {
 
155
  $msg = __(
156
  'Feed file could not be renamed accordingly to new %s ' .
157
  'value because file permission issues or file with name %s already exists.',
312
  public function createFeedDirectory()
313
  {
314
  $dir = $this->getFeedDirectory();
315
+ $this->mkdir($dir);
316
 
317
  return true;
318
  }
319
+
320
+ /**
321
+ * Check if file exists
322
+ *
323
+ * @param string $filepath
324
+ * @return boolean
325
+ */
326
+ public function fileExists($filepath)
327
+ {
328
+ return $this->ioFile->fileExists($filepath);
329
+ }
330
+
331
+ /**
332
+ * Move file
333
+ *
334
+ * @param string $src
335
+ * @param string $dest
336
+ * @return boolean
337
+ */
338
+ public function fileMove($src, $dest)
339
+ {
340
+ return $this->ioFile->mv($src, $dest);
341
+ }
342
+
343
+ /**
344
+ * Remove file
345
+ *
346
+ * @param string $filepath
347
+ * @return boolean
348
+ */
349
+ public function fileRemove($filepath)
350
+ {
351
+ return $this->ioFile->rm($filepath);
352
+ }
353
+
354
+ /**
355
+ * Append content to file
356
+ *
357
+ * @param string $filepath
358
+ * @param string $content
359
+ * @return boolean
360
+ */
361
+ public function fileAppend($filepath, $content)
362
+ {
363
+ return file_put_contents($filepath, $content, FILE_APPEND | LOCK_EX);
364
+ }
365
+
366
+ /**
367
+ * Create directory
368
+ *
369
+ * @param string $dir
370
+ * @return boolean
371
+ */
372
+ public function mkdir($dir)
373
+ {
374
+ return $this->ioFile->checkAndCreateFolder($dir, 0777);
375
+ }
376
  }
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.14
10
  */
11
 
12
  /**
13
  * Log helper for Doofinder Feed
14
  *
15
- * @version 1.8.14
16
  * @package Doofinder_Feed
17
  */
18
  class Doofinder_Feed_Helper_Log extends Mage_Core_Helper_Abstract
6
  /**
7
  * @category Helpers
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  /**
13
  * Log helper for Doofinder Feed
14
  *
15
+ * @version 1.8.15
16
  * @package Doofinder_Feed
17
  */
18
  class Doofinder_Feed_Helper_Log extends Mage_Core_Helper_Abstract
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.14
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.15
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.14
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.15
10
  */
11
 
12
  class Doofinder_Feed_Model_Adminhtml_System_Config_Backend_Cron extends Mage_Core_Model_Config_Data
app/code/community/Doofinder/Feed/Model/CatalogSearch/Resource/Fulltext.php CHANGED
@@ -96,7 +96,7 @@ class Doofinder_Feed_Model_CatalogSearch_Resource_Fulltext extends Mage_CatalogS
96
  && $this->calculateChecksum($results) == $this->calculateChecksum($storedResults)
97
  ) {
98
  // Set search results
99
- $this->setResults($storedResults);
100
  return $this;
101
  }
102
 
96
  && $this->calculateChecksum($results) == $this->calculateChecksum($storedResults)
97
  ) {
98
  // Set search results
99
+ $this->setResults($this->_getStoredResults($query->getId()));
100
  return $this;
101
  }
102
 
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.14
10
  */
11
 
12
  /**
13
  * Config model for Doofinder Feed
14
  *
15
- * @version 1.8.14
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.15
10
  */
11
 
12
  /**
13
  * Config model for Doofinder Feed
14
  *
15
+ * @version 1.8.15
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.14
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.15
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.14
10
  */
11
 
12
  /**
13
  * Generator model for Doofinder Feed
14
  *
15
- * @version 1.8.14
16
  * @package Doofinder_Feed
17
  */
18
  if (!defined('DS'))
@@ -195,11 +195,10 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
195
  return $now / $all;
196
  }
197
 
198
- public function addProductToFeed($args)
199
  {
200
  try
201
  {
202
- $row = $args['row'];
203
  $this->_log->debugEnabled && $this->_log->debug(sprintf('Adding product %d to feed', $row['entity_id']));
204
 
205
  $this->_lastProductId = $row['entity_id'];
@@ -249,10 +248,9 @@ class Doofinder_Feed_Model_Generator extends Varien_Object
249
 
250
  $collection = $this->_getProductCollection($offset, $limit);
251
 
252
- Mage::getSingleton('core/resource_iterator')->walk(
253
- $collection->getSelect(),
254
- array(array($this, 'addProductToFeed'))
255
- );
256
  $this->_flushFeed();
257
 
258
  }
6
  /**
7
  * @category Models
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  /**
13
  * Generator model for Doofinder Feed
14
  *
15
+ * @version 1.8.15
16
  * @package Doofinder_Feed
17
  */
18
  if (!defined('DS'))
195
  return $now / $all;
196
  }
197
 
198
+ public function addProductToFeed($row)
199
  {
200
  try
201
  {
 
202
  $this->_log->debugEnabled && $this->_log->debug(sprintf('Adding product %d to feed', $row['entity_id']));
203
 
204
  $this->_lastProductId = $row['entity_id'];
248
 
249
  $collection = $this->_getProductCollection($offset, $limit);
250
 
251
+ foreach ($collection->getItems() as $item) {
252
+ $this->addProductToFeed($item->getData());
253
+ }
 
254
  $this->_flushFeed();
255
 
256
  }
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.14
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.15
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.14
10
  */
11
 
12
  /**
13
  * Abstract Product Map Model for Doofinder Feed
14
  *
15
- * @version 1.8.14
16
  * @package Doofinder_Feed
17
  */
18
  class Doofinder_Feed_Model_Map_Product_Abstract extends Varien_Object
6
  /**
7
  * @category Models
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  /**
13
  * Abstract Product Map Model for Doofinder Feed
14
  *
15
+ * @version 1.8.15
16
  * @package Doofinder_Feed
17
  */
18
  class Doofinder_Feed_Model_Map_Product_Abstract extends Varien_Object
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.14
10
  */
11
 
12
  /**
13
  * Associated Product Map Model for Doofinder Feed
14
  *
15
- * @version 1.8.14
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.15
10
  */
11
 
12
  /**
13
  * Associated Product Map Model for Doofinder Feed
14
  *
15
+ * @version 1.8.15
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.14
10
  */
11
 
12
  /**
13
  * Bundle Product Map Model for Doofinder Feed
14
  *
15
- * @version 1.8.14
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.15
10
  */
11
 
12
  /**
13
  * Bundle Product Map Model for Doofinder Feed
14
  *
15
+ * @version 1.8.15
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.14
10
  */
11
 
12
  /**
13
  * Configurable Product Map Model for Doofinder Feed
14
  *
15
- * @version 1.8.14
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.15
10
  */
11
 
12
  /**
13
  * Configurable Product Map Model for Doofinder Feed
14
  *
15
+ * @version 1.8.15
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.14
10
  */
11
 
12
  /**
13
  * Downloadable Product Map Model for Doofinder Feed
14
  *
15
- * @version 1.8.14
16
  * @package Doofinder_Feed
17
  */
18
  // @codingStandardsIgnoreStart
6
  /**
7
  * @category Models
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  /**
13
  * Downloadable Product Map Model for Doofinder Feed
14
  *
15
+ * @version 1.8.15
16
  * @package Doofinder_Feed
17
  */
18
  // @codingStandardsIgnoreStart
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.14
10
  */
11
 
12
  /**
13
  * Grouped Product Map Model for Doofinder Feed
14
  *
15
- * @version 1.8.14
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.15
10
  */
11
 
12
  /**
13
  * Grouped Product Map Model for Doofinder Feed
14
  *
15
+ * @version 1.8.15
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.14
10
  */
11
 
12
  /**
13
  * Simple Product Map Model for Doofinder Feed
14
  *
15
- * @version 1.8.14
16
  * @package Doofinder_Feed
17
  */
18
  // @codingStandardsIgnoreStart
6
  /**
7
  * @category Models
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  /**
13
  * Simple Product Map Model for Doofinder Feed
14
  *
15
+ * @version 1.8.15
16
  * @package Doofinder_Feed
17
  */
18
  // @codingStandardsIgnoreStart
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.14
10
  */
11
 
12
  /**
13
  * Virtual Product Map Model for Doofinder Feed
14
  *
15
- * @version 1.8.14
16
  * @package Doofinder_Feed
17
  */
18
  // @codingStandardsIgnoreStart
6
  /**
7
  * @category Models
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  /**
13
  * Virtual Product Map Model for Doofinder Feed
14
  *
15
+ * @version 1.8.15
16
  * @package Doofinder_Feed
17
  */
18
  // @codingStandardsIgnoreStart
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.14
10
  */
11
  // @codingStandardsIgnoreStart
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.15
10
  */
11
  // @codingStandardsIgnoreStart
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.14
10
  */
11
  // @codingStandardsIgnoreStart
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.15
10
  */
11
  // @codingStandardsIgnoreStart
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.14
10
  */
11
  // @codingStandardsIgnoreStart
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.15
10
  */
11
  // @codingStandardsIgnoreStart
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.14
10
  */
11
  // @codingStandardsIgnoreStart
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.15
10
  */
11
  // @codingStandardsIgnoreStart
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.14
10
  */
11
 
12
  class Doofinder_Feed_Model_Observers_Feed
@@ -205,7 +205,7 @@ class Doofinder_Feed_Model_Observers_Feed
205
  sprintf('Locking cron process for store %s', $process->getStoreCode())
206
  );
207
 
208
- if ((new Varien_Io_File())->fileExists($lockFilepath)) {
209
  Mage::throwException($helper->__('Process for store %s is already locked', $process->getStoreCode()));
210
  }
211
 
@@ -217,7 +217,7 @@ class Doofinder_Feed_Model_Observers_Feed
217
  sprintf('Unlocking cron process for store %s locked', $process->getStoreCode())
218
  );
219
 
220
- (new Varien_Io_File())->rm($lockFilepath);
221
  }
222
  }
223
 
@@ -358,15 +358,14 @@ class Doofinder_Feed_Model_Observers_Feed
358
  // If there is new data append to xml.tmp else convert into xml
359
  if ($xmlData) {
360
  $dir = Mage::getBaseDir('media').DS.'doofinder';
361
- $fileIo = new Varien_Io_File();
362
 
363
  // If directory doesn't exist create one
364
- if (!$fileIo->fileExists($dir)) {
365
  $helper->createFeedDirectory($dir);
366
  }
367
 
368
  // If file can not be save throw an error
369
- if (!$fileIo->filePutContent($tmpPath, $xmlData)) {
370
  Mage::throwException($helper->__("File can not be saved: {$tmpPath}"));
371
  }
372
 
@@ -384,7 +383,7 @@ class Doofinder_Feed_Model_Observers_Feed
384
  } else {
385
  $this->_log->log($process, Doofinder_Feed_Helper_Log::STATUS, $helper->__('Feed generation completed'));
386
 
387
- if (!(new Varien_Io_File())->mv($tmpPath, $path)) {
388
  Mage::throwException($helper->__("Cannot rename {$tmpPath} to {$path}"));
389
  }
390
 
6
  /**
7
  * @category Models
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  class Doofinder_Feed_Model_Observers_Feed
205
  sprintf('Locking cron process for store %s', $process->getStoreCode())
206
  );
207
 
208
+ if ($helper->fileExists($lockFilepath)) {
209
  Mage::throwException($helper->__('Process for store %s is already locked', $process->getStoreCode()));
210
  }
211
 
217
  sprintf('Unlocking cron process for store %s locked', $process->getStoreCode())
218
  );
219
 
220
+ $helper->fileRemove($lockFilepath);
221
  }
222
  }
223
 
358
  // If there is new data append to xml.tmp else convert into xml
359
  if ($xmlData) {
360
  $dir = Mage::getBaseDir('media').DS.'doofinder';
 
361
 
362
  // If directory doesn't exist create one
363
+ if (!$helper->fileExists($dir)) {
364
  $helper->createFeedDirectory($dir);
365
  }
366
 
367
  // If file can not be save throw an error
368
+ if (!$helper->fileAppend($tmpPath, $xmlData)) {
369
  Mage::throwException($helper->__("File can not be saved: {$tmpPath}"));
370
  }
371
 
383
  } else {
384
  $this->_log->log($process, Doofinder_Feed_Helper_Log::STATUS, $helper->__('Feed generation completed'));
385
 
386
+ if (!$helper->fileMove($tmpPath, $path)) {
387
  Mage::throwException($helper->__("Cannot rename {$tmpPath} to {$path}"));
388
  }
389
 
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.14
10
  */
11
 
12
  class Doofinder_Feed_Model_Observers_Logs
6
  /**
7
  * @category Models
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
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.14
10
  */
11
 
12
  class Doofinder_Feed_Model_Observers_Schedule
@@ -233,9 +233,8 @@ class Doofinder_Feed_Model_Observers_Schedule
233
  $helper = Mage::helper('doofinder_feed');
234
  $config = $helper->getStoreConfig($storeCode);
235
  $filePath = Mage::getBaseDir('media').DS.'doofinder'.DS.$config['xmlName'].'.tmp';
236
- $fileIo = new Varien_Io_File();
237
- if ($fileIo->fileExists($filePath)) {
238
- $success = $fileIo->rm($filePath);
239
  if ($success) {
240
  Mage::getSingleton('core/session')->addSuccess("Temporary xml file: {$filePath} has beed removed.");
241
  return true;
6
  /**
7
  * @category Models
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  class Doofinder_Feed_Model_Observers_Schedule
233
  $helper = Mage::helper('doofinder_feed');
234
  $config = $helper->getStoreConfig($storeCode);
235
  $filePath = Mage::getBaseDir('media').DS.'doofinder'.DS.$config['xmlName'].'.tmp';
236
+ if ($helper->fileExists($filePath)) {
237
+ $success = $helper->fileRemove($filePath);
 
238
  if ($success) {
239
  Mage::getSingleton('core/session')->addSuccess("Temporary xml file: {$filePath} has beed removed.");
240
  return true;
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.14
10
  */
11
  // @codingStandardsIgnoreStart
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.15
10
  */
11
  // @codingStandardsIgnoreStart
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.14
10
  */
11
 
12
  class Doofinder_Feed_Model_System_Config_Backend_Map_Additional
6
  /**
7
  * @category Models
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  class Doofinder_Feed_Model_System_Config_Backend_Map_Additional
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.14
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.15
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.14
10
  */
11
 
12
  class Doofinder_Feed_Model_System_Config_Source_Feed_Pricetaxmode
6
  /**
7
  * @category Models
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
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.14
10
  */
11
 
12
  class Doofinder_Feed_Model_System_Config_Source_Product_Attributes
6
  /**
7
  * @category Models
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
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.14
10
  */
11
 
12
  /**
13
  * Tools model for Doofinder Feed
14
  *
15
- * @version 1.8.14
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.15
10
  */
11
 
12
  /**
13
  * Tools model for Doofinder Feed
14
  *
15
+ * @version 1.8.15
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.14
10
  */
11
 
12
  class Doofinder_Feed_DoofinderFeedFeedController extends Mage_Adminhtml_Controller_Action
@@ -54,6 +54,8 @@ class Doofinder_Feed_DoofinderFeedFeedController extends Mage_Adminhtml_Controll
54
  */
55
  public function removeLockAction()
56
  {
 
 
57
  $response = $this->getResponse();
58
  $storeCode = $this->getRequest()->getParam('store', false);
59
 
@@ -62,11 +64,10 @@ class Doofinder_Feed_DoofinderFeedFeedController extends Mage_Adminhtml_Controll
62
  return;
63
  }
64
 
65
- $lockPath = Mage::helper('doofinder_feed')->getFeedLockPath($storeCode);
66
 
67
- $fileIo = new Varien_Io_File();
68
- if ($fileIo->fileExists($lockPath)) {
69
- $fileIo->rm($lockPath);
70
  } else {
71
  $response->setBody('Lock file not exists.');
72
  return;
6
  /**
7
  * @category controllers
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  class Doofinder_Feed_DoofinderFeedFeedController extends Mage_Adminhtml_Controller_Action
54
  */
55
  public function removeLockAction()
56
  {
57
+ $helper = Mage::helper('doofinder_feed');
58
+
59
  $response = $this->getResponse();
60
  $storeCode = $this->getRequest()->getParam('store', false);
61
 
64
  return;
65
  }
66
 
67
+ $lockPath = $helper->getFeedLockPath($storeCode);
68
 
69
+ if ($helper->fileExists($lockPath)) {
70
+ $helper->fileRemove($lockPath);
 
71
  } else {
72
  $response->setBody('Lock file not exists.');
73
  return;
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.14
10
  */
11
 
12
  class Doofinder_Feed_DoofinderFeedLogController extends Mage_Adminhtml_Controller_Action
6
  /**
7
  * @category controllers
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
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.14
10
  */
11
 
12
  /**
13
  * Feed controller for Doofinder Feed
14
  *
15
- * @version 1.8.14
16
  * @package Doofinder_Feed
17
  */
18
  class Doofinder_Feed_FeedController extends Mage_Core_Controller_Front_Action
@@ -167,11 +167,7 @@ class Doofinder_Feed_FeedController extends Mage_Core_Controller_Front_Action
167
  */
168
  protected function _feedExists($filepath = null)
169
  {
170
- if ((new Varien_Io_File)->fileExists($filepath)) {
171
- return true;
172
- }
173
-
174
- return false;
175
  }
176
 
177
  protected function _dumpMessage($level, $message, $extra = array())
@@ -255,8 +251,6 @@ class Doofinder_Feed_FeedController extends Mage_Core_Controller_Front_Action
255
  */
256
  protected function _createDirectory($dir = null)
257
  {
258
- (new Varien_Io_File())->checkAndCreateFolder($dir, 0777);
259
-
260
- return true;
261
  }
262
  }
6
  /**
7
  * @category controllers
8
  * @package Doofinder_Feed
9
+ * @version 1.8.15
10
  */
11
 
12
  /**
13
  * Feed controller for Doofinder Feed
14
  *
15
+ * @version 1.8.15
16
  * @package Doofinder_Feed
17
  */
18
  class Doofinder_Feed_FeedController extends Mage_Core_Controller_Front_Action
167
  */
168
  protected function _feedExists($filepath = null)
169
  {
170
+ return Mage::helper('doofinder_feed')->fileExists($filepath);
 
 
 
 
171
  }
172
 
173
  protected function _dumpMessage($level, $message, $extra = array())
251
  */
252
  protected function _createDirectory($dir = null)
253
  {
254
+ return Mage::helper('doofinder_feed')->mkdir($dir);
 
 
255
  }
256
  }
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.14
10
  */
11
 
12
  /**
13
  * Index controller for Doofinder Feed
14
  *
15
- * @version 1.8.14
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.15
10
  */
11
 
12
  /**
13
  * Index controller for Doofinder Feed
14
  *
15
+ * @version 1.8.15
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.14</version>
7
  </Doofinder_Feed>
8
  </modules>
9
  <global>
3
 
4
  <modules>
5
  <Doofinder_Feed>
6
+ <version>1.8.15</version>
7
  </Doofinder_Feed>
8
  </modules>
9
  <global>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Doofinder_Feed</name>
4
- <version>1.8.14</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,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:&#xD;
49
  &#xD;
50
  http://www.doofinder.com</description>
51
- <notes>Fixed condition that made sale prices greater than regular prices possible.</notes>
52
  <authors><author><name>Carlos Escribano Rey</name><user>doofinder</user><email>carlos@doofinder.com</email></author></authors>
53
- <date>2017-07-17</date>
54
- <time>07:27:08</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="e6559613b2d71a81795801c9d8766d8d"/></dir><dir name="Map"><file name="Additional.php" hash="f2bec731722835445ba17b34bd76ab36"/></dir></dir><file name="Integration.php" hash="0b78496f7ac497955eb3085dc2fd71ee"/><dir name="Settings"><dir name="Buttons"><file name="Generate.php" hash="4a0ffa8e946b70a5149c1ff1cd60f47e"/><file name="ViewLog.php" hash="afee4762af71abf1ee027261de7f89a3"/></dir><file name="Locks.php" hash="f0e48641a3af2c9c9209ce4047535742"/><dir name="Panel"><file name="AtomicUpdates.php" hash="9c22ff5132961c8f02beba08876753a0"/><file name="Crondescription.php" hash="6296fbbca47863dcef0b91f0e9338bb9"/><file name="Datetime.php" hash="07db84e19757773b17e6d6c0e98bc085"/><file name="Description.php" hash="40720d884133e70e92edaa2941bd6abf"/><file name="DynamicFeedUrl.php" hash="add78b47a249c6e5598185edf47c44eb"/><file name="File.php" hash="f91ba17859cac8114b2b315c657feab1"/><file name="Hashdescription.php" hash="887e5b095c69157398a1ae3024057475"/><file name="Layerdescription.php" hash="129f381941356a7e4e9ceb75f62c3cd0"/><file name="Message.php" hash="f56bac4d53d7b1719812a405b67f186d"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="dba78d7ac78af78c7e357b3d43f2e3d5"/><file name="Log.php" hash="f6bde1ee7d4d3c0c934148ef3722158b"/><file name="Search.php" hash="e4c58c4d69e9d31bc7b367183f647775"/><file name="Tax.php" hash="158e8292af07a09eda2b49edc4317af9"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="e20cace8ba38870974b217971040d303"/></dir><dir name="Validation"><file name="Hashid.php" hash="e76803d8ac26fcd21f80fbd613b4c9fa"/></dir></dir></dir></dir><dir name="CatalogSearch"><dir name="Resource"><file name="Fulltext.php" hash="c5a29ec1970cded42514b65f7ebb60f3"/></dir></dir><file name="Config.php" hash="92e11c260d108b299cab3b90e7bfe0b3"/><file name="Cron.php" hash="294ae3090b6bd65ebb471fe428e4bdd7"/><file name="Generator.php" hash="5e19f37167ca287fc022543fe078b743"/><file name="Log.php" hash="50c19e15a32e53f8d1d488c6ae4cc246"/><dir name="Map"><dir name="Product"><file name="Abstract.php" hash="350a2746c2a4b2fce833fa43a31eb2d4"/><file name="Associated.php" hash="bd377d8946e9d955b758bebbfc6aa7b5"/><file name="Bundle.php" hash="c498caa2fd1222f82d812ef69951423c"/><file name="Configurable.php" hash="af831edd501b85548a79af3cebafbfc0"/><file name="Downloadable.php" hash="072824ee39a6be6667f3cd1b88317c2f"/><file name="Grouped.php" hash="0894effdbb21b199850e635c57eca9b2"/><file name="Simple.php" hash="d7cfeecbe614d9b105c07742ada062d5"/><file name="Virtual.php" hash="7244119b81e7f0bcb97c152c11f9d730"/></dir></dir><dir name="Mysql4"><dir name="Cron"><file name="Collection.php" hash="4cc146799b1f4b9feeaf2ba200b9078a"/></dir><file name="Cron.php" hash="a9a24bde30cb26bd454f8db4c2275a81"/><dir name="Log"><file name="Collection.php" hash="bd07aee66a9101864040ac93061c5625"/></dir><file name="Log.php" hash="c6072bcaab2b588d796ca19d4c9d60a3"/></dir><dir name="Observers"><file name="Feed.php" hash="797d24b61ca5774871c0c1ad82e268b0"/><file name="Logs.php" hash="27d3f8da98311ca2b521586925acf542"/><file name="Schedule.php" hash="177726e26feed363c7a258e4a2a0f179"/></dir><dir name="Resource"><dir name="Mysql4"><file name="Setup.php" hash="15e3db69fdd194b90f30145ab73bd9b9"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Map"><file name="Additional.php" hash="e5459bbeeaa165ec971a4437569d4563"/></dir><file name="Password.php" hash="bc3f1ece8a3bd6b51737eaf21691b67f"/><dir name="Total"><file name="Limit.php" hash="85dbe458d2b4513120211af51a747c3a"/></dir></dir><file name="Reset.php" hash="04c1dfc18032644a2c27ec27fa125e5a"/><dir name="Source"><dir name="Feed"><file name="Pricetaxmode.php" hash="f8dadb1cb1cd64f0d8fc7109be49c150"/></dir><dir name="Product"><file name="Attributes.php" hash="758be314376ae2918bc74879dfc7c2ed"/></dir></dir></dir></dir><file name="Tools.php" hash="f6fe0fead08da6d85624542cff869228"/></dir><dir name="Test"><dir name="Controller"><dir name="Index"><dir name="fixtures"><file name="testConfig.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/><file name="testFeed.yaml" hash="32191e86e4036ebd681a8dff684be83a"/><file name="testIndex.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/></dir><dir name="providers"><file name="testConfig.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/><file name="testFeed.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/><file name="testIndex.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/></dir></dir><file name="Index.php" hash="e2e77aed8d7ed07e3f03ede97178a911"/></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="1bf5947dbbe2b99f20659c3da3cf4621"/></dir></dir><dir name="controllers"><file name="DoofinderFeedFeedController.php" hash="b4c09b5594876e5e59c781646b304494"/><file name="DoofinderFeedLogController.php" hash="576554fdaa269957cb15e88d64cdbeb5"/><file name="FeedController.php" hash="ba2421e9f9c6fc624e88adc77e9f0f7e"/><file name="IndexController.php" hash="351c1c59970135677077f6b4bc91c8a5"/></dir><dir name="etc"><file name="config.xml" hash="888db88872c18d00d1b5f442c186b67b"/><file name="system.xml" hash="4fba4adc1eaf2f1700757f981272d866"/></dir><dir name="sql"><dir name="doofinder_feed_setup"><file name="mysql4-install-1.5.4.php" hash="6ac53ca537803a63e73fc3e38b79bbe0"/><file name="mysql4-install-1.5.7.php" hash="a9ed5fb3d35162622c2049a303bc2b48"/><file name="mysql4-upgrade-1.5.4-1.5.5.php" hash="7ebdb63d2c55b11d1e41f16781fabb9c"/><file name="mysql4-upgrade-1.5.5-1.5.6.php" hash="81115e9985db00c187ae33d004d677f2"/><file name="mysql4-upgrade-1.5.6-1.5.7.php" hash="c7ffec01b48b3a162d4f6d5a7a7b4650"/></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="fd53b0128822fda40bcda7828fcc9f51"/></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>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Doofinder_Feed</name>
4
+ <version>1.8.15</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:&#xD;
49
  &#xD;
50
  http://www.doofinder.com</description>
51
+ <notes>Hotfix: Fix cron alert condition in feed status panel. Add regression tests. Do not allow exporting `sale price` larger than `price`. Bugfix: Replace Varien_Io_File::filePutContent with file_put_contents. Replace resource iterator with simple foreach loop. Bugfix: Return all search results if query is stored.</notes>
52
  <authors><author><name>Carlos Escribano Rey</name><user>doofinder</user><email>carlos@doofinder.com</email></author></authors>
53
+ <date>2017-07-19</date>
54
+ <time>16:31:12</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="61976d43f228643526c1c825ff0bf6ae"/></dir><dir name="Map"><file name="Additional.php" hash="4a098c05cec405d4d9a54ddef3b9d1b0"/></dir></dir><file name="Integration.php" hash="dba317d8c876ce2d3dc16779a2c0372e"/><dir name="Settings"><dir name="Buttons"><file name="Generate.php" hash="7e353ac501e26595efcc4d175a13dfce"/><file name="ViewLog.php" hash="c35054b3595aadeb1c87868a03bfad01"/></dir><file name="Locks.php" hash="155efd7481b9f08b7ce28ddef3c775b7"/><dir name="Panel"><file name="AtomicUpdates.php" hash="d9ae2758df27b86e523756f67ad18ad5"/><file name="Crondescription.php" hash="86b38be01a0aef8a206dc5c913f69577"/><file name="Datetime.php" hash="6053b2be98151fd81fc582e1301ec8e2"/><file name="Description.php" hash="72685ac23f4e4f91653a065f1da622f4"/><file name="DynamicFeedUrl.php" hash="a2571248d45f537d98e559c769d081e0"/><file name="File.php" hash="bc0146cc56876e33280951a7ecc2e45d"/><file name="Hashdescription.php" hash="887e5b095c69157398a1ae3024057475"/><file name="Layerdescription.php" hash="1668f21fe03ec1c2ec8f2a28ef58840f"/><file name="Message.php" hash="b9e040e864a01ee3459cf2c8834cad01"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="a6af581dd36a0bb680c6fdc775dd3929"/><file name="Log.php" hash="77e33b38479882f23bacb047fa02dc52"/><file name="Search.php" hash="e4c58c4d69e9d31bc7b367183f647775"/><file name="Tax.php" hash="37fa9e531d512bfc1dabe9f3cb07faf6"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="00e73340a99abf5cdc75c6144e5c76a9"/></dir><dir name="Validation"><file name="Hashid.php" hash="e76803d8ac26fcd21f80fbd613b4c9fa"/></dir></dir></dir></dir><dir name="CatalogSearch"><dir name="Resource"><file name="Fulltext.php" hash="7b19b91930c2f2080279b92b301c7695"/></dir></dir><file name="Config.php" hash="a55d869f972378d4b2ad89403f0d6006"/><file name="Cron.php" hash="39782871cecfeb55e814d0684bc85c36"/><file name="Generator.php" hash="605cb62258b83c5d4a72645d9d8e2893"/><file name="Log.php" hash="35103fe71c628e552061f1e441422278"/><dir name="Map"><dir name="Product"><file name="Abstract.php" hash="1a28e07b01ad843dfc6a906ea6fca6db"/><file name="Associated.php" hash="c027b9f7961a2985b26afe50db2a501c"/><file name="Bundle.php" hash="9dc6b75f471006bd848e2baaceab8de9"/><file name="Configurable.php" hash="daf42e111e5afe2e4c0c8890fdeea846"/><file name="Downloadable.php" hash="4df7326a7a0b149004c40c8149d31a9a"/><file name="Grouped.php" hash="db5c673184aef968d3d4f7aba36d028b"/><file name="Simple.php" hash="7f4808f8ccb6125ecc0dc1dc312e5973"/><file name="Virtual.php" hash="592aefa9472a56bf5b103474be282a3a"/></dir></dir><dir name="Mysql4"><dir name="Cron"><file name="Collection.php" hash="86a6641c130424f3ffc4c999cccf1aa1"/></dir><file name="Cron.php" hash="b62bc11509390dbc4189dc4723d7f5d9"/><dir name="Log"><file name="Collection.php" hash="f7b6bc7be6a90152eaa72ed0cf357a3a"/></dir><file name="Log.php" hash="1210f62cb5aabcf647ccc0868ac668e4"/></dir><dir name="Observers"><file name="Feed.php" hash="bde9cf50e35e117cfa5df5556d6d6962"/><file name="Logs.php" hash="7c098ea4961e40c8eca6c6ab39e0f43a"/><file name="Schedule.php" hash="ca6820e22f7ac3cec73df7d478e068ff"/></dir><dir name="Resource"><dir name="Mysql4"><file name="Setup.php" hash="ad0d239598b8487434efd11da8a91b65"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Map"><file name="Additional.php" hash="9c565838249d2e1418b13d1d3058010f"/></dir><file name="Password.php" hash="bc3f1ece8a3bd6b51737eaf21691b67f"/><dir name="Total"><file name="Limit.php" hash="85dbe458d2b4513120211af51a747c3a"/></dir></dir><file name="Reset.php" hash="986852aca4f3fc5eb41e237b7d412c4d"/><dir name="Source"><dir name="Feed"><file name="Pricetaxmode.php" hash="14c10753741758fcf9ad00725f560f9f"/></dir><dir name="Product"><file name="Attributes.php" hash="f9d2445f8d9f9f891c41042423e554b0"/></dir></dir></dir></dir><file name="Tools.php" hash="219caf61b464d382ea876e23a170c4c1"/></dir><dir name="Test"><dir name="Controller"><dir name="Index"><dir name="fixtures"><file name="testConfig.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/><file name="testFeed.yaml" hash="32191e86e4036ebd681a8dff684be83a"/><file name="testIndex.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/></dir><dir name="providers"><file name="testConfig.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/><file name="testFeed.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/><file name="testIndex.yaml" hash="0a1f21a3417389e0c0a13392c79a7a89"/></dir></dir><file name="Index.php" hash="e2e77aed8d7ed07e3f03ede97178a911"/></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="1bf5947dbbe2b99f20659c3da3cf4621"/></dir></dir><dir name="controllers"><file name="DoofinderFeedFeedController.php" hash="24cd117c43dcd1a9ab837eaf71c5740b"/><file name="DoofinderFeedLogController.php" hash="b07a82ffd99be2032c4eae349a5e2dd8"/><file name="FeedController.php" hash="099414167e3d9ce77e8f67efe35cf2e6"/><file name="IndexController.php" hash="ea9fd9a774944a9e89add9dcb3787048"/></dir><dir name="etc"><file name="config.xml" hash="442aaa605c9ce2951409490edd90ea3d"/><file name="system.xml" hash="4fba4adc1eaf2f1700757f981272d866"/></dir><dir name="sql"><dir name="doofinder_feed_setup"><file name="mysql4-install-1.5.4.php" hash="6ac53ca537803a63e73fc3e38b79bbe0"/><file name="mysql4-install-1.5.7.php" hash="a9ed5fb3d35162622c2049a303bc2b48"/><file name="mysql4-upgrade-1.5.4-1.5.5.php" hash="7ebdb63d2c55b11d1e41f16781fabb9c"/><file name="mysql4-upgrade-1.5.5-1.5.6.php" hash="81115e9985db00c187ae33d004d677f2"/><file name="mysql4-upgrade-1.5.6-1.5.7.php" hash="c7ffec01b48b3a162d4f6d5a7a7b4650"/></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="fd53b0128822fda40bcda7828fcc9f51"/></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>