Version Notes
First stable release
Download this release
Release Info
Developer | Magmodules |
Extension | Magmodules_Feedbackcompany |
Version | 1.4.9 |
Comparing to | |
See all releases |
Code changes from version 1.4.8 to 1.4.9
- app/code/community/Magmodules/Feedbackcompany/Block/Adminhtml/Widget/Buttons/Test.php +2 -3
- app/code/community/Magmodules/Feedbackcompany/Block/Adminhtml/Widget/Grid/Log.php +6 -1
- app/code/community/Magmodules/Feedbackcompany/Block/Adminhtml/Widget/Info/Info.php +4 -7
- app/code/community/Magmodules/Feedbackcompany/Block/Custom.php +3 -6
- app/code/community/Magmodules/Feedbackcompany/Helper/Data.php +12 -1
- app/code/community/Magmodules/Feedbackcompany/Model/Api.php +13 -17
- app/code/community/Magmodules/Feedbackcompany/Model/Log.php +21 -18
- app/code/community/Magmodules/Feedbackcompany/Model/Observer.php +24 -36
- app/code/community/Magmodules/Feedbackcompany/Model/Reviews.php +76 -66
- app/code/community/Magmodules/Feedbackcompany/Model/Stats.php +38 -43
- app/code/community/Magmodules/Feedbackcompany/Model/System/Config/Source/Cronfrequency.php +7 -8
- app/code/community/Magmodules/Feedbackcompany/controllers/Adminhtml/FeedbackreviewsController.php +6 -2
- app/code/community/Magmodules/Feedbackcompany/etc/config.xml +2 -2
- app/locale/nl_NL/Magmodules_Feedbackcompany.csv +2 -2
- package.xml +5 -5
app/code/community/Magmodules/Feedbackcompany/Block/Adminhtml/Widget/Buttons/Test.php
CHANGED
@@ -15,14 +15,13 @@
|
|
15 |
* @category Magmodules
|
16 |
* @package Magmodules_Feedbackcompany
|
17 |
* @author Magmodules <info@magmodules.eu)
|
18 |
-
* @copyright Copyright (c)
|
19 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
20 |
*/
|
21 |
|
22 |
class Magmodules_Feedbackcompany_Block_Adminhtml_Widget_Buttons_Test extends Mage_Adminhtml_Block_System_Config_Form_Field {
|
23 |
|
24 |
-
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
25 |
-
{
|
26 |
$this->setElement($element);
|
27 |
$url = $this->getUrl('*/feedbackreviews/testapi');
|
28 |
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
|
15 |
* @category Magmodules
|
16 |
* @package Magmodules_Feedbackcompany
|
17 |
* @author Magmodules <info@magmodules.eu)
|
18 |
+
* @copyright Copyright (c) 2015 (http://www.magmodules.eu)
|
19 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
20 |
*/
|
21 |
|
22 |
class Magmodules_Feedbackcompany_Block_Adminhtml_Widget_Buttons_Test extends Mage_Adminhtml_Block_System_Config_Form_Field {
|
23 |
|
24 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element) {
|
|
|
25 |
$this->setElement($element);
|
26 |
$url = $this->getUrl('*/feedbackreviews/testapi');
|
27 |
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
|
app/code/community/Magmodules/Feedbackcompany/Block/Adminhtml/Widget/Grid/Log.php
CHANGED
@@ -23,8 +23,8 @@ class Magmodules_Feedbackcompany_Block_Adminhtml_Widget_Grid_Log extends Mage_Ad
|
|
23 |
|
24 |
public function render(Varien_Object $row)
|
25 |
{
|
26 |
-
$type = $row->getType();
|
27 |
$msg = '';
|
|
|
28 |
|
29 |
if($type == 'reviews') {
|
30 |
$updates = '';
|
@@ -43,6 +43,11 @@ class Magmodules_Feedbackcompany_Block_Adminhtml_Widget_Grid_Log extends Mage_Ad
|
|
43 |
$msg .= ' & ';
|
44 |
}
|
45 |
$msg .= Mage::helper('feedbackcompany')->__('total score updated');
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
|
48 |
if($type == 'productreviews') {
|
23 |
|
24 |
public function render(Varien_Object $row)
|
25 |
{
|
|
|
26 |
$msg = '';
|
27 |
+
$type = $row->getType();
|
28 |
|
29 |
if($type == 'reviews') {
|
30 |
$updates = '';
|
43 |
$msg .= ' & ';
|
44 |
}
|
45 |
$msg .= Mage::helper('feedbackcompany')->__('total score updated');
|
46 |
+
|
47 |
+
if(!empty($row->getResponse())) {
|
48 |
+
$msg = $row->getResponse();
|
49 |
+
}
|
50 |
+
|
51 |
}
|
52 |
|
53 |
if($type == 'productreviews') {
|
app/code/community/Magmodules/Feedbackcompany/Block/Adminhtml/Widget/Info/Info.php
CHANGED
@@ -32,21 +32,18 @@ class Magmodules_Feedbackcompany_Block_Adminhtml_Widget_Info_Info extends Mage_A
|
|
32 |
<p>We are a Magento only E-commerce Agency located in the Netherlands.<br>
|
33 |
<br />
|
34 |
<table width="500px" border="0">
|
35 |
-
|
36 |
<td width="58%">View more extensions from us:</td>
|
37 |
<td width="42%"><a href="http://www.magentocommerce.com/magento-connect/developer/Magmodules" target="_blank">Magento Connect</a></td>
|
38 |
</tr>
|
39 |
-
|
40 |
-
<td
|
|
|
41 |
</tr>
|
42 |
<tr>
|
43 |
<td height="30">Visit our website:</td>
|
44 |
<td><a href="http://www.magmodules.eu" target="_blank">www.magmodules.eu</a></td>
|
45 |
</tr>
|
46 |
-
<tr>
|
47 |
-
<td> </td>
|
48 |
-
<td> </td>
|
49 |
-
</tr>
|
50 |
<tr>
|
51 |
<td height="30"><strong>Need help?</strong></td>
|
52 |
<td><strong><a href="http://www.magmodules.eu/help/feedbackcompany" target="_blank">Online manual</a></strong></td>
|
32 |
<p>We are a Magento only E-commerce Agency located in the Netherlands.<br>
|
33 |
<br />
|
34 |
<table width="500px" border="0">
|
35 |
+
<tr>
|
36 |
<td width="58%">View more extensions from us:</td>
|
37 |
<td width="42%"><a href="http://www.magentocommerce.com/magento-connect/developer/Magmodules" target="_blank">Magento Connect</a></td>
|
38 |
</tr>
|
39 |
+
<tr>
|
40 |
+
<td>For Help:</td>
|
41 |
+
<td><a href="https://www.magmodules.eu/support.html?ext=feedbackcompany">Visit our Support Page</a></td>
|
42 |
</tr>
|
43 |
<tr>
|
44 |
<td height="30">Visit our website:</td>
|
45 |
<td><a href="http://www.magmodules.eu" target="_blank">www.magmodules.eu</a></td>
|
46 |
</tr>
|
|
|
|
|
|
|
|
|
47 |
<tr>
|
48 |
<td height="30"><strong>Need help?</strong></td>
|
49 |
<td><strong><a href="http://www.magmodules.eu/help/feedbackcompany" target="_blank">Online manual</a></strong></td>
|
app/code/community/Magmodules/Feedbackcompany/Block/Custom.php
CHANGED
@@ -66,18 +66,15 @@ class Magmodules_Feedbackcompany_Block_Custom extends Mage_Core_Block_Template {
|
|
66 |
}
|
67 |
}
|
68 |
|
69 |
-
if($blockTypeTemplate) {
|
70 |
-
|
71 |
$storeId = Mage::app()->getStore()->getStoreId();
|
72 |
-
|
73 |
$this->addData(array(
|
74 |
-
'cache_lifetime' =>
|
75 |
'cache_tags' => array(Mage_Cms_Model_Block::CACHE_TAG, Magmodules_Feedbackcompany_Model_Reviews::CACHE_TAG),
|
76 |
'cache_key' => $storeId . '-' . $blockType . '-feedback-block',
|
77 |
));
|
78 |
-
|
79 |
parent::_construct();
|
80 |
-
$this->setTemplate($blockTypeTemplate);
|
81 |
}
|
82 |
}
|
83 |
|
66 |
}
|
67 |
}
|
68 |
|
69 |
+
if ($blockTypeTemplate) {
|
|
|
70 |
$storeId = Mage::app()->getStore()->getStoreId();
|
|
|
71 |
$this->addData(array(
|
72 |
+
'cache_lifetime' => 7200,
|
73 |
'cache_tags' => array(Mage_Cms_Model_Block::CACHE_TAG, Magmodules_Feedbackcompany_Model_Reviews::CACHE_TAG),
|
74 |
'cache_key' => $storeId . '-' . $blockType . '-feedback-block',
|
75 |
));
|
|
|
76 |
parent::_construct();
|
77 |
+
$this->setTemplate($blockTypeTemplate);
|
78 |
}
|
79 |
}
|
80 |
|
app/code/community/Magmodules/Feedbackcompany/Helper/Data.php
CHANGED
@@ -244,5 +244,16 @@ class Magmodules_Feedbackcompany_Helper_Data extends Mage_Core_Helper_Abstract {
|
|
244 |
}
|
245 |
return $scoreValues;
|
246 |
}
|
247 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
}
|
244 |
}
|
245 |
return $scoreValues;
|
246 |
}
|
247 |
+
|
248 |
+
public function getUncachedConfigValue($path, $storeId = 0)
|
249 |
+
{
|
250 |
+
$collection = Mage::getModel('core/config_data')->getCollection()->addFieldToFilter('path', $path);
|
251 |
+
if($storeId == 0) {
|
252 |
+
$collection = $collection->addFieldToFilter('scope_id', 0)->addFieldToFilter('scope', 'default');
|
253 |
+
} else {
|
254 |
+
$collection = $collection->addFieldToFilter('scope_id', $storeId)->addFieldToFilter('scope', 'stores');
|
255 |
+
}
|
256 |
+
return $collection->getFirstItem()->getValue();
|
257 |
+
}
|
258 |
+
|
259 |
}
|
app/code/community/Magmodules/Feedbackcompany/Model/Api.php
CHANGED
@@ -21,30 +21,29 @@
|
|
21 |
|
22 |
class Magmodules_Feedbackcompany_Model_Api extends Mage_Core_Model_Abstract {
|
23 |
|
24 |
-
public function processFeed($
|
25 |
{
|
26 |
-
if($feed = $this->getFeed($
|
27 |
-
$results = Mage::getModel('feedbackcompany/reviews')->processFeed($feed, $
|
28 |
-
$results['stats'] = Mage::getModel('feedbackcompany/stats')->processFeed($feed, $
|
29 |
return $results;
|
30 |
}
|
31 |
return false;
|
32 |
}
|
33 |
|
34 |
-
public function getFeed($
|
35 |
{
|
36 |
if($type == 'productreviews') {
|
37 |
$result = array();
|
38 |
-
$client_token = Mage::
|
39 |
if(!$client_token) {
|
40 |
-
$client_token = $this->getOauthToken($
|
41 |
if($client_token['status'] == 'ERROR') {
|
42 |
return $client_token;
|
43 |
} else {
|
44 |
$client_token = $client_token['client_token'];
|
45 |
}
|
46 |
}
|
47 |
-
|
48 |
$request = curl_init();
|
49 |
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, false);
|
50 |
curl_setopt($request, CURLOPT_URL, 'https://beoordelingen.feedbackcompany.nl/api/v1/review/getrecent/?interval=' . $interval . '&type=product&unixts=1');
|
@@ -60,8 +59,7 @@ class Magmodules_Feedbackcompany_Model_Api extends Mage_Core_Model_Abstract {
|
|
60 |
}
|
61 |
}
|
62 |
$config = new Mage_Core_Model_Config();
|
63 |
-
$config->saveConfig('feedbackcompany/productreviews/client_token', '', 'stores', $
|
64 |
-
Mage::app()->getCacheInstance()->cleanType('config');
|
65 |
$result['status'] = 'ERROR';
|
66 |
$result['error'] = $api_result->error;
|
67 |
return $result;
|
@@ -71,7 +69,7 @@ class Magmodules_Feedbackcompany_Model_Api extends Mage_Core_Model_Abstract {
|
|
71 |
return $result;
|
72 |
}
|
73 |
} else {
|
74 |
-
$api_id = trim(Mage::getStoreConfig('feedbackcompany/general/api_id', $
|
75 |
if($type == 'stats') {
|
76 |
$api_url = 'https://beoordelingen.feedbackcompany.nl/samenvoordeel/scripts/flexreview/getreviewxml.cfm?ws=' . $api_id . '&publishDetails=0&nor=0&Basescore=10';
|
77 |
}
|
@@ -291,11 +289,10 @@ class Magmodules_Feedbackcompany_Model_Api extends Mage_Core_Model_Abstract {
|
|
291 |
}
|
292 |
}
|
293 |
|
294 |
-
public function getOauthToken($
|
295 |
{
|
296 |
-
$client_id = Mage::getStoreConfig('feedbackcompany/productreviews/client_id', $
|
297 |
-
$client_secret = Mage::getStoreConfig('feedbackcompany/productreviews/client_secret', $
|
298 |
-
$result = array();
|
299 |
if(!empty($client_id) && !empty($client_secret)) {
|
300 |
$url = "https://beoordelingen.feedbackcompany.nl/api/v1/oauth2/token";
|
301 |
$get_array = array("client_id" => $client_id, "client_secret" => $client_secret, "grant_type" => "authorization_code");
|
@@ -310,12 +307,11 @@ class Magmodules_Feedbackcompany_Model_Api extends Mage_Core_Model_Abstract {
|
|
310 |
curl_close($feedbackconnect);
|
311 |
$response = json_decode($response);
|
312 |
if(isset($response->access_token)) {
|
313 |
-
$store_ids = Mage::getModel('feedbackcompany/productreviews')->getAllStoreViews($
|
314 |
$config = new Mage_Core_Model_Config();
|
315 |
foreach($store_ids as $store_id) {
|
316 |
$config->saveConfig('feedbackcompany/productreviews/client_token', $response->access_token, 'stores', $store_id);
|
317 |
}
|
318 |
-
Mage::app()->getCacheInstance()->cleanType('config');
|
319 |
$result = array();
|
320 |
$result['status'] = 'OK';
|
321 |
$result['client_token'] = $response->access_token;
|
21 |
|
22 |
class Magmodules_Feedbackcompany_Model_Api extends Mage_Core_Model_Abstract {
|
23 |
|
24 |
+
public function processFeed($storeId = 0, $type)
|
25 |
{
|
26 |
+
if($feed = $this->getFeed($storeId, $type)) {
|
27 |
+
$results = Mage::getModel('feedbackcompany/reviews')->processFeed($feed, $storeId, $type);
|
28 |
+
$results['stats'] = Mage::getModel('feedbackcompany/stats')->processFeed($feed, $storeId);
|
29 |
return $results;
|
30 |
}
|
31 |
return false;
|
32 |
}
|
33 |
|
34 |
+
public function getFeed($storeId, $type = '', $interval = '')
|
35 |
{
|
36 |
if($type == 'productreviews') {
|
37 |
$result = array();
|
38 |
+
$client_token = Mage::helper('feedbackcompany')->getUncachedConfigValue('feedbackcompany/productreviews/client_token', $storeId);
|
39 |
if(!$client_token) {
|
40 |
+
$client_token = $this->getOauthToken($storeId);
|
41 |
if($client_token['status'] == 'ERROR') {
|
42 |
return $client_token;
|
43 |
} else {
|
44 |
$client_token = $client_token['client_token'];
|
45 |
}
|
46 |
}
|
|
|
47 |
$request = curl_init();
|
48 |
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, false);
|
49 |
curl_setopt($request, CURLOPT_URL, 'https://beoordelingen.feedbackcompany.nl/api/v1/review/getrecent/?interval=' . $interval . '&type=product&unixts=1');
|
59 |
}
|
60 |
}
|
61 |
$config = new Mage_Core_Model_Config();
|
62 |
+
$config->saveConfig('feedbackcompany/productreviews/client_token', '', 'stores', $storeId);
|
|
|
63 |
$result['status'] = 'ERROR';
|
64 |
$result['error'] = $api_result->error;
|
65 |
return $result;
|
69 |
return $result;
|
70 |
}
|
71 |
} else {
|
72 |
+
$api_id = trim(Mage::getStoreConfig('feedbackcompany/general/api_id', $storeId));
|
73 |
if($type == 'stats') {
|
74 |
$api_url = 'https://beoordelingen.feedbackcompany.nl/samenvoordeel/scripts/flexreview/getreviewxml.cfm?ws=' . $api_id . '&publishDetails=0&nor=0&Basescore=10';
|
75 |
}
|
289 |
}
|
290 |
}
|
291 |
|
292 |
+
public function getOauthToken($storeId)
|
293 |
{
|
294 |
+
$client_id = Mage::getStoreConfig('feedbackcompany/productreviews/client_id', $storeId);
|
295 |
+
$client_secret = Mage::getStoreConfig('feedbackcompany/productreviews/client_secret', $storeId);
|
|
|
296 |
if(!empty($client_id) && !empty($client_secret)) {
|
297 |
$url = "https://beoordelingen.feedbackcompany.nl/api/v1/oauth2/token";
|
298 |
$get_array = array("client_id" => $client_id, "client_secret" => $client_secret, "grant_type" => "authorization_code");
|
307 |
curl_close($feedbackconnect);
|
308 |
$response = json_decode($response);
|
309 |
if(isset($response->access_token)) {
|
310 |
+
$store_ids = Mage::getModel('feedbackcompany/productreviews')->getAllStoreViews($storeId);
|
311 |
$config = new Mage_Core_Model_Config();
|
312 |
foreach($store_ids as $store_id) {
|
313 |
$config->saveConfig('feedbackcompany/productreviews/client_token', $response->access_token, 'stores', $store_id);
|
314 |
}
|
|
|
315 |
$result = array();
|
316 |
$result['status'] = 'OK';
|
317 |
$result['client_token'] = $response->access_token;
|
app/code/community/Magmodules/Feedbackcompany/Model/Log.php
CHANGED
@@ -27,18 +27,18 @@ class Magmodules_Feedbackcompany_Model_Log extends Mage_Core_Model_Abstract {
|
|
27 |
$this->_init('feedbackcompany/log');
|
28 |
}
|
29 |
|
30 |
-
public function addToLog($type, $
|
31 |
{
|
32 |
if(Mage::getStoreConfig('feedbackcompany/log/enabled')) {
|
33 |
|
34 |
if($type == 'productreview') {
|
35 |
-
$api_id = Mage::getStoreConfig('feedbackcompany/productreviews/client_token', $
|
36 |
-
$api_url = Mage::getStoreConfig('feedbackcompany/productreviews/client_token', $
|
37 |
} else {
|
38 |
-
$api_id = Mage::getStoreConfig('feedbackcompany/general/api_id', $
|
39 |
}
|
40 |
|
41 |
-
$company = Mage::getStoreConfig('feedbackcompany/general/company', $
|
42 |
$review_updates = '';
|
43 |
$review_new = '';
|
44 |
|
@@ -48,23 +48,26 @@ class Magmodules_Feedbackcompany_Model_Log extends Mage_Core_Model_Abstract {
|
|
48 |
}
|
49 |
if(!empty($review['review_new'])) {
|
50 |
$review_new = $review['review_new'];
|
51 |
-
}
|
|
|
|
|
|
|
52 |
}
|
53 |
|
54 |
$model = Mage::getModel('feedbackcompany/log');
|
55 |
$model->setType($type)
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
}
|
69 |
}
|
70 |
|
27 |
$this->_init('feedbackcompany/log');
|
28 |
}
|
29 |
|
30 |
+
public function addToLog($type, $storeId, $review = '', $response = '', $time, $crontype = '', $api_url = '', $orderId = '')
|
31 |
{
|
32 |
if(Mage::getStoreConfig('feedbackcompany/log/enabled')) {
|
33 |
|
34 |
if($type == 'productreview') {
|
35 |
+
$api_id = Mage::getStoreConfig('feedbackcompany/productreviews/client_token', $storeId);
|
36 |
+
$api_url = Mage::getStoreConfig('feedbackcompany/productreviews/client_token', $storeId);
|
37 |
} else {
|
38 |
+
$api_id = Mage::getStoreConfig('feedbackcompany/general/api_id', $storeId);
|
39 |
}
|
40 |
|
41 |
+
$company = Mage::getStoreConfig('feedbackcompany/general/company', $storeId);
|
42 |
$review_updates = '';
|
43 |
$review_new = '';
|
44 |
|
48 |
}
|
49 |
if(!empty($review['review_new'])) {
|
50 |
$review_new = $review['review_new'];
|
51 |
+
}
|
52 |
+
if(!empty($review['stats']['msg'])) {
|
53 |
+
$response = $review['stats']['msg'];
|
54 |
+
}
|
55 |
}
|
56 |
|
57 |
$model = Mage::getModel('feedbackcompany/log');
|
58 |
$model->setType($type)
|
59 |
+
->setShopId($api_id)
|
60 |
+
->setStoreId($storeId)
|
61 |
+
->setCompany($company)
|
62 |
+
->setReviewUpdate($review_updates)
|
63 |
+
->setReviewNew($review_new)
|
64 |
+
->setResponse($response)
|
65 |
+
->setOrderId($orderId)
|
66 |
+
->setCron($crontype)
|
67 |
+
->setDate(now())
|
68 |
+
->setTime($time)
|
69 |
+
->setApiUrl($api_url)
|
70 |
+
->save();
|
71 |
}
|
72 |
}
|
73 |
|
app/code/community/Magmodules/Feedbackcompany/Model/Observer.php
CHANGED
@@ -42,7 +42,6 @@ class Magmodules_Feedbackcompany_Model_Observer {
|
|
42 |
public function processReviews()
|
43 |
{
|
44 |
$storeids = Mage::getModel('feedbackcompany/api')->getStoreIds();
|
45 |
-
$qty = 0;
|
46 |
foreach($storeids as $storeid) {
|
47 |
$enabled = Mage::getStoreConfig('feedbackcompany/general/enabled', $storeid);
|
48 |
$cron_enabled = Mage::getStoreConfig('feedbackcompany/reviews/cron', $storeid);
|
@@ -53,18 +52,13 @@ class Magmodules_Feedbackcompany_Model_Observer {
|
|
53 |
$results = Mage::getModel('feedbackcompany/reviews')->processFeed($feed, $storeid, $crontype);
|
54 |
$results['stats'] = Mage::getModel('feedbackcompany/stats')->processFeed($feed, $storeid);
|
55 |
$log = Mage::getModel('feedbackcompany/log')->addToLog('reviews', $storeid, $results, '', (microtime(true) - $start_time), $crontype);
|
56 |
-
$qty++;
|
57 |
}
|
58 |
}
|
59 |
-
if($qty > 0) {
|
60 |
-
Mage::getModel('feedbackcompany/reviews')->flushCache();
|
61 |
-
}
|
62 |
}
|
63 |
|
64 |
public function processProductreviews()
|
65 |
{
|
66 |
$storeids = Mage::getModel('feedbackcompany/api')->getStoreIds();
|
67 |
-
$qty = 0;
|
68 |
foreach($storeids as $storeid) {
|
69 |
$enabled = Mage::getStoreConfig('feedbackcompany/general/enabled', $storeid);
|
70 |
$reviews_enabled = Mage::getStoreConfig('feedbackcompany/productreviews/enabled', $storeid);
|
@@ -86,7 +80,6 @@ class Magmodules_Feedbackcompany_Model_Observer {
|
|
86 |
public function processHistory()
|
87 |
{
|
88 |
$storeids = Mage::getModel('feedbackcompany/api')->getStoreIds();
|
89 |
-
$qty = 0;
|
90 |
foreach($storeids as $storeid) {
|
91 |
$enabled = Mage::getStoreConfig('feedbackcompany/general/enabled', $storeid);
|
92 |
$cron_enabled = Mage::getStoreConfig('feedbackcompany/reviews/cron', $storeid);
|
@@ -97,12 +90,8 @@ class Magmodules_Feedbackcompany_Model_Observer {
|
|
97 |
$results = Mage::getModel('feedbackcompany/reviews')->processFeed($feed, $storeid, $crontype);
|
98 |
$results['stats'] = Mage::getModel('feedbackcompany/stats')->processFeed($feed, $storeid);
|
99 |
$log = Mage::getModel('feedbackcompany/log')->addToLog('reviews', $storeid, $results, '', (microtime(true) - $start_time), $crontype);
|
100 |
-
$qty++;
|
101 |
}
|
102 |
-
}
|
103 |
-
if($qty > 0) {
|
104 |
-
Mage::getModel('feedbackcompany/reviews')->flushCache();
|
105 |
-
}
|
106 |
}
|
107 |
|
108 |
public function cleanLog()
|
@@ -123,42 +112,41 @@ class Magmodules_Feedbackcompany_Model_Observer {
|
|
123 |
{
|
124 |
$shipment = $observer->getEvent()->getShipment();
|
125 |
$order = $shipment->getOrder();
|
126 |
-
if((Mage::getStoreConfig('feedbackcompany/invitation/enabled', $order->getStoreId())) && (Mage::getStoreConfig('feedbackcompany/invitation/connector', $order->getStoreId())))
|
127 |
-
if($order->getStatus() == Mage::getStoreConfig('feedbackcompany/invitation/status', $order->getStoreId()))
|
128 |
-
if(!$order->getFeedbackSent())
|
129 |
-
if(Mage::getStoreConfig('feedbackcompany/invitation/backlog', $order->getStoreId()) > 0)
|
130 |
$date_diff = floor(time() - strtotime($order->getCreatedAt()))/(60*60*24);
|
131 |
-
if($date_diff < Mage::getStoreConfig('feedbackcompany/invitation/backlog', $order->getStoreId()))
|
132 |
Mage::getModel('feedbackcompany/api')->sendInvitation($order);
|
133 |
-
|
134 |
-
else
|
135 |
Mage::getModel('feedbackcompany/api')->sendInvitation($order);
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
}
|
141 |
|
142 |
public function processFeedbackInvitationcall($observer)
|
143 |
{
|
144 |
$order = $observer->getEvent()->getOrder();
|
145 |
-
if((Mage::getStoreConfig('feedbackcompany/invitation/enabled', $order->getStoreId())) && (Mage::getStoreConfig('feedbackcompany/invitation/connector', $order->getStoreId())))
|
146 |
-
if($order->getStatus() == Mage::getStoreConfig('feedbackcompany/invitation/status', $order->getStoreId()))
|
147 |
-
if(!$order->getFeedbackSent())
|
148 |
-
if(Mage::getStoreConfig('feedbackcompany/invitation/backlog', $order->getStoreId()) > 0)
|
149 |
$date_diff = floor(time() - strtotime($order->getCreatedAt()))/(60*60*24);
|
150 |
-
if($date_diff < Mage::getStoreConfig('feedbackcompany/invitation/backlog', $order->getStoreId()))
|
151 |
$value = Mage::getModel('feedbackcompany/api')->sendInvitation($order);
|
152 |
-
|
153 |
-
else
|
154 |
Mage::getModel('feedbackcompany/api')->sendInvitation($order);
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
}
|
160 |
|
161 |
-
|
162 |
public function addExportOption($observer)
|
163 |
{
|
164 |
$block = $observer->getEvent()->getBlock();
|
@@ -169,6 +157,6 @@ class Magmodules_Feedbackcompany_Model_Observer {
|
|
169 |
'url' => Mage::app()->getStore()->getUrl('*/feedbackreviews/exportcsv/filter/' . $request->getParam('filter')),
|
170 |
));
|
171 |
}
|
172 |
-
|
173 |
|
174 |
}
|
42 |
public function processReviews()
|
43 |
{
|
44 |
$storeids = Mage::getModel('feedbackcompany/api')->getStoreIds();
|
|
|
45 |
foreach($storeids as $storeid) {
|
46 |
$enabled = Mage::getStoreConfig('feedbackcompany/general/enabled', $storeid);
|
47 |
$cron_enabled = Mage::getStoreConfig('feedbackcompany/reviews/cron', $storeid);
|
52 |
$results = Mage::getModel('feedbackcompany/reviews')->processFeed($feed, $storeid, $crontype);
|
53 |
$results['stats'] = Mage::getModel('feedbackcompany/stats')->processFeed($feed, $storeid);
|
54 |
$log = Mage::getModel('feedbackcompany/log')->addToLog('reviews', $storeid, $results, '', (microtime(true) - $start_time), $crontype);
|
|
|
55 |
}
|
56 |
}
|
|
|
|
|
|
|
57 |
}
|
58 |
|
59 |
public function processProductreviews()
|
60 |
{
|
61 |
$storeids = Mage::getModel('feedbackcompany/api')->getStoreIds();
|
|
|
62 |
foreach($storeids as $storeid) {
|
63 |
$enabled = Mage::getStoreConfig('feedbackcompany/general/enabled', $storeid);
|
64 |
$reviews_enabled = Mage::getStoreConfig('feedbackcompany/productreviews/enabled', $storeid);
|
80 |
public function processHistory()
|
81 |
{
|
82 |
$storeids = Mage::getModel('feedbackcompany/api')->getStoreIds();
|
|
|
83 |
foreach($storeids as $storeid) {
|
84 |
$enabled = Mage::getStoreConfig('feedbackcompany/general/enabled', $storeid);
|
85 |
$cron_enabled = Mage::getStoreConfig('feedbackcompany/reviews/cron', $storeid);
|
90 |
$results = Mage::getModel('feedbackcompany/reviews')->processFeed($feed, $storeid, $crontype);
|
91 |
$results['stats'] = Mage::getModel('feedbackcompany/stats')->processFeed($feed, $storeid);
|
92 |
$log = Mage::getModel('feedbackcompany/log')->addToLog('reviews', $storeid, $results, '', (microtime(true) - $start_time), $crontype);
|
|
|
93 |
}
|
94 |
+
}
|
|
|
|
|
|
|
95 |
}
|
96 |
|
97 |
public function cleanLog()
|
112 |
{
|
113 |
$shipment = $observer->getEvent()->getShipment();
|
114 |
$order = $shipment->getOrder();
|
115 |
+
if((Mage::getStoreConfig('feedbackcompany/invitation/enabled', $order->getStoreId())) && (Mage::getStoreConfig('feedbackcompany/invitation/connector', $order->getStoreId()))) {
|
116 |
+
if($order->getStatus() == Mage::getStoreConfig('feedbackcompany/invitation/status', $order->getStoreId())) {
|
117 |
+
if(!$order->getFeedbackSent()) {
|
118 |
+
if(Mage::getStoreConfig('feedbackcompany/invitation/backlog', $order->getStoreId()) > 0) {
|
119 |
$date_diff = floor(time() - strtotime($order->getCreatedAt()))/(60*60*24);
|
120 |
+
if($date_diff < Mage::getStoreConfig('feedbackcompany/invitation/backlog', $order->getStoreId())) {
|
121 |
Mage::getModel('feedbackcompany/api')->sendInvitation($order);
|
122 |
+
}
|
123 |
+
} else {
|
124 |
Mage::getModel('feedbackcompany/api')->sendInvitation($order);
|
125 |
+
}
|
126 |
+
}
|
127 |
+
}
|
128 |
+
}
|
129 |
}
|
130 |
|
131 |
public function processFeedbackInvitationcall($observer)
|
132 |
{
|
133 |
$order = $observer->getEvent()->getOrder();
|
134 |
+
if((Mage::getStoreConfig('feedbackcompany/invitation/enabled', $order->getStoreId())) && (Mage::getStoreConfig('feedbackcompany/invitation/connector', $order->getStoreId()))) {
|
135 |
+
if($order->getStatus() == Mage::getStoreConfig('feedbackcompany/invitation/status', $order->getStoreId())) {
|
136 |
+
if(!$order->getFeedbackSent()) {
|
137 |
+
if(Mage::getStoreConfig('feedbackcompany/invitation/backlog', $order->getStoreId()) > 0) {
|
138 |
$date_diff = floor(time() - strtotime($order->getCreatedAt()))/(60*60*24);
|
139 |
+
if($date_diff < Mage::getStoreConfig('feedbackcompany/invitation/backlog', $order->getStoreId())) {
|
140 |
$value = Mage::getModel('feedbackcompany/api')->sendInvitation($order);
|
141 |
+
}
|
142 |
+
} else {
|
143 |
Mage::getModel('feedbackcompany/api')->sendInvitation($order);
|
144 |
+
}
|
145 |
+
}
|
146 |
+
}
|
147 |
+
}
|
148 |
}
|
149 |
|
|
|
150 |
public function addExportOption($observer)
|
151 |
{
|
152 |
$block = $observer->getEvent()->getBlock();
|
157 |
'url' => Mage::app()->getStore()->getUrl('*/feedbackreviews/exportcsv/filter/' . $request->getParam('filter')),
|
158 |
));
|
159 |
}
|
160 |
+
}
|
161 |
|
162 |
}
|
app/code/community/Magmodules/Feedbackcompany/Model/Reviews.php
CHANGED
@@ -35,37 +35,66 @@ class Magmodules_Feedbackcompany_Model_Reviews extends Mage_Core_Model_Abstract
|
|
35 |
$api_id = Mage::getStoreConfig('feedbackcompany/general/api_id', $storeid);
|
36 |
$company = Mage::getStoreConfig('feedbackcompany/general/company', $storeid);
|
37 |
|
38 |
-
|
|
|
39 |
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
|
64 |
-
|
65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
$reviews = Mage::getModel('feedbackcompany/reviews');
|
67 |
-
$reviews->
|
68 |
-
->setShopId($api_id)
|
69 |
->setCompany($company)
|
70 |
->setFeedbackId($feedback_id)
|
71 |
->setReviewText($review_text)
|
@@ -86,48 +115,29 @@ class Magmodules_Feedbackcompany_Model_Reviews extends Mage_Core_Model_Abstract
|
|
86 |
->setPurchasedProducts($purchased_products)
|
87 |
->setTextPositive($text_positive)
|
88 |
->setTextImprovements($text_improvements)
|
89 |
-
->setCompanyResponse($company_response)
|
90 |
->setDateCreated($date_created)
|
91 |
->save();
|
92 |
-
$
|
93 |
-
}
|
94 |
-
} else {
|
95 |
-
$reviews = Mage::getModel('feedbackcompany/reviews');
|
96 |
-
$reviews->setShopId($api_id)
|
97 |
-
->setCompany($company)
|
98 |
-
->setFeedbackId($feedback_id)
|
99 |
-
->setReviewText($review_text)
|
100 |
-
->setScore($score)
|
101 |
-
->setScoreMax($score_max)
|
102 |
-
->setScoreAftersales($score_aftersales)
|
103 |
-
->setScoreCheckout($score_checkout)
|
104 |
-
->setScoreInformation($score_information)
|
105 |
-
->setScoreFriendly($score_friendly)
|
106 |
-
->setScoreLeadtime($score_leadtime)
|
107 |
-
->setScoreResponsetime($score_responsetime)
|
108 |
-
->setScoreOrder($score_order)
|
109 |
-
->setCustomerName($customer_name)
|
110 |
-
->setCustomerRecommend($customer_recommend)
|
111 |
-
->setCustomerActive($customer_active)
|
112 |
-
->setCustomerSex($customer_sex)
|
113 |
-
->setCustomerAge($customer_age)
|
114 |
-
->setPurchasedProducts($purchased_products)
|
115 |
-
->setTextPositive($text_positive)
|
116 |
-
->setTextImprovements($text_improvements)
|
117 |
-
->setCompanyResponse($company_response)
|
118 |
-
->setDateCreated($date_created)
|
119 |
-
->save();
|
120 |
-
$new++;
|
121 |
}
|
122 |
-
}
|
123 |
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
}
|
132 |
|
133 |
public function flushCache()
|
35 |
$api_id = Mage::getStoreConfig('feedbackcompany/general/api_id', $storeid);
|
36 |
$company = Mage::getStoreConfig('feedbackcompany/general/company', $storeid);
|
37 |
|
38 |
+
if (!empty($feed->detailslink)) {
|
39 |
+
foreach($feed->reviewDetails->reviewDetail as $review) {
|
40 |
|
41 |
+
$feedback_id = $review->id;
|
42 |
+
$score = ($review->score / 2);
|
43 |
+
$score_max = ($review->scoremax / 2);
|
44 |
+
$review_text = $review->text;
|
45 |
+
$score_aftersales = ($review->score_aftersales / 2);
|
46 |
+
$score_checkout = ($review->score_bestelgemak / 2);
|
47 |
+
$score_information = ($review->score_informatievoorziening / 2);
|
48 |
+
$score_friendly = ($review->score_klantvriendelijk / 2);
|
49 |
+
$score_leadtime = ($review->score_levertijd / 2);
|
50 |
+
$score_responsetime = ($review->score_reactiesnelheid / 2);
|
51 |
+
$score_order = ($review->score_orderverloop / 2);
|
52 |
+
$customer_name = $review->user;
|
53 |
+
$customer_recommend = $review->beveeltAan;
|
54 |
+
$customer_active = $review->kooptvakeronline;
|
55 |
+
$customer_sex = $review->geslacht;
|
56 |
+
$customer_age = $review->leeftijd;
|
57 |
+
$purchased_products = $review->gekochtproduct;
|
58 |
+
$text_positive = $review->sterkepunten;
|
59 |
+
$text_improvements = $review->verbeterpunten;
|
60 |
+
$company_response = $review->companyResponse;
|
61 |
+
$date_created = $review->createdate;
|
62 |
+
$date_created = substr($date_created, 0, 4) . '/' . substr($date_created, 4, 2) . '/' . substr($date_created, 6, 2);
|
63 |
+
$indatabase = $this->getCollection()->addFieldToFilter('feedback_id', $feedback_id)->getFirstItem();
|
64 |
|
65 |
+
if($indatabase->getReviewId()) {
|
66 |
+
if(($type == 'history') || ($type == 'all')) {
|
67 |
+
$reviews = Mage::getModel('feedbackcompany/reviews');
|
68 |
+
$reviews->setReviewId($indatabase->getReviewId())
|
69 |
+
->setShopId($api_id)
|
70 |
+
->setCompany($company)
|
71 |
+
->setFeedbackId($feedback_id)
|
72 |
+
->setReviewText($review_text)
|
73 |
+
->setScore($score)
|
74 |
+
->setScoreMax($score_max)
|
75 |
+
->setScoreAftersales($score_aftersales)
|
76 |
+
->setScoreCheckout($score_checkout)
|
77 |
+
->setScoreInformation($score_information)
|
78 |
+
->setScoreFriendly($score_friendly)
|
79 |
+
->setScoreLeadtime($score_leadtime)
|
80 |
+
->setScoreResponsetime($score_responsetime)
|
81 |
+
->setScoreOrder($score_order)
|
82 |
+
->setCustomerName($customer_name)
|
83 |
+
->setCustomerRecommend($customer_recommend)
|
84 |
+
->setCustomerActive($customer_active)
|
85 |
+
->setCustomerSex($customer_sex)
|
86 |
+
->setCustomerAge($customer_age)
|
87 |
+
->setPurchasedProducts($purchased_products)
|
88 |
+
->setTextPositive($text_positive)
|
89 |
+
->setTextImprovements($text_improvements)
|
90 |
+
->setCompanyResponse($company_response)
|
91 |
+
->setDateCreated($date_created)
|
92 |
+
->save();
|
93 |
+
$updates++;
|
94 |
+
}
|
95 |
+
} else {
|
96 |
$reviews = Mage::getModel('feedbackcompany/reviews');
|
97 |
+
$reviews->setShopId($api_id)
|
|
|
98 |
->setCompany($company)
|
99 |
->setFeedbackId($feedback_id)
|
100 |
->setReviewText($review_text)
|
115 |
->setPurchasedProducts($purchased_products)
|
116 |
->setTextPositive($text_positive)
|
117 |
->setTextImprovements($text_improvements)
|
118 |
+
->setCompanyResponse($company_response)
|
119 |
->setDateCreated($date_created)
|
120 |
->save();
|
121 |
+
$new++;
|
122 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
}
|
|
|
124 |
|
125 |
+
$config = new Mage_Core_Model_Config();
|
126 |
+
$config->saveConfig('feedbackcompany/reviews/lastrun', now(), 'default', 0);
|
127 |
+
|
128 |
+
$result = array();
|
129 |
+
$result['review_updates'] = $updates;
|
130 |
+
$result['review_new'] = $new;
|
131 |
+
$result['company'] = $company;
|
132 |
+
return $result;
|
133 |
+
|
134 |
+
} else {
|
135 |
+
$result = array();
|
136 |
+
$result['review_updates'] = 0;
|
137 |
+
$result['review_new'] = 0;
|
138 |
+
$result['company'] = '';
|
139 |
+
return $result;
|
140 |
+
}
|
141 |
}
|
142 |
|
143 |
public function flushCache()
|
app/code/community/Magmodules/Feedbackcompany/Model/Stats.php
CHANGED
@@ -27,54 +27,55 @@ class Magmodules_Feedbackcompany_Model_Stats extends Mage_Core_Model_Abstract {
|
|
27 |
$this->_init('feedbackcompany/stats');
|
28 |
}
|
29 |
|
30 |
-
public function processFeed($feed, $
|
31 |
{
|
32 |
-
$
|
33 |
-
$
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
$config->saveConfig('feedbackcompany/general/url', $feed->detailslink, 'stores', $storeid);
|
41 |
-
if(!Mage::getStoreConfig('feedbackcompany/general/url', 0)) {
|
42 |
-
$config->saveConfig('feedbackcompany/general/url', $feed->detailslink, 'default', 0);
|
43 |
-
}
|
44 |
-
}
|
45 |
-
|
46 |
-
if($feed->noReviews > 0) {
|
47 |
-
$score = floatval($feed->score);
|
48 |
-
$score = ($score * 10);
|
49 |
-
$scoremax = ($feed->scoremax * 10);
|
50 |
-
$votes = $feed->noReviews;
|
51 |
-
|
52 |
-
// Check for update or save
|
53 |
-
if($indatabase = $this->loadbyShopId($shop_id)) {
|
54 |
-
$id = $indatabase->getId();
|
55 |
} else {
|
56 |
-
$
|
|
|
|
|
|
|
|
|
57 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
|
|
|
|
|
|
71 |
}
|
|
|
|
|
72 |
}
|
73 |
|
74 |
public function processOverall()
|
75 |
{
|
76 |
$stats = Mage::getModel('feedbackcompany/stats')->getCollection();
|
77 |
$stats->addFieldToFilter('shop_id', array('neq' => '0'));
|
|
|
78 |
|
79 |
$score = '';
|
80 |
$scoremax = '';
|
@@ -94,12 +95,6 @@ class Magmodules_Feedbackcompany_Model_Stats extends Mage_Core_Model_Abstract {
|
|
94 |
$company = 'Overall';
|
95 |
}
|
96 |
|
97 |
-
if($indatabase = $this->loadbyShopId(0)) {
|
98 |
-
$id = $indatabase->getId();
|
99 |
-
} else {
|
100 |
-
$id = '';
|
101 |
-
}
|
102 |
-
|
103 |
$model = Mage::getModel('feedbackcompany/stats')
|
104 |
->setId($id)
|
105 |
->setShopId(0)
|
27 |
$this->_init('feedbackcompany/stats');
|
28 |
}
|
29 |
|
30 |
+
public function processFeed($feed, $storeId = 0)
|
31 |
{
|
32 |
+
$result = array();
|
33 |
+
$shop_id = Mage::getStoreConfig('feedbackcompany/general/api_id', $storeId);
|
34 |
+
$company = Mage::getStoreConfig('feedbackcompany/general/company', $storeId);
|
35 |
+
|
36 |
+
if (!empty($feed->detailslink)) {
|
37 |
+
if ($storeId == 0) {
|
38 |
+
$config = new Mage_Core_Model_Config();
|
39 |
+
$config->saveConfig('feedbackcompany/general/url', $feed->detailslink, 'default', $storeId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
} else {
|
41 |
+
$config = new Mage_Core_Model_Config();
|
42 |
+
$config->saveConfig('feedbackcompany/general/url', $feed->detailslink, 'stores', $storeId);
|
43 |
+
if(!Mage::getStoreConfig('feedbackcompany/general/url', 0)) {
|
44 |
+
$config->saveConfig('feedbackcompany/general/url', $feed->detailslink, 'default', 0);
|
45 |
+
}
|
46 |
}
|
47 |
+
if ($feed->noReviews > 0) {
|
48 |
+
$id = $this->loadbyShopId($shop_id)->getId();
|
49 |
+
$score = floatval($feed->score);
|
50 |
+
$score = ($score * 10);
|
51 |
+
$scoremax = ($feed->scoremax * 10);
|
52 |
+
$votes = $feed->noReviews;
|
53 |
|
54 |
+
$this->setId($id)
|
55 |
+
->setShopId($shop_id)
|
56 |
+
->setCompany($company)
|
57 |
+
->setScore($score)
|
58 |
+
->setScoremax($scoremax)
|
59 |
+
->setVotes($votes)
|
60 |
+
->save();
|
61 |
+
|
62 |
+
$result['status'] = 'success';
|
63 |
+
$result['company'] = $company;
|
64 |
+
$result['score'] = $score;
|
65 |
+
}
|
66 |
+
} else {
|
67 |
+
$result['status'] = 'error';
|
68 |
+
$result['msg'] = Mage::helper('core/string')->truncate(strip_tags($feed), '500');
|
69 |
}
|
70 |
+
|
71 |
+
return $result;
|
72 |
}
|
73 |
|
74 |
public function processOverall()
|
75 |
{
|
76 |
$stats = Mage::getModel('feedbackcompany/stats')->getCollection();
|
77 |
$stats->addFieldToFilter('shop_id', array('neq' => '0'));
|
78 |
+
$id = $this->loadbyShopId(0)->getId();
|
79 |
|
80 |
$score = '';
|
81 |
$scoremax = '';
|
95 |
$company = 'Overall';
|
96 |
}
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
$model = Mage::getModel('feedbackcompany/stats')
|
99 |
->setId($id)
|
100 |
->setShopId(0)
|
app/code/community/Magmodules/Feedbackcompany/Model/System/Config/Source/Cronfrequency.php
CHANGED
@@ -24,14 +24,13 @@ class Magmodules_Feedbackcompany_Model_System_Config_Source_Cronfrequency {
|
|
24 |
public function toOptionArray()
|
25 |
{
|
26 |
return array(
|
27 |
-
'
|
28 |
-
'0
|
29 |
-
'0
|
30 |
-
'0
|
31 |
-
'0 2 * *
|
32 |
-
'0 2 * *
|
33 |
-
'
|
34 |
-
'' => Mage::helper('feedbackcompany')->__('Never'),
|
35 |
);
|
36 |
}
|
37 |
|
24 |
public function toOptionArray()
|
25 |
{
|
26 |
return array(
|
27 |
+
'0 * * * *' => Mage::helper('feedbackcompany')->__('Every Hour'),
|
28 |
+
'0 */2 * * *' => Mage::helper('feedbackcompany')->__('Every other Hour'),
|
29 |
+
'0 8,20 * * *' => Mage::helper('feedbackcompany')->__('Twice a Day'),
|
30 |
+
'0 2 * * *' => Mage::helper('feedbackcompany')->__('Once a Day'),
|
31 |
+
'0 2 * * 0' => Mage::helper('feedbackcompany')->__('Once a Week'),
|
32 |
+
'0 2 1 * *' => Mage::helper('feedbackcompany')->__('Once a Month'),
|
33 |
+
'' => Mage::helper('feedbackcompany')->__('Never'),
|
|
|
34 |
);
|
35 |
}
|
36 |
|
app/code/community/Magmodules/Feedbackcompany/controllers/Adminhtml/FeedbackreviewsController.php
CHANGED
@@ -42,7 +42,7 @@ class Magmodules_Feedbackcompany_Adminhtml_FeedbackreviewsController extends Mag
|
|
42 |
$result = Mage::getModel('feedbackcompany/api')->processFeed($storeid, 'all');
|
43 |
$log = Mage::getModel('feedbackcompany/log')->addToLog('reviews', $storeid, $result, '', (microtime(true) - $start_time), '', '');
|
44 |
|
45 |
-
if(($result['review_new'] > 0) || ($result['review_updates'] > 0) || ($result['stats'] ==
|
46 |
$msg = Mage::helper('feedbackcompany')->__('Webwinkel ID %s:', $api_id) . ' ';
|
47 |
$msg .= Mage::helper('feedbackcompany')->__('%s new review(s)', $result['review_new']) . ', ';
|
48 |
$msg .= Mage::helper('feedbackcompany')->__('%s review(s) updated', $result['review_updates']) . ' & ';
|
@@ -52,7 +52,11 @@ class Magmodules_Feedbackcompany_Adminhtml_FeedbackreviewsController extends Mag
|
|
52 |
if($msg) {
|
53 |
Mage::getSingleton('adminhtml/session')->addSuccess($msg);
|
54 |
} else {
|
55 |
-
|
|
|
|
|
|
|
|
|
56 |
}
|
57 |
}
|
58 |
Mage::getModel('feedbackcompany/stats')->processOverall();
|
42 |
$result = Mage::getModel('feedbackcompany/api')->processFeed($storeid, 'all');
|
43 |
$log = Mage::getModel('feedbackcompany/log')->addToLog('reviews', $storeid, $result, '', (microtime(true) - $start_time), '', '');
|
44 |
|
45 |
+
if(($result['review_new'] > 0) || ($result['review_updates'] > 0) || ($result['stats']['status'] == 'success')) {
|
46 |
$msg = Mage::helper('feedbackcompany')->__('Webwinkel ID %s:', $api_id) . ' ';
|
47 |
$msg .= Mage::helper('feedbackcompany')->__('%s new review(s)', $result['review_new']) . ', ';
|
48 |
$msg .= Mage::helper('feedbackcompany')->__('%s review(s) updated', $result['review_updates']) . ' & ';
|
52 |
if($msg) {
|
53 |
Mage::getSingleton('adminhtml/session')->addSuccess($msg);
|
54 |
} else {
|
55 |
+
if(!empty($result['stats']['msg'])) {
|
56 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('feedbackcompany')->__('Webwinkel ID %s: %s', $api_id, $result['stats']['msg']));
|
57 |
+
} else {
|
58 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('feedbackcompany')->__('Webwinkel ID %s: no updates found, feed is empty or not found!', $api_id));
|
59 |
+
}
|
60 |
}
|
61 |
}
|
62 |
Mage::getModel('feedbackcompany/stats')->processOverall();
|
app/code/community/Magmodules/Feedbackcompany/etc/config.xml
CHANGED
@@ -23,7 +23,7 @@
|
|
23 |
<config>
|
24 |
<modules>
|
25 |
<Magmodules_Feedbackcompany>
|
26 |
-
<version>1.4.
|
27 |
</Magmodules_Feedbackcompany>
|
28 |
</modules>
|
29 |
<global>
|
@@ -201,7 +201,7 @@
|
|
201 |
</general>
|
202 |
<reviews>
|
203 |
<cron>0</cron>
|
204 |
-
<cron_stats
|
205 |
<cron_reviews>0 8,20 * * *</cron_reviews>
|
206 |
<cron_all>0 2 1 * *</cron_all>
|
207 |
</reviews>
|
23 |
<config>
|
24 |
<modules>
|
25 |
<Magmodules_Feedbackcompany>
|
26 |
+
<version>1.4.9</version>
|
27 |
</Magmodules_Feedbackcompany>
|
28 |
</modules>
|
29 |
<global>
|
201 |
</general>
|
202 |
<reviews>
|
203 |
<cron>0</cron>
|
204 |
+
<cron_stats>* * * * *</cron_stats>
|
205 |
<cron_reviews>0 8,20 * * *</cron_reviews>
|
206 |
<cron_all>0 2 1 * *</cron_all>
|
207 |
</reviews>
|
app/locale/nl_NL/Magmodules_Feedbackcompany.csv
CHANGED
@@ -152,6 +152,7 @@
|
|
152 |
"View all reviews","Bekijk alle beoordelingen"
|
153 |
"Write review","Schrijf beoordeling"
|
154 |
"Webwinkel ID %s: no updates found, feed is empty or not found!","Webwinkel ID %s: geen updates gevonden, feed is leeg of niet beschikbaar."
|
|
|
155 |
"You can find this information in your The Feedback Company account","U kunt deze informatie terugvinden in uw The Feedback Company account"
|
156 |
"You can only activate the Rich Snippets when this block is shown on your Homepage only","U kunt deze optie enkel activeren wanneer de sidebar op de homepage wordt vertoond. Indien u ook gebruikt maakt van de homepage widget dan raden wij u aan deze optie uit te schakelen om dubbele Rich Snippets te voorkomen."
|
157 |
"You can invite your customers to write customer reviews.","Het is mogelijk om automatisch een herinnering te sturen naar uw klanten voor het schrijven van een beoordeling.<br><br>"
|
@@ -200,5 +201,4 @@
|
|
200 |
"The documentation to implement The Feedback Company header widget can be found <a href=""http://www.magmodules.eu/help/feedbackcompany/the-feedback-company-header-widget/"">here</a>.","Lees de omschrijving over hoe de The Feedback Company widget te implementeren <a href=""http://www.magmodules.eu/help/feedbackcompany/the-feedback-company-header-widget/"">hier</a>."
|
201 |
"Header Block","Header Blok"
|
202 |
"Please select specific storeview in the grid before exporting the reviews.","Selecteer een specifieke storeview in de grid om de product beoordelingen te exporteren."
|
203 |
-
"Error, could not export the csv file.","Fout, het CSV bestand kan niet worden gegenereerd."
|
204 |
-
"
|
152 |
"View all reviews","Bekijk alle beoordelingen"
|
153 |
"Write review","Schrijf beoordeling"
|
154 |
"Webwinkel ID %s: no updates found, feed is empty or not found!","Webwinkel ID %s: geen updates gevonden, feed is leeg of niet beschikbaar."
|
155 |
+
"Webwinkel ID %s: Maximum number of requests reached per hour, wait a bit before sending any new requests.","Webwinkel ID %s: Het maximale aantal verzoeken per uur is bereikt, probeer het later nog eens."
|
156 |
"You can find this information in your The Feedback Company account","U kunt deze informatie terugvinden in uw The Feedback Company account"
|
157 |
"You can only activate the Rich Snippets when this block is shown on your Homepage only","U kunt deze optie enkel activeren wanneer de sidebar op de homepage wordt vertoond. Indien u ook gebruikt maakt van de homepage widget dan raden wij u aan deze optie uit te schakelen om dubbele Rich Snippets te voorkomen."
|
158 |
"You can invite your customers to write customer reviews.","Het is mogelijk om automatisch een herinnering te sturen naar uw klanten voor het schrijven van een beoordeling.<br><br>"
|
201 |
"The documentation to implement The Feedback Company header widget can be found <a href=""http://www.magmodules.eu/help/feedbackcompany/the-feedback-company-header-widget/"">here</a>.","Lees de omschrijving over hoe de The Feedback Company widget te implementeren <a href=""http://www.magmodules.eu/help/feedbackcompany/the-feedback-company-header-widget/"">hier</a>."
|
202 |
"Header Block","Header Blok"
|
203 |
"Please select specific storeview in the grid before exporting the reviews.","Selecteer een specifieke storeview in de grid om de product beoordelingen te exporteren."
|
204 |
+
"Error, could not export the csv file.","Fout, het CSV bestand kan niet worden gegenereerd."
|
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Magmodules_Feedbackcompany</name>
|
4 |
-
<version>1.4.
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL 3.0</license>
|
7 |
<channel>community</channel>
|
@@ -10,9 +10,9 @@
|
|
10 |
<description>Connect your Magento shop to The Feedback Company</description>
|
11 |
<notes>First stable release</notes>
|
12 |
<authors><author><name>Magmodules</name><user>magmodules</user><email>info@magmodules.nl</email></author></authors>
|
13 |
-
<date>2016-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magecommunity"><dir name="Magmodules"><dir name="Feedbackcompany"><dir name="Block"><dir name="Adminhtml"><dir name="Feedbacklog"><file name="Grid.php" hash="0b35dd7762cf181dc8215a1283d81e5f"/></dir><file name="Feedbacklog.php" hash="03448637e329d9aed31916c403f237a7"/><dir name="Feedbackreviews"><file name="Grid.php" hash="034b652b83b627d464f4d566b1a8dd19"/><dir name="Renderer"><file name="Experience.php" hash="58e6b4524ee8c4e95e76a2fa29309f4f"/></dir></dir><file name="Feedbackreviews.php" hash="b9c0059184019f277dde9b70b94bfa37"/><dir name="Widget"><dir name="Buttons"><file name="Process.php" hash="fba16d7671930510e1d2d70483e43581"/><file name="Productreviews.php" hash="1e7da9da2ec3eb28e5fde451c8cfb781"/><file name="Test.php" hash="
|
16 |
<compatible/>
|
17 |
-
<dependencies><required><php><min>5.1.0</min><max>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Magmodules_Feedbackcompany</name>
|
4 |
+
<version>1.4.9</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL 3.0</license>
|
7 |
<channel>community</channel>
|
10 |
<description>Connect your Magento shop to The Feedback Company</description>
|
11 |
<notes>First stable release</notes>
|
12 |
<authors><author><name>Magmodules</name><user>magmodules</user><email>info@magmodules.nl</email></author></authors>
|
13 |
+
<date>2016-10-24</date>
|
14 |
+
<time>18:04:32</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="Magmodules"><dir name="Feedbackcompany"><dir name="Block"><dir name="Adminhtml"><dir name="Feedbacklog"><file name="Grid.php" hash="0b35dd7762cf181dc8215a1283d81e5f"/></dir><file name="Feedbacklog.php" hash="03448637e329d9aed31916c403f237a7"/><dir name="Feedbackreviews"><file name="Grid.php" hash="034b652b83b627d464f4d566b1a8dd19"/><dir name="Renderer"><file name="Experience.php" hash="58e6b4524ee8c4e95e76a2fa29309f4f"/></dir></dir><file name="Feedbackreviews.php" hash="b9c0059184019f277dde9b70b94bfa37"/><dir name="Widget"><dir name="Buttons"><file name="Process.php" hash="fba16d7671930510e1d2d70483e43581"/><file name="Productreviews.php" hash="1e7da9da2ec3eb28e5fde451c8cfb781"/><file name="Test.php" hash="040ecb43856a68dca4699a63c1e9c9f8"/></dir><dir name="Field"><file name="Version.php" hash="e67d6a20e44fa7aebaabc3b03fe35fdf"/></dir><dir name="Form"><file name="Heading.php" hash="6392f0a879d8b475c5ec93aec74fa11d"/><file name="Note.php" hash="80abe28a9156c42dfc3ea61a2e265fc3"/></dir><dir name="Grid"><file name="Log.php" hash="c42810f0bcb7ea10504d12b91e892bff"/><file name="Seconds.php" hash="a3c061430ffb9bb59bc18308d8bf1bbf"/><file name="Stars.php" hash="bc6bbb13c6e58fcb0c389e94def62ecb"/></dir><dir name="Info"><file name="Info.php" hash="741a84f9887c99e6bc11e1c3c1b5815d"/></dir></dir></dir><file name="Custom.php" hash="1afd6a6a0c8d464047719172602fe684"/><file name="Header.php" hash="44a5dc7866157c032b0c90f27d162b5f"/><file name="Reviews.php" hash="88505fc0d4c17fa6bf89448bdf547ceb"/><file name="Sidebar.php" hash="446fdbf3b47e27bbc76118f2db2eeb7f"/></dir><dir name="Helper"><file name="Data.php" hash="44f7ddeca905ed47a071e6b42c692e22"/></dir><dir name="Model"><file name="Api.php" hash="b381b0c908fb82277545cf606ca1aded"/><file name="Export.php" hash="228b209a4c2eeb7d39ba56eb7649c98d"/><file name="Log.php" hash="978daaa3a3621b8551932a9315579aac"/><dir name="Mysql4"><dir name="Log"><file name="Collection.php" hash="ae1342456877a1fae35eae8724c923c4"/></dir><file name="Log.php" hash="78b2b64a97bb8f6fa76afd60c6a5757f"/><dir name="Reviews"><file name="Collection.php" hash="59f40c5d3de2c2c00eda58edf82afec3"/></dir><file name="Reviews.php" hash="f5237ea23f972634b63cb3aeadb4a0ec"/><dir name="Stats"><file name="Collection.php" hash="c5556305c5bd4a47d962755df17c14d4"/></dir><file name="Stats.php" hash="071d7308b21fe3069f262b9105597a89"/></dir><file name="Observer.php" hash="a7ff7915347cdaf1fb10490b71b26c52"/><file name="Productreviews.php" hash="5e248d64c4048ac029e5e35962d12e5a"/><dir name="Resource"><file name="Review.php" hash="0b5df37c1e4c01c184eae9118829e07f"/></dir><file name="Reviews.php" hash="7d4793c438ab6e5b9c98a341740843e4"/><file name="Stats.php" hash="3587c044916b4c45d741de7a911295c0"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Attribute.php" hash="91c88ae96b609900a6b53ecfff8e2828"/><file name="Category.php" hash="2fe30678feee498bd105d259cadae215"/><file name="Cronfrequency.php" hash="bbe3bdce74a2205d42f1bb343ed8cd56"/><file name="Cronfrequencylong.php" hash="98f8af8e23c22f1cc9adc678d1d8097c"/><file name="Orderstatus.php" hash="a5e23aa216840cf22c545ba024da3d7e"/><file name="Position.php" hash="32dba14b3fbba1b4e16836b5c9c25807"/><file name="Reviewlink.php" hash="d5d8ad2ab7e11a13b980288b34c6eba7"/><file name="Reviewrating.php" hash="1f7712ec677f95ada3450bcdc8c5c837"/><file name="Reviewstatus.php" hash="fa704d1e65eb64b01ad54bbc79e8c020"/><file name="Sidebarlink.php" hash="19eeff07235ee02fea3634e0f32e10a7"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="FeedbacklogController.php" hash="f96738f3b9849e334fed21579d1e09cc"/><file name="FeedbackreviewsController.php" hash="6af805538fd983d8055d7e3635498a5a"/></dir><file name="IndexController.php" hash="b388778f34531a73e8fc2fc91a6a784c"/></dir><dir name="data"><dir name="feedbackcompany_setup"><file name="data-upgrade-1.4.1-1.4.2.php" hash="66373ddaefafb4ea0fc6b3247e052070"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="dacdccdb319e33a400d9872d6ec9ec02"/><file name="config.xml" hash="fa736c2f38a53ab41259933440c6dd6d"/><file name="system.xml" hash="cd14a037f77b05502f20785730c363e9"/></dir><dir name="sql"><dir name="feedbackcompany_setup"><file name="mysql4-install-0.9.0.php" hash="e5e350306db02211bf1926ccb46d62fb"/><file name="mysql4-upgrade-1.2.1-1.2.2.php" hash="d2823271b6fcdbe69212c58bbe99ab65"/><file name="mysql4-upgrade-1.2.5-1.2.6.php" hash="0b7697b895677239dd9b4378e7578b90"/><file name="mysql4-upgrade-1.3.0-1.3.1.php" hash="32d63d431f7987492f31502ec1939599"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="magmodules_feedbackcompany.xml" hash="3cca540d05eb59dab5ab24278841833a"/></dir><dir name="template"><dir name="magmodules"><dir name="feedbackcompany"><file name="index.phtml" hash="35e543c38a0ef1732463e6c8019cdd3e"/><dir name="sidebar"><file name="left.phtml" hash="8c235d9ffd16096f50c2e36054bdf8f9"/><file name="right.phtml" hash="383c7db6e01441cddbbe07b2914a84a6"/></dir><dir name="widget"><file name="header.phtml" hash="cd1c71fe6c9a0f0b28ccc5951da027fb"/><file name="medium.phtml" hash="d9e0025c3c189e9ad3b512fbfc7c59dd"/><file name="sidebar.phtml" hash="852632fc6b4f223f42459da0498efd9f"/><file name="small.phtml" hash="b6e07949b3bccbd244651328a329f33e"/></dir></dir></dir></dir></dir></dir><dir name="rwd"><dir name="default"><dir name="template"><dir name="magmodules"><dir name="feedbackcompany"><dir name="widget"><file name="header.phtml" hash="f2ead7879b2f8d48f650ab9d133d6c3a"/></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="magmodules_feedbackcompany.xml" hash="886af6aabcc892da5074c93ad0263006"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Magmodules_Feedbackcompany.xml" hash="bcf891696a8602a49ef00ec0440b944a"/></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Magmodules_Feedbackcompany.csv" hash="2d07c75d815c0838db646329853c7ca6"/></dir><dir name="nl_NL"><file name="Magmodules_Feedbackcompany.csv" hash="07065c3e53560af157a7884b2e43ba91"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="magmodules"><dir name="feedbackcompany"><dir name="images"><file name="5-stars-empty.png" hash="799c499ca785331e7e69d892df52dd48"/><file name="5-stars-full.png" hash="1d06151a2c4da6bb71381538c8a903a5"/><file name="bkg_rating.gif" hash="83c843697e71cbe94ddd75bdedcbcf95"/><file name="bkg_rating2x.gif" hash="f71a52080752ca47b4c19810afd72e54"/><file name="greystar.png" hash="ab99888c7a8f47826ad7a83bcabf9130"/><file name="logo.png" hash="6aaa31c8d465a70e007cbf00c7e093dc"/><file name="small_fill.png" hash="2fa2ce516dddb74497ada0ae8be94380"/><file name="small_grey.png" hash="685735e666b7938f19ffe3b420152572"/><file name="sprites.png" hash="5f048cd5c6faf107782a5356678c2800"/><file name="sprites@2x.png" hash="8bbeceb34cb88a53f8e0222025368149"/><file name="star.png" hash="1a0bff565b441621cfa141ea1359e42d"/><file name="stars-colorful-big-empty.png" hash="0c39b599f3711387f3ab73c2c866db5e"/><file name="stars-colorful-big-empty@2x.png" hash="91968a209183fa94981aa1a4f4b881ac"/><file name="stars-colorful-big-filling.png" hash="4e44da064ac05c020a0390be58378c70"/><file name="stars-colorful-big-filling@2x.png" hash="d884648d75c3d39ede9d3b9d152fa377"/><file name="stars-colorful-medium-empty.png" hash="348115c8fcb76a0fdad35adf373c372d"/><file name="stars-colorful-medium-empty@2x.png" hash="80597abaaf487d85b37b38242fd280fd"/><file name="stars-colorful-medium-filling.png" hash="bdabd08dd42a28ffac96c0426cc31f75"/><file name="stars-colorful-medium-filling@2x.png" hash="95d3c2484dea0e65ef3764cca92d7546"/><file name="stars-colorful-small-empty.png" hash="0810018964beb0d0ff758346ea48f380"/><file name="stars-colorful-small-empty@2x.png" hash="95e3450bc9019b50497a07edd36da76a"/><file name="stars-colorful-small-filling.png" hash="7dea18dd80f75e5957ddfff107a5b14b"/><file name="stars-colorful-small-filling@2x.png" hash="c78b5d4766bdba9144333e8420e78e30"/><file name="stars-grayscale-small-empty.png" hash="0810018964beb0d0ff758346ea48f380"/><file name="stars-grayscale-small-empty@2x.png" hash="95e3450bc9019b50497a07edd36da76a"/><file name="stars-grayscale-small-filling.png" hash="5b36c38e55237b3b2932cb46a238ca66"/><file name="stars-grayscale-small-filling@2x.png" hash="a7fad2bb4a7ba031134e60f2b682ec6e"/></dir><file name="richsnippets.css" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="sidebar.css" hash="4519f6b32ecc4ec12c3a909331e9a87f"/><file name="style.css" hash="53c93412d6fb3025bd54c2b4ee13a645"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="magmodules"><dir name="feedbackcompany"><file name="grid.css" hash="ea7e85df839bf0eb7bc6882608da80b0"/><file name="star.png" hash="4beacfb62ebdd5feecd946494e895f4c"/></dir></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
+
<dependencies><required><php><min>5.1.0</min><max>7.9.9</max></php></required></dependencies>
|
18 |
</package>
|