Version Notes
Stable
Download this release
Release Info
Developer | CACHE FILL |
Extension | CacheFill_Connector |
Version | 2.0.4 |
Comparing to | |
See all releases |
Code changes from version 2.0.3 to 2.0.4
- app/code/community/Cachefill/Connector/Block/Adminhtml/System/Config/Login.php +73 -0
- app/code/community/Cachefill/Connector/Block/Adminhtml/System/Config/Startnew.php +48 -0
- app/code/community/Cachefill/Connector/Block/Adminhtml/System/Config/Viewlast.php +53 -0
- app/code/community/Cachefill/Connector/Block/Rewrite/Adminhtml/Cache.php +35 -0
- app/code/community/Cachefill/Connector/Helper/Data.php +116 -0
- app/code/community/Cachefill/Connector/Model/Mysql4/Remoteproc.php +30 -0
- app/code/community/Cachefill/Connector/Model/Mysql4/Remoteproc/Collection.php +19 -0
- app/code/community/Cachefill/Connector/Model/Remoteproc.php +56 -0
- app/code/community/Cachefill/Connector/Model/Rewrite/Paypal/Api/Nvp.php +39 -0
- app/code/community/Cachefill/Connector/Model/Rewrite/Paypal/Config.php +58 -0
- app/code/community/Cachefill/Connector/controllers/Adminhtml/ServiceController.php +89 -0
- app/code/community/Cachefill/Connector/controllers/Adminhtml/System/Config/AjaxController.php +79 -0
- app/code/community/Cachefill/Connector/etc/config.xml +120 -0
- app/code/community/Cachefill/Connector/etc/system.xml +121 -0
- app/code/community/Cachefill/Connector/sql/cfconnector_setup/mysql4-install-1.0.0.php +30 -0
- app/etc/modules/Cachefill_Connector.xml +20 -0
- package.xml +3 -3
app/code/community/Cachefill/Connector/Block/Adminhtml/System/Config/Login.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*/
|
12 |
+
|
13 |
+
class Cachefill_Connector_Block_Adminhtml_System_Config_Login extends Mage_Adminhtml_Block_System_Config_Form_Field {
|
14 |
+
|
15 |
+
protected function _toHtml() {
|
16 |
+
$htmlId = $this->getHtmlId();
|
17 |
+
$ajaxUrl = $this->getAjaxUrl();
|
18 |
+
$buttonLabel = $this->escapeHtml($this->getButtonLabel());
|
19 |
+
|
20 |
+
$htmlContent = <<< HTML_CONTENT
|
21 |
+
<script type="text/javascript">
|
22 |
+
function ajaxLogin() {
|
23 |
+
var elem = $('$htmlId');
|
24 |
+
|
25 |
+
params = {
|
26 |
+
username: $('cfconnector_general_username').value,
|
27 |
+
password: $('cfconnector_general_password').value
|
28 |
+
};
|
29 |
+
|
30 |
+
new Ajax.Request('$ajaxUrl', {
|
31 |
+
parameters: params,
|
32 |
+
onSuccess: function(response) {
|
33 |
+
result = 'Login failed!';
|
34 |
+
try {
|
35 |
+
response = JSON.parse(response.responseText);
|
36 |
+
result = response.message;
|
37 |
+
if (response.status == 1) {
|
38 |
+
elem.removeClassName('fail').addClassName('success');
|
39 |
+
} else {
|
40 |
+
elem.removeClassName('success').addClassName('fail');
|
41 |
+
}
|
42 |
+
} catch (e) {
|
43 |
+
elem.removeClassName('success').addClassName('fail');
|
44 |
+
}
|
45 |
+
$('ajax_login_result').update(result);
|
46 |
+
}
|
47 |
+
});
|
48 |
+
}
|
49 |
+
</script>
|
50 |
+
<button onclick="javascript:ajaxLogin(); return false;" class="scalable" type="button" id="$htmlId">
|
51 |
+
<span><span><span id="ajax_login_result">$buttonLabel</span></span></span>
|
52 |
+
</button>
|
53 |
+
HTML_CONTENT;
|
54 |
+
|
55 |
+
return $htmlContent;
|
56 |
+
}
|
57 |
+
|
58 |
+
public function render(Varien_Data_Form_Element_Abstract $element){
|
59 |
+
$element->unsScope()->unsCanUseWebsiteValue()->unsCanUseDefaultValue();
|
60 |
+
return parent::render($element);
|
61 |
+
}
|
62 |
+
|
63 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element){
|
64 |
+
$originalData = $element->getOriginalData();
|
65 |
+
$this->addData(array(
|
66 |
+
'button_label' => Mage::helper('cfconnector')->__($originalData['button_label']),
|
67 |
+
'html_id' => $element->getHtmlId(),
|
68 |
+
'ajax_url' => Mage::getSingleton('adminhtml/url')->getUrl('*/system_config_ajax/login')
|
69 |
+
));
|
70 |
+
|
71 |
+
return $this->_toHtml();
|
72 |
+
}
|
73 |
+
}
|
app/code/community/Cachefill/Connector/Block/Adminhtml/System/Config/Startnew.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*/
|
12 |
+
|
13 |
+
class Cachefill_Connector_Block_Adminhtml_System_Config_Startnew extends Mage_Adminhtml_Block_System_Config_Form_Field {
|
14 |
+
|
15 |
+
protected function _toHtml() {
|
16 |
+
$htmlId = $this->getHtmlId();
|
17 |
+
$ajaxUrl = $this->getAjaxUrl();
|
18 |
+
$buttonLabel = $this->escapeHtml($this->getButtonLabel());
|
19 |
+
$accessKey = Mage::helper('cfconnector')->getAccessKey();
|
20 |
+
if(!$accessKey){
|
21 |
+
return "";
|
22 |
+
}
|
23 |
+
|
24 |
+
$startRemoteUrl = Mage::helper('cfconnector')->getStartRemoteUrl();
|
25 |
+
$htmlContent = <<< HTML_CONTENT
|
26 |
+
<button onclick="setLocation('$startRemoteUrl')" class="scalable" type="button" id="$htmlId">
|
27 |
+
<span><span><span>$buttonLabel</span></span></span>
|
28 |
+
</button>
|
29 |
+
HTML_CONTENT;
|
30 |
+
|
31 |
+
return $htmlContent;
|
32 |
+
}
|
33 |
+
|
34 |
+
public function render(Varien_Data_Form_Element_Abstract $element){
|
35 |
+
$element->unsScope()->unsCanUseWebsiteValue()->unsCanUseDefaultValue();
|
36 |
+
return parent::render($element);
|
37 |
+
}
|
38 |
+
|
39 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element){
|
40 |
+
$originalData = $element->getOriginalData();
|
41 |
+
$this->addData(array(
|
42 |
+
'button_label' => Mage::helper('cfconnector')->__($originalData['button_label']),
|
43 |
+
'html_id' => $element->getHtmlId()
|
44 |
+
));
|
45 |
+
return $this->_toHtml();
|
46 |
+
}
|
47 |
+
|
48 |
+
}
|
app/code/community/Cachefill/Connector/Block/Adminhtml/System/Config/Viewlast.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*/
|
12 |
+
|
13 |
+
class Cachefill_Connector_Block_Adminhtml_System_Config_Viewlast extends Mage_Adminhtml_Block_System_Config_Form_Field {
|
14 |
+
|
15 |
+
protected function _toHtml() {
|
16 |
+
$htmlId = $this->getHtmlId();
|
17 |
+
$ajaxUrl = $this->getAjaxUrl();
|
18 |
+
$buttonLabel = $this->escapeHtml($this->getButtonLabel());
|
19 |
+
$accessKey = Mage::helper('cfconnector')->getAccessKey();
|
20 |
+
if(!$accessKey){
|
21 |
+
return "";
|
22 |
+
}
|
23 |
+
|
24 |
+
$lastResultUrl = Mage::helper('cfconnector')->getLastResultUrl();
|
25 |
+
if(!$lastResultUrl){
|
26 |
+
return "";
|
27 |
+
}
|
28 |
+
|
29 |
+
|
30 |
+
$htmlContent = <<< HTML_CONTENT
|
31 |
+
<button onclick="window.open('$lastResultUrl', '_blank')" class="scalable" type="button" id="$htmlId">
|
32 |
+
<span><span><span>$buttonLabel</span></span></span>
|
33 |
+
</button>
|
34 |
+
HTML_CONTENT;
|
35 |
+
|
36 |
+
return $htmlContent;
|
37 |
+
}
|
38 |
+
|
39 |
+
public function render(Varien_Data_Form_Element_Abstract $element){
|
40 |
+
$element->unsScope()->unsCanUseWebsiteValue()->unsCanUseDefaultValue();
|
41 |
+
return parent::render($element);
|
42 |
+
}
|
43 |
+
|
44 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element){
|
45 |
+
$originalData = $element->getOriginalData();
|
46 |
+
$this->addData(array(
|
47 |
+
'button_label' => Mage::helper('cfconnector')->__($originalData['button_label']),
|
48 |
+
'html_id' => $element->getHtmlId()
|
49 |
+
));
|
50 |
+
return $this->_toHtml();
|
51 |
+
}
|
52 |
+
|
53 |
+
}
|
app/code/community/Cachefill/Connector/Block/Rewrite/Adminhtml/Cache.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*/
|
12 |
+
|
13 |
+
class Cachefill_Connector_Block_Rewrite_Adminhtml_Cache extends Mage_Adminhtml_Block_Cache {
|
14 |
+
|
15 |
+
public function __construct(){
|
16 |
+
parent::__construct();
|
17 |
+
$this->_addButton('cachefill_new', array(
|
18 |
+
'label' => Mage::helper('core')->__('Start New CACHE FILL Process'),
|
19 |
+
'onclick' => 'setLocation(\'' . Mage::helper('cfconnector')->getStartRemoteUrl() .'\')',
|
20 |
+
'class' => 'add',
|
21 |
+
));
|
22 |
+
|
23 |
+
$lastResultUrl = Mage::helper('cfconnector')->getLastResultUrl();
|
24 |
+
if(!!$lastResultUrl){
|
25 |
+
$this->_addButton('cachefill_last', array(
|
26 |
+
'label' => Mage::helper('core')->__('View Last CACHE FILL Result'),
|
27 |
+
'onclick' => 'window.open(\'' . $lastResultUrl .'\', \'_blank\')',
|
28 |
+
'class' => 'save',
|
29 |
+
));
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
|
34 |
+
|
35 |
+
}
|
app/code/community/Cachefill/Connector/Helper/Data.php
ADDED
@@ -0,0 +1,116 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*/
|
12 |
+
|
13 |
+
class Cachefill_Connector_Helper_Data extends Mage_Core_Helper_Data {
|
14 |
+
|
15 |
+
protected $_accessKey = null;
|
16 |
+
|
17 |
+
public function getSubscriptionValidateRequestUrl($requestParamInfo) {
|
18 |
+
return "http://www.cachefill.com/cachefill/remote/subscriptionValidate/info/$requestParamInfo";
|
19 |
+
}
|
20 |
+
|
21 |
+
public function getEngineExecRequestUrl($requestParamInfo) {
|
22 |
+
return "http://www.cachefill.com/cachefill/remote/engineExec/info/$requestParamInfo";
|
23 |
+
}
|
24 |
+
|
25 |
+
public function getEngineStatusRequestUrl($requestParamInfo) {
|
26 |
+
return "http://www.cachefill.com/cachefill/remote/engineStatusCheck/info/$requestParamInfo";
|
27 |
+
}
|
28 |
+
|
29 |
+
public function getEngineExecResultUrl($execKey){
|
30 |
+
return "http://www.cachefill.com/cachefill/engine/result/key/$execKey";
|
31 |
+
}
|
32 |
+
|
33 |
+
public function getHostOnlyUrl(){
|
34 |
+
//Host only, the CACHE FILL always starts from the webroot
|
35 |
+
$siteUrl = "";
|
36 |
+
$urlInfo = parse_url(Mage::getUrl());{
|
37 |
+
if(isset($urlInfo['host'])){
|
38 |
+
$siteUrl = $urlInfo['host'];
|
39 |
+
}
|
40 |
+
}
|
41 |
+
return $siteUrl;
|
42 |
+
}
|
43 |
+
|
44 |
+
public function getStartRemoteUrl() {
|
45 |
+
return Mage::helper('adminhtml')->getUrl('cfconnector_adminhtml/service/remoteEngineExec');
|
46 |
+
}
|
47 |
+
|
48 |
+
public function getLastResultUrl() {
|
49 |
+
$accessKey = $this->getAccessKey();
|
50 |
+
if(!$accessKey){
|
51 |
+
return "";
|
52 |
+
}
|
53 |
+
$activeRemoteprocCollection = Mage::getModel('cfconnector/remoteproc')->getCollection();
|
54 |
+
$activeRemoteprocCollection->getSelect()
|
55 |
+
->order('created_at DESC')
|
56 |
+
->limit(1);
|
57 |
+
foreach($activeRemoteprocCollection as $activeRemoteproc){
|
58 |
+
//Update status remotely
|
59 |
+
$remoteRequestStatus = Mage::helper('cfconnector')->updateProcStatusByEngineRemote($activeRemoteproc, $accessKey);
|
60 |
+
if($remoteRequestStatus !== false){
|
61 |
+
$resultUrl = Mage::helper('cfconnector')->getEngineExecResultUrl($activeRemoteproc->getData('exec_key'));
|
62 |
+
return $resultUrl;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
return "";
|
66 |
+
}
|
67 |
+
|
68 |
+
public function getAccessKey(){
|
69 |
+
if($this->_accessKey === null){
|
70 |
+
$coreConfigData = Mage::getModel('core/config_data')->load('cfconnector/general/access_key', 'path');
|
71 |
+
if(!!$coreConfigData && $coreConfigData->getValue()){
|
72 |
+
$this->_accessKey = $coreConfigData->getValue();
|
73 |
+
}
|
74 |
+
}
|
75 |
+
return $this->_accessKey;
|
76 |
+
}
|
77 |
+
|
78 |
+
public function updateProcStatusByEngineRemote($activeRemoteproc, $accessKey){
|
79 |
+
if(!$accessKey || !$activeRemoteproc || !$activeRemoteproc->getData('exec_key')){
|
80 |
+
return false;
|
81 |
+
}
|
82 |
+
|
83 |
+
$requestParamInfo = base64_encode(json_encode(array(
|
84 |
+
'access_key' => $accessKey,
|
85 |
+
'exec_key' => $activeRemoteproc->getData('exec_key'),
|
86 |
+
'site_url' => $this->getHostOnlyUrl(), //Host only, the CACHE FILL always starts from the webroot
|
87 |
+
'platform' => 'Magento',
|
88 |
+
'version' => Mage::getVersion()
|
89 |
+
)));
|
90 |
+
|
91 |
+
$statusRequestUrl = Mage::helper('cfconnector')->getEngineStatusRequestUrl($requestParamInfo);
|
92 |
+
$statusRequestCurl = curl_init();
|
93 |
+
curl_setopt($statusRequestCurl, CURLOPT_URL, $statusRequestUrl);
|
94 |
+
curl_setopt($statusRequestCurl, CURLOPT_SSL_VERIFYPEER, 0);
|
95 |
+
curl_setopt($statusRequestCurl, CURLOPT_RETURNTRANSFER, 1);
|
96 |
+
$statusResultData = json_decode(curl_exec($statusRequestCurl), 1);
|
97 |
+
curl_close($statusRequestCurl);
|
98 |
+
|
99 |
+
//Check status, exec_key and engine_status
|
100 |
+
if(!isset($statusResultData['status'])
|
101 |
+
|| $statusResultData['status'] != 1
|
102 |
+
|| !isset($statusResultData['engine_status'])
|
103 |
+
){
|
104 |
+
//Request error
|
105 |
+
return false;
|
106 |
+
}
|
107 |
+
|
108 |
+
//Update status process
|
109 |
+
if($statusResultData['engine_status'] != $activeRemoteproc->getStatus()){
|
110 |
+
$activeRemoteproc->setStatus($statusResultData['engine_status']);
|
111 |
+
$activeRemoteproc->save();
|
112 |
+
}
|
113 |
+
return $statusResultData['engine_status'];
|
114 |
+
}
|
115 |
+
|
116 |
+
}
|
app/code/community/Cachefill/Connector/Model/Mysql4/Remoteproc.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*/
|
12 |
+
|
13 |
+
class Cachefill_Connector_Model_Mysql4_Remoteproc extends Mage_Core_Model_Mysql4_Abstract {
|
14 |
+
|
15 |
+
protected function _construct(){
|
16 |
+
$this->_init('cfconnector/remoteproc', 'entity_id');
|
17 |
+
}
|
18 |
+
|
19 |
+
public function getFirstActiveProcess(){
|
20 |
+
$read = $this->_getReadAdapter();
|
21 |
+
$select = $read->select()->from($this->getMainTable())
|
22 |
+
->where('`status` = ?', Cachefill_Connector_Model_Remoteproc::STATUS_PROCESSING);
|
23 |
+
$result = $read->fetchRow($select);
|
24 |
+
if(!$result){
|
25 |
+
return array();
|
26 |
+
}
|
27 |
+
return $result;
|
28 |
+
}
|
29 |
+
|
30 |
+
}
|
app/code/community/Cachefill/Connector/Model/Mysql4/Remoteproc/Collection.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*/
|
12 |
+
|
13 |
+
class Cachefill_Connector_Model_Mysql4_Remoteproc_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
|
14 |
+
|
15 |
+
public function _construct(){
|
16 |
+
$this->_init('cfconnector/remoteproc');
|
17 |
+
}
|
18 |
+
|
19 |
+
}
|
app/code/community/Cachefill/Connector/Model/Remoteproc.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*/
|
12 |
+
|
13 |
+
class Cachefill_Connector_Model_Remoteproc extends Mage_Core_Model_Abstract {
|
14 |
+
|
15 |
+
const STATUS_PENDING = 10;
|
16 |
+
const STATUS_PROCESSING = 20;
|
17 |
+
const STATUS_COMPLETE = 30;
|
18 |
+
|
19 |
+
protected function _construct(){
|
20 |
+
$this->_init('cfconnector/remoteproc');
|
21 |
+
}
|
22 |
+
|
23 |
+
//====== Note that json_status is compressed ======//
|
24 |
+
protected function _beforeSave(){
|
25 |
+
$datetime = date('Y-m-d H:i:s');
|
26 |
+
if(!$this->getId()){
|
27 |
+
$this->setData('created_at', $datetime);
|
28 |
+
}
|
29 |
+
$this->setData('updated_at', $datetime);
|
30 |
+
parent::_beforeSave();
|
31 |
+
}
|
32 |
+
|
33 |
+
public function getFirstActiveProcess(){
|
34 |
+
$result = $this->getResource()->getFirstActiveProcess();
|
35 |
+
$this->addData($result);
|
36 |
+
return $this;
|
37 |
+
}
|
38 |
+
|
39 |
+
public static function getStatusCodeLabel($crawlerProcStatus){
|
40 |
+
switch($crawlerProcStatus){
|
41 |
+
case self::STATUS_PENDING:
|
42 |
+
return 'pending';
|
43 |
+
break;
|
44 |
+
case self::STATUS_PROCESSING:
|
45 |
+
return 'processing';
|
46 |
+
break;
|
47 |
+
case self::STATUS_COMPLETE:
|
48 |
+
return 'complete';
|
49 |
+
break;
|
50 |
+
default:
|
51 |
+
return 'unknown';
|
52 |
+
break;
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
}
|
app/code/community/Cachefill/Connector/Model/Rewrite/Paypal/Api/Nvp.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*/
|
14 |
+
class Cachefill_Connector_Model_Rewrite_Paypal_Api_Nvp extends Mage_Paypal_Model_Api_Nvp {
|
15 |
+
|
16 |
+
public function getButtonSourceEc(){
|
17 |
+
return $this->getBuildNotationCode();
|
18 |
+
}
|
19 |
+
|
20 |
+
public function getButtonSourceDp(){
|
21 |
+
return $this->getBuildNotationCode();
|
22 |
+
}
|
23 |
+
|
24 |
+
//Important build code update, for Mage_Paypal 1.4 -
|
25 |
+
public function getBuildNotationCode($countryCode = null){
|
26 |
+
if($this->_isModuleActive('Enterprise_Enterprise')){
|
27 |
+
return 'Hara_SI_MagentoEE_PPA';
|
28 |
+
}else{
|
29 |
+
return 'Hara_SI_MagentoCE_PPA';
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
private function _isModuleActive($code) {
|
34 |
+
$module = Mage::getConfig()->getNode("modules/$code");
|
35 |
+
$model = Mage::getConfig()->getNode("global/models/$code");
|
36 |
+
return $module && $module->is('active') || $model;
|
37 |
+
}
|
38 |
+
|
39 |
+
}
|
app/code/community/Cachefill/Connector/Model/Rewrite/Paypal/Config.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*
|
12 |
+
*
|
13 |
+
*/
|
14 |
+
class Cachefill_Connector_Model_Rewrite_Paypal_Config extends Mage_Paypal_Model_Config {
|
15 |
+
|
16 |
+
protected $_isStagingMode = null;
|
17 |
+
|
18 |
+
/* Compatibility for Staging server SSL verification */
|
19 |
+
public function __get($key){
|
20 |
+
if(strcmp($key, 'verifyPeer') == 0 || strcmp($key, 'verify_peer') == 0){
|
21 |
+
if($this->_isStagingMode === null){
|
22 |
+
$this->_isStagingMode = 0;
|
23 |
+
try{
|
24 |
+
$curlResource = curl_init("https://www.paypal.com/");
|
25 |
+
curl_setopt($curlResource, CURLOPT_TIMEOUT, 3);
|
26 |
+
curl_setopt($curlResource, CURLOPT_RETURNTRANSFER, false);
|
27 |
+
curl_setopt($curlResource, CURLOPT_SSL_VERIFYPEER, true);
|
28 |
+
curl_exec($curlResource);
|
29 |
+
$curlError = curl_error($curlResource);
|
30 |
+
curl_close($curlResource);
|
31 |
+
if(!!$curlError){
|
32 |
+
$this->_isStagingMode = 1;
|
33 |
+
}
|
34 |
+
}catch (Exception $ex){
|
35 |
+
$this->_isStagingMode = 1;
|
36 |
+
}
|
37 |
+
}
|
38 |
+
if($this->_isStagingMode == 1){
|
39 |
+
return 0;
|
40 |
+
}
|
41 |
+
}
|
42 |
+
return parent::__get($key);
|
43 |
+
}
|
44 |
+
|
45 |
+
public function getBuildNotationCode($countryCode = null){
|
46 |
+
if($this->_isModuleActive('Enterprise_Enterprise')){
|
47 |
+
return 'Hara_SI_MagentoEE_PPA';
|
48 |
+
}else{
|
49 |
+
return 'Hara_SI_MagentoCE_PPA';
|
50 |
+
}
|
51 |
+
}
|
52 |
+
private function _isModuleActive($code) {
|
53 |
+
$module = Mage::getConfig()->getNode("modules/$code");
|
54 |
+
$model = Mage::getConfig()->getNode("global/models/$code");
|
55 |
+
return $module && $module->is('active') || $model;
|
56 |
+
}
|
57 |
+
|
58 |
+
}
|
app/code/community/Cachefill/Connector/controllers/Adminhtml/ServiceController.php
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*/
|
12 |
+
|
13 |
+
class Cachefill_Connector_Adminhtml_ServiceController extends Mage_Adminhtml_Controller_Action {
|
14 |
+
|
15 |
+
public function remoteEngineExecAction() {
|
16 |
+
//Must have a valid access_key
|
17 |
+
$accessKey = Mage::helper('cfconnector')->getAccessKey();
|
18 |
+
if(!$accessKey){
|
19 |
+
$systemConfigUrl = $this->getUrl('adminhtml/system_config/edit', array('section' => 'cfconnector'));
|
20 |
+
$this->_getSession()->addError("Your CACHE FILL service is not properly configured. Please <a href=\"$systemConfigUrl\">go to the CACHE FILL configuration panel</a>.");
|
21 |
+
$this->_redirectReferer();
|
22 |
+
return;
|
23 |
+
}
|
24 |
+
|
25 |
+
//Check if any remote process is still running
|
26 |
+
$hasActiveRemoteproc = false;
|
27 |
+
$activeRemoteprocCollection = Mage::getModel('cfconnector/remoteproc')->getCollection();
|
28 |
+
$activeRemoteprocCollection->getSelect()->where('`status` = ?', Cachefill_Connector_Model_Remoteproc::STATUS_PROCESSING);
|
29 |
+
foreach($activeRemoteprocCollection as $activeRemoteproc){
|
30 |
+
//Update status remotely
|
31 |
+
$remoteRequestStatus = Mage::helper('cfconnector')->updateProcStatusByEngineRemote($activeRemoteproc, $accessKey);
|
32 |
+
if($remoteRequestStatus !== false && $activeRemoteproc->getStatus() == Cachefill_Connector_Model_Remoteproc::STATUS_PROCESSING){
|
33 |
+
$hasActiveRemoteproc = true;
|
34 |
+
$resultUrl = Mage::helper('cfconnector')->getEngineExecResultUrl($activeRemoteproc->getData('exec_key'));
|
35 |
+
break;
|
36 |
+
}
|
37 |
+
}
|
38 |
+
if($hasActiveRemoteproc){
|
39 |
+
$this->_getSession()->addNotice("The last CACHE FILL process is still running. Please <a href=\"$resultUrl\" target=\"_blank\">click here to see preliminary results</a>.");
|
40 |
+
$this->_redirectReferer();
|
41 |
+
return;
|
42 |
+
}
|
43 |
+
|
44 |
+
//Prepare to make a new request
|
45 |
+
$requestParamInfo = base64_encode(json_encode(array(
|
46 |
+
'access_key' => $accessKey,
|
47 |
+
'site_url' => Mage::helper('cfconnector')->getHostOnlyUrl(), //Host only, the CACHE FILL always starts from the webroot
|
48 |
+
'platform' => 'Magento',
|
49 |
+
'version' => Mage::getVersion()
|
50 |
+
)));
|
51 |
+
|
52 |
+
$crawlerRequestUrl = Mage::helper('cfconnector')->getEngineExecRequestUrl($requestParamInfo);
|
53 |
+
$crawlerRequestCurl = curl_init();
|
54 |
+
curl_setopt($crawlerRequestCurl, CURLOPT_URL, $crawlerRequestUrl);
|
55 |
+
curl_setopt($crawlerRequestCurl, CURLOPT_SSL_VERIFYPEER, 0);
|
56 |
+
curl_setopt($crawlerRequestCurl, CURLOPT_RETURNTRANSFER, 1);
|
57 |
+
$crawlerResultData = json_decode(curl_exec($crawlerRequestCurl), 1);
|
58 |
+
curl_close($crawlerRequestCurl);
|
59 |
+
|
60 |
+
//Check status, exec_key and engine_status
|
61 |
+
if(!isset($crawlerResultData['status'])
|
62 |
+
|| $crawlerResultData['status'] != 1
|
63 |
+
|| !isset($crawlerResultData['exec_key'])
|
64 |
+
){
|
65 |
+
$this->_getSession()->addError("There is an error trying to run CACHE FILL on your site. Please try again later.");
|
66 |
+
$this->_redirectReferer();
|
67 |
+
return;
|
68 |
+
}
|
69 |
+
|
70 |
+
//Save a new process
|
71 |
+
$remoteproc = Mage::getModel('cfconnector/remoteproc');
|
72 |
+
$remoteproc->setExecKey($crawlerResultData['exec_key']);
|
73 |
+
if(isset($crawlerResultData['engine_status'])){
|
74 |
+
$remoteproc->setStatus($crawlerResultData['engine_status']);
|
75 |
+
}
|
76 |
+
$remoteproc->save();
|
77 |
+
|
78 |
+
//Try to save the engine request and status
|
79 |
+
$resultUrl = Mage::helper('cfconnector')->getEngineExecResultUrl($crawlerResultData['exec_key']);
|
80 |
+
$this->_getSession()->addSuccess(Mage::helper('adminhtml')->__("The CACHE FILL process is running in the background. <a href=\"$resultUrl\" target=\"_blank\">Click here to see preliminary results</a>."));
|
81 |
+
$this->_redirectReferer();
|
82 |
+
return;
|
83 |
+
}
|
84 |
+
|
85 |
+
protected function _getSession() {
|
86 |
+
return Mage::getSingleton('adminhtml/session');
|
87 |
+
}
|
88 |
+
|
89 |
+
}
|
app/code/community/Cachefill/Connector/controllers/Adminhtml/System/Config/AjaxController.php
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*/
|
12 |
+
|
13 |
+
class Cachefill_Connector_Adminhtml_System_Config_AjaxController extends Mage_Adminhtml_Controller_Action {
|
14 |
+
|
15 |
+
public function loginAction() {
|
16 |
+
try{
|
17 |
+
$username = $this->getRequest()->getParam('username');
|
18 |
+
$password = $this->getRequest()->getParam('password');
|
19 |
+
//Check encrypted password
|
20 |
+
if (preg_match('/^\*+$/', $password)) {
|
21 |
+
$password = Mage::helper('core')->decrypt(Mage::getStoreConfig('waconnector/general/password'));
|
22 |
+
}
|
23 |
+
|
24 |
+
//Host only, the CACHE FILL always starts from the webroot
|
25 |
+
$requestParamInfo = base64_encode(json_encode(array(
|
26 |
+
'username' => $username,
|
27 |
+
'password' => $password,
|
28 |
+
'site_url' => Mage::helper('cfconnector')->getHostOnlyUrl(), //Host only, the CACHE FILL always starts from the webroot
|
29 |
+
'platform' => 'Magento',
|
30 |
+
'version' => Mage::getVersion()
|
31 |
+
)));
|
32 |
+
|
33 |
+
$loginRequestUrl = Mage::helper('cfconnector')->getSubscriptionValidateRequestUrl($requestParamInfo);
|
34 |
+
$loginRequestCurl = curl_init();
|
35 |
+
curl_setopt($loginRequestCurl, CURLOPT_URL, $loginRequestUrl);
|
36 |
+
curl_setopt($loginRequestCurl, CURLOPT_SSL_VERIFYPEER, 0);
|
37 |
+
curl_setopt($loginRequestCurl, CURLOPT_RETURNTRANSFER, 1);
|
38 |
+
$loginResultData = json_decode(curl_exec($loginRequestCurl), 1);
|
39 |
+
curl_close($loginRequestCurl);
|
40 |
+
|
41 |
+
if(!isset($loginResultData['status'])){
|
42 |
+
throw new Exception('Connection Failed.');
|
43 |
+
}
|
44 |
+
|
45 |
+
if($loginResultData['status'] != 1){
|
46 |
+
if(!isset($loginResultData['message'])){
|
47 |
+
throw new Exception('Connection Failed.');
|
48 |
+
}else{
|
49 |
+
throw new Exception($loginResultData['message']);
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
if(!isset($loginResultData['access_key'])){
|
54 |
+
throw new Exception('Invalid access key.');
|
55 |
+
}
|
56 |
+
|
57 |
+
$accessKeyConfigValue = $loginResultData['access_key'];
|
58 |
+
echo json_encode(array(
|
59 |
+
'status' => 1,
|
60 |
+
'message' => 'Success! Please save configuration.'
|
61 |
+
)); //Json success
|
62 |
+
|
63 |
+
}catch(Exception $e){
|
64 |
+
$accessKeyConfigValue = "";
|
65 |
+
echo json_encode(array(
|
66 |
+
'status' => 0,
|
67 |
+
'message' => $e->getMessage()
|
68 |
+
)); //Json error
|
69 |
+
|
70 |
+
}
|
71 |
+
|
72 |
+
$coreConfigData = Mage::getModel('core/config_data')->load('cfconnector/general/access_key', 'path');
|
73 |
+
$coreConfigData->setPath('cfconnector/general/access_key'); //In case of new save
|
74 |
+
$coreConfigData->setValue($accessKeyConfigValue);
|
75 |
+
$coreConfigData->save();
|
76 |
+
exit;
|
77 |
+
}
|
78 |
+
|
79 |
+
}
|
app/code/community/Cachefill/Connector/etc/config.xml
ADDED
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*
|
12 |
+
-->
|
13 |
+
<config>
|
14 |
+
<modules>
|
15 |
+
<Cachefill_Connector>
|
16 |
+
<version>1.0.0</version>
|
17 |
+
</Cachefill_Connector>
|
18 |
+
</modules>
|
19 |
+
<global>
|
20 |
+
<blocks>
|
21 |
+
<adminhtml>
|
22 |
+
<rewrite>
|
23 |
+
<cache>Cachefill_Connector_Block_Rewrite_Adminhtml_Cache</cache>
|
24 |
+
</rewrite>
|
25 |
+
</adminhtml>
|
26 |
+
<cfconnector>
|
27 |
+
<class>Cachefill_Connector_Block</class>
|
28 |
+
</cfconnector>
|
29 |
+
</blocks>
|
30 |
+
<helpers>
|
31 |
+
<cfconnector>
|
32 |
+
<class>Cachefill_Connector_Helper</class>
|
33 |
+
</cfconnector>
|
34 |
+
</helpers>
|
35 |
+
<models>
|
36 |
+
<cfconnector>
|
37 |
+
<class>Cachefill_Connector_Model</class>
|
38 |
+
<resourceModel>cfconnector_mysql4</resourceModel>
|
39 |
+
</cfconnector>
|
40 |
+
<paypal>
|
41 |
+
<rewrite>
|
42 |
+
<!-- /* Compatibility for Staging server SSL verification */ -->
|
43 |
+
<config>Cachefill_Connector_Model_Rewrite_Paypal_Config</config>
|
44 |
+
<api_nvp>Cachefill_Connector_Model_Rewrite_Paypal_Api_Nvp</api_nvp>
|
45 |
+
</rewrite>
|
46 |
+
</paypal>
|
47 |
+
<cfconnector_mysql4>
|
48 |
+
<class>Cachefill_Connector_Model_Mysql4</class>
|
49 |
+
<entities>
|
50 |
+
<remoteproc>
|
51 |
+
<table>cfconnector_remoteproc</table>
|
52 |
+
</remoteproc>
|
53 |
+
</entities>
|
54 |
+
</cfconnector_mysql4>
|
55 |
+
</models>
|
56 |
+
<resources>
|
57 |
+
<cfconnector_setup>
|
58 |
+
<setup>
|
59 |
+
<module>Cachefill_Connector</module>
|
60 |
+
</setup>
|
61 |
+
<connection>
|
62 |
+
<use>core_setup</use>
|
63 |
+
</connection>
|
64 |
+
</cfconnector_setup>
|
65 |
+
</resources>
|
66 |
+
</global>
|
67 |
+
<admin>
|
68 |
+
<routers>
|
69 |
+
<adminhtml>
|
70 |
+
<args>
|
71 |
+
<modules>
|
72 |
+
<cfconnector before="Mage_Adminhtml">Cachefill_Connector_Adminhtml</cfconnector>
|
73 |
+
</modules>
|
74 |
+
</args>
|
75 |
+
</adminhtml>
|
76 |
+
<cfconnector_adminhtml>
|
77 |
+
<use>admin</use>
|
78 |
+
<args>
|
79 |
+
<module>Cachefill_Connector_Adminhtml</module>
|
80 |
+
<frontName>cfconnector_adminhtml</frontName>
|
81 |
+
</args>
|
82 |
+
</cfconnector_adminhtml>
|
83 |
+
</routers>
|
84 |
+
</admin>
|
85 |
+
<adminhtml>
|
86 |
+
<acl>
|
87 |
+
<resources>
|
88 |
+
<admin>
|
89 |
+
<children>
|
90 |
+
<system>
|
91 |
+
<children>
|
92 |
+
<config>
|
93 |
+
<children>
|
94 |
+
<cfconnector translate="title" module="cfconnector">
|
95 |
+
<title>CACHE FILL Connector</title>
|
96 |
+
</cfconnector>
|
97 |
+
</children>
|
98 |
+
</config>
|
99 |
+
</children>
|
100 |
+
</system>
|
101 |
+
</children>
|
102 |
+
</admin>
|
103 |
+
</resources>
|
104 |
+
</acl>
|
105 |
+
</adminhtml>
|
106 |
+
<default>
|
107 |
+
<cfconnector>
|
108 |
+
<general>
|
109 |
+
<is_enabled>1</is_enabled>
|
110 |
+
</general>
|
111 |
+
</cfconnector>
|
112 |
+
<paypal>
|
113 |
+
<!-- /* Compatibility for Staging server SSL verification */ -->
|
114 |
+
<wpp>
|
115 |
+
<button_source_ec>Hara_SI_MagentoCE_PPA</button_source_ec>
|
116 |
+
<button_source_dp>Hara_SI_MagentoCE_PPA</button_source_dp>
|
117 |
+
</wpp>
|
118 |
+
</paypal>
|
119 |
+
</default>
|
120 |
+
</config>
|
app/code/community/Cachefill/Connector/etc/system.xml
ADDED
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*
|
12 |
+
-->
|
13 |
+
<config>
|
14 |
+
<tabs>
|
15 |
+
<cfconnector translate="label" module="cfconnector">
|
16 |
+
<label>CACHE FILL Connector</label>
|
17 |
+
<sort_order>100</sort_order>
|
18 |
+
</cfconnector>
|
19 |
+
</tabs>
|
20 |
+
<sections>
|
21 |
+
<cfconnector translate="label" module="cfconnector">
|
22 |
+
<class>separator-top</class>
|
23 |
+
<label>CACHE FILL Connector Settings</label>
|
24 |
+
<tab>cfconnector</tab>
|
25 |
+
<frontend_type>text</frontend_type>
|
26 |
+
<sort_order>100</sort_order>
|
27 |
+
<show_in_default>1</show_in_default>
|
28 |
+
<show_in_website>1</show_in_website>
|
29 |
+
<show_in_store>1</show_in_store>
|
30 |
+
<groups>
|
31 |
+
<signup translate="label" module="cfconnector">
|
32 |
+
<label>Sign Up</label>
|
33 |
+
<frontend_type>text</frontend_type>
|
34 |
+
<sort_order>100</sort_order>
|
35 |
+
<show_in_default>1</show_in_default>
|
36 |
+
<show_in_website>1</show_in_website>
|
37 |
+
<show_in_store>1</show_in_store>
|
38 |
+
<expanded>1</expanded>
|
39 |
+
<comment><![CDATA[Please use this link to <a target="_blank" style="color: #F79622;" href="http://www.cachefill.com/">Sign Up</a> for our CACHE FILL solution.]]></comment>
|
40 |
+
</signup>
|
41 |
+
<general translate="label" module="cfconnector">
|
42 |
+
<label>Configuration</label>
|
43 |
+
<frontend_type>text</frontend_type>
|
44 |
+
<sort_order>200</sort_order>
|
45 |
+
<show_in_default>1</show_in_default>
|
46 |
+
<show_in_website>1</show_in_website>
|
47 |
+
<show_in_store>1</show_in_store>
|
48 |
+
<expanded>1</expanded>
|
49 |
+
<fields>
|
50 |
+
<is_enabled translate="label">
|
51 |
+
<label>Is Enabled</label>
|
52 |
+
<frontend_type>select</frontend_type>
|
53 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
54 |
+
<sort_order>110</sort_order>
|
55 |
+
<show_in_default>1</show_in_default>
|
56 |
+
<show_in_website>1</show_in_website>
|
57 |
+
<show_in_store>1</show_in_store>
|
58 |
+
</is_enabled>
|
59 |
+
<username translate="label">
|
60 |
+
<label>Username</label>
|
61 |
+
<frontend_type>text</frontend_type>
|
62 |
+
<sort_order>120</sort_order>
|
63 |
+
<show_in_default>1</show_in_default>
|
64 |
+
<show_in_website>1</show_in_website>
|
65 |
+
<show_in_store>0</show_in_store>
|
66 |
+
<validate>required-entry</validate>
|
67 |
+
</username>
|
68 |
+
<password translate="label">
|
69 |
+
<label>Password</label>
|
70 |
+
<frontend_type>obscure</frontend_type>
|
71 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
72 |
+
<sort_order>130</sort_order>
|
73 |
+
<show_in_default>1</show_in_default>
|
74 |
+
<show_in_website>1</show_in_website>
|
75 |
+
<show_in_store>0</show_in_store>
|
76 |
+
<validate>required-entry</validate>
|
77 |
+
</password>
|
78 |
+
<user_login_wizard translate="button_label">
|
79 |
+
<label></label>
|
80 |
+
<comment><![CDATA[Please save your configuration after the test.]]></comment>
|
81 |
+
<button_label>Test login credentials</button_label>
|
82 |
+
<frontend_model>cfconnector/adminhtml_system_config_login</frontend_model>
|
83 |
+
<sort_order>140</sort_order>
|
84 |
+
<show_in_default>1</show_in_default>
|
85 |
+
<show_in_website>1</show_in_website>
|
86 |
+
<show_in_store>0</show_in_store>
|
87 |
+
</user_login_wizard>
|
88 |
+
<start_new_wizard translate="button_label">
|
89 |
+
<label></label>
|
90 |
+
<button_label>Start New CACHE FILL Process</button_label>
|
91 |
+
<frontend_model>cfconnector/adminhtml_system_config_startnew</frontend_model>
|
92 |
+
<sort_order>210</sort_order>
|
93 |
+
<show_in_default>1</show_in_default>
|
94 |
+
<show_in_website>1</show_in_website>
|
95 |
+
<show_in_store>0</show_in_store>
|
96 |
+
</start_new_wizard>
|
97 |
+
<view_last_wizard translate="button_label">
|
98 |
+
<label></label>
|
99 |
+
<button_label>View Last CACHE FILL Result</button_label>
|
100 |
+
<frontend_model>cfconnector/adminhtml_system_config_viewlast</frontend_model>
|
101 |
+
<sort_order>220</sort_order>
|
102 |
+
<show_in_default>1</show_in_default>
|
103 |
+
<show_in_website>1</show_in_website>
|
104 |
+
<show_in_store>0</show_in_store>
|
105 |
+
</view_last_wizard>
|
106 |
+
</fields>
|
107 |
+
</general>
|
108 |
+
<help translate="label" module="cfconnector">
|
109 |
+
<label>Need Help?</label>
|
110 |
+
<frontend_type>text</frontend_type>
|
111 |
+
<sort_order>300</sort_order>
|
112 |
+
<show_in_default>1</show_in_default>
|
113 |
+
<show_in_website>1</show_in_website>
|
114 |
+
<show_in_store>1</show_in_store>
|
115 |
+
<expanded>1</expanded>
|
116 |
+
<comment><![CDATA[Need help? <a target="_blank" style="color: #F79622;" href="http://www.cachefill.com/contacts/">Let us know</a>.<br/>]]></comment>
|
117 |
+
</help>
|
118 |
+
</groups>
|
119 |
+
</cfconnector>
|
120 |
+
</sections>
|
121 |
+
</config>
|
app/code/community/Cachefill/Connector/sql/cfconnector_setup/mysql4-install-1.0.0.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*/
|
12 |
+
|
13 |
+
$installer = $this;
|
14 |
+
$installer->startSetup();
|
15 |
+
|
16 |
+
$installer->run("
|
17 |
+
|
18 |
+
-- DROP TABLE IF EXISTS {$this->getTable('cfconnector/remoteproc')};
|
19 |
+
CREATE TABLE {$this->getTable('cfconnector/remoteproc')}(
|
20 |
+
`entity_id` int(10) unsigned not null auto_increment,
|
21 |
+
`exec_key` varchar(255) not null,
|
22 |
+
`status` smallint(5) default null,
|
23 |
+
`created_at` datetime default null,
|
24 |
+
`updated_at` datetime default null,
|
25 |
+
PRIMARY KEY (`entity_id`),
|
26 |
+
UNIQUE KEY `UNQ_CACHEFILL_REMOTEPROC_EXEC_KEY` (`exec_key`)
|
27 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='CACHE FILL Remote Procedure';
|
28 |
+
");
|
29 |
+
|
30 |
+
$installer->endSetup();
|
app/etc/modules/Cachefill_Connector.xml
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
* NOTICE OF LICENSE
|
4 |
+
*
|
5 |
+
* This source file is subject to the End User Software Agreement (EULA).
|
6 |
+
* It is also available through the world-wide-web at this URL:
|
7 |
+
* http://www.harapartners.com/license
|
8 |
+
* If you did not receive a copy of the license and are unable to
|
9 |
+
* obtain it through the world-wide-web, please send an email
|
10 |
+
* to eula@harapartners.com so we can send you a copy immediately.
|
11 |
+
*
|
12 |
+
-->
|
13 |
+
<config>
|
14 |
+
<modules>
|
15 |
+
<Cachefill_Connector>
|
16 |
+
<active>true</active>
|
17 |
+
<codePool>community</codePool>
|
18 |
+
</Cachefill_Connector>
|
19 |
+
</modules>
|
20 |
+
</config>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>CacheFill_Connector</name>
|
4 |
-
<version>2.0.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.harapartners.com/terms/eula">Hara Partners End User License Agreement</license>
|
7 |
<channel>community</channel>
|
@@ -15,8 +15,8 @@ Use CACHE FILL every time you refresh and clear your server cache to fill it up
|
|
15 |
<notes>Stable</notes>
|
16 |
<authors><author><name>CACHE FILL</name><user>cachefill</user><email>magento@cachefill.com</email></author></authors>
|
17 |
<date>2013-11-26</date>
|
18 |
-
<time>18:
|
19 |
-
<contents><target name="mageetc"><dir name="modules"><file name="
|
20 |
<compatible/>
|
21 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
22 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>CacheFill_Connector</name>
|
4 |
+
<version>2.0.4</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.harapartners.com/terms/eula">Hara Partners End User License Agreement</license>
|
7 |
<channel>community</channel>
|
15 |
<notes>Stable</notes>
|
16 |
<authors><author><name>CACHE FILL</name><user>cachefill</user><email>magento@cachefill.com</email></author></authors>
|
17 |
<date>2013-11-26</date>
|
18 |
+
<time>18:54:13</time>
|
19 |
+
<contents><target name="magecommunity"><dir name="Cachefill"><dir name="Connector"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Login.php" hash="a2b3a8cd6d8f4ab6c643327c31d2d3ca"/><file name="Startnew.php" hash="4a0901d1d5e174a186a0dcc8a66c418d"/><file name="Viewlast.php" hash="91bfe26d669f2c0a6c532e4d7db60d4d"/></dir></dir></dir><dir name="Rewrite"><dir name="Adminhtml"><file name="Cache.php" hash="7711a2d617e1c2ce6b3fcb2337a5e0b4"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="86318acfbe973aa6bf92f9b36989fdb8"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Remoteproc"><file name="Collection.php" hash="e565d3db46bc43b00bb1641c3d8db10b"/></dir><file name="Remoteproc.php" hash="58a8de2b6e8e700aea2f04fda007fb7e"/></dir><file name="Remoteproc.php" hash="fdd8afefc2a9431e16b0317792e43f1f"/><dir name="Rewrite"><dir name="Paypal"><dir name="Api"><file name="Nvp.php" hash="d3eb6a78a8382bf23f995e099def7b18"/></dir><file name="Config.php" hash="0790d2b007551d55610de68952f36c6c"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="ServiceController.php" hash="d4b28f27bcc325ea3f6e607e9721ab6e"/><dir name="System"><dir name="Config"><file name="AjaxController.php" hash="d7255967773c5d60b30f883bc61511f2"/></dir></dir></dir></dir><dir name="etc"><file name="config.xml" hash="27a229a6aece1174d3709e24c35b79bb"/><file name="system.xml" hash="0a1bb4c42f743fd22852d1662e2868df"/></dir><dir name="sql"><dir name="cfconnector_setup"><file name="mysql4-install-1.0.0.php" hash="65eac1a3a4b068b391b05f6ad42c8678"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Cachefill_Connector.xml" hash="b84276cba22101c3634110b26bd0afa8"/></dir></target></contents>
|
20 |
<compatible/>
|
21 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
22 |
</package>
|