Version Notes
No known bugs or limitations
Download this release
Release Info
Developer | Mohan Varadarajan |
Extension | Knolseed |
Version | 1.1.10 |
Comparing to | |
See all releases |
Code changes from version 1.1.9 to 1.1.10
- app/code/local/Knolseed/Engage/Helper/Data.php +1 -0
- app/code/local/Knolseed/Engage/Model/Observer.php +27 -6
- app/code/local/Knolseed/Engage/controllers/Adminhtml/EngageController.php +14 -3
- app/code/local/Knolseed/Engage/etc/config.xml +1 -1
- lib/knolseed/Engage/Block/Adminhtml/Engage.php +20 -0
- lib/knolseed/Engage/Block/Adminhtml/Engage/Edit.php +53 -0
- lib/knolseed/Engage/Block/Adminhtml/Engage/Edit/Form.php +27 -0
- lib/knolseed/Engage/Block/Adminhtml/Engage/Edit/Tab/Form.php +67 -0
- lib/knolseed/Engage/Block/Adminhtml/Engage/Edit/Tabs.php +32 -0
- lib/knolseed/Engage/Block/Adminhtml/Engage/Grid.php +128 -0
- lib/knolseed/Engage/Block/Button.php +28 -0
- lib/knolseed/Engage/Block/Buttonexport.php +28 -0
- lib/knolseed/Engage/Block/Buttontestconnect.php +164 -0
- lib/knolseed/Engage/Block/Engage.php +25 -0
- lib/knolseed/Engage/Block/Ga.php +117 -0
- lib/knolseed/Engage/Helper/Data.php +1801 -0
- lib/knolseed/Engage/Model/Catalogvalues.php +57 -0
- lib/knolseed/Engage/Model/Crontime.php +79 -0
- lib/knolseed/Engage/Model/Customervalues.php +54 -0
- lib/knolseed/Engage/Model/Engage.php +16 -0
- lib/knolseed/Engage/Model/Gacode.php +47 -0
- lib/knolseed/Engage/Model/Mysql4/Engage.php +16 -0
- lib/knolseed/Engage/Model/Mysql4/Engage/Collection.php +16 -0
- lib/knolseed/Engage/Model/Observer.php +392 -0
- lib/knolseed/Engage/Model/Productvalues.php +68 -0
- lib/knolseed/Engage/Model/Status.php +30 -0
- lib/knolseed/Engage/Model/Time.php +78 -0
- lib/knolseed/Engage/Model/Timeframe.php +36 -0
- lib/knolseed/Engage/Model/Uploadinfo.php +18 -0
- lib/knolseed/Engage/controllers/Adminhtml/EngageController.php +265 -0
- lib/knolseed/Engage/controllers/IndexController.php +55 -0
- lib/knolseed/Engage/etc/adminhtml.xml +118 -0
- lib/knolseed/Engage/etc/config.xml +221 -0
- lib/knolseed/Engage/etc/system.xml +241 -0
- lib/knolseed/Engage/sql/engage_setup/mysql4-install-0.1.0.php +28 -0
- package.xml +5 -5
app/code/local/Knolseed/Engage/Helper/Data.php
CHANGED
@@ -1799,3 +1799,4 @@ class Knolseed_Engage_Helper_Data extends Mage_Core_Helper_Abstract
|
|
1799 |
|
1800 |
}
|
1801 |
|
|
1799 |
|
1800 |
}
|
1801 |
|
1802 |
+
|
app/code/local/Knolseed/Engage/Model/Observer.php
CHANGED
@@ -19,6 +19,7 @@ class Knolseed_Engage_Model_Observer extends Mage_Core_Model_Abstract
|
|
19 |
public $aws_foldername = '';
|
20 |
public $aws_token = '';
|
21 |
public $aws_acl = 'private';
|
|
|
22 |
|
23 |
public $kf_authurl = 'http://app.knolseed.com/settings/keys?';
|
24 |
public $kf_tracks3pushurl = 'http://app.knolseed.com/uploads/register?';
|
@@ -41,10 +42,16 @@ class Knolseed_Engage_Model_Observer extends Mage_Core_Model_Abstract
|
|
41 |
public function getAwsAccessKey($token){
|
42 |
Mage::log("Entry Knolseed_Engage_Model_Observer::getAwsAccessKey()",null,'knolseed.log');
|
43 |
|
|
|
|
|
|
|
|
|
|
|
44 |
try{
|
|
|
45 |
$http = new Varien_Http_Adapter_Curl();
|
46 |
$config = array('timeout' => 15); # Or whatever you like!
|
47 |
-
$config['header'] =
|
48 |
$config['ssl_cert'] = false;
|
49 |
|
50 |
$requestQuery = "auth_token=".$token;
|
@@ -53,15 +60,26 @@ class Knolseed_Engage_Model_Observer extends Mage_Core_Model_Abstract
|
|
53 |
|
54 |
## make a POST call
|
55 |
$http->write(Zend_Http_Client::GET, $this->kf_authurl . $requestQuery );
|
56 |
-
|
57 |
## Get Response
|
58 |
$response = $http->read();
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
60 |
|
61 |
# Close Call
|
62 |
-
$http->close();
|
63 |
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
# Mage::log('Printing response for '.$this->kf_authurl,null, 'knolseed.log');
|
66 |
# Mage::log($accessdetails,null, 'knolseed.log');
|
67 |
if( $accessdetails->data->access_key_id ) {
|
@@ -81,12 +99,14 @@ class Knolseed_Engage_Model_Observer extends Mage_Core_Model_Abstract
|
|
81 |
'token' => $session_token
|
82 |
));
|
83 |
|
|
|
|
|
|
|
84 |
return $client;
|
85 |
|
86 |
}else{
|
87 |
//Admin notification
|
88 |
$errormessage = "Error: Product sync unable to contact Knolseed at ".$this->kf_authurl.$requestQuery.". Will retry again later" ;
|
89 |
-
|
90 |
Mage::helper('engage')->errorAdminNotification('GetTemporaryCredentials','AWSpush',$errormessage,'',true);
|
91 |
}
|
92 |
|
@@ -370,3 +390,4 @@ class Knolseed_Engage_Model_Observer extends Mage_Core_Model_Abstract
|
|
370 |
}
|
371 |
|
372 |
?>
|
|
19 |
public $aws_foldername = '';
|
20 |
public $aws_token = '';
|
21 |
public $aws_acl = 'private';
|
22 |
+
public $aws_access_key = null;
|
23 |
|
24 |
public $kf_authurl = 'http://app.knolseed.com/settings/keys?';
|
25 |
public $kf_tracks3pushurl = 'http://app.knolseed.com/uploads/register?';
|
42 |
public function getAwsAccessKey($token){
|
43 |
Mage::log("Entry Knolseed_Engage_Model_Observer::getAwsAccessKey()",null,'knolseed.log');
|
44 |
|
45 |
+
# if(!is_null($this->aws_access_key)){
|
46 |
+
# Mage::log("Returning existing AWS Access Key",null,'knolseed.log');
|
47 |
+
# return $this->aws_access_key;
|
48 |
+
# }
|
49 |
+
|
50 |
try{
|
51 |
+
Mage::log("Generating new AWS Access Key",null,'knolseed.log');
|
52 |
$http = new Varien_Http_Adapter_Curl();
|
53 |
$config = array('timeout' => 15); # Or whatever you like!
|
54 |
+
$config['header'] = true;
|
55 |
$config['ssl_cert'] = false;
|
56 |
|
57 |
$requestQuery = "auth_token=".$token;
|
60 |
|
61 |
## make a POST call
|
62 |
$http->write(Zend_Http_Client::GET, $this->kf_authurl . $requestQuery );
|
63 |
+
|
64 |
## Get Response
|
65 |
$response = $http->read();
|
66 |
+
# Mage::log("Response = ". print_r($response,true),null,'knolseed.log');
|
67 |
+
|
68 |
+
# $modResponse = preg_replace('/(\r\n|\r|\n)/s',"\n",$response);
|
69 |
+
# $responseParts = array();
|
70 |
+
# $responseParts = explode("\n\n", $modResponse);
|
71 |
+
$responseParts = explode("\r\n\r\n", $response);
|
72 |
|
73 |
# Close Call
|
74 |
+
$http->close();
|
75 |
|
76 |
+
# Fix for ignoring HTTP Headers in response.
|
77 |
+
# Mage::log("Response Header = ". print_r($responseParts[0],true),null,'knolseed.log');
|
78 |
+
# Mage::log("Response Body = ". print_r($responseParts[1],true),null,'knolseed.log');
|
79 |
+
$accessdetails = json_decode($responseParts[1]);
|
80 |
+
# $accessdetails = json_decode($response);
|
81 |
+
|
82 |
+
# Mage::log("JSON Decoded Response = ". print_r($accessdetails,true),null,'knolseed.log');
|
83 |
# Mage::log('Printing response for '.$this->kf_authurl,null, 'knolseed.log');
|
84 |
# Mage::log($accessdetails,null, 'knolseed.log');
|
85 |
if( $accessdetails->data->access_key_id ) {
|
99 |
'token' => $session_token
|
100 |
));
|
101 |
|
102 |
+
# Mage::log("JSON Decoded Response = ". print_r($accessdetails,true),null,'knolseed.log');
|
103 |
+
|
104 |
+
$this->aws_access_key = $client;
|
105 |
return $client;
|
106 |
|
107 |
}else{
|
108 |
//Admin notification
|
109 |
$errormessage = "Error: Product sync unable to contact Knolseed at ".$this->kf_authurl.$requestQuery.". Will retry again later" ;
|
|
|
110 |
Mage::helper('engage')->errorAdminNotification('GetTemporaryCredentials','AWSpush',$errormessage,'',true);
|
111 |
}
|
112 |
|
390 |
}
|
391 |
|
392 |
?>
|
393 |
+
|
app/code/local/Knolseed/Engage/controllers/Adminhtml/EngageController.php
CHANGED
@@ -27,7 +27,7 @@ class Knolseed_Engage_Adminhtml_EngageController extends Mage_Adminhtml_Controll
|
|
27 |
try {
|
28 |
$http = new Varien_Http_Adapter_Curl();
|
29 |
$config = array('timeout' => 30); # Or whatever you like!
|
30 |
-
$config['header'] =
|
31 |
|
32 |
$requestQuery = "email=".$email."&password=".$password;
|
33 |
|
@@ -38,10 +38,20 @@ class Knolseed_Engage_Adminhtml_EngageController extends Mage_Adminhtml_Controll
|
|
38 |
|
39 |
## Get Response
|
40 |
$response = $http->read();
|
41 |
-
|
|
|
|
|
|
|
|
|
|
|
42 |
|
43 |
# Close Call
|
44 |
-
$http->close();
|
|
|
|
|
|
|
|
|
|
|
45 |
|
46 |
if( $data->success && $data->data->authentication_token ) {
|
47 |
Mage::log('KS Response:'.print_r($data->data,true), null, 'knolseed.log');
|
@@ -253,3 +263,4 @@ class Knolseed_Engage_Adminhtml_EngageController extends Mage_Adminhtml_Controll
|
|
253 |
}
|
254 |
|
255 |
}
|
|
27 |
try {
|
28 |
$http = new Varien_Http_Adapter_Curl();
|
29 |
$config = array('timeout' => 30); # Or whatever you like!
|
30 |
+
$config['header'] = true;
|
31 |
|
32 |
$requestQuery = "email=".$email."&password=".$password;
|
33 |
|
38 |
|
39 |
## Get Response
|
40 |
$response = $http->read();
|
41 |
+
Mage::log("Response = ". print_r($response,true),null,'knolseed.log');
|
42 |
+
|
43 |
+
# $modResponse = preg_replace('/(\r\n|\r|\n)/s',"\n",$response);
|
44 |
+
# $responseParts = array();
|
45 |
+
# $responseParts = explode("\n\n", $modResponse);
|
46 |
+
$responseParts = explode("\r\n\r\n", $response);
|
47 |
|
48 |
# Close Call
|
49 |
+
$http->close();
|
50 |
+
|
51 |
+
# Fix for ignoring HTTP Headers in response.
|
52 |
+
# Mage::log("Response Header = ". print_r($responseParts[0],true),null,'knolseed.log');
|
53 |
+
Mage::log("Response Body = ". print_r($responseParts[1],true),null,'knolseed.log');
|
54 |
+
$data = json_decode($responseParts[1]);
|
55 |
|
56 |
if( $data->success && $data->data->authentication_token ) {
|
57 |
Mage::log('KS Response:'.print_r($data->data,true), null, 'knolseed.log');
|
263 |
}
|
264 |
|
265 |
}
|
266 |
+
|
app/code/local/Knolseed/Engage/etc/config.xml
CHANGED
@@ -210,7 +210,7 @@
|
|
210 |
<jobs>
|
211 |
<knolseed_engage>
|
212 |
<schedule>
|
213 |
-
<cron_expr>*/
|
214 |
</schedule>
|
215 |
<run>
|
216 |
<model>engage/observer::setScript</model>
|
210 |
<jobs>
|
211 |
<knolseed_engage>
|
212 |
<schedule>
|
213 |
+
<cron_expr>*/5 * * * *</cron_expr>
|
214 |
</schedule>
|
215 |
<run>
|
216 |
<model>engage/observer::setScript</model>
|
lib/knolseed/Engage/Block/Adminhtml/Engage.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Block_Adminhtml_Engage extends Mage_Adminhtml_Block_Widget_Grid_Container
|
10 |
+
{
|
11 |
+
public function __construct()
|
12 |
+
{
|
13 |
+
Mage::log("Entry Knolseed_Engage_Block_Adminhtml_Engage::__construct()",null,'knolseed.log');
|
14 |
+
$this->_controller = 'adminhtml_engage';
|
15 |
+
$this->_blockGroup = 'engage';
|
16 |
+
$this->_headerText = Mage::helper('engage')->__('Item Manager');
|
17 |
+
$this->_addButtonLabel = Mage::helper('engage')->__('Add Item');
|
18 |
+
parent::__construct();
|
19 |
+
}
|
20 |
+
}
|
lib/knolseed/Engage/Block/Adminhtml/Engage/Edit.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Block_Adminhtml_Engage_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
|
10 |
+
{
|
11 |
+
public function __construct()
|
12 |
+
{
|
13 |
+
parent::__construct();
|
14 |
+
Mage::log("Entry Knolseed_Engage_Block_Adminhtml_Engage_Edit::__construct()",null,'knolseed.log');
|
15 |
+
$this->_objectId = 'id';
|
16 |
+
$this->_blockGroup = 'engage';
|
17 |
+
$this->_controller = 'adminhtml_engage';
|
18 |
+
|
19 |
+
$this->_updateButton('save', 'label', Mage::helper('engage')->__('Save Item'));
|
20 |
+
$this->_updateButton('delete', 'label', Mage::helper('engage')->__('Delete Item'));
|
21 |
+
|
22 |
+
$this->_addButton('saveandcontinue', array(
|
23 |
+
'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
|
24 |
+
'onclick' => 'saveAndContinueEdit()',
|
25 |
+
'class' => 'save',
|
26 |
+
), -100);
|
27 |
+
|
28 |
+
$this->_formScripts[] = "
|
29 |
+
function toggleEditor() {
|
30 |
+
if (tinyMCE.getInstanceById('engage_content') == null) {
|
31 |
+
tinyMCE.execCommand('mceAddControl', false, 'engage_content');
|
32 |
+
} else {
|
33 |
+
tinyMCE.execCommand('mceRemoveControl', false, 'engage_content');
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
function saveAndContinueEdit(){
|
38 |
+
editForm.submit($('edit_form').action+'back/edit/');
|
39 |
+
}
|
40 |
+
";
|
41 |
+
}
|
42 |
+
|
43 |
+
public function getHeaderText()
|
44 |
+
{
|
45 |
+
Mage::log("Entry Knolseed_Engage_Block_Adminhtml_Engage_Edit::getHeaderText()",null,'knolseed.log');
|
46 |
+
if( Mage::registry('engage_data') && Mage::registry('engage_data')->getId() ) {
|
47 |
+
return Mage::helper('engage')->__("Edit Item '%s'", $this->htmlEscape(Mage::registry('engage_data')->getTitle()));
|
48 |
+
} else {
|
49 |
+
return Mage::helper('engage')->__('Add Item');
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
}
|
lib/knolseed/Engage/Block/Adminhtml/Engage/Edit/Form.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Block_Adminhtml_Engage_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
|
10 |
+
{
|
11 |
+
protected function _prepareForm()
|
12 |
+
{
|
13 |
+
Mage::log("Entry Knolseed_Engage_Block_Adminhtml_Engage_Edit_Form::_prepareForm()",null,'knolseed.log');
|
14 |
+
$form = new Varien_Data_Form(array(
|
15 |
+
'id' => 'edit_form',
|
16 |
+
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
|
17 |
+
'method' => 'post',
|
18 |
+
'enctype' => 'multipart/form-data'
|
19 |
+
)
|
20 |
+
);
|
21 |
+
|
22 |
+
$form->setUseContainer(true);
|
23 |
+
$this->setForm($form);
|
24 |
+
return parent::_prepareForm();
|
25 |
+
}
|
26 |
+
|
27 |
+
}
|
lib/knolseed/Engage/Block/Adminhtml/Engage/Edit/Tab/Form.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Block_Adminhtml_Engage_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
|
10 |
+
{
|
11 |
+
|
12 |
+
protected function _prepareForm()
|
13 |
+
{
|
14 |
+
Mage::log("Entry Knolseed_Engage_Block_Adminhtml_Engage_Edit_Tab_Form::_prepareForm()",null,'knolseed.log');
|
15 |
+
$form = new Varien_Data_Form();
|
16 |
+
$this->setForm($form);
|
17 |
+
$fieldset = $form->addFieldset('engage_form', array('legend'=>Mage::helper('engage')->__('Item information')));
|
18 |
+
|
19 |
+
$fieldset->addField('title', 'text', array(
|
20 |
+
'label' => Mage::helper('engage')->__('Title'),
|
21 |
+
'class' => 'required-entry',
|
22 |
+
'required' => true,
|
23 |
+
'name' => 'title',
|
24 |
+
));
|
25 |
+
|
26 |
+
$fieldset->addField('filename', 'file', array(
|
27 |
+
'label' => Mage::helper('engage')->__('File'),
|
28 |
+
'required' => false,
|
29 |
+
'name' => 'filename',
|
30 |
+
));
|
31 |
+
|
32 |
+
$fieldset->addField('status', 'select', array(
|
33 |
+
'label' => Mage::helper('engage')->__('Status'),
|
34 |
+
'name' => 'status',
|
35 |
+
'values' => array(
|
36 |
+
array(
|
37 |
+
'value' => 1,
|
38 |
+
'label' => Mage::helper('engage')->__('Enabled'),
|
39 |
+
),
|
40 |
+
|
41 |
+
array(
|
42 |
+
'value' => 2,
|
43 |
+
'label' => Mage::helper('engage')->__('Disabled'),
|
44 |
+
),
|
45 |
+
),
|
46 |
+
));
|
47 |
+
|
48 |
+
$fieldset->addField('content', 'editor', array(
|
49 |
+
'name' => 'content',
|
50 |
+
'label' => Mage::helper('engage')->__('Content'),
|
51 |
+
'title' => Mage::helper('engage')->__('Content'),
|
52 |
+
'style' => 'width:700px; height:500px;',
|
53 |
+
'wysiwyg' => false,
|
54 |
+
'required' => true,
|
55 |
+
));
|
56 |
+
|
57 |
+
if ( Mage::getSingleton('adminhtml/session')->getEngageData() )
|
58 |
+
{
|
59 |
+
$form->setValues(Mage::getSingleton('adminhtml/session')->getEngageData());
|
60 |
+
Mage::getSingleton('adminhtml/session')->setEngageData(null);
|
61 |
+
} elseif ( Mage::registry('engage_data') ) {
|
62 |
+
$form->setValues(Mage::registry('engage_data')->getData());
|
63 |
+
}
|
64 |
+
return parent::_prepareForm();
|
65 |
+
}
|
66 |
+
|
67 |
+
}
|
lib/knolseed/Engage/Block/Adminhtml/Engage/Edit/Tabs.php
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Block_Adminhtml_Engage_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
|
10 |
+
{
|
11 |
+
|
12 |
+
public function __construct()
|
13 |
+
{
|
14 |
+
parent::__construct();
|
15 |
+
Mage::log("Entry Knolseed_Engage_Block_Adminhtml_Engage_Edit_Tabs::__construct()",null,'knolseed.log');
|
16 |
+
$this->setId('engage_tabs');
|
17 |
+
$this->setDestElementId('edit_form');
|
18 |
+
$this->setTitle(Mage::helper('engage')->__('Item Information'));
|
19 |
+
}
|
20 |
+
|
21 |
+
protected function _beforeToHtml()
|
22 |
+
{
|
23 |
+
Mage::log("Entry Knolseed_Engage_Block_Adminhtml_Engage_Edit_Tabs::__beforeToHtml()",null,'knolseed.log');
|
24 |
+
$this->addTab('form_section', array(
|
25 |
+
'label' => Mage::helper('engage')->__('Item Information'),
|
26 |
+
'title' => Mage::helper('engage')->__('Item Information'),
|
27 |
+
'content' => $this->getLayout()->createBlock('engage/adminhtml_engage_edit_tab_form')->toHtml(),
|
28 |
+
));
|
29 |
+
|
30 |
+
return parent::_beforeToHtml();
|
31 |
+
}
|
32 |
+
}
|
lib/knolseed/Engage/Block/Adminhtml/Engage/Grid.php
ADDED
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Block_Adminhtml_Engage_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
10 |
+
{
|
11 |
+
public function __construct()
|
12 |
+
{
|
13 |
+
parent::__construct();
|
14 |
+
Mage::log("Entry Knolseed_Engage_Block_Adminhtml_Engage_Grid::__construct()",null,'knolseed.log');
|
15 |
+
$this->setId('engageGrid');
|
16 |
+
$this->setDefaultSort('engage_id');
|
17 |
+
$this->setDefaultDir('ASC');
|
18 |
+
$this->setSaveParametersInSession(true);
|
19 |
+
}
|
20 |
+
|
21 |
+
protected function _prepareCollection()
|
22 |
+
{
|
23 |
+
Mage::log("Entry Knolseed_Engage_Block_Adminhtml_Engage_Grid::_prepareCollection()",null,'knolseed.log');
|
24 |
+
$collection = Mage::getModel('engage/engage')->getCollection();
|
25 |
+
$this->setCollection($collection);
|
26 |
+
return parent::_prepareCollection();
|
27 |
+
}
|
28 |
+
|
29 |
+
protected function _prepareColumns()
|
30 |
+
{
|
31 |
+
Mage::log("Entry Knolseed_Engage_Block_Adminhtml_Engage_Grid::_prepareColumns()",null,'knolseed.log');
|
32 |
+
|
33 |
+
$this->addColumn('engage_id', array(
|
34 |
+
'header' => Mage::helper('engage')->__('ID'),
|
35 |
+
'align' =>'right',
|
36 |
+
'width' => '50px',
|
37 |
+
'index' => 'engage_id',
|
38 |
+
));
|
39 |
+
|
40 |
+
$this->addColumn('title', array(
|
41 |
+
'header' => Mage::helper('engage')->__('Title'),
|
42 |
+
'align' =>'left',
|
43 |
+
'index' => 'title',
|
44 |
+
));
|
45 |
+
|
46 |
+
/*
|
47 |
+
$this->addColumn('content', array(
|
48 |
+
'header' => Mage::helper('engage')->__('Item Content'),
|
49 |
+
'width' => '150px',
|
50 |
+
'index' => 'content',
|
51 |
+
));
|
52 |
+
*/
|
53 |
+
|
54 |
+
$this->addColumn('status', array(
|
55 |
+
'header' => Mage::helper('engage')->__('Status'),
|
56 |
+
'align' => 'left',
|
57 |
+
'width' => '80px',
|
58 |
+
'index' => 'status',
|
59 |
+
'type' => 'options',
|
60 |
+
'options' => array(
|
61 |
+
1 => 'Enabled',
|
62 |
+
2 => 'Disabled',
|
63 |
+
),
|
64 |
+
));
|
65 |
+
|
66 |
+
$this->addColumn('action',
|
67 |
+
array(
|
68 |
+
'header' => Mage::helper('engage')->__('Action'),
|
69 |
+
'width' => '100',
|
70 |
+
'type' => 'action',
|
71 |
+
'getter' => 'getId',
|
72 |
+
'actions' => array(
|
73 |
+
array(
|
74 |
+
'caption' => Mage::helper('engage')->__('Edit'),
|
75 |
+
'url' => array('base'=> '*/*/edit'),
|
76 |
+
'field' => 'id'
|
77 |
+
)
|
78 |
+
),
|
79 |
+
'filter' => false,
|
80 |
+
'sortable' => false,
|
81 |
+
'index' => 'stores',
|
82 |
+
'is_system' => true,
|
83 |
+
));
|
84 |
+
|
85 |
+
$this->addExportType('*/*/exportCsv', Mage::helper('engage')->__('CSV'));
|
86 |
+
$this->addExportType('*/*/exportXml', Mage::helper('engage')->__('XML'));
|
87 |
+
|
88 |
+
return parent::_prepareColumns();
|
89 |
+
}
|
90 |
+
|
91 |
+
|
92 |
+
protected function _prepareMassaction()
|
93 |
+
{
|
94 |
+
Mage::log("Entry Knolseed_Engage_Block_Adminhtml_Engage_Grid::_prepareMassaction()",null,'knolseed.log');
|
95 |
+
$this->setMassactionIdField('engage_id');
|
96 |
+
$this->getMassactionBlock()->setFormFieldName('engage');
|
97 |
+
|
98 |
+
$this->getMassactionBlock()->addItem('delete', array(
|
99 |
+
'label' => Mage::helper('engage')->__('Delete'),
|
100 |
+
'url' => $this->getUrl('*/*/massDelete'),
|
101 |
+
'confirm' => Mage::helper('engage')->__('Are you sure?')
|
102 |
+
));
|
103 |
+
|
104 |
+
$statuses = Mage::getSingleton('engage/status')->getOptionArray();
|
105 |
+
|
106 |
+
array_unshift($statuses, array('label'=>'', 'value'=>''));
|
107 |
+
$this->getMassactionBlock()->addItem('status', array(
|
108 |
+
'label'=> Mage::helper('engage')->__('Change status'),
|
109 |
+
'url' => $this->getUrl('*/*/massStatus', array('_current'=>true)),
|
110 |
+
'additional' => array(
|
111 |
+
'visibility' => array(
|
112 |
+
'name' => 'status',
|
113 |
+
'type' => 'select',
|
114 |
+
'class' => 'required-entry',
|
115 |
+
'label' => Mage::helper('engage')->__('Status'),
|
116 |
+
'values' => $statuses
|
117 |
+
)
|
118 |
+
)
|
119 |
+
));
|
120 |
+
return $this;
|
121 |
+
}
|
122 |
+
|
123 |
+
public function getRowUrl($row)
|
124 |
+
{
|
125 |
+
return $this->getUrl('*/*/edit', array('id' => $row->getId()));
|
126 |
+
}
|
127 |
+
|
128 |
+
}
|
lib/knolseed/Engage/Block/Button.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Block_Button extends Mage_Adminhtml_Block_System_Config_Form_Field
|
10 |
+
{
|
11 |
+
|
12 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
13 |
+
{
|
14 |
+
Mage::log("Entry Knolseed_Engage_Block_Button::_getElementHtml()",null,'knolseed.log');
|
15 |
+
$this->setElement($element);
|
16 |
+
//$url = $this->getUrl('catalog/product'); //
|
17 |
+
$url = $this->getUrl('engage/adminhtml_engage/Product_CSV');
|
18 |
+
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
|
19 |
+
->setType('button')
|
20 |
+
->setClass('scalable')
|
21 |
+
->setLabel('Export')
|
22 |
+
->setOnClick("setLocation('$url')")
|
23 |
+
->toHtml();
|
24 |
+
|
25 |
+
return $html;
|
26 |
+
}
|
27 |
+
}
|
28 |
+
?>
|
lib/knolseed/Engage/Block/Buttonexport.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Block_Buttonexport extends Mage_Adminhtml_Block_System_Config_Form_Field
|
10 |
+
{
|
11 |
+
|
12 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
13 |
+
{
|
14 |
+
Mage::log("Entry Knolseed_Engage_Block_Buttonexport::_getElementHtml()",null,'knolseed.log');
|
15 |
+
$this->setElement($element);
|
16 |
+
//$url = $this->getUrl('catalog/product'); //
|
17 |
+
$url = $this->getUrl('engage/adminhtml_engage/Customer_CSV');
|
18 |
+
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
|
19 |
+
->setType('button')
|
20 |
+
->setClass('scalable')
|
21 |
+
->setLabel('Export')
|
22 |
+
->setOnClick("setLocation('$url')")
|
23 |
+
->toHtml();
|
24 |
+
|
25 |
+
return $html;
|
26 |
+
}
|
27 |
+
}
|
28 |
+
?>
|
lib/knolseed/Engage/Block/Buttontestconnect.php
ADDED
@@ -0,0 +1,164 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Block_Buttontestconnect extends Mage_Adminhtml_Block_System_Config_Form_Field
|
10 |
+
{
|
11 |
+
|
12 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
13 |
+
{
|
14 |
+
Mage::log("Entry Knolseed_Engage_Block_Buttontestconnect::_getElementHtml()",null,'knolseed.log');
|
15 |
+
$this->setElement($element);
|
16 |
+
|
17 |
+
$pingURL = $this->getUrl('engage/adminhtml_engage/TestAws_Connection');
|
18 |
+
# Mage::log('pingURL='.$pingURL,null,'knolseed.log');
|
19 |
+
|
20 |
+
$awstokenflag = (Mage::getStoreConfig('engage_options/aws/token')) ? '1' : '' ;
|
21 |
+
# Mage::log('awstokenflag='.$awstokenflag,null,'knolseed.log');
|
22 |
+
|
23 |
+
$gaflag = (Mage::getStoreConfig('google/analytics/active')) ? '1' : '' ;
|
24 |
+
# Mage::log('gaflag='.$gaflag,null,'knolseed.log');
|
25 |
+
|
26 |
+
$gasectionurl = Mage::getModel('adminhtml/url')->getUrl('/system_config/edit/section/google'); //Mage::getBaseUrl()."admin/system_config/edit/section/google/key/".$formkey."/";
|
27 |
+
# Mage::log('gasectionurl='.$gasectionurl,null,'knolseed.log');
|
28 |
+
|
29 |
+
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
|
30 |
+
->setType('button')
|
31 |
+
->setClass('testawsconnection')
|
32 |
+
->setId('testawsconnection')
|
33 |
+
->setLabel('Connect')
|
34 |
+
->setOnClick("testConnection();")
|
35 |
+
->toHtml();
|
36 |
+
|
37 |
+
# Mage::log('Checkpoint 1='.$html,null,'knolseed.log');
|
38 |
+
|
39 |
+
|
40 |
+
$html .= '<style>
|
41 |
+
button.success {
|
42 |
+
background-color: #46745E;
|
43 |
+
border-color: #46745E;
|
44 |
+
background-image:none;
|
45 |
+
}
|
46 |
+
|
47 |
+
button.success:hover {
|
48 |
+
background-color: #46745E;
|
49 |
+
}
|
50 |
+
|
51 |
+
.disabled{
|
52 |
+
background-color: #e6e6e6 !important;
|
53 |
+
border: 1px solid #AAAAAA;
|
54 |
+
}
|
55 |
+
|
56 |
+
button.fail{
|
57 |
+
background-color: #FCAF81;
|
58 |
+
border-color: #D24403 #A92000 #A92000 #D24403;
|
59 |
+
color: #FFFFFF;
|
60 |
+
}
|
61 |
+
</style>
|
62 |
+
<script type="text/javascript">
|
63 |
+
|
64 |
+
|
65 |
+
Validation.add("required-entry-firstname", "Please enter a valid Google Account Number.", function(v) {
|
66 |
+
return !Validation.get("IsEmpty").test(v);
|
67 |
+
});
|
68 |
+
|
69 |
+
</script>
|
70 |
+
<script type="text/javascript">
|
71 |
+
|
72 |
+
var tokenvalidate = "'. $awstokenflag .'";
|
73 |
+
var googleanalyticsenabled = "'. $gaflag .'";
|
74 |
+
var coregooglemoduleurl = "'. $gasectionurl .'";
|
75 |
+
function validateToken(){
|
76 |
+
|
77 |
+
if(tokenvalidate){
|
78 |
+
document.getElementById("engage_options_aws_username").disabled=true;
|
79 |
+
document.getElementById("engage_options_aws_password").disabled=true;
|
80 |
+
document.getElementById("testawsconnection").disabled=true;
|
81 |
+
|
82 |
+
document.getElementById("engage_options_aws_username").className = "input-text disabled";
|
83 |
+
document.getElementById("engage_options_aws_password").className = "input-text disabled";
|
84 |
+
document.getElementById("testawsconnection").className="disabled";
|
85 |
+
|
86 |
+
document.getElementById("default-label-credentials").style.display = "none";
|
87 |
+
}
|
88 |
+
|
89 |
+
document.getElementById("engage_options_google_google_content").disabled=true;
|
90 |
+
document.getElementById("engage_options_google_google_content").className = "textarea disabled";
|
91 |
+
if(googleanalyticsenabled){
|
92 |
+
document.getElementById("gastatus").innerHTML = "KnolSeed Analytics requires Google Analytics (GA) to be enabled.<br> Google Analytics is enabled" ;
|
93 |
+
}else{
|
94 |
+
|
95 |
+
var anchor = "<div>KnolSeed Analytics requires Google Analytics (GA) to be enabled.<br> Please enable GA <a href="+coregooglemoduleurl+">here</a> and continue KnolSeed configuration.</div>";
|
96 |
+
document.getElementById("gastatus").innerHTML = anchor;
|
97 |
+
}
|
98 |
+
|
99 |
+
}
|
100 |
+
|
101 |
+
|
102 |
+
function reenterCredentials() {
|
103 |
+
document.getElementById("engage_options_aws_username").disabled=false;
|
104 |
+
document.getElementById("engage_options_aws_password").disabled=false;
|
105 |
+
document.getElementById("testawsconnection").disabled=false;
|
106 |
+
|
107 |
+
document.getElementById("engage_options_aws_username").className = "input-text";
|
108 |
+
document.getElementById("engage_options_aws_password").className = "input-text";
|
109 |
+
document.getElementById("testawsconnection").className = "scalable scalable";
|
110 |
+
}
|
111 |
+
|
112 |
+
|
113 |
+
window.onload = function(e){
|
114 |
+
validateToken();
|
115 |
+
}
|
116 |
+
|
117 |
+
|
118 |
+
function testConnection() {
|
119 |
+
var username=document.getElementById("engage_options_aws_username").value;
|
120 |
+
var password=document.getElementById("engage_options_aws_password").value;
|
121 |
+
params = {
|
122 |
+
email: username,
|
123 |
+
password: password
|
124 |
+
};
|
125 |
+
new Ajax.Request("'.$pingURL.'", {
|
126 |
+
parameters: params,
|
127 |
+
onSuccess: function(response) {
|
128 |
+
try {
|
129 |
+
response = response.responseText;
|
130 |
+
var ele = document.getElementById("testawsconnection");
|
131 |
+
if (response == 1) {
|
132 |
+
ele.innerHTML="<span><span><span>Connected</span></span></span>";
|
133 |
+
ele.classList.add("success");
|
134 |
+
ele.classList.remove("fail");
|
135 |
+
document.getElementById("default-label-credentials").style.display = "none";
|
136 |
+
}
|
137 |
+
else{
|
138 |
+
ele.innerHTML="<span><span><span>Connection failed! Try again?</span></span></span>";
|
139 |
+
ele.classList.add("fail");
|
140 |
+
ele.classList.remove("success");
|
141 |
+
document.getElementById("default-label-credentials").style.display = "none";
|
142 |
+
}
|
143 |
+
}
|
144 |
+
catch (e) {
|
145 |
+
ele.innerHTML="<span><span><span>Connection failed! Try again?</span></span></span>";
|
146 |
+
ele.classList.add("fail");
|
147 |
+
ele.classList.remove("success");
|
148 |
+
}
|
149 |
+
}
|
150 |
+
});
|
151 |
+
}
|
152 |
+
</script>
|
153 |
+
';
|
154 |
+
if($awstokenflag){
|
155 |
+
# Mage::log('awstokenflag is true', null, 'knolseed.log');
|
156 |
+
$html .= '<div>Knolseed Plugin is enabled. To change/re-enter credentials,click <a href="javascript:void(0);" onclick="reenterCredentials()">here</a></div>';
|
157 |
+
}
|
158 |
+
|
159 |
+
|
160 |
+
# Mage::log('Returning='.$html, null, 'knolseed.log');
|
161 |
+
return $html;
|
162 |
+
}
|
163 |
+
}
|
164 |
+
?>
|
lib/knolseed/Engage/Block/Engage.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Block_Engage extends Mage_Core_Block_Template
|
10 |
+
{
|
11 |
+
public function _prepareLayout()
|
12 |
+
{
|
13 |
+
return parent::_prepareLayout();
|
14 |
+
}
|
15 |
+
|
16 |
+
public function getEngage()
|
17 |
+
{
|
18 |
+
Mage::log("Entry Knolseed_Engage_Block_Engage::getEngage()",null,'knolseed.log');
|
19 |
+
if (!$this->hasData('engage')) {
|
20 |
+
$this->setData('engage', Mage::registry('engage'));
|
21 |
+
}
|
22 |
+
return $this->getData('engage');
|
23 |
+
|
24 |
+
}
|
25 |
+
}
|
lib/knolseed/Engage/Block/Ga.php
ADDED
@@ -0,0 +1,117 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Block_Ga extends Mage_GoogleAnalytics_Block_Ga
|
10 |
+
{
|
11 |
+
public function _prepareLayout()
|
12 |
+
{
|
13 |
+
return parent::_prepareLayout();
|
14 |
+
}
|
15 |
+
|
16 |
+
protected function _getPageTrackingCode($accountId)
|
17 |
+
{
|
18 |
+
Mage::log("Entry Knolseed_Engage_Block_Ga::_getPageTrackingCode()",null,'knolseed.log');
|
19 |
+
|
20 |
+
$pageName = trim($this->getPageName());
|
21 |
+
$optPageURL = '';
|
22 |
+
if ($pageName && preg_match('/^\/.*/i', $pageName)) {
|
23 |
+
$optPageURL = ", '{$this->jsQuoteEscape($pageName)}'";
|
24 |
+
}
|
25 |
+
/* Start Google Javascript code */
|
26 |
+
if(Mage::getSingleton('customer/session')->isLoggedIn()) {
|
27 |
+
# Mage::log("Customer is logged in", null, 'knolseed.log');
|
28 |
+
$customerData = Mage::getSingleton('customer/session')->getCustomer();
|
29 |
+
$customer_id = $customerData->getId();
|
30 |
+
$script = Mage::getStoreConfig('engage_options/google/google_content');
|
31 |
+
$script=str_replace("customer_id",$customer_id,$script);
|
32 |
+
}
|
33 |
+
else
|
34 |
+
{
|
35 |
+
# Mage::log("Customer NOT logged in", null, 'knolseed.log');
|
36 |
+
$customerData = Mage::getSingleton('customer/session')->getCustomer();
|
37 |
+
$customer_id = $customerData->getId();
|
38 |
+
$script = Mage::getStoreConfig('engage_options/google/google_content');
|
39 |
+
$script=str_replace('_knolseed.push(["_setCustomerId", "customer_id"])','',$script);
|
40 |
+
}
|
41 |
+
/* End Google Javascript code */
|
42 |
+
/*if($script)
|
43 |
+
{*/
|
44 |
+
$finalscript=$script."_gaq.push(['_setAccount', '{$this->jsQuoteEscape($accountId)}']);
|
45 |
+
_gaq.push(['_trackPageview'{$optPageURL}]);
|
46 |
+
";
|
47 |
+
|
48 |
+
# Mage::log("Returning=".$finalscript, null, 'knolseed.log');
|
49 |
+
return $finalscript;
|
50 |
+
/*}*/
|
51 |
+
/*else
|
52 |
+
{
|
53 |
+
return "_gaq.push(['_setAccount', '{$this->jsQuoteEscape($accountId)}']);
|
54 |
+
_gaq.push(['_trackPageview'{$optPageURL}]);
|
55 |
+
";
|
56 |
+
|
57 |
+
}*/
|
58 |
+
}
|
59 |
+
|
60 |
+
public function getGa()
|
61 |
+
{
|
62 |
+
Mage::log("Entry Knolseed_Engage_Block_Ga::_getGa()",null,'knolseed.log');
|
63 |
+
if (!$this->hasData('ga')) {
|
64 |
+
$this->setData('ga', Mage::registry('ga'));
|
65 |
+
}
|
66 |
+
return $this->getData('ga');
|
67 |
+
|
68 |
+
}
|
69 |
+
|
70 |
+
|
71 |
+
protected function _getOrdersTrackingCode()
|
72 |
+
{
|
73 |
+
Mage::log("Entry Knolseed_Engage_Block_Ga::_getOrdersTrackingCode()",null,'knolseed.log');
|
74 |
+
|
75 |
+
$orderIds = $this->getOrderIds();
|
76 |
+
if (empty($orderIds) || !is_array($orderIds)) {
|
77 |
+
return;
|
78 |
+
}
|
79 |
+
$collection = Mage::getResourceModel('sales/order_collection')
|
80 |
+
->addFieldToFilter('entity_id', array('in' => $orderIds))
|
81 |
+
;
|
82 |
+
$result = array();
|
83 |
+
foreach ($collection as $order) {
|
84 |
+
if ($order->getIsVirtual()) {
|
85 |
+
$address = $order->getBillingAddress();
|
86 |
+
} else {
|
87 |
+
$address = $order->getShippingAddress();
|
88 |
+
}
|
89 |
+
$result[] = sprintf("_gaq.push(['_addTrans', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s']);",
|
90 |
+
$order->getIncrementId(),
|
91 |
+
$this->jsQuoteEscape(Mage::app()->getStore()->getFrontendName()),
|
92 |
+
$order->getBaseGrandTotal(),
|
93 |
+
$order->getBaseTaxAmount(),
|
94 |
+
$order->getBaseShippingAmount(),
|
95 |
+
$this->jsQuoteEscape(Mage::helper('core')->escapeHtml($address->getCity())),
|
96 |
+
$this->jsQuoteEscape(Mage::helper('core')->escapeHtml($address->getRegion())),
|
97 |
+
$this->jsQuoteEscape(Mage::helper('core')->escapeHtml($address->getCountry()))
|
98 |
+
);
|
99 |
+
foreach ($order->getAllVisibleItems() as $item) {
|
100 |
+
$cats = $item->getProduct()->getCategoryIds();
|
101 |
+
$catname = "";
|
102 |
+
foreach ($cats as $category_id) {
|
103 |
+
$_cat = Mage::getModel('catalog/category')->load($category_id) ;
|
104 |
+
$catname = $_cat->getName();
|
105 |
+
}
|
106 |
+
$result[] = sprintf("_gaq.push(['_addItem', '%s', '%s', '%s', '%s', '%s', '%s']);",
|
107 |
+
$order->getIncrementId(),
|
108 |
+
$this->jsQuoteEscape($item->getSku()), $this->jsQuoteEscape($item->getName()),
|
109 |
+
$catname, // there is no "category" defined for the order item
|
110 |
+
$item->getBasePrice(), $item->getQtyOrdered()
|
111 |
+
);
|
112 |
+
}
|
113 |
+
$result[] = "_gaq.push(['_trackTrans']);";
|
114 |
+
}
|
115 |
+
return implode("\n", $result);
|
116 |
+
}
|
117 |
+
}
|
lib/knolseed/Engage/Helper/Data.php
ADDED
@@ -0,0 +1,1801 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
|
10 |
+
class Knolseed_Engage_Helper_Data extends Mage_Core_Helper_Abstract
|
11 |
+
{
|
12 |
+
|
13 |
+
public $daytimeinminutes = '1440';
|
14 |
+
public $numberofdays = '30';
|
15 |
+
public $interval = '240';
|
16 |
+
public $records = '10000';
|
17 |
+
public $customerattributes = array();
|
18 |
+
public $productattributes = array();
|
19 |
+
public $categoryAttributes = array();
|
20 |
+
public $intervalRange = 30;
|
21 |
+
|
22 |
+
# To be configured appropriately
|
23 |
+
public $global_log_level = 'PROD';
|
24 |
+
# public $global_log_level = 'DEV';
|
25 |
+
|
26 |
+
/* contructing customer and product attributes*/
|
27 |
+
public function __construct() {
|
28 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::__construct()",null,'knolseed.log');
|
29 |
+
|
30 |
+
// Get Customer Attributes from Database
|
31 |
+
$customervalues = Mage::getModel('engage/customervalues')->toOptionArray();
|
32 |
+
foreach ($customervalues AS $key => $value)
|
33 |
+
{
|
34 |
+
$this->customerattributes[] = $value['value'];
|
35 |
+
}
|
36 |
+
|
37 |
+
// Get Product Attributes from Database
|
38 |
+
$productvalues = Mage::getModel('engage/productvalues')->toOptionArray();
|
39 |
+
foreach ($productvalues AS $key => $value)
|
40 |
+
{
|
41 |
+
$this->productattributes[] = $value['value'];
|
42 |
+
}
|
43 |
+
|
44 |
+
$this->kslog('DEBUG',"productattributes=".print_r($this->productattributes,true), null, 'knolseed.log');
|
45 |
+
}
|
46 |
+
|
47 |
+
/* Creating log */
|
48 |
+
public function kslog($loglevel, $msg, $two, $file){
|
49 |
+
# Mage::log("In kslog, params=".$loglevel.",".$msg.",".$two.",".$file, null, 'knolseed.log');
|
50 |
+
# Mage::log("In kslog, global_log_level=".$this->global_log_level, null, 'knolseed.log');
|
51 |
+
|
52 |
+
switch ($loglevel)
|
53 |
+
{
|
54 |
+
case 'DEBUG':
|
55 |
+
# Mage::log("its debug",null,'knolseed.log');
|
56 |
+
# IF its debug, only log in dev env
|
57 |
+
switch($this->global_log_level){
|
58 |
+
case 'DEV':
|
59 |
+
# Mage::log("its debug & dev",null,'knolseed.log');
|
60 |
+
Mage::log($msg, $two, $file);
|
61 |
+
break;
|
62 |
+
|
63 |
+
default:
|
64 |
+
# Mage::log("its debug & not dev",null,'knolseed.log');
|
65 |
+
break;
|
66 |
+
}
|
67 |
+
break;
|
68 |
+
|
69 |
+
default:
|
70 |
+
# Mage::log("its not debug",null,'knolseed.log');
|
71 |
+
# Log anyway
|
72 |
+
Mage::log($msg, $two, $file);
|
73 |
+
break;
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* This method checks next execution time for upload items CSV file.
|
79 |
+
* Next upload time
|
80 |
+
*/
|
81 |
+
public function processHistoricalData(){
|
82 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::processHistoricalData()",null,'knolseed.log');
|
83 |
+
|
84 |
+
$jobtype = 'transaction';
|
85 |
+
$clearToRun = false;
|
86 |
+
|
87 |
+
try{
|
88 |
+
$uploadtime = Mage::getStoreConfig('upload_options/upload/transaction');
|
89 |
+
$this->kslog('DEBUG',"Upload Time = ".print_r($uploadtime,true),null,'knolseed.log');
|
90 |
+
|
91 |
+
// return false if there is no time set.
|
92 |
+
if( !trim($uploadtime) ) {
|
93 |
+
return false ;
|
94 |
+
}
|
95 |
+
|
96 |
+
$time = Mage::getStoreConfig('upload_options/upload/time');
|
97 |
+
$uploadinfo = explode(",",Mage::getStoreConfig('upload_options/upload/upload_info',Mage::app()->getStore()->getId()));
|
98 |
+
|
99 |
+
//if($uploadtime == Date("Y-m-d H:i"))
|
100 |
+
if( $this->checkExecuteTime($uploadtime, $jobtype) )
|
101 |
+
{
|
102 |
+
// Already running?
|
103 |
+
$clearToRun = $this->acquireLock('transaction', date("Ymd"));
|
104 |
+
if($clearToRun==false){
|
105 |
+
return;
|
106 |
+
}
|
107 |
+
|
108 |
+
$this->kslog('DEBUG',"processHistoricalData() - Acquired Lock",null,'knolseed.log');
|
109 |
+
|
110 |
+
// set time backtime
|
111 |
+
$coredataobj = new Mage_Core_Model_Config();
|
112 |
+
$coredataobj->saveConfig('upload_options/upload/transaction', ' ' ,'default', 0);
|
113 |
+
Mage::app()->getStore()->resetConfig();
|
114 |
+
|
115 |
+
$timeinterval = Mage::getStoreConfig('upload_options/upload/timeframe');
|
116 |
+
$nextexecutiontime = date('Y-m-d', strtotime($timeinterval." month"));
|
117 |
+
|
118 |
+
// Get total number of days
|
119 |
+
$totalnoofdays = $this->numberofdays*$timeinterval;
|
120 |
+
|
121 |
+
$this->kslog('DEBUG',"Starting Datasync for #days = ".print_r($totalnoofdays,true),null,'knolseed.log');
|
122 |
+
|
123 |
+
if(in_array('1', $uploadinfo))
|
124 |
+
{
|
125 |
+
# for($i=$totalnoofdays;$i>=0;$i--){
|
126 |
+
# $this->getTransactionInfo($i, $uploadtime, $type='transaction', $timeinterval);
|
127 |
+
# }
|
128 |
+
$filenames = array();
|
129 |
+
for($i=$totalnoofdays; $i>=0; $i--){
|
130 |
+
// Log error msgs for each exception and continue.
|
131 |
+
try {
|
132 |
+
$filename = $this->getTransactionInfo($i, $uploadtime, $type='transaction', $timeinterval);
|
133 |
+
$filenames[] = $filename;
|
134 |
+
} catch (Exception $e1) {
|
135 |
+
$errmsg = $e1->getMessage();
|
136 |
+
$this->kslog('ERROR', $errmsg, null, 'knolseed.err');
|
137 |
+
$this->errorAdminNotification('Transaction-Data-Sync',
|
138 |
+
"Error",
|
139 |
+
"Error in Transaction Data Sync: ".$errmsg.". Please email support@knolseed.com about this error, and we will help you to fix this problem.",
|
140 |
+
'',
|
141 |
+
true
|
142 |
+
);
|
143 |
+
}
|
144 |
+
} # for
|
145 |
+
|
146 |
+
if(count($filenames)>0){
|
147 |
+
# Upload Manifest file
|
148 |
+
$manifest_file_name = "Txn_".date('Ymd').".gz";
|
149 |
+
$observer = new Knolseed_Engage_Model_Observer();
|
150 |
+
$observer->addManifestFile($manifest_file_name, $type, '', $filenames);
|
151 |
+
}
|
152 |
+
}
|
153 |
+
|
154 |
+
if(in_array('2', $uploadinfo))
|
155 |
+
{
|
156 |
+
for($k=$totalnoofdays;$k>=0;$k--){
|
157 |
+
$this->getBrowsingInfo($k, $uploadtime, $type='weblog', $timeinterval);
|
158 |
+
}
|
159 |
+
}
|
160 |
+
}
|
161 |
+
|
162 |
+
}catch(Exception $e){
|
163 |
+
$errormessage = "Critical Error! Transaction data sync unable to authenticate with Knolseed. Please email support@knolseed.com about this error, and we will help you to fix this problem." ;
|
164 |
+
$this->errorAdminNotification('Upload-initialize-error','uploaddata',$errormessage,'',true);
|
165 |
+
}
|
166 |
+
|
167 |
+
if($clearToRun==true){
|
168 |
+
$this->kslog('DEBUG',"processHistoricalData() - Releasing Lock",null,'knolseed.log');
|
169 |
+
$this->releaseLock('transaction', date("Ymd"));
|
170 |
+
}
|
171 |
+
|
172 |
+
}
|
173 |
+
|
174 |
+
|
175 |
+
/* function to print product categories*/
|
176 |
+
public function printCategories(){
|
177 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::printCategories()",null,'knolseed.log');
|
178 |
+
# $this->printCategories_1();
|
179 |
+
}
|
180 |
+
|
181 |
+
|
182 |
+
/* function to print categories */
|
183 |
+
public function printCategories_1(){
|
184 |
+
$category = Mage::getModel('catalog/category');
|
185 |
+
$tree = $category->getTreeModel();
|
186 |
+
$tree->load();
|
187 |
+
$ids = $tree->getCollection()->getAllIds();
|
188 |
+
if ($ids){
|
189 |
+
foreach ($ids as $id){
|
190 |
+
$cat = Mage::getModel('catalog/category');
|
191 |
+
$cat->load($id);
|
192 |
+
|
193 |
+
$entity_id = $cat->getId();
|
194 |
+
$name = $cat->getName();
|
195 |
+
$url_key = $cat->getUrlKey();
|
196 |
+
$url_path = $cat->getUrlPath();
|
197 |
+
$level = $cat->getLevel();
|
198 |
+
|
199 |
+
|
200 |
+
# $parent_id = $cat->getParentId();
|
201 |
+
# Mage::log("Category: ID=".$entity_id.", Name=".$name.", URL=".$url_path.", ParentId=".$parent_id,null,'knolseed.log');
|
202 |
+
|
203 |
+
$this->kslog('DEBUG',"Category: ID=".$entity_id.", Name=".$name.", URL=".$url_path, null, 'knolseed.log');
|
204 |
+
if($level && $level==2){
|
205 |
+
$this->kslog('DEBUG',"Its a base category", null, 'knolseed.log');
|
206 |
+
}
|
207 |
+
}
|
208 |
+
}else{
|
209 |
+
$this->kslog('DEBUG',"Categories is empty!",null,'knolseed.log');
|
210 |
+
}
|
211 |
+
}
|
212 |
+
|
213 |
+
|
214 |
+
/**
|
215 |
+
* This method returns information related to sales order item.
|
216 |
+
*
|
217 |
+
*/
|
218 |
+
public function getTransactionInfo($count,$startendtime,$type,$duration){
|
219 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::getTransactionInfo()",null,'knolseed.log');
|
220 |
+
|
221 |
+
try{
|
222 |
+
// Get sales order itmes collection
|
223 |
+
$collection = Mage::getResourceModel('sales/order_item_collection');
|
224 |
+
|
225 |
+
$createdday = date('Y-m-d',strtotime("-$count day"));
|
226 |
+
$filerandate = date('Ymd',strtotime("-$count day"));
|
227 |
+
$fileranstartdate = date('Y-m-d 00:00:00',strtotime("-$count day"));
|
228 |
+
$fileranenddate = date('Y-m-d 24:00:00',strtotime("-$count day"));
|
229 |
+
|
230 |
+
$collection->getSelect()->joinLeft(array('sfo'=>'sales_flat_order'),
|
231 |
+
'main_table.order_id = sfo.entity_id',array('sfo.shipping_amount','sfo.customer_id','sfo.increment_id',
|
232 |
+
'sfo.grand_total','sfo.base_currency_code','sfo.order_currency_code','sfo.global_currency_code','sfo.store_currency_code'));
|
233 |
+
|
234 |
+
$collection->addFieldToFilter('main_table.created_at',array('like' => $createdday.'%'));
|
235 |
+
|
236 |
+
// File path for saving CSV
|
237 |
+
$path = Mage::getBaseDir('var')."/";
|
238 |
+
|
239 |
+
$dateTs = strtotime($createdday);
|
240 |
+
$dateStr = date('Ymd',$dateTs);
|
241 |
+
// CSV filename
|
242 |
+
$filename = "Txn_".$dateStr."_1_of_1.csv.gz" ;
|
243 |
+
|
244 |
+
// Open CSv file in gzip mode
|
245 |
+
//$fp = fopen($path."/".$filename, 'w');
|
246 |
+
$fp = gzopen($path.$filename,'w9');
|
247 |
+
|
248 |
+
// Metadata headers for CSV file
|
249 |
+
// Line items 1 as per requirement
|
250 |
+
$removedays = $duration*30 ;
|
251 |
+
$currentday = date('Ymd');
|
252 |
+
//$startdaytime = date('Y-m-d H:i:s', strtotime(-$removedays." day"));
|
253 |
+
$startdaytime = date('Y-m-d H:i:s');
|
254 |
+
$etime = strtotime($startendtime);
|
255 |
+
$endtime = date('Y-m-d H:i:s', $etime);
|
256 |
+
$metaheaders = "";
|
257 |
+
$metaheaders = '# "'.$type.'","'.$filerandate.'","'.$fileranstartdate.'","'.$fileranenddate.'"'."\n" ;
|
258 |
+
//$metaheaders = "# ".$type.",".$currentday.",".$startdaytime.",".$endtime."\n" ;
|
259 |
+
gzwrite($fp, $metaheaders);
|
260 |
+
|
261 |
+
// Line items 2 as per requirement
|
262 |
+
$metaheadersline2 = "";
|
263 |
+
$metaheadersline2 = '#= id=\'Transaction_id\', cid=\'Customer_id\', sku=\'sku\', category=\'Category_Ids\', timestamp=\'Timestamp\', total=\'Transaction Amount\''."\n" ;
|
264 |
+
gzwrite($fp, $metaheadersline2);
|
265 |
+
|
266 |
+
//Double quotes logic for headers
|
267 |
+
$transaction_id_header = 'Transaction_id';
|
268 |
+
$customer_id_header = 'Customer_id';
|
269 |
+
$timestamp_header = 'Timestamp';
|
270 |
+
$Product_id_header = 'Product_id';
|
271 |
+
$sku_header = 'sku';
|
272 |
+
$Category_header = 'Category';
|
273 |
+
$category_ids_header = 'Category_Ids';
|
274 |
+
$Tax_header = 'Tax';
|
275 |
+
$Shipping_header = 'Shipping';
|
276 |
+
|
277 |
+
$headers_transaction = '"'.$transaction_id_header.'","'.$customer_id_header.'","'.$timestamp_header.'","'.$Product_id_header.'","'.$sku_header.'","'.$Category_header.'","'.$category_ids_header.'","Transaction Amount","No of items","'.$Tax_header.'","'.$Shipping_header.'","Product Description","base_currency_code","order_currency_code","store_currency_code","global_currency_code"'."\n" ;
|
278 |
+
gzwrite($fp, $headers_transaction) ;
|
279 |
+
|
280 |
+
// Iterate through sales order items
|
281 |
+
foreach($collection as $col){
|
282 |
+
# Mage::log("Found txn:".print_r($col,true),null,'knolseed.log');
|
283 |
+
|
284 |
+
$customer_id = str_replace('"', '""', $col['customer_id']);
|
285 |
+
$transaction_id = str_replace('"', '""', $col['increment_id']);
|
286 |
+
$timestamp = $col['created_at'];
|
287 |
+
$product_id = str_replace('"', '""', $col['product_id']);
|
288 |
+
$sku = str_replace('"', '""', $col['sku']);
|
289 |
+
$transaction_amount = $col['grand_total'];
|
290 |
+
$items = $col['qty_ordered'];
|
291 |
+
$tax = $col['tax_amount'];
|
292 |
+
$shipping = $col['shipping_amount'];
|
293 |
+
$description = str_replace('"', '""', $col['description']);
|
294 |
+
$proid = str_replace('"', '""', $col['product_id']);
|
295 |
+
|
296 |
+
$bcc = str_replace('"', '""', $col['base_currency_code']);
|
297 |
+
$occ = str_replace('"', '""', $col['order_currency_code']);
|
298 |
+
$scc = str_replace('"', '""', $col['store_currency_code']);
|
299 |
+
$gcc = str_replace('"', '""', $col['global_currency_code']);
|
300 |
+
|
301 |
+
$product = Mage::getModel('catalog/product')->load($proid);
|
302 |
+
|
303 |
+
# Mage::log("Found product:".print_r($product,true),null,'knolseed.log');
|
304 |
+
|
305 |
+
$product_price = $product->getFinalPrice() ;
|
306 |
+
|
307 |
+
$categorynames = array() ;
|
308 |
+
$categoryIds = array();
|
309 |
+
foreach( $product->getCategoryIds() as $categoryid ) {
|
310 |
+
$categoryIds[] = $categoryid;
|
311 |
+
$catagory_model = Mage::getModel('catalog/category');
|
312 |
+
$categories = $catagory_model->load($categoryid); // where $id will be the known category id
|
313 |
+
$categorynames[] = $categories->getName();
|
314 |
+
}
|
315 |
+
$cats = implode(",", $categorynames);
|
316 |
+
$cats = str_replace('"', '""', $cats);
|
317 |
+
$catids = implode(",", $categoryIds);
|
318 |
+
|
319 |
+
gzwrite($fp, '"'.$transaction_id.'","'.$customer_id.'","'.$timestamp.'","'.$product_id.'","'.$sku.'","'.$cats.'","'.$catids.'","'.$product_price.'","'.$items.'","'.$tax.'","'.$shipping.'","'.$description.'","'.$bcc.'","'.$occ.'","'.$scc.'","'.$gcc.'"'."\n");
|
320 |
+
|
321 |
+
}
|
322 |
+
gzclose($fp);
|
323 |
+
|
324 |
+
$filepath = $path."/".$filename;
|
325 |
+
$actual_file_name = $filename ;
|
326 |
+
$observer = new Knolseed_Engage_Model_Observer();
|
327 |
+
if( $observer->pushFileToS3($filepath, $actual_file_name, $type='transaction', false, '') ) {
|
328 |
+
unlink($filepath);
|
329 |
+
return $filename;
|
330 |
+
}
|
331 |
+
|
332 |
+
}catch(Exception $e){
|
333 |
+
$errormessage = "Critical Error! Transaction data dump failed for ". $createdday ." with error ". $filename ." Please email support@knolseed.com about this error, and we will help you to fix this problem." ;
|
334 |
+
$this->errorAdminNotification('transactionCSV','transaction',$errormessage,$filename,true);
|
335 |
+
}
|
336 |
+
}
|
337 |
+
|
338 |
+
|
339 |
+
/**
|
340 |
+
* This method returns information related to visitor's browsing information.
|
341 |
+
*
|
342 |
+
*/
|
343 |
+
public function getBrowsingInfo($count,$startendtime,$type,$duration){
|
344 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::getBrowsingInfo()",null,'knolseed.log');
|
345 |
+
|
346 |
+
try{
|
347 |
+
// Get read connection object
|
348 |
+
$readAdapter = Mage::getSingleton('core/resource')->getConnection('core_read');
|
349 |
+
|
350 |
+
// Get date to filter collection
|
351 |
+
$createdday = date('Y-m-d',strtotime("-$count day"));
|
352 |
+
$filerandate = date('Ymd',strtotime("-$count day"));
|
353 |
+
$fileranstartdate = date('Y-m-d 00:00:00',strtotime("-$count day"));
|
354 |
+
$fileranenddate = date('Y-m-d 24:00:00',strtotime("-$count day"));
|
355 |
+
|
356 |
+
// Select query for retrieving required browsing info
|
357 |
+
$select = $readAdapter->select()
|
358 |
+
->from('log_url', array('visitor_id','visit_time'))
|
359 |
+
->join(array('lui' => 'log_url_info'), 'lui.url_id=log_url.url_id', array('url'))
|
360 |
+
->where('visit_time like ?', $createdday.'%');
|
361 |
+
|
362 |
+
// Browsing info collection
|
363 |
+
$data = $readAdapter->fetchAll($select);
|
364 |
+
|
365 |
+
$this->kslog('DEBUG',"browsing data=".print_r($data,true),null,'knolseed.log');
|
366 |
+
|
367 |
+
// Path to CSV file
|
368 |
+
$path = Mage::getBaseDir('var')."/";
|
369 |
+
|
370 |
+
$dateTs = strtotime($createdday);
|
371 |
+
$dateStr = date('Ymd',$dateTs);
|
372 |
+
// CSV filename
|
373 |
+
$filename = "Browsing_".$dateStr."_1_of_1.csv.gz" ;
|
374 |
+
|
375 |
+
// CSV Filename
|
376 |
+
# $filename = "Browsing_".$createdday.".csv.gz" ;
|
377 |
+
|
378 |
+
//$fp = fopen($path."/".$filename, 'x+');
|
379 |
+
$fp = gzopen($path.$filename,'w9');
|
380 |
+
//$handle = fopen('test.csv', 'w');
|
381 |
+
|
382 |
+
// Metadata headers for CSV file
|
383 |
+
// Line items 1 as per requirement
|
384 |
+
$removedays = $duration*30 ;
|
385 |
+
$currentday = $filerandate;
|
386 |
+
$startdaytime = date('Y-m-d H:i:s', strtotime(-$removedays." day"));
|
387 |
+
$etime = strtotime($startendtime);
|
388 |
+
$endtime = date('Y-m-d H:i:s', $etime);
|
389 |
+
$metaheaders = "";
|
390 |
+
//$metaheaders = "# ".$type.",".$currentday.",".$startdaytime.",".$endtime."\n" ;
|
391 |
+
$metaheaders = '# '.$type.'","'.$currentday.'","'.$fileranstartdate.'","'.$fileranenddate.'"'."\n" ;
|
392 |
+
gzwrite($fp, $metaheaders);
|
393 |
+
|
394 |
+
// Line items 2 as per requirement
|
395 |
+
$metaheadersline2 = "";
|
396 |
+
$metaheadersline2 = '#= cid=\'Customer_id\', url=\'URL\', timestamp=\'Timestamp\''."\n" ;
|
397 |
+
//$metaheadersline2 = "# cid='Customer_id', url='URL', timestamp='Timestamp'\n" ;
|
398 |
+
gzwrite($fp, $metaheadersline2);
|
399 |
+
|
400 |
+
$customer_id_header = 'Customer_id';
|
401 |
+
$timestamp_header = 'Timestamp';
|
402 |
+
$URL_header = 'URL';
|
403 |
+
$Product_id_header = 'Product_id';
|
404 |
+
$Category_header = 'Category';
|
405 |
+
|
406 |
+
$headers_transaction = '"'.$customer_id_header.'","'.$timestamp_header.'","'.$URL_header.'","'.$Product_id_header.'","'.$Category_header.'"'."\n" ;
|
407 |
+
//fputcsv($fp, array('Customer_id','Timestamp','URL','Product_id','Category'));
|
408 |
+
gzwrite($fp, $headers_transaction) ;
|
409 |
+
|
410 |
+
foreach($data as $urlinfo){
|
411 |
+
$product = strpos($urlinfo['url'], 'product');
|
412 |
+
|
413 |
+
if ($product !== false){
|
414 |
+
$url = explode("/", $urlinfo['url']);
|
415 |
+
$productid = str_replace('"', '""', $url[count($url)-1]);
|
416 |
+
|
417 |
+
$product = Mage::getModel('catalog/product')->load($productid);
|
418 |
+
$categorynames = array() ;
|
419 |
+
foreach( $product->getCategoryIds() as $categoryid ) {
|
420 |
+
$catagory_model = Mage::getModel('catalog/category');
|
421 |
+
$categories = $catagory_model->load($categoryid); // where $id will be the known category id
|
422 |
+
$categorynames[] = $categories->getName();
|
423 |
+
}
|
424 |
+
$categoryname = str_replace('"', '""', implode(",", $categorynames) );
|
425 |
+
|
426 |
+
/*$catagory_model = Mage::getModel('catalog/category');
|
427 |
+
$categories = $catagory_model->load($categoryid); // where $id will be the known category id
|
428 |
+
$categoryname = $categories->getName();*/
|
429 |
+
# $stringurl = urlencode($urlinfo['url'])."\n";
|
430 |
+
$stringurl = $urlinfo['url']."\n";
|
431 |
+
$stringurl = str_replace('"', '""', $stringurl);
|
432 |
+
}
|
433 |
+
|
434 |
+
if( !is_numeric($productid)) {
|
435 |
+
$productid = $categoryname = "" ;
|
436 |
+
}
|
437 |
+
|
438 |
+
// Puting sales browsing items into CSV file
|
439 |
+
//fputcsv($fp, array($urlinfo['visitor_id'],$urlinfo['visit_time'],$stringurl,$productid,$categoryname));
|
440 |
+
gzwrite($fp, '"'.str_replace('"', '""', $urlinfo['visitor_id']).'","'.str_replace('"', '""', $urlinfo['visit_time']).'","'.$stringurl.'","'.$productid.'","'.$categoryname.'"'."\n");
|
441 |
+
}
|
442 |
+
|
443 |
+
// Close file
|
444 |
+
// fclose($fp);
|
445 |
+
gzclose($fp);
|
446 |
+
// Upload Browsing attributes CSV to S3 bucket
|
447 |
+
$filepath = $path."/".$filename;
|
448 |
+
$actual_file_name = $filename;
|
449 |
+
|
450 |
+
// push file to S3 bucket
|
451 |
+
$observer = new Knolseed_Engage_Model_Observer();
|
452 |
+
|
453 |
+
// unlink file if successfully pushed to S3 bucket
|
454 |
+
if( $observer->pushFileToS3($filepath, $actual_file_name, $type='browsing', false, '') ) {
|
455 |
+
unlink($filepath);
|
456 |
+
}
|
457 |
+
|
458 |
+
}catch(Exception $e){
|
459 |
+
$errormessage = "Critical Error! Transaction data dump failed for ". $createdday ." with error ". $filename ." Please email support@knolseed.com about this error, and we will help you to fix this problem." ;
|
460 |
+
|
461 |
+
// Error notification for exception
|
462 |
+
$this->errorAdminNotification('browsingCSV','browsing',$errormessage,$filename,true);
|
463 |
+
}
|
464 |
+
}
|
465 |
+
|
466 |
+
|
467 |
+
/**
|
468 |
+
* Check if its time to run!
|
469 |
+
*
|
470 |
+
* Strategy:
|
471 |
+
* Prod/Cust
|
472 |
+
* - runtime = Create timestamp in magento timezone with time = runtime.
|
473 |
+
* - now = Create now() in magento timezone.
|
474 |
+
* - if (now-runtime) < 30mins, true. Else false.
|
475 |
+
*
|
476 |
+
* Txn/Browse:
|
477 |
+
* - runtime = ts in magento tz with date & time from runtime.
|
478 |
+
* - now = same as above.
|
479 |
+
* - logic = same as above.
|
480 |
+
*/
|
481 |
+
public function checkExecuteTime($runTime, $jobType) {
|
482 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::checkExecuteTime()",null,'knolseed.log');
|
483 |
+
$this->kslog('DEBUG',"runtime = ".print_r($runTime,true),null,'knolseed.log');
|
484 |
+
|
485 |
+
$fullRunTime = $runTime;
|
486 |
+
switch ($jobType)
|
487 |
+
{
|
488 |
+
case "product":
|
489 |
+
case "customer":
|
490 |
+
$date = date("Y-m-d");
|
491 |
+
if( strcmp("00:00", $runTime) == 0){
|
492 |
+
$date = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d")+1, date("Y")) ) ;
|
493 |
+
}
|
494 |
+
$fullRunTime = $date." ".trim($runTime);
|
495 |
+
break;
|
496 |
+
|
497 |
+
default:
|
498 |
+
$fullRunTime = $runTime;
|
499 |
+
break;
|
500 |
+
}
|
501 |
+
|
502 |
+
$runTsInSecs = strtotime($fullRunTime);
|
503 |
+
$now = date("Y-m-d H:i:s");
|
504 |
+
$nowInSecs = strtotime($now);
|
505 |
+
|
506 |
+
$this->kslog('DEBUG',"Scheduled Time = ".print_r($fullRunTime,true),null,'knolseed.log');
|
507 |
+
$this->kslog('DEBUG',"Current Time = ".print_r($now,true),null,'knolseed.log');
|
508 |
+
$this->kslog('DEBUG',"Scheduled Time in secs = ".$runTsInSecs,null,'knolseed.log');
|
509 |
+
$this->kslog('DEBUG',"Scheduled Time = ".$nowInSecs,null,'knolseed.log');
|
510 |
+
|
511 |
+
if( ($runTsInSecs>=$nowInSecs) && (($runTsInSecs-$nowInSecs)<= $this->intervalRange*60) ){
|
512 |
+
$this->kslog('DEBUG',"checkExecuteTime returning true",null,'knolseed.log');
|
513 |
+
return true;
|
514 |
+
}else{
|
515 |
+
$this->kslog('DEBUG',"checkExecuteTime returning false",null,'knolseed.log');
|
516 |
+
return false;
|
517 |
+
}
|
518 |
+
}
|
519 |
+
|
520 |
+
|
521 |
+
public function getLockFileName($type, $date){
|
522 |
+
return $type."_".date("Ymd").".lock";
|
523 |
+
}
|
524 |
+
|
525 |
+
|
526 |
+
public function getLockFilePath($filename){
|
527 |
+
$path = Mage::getBaseDir('var')."/" ;
|
528 |
+
return $path.$filename;
|
529 |
+
}
|
530 |
+
|
531 |
+
|
532 |
+
public function acquireLock($type, $date){
|
533 |
+
$filename = $this->getLockFileName($type, $date);
|
534 |
+
$filepath = $this->getLockFilePath($filename);
|
535 |
+
|
536 |
+
if(file_exists($filepath)){
|
537 |
+
$this->kslog('DEBUG', "acquireLock() - File already exists:".$filepath, null, 'knolseed.log');
|
538 |
+
return false;
|
539 |
+
}else{
|
540 |
+
try{
|
541 |
+
$lockfile = fopen($filepath, "w");
|
542 |
+
fwrite($lockfile, "acquireLock() - Locking for ".print_r($date,true)."\n");
|
543 |
+
fclose($lockfile);
|
544 |
+
$this->kslog('DEBUG', "acquireLock() - Acquired Lock : ".$filepath, null, 'knolseed.log');
|
545 |
+
return true;
|
546 |
+
}catch(Exception $e){
|
547 |
+
$this->kslog('ERROR', "Error in creating file:".$e->getMessage(), null, 'knolseed.err');
|
548 |
+
}
|
549 |
+
}
|
550 |
+
|
551 |
+
$this->kslog('DEBUG', "acquireLock() - Failed to acquire Lock : ".$filepath, null, 'knolseed.log');
|
552 |
+
return false;
|
553 |
+
}
|
554 |
+
|
555 |
+
|
556 |
+
public function releaseLock($type, $date){
|
557 |
+
$filename = $this->getLockFileName($type, $date);
|
558 |
+
$filepath = $this->getLockFilePath($filename);
|
559 |
+
|
560 |
+
$this->kslog('DEBUG', "releaseLock() - Releasing Lock : ".$filepath, null, 'knolseed.log');
|
561 |
+
unlink($filepath);
|
562 |
+
}
|
563 |
+
|
564 |
+
/**
|
565 |
+
* Create Customer Attributes CSV file
|
566 |
+
*
|
567 |
+
* Place created CSV file to AWS S3 bucket
|
568 |
+
*
|
569 |
+
*/
|
570 |
+
public function processCustomerfile(){
|
571 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::processCustomerfile()",null,'knolseed.log');
|
572 |
+
|
573 |
+
$jobtype = 'customer';
|
574 |
+
$clearToRun = false;
|
575 |
+
|
576 |
+
try{
|
577 |
+
// get crontime & interval
|
578 |
+
$customer_csv_time = Mage::getStoreConfig('engage_options/customer/cron_time');
|
579 |
+
$customer_interval = $this->interval;
|
580 |
+
|
581 |
+
//if ($customer_csv_time==date("H:i"))
|
582 |
+
if( $this->checkExecuteTime($customer_csv_time, $jobtype) )
|
583 |
+
{
|
584 |
+
$all_files_uploaded = array();
|
585 |
+
|
586 |
+
// Already running?
|
587 |
+
$clearToRun = $this->acquireLock('customer', date("Ymd"));
|
588 |
+
if($clearToRun==false){
|
589 |
+
return;
|
590 |
+
}
|
591 |
+
|
592 |
+
$this->kslog('DEBUG',"processCustomerfile() - Acquired Lock",null,'knolseed.log');
|
593 |
+
|
594 |
+
// check for queue
|
595 |
+
# $this->checkForQueue('customer');
|
596 |
+
$filenames = $this->checkForQueue('customer');
|
597 |
+
if( !is_null($filenames) ){
|
598 |
+
foreach ($filenames as $fn) {
|
599 |
+
$all_files_uploaded[] = $fn;
|
600 |
+
}
|
601 |
+
}
|
602 |
+
|
603 |
+
$created_day = date('Y-m-d');
|
604 |
+
|
605 |
+
// Make process entry
|
606 |
+
$filenames = $this->makeProcessEntry($customer_csv_time, $customer_interval, 'customer');
|
607 |
+
if( !is_null($filenames) ){
|
608 |
+
foreach ($filenames as $fn) {
|
609 |
+
$all_files_uploaded[] = $fn;
|
610 |
+
}
|
611 |
+
}
|
612 |
+
|
613 |
+
// collection items for customer CSV
|
614 |
+
$processcollection = Mage::getModel('engage/engage')->getCollection()
|
615 |
+
->addFieldToFilter('type','customer')
|
616 |
+
->addFieldToFilter('created_at', array('eq' => $created_day));
|
617 |
+
$customerdata = $processcollection->getData();
|
618 |
+
|
619 |
+
$totalrecords = count($customerdata);
|
620 |
+
|
621 |
+
foreach ($customerdata as $process) {
|
622 |
+
// generate customer CSV file
|
623 |
+
$filenames = $this->createCustomerCsv($process['date_start'], $process['date_end'], $this->customerattributes, $process['process_id'], $process['filename'], $process['type'], $process['created_at'], '');
|
624 |
+
foreach($filenames as $fn){
|
625 |
+
$all_files_uploaded[] = $fn;
|
626 |
+
}
|
627 |
+
}
|
628 |
+
|
629 |
+
if(count($all_files_uploaded)>0){
|
630 |
+
# Upload Manifest file
|
631 |
+
$manifest_file_name = "Cust_".date('Ymd').".gz";
|
632 |
+
$observer = new Knolseed_Engage_Model_Observer();
|
633 |
+
$observer->addManifestFile($manifest_file_name, 'customer', '', $all_files_uploaded);
|
634 |
+
}
|
635 |
+
|
636 |
+
}
|
637 |
+
|
638 |
+
}catch(Exception $e){
|
639 |
+
$errormessage = "Error: Customer data dump failed for ". $customer_csv_time .". Will retry again later" ;
|
640 |
+
$this->errorAdminNotification('CustomerCSV-initialize-error','customer',$errormessage,'',true);
|
641 |
+
}
|
642 |
+
|
643 |
+
if($clearToRun==true){
|
644 |
+
$this->kslog('DEBUG',"processCustomerfile() - Releasing Lock",null,'knolseed.log');
|
645 |
+
$this->releaseLock('customer', date("Ymd"));
|
646 |
+
}
|
647 |
+
|
648 |
+
}
|
649 |
+
|
650 |
+
|
651 |
+
/* Creating folder in AWS */
|
652 |
+
|
653 |
+
public function getAWSFolderName($type){
|
654 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::getAWSFolderName()",null,'knolseed.log');
|
655 |
+
|
656 |
+
switch ($type)
|
657 |
+
{
|
658 |
+
case "product":
|
659 |
+
return "Product";
|
660 |
+
break;
|
661 |
+
|
662 |
+
case "customer":
|
663 |
+
return "Customer";
|
664 |
+
break;
|
665 |
+
|
666 |
+
case "transaction":
|
667 |
+
return "Transaction";
|
668 |
+
break;
|
669 |
+
|
670 |
+
case "browsing":
|
671 |
+
return "Browsing";
|
672 |
+
break;
|
673 |
+
|
674 |
+
case "category":
|
675 |
+
return "Category";
|
676 |
+
break;
|
677 |
+
|
678 |
+
default:
|
679 |
+
return "";
|
680 |
+
break;
|
681 |
+
}
|
682 |
+
}
|
683 |
+
|
684 |
+
|
685 |
+
/**
|
686 |
+
* Push created CSV files to S3 Bucket
|
687 |
+
* @param $from,$to,$attributearray,$process_id,$filename
|
688 |
+
* @return on success, creates customer CSV file & push file to S3 bucket
|
689 |
+
*/
|
690 |
+
public function createCustomerCsv($from, $to, $attributearray, $process_id, $filename, $type, $createdate, $intialexecution = false) {
|
691 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::createCustomerCsv()",null,'knolseed.log');
|
692 |
+
|
693 |
+
$files = array();
|
694 |
+
|
695 |
+
try{
|
696 |
+
// File generation path
|
697 |
+
$path = Mage::getBaseDir('var')."/" ; # if you want to add new folder for csv files just add name of folder in dir with single quote.
|
698 |
+
// Load customer object for specified interval
|
699 |
+
$model = Mage::getModel('customer/customer'); //getting product model
|
700 |
+
$collection = $model->getCollection(); //products collection
|
701 |
+
$collection->addAttributeToFilter('updated_at', array('gt' =>$from));
|
702 |
+
$collection->addAttributeToFilter('updated_at', array('lt' => $to));
|
703 |
+
|
704 |
+
# Mage::log($collection->getSelect(),null,"knolseed.log") ;
|
705 |
+
|
706 |
+
// Check if this is first time execution for customer
|
707 |
+
if($intialexecution == true){
|
708 |
+
$totalcustcount = $collection->count();
|
709 |
+
$numberofchunk = ceil($totalcustcount/$this->records);
|
710 |
+
|
711 |
+
//$fp = fopen($path.$filename, 'w');
|
712 |
+
$filename = "Cust_".date("Ymd")."_1_of_".$numberofchunk.".csv.gz" ;
|
713 |
+
|
714 |
+
$this->kslog('DEBUG',"filename = ".print_r($filename,true),null,'knolseed.log');
|
715 |
+
|
716 |
+
// Metadata headers for CSV file
|
717 |
+
// Line items 1 as per requirement
|
718 |
+
$ctime = date("Ymd", strtotime($from));
|
719 |
+
$metaheaders = "";
|
720 |
+
//Start Date & End date logic
|
721 |
+
$begindate = $collection->getFirstItem()->getCreatedAt();
|
722 |
+
$endingdate = date('Y-m-d 00:00:00');
|
723 |
+
$metaheaders = '# "'.$type.'","'.$ctime.'","'.$begindate.'","'.$endingdate.'"'."\n" ;
|
724 |
+
|
725 |
+
}else{
|
726 |
+
$ts = strtotime($createdate);
|
727 |
+
$createday = date('Ymd',$ts);
|
728 |
+
$metaheaders = "";
|
729 |
+
//$metaheaders = "# ".$type.",".$createday.",".$from.",".$to."\n" ;
|
730 |
+
$metaheaders = '# "'.$type.'","'.$ctime.'","'.$from.'","'.$to.'"'."\n" ;
|
731 |
+
}
|
732 |
+
|
733 |
+
if( !trim($filename)) {
|
734 |
+
return $files ;
|
735 |
+
}
|
736 |
+
|
737 |
+
// attributes count for customer
|
738 |
+
$customervaluescount = count($attributearray);
|
739 |
+
|
740 |
+
// Open file handler for customer CSV
|
741 |
+
// $fp = fopen($path.$filename, 'w');
|
742 |
+
$fp = gzopen($path.$filename,'w9');
|
743 |
+
|
744 |
+
// Throw exception if failure happens
|
745 |
+
if (! $fp) {
|
746 |
+
throw new Exception("File creation error.");
|
747 |
+
}
|
748 |
+
|
749 |
+
gzwrite($fp, $metaheaders);
|
750 |
+
|
751 |
+
// Line items 2 as per requirement
|
752 |
+
$metaheadersline2 = "";
|
753 |
+
$metaheadersline2 = '#= id=\'Customer_id\', email=\'email\''."\n" ;
|
754 |
+
//$metaheadersline2 = "# id='Customer_id', email='email'\n" ;
|
755 |
+
gzwrite($fp, $metaheadersline2);
|
756 |
+
|
757 |
+
// Headers for cusotmer CSV file
|
758 |
+
$headers = "";
|
759 |
+
$custatrarray = '"'.implode('","', array_map('trim',$attributearray)).'"';
|
760 |
+
$headers = '"Customer_id",'.$custatrarray."\n";
|
761 |
+
gzwrite($fp, $headers);
|
762 |
+
|
763 |
+
$attribute_values = "";
|
764 |
+
|
765 |
+
$chunkcounter = $filecounter = 1;
|
766 |
+
foreach ($collection as $customers) //loop for getting customers
|
767 |
+
{
|
768 |
+
|
769 |
+
# Mage::log($customers,null,"knolseed.log") ;
|
770 |
+
|
771 |
+
// Load customer attributes
|
772 |
+
$customer = Mage::getModel('customer/customer')->load($customers->getId());
|
773 |
+
$attributes = $customer->getAttributes();
|
774 |
+
// str_replace('"','""',$string)
|
775 |
+
$attribute_values = '"'.str_replace('"', '""', $customer->getId()).'"';
|
776 |
+
# Mage::log('Dumping customer '.$customer->getId(),null,'knolseed.log');
|
777 |
+
|
778 |
+
foreach( $attributearray as $key => $vals )
|
779 |
+
{
|
780 |
+
// Assign customer attributes value
|
781 |
+
$attributeValue = $customer->getData( $vals ) ;
|
782 |
+
|
783 |
+
// get address attributes values
|
784 |
+
// Mohan: Is empty strings & nulls handled correctly?
|
785 |
+
if( $vals == "default_billing" || $vals == "default_shipping" ) {
|
786 |
+
|
787 |
+
$address = Mage::getModel('customer/address')->load($attributeValue);
|
788 |
+
$htmlAddress = $address->format('html');
|
789 |
+
$string = (string)$htmlAddress;
|
790 |
+
# Mage::log('Key= '.$vals.', Val= '.$string,null,'knolseed.log');
|
791 |
+
|
792 |
+
// $string = ereg_replace("[ \t\n\r]+", " ", $string);
|
793 |
+
// $string = str_replace(array('<br/>', ',', '<br />'), ' ', $string);
|
794 |
+
// $string = str_replace(array('<br/>', '<br />'), ' ', $string);
|
795 |
+
$attribute_values .= ',"'.str_replace('"','""',$string).'"';
|
796 |
+
// $attribute_values .= $string ;
|
797 |
+
} else {
|
798 |
+
// Mohan: Is this regex replace necessary?
|
799 |
+
// $string = ereg_replace("[\t\n\r]+", "", $attributeValue);
|
800 |
+
// $string = str_replace('"','""',$string);
|
801 |
+
|
802 |
+
$attribute_values .= ',"'.str_replace('"','""',$attributeValue).'"';
|
803 |
+
# Mage::log('Key= '.$vals.', Val= '.$attributeValue,null,'knolseed.log');
|
804 |
+
|
805 |
+
// $attribute_values .= $string ;
|
806 |
+
//$attribute_values .= '"'.str_replace(array('<br/>', ',', '<br />'), ' ', $string).'",';
|
807 |
+
}
|
808 |
+
}
|
809 |
+
|
810 |
+
$attribute_values .= "\n";
|
811 |
+
|
812 |
+
gzwrite($fp, $attribute_values);
|
813 |
+
|
814 |
+
$filepath = $path.$filename ;
|
815 |
+
$actual_file_name = $filename ;
|
816 |
+
|
817 |
+
// Mohan: Second condition is redundant.
|
818 |
+
if( $this->records == $chunkcounter && $filecounter <= $numberofchunk){
|
819 |
+
$chunkcounter = 0;
|
820 |
+
$filecounter++;
|
821 |
+
//fclose($fp);
|
822 |
+
gzclose($fp);
|
823 |
+
|
824 |
+
$observer = new Knolseed_Engage_Model_Observer();
|
825 |
+
if($observer->pushFileToS3($filepath, $actual_file_name, 'customer', false, $process_id)){
|
826 |
+
$files[] = $actual_file_name;
|
827 |
+
$this->kslog('DEBUG', "pushFileToS3 returned true", null, 'knolseed.log');
|
828 |
+
|
829 |
+
if($process_id){
|
830 |
+
// Update customer file pushed flag
|
831 |
+
$model = Mage::getModel('engage/engage')->load($process_id);
|
832 |
+
$model->setFilePushed(1);
|
833 |
+
$model->save();
|
834 |
+
}
|
835 |
+
// remove file after push
|
836 |
+
unlink($filepath);
|
837 |
+
}
|
838 |
+
|
839 |
+
$filename = "Cust_".date("Ymd")."_".$filecounter."_of_".$numberofchunk.".csv.gz" ;
|
840 |
+
|
841 |
+
$fp = gzopen($path.$filename,'w9');
|
842 |
+
gzwrite($fp, $metaheaders);
|
843 |
+
gzwrite($fp, $metaheadersline2);
|
844 |
+
gzwrite($fp, $headers);
|
845 |
+
}
|
846 |
+
$chunkcounter++;
|
847 |
+
|
848 |
+
}
|
849 |
+
|
850 |
+
gzclose($fp);
|
851 |
+
|
852 |
+
$filepath = $path.$filename ;
|
853 |
+
$actual_file_name = $filename ;
|
854 |
+
|
855 |
+
$observer = new Knolseed_Engage_Model_Observer();
|
856 |
+
if( $observer->pushFileToS3($filepath, $actual_file_name, $type='customer', false, $process_id) ) {
|
857 |
+
$files[] = $actual_file_name;
|
858 |
+
if($process_id){
|
859 |
+
// Update customer file pushed flag
|
860 |
+
$model = Mage::getModel('engage/engage')->load($process_id);
|
861 |
+
$model->setFilePushed(1);
|
862 |
+
$model->save();
|
863 |
+
}
|
864 |
+
// remove file after push
|
865 |
+
unlink($filepath);
|
866 |
+
return $files;
|
867 |
+
}
|
868 |
+
|
869 |
+
}catch(Exception $e){
|
870 |
+
// Check if critical error or retriable error
|
871 |
+
$kf_item = Mage::getModel('engage/engage')->load($process_id);
|
872 |
+
$critical = ($kf_item->getAttempt() >= 1) ? true : false ;
|
873 |
+
|
874 |
+
// Admin notification
|
875 |
+
//$this->errorAdminNotification('customerCSV','customer',$e->getMessage(),$filename,$critical);
|
876 |
+
|
877 |
+
$errormessage = "Critical Error! Customer data dump failed for ". $from ." ". $to ." Please email support@knolseed.com about this error, and we will help you to fix this problem." ;
|
878 |
+
|
879 |
+
// Admin notification
|
880 |
+
$this->errorAdminNotification('customerCSV','customer',$errormessage,$filename,$critical);
|
881 |
+
|
882 |
+
// Update attempt counts for RETRIABLE errors
|
883 |
+
$this->updatedAttempts($process_id);
|
884 |
+
|
885 |
+
return $files;
|
886 |
+
}
|
887 |
+
}
|
888 |
+
|
889 |
+
|
890 |
+
/**
|
891 |
+
* Push created CSV files to S3 Bucket
|
892 |
+
* @param $type='customer'||'product'
|
893 |
+
* @return on success, returns list of all files pushed to S3
|
894 |
+
*/
|
895 |
+
|
896 |
+
public function checkForQueue($type){
|
897 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::checkForQueue()",null,'knolseed.log');
|
898 |
+
|
899 |
+
$files_pushed = array();
|
900 |
+
|
901 |
+
try{
|
902 |
+
// queue collection
|
903 |
+
$processcollection = Mage::getModel('engage/engage')->getCollection() //data from Kf_cron_process
|
904 |
+
->addFieldToFilter('type',$type)
|
905 |
+
->addFieldToFilter('file_pushed', 0);
|
906 |
+
|
907 |
+
# All the records for the queue
|
908 |
+
$queuedata = $processcollection->getData();
|
909 |
+
$this->kslog('DEBUG',"queuedata = ".print_r($queuedata,true),null,'knolseed.log');
|
910 |
+
|
911 |
+
// total records in queue
|
912 |
+
$totalrecords = count($queuedata);
|
913 |
+
$this->kslog('DEBUG','$totalrecords = '.print_r($totalrecords,true),null,'knolseed.log');
|
914 |
+
|
915 |
+
$path = Mage::getBaseDir('var')."/";
|
916 |
+
$this->kslog('DEBUG','$path = '.print_r($path,true),null,'knolseed.log');
|
917 |
+
|
918 |
+
if($totalrecords > 0)
|
919 |
+
{
|
920 |
+
# All entries need retries.
|
921 |
+
foreach ($queuedata as $process) {
|
922 |
+
$filenames = array();
|
923 |
+
if($type == 'customer') {
|
924 |
+
# create CSV file if file not generated
|
925 |
+
$filenames = $this->createCustomerCsv($process['date_start'], $process['date_end'], $this->customerattributes, $process['process_id'], $process['filename'], $process['type'], $process['created_at'], '') ;
|
926 |
+
}else if($type == 'product'){
|
927 |
+
# create CSV file if file not generated
|
928 |
+
$filenames = $this->createProductCsv($process['date_start'], $process['date_end'], $this->productattributes, $process['process_id'], $process['filename'], $process['type'], $process['created_at'], '') ;
|
929 |
+
}
|
930 |
+
}
|
931 |
+
|
932 |
+
foreach($filenames as $fn){
|
933 |
+
$this->kslog('INFO',"Dumped file:".$fn, null, 'knolseed.log');
|
934 |
+
$files_pushed[] = $fn;
|
935 |
+
}
|
936 |
+
|
937 |
+
}
|
938 |
+
}catch(Exception $e){
|
939 |
+
$errormessage = "Error: Data dump failed. Will retry again later" ;
|
940 |
+
$this->errorAdminNotification('Queue-checking-error','checkqueue',$errormessage,'',true);
|
941 |
+
}
|
942 |
+
|
943 |
+
return $files_pushed;
|
944 |
+
|
945 |
+
}
|
946 |
+
|
947 |
+
|
948 |
+
/**
|
949 |
+
* Push created CSV files to S3 Bucket
|
950 |
+
* @param $time,$interval,$type
|
951 |
+
* @return on success, creates kf process entry into kf_cron_process table
|
952 |
+
*/
|
953 |
+
public function makeProcessEntry($time, $interval, $type){
|
954 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::makeProcessEntry()",null,'knolseed.log');
|
955 |
+
|
956 |
+
$filenames = array();
|
957 |
+
|
958 |
+
// Getting last execution day for DB lock scenario
|
959 |
+
// FIXME: Should this also filter on file_pushed=0 ?
|
960 |
+
$collection = Mage::getModel('engage/engage')->getCollection()->addFieldToFilter('type', $type);
|
961 |
+
|
962 |
+
$lastday = $collection->getLastItem()->getCreatedAt();
|
963 |
+
$this->kslog('DEBUG',"Latest Day : ".print_r($lastday,true),null,'knolseed.log');
|
964 |
+
|
965 |
+
// get hours minutes
|
966 |
+
//list($hours,$minute) = explode(":", $time) ;
|
967 |
+
$hours = $minute = 0 ;
|
968 |
+
|
969 |
+
// Get collection count for kf_cron_process
|
970 |
+
$totalcollectionitem = $collection->getData();
|
971 |
+
$totalitmes = count($totalcollectionitem);
|
972 |
+
|
973 |
+
// Check if kf_cron_process table is empty
|
974 |
+
if($totalitmes == 0)
|
975 |
+
{
|
976 |
+
$missedexecutiondays = 0;
|
977 |
+
|
978 |
+
// Code for first time push to S3
|
979 |
+
// Getting all products & customers data
|
980 |
+
$cust_filename = "Cust_".date("Ymd")."_1_of_1.csv.gz";
|
981 |
+
$prod_filename = "Prod_".date("Ymd")."_1_of_1.csv.gz";
|
982 |
+
$start_date = "0000-00-00 00:00:00";
|
983 |
+
$end_date = date("Y-m-d H:i:00", mktime($hours, $minute, 0, date("m"), date("d"), date("Y")) ) ;
|
984 |
+
|
985 |
+
//Call Create customer function
|
986 |
+
|
987 |
+
$files_pushed = array();
|
988 |
+
if($type == 'customer')
|
989 |
+
$files_pushed = $this->createCustomerCsv($start_date, $end_date, $this->customerattributes, '', $cust_filename, 'customer', $end_date, true);
|
990 |
+
else
|
991 |
+
$files_pushed = $this->createProductCsv($start_date, $end_date, $this->productattributes, '', $prod_filename, 'product', $end_date, true);
|
992 |
+
|
993 |
+
if( !is_null($files_pushed) && count($files_pushed)>0 ){
|
994 |
+
$filenames = $files_pushed;
|
995 |
+
$this->kslog('INFO',"First time upload of ".$type." data. File successfully uploaded!", null, 'knolseed.log');
|
996 |
+
|
997 |
+
$created_at = date('Y-m-d H:i:s');
|
998 |
+
$this->kslog('DEBUG',"created_at = ".$created_at, null, 'knolseed.log');
|
999 |
+
|
1000 |
+
$model = Mage::getModel('engage/engage');
|
1001 |
+
$model->setDateStart($start_date);
|
1002 |
+
$model->setDateEnd($end_date);
|
1003 |
+
$model->setFilePushed(1);
|
1004 |
+
$model->setFilename('');
|
1005 |
+
$model->setType($type);
|
1006 |
+
$model->setCreatedAt($created_at);
|
1007 |
+
$model->save();
|
1008 |
+
}
|
1009 |
+
|
1010 |
+
}else{
|
1011 |
+
$this->kslog('INFO',"MakeProcessEntry: Non-first time scenario", null, 'knolseed.log');
|
1012 |
+
|
1013 |
+
// Get current day
|
1014 |
+
$currentday = strtotime(date('Y-m-d'));
|
1015 |
+
$lastexecutionday = strtotime($lastday);
|
1016 |
+
|
1017 |
+
$misseddays = $currentday - $lastexecutionday;
|
1018 |
+
$missedexecutiondays = ceil($misseddays/86400);
|
1019 |
+
}
|
1020 |
+
|
1021 |
+
// calculate total number of entries
|
1022 |
+
$totaldbentry = ceil($this->daytimeinminutes/$interval);
|
1023 |
+
|
1024 |
+
// looping for missedout days for failed scenario
|
1025 |
+
for($x=($missedexecutiondays-1);$x>=0;$x--){
|
1026 |
+
for($i=0;$i<$totaldbentry;$i++){
|
1027 |
+
try{
|
1028 |
+
//Process start date
|
1029 |
+
$date_start = date("Y-m-d H:i:00", mktime($hours-24, $minute+($interval*$i), 0, date("m"), date("d")-$x, date("Y")) ) ;
|
1030 |
+
//Process end date
|
1031 |
+
$date_end = date("Y-m-d H:i:00", mktime($hours-24, $minute+($interval*($i+1)), 0, date("m"), date("d")-$x, date("Y")) ) ;
|
1032 |
+
//Date time for filename
|
1033 |
+
$name = date("Ymd", mktime($hours, $minute, 0, date("m"), date("d")-$x, date("Y"))) ;
|
1034 |
+
|
1035 |
+
// filename for customer & products
|
1036 |
+
if( $type == 'customer')
|
1037 |
+
$filename = "Cust_".$name."_". ($i+1) ."_of_".$totaldbentry.".csv.gz" ;
|
1038 |
+
else
|
1039 |
+
$filename = "Prod_".$name."_". ($i+1) ."_of_".$totaldbentry.".csv.gz" ;
|
1040 |
+
|
1041 |
+
$created_at = date('Y-m-d H:i:s');
|
1042 |
+
$this->kslog('DEBUG',"created_at = ".$created_at, null, 'knolseed.log');
|
1043 |
+
|
1044 |
+
// DB entry
|
1045 |
+
$model = Mage::getModel('engage/engage');
|
1046 |
+
|
1047 |
+
$model->setDateStart($date_start);
|
1048 |
+
$model->setDateEnd($date_end);
|
1049 |
+
$model->setFilePushed(0);
|
1050 |
+
$model->setFilename($filename);
|
1051 |
+
$model->setType($type);
|
1052 |
+
$model->setCreatedAt($created_at);
|
1053 |
+
|
1054 |
+
$model->save();
|
1055 |
+
$this->kslog('INFO',"MakeProcessEntry: Added db entry for:".$filename, null, 'knolseed.log');
|
1056 |
+
}catch(Exception $e){
|
1057 |
+
$errormessage = "Error: Data dump failed. Will retry again later" ;
|
1058 |
+
|
1059 |
+
// exception for error
|
1060 |
+
$this->errorAdminNotification('KF table-lock',$type,$errormessage,$filename,true);
|
1061 |
+
}
|
1062 |
+
}
|
1063 |
+
}
|
1064 |
+
|
1065 |
+
return $filenames;
|
1066 |
+
}
|
1067 |
+
|
1068 |
+
|
1069 |
+
/**
|
1070 |
+
* Email notification to admin for on failure
|
1071 |
+
*
|
1072 |
+
*/
|
1073 |
+
public function errorAdminNotification($errormode, $errortype, $errormessage, $filename="", $critical=false){
|
1074 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::errorAdminNotification()",null,'knolseed.log');
|
1075 |
+
|
1076 |
+
try{
|
1077 |
+
// Log error message
|
1078 |
+
Mage::log($errormode.','.$errortype.','.$errormessage.','.$filename,null,'knolseed.err');
|
1079 |
+
Mage::log($errormode.','.$errortype.','.$errormessage.','.$filename,null,'knolseed.log');
|
1080 |
+
|
1081 |
+
if($critical == true){
|
1082 |
+
$errormode = 'critical-error';
|
1083 |
+
}
|
1084 |
+
|
1085 |
+
$translate = Mage::getSingleton('core/translate');
|
1086 |
+
$mailTemplate = Mage::getModel('core/email_template');
|
1087 |
+
|
1088 |
+
// check errormode
|
1089 |
+
switch ($errormode)
|
1090 |
+
{
|
1091 |
+
case "critical-error":
|
1092 |
+
$templatecode = "critical_error_notification";
|
1093 |
+
break;
|
1094 |
+
|
1095 |
+
case "productCSV":
|
1096 |
+
case "customerCSV":
|
1097 |
+
default:
|
1098 |
+
$templatecode = "general_error_notification";
|
1099 |
+
break;
|
1100 |
+
}
|
1101 |
+
|
1102 |
+
// Get general contact information
|
1103 |
+
$email = Mage::getStoreConfig('trans_email/ident_general/email');
|
1104 |
+
$name = Mage::getStoreConfig('trans_email/ident_general/name');
|
1105 |
+
$fromemail = Mage::getStoreConfig('trans_email/ident_support/email');
|
1106 |
+
|
1107 |
+
$vars = array();
|
1108 |
+
$vars['filename'] = $filename;
|
1109 |
+
$vars['errormessage'] = $errormessage;
|
1110 |
+
$vars['date'] = date('Y-m-d');
|
1111 |
+
$vars['type'] = $errortype;
|
1112 |
+
$vars['subject'] = $errormode;
|
1113 |
+
$edate = date('Y-m-d');
|
1114 |
+
|
1115 |
+
if( $errormode == "GetTemporaryCredentials" ) {
|
1116 |
+
|
1117 |
+
$subject = 'Error: sync unable to contact Knolseed';
|
1118 |
+
//$message = 'Error: Unable to contact Knolseed at https://app.knolseed.com/. Will retry again later.';
|
1119 |
+
}else if($templatecode == "general_error_notification"){
|
1120 |
+
|
1121 |
+
$subject = 'Error occured "'.$errortype.'": An error occured for "'.$filename.'".';
|
1122 |
+
//$message = 'Hi there, filename "'.$filename.'" error message "'.$errormessage.'" date "'.$edate.'" type "'.$errortype.'".';
|
1123 |
+
}else{
|
1124 |
+
|
1125 |
+
$subject = 'Critical Error! "'.$errortype.'" sync failed for "'.$filename.'"';
|
1126 |
+
//$message = 'Critical Error! "'.$errormessage.'" for "'.$filename.'". Please email support@knolseed.com about this error, and we will help you to fix this problem.';
|
1127 |
+
}
|
1128 |
+
|
1129 |
+
$message = $errormessage ;
|
1130 |
+
|
1131 |
+
$headers = 'From: "'.$fromemail.'"' ;
|
1132 |
+
mail($email, $subject, $message, $headers);
|
1133 |
+
|
1134 |
+
}catch(Exception $e){
|
1135 |
+
Mage::log("An error occurred while sending an email: ".$e->getMessage(),null,'knolseed.err');
|
1136 |
+
Mage::log("An error occurred while sending an email: ".$e->getMessage(),null,'knolseed.log');
|
1137 |
+
}
|
1138 |
+
}
|
1139 |
+
|
1140 |
+
|
1141 |
+
/**
|
1142 |
+
* Create Product Attributes CSV file
|
1143 |
+
*
|
1144 |
+
* Place created CSV file to AWS S3 bucket
|
1145 |
+
*
|
1146 |
+
* Category dump piggybacked on Product dump.
|
1147 |
+
* Check for product file, regenerate category & product if not exists or not updated.
|
1148 |
+
* Dumping categories again is small incremental load, so we can live with this.
|
1149 |
+
*
|
1150 |
+
*/
|
1151 |
+
public function processProductfile(){
|
1152 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::processProductfile()",null,'knolseed.log');
|
1153 |
+
|
1154 |
+
$jobtype = 'product';
|
1155 |
+
$clearToRun = false;
|
1156 |
+
|
1157 |
+
try{
|
1158 |
+
|
1159 |
+
$product_csv_time = Mage::getStoreConfig('engage_options/product/cron_time');
|
1160 |
+
$product_interval = $this->interval;
|
1161 |
+
|
1162 |
+
$this->kslog('DEBUG',"product_csv_time = ".print_r($product_csv_time,true),null,'knolseed.log');
|
1163 |
+
|
1164 |
+
//if ($product_csv_time==date("H:i"))
|
1165 |
+
$retval = $this->checkExecuteTime($product_csv_time, $jobtype);
|
1166 |
+
$this->kslog('DEBUG',"return value of checkExecuteTime = ".print_r($retval,true), null, 'knolseed.log');
|
1167 |
+
if( $retval )
|
1168 |
+
{
|
1169 |
+
$this->kslog('DEBUG',"checkExecuteTime",null,'knolseed.log');
|
1170 |
+
|
1171 |
+
$all_files_uploaded = array();
|
1172 |
+
|
1173 |
+
// Already running?
|
1174 |
+
$clearToRun = $this->acquireLock('product', date("Ymd"));
|
1175 |
+
if($clearToRun==false){
|
1176 |
+
return;
|
1177 |
+
}
|
1178 |
+
$this->kslog('DEBUG',"processProductfile() - Acquired Lock",null,'knolseed.log');
|
1179 |
+
|
1180 |
+
// check queue for previous failure queue items
|
1181 |
+
$filenames = $this->checkForQueue('product');
|
1182 |
+
if( !is_null($filenames) ){
|
1183 |
+
foreach ($filenames as $fn){
|
1184 |
+
$all_files_uploaded[] = $fn;
|
1185 |
+
}
|
1186 |
+
}
|
1187 |
+
$this->kslog('DEBUG',"checkForQueue",null,'knolseed.log');
|
1188 |
+
|
1189 |
+
// process entry
|
1190 |
+
$filenames = $this->makeProcessEntry($product_csv_time,$product_interval,'product');
|
1191 |
+
if( !is_null($filenames) ){
|
1192 |
+
foreach ($filenames as $fn){
|
1193 |
+
$all_files_uploaded[] = $fn;
|
1194 |
+
}
|
1195 |
+
}
|
1196 |
+
$this->kslog('DEBUG',"makeProcessEntry",null,'knolseed.log');
|
1197 |
+
|
1198 |
+
// collection items for product CSV
|
1199 |
+
$createdday = date('Y-m-d');
|
1200 |
+
|
1201 |
+
$this->kslog('DEBUG',"Created Day = ".print_r($createdday,true),null,'knolseed.log');
|
1202 |
+
|
1203 |
+
$processcollection = Mage::getModel('engage/engage')->getCollection()
|
1204 |
+
->addFieldToFilter('type','product')
|
1205 |
+
->addFieldToFilter('created_at', array('eq' => $createdday));
|
1206 |
+
|
1207 |
+
$productdata = $processcollection->getData();
|
1208 |
+
|
1209 |
+
$totalrecords = count($productdata);
|
1210 |
+
foreach ($productdata as $process)
|
1211 |
+
{
|
1212 |
+
$this->kslog('DEBUG',"process = ".print_r($process,true),null,'knolseed.log');
|
1213 |
+
|
1214 |
+
// generate product CSV file
|
1215 |
+
$filenames = $this->createProductCsv($process['date_start'], $process['date_end'],
|
1216 |
+
$this->productattributes, $process['process_id'], $process['filename'], $process['type'], $process['created_at'], '') ;
|
1217 |
+
|
1218 |
+
if( !is_null($filenames) ){
|
1219 |
+
foreach ($filenames as $fn){
|
1220 |
+
$all_files_uploaded[] = $fn;
|
1221 |
+
}
|
1222 |
+
}
|
1223 |
+
|
1224 |
+
}
|
1225 |
+
|
1226 |
+
if(count($all_files_uploaded) > 0){
|
1227 |
+
# Upload Manifest file
|
1228 |
+
$manifest_file_name = "Prod_".date('Ymd').".gz";
|
1229 |
+
$observer = new Knolseed_Engage_Model_Observer();
|
1230 |
+
$observer->addManifestFile($manifest_file_name, 'product', '', $all_files_uploaded);
|
1231 |
+
}
|
1232 |
+
|
1233 |
+
} // If(retval)
|
1234 |
+
|
1235 |
+
}catch(Exception $e){
|
1236 |
+
$errormessage = "Critical Error! Product data dump failed for ". $product_csv_time .". Please email support@knolseed.com about this error, and we will help you to fix this problem." ;
|
1237 |
+
$this->errorAdminNotification('ProductCSV-initialize-error','product',$e->getMessage(),'',true);
|
1238 |
+
}
|
1239 |
+
|
1240 |
+
if($clearToRun==true){
|
1241 |
+
$this->kslog('DEBUG',"processProductfile() - Releasing Lock",null,'knolseed.log');
|
1242 |
+
$this->releaseLock('product', date("Ymd"));
|
1243 |
+
}
|
1244 |
+
|
1245 |
+
}
|
1246 |
+
|
1247 |
+
|
1248 |
+
/**
|
1249 |
+
* Create Product Attributes CSV file
|
1250 |
+
*
|
1251 |
+
* Place created CSV file to AWS S3 bucket
|
1252 |
+
*
|
1253 |
+
*/
|
1254 |
+
public function createProductCsv($from, $to, $attributearray, $process_id, $filename, $type, $createdate, $intialexecution = false){
|
1255 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::createProductCsv()", null, 'knolseed.log');
|
1256 |
+
$this->kslog('DEBUG', "From=".$from.", To=".$to.", Type=".$type.", CreateDate=".$createdate, null, 'knolseed.log');
|
1257 |
+
$this->kslog('DEBUG',"attributearray=".$attributearray, null, 'knolseed.log');
|
1258 |
+
|
1259 |
+
$files = array();
|
1260 |
+
|
1261 |
+
$this->createCategoryCsv($from, $to, $attributearray, $process_id, $filename, $type, $createdate, $intialexecution);
|
1262 |
+
|
1263 |
+
try{
|
1264 |
+
// get product item collection for defined interval
|
1265 |
+
$collection = Mage::getModel('catalog/product')->getCollection();
|
1266 |
+
$collection->addAttributeToFilter('updated_at', array('gt' =>$from));
|
1267 |
+
$collection->addAttributeToFilter('updated_at', array('lt' => $to));
|
1268 |
+
|
1269 |
+
// CSV file save path
|
1270 |
+
$path = Mage::getBaseDir('var')."/"; # if you want to add new folder for csv files just add name of folder in dir with single quote.
|
1271 |
+
|
1272 |
+
// Check if this is first time execution for customer
|
1273 |
+
if($intialexecution == true){
|
1274 |
+
$totalcustcount = $collection->count();
|
1275 |
+
$numberofchunk = ceil($totalcustcount/$this->records);
|
1276 |
+
|
1277 |
+
//$fp = fopen($path.$filename, 'w');
|
1278 |
+
$filename = "Prod_".date("Ymd")."_1_of_".$numberofchunk.".csv.gz" ;
|
1279 |
+
|
1280 |
+
// Metadata headers for CSV file
|
1281 |
+
// Line items 1 as per requirement
|
1282 |
+
$ctime = date("Ymd", strtotime($from));
|
1283 |
+
$metaheaders = "";
|
1284 |
+
|
1285 |
+
//Start Date & End date logic
|
1286 |
+
$begindate = $collection->getFirstItem()->getCreatedAt();
|
1287 |
+
$endingdate = date('Y-m-d 00:00:00');
|
1288 |
+
$metaheaders = '# "'.$type.'","'.$ctime.'","'.$begindate.'","'.$endingdate.'"'."\n" ;
|
1289 |
+
}else{
|
1290 |
+
$ts = strtotime($createdate);
|
1291 |
+
$createday = date('Ymd',$ts);
|
1292 |
+
$metaheaders = "";
|
1293 |
+
$metaheaders = '# "'.$type.'","'.$createday.'","'.$from.'","'.$to.'"'."\n" ;
|
1294 |
+
}
|
1295 |
+
|
1296 |
+
// product attributes list
|
1297 |
+
$productvaluescount = count($attributearray);
|
1298 |
+
$field_names_arr = array();
|
1299 |
+
foreach ($attributearray as $field_name) {
|
1300 |
+
if($field_name != "sku" && $field_name != "category_ids"){
|
1301 |
+
$field_names_arr[] = $field_name;
|
1302 |
+
}
|
1303 |
+
}
|
1304 |
+
$this->kslog('DEBUG',"field_names_arr=".print_r($field_names_arr, true), null, 'knolseed.log');
|
1305 |
+
$this->kslog('DEBUG',"field_names_arr length=".print_r(count($field_names_arr), true), null, 'knolseed.log');
|
1306 |
+
|
1307 |
+
// Gotcha? Is the 'trim' complicating field lookups?
|
1308 |
+
$product_Attr_str = '"'.implode('","', array_map('trim', $field_names_arr)).'"';
|
1309 |
+
$this->kslog('DEBUG',"product_Attr_str=".$product_Attr_str, null, 'knolseed.log');
|
1310 |
+
|
1311 |
+
if( !trim($filename)) {
|
1312 |
+
return $files ;
|
1313 |
+
}
|
1314 |
+
|
1315 |
+
// open CSV for product
|
1316 |
+
//$fp = fopen($path.$filename, "w");
|
1317 |
+
$fp = gzopen($path.$filename,'w9');
|
1318 |
+
// throw exception if file opening file
|
1319 |
+
if (! $fp) {
|
1320 |
+
throw new Exception("File creation error.");
|
1321 |
+
}
|
1322 |
+
|
1323 |
+
gzwrite($fp,$metaheaders);
|
1324 |
+
|
1325 |
+
// Line items 2 as per requirement
|
1326 |
+
$metaheadersline2 = "";
|
1327 |
+
$metaheadersline2 = '#= id=\'Sku\', url=\'url_key\',category=\'category_ids\''."\n" ;
|
1328 |
+
$this->kslog('DEBUG',"metaheadersline2=".$metaheadersline2, null, 'knolseed.log');
|
1329 |
+
gzwrite($fp, $metaheadersline2);
|
1330 |
+
|
1331 |
+
// headers for product CSV file
|
1332 |
+
$headers = '"product_id","Sku","created_at","updated_at",'.$product_Attr_str.',"category_ids"'."\n"; //"created_at,updated_at" by dinesh
|
1333 |
+
$this->kslog('DEBUG',"headers=".$headers, null, 'knolseed.log');
|
1334 |
+
|
1335 |
+
gzwrite($fp,$headers);
|
1336 |
+
|
1337 |
+
$chunkcounter = $filecounter = 1;
|
1338 |
+
foreach ($collection as $products) //loop for getting products
|
1339 |
+
{
|
1340 |
+
// load product
|
1341 |
+
$pid = $products->getId();
|
1342 |
+
$attribute_values = '"'.str_replace('"', '""', $pid).'"';
|
1343 |
+
|
1344 |
+
$product = Mage::getModel('catalog/product')->load($products->getId());
|
1345 |
+
$attributes = $product->getAttributes();
|
1346 |
+
|
1347 |
+
$attribute_values .= ',"'.str_replace('"', '""', $product->getSku()).'"';
|
1348 |
+
|
1349 |
+
$this->kslog('DEBUG',"Starting loop for SKU=".$product->getSku(), null, 'knolseed.log');
|
1350 |
+
|
1351 |
+
//added column for created_date
|
1352 |
+
$created_at = $product->getCreatedAt();
|
1353 |
+
if($created_at===null){
|
1354 |
+
$attribute_values .= ',""';
|
1355 |
+
}else{
|
1356 |
+
$attribute_values .= ',"'.$created_at.'"';
|
1357 |
+
}
|
1358 |
+
|
1359 |
+
//added column for updated_date
|
1360 |
+
$updated_at = $product->getUpdatedAt();
|
1361 |
+
if($updated_at===null){
|
1362 |
+
$attribute_values .= ',""';
|
1363 |
+
}else{
|
1364 |
+
$attribute_values .= ',"'.$updated_at.'"';
|
1365 |
+
}
|
1366 |
+
|
1367 |
+
|
1368 |
+
// Iterate list of attributes for this product
|
1369 |
+
$productvaluescount = count($field_names_arr);
|
1370 |
+
for($i=0;$i<$productvaluescount;$i++)
|
1371 |
+
{
|
1372 |
+
$attributeName = $field_names_arr[$i];
|
1373 |
+
# Mage::log("attributeName=".$attributeName, null, 'knolseed.log');
|
1374 |
+
|
1375 |
+
if($attributeName!='sku')
|
1376 |
+
{
|
1377 |
+
$this->kslog('DEBUG',"Its not sku", null, 'knolseed.log');
|
1378 |
+
|
1379 |
+
$attributeValue = null;
|
1380 |
+
if(array_key_exists($attributeName , $attributes))
|
1381 |
+
{
|
1382 |
+
$this->kslog('DEBUG',"Array key exists", null, 'knolseed.log');
|
1383 |
+
$attributesobj = $attributes["{$attributeName}"];
|
1384 |
+
|
1385 |
+
if( $attributesobj->getAttributeCode() == "category_ids" ){
|
1386 |
+
continue;
|
1387 |
+
}elseif($attributesobj->getAttributeCode() == "media_gallery")
|
1388 |
+
{
|
1389 |
+
$this->kslog('DEBUG',"Got media_gallery", null, 'knolseed.log');
|
1390 |
+
|
1391 |
+
$attributes = $product->getTypeInstance(true)->getSetAttributes($product);
|
1392 |
+
|
1393 |
+
$galleryData = $product->getData('media_gallery');
|
1394 |
+
|
1395 |
+
$stringimg = '';
|
1396 |
+
foreach ($galleryData['images'] as &$image) {
|
1397 |
+
$finalpath = $image['file'];
|
1398 |
+
$stringimg .= $finalpath.',';
|
1399 |
+
}
|
1400 |
+
$attributeValue = rtrim($stringimg, ",");
|
1401 |
+
if(strlen($attributeValue) ==0){
|
1402 |
+
$attribute_values .= ',""';
|
1403 |
+
}else{
|
1404 |
+
$attribute_values .= ',"'.str_replace('"','""',$attributeValue).'"';
|
1405 |
+
}
|
1406 |
+
|
1407 |
+
}elseif($attributesobj->getAttributeCode() == "url_key")
|
1408 |
+
{
|
1409 |
+
$this->kslog('DEBUG',"Got url_key", null, 'knolseed.log');
|
1410 |
+
$categoryIds = $product->getCategoryIds();
|
1411 |
+
$string = '';
|
1412 |
+
if(count($categoryIds) ){
|
1413 |
+
$y=0;
|
1414 |
+
foreach($categoryIds as $catid){
|
1415 |
+
$CategoryId = $catid[$y];
|
1416 |
+
|
1417 |
+
$_category = Mage::getModel('catalog/category')->load($CategoryId);
|
1418 |
+
$url = $product->getUrlPath($_category);
|
1419 |
+
if(substr($url, 0, 1) != '/'){
|
1420 |
+
$url = substr_replace($url, '/', 0, 0);
|
1421 |
+
}
|
1422 |
+
|
1423 |
+
$string .= $url.' ';
|
1424 |
+
}
|
1425 |
+
$urltobeencode = rtrim($string, ",");
|
1426 |
+
# $attributeValue = urlencode($urltobeencode);
|
1427 |
+
$attributeValue = $urltobeencode;
|
1428 |
+
if(strlen($attributeValue) == 0){
|
1429 |
+
$attribute_values .= ',""';
|
1430 |
+
}else{
|
1431 |
+
$attribute_values .= ',"'.str_replace('"','""',$attributeValue).'"';
|
1432 |
+
}
|
1433 |
+
|
1434 |
+
}
|
1435 |
+
}elseif( $attributesobj->getAttributeCode() == "activation_information" ){
|
1436 |
+
$this->kslog('DEBUG',"Got activation_information. Adding blankstr", null, 'knolseed.log');
|
1437 |
+
$attribute_values .= ',""';
|
1438 |
+
}elseif( $attributesobj->getAttributeCode() == "description" ){
|
1439 |
+
$this->kslog('DEBUG',"Got description. Adding blankstr", null, 'knolseed.log');
|
1440 |
+
$attribute_values .= ',""';
|
1441 |
+
}elseif( $attributesobj->getAttributeCode() == "meta_description" ){
|
1442 |
+
$this->kslog('DEBUG',"Got meta_description. Adding blankstr", null, 'knolseed.log');
|
1443 |
+
$attribute_values .= ',""';
|
1444 |
+
}elseif( $attributesobj->getAttributeCode() == "short_description" ){
|
1445 |
+
$this->kslog('DEBUG',"Got short_description. Adding blankstr", null, 'knolseed.log');
|
1446 |
+
$attribute_values .= ',""';
|
1447 |
+
}elseif( $attributesobj->getAttributeCode() == "in_depth" ){
|
1448 |
+
$this->kslog('DEBUG',"Got in_depth. Adding blankstr", null, 'knolseed.log');
|
1449 |
+
$attribute_values .= ',""';
|
1450 |
+
}elseif( $attributesobj->getAttributeCode() == "sku" ){
|
1451 |
+
$this->kslog('DEBUG',"Got sku. Skipping...", null, 'knolseed.log');
|
1452 |
+
// $attribute_values .= ',""';
|
1453 |
+
}else{
|
1454 |
+
$this->kslog('DEBUG',"Got ".$attributesobj->getAttributeCode(), null, 'knolseed.log');
|
1455 |
+
|
1456 |
+
$attributeValue = $attributesobj->getFrontend()->getValue($product);
|
1457 |
+
//$attributeValue = str_replace(",", "",$attributeValue);
|
1458 |
+
# if(strlen($attributeValue) >= '50'){
|
1459 |
+
# $attributeValue = wordwrap($attributeValue,150,"\n",TRUE);
|
1460 |
+
# }
|
1461 |
+
|
1462 |
+
if( is_array($attributeValue)) {
|
1463 |
+
$this->kslog('DEBUG',"Is an array:".$attributeValue, null, 'knolseed.log');
|
1464 |
+
$attribute_values .= ',"'.str_replace('"', '""', implode(",", $attributeValue)).'"';
|
1465 |
+
}else{
|
1466 |
+
$this->kslog('DEBUG',"Is NOT an array:".$attributeValue, null, 'knolseed.log');
|
1467 |
+
$string=str_replace('"','""',$attributeValue);
|
1468 |
+
$attribute_values .= ',"'.$string.'"';
|
1469 |
+
}
|
1470 |
+
}
|
1471 |
+
|
1472 |
+
} // if(array_key_exists($attributeName , $attributes))
|
1473 |
+
else{
|
1474 |
+
// Attribute doesnt exist for this particular product. Just dump a default value (blank str)
|
1475 |
+
$this->kslog('DEBUG',"Array Key does not exist for attributeName=".$attributeName, null, 'knolseed.log');
|
1476 |
+
if($attributeName == "category_ids"){
|
1477 |
+
$this->kslog('DEBUG',"Its category_ids, so skipping...", null, 'knolseed.log');
|
1478 |
+
}else{
|
1479 |
+
$this->kslog('DEBUG',"Adding default = blankstr", null, 'knolseed.log');
|
1480 |
+
$attribute_values .= ',""';
|
1481 |
+
}
|
1482 |
+
}
|
1483 |
+
|
1484 |
+
// assign attribute value
|
1485 |
+
|
1486 |
+
} // if($attributeName!='sku')
|
1487 |
+
|
1488 |
+
}
|
1489 |
+
|
1490 |
+
$this->kslog('DEBUG',"Now adding categories...", null, 'knolseed.log');
|
1491 |
+
// get categories names
|
1492 |
+
$categoryIds = $product->getCategoryIds();
|
1493 |
+
$this->kslog('DEBUG',"Dumping categoryIds=".print_r($categoryIds, true), null, 'knolseed.log');
|
1494 |
+
|
1495 |
+
if(count($categoryIds) ){
|
1496 |
+
$catNames = array();
|
1497 |
+
$z=0;
|
1498 |
+
$attributeValue = "";
|
1499 |
+
$attributeValue = implode(",",$categoryIds);
|
1500 |
+
$this->kslog('DEBUG',"Adding category_ids = ".print_r($attributeValue,true), null, 'knolseed.log');
|
1501 |
+
$attribute_values .= ',"'.str_replace('"', '""', $attributeValue).'"';
|
1502 |
+
}else{
|
1503 |
+
$attribute_values .= ',';
|
1504 |
+
}
|
1505 |
+
|
1506 |
+
$attribute_values .= "\n";
|
1507 |
+
|
1508 |
+
gzwrite($fp, $attribute_values);
|
1509 |
+
|
1510 |
+
$filepath = $path.$filename ;
|
1511 |
+
$actual_file_name = $filename ;
|
1512 |
+
|
1513 |
+
if( $this->records == $chunkcounter && $filecounter < $numberofchunk){
|
1514 |
+
$chunkcounter = 0;
|
1515 |
+
$filecounter++;
|
1516 |
+
//fclose($fp);
|
1517 |
+
gzclose($fp);
|
1518 |
+
|
1519 |
+
$observer = new Knolseed_Engage_Model_Observer();
|
1520 |
+
if( $observer->pushFileToS3($filepath, $actual_file_name, 'product', false, $process_id) ) {
|
1521 |
+
$files[] = $actual_file_name;
|
1522 |
+
$this->kslog('DEBUG', "pushFileToS3 returned true", null, 'knolseed.log');
|
1523 |
+
|
1524 |
+
if($process_id){
|
1525 |
+
// Update customer file pushed flag
|
1526 |
+
$model = Mage::getModel('engage/engage')->load($process_id);
|
1527 |
+
$model->setFilePushed(1);
|
1528 |
+
$model->save();
|
1529 |
+
}
|
1530 |
+
// remove file after push
|
1531 |
+
unlink($filepath);
|
1532 |
+
}
|
1533 |
+
|
1534 |
+
$filename = "Prod_".date("Ymd")."_".$filecounter."_of_".$numberofchunk.".csv.gz" ;
|
1535 |
+
|
1536 |
+
$fp = gzopen($path.$filename,'w9');
|
1537 |
+
gzwrite($fp, $metaheaders);
|
1538 |
+
gzwrite($fp, $metaheadersline2);
|
1539 |
+
gzwrite($fp, $headers);
|
1540 |
+
}
|
1541 |
+
|
1542 |
+
$chunkcounter++;
|
1543 |
+
|
1544 |
+
} // foreach ($collection as $products)
|
1545 |
+
|
1546 |
+
gzclose($fp);
|
1547 |
+
|
1548 |
+
$filepath = $path.$filename ;
|
1549 |
+
$actual_file_name = $filename ;
|
1550 |
+
|
1551 |
+
$observer = new Knolseed_Engage_Model_Observer();
|
1552 |
+
if( $observer->pushFileToS3($filepath, $actual_file_name, $type='product', false, $process_id) ) {
|
1553 |
+
$files[] = $actual_file_name;
|
1554 |
+
$this->kslog('DEBUG', "pushFileToS3 returned true", null, 'knolseed.log');
|
1555 |
+
|
1556 |
+
if($process_id){
|
1557 |
+
// Update customer file pushed flag
|
1558 |
+
$model = Mage::getModel('engage/engage')->load($process_id);
|
1559 |
+
$model->setFilePushed(1);
|
1560 |
+
$model->save();
|
1561 |
+
}
|
1562 |
+
// remove file after push
|
1563 |
+
unlink($filepath);
|
1564 |
+
|
1565 |
+
return $files;
|
1566 |
+
}
|
1567 |
+
|
1568 |
+
}catch(Exception $e){
|
1569 |
+
// Check if critical error or retriable error
|
1570 |
+
$kf_item = Mage::getModel('engage/engage')->load($process_id);
|
1571 |
+
$critical = ($kf_item->getAttempt() >= 1) ? true : false ;
|
1572 |
+
|
1573 |
+
$errormessage = "Critical Error! Product data dump failed for ". $from ." ". $to ." with error ". $filename ." Please email support@knolseed.com about this error, and we will help you to fix this problem." ;
|
1574 |
+
// Admin notification
|
1575 |
+
$this->errorAdminNotification('productCSV','product',$errormessage,$filename,$critical);
|
1576 |
+
|
1577 |
+
// Update attempt counts for RETRIABLE errors
|
1578 |
+
Mage::helper('engage')->updatedAttempts($process_id);
|
1579 |
+
|
1580 |
+
return $files;
|
1581 |
+
}
|
1582 |
+
|
1583 |
+
}
|
1584 |
+
|
1585 |
+
|
1586 |
+
/**
|
1587 |
+
* Create and dump category information
|
1588 |
+
*
|
1589 |
+
*/
|
1590 |
+
public function createCategoryCsv($from, $to, $attributearray, $process_id, $filename, $type, $createdate, $intialexecution = false){
|
1591 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::createCategoryCsv()", null, 'knolseed.log');
|
1592 |
+
$this->kslog('DEBUG',"From=".$from.", To=".$to.", Type=".$type.", CreateDate=".$createdate.", Filename=".$filename, null, 'knolseed.log');
|
1593 |
+
|
1594 |
+
# Category dump only if first product fragment dump.
|
1595 |
+
$srch_str = "_1_of_";
|
1596 |
+
$pos = strpos($filename, $srch_str);
|
1597 |
+
if( $pos===false ){
|
1598 |
+
# Not the first time, ditch
|
1599 |
+
$this->kslog('DEBUG',"createCategoryCsv() - Not first fragment of Product data. Skipping Category Dump.", null, 'knolseed.log');
|
1600 |
+
return;
|
1601 |
+
}else{
|
1602 |
+
# Create proper filename. Cat_yyyymmdd_1_of_1.csv.gz
|
1603 |
+
$filename = str_replace("Prod", "Cat", $filename);
|
1604 |
+
$filename = substr($filename, 0, 12);
|
1605 |
+
if($filename===false){
|
1606 |
+
$filename = '';
|
1607 |
+
}else{
|
1608 |
+
$filename = $filename."_1_of_1.csv.gz";
|
1609 |
+
}
|
1610 |
+
$this->kslog('DEBUG',"createCategoryCsv() - Final filename = ".$filename, null, 'knolseed.log');
|
1611 |
+
}
|
1612 |
+
|
1613 |
+
try{
|
1614 |
+
|
1615 |
+
// CSV file save path
|
1616 |
+
$path = Mage::getBaseDir('var')."/"; # if you want to add new folder for csv files just add name of folder in dir with single quote.
|
1617 |
+
# $filename = str_replace("Prod", "Cat", $filename);
|
1618 |
+
|
1619 |
+
$ts = strtotime($createdate);
|
1620 |
+
$createday = date('Ymd',$ts);
|
1621 |
+
$metaheaders = "";
|
1622 |
+
$metaheaders = '# "Category","'.$createday.'","'.$from.'","'.$to.'"'."\n" ;
|
1623 |
+
|
1624 |
+
if( !trim($filename)) {
|
1625 |
+
$this->kslog('DEBUG','Category Dump: Filename is blank! ',null,'knolseed.log');
|
1626 |
+
$filename = "Cat_".date("Ymd")."_1_of_1.csv.gz" ;
|
1627 |
+
$this->kslog('DEBUG',"Category Dump: Filename is reset to: ".$filename,null,'knolseed.log');
|
1628 |
+
}
|
1629 |
+
|
1630 |
+
$fp = gzopen($path.$filename,'w9');
|
1631 |
+
// throw exception if file opening file
|
1632 |
+
if (! $fp) {
|
1633 |
+
throw new Exception("Category Dump: File creation error. Check that the ".$path." folder has WRITE permissions");
|
1634 |
+
}
|
1635 |
+
|
1636 |
+
gzwrite($fp,$metaheaders);
|
1637 |
+
$metaheadersline2 = "";
|
1638 |
+
$metaheadersline2 = '#= id=\'id\', name=\'name\',child=\'child_id\''."\n" ;
|
1639 |
+
gzwrite($fp, $metaheadersline2);
|
1640 |
+
|
1641 |
+
// headers for product CSV file
|
1642 |
+
$headers = '"id","name","level","parent_id","child_ids"'."\n";
|
1643 |
+
gzwrite($fp, $headers);
|
1644 |
+
|
1645 |
+
// Now load category data and dump into file.
|
1646 |
+
/* $line = blah."\n";
|
1647 |
+
gzwrite($fp, $attribute_values);
|
1648 |
+
gzclose($fp);
|
1649 |
+
|
1650 |
+
$filepath = $path.$filename ;
|
1651 |
+
$actual_file_name = $filename ;
|
1652 |
+
|
1653 |
+
$observer = new Knolseed_Engage_Model_Observer();
|
1654 |
+
if( $observer->pushFileToS3($filepath, $actual_file_name, $type='category', $process_id) ) {
|
1655 |
+
// remove file after push
|
1656 |
+
unlink($filepath);
|
1657 |
+
}
|
1658 |
+
*/
|
1659 |
+
|
1660 |
+
$category = Mage::getModel('catalog/category');
|
1661 |
+
$this->kslog('DEBUG',"Categories = ".print_r($category,true),null,'knolseed.log');
|
1662 |
+
|
1663 |
+
$tree = $category->getTreeModel();
|
1664 |
+
$tree->load();
|
1665 |
+
$ids = $tree->getCollection()->getAllIds();
|
1666 |
+
if ($ids){
|
1667 |
+
$count = 0;
|
1668 |
+
foreach ($ids as $id){
|
1669 |
+
$cat = Mage::getModel('catalog/category');
|
1670 |
+
$cat->load($id);
|
1671 |
+
|
1672 |
+
$entity_id = $cat->getId();
|
1673 |
+
$name = $cat->getName();
|
1674 |
+
$url_key = $cat->getUrlKey();
|
1675 |
+
$url_path = $cat->getUrlPath();
|
1676 |
+
$children = $cat->getChildren();
|
1677 |
+
$level = $cat->getLevel();
|
1678 |
+
$parent = $cat->getParentId();
|
1679 |
+
|
1680 |
+
$this->kslog('DEBUG',"Category: ID=".$entity_id.", Name=".$name.", URL=".$url_path, null, 'knolseed.log');
|
1681 |
+
$this->kslog('DEBUG',"Category: ID=".$entity_id.", Children=".$children.", Parent=".$parent, null, 'knolseed.log');
|
1682 |
+
$count=$count+1;
|
1683 |
+
|
1684 |
+
# Save to file
|
1685 |
+
# $headers = '"id","name","level","parent_id","child_ids"'."\n";
|
1686 |
+
|
1687 |
+
$line = "\"".$entity_id."\"";
|
1688 |
+
if($name){
|
1689 |
+
$line .= ",\"".$name."\"";
|
1690 |
+
}else{
|
1691 |
+
$line .= ",\"\"";
|
1692 |
+
}
|
1693 |
+
|
1694 |
+
if($level){
|
1695 |
+
$line .= ",\"".$level."\"";
|
1696 |
+
}else{
|
1697 |
+
$line .= ",\"\"";
|
1698 |
+
}
|
1699 |
+
|
1700 |
+
if($parent){
|
1701 |
+
$line .= ",\"".$parent."\"";
|
1702 |
+
}else{
|
1703 |
+
$line .= ",\"\"";
|
1704 |
+
}
|
1705 |
+
|
1706 |
+
if($children){
|
1707 |
+
$line .= ",\"".$children."\"";
|
1708 |
+
}else{
|
1709 |
+
$line .= ",\"\"";
|
1710 |
+
}
|
1711 |
+
|
1712 |
+
$line .= "\n";
|
1713 |
+
$this->kslog('DEBUG',"Writing line to file:".$line, null, 'knolseed.log');
|
1714 |
+
gzwrite($fp, $line);
|
1715 |
+
}
|
1716 |
+
|
1717 |
+
Mage::log("Total ".$count." categories found!", null, 'knolseed.log');
|
1718 |
+
gzclose($fp);
|
1719 |
+
|
1720 |
+
$filepath = $path.$filename ;
|
1721 |
+
$actual_file_name = $filename ;
|
1722 |
+
$observer = new Knolseed_Engage_Model_Observer();
|
1723 |
+
if( $observer->pushFileToS3($filepath, $actual_file_name, "category", false, $process_id) ) {
|
1724 |
+
// remove file after push
|
1725 |
+
unlink($filepath);
|
1726 |
+
}
|
1727 |
+
|
1728 |
+
}else{
|
1729 |
+
Mage::log("Categories is empty!",null,'knolseed.log');
|
1730 |
+
}
|
1731 |
+
|
1732 |
+
}catch(Exception $e){
|
1733 |
+
// Check if critical error or retriable error
|
1734 |
+
$kf_item = Mage::getModel('engage/engage')->load($process_id);
|
1735 |
+
$critical = ($kf_item->getAttempt() >= 1) ? true : false ;
|
1736 |
+
$exceptionMsg = $e.getMessage();
|
1737 |
+
$errormessage = "Critical Error! Category data dump failed for ".$filename." with error: ".$exceptionMsg.". Please email support@knolseed.com about this error, and we will help you to fix this problem." ;
|
1738 |
+
// Admin notification
|
1739 |
+
$this->errorAdminNotification('categoryCSV','product',$errormessage,$filename,$critical);
|
1740 |
+
|
1741 |
+
// Update attempt counts for RETRIABLE errors
|
1742 |
+
Mage::helper('engage')->updatedAttempts($process_id);
|
1743 |
+
}
|
1744 |
+
|
1745 |
+
}
|
1746 |
+
|
1747 |
+
|
1748 |
+
/**
|
1749 |
+
* Clear kf_cron_process table for eight days old entries
|
1750 |
+
*
|
1751 |
+
*/
|
1752 |
+
public function flushAllKfEntries(){
|
1753 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::flushAllKfEntries()",null,'knolseed.log');
|
1754 |
+
|
1755 |
+
// remove process entry afetr 8 days
|
1756 |
+
$removedays = date('Y-m-d', strtotime("-8 day"));
|
1757 |
+
|
1758 |
+
$this->kslog('DEBUG',"Remove days = ".print_r($removedays,true),null,'knolseed.log');
|
1759 |
+
|
1760 |
+
// delete record collection
|
1761 |
+
$collection = Mage::getModel('engage/engage')->getCollection();
|
1762 |
+
$collection->addFieldToFilter('created_at', array('eq' =>$removedays));
|
1763 |
+
|
1764 |
+
$kfcrondata = $collection->getData();
|
1765 |
+
|
1766 |
+
$this->kslog('DEBUG',"kf cron data = ".print_r($kfcrondata,true),null,'knolseed.log');
|
1767 |
+
|
1768 |
+
foreach($kfcrondata as $kfdata){
|
1769 |
+
// delete each process entry
|
1770 |
+
$kfdata->delete();
|
1771 |
+
}
|
1772 |
+
}
|
1773 |
+
|
1774 |
+
|
1775 |
+
/**
|
1776 |
+
* This function updates kf_cron_process table & increments attempt count for any kf process on failure
|
1777 |
+
*
|
1778 |
+
*/
|
1779 |
+
public function updatedAttempts($processid){
|
1780 |
+
$this->kslog('DEBUG',"Entry Knolseed_Engage_Helper_Data::updatedAttempts()",null,'knolseed.log');
|
1781 |
+
|
1782 |
+
try{
|
1783 |
+
// Check if processid exists
|
1784 |
+
if($processid){
|
1785 |
+
// Load process & update current process
|
1786 |
+
$kf_item = Mage::getModel('engage/engage')->load($processid);
|
1787 |
+
$updatedattempt = $kf_item->getAttempt() + 1;
|
1788 |
+
|
1789 |
+
$this->kslog('DEBUG',"Updated attempt = ".print_r($updatedattempt,true),null,'knolseed.log');
|
1790 |
+
|
1791 |
+
$kf_item->setAttempt($updatedattempt);
|
1792 |
+
$kf_item->save();
|
1793 |
+
}
|
1794 |
+
}catch(Exception $e){
|
1795 |
+
$this->errorAdminNotification('Updateattempts-error','updateattempts',$e->getMessage(),'',true);
|
1796 |
+
}
|
1797 |
+
}
|
1798 |
+
|
1799 |
+
|
1800 |
+
}
|
1801 |
+
|
lib/knolseed/Engage/Model/Catalogvalues.php
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
* Used in creating options for Yes|No config value selection
|
9 |
+
*
|
10 |
+
*/
|
11 |
+
class Knolseed_Engage_Model_Catalogvalues
|
12 |
+
{
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Options getter
|
16 |
+
*
|
17 |
+
* @return array
|
18 |
+
*/
|
19 |
+
public function toOptionArray()
|
20 |
+
{
|
21 |
+
Mage::log("Entry Knolseed_Engage_Model_Catalogvalues::toOptionArray()",null,'knolseed.log');
|
22 |
+
$attributesInfo = Mage::getResourceModel('eav/entity_attribute_collection')
|
23 |
+
->setEntityTypeFilter('3') //4 = product entities
|
24 |
+
->addSetInfo()
|
25 |
+
->getData();
|
26 |
+
foreach ($attributesInfo as $attr){
|
27 |
+
if ($attr['frontend_label'] != ""){
|
28 |
+
$array[] = array('value' => $attr['attribute_code'], 'label' => $attr['frontend_label']) ;
|
29 |
+
}
|
30 |
+
}
|
31 |
+
|
32 |
+
return $array;
|
33 |
+
|
34 |
+
/*return array(
|
35 |
+
array('value' => 0, 'label' => Mage::helper('engage')->__('First item')),
|
36 |
+
array('value' => 1, 'label' => Mage::helper('engage')->__('Second item')),
|
37 |
+
array('value' => 2, 'label' => Mage::helper('engage')->__('third item')),
|
38 |
+
// and so on...
|
39 |
+
);*/
|
40 |
+
|
41 |
+
}
|
42 |
+
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Get options in "key-value" format
|
46 |
+
*
|
47 |
+
* @return array
|
48 |
+
*/
|
49 |
+
public function toArray()
|
50 |
+
{
|
51 |
+
return array(
|
52 |
+
0 => Mage::helper('adminhtml')->__('No'),
|
53 |
+
1 => Mage::helper('adminhtml')->__('Yes'),
|
54 |
+
);
|
55 |
+
}
|
56 |
+
|
57 |
+
}
|
lib/knolseed/Engage/Model/Crontime.php
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Model_Crontime extends Varien_Object
|
10 |
+
{
|
11 |
+
const STATUS_ENABLED = 1;
|
12 |
+
const STATUS_DISABLED = 2;
|
13 |
+
|
14 |
+
static public function getOptionArray()
|
15 |
+
{
|
16 |
+
return array(
|
17 |
+
self::STATUS_ENABLED => Mage::helper('engage')->__('Yes'),
|
18 |
+
self::STATUS_DISABLED => Mage::helper('engage')->__('No')
|
19 |
+
);
|
20 |
+
}
|
21 |
+
|
22 |
+
|
23 |
+
static public function toOptionArray()
|
24 |
+
{
|
25 |
+
|
26 |
+
|
27 |
+
return array(
|
28 |
+
array('value' => '00:00', 'label' => '00:00 AM'),
|
29 |
+
array('value' => '00:30', 'label' => '00:30 AM'),
|
30 |
+
array('value' => '01:00', 'label' => '01:00 AM'),
|
31 |
+
array('value' => '01:30', 'label' => '01:30 AM'),
|
32 |
+
array('value' => '02:00', 'label' => '02:00 AM'),
|
33 |
+
array('value' => '02:30', 'label' => '02:30 AM'),
|
34 |
+
array('value' => '03:00', 'label' => '03:00 AM'),
|
35 |
+
array('value' => '03:30', 'label' => '03:30 AM'),
|
36 |
+
array('value' => '04:00', 'label' => '04:00 AM'),
|
37 |
+
array('value' => '04:30', 'label' => '04:30 AM'),
|
38 |
+
array('value' => '05:00', 'label' => '05:00 AM'),
|
39 |
+
array('value' => '05:30', 'label' => '05:30 AM'),
|
40 |
+
array('value' => '06:00', 'label' => '06:00 AM'),
|
41 |
+
array('value' => '06:30', 'label' => '06:30 AM'),
|
42 |
+
array('value' => '07:00', 'label' => '07:00 AM'),
|
43 |
+
array('value' => '07:30', 'label' => '07:30 AM'),
|
44 |
+
array('value' => '08:00', 'label' => '08:00 AM'),
|
45 |
+
array('value' => '08:30', 'label' => '08:30 AM'),
|
46 |
+
array('value' => '09:00', 'label' => '09:00 AM'),
|
47 |
+
array('value' => '09:30', 'label' => '09:30 AM'),
|
48 |
+
array('value' => '10:00', 'label' => '10:00 AM'),
|
49 |
+
array('value' => '10:30', 'label' => '10:30 AM'),
|
50 |
+
array('value' => '11:00', 'label' => '11:00 AM'),
|
51 |
+
array('value' => '11:30', 'label' => '11:30 AM'),
|
52 |
+
array('value' => '12:00', 'label' => '12:00 PM'),
|
53 |
+
array('value' => '12:30', 'label' => '12:30 PM'),
|
54 |
+
array('value' => '13:00', 'label' => '13:00 PM'),
|
55 |
+
array('value' => '13:30', 'label' => '13:30 PM'),
|
56 |
+
array('value' => '14:00', 'label' => '14:00 PM'),
|
57 |
+
array('value' => '14:30', 'label' => '14:30 PM'),
|
58 |
+
array('value' => '15:00', 'label' => '15:00 PM'),
|
59 |
+
array('value' => '15:30', 'label' => '15:30 PM'),
|
60 |
+
array('value' => '16:00', 'label' => '16:00 PM'),
|
61 |
+
array('value' => '16:30', 'label' => '16:30 PM'),
|
62 |
+
array('value' => '17:00', 'label' => '17:00 PM'),
|
63 |
+
array('value' => '17:30', 'label' => '17:30 PM'),
|
64 |
+
array('value' => '18:00', 'label' => '18:00 PM'),
|
65 |
+
array('value' => '18:30', 'label' => '18:30 PM'),
|
66 |
+
array('value' => '19:00', 'label' => '19:00 PM'),
|
67 |
+
array('value' => '19:30', 'label' => '19:30 PM'),
|
68 |
+
array('value' => '20:00', 'label' => '20:00 PM'),
|
69 |
+
array('value' => '20:30', 'label' => '20:30 PM'),
|
70 |
+
array('value' => '21:00', 'label' => '21:00 PM'),
|
71 |
+
array('value' => '21:30', 'label' => '21:30 PM'),
|
72 |
+
array('value' => '22:00', 'label' => '22:00 PM'),
|
73 |
+
array('value' => '22:30', 'label' => '22:30 PM'),
|
74 |
+
array('value' => '23:00', 'label' => '23:00 PM'),
|
75 |
+
array('value' => '23:30', 'label' => '23:30 PM')
|
76 |
+
|
77 |
+
);
|
78 |
+
}
|
79 |
+
}
|
lib/knolseed/Engage/Model/Customervalues.php
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
* Used in creating options for Yes|No config value selection
|
9 |
+
*
|
10 |
+
*/
|
11 |
+
class Knolseed_Engage_Model_Customervalues
|
12 |
+
{
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Options getter
|
16 |
+
*
|
17 |
+
* @return array
|
18 |
+
*/
|
19 |
+
public function toOptionArray()
|
20 |
+
{
|
21 |
+
|
22 |
+
$attributesInfo = Mage::getResourceModel('eav/entity_attribute_collection')
|
23 |
+
->setEntityTypeFilter('1') //4 = product entities
|
24 |
+
->addSetInfo()
|
25 |
+
->getData();
|
26 |
+
foreach ($attributesInfo as $attr){
|
27 |
+
if ($attr['frontend_label'] != ""){
|
28 |
+
$array[] = array('value' => $attr['attribute_code'], 'label' => $attr['frontend_label']) ;
|
29 |
+
}
|
30 |
+
}
|
31 |
+
return $array;
|
32 |
+
|
33 |
+
/*return array(
|
34 |
+
array('value' => 0, 'label' => Mage::helper('engage')->__('First item')),
|
35 |
+
array('value' => 1, 'label' => Mage::helper('engage')->__('Second item')),
|
36 |
+
array('value' => 2, 'label' => Mage::helper('engage')->__('third item')),
|
37 |
+
// and so on...
|
38 |
+
);*/
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Get options in "key-value" format
|
43 |
+
*
|
44 |
+
* @return array
|
45 |
+
*/
|
46 |
+
public function toArray()
|
47 |
+
{
|
48 |
+
return array(
|
49 |
+
0 => Mage::helper('adminhtml')->__('No'),
|
50 |
+
1 => Mage::helper('adminhtml')->__('Yes'),
|
51 |
+
);
|
52 |
+
}
|
53 |
+
|
54 |
+
}
|
lib/knolseed/Engage/Model/Engage.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Model_Engage extends Mage_Core_Model_Abstract
|
10 |
+
{
|
11 |
+
public function _construct()
|
12 |
+
{
|
13 |
+
parent::_construct();
|
14 |
+
$this->_init('engage/engage');
|
15 |
+
}
|
16 |
+
}
|
lib/knolseed/Engage/Model/Gacode.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Model_Gacode extends Varien_Object
|
10 |
+
{
|
11 |
+
static public function toOptionArray()
|
12 |
+
{
|
13 |
+
Mage::log('Entry Knolseed_Engage_Model_Gacode::toOptionArray', null, 'knolseed.log');
|
14 |
+
|
15 |
+
return
|
16 |
+
"(function (w, d, a, m) {
|
17 |
+
w['_knolseed'] = w['_knolseed'] || [];
|
18 |
+
/** intercepts ga.js calls */
|
19 |
+
var push = Array.prototype.push;
|
20 |
+
w['_gaq'] = [];
|
21 |
+
w['_gaq'].push = function () {
|
22 |
+
var i = 0, max = arguments.length, arg;
|
23 |
+
while (i < max) {
|
24 |
+
arg = arguments[i++]; push.call(_gaq, arg); push.call(_knolseed, arg);
|
25 |
+
}
|
26 |
+
};
|
27 |
+
/** intercepts analytics.js calls*/
|
28 |
+
w['ga'] = function() {
|
29 |
+
(w['ga'].q = w['ga'].q || []).push(arguments);
|
30 |
+
(w['_knolseed'] = w['_knolseed'] || []).push(arguments);
|
31 |
+
};
|
32 |
+
a = d.createElement('script'),
|
33 |
+
m = d.getElementsByTagName('script')[0];
|
34 |
+
a.async = 1;
|
35 |
+
a.src = 'http://ers.knolseed.com:1234/embed.js';
|
36 |
+
m.parentNode.insertBefore(a, m)
|
37 |
+
})(window,document);
|
38 |
+
|
39 |
+
</script>
|
40 |
+
|
41 |
+
<script>
|
42 |
+
_knolseed.push([\"_setCustomerId\", \"customer_id\"]);
|
43 |
+
";
|
44 |
+
|
45 |
+
}
|
46 |
+
|
47 |
+
}
|
lib/knolseed/Engage/Model/Mysql4/Engage.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Model_Mysql4_Engage extends Mage_Core_Model_Mysql4_Abstract
|
10 |
+
{
|
11 |
+
public function _construct()
|
12 |
+
{
|
13 |
+
// Note that the engage_id refers to the key field in your database table.
|
14 |
+
$this->_init('engage/engage', 'process_id');
|
15 |
+
}
|
16 |
+
}
|
lib/knolseed/Engage/Model/Mysql4/Engage/Collection.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Model_Mysql4_Engage_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
10 |
+
{
|
11 |
+
public function _construct()
|
12 |
+
{
|
13 |
+
parent::_construct();
|
14 |
+
$this->_init('engage/engage');
|
15 |
+
}
|
16 |
+
}
|
lib/knolseed/Engage/Model/Observer.php
ADDED
@@ -0,0 +1,392 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
require_once(Mage::getBaseDir()."/lib/knolseed/aws-autoloader.php");
|
10 |
+
|
11 |
+
use Aws\S3\S3Client;
|
12 |
+
|
13 |
+
|
14 |
+
class Knolseed_Engage_Model_Observer extends Mage_Core_Model_Abstract
|
15 |
+
{
|
16 |
+
|
17 |
+
# public $aws_connection = '';
|
18 |
+
public $aws_bucketname = '';
|
19 |
+
public $aws_foldername = '';
|
20 |
+
public $aws_token = '';
|
21 |
+
public $aws_acl = 'private';
|
22 |
+
public $aws_access_key = null;
|
23 |
+
|
24 |
+
public $kf_authurl = 'http://app.knolseed.com/settings/keys?';
|
25 |
+
public $kf_tracks3pushurl = 'http://app.knolseed.com/uploads/register?';
|
26 |
+
|
27 |
+
public function __construct() {
|
28 |
+
Mage::log("Entry Knolseed_Engage_Model_Observer::__construct()",null,'knolseed.log');
|
29 |
+
|
30 |
+
$this->aws_token = Mage::getStoreConfig('engage_options/aws/token');
|
31 |
+
# $this->aws_connection = $this->getAwsAccessKey($this->aws_token);
|
32 |
+
}
|
33 |
+
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Get AWS access key & secret key with session token
|
37 |
+
*
|
38 |
+
*
|
39 |
+
* @param $token
|
40 |
+
* @return access key & secret key
|
41 |
+
*/
|
42 |
+
public function getAwsAccessKey($token){
|
43 |
+
Mage::log("Entry Knolseed_Engage_Model_Observer::getAwsAccessKey()",null,'knolseed.log');
|
44 |
+
|
45 |
+
# if(!is_null($this->aws_access_key)){
|
46 |
+
# Mage::log("Returning existing AWS Access Key",null,'knolseed.log');
|
47 |
+
# return $this->aws_access_key;
|
48 |
+
# }
|
49 |
+
|
50 |
+
try{
|
51 |
+
Mage::log("Generating new AWS Access Key",null,'knolseed.log');
|
52 |
+
$http = new Varien_Http_Adapter_Curl();
|
53 |
+
$config = array('timeout' => 15); # Or whatever you like!
|
54 |
+
$config['header'] = true;
|
55 |
+
$config['ssl_cert'] = false;
|
56 |
+
|
57 |
+
$requestQuery = "auth_token=".$token;
|
58 |
+
|
59 |
+
$http->setConfig($config);
|
60 |
+
|
61 |
+
## make a POST call
|
62 |
+
$http->write(Zend_Http_Client::GET, $this->kf_authurl . $requestQuery );
|
63 |
+
|
64 |
+
## Get Response
|
65 |
+
$response = $http->read();
|
66 |
+
# Mage::log("Response = ". print_r($response,true),null,'knolseed.log');
|
67 |
+
|
68 |
+
# $modResponse = preg_replace('/(\r\n|\r|\n)/s',"\n",$response);
|
69 |
+
# $responseParts = array();
|
70 |
+
# $responseParts = explode("\n\n", $modResponse);
|
71 |
+
$responseParts = explode("\r\n\r\n", $response);
|
72 |
+
|
73 |
+
# Close Call
|
74 |
+
$http->close();
|
75 |
+
|
76 |
+
# Fix for ignoring HTTP Headers in response.
|
77 |
+
# Mage::log("Response Header = ". print_r($responseParts[0],true),null,'knolseed.log');
|
78 |
+
# Mage::log("Response Body = ". print_r($responseParts[1],true),null,'knolseed.log');
|
79 |
+
$accessdetails = json_decode($responseParts[1]);
|
80 |
+
# $accessdetails = json_decode($response);
|
81 |
+
|
82 |
+
# Mage::log("JSON Decoded Response = ". print_r($accessdetails,true),null,'knolseed.log');
|
83 |
+
# Mage::log('Printing response for '.$this->kf_authurl,null, 'knolseed.log');
|
84 |
+
# Mage::log($accessdetails,null, 'knolseed.log');
|
85 |
+
if( $accessdetails->data->access_key_id ) {
|
86 |
+
# getting access key & secret key
|
87 |
+
$accesskey = $accessdetails->data->access_key_id;
|
88 |
+
$secretkey = $accessdetails->data->secret_access_key;
|
89 |
+
$session_token = $accessdetails->data->session_token;
|
90 |
+
|
91 |
+
$this->aws_bucketname = $accessdetails->data->s3_bucket;
|
92 |
+
# $this->aws_bucketname = 'microsoft.com';
|
93 |
+
$this->aws_foldername = $accessdetails->data->s3_folder;
|
94 |
+
|
95 |
+
// Establish connection with DreamObjects with an S3 client.
|
96 |
+
$client = S3Client::factory(array(
|
97 |
+
'key' => $accesskey,
|
98 |
+
'secret' => $secretkey,
|
99 |
+
'token' => $session_token
|
100 |
+
));
|
101 |
+
|
102 |
+
# Mage::log("JSON Decoded Response = ". print_r($accessdetails,true),null,'knolseed.log');
|
103 |
+
|
104 |
+
$this->aws_access_key = $client;
|
105 |
+
return $client;
|
106 |
+
|
107 |
+
}else{
|
108 |
+
//Admin notification
|
109 |
+
$errormessage = "Error: Product sync unable to contact Knolseed at ".$this->kf_authurl.$requestQuery.". Will retry again later" ;
|
110 |
+
Mage::helper('engage')->errorAdminNotification('GetTemporaryCredentials','AWSpush',$errormessage,'',true);
|
111 |
+
}
|
112 |
+
|
113 |
+
}catch(Exception $e){
|
114 |
+
//Admin notification
|
115 |
+
$errormessage = "Critical Error! Product sync unable to contact Knolseed at ".$this->kf_authurl.$requestQuery.". Please email support@knolseed.com about this error, and we will help you to fix this problem." ;
|
116 |
+
Mage::helper('engage')->errorAdminNotification('GetTemporaryCredentials','AWSpush',$errormessage,'',true);
|
117 |
+
}
|
118 |
+
|
119 |
+
}
|
120 |
+
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Get AWS bucket,folder & token from DB
|
124 |
+
*
|
125 |
+
* Make a call to Product & Customer CSV creation method
|
126 |
+
*
|
127 |
+
*/
|
128 |
+
public function setScript()
|
129 |
+
{
|
130 |
+
Mage::log("Entry Knolseed_Engage_Model_Observer::setScript()",null,'knolseed.log');
|
131 |
+
|
132 |
+
try{
|
133 |
+
date_default_timezone_set( Mage::app()->getStore()->getConfig('general/locale/timezone') );
|
134 |
+
|
135 |
+
# call to product & customer CSV creation method
|
136 |
+
Mage::helper('engage')->processCustomerfile();
|
137 |
+
Mage::helper('engage')->processProductfile();
|
138 |
+
Mage::helper('engage')->processHistoricalData();
|
139 |
+
|
140 |
+
# flush kf_cron_process table
|
141 |
+
Mage::helper('engage')->flushAllKfEntries();
|
142 |
+
}catch(Exception $e){
|
143 |
+
$errormessage = "Error: Product sync unable to contact Knolseed at ". $this->kf_authurl . $requestQuery .". Will retry again later" ;
|
144 |
+
|
145 |
+
Mage::helper('engage')->errorAdminNotification('setScript','AWSpush',$errormessage,'',true);
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
|
150 |
+
public function getAWSFolderName($type){
|
151 |
+
Mage::log("Entry Knolseed_Engage_Model_Observer::getAWSFolderName()",null,'knolseed.log');
|
152 |
+
|
153 |
+
switch ($type)
|
154 |
+
{
|
155 |
+
case "product":
|
156 |
+
return "Product";
|
157 |
+
break;
|
158 |
+
|
159 |
+
case "customer":
|
160 |
+
return "Customer";
|
161 |
+
break;
|
162 |
+
|
163 |
+
case "transaction":
|
164 |
+
return "Transaction";
|
165 |
+
break;
|
166 |
+
|
167 |
+
case "browsing":
|
168 |
+
return "Browsing";
|
169 |
+
break;
|
170 |
+
|
171 |
+
case "category":
|
172 |
+
return "Category";
|
173 |
+
break;
|
174 |
+
|
175 |
+
default:
|
176 |
+
return "";
|
177 |
+
break;
|
178 |
+
}
|
179 |
+
}
|
180 |
+
|
181 |
+
|
182 |
+
/**
|
183 |
+
* 1. Create a Manifest file with specified name & type.
|
184 |
+
* 2. Add $filenames into manifest file
|
185 |
+
* 3. Upload Manifest file to appropriate S3 folder, and return success
|
186 |
+
*/
|
187 |
+
public function addManifestFile($manifestFileName, $type, $processid, $filenames){
|
188 |
+
$baseDir = Mage::getBaseDir('var');
|
189 |
+
$fullPath = $baseDir."/".$manifestFileName;
|
190 |
+
$fp = gzopen($fullPath,'w9');
|
191 |
+
foreach($filenames as $fn){
|
192 |
+
gzwrite($fp, $fn."\n");
|
193 |
+
}
|
194 |
+
gzclose($fp);
|
195 |
+
|
196 |
+
# Push to S3
|
197 |
+
$this->pushFileToS3($fullPath, $manifestFileName, $type, true, $processid);
|
198 |
+
unlink($fullPath);
|
199 |
+
}
|
200 |
+
|
201 |
+
|
202 |
+
|
203 |
+
/**
|
204 |
+
* Push created CSV files to S3 Bucket
|
205 |
+
* @param $filepath,$filename
|
206 |
+
* @return push file object to S3 bucket
|
207 |
+
*/
|
208 |
+
public function pushFileToS3($filepath, $filename, $type, $is_manifest_file, $processid){
|
209 |
+
Mage::log("Entry Knolseed_Engage_Model_Observer::pushFileToS3()",null,'knolseed.log');
|
210 |
+
|
211 |
+
$aws_connection = $this->getAwsAccessKey($this->aws_token);
|
212 |
+
|
213 |
+
$subfolder = $this->getAWSFolderName($type);
|
214 |
+
# $key to upload file on S3 bucket
|
215 |
+
$key = $this->aws_foldername.'/'.$subfolder.'/'.$filename;
|
216 |
+
# $key = $this->getAWSFolderName($type).'/'.$filename;
|
217 |
+
Mage::log("Uploading to S3, key=".$key, null, "knolseed.log") ;
|
218 |
+
$source_file = $filepath;
|
219 |
+
|
220 |
+
# upload file to S3 bucket
|
221 |
+
try{
|
222 |
+
$response = $aws_connection->upload($this->aws_bucketname, $key, fopen($source_file, 'r'), $this->aws_acl);
|
223 |
+
# $this->trackS3PushToKf($filename,$type);
|
224 |
+
if($is_manifest_file === true){
|
225 |
+
$this->trackS3PushToKf($filename, $type);
|
226 |
+
}
|
227 |
+
|
228 |
+
# unlink($filepath);
|
229 |
+
Mage::log("Uploaded. Returning true", null, "knolseed.log") ;
|
230 |
+
|
231 |
+
return true ;
|
232 |
+
|
233 |
+
}catch(Exception $e){
|
234 |
+
// Check if critical error or retriable error
|
235 |
+
if($processid){
|
236 |
+
$kf_item = Mage::getModel('engage/engage')->load($processid);
|
237 |
+
$critical = ($kf_item->getAttempt() >= 1) ? true : false ;
|
238 |
+
|
239 |
+
// Update attempt counts for RETRIABLE errors
|
240 |
+
Mage::helper('engage')->updatedAttempts($processid);
|
241 |
+
}else{
|
242 |
+
$critical = true;
|
243 |
+
}
|
244 |
+
|
245 |
+
$errormessage = "Critical Error! ". $type ." sync unable to authenticate with Knolseed. Please email support@knolseed.com about this error, and we will help you to fix this problem." ;
|
246 |
+
|
247 |
+
Mage::helper('engage')->errorAdminNotification('pushFileToS3','AWSpush',$errormessage,$filename,$critical);
|
248 |
+
|
249 |
+
Mage::log("Removing file:".$filepath, null, 'knolseed.log');
|
250 |
+
unlink($filepath);
|
251 |
+
|
252 |
+
Mage::log("Upload failed! Returning false", null, "knolseed.log") ;
|
253 |
+
return false ;
|
254 |
+
}
|
255 |
+
|
256 |
+
}
|
257 |
+
|
258 |
+
|
259 |
+
/**
|
260 |
+
* This function get response from S3 bucket for each S3 push.
|
261 |
+
* This response is being logged into kf_error.log file.
|
262 |
+
*/
|
263 |
+
public function trackS3PushToKf($filename,$type){
|
264 |
+
Mage::log("Entry Knolseed_Engage_Model_Observer::trackS3PushToKf()",null,'knolseed.log');
|
265 |
+
|
266 |
+
try{
|
267 |
+
$http = new Varien_Http_Adapter_Curl();
|
268 |
+
$config = array('timeout' => 15); # Or whatever you like!
|
269 |
+
$config['header'] = false;
|
270 |
+
|
271 |
+
// request url for calling S3 API
|
272 |
+
$requestQuery = "auth_token=".$this->aws_token."&file=".$filename."&type=".$type;
|
273 |
+
|
274 |
+
|
275 |
+
$http->setConfig($config);
|
276 |
+
|
277 |
+
## make a POST call
|
278 |
+
$http->write(Zend_Http_Client::GET, $this->kf_tracks3pushurl . $requestQuery );
|
279 |
+
|
280 |
+
## Get Response
|
281 |
+
$response = $http->read();
|
282 |
+
$data = json_decode($response);
|
283 |
+
|
284 |
+
# Close Call
|
285 |
+
$http->close();
|
286 |
+
}catch(Exception $e){
|
287 |
+
Mage::helper('engage')->errorAdminNotification('trackS3PushToKf','s3response',$e->getMessage(),$filename,true);
|
288 |
+
}
|
289 |
+
|
290 |
+
}
|
291 |
+
|
292 |
+
|
293 |
+
/**
|
294 |
+
* Remove username & password from DB
|
295 |
+
*/
|
296 |
+
public function removeUserPass($evt){
|
297 |
+
Mage::log("Entry Knolseed_Engage_Model_Observer::removeUserPass()",null,'knolseed.log');
|
298 |
+
|
299 |
+
$this->saveGoogleAnalyticsCode();
|
300 |
+
|
301 |
+
$coreConfigObj = new Mage_Core_Model_Config();
|
302 |
+
$path = "engage_options/aws/username";
|
303 |
+
$coreConfigObj ->deleteConfig($path, $scope = 'default', $scopeId = 0);
|
304 |
+
|
305 |
+
$coreConfigObj2 = new Mage_Core_Model_Config();
|
306 |
+
$path2 = "engage_options/aws/password";
|
307 |
+
$coreConfigObj2 ->deleteConfig($path2, $scope = 'default', $scopeId = 0);
|
308 |
+
|
309 |
+
// Check if Google Analytics is enabled or not
|
310 |
+
$gacontent = Mage::getStoreConfig('engage_options/google/google_content');
|
311 |
+
$gaacctnumber = Mage::getStoreConfig('engage_options/google/google_account_number');
|
312 |
+
|
313 |
+
|
314 |
+
/*if($gacontent !== null ){
|
315 |
+
|
316 |
+
if( $gaacctnumber == null) {
|
317 |
+
|
318 |
+
|
319 |
+
}
|
320 |
+
|
321 |
+
// Make core google analytics module active
|
322 |
+
$coreConfigObj3 = new Mage_Core_Model_Config();
|
323 |
+
$coreConfigObj3->saveConfig('google/analytics/active', 1, 'default', 0);
|
324 |
+
|
325 |
+
// Update core google analytics account number
|
326 |
+
$coreConfigObj4 = new Mage_Core_Model_Config();
|
327 |
+
$coreConfigObj4->saveConfig('google/analytics/account', $gaacctnumber, 'default', 0);
|
328 |
+
|
329 |
+
}*/
|
330 |
+
|
331 |
+
}
|
332 |
+
|
333 |
+
|
334 |
+
public function setUploadDataTimeframe(){
|
335 |
+
Mage::log("Entry Knolseed_Engage_Model_Observer::setUploadDataTimeframe()",null,'knolseed.log');
|
336 |
+
|
337 |
+
// Get current date
|
338 |
+
$removedays = date('Y-m-d');
|
339 |
+
$uploadtime = Mage::getStoreConfig('upload_options/upload/time');
|
340 |
+
if($uploadtime){
|
341 |
+
Mage::log("Txn data upload time=".print_r($uploadtime, true), null, 'knolseed.log');
|
342 |
+
}else{
|
343 |
+
Mage::log("Txn data upload time is not found", null, 'knolseed.log');
|
344 |
+
}
|
345 |
+
|
346 |
+
$coreConfigObj3 = new Mage_Core_Model_Config();
|
347 |
+
$coreConfigObj3->saveConfig('upload_options/upload/transaction', $removedays." ".$uploadtime, 'default', 0);
|
348 |
+
Mage::app()->getStore()->resetConfig();
|
349 |
+
}
|
350 |
+
|
351 |
+
|
352 |
+
public function saveGoogleAnalyticsCode(){
|
353 |
+
Mage::log("Entry Knolseed_Engage_Model_Observer::saveGoogleAnalyticsCode()",null,'knolseed.log');
|
354 |
+
|
355 |
+
$googlecode = "(function (w, d, a, m) {
|
356 |
+
w['_knolseed'] = w['_knolseed'] || [];
|
357 |
+
/** intercepts ga.js calls */
|
358 |
+
var push = Array.prototype.push;
|
359 |
+
w['_gaq'] = [];
|
360 |
+
w['_gaq'].push = function () {
|
361 |
+
var i = 0, max = arguments.length, arg;
|
362 |
+
while (i < max) {
|
363 |
+
arg = arguments[i++]; push.call(_gaq, arg); push.call(_knolseed, arg);
|
364 |
+
}
|
365 |
+
};
|
366 |
+
/** intercepts analytics.js calls*/
|
367 |
+
w['ga'] = function() {
|
368 |
+
(w['ga'].q = w['ga'].q || []).push(arguments);
|
369 |
+
(w['_knolseed'] = w['_knolseed'] || []).push(arguments);
|
370 |
+
};
|
371 |
+
a = d.createElement('script'),
|
372 |
+
m = d.getElementsByTagName('script')[0];
|
373 |
+
a.async = 1;
|
374 |
+
a.src = 'http://ers.knolseed.com:1234/embed.js';
|
375 |
+
m.parentNode.insertBefore(a, m)
|
376 |
+
})(window,document);
|
377 |
+
|
378 |
+
</script>
|
379 |
+
|
380 |
+
<script>
|
381 |
+
_knolseed.push([\"_setCustomerId\", \"customer_id\"]);
|
382 |
+
";
|
383 |
+
|
384 |
+
$coreConfig = new Mage_Core_Model_Config();
|
385 |
+
$coreConfig->saveConfig('engage_options/google/google_content', $googlecode, 'default', 0);
|
386 |
+
Mage::app()->getStore()->resetConfig();
|
387 |
+
|
388 |
+
}
|
389 |
+
|
390 |
+
}
|
391 |
+
|
392 |
+
?>
|
lib/knolseed/Engage/Model/Productvalues.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
* Used in creating options for Yes|No config value selection
|
9 |
+
*
|
10 |
+
*/
|
11 |
+
class Knolseed_Engage_Model_Productvalues
|
12 |
+
{
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Options getter
|
16 |
+
*
|
17 |
+
* @return array
|
18 |
+
*/
|
19 |
+
public function toOptionArray()
|
20 |
+
{
|
21 |
+
Mage::log("Entry Knolseed_Engage_Model_Productvalues::toOptionArray()",null,'knolseed.log');
|
22 |
+
|
23 |
+
$entityTypeId = Mage::getModel('eav/entity')
|
24 |
+
->setType('catalog_product')
|
25 |
+
->getTypeId();
|
26 |
+
$attributesInfo = Mage::getResourceModel('eav/entity_attribute_collection')
|
27 |
+
->setEntityTypeFilter($entityTypeId) //4 = product entities
|
28 |
+
->addSetInfo()
|
29 |
+
->getData();
|
30 |
+
|
31 |
+
$categoryattribute = false ;
|
32 |
+
foreach ($attributesInfo as $attr){
|
33 |
+
|
34 |
+
if ($attr['frontend_label'] != "" || $attr['attribute_code'] == 'category_ids' ){
|
35 |
+
$array[] = array('value' => $attr['attribute_code'], 'label' => $attr['frontend_label']);
|
36 |
+
}
|
37 |
+
|
38 |
+
if( $attr['attribute_code'] == 'category_ids' )
|
39 |
+
$categoryattribute = true ;
|
40 |
+
}
|
41 |
+
|
42 |
+
if( $categoryattribute == false )
|
43 |
+
$array[] = array('value' => "category_ids", 'label' => "category_ids");
|
44 |
+
|
45 |
+
|
46 |
+
return $array;
|
47 |
+
|
48 |
+
/*return array(
|
49 |
+
array('value' => 0, 'label' => Mage::helper('engage')->__('First item')),
|
50 |
+
array('value' => 1, 'label' => Mage::helper('engage')->__('Second item')),
|
51 |
+
array('value' => 2, 'label' => Mage::helper('engage')->__('third item')),
|
52 |
+
// and so on...
|
53 |
+
);*/
|
54 |
+
}
|
55 |
+
/**
|
56 |
+
* Get options in "key-value" format
|
57 |
+
*
|
58 |
+
* @return array
|
59 |
+
*/
|
60 |
+
public function toArray()
|
61 |
+
{
|
62 |
+
return array(
|
63 |
+
0 => Mage::helper('adminhtml')->__('No'),
|
64 |
+
1 => Mage::helper('adminhtml')->__('Yes'),
|
65 |
+
);
|
66 |
+
}
|
67 |
+
|
68 |
+
}
|
lib/knolseed/Engage/Model/Status.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Model_Status extends Varien_Object
|
10 |
+
{
|
11 |
+
const STATUS_ENABLED = 1;
|
12 |
+
const STATUS_DISABLED = 2;
|
13 |
+
|
14 |
+
static public function getOptionArray()
|
15 |
+
{
|
16 |
+
return array(
|
17 |
+
self::STATUS_ENABLED => Mage::helper('engage')->__('Enabled'),
|
18 |
+
self::STATUS_DISABLED => Mage::helper('engage')->__('Disabled')
|
19 |
+
);
|
20 |
+
}
|
21 |
+
|
22 |
+
|
23 |
+
static public function toOptionArray()
|
24 |
+
{
|
25 |
+
return array(
|
26 |
+
self::STATUS_ENABLED => Mage::helper('engage')->__('Yes'),
|
27 |
+
self::STATUS_DISABLED => Mage::helper('engage')->__('No')
|
28 |
+
);
|
29 |
+
}
|
30 |
+
}
|
lib/knolseed/Engage/Model/Time.php
ADDED
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Model_Time extends Varien_Object
|
10 |
+
{
|
11 |
+
const STATUS_ENABLED = 1;
|
12 |
+
const STATUS_DISABLED = 2;
|
13 |
+
|
14 |
+
static public function getOptionArray()
|
15 |
+
{
|
16 |
+
return array(
|
17 |
+
self::STATUS_ENABLED => Mage::helper('engage')->__('Yes'),
|
18 |
+
self::STATUS_DISABLED => Mage::helper('engage')->__('No')
|
19 |
+
);
|
20 |
+
}
|
21 |
+
|
22 |
+
|
23 |
+
static public function toOptionArray()
|
24 |
+
{
|
25 |
+
|
26 |
+
|
27 |
+
return array(
|
28 |
+
array('value' => '01:00', 'label' => '01:00 AM'),
|
29 |
+
|
30 |
+
array('value' => '02:00', 'label' => '02:00 AM'),
|
31 |
+
|
32 |
+
array('value' => '03:00', 'label' => '03:00 AM'),
|
33 |
+
|
34 |
+
array('value' => '04:00', 'label' => '04:00 AM'),
|
35 |
+
|
36 |
+
array('value' => '05:00', 'label' => '05:00 AM'),
|
37 |
+
|
38 |
+
array('value' => '06:00', 'label' => '06:00 AM'),
|
39 |
+
|
40 |
+
array('value' => '07:00', 'label' => '07:00 AM'),
|
41 |
+
|
42 |
+
array('value' => '08:00', 'label' => '08:00 AM'),
|
43 |
+
|
44 |
+
array('value' => '09:00', 'label' => '09:00 AM'),
|
45 |
+
|
46 |
+
array('value' => '10:00', 'label' => '10:00 AM'),
|
47 |
+
|
48 |
+
array('value' => '11:00', 'label' => '11:00 AM'),
|
49 |
+
|
50 |
+
array('value' => '12:00', 'label' => '12:00 PM'),
|
51 |
+
|
52 |
+
array('value' => '13:00', 'label' => '13:00 PM'),
|
53 |
+
|
54 |
+
array('value' => '14:00', 'label' => '14:00 PM'),
|
55 |
+
|
56 |
+
array('value' => '15:00', 'label' => '15:00 PM'),
|
57 |
+
|
58 |
+
array('value' => '16:00', 'label' => '16:00 PM'),
|
59 |
+
|
60 |
+
array('value' => '17:00', 'label' => '17:00 PM'),
|
61 |
+
|
62 |
+
array('value' => '18:00', 'label' => '18:00 PM'),
|
63 |
+
|
64 |
+
array('value' => '19:00', 'label' => '19:00 PM'),
|
65 |
+
|
66 |
+
array('value' => '20:00', 'label' => '20:00 PM'),
|
67 |
+
|
68 |
+
array('value' => '21:00', 'label' => '21:00 PM'),
|
69 |
+
|
70 |
+
array('value' => '22:00', 'label' => '22:00 PM'),
|
71 |
+
|
72 |
+
array('value' => '23:00', 'label' => '23:00 PM'),
|
73 |
+
|
74 |
+
array('value' => '00:00', 'label' => '00:00 AM'),
|
75 |
+
|
76 |
+
);
|
77 |
+
}
|
78 |
+
}
|
lib/knolseed/Engage/Model/Timeframe.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Model_Timeframe extends Varien_Object
|
10 |
+
{
|
11 |
+
const STATUS_ENABLED = 1;
|
12 |
+
const STATUS_DISABLED = 2;
|
13 |
+
|
14 |
+
static public function getOptionArray()
|
15 |
+
{
|
16 |
+
return array(
|
17 |
+
self::STATUS_ENABLED => Mage::helper('engage')->__('Yes'),
|
18 |
+
self::STATUS_DISABLED => Mage::helper('engage')->__('No')
|
19 |
+
);
|
20 |
+
}
|
21 |
+
|
22 |
+
|
23 |
+
static public function toOptionArray()
|
24 |
+
{
|
25 |
+
|
26 |
+
|
27 |
+
return array(
|
28 |
+
array('value' => '3', 'label' => '3 Months'),
|
29 |
+
array('value' => '6', 'label' => '6 Months'),
|
30 |
+
array('value' => '12', 'label' => '12 Months'),
|
31 |
+
array('value' => '24', 'label' => '24 Months'),
|
32 |
+
|
33 |
+
|
34 |
+
);
|
35 |
+
}
|
36 |
+
}
|
lib/knolseed/Engage/Model/Uploadinfo.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Model_Uploadinfo extends Varien_Object
|
10 |
+
{
|
11 |
+
static public function toOptionArray()
|
12 |
+
{
|
13 |
+
|
14 |
+
return array(
|
15 |
+
array('value' => '1', 'label' => 'Transactions')
|
16 |
+
);
|
17 |
+
}
|
18 |
+
}
|
lib/knolseed/Engage/controllers/Adminhtml/EngageController.php
ADDED
@@ -0,0 +1,265 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_Adminhtml_EngageController extends Mage_Adminhtml_Controller_action
|
10 |
+
{
|
11 |
+
#public $kf_authurl = 'http://117.218.62.90/settings/token.json?';
|
12 |
+
public $kf_authurl = 'http://app.knolseed.com/settings/token.json?';
|
13 |
+
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Check AWS connection by calling GetToken API
|
17 |
+
*
|
18 |
+
* Token will be saved in DB on successful authentication
|
19 |
+
* @return bool
|
20 |
+
*/
|
21 |
+
public function TestAws_ConnectionAction() {
|
22 |
+
Mage::log("Entry Knolseed_Engage_Adminhtml_EngageController::TestAws_ConnectionAction()",null,'knolseed.log');
|
23 |
+
|
24 |
+
$email = $this->getRequest()->getParam('email');
|
25 |
+
$password = $this->getRequest()->getParam('password');
|
26 |
+
|
27 |
+
try {
|
28 |
+
$http = new Varien_Http_Adapter_Curl();
|
29 |
+
$config = array('timeout' => 30); # Or whatever you like!
|
30 |
+
$config['header'] = false;
|
31 |
+
|
32 |
+
$requestQuery = "email=".$email."&password=".$password;
|
33 |
+
|
34 |
+
$http->setConfig($config);
|
35 |
+
|
36 |
+
## make a POST call
|
37 |
+
$http->write(Zend_Http_Client::GET, $this->kf_authurl . $requestQuery );
|
38 |
+
|
39 |
+
## Get Response
|
40 |
+
$response = $http->read();
|
41 |
+
Mage::log("Response = ". print_r($response,true),null,'knolseed.log');
|
42 |
+
|
43 |
+
# $modResponse = preg_replace('/(\r\n|\r|\n)/s',"\n",$response);
|
44 |
+
# $responseParts = array();
|
45 |
+
# $responseParts = explode("\n\n", $modResponse);
|
46 |
+
$responseParts = explode("\r\n\r\n", $response);
|
47 |
+
|
48 |
+
# Close Call
|
49 |
+
$http->close();
|
50 |
+
|
51 |
+
# Fix for ignoring HTTP Headers in response.
|
52 |
+
# Mage::log("Response Header = ". print_r($responseParts[0],true),null,'knolseed.log');
|
53 |
+
Mage::log("Response Body = ". print_r($responseParts[1],true),null,'knolseed.log');
|
54 |
+
$data = json_decode($responseParts[1]);
|
55 |
+
|
56 |
+
if( $data->success && $data->data->authentication_token ) {
|
57 |
+
Mage::log('KS Response:'.print_r($data->data,true), null, 'knolseed.log');
|
58 |
+
$token = trim($data->data->authentication_token);
|
59 |
+
$bucket = trim($data->data->s3_bucket);
|
60 |
+
$folder = trim($data->data->s3_folder);
|
61 |
+
|
62 |
+
$coreConfigObj = new Mage_Core_Model_Config();
|
63 |
+
$coreConfigObj->saveConfig('engage_options/aws/token', $token, 'default', 0);
|
64 |
+
Mage::app()->getStore()->resetConfig();
|
65 |
+
echo 1;
|
66 |
+
return true;
|
67 |
+
|
68 |
+
} else {
|
69 |
+
// Log error message
|
70 |
+
Mage::log('Knolseed get token - Invalid username/password.',null,'knolseed.err');
|
71 |
+
Mage::log('Knolseed get token - Invalid username/password.',null,'knolseed.log');
|
72 |
+
echo 0;
|
73 |
+
return false;
|
74 |
+
}
|
75 |
+
|
76 |
+
} catch (Exception $e) {
|
77 |
+
// Log error message
|
78 |
+
Mage::log('Knolseed get token - Error while getting token from Knolseed API.',null,'knolseed.err');
|
79 |
+
Mage::log('Knolseed get token - Error while getting token from Knolseed API.',null,'knolseed.log');
|
80 |
+
echo 0;
|
81 |
+
return false;
|
82 |
+
}
|
83 |
+
|
84 |
+
}
|
85 |
+
|
86 |
+
|
87 |
+
|
88 |
+
|
89 |
+
/**
|
90 |
+
* Export Product Attributes CSV file for download
|
91 |
+
*
|
92 |
+
*
|
93 |
+
*/
|
94 |
+
public function Product_CSVAction()
|
95 |
+
{
|
96 |
+
Mage::log("Entry Knolseed_Engage_Adminhtml_EngageController::Product_CSVAction()",null,'knolseed.log');
|
97 |
+
|
98 |
+
$product_csv_time = Mage::getStoreConfig('engage_options/product/cron_time');
|
99 |
+
$path = Mage::getBaseDir(); # if you want to add new folder for csv files just add name of folder in dir with single quote.
|
100 |
+
|
101 |
+
$product_enable_flag = Mage::getStoreConfig('engage_options/product/status');
|
102 |
+
|
103 |
+
if($product_enable_flag == 1){
|
104 |
+
$productvalues = Mage::getModel('engage/productvalues')->toOptionArray();
|
105 |
+
|
106 |
+
$new_pro_array = array();
|
107 |
+
|
108 |
+
foreach ($productvalues AS $key => $value) {
|
109 |
+
$new_pro_array[] = $value['value'];
|
110 |
+
}
|
111 |
+
|
112 |
+
$productvaluescount = count($new_pro_array);
|
113 |
+
|
114 |
+
//$product_Attr_str = implode(",",$new_pro_array);
|
115 |
+
$product_Attr_str = implode(",",array_map('trim',$new_pro_array));
|
116 |
+
|
117 |
+
$fp = fopen($path."/Product_Attributes_".date("m-d-y-g-i-a").".csv", 'x+') or die(Mage::log("file opening error!!"));
|
118 |
+
|
119 |
+
$headers = "Sku,".str_replace("sku,",'',$product_Attr_str)."\n";
|
120 |
+
fwrite($fp,$headers);
|
121 |
+
|
122 |
+
$from = date('Y-m-d H:i:s', mktime(date("H"), date("i"), date("s"), date("m"), date("d")-1, date("Y")) ) ; //date('Y-m-d', strtotime("-2 day"));
|
123 |
+
$to = date('Y-m-d H:i:s');
|
124 |
+
|
125 |
+
$collection = Mage::getModel('catalog/product')->getCollection();
|
126 |
+
$collection->addAttributeToFilter('updated_at', array('gt' =>$from));
|
127 |
+
$collection->addAttributeToFilter('updated_at', array('lt' => $to));
|
128 |
+
$attribute_values = "";
|
129 |
+
foreach ($collection as $products) //loop for getting products
|
130 |
+
{
|
131 |
+
$product = Mage::getModel('catalog/product')->load($products->getId());
|
132 |
+
$attributes = $product->getAttributes();
|
133 |
+
|
134 |
+
$attribute_values .= '"'.$product->getSku().'",';
|
135 |
+
for($i=0;$i<$productvaluescount;$i++)
|
136 |
+
{
|
137 |
+
$attributeName = $new_pro_array[$i];
|
138 |
+
if ($attributeName!='sku'){
|
139 |
+
$attributeValue = null;
|
140 |
+
if(array_key_exists($attributeName , $attributes)){
|
141 |
+
$attributesobj = $attributes["{$attributeName}"];
|
142 |
+
$attributeValue = $attributesobj->getFrontend()->getValue($product);
|
143 |
+
}
|
144 |
+
$string=str_replace('"','\"',$attributeValue);
|
145 |
+
$attribute_values .= '"'.$string.'",';
|
146 |
+
}
|
147 |
+
|
148 |
+
}
|
149 |
+
$attribute_values .= "\n";
|
150 |
+
}
|
151 |
+
fwrite($fp,$attribute_values);
|
152 |
+
fclose($fp);
|
153 |
+
|
154 |
+
$filepath = $path."/Product_Attributes_".date("m-d-y-g-i-a").".csv";
|
155 |
+
$this->getResponse ()
|
156 |
+
->setHttpResponseCode ( 200 )
|
157 |
+
->setHeader ( 'Pragma', 'public', true )
|
158 |
+
->setHeader ( 'Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true )
|
159 |
+
->setHeader ( 'Content-type', 'application/force-download' )
|
160 |
+
->setHeader ( 'Content-Length', filesize($filepath) )
|
161 |
+
->setHeader ('Content-Disposition', '' . '; filename=' . basename($filepath) );
|
162 |
+
$this->getResponse ()->clearBody ();
|
163 |
+
$this->getResponse ()->sendHeaders ();
|
164 |
+
readfile ( $filepath );
|
165 |
+
|
166 |
+
}else{
|
167 |
+
$url = Mage::helper("adminhtml")->getUrl("adminhtml/system_config/edit/section/engage_options/");
|
168 |
+
header("Location: ".$url);
|
169 |
+
}
|
170 |
+
|
171 |
+
}
|
172 |
+
|
173 |
+
|
174 |
+
|
175 |
+
/**
|
176 |
+
* Export Customer Attributes CSV file for download
|
177 |
+
*
|
178 |
+
*
|
179 |
+
*/
|
180 |
+
public function Customer_CSVAction()
|
181 |
+
{
|
182 |
+
Mage::log("Entry Knolseed_Engage_Adminhtml_EngageController::Customer_CSVAction()",null,'knolseed.log');
|
183 |
+
|
184 |
+
ob_start();
|
185 |
+
|
186 |
+
$customer_csv_time = Mage::getStoreConfig('engage_options/customer/cron_time');
|
187 |
+
|
188 |
+
$path = Mage::getBaseDir(); # if you want to add new folder for csv files just add name of folder in dir with single quote.
|
189 |
+
$customer_enable_flag = Mage::getStoreConfig('engage_options/customer/status');
|
190 |
+
if($customer_enable_flag == 1){
|
191 |
+
$customervalues = Mage::getModel('engage/customervalues')->toOptionArray();
|
192 |
+
|
193 |
+
$new_cust_array = array();
|
194 |
+
|
195 |
+
foreach ($customervalues AS $key => $value) {
|
196 |
+
$new_cust_array[] = $value['value'];
|
197 |
+
}
|
198 |
+
|
199 |
+
$customervaluescount = count($new_cust_array);
|
200 |
+
|
201 |
+
$fp = fopen($path."/Customer_Attributes_".date("m-d-y-g-i-a").".csv", 'x+') or die(Mage::log("file opening error!!"));
|
202 |
+
|
203 |
+
$headers = "";
|
204 |
+
$headers = " Customer Id ,".implode(",", array_map('trim',$new_cust_array))."\n";
|
205 |
+
fwrite($fp,$headers);
|
206 |
+
$model = Mage::getModel('customer/customer'); //getting product model
|
207 |
+
$collection = $model->getCollection(); //products collection
|
208 |
+
$attribute_values = "";
|
209 |
+
|
210 |
+
foreach ($collection as $customers) //loop for getting products
|
211 |
+
{
|
212 |
+
$customer = Mage::getModel('customer/customer')->load($customers->getId());
|
213 |
+
$attributes = $customer->getAttributes();
|
214 |
+
|
215 |
+
$attribute_values .= '"'.$customer->getId().'",';
|
216 |
+
|
217 |
+
foreach( $new_cust_array as $key => $vals )
|
218 |
+
{
|
219 |
+
$attributeValue = $customer->getData( $vals ) ;
|
220 |
+
|
221 |
+
if( $vals == "default_billing" || $vals == "default_shipping" ) {
|
222 |
+
|
223 |
+
$address = Mage::getModel('customer/address')->load($attributeValue);
|
224 |
+
$htmlAddress = $address->format('html');
|
225 |
+
$string = (string)$htmlAddress;
|
226 |
+
$string = ereg_replace("[ \t\n\r]+", "", $string);
|
227 |
+
$string= str_replace(array('<br/>', ',', '<br />'), ' ', $string);
|
228 |
+
$attribute_values .='"'.str_replace('"','\"',$string).'",';
|
229 |
+
|
230 |
+
} else {
|
231 |
+
|
232 |
+
$string = ereg_replace("[ \t\n\r]+", "", $attributeValue);
|
233 |
+
|
234 |
+
$string=str_replace('"','\"',$string);
|
235 |
+
$attribute_values .= '"'.str_replace(array('<br/>', ',', '<br />'), ' ', $string).'",';
|
236 |
+
}
|
237 |
+
|
238 |
+
}
|
239 |
+
$attribute_values .= "\n";
|
240 |
+
}
|
241 |
+
|
242 |
+
fwrite($fp,$attribute_values);
|
243 |
+
fclose($fp);
|
244 |
+
|
245 |
+
$filepath = $path."/Customer_Attributes_".date("m-d-y-g-i-a").".csv";
|
246 |
+
$this->getResponse ()
|
247 |
+
->setHttpResponseCode ( 200 )
|
248 |
+
->setHeader ( 'Pragma', 'public', true )
|
249 |
+
->setHeader ( 'Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true )
|
250 |
+
->setHeader ( 'Content-type', 'application/force-download' )
|
251 |
+
->setHeader ( 'Content-Length', filesize($filepath) )
|
252 |
+
->setHeader ('Content-Disposition', '' . '; filename=' . basename($filepath) );
|
253 |
+
$this->getResponse ()->clearBody ();
|
254 |
+
$this->getResponse ()->sendHeaders ();
|
255 |
+
readfile ( $filepath );
|
256 |
+
#unlink($filepath);
|
257 |
+
}else{
|
258 |
+
$url = Mage::helper("adminhtml")->getUrl("adminhtml/system_config/edit/section/engage_options/");
|
259 |
+
header("Location: ".$url);
|
260 |
+
ob_end_flush();
|
261 |
+
}
|
262 |
+
|
263 |
+
}
|
264 |
+
|
265 |
+
}
|
lib/knolseed/Engage/controllers/IndexController.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class Knolseed_Engage_IndexController extends Mage_Core_Controller_Front_Action
|
10 |
+
{
|
11 |
+
public function indexAction()
|
12 |
+
{
|
13 |
+
|
14 |
+
/*
|
15 |
+
* Load an object by id
|
16 |
+
* Request looking like:
|
17 |
+
* http://site.com/setattribute?id=15
|
18 |
+
* or
|
19 |
+
* http://site.com/setattribute/id/15
|
20 |
+
*/
|
21 |
+
/*
|
22 |
+
$setattribute_id = $this->getRequest()->getParam('id');
|
23 |
+
|
24 |
+
if($setattribute_id != null && $setattribute_id != '') {
|
25 |
+
$setattribute = Mage::getModel('setattribute/setattribute')->load($setattribute_id)->getData();
|
26 |
+
} else {
|
27 |
+
$setattribute = null;
|
28 |
+
}
|
29 |
+
*/
|
30 |
+
|
31 |
+
/*
|
32 |
+
* If no param we load a the last created item
|
33 |
+
*/
|
34 |
+
/*
|
35 |
+
if($setattribute == null) {
|
36 |
+
$resource = Mage::getSingleton('core/resource');
|
37 |
+
$read= $resource->getConnection('core_read');
|
38 |
+
$setattributeTable = $resource->getTableName('setattribute');
|
39 |
+
|
40 |
+
$select = $read->select()
|
41 |
+
->from($setattributeTable,array('setattribute_id','title','content','status'))
|
42 |
+
->where('status',1)
|
43 |
+
->order('created_time DESC') ;
|
44 |
+
|
45 |
+
$setattribute = $read->fetchRow($select);
|
46 |
+
}
|
47 |
+
Mage::register('setattribute', $setattribute);
|
48 |
+
*/
|
49 |
+
|
50 |
+
|
51 |
+
$this->loadLayout();
|
52 |
+
$this->renderLayout();
|
53 |
+
}
|
54 |
+
|
55 |
+
}
|
lib/knolseed/Engage/etc/adminhtml.xml
ADDED
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Magento
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/afl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
19 |
+
* versions in the future. If you wish to customize Magento for your
|
20 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
21 |
+
*
|
22 |
+
* @category Mage
|
23 |
+
* @package Mage_Catalog
|
24 |
+
* @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
|
25 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
26 |
+
*/
|
27 |
+
-->
|
28 |
+
<config>
|
29 |
+
<menu>
|
30 |
+
<catalog translate="title" module="catalog">
|
31 |
+
<title>Catalog</title>
|
32 |
+
<sort_order>30</sort_order>
|
33 |
+
<!--action>adminhtml/catalog</action-->
|
34 |
+
<depends>
|
35 |
+
<module>Mage_Catalog</module>
|
36 |
+
</depends>
|
37 |
+
<children>
|
38 |
+
<products translate="title" module="catalog">
|
39 |
+
<title>Manage Products</title>
|
40 |
+
<action>adminhtml/catalog_product/</action>
|
41 |
+
<sort_order>0</sort_order>
|
42 |
+
</products>
|
43 |
+
<categories translate="title" module="catalog">
|
44 |
+
<title>Manage Categories</title>
|
45 |
+
<action>adminhtml/catalog_category/</action>
|
46 |
+
<sort_order>10</sort_order>
|
47 |
+
</categories>
|
48 |
+
<attributes translate="title" module="catalog">
|
49 |
+
<title>Attributes</title>
|
50 |
+
<children>
|
51 |
+
<attributes translate="title" module="catalog">
|
52 |
+
<title>Manage Attributes</title>
|
53 |
+
<action>adminhtml/catalog_product_attribute/</action>
|
54 |
+
</attributes>
|
55 |
+
<sets translate="title" module="catalog">
|
56 |
+
<title>Manage Attribute Sets</title>
|
57 |
+
<action>adminhtml/catalog_product_set/</action>
|
58 |
+
</sets>
|
59 |
+
</children>
|
60 |
+
<sort_order>20</sort_order>
|
61 |
+
</attributes>
|
62 |
+
<urlrewrite translate="title" module="catalog">
|
63 |
+
<title>URL Rewrite Management</title>
|
64 |
+
<action>adminhtml/urlrewrite/index</action>
|
65 |
+
<sort_order>30</sort_order>
|
66 |
+
</urlrewrite>
|
67 |
+
</children>
|
68 |
+
</catalog>
|
69 |
+
</menu>
|
70 |
+
<acl>
|
71 |
+
<resources>
|
72 |
+
<admin>
|
73 |
+
<children>
|
74 |
+
<system>
|
75 |
+
<children>
|
76 |
+
<config>
|
77 |
+
<children>
|
78 |
+
<catalog translate="title" module="catalog">
|
79 |
+
<title>Catalog Section</title>
|
80 |
+
</catalog>
|
81 |
+
</children>
|
82 |
+
</config>
|
83 |
+
</children>
|
84 |
+
</system>
|
85 |
+
<catalog translate="title" module="catalog">
|
86 |
+
<title>Catalog</title>
|
87 |
+
<sort_order>30</sort_order>
|
88 |
+
<children>
|
89 |
+
<attributes translate="title">
|
90 |
+
<title>Attributes</title>
|
91 |
+
<children>
|
92 |
+
<attributes translate="title">
|
93 |
+
<title>Manage Attributes</title>
|
94 |
+
</attributes>
|
95 |
+
<sets translate="title">
|
96 |
+
<title>Manage Attribute Sets</title>
|
97 |
+
</sets>
|
98 |
+
</children>
|
99 |
+
</attributes>
|
100 |
+
<categories translate="title">
|
101 |
+
<title>Manage Categories</title>
|
102 |
+
</categories>
|
103 |
+
<products translate="title">
|
104 |
+
<title>Manage Products</title>
|
105 |
+
</products>
|
106 |
+
<update_attributes translate="title">
|
107 |
+
<title>Update Attributes</title>
|
108 |
+
</update_attributes>
|
109 |
+
<urlrewrite translate="title">
|
110 |
+
<title>URL Rewrite Management</title>
|
111 |
+
</urlrewrite>
|
112 |
+
</children>
|
113 |
+
</catalog>
|
114 |
+
</children>
|
115 |
+
</admin>
|
116 |
+
</resources>
|
117 |
+
</acl>
|
118 |
+
</config>
|
lib/knolseed/Engage/etc/config.xml
ADDED
@@ -0,0 +1,221 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* @category Knolseed
|
5 |
+
* @package Knolseed
|
6 |
+
* @author KnolseedTech
|
7 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
8 |
+
*/
|
9 |
+
-->
|
10 |
+
<config>
|
11 |
+
<modules>
|
12 |
+
<Knolseed_Engage>
|
13 |
+
<version>0.1.0</version>
|
14 |
+
</Knolseed_Engage>
|
15 |
+
</modules>
|
16 |
+
<default>
|
17 |
+
<engage_options>
|
18 |
+
<google>
|
19 |
+
<google_content><![CDATA[(function (w, d, a, m) {
|
20 |
+
w['_knolseed'] = w['_knolseed'] || [];
|
21 |
+
/** intercepts ga.js calls */
|
22 |
+
var push = Array.prototype.push;
|
23 |
+
w['_gaq'] = [];
|
24 |
+
w['_gaq'].push = function () {
|
25 |
+
var i = 0, max = arguments.length, arg;
|
26 |
+
while (i < max) {
|
27 |
+
arg = arguments[i++]; push.call(_gaq, arg); push.call(_knolseed, arg);
|
28 |
+
}
|
29 |
+
};
|
30 |
+
/** intercepts analytics.js calls */
|
31 |
+
w['ga'] = function() {
|
32 |
+
(w['ga'].q = w['ga'].q || []).push(arguments);
|
33 |
+
(w['_knolseed'] = w['_knolseed'] || []).push(arguments);
|
34 |
+
};
|
35 |
+
a = d.createElement('script'),
|
36 |
+
m = d.getElementsByTagName('script')[0];
|
37 |
+
a.async = 1;
|
38 |
+
a.src = 'http://ers.knolseed.com:1234/embed.js';
|
39 |
+
m.parentNode.insertBefore(a, m)
|
40 |
+
})(window,document)
|
41 |
+
</script>
|
42 |
+
|
43 |
+
<script>
|
44 |
+
_knolseed.push(["_setCustomerId", "customer_id"]);]]>
|
45 |
+
</google_content>
|
46 |
+
</google>
|
47 |
+
</engage_options>
|
48 |
+
</default>
|
49 |
+
<default>
|
50 |
+
<upload_options>
|
51 |
+
<upload>
|
52 |
+
<upload_info>1</upload_info>
|
53 |
+
</upload>
|
54 |
+
</upload_options>
|
55 |
+
</default>
|
56 |
+
<default>
|
57 |
+
<engage_options>
|
58 |
+
<product>
|
59 |
+
<cron_time>03:00</cron_time>
|
60 |
+
</product>
|
61 |
+
</engage_options>
|
62 |
+
</default>
|
63 |
+
<default>
|
64 |
+
<engage_options>
|
65 |
+
<customer>
|
66 |
+
<cron_time>03:00</cron_time>
|
67 |
+
</customer>
|
68 |
+
</engage_options>
|
69 |
+
</default>
|
70 |
+
<frontend>
|
71 |
+
<routers>
|
72 |
+
<engage>
|
73 |
+
<use>standard</use>
|
74 |
+
<args>
|
75 |
+
<module>Knolseed_Engage</module>
|
76 |
+
<frontName>engage</frontName>
|
77 |
+
</args>
|
78 |
+
</engage>
|
79 |
+
</routers>
|
80 |
+
<layout>
|
81 |
+
<updates>
|
82 |
+
<engage>
|
83 |
+
<file>engage.xml</file>
|
84 |
+
</engage>
|
85 |
+
</updates>
|
86 |
+
</layout>
|
87 |
+
</frontend>
|
88 |
+
<admin>
|
89 |
+
<routers>
|
90 |
+
<engage>
|
91 |
+
<use>admin</use>
|
92 |
+
<args>
|
93 |
+
<module>Knolseed_Engage</module>
|
94 |
+
<frontName>engage</frontName>
|
95 |
+
</args>
|
96 |
+
</engage>
|
97 |
+
</routers>
|
98 |
+
</admin>
|
99 |
+
<adminhtml>
|
100 |
+
<acl>
|
101 |
+
<resources>
|
102 |
+
<all>
|
103 |
+
<title>Allow Everything</title>
|
104 |
+
</all>
|
105 |
+
<admin>
|
106 |
+
<children>
|
107 |
+
<Knolseed_Engage>
|
108 |
+
<title>Engage Module</title>
|
109 |
+
<sort_order>10</sort_order>
|
110 |
+
</Knolseed_Engage>
|
111 |
+
<system>
|
112 |
+
<children>
|
113 |
+
<config>
|
114 |
+
<children>
|
115 |
+
<engage_options>
|
116 |
+
<title>Store Hello World Module Section</title>
|
117 |
+
</engage_options>
|
118 |
+
<upload_options>
|
119 |
+
<title>Upload Data Module Section</title>
|
120 |
+
</upload_options>
|
121 |
+
</children>
|
122 |
+
</config>
|
123 |
+
</children>
|
124 |
+
</system>
|
125 |
+
</children>
|
126 |
+
</admin>
|
127 |
+
</resources>
|
128 |
+
</acl>
|
129 |
+
<layout>
|
130 |
+
<updates>
|
131 |
+
<engage>
|
132 |
+
<file>engage.xml</file>
|
133 |
+
</engage>
|
134 |
+
</updates>
|
135 |
+
</layout>
|
136 |
+
|
137 |
+
</adminhtml>
|
138 |
+
<global>
|
139 |
+
<models>
|
140 |
+
<engage>
|
141 |
+
<class>Knolseed_Engage_Model</class>
|
142 |
+
<resourceModel>engage_mysql4</resourceModel>
|
143 |
+
</engage>
|
144 |
+
<engage_mysql4>
|
145 |
+
<class>Knolseed_Engage_Model_Mysql4</class>
|
146 |
+
<entities>
|
147 |
+
<engage>
|
148 |
+
<table>kf_cron_process</table>
|
149 |
+
</engage>
|
150 |
+
</entities>
|
151 |
+
</engage_mysql4>
|
152 |
+
</models>
|
153 |
+
<resources>
|
154 |
+
<engage_setup>
|
155 |
+
<setup>
|
156 |
+
<module>Knolseed_Engage</module>
|
157 |
+
</setup>
|
158 |
+
<connection>
|
159 |
+
<use>core_setup</use>
|
160 |
+
</connection>
|
161 |
+
</engage_setup>
|
162 |
+
<engage_write>
|
163 |
+
<connection>
|
164 |
+
<use>core_write</use>
|
165 |
+
</connection>
|
166 |
+
</engage_write>
|
167 |
+
<engage_read>
|
168 |
+
<connection>
|
169 |
+
<use>core_read</use>
|
170 |
+
</connection>
|
171 |
+
</engage_read>
|
172 |
+
</resources>
|
173 |
+
<blocks>
|
174 |
+
<engage>
|
175 |
+
<class>Knolseed_Engage_Block</class>
|
176 |
+
</engage>
|
177 |
+
<googleanalytics>
|
178 |
+
<rewrite>
|
179 |
+
<ga>Knolseed_Engage_Block_Ga</ga>
|
180 |
+
</rewrite>
|
181 |
+
</googleanalytics>
|
182 |
+
</blocks>
|
183 |
+
<helpers>
|
184 |
+
<engage>
|
185 |
+
<class>Knolseed_Engage_Helper</class>
|
186 |
+
</engage>
|
187 |
+
</helpers>
|
188 |
+
<events>
|
189 |
+
<admin_system_config_changed_section_upload_options>
|
190 |
+
<observers>
|
191 |
+
<engage>
|
192 |
+
<type>singleton</type>
|
193 |
+
<class>Knolseed_Engage_Model_Observer</class>
|
194 |
+
<method>setUploadDataTimeframe</method>
|
195 |
+
</engage>
|
196 |
+
</observers>
|
197 |
+
</admin_system_config_changed_section_upload_options>
|
198 |
+
<admin_system_config_changed_section_engage_options>
|
199 |
+
<observers>
|
200 |
+
<engage>
|
201 |
+
<type>singleton</type>
|
202 |
+
<class>Knolseed_Engage_Model_Observer</class>
|
203 |
+
<method>removeUserPass</method>
|
204 |
+
</engage>
|
205 |
+
</observers>
|
206 |
+
</admin_system_config_changed_section_engage_options>
|
207 |
+
</events>
|
208 |
+
</global>
|
209 |
+
<crontab>
|
210 |
+
<jobs>
|
211 |
+
<knolseed_engage>
|
212 |
+
<schedule>
|
213 |
+
<cron_expr>*/5 * * * *</cron_expr>
|
214 |
+
</schedule>
|
215 |
+
<run>
|
216 |
+
<model>engage/observer::setScript</model>
|
217 |
+
</run>
|
218 |
+
</knolseed_engage>
|
219 |
+
</jobs>
|
220 |
+
</crontab>
|
221 |
+
</config>
|
lib/knolseed/Engage/etc/system.xml
ADDED
@@ -0,0 +1,241 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!--
|
2 |
+
/**
|
3 |
+
* @category Knolseed
|
4 |
+
* @package Knolseed
|
5 |
+
* @author KnolseedTech
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*/
|
8 |
+
-->
|
9 |
+
<config>
|
10 |
+
<tabs>
|
11 |
+
<engage translate="label" module="engage">
|
12 |
+
<label>KnolSeed Configuration</label>
|
13 |
+
<sort_order>99999</sort_order>
|
14 |
+
</engage>
|
15 |
+
</tabs>
|
16 |
+
<sections>
|
17 |
+
<engage_options translate="label" module="engage">
|
18 |
+
<label>Configure Plugin</label>
|
19 |
+
<tab>engage</tab>
|
20 |
+
<frontend_type>text</frontend_type>
|
21 |
+
<sort_order>1000</sort_order>
|
22 |
+
<show_in_default>1</show_in_default>
|
23 |
+
<show_in_website>1</show_in_website>
|
24 |
+
<show_in_store>1</show_in_store>
|
25 |
+
<groups>
|
26 |
+
<aws translate="label">
|
27 |
+
<label>KnolSeed Connect</label>
|
28 |
+
<frontend_type>text</frontend_type>
|
29 |
+
<sort_order>1</sort_order>
|
30 |
+
<show_in_default>1</show_in_default>
|
31 |
+
<show_in_website>1</show_in_website>
|
32 |
+
<show_in_store>1</show_in_store>
|
33 |
+
<comment><![CDATA[<div id="default-label-credentials" class="default-label">Enter your KnolSeed credentials to enable this plugin. To create a new KnolSeed account, click <a href="http://www.knolseed.com" target="_blank">here</a>.</div>]]></comment>
|
34 |
+
<fields>
|
35 |
+
<username>
|
36 |
+
<label>Username</label>
|
37 |
+
<frontend_type>text</frontend_type>
|
38 |
+
<sort_order>2</sort_order>
|
39 |
+
<show_in_default>1</show_in_default>
|
40 |
+
<show_in_website>1</show_in_website>
|
41 |
+
<show_in_store>1</show_in_store>
|
42 |
+
</username>
|
43 |
+
<password>
|
44 |
+
<label>Password</label>
|
45 |
+
<frontend_type>password</frontend_type>
|
46 |
+
<sort_order>3</sort_order>
|
47 |
+
<show_in_default>1</show_in_default>
|
48 |
+
<show_in_website>1</show_in_website>
|
49 |
+
<show_in_store>1</show_in_store>
|
50 |
+
</password>
|
51 |
+
<testconnection translate="label">
|
52 |
+
<label></label>
|
53 |
+
<frontend_type>button</frontend_type>
|
54 |
+
<frontend_model>engage/buttontestconnect</frontend_model>
|
55 |
+
<sort_order>80</sort_order>
|
56 |
+
<show_in_default>1</show_in_default>
|
57 |
+
<show_in_website>1</show_in_website>
|
58 |
+
<show_in_store>1</show_in_store>
|
59 |
+
</testconnection>
|
60 |
+
|
61 |
+
</fields>
|
62 |
+
</aws>
|
63 |
+
</groups>
|
64 |
+
<groups>
|
65 |
+
<product translate="label">
|
66 |
+
<label>Product Catalog Sync</label>
|
67 |
+
<frontend_type>text</frontend_type>
|
68 |
+
<sort_order>2</sort_order>
|
69 |
+
<show_in_default>1</show_in_default>
|
70 |
+
<show_in_website>1</show_in_website>
|
71 |
+
<show_in_store>1</show_in_store>
|
72 |
+
<fields>
|
73 |
+
<cron_time>
|
74 |
+
<label>Sync Time</label>
|
75 |
+
<frontend_type>select</frontend_type>
|
76 |
+
<source_model>knolseed_engage_model_crontime</source_model>
|
77 |
+
<sort_order>3</sort_order>
|
78 |
+
<show_in_default>1</show_in_default>
|
79 |
+
<show_in_website>1</show_in_website>
|
80 |
+
<show_in_store>1</show_in_store>
|
81 |
+
<tooltip>KnolSeed will sync your Product Catalog everyday at this time</tooltip>
|
82 |
+
<comment>Choose a time that has minimum performance impact on your website. Eg, if your website traffic is lowest at 3AM, then choose 3AM here.</comment>
|
83 |
+
</cron_time>
|
84 |
+
<!--<interval translate="label comment">
|
85 |
+
<label>Interval</label>
|
86 |
+
<comment><![CDATA[Specify interval in minutes]]></comment>
|
87 |
+
<frontend_type>text</frontend_type>
|
88 |
+
<sort_order>4</sort_order>
|
89 |
+
<show_in_default>1</show_in_default>
|
90 |
+
<show_in_website>0</show_in_website>
|
91 |
+
<show_in_store>1</show_in_store>
|
92 |
+
</interval>-->
|
93 |
+
<!--<run translate="label">
|
94 |
+
<label>Export to CSV</label>
|
95 |
+
<frontend_type>button</frontend_type>
|
96 |
+
<frontend_model>engage/button</frontend_model>
|
97 |
+
<sort_order>20</sort_order>
|
98 |
+
<show_in_default>1</show_in_default>
|
99 |
+
<show_in_website>1</show_in_website>
|
100 |
+
<show_in_store>1</show_in_store>
|
101 |
+
</run> -->
|
102 |
+
</fields>
|
103 |
+
</product>
|
104 |
+
</groups>
|
105 |
+
|
106 |
+
<groups>
|
107 |
+
<customer translate="label">
|
108 |
+
<label>Customer Data Sync</label>
|
109 |
+
<frontend_type>text</frontend_type>
|
110 |
+
<sort_order>3</sort_order>
|
111 |
+
<show_in_default>1</show_in_default>
|
112 |
+
<show_in_website>1</show_in_website>
|
113 |
+
<show_in_store>1</show_in_store>
|
114 |
+
<fields>
|
115 |
+
<cron_time>
|
116 |
+
<label>Sync Time</label>
|
117 |
+
<frontend_type>select</frontend_type>
|
118 |
+
<source_model>knolseed_engage_model_crontime</source_model>
|
119 |
+
<sort_order>3</sort_order>
|
120 |
+
<show_in_default>1</show_in_default>
|
121 |
+
<show_in_website>1</show_in_website>
|
122 |
+
<show_in_store>1</show_in_store>
|
123 |
+
<tooltip>KnolSeed will sync your Customer Attributes everyday at this time</tooltip>
|
124 |
+
<comment>Choose a time that has minimum performance impact on your website. Eg, if your website traffic is lowest at 3AM, then choose 3AM here.</comment>
|
125 |
+
</cron_time>
|
126 |
+
<!--<interval translate="label comment">
|
127 |
+
<label>Interval</label>
|
128 |
+
<comment><![CDATA[Specify interval in minutes]]></comment>
|
129 |
+
<frontend_type>text</frontend_type>
|
130 |
+
<sort_order>4</sort_order>
|
131 |
+
<show_in_default>1</show_in_default>
|
132 |
+
<show_in_website>0</show_in_website>
|
133 |
+
<show_in_store>1</show_in_store>
|
134 |
+
</interval>
|
135 |
+
<run translate="label">
|
136 |
+
<label>Export to CSV</label>
|
137 |
+
<frontend_type>button</frontend_type>
|
138 |
+
<frontend_model>engage/buttonexport</frontend_model>
|
139 |
+
<sort_order>21</sort_order>
|
140 |
+
<show_in_default>1</show_in_default>
|
141 |
+
<show_in_website>1</show_in_website>
|
142 |
+
<show_in_store>1</show_in_store>
|
143 |
+
</run> -->
|
144 |
+
</fields>
|
145 |
+
</customer>
|
146 |
+
</groups>
|
147 |
+
|
148 |
+
<groups>
|
149 |
+
<google translate="label">
|
150 |
+
<label>KnolSeed Analytics</label>
|
151 |
+
<frontend_type>text</frontend_type>
|
152 |
+
<sort_order>4</sort_order>
|
153 |
+
<show_in_default>1</show_in_default>
|
154 |
+
<show_in_website>1</show_in_website>
|
155 |
+
<show_in_store>1</show_in_store>
|
156 |
+
<comment><![CDATA[<div id="gastatus" class="gastatus"></div>]]></comment>
|
157 |
+
<fields>
|
158 |
+
<google_content>
|
159 |
+
<label>KnolSeed Analytics Content</label>
|
160 |
+
<frontend_type>textarea</frontend_type>
|
161 |
+
<sort_order>3</sort_order>
|
162 |
+
<show_in_default>1</show_in_default>
|
163 |
+
<show_in_website>1</show_in_website>
|
164 |
+
<show_in_store>1</show_in_store>
|
165 |
+
<tooltip>KnolSeed will embed this snippet in your product webpages. This will allow you to segment your audience based on website browsing and buying behaviour.</tooltip>
|
166 |
+
</google_content>
|
167 |
+
<!--<google_account_number>
|
168 |
+
<label>Google Account Number</label>
|
169 |
+
<frontend_type>text</frontend_type>
|
170 |
+
<validate>required-entry-firstname</validate>
|
171 |
+
<sort_order>3</sort_order>
|
172 |
+
<show_in_default>1</show_in_default>
|
173 |
+
<show_in_website>1</show_in_website>
|
174 |
+
<show_in_store>1</show_in_store>
|
175 |
+
<comment>Knolseed Analytics needs Google Analytics to be enabled. To enable, please enter your Google Account Number above and save the configuration</comment>
|
176 |
+
</google_account_number>-->
|
177 |
+
</fields>
|
178 |
+
</google>
|
179 |
+
</groups>
|
180 |
+
|
181 |
+
|
182 |
+
</engage_options>
|
183 |
+
<upload_options translate="label" module="engage">
|
184 |
+
<label>Advanced Customer Segmentation</label>
|
185 |
+
<tab>engage</tab>
|
186 |
+
<frontend_type>text</frontend_type>
|
187 |
+
<sort_order>10001</sort_order>
|
188 |
+
<show_in_default>1</show_in_default>
|
189 |
+
<show_in_website>1</show_in_website>
|
190 |
+
<show_in_store>1</show_in_store>
|
191 |
+
<groups>
|
192 |
+
<upload translate="label">
|
193 |
+
<label>Advanced customer segmentation can be enabled by doing a one-time data sync with KnolSeed
|
194 |
+
</label>
|
195 |
+
<frontend_type>select</frontend_type>
|
196 |
+
<source_model>knolseed_engage_model_uploadinfo</source_model>
|
197 |
+
<sort_order>2</sort_order>
|
198 |
+
<show_in_default>1</show_in_default>
|
199 |
+
<show_in_website>1</show_in_website>
|
200 |
+
<show_in_store>1</show_in_store>
|
201 |
+
<fields>
|
202 |
+
<upload_info>
|
203 |
+
<label>Data to sync</label>
|
204 |
+
<frontend_type>radios</frontend_type>
|
205 |
+
<source_model>knolseed_engage_model_uploadinfo</source_model>
|
206 |
+
<sort_order>2</sort_order>
|
207 |
+
<show_in_default>1</show_in_default>
|
208 |
+
<show_in_website>1</show_in_website>
|
209 |
+
<show_in_store>1</show_in_store>
|
210 |
+
<tooltip>Transaction data for selected timeframe will be synced with KnolSeed.</tooltip>
|
211 |
+
<comment><![CDATA[<style>#row_upload_options_upload_upload_info td.value {width:410px !important;}</style>]]></comment>
|
212 |
+
</upload_info>
|
213 |
+
<timeframe>
|
214 |
+
<label>Timeframe for data sync</label>
|
215 |
+
<frontend_type>select</frontend_type>
|
216 |
+
<source_model>knolseed_engage_model_timeframe</source_model>
|
217 |
+
<sort_order>20</sort_order>
|
218 |
+
<show_in_default>1</show_in_default>
|
219 |
+
<show_in_website>1</show_in_website>
|
220 |
+
<show_in_store>1</show_in_store>
|
221 |
+
<tooltip>This is the time-window of data that will be synced with KnolSeed.</tooltip>
|
222 |
+
</timeframe>
|
223 |
+
<time>
|
224 |
+
<label>Start data sync at</label>
|
225 |
+
<frontend_type>select</frontend_type>
|
226 |
+
<source_model>knolseed_engage_model_time</source_model>
|
227 |
+
<sort_order>21</sort_order>
|
228 |
+
<show_in_default>1</show_in_default>
|
229 |
+
<show_in_website>1</show_in_website>
|
230 |
+
<show_in_store>1</show_in_store>
|
231 |
+
<tooltip>KnolSeed will perform a one-time sync of your Transactions data at this time.</tooltip>
|
232 |
+
<comment>Choose a time that has minimum performance impact on your website. Eg, if your website traffic is lowest at 3AM, then choose 3AM here.</comment>
|
233 |
+
</time>
|
234 |
+
</fields>
|
235 |
+
</upload>
|
236 |
+
</groups>
|
237 |
+
|
238 |
+
</upload_options>
|
239 |
+
</sections>
|
240 |
+
</config>
|
241 |
+
|
lib/knolseed/Engage/sql/engage_setup/mysql4-install-0.1.0.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Knolseed
|
4 |
+
* @author Knolseed (product@knolseed.com)
|
5 |
+
* @support support@knolseed.com
|
6 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
$installer = $this;
|
10 |
+
$installer->startSetup();
|
11 |
+
$installer->run("
|
12 |
+
CREATE TABLE IF NOT EXISTS `kf_cron_process` (
|
13 |
+
`process_id` int(11) NOT NULL AUTO_INCREMENT,
|
14 |
+
`date_start` datetime NOT NULL,
|
15 |
+
`date_end` datetime NOT NULL,
|
16 |
+
`file_pushed` enum('0','1') NOT NULL DEFAULT '0',
|
17 |
+
`filename` varchar(30) NOT NULL DEFAULT '0',
|
18 |
+
`type` enum('customer','product') NOT NULL,
|
19 |
+
`attempt` tinyint(4) NOT NULL DEFAULT '0',
|
20 |
+
`created_at` date NOT NULL,
|
21 |
+
PRIMARY KEY (`process_id`)
|
22 |
+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
|
23 |
+
|
24 |
+
|
25 |
+
");
|
26 |
+
$installer->endSetup();
|
27 |
+
|
28 |
+
$installer = $this;
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Knolseed</name>
|
4 |
-
<version>1.1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Knolseed Magento Extension</summary>
|
10 |
<description>Knolseed Magento Extension</description>
|
11 |
-
<notes>No known
|
12 |
<authors><author><name>Mohan Varadarajan</name><user>KnolseedTech</user><email>mohan@knolseed.com</email></author></authors>
|
13 |
-
<date>2014-09-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magelocal"><dir name="Knolseed"><dir name="Engage"><dir name="Block"><dir name="Adminhtml"><dir name="Engage"><dir name="Edit"><file name="Form.php" hash="8be003c0b60c8d5b85611ac14e9ea6fd"/><dir name="Tab"><file name="Form.php" hash="8a7d81b8dc569a24ab26e2f2adab6477"/></dir><file name="Tabs.php" hash="15beb8a0ec0bb422963fb7ed0f0cd35a"/></dir><file name="Edit.php" hash="53a459ef71bc48569d0812bf2e21acf0"/><file name="Grid.php" hash="e58fe0b54ce1f2196971d2825aa6e2b9"/></dir><file name="Engage.php" hash="10bb9b17de7a4721893e9f9129701ef1"/></dir><file name="Button.php" hash="8b1d2ecbc79cbd2917a29bc4d0152a93"/><file name="Buttonexport.php" hash="0ea9196c02b1952c6f0632542ac5d2a4"/><file name="Buttontestconnect.php" hash="e388161e55080ae63c17764b2b6f83d1"/><file name="Engage.php" hash="eece4f427dcb0b136a3435dbbac9a2a7"/><file name="Ga.php" hash="05d300c2e95dda7a01782b238e842fa1"/></dir><dir name="Helper"><file name="Data.php" hash="3a9af01a3c422b0f693577074dae3da6"/></dir><dir name="Model"><file name="Catalogvalues.php" hash="1eb4d0990dab378102a315e2f7dea195"/><file name="Crontime.php" hash="aa11fbc0518015f0ea9ad31879e2942c"/><file name="Customervalues.php" hash="dea955296bb81ede1a493b868dd1fa8e"/><file name="Engage.php" hash="e5e0c63deb2f9d5af46b6494bd8da04d"/><file name="Gacode.php" hash="e003a5e564b1448eeba88ffb5633f18b"/><dir name="Mysql4"><dir name="Engage"><file name="Collection.php" hash="e58859b2f5b4708eb941c9d06ade4598"/></dir><file name="Engage.php" hash="c492577c2fd9a6ae2f193d29474d2264"/></dir><file name="Observer.php" hash="02c99a7e5a2ebeb32273848aa8d6d4c1"/><file name="Productvalues.php" hash="2e25e89dd6bc052c526364e40d83cebe"/><file name="Status.php" hash="31986502af9ee8f584770587eef6c9e3"/><file name="Time.php" hash="5a8cda2b446d1e31c4e88fd6833609fb"/><file name="Timeframe.php" hash="123113578538af59392a39e6471827b0"/><file name="Uploadinfo.php" hash="ff0fbcfc2a4143f3c9d8f6caa1ecfa08"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="EngageController.php" hash="20c4aa714af167610693e80d0007811f"/></dir><file name="IndexController.php" hash="1b5639c7d012fc2b18473f396ebf5899"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d12bb84c74502244f2ab3ac82594856e"/><file name="config.xml" hash="62c4bdfc0f1c46df3b11b2413069e0d9"/><file name="system.xml" hash="6d894107c020cab2c769250a651c7ba0"/></dir><dir name="sql"><dir name="engage_setup"><file name="mysql4-install-0.1.0.php" hash="e82cbb2edc97eef70fcd68f487e3b081"/></dir></dir></dir></dir></target><target name="magelib"><dir name="knolseed"><dir name="Aws"><dir name="AutoScaling"><file name="AutoScalingClient.php" hash="96f7817e2b957e0dff5b86b9b6375e01"/><dir name="Enum"><file name="LifecycleState.php" hash="9810bd2aa5e76553e2ff63eb1099ce0f"/><file name="ScalingActivityStatusCode.php" hash="d25ea9047b7808c202ef2ef8a4a77b0c"/></dir><dir name="Exception"><file name="AlreadyExistsException.php" hash="2a02b6cab633434c7ea21ecb83b58cf5"/><file name="AutoScalingException.php" hash="097796b2f6511b3ba61b0b6868fbaa71"/><file name="InvalidNextTokenException.php" hash="5514b82a135cb1458f01ae4160be4fb0"/><file name="LimitExceededException.php" hash="d0c352eb46597b28ed055ae061021287"/><file name="ResourceInUseException.php" hash="a71af59532132f4762a8c43ade822cad"/><file name="ScalingActivityInProgressException.php" hash="4219a0cba552d93baa06bbfc649ac324"/></dir><dir name="Resources"><file name="autoscaling-2011-01-01.php" hash="d7ae83165d1d181b9c64ad6a53068f99"/></dir></dir><dir name="CloudFormation"><file name="CloudFormationClient.php" hash="c0c79a7a6f698f7a02831c74e349ae1c"/><dir name="Enum"><file name="Capability.php" hash="87d3e5b2a1e471de32eacfe319a742f8"/><file name="OnFailure.php" hash="2dd2c835807d9199cb50e36088a18e81"/><file name="ResourceStatus.php" hash="700168f41f807abd7c97f15d9f4d901f"/><file name="StackStatus.php" hash="345f0b117d1f812f8e0b9ef0823d3ae8"/></dir><dir name="Exception"><file name="AlreadyExistsException.php" hash="4ffdae7a4ad78b89a8a4a9be1f536884"/><file name="CloudFormationException.php" hash="20085530b59b9e098c2ada9de3ee8351"/><file name="InsufficientCapabilitiesException.php" hash="065983a4508b04e9f500698db711a55a"/><file name="LimitExceededException.php" hash="bdc10d2e7ccb4be4729acf21aa87dbf4"/></dir><dir name="Resources"><file name="cloudformation-2010-05-15.php" hash="a91f58d121086b008998fcd1909c5ad3"/></dir></dir><dir name="CloudFront"><file name="CloudFrontClient.php" hash="c820712a8fdf2ee3ecd39e5a1a61d9e1"/><file name="CloudFrontSignature.php" hash="06eeb79f40f3a20ca9859a976961fee3"/><dir name="Enum"><file name="ItemSelection.php" hash="f89c600f2b261a6b3c94bf19d06e5eee"/><file name="Method.php" hash="67e88edf55940e191921ddf90b6025c4"/><file name="OriginProtocolPolicy.php" hash="8fe4e01406293f576e597ff771640d2e"/><file name="PriceClass.php" hash="d9a50e0437e0b662a157196b3abb9d5f"/><file name="ViewerProtocolPolicy.php" hash="204c54c2ae5c02726befe41b812b4bd6"/></dir><dir name="Exception"><file name="AccessDeniedException.php" hash="210a1d69c62f9c0b8add9a2a2e81f394"/><file name="BatchTooLargeException.php" hash="3105f7267554b58a0abf432d836e5bf4"/><file name="CNAMEAlreadyExistsException.php" hash="9425867f60b4d25848ff0bdd47300eaa"/><file name="CloudFrontException.php" hash="429e05ee70405874929cc108266b2d93"/><file name="CloudFrontOriginAccessIdentityAlreadyExistsException.php" hash="739105270b7721b7da091664ba3c0f14"/><file name="CloudFrontOriginAccessIdentityInUseException.php" hash="81d6a09bc4ce37d9a9e0bd2159043855"/><file name="DistributionAlreadyExistsException.php" hash="64f8c14cf76317489ce6a15330e0816a"/><file name="DistributionNotDisabledException.php" hash="c5230d53c99110d8b2675621be9c66f0"/><file name="Exception.php" hash="ce040bf287eacfd693b3dc759fcb800b"/><file name="IllegalUpdateException.php" hash="5ab60ad23c08fc77bcccf98fbd738dd2"/><file name="InconsistentQuantitiesException.php" hash="d6af918a252e0d4e943320a6bb1094cb"/><file name="InvalidArgumentException.php" hash="c6122a31c0194300c471656b3b874067"/><file name="InvalidDefaultRootObjectException.php" hash="3bc0b9f16f48a7dfd7d9144dd43b7acb"/><file name="InvalidErrorCodeException.php" hash="c05d8ffd76968aa2f48c8b8f7c19dbc4"/><file name="InvalidForwardCookiesException.php" hash="b50389875ae9a54ab825fea3e5773d4d"/><file name="InvalidIfMatchVersionException.php" hash="7aa670f81354a67f8270fd2246ad8fc1"/><file name="InvalidOriginAccessIdentityException.php" hash="7acfcfb24a66784da0c4c149f3cf29de"/><file name="InvalidOriginException.php" hash="632df0a0cc8f09ed6595eaab6eac9c02"/><file name="InvalidRelativePathException.php" hash="56dc34af823320de174eef4f680869e6"/><file name="InvalidRequiredProtocolException.php" hash="78829bb583c8a4720512602c2ce6ee4a"/><file name="InvalidResponseCodeException.php" hash="4976577e103856db9c652447c420b3b8"/><file name="InvalidViewerCertificateException.php" hash="c70c0a60aa37e8d231ce1ca53f6c0b75"/><file name="MissingBodyException.php" hash="3d73e714eacad430e11719913273dd9c"/><file name="NoSuchCloudFrontOriginAccessIdentityException.php" hash="c2de46b7e8db036f884d602fd8ab3870"/><file name="NoSuchDistributionException.php" hash="9ae49040ec2e2edd727602f6980dc685"/><file name="NoSuchInvalidationException.php" hash="7da1faa42d286d536feac45155267e51"/><file name="NoSuchOriginException.php" hash="5b35b829571f1999bcc7e565ef30698d"/><file name="NoSuchStreamingDistributionException.php" hash="645eeaeb9d90b5fff9292f12c9ae3bdc"/><file name="PreconditionFailedException.php" hash="42152d36e21dfe747281a7c858a51486"/><file name="StreamingDistributionAlreadyExistsException.php" hash="bc0b1ed3943a706b4d295c0194850ceb"/><file name="StreamingDistributionNotDisabledException.php" hash="3fc1a8ec0dbb390caf0c4ecbcf624a85"/><file name="TooManyCacheBehaviorsException.php" hash="7da5d049ce5ebb414100a1a6e5f6f63d"/><file name="TooManyCertificatesException.php" hash="9de72883ebc82430d9929cfe14d13941"/><file name="TooManyCloudFrontOriginAccessIdentitiesException.php" hash="4ecdbda99272c74d4fed210a208e271a"/><file name="TooManyCookieNamesInWhiteListException.php" hash="144be97dcb4b805e468143640a7cd7b3"/><file name="TooManyDistributionCNAMEsException.php" hash="a89ef05b8098ffb7680fefb0ea594edc"/><file name="TooManyDistributionsException.php" hash="54dee79c286c0aff8409ac5971e71511"/><file name="TooManyInvalidationsInProgressException.php" hash="eca63bd17aa8078e7ec2fb3005892ad3"/><file name="TooManyOriginsException.php" hash="a05117832ad5470e3463b3f1ef30836d"/><file name="TooManyStreamingDistributionCNAMEsException.php" hash="e60de7f873f70986dcd95b821eaf2a79"/><file name="TooManyStreamingDistributionsException.php" hash="ca8d40e2273ab45e658c83258d1e21bb"/><file name="TooManyTrustedSignersException.php" hash="ea330b820b574e48d2472eebbfd64a95"/><file name="TrustedSignerDoesNotExistException.php" hash="b3fbd3911bc8f06de92ff248b8555ace"/></dir><dir name="Resources"><file name="cloudfront-2012-05-05.php" hash="b41a6a6b93c7105c4ff2a3b68c4802eb"/><file name="cloudfront-2013-09-27.php" hash="0dbf58684f1572b08abb695a7aa72ccc"/></dir></dir><dir name="CloudSearch"><file name="CloudSearchClient.php" hash="ffaf08491ebe9a3ef110a776db3d2a96"/><dir name="Enum"><file name="IndexFieldType.php" hash="954e470184601c5b647ef9ffe38394fe"/><file name="OptionState.php" hash="873d197cdc4b981482af6eb9c0da02dd"/><file name="SearchInstanceType.php" hash="067a934719c5fcefdb2b517a47d9db30"/><file name="SourceDataFunction.php" hash="ef79db5b5c7ff675f73cd8dc100fe6d9"/></dir><dir name="Exception"><file name="BaseException.php" hash="6025fc0890fb9b17e6b7adf7dbb42552"/><file name="CloudSearchException.php" hash="919945b4b96b87794fa0a7f2b6318dea"/><file name="InternalException.php" hash="fc961cc6d81162dba3b37a722f7a1709"/><file name="InvalidTypeException.php" hash="53c50ecfb17a71464159d8a9025dbb71"/><file name="LimitExceededException.php" hash="ac9c9394e0b28d67c502d65948a62cf1"/><file name="ResourceNotFoundException.php" hash="87d148f4684efbc0cc02b3e9533976b2"/></dir><dir name="Resources"><file name="cloudsearch-2011-02-01.php" hash="daea426390f9d176c32f79039aa5d398"/></dir></dir><dir name="CloudTrail"><file name="CloudTrailClient.php" hash="2fe1022610b058f750c2cfc8ea118af4"/><dir name="Exception"><file name="CloudTrailException.php" hash="8a75973d86d0855f6e6b2bb1685e1462"/><file name="InsufficientS3BucketPolicyException.php" hash="b0aac7a0ed82e51852cc4c6307d6e53e"/><file name="InsufficientSnsTopicPolicyException.php" hash="78a6b11a206e25965849e56c4959e6af"/><file name="InternalErrorException.php" hash="4c71d8e6bab187298c133b43f6ac10ac"/><file name="InvalidS3BucketNameException.php" hash="85e39c99b2525f2ab6d635cf4c08f46c"/><file name="InvalidS3PrefixException.php" hash="edd298e7b57ec8d42799b6f9e76225ee"/><file name="InvalidSnsTopicNameException.php" hash="9938a7214ae144a0dc4c1aca2b5af604"/><file name="InvalidTrailNameException.php" hash="4610ee847751ee76907dd1bf886e1186"/><file name="MaximumNumberOfTrailsExceededException.php" hash="1316b0dfd83da0a63d74a4150438e0de"/><file name="S3BucketDoesNotExistException.php" hash="2888b061de5eff553e39f78db1066f22"/><file name="TrailAlreadyExistsException.php" hash="0ff52b891e5387a5d1ca681e3e2306e1"/><file name="TrailNotFoundException.php" hash="45f87e866a8b40c4bdd9134b0287315c"/><file name="TrailNotProvidedException.php" hash="6de0960e9cb0b78cbf45d36105608987"/></dir><file name="LogFileIterator.php" hash="f44b055697c19fbe75c66f78859ccc36"/><file name="LogFileReader.php" hash="70ba5d7a9a8a0fd2ec5e025d7f8fafaa"/><file name="LogRecordIterator.php" hash="16c1ed32677c0cbdf900405773f72b7c"/><dir name="Resources"><file name="cloudtrail-2013-11-01.php" hash="be59686cf569b9ea8d1b195c8b63e108"/></dir></dir><dir name="CloudWatch"><file name="CloudWatchClient.php" hash="74b6cb8c1e3555c6e7d2aa9c4a853b9b"/><dir name="Enum"><file name="ComparisonOperator.php" hash="f1307d70c8d1814bb2c10b8bbc7dd26f"/><file name="HistoryItemType.php" hash="e2a2aef1d5729c3370e946468281dacb"/><file name="StateValue.php" hash="1508461750cdc7e72edce23bde76cd62"/><file name="Statistic.php" hash="59865a4cbb6c5759a5419fcb906e1d7b"/><file name="Unit.php" hash="7ad2e966fe36dd6d8365552dade3b56f"/></dir><dir name="Exception"><file name="CloudWatchException.php" hash="fd032623bda661ba3a8de4ec8e8902da"/><file name="InternalServiceException.php" hash="fdb93f16efd4c480e6b8f92033e63602"/><file name="InvalidFormatException.php" hash="cfce3e07083461b30277388b43dfe176"/><file name="InvalidNextTokenException.php" hash="e4964db5ddb5e49b5f7ca723ddb6b3d0"/><file name="InvalidParameterCombinationException.php" hash="c023212218a22200def1783cc9b8c7e8"/><file name="InvalidParameterValueException.php" hash="e309374fa3fe547eb8ab6dbd629ba4fb"/><file name="LimitExceededException.php" hash="7216f2760155126c9119a2f273f983da"/><file name="MissingRequiredParameterException.php" hash="eafc7af2dcbb905b7508b368faac2b75"/><file name="ResourceNotFoundException.php" hash="e3c7322320db76b0c2264f640f9596a6"/></dir><dir name="Resources"><file name="cloudwatch-2010-08-01.php" hash="7d4deecad0728348c2c3d64f3bf9cedf"/></dir></dir><dir name="Common"><file name="Aws.php" hash="af81bf375ba1379d93ab612f7ea93cde"/><dir name="Client"><file name="AbstractClient.php" hash="cc01dcd9327a84606e8aeb402bdbc223"/><file name="AwsClientInterface.php" hash="b5549e525d4119198840bb2b34e79c67"/><file name="ClientBuilder.php" hash="81c9d06401700090d95b36c58f722b2d"/><file name="DefaultClient.php" hash="21d047c441a59ac2d146e520cb4c73ec"/><file name="ExpiredCredentialsChecker.php" hash="b75d82f1065d0ff5001c6588fff26ae2"/><file name="ThrottlingErrorChecker.php" hash="18150232988131e9f21e4724cfc35bbf"/><file name="UploadBodyListener.php" hash="7d6e8c6da0c89c7177740f3b950b6c79"/><file name="UserAgentListener.php" hash="98501807352bf33024e31b7fc6217c93"/></dir><dir name="Command"><file name="AwsQueryVisitor.php" hash="94799b1eb3ebd49ab60de7f8cefc96fe"/><file name="JsonCommand.php" hash="6bef8308125e047c4be353e04c067367"/><file name="QueryCommand.php" hash="47f1c01448de7d6c09671907bef5a5bc"/><file name="XmlResponseLocationVisitor.php" hash="457a7a69d3575bf45afc227ca0fd3948"/></dir><dir name="Credentials"><file name="AbstractCredentialsDecorator.php" hash="bce6a394352ce1162ed5d5a814a921e9"/><file name="AbstractRefreshableCredentials.php" hash="da6fb4894370252edf0280e09601a95d"/><file name="CacheableCredentials.php" hash="0a269b4ea676b1195f66fdddedd2ef80"/><file name="Credentials.php" hash="6e067728ac7cb2782ab299b50a8c038a"/><file name="CredentialsInterface.php" hash="93e9ebe9c22c382ea50b36951b978583"/><file name="RefreshableInstanceProfileCredentials.php" hash="0ce5d189a36a9a64c724c931af092b0b"/></dir><dir name="Enum"><file name="ClientOptions.php" hash="1dfcc9b655e60bb50acccead19e05e22"/><file name="DateFormat.php" hash="87412bee81bce129eacaedb580fcd464"/><file name="Region.php" hash="0ebf023da3afcbade51065c0bf246c46"/><file name="Size.php" hash="b92da9494098f83d94080c96979a3c06"/><file name="Time.php" hash="0701abe5acc45f6e9a897631b8b4cec2"/><file name="UaString.php" hash="0342531432bbafbfcf4cdb04156f8ebd"/></dir><file name="Enum.php" hash="6006719ac2eecfb5183d776634f2b2a5"/><dir name="Exception"><file name="AwsExceptionInterface.php" hash="b5e48ce90ddfd2b397fe1dfbabd2d3ca"/><file name="BadMethodCallException.php" hash="752cafcafecfd520e6ccfe01210a17c7"/><file name="DomainException.php" hash="1b1e3665960ce4fb9043df5c58553dd6"/><file name="ExceptionFactoryInterface.php" hash="ed60e5bba6ad952a2619613e194fb73c"/><file name="ExceptionListener.php" hash="2ca2ab488369e279da53a7b903fd557e"/><file name="InstanceProfileCredentialsException.php" hash="992185ed8296289a27b1b6497f306643"/><file name="InvalidArgumentException.php" hash="6400656e6a65bd523e37158ed71bd4c7"/><file name="LogicException.php" hash="d20e53d676891f9142be744f2aab2e6d"/><file name="MultipartUploadException.php" hash="3161352ca49918ea3783888aa8f0d7bb"/><file name="NamespaceExceptionFactory.php" hash="5fcea4d30864e65dbb0482a7ada2a42e"/><file name="OutOfBoundsException.php" hash="dabab81d1c1db56dcab8eeb513e18d5d"/><file name="OverflowException.php" hash="5a565642fb5379392dd5752c3adb16ad"/><dir name="Parser"><file name="AbstractJsonExceptionParser.php" hash="fcff52403d7baf7d5115ee56cb7b260d"/><file name="DefaultXmlExceptionParser.php" hash="7d4c376b203f91d7874e4172ffced216"/><file name="ExceptionParserInterface.php" hash="09a7643cba57df1eac684aaf13ee55a9"/><file name="JsonQueryExceptionParser.php" hash="55759b219a56dc9f57c96589c9d0413f"/><file name="JsonRestExceptionParser.php" hash="942c6b749df09392fb4e302bc9d0af8e"/></dir><file name="RequiredExtensionNotLoadedException.php" hash="2947ebcfe2e8e786b51abfa8a722e899"/><file name="RuntimeException.php" hash="6942bba7cab741eb2e5ce4d396a82095"/><file name="ServiceResponseException.php" hash="ae3e77cf14c093d89be1dec010939f91"/><file name="TransferException.php" hash="92ae697629eeff344aa6517b5bc45d40"/><file name="UnexpectedValueException.php" hash="830809ef2d18c043d65f182be99c07b9"/></dir><dir name="Facade"><file name="Facade.php" hash="72449a6ccfbd22ae3f927acbbec74e79"/><file name="FacadeInterface.php" hash="429e30061543660a46a819b74c034a94"/><file name="facade-classes.php" hash="647dc54366ac80fdd73d0e46f2630825"/></dir><dir name="Hash"><file name="ChunkHash.php" hash="31d493b2e4175c5964bb6f4da4e8cce2"/><file name="ChunkHashInterface.php" hash="d5e3f4e9cd7cdbccab266444d4a46b9a"/><file name="HashUtils.php" hash="a8138a20e9f3e3ca9f0a5e4991a1d348"/><file name="TreeHash.php" hash="e876a9bd16c09bb5f6116b3a05ea4da2"/></dir><file name="HostNameUtils.php" hash="ad3a7318c1be08a0b3d71caf6e62e395"/><dir name="InstanceMetadata"><file name="InstanceMetadataClient.php" hash="bd565975d0da1ed56726390ea606d128"/><dir name="Waiter"><file name="ServiceAvailable.php" hash="c1e9ef2e441a99fbf966313fd3beac0e"/></dir></dir><dir name="Iterator"><file name="AwsResourceIterator.php" hash="18ac3c1db4d5c35656c2863ececefc3f"/><file name="AwsResourceIteratorFactory.php" hash="fc7241565e4521b530e81f1737ff382e"/></dir><dir name="Model"><dir name="MultipartUpload"><file name="AbstractTransfer.php" hash="f00f833de3a6694a7758a79042cb2b8c"/><file name="AbstractTransferState.php" hash="f4391e22c27455420d9c85cbca4754e1"/><file name="AbstractUploadBuilder.php" hash="c5866f851ae8d004183b89f426f57a7e"/><file name="AbstractUploadId.php" hash="987faac50f83d46f2097737dc40052ec"/><file name="AbstractUploadPart.php" hash="5c5bbfb146b5297ff733b7ebb61cd106"/><file name="TransferInterface.php" hash="94130e826c600d19e974e269ee71065a"/><file name="TransferStateInterface.php" hash="7a52b1befbad56b3362315f92e0f31b8"/><file name="UploadIdInterface.php" hash="2705f41724fc5e736c802e323bdc0a2f"/><file name="UploadPartInterface.php" hash="13ae3e96adc690d71bdfde1bdf01c7f8"/></dir></dir><dir name="Resources"><file name="aws-config.php" hash="dc97faa44d59d25c4ca27535df7d0d2b"/><file name="sdk1-config.php" hash="e0b5e5dfab92d4e8d8945e553dec9e1b"/></dir><dir name="Signature"><file name="AbstractSignature.php" hash="e395a4bae5425c913b9419a522facca3"/><file name="EndpointSignatureInterface.php" hash="49198ab55607a67bb4fbd942d3d8db2e"/><file name="SignatureInterface.php" hash="bb1aec50aa114a7b7726e859a9799bfd"/><file name="SignatureListener.php" hash="65bb761a4ad2b106e631b27302574f4c"/><file name="SignatureV2.php" hash="e834b411ca36dfcec05ddeab43d45466"/><file name="SignatureV3.php" hash="339b4dc01ba603ec3f6fbcd5df11519a"/><file name="SignatureV3Https.php" hash="1ab04acc2d1ba8904078db75c61264ed"/><file name="SignatureV4.php" hash="4ae0bc69c88f84eae1facca61bdf66a0"/></dir><dir name="Waiter"><file name="AbstractResourceWaiter.php" hash="fb87fdb0773a67d0c4ea4741a3057974"/><file name="AbstractWaiter.php" hash="1fe7cf8dfd60c6c3f534f488d943160e"/><file name="CallableWaiter.php" hash="ab6554c8f0f6f94d2bd32979b137bbb3"/><file name="CompositeWaiterFactory.php" hash="73f2bab0a7aa293901dcd181498135f5"/><file name="ConfigResourceWaiter.php" hash="68faf7fde5fb769e3462b4d8e870da9e"/><file name="ResourceWaiterInterface.php" hash="da81827cec410feb30e367ae7efc62e5"/><file name="WaiterClassFactory.php" hash="97e1f94b23346b80b7f6ec5d8906ecec"/><file name="WaiterConfig.php" hash="a9048fb9d65c13ebbc33309550bd1f04"/><file name="WaiterConfigFactory.php" hash="ac6bd930f61ae6b6689edc78562778b3"/><file name="WaiterFactoryInterface.php" hash="34faa05c594295fbd9c7b6ae2349d16f"/><file name="WaiterInterface.php" hash="5a036a25e1c42c59b524cc4423ca394b"/></dir></dir><dir name="DataPipeline"><file name="DataPipelineClient.php" hash="21b577a534777ec9524ac85fe8eaab90"/><dir name="Enum"><file name="WorkStatus.php" hash="4c06b4fef52463def8d6728c8156fd97"/></dir><dir name="Exception"><file name="DataPipelineException.php" hash="cf0dc75d1e74605d52d12242a90a975d"/><file name="InternalServiceErrorException.php" hash="6bcc9c504f051791beb91a81980ae6b6"/><file name="InvalidRequestException.php" hash="6d8fb6c37905bc1e0e2827156e46dcc4"/><file name="PipelineDeletedException.php" hash="f44d4d4e25806273a1d317508d55df8d"/><file name="PipelineNotFoundException.php" hash="1757b8db2c721bebfd58b4d047fe3d49"/><file name="TaskNotFoundException.php" hash="b2349285d55929396296c9e72cb929ae"/></dir><dir name="Resources"><file name="datapipeline-2012-10-29.php" hash="93a01d0c063a019a981b635ee8cac047"/></dir></dir><dir name="DirectConnect"><file name="DirectConnectClient.php" hash="8dee058cb9fc78791921a6c28439d65d"/><dir name="Enum"><file name="ConnectionState.php" hash="82813d38bf95b7d3c38516321255b1d4"/><file name="InterconnectState.php" hash="3d42f8c2ef0c1ddae553e155be522eb6"/><file name="StepState.php" hash="c1e5ca484cb965ff1cd18865a56a17d7"/><file name="VirtualInterfaceState.php" hash="dce0f6d10216031f89cc4d0577b8ebef"/></dir><dir name="Exception"><file name="DirectConnectClientException.php" hash="824c303be6f859fe155b3bdc93f3b88d"/><file name="DirectConnectException.php" hash="ce83b52285a4e2a99da8c2e24c8c9f39"/><file name="DirectConnectServerException.php" hash="e40e0431f0c3fc541da5a4e6d826f2b1"/></dir><dir name="Resources"><file name="directconnect-2012-10-25.php" hash="be3dcab53745ec3e33c62094a1a3e530"/></dir></dir><dir name="DynamoDb"><file name="Crc32ErrorChecker.php" hash="2e24b60db9278fb1f3d4e7c4606aade6"/><file name="DynamoDbClient.php" hash="8635f4278009e71a5ba180da5951bff6"/><dir name="Enum"><file name="AttributeAction.php" hash="4fe32b490230d31057180c1eea0dc95e"/><file name="AttributeType.php" hash="f54ecaac0c36aa38a20330cfb317a75b"/><file name="ComparisonOperator.php" hash="7c7229a71fc92c6032de065fee764067"/><file name="IndexStatus.php" hash="af25dbf1143f6893663330bf937f54a8"/><file name="KeyType.php" hash="190f3badb2e1e66dcfdacf13c4c3c218"/><file name="ProjectionType.php" hash="a461f06f98352cb707f3de50aac8f7cc"/><file name="ReturnConsumedCapacity.php" hash="ea22c4392730241cf5ef4bfe7ed8e028"/><file name="ReturnItemCollectionMetrics.php" hash="3b56a00a778973f42957ac8e2c00ffba"/><file name="ReturnValue.php" hash="04d0dc61a600f2da43384e2c946c98ee"/><file name="ScalarAttributeType.php" hash="af5e09bb4ec8f3389e39420418917e22"/><file name="Select.php" hash="1bbf13ed269b05d483a91b52460e6faf"/><file name="TableStatus.php" hash="3d967da23a64c97b6035ae0154ac649c"/><file name="Type.php" hash="74926e33df7334ea48c5596bba4f697a"/></dir><dir name="Exception"><file name="AccessDeniedException.php" hash="0927b6721261886710ddf4e7aa0762a8"/><file name="ConditionalCheckFailedException.php" hash="a8104924c2bc22817aa54d91888ba7eb"/><file name="DynamoDbException.php" hash="4a06fe9b3f69c80c962711cda55cce2a"/><file name="IncompleteSignatureException.php" hash="edec35e7a549e4131009c001f80d3880"/><file name="InternalFailureException.php" hash="63ce838deafcf7da6c2d2bd05de27cea"/><file name="InternalServerErrorException.php" hash="c48565b7b423404dd81c04514e170374"/><file name="ItemCollectionSizeLimitExceededException.php" hash="8e148af1826bef2216bcc2e33bbfcadd"/><file name="LimitExceededException.php" hash="1262864749b109d0a83697f83ac43197"/><file name="MissingAuthenticationTokenException.php" hash="c4231c1d027ea62155db847fc077ced0"/><file name="ProvisionedThroughputExceededException.php" hash="929a7c0eaa1f568563c0b6d4f816a389"/><file name="ResourceInUseException.php" hash="93032fb4364792ca509882fc7065f42c"/><file name="ResourceNotFoundException.php" hash="939d005bc3f093965d3ea42e5cd746a7"/><file name="ServiceUnavailableException.php" hash="ed40330e3802de6ee1a6216bd6a78e4a"/><file name="ThrottlingException.php" hash="8083cca78079cf22237f0c7bd4cd27d0"/><file name="UnprocessedWriteRequestsException.php" hash="d6b6898e4e7c8c0e4652453948e98775"/><file name="UnrecognizedClientException.php" hash="ee3dde1fceee1a87bf6727ac02f93d16"/><file name="ValidationException.php" hash="26f5860bf1a8807607d7504ae348fd3d"/></dir><dir name="Iterator"><file name="ItemIterator.php" hash="4e8ab1a13263afadb52f9bd81a7424c2"/><file name="ScanIterator.php" hash="02cf978f0d2c423176f4d57b6fe294ca"/></dir><dir name="Model"><file name="Attribute.php" hash="4ecfccd3439ce5817f9dd02b9dfd5a2e"/><dir name="BatchRequest"><file name="AbstractWriteRequest.php" hash="8326d4829afb578ab3688d2e3401333c"/><file name="DeleteRequest.php" hash="b4ce7b754f597f1d26a1045da2bf0b1c"/><file name="PutRequest.php" hash="e3027928d8a84ef771a879c81565c54b"/><file name="UnprocessedRequest.php" hash="eb062503a06657b62c9c3bc286944a75"/><file name="WriteRequestBatch.php" hash="f171c7a555c4d59fffcac3ce662cd31b"/><file name="WriteRequestBatchTransfer.php" hash="020ecc3de51cef0e69618d6252567d8d"/><file name="WriteRequestInterface.php" hash="940271d671e8d64d32d2a5f6a4ce4f98"/></dir><file name="Item.php" hash="e619e06ef3a2c399608643005803ed85"/></dir><dir name="Resources"><file name="dynamodb-2011-12-05.php" hash="2710044894d59900e585a3f1498a79f0"/><file name="dynamodb-2012-08-10.php" hash="d2da1b6956474a39cf6ae1d615d2c75c"/></dir><dir name="Session"><dir name="LockingStrategy"><file name="AbstractLockingStrategy.php" hash="0ff0909551380a3f96483ce1d9210052"/><file name="LockingStrategyFactory.php" hash="92a937a1c67d3e92943f8e6ec4382dbf"/><file name="LockingStrategyFactoryInterface.php" hash="df81c5776e5921285567f4664b0a2024"/><file name="LockingStrategyInterface.php" hash="d7204f72398e69059872e64b62506ccc"/><file name="NullLockingStrategy.php" hash="11998ec67cdf77aa6c5b06759bacd40c"/><file name="PessimisticLockingStrategy.php" hash="fcd13966adda98a2f35d357a66549f6a"/></dir><file name="SessionHandler.php" hash="91f437be9e5dd8bf7c18537056510b4d"/><file name="SessionHandlerConfig.php" hash="f5f3b0ec2f4c6ca24f571ebf4ed5c337"/><file name="SessionHandlerInterface.php" hash="e24a29b472fb95ff6f515184ed1b2c52"/></dir></dir><dir name="Ec2"><file name="Ec2Client.php" hash="ea925d1284a6bb48ee3b85dc6b8eefe0"/><dir name="Enum"><file name="ContainerFormat.php" hash="ed24f4a8e0c99ec757fb222f98d4786d"/><file name="DiskImageFormat.php" hash="4afc92337b9b886f9827f17ee4e9b0ff"/><file name="DomainType.php" hash="b34bcf5eb0e2c516cc97be38bee40925"/><file name="ExportEnvironment.php" hash="03d4b7d3f01a4df5d84007e64ce39539"/><file name="HypervisorType.php" hash="1cad8e0fee3d957f5471e6846b350c26"/><file name="ImageState.php" hash="48aa98fabd24eb293e65c61e60285dda"/><file name="InstanceAttributeName.php" hash="7e994dde76cb9e27f8cb6244a7427611"/><file name="InstanceStateName.php" hash="3a790ea66dc25bbed4769f0ee6993b15"/><file name="InstanceType.php" hash="64eb35dce30a1bc645414d3259497d77"/><file name="PlacementGroupState.php" hash="9ad802b9c5c0a62f1735eb4403430ca4"/><file name="PlacementStrategy.php" hash="966348d650852d0affc515cc42922df2"/><file name="ResourceType.php" hash="b217494404182a97645d3dab77e8afcc"/><file name="RuleAction.php" hash="4fd615346f2ed9eb1715c6bcee1e5e5b"/><file name="SnapshotAttributeName.php" hash="bdf788468fcac3b3a441a4f0131cda6a"/><file name="SnapshotState.php" hash="40159815b2619121cf8d04ee19820eba"/><file name="SpotInstanceType.php" hash="8731d934503f291f335432455a637eb5"/><file name="VirtualizationType.php" hash="dae236d113cc7e18a0b1feba59546fea"/><file name="VolumeAttachmentState.php" hash="715d5189cc42b629cbd203e98d0ce8c4"/><file name="VolumeAttributeName.php" hash="635938967abed8bbeda2a915c3400809"/><file name="VolumeState.php" hash="148512765597c824ac7f61a097ae70bb"/><file name="VolumeType.php" hash="ed10dd06ee3a71ccb849874c65c928f6"/><file name="VpcAttributeName.php" hash="a2fd03051235f9a8e8f0ef051e34d711"/></dir><dir name="Exception"><file name="Ec2Exception.php" hash="62ee2dc40c5010a08f3e622a85869722"/></dir><dir name="Iterator"><file name="DescribeInstancesIterator.php" hash="76f3dce41115ec02d2ee145dfe885c26"/></dir><dir name="Resources"><file name="ec2-2013-10-15.php" hash="d3a3d0f378823bd3740416b99bd17d5e"/></dir></dir><dir name="ElastiCache"><file name="ElastiCacheClient.php" hash="d6ca66bfec7cd0fd351038519a01b5f1"/><dir name="Enum"><file name="SourceType.php" hash="115b6aebca4bf87b123e01c8ff8f24f8"/></dir><dir name="Exception"><file name="AuthorizationAlreadyExistsException.php" hash="21e504b9e7f836f0b2c0ff72c161a3a3"/><file name="AuthorizationNotFoundException.php" hash="a5e02559299e09210676a953110a33bf"/><file name="CacheClusterAlreadyExistsException.php" hash="c25c43902f4ba4186b322e01c80c6b82"/><file name="CacheClusterNotFoundException.php" hash="82190202843e63734ba8ef1ba394a5be"/><file name="CacheParameterGroupAlreadyExistsException.php" hash="fd24c3d68a39aa4641a637fd808de4d4"/><file name="CacheParameterGroupNotFoundException.php" hash="ca6463ae76170cecd82daf6061ab20d5"/><file name="CacheParameterGroupQuotaExceededException.php" hash="c93c90abdc4f535d59f8d01ad90f1d40"/><file name="CacheSecurityGroupAlreadyExistsException.php" hash="59d08e4224c1a793a0b328aeced5f794"/><file name="CacheSecurityGroupNotFoundException.php" hash="1ccda66732cad00372be8d5e36e2adbe"/><file name="CacheSecurityGroupQuotaExceededException.php" hash="877ede3cf5bd8e40776cee03231852a4"/><file name="CacheSubnetGroupAlreadyExistsException.php" hash="c6e393fc9a4fa2a36e660511af4d3706"/><file name="CacheSubnetGroupInUseException.php" hash="9f6a2310c31b66f5d83a1843abfd802f"/><file name="CacheSubnetGroupNotFoundException.php" hash="9463754bd9d0fbd166dc4b6bd961cd71"/><file name="CacheSubnetGroupQuotaExceededException.php" hash="f676b0b2ec61855f0398f535416b3fe1"/><file name="CacheSubnetQuotaExceededException.php" hash="63a14141744fa66e0a0a69b9c081e28a"/><file name="ClusterQuotaForCustomerExceededException.php" hash="77627c0471b2708e68e9e8860638870b"/><file name="ElastiCacheException.php" hash="5aa6c73aa0c85df1edc5158e8613c56a"/><file name="InsufficientCacheClusterCapacityException.php" hash="c6f6d51a7a32fe4a5e09e29597127364"/><file name="InvalidCacheClusterStateException.php" hash="318e8f473ff95ea2ac20ad320e7c1971"/><file name="InvalidCacheParameterGroupStateException.php" hash="61d6ec9dbacfddde6dfa4156892ca675"/><file name="InvalidCacheSecurityGroupStateException.php" hash="39ad8e3e4323e35d812cf62ef095ceb8"/><file name="InvalidParameterCombinationException.php" hash="bd8ada3e0f3152e08ae1e647de1ef542"/><file name="InvalidParameterValueException.php" hash="2451add8d8f33cd5a002060e9f3e2835"/><file name="InvalidReplicationGroupStateException.php" hash="2fce45c79f7d4a5f14e1f16ad5d754cb"/><file name="InvalidSubnetException.php" hash="11c7bb2eaf03cb8193ace75f76798b25"/><file name="InvalidVPCNetworkStateException.php" hash="26ac0d4d4f2f1dd2e99a0e2a16ff72a0"/><file name="NodeQuotaForClusterExceededException.php" hash="77379a822d5ae295546afffb6f37c353"/><file name="NodeQuotaForCustomerExceededException.php" hash="c730d31717719ed395b3946624a7d966"/><file name="ReplicationGroupAlreadyExistsException.php" hash="ddfcacb215911d76dae186d5e9691167"/><file name="ReplicationGroupNotFoundException.php" hash="e5d0130edc605f109657fdd0e4e8d36a"/><file name="ReservedCacheNodeAlreadyExistsException.php" hash="ba9e965c9707ce3aa9446b53bc2d075f"/><file name="ReservedCacheNodeNotFoundException.php" hash="e8b182a07643ffc04fff9166a3ad9b9b"/><file name="ReservedCacheNodeQuotaExceededException.php" hash="65db6e650fb941814b8f34e60bbcae93"/><file name="ReservedCacheNodesOfferingNotFoundException.php" hash="3cf2ec1dde57680e084c72aa846c32c6"/><file name="SubnetInUseException.php" hash="5f6a50579d69da727e3bf85adcfbaf4f"/></dir><dir name="Resources"><file name="elasticache-2013-06-15.php" hash="ee9e16d07cf21c34241bece85de6e965"/></dir></dir><dir name="ElasticBeanstalk"><file name="ElasticBeanstalkClient.php" hash="20f74c453aa832d49913b61eb3731ee4"/><dir name="Enum"><file name="ConfigurationDeploymentStatus.php" hash="084ddac120d09f4eab64710c88a89800"/><file name="ConfigurationOptionValueType.php" hash="975b62971fe9249c0cf73eb490c09902"/><file name="EnvironmentHealth.php" hash="4a55eacfb07c45fdbff0b98a50118794"/><file name="EnvironmentInfoType.php" hash="fadc42788f6b465409b946e74707569c"/><file name="EnvironmentStatus.php" hash="df1f7c4ba4c6e524aba08984b5a96a82"/><file name="EventSeverity.php" hash="b0f8d4bb831e2dd754f6045b5c94581c"/><file name="ValidationSeverity.php" hash="f02229788c335e8c249918b13e4e9524"/></dir><dir name="Exception"><file name="ElasticBeanstalkException.php" hash="a4a8d318c03943026492ceb31514ce7d"/><file name="InsufficientPrivilegesException.php" hash="c86a85458785953e1b23a1cde09cd9d8"/><file name="OperationInProgressException.php" hash="923588486916af4c1a9d149747c6fe17"/><file name="S3LocationNotInServiceRegionException.php" hash="75883b5ae0176c98c0ed70921a32dc80"/><file name="S3SubscriptionRequiredException.php" hash="0ec8ab059187e734696a88f1f1642cef"/><file name="SourceBundleDeletionException.php" hash="194fc4adde07b7ab54ef290f0aaa2a7e"/><file name="TooManyApplicationVersionsException.php" hash="1d6496349065b33d0317c43e40a6a525"/><file name="TooManyApplicationsException.php" hash="3fe13576abfbb3e3d20598927a417e6d"/><file name="TooManyBucketsException.php" hash="b402073e03caeaca677ddc56f2b89b39"/><file name="TooManyConfigurationTemplatesException.php" hash="d3058cd107f406cf2bf3b05c11513462"/><file name="TooManyEnvironmentsException.php" hash="3176ee87e0d8021e193f85469414f17d"/></dir><dir name="Resources"><file name="elasticbeanstalk-2010-12-01.php" hash="bd8c3992d058f9d6117bf4980df91faa"/></dir></dir><dir name="ElasticLoadBalancing"><file name="ElasticLoadBalancingClient.php" hash="ca59f97f28691979be22e7c7e1b44982"/><dir name="Exception"><file name="AccessPointNotFoundException.php" hash="05071f6051e15d8318355b0794a9dd1e"/><file name="CertificateNotFoundException.php" hash="7a9dd18eeaa2aaf9ac844d2005577993"/><file name="DuplicateAccessPointNameException.php" hash="6c9774b220387b23f5d9413197457ce4"/><file name="DuplicateListenerException.php" hash="6089ef1c0edbadd544eca765a5df7c49"/><file name="DuplicatePolicyNameException.php" hash="4e65421810ac6b692a4e9c385dbf8b10"/><file name="ElasticLoadBalancingException.php" hash="3b8eaa1ef219c403b75d887c6fcf9a9f"/><file name="InvalidConfigurationRequestException.php" hash="df6a12538f70e02044149bec3c58d6f1"/><file name="InvalidEndPointException.php" hash="6ea1a3622cb1d25d2dbbe0394c4b5de2"/><file name="InvalidSchemeException.php" hash="e8ffed1df93368e4de833590688bcee4"/><file name="InvalidSecurityGroupException.php" hash="cce0bdbeee5b3c69adf79f41a647ff2f"/><file name="InvalidSubnetException.php" hash="2b4492a6c075d2b0da9391d9dbff54f4"/><file name="ListenerNotFoundException.php" hash="de0d205c1cafac341936ae6065ef84bd"/><file name="LoadBalancerAttributeNotFoundException.php" hash="243a7bb3caf9180d313a91e7c84809b6"/><file name="PolicyNotFoundException.php" hash="a1878afe8404f41525177bd5fd6b6cc8"/><file name="PolicyTypeNotFoundException.php" hash="9f35549594a24267a531311b937a3555"/><file name="SubnetNotFoundException.php" hash="e125719fc95081ee80730f3904b183c7"/><file name="TooManyAccessPointsException.php" hash="7edb845728a203fe6c2403c77805567a"/><file name="TooManyPoliciesException.php" hash="7b041ef30bec8614c17a8071710c7f1c"/></dir><dir name="Resources"><file name="elasticloadbalancing-2012-06-01.php" hash="f93ce11a5c23253b12d838611f093f45"/></dir></dir><dir name="ElasticTranscoder"><file name="ElasticTranscoderClient.php" hash="4d13e535302710b2b72ee0e3ffef7b49"/><dir name="Exception"><file name="AccessDeniedException.php" hash="d8d758ef18d17ad9756612a30735ba53"/><file name="ElasticTranscoderException.php" hash="c82a45c9c18b3529dca6bd2d3f0ca6e4"/><file name="IncompatibleVersionException.php" hash="808faec7d50f265050ad7414212e8229"/><file name="InternalServiceException.php" hash="550b4e6f16f6d8a241c4c0763b81da5f"/><file name="LimitExceededException.php" hash="0af29b1fc2a1f7da7c01fce037d9f25c"/><file name="ResourceInUseException.php" hash="b08c18448cbcab3526962f82b74c5ece"/><file name="ResourceNotFoundException.php" hash="9811281d1dc85134a5d36596c9f60d17"/><file name="ValidationException.php" hash="3c439ebac5c8cce30a6df9a908bd9192"/></dir><dir name="Resources"><file name="elastictranscoder-2012-09-25.php" hash="5248a8ed57bf2f3e475941ee99e82957"/></dir></dir><dir name="Emr"><file name="EmrClient.php" hash="b6bc7ac614bebdafd8b8905cb1ffdb68"/><dir name="Enum"><file name="ActionOnFailure.php" hash="90a3368d05d9c947a743b6e326398db0"/><file name="ClusterState.php" hash="43e98595cd7eccd0d9760dcee4f9401f"/><file name="ClusterStateChangeReasonCode.php" hash="2022d285e42729a667b96d9d270237c5"/><file name="InstanceGroupState.php" hash="a3a213c7607430a22e509d22952218ce"/><file name="InstanceGroupStateChangeReasonCode.php" hash="9e4488974df626ede33665815c84634b"/><file name="InstanceGroupType.php" hash="6b2698140ba7c3ec2ac3d27917eb8785"/><file name="InstanceRoleType.php" hash="ab7220643f81d7bac60584c463f8510e"/><file name="InstanceState.php" hash="3081093592df41be7cf775d33fc83448"/><file name="InstanceStateChangeReasonCode.php" hash="da34270d02922f21abbe6e394eca03af"/><file name="JobFlowExecutionState.php" hash="c7bc8356aab0be524defa38ac62e3d1d"/><file name="MarketType.php" hash="7f135081488c2374dfa72716992b19b9"/><file name="StepExecutionState.php" hash="800801721ae16f53ca83222a2fdf6a78"/><file name="StepState.php" hash="9ed3012916b6c5147a25f4bfa70021a9"/><file name="StepStateChangeReasonCode.php" hash="7ab1f8494a346a25ddbeab0bf22b98eb"/></dir><dir name="Exception"><file name="EmrException.php" hash="fdeb31733b03b1d981a9f93a5ccd37b9"/><file name="InternalServerErrorException.php" hash="472ca1648da9957b3fa88baa8dc9fefd"/><file name="InternalServerException.php" hash="0e1d0468d26322c24637b701a69fea87"/><file name="InvalidRequestException.php" hash="f4461933899ce1512b024d8fee1c78e6"/></dir><dir name="Resources"><file name="emr-2009-03-31.php" hash="180719640e0e163ee703c45fe618c6a5"/></dir></dir><dir name="Glacier"><dir name="Enum"><file name="Action.php" hash="85f4981c556299658edb3e9b244ddc1c"/><file name="ActionCode.php" hash="8ca169d71c6085f4348b786f86ad74c0"/><file name="StatusCode.php" hash="91cd78cd13068bef5a162089bc1ee42f"/></dir><dir name="Exception"><file name="GlacierException.php" hash="30b98e04728dc38c1d78ab5df0f01208"/><file name="InvalidParameterValueException.php" hash="ee0a2c8b584dea4c871965c66c2aebf0"/><file name="LimitExceededException.php" hash="0571d505d9e0546e098958202ad2f4a4"/><file name="MissingParameterValueException.php" hash="2f02824463026f15329bcb6c9564fbdd"/><file name="RequestTimeoutException.php" hash="c4e3c975633f6fdebe1c61e458726a10"/><file name="ResourceNotFoundException.php" hash="7c0036cbe45eb98a3cf7bdb3d949ee3f"/><file name="ServiceUnavailableException.php" hash="5a296af4f334d246fc45d0cc812e0c59"/></dir><file name="GlacierClient.php" hash="8d52372f349380eb2369ab6039ef83fe"/><file name="GlacierUploadListener.php" hash="19e03c7b50c4ff37d67cdeb94e1a14b4"/><dir name="Model"><dir name="MultipartUpload"><file name="AbstractTransfer.php" hash="c3381be176dd88aaa906a639a6fde0d4"/><file name="ParallelTransfer.php" hash="92dc62bcee6cbcdcaaf39acf431e2114"/><file name="SerialTransfer.php" hash="331a89bb71e820cc7aaecfdd20b12418"/><file name="TransferState.php" hash="af8aabe8abcdc55ad00de3ac094088a7"/><file name="UploadBuilder.php" hash="8462dfca22b04fc695a73a7d8815c4de"/><file name="UploadId.php" hash="f5189bec7825b8d0031dd64eb988ebf5"/><file name="UploadPart.php" hash="fec1ceb347d00b1706b85a87068b780f"/><file name="UploadPartContext.php" hash="a45cb082db0f327419d7c179e53d57be"/><file name="UploadPartGenerator.php" hash="d7b83fc492d67d84499165acff72c2ea"/></dir></dir><dir name="Resources"><file name="glacier-2012-06-01.php" hash="7fe7d51325b3c1f8f06bccff25791b73"/></dir></dir><dir name="Iam"><dir name="Enum"><file name="AssignmentStatusType.php" hash="ae0f41c53b1c56824d75eb333e19a85a"/><file name="StatusType.php" hash="a93bd6a9869a9b5aa4f7a94068270f4d"/></dir><dir name="Exception"><file name="DeleteConflictException.php" hash="48b4e522cae6109dffb4f26a05fb766f"/><file name="DuplicateCertificateException.php" hash="0d2fec540fdb38a279159b2bc825b721"/><file name="EntityAlreadyExistsException.php" hash="7dfe46fb65b928ebd9fb2c90f75338cc"/><file name="EntityTemporarilyUnmodifiableException.php" hash="d2800e6bdc1d684d1ee3ff38dc1fd336"/><file name="IamException.php" hash="364d247c36655d55c1af15c59baa0d2a"/><file name="InvalidAuthenticationCodeException.php" hash="b160209f5210bfe18472eda8b0ac7492"/><file name="InvalidCertificateException.php" hash="92704012d2921797ff2087e42f17fab9"/><file name="InvalidInputException.php" hash="daea6e91cde8b03a4b69cc0189a0368b"/><file name="InvalidUserTypeException.php" hash="76b7086631b8fb7c1f3279da1feb113e"/><file name="KeyPairMismatchException.php" hash="bd22710b1e3dcbe0a64902f54a3a4163"/><file name="LimitExceededException.php" hash="2e17c2780c8fd635469de3014ea37842"/><file name="MalformedCertificateException.php" hash="2b38f99955a913c63356c0edda5a2c3d"/><file name="MalformedPolicyDocumentException.php" hash="89c2ff535598e5940dd18ca66c7a385c"/><file name="NoSuchEntityException.php" hash="478062e9964d02dbaadb386ebe423436"/><file name="PasswordPolicyViolationException.php" hash="bbee10470d4d8c2ee03ed7e7f6205e68"/></dir><file name="IamClient.php" hash="9658c8829c4f43b09b6f77fabb616b8a"/><dir name="Resources"><file name="iam-2010-05-08.php" hash="7355ec47bb805cdfbf37bd6456ed1867"/></dir></dir><dir name="ImportExport"><dir name="Enum"><file name="JobType.php" hash="9ee43f6c4cacedda141e5de2e1784866"/></dir><dir name="Exception"><file name="BucketPermissionException.php" hash="032796167d1ce35fcd0e99f587955daa"/><file name="CanceledJobIdException.php" hash="2fc2db1e09acec07edb2db7ddbecb1bd"/><file name="ExpiredJobIdException.php" hash="d4c2c7d73d37d73e909db1bfbbef75b8"/><file name="ImportExportException.php" hash="95e9b9d2b5341524d7085bf23c706436"/><file name="InvalidAccessKeyIdException.php" hash="f3adb212bf4be9951d3de8dfad876349"/><file name="InvalidAddressException.php" hash="3daf811eba38bfdc14d15c61e07ec650"/><file name="InvalidCustomsException.php" hash="33a2a444377461a8d488ee5aeb706dbb"/><file name="InvalidFileSystemException.php" hash="6b13609070c971046937178bae5a8366"/><file name="InvalidJobIdException.php" hash="b794f4a283df4739c61fdddcfb69da8f"/><file name="InvalidManifestFieldException.php" hash="250762db398e1a31e65e7f6a059a877c"/><file name="InvalidParameterException.php" hash="d3708b1f5798200dbe27891faa27362f"/><file name="MalformedManifestException.php" hash="9773d5c2cf3459a125c224083aec7028"/><file name="MissingCustomsException.php" hash="808eaf466f96f81b25999988bdd45b8c"/><file name="MissingManifestFieldException.php" hash="d5b83f7cdbcad0687e91efaf1c8019ad"/><file name="MissingParameterException.php" hash="449ce097415b119eb4535bd803828f11"/><file name="MultipleRegionsException.php" hash="a75d56cfbf9198c1f891c833c1d0f782"/><file name="NoSuchBucketException.php" hash="309718b6810d12b7ddf57e8ac863c2d1"/><file name="UnableToCancelJobIdException.php" hash="ff839a2502867b9d6499df705ac36e58"/></dir><file name="ImportExportClient.php" hash="0e52be29513def74a9d97e37c67ae46d"/><dir name="Iterator"><file name="ListJobsIterator.php" hash="083bc7183866d156fcf5cdd825782358"/></dir><file name="JobManifestListener.php" hash="1ce807cef032bb60c92283b8ec453db7"/><dir name="Resources"><file name="importexport-2010-06-01.php" hash="8408fcef53ba78a7809c0b951e13dde5"/></dir></dir><dir name="Kinesis"><dir name="Enum"><file name="ShardIteratorType.php" hash="3c4153fd8560cd4a48e8b77c28188d7d"/><file name="StreamStatus.php" hash="695b490b91bc7a07cf64ab007b513ae5"/></dir><dir name="Exception"><file name="ExpiredIteratorException.php" hash="65bbfd88ee41a6d7b31bd5755007375e"/><file name="InvalidArgumentException.php" hash="b1f3d5da8197c70e1a01cbeb451f68da"/><file name="KinesisException.php" hash="6ab40f7d2a62c49a57fb78000c31494c"/><file name="LimitExceededException.php" hash="cbb21ea005851ffb938a6e3920914ad1"/><file name="ProvisionedThroughputExceededException.php" hash="1877b495dc6b5c1c7d70e9ff2cebdf92"/><file name="ResourceInUseException.php" hash="d3ed3198d9e6bcf403015cb6be742ed6"/><file name="ResourceNotFoundException.php" hash="5dcdeddf6500a925518218a2cf9f1210"/></dir><file name="KinesisClient.php" hash="5b3c98f93f97572e661f401c7f564e55"/><dir name="Resources"><file name="kinesis-2013-12-02.php" hash="a627dcbe5e4d1f49486fa02217cd5282"/></dir></dir><file name="LICENSE.md" hash="4a1986582bd12f9aea2aec46b81e0413"/><file name="NOTICE.md" hash="1cfe4eba1519b5c323896290f9fb8264"/><dir name="OpsWorks"><dir name="Enum"><file name="AppType.php" hash="848754a43f52b49d5b8851f434686b2d"/><file name="Architecture.php" hash="b7943c3aab8cc7bf2f342bfe5ae222fb"/><file name="AutoScalingType.php" hash="2b82e58bbbd16de1690363870a727c11"/><file name="DeploymentCommandName.php" hash="ca5c24a782e9870ead21f3fb8d431ee4"/><file name="LayerType.php" hash="397cb95f8edadd101bcd96862cfa5ba4"/><file name="PermissionLevel.php" hash="f845a186d2c6190aafa9881e7dbacff6"/><file name="RootDeviceType.php" hash="9f2590884c5c082a0528cd3217f0ecdf"/><file name="SourceType.php" hash="38ad7c76ac4c1b5b7623ab7624641ed8"/></dir><dir name="Exception"><file name="OpsWorksException.php" hash="84c6ce5f9efb83514c570fa2f3d04ced"/><file name="ResourceNotFoundException.php" hash="d9c3fcdbb6bfd95dc1b2d700d5170d9e"/><file name="ValidationException.php" hash="409fac0a0b9698a111173e52945a2c29"/></dir><file name="OpsWorksClient.php" hash="a37b337290f20e3be6e97f718c95db6e"/><dir name="Resources"><file name="opsworks-2013-02-18.php" hash="cf459cd3ed180ad6e380d4d235e739dd"/></dir></dir><dir name="Rds"><dir name="Enum"><file name="ApplyMethod.php" hash="19d2277f49a3afacd09834be3fd383c6"/><file name="SourceType.php" hash="c7bcd8f273ae15e3846fa359a73a2ef2"/></dir><dir name="Exception"><file name="AuthorizationAlreadyExistsException.php" hash="376a02ba026367796ce7febadfb30154"/><file name="AuthorizationNotFoundException.php" hash="663ab5eeed0cf4a060cbe65c5bb8e468"/><file name="AuthorizationQuotaExceededException.php" hash="67670ddd9bd940dbb382ea6cb66445b5"/><file name="DBInstanceAlreadyExistsException.php" hash="6e0f8c962260f2b3f20d794107e9f30b"/><file name="DBInstanceNotFoundException.php" hash="d9aa20a94517c46eb9a0d7755462375c"/><file name="DBParameterGroupAlreadyExistsException.php" hash="ae6928b2e01ff2519910251fb9cf5370"/><file name="DBParameterGroupNotFoundException.php" hash="400380e2390c7566e0fc20b460e815d5"/><file name="DBParameterGroupQuotaExceededException.php" hash="e689ae46b501bc47971872e901530c3b"/><file name="DBSecurityGroupAlreadyExistsException.php" hash="2e2207e47b443f0eb9d7dbd2f0078f42"/><file name="DBSecurityGroupNotFoundException.php" hash="f5c1ac583052a0000b9d777f66dbaaeb"/><file name="DBSecurityGroupNotSupportedException.php" hash="384d9d2f530a26c024d6b451f67a7ab2"/><file name="DBSecurityGroupQuotaExceededException.php" hash="dac6d4ed2abd2cc5cefadcb845710771"/><file name="DBSnapshotAlreadyExistsException.php" hash="dd3697b90b31eb425de32c8bba304822"/><file name="DBSnapshotNotFoundException.php" hash="15478e6df9db7de4365ad0a9d65781b4"/><file name="DBSubnetGroupAlreadyExistsException.php" hash="e29dd75de38209c79ccc5a01891b14fb"/><file name="DBSubnetGroupDoesNotCoverEnoughAZsException.php" hash="837c8369ca8284f002f02b8d23d263c4"/><file name="DBSubnetGroupNotAllowedException.php" hash="e905a5e8fe25729b25e5e14d5c375f7f"/><file name="DBSubnetGroupNotFoundException.php" hash="9968a5c63401216dab0ba464e7250e2f"/><file name="DBSubnetGroupQuotaExceededException.php" hash="2ac07228373140af8e74a894071c2748"/><file name="DBSubnetQuotaExceededException.php" hash="8b49e7b532f25181597419d14aff04e8"/><file name="DBUpgradeDependencyFailureException.php" hash="4055c4be60a51c7884f6ed9f3caee896"/><file name="EventSubscriptionQuotaExceededException.php" hash="1bc4e249b7d07faa9982e8731308d50d"/><file name="InstanceQuotaExceededException.php" hash="ce8c66605f2f208c726f61c71443476c"/><file name="InsufficientDBInstanceCapacityException.php" hash="2c4f159567b46ca2dee7c2e38e39463a"/><file name="InvalidDBInstanceStateException.php" hash="4936b33eeea183771a7a7dfc38a7ba69"/><file name="InvalidDBParameterGroupStateException.php" hash="aa9b329905ab674a40f643dd2153bfc6"/><file name="InvalidDBSecurityGroupStateException.php" hash="96404be7270254ea6cab55d4b2801ede"/><file name="InvalidDBSnapshotStateException.php" hash="4e2b7291358921d0fdb6f4d661bdb0bd"/><file name="InvalidDBSubnetGroupException.php" hash="4f6cfca2c69f05b1ebc3a8878bcc0644"/><file name="InvalidDBSubnetGroupStateException.php" hash="84a3e9a927f6bab25dbe557a5b5b5f08"/><file name="InvalidDBSubnetStateException.php" hash="c0081ece1a9b6fc8a2f56cd8e0d86323"/><file name="InvalidEventSubscriptionStateException.php" hash="f92aff57ef0f2a53c4cce1409b0505fc"/><file name="InvalidOptionGroupStateException.php" hash="4d50021a54c9a6cc31254be93952a557"/><file name="InvalidRestoreException.php" hash="dc631f1639dc1eda32cb468cfc8b92d8"/><file name="InvalidSubnetException.php" hash="d62dc4845b8e67ea0cceac41a9aaf60e"/><file name="InvalidVPCNetworkStateException.php" hash="a1eb52983f8a9661e4e3cdb30839382c"/><file name="OptionGroupAlreadyExistsException.php" hash="4226c0a3bdcbed371f0c7b68b3565621"/><file name="OptionGroupNotFoundException.php" hash="fd36e65437af21308bfae5ec074217ef"/><file name="OptionGroupQuotaExceededException.php" hash="bc2adf4429a3fd403f53879f0112bbd9"/><file name="PointInTimeRestoreNotEnabledException.php" hash="af19d2ada6aa534e818e93cf361d041a"/><file name="ProvisionedIopsNotAvailableInAZException.php" hash="811375765734008651fdff91686a8858"/><file name="RdsException.php" hash="6996434c2ecf17037c3931f2df361c71"/><file name="ReservedDBInstanceAlreadyExistsException.php" hash="c81ec08c1f1476062801e246cf9bf6e0"/><file name="ReservedDBInstanceNotFoundException.php" hash="ba34aca2ed1fec0e6041b89539d74a17"/><file name="ReservedDBInstanceQuotaExceededException.php" hash="6b8bc72a73b34f5466c5521d06d4fd5f"/><file name="ReservedDBInstancesOfferingNotFoundException.php" hash="73d871b7bf65e878614fba90c707ac0b"/><file name="SNSInvalidTopicException.php" hash="ba778d2918335482e02e79c3e3f05909"/><file name="SNSNoAuthorizationException.php" hash="eedb37e4b266f6ed4d18c285dbdce3fd"/><file name="SNSTopicArnNotFoundException.php" hash="a4746d9d037acfcdd58f8a2d2b2546ef"/><file name="SnapshotQuotaExceededException.php" hash="25e54a5968e2db61f5113c4a285a284a"/><file name="SourceNotFoundException.php" hash="74e18fda26af5100130575aab06e07c3"/><file name="StorageQuotaExceededException.php" hash="e4bca14d20f5ef0590293b2cc4927038"/><file name="SubnetAlreadyInUseException.php" hash="b3934cddd1e4762c2554e6da42bb1209"/><file name="SubscriptionAlreadyExistException.php" hash="7ec1a8a94449d505f22bb77a64e5f6b9"/><file name="SubscriptionCategoryNotFoundException.php" hash="f54f54e670a03afe318de768dff9465a"/><file name="SubscriptionNotFoundException.php" hash="0634451bee60d907b9a451960e8164c9"/></dir><file name="RdsClient.php" hash="c2adfe26ffd4b77153e000c3cc0d7cf8"/><dir name="Resources"><file name="rds-2013-09-09.php" hash="9eb6c99a283070bd5dfdaad5260f0f48"/></dir></dir><dir name="Redshift"><dir name="Enum"><file name="SourceType.php" hash="30409b1b129843499b9f534042fbf26c"/></dir><dir name="Exception"><file name="AccessToSnapshotDeniedException.php" hash="c9e8c82d99669b9c95eecec77021f455"/><file name="AuthorizationAlreadyExistsException.php" hash="cab137ac30853450292a4cdca0659c7f"/><file name="AuthorizationNotFoundException.php" hash="fdeacd2462018e6d794b3016094f1e83"/><file name="AuthorizationQuotaExceededException.php" hash="9db5903f794721ca23dbd65a2fc51c7f"/><file name="BucketNotFoundException.php" hash="b67ceb568f9bf3dfc68033b087377738"/><file name="ClusterAlreadyExistsException.php" hash="9eeb267af85c298ed0af61c2afb6c270"/><file name="ClusterNotFoundException.php" hash="6fd5a279200ee64aea68af45bfb3be63"/><file name="ClusterParameterGroupAlreadyExistsException.php" hash="422267f2d8aa50a487c66f45914f8018"/><file name="ClusterParameterGroupNotFoundException.php" hash="f16aecb163d382acb1cb3a7392f870f0"/><file name="ClusterParameterGroupQuotaExceededException.php" hash="dad9c72f15b72eaa84f579809b4678d7"/><file name="ClusterQuotaExceededException.php" hash="aba7c8a84383c8869f3c05a633700bd6"/><file name="ClusterSecurityGroupAlreadyExistsException.php" hash="02bf104dfb07cee703622f9fe15d9c1b"/><file name="ClusterSecurityGroupNotFoundException.php" hash="5cc1143f37bf2cc6c46018e209fff013"/><file name="ClusterSecurityGroupQuotaExceededException.php" hash="a6c63d0c6fc018f8d6cad4fbeac009f8"/><file name="ClusterSnapshotAlreadyExistsException.php" hash="31aafcd228150e5c54910d6b77d26db3"/><file name="ClusterSnapshotNotFoundException.php" hash="ea9d654915a7889f741f3e778c58a8c0"/><file name="ClusterSnapshotQuotaExceededException.php" hash="8bef78b291c4cf3e572e38c6b4b3d61a"/><file name="ClusterSubnetGroupAlreadyExistsException.php" hash="df02dee64a686e5df246b94d32ed5dfd"/><file name="ClusterSubnetGroupNotFoundException.php" hash="fcec74f4784a825dae3a7337f2b89ea7"/><file name="ClusterSubnetGroupQuotaExceededException.php" hash="9c06bfe46962619db99467b6b9e2279f"/><file name="ClusterSubnetQuotaExceededException.php" hash="0fad5d193616494a2dcaeecec5cb1e0a"/><file name="CopyToRegionDisabledException.php" hash="d860d9221401ee97e4892dea64c5d423"/><file name="EventSubscriptionQuotaExceededException.php" hash="a69b8bfbfda31cb67211d97ea250e9d1"/><file name="HsmClientCertificateAlreadyExistsException.php" hash="3619d46bcc659e0d6fa6e533c3ac06dc"/><file name="HsmClientCertificateNotFoundException.php" hash="dfb9e810a2fe8bfc49511070db8bf330"/><file name="HsmClientCertificateQuotaExceededException.php" hash="5ecd3d899d5e5a8bae5cd793115f96e9"/><file name="HsmConfigurationAlreadyExistsException.php" hash="eb9a19ce6f5f8e01dbecfe3a9905a1d9"/><file name="HsmConfigurationNotFoundException.php" hash="ddaae73292b27d33f68b24def9bbf376"/><file name="HsmConfigurationQuotaExceededException.php" hash="fb75bff51ce0071861e6477bdc614cc6"/><file name="IncompatibleOrderableOptionsException.php" hash="51efa01f4fe959f83351ba6b884ae0ef"/><file name="InsufficientClusterCapacityException.php" hash="35b3456c37c98538d3d8687d5d88e31f"/><file name="InsufficientS3BucketPolicyFaultException.php" hash="f3d5325f68cf059f7dcd998498f93d0a"/><file name="InvalidClusterParameterGroupStateException.php" hash="2b9206f0a02422908ae2f1be751b1990"/><file name="InvalidClusterSecurityGroupStateException.php" hash="0ae99524b12958a3363476f7d9d69555"/><file name="InvalidClusterSnapshotStateException.php" hash="60a1832f4594623c0d767ca23b41b7d9"/><file name="InvalidClusterStateException.php" hash="03eb7b9aebab523df4f49227ff886d9c"/><file name="InvalidClusterSubnetGroupStateException.php" hash="b79284307bc63bf8ae3ba2831412fca5"/><file name="InvalidClusterSubnetStateException.php" hash="9eda10ad6be26111eeeb2d442ed5439c"/><file name="InvalidElasticIpException.php" hash="42d6f0d90e03574ec2123a53a5f3123b"/><file name="InvalidHsmClientCertificateStateException.php" hash="96c504dbde550fdef869742fe0dc0484"/><file name="InvalidHsmConfigurationStateException.php" hash="f9a51511e75b964e40e4918813cae672"/><file name="InvalidRestoreException.php" hash="51bcc3c35fb7f19deeb4613537d3f8af"/><file name="InvalidS3BucketNameFaultException.php" hash="8efe1e3a2007abd75e1e329fbbabe7c3"/><file name="InvalidS3KeyPrefixFaultException.php" hash="c043afb7be1ac223551f72aa63efe3f1"/><file name="InvalidSubnetException.php" hash="ab249465fd2da5db0c01ac54a83c54e8"/><file name="InvalidVPCNetworkStateException.php" hash="554e07d40204937019b885e9ecd2c7a3"/><file name="NumberOfNodesPerClusterLimitExceededException.php" hash="8517bb1ac9d19e2b07cffd7f70636575"/><file name="NumberOfNodesQuotaExceededException.php" hash="1a4daebe90b9705cda31335d321582d0"/><file name="RedshiftException.php" hash="4350c750cd98294b81ca84c9e0a3728b"/><file name="ReservedNodeAlreadyExistsException.php" hash="8b0049bd4331ba9aab76e5cb8fbb4a2c"/><file name="ReservedNodeNotFoundException.php" hash="82766a70a2b696784ffdb8d1af95c597"/><file name="ReservedNodeOfferingNotFoundException.php" hash="7315213aaf423da296b3158b7ba7ebe4"/><file name="ReservedNodeQuotaExceededException.php" hash="af51e7f8377eed3e700b48d18ad1633b"/><file name="ResizeNotFoundException.php" hash="3e08078e441d6f227d3ac08b027a722b"/><file name="SNSInvalidTopicException.php" hash="7f8b69fe134454dcc3576e63e90e6d78"/><file name="SNSNoAuthorizationException.php" hash="55745749fbd004bfeeba430bdd641670"/><file name="SNSTopicArnNotFoundException.php" hash="3ac893986a262d796651f122093c5907"/><file name="SnapshotCopyAlreadyDisabledException.php" hash="901c3617895bf54466ed052ab36effbe"/><file name="SnapshotCopyAlreadyEnabledException.php" hash="20883bfc15fdf536bb3168fd39b6c4c9"/><file name="SnapshotCopyDisabledException.php" hash="5a97cd9ce4550b5bed2cc1c52f0c414e"/><file name="SourceNotFoundException.php" hash="9b0281633515464f55b6f18ef412582c"/><file name="SubnetAlreadyInUseException.php" hash="ea8dfad2d28f574de1c676bbfff1a8b6"/><file name="SubscriptionAlreadyExistException.php" hash="a8a85aeffd72e721b74bbef92376140b"/><file name="SubscriptionCategoryNotFoundException.php" hash="c72edfffd2bf2df774b6523e1bc7f71b"/><file name="SubscriptionEventIdNotFoundException.php" hash="442e6bb4455ae519b6c9c6f572e83860"/><file name="SubscriptionNotFoundException.php" hash="64708e4b9af29c76b7ad874535de832c"/><file name="SubscriptionSeverityNotFoundException.php" hash="c4cddaf790f099d8bc8275409cca59f6"/><file name="UnauthorizedOperationException.php" hash="17fae856e885ad838335b54f442bcadc"/><file name="UnknownSnapshotCopyRegionException.php" hash="f141ccf84f1687737c954664774d1a79"/><file name="UnsupportedOptionException.php" hash="d31305342559091eecdd00847e772d6e"/></dir><file name="RedshiftClient.php" hash="d9e3676c5e598627575a0915aabe2252"/><dir name="Resources"><file name="redshift-2012-12-01.php" hash="d88d992915d3de324e337b71df8440e8"/></dir></dir><dir name="Route53"><dir name="Enum"><file name="Action.php" hash="5fce5d81f4f8cd20bcf26fee53ceebad"/><file name="HealthCheckType.php" hash="c786e5ccd8a11162b043acce875b27a9"/><file name="RecordType.php" hash="4c86625b5b1b13b1a0133d261c5f1760"/><file name="ResourceRecordSetFailover.php" hash="a234fda2f8ac5b9da3202a6523d19845"/><file name="Status.php" hash="22e5216a90bf7e81e88a2961362d9542"/></dir><dir name="Exception"><file name="DelegationSetNotAvailableException.php" hash="1f30995a821f7187bfa3c1ae1fe6730f"/><file name="HealthCheckAlreadyExistsException.php" hash="46f1c28ff9db8fcb76a3ae230ad4d60d"/><file name="HealthCheckInUseException.php" hash="626f8a159c1b82bedbd998999f246321"/><file name="HostedZoneAlreadyExistsException.php" hash="4047297658083123324bc27370311e5d"/><file name="HostedZoneNotEmptyException.php" hash="b5a2910ad2d934247c38c8e96ca7a056"/><file name="InvalidChangeBatchException.php" hash="0495d764fb61c3762eac22922edbebbb"/><file name="InvalidDomainNameException.php" hash="dfe54be39b49c612331df43a2d1c7220"/><file name="InvalidInputException.php" hash="ef7ea019827104fd4817794c7adf99b2"/><file name="NoSuchChangeException.php" hash="132a7edb2acd811c35b947f45de50f75"/><file name="NoSuchHealthCheckException.php" hash="716c680b6d78527c689d09814e3bd8a0"/><file name="NoSuchHostedZoneException.php" hash="a52873a6fd8908e690d24babde7519fd"/><file name="PriorRequestNotCompleteException.php" hash="4a689aeffe52c7794c52bbb9a285cc1a"/><file name="Route53Exception.php" hash="dd58506a12c8f771ff626c2d22ea55b9"/><file name="TooManyHealthChecksException.php" hash="fe6361d52270886401a73109a061c2d4"/><file name="TooManyHostedZonesException.php" hash="11cdde994613ae170b863aa9560f51e5"/></dir><dir name="Resources"><file name="route53-2012-12-12.php" hash="37845dbeeb1231a94dd8846d8621c923"/></dir><file name="Route53Client.php" hash="e2ad347026f7e742e5d8d2f30daec02e"/></dir><dir name="S3"><file name="AcpListener.php" hash="f0ad40c46a7eb3085a3b02629444d5c5"/><file name="BucketStyleListener.php" hash="f706acb1501f1a1a5a97c48ef4be30e6"/><dir name="Command"><file name="S3Command.php" hash="3dc05e397450a4b71a982327a206c38c"/></dir><dir name="Enum"><file name="CannedAcl.php" hash="f3b4032cea7c631b5cb1cc7947474fb8"/><file name="EncodingType.php" hash="a7cde485ca7ac5f211f0f1a842d8be6a"/><file name="Event.php" hash="1bb29324b69f9431e60583652916f2dc"/><file name="GranteeType.php" hash="b7897dc9b95f94f6b121dd6f5e28bc8f"/><file name="Group.php" hash="96d2fcdffb966c8e411fe630e10b5fc8"/><file name="MFADelete.php" hash="21617876155e75c94b8bc6f8380aec16"/><file name="MetadataDirective.php" hash="274e400686bd9a855a74c7f90554fb61"/><file name="Payer.php" hash="e25af5161310f4c6e3bd10063861d69e"/><file name="Permission.php" hash="d9a0af6b2cdc229239b047f23d838cff"/><file name="Protocol.php" hash="d97f9232bba001d3bf6ec41259636670"/><file name="ServerSideEncryption.php" hash="48d3a44084406aff1541a5defe9320f4"/><file name="Status.php" hash="918d94f3d16f77cac2276b85071e8e93"/><file name="Storage.php" hash="0266e6eb192fc241d3748d3ac04def25"/><file name="StorageClass.php" hash="813636035d4e3c256791152d0e3ec8ad"/></dir><dir name="Exception"><file name="AccessDeniedException.php" hash="c114efca1dcf9a7e3344fa406db0d494"/><file name="AccountProblemException.php" hash="4e04036a4f99661d3d24ba013d26c69a"/><file name="AmbiguousGrantByEmailAddressException.php" hash="b7055c317e07c03c66bdadd3cd6f2fee"/><file name="BadDigestException.php" hash="7ce5a3538bd37d2d893a5a4641ca5e87"/><file name="BucketAlreadyExistsException.php" hash="c70ca0f46a271fbb3a0dd8634778b241"/><file name="BucketAlreadyOwnedByYouException.php" hash="03ddf3e40d02c69d98e31a1ba0e11350"/><file name="BucketNotEmptyException.php" hash="c4164313e71b86ec0a94469ae59f5c7c"/><file name="CredentialsNotSupportedException.php" hash="28e5df8a1f769a05c4b0c17da307c821"/><file name="CrossLocationLoggingProhibitedException.php" hash="6604c9fc43cc2fcbbf5e20c22edb6026"/><file name="DeleteMultipleObjectsException.php" hash="08d0fa5ebbc445faddabca975a979884"/><file name="EntityTooLargeException.php" hash="a363b75b6140aa59516d6958bd818487"/><file name="EntityTooSmallException.php" hash="8244c7d196fcf6cfe81ce6be4e4ee3c3"/><file name="ExpiredTokenException.php" hash="9fde3c8c1f8ce13d3c1459ba80888484"/><file name="IllegalVersioningConfigurationException.php" hash="7502affc30c08ec7dec2ca9b79623861"/><file name="IncompleteBodyException.php" hash="3868573f4b4169bd66ec7ed55e828212"/><file name="IncorrectNumberOfFilesInPostRequestException.php" hash="9a7794f2028a7bbecb37f02a291f6c13"/><file name="InlineDataTooLargeException.php" hash="16a05c43ee339551a41d6db30b3ca660"/><file name="InternalErrorException.php" hash="af766935b9509e930d0ae19802289e4a"/><file name="InvalidAccessKeyIdException.php" hash="32f96f069dba33c77642bddfffe8db8b"/><file name="InvalidAddressingHeaderException.php" hash="e8951816cc56a7230167d73186c0ab90"/><file name="InvalidArgumentException.php" hash="26a64d61b80ab87cd4da2f0959951859"/><file name="InvalidBucketNameException.php" hash="389ba9774c6752da399d5a06714ca70d"/><file name="InvalidBucketStateException.php" hash="9010cee7e70cd31d533d490a0f676b7c"/><file name="InvalidDigestException.php" hash="498ad6eea22c072303d33040e1e2fb8a"/><file name="InvalidLocationConstraintException.php" hash="649bb9f9299de94c32142afe6966e3bd"/><file name="InvalidPartException.php" hash="cf7972454e18711007a3282ab14b0b2e"/><file name="InvalidPartOrderException.php" hash="2844134a42c3bf7250e00356a1af54c6"/><file name="InvalidPayerException.php" hash="668af3f62f403e4dff00bcf4c547586d"/><file name="InvalidPolicyDocumentException.php" hash="24708723851ace58c30233fbcd2a61c0"/><file name="InvalidRangeException.php" hash="98cfd5cd3599cea086cc16fa50447132"/><file name="InvalidRequestException.php" hash="dc44e8a1c168511de2b21dc9d0dcf26b"/><file name="InvalidSOAPRequestException.php" hash="07f4d5593c6119ab815a5abfafd45b4b"/><file name="InvalidSecurityException.php" hash="c5325d7ab1f09760b5cfb5dff1452cf5"/><file name="InvalidStorageClassException.php" hash="deeb571087b1013016717869ab219938"/><file name="InvalidTagErrorException.php" hash="28b72289665d68843022d1b8278afe4e"/><file name="InvalidTargetBucketForLoggingException.php" hash="04fb8e74ecc189e6b0436e1260dce9c5"/><file name="InvalidTokenException.php" hash="b21fb6f6445972b9c30d3bb566ace2de"/><file name="InvalidURIException.php" hash="cc39ea5c4ca166c4789366041d2c6647"/><file name="KeyTooLongException.php" hash="aeb54c82dfc9fa87084948e2e1010d96"/><file name="MalformedACLErrorException.php" hash="f6373149be4c19ccb7b614f3a3628ad7"/><file name="MalformedPOSTRequestException.php" hash="6aa99b0de24f2eb1a9de7df2715e38f3"/><file name="MalformedXMLException.php" hash="ef3fe78d3ed3db0db2ec67a04ad5a1a5"/><file name="MaxMessageLengthExceededException.php" hash="e398b2a0c10de3a9ed33612647dceb5b"/><file name="MaxPostPreDataLengthExceededErrorException.php" hash="c0d03c2fc6dd1d30cb53753ff3e76533"/><file name="MetadataTooLargeException.php" hash="49cef4705a18558a98a461da746f6d07"/><file name="MethodNotAllowedException.php" hash="1bca38cffcc6eb5eb5245f5a89007381"/><file name="MissingAttachmentException.php" hash="d89997a566746ebfafb220946f27a5a6"/><file name="MissingContentLengthException.php" hash="84bdb0a39275eb219deb1a2f75c391e5"/><file name="MissingRequestBodyErrorException.php" hash="402ba71db04643214cb40a1bd7d049ef"/><file name="MissingSecurityElementException.php" hash="d4fda63c036e22004452d73ed1e464d8"/><file name="MissingSecurityHeaderException.php" hash="aea750e7eebe1dfc9e487c789a6a9459"/><file name="NoLoggingStatusForKeyException.php" hash="3b8655854d58f4a783e82b2b3dc7c1e9"/><file name="NoSuchBucketException.php" hash="67678971e88adba7f2f48d63cc95adf3"/><file name="NoSuchBucketPolicyException.php" hash="5077fdc0b6cd80437ef07d3f35fd70fb"/><file name="NoSuchCORSConfigurationException.php" hash="78aa44073391f74bfd34303266c8959b"/><file name="NoSuchKeyException.php" hash="79da9b57a5ebe3cac8d7d2b0f43fdfab"/><file name="NoSuchLifecycleConfigurationException.php" hash="27e721bae72c4019ae6d2194a6572ba5"/><file name="NoSuchTagSetErrorException.php" hash="6b5056bd3f4a4c5113b16585e7328b90"/><file name="NoSuchUploadException.php" hash="de7d7276e8357e59053247069af4b17c"/><file name="NoSuchVersionException.php" hash="85b88fa151a076d133d6c9515c0f8b56"/><file name="NoSuchWebsiteConfigurationException.php" hash="18d8abb944dede950e933b4c8fb4c45d"/><file name="NotImplementedException.php" hash="bfded76dd7733080fc05e35fc9b5d570"/><file name="NotSignedUpException.php" hash="812bae6a59981af1cade72c37ca87886"/><file name="NotSuchBucketPolicyException.php" hash="714b2ba8c970dac2950314acccb4951e"/><file name="ObjectAlreadyInActiveTierErrorException.php" hash="f3c4ce492a49fe06caabecddd73658c3"/><file name="ObjectNotInActiveTierErrorException.php" hash="3ac099a476fa8cce2e0de5de51e81016"/><file name="OperationAbortedException.php" hash="a52b194d60900563f77d9deadbce14ed"/><dir name="Parser"><file name="S3ExceptionParser.php" hash="8b11e6c2e0aab8b276cf2cd90e36fc63"/></dir><file name="PermanentRedirectException.php" hash="61c2464e91a1b3313ccb9dde9d6ea207"/><file name="PreconditionFailedException.php" hash="8f04f2096229d8e4c99039e2f8685de5"/><file name="RedirectException.php" hash="bcc61525ec8286557cc882e620e0449b"/><file name="RequestIsNotMultiPartContentException.php" hash="9a233980787a08e6e8f946ecbaf44933"/><file name="RequestTimeTooSkewedException.php" hash="87f1822b747922a3dd576f4da63f1fc1"/><file name="RequestTimeoutException.php" hash="33862ef527aedb321a40c555d0d81250"/><file name="RequestTorrentOfBucketErrorException.php" hash="b7cf62f982b95dd160f44ea6553724d1"/><file name="S3Exception.php" hash="44d15cd57f1f8b5405f7776b636c9a4a"/><file name="ServiceUnavailableException.php" hash="054e5b096daaad03ee7c920660fbf32c"/><file name="SignatureDoesNotMatchException.php" hash="20791b3cbe22c91750cfae0c45e345d4"/><file name="SlowDownException.php" hash="2cab1602b76a19567c65bfcdbbd26b66"/><file name="TemporaryRedirectException.php" hash="d4e23dee2d180e598e4ab8562df97449"/><file name="TokenRefreshRequiredException.php" hash="f3d13abdc5305ab7de861a85b9f2eeae"/><file name="TooManyBucketsException.php" hash="37840f4760fa1c45336f203543b39c3f"/><file name="UnexpectedContentException.php" hash="5a7af7f0861aec70975e22383edf1605"/><file name="UnresolvableGrantByEmailAddressException.php" hash="ddacbd4d1ee7341fba322be7acda04b2"/><file name="UserKeyMustBeSpecifiedException.php" hash="b670411122d9f08bc7a3cb7ca3ba07e7"/></dir><dir name="Iterator"><file name="ListBucketsIterator.php" hash="f9c6dcc72963c40346bae45f25a39dd1"/><file name="ListMultipartUploadsIterator.php" hash="ad8bc7cfcb905bbcee5ac63f0d1a248a"/><file name="ListObjectVersionsIterator.php" hash="f05cf3b2a73eff79ed325dc18f91a8b9"/><file name="ListObjectsIterator.php" hash="72e641bd2db279e46e1da12720f9786e"/><file name="OpendirIterator.php" hash="1a8fc303bcfda2405023bc9ed07fc532"/></dir><dir name="Model"><file name="Acp.php" hash="c9583217f96ae9a208b1fae3db05d862"/><file name="AcpBuilder.php" hash="520344fe298bf4a1039f5244dac35def"/><file name="ClearBucket.php" hash="c92f83bf549b0ac27f93c039d2314f20"/><file name="DeleteObjectsBatch.php" hash="a4aecf1a402097c03b4c3e7e75436464"/><file name="DeleteObjectsTransfer.php" hash="2e68e3fa281c67da8372aed974b9856e"/><file name="Grant.php" hash="56d27ab990a43bc09457c27ec6a7c322"/><file name="Grantee.php" hash="1571724e26f99bde52eccc5f532a0244"/><dir name="MultipartUpload"><file name="AbstractTransfer.php" hash="f7bde99befdba989ecf74bad5332db8d"/><file name="ParallelTransfer.php" hash="685316207c2ca094dcc50413a978c4c8"/><file name="SerialTransfer.php" hash="8f60dc1193eb7fc0c7ed88642fdece94"/><file name="TransferState.php" hash="45484c7268141212c6a346ee5ff05962"/><file name="UploadBuilder.php" hash="33c711012cc52731819989d44b65ed1e"/><file name="UploadId.php" hash="0925b992d88491867fe204bb216c9961"/><file name="UploadPart.php" hash="e52983d0299b0dddcf62ac3fe2a7eff0"/></dir><file name="PostObject.php" hash="c4442aac3d7c357e89bef36cfe2adbe1"/></dir><dir name="Resources"><file name="s3-2006-03-01.php" hash="8b981d2d178e130c05618a719eb103b7"/></dir><file name="ResumableDownload.php" hash="d54fce84af9a35d046e3346355499327"/><file name="S3Client.php" hash="673f6e903638f8083627b5a965473891"/><file name="S3Signature.php" hash="30b110028a85c0ce1bbd81f717bd3e6b"/><file name="S3SignatureInterface.php" hash="24123584723d3246ad890edbe23032c1"/><file name="SocketTimeoutChecker.php" hash="3796f27bca6c52702c587f3bd6d686fb"/><file name="StreamWrapper.php" hash="80f788f99058dfe3a89c3f568c6b84f9"/><dir name="Sync"><file name="AbstractSync.php" hash="cf937c67b37e8324b092f0e0d4dcf2b2"/><file name="AbstractSyncBuilder.php" hash="e063c42e33760471334a99ed04125c6a"/><file name="ChangedFilesIterator.php" hash="29f995cf4b1d149410faf16a938d8694"/><file name="DownloadSync.php" hash="6c3beef28bbcea8ba1e8876e315d86fb"/><file name="DownloadSyncBuilder.php" hash="ccc36e18fc3313889417d974cf37f322"/><file name="FilenameConverterInterface.php" hash="e1367db996b4bf594e6d05871be1147d"/><file name="KeyConverter.php" hash="32dda070441adbd91bbee817e0441104"/><file name="UploadSync.php" hash="f1850338b38d355b005739b7fbf1cfba"/><file name="UploadSyncBuilder.php" hash="5f614fb75a64262ed27f350d625fc0f4"/></dir></dir><dir name="Ses"><dir name="Enum"><file name="IdentityType.php" hash="7b1434f0dd2bebf330bb8e67b5776c16"/><file name="MailboxSimulator.php" hash="2fcebe481c157a59ab4bf48d7f3d5b1a"/><file name="NotificationType.php" hash="de1d29bace5b3760dfb932f12b6debf3"/><file name="VerificationStatus.php" hash="1ec0dc20df5850342d4fdbbf22584d18"/></dir><dir name="Exception"><file name="MessageRejectedException.php" hash="8fe4d09febaafe19905490ca8289cb31"/><file name="SesException.php" hash="80c490691ee79c616ac3199e02609773"/></dir><dir name="Resources"><file name="ses-2010-12-01.php" hash="7bfc2e274202448ef48f3db6912f0bad"/></dir><file name="SesClient.php" hash="56fc026f1ddfec565dc60f011d60daf4"/></dir><dir name="SimpleDb"><dir name="Exception"><file name="AttributeDoesNotExistException.php" hash="89cd247daec2557d7aa3e4a516375124"/><file name="DuplicateItemNameException.php" hash="e0853eec8bfeca7af07647e7661745b3"/><file name="InvalidNextTokenException.php" hash="9a5eb3b4f58096cbff6ca50452aaa5de"/><file name="InvalidNumberPredicatesException.php" hash="82154f8919c46f04fe458e5e1c4930ac"/><file name="InvalidNumberValueTestsException.php" hash="a518f2835e281940b42636bc74236dc0"/><file name="InvalidParameterValueException.php" hash="1dae86e1f9d1c1ab52b92a2f9b54ebdc"/><file name="InvalidQueryExpressionException.php" hash="2b447e1872af6957f980b3356e4cc1dc"/><file name="MissingParameterException.php" hash="e137eaf206ad6c11fb3079ca37045d9a"/><file name="NoSuchDomainException.php" hash="174107d8484ef69fd125a222b892378c"/><file name="NumberDomainAttributesExceededException.php" hash="30c9362c7b6f7c1e180d66b752cabbac"/><file name="NumberDomainBytesExceededException.php" hash="39cdcaa259801c17c3285cc6fe63abd1"/><file name="NumberDomainsExceededException.php" hash="55407c961af9be88f1f1b0d727022b60"/><file name="NumberItemAttributesExceededException.php" hash="534337c97805fb83fc44cc170062c192"/><file name="NumberSubmittedAttributesExceededException.php" hash="966af01414e272c08da36ee7f5cf6a66"/><file name="NumberSubmittedItemsExceededException.php" hash="c4b4a39f2dcb54b6d22eaa78ec27d3e2"/><file name="RequestTimeoutException.php" hash="1db604dfb1a3d872f1a938560f4fde09"/><file name="SimpleDbException.php" hash="00ae6c090e9b29dbe94e2bf89afb4714"/><file name="TooManyRequestedAttributesException.php" hash="bc7f7097143def4f5af396975f6e9d58"/></dir><dir name="Resources"><file name="simpledb-2009-04-15.php" hash="86ae3a2a1055a7c491b4d9bc3b1bf53b"/></dir><file name="SimpleDbClient.php" hash="d474efdaa1e1d42e59d2bfbfa3a1f702"/></dir><dir name="Sns"><dir name="Exception"><file name="AuthorizationErrorException.php" hash="c9c32bebd0667506abcbcd9f4429a777"/><file name="EndpointDisabledException.php" hash="19efdabc8d90e59e134c4e6fceba40b4"/><file name="InternalErrorException.php" hash="d9fc5142ac993b516e74f341b26a0028"/><file name="InvalidParameterException.php" hash="4607881f657f45574e7cc7c293684d81"/><file name="NotFoundException.php" hash="78af1af1d83ca29500aac9556936f550"/><file name="PlatformApplicationDisabledException.php" hash="30ccee756ebe28b9d7ee09be2dd73b30"/><file name="SnsException.php" hash="a164f228095640cc761e8f062db18c17"/><file name="SubscriptionLimitExceededException.php" hash="3a3a6d27050da606c25ec33596e656cf"/><file name="TopicLimitExceededException.php" hash="1af31f173c47f90c6ff0bfea1f8622ab"/></dir><dir name="MessageValidator"><dir name="Exception"><file name="CannotGetPublicKeyFromCertificateException.php" hash="ae5ac1b193faefd454d41de4319b7b32"/><file name="CertificateFromUnrecognizedSourceException.php" hash="041127c1828cb7953e04f30a3b406faa"/><file name="InvalidMessageSignatureException.php" hash="ef92f5716162e9e93e8db80cbc920656"/><file name="SnsMessageValidatorException.php" hash="be9ed15b7e83fb785569b12651e6c2f6"/></dir><file name="Message.php" hash="26b46ec304ab9cd5dd068d43f8b2924f"/><file name="MessageValidator.php" hash="02c5130654991b90a61a71a444b486e9"/></dir><dir name="Resources"><file name="sns-2010-03-31.php" hash="0bf18b6a9c652b35e566ee4ba76a8608"/></dir><file name="SnsClient.php" hash="e6356464f3c8ed946d91e7bb2340f9cc"/></dir><dir name="Sqs"><dir name="Enum"><file name="MessageAttribute.php" hash="972a07c9b6af94cdb381481ec942843e"/><file name="QueueAttribute.php" hash="3ffb7f45166e2dbb65dfd6e62f5bd882"/></dir><dir name="Exception"><file name="SqsException.php" hash="2d9b4c27e76ddd89890a54327a8e52dc"/></dir><file name="Md5ValidatorListener.php" hash="314b5f6805e9f74ff79307f58e5625f8"/><file name="QueueUrlListener.php" hash="b8a37308c474a2089dda2598f8ee8a39"/><dir name="Resources"><file name="sqs-2012-11-05.php" hash="02782621c66756f8b4cfac5345bb8d55"/></dir><file name="SqsClient.php" hash="f036882a777d9b0bc6f872d6f3ef6b29"/></dir><dir name="StorageGateway"><dir name="Enum"><file name="BandwidthType.php" hash="74737be50725532cb9c59adb4e0964c6"/><file name="DiskAllocationType.php" hash="9172f0a549961cfdda4946e97ae7fd4b"/><file name="ErrorCode.php" hash="112ce969ef8b5ca60e5e8d5402c3aba4"/><file name="GatewayState.php" hash="cf95681599926a3343d5713af3176407"/><file name="GatewayTimezone.php" hash="d5443798ff34349b53c2e2ea8babd3be"/><file name="GatewayType.php" hash="3df5febc6781a936c030daf16955afc7"/><file name="VolumeStatus.php" hash="8c83be75e61c5357ec43c372e74b691a"/><file name="VolumeType.php" hash="e463cdf364baa9d29b4edb2ffa78e523"/></dir><dir name="Exception"><file name="InternalServerErrorException.php" hash="3b24f8be8621ac6edf9b158bc446e6a6"/><file name="InvalidGatewayRequestException.php" hash="b50d2c02cb9d83c06d0b31766125115e"/><file name="StorageGatewayException.php" hash="55e455a7de135b016edb2e49aac1201e"/></dir><dir name="Resources"><file name="storagegateway-2013-06-30.php" hash="d98226997b583369aa6bb9b0ad04e85b"/></dir><file name="StorageGatewayClient.php" hash="66437802ed9debdacc3a445e73d6d400"/></dir><dir name="Sts"><dir name="Exception"><file name="ExpiredTokenException.php" hash="dbbe480b720f40f1ac1153e8e47791c9"/><file name="IDPCommunicationErrorException.php" hash="cad826cd21ea1b633cfcf2a020f8f9e0"/><file name="IDPRejectedClaimException.php" hash="d07ca295e8793954dbcc65e302a1c36f"/><file name="IncompleteSignatureException.php" hash="803bac0bdd431bd158f41afc80c5a3f4"/><file name="InternalFailureException.php" hash="fce4ddd89a91f91c36faa6220ad40f15"/><file name="InvalidActionException.php" hash="fb480af522618852b977603fea415be0"/><file name="InvalidAuthorizationMessageException.php" hash="7cd9f2747d82ce405a4fd1d4c0004438"/><file name="InvalidClientTokenIdException.php" hash="3f3db6cbae9c84bff46adf1de0dbd124"/><file name="InvalidIdentityTokenException.php" hash="6fc19a03fcae589b1caa90249f7e1666"/><file name="InvalidParameterCombinationException.php" hash="1d2a1163551980de91c132e6377f59ca"/><file name="InvalidParameterValueException.php" hash="f7bff008b2f1d8f16d958d0d00cb2ff6"/><file name="InvalidQueryParameterException.php" hash="7e0ba0cee050bac2c7060f21019a8a73"/><file name="MalformedPolicyDocumentException.php" hash="7cf8992e0d384d4829967f8e53c6e4be"/><file name="MalformedQueryStringException.php" hash="43bbb0c8d87b0999632b1ae16d874e2e"/><file name="MissingActionException.php" hash="e40d84bc4bf89e0706156fb4ceb4992e"/><file name="MissingAuthenticationTokenException.php" hash="7a24a9e4185c9900967debdea54dc49b"/><file name="MissingParameterException.php" hash="9de74bfa936d873b8b3c63695c3c7c4e"/><file name="OptInRequiredException.php" hash="b7f0e7d5e1bb49a0fb73f7a7f839eb0f"/><file name="PackedPolicyTooLargeException.php" hash="e77e686eff1950ef2b9f7e7404a4cfba"/><file name="RequestExpiredException.php" hash="944c6a51faa1b5577f237f398cb95c04"/><file name="ServiceUnavailableException.php" hash="5ed7c8a34573ae519a32d61625d0448f"/><file name="StsException.php" hash="b7dbe8f33e451b0136c3f7676591e314"/><file name="ThrottlingException.php" hash="09497f7ecbfbecd52c4c587386c949ea"/></dir><dir name="Resources"><file name="sts-2011-06-15.php" hash="0cf6ebc43c59b4f50d9eb17e1cf69f32"/></dir><file name="StsClient.php" hash="917e738bbf7f3b245081cee095648261"/></dir><dir name="Support"><dir name="Exception"><file name="CaseCreationLimitExceededException.php" hash="f541cf0a6e8ff9985d0e70a289d0eb94"/><file name="CaseIdNotFoundException.php" hash="9c363316112f6b7c9fc1c59d76f1de25"/><file name="InternalServerErrorException.php" hash="76107a35c80b1206c3980044528e22d0"/><file name="SupportException.php" hash="8794c47dfbe7b39a9a4c6d2ed524dc0f"/></dir><dir name="Resources"><file name="support-2013-04-15.php" hash="332b684e2cf1fd81a7d618f70026c498"/></dir><file name="SupportClient.php" hash="4cb48af0344896e022f587341d15a972"/></dir><dir name="Swf"><dir name="Enum"><file name="ActivityTaskTimeoutType.php" hash="ae5ef267a855e9ce7f05f813d5c98323"/><file name="ChildPolicy.php" hash="cfc441001e155672d0c2a9b8b6b35653"/><file name="CloseStatus.php" hash="5bb4c09c3f5d67c69796d981ccb88c19"/><file name="DecisionTaskTimeoutType.php" hash="ce0b0593dc9eabce8f1720150d8638ae"/><file name="DecisionType.php" hash="c339e1c2d6e8c2ca77bf7ff5ed71224e"/><file name="EventType.php" hash="93cb1244b83337f3ce72d3cac51f9601"/><file name="ExecutionStatus.php" hash="fe48756d2888aa93a372fc93dcbc7e35"/><file name="RegistrationStatus.php" hash="932c801a3cb1caef4d1e52673d9cf3d1"/><file name="WorkflowExecutionTimeoutType.php" hash="aaee716b3bb93d45f07e3d49f3332a5a"/></dir><dir name="Exception"><file name="DefaultUndefinedException.php" hash="f4c46800e3c0c5422df40efe10094a97"/><file name="DomainAlreadyExistsException.php" hash="442c06492c3e0ea4ceaf16212348e4cd"/><file name="DomainDeprecatedException.php" hash="ed9e65abac25df8bf792ce44925adc6b"/><file name="LimitExceededException.php" hash="72c4292360bc2a24e0877d3c32c0ed02"/><file name="OperationNotPermittedException.php" hash="862ac52541784804ad342acd738d2445"/><file name="SwfException.php" hash="e4c24f76c14661c34393f261e05e0fe5"/><file name="TypeAlreadyExistsException.php" hash="c7ecf2b68e784f02f3b81c85dea3fbb0"/><file name="TypeDeprecatedException.php" hash="50cdd637dcd8b74501084d8d3db31412"/><file name="UnknownResourceException.php" hash="fc9b976aa824ec9928a4b6c0dbdfc393"/><file name="WorkflowExecutionAlreadyStartedException.php" hash="3ac7b424e3b3e94f6931b655f90eea8c"/></dir><dir name="Resources"><file name="swf-2012-01-25.php" hash="457c65913542df8c939d5f71b33ef432"/></dir><file name="SwfClient.php" hash="763de5a723e0ccedd75b77a9675725d0"/></dir></dir><dir name="Doctrine"><dir name="Common"><dir name="Cache"><file name="ApcCache.php" hash="b8add60c279489f74e1f52793e25f773"/><file name="ArrayCache.php" hash="aaad66e13d564ef90a07573233a84389"/><file name="Cache.php" hash="8d840db1d6778518d4259ce96adb295e"/><file name="CacheProvider.php" hash="c2c90f9e8579dbbec885311cb74a122c"/><file name="CouchbaseCache.php" hash="293e1d41557bf6b9ab5aef606c5e2b6a"/><file name="FileCache.php" hash="8bda505eeec5f017892712f32e2f1789"/><file name="FilesystemCache.php" hash="5223cf45458913a38db04e4bcd203e26"/><file name="MemcacheCache.php" hash="44a3c997a6d721d22d9b10e1d0770b4c"/><file name="MemcachedCache.php" hash="1ac7592a7455aead24af57c8fc6c820a"/><file name="MongoDBCache.php" hash="01a73549b122634ecd5accdd0158a8c0"/><file name="PhpFileCache.php" hash="83be303d8fc1c46f0e7a59f0a66d2c8a"/><file name="RedisCache.php" hash="ce39d7ed28378ab3b71fade844415423"/><file name="RiakCache.php" hash="ca83e1086997bee24b0ac1da228cea7d"/><file name="Version.php" hash="981844148bec2c3fae9ee0c130b1e026"/><file name="WinCacheCache.php" hash="98c21113bee715fc23c1010927bc0804"/><file name="XcacheCache.php" hash="41b49b6e981a2c1c75bedacea9bf6ec1"/><file name="ZendDataCache.php" hash="ea438b0409996d058d562326a737dade"/></dir></dir></dir><dir name="Guzzle"><dir name="Batch"><file name="AbstractBatchDecorator.php" hash="b9f1ce19f113f4d5b5886b04219b26c6"/><file name="Batch.php" hash="b780b6cafbfefc90e32ca531e1406239"/><file name="BatchBuilder.php" hash="0658d8456d338b2b4f5e5bd12875af1c"/><file name="BatchClosureDivisor.php" hash="be8e54078d5dcc5e5089006b0399096e"/><file name="BatchClosureTransfer.php" hash="43125673b59879626fb833603e6a23d2"/><file name="BatchCommandTransfer.php" hash="7129a1584dd4ad7f92d56040124676c2"/><file name="BatchDivisorInterface.php" hash="9b1460f23f32fc4beee434f7ad1de674"/><file name="BatchInterface.php" hash="bdf900e6c7038e23ede1ee25cafa05bc"/><file name="BatchRequestTransfer.php" hash="9671e493d9d3a8271de4e2c3d8d33d5d"/><file name="BatchSizeDivisor.php" hash="282368575f4576cb5b8e323921fbce7d"/><file name="BatchTransferInterface.php" hash="c92e98244535738d7b8c8304076da4ff"/><dir name="Exception"><file name="BatchTransferException.php" hash="3f8eb4b34fe7eb242b647a00acc60f00"/></dir><file name="ExceptionBufferingBatch.php" hash="172ecdb412b2116f8cfc43632aed5971"/><file name="FlushingBatch.php" hash="0a176cd0d3c37fd6d3c3edd32973ee63"/><file name="HistoryBatch.php" hash="62cabc0fe63acc14fb8bf2e551b6f673"/><file name="NotifyingBatch.php" hash="b7d39171fc686a2124b93a85954542a5"/></dir><dir name="Cache"><file name="AbstractCacheAdapter.php" hash="d299bf5b6503b485390d54a6fe9894e8"/><file name="CacheAdapterFactory.php" hash="678b21a05c0c63c595d6b00ad3567ee7"/><file name="CacheAdapterInterface.php" hash="0c6a26170379b4c3f42240a1747f51d8"/><file name="ClosureCacheAdapter.php" hash="617c0958c5a41811443553755bd57e85"/><file name="DoctrineCacheAdapter.php" hash="7107ed2df05edf22b50a5d953a53e694"/><file name="NullCacheAdapter.php" hash="731789c642be2ecc518aef6f576b475f"/><file name="Zf1CacheAdapter.php" hash="8ff8cf2a495cf9569eb5f83a721464f8"/><file name="Zf2CacheAdapter.php" hash="5b26ea450db552ff04cb333743c0672c"/></dir><dir name="Common"><file name="AbstractHasDispatcher.php" hash="4e0c67da62cd3cbe82b167f1855bff8e"/><file name="Collection.php" hash="bdf612b12448bab74c6a90dbdb20095b"/><file name="Event.php" hash="d239258d838e0928c2b211ab9f0f0bad"/><dir name="Exception"><file name="BadMethodCallException.php" hash="98140817d5204df2df8c758eb52e3ca2"/><file name="ExceptionCollection.php" hash="0f813e3dedf582573791008f43cfa5fe"/><file name="GuzzleException.php" hash="a59974564cb5886db0906d38622d7b65"/><file name="InvalidArgumentException.php" hash="e176a3bfbc46ad0bcf8cc53a70ad2660"/><file name="RuntimeException.php" hash="505f3a2971d80715a8601f7bb8139023"/><file name="UnexpectedValueException.php" hash="2182332c538ad9279f1cb31ebf8cec90"/></dir><file name="FromConfigInterface.php" hash="a23e030b62590950884856109219c7f3"/><file name="HasDispatcherInterface.php" hash="efdba8306b7e0c6c04a23c4a3495e9bc"/><file name="ToArrayInterface.php" hash="5466584f27e38712cd08d8e6309b8e78"/><file name="Version.php" hash="3ea7bd41bae7240879c6969050128858"/></dir><dir name="Http"><file name="AbstractEntityBodyDecorator.php" hash="36d4a68be72393686cdc9e9173adbfd7"/><file name="CachingEntityBody.php" hash="55c80a146676519d5f78259b8763c4fc"/><file name="Client.php" hash="d953cec8d27e39b81cdc1644c49411e1"/><file name="ClientInterface.php" hash="406c37f60933c0eb3b359cf8739fca53"/><dir name="Curl"><file name="CurlHandle.php" hash="237a99b299ba7c398384882505435ab3"/><file name="CurlMulti.php" hash="dfbf9ccce89834f6722218cd6f4e33f2"/><file name="CurlMultiInterface.php" hash="ba75ac02d77e97f76938e59e34596b43"/><file name="CurlMultiProxy.php" hash="08b7fa7d6e0f07baa53a30bde045fc7e"/><file name="CurlVersion.php" hash="7857dd20077df5870f74975d2d85e89f"/><file name="RequestMediator.php" hash="0d01e2e18ff502516c5724a995140cd2"/></dir><file name="EntityBody.php" hash="5e7d97a7d64e019859b9737d8d37a2d7"/><file name="EntityBodyInterface.php" hash="c6942f8b5cef9fa3fb6d5b7e7f718a29"/><dir name="Exception"><file name="BadResponseException.php" hash="2e358b13ef147dd6b226366a28860c7e"/><file name="ClientErrorResponseException.php" hash="13cab04cce406a1b0afcfea86ef7031c"/><file name="CouldNotRewindStreamException.php" hash="08075c1d0711249e1f0674d86b57d2ce"/><file name="CurlException.php" hash="d42f19fc1b034f410149e6ce97d5c750"/><file name="HttpException.php" hash="f78259ea006cf165d4848a312c827d0d"/><file name="MultiTransferException.php" hash="72967b8cba5f64f9e05dd8a3a609546f"/><file name="RequestException.php" hash="e5f816167d92abea64ee09a5be87fe94"/><file name="ServerErrorResponseException.php" hash="fe2621a64b89853c555a97ceffca9b08"/><file name="TooManyRedirectsException.php" hash="9c530bbf82d46c8014ede984fbc308e5"/></dir><file name="IoEmittingEntityBody.php" hash="af444084e0f6f7b83c2813db7848196d"/><dir name="Message"><file name="AbstractMessage.php" hash="b6b1aa0e6f9e5392b4164f17a504198a"/><file name="EntityEnclosingRequest.php" hash="366c71ac8825cf62c8386b52d98cf5df"/><file name="EntityEnclosingRequestInterface.php" hash="74189c9d4edcd2f6dbc04a53c538a8ee"/><dir name="Header"><file name="CacheControl.php" hash="f5025f2ec81740068b61c37014b20c94"/><file name="HeaderCollection.php" hash="f8280b853d953d1df103d26dc9f99c60"/><file name="HeaderFactory.php" hash="5a039da3a9ae34fbdba128ca675ba6e4"/><file name="HeaderFactoryInterface.php" hash="e82845c9bf276a9a2b012e54927dd6c9"/><file name="HeaderInterface.php" hash="57719abc7b9e3a8c7c65b826a69a4df9"/><file name="Link.php" hash="b65c1fa22f1f80185d6443488c6f2db2"/></dir><file name="Header.php" hash="a1e0ae834c7a2ab486ed05b9c542db67"/><file name="MessageInterface.php" hash="b2806bc032b6960b6251b82dd23f61fd"/><file name="PostFile.php" hash="7dfb1139d6f59e8cd91203d8f66d5ad9"/><file name="PostFileInterface.php" hash="20adf5af26e9cabe000e9222fbaa64cf"/><file name="Request.php" hash="49eeb3d0438ae595faba011d79755220"/><file name="RequestFactory.php" hash="81875dcdbd5f5c65664c7783d9964c15"/><file name="RequestFactoryInterface.php" hash="076e8c936861a6aaf2e2a2772ac6158b"/><file name="RequestInterface.php" hash="e643c7a168461ff20fad2e83b8b94960"/><file name="Response.php" hash="b8001c30bde276b492860d9c706adb4b"/></dir><file name="Mimetypes.php" hash="296f3caa16598a0262fcc05cde66cbe4"/><dir name="QueryAggregator"><file name="CommaAggregator.php" hash="67ceee8d6a476d2a66594512aaa85c54"/><file name="DuplicateAggregator.php" hash="065d2f19bf0670cbe63d7d7164093b9b"/><file name="PhpAggregator.php" hash="819504c086b326dbe1ea261c1d94344b"/><file name="QueryAggregatorInterface.php" hash="0bad1c6e1af16c2d634e58e5cb272a37"/></dir><file name="QueryString.php" hash="651513f362f6caa748e61e848b8189a6"/><file name="ReadLimitEntityBody.php" hash="2060e14d573e4a4d5ec942bd94302c69"/><file name="RedirectPlugin.php" hash="6c0cae4ec5e8491acaf8cd225ee50c13"/><dir name="Resources"><file name="cacert.pem" hash="349ba2d6964db9ca558c9e1daf38e428"/><file name="cacert.pem.md5" hash="6c0a511493af137ac6d8d69021a8848a"/></dir><file name="StaticClient.php" hash="84309c875fef96b4e773373d49e6c79a"/><file name="Url.php" hash="fcaf1700c1cf21660974367768ec2535"/></dir><dir name="Inflection"><file name="Inflector.php" hash="af099fa9a6f19542cd50dc4b9e53c630"/><file name="InflectorInterface.php" hash="a575fde89bf5331c554754e83eb82dd0"/><file name="MemoizingInflector.php" hash="990be5be097a292ed84e3ce5515754ec"/><file name="PreComputedInflector.php" hash="9f2b03877e501cfefe8f1ef2f616c133"/></dir><dir name="Iterator"><file name="AppendIterator.php" hash="d17ed123efb05b686f44c2eed7d3c4fe"/><file name="ChunkedIterator.php" hash="8cdd7e82a00b9a01136a8f056db18f64"/><file name="FilterIterator.php" hash="ed7e0d5590d718f246627b7f6949cba6"/><file name="MapIterator.php" hash="7d28a4b22f442e13b6874f55746b28e0"/><file name="MethodProxyIterator.php" hash="4518ead4f857bd9721b1226068f7eb32"/></dir><dir name="Log"><file name="AbstractLogAdapter.php" hash="8125cc1372285a9132d96a76ff87dbbf"/><file name="ArrayLogAdapter.php" hash="7cd65cd88fcdb68f6a682fdf34b4a8ae"/><file name="ClosureLogAdapter.php" hash="d5798485461e5f0057f2d41e8e37cf88"/><file name="LogAdapterInterface.php" hash="67ea49d97a88cf2e46f7563abc2504a7"/><file name="MessageFormatter.php" hash="c9544d2a631334bfd77f452d270ea761"/><file name="MonologLogAdapter.php" hash="6e309ba00aa769eec28500b26f4c018f"/><file name="PsrLogAdapter.php" hash="55b4beb10ccf08e3a6041a2b404431ff"/><file name="Zf1LogAdapter.php" hash="baf4ad91fbc41481bc565f6b0079c4b4"/><file name="Zf2LogAdapter.php" hash="150ac5b6d1597041896ba262f8df8930"/></dir><dir name="Parser"><dir name="Cookie"><file name="CookieParser.php" hash="33f6a9285dd2ec90dc87fb4fc998e59d"/><file name="CookieParserInterface.php" hash="98ef9046ca0ce771cd9a7cf823b76c66"/></dir><dir name="Message"><file name="AbstractMessageParser.php" hash="d2dab239632534f4966b284135abe69c"/><file name="MessageParser.php" hash="c5b9f75ddeb4c0231a595a3a7fb442c7"/><file name="MessageParserInterface.php" hash="1d3f9753d1186f001acc71f2b383e139"/><file name="PeclHttpMessageParser.php" hash="dbe4987f6c937c04a93161531fc38938"/></dir><file name="ParserRegistry.php" hash="a538b157111059ac6cdee20699400aee"/><dir name="UriTemplate"><file name="PeclUriTemplate.php" hash="8bc54f20bbdf7159edf75973efbd6999"/><file name="UriTemplate.php" hash="b8c59a215eb0bfabdbb42b1fb9e74542"/><file name="UriTemplateInterface.php" hash="1920e2818088ba2acebdf36a44fb58bf"/></dir><dir name="Url"><file name="UrlParser.php" hash="65660d68ad322bba1a1131c2c2d48c28"/><file name="UrlParserInterface.php" hash="b4d8c4cb8ca13a5ac8f3dbe3e4f7f42d"/></dir></dir><dir name="Plugin"><dir name="Async"><file name="AsyncPlugin.php" hash="12ec1382a5c2c4d2c76bca740610fcf9"/></dir><dir name="Backoff"><file name="AbstractBackoffStrategy.php" hash="07ee263d5fe87295e8d5ecf532b4e6c5"/><file name="AbstractErrorCodeBackoffStrategy.php" hash="5308b4c3bfa331b1feec2e886bf1e38d"/><file name="BackoffLogger.php" hash="2e9be2da8552ebc96075444c48b950a1"/><file name="BackoffPlugin.php" hash="1682322fb85d5d260de15f087615e400"/><file name="BackoffStrategyInterface.php" hash="d335f9d4bd310ef8389e2ff27c6f8f2f"/><file name="CallbackBackoffStrategy.php" hash="0a2fe568fe891ef304aeff3ef105e6d6"/><file name="ConstantBackoffStrategy.php" hash="38485d972e1fcc876e22d092dfde7f39"/><file name="CurlBackoffStrategy.php" hash="7a00f8bdddbd441eed9268c4bb250399"/><file name="ExponentialBackoffStrategy.php" hash="9c199d621974ad2c70c437629d54fdb4"/><file name="HttpBackoffStrategy.php" hash="4443aff69969039d756e3580b1353067"/><file name="LinearBackoffStrategy.php" hash="f91a338afaa2d8c55d5e00ce739e1f6d"/><file name="ReasonPhraseBackoffStrategy.php" hash="0245fa4a73cd4071b14e0595423e0430"/><file name="TruncatedBackoffStrategy.php" hash="86af5b5166fff87b89c24214cb399841"/></dir><dir name="Cache"><file name="CacheKeyProviderInterface.php" hash="b3615e71ca2d35d1455a4399cdc95241"/><file name="CachePlugin.php" hash="3b10308c4b3d8732f26740b2cd8dc0ad"/><file name="CacheStorageInterface.php" hash="d65ee0463cb9a70b29e4d2bfd59c146c"/><file name="CallbackCanCacheStrategy.php" hash="262f7b68f93486affbcc78e8eb850b32"/><file name="CanCacheStrategyInterface.php" hash="739959b1f128d105e3587788d6cb4b37"/><file name="DefaultCacheKeyProvider.php" hash="1e89b5a4015f65e399a9cdae2bc2f205"/><file name="DefaultCacheStorage.php" hash="c441c05e04aaea4a990e9c301f9e41fb"/><file name="DefaultCanCacheStrategy.php" hash="72dc9cba472369e097053dc3b62fa83c"/><file name="DefaultRevalidation.php" hash="6365295c02e5c495273d555cf19d0251"/><file name="DenyRevalidation.php" hash="0fd0df77357918d89dd1ef77a25d6267"/><file name="RevalidationInterface.php" hash="29ffe4f945e9e554514675e9b7e8dec0"/><file name="SkipRevalidation.php" hash="b311c417b3f64d396190e2279bc9ccf0"/></dir><dir name="Cookie"><file name="Cookie.php" hash="547a2a85d45e3d7537d73e5c92d52ac8"/><dir name="CookieJar"><file name="ArrayCookieJar.php" hash="b9fc0b456696c9dc7e34412b8e148d18"/><file name="CookieJarInterface.php" hash="27581b77c7c53c684a4c98041dda8f14"/><file name="FileCookieJar.php" hash="c02f91c6d1d63e21b9bf1da54c47dee0"/></dir><file name="CookiePlugin.php" hash="5b742edeb19bc6b3eb7590da7538ba7b"/><dir name="Exception"><file name="InvalidCookieException.php" hash="d4ecb86a7aa26d8016234992720a79d5"/></dir></dir><dir name="CurlAuth"><file name="CurlAuthPlugin.php" hash="358c6af63ea1143f7ec0d05b2dc87b9f"/></dir><dir name="ErrorResponse"><file name="ErrorResponseExceptionInterface.php" hash="e5139e14a9ce13f3263366a33d672d0a"/><file name="ErrorResponsePlugin.php" hash="87d87b72a3570ba03af24040da331ebb"/><dir name="Exception"><file name="ErrorResponseException.php" hash="f41fd239940b8a9743175aa7fcb667b9"/></dir></dir><dir name="History"><file name="HistoryPlugin.php" hash="a96548ca730dc3c30f4fd55269ab9366"/></dir><dir name="Log"><file name="LogPlugin.php" hash="bedc5bb7bf15bc61d0f0209514c6d9c2"/></dir><dir name="Md5"><file name="CommandContentMd5Plugin.php" hash="fceaf6b488b364494a019a3edeea5ca7"/><file name="Md5ValidatorPlugin.php" hash="c0177985a655c2cbeeebb603aa871129"/></dir><dir name="Mock"><file name="MockPlugin.php" hash="11bb836c7678634574402a32544a3dcf"/></dir><dir name="Oauth"><file name="OauthPlugin.php" hash="d05bf6e3fc46721433c6e3bcf862dd12"/></dir></dir><dir name="Service"><file name="AbstractConfigLoader.php" hash="fadda279693196ee2b060c08c690e85e"/><dir name="Builder"><file name="ServiceBuilder.php" hash="f21d131c279c905c2fbabc0976eef4bd"/><file name="ServiceBuilderInterface.php" hash="bc6520550afd05e5f27ee497ddc9b98a"/><file name="ServiceBuilderLoader.php" hash="53a96413e4c1a2b37510ff004e6b6761"/></dir><file name="CachingConfigLoader.php" hash="2c839f9e977f695311d62795940c640c"/><file name="Client.php" hash="4875a07f231f1796977f030dcedd71e6"/><file name="ClientInterface.php" hash="69101c62bb0ff45a844b6864fc4cf45c"/><dir name="Command"><file name="AbstractCommand.php" hash="ef74b74d4fd9454e742978eea702ffd7"/><file name="ClosureCommand.php" hash="3876307ef98207db9cdfada1fd8f5224"/><file name="CommandInterface.php" hash="8b4f4127ba39a0272b3bf9e5a7976178"/><file name="CreateResponseClassEvent.php" hash="e433e97f9b6e2ef5f36e50170b683db2"/><file name="DefaultRequestSerializer.php" hash="1d9eb4d74050e29aaf556089bc5ccc17"/><file name="DefaultResponseParser.php" hash="5e7b6a44f65acf7419c6b8fdd2dbe1d8"/><dir name="Factory"><file name="AliasFactory.php" hash="8aa51c0d9fa6f5935551476a44355f3b"/><file name="CompositeFactory.php" hash="dd2d5cbc41ef6251021ff72a19774444"/><file name="ConcreteClassFactory.php" hash="e7016e0a7a21bde0fd77843e04063c54"/><file name="FactoryInterface.php" hash="8fcc60e2f072c8db3f827d5cbd12bb0f"/><file name="MapFactory.php" hash="4445d257270bfa8582e3e3c81c9826f3"/><file name="ServiceDescriptionFactory.php" hash="9968506d9ec070b60f01194333e65688"/></dir><dir name="LocationVisitor"><dir name="Request"><file name="AbstractRequestVisitor.php" hash="45216644e104e45d7292d14ba0bbd49a"/><file name="BodyVisitor.php" hash="f1cf1712a0f418f7886d83e21c595179"/><file name="HeaderVisitor.php" hash="226cd1bca529a8264c7b36de67c1e047"/><file name="JsonVisitor.php" hash="19ea9ecc74adb93e653de7bbd21d0238"/><file name="PostFieldVisitor.php" hash="09063aa2cdd5c2674a1dc0dfc48fa9dd"/><file name="PostFileVisitor.php" hash="971b1625f46b1e37dbbbadeb2bffa4e2"/><file name="QueryVisitor.php" hash="6a1d4a491cb910600dc74cf2f3fc7796"/><file name="RequestVisitorInterface.php" hash="5d442ef6170bfa2c9758a0e665f580fd"/><file name="ResponseBodyVisitor.php" hash="fa1a16f74a8940b84d992fad65a65f4c"/><file name="XmlVisitor.php" hash="f3ff451f62607873579e4c0faafa97f6"/></dir><dir name="Response"><file name="AbstractResponseVisitor.php" hash="4bc3f2edf4afc88584b17ba247dfad13"/><file name="BodyVisitor.php" hash="dcd7319c0c8ecda98d2333f895a601bc"/><file name="HeaderVisitor.php" hash="43324f3f88ba9d90d44c4a2e15220204"/><file name="JsonVisitor.php" hash="c6ab595cd3a437e9b4694910d18755fd"/><file name="ReasonPhraseVisitor.php" hash="0a41ebce6a4a6d3803575e49c09cbc4d"/><file name="ResponseVisitorInterface.php" hash="18232989140f5e739150f08224fed604"/><file name="StatusCodeVisitor.php" hash="f53e7b4f7fe03cdc85eb1ef162ef31d3"/><file name="XmlVisitor.php" hash="d8b2719d2f9ed4fe6205c2d3cfbaa788"/></dir><file name="VisitorFlyweight.php" hash="3732e718ba63b6f12cf959e413abf4cf"/></dir><file name="OperationCommand.php" hash="e8534f362daa12372303e568fbfee50d"/><file name="OperationResponseParser.php" hash="bbeeaf651605a494a97315e221f5eb1a"/><file name="RequestSerializerInterface.php" hash="2708244364227d07a2d7f0a17c6ba340"/><file name="ResponseClassInterface.php" hash="708c7975642393f9ce81c153e52435e5"/><file name="ResponseParserInterface.php" hash="a91578d74ece771f799b5b82cfcf0e38"/></dir><file name="ConfigLoaderInterface.php" hash="2be49f0609718d4c14b12bae53986d19"/><dir name="Description"><file name="Operation.php" hash="9f0e2431f42f6ea801274dd6e5bfb0ab"/><file name="OperationInterface.php" hash="5963a5dfd9ac12fa445bae0c6e448b4b"/><file name="Parameter.php" hash="c6c439a00f5875e80c60db5d8a53c6d9"/><file name="SchemaFormatter.php" hash="ce530ca216be35c2bbbcf039e406f615"/><file name="SchemaValidator.php" hash="085c3c65a26613264c8e6638529e96a0"/><file name="ServiceDescription.php" hash="7bc23c91d8d2425b173232343bcd8e3d"/><file name="ServiceDescriptionInterface.php" hash="707691524755790d0966aec6f0fce3fe"/><file name="ServiceDescriptionLoader.php" hash="e1a1221fc817313a6fc938eab0ecf163"/><file name="ValidatorInterface.php" hash="f2706a6daa8b81c9913e674706f85414"/></dir><dir name="Exception"><file name="CommandException.php" hash="1df1bdac1d58ec3a347471966e68df6d"/><file name="CommandTransferException.php" hash="9edcea572ed2dc682e430c5e0b64c310"/><file name="DescriptionBuilderException.php" hash="ebc20f875e94bc177b8bf8f5fd6f713e"/><file name="InconsistentClientTransferException.php" hash="34277f53685d0b8f38ca42e7f73f3df7"/><file name="ResponseClassException.php" hash="f92469d44de7724961a887bb26a6f923"/><file name="ServiceBuilderException.php" hash="2c8628b6030bd4f65ee719f54e34edb7"/><file name="ServiceNotFoundException.php" hash="2c26c9658cd335f803eb6a84c69b5220"/><file name="ValidationException.php" hash="e86b42ed471ce9aec762773e21c42b0f"/></dir><dir name="Resource"><file name="AbstractResourceIteratorFactory.php" hash="e7c9f7f16fdef7cbf277266b1fb2b163"/><file name="CompositeResourceIteratorFactory.php" hash="fdffbd0d70bdedfedd3ddcc3be6bdc0a"/><file name="MapResourceIteratorFactory.php" hash="492689e6ae80219b1621cf542e22a290"/><file name="Model.php" hash="09f2071e73ab1448f21b59f4dad3a82a"/><file name="ResourceIterator.php" hash="4262f6af3d1ff478e4cb1a53eee78605"/><file name="ResourceIteratorApplyBatched.php" hash="ffbe2448991e37adb7d552458fe77e06"/><file name="ResourceIteratorClassFactory.php" hash="6c084e3659294bf6d32f52fa08ff1315"/><file name="ResourceIteratorFactoryInterface.php" hash="671eb86847e86900bb2a5486ba220a7d"/><file name="ResourceIteratorInterface.php" hash="ec6765b5d75fd264ace1d9ac04810a02"/></dir></dir><dir name="Stream"><file name="PhpStreamRequestFactory.php" hash="507198e91119d49d2d28c87e9c8fcaab"/><file name="Stream.php" hash="0fc9061103b38fc0b224a9d285bd83fa"/><file name="StreamInterface.php" hash="01dd322c8ff8414eff7ff8eb53bc145b"/><file name="StreamRequestFactoryInterface.php" hash="76c22d99485818b7aed4c1482f30448b"/></dir></dir><dir name="Monolog"><dir name="Formatter"><file name="ChromePHPFormatter.php" hash="71556b69ade93eb7eb296611dcde581e"/><file name="FormatterInterface.php" hash="6393c1db9899b0f9e3fc4ad3d6a898dd"/><file name="GelfMessageFormatter.php" hash="7d9f36780e0a42c8f5f6dd9321582bcd"/><file name="JsonFormatter.php" hash="b0e0eaa76187d769d9db5d5ebf969efd"/><file name="LineFormatter.php" hash="c350e311b66c3a11177c3a02ff87c699"/><file name="LogstashFormatter.php" hash="d7fc7de629f67f8ede9c51b0f3db0db3"/><file name="NormalizerFormatter.php" hash="2edf697812e843ed3436dc3190679fb7"/><file name="WildfireFormatter.php" hash="c95966c78df00d0b12db9475c62d98b9"/></dir><dir name="Handler"><file name="AbstractHandler.php" hash="2c5cfd3a0895fc97286292004f8ca8e2"/><file name="AbstractProcessingHandler.php" hash="57818182f50293167d3cad8708835a86"/><file name="AmqpHandler.php" hash="b683664f74bd01d7abc6cfec4cf1dede"/><file name="BufferHandler.php" hash="0dd06846cb6d9c83ebbbb9bd4575d40f"/><file name="ChromePHPHandler.php" hash="ce5013e952291da9181594290b01e0a1"/><file name="CouchDBHandler.php" hash="831f775592d7ad37b5bc0766180aef81"/><file name="CubeHandler.php" hash="d21ba7e017370fb3c37dffc5f6d94ddb"/><file name="DoctrineCouchDBHandler.php" hash="abc48686f395a089e55a2ec1a4fe4b78"/><dir name="FingersCrossed"><file name="ActivationStrategyInterface.php" hash="6bf84f27f4b7a0016afa63430cf6f8be"/><file name="ErrorLevelActivationStrategy.php" hash="bdf746aa0bc5b2eea3cabcbcc2a7d355"/></dir><file name="FingersCrossedHandler.php" hash="a8c810bf446081f0e2ccb8348675b6c8"/><file name="FirePHPHandler.php" hash="2721106585c3ff6b6dc30d4730ca9c39"/><file name="GelfHandler.php" hash="7b80722808be4f049f6a6a955fd42e0f"/><file name="GroupHandler.php" hash="4bc9e4378c31a77b5e94e94b4b70ef9a"/><file name="HandlerInterface.php" hash="5198e49e18301600a07c29f50cd5c26c"/><file name="MailHandler.php" hash="9a24c301fa6574039e04f6b39f2251c9"/><file name="MissingExtensionException.php" hash="bd31f2e5f407524b03bf0ba0e29cfed5"/><file name="MongoDBHandler.php" hash="efbe923d709936a958439ace94b7fac8"/><file name="NativeMailerHandler.php" hash="05697ada7b3c8594db1f39c4fea65722"/><file name="NullHandler.php" hash="d2f5ef3d84e4f42bcff3084a5d8fbb98"/><file name="PushoverHandler.php" hash="ab10ea30bb09fcc49d7c3338ee76924a"/><file name="RavenHandler.php" hash="94d1ea16e8031c8b473b473b126b57e2"/><file name="RedisHandler.php" hash="9e47db3309a737924e4e7af9a0578336"/><file name="RotatingFileHandler.php" hash="ce8c3a6edde47725d990a78f8f7415ff"/><file name="SocketHandler.php" hash="91f96eadaa8638bb08d29a955bfdc26d"/><file name="StreamHandler.php" hash="00c51e6eb9ae7a2365306a354f817dd8"/><file name="SwiftMailerHandler.php" hash="1629ccbec6426456d0c070d44083fa62"/><file name="SyslogHandler.php" hash="f83d5fce1414cfcc6ad5b3a0c5f56117"/><file name="TestHandler.php" hash="af915fa2a14a03fc3c0ec01af9782c86"/><file name="ZendMonitorHandler.php" hash="03413df93287814fe4225b94294551c3"/></dir><file name="Logger.php" hash="0ea2c8c1fda18665ea33f9f8cb8cc0ab"/><dir name="Processor"><file name="IntrospectionProcessor.php" hash="d27e01c549fc115eb0280d8765cd9b74"/><file name="MemoryPeakUsageProcessor.php" hash="5302013ef46651b85332ef83c81b345f"/><file name="MemoryProcessor.php" hash="773ff1f33c494554d70fbb2830b9c421"/><file name="MemoryUsageProcessor.php" hash="0e103c55b2bdc0f148acad70e3b30db5"/><file name="PsrLogMessageProcessor.php" hash="3b61d93bef2af961e4814cffc3fa5c69"/><file name="WebProcessor.php" hash="a686998a0f2a5d8240907068f9c0f9c1"/></dir></dir><dir name="Psr"><dir name="Log"><file name="AbstractLogger.php" hash="a57c1be541193b72d09307bb0dfb9ed2"/><file name="InvalidArgumentException.php" hash="7d2f0bd1583524d739fff12f0507de65"/><file name="LogLevel.php" hash="19ab55cc711ed2f3ab2ec72e7f0600cb"/><file name="LoggerAwareInterface.php" hash="3ba5ffac8108e1da7657b1fad8651900"/><file name="LoggerAwareTrait.php" hash="5b3adf6c4f09c61d7488b0f9ac2c696a"/><file name="LoggerInterface.php" hash="023885df6a26d8137d5a13da51f066d2"/><file name="LoggerTrait.php" hash="1cb8db6d0b81cf85f81b6c7c09db7a9a"/><file name="NullLogger.php" hash="e71559fea0239b7441d221f8c7beae5b"/><dir name="Test"><file name="LoggerInterfaceTest.php" hash="867f36a94c35322470458f4eba246458"/></dir></dir></dir><file name="S3.php" hash="9b88ee3ec7e421978270ba37fd3140a3"/><dir name="Symfony"><dir name="Component"><dir name="ClassLoader"><file name="ApcClassLoader.php" hash="86d9a3b8315c0692848769a9c1c3e9c5"/><file name="ApcUniversalClassLoader.php" hash="13864652955ff0c5022e5553b509729e"/><file name="ClassCollectionLoader.php" hash="e93bc22ebc1bddbcb25c82b3bdcd9e2f"/><file name="ClassLoader.php" hash="524dfe8aff9aefd074d38ecdc888a399"/><file name="ClassMapGenerator.php" hash="3866e36ec0fe67f2469b8ec8aeb5333c"/><file name="DebugClassLoader.php" hash="d81299fddda21c2171161445bd865017"/><file name="DebugUniversalClassLoader.php" hash="edc1307f2a08518aefb89f5aab8a477e"/><file name="MapClassLoader.php" hash="82e86d3ab5084a7720463b20db3f467b"/><dir name="Tests"><file name="ApcUniversalClassLoaderTest.php" hash="3fb37ebb53adc1aa6b55c84c49fcf5a8"/><file name="ClassCollectionLoaderTest.php" hash="23912b93dc7de2003f49d7f1e2c25732"/><file name="ClassLoaderTest.php" hash="6a58f5ed32089b0458e3ee031f30c804"/><file name="ClassMapGeneratorTest.php" hash="6cd9f7dac5d5f1daa2d40903ae0c4d23"/><dir name="Fixtures"><dir name="Apc"><dir name="Namespaced"><file name="Bar.php" hash="450ce1f75995d3855e2890174cad81c9"/><file name="Baz.php" hash="272f5b10737a621697301cef1fd00c34"/><file name="Foo.php" hash="b52382287fd5a64b85c707f0841c797d"/><file name="FooBar.php" hash="03276dc89dca3856b642091121781aa7"/></dir><dir name="Pearlike"><file name="Bar.php" hash="5d889368e4bd7b30ea2179f77d82816f"/><file name="Baz.php" hash="03ca66795cd12fdb9d39b41825906973"/><file name="Foo.php" hash="f2002a4177d860d4b3763db043f9776f"/></dir><dir name="alpha"><dir name="Apc"><dir name="ApcPrefixCollision"><dir name="A"><file name="Bar.php" hash="9affd828e7b937fa5dab9348a1c106c3"/><file name="Foo.php" hash="565482b47ad54f50794890243d517198"/></dir></dir><dir name="NamespaceCollision"><dir name="A"><file name="Bar.php" hash="3f41e3c6878caa34053b0df735fd06d4"/><file name="Foo.php" hash="199f5fc8858ff6ba24e9a1927a436a1f"/></dir></dir></dir></dir><dir name="beta"><dir name="Apc"><dir name="ApcPrefixCollision"><dir name="A"><dir name="B"><file name="Bar.php" hash="88f045e809ca7fb0c18dfdbb7bbedbfc"/><file name="Foo.php" hash="0a6020428498f5d43bdd1871bdfe5fff"/></dir></dir></dir><dir name="NamespaceCollision"><dir name="A"><dir name="B"><file name="Bar.php" hash="133c40a5d435bb2607fcaba19a177e92"/><file name="Foo.php" hash="b4809859bdbb243d35edfa3da736c859"/></dir></dir></dir></dir></dir><dir name="fallback"><dir name="Apc"><dir name="Pearlike"><file name="FooBar.php" hash="83f27620b7ba2c11696bdf11716d223d"/></dir></dir><dir name="Namespaced"><file name="FooBar.php" hash="03276dc89dca3856b642091121781aa7"/></dir></dir></dir><dir name="ClassesWithParents"><file name="A.php" hash="c0ba313164bfc6fc725c67e515af6368"/><file name="ATrait.php" hash="c718b10e49ff27e12c0674e674e85a6b"/><file name="B.php" hash="0322eeaef5105762706853bd4445f92d"/><file name="BTrait.php" hash="f6d6d69da53085f34b2363d23081783f"/><file name="CInterface.php" hash="ea775929d42f58af393b4f224c59b1c9"/><file name="CTrait.php" hash="f925be736833be1a46dcb4878537cfe3"/><file name="D.php" hash="d1a43cd2eb1d650a46793b4324717801"/><file name="E.php" hash="676dc682573657553221b8997da6fe5f"/><file name="GInterface.php" hash="6ea7e288f1a6c11ad35be1011275cf49"/></dir><dir name="Namespaced"><file name="Bar.php" hash="0bd20d6bd956d80ab403aab7ec1692d3"/><file name="Baz.php" hash="669a66483c0b6c6d301928afdc9c4e4f"/><file name="Foo.php" hash="004debf153631e65aa55a6a595f5e859"/><file name="WithComments.php" hash="63773f312e4568035cea34d1e7049f93"/></dir><dir name="Namespaced2"><file name="Bar.php" hash="0e1341c26bd5098d0666416a99328602"/><file name="Baz.php" hash="f7037244d76da1670a0b6ab35980d735"/><file name="Foo.php" hash="7017318cc8fb7cb1b43f1f7caf023e5b"/></dir><dir name="Pearlike"><file name="Bar.php" hash="092caf7c7dda0fd29b6a4eb94e16e8c7"/><file name="Baz.php" hash="7ec330e5918e68855ea1928650677c2e"/><file name="Foo.php" hash="2ccc8e12aac56ba8a19cc5749f4ddef6"/><file name="WithComments.php" hash="8d6f9450b4d45d80d880d449c0f8ec73"/></dir><dir name="Pearlike2"><file name="Bar.php" hash="43c84f5dcf75beec1d21efa12d74d135"/><file name="Baz.php" hash="14a87e5a8699b57391eff2c94f576c18"/><file name="Foo.php" hash="ed2a4f5ef1c5a5b94181d4caff23caff"/></dir><dir name="alpha"><dir name="NamespaceCollision"><dir name="A"><file name="Bar.php" hash="7839cd8c5550658fbc5dd8f50db33db4"/><file name="Foo.php" hash="e85a0c52a4381199ded8fca8e42c1875"/></dir><dir name="C"><file name="Bar.php" hash="80ffae60899e48b99924c3a907d38255"/><file name="Foo.php" hash="9c0b9aefd4284a57d7f649b8cde024c5"/></dir></dir><dir name="PrefixCollision"><dir name="A"><file name="Bar.php" hash="44d59b6bdb3555587a3be549beb19451"/><file name="Foo.php" hash="89c3f524e25d5abff91ddae0a9aa39f8"/></dir><dir name="C"><file name="Bar.php" hash="59093638625c5324d12879437e82ac23"/><file name="Foo.php" hash="3a0c0cab70920049cf7c910659bbdddb"/></dir></dir></dir><dir name="beta"><dir name="NamespaceCollision"><dir name="A"><dir name="B"><file name="Bar.php" hash="1234b8d86aed91dae669333ff5ae887f"/><file name="Foo.php" hash="c3ff0020d627887437102f59aaa6d5a0"/></dir></dir><dir name="C"><dir name="B"><file name="Bar.php" hash="16acd0ac1810324ade58e7f527b11721"/><file name="Foo.php" hash="cbe4fddcef55d82678ce042506df312e"/></dir></dir></dir><dir name="PrefixCollision"><dir name="A"><dir name="B"><file name="Bar.php" hash="7171280695f683129338bbc9127e8a5b"/><file name="Foo.php" hash="64b36c967661286fb774e010be84b5fc"/></dir></dir><dir name="C"><dir name="B"><file name="Bar.php" hash="d01e56d7432f31c185ea81acd0c3e43e"/><file name="Foo.php" hash="8c8934c39f7727374b802bea9c0892eb"/></dir></dir></dir></dir><dir name="classmap"><file name="SomeClass.php" hash="e4d922295055f51230604c8e3d231eae"/><file name="SomeInterface.php" hash="b183b2f81d0a3580b8494e2a315b5c0f"/><file name="SomeParent.php" hash="3925f28e4b3d85670506ec8f20ad5c1a"/><file name="multipleNs.php" hash="087217e8655325395af4f0dec57cde9b"/><file name="notAClass.php" hash="439f18e59d963c281150e47387e575e9"/><file name="sameNsMultipleClasses.php" hash="23a88b412716678374cb83b3bd84f281"/></dir><dir name="deps"><file name="traits.php" hash="bbbb1f58e6ce45f7f2fcf18009537d34"/></dir><dir name="fallback"><dir name="Namespaced"><file name="FooBar.php" hash="4bc49eb260c97d801f0c924b3cbb9e83"/></dir><dir name="Namespaced2"><file name="FooBar.php" hash="7f38452cd551fb2149367bc6b11329e2"/></dir><dir name="Pearlike"><file name="FooBar.php" hash="f8188170d810646eafce22ad6458c37c"/></dir><dir name="Pearlike2"><file name="FooBar.php" hash="fe464b289785a184fb96897588e17915"/></dir></dir><dir name="includepath"><file name="Foo.php" hash="22c1ff3bd402ac54f7663e249ee27265"/></dir><dir name="php5.4"><file name="traits.php" hash="d560ea07154ede9772e22e33f7ef7628"/></dir></dir><file name="UniversalClassLoaderTest.php" hash="393a45c8a8fc03e36dd139563e531f89"/></dir><file name="UniversalClassLoader.php" hash="aaf07f8f264c4476277d3fc72ce31258"/><file name="WinCacheClassLoader.php" hash="c41f5cdde6c04556fa520cb0eaecb4f1"/><file name="XcacheClassLoader.php" hash="18a01147625643b9bd83c2b8e372c987"/></dir><dir name="EventDispatcher"><file name="ContainerAwareEventDispatcher.php" hash="1f7db4681cb831f0f261094e9dea7df8"/><dir name="Debug"><file name="TraceableEventDispatcherInterface.php" hash="ec4b2758339bbb8439f50ae9b6134edf"/></dir><file name="Event.php" hash="d46c34f8bacd815af9a3af406d3b2ce9"/><file name="EventDispatcher.php" hash="7d4dcc000083c4f160538b434cf9e178"/><file name="EventDispatcherInterface.php" hash="e248cdbdf829780d183ee5e4aaab2055"/><file name="EventSubscriberInterface.php" hash="6bc33100c6e66896fb9145e1bd4b8b85"/><file name="GenericEvent.php" hash="db4fa1cfbad8c627e27697d8c7bcb7fd"/><file name="ImmutableEventDispatcher.php" hash="94bee16721f3a1a865fc870941ec34f4"/><dir name="Tests"><file name="ContainerAwareEventDispatcherTest.php" hash="6f043ea2923e4ed7c2f4416ad940b480"/><file name="EventDispatcherTest.php" hash="2dba0033bbb91a6bc00302d234a636ab"/><file name="EventTest.php" hash="2d8c1f9d12f69cfd4420faf7874573ab"/><file name="GenericEventTest.php" hash="8afc099e4ad8943631f79a86c5c17313"/><file name="ImmutableEventDispatcherTest.php" hash="5904287d821662a2259f7576abe4998d"/></dir></dir></dir></dir><file name="aws-autoloader.php" hash="f14db3110c423408a5c1e0ff81acd3a4"/></dir></target><target name="mageetc"><dir name="modules"><file name="Knolseed_Engage.xml" hash="d261495906f6bce041a62a40c608555f"/></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.1</min><max>5.5.13</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Knolseed</name>
|
4 |
+
<version>1.1.10</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Knolseed Magento Extension</summary>
|
10 |
<description>Knolseed Magento Extension</description>
|
11 |
+
<notes>No known bugs or limitations</notes>
|
12 |
<authors><author><name>Mohan Varadarajan</name><user>KnolseedTech</user><email>mohan@knolseed.com</email></author></authors>
|
13 |
+
<date>2014-09-11</date>
|
14 |
+
<time>10:28:23</time>
|
15 |
+
<contents><target name="magelocal"><dir name="Knolseed"><dir name="Engage"><dir name="Block"><dir name="Adminhtml"><dir name="Engage"><dir name="Edit"><file name="Form.php" hash="8be003c0b60c8d5b85611ac14e9ea6fd"/><dir name="Tab"><file name="Form.php" hash="8a7d81b8dc569a24ab26e2f2adab6477"/></dir><file name="Tabs.php" hash="15beb8a0ec0bb422963fb7ed0f0cd35a"/></dir><file name="Edit.php" hash="53a459ef71bc48569d0812bf2e21acf0"/><file name="Grid.php" hash="e58fe0b54ce1f2196971d2825aa6e2b9"/></dir><file name="Engage.php" hash="10bb9b17de7a4721893e9f9129701ef1"/></dir><file name="Button.php" hash="8b1d2ecbc79cbd2917a29bc4d0152a93"/><file name="Buttonexport.php" hash="0ea9196c02b1952c6f0632542ac5d2a4"/><file name="Buttontestconnect.php" hash="e388161e55080ae63c17764b2b6f83d1"/><file name="Engage.php" hash="eece4f427dcb0b136a3435dbbac9a2a7"/><file name="Ga.php" hash="05d300c2e95dda7a01782b238e842fa1"/></dir><dir name="Helper"><file name="Data.php" hash="bceea191f387686922f7bd38ad35c9e5"/></dir><dir name="Model"><file name="Catalogvalues.php" hash="1eb4d0990dab378102a315e2f7dea195"/><file name="Crontime.php" hash="aa11fbc0518015f0ea9ad31879e2942c"/><file name="Customervalues.php" hash="dea955296bb81ede1a493b868dd1fa8e"/><file name="Engage.php" hash="e5e0c63deb2f9d5af46b6494bd8da04d"/><file name="Gacode.php" hash="e003a5e564b1448eeba88ffb5633f18b"/><dir name="Mysql4"><dir name="Engage"><file name="Collection.php" hash="e58859b2f5b4708eb941c9d06ade4598"/></dir><file name="Engage.php" hash="c492577c2fd9a6ae2f193d29474d2264"/></dir><file name="Observer.php" hash="ee31547c8c23308f3e504c7ea46f990e"/><file name="Productvalues.php" hash="2e25e89dd6bc052c526364e40d83cebe"/><file name="Status.php" hash="31986502af9ee8f584770587eef6c9e3"/><file name="Time.php" hash="5a8cda2b446d1e31c4e88fd6833609fb"/><file name="Timeframe.php" hash="123113578538af59392a39e6471827b0"/><file name="Uploadinfo.php" hash="ff0fbcfc2a4143f3c9d8f6caa1ecfa08"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="EngageController.php" hash="013a213662e81060695d5e1e23d696c9"/></dir><file name="IndexController.php" hash="1b5639c7d012fc2b18473f396ebf5899"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d12bb84c74502244f2ab3ac82594856e"/><file name="config.xml" hash="46f910718c59a86efcb96df2b2b41ed8"/><file name="system.xml" hash="6d894107c020cab2c769250a651c7ba0"/></dir><dir name="sql"><dir name="engage_setup"><file name="mysql4-install-0.1.0.php" hash="e82cbb2edc97eef70fcd68f487e3b081"/></dir></dir></dir></dir></target><target name="magelib"><dir name="knolseed"><dir name="Aws"><dir name="AutoScaling"><file name="AutoScalingClient.php" hash="96f7817e2b957e0dff5b86b9b6375e01"/><dir name="Enum"><file name="LifecycleState.php" hash="9810bd2aa5e76553e2ff63eb1099ce0f"/><file name="ScalingActivityStatusCode.php" hash="d25ea9047b7808c202ef2ef8a4a77b0c"/></dir><dir name="Exception"><file name="AlreadyExistsException.php" hash="2a02b6cab633434c7ea21ecb83b58cf5"/><file name="AutoScalingException.php" hash="097796b2f6511b3ba61b0b6868fbaa71"/><file name="InvalidNextTokenException.php" hash="5514b82a135cb1458f01ae4160be4fb0"/><file name="LimitExceededException.php" hash="d0c352eb46597b28ed055ae061021287"/><file name="ResourceInUseException.php" hash="a71af59532132f4762a8c43ade822cad"/><file name="ScalingActivityInProgressException.php" hash="4219a0cba552d93baa06bbfc649ac324"/></dir><dir name="Resources"><file name="autoscaling-2011-01-01.php" hash="d7ae83165d1d181b9c64ad6a53068f99"/></dir></dir><dir name="CloudFormation"><file name="CloudFormationClient.php" hash="c0c79a7a6f698f7a02831c74e349ae1c"/><dir name="Enum"><file name="Capability.php" hash="87d3e5b2a1e471de32eacfe319a742f8"/><file name="OnFailure.php" hash="2dd2c835807d9199cb50e36088a18e81"/><file name="ResourceStatus.php" hash="700168f41f807abd7c97f15d9f4d901f"/><file name="StackStatus.php" hash="345f0b117d1f812f8e0b9ef0823d3ae8"/></dir><dir name="Exception"><file name="AlreadyExistsException.php" hash="4ffdae7a4ad78b89a8a4a9be1f536884"/><file name="CloudFormationException.php" hash="20085530b59b9e098c2ada9de3ee8351"/><file name="InsufficientCapabilitiesException.php" hash="065983a4508b04e9f500698db711a55a"/><file name="LimitExceededException.php" hash="bdc10d2e7ccb4be4729acf21aa87dbf4"/></dir><dir name="Resources"><file name="cloudformation-2010-05-15.php" hash="a91f58d121086b008998fcd1909c5ad3"/></dir></dir><dir name="CloudFront"><file name="CloudFrontClient.php" hash="c820712a8fdf2ee3ecd39e5a1a61d9e1"/><file name="CloudFrontSignature.php" hash="06eeb79f40f3a20ca9859a976961fee3"/><dir name="Enum"><file name="ItemSelection.php" hash="f89c600f2b261a6b3c94bf19d06e5eee"/><file name="Method.php" hash="67e88edf55940e191921ddf90b6025c4"/><file name="OriginProtocolPolicy.php" hash="8fe4e01406293f576e597ff771640d2e"/><file name="PriceClass.php" hash="d9a50e0437e0b662a157196b3abb9d5f"/><file name="ViewerProtocolPolicy.php" hash="204c54c2ae5c02726befe41b812b4bd6"/></dir><dir name="Exception"><file name="AccessDeniedException.php" hash="210a1d69c62f9c0b8add9a2a2e81f394"/><file name="BatchTooLargeException.php" hash="3105f7267554b58a0abf432d836e5bf4"/><file name="CNAMEAlreadyExistsException.php" hash="9425867f60b4d25848ff0bdd47300eaa"/><file name="CloudFrontException.php" hash="429e05ee70405874929cc108266b2d93"/><file name="CloudFrontOriginAccessIdentityAlreadyExistsException.php" hash="739105270b7721b7da091664ba3c0f14"/><file name="CloudFrontOriginAccessIdentityInUseException.php" hash="81d6a09bc4ce37d9a9e0bd2159043855"/><file name="DistributionAlreadyExistsException.php" hash="64f8c14cf76317489ce6a15330e0816a"/><file name="DistributionNotDisabledException.php" hash="c5230d53c99110d8b2675621be9c66f0"/><file name="Exception.php" hash="ce040bf287eacfd693b3dc759fcb800b"/><file name="IllegalUpdateException.php" hash="5ab60ad23c08fc77bcccf98fbd738dd2"/><file name="InconsistentQuantitiesException.php" hash="d6af918a252e0d4e943320a6bb1094cb"/><file name="InvalidArgumentException.php" hash="c6122a31c0194300c471656b3b874067"/><file name="InvalidDefaultRootObjectException.php" hash="3bc0b9f16f48a7dfd7d9144dd43b7acb"/><file name="InvalidErrorCodeException.php" hash="c05d8ffd76968aa2f48c8b8f7c19dbc4"/><file name="InvalidForwardCookiesException.php" hash="b50389875ae9a54ab825fea3e5773d4d"/><file name="InvalidIfMatchVersionException.php" hash="7aa670f81354a67f8270fd2246ad8fc1"/><file name="InvalidOriginAccessIdentityException.php" hash="7acfcfb24a66784da0c4c149f3cf29de"/><file name="InvalidOriginException.php" hash="632df0a0cc8f09ed6595eaab6eac9c02"/><file name="InvalidRelativePathException.php" hash="56dc34af823320de174eef4f680869e6"/><file name="InvalidRequiredProtocolException.php" hash="78829bb583c8a4720512602c2ce6ee4a"/><file name="InvalidResponseCodeException.php" hash="4976577e103856db9c652447c420b3b8"/><file name="InvalidViewerCertificateException.php" hash="c70c0a60aa37e8d231ce1ca53f6c0b75"/><file name="MissingBodyException.php" hash="3d73e714eacad430e11719913273dd9c"/><file name="NoSuchCloudFrontOriginAccessIdentityException.php" hash="c2de46b7e8db036f884d602fd8ab3870"/><file name="NoSuchDistributionException.php" hash="9ae49040ec2e2edd727602f6980dc685"/><file name="NoSuchInvalidationException.php" hash="7da1faa42d286d536feac45155267e51"/><file name="NoSuchOriginException.php" hash="5b35b829571f1999bcc7e565ef30698d"/><file name="NoSuchStreamingDistributionException.php" hash="645eeaeb9d90b5fff9292f12c9ae3bdc"/><file name="PreconditionFailedException.php" hash="42152d36e21dfe747281a7c858a51486"/><file name="StreamingDistributionAlreadyExistsException.php" hash="bc0b1ed3943a706b4d295c0194850ceb"/><file name="StreamingDistributionNotDisabledException.php" hash="3fc1a8ec0dbb390caf0c4ecbcf624a85"/><file name="TooManyCacheBehaviorsException.php" hash="7da5d049ce5ebb414100a1a6e5f6f63d"/><file name="TooManyCertificatesException.php" hash="9de72883ebc82430d9929cfe14d13941"/><file name="TooManyCloudFrontOriginAccessIdentitiesException.php" hash="4ecdbda99272c74d4fed210a208e271a"/><file name="TooManyCookieNamesInWhiteListException.php" hash="144be97dcb4b805e468143640a7cd7b3"/><file name="TooManyDistributionCNAMEsException.php" hash="a89ef05b8098ffb7680fefb0ea594edc"/><file name="TooManyDistributionsException.php" hash="54dee79c286c0aff8409ac5971e71511"/><file name="TooManyInvalidationsInProgressException.php" hash="eca63bd17aa8078e7ec2fb3005892ad3"/><file name="TooManyOriginsException.php" hash="a05117832ad5470e3463b3f1ef30836d"/><file name="TooManyStreamingDistributionCNAMEsException.php" hash="e60de7f873f70986dcd95b821eaf2a79"/><file name="TooManyStreamingDistributionsException.php" hash="ca8d40e2273ab45e658c83258d1e21bb"/><file name="TooManyTrustedSignersException.php" hash="ea330b820b574e48d2472eebbfd64a95"/><file name="TrustedSignerDoesNotExistException.php" hash="b3fbd3911bc8f06de92ff248b8555ace"/></dir><dir name="Resources"><file name="cloudfront-2012-05-05.php" hash="b41a6a6b93c7105c4ff2a3b68c4802eb"/><file name="cloudfront-2013-09-27.php" hash="0dbf58684f1572b08abb695a7aa72ccc"/></dir></dir><dir name="CloudSearch"><file name="CloudSearchClient.php" hash="ffaf08491ebe9a3ef110a776db3d2a96"/><dir name="Enum"><file name="IndexFieldType.php" hash="954e470184601c5b647ef9ffe38394fe"/><file name="OptionState.php" hash="873d197cdc4b981482af6eb9c0da02dd"/><file name="SearchInstanceType.php" hash="067a934719c5fcefdb2b517a47d9db30"/><file name="SourceDataFunction.php" hash="ef79db5b5c7ff675f73cd8dc100fe6d9"/></dir><dir name="Exception"><file name="BaseException.php" hash="6025fc0890fb9b17e6b7adf7dbb42552"/><file name="CloudSearchException.php" hash="919945b4b96b87794fa0a7f2b6318dea"/><file name="InternalException.php" hash="fc961cc6d81162dba3b37a722f7a1709"/><file name="InvalidTypeException.php" hash="53c50ecfb17a71464159d8a9025dbb71"/><file name="LimitExceededException.php" hash="ac9c9394e0b28d67c502d65948a62cf1"/><file name="ResourceNotFoundException.php" hash="87d148f4684efbc0cc02b3e9533976b2"/></dir><dir name="Resources"><file name="cloudsearch-2011-02-01.php" hash="daea426390f9d176c32f79039aa5d398"/></dir></dir><dir name="CloudTrail"><file name="CloudTrailClient.php" hash="2fe1022610b058f750c2cfc8ea118af4"/><dir name="Exception"><file name="CloudTrailException.php" hash="8a75973d86d0855f6e6b2bb1685e1462"/><file name="InsufficientS3BucketPolicyException.php" hash="b0aac7a0ed82e51852cc4c6307d6e53e"/><file name="InsufficientSnsTopicPolicyException.php" hash="78a6b11a206e25965849e56c4959e6af"/><file name="InternalErrorException.php" hash="4c71d8e6bab187298c133b43f6ac10ac"/><file name="InvalidS3BucketNameException.php" hash="85e39c99b2525f2ab6d635cf4c08f46c"/><file name="InvalidS3PrefixException.php" hash="edd298e7b57ec8d42799b6f9e76225ee"/><file name="InvalidSnsTopicNameException.php" hash="9938a7214ae144a0dc4c1aca2b5af604"/><file name="InvalidTrailNameException.php" hash="4610ee847751ee76907dd1bf886e1186"/><file name="MaximumNumberOfTrailsExceededException.php" hash="1316b0dfd83da0a63d74a4150438e0de"/><file name="S3BucketDoesNotExistException.php" hash="2888b061de5eff553e39f78db1066f22"/><file name="TrailAlreadyExistsException.php" hash="0ff52b891e5387a5d1ca681e3e2306e1"/><file name="TrailNotFoundException.php" hash="45f87e866a8b40c4bdd9134b0287315c"/><file name="TrailNotProvidedException.php" hash="6de0960e9cb0b78cbf45d36105608987"/></dir><file name="LogFileIterator.php" hash="f44b055697c19fbe75c66f78859ccc36"/><file name="LogFileReader.php" hash="70ba5d7a9a8a0fd2ec5e025d7f8fafaa"/><file name="LogRecordIterator.php" hash="16c1ed32677c0cbdf900405773f72b7c"/><dir name="Resources"><file name="cloudtrail-2013-11-01.php" hash="be59686cf569b9ea8d1b195c8b63e108"/></dir></dir><dir name="CloudWatch"><file name="CloudWatchClient.php" hash="74b6cb8c1e3555c6e7d2aa9c4a853b9b"/><dir name="Enum"><file name="ComparisonOperator.php" hash="f1307d70c8d1814bb2c10b8bbc7dd26f"/><file name="HistoryItemType.php" hash="e2a2aef1d5729c3370e946468281dacb"/><file name="StateValue.php" hash="1508461750cdc7e72edce23bde76cd62"/><file name="Statistic.php" hash="59865a4cbb6c5759a5419fcb906e1d7b"/><file name="Unit.php" hash="7ad2e966fe36dd6d8365552dade3b56f"/></dir><dir name="Exception"><file name="CloudWatchException.php" hash="fd032623bda661ba3a8de4ec8e8902da"/><file name="InternalServiceException.php" hash="fdb93f16efd4c480e6b8f92033e63602"/><file name="InvalidFormatException.php" hash="cfce3e07083461b30277388b43dfe176"/><file name="InvalidNextTokenException.php" hash="e4964db5ddb5e49b5f7ca723ddb6b3d0"/><file name="InvalidParameterCombinationException.php" hash="c023212218a22200def1783cc9b8c7e8"/><file name="InvalidParameterValueException.php" hash="e309374fa3fe547eb8ab6dbd629ba4fb"/><file name="LimitExceededException.php" hash="7216f2760155126c9119a2f273f983da"/><file name="MissingRequiredParameterException.php" hash="eafc7af2dcbb905b7508b368faac2b75"/><file name="ResourceNotFoundException.php" hash="e3c7322320db76b0c2264f640f9596a6"/></dir><dir name="Resources"><file name="cloudwatch-2010-08-01.php" hash="7d4deecad0728348c2c3d64f3bf9cedf"/></dir></dir><dir name="Common"><file name="Aws.php" hash="af81bf375ba1379d93ab612f7ea93cde"/><dir name="Client"><file name="AbstractClient.php" hash="cc01dcd9327a84606e8aeb402bdbc223"/><file name="AwsClientInterface.php" hash="b5549e525d4119198840bb2b34e79c67"/><file name="ClientBuilder.php" hash="81c9d06401700090d95b36c58f722b2d"/><file name="DefaultClient.php" hash="21d047c441a59ac2d146e520cb4c73ec"/><file name="ExpiredCredentialsChecker.php" hash="b75d82f1065d0ff5001c6588fff26ae2"/><file name="ThrottlingErrorChecker.php" hash="18150232988131e9f21e4724cfc35bbf"/><file name="UploadBodyListener.php" hash="7d6e8c6da0c89c7177740f3b950b6c79"/><file name="UserAgentListener.php" hash="98501807352bf33024e31b7fc6217c93"/></dir><dir name="Command"><file name="AwsQueryVisitor.php" hash="94799b1eb3ebd49ab60de7f8cefc96fe"/><file name="JsonCommand.php" hash="6bef8308125e047c4be353e04c067367"/><file name="QueryCommand.php" hash="47f1c01448de7d6c09671907bef5a5bc"/><file name="XmlResponseLocationVisitor.php" hash="457a7a69d3575bf45afc227ca0fd3948"/></dir><dir name="Credentials"><file name="AbstractCredentialsDecorator.php" hash="bce6a394352ce1162ed5d5a814a921e9"/><file name="AbstractRefreshableCredentials.php" hash="da6fb4894370252edf0280e09601a95d"/><file name="CacheableCredentials.php" hash="0a269b4ea676b1195f66fdddedd2ef80"/><file name="Credentials.php" hash="6e067728ac7cb2782ab299b50a8c038a"/><file name="CredentialsInterface.php" hash="93e9ebe9c22c382ea50b36951b978583"/><file name="RefreshableInstanceProfileCredentials.php" hash="0ce5d189a36a9a64c724c931af092b0b"/></dir><dir name="Enum"><file name="ClientOptions.php" hash="1dfcc9b655e60bb50acccead19e05e22"/><file name="DateFormat.php" hash="87412bee81bce129eacaedb580fcd464"/><file name="Region.php" hash="0ebf023da3afcbade51065c0bf246c46"/><file name="Size.php" hash="b92da9494098f83d94080c96979a3c06"/><file name="Time.php" hash="0701abe5acc45f6e9a897631b8b4cec2"/><file name="UaString.php" hash="0342531432bbafbfcf4cdb04156f8ebd"/></dir><file name="Enum.php" hash="6006719ac2eecfb5183d776634f2b2a5"/><dir name="Exception"><file name="AwsExceptionInterface.php" hash="b5e48ce90ddfd2b397fe1dfbabd2d3ca"/><file name="BadMethodCallException.php" hash="752cafcafecfd520e6ccfe01210a17c7"/><file name="DomainException.php" hash="1b1e3665960ce4fb9043df5c58553dd6"/><file name="ExceptionFactoryInterface.php" hash="ed60e5bba6ad952a2619613e194fb73c"/><file name="ExceptionListener.php" hash="2ca2ab488369e279da53a7b903fd557e"/><file name="InstanceProfileCredentialsException.php" hash="992185ed8296289a27b1b6497f306643"/><file name="InvalidArgumentException.php" hash="6400656e6a65bd523e37158ed71bd4c7"/><file name="LogicException.php" hash="d20e53d676891f9142be744f2aab2e6d"/><file name="MultipartUploadException.php" hash="3161352ca49918ea3783888aa8f0d7bb"/><file name="NamespaceExceptionFactory.php" hash="5fcea4d30864e65dbb0482a7ada2a42e"/><file name="OutOfBoundsException.php" hash="dabab81d1c1db56dcab8eeb513e18d5d"/><file name="OverflowException.php" hash="5a565642fb5379392dd5752c3adb16ad"/><dir name="Parser"><file name="AbstractJsonExceptionParser.php" hash="fcff52403d7baf7d5115ee56cb7b260d"/><file name="DefaultXmlExceptionParser.php" hash="7d4c376b203f91d7874e4172ffced216"/><file name="ExceptionParserInterface.php" hash="09a7643cba57df1eac684aaf13ee55a9"/><file name="JsonQueryExceptionParser.php" hash="55759b219a56dc9f57c96589c9d0413f"/><file name="JsonRestExceptionParser.php" hash="942c6b749df09392fb4e302bc9d0af8e"/></dir><file name="RequiredExtensionNotLoadedException.php" hash="2947ebcfe2e8e786b51abfa8a722e899"/><file name="RuntimeException.php" hash="6942bba7cab741eb2e5ce4d396a82095"/><file name="ServiceResponseException.php" hash="ae3e77cf14c093d89be1dec010939f91"/><file name="TransferException.php" hash="92ae697629eeff344aa6517b5bc45d40"/><file name="UnexpectedValueException.php" hash="830809ef2d18c043d65f182be99c07b9"/></dir><dir name="Facade"><file name="Facade.php" hash="72449a6ccfbd22ae3f927acbbec74e79"/><file name="FacadeInterface.php" hash="429e30061543660a46a819b74c034a94"/><file name="facade-classes.php" hash="647dc54366ac80fdd73d0e46f2630825"/></dir><dir name="Hash"><file name="ChunkHash.php" hash="31d493b2e4175c5964bb6f4da4e8cce2"/><file name="ChunkHashInterface.php" hash="d5e3f4e9cd7cdbccab266444d4a46b9a"/><file name="HashUtils.php" hash="a8138a20e9f3e3ca9f0a5e4991a1d348"/><file name="TreeHash.php" hash="e876a9bd16c09bb5f6116b3a05ea4da2"/></dir><file name="HostNameUtils.php" hash="ad3a7318c1be08a0b3d71caf6e62e395"/><dir name="InstanceMetadata"><file name="InstanceMetadataClient.php" hash="bd565975d0da1ed56726390ea606d128"/><dir name="Waiter"><file name="ServiceAvailable.php" hash="c1e9ef2e441a99fbf966313fd3beac0e"/></dir></dir><dir name="Iterator"><file name="AwsResourceIterator.php" hash="18ac3c1db4d5c35656c2863ececefc3f"/><file name="AwsResourceIteratorFactory.php" hash="fc7241565e4521b530e81f1737ff382e"/></dir><dir name="Model"><dir name="MultipartUpload"><file name="AbstractTransfer.php" hash="f00f833de3a6694a7758a79042cb2b8c"/><file name="AbstractTransferState.php" hash="f4391e22c27455420d9c85cbca4754e1"/><file name="AbstractUploadBuilder.php" hash="c5866f851ae8d004183b89f426f57a7e"/><file name="AbstractUploadId.php" hash="987faac50f83d46f2097737dc40052ec"/><file name="AbstractUploadPart.php" hash="5c5bbfb146b5297ff733b7ebb61cd106"/><file name="TransferInterface.php" hash="94130e826c600d19e974e269ee71065a"/><file name="TransferStateInterface.php" hash="7a52b1befbad56b3362315f92e0f31b8"/><file name="UploadIdInterface.php" hash="2705f41724fc5e736c802e323bdc0a2f"/><file name="UploadPartInterface.php" hash="13ae3e96adc690d71bdfde1bdf01c7f8"/></dir></dir><dir name="Resources"><file name="aws-config.php" hash="dc97faa44d59d25c4ca27535df7d0d2b"/><file name="sdk1-config.php" hash="e0b5e5dfab92d4e8d8945e553dec9e1b"/></dir><dir name="Signature"><file name="AbstractSignature.php" hash="e395a4bae5425c913b9419a522facca3"/><file name="EndpointSignatureInterface.php" hash="49198ab55607a67bb4fbd942d3d8db2e"/><file name="SignatureInterface.php" hash="bb1aec50aa114a7b7726e859a9799bfd"/><file name="SignatureListener.php" hash="65bb761a4ad2b106e631b27302574f4c"/><file name="SignatureV2.php" hash="e834b411ca36dfcec05ddeab43d45466"/><file name="SignatureV3.php" hash="339b4dc01ba603ec3f6fbcd5df11519a"/><file name="SignatureV3Https.php" hash="1ab04acc2d1ba8904078db75c61264ed"/><file name="SignatureV4.php" hash="4ae0bc69c88f84eae1facca61bdf66a0"/></dir><dir name="Waiter"><file name="AbstractResourceWaiter.php" hash="fb87fdb0773a67d0c4ea4741a3057974"/><file name="AbstractWaiter.php" hash="1fe7cf8dfd60c6c3f534f488d943160e"/><file name="CallableWaiter.php" hash="ab6554c8f0f6f94d2bd32979b137bbb3"/><file name="CompositeWaiterFactory.php" hash="73f2bab0a7aa293901dcd181498135f5"/><file name="ConfigResourceWaiter.php" hash="68faf7fde5fb769e3462b4d8e870da9e"/><file name="ResourceWaiterInterface.php" hash="da81827cec410feb30e367ae7efc62e5"/><file name="WaiterClassFactory.php" hash="97e1f94b23346b80b7f6ec5d8906ecec"/><file name="WaiterConfig.php" hash="a9048fb9d65c13ebbc33309550bd1f04"/><file name="WaiterConfigFactory.php" hash="ac6bd930f61ae6b6689edc78562778b3"/><file name="WaiterFactoryInterface.php" hash="34faa05c594295fbd9c7b6ae2349d16f"/><file name="WaiterInterface.php" hash="5a036a25e1c42c59b524cc4423ca394b"/></dir></dir><dir name="DataPipeline"><file name="DataPipelineClient.php" hash="21b577a534777ec9524ac85fe8eaab90"/><dir name="Enum"><file name="WorkStatus.php" hash="4c06b4fef52463def8d6728c8156fd97"/></dir><dir name="Exception"><file name="DataPipelineException.php" hash="cf0dc75d1e74605d52d12242a90a975d"/><file name="InternalServiceErrorException.php" hash="6bcc9c504f051791beb91a81980ae6b6"/><file name="InvalidRequestException.php" hash="6d8fb6c37905bc1e0e2827156e46dcc4"/><file name="PipelineDeletedException.php" hash="f44d4d4e25806273a1d317508d55df8d"/><file name="PipelineNotFoundException.php" hash="1757b8db2c721bebfd58b4d047fe3d49"/><file name="TaskNotFoundException.php" hash="b2349285d55929396296c9e72cb929ae"/></dir><dir name="Resources"><file name="datapipeline-2012-10-29.php" hash="93a01d0c063a019a981b635ee8cac047"/></dir></dir><dir name="DirectConnect"><file name="DirectConnectClient.php" hash="8dee058cb9fc78791921a6c28439d65d"/><dir name="Enum"><file name="ConnectionState.php" hash="82813d38bf95b7d3c38516321255b1d4"/><file name="InterconnectState.php" hash="3d42f8c2ef0c1ddae553e155be522eb6"/><file name="StepState.php" hash="c1e5ca484cb965ff1cd18865a56a17d7"/><file name="VirtualInterfaceState.php" hash="dce0f6d10216031f89cc4d0577b8ebef"/></dir><dir name="Exception"><file name="DirectConnectClientException.php" hash="824c303be6f859fe155b3bdc93f3b88d"/><file name="DirectConnectException.php" hash="ce83b52285a4e2a99da8c2e24c8c9f39"/><file name="DirectConnectServerException.php" hash="e40e0431f0c3fc541da5a4e6d826f2b1"/></dir><dir name="Resources"><file name="directconnect-2012-10-25.php" hash="be3dcab53745ec3e33c62094a1a3e530"/></dir></dir><dir name="DynamoDb"><file name="Crc32ErrorChecker.php" hash="2e24b60db9278fb1f3d4e7c4606aade6"/><file name="DynamoDbClient.php" hash="8635f4278009e71a5ba180da5951bff6"/><dir name="Enum"><file name="AttributeAction.php" hash="4fe32b490230d31057180c1eea0dc95e"/><file name="AttributeType.php" hash="f54ecaac0c36aa38a20330cfb317a75b"/><file name="ComparisonOperator.php" hash="7c7229a71fc92c6032de065fee764067"/><file name="IndexStatus.php" hash="af25dbf1143f6893663330bf937f54a8"/><file name="KeyType.php" hash="190f3badb2e1e66dcfdacf13c4c3c218"/><file name="ProjectionType.php" hash="a461f06f98352cb707f3de50aac8f7cc"/><file name="ReturnConsumedCapacity.php" hash="ea22c4392730241cf5ef4bfe7ed8e028"/><file name="ReturnItemCollectionMetrics.php" hash="3b56a00a778973f42957ac8e2c00ffba"/><file name="ReturnValue.php" hash="04d0dc61a600f2da43384e2c946c98ee"/><file name="ScalarAttributeType.php" hash="af5e09bb4ec8f3389e39420418917e22"/><file name="Select.php" hash="1bbf13ed269b05d483a91b52460e6faf"/><file name="TableStatus.php" hash="3d967da23a64c97b6035ae0154ac649c"/><file name="Type.php" hash="74926e33df7334ea48c5596bba4f697a"/></dir><dir name="Exception"><file name="AccessDeniedException.php" hash="0927b6721261886710ddf4e7aa0762a8"/><file name="ConditionalCheckFailedException.php" hash="a8104924c2bc22817aa54d91888ba7eb"/><file name="DynamoDbException.php" hash="4a06fe9b3f69c80c962711cda55cce2a"/><file name="IncompleteSignatureException.php" hash="edec35e7a549e4131009c001f80d3880"/><file name="InternalFailureException.php" hash="63ce838deafcf7da6c2d2bd05de27cea"/><file name="InternalServerErrorException.php" hash="c48565b7b423404dd81c04514e170374"/><file name="ItemCollectionSizeLimitExceededException.php" hash="8e148af1826bef2216bcc2e33bbfcadd"/><file name="LimitExceededException.php" hash="1262864749b109d0a83697f83ac43197"/><file name="MissingAuthenticationTokenException.php" hash="c4231c1d027ea62155db847fc077ced0"/><file name="ProvisionedThroughputExceededException.php" hash="929a7c0eaa1f568563c0b6d4f816a389"/><file name="ResourceInUseException.php" hash="93032fb4364792ca509882fc7065f42c"/><file name="ResourceNotFoundException.php" hash="939d005bc3f093965d3ea42e5cd746a7"/><file name="ServiceUnavailableException.php" hash="ed40330e3802de6ee1a6216bd6a78e4a"/><file name="ThrottlingException.php" hash="8083cca78079cf22237f0c7bd4cd27d0"/><file name="UnprocessedWriteRequestsException.php" hash="d6b6898e4e7c8c0e4652453948e98775"/><file name="UnrecognizedClientException.php" hash="ee3dde1fceee1a87bf6727ac02f93d16"/><file name="ValidationException.php" hash="26f5860bf1a8807607d7504ae348fd3d"/></dir><dir name="Iterator"><file name="ItemIterator.php" hash="4e8ab1a13263afadb52f9bd81a7424c2"/><file name="ScanIterator.php" hash="02cf978f0d2c423176f4d57b6fe294ca"/></dir><dir name="Model"><file name="Attribute.php" hash="4ecfccd3439ce5817f9dd02b9dfd5a2e"/><dir name="BatchRequest"><file name="AbstractWriteRequest.php" hash="8326d4829afb578ab3688d2e3401333c"/><file name="DeleteRequest.php" hash="b4ce7b754f597f1d26a1045da2bf0b1c"/><file name="PutRequest.php" hash="e3027928d8a84ef771a879c81565c54b"/><file name="UnprocessedRequest.php" hash="eb062503a06657b62c9c3bc286944a75"/><file name="WriteRequestBatch.php" hash="f171c7a555c4d59fffcac3ce662cd31b"/><file name="WriteRequestBatchTransfer.php" hash="020ecc3de51cef0e69618d6252567d8d"/><file name="WriteRequestInterface.php" hash="940271d671e8d64d32d2a5f6a4ce4f98"/></dir><file name="Item.php" hash="e619e06ef3a2c399608643005803ed85"/></dir><dir name="Resources"><file name="dynamodb-2011-12-05.php" hash="2710044894d59900e585a3f1498a79f0"/><file name="dynamodb-2012-08-10.php" hash="d2da1b6956474a39cf6ae1d615d2c75c"/></dir><dir name="Session"><dir name="LockingStrategy"><file name="AbstractLockingStrategy.php" hash="0ff0909551380a3f96483ce1d9210052"/><file name="LockingStrategyFactory.php" hash="92a937a1c67d3e92943f8e6ec4382dbf"/><file name="LockingStrategyFactoryInterface.php" hash="df81c5776e5921285567f4664b0a2024"/><file name="LockingStrategyInterface.php" hash="d7204f72398e69059872e64b62506ccc"/><file name="NullLockingStrategy.php" hash="11998ec67cdf77aa6c5b06759bacd40c"/><file name="PessimisticLockingStrategy.php" hash="fcd13966adda98a2f35d357a66549f6a"/></dir><file name="SessionHandler.php" hash="91f437be9e5dd8bf7c18537056510b4d"/><file name="SessionHandlerConfig.php" hash="f5f3b0ec2f4c6ca24f571ebf4ed5c337"/><file name="SessionHandlerInterface.php" hash="e24a29b472fb95ff6f515184ed1b2c52"/></dir></dir><dir name="Ec2"><file name="Ec2Client.php" hash="ea925d1284a6bb48ee3b85dc6b8eefe0"/><dir name="Enum"><file name="ContainerFormat.php" hash="ed24f4a8e0c99ec757fb222f98d4786d"/><file name="DiskImageFormat.php" hash="4afc92337b9b886f9827f17ee4e9b0ff"/><file name="DomainType.php" hash="b34bcf5eb0e2c516cc97be38bee40925"/><file name="ExportEnvironment.php" hash="03d4b7d3f01a4df5d84007e64ce39539"/><file name="HypervisorType.php" hash="1cad8e0fee3d957f5471e6846b350c26"/><file name="ImageState.php" hash="48aa98fabd24eb293e65c61e60285dda"/><file name="InstanceAttributeName.php" hash="7e994dde76cb9e27f8cb6244a7427611"/><file name="InstanceStateName.php" hash="3a790ea66dc25bbed4769f0ee6993b15"/><file name="InstanceType.php" hash="64eb35dce30a1bc645414d3259497d77"/><file name="PlacementGroupState.php" hash="9ad802b9c5c0a62f1735eb4403430ca4"/><file name="PlacementStrategy.php" hash="966348d650852d0affc515cc42922df2"/><file name="ResourceType.php" hash="b217494404182a97645d3dab77e8afcc"/><file name="RuleAction.php" hash="4fd615346f2ed9eb1715c6bcee1e5e5b"/><file name="SnapshotAttributeName.php" hash="bdf788468fcac3b3a441a4f0131cda6a"/><file name="SnapshotState.php" hash="40159815b2619121cf8d04ee19820eba"/><file name="SpotInstanceType.php" hash="8731d934503f291f335432455a637eb5"/><file name="VirtualizationType.php" hash="dae236d113cc7e18a0b1feba59546fea"/><file name="VolumeAttachmentState.php" hash="715d5189cc42b629cbd203e98d0ce8c4"/><file name="VolumeAttributeName.php" hash="635938967abed8bbeda2a915c3400809"/><file name="VolumeState.php" hash="148512765597c824ac7f61a097ae70bb"/><file name="VolumeType.php" hash="ed10dd06ee3a71ccb849874c65c928f6"/><file name="VpcAttributeName.php" hash="a2fd03051235f9a8e8f0ef051e34d711"/></dir><dir name="Exception"><file name="Ec2Exception.php" hash="62ee2dc40c5010a08f3e622a85869722"/></dir><dir name="Iterator"><file name="DescribeInstancesIterator.php" hash="76f3dce41115ec02d2ee145dfe885c26"/></dir><dir name="Resources"><file name="ec2-2013-10-15.php" hash="d3a3d0f378823bd3740416b99bd17d5e"/></dir></dir><dir name="ElastiCache"><file name="ElastiCacheClient.php" hash="d6ca66bfec7cd0fd351038519a01b5f1"/><dir name="Enum"><file name="SourceType.php" hash="115b6aebca4bf87b123e01c8ff8f24f8"/></dir><dir name="Exception"><file name="AuthorizationAlreadyExistsException.php" hash="21e504b9e7f836f0b2c0ff72c161a3a3"/><file name="AuthorizationNotFoundException.php" hash="a5e02559299e09210676a953110a33bf"/><file name="CacheClusterAlreadyExistsException.php" hash="c25c43902f4ba4186b322e01c80c6b82"/><file name="CacheClusterNotFoundException.php" hash="82190202843e63734ba8ef1ba394a5be"/><file name="CacheParameterGroupAlreadyExistsException.php" hash="fd24c3d68a39aa4641a637fd808de4d4"/><file name="CacheParameterGroupNotFoundException.php" hash="ca6463ae76170cecd82daf6061ab20d5"/><file name="CacheParameterGroupQuotaExceededException.php" hash="c93c90abdc4f535d59f8d01ad90f1d40"/><file name="CacheSecurityGroupAlreadyExistsException.php" hash="59d08e4224c1a793a0b328aeced5f794"/><file name="CacheSecurityGroupNotFoundException.php" hash="1ccda66732cad00372be8d5e36e2adbe"/><file name="CacheSecurityGroupQuotaExceededException.php" hash="877ede3cf5bd8e40776cee03231852a4"/><file name="CacheSubnetGroupAlreadyExistsException.php" hash="c6e393fc9a4fa2a36e660511af4d3706"/><file name="CacheSubnetGroupInUseException.php" hash="9f6a2310c31b66f5d83a1843abfd802f"/><file name="CacheSubnetGroupNotFoundException.php" hash="9463754bd9d0fbd166dc4b6bd961cd71"/><file name="CacheSubnetGroupQuotaExceededException.php" hash="f676b0b2ec61855f0398f535416b3fe1"/><file name="CacheSubnetQuotaExceededException.php" hash="63a14141744fa66e0a0a69b9c081e28a"/><file name="ClusterQuotaForCustomerExceededException.php" hash="77627c0471b2708e68e9e8860638870b"/><file name="ElastiCacheException.php" hash="5aa6c73aa0c85df1edc5158e8613c56a"/><file name="InsufficientCacheClusterCapacityException.php" hash="c6f6d51a7a32fe4a5e09e29597127364"/><file name="InvalidCacheClusterStateException.php" hash="318e8f473ff95ea2ac20ad320e7c1971"/><file name="InvalidCacheParameterGroupStateException.php" hash="61d6ec9dbacfddde6dfa4156892ca675"/><file name="InvalidCacheSecurityGroupStateException.php" hash="39ad8e3e4323e35d812cf62ef095ceb8"/><file name="InvalidParameterCombinationException.php" hash="bd8ada3e0f3152e08ae1e647de1ef542"/><file name="InvalidParameterValueException.php" hash="2451add8d8f33cd5a002060e9f3e2835"/><file name="InvalidReplicationGroupStateException.php" hash="2fce45c79f7d4a5f14e1f16ad5d754cb"/><file name="InvalidSubnetException.php" hash="11c7bb2eaf03cb8193ace75f76798b25"/><file name="InvalidVPCNetworkStateException.php" hash="26ac0d4d4f2f1dd2e99a0e2a16ff72a0"/><file name="NodeQuotaForClusterExceededException.php" hash="77379a822d5ae295546afffb6f37c353"/><file name="NodeQuotaForCustomerExceededException.php" hash="c730d31717719ed395b3946624a7d966"/><file name="ReplicationGroupAlreadyExistsException.php" hash="ddfcacb215911d76dae186d5e9691167"/><file name="ReplicationGroupNotFoundException.php" hash="e5d0130edc605f109657fdd0e4e8d36a"/><file name="ReservedCacheNodeAlreadyExistsException.php" hash="ba9e965c9707ce3aa9446b53bc2d075f"/><file name="ReservedCacheNodeNotFoundException.php" hash="e8b182a07643ffc04fff9166a3ad9b9b"/><file name="ReservedCacheNodeQuotaExceededException.php" hash="65db6e650fb941814b8f34e60bbcae93"/><file name="ReservedCacheNodesOfferingNotFoundException.php" hash="3cf2ec1dde57680e084c72aa846c32c6"/><file name="SubnetInUseException.php" hash="5f6a50579d69da727e3bf85adcfbaf4f"/></dir><dir name="Resources"><file name="elasticache-2013-06-15.php" hash="ee9e16d07cf21c34241bece85de6e965"/></dir></dir><dir name="ElasticBeanstalk"><file name="ElasticBeanstalkClient.php" hash="20f74c453aa832d49913b61eb3731ee4"/><dir name="Enum"><file name="ConfigurationDeploymentStatus.php" hash="084ddac120d09f4eab64710c88a89800"/><file name="ConfigurationOptionValueType.php" hash="975b62971fe9249c0cf73eb490c09902"/><file name="EnvironmentHealth.php" hash="4a55eacfb07c45fdbff0b98a50118794"/><file name="EnvironmentInfoType.php" hash="fadc42788f6b465409b946e74707569c"/><file name="EnvironmentStatus.php" hash="df1f7c4ba4c6e524aba08984b5a96a82"/><file name="EventSeverity.php" hash="b0f8d4bb831e2dd754f6045b5c94581c"/><file name="ValidationSeverity.php" hash="f02229788c335e8c249918b13e4e9524"/></dir><dir name="Exception"><file name="ElasticBeanstalkException.php" hash="a4a8d318c03943026492ceb31514ce7d"/><file name="InsufficientPrivilegesException.php" hash="c86a85458785953e1b23a1cde09cd9d8"/><file name="OperationInProgressException.php" hash="923588486916af4c1a9d149747c6fe17"/><file name="S3LocationNotInServiceRegionException.php" hash="75883b5ae0176c98c0ed70921a32dc80"/><file name="S3SubscriptionRequiredException.php" hash="0ec8ab059187e734696a88f1f1642cef"/><file name="SourceBundleDeletionException.php" hash="194fc4adde07b7ab54ef290f0aaa2a7e"/><file name="TooManyApplicationVersionsException.php" hash="1d6496349065b33d0317c43e40a6a525"/><file name="TooManyApplicationsException.php" hash="3fe13576abfbb3e3d20598927a417e6d"/><file name="TooManyBucketsException.php" hash="b402073e03caeaca677ddc56f2b89b39"/><file name="TooManyConfigurationTemplatesException.php" hash="d3058cd107f406cf2bf3b05c11513462"/><file name="TooManyEnvironmentsException.php" hash="3176ee87e0d8021e193f85469414f17d"/></dir><dir name="Resources"><file name="elasticbeanstalk-2010-12-01.php" hash="bd8c3992d058f9d6117bf4980df91faa"/></dir></dir><dir name="ElasticLoadBalancing"><file name="ElasticLoadBalancingClient.php" hash="ca59f97f28691979be22e7c7e1b44982"/><dir name="Exception"><file name="AccessPointNotFoundException.php" hash="05071f6051e15d8318355b0794a9dd1e"/><file name="CertificateNotFoundException.php" hash="7a9dd18eeaa2aaf9ac844d2005577993"/><file name="DuplicateAccessPointNameException.php" hash="6c9774b220387b23f5d9413197457ce4"/><file name="DuplicateListenerException.php" hash="6089ef1c0edbadd544eca765a5df7c49"/><file name="DuplicatePolicyNameException.php" hash="4e65421810ac6b692a4e9c385dbf8b10"/><file name="ElasticLoadBalancingException.php" hash="3b8eaa1ef219c403b75d887c6fcf9a9f"/><file name="InvalidConfigurationRequestException.php" hash="df6a12538f70e02044149bec3c58d6f1"/><file name="InvalidEndPointException.php" hash="6ea1a3622cb1d25d2dbbe0394c4b5de2"/><file name="InvalidSchemeException.php" hash="e8ffed1df93368e4de833590688bcee4"/><file name="InvalidSecurityGroupException.php" hash="cce0bdbeee5b3c69adf79f41a647ff2f"/><file name="InvalidSubnetException.php" hash="2b4492a6c075d2b0da9391d9dbff54f4"/><file name="ListenerNotFoundException.php" hash="de0d205c1cafac341936ae6065ef84bd"/><file name="LoadBalancerAttributeNotFoundException.php" hash="243a7bb3caf9180d313a91e7c84809b6"/><file name="PolicyNotFoundException.php" hash="a1878afe8404f41525177bd5fd6b6cc8"/><file name="PolicyTypeNotFoundException.php" hash="9f35549594a24267a531311b937a3555"/><file name="SubnetNotFoundException.php" hash="e125719fc95081ee80730f3904b183c7"/><file name="TooManyAccessPointsException.php" hash="7edb845728a203fe6c2403c77805567a"/><file name="TooManyPoliciesException.php" hash="7b041ef30bec8614c17a8071710c7f1c"/></dir><dir name="Resources"><file name="elasticloadbalancing-2012-06-01.php" hash="f93ce11a5c23253b12d838611f093f45"/></dir></dir><dir name="ElasticTranscoder"><file name="ElasticTranscoderClient.php" hash="4d13e535302710b2b72ee0e3ffef7b49"/><dir name="Exception"><file name="AccessDeniedException.php" hash="d8d758ef18d17ad9756612a30735ba53"/><file name="ElasticTranscoderException.php" hash="c82a45c9c18b3529dca6bd2d3f0ca6e4"/><file name="IncompatibleVersionException.php" hash="808faec7d50f265050ad7414212e8229"/><file name="InternalServiceException.php" hash="550b4e6f16f6d8a241c4c0763b81da5f"/><file name="LimitExceededException.php" hash="0af29b1fc2a1f7da7c01fce037d9f25c"/><file name="ResourceInUseException.php" hash="b08c18448cbcab3526962f82b74c5ece"/><file name="ResourceNotFoundException.php" hash="9811281d1dc85134a5d36596c9f60d17"/><file name="ValidationException.php" hash="3c439ebac5c8cce30a6df9a908bd9192"/></dir><dir name="Resources"><file name="elastictranscoder-2012-09-25.php" hash="5248a8ed57bf2f3e475941ee99e82957"/></dir></dir><dir name="Emr"><file name="EmrClient.php" hash="b6bc7ac614bebdafd8b8905cb1ffdb68"/><dir name="Enum"><file name="ActionOnFailure.php" hash="90a3368d05d9c947a743b6e326398db0"/><file name="ClusterState.php" hash="43e98595cd7eccd0d9760dcee4f9401f"/><file name="ClusterStateChangeReasonCode.php" hash="2022d285e42729a667b96d9d270237c5"/><file name="InstanceGroupState.php" hash="a3a213c7607430a22e509d22952218ce"/><file name="InstanceGroupStateChangeReasonCode.php" hash="9e4488974df626ede33665815c84634b"/><file name="InstanceGroupType.php" hash="6b2698140ba7c3ec2ac3d27917eb8785"/><file name="InstanceRoleType.php" hash="ab7220643f81d7bac60584c463f8510e"/><file name="InstanceState.php" hash="3081093592df41be7cf775d33fc83448"/><file name="InstanceStateChangeReasonCode.php" hash="da34270d02922f21abbe6e394eca03af"/><file name="JobFlowExecutionState.php" hash="c7bc8356aab0be524defa38ac62e3d1d"/><file name="MarketType.php" hash="7f135081488c2374dfa72716992b19b9"/><file name="StepExecutionState.php" hash="800801721ae16f53ca83222a2fdf6a78"/><file name="StepState.php" hash="9ed3012916b6c5147a25f4bfa70021a9"/><file name="StepStateChangeReasonCode.php" hash="7ab1f8494a346a25ddbeab0bf22b98eb"/></dir><dir name="Exception"><file name="EmrException.php" hash="fdeb31733b03b1d981a9f93a5ccd37b9"/><file name="InternalServerErrorException.php" hash="472ca1648da9957b3fa88baa8dc9fefd"/><file name="InternalServerException.php" hash="0e1d0468d26322c24637b701a69fea87"/><file name="InvalidRequestException.php" hash="f4461933899ce1512b024d8fee1c78e6"/></dir><dir name="Resources"><file name="emr-2009-03-31.php" hash="180719640e0e163ee703c45fe618c6a5"/></dir></dir><dir name="Glacier"><dir name="Enum"><file name="Action.php" hash="85f4981c556299658edb3e9b244ddc1c"/><file name="ActionCode.php" hash="8ca169d71c6085f4348b786f86ad74c0"/><file name="StatusCode.php" hash="91cd78cd13068bef5a162089bc1ee42f"/></dir><dir name="Exception"><file name="GlacierException.php" hash="30b98e04728dc38c1d78ab5df0f01208"/><file name="InvalidParameterValueException.php" hash="ee0a2c8b584dea4c871965c66c2aebf0"/><file name="LimitExceededException.php" hash="0571d505d9e0546e098958202ad2f4a4"/><file name="MissingParameterValueException.php" hash="2f02824463026f15329bcb6c9564fbdd"/><file name="RequestTimeoutException.php" hash="c4e3c975633f6fdebe1c61e458726a10"/><file name="ResourceNotFoundException.php" hash="7c0036cbe45eb98a3cf7bdb3d949ee3f"/><file name="ServiceUnavailableException.php" hash="5a296af4f334d246fc45d0cc812e0c59"/></dir><file name="GlacierClient.php" hash="8d52372f349380eb2369ab6039ef83fe"/><file name="GlacierUploadListener.php" hash="19e03c7b50c4ff37d67cdeb94e1a14b4"/><dir name="Model"><dir name="MultipartUpload"><file name="AbstractTransfer.php" hash="c3381be176dd88aaa906a639a6fde0d4"/><file name="ParallelTransfer.php" hash="92dc62bcee6cbcdcaaf39acf431e2114"/><file name="SerialTransfer.php" hash="331a89bb71e820cc7aaecfdd20b12418"/><file name="TransferState.php" hash="af8aabe8abcdc55ad00de3ac094088a7"/><file name="UploadBuilder.php" hash="8462dfca22b04fc695a73a7d8815c4de"/><file name="UploadId.php" hash="f5189bec7825b8d0031dd64eb988ebf5"/><file name="UploadPart.php" hash="fec1ceb347d00b1706b85a87068b780f"/><file name="UploadPartContext.php" hash="a45cb082db0f327419d7c179e53d57be"/><file name="UploadPartGenerator.php" hash="d7b83fc492d67d84499165acff72c2ea"/></dir></dir><dir name="Resources"><file name="glacier-2012-06-01.php" hash="7fe7d51325b3c1f8f06bccff25791b73"/></dir></dir><dir name="Iam"><dir name="Enum"><file name="AssignmentStatusType.php" hash="ae0f41c53b1c56824d75eb333e19a85a"/><file name="StatusType.php" hash="a93bd6a9869a9b5aa4f7a94068270f4d"/></dir><dir name="Exception"><file name="DeleteConflictException.php" hash="48b4e522cae6109dffb4f26a05fb766f"/><file name="DuplicateCertificateException.php" hash="0d2fec540fdb38a279159b2bc825b721"/><file name="EntityAlreadyExistsException.php" hash="7dfe46fb65b928ebd9fb2c90f75338cc"/><file name="EntityTemporarilyUnmodifiableException.php" hash="d2800e6bdc1d684d1ee3ff38dc1fd336"/><file name="IamException.php" hash="364d247c36655d55c1af15c59baa0d2a"/><file name="InvalidAuthenticationCodeException.php" hash="b160209f5210bfe18472eda8b0ac7492"/><file name="InvalidCertificateException.php" hash="92704012d2921797ff2087e42f17fab9"/><file name="InvalidInputException.php" hash="daea6e91cde8b03a4b69cc0189a0368b"/><file name="InvalidUserTypeException.php" hash="76b7086631b8fb7c1f3279da1feb113e"/><file name="KeyPairMismatchException.php" hash="bd22710b1e3dcbe0a64902f54a3a4163"/><file name="LimitExceededException.php" hash="2e17c2780c8fd635469de3014ea37842"/><file name="MalformedCertificateException.php" hash="2b38f99955a913c63356c0edda5a2c3d"/><file name="MalformedPolicyDocumentException.php" hash="89c2ff535598e5940dd18ca66c7a385c"/><file name="NoSuchEntityException.php" hash="478062e9964d02dbaadb386ebe423436"/><file name="PasswordPolicyViolationException.php" hash="bbee10470d4d8c2ee03ed7e7f6205e68"/></dir><file name="IamClient.php" hash="9658c8829c4f43b09b6f77fabb616b8a"/><dir name="Resources"><file name="iam-2010-05-08.php" hash="7355ec47bb805cdfbf37bd6456ed1867"/></dir></dir><dir name="ImportExport"><dir name="Enum"><file name="JobType.php" hash="9ee43f6c4cacedda141e5de2e1784866"/></dir><dir name="Exception"><file name="BucketPermissionException.php" hash="032796167d1ce35fcd0e99f587955daa"/><file name="CanceledJobIdException.php" hash="2fc2db1e09acec07edb2db7ddbecb1bd"/><file name="ExpiredJobIdException.php" hash="d4c2c7d73d37d73e909db1bfbbef75b8"/><file name="ImportExportException.php" hash="95e9b9d2b5341524d7085bf23c706436"/><file name="InvalidAccessKeyIdException.php" hash="f3adb212bf4be9951d3de8dfad876349"/><file name="InvalidAddressException.php" hash="3daf811eba38bfdc14d15c61e07ec650"/><file name="InvalidCustomsException.php" hash="33a2a444377461a8d488ee5aeb706dbb"/><file name="InvalidFileSystemException.php" hash="6b13609070c971046937178bae5a8366"/><file name="InvalidJobIdException.php" hash="b794f4a283df4739c61fdddcfb69da8f"/><file name="InvalidManifestFieldException.php" hash="250762db398e1a31e65e7f6a059a877c"/><file name="InvalidParameterException.php" hash="d3708b1f5798200dbe27891faa27362f"/><file name="MalformedManifestException.php" hash="9773d5c2cf3459a125c224083aec7028"/><file name="MissingCustomsException.php" hash="808eaf466f96f81b25999988bdd45b8c"/><file name="MissingManifestFieldException.php" hash="d5b83f7cdbcad0687e91efaf1c8019ad"/><file name="MissingParameterException.php" hash="449ce097415b119eb4535bd803828f11"/><file name="MultipleRegionsException.php" hash="a75d56cfbf9198c1f891c833c1d0f782"/><file name="NoSuchBucketException.php" hash="309718b6810d12b7ddf57e8ac863c2d1"/><file name="UnableToCancelJobIdException.php" hash="ff839a2502867b9d6499df705ac36e58"/></dir><file name="ImportExportClient.php" hash="0e52be29513def74a9d97e37c67ae46d"/><dir name="Iterator"><file name="ListJobsIterator.php" hash="083bc7183866d156fcf5cdd825782358"/></dir><file name="JobManifestListener.php" hash="1ce807cef032bb60c92283b8ec453db7"/><dir name="Resources"><file name="importexport-2010-06-01.php" hash="8408fcef53ba78a7809c0b951e13dde5"/></dir></dir><dir name="Kinesis"><dir name="Enum"><file name="ShardIteratorType.php" hash="3c4153fd8560cd4a48e8b77c28188d7d"/><file name="StreamStatus.php" hash="695b490b91bc7a07cf64ab007b513ae5"/></dir><dir name="Exception"><file name="ExpiredIteratorException.php" hash="65bbfd88ee41a6d7b31bd5755007375e"/><file name="InvalidArgumentException.php" hash="b1f3d5da8197c70e1a01cbeb451f68da"/><file name="KinesisException.php" hash="6ab40f7d2a62c49a57fb78000c31494c"/><file name="LimitExceededException.php" hash="cbb21ea005851ffb938a6e3920914ad1"/><file name="ProvisionedThroughputExceededException.php" hash="1877b495dc6b5c1c7d70e9ff2cebdf92"/><file name="ResourceInUseException.php" hash="d3ed3198d9e6bcf403015cb6be742ed6"/><file name="ResourceNotFoundException.php" hash="5dcdeddf6500a925518218a2cf9f1210"/></dir><file name="KinesisClient.php" hash="5b3c98f93f97572e661f401c7f564e55"/><dir name="Resources"><file name="kinesis-2013-12-02.php" hash="a627dcbe5e4d1f49486fa02217cd5282"/></dir></dir><file name="LICENSE.md" hash="4a1986582bd12f9aea2aec46b81e0413"/><file name="NOTICE.md" hash="1cfe4eba1519b5c323896290f9fb8264"/><dir name="OpsWorks"><dir name="Enum"><file name="AppType.php" hash="848754a43f52b49d5b8851f434686b2d"/><file name="Architecture.php" hash="b7943c3aab8cc7bf2f342bfe5ae222fb"/><file name="AutoScalingType.php" hash="2b82e58bbbd16de1690363870a727c11"/><file name="DeploymentCommandName.php" hash="ca5c24a782e9870ead21f3fb8d431ee4"/><file name="LayerType.php" hash="397cb95f8edadd101bcd96862cfa5ba4"/><file name="PermissionLevel.php" hash="f845a186d2c6190aafa9881e7dbacff6"/><file name="RootDeviceType.php" hash="9f2590884c5c082a0528cd3217f0ecdf"/><file name="SourceType.php" hash="38ad7c76ac4c1b5b7623ab7624641ed8"/></dir><dir name="Exception"><file name="OpsWorksException.php" hash="84c6ce5f9efb83514c570fa2f3d04ced"/><file name="ResourceNotFoundException.php" hash="d9c3fcdbb6bfd95dc1b2d700d5170d9e"/><file name="ValidationException.php" hash="409fac0a0b9698a111173e52945a2c29"/></dir><file name="OpsWorksClient.php" hash="a37b337290f20e3be6e97f718c95db6e"/><dir name="Resources"><file name="opsworks-2013-02-18.php" hash="cf459cd3ed180ad6e380d4d235e739dd"/></dir></dir><dir name="Rds"><dir name="Enum"><file name="ApplyMethod.php" hash="19d2277f49a3afacd09834be3fd383c6"/><file name="SourceType.php" hash="c7bcd8f273ae15e3846fa359a73a2ef2"/></dir><dir name="Exception"><file name="AuthorizationAlreadyExistsException.php" hash="376a02ba026367796ce7febadfb30154"/><file name="AuthorizationNotFoundException.php" hash="663ab5eeed0cf4a060cbe65c5bb8e468"/><file name="AuthorizationQuotaExceededException.php" hash="67670ddd9bd940dbb382ea6cb66445b5"/><file name="DBInstanceAlreadyExistsException.php" hash="6e0f8c962260f2b3f20d794107e9f30b"/><file name="DBInstanceNotFoundException.php" hash="d9aa20a94517c46eb9a0d7755462375c"/><file name="DBParameterGroupAlreadyExistsException.php" hash="ae6928b2e01ff2519910251fb9cf5370"/><file name="DBParameterGroupNotFoundException.php" hash="400380e2390c7566e0fc20b460e815d5"/><file name="DBParameterGroupQuotaExceededException.php" hash="e689ae46b501bc47971872e901530c3b"/><file name="DBSecurityGroupAlreadyExistsException.php" hash="2e2207e47b443f0eb9d7dbd2f0078f42"/><file name="DBSecurityGroupNotFoundException.php" hash="f5c1ac583052a0000b9d777f66dbaaeb"/><file name="DBSecurityGroupNotSupportedException.php" hash="384d9d2f530a26c024d6b451f67a7ab2"/><file name="DBSecurityGroupQuotaExceededException.php" hash="dac6d4ed2abd2cc5cefadcb845710771"/><file name="DBSnapshotAlreadyExistsException.php" hash="dd3697b90b31eb425de32c8bba304822"/><file name="DBSnapshotNotFoundException.php" hash="15478e6df9db7de4365ad0a9d65781b4"/><file name="DBSubnetGroupAlreadyExistsException.php" hash="e29dd75de38209c79ccc5a01891b14fb"/><file name="DBSubnetGroupDoesNotCoverEnoughAZsException.php" hash="837c8369ca8284f002f02b8d23d263c4"/><file name="DBSubnetGroupNotAllowedException.php" hash="e905a5e8fe25729b25e5e14d5c375f7f"/><file name="DBSubnetGroupNotFoundException.php" hash="9968a5c63401216dab0ba464e7250e2f"/><file name="DBSubnetGroupQuotaExceededException.php" hash="2ac07228373140af8e74a894071c2748"/><file name="DBSubnetQuotaExceededException.php" hash="8b49e7b532f25181597419d14aff04e8"/><file name="DBUpgradeDependencyFailureException.php" hash="4055c4be60a51c7884f6ed9f3caee896"/><file name="EventSubscriptionQuotaExceededException.php" hash="1bc4e249b7d07faa9982e8731308d50d"/><file name="InstanceQuotaExceededException.php" hash="ce8c66605f2f208c726f61c71443476c"/><file name="InsufficientDBInstanceCapacityException.php" hash="2c4f159567b46ca2dee7c2e38e39463a"/><file name="InvalidDBInstanceStateException.php" hash="4936b33eeea183771a7a7dfc38a7ba69"/><file name="InvalidDBParameterGroupStateException.php" hash="aa9b329905ab674a40f643dd2153bfc6"/><file name="InvalidDBSecurityGroupStateException.php" hash="96404be7270254ea6cab55d4b2801ede"/><file name="InvalidDBSnapshotStateException.php" hash="4e2b7291358921d0fdb6f4d661bdb0bd"/><file name="InvalidDBSubnetGroupException.php" hash="4f6cfca2c69f05b1ebc3a8878bcc0644"/><file name="InvalidDBSubnetGroupStateException.php" hash="84a3e9a927f6bab25dbe557a5b5b5f08"/><file name="InvalidDBSubnetStateException.php" hash="c0081ece1a9b6fc8a2f56cd8e0d86323"/><file name="InvalidEventSubscriptionStateException.php" hash="f92aff57ef0f2a53c4cce1409b0505fc"/><file name="InvalidOptionGroupStateException.php" hash="4d50021a54c9a6cc31254be93952a557"/><file name="InvalidRestoreException.php" hash="dc631f1639dc1eda32cb468cfc8b92d8"/><file name="InvalidSubnetException.php" hash="d62dc4845b8e67ea0cceac41a9aaf60e"/><file name="InvalidVPCNetworkStateException.php" hash="a1eb52983f8a9661e4e3cdb30839382c"/><file name="OptionGroupAlreadyExistsException.php" hash="4226c0a3bdcbed371f0c7b68b3565621"/><file name="OptionGroupNotFoundException.php" hash="fd36e65437af21308bfae5ec074217ef"/><file name="OptionGroupQuotaExceededException.php" hash="bc2adf4429a3fd403f53879f0112bbd9"/><file name="PointInTimeRestoreNotEnabledException.php" hash="af19d2ada6aa534e818e93cf361d041a"/><file name="ProvisionedIopsNotAvailableInAZException.php" hash="811375765734008651fdff91686a8858"/><file name="RdsException.php" hash="6996434c2ecf17037c3931f2df361c71"/><file name="ReservedDBInstanceAlreadyExistsException.php" hash="c81ec08c1f1476062801e246cf9bf6e0"/><file name="ReservedDBInstanceNotFoundException.php" hash="ba34aca2ed1fec0e6041b89539d74a17"/><file name="ReservedDBInstanceQuotaExceededException.php" hash="6b8bc72a73b34f5466c5521d06d4fd5f"/><file name="ReservedDBInstancesOfferingNotFoundException.php" hash="73d871b7bf65e878614fba90c707ac0b"/><file name="SNSInvalidTopicException.php" hash="ba778d2918335482e02e79c3e3f05909"/><file name="SNSNoAuthorizationException.php" hash="eedb37e4b266f6ed4d18c285dbdce3fd"/><file name="SNSTopicArnNotFoundException.php" hash="a4746d9d037acfcdd58f8a2d2b2546ef"/><file name="SnapshotQuotaExceededException.php" hash="25e54a5968e2db61f5113c4a285a284a"/><file name="SourceNotFoundException.php" hash="74e18fda26af5100130575aab06e07c3"/><file name="StorageQuotaExceededException.php" hash="e4bca14d20f5ef0590293b2cc4927038"/><file name="SubnetAlreadyInUseException.php" hash="b3934cddd1e4762c2554e6da42bb1209"/><file name="SubscriptionAlreadyExistException.php" hash="7ec1a8a94449d505f22bb77a64e5f6b9"/><file name="SubscriptionCategoryNotFoundException.php" hash="f54f54e670a03afe318de768dff9465a"/><file name="SubscriptionNotFoundException.php" hash="0634451bee60d907b9a451960e8164c9"/></dir><file name="RdsClient.php" hash="c2adfe26ffd4b77153e000c3cc0d7cf8"/><dir name="Resources"><file name="rds-2013-09-09.php" hash="9eb6c99a283070bd5dfdaad5260f0f48"/></dir></dir><dir name="Redshift"><dir name="Enum"><file name="SourceType.php" hash="30409b1b129843499b9f534042fbf26c"/></dir><dir name="Exception"><file name="AccessToSnapshotDeniedException.php" hash="c9e8c82d99669b9c95eecec77021f455"/><file name="AuthorizationAlreadyExistsException.php" hash="cab137ac30853450292a4cdca0659c7f"/><file name="AuthorizationNotFoundException.php" hash="fdeacd2462018e6d794b3016094f1e83"/><file name="AuthorizationQuotaExceededException.php" hash="9db5903f794721ca23dbd65a2fc51c7f"/><file name="BucketNotFoundException.php" hash="b67ceb568f9bf3dfc68033b087377738"/><file name="ClusterAlreadyExistsException.php" hash="9eeb267af85c298ed0af61c2afb6c270"/><file name="ClusterNotFoundException.php" hash="6fd5a279200ee64aea68af45bfb3be63"/><file name="ClusterParameterGroupAlreadyExistsException.php" hash="422267f2d8aa50a487c66f45914f8018"/><file name="ClusterParameterGroupNotFoundException.php" hash="f16aecb163d382acb1cb3a7392f870f0"/><file name="ClusterParameterGroupQuotaExceededException.php" hash="dad9c72f15b72eaa84f579809b4678d7"/><file name="ClusterQuotaExceededException.php" hash="aba7c8a84383c8869f3c05a633700bd6"/><file name="ClusterSecurityGroupAlreadyExistsException.php" hash="02bf104dfb07cee703622f9fe15d9c1b"/><file name="ClusterSecurityGroupNotFoundException.php" hash="5cc1143f37bf2cc6c46018e209fff013"/><file name="ClusterSecurityGroupQuotaExceededException.php" hash="a6c63d0c6fc018f8d6cad4fbeac009f8"/><file name="ClusterSnapshotAlreadyExistsException.php" hash="31aafcd228150e5c54910d6b77d26db3"/><file name="ClusterSnapshotNotFoundException.php" hash="ea9d654915a7889f741f3e778c58a8c0"/><file name="ClusterSnapshotQuotaExceededException.php" hash="8bef78b291c4cf3e572e38c6b4b3d61a"/><file name="ClusterSubnetGroupAlreadyExistsException.php" hash="df02dee64a686e5df246b94d32ed5dfd"/><file name="ClusterSubnetGroupNotFoundException.php" hash="fcec74f4784a825dae3a7337f2b89ea7"/><file name="ClusterSubnetGroupQuotaExceededException.php" hash="9c06bfe46962619db99467b6b9e2279f"/><file name="ClusterSubnetQuotaExceededException.php" hash="0fad5d193616494a2dcaeecec5cb1e0a"/><file name="CopyToRegionDisabledException.php" hash="d860d9221401ee97e4892dea64c5d423"/><file name="EventSubscriptionQuotaExceededException.php" hash="a69b8bfbfda31cb67211d97ea250e9d1"/><file name="HsmClientCertificateAlreadyExistsException.php" hash="3619d46bcc659e0d6fa6e533c3ac06dc"/><file name="HsmClientCertificateNotFoundException.php" hash="dfb9e810a2fe8bfc49511070db8bf330"/><file name="HsmClientCertificateQuotaExceededException.php" hash="5ecd3d899d5e5a8bae5cd793115f96e9"/><file name="HsmConfigurationAlreadyExistsException.php" hash="eb9a19ce6f5f8e01dbecfe3a9905a1d9"/><file name="HsmConfigurationNotFoundException.php" hash="ddaae73292b27d33f68b24def9bbf376"/><file name="HsmConfigurationQuotaExceededException.php" hash="fb75bff51ce0071861e6477bdc614cc6"/><file name="IncompatibleOrderableOptionsException.php" hash="51efa01f4fe959f83351ba6b884ae0ef"/><file name="InsufficientClusterCapacityException.php" hash="35b3456c37c98538d3d8687d5d88e31f"/><file name="InsufficientS3BucketPolicyFaultException.php" hash="f3d5325f68cf059f7dcd998498f93d0a"/><file name="InvalidClusterParameterGroupStateException.php" hash="2b9206f0a02422908ae2f1be751b1990"/><file name="InvalidClusterSecurityGroupStateException.php" hash="0ae99524b12958a3363476f7d9d69555"/><file name="InvalidClusterSnapshotStateException.php" hash="60a1832f4594623c0d767ca23b41b7d9"/><file name="InvalidClusterStateException.php" hash="03eb7b9aebab523df4f49227ff886d9c"/><file name="InvalidClusterSubnetGroupStateException.php" hash="b79284307bc63bf8ae3ba2831412fca5"/><file name="InvalidClusterSubnetStateException.php" hash="9eda10ad6be26111eeeb2d442ed5439c"/><file name="InvalidElasticIpException.php" hash="42d6f0d90e03574ec2123a53a5f3123b"/><file name="InvalidHsmClientCertificateStateException.php" hash="96c504dbde550fdef869742fe0dc0484"/><file name="InvalidHsmConfigurationStateException.php" hash="f9a51511e75b964e40e4918813cae672"/><file name="InvalidRestoreException.php" hash="51bcc3c35fb7f19deeb4613537d3f8af"/><file name="InvalidS3BucketNameFaultException.php" hash="8efe1e3a2007abd75e1e329fbbabe7c3"/><file name="InvalidS3KeyPrefixFaultException.php" hash="c043afb7be1ac223551f72aa63efe3f1"/><file name="InvalidSubnetException.php" hash="ab249465fd2da5db0c01ac54a83c54e8"/><file name="InvalidVPCNetworkStateException.php" hash="554e07d40204937019b885e9ecd2c7a3"/><file name="NumberOfNodesPerClusterLimitExceededException.php" hash="8517bb1ac9d19e2b07cffd7f70636575"/><file name="NumberOfNodesQuotaExceededException.php" hash="1a4daebe90b9705cda31335d321582d0"/><file name="RedshiftException.php" hash="4350c750cd98294b81ca84c9e0a3728b"/><file name="ReservedNodeAlreadyExistsException.php" hash="8b0049bd4331ba9aab76e5cb8fbb4a2c"/><file name="ReservedNodeNotFoundException.php" hash="82766a70a2b696784ffdb8d1af95c597"/><file name="ReservedNodeOfferingNotFoundException.php" hash="7315213aaf423da296b3158b7ba7ebe4"/><file name="ReservedNodeQuotaExceededException.php" hash="af51e7f8377eed3e700b48d18ad1633b"/><file name="ResizeNotFoundException.php" hash="3e08078e441d6f227d3ac08b027a722b"/><file name="SNSInvalidTopicException.php" hash="7f8b69fe134454dcc3576e63e90e6d78"/><file name="SNSNoAuthorizationException.php" hash="55745749fbd004bfeeba430bdd641670"/><file name="SNSTopicArnNotFoundException.php" hash="3ac893986a262d796651f122093c5907"/><file name="SnapshotCopyAlreadyDisabledException.php" hash="901c3617895bf54466ed052ab36effbe"/><file name="SnapshotCopyAlreadyEnabledException.php" hash="20883bfc15fdf536bb3168fd39b6c4c9"/><file name="SnapshotCopyDisabledException.php" hash="5a97cd9ce4550b5bed2cc1c52f0c414e"/><file name="SourceNotFoundException.php" hash="9b0281633515464f55b6f18ef412582c"/><file name="SubnetAlreadyInUseException.php" hash="ea8dfad2d28f574de1c676bbfff1a8b6"/><file name="SubscriptionAlreadyExistException.php" hash="a8a85aeffd72e721b74bbef92376140b"/><file name="SubscriptionCategoryNotFoundException.php" hash="c72edfffd2bf2df774b6523e1bc7f71b"/><file name="SubscriptionEventIdNotFoundException.php" hash="442e6bb4455ae519b6c9c6f572e83860"/><file name="SubscriptionNotFoundException.php" hash="64708e4b9af29c76b7ad874535de832c"/><file name="SubscriptionSeverityNotFoundException.php" hash="c4cddaf790f099d8bc8275409cca59f6"/><file name="UnauthorizedOperationException.php" hash="17fae856e885ad838335b54f442bcadc"/><file name="UnknownSnapshotCopyRegionException.php" hash="f141ccf84f1687737c954664774d1a79"/><file name="UnsupportedOptionException.php" hash="d31305342559091eecdd00847e772d6e"/></dir><file name="RedshiftClient.php" hash="d9e3676c5e598627575a0915aabe2252"/><dir name="Resources"><file name="redshift-2012-12-01.php" hash="d88d992915d3de324e337b71df8440e8"/></dir></dir><dir name="Route53"><dir name="Enum"><file name="Action.php" hash="5fce5d81f4f8cd20bcf26fee53ceebad"/><file name="HealthCheckType.php" hash="c786e5ccd8a11162b043acce875b27a9"/><file name="RecordType.php" hash="4c86625b5b1b13b1a0133d261c5f1760"/><file name="ResourceRecordSetFailover.php" hash="a234fda2f8ac5b9da3202a6523d19845"/><file name="Status.php" hash="22e5216a90bf7e81e88a2961362d9542"/></dir><dir name="Exception"><file name="DelegationSetNotAvailableException.php" hash="1f30995a821f7187bfa3c1ae1fe6730f"/><file name="HealthCheckAlreadyExistsException.php" hash="46f1c28ff9db8fcb76a3ae230ad4d60d"/><file name="HealthCheckInUseException.php" hash="626f8a159c1b82bedbd998999f246321"/><file name="HostedZoneAlreadyExistsException.php" hash="4047297658083123324bc27370311e5d"/><file name="HostedZoneNotEmptyException.php" hash="b5a2910ad2d934247c38c8e96ca7a056"/><file name="InvalidChangeBatchException.php" hash="0495d764fb61c3762eac22922edbebbb"/><file name="InvalidDomainNameException.php" hash="dfe54be39b49c612331df43a2d1c7220"/><file name="InvalidInputException.php" hash="ef7ea019827104fd4817794c7adf99b2"/><file name="NoSuchChangeException.php" hash="132a7edb2acd811c35b947f45de50f75"/><file name="NoSuchHealthCheckException.php" hash="716c680b6d78527c689d09814e3bd8a0"/><file name="NoSuchHostedZoneException.php" hash="a52873a6fd8908e690d24babde7519fd"/><file name="PriorRequestNotCompleteException.php" hash="4a689aeffe52c7794c52bbb9a285cc1a"/><file name="Route53Exception.php" hash="dd58506a12c8f771ff626c2d22ea55b9"/><file name="TooManyHealthChecksException.php" hash="fe6361d52270886401a73109a061c2d4"/><file name="TooManyHostedZonesException.php" hash="11cdde994613ae170b863aa9560f51e5"/></dir><dir name="Resources"><file name="route53-2012-12-12.php" hash="37845dbeeb1231a94dd8846d8621c923"/></dir><file name="Route53Client.php" hash="e2ad347026f7e742e5d8d2f30daec02e"/></dir><dir name="S3"><file name="AcpListener.php" hash="f0ad40c46a7eb3085a3b02629444d5c5"/><file name="BucketStyleListener.php" hash="f706acb1501f1a1a5a97c48ef4be30e6"/><dir name="Command"><file name="S3Command.php" hash="3dc05e397450a4b71a982327a206c38c"/></dir><dir name="Enum"><file name="CannedAcl.php" hash="f3b4032cea7c631b5cb1cc7947474fb8"/><file name="EncodingType.php" hash="a7cde485ca7ac5f211f0f1a842d8be6a"/><file name="Event.php" hash="1bb29324b69f9431e60583652916f2dc"/><file name="GranteeType.php" hash="b7897dc9b95f94f6b121dd6f5e28bc8f"/><file name="Group.php" hash="96d2fcdffb966c8e411fe630e10b5fc8"/><file name="MFADelete.php" hash="21617876155e75c94b8bc6f8380aec16"/><file name="MetadataDirective.php" hash="274e400686bd9a855a74c7f90554fb61"/><file name="Payer.php" hash="e25af5161310f4c6e3bd10063861d69e"/><file name="Permission.php" hash="d9a0af6b2cdc229239b047f23d838cff"/><file name="Protocol.php" hash="d97f9232bba001d3bf6ec41259636670"/><file name="ServerSideEncryption.php" hash="48d3a44084406aff1541a5defe9320f4"/><file name="Status.php" hash="918d94f3d16f77cac2276b85071e8e93"/><file name="Storage.php" hash="0266e6eb192fc241d3748d3ac04def25"/><file name="StorageClass.php" hash="813636035d4e3c256791152d0e3ec8ad"/></dir><dir name="Exception"><file name="AccessDeniedException.php" hash="c114efca1dcf9a7e3344fa406db0d494"/><file name="AccountProblemException.php" hash="4e04036a4f99661d3d24ba013d26c69a"/><file name="AmbiguousGrantByEmailAddressException.php" hash="b7055c317e07c03c66bdadd3cd6f2fee"/><file name="BadDigestException.php" hash="7ce5a3538bd37d2d893a5a4641ca5e87"/><file name="BucketAlreadyExistsException.php" hash="c70ca0f46a271fbb3a0dd8634778b241"/><file name="BucketAlreadyOwnedByYouException.php" hash="03ddf3e40d02c69d98e31a1ba0e11350"/><file name="BucketNotEmptyException.php" hash="c4164313e71b86ec0a94469ae59f5c7c"/><file name="CredentialsNotSupportedException.php" hash="28e5df8a1f769a05c4b0c17da307c821"/><file name="CrossLocationLoggingProhibitedException.php" hash="6604c9fc43cc2fcbbf5e20c22edb6026"/><file name="DeleteMultipleObjectsException.php" hash="08d0fa5ebbc445faddabca975a979884"/><file name="EntityTooLargeException.php" hash="a363b75b6140aa59516d6958bd818487"/><file name="EntityTooSmallException.php" hash="8244c7d196fcf6cfe81ce6be4e4ee3c3"/><file name="ExpiredTokenException.php" hash="9fde3c8c1f8ce13d3c1459ba80888484"/><file name="IllegalVersioningConfigurationException.php" hash="7502affc30c08ec7dec2ca9b79623861"/><file name="IncompleteBodyException.php" hash="3868573f4b4169bd66ec7ed55e828212"/><file name="IncorrectNumberOfFilesInPostRequestException.php" hash="9a7794f2028a7bbecb37f02a291f6c13"/><file name="InlineDataTooLargeException.php" hash="16a05c43ee339551a41d6db30b3ca660"/><file name="InternalErrorException.php" hash="af766935b9509e930d0ae19802289e4a"/><file name="InvalidAccessKeyIdException.php" hash="32f96f069dba33c77642bddfffe8db8b"/><file name="InvalidAddressingHeaderException.php" hash="e8951816cc56a7230167d73186c0ab90"/><file name="InvalidArgumentException.php" hash="26a64d61b80ab87cd4da2f0959951859"/><file name="InvalidBucketNameException.php" hash="389ba9774c6752da399d5a06714ca70d"/><file name="InvalidBucketStateException.php" hash="9010cee7e70cd31d533d490a0f676b7c"/><file name="InvalidDigestException.php" hash="498ad6eea22c072303d33040e1e2fb8a"/><file name="InvalidLocationConstraintException.php" hash="649bb9f9299de94c32142afe6966e3bd"/><file name="InvalidPartException.php" hash="cf7972454e18711007a3282ab14b0b2e"/><file name="InvalidPartOrderException.php" hash="2844134a42c3bf7250e00356a1af54c6"/><file name="InvalidPayerException.php" hash="668af3f62f403e4dff00bcf4c547586d"/><file name="InvalidPolicyDocumentException.php" hash="24708723851ace58c30233fbcd2a61c0"/><file name="InvalidRangeException.php" hash="98cfd5cd3599cea086cc16fa50447132"/><file name="InvalidRequestException.php" hash="dc44e8a1c168511de2b21dc9d0dcf26b"/><file name="InvalidSOAPRequestException.php" hash="07f4d5593c6119ab815a5abfafd45b4b"/><file name="InvalidSecurityException.php" hash="c5325d7ab1f09760b5cfb5dff1452cf5"/><file name="InvalidStorageClassException.php" hash="deeb571087b1013016717869ab219938"/><file name="InvalidTagErrorException.php" hash="28b72289665d68843022d1b8278afe4e"/><file name="InvalidTargetBucketForLoggingException.php" hash="04fb8e74ecc189e6b0436e1260dce9c5"/><file name="InvalidTokenException.php" hash="b21fb6f6445972b9c30d3bb566ace2de"/><file name="InvalidURIException.php" hash="cc39ea5c4ca166c4789366041d2c6647"/><file name="KeyTooLongException.php" hash="aeb54c82dfc9fa87084948e2e1010d96"/><file name="MalformedACLErrorException.php" hash="f6373149be4c19ccb7b614f3a3628ad7"/><file name="MalformedPOSTRequestException.php" hash="6aa99b0de24f2eb1a9de7df2715e38f3"/><file name="MalformedXMLException.php" hash="ef3fe78d3ed3db0db2ec67a04ad5a1a5"/><file name="MaxMessageLengthExceededException.php" hash="e398b2a0c10de3a9ed33612647dceb5b"/><file name="MaxPostPreDataLengthExceededErrorException.php" hash="c0d03c2fc6dd1d30cb53753ff3e76533"/><file name="MetadataTooLargeException.php" hash="49cef4705a18558a98a461da746f6d07"/><file name="MethodNotAllowedException.php" hash="1bca38cffcc6eb5eb5245f5a89007381"/><file name="MissingAttachmentException.php" hash="d89997a566746ebfafb220946f27a5a6"/><file name="MissingContentLengthException.php" hash="84bdb0a39275eb219deb1a2f75c391e5"/><file name="MissingRequestBodyErrorException.php" hash="402ba71db04643214cb40a1bd7d049ef"/><file name="MissingSecurityElementException.php" hash="d4fda63c036e22004452d73ed1e464d8"/><file name="MissingSecurityHeaderException.php" hash="aea750e7eebe1dfc9e487c789a6a9459"/><file name="NoLoggingStatusForKeyException.php" hash="3b8655854d58f4a783e82b2b3dc7c1e9"/><file name="NoSuchBucketException.php" hash="67678971e88adba7f2f48d63cc95adf3"/><file name="NoSuchBucketPolicyException.php" hash="5077fdc0b6cd80437ef07d3f35fd70fb"/><file name="NoSuchCORSConfigurationException.php" hash="78aa44073391f74bfd34303266c8959b"/><file name="NoSuchKeyException.php" hash="79da9b57a5ebe3cac8d7d2b0f43fdfab"/><file name="NoSuchLifecycleConfigurationException.php" hash="27e721bae72c4019ae6d2194a6572ba5"/><file name="NoSuchTagSetErrorException.php" hash="6b5056bd3f4a4c5113b16585e7328b90"/><file name="NoSuchUploadException.php" hash="de7d7276e8357e59053247069af4b17c"/><file name="NoSuchVersionException.php" hash="85b88fa151a076d133d6c9515c0f8b56"/><file name="NoSuchWebsiteConfigurationException.php" hash="18d8abb944dede950e933b4c8fb4c45d"/><file name="NotImplementedException.php" hash="bfded76dd7733080fc05e35fc9b5d570"/><file name="NotSignedUpException.php" hash="812bae6a59981af1cade72c37ca87886"/><file name="NotSuchBucketPolicyException.php" hash="714b2ba8c970dac2950314acccb4951e"/><file name="ObjectAlreadyInActiveTierErrorException.php" hash="f3c4ce492a49fe06caabecddd73658c3"/><file name="ObjectNotInActiveTierErrorException.php" hash="3ac099a476fa8cce2e0de5de51e81016"/><file name="OperationAbortedException.php" hash="a52b194d60900563f77d9deadbce14ed"/><dir name="Parser"><file name="S3ExceptionParser.php" hash="8b11e6c2e0aab8b276cf2cd90e36fc63"/></dir><file name="PermanentRedirectException.php" hash="61c2464e91a1b3313ccb9dde9d6ea207"/><file name="PreconditionFailedException.php" hash="8f04f2096229d8e4c99039e2f8685de5"/><file name="RedirectException.php" hash="bcc61525ec8286557cc882e620e0449b"/><file name="RequestIsNotMultiPartContentException.php" hash="9a233980787a08e6e8f946ecbaf44933"/><file name="RequestTimeTooSkewedException.php" hash="87f1822b747922a3dd576f4da63f1fc1"/><file name="RequestTimeoutException.php" hash="33862ef527aedb321a40c555d0d81250"/><file name="RequestTorrentOfBucketErrorException.php" hash="b7cf62f982b95dd160f44ea6553724d1"/><file name="S3Exception.php" hash="44d15cd57f1f8b5405f7776b636c9a4a"/><file name="ServiceUnavailableException.php" hash="054e5b096daaad03ee7c920660fbf32c"/><file name="SignatureDoesNotMatchException.php" hash="20791b3cbe22c91750cfae0c45e345d4"/><file name="SlowDownException.php" hash="2cab1602b76a19567c65bfcdbbd26b66"/><file name="TemporaryRedirectException.php" hash="d4e23dee2d180e598e4ab8562df97449"/><file name="TokenRefreshRequiredException.php" hash="f3d13abdc5305ab7de861a85b9f2eeae"/><file name="TooManyBucketsException.php" hash="37840f4760fa1c45336f203543b39c3f"/><file name="UnexpectedContentException.php" hash="5a7af7f0861aec70975e22383edf1605"/><file name="UnresolvableGrantByEmailAddressException.php" hash="ddacbd4d1ee7341fba322be7acda04b2"/><file name="UserKeyMustBeSpecifiedException.php" hash="b670411122d9f08bc7a3cb7ca3ba07e7"/></dir><dir name="Iterator"><file name="ListBucketsIterator.php" hash="f9c6dcc72963c40346bae45f25a39dd1"/><file name="ListMultipartUploadsIterator.php" hash="ad8bc7cfcb905bbcee5ac63f0d1a248a"/><file name="ListObjectVersionsIterator.php" hash="f05cf3b2a73eff79ed325dc18f91a8b9"/><file name="ListObjectsIterator.php" hash="72e641bd2db279e46e1da12720f9786e"/><file name="OpendirIterator.php" hash="1a8fc303bcfda2405023bc9ed07fc532"/></dir><dir name="Model"><file name="Acp.php" hash="c9583217f96ae9a208b1fae3db05d862"/><file name="AcpBuilder.php" hash="520344fe298bf4a1039f5244dac35def"/><file name="ClearBucket.php" hash="c92f83bf549b0ac27f93c039d2314f20"/><file name="DeleteObjectsBatch.php" hash="a4aecf1a402097c03b4c3e7e75436464"/><file name="DeleteObjectsTransfer.php" hash="2e68e3fa281c67da8372aed974b9856e"/><file name="Grant.php" hash="56d27ab990a43bc09457c27ec6a7c322"/><file name="Grantee.php" hash="1571724e26f99bde52eccc5f532a0244"/><dir name="MultipartUpload"><file name="AbstractTransfer.php" hash="f7bde99befdba989ecf74bad5332db8d"/><file name="ParallelTransfer.php" hash="685316207c2ca094dcc50413a978c4c8"/><file name="SerialTransfer.php" hash="8f60dc1193eb7fc0c7ed88642fdece94"/><file name="TransferState.php" hash="45484c7268141212c6a346ee5ff05962"/><file name="UploadBuilder.php" hash="33c711012cc52731819989d44b65ed1e"/><file name="UploadId.php" hash="0925b992d88491867fe204bb216c9961"/><file name="UploadPart.php" hash="e52983d0299b0dddcf62ac3fe2a7eff0"/></dir><file name="PostObject.php" hash="c4442aac3d7c357e89bef36cfe2adbe1"/></dir><dir name="Resources"><file name="s3-2006-03-01.php" hash="8b981d2d178e130c05618a719eb103b7"/></dir><file name="ResumableDownload.php" hash="d54fce84af9a35d046e3346355499327"/><file name="S3Client.php" hash="673f6e903638f8083627b5a965473891"/><file name="S3Signature.php" hash="30b110028a85c0ce1bbd81f717bd3e6b"/><file name="S3SignatureInterface.php" hash="24123584723d3246ad890edbe23032c1"/><file name="SocketTimeoutChecker.php" hash="3796f27bca6c52702c587f3bd6d686fb"/><file name="StreamWrapper.php" hash="80f788f99058dfe3a89c3f568c6b84f9"/><dir name="Sync"><file name="AbstractSync.php" hash="cf937c67b37e8324b092f0e0d4dcf2b2"/><file name="AbstractSyncBuilder.php" hash="e063c42e33760471334a99ed04125c6a"/><file name="ChangedFilesIterator.php" hash="29f995cf4b1d149410faf16a938d8694"/><file name="DownloadSync.php" hash="6c3beef28bbcea8ba1e8876e315d86fb"/><file name="DownloadSyncBuilder.php" hash="ccc36e18fc3313889417d974cf37f322"/><file name="FilenameConverterInterface.php" hash="e1367db996b4bf594e6d05871be1147d"/><file name="KeyConverter.php" hash="32dda070441adbd91bbee817e0441104"/><file name="UploadSync.php" hash="f1850338b38d355b005739b7fbf1cfba"/><file name="UploadSyncBuilder.php" hash="5f614fb75a64262ed27f350d625fc0f4"/></dir></dir><dir name="Ses"><dir name="Enum"><file name="IdentityType.php" hash="7b1434f0dd2bebf330bb8e67b5776c16"/><file name="MailboxSimulator.php" hash="2fcebe481c157a59ab4bf48d7f3d5b1a"/><file name="NotificationType.php" hash="de1d29bace5b3760dfb932f12b6debf3"/><file name="VerificationStatus.php" hash="1ec0dc20df5850342d4fdbbf22584d18"/></dir><dir name="Exception"><file name="MessageRejectedException.php" hash="8fe4d09febaafe19905490ca8289cb31"/><file name="SesException.php" hash="80c490691ee79c616ac3199e02609773"/></dir><dir name="Resources"><file name="ses-2010-12-01.php" hash="7bfc2e274202448ef48f3db6912f0bad"/></dir><file name="SesClient.php" hash="56fc026f1ddfec565dc60f011d60daf4"/></dir><dir name="SimpleDb"><dir name="Exception"><file name="AttributeDoesNotExistException.php" hash="89cd247daec2557d7aa3e4a516375124"/><file name="DuplicateItemNameException.php" hash="e0853eec8bfeca7af07647e7661745b3"/><file name="InvalidNextTokenException.php" hash="9a5eb3b4f58096cbff6ca50452aaa5de"/><file name="InvalidNumberPredicatesException.php" hash="82154f8919c46f04fe458e5e1c4930ac"/><file name="InvalidNumberValueTestsException.php" hash="a518f2835e281940b42636bc74236dc0"/><file name="InvalidParameterValueException.php" hash="1dae86e1f9d1c1ab52b92a2f9b54ebdc"/><file name="InvalidQueryExpressionException.php" hash="2b447e1872af6957f980b3356e4cc1dc"/><file name="MissingParameterException.php" hash="e137eaf206ad6c11fb3079ca37045d9a"/><file name="NoSuchDomainException.php" hash="174107d8484ef69fd125a222b892378c"/><file name="NumberDomainAttributesExceededException.php" hash="30c9362c7b6f7c1e180d66b752cabbac"/><file name="NumberDomainBytesExceededException.php" hash="39cdcaa259801c17c3285cc6fe63abd1"/><file name="NumberDomainsExceededException.php" hash="55407c961af9be88f1f1b0d727022b60"/><file name="NumberItemAttributesExceededException.php" hash="534337c97805fb83fc44cc170062c192"/><file name="NumberSubmittedAttributesExceededException.php" hash="966af01414e272c08da36ee7f5cf6a66"/><file name="NumberSubmittedItemsExceededException.php" hash="c4b4a39f2dcb54b6d22eaa78ec27d3e2"/><file name="RequestTimeoutException.php" hash="1db604dfb1a3d872f1a938560f4fde09"/><file name="SimpleDbException.php" hash="00ae6c090e9b29dbe94e2bf89afb4714"/><file name="TooManyRequestedAttributesException.php" hash="bc7f7097143def4f5af396975f6e9d58"/></dir><dir name="Resources"><file name="simpledb-2009-04-15.php" hash="86ae3a2a1055a7c491b4d9bc3b1bf53b"/></dir><file name="SimpleDbClient.php" hash="d474efdaa1e1d42e59d2bfbfa3a1f702"/></dir><dir name="Sns"><dir name="Exception"><file name="AuthorizationErrorException.php" hash="c9c32bebd0667506abcbcd9f4429a777"/><file name="EndpointDisabledException.php" hash="19efdabc8d90e59e134c4e6fceba40b4"/><file name="InternalErrorException.php" hash="d9fc5142ac993b516e74f341b26a0028"/><file name="InvalidParameterException.php" hash="4607881f657f45574e7cc7c293684d81"/><file name="NotFoundException.php" hash="78af1af1d83ca29500aac9556936f550"/><file name="PlatformApplicationDisabledException.php" hash="30ccee756ebe28b9d7ee09be2dd73b30"/><file name="SnsException.php" hash="a164f228095640cc761e8f062db18c17"/><file name="SubscriptionLimitExceededException.php" hash="3a3a6d27050da606c25ec33596e656cf"/><file name="TopicLimitExceededException.php" hash="1af31f173c47f90c6ff0bfea1f8622ab"/></dir><dir name="MessageValidator"><dir name="Exception"><file name="CannotGetPublicKeyFromCertificateException.php" hash="ae5ac1b193faefd454d41de4319b7b32"/><file name="CertificateFromUnrecognizedSourceException.php" hash="041127c1828cb7953e04f30a3b406faa"/><file name="InvalidMessageSignatureException.php" hash="ef92f5716162e9e93e8db80cbc920656"/><file name="SnsMessageValidatorException.php" hash="be9ed15b7e83fb785569b12651e6c2f6"/></dir><file name="Message.php" hash="26b46ec304ab9cd5dd068d43f8b2924f"/><file name="MessageValidator.php" hash="02c5130654991b90a61a71a444b486e9"/></dir><dir name="Resources"><file name="sns-2010-03-31.php" hash="0bf18b6a9c652b35e566ee4ba76a8608"/></dir><file name="SnsClient.php" hash="e6356464f3c8ed946d91e7bb2340f9cc"/></dir><dir name="Sqs"><dir name="Enum"><file name="MessageAttribute.php" hash="972a07c9b6af94cdb381481ec942843e"/><file name="QueueAttribute.php" hash="3ffb7f45166e2dbb65dfd6e62f5bd882"/></dir><dir name="Exception"><file name="SqsException.php" hash="2d9b4c27e76ddd89890a54327a8e52dc"/></dir><file name="Md5ValidatorListener.php" hash="314b5f6805e9f74ff79307f58e5625f8"/><file name="QueueUrlListener.php" hash="b8a37308c474a2089dda2598f8ee8a39"/><dir name="Resources"><file name="sqs-2012-11-05.php" hash="02782621c66756f8b4cfac5345bb8d55"/></dir><file name="SqsClient.php" hash="f036882a777d9b0bc6f872d6f3ef6b29"/></dir><dir name="StorageGateway"><dir name="Enum"><file name="BandwidthType.php" hash="74737be50725532cb9c59adb4e0964c6"/><file name="DiskAllocationType.php" hash="9172f0a549961cfdda4946e97ae7fd4b"/><file name="ErrorCode.php" hash="112ce969ef8b5ca60e5e8d5402c3aba4"/><file name="GatewayState.php" hash="cf95681599926a3343d5713af3176407"/><file name="GatewayTimezone.php" hash="d5443798ff34349b53c2e2ea8babd3be"/><file name="GatewayType.php" hash="3df5febc6781a936c030daf16955afc7"/><file name="VolumeStatus.php" hash="8c83be75e61c5357ec43c372e74b691a"/><file name="VolumeType.php" hash="e463cdf364baa9d29b4edb2ffa78e523"/></dir><dir name="Exception"><file name="InternalServerErrorException.php" hash="3b24f8be8621ac6edf9b158bc446e6a6"/><file name="InvalidGatewayRequestException.php" hash="b50d2c02cb9d83c06d0b31766125115e"/><file name="StorageGatewayException.php" hash="55e455a7de135b016edb2e49aac1201e"/></dir><dir name="Resources"><file name="storagegateway-2013-06-30.php" hash="d98226997b583369aa6bb9b0ad04e85b"/></dir><file name="StorageGatewayClient.php" hash="66437802ed9debdacc3a445e73d6d400"/></dir><dir name="Sts"><dir name="Exception"><file name="ExpiredTokenException.php" hash="dbbe480b720f40f1ac1153e8e47791c9"/><file name="IDPCommunicationErrorException.php" hash="cad826cd21ea1b633cfcf2a020f8f9e0"/><file name="IDPRejectedClaimException.php" hash="d07ca295e8793954dbcc65e302a1c36f"/><file name="IncompleteSignatureException.php" hash="803bac0bdd431bd158f41afc80c5a3f4"/><file name="InternalFailureException.php" hash="fce4ddd89a91f91c36faa6220ad40f15"/><file name="InvalidActionException.php" hash="fb480af522618852b977603fea415be0"/><file name="InvalidAuthorizationMessageException.php" hash="7cd9f2747d82ce405a4fd1d4c0004438"/><file name="InvalidClientTokenIdException.php" hash="3f3db6cbae9c84bff46adf1de0dbd124"/><file name="InvalidIdentityTokenException.php" hash="6fc19a03fcae589b1caa90249f7e1666"/><file name="InvalidParameterCombinationException.php" hash="1d2a1163551980de91c132e6377f59ca"/><file name="InvalidParameterValueException.php" hash="f7bff008b2f1d8f16d958d0d00cb2ff6"/><file name="InvalidQueryParameterException.php" hash="7e0ba0cee050bac2c7060f21019a8a73"/><file name="MalformedPolicyDocumentException.php" hash="7cf8992e0d384d4829967f8e53c6e4be"/><file name="MalformedQueryStringException.php" hash="43bbb0c8d87b0999632b1ae16d874e2e"/><file name="MissingActionException.php" hash="e40d84bc4bf89e0706156fb4ceb4992e"/><file name="MissingAuthenticationTokenException.php" hash="7a24a9e4185c9900967debdea54dc49b"/><file name="MissingParameterException.php" hash="9de74bfa936d873b8b3c63695c3c7c4e"/><file name="OptInRequiredException.php" hash="b7f0e7d5e1bb49a0fb73f7a7f839eb0f"/><file name="PackedPolicyTooLargeException.php" hash="e77e686eff1950ef2b9f7e7404a4cfba"/><file name="RequestExpiredException.php" hash="944c6a51faa1b5577f237f398cb95c04"/><file name="ServiceUnavailableException.php" hash="5ed7c8a34573ae519a32d61625d0448f"/><file name="StsException.php" hash="b7dbe8f33e451b0136c3f7676591e314"/><file name="ThrottlingException.php" hash="09497f7ecbfbecd52c4c587386c949ea"/></dir><dir name="Resources"><file name="sts-2011-06-15.php" hash="0cf6ebc43c59b4f50d9eb17e1cf69f32"/></dir><file name="StsClient.php" hash="917e738bbf7f3b245081cee095648261"/></dir><dir name="Support"><dir name="Exception"><file name="CaseCreationLimitExceededException.php" hash="f541cf0a6e8ff9985d0e70a289d0eb94"/><file name="CaseIdNotFoundException.php" hash="9c363316112f6b7c9fc1c59d76f1de25"/><file name="InternalServerErrorException.php" hash="76107a35c80b1206c3980044528e22d0"/><file name="SupportException.php" hash="8794c47dfbe7b39a9a4c6d2ed524dc0f"/></dir><dir name="Resources"><file name="support-2013-04-15.php" hash="332b684e2cf1fd81a7d618f70026c498"/></dir><file name="SupportClient.php" hash="4cb48af0344896e022f587341d15a972"/></dir><dir name="Swf"><dir name="Enum"><file name="ActivityTaskTimeoutType.php" hash="ae5ef267a855e9ce7f05f813d5c98323"/><file name="ChildPolicy.php" hash="cfc441001e155672d0c2a9b8b6b35653"/><file name="CloseStatus.php" hash="5bb4c09c3f5d67c69796d981ccb88c19"/><file name="DecisionTaskTimeoutType.php" hash="ce0b0593dc9eabce8f1720150d8638ae"/><file name="DecisionType.php" hash="c339e1c2d6e8c2ca77bf7ff5ed71224e"/><file name="EventType.php" hash="93cb1244b83337f3ce72d3cac51f9601"/><file name="ExecutionStatus.php" hash="fe48756d2888aa93a372fc93dcbc7e35"/><file name="RegistrationStatus.php" hash="932c801a3cb1caef4d1e52673d9cf3d1"/><file name="WorkflowExecutionTimeoutType.php" hash="aaee716b3bb93d45f07e3d49f3332a5a"/></dir><dir name="Exception"><file name="DefaultUndefinedException.php" hash="f4c46800e3c0c5422df40efe10094a97"/><file name="DomainAlreadyExistsException.php" hash="442c06492c3e0ea4ceaf16212348e4cd"/><file name="DomainDeprecatedException.php" hash="ed9e65abac25df8bf792ce44925adc6b"/><file name="LimitExceededException.php" hash="72c4292360bc2a24e0877d3c32c0ed02"/><file name="OperationNotPermittedException.php" hash="862ac52541784804ad342acd738d2445"/><file name="SwfException.php" hash="e4c24f76c14661c34393f261e05e0fe5"/><file name="TypeAlreadyExistsException.php" hash="c7ecf2b68e784f02f3b81c85dea3fbb0"/><file name="TypeDeprecatedException.php" hash="50cdd637dcd8b74501084d8d3db31412"/><file name="UnknownResourceException.php" hash="fc9b976aa824ec9928a4b6c0dbdfc393"/><file name="WorkflowExecutionAlreadyStartedException.php" hash="3ac7b424e3b3e94f6931b655f90eea8c"/></dir><dir name="Resources"><file name="swf-2012-01-25.php" hash="457c65913542df8c939d5f71b33ef432"/></dir><file name="SwfClient.php" hash="763de5a723e0ccedd75b77a9675725d0"/></dir></dir><dir name="Doctrine"><dir name="Common"><dir name="Cache"><file name="ApcCache.php" hash="b8add60c279489f74e1f52793e25f773"/><file name="ArrayCache.php" hash="aaad66e13d564ef90a07573233a84389"/><file name="Cache.php" hash="8d840db1d6778518d4259ce96adb295e"/><file name="CacheProvider.php" hash="c2c90f9e8579dbbec885311cb74a122c"/><file name="CouchbaseCache.php" hash="293e1d41557bf6b9ab5aef606c5e2b6a"/><file name="FileCache.php" hash="8bda505eeec5f017892712f32e2f1789"/><file name="FilesystemCache.php" hash="5223cf45458913a38db04e4bcd203e26"/><file name="MemcacheCache.php" hash="44a3c997a6d721d22d9b10e1d0770b4c"/><file name="MemcachedCache.php" hash="1ac7592a7455aead24af57c8fc6c820a"/><file name="MongoDBCache.php" hash="01a73549b122634ecd5accdd0158a8c0"/><file name="PhpFileCache.php" hash="83be303d8fc1c46f0e7a59f0a66d2c8a"/><file name="RedisCache.php" hash="ce39d7ed28378ab3b71fade844415423"/><file name="RiakCache.php" hash="ca83e1086997bee24b0ac1da228cea7d"/><file name="Version.php" hash="981844148bec2c3fae9ee0c130b1e026"/><file name="WinCacheCache.php" hash="98c21113bee715fc23c1010927bc0804"/><file name="XcacheCache.php" hash="41b49b6e981a2c1c75bedacea9bf6ec1"/><file name="ZendDataCache.php" hash="ea438b0409996d058d562326a737dade"/></dir></dir></dir><dir name="Engage"><dir name="Block"><dir name="Adminhtml"><dir name="Engage"><dir name="Edit"><file name="Form.php" hash="8be003c0b60c8d5b85611ac14e9ea6fd"/><dir name="Tab"><file name="Form.php" hash="8a7d81b8dc569a24ab26e2f2adab6477"/></dir><file name="Tabs.php" hash="15beb8a0ec0bb422963fb7ed0f0cd35a"/></dir><file name="Edit.php" hash="53a459ef71bc48569d0812bf2e21acf0"/><file name="Grid.php" hash="e58fe0b54ce1f2196971d2825aa6e2b9"/></dir><file name="Engage.php" hash="10bb9b17de7a4721893e9f9129701ef1"/></dir><file name="Button.php" hash="8b1d2ecbc79cbd2917a29bc4d0152a93"/><file name="Buttonexport.php" hash="0ea9196c02b1952c6f0632542ac5d2a4"/><file name="Buttontestconnect.php" hash="e388161e55080ae63c17764b2b6f83d1"/><file name="Engage.php" hash="eece4f427dcb0b136a3435dbbac9a2a7"/><file name="Ga.php" hash="05d300c2e95dda7a01782b238e842fa1"/></dir><dir name="Helper"><file name="Data.php" hash="3a9af01a3c422b0f693577074dae3da6"/></dir><dir name="Model"><file name="Catalogvalues.php" hash="1eb4d0990dab378102a315e2f7dea195"/><file name="Crontime.php" hash="aa11fbc0518015f0ea9ad31879e2942c"/><file name="Customervalues.php" hash="dea955296bb81ede1a493b868dd1fa8e"/><file name="Engage.php" hash="e5e0c63deb2f9d5af46b6494bd8da04d"/><file name="Gacode.php" hash="e003a5e564b1448eeba88ffb5633f18b"/><dir name="Mysql4"><dir name="Engage"><file name="Collection.php" hash="e58859b2f5b4708eb941c9d06ade4598"/></dir><file name="Engage.php" hash="c492577c2fd9a6ae2f193d29474d2264"/></dir><file name="Observer.php" hash="7d1d4021a9506af16a5ff60543e27652"/><file name="Productvalues.php" hash="2e25e89dd6bc052c526364e40d83cebe"/><file name="Status.php" hash="31986502af9ee8f584770587eef6c9e3"/><file name="Time.php" hash="5a8cda2b446d1e31c4e88fd6833609fb"/><file name="Timeframe.php" hash="123113578538af59392a39e6471827b0"/><file name="Uploadinfo.php" hash="ff0fbcfc2a4143f3c9d8f6caa1ecfa08"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="EngageController.php" hash="a2b86319251803e9cc44bb19b7777fda"/></dir><file name="IndexController.php" hash="1b5639c7d012fc2b18473f396ebf5899"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d12bb84c74502244f2ab3ac82594856e"/><file name="config.xml" hash="46f910718c59a86efcb96df2b2b41ed8"/><file name="system.xml" hash="6d894107c020cab2c769250a651c7ba0"/></dir><dir name="sql"><dir name="engage_setup"><file name="mysql4-install-0.1.0.php" hash="e82cbb2edc97eef70fcd68f487e3b081"/></dir></dir></dir><dir name="Guzzle"><dir name="Batch"><file name="AbstractBatchDecorator.php" hash="b9f1ce19f113f4d5b5886b04219b26c6"/><file name="Batch.php" hash="b780b6cafbfefc90e32ca531e1406239"/><file name="BatchBuilder.php" hash="0658d8456d338b2b4f5e5bd12875af1c"/><file name="BatchClosureDivisor.php" hash="be8e54078d5dcc5e5089006b0399096e"/><file name="BatchClosureTransfer.php" hash="43125673b59879626fb833603e6a23d2"/><file name="BatchCommandTransfer.php" hash="7129a1584dd4ad7f92d56040124676c2"/><file name="BatchDivisorInterface.php" hash="9b1460f23f32fc4beee434f7ad1de674"/><file name="BatchInterface.php" hash="bdf900e6c7038e23ede1ee25cafa05bc"/><file name="BatchRequestTransfer.php" hash="9671e493d9d3a8271de4e2c3d8d33d5d"/><file name="BatchSizeDivisor.php" hash="282368575f4576cb5b8e323921fbce7d"/><file name="BatchTransferInterface.php" hash="c92e98244535738d7b8c8304076da4ff"/><dir name="Exception"><file name="BatchTransferException.php" hash="3f8eb4b34fe7eb242b647a00acc60f00"/></dir><file name="ExceptionBufferingBatch.php" hash="172ecdb412b2116f8cfc43632aed5971"/><file name="FlushingBatch.php" hash="0a176cd0d3c37fd6d3c3edd32973ee63"/><file name="HistoryBatch.php" hash="62cabc0fe63acc14fb8bf2e551b6f673"/><file name="NotifyingBatch.php" hash="b7d39171fc686a2124b93a85954542a5"/></dir><dir name="Cache"><file name="AbstractCacheAdapter.php" hash="d299bf5b6503b485390d54a6fe9894e8"/><file name="CacheAdapterFactory.php" hash="678b21a05c0c63c595d6b00ad3567ee7"/><file name="CacheAdapterInterface.php" hash="0c6a26170379b4c3f42240a1747f51d8"/><file name="ClosureCacheAdapter.php" hash="617c0958c5a41811443553755bd57e85"/><file name="DoctrineCacheAdapter.php" hash="7107ed2df05edf22b50a5d953a53e694"/><file name="NullCacheAdapter.php" hash="731789c642be2ecc518aef6f576b475f"/><file name="Zf1CacheAdapter.php" hash="8ff8cf2a495cf9569eb5f83a721464f8"/><file name="Zf2CacheAdapter.php" hash="5b26ea450db552ff04cb333743c0672c"/></dir><dir name="Common"><file name="AbstractHasDispatcher.php" hash="4e0c67da62cd3cbe82b167f1855bff8e"/><file name="Collection.php" hash="bdf612b12448bab74c6a90dbdb20095b"/><file name="Event.php" hash="d239258d838e0928c2b211ab9f0f0bad"/><dir name="Exception"><file name="BadMethodCallException.php" hash="98140817d5204df2df8c758eb52e3ca2"/><file name="ExceptionCollection.php" hash="0f813e3dedf582573791008f43cfa5fe"/><file name="GuzzleException.php" hash="a59974564cb5886db0906d38622d7b65"/><file name="InvalidArgumentException.php" hash="e176a3bfbc46ad0bcf8cc53a70ad2660"/><file name="RuntimeException.php" hash="505f3a2971d80715a8601f7bb8139023"/><file name="UnexpectedValueException.php" hash="2182332c538ad9279f1cb31ebf8cec90"/></dir><file name="FromConfigInterface.php" hash="a23e030b62590950884856109219c7f3"/><file name="HasDispatcherInterface.php" hash="efdba8306b7e0c6c04a23c4a3495e9bc"/><file name="ToArrayInterface.php" hash="5466584f27e38712cd08d8e6309b8e78"/><file name="Version.php" hash="3ea7bd41bae7240879c6969050128858"/></dir><dir name="Http"><file name="AbstractEntityBodyDecorator.php" hash="36d4a68be72393686cdc9e9173adbfd7"/><file name="CachingEntityBody.php" hash="55c80a146676519d5f78259b8763c4fc"/><file name="Client.php" hash="d953cec8d27e39b81cdc1644c49411e1"/><file name="ClientInterface.php" hash="406c37f60933c0eb3b359cf8739fca53"/><dir name="Curl"><file name="CurlHandle.php" hash="237a99b299ba7c398384882505435ab3"/><file name="CurlMulti.php" hash="dfbf9ccce89834f6722218cd6f4e33f2"/><file name="CurlMultiInterface.php" hash="ba75ac02d77e97f76938e59e34596b43"/><file name="CurlMultiProxy.php" hash="08b7fa7d6e0f07baa53a30bde045fc7e"/><file name="CurlVersion.php" hash="7857dd20077df5870f74975d2d85e89f"/><file name="RequestMediator.php" hash="0d01e2e18ff502516c5724a995140cd2"/></dir><file name="EntityBody.php" hash="5e7d97a7d64e019859b9737d8d37a2d7"/><file name="EntityBodyInterface.php" hash="c6942f8b5cef9fa3fb6d5b7e7f718a29"/><dir name="Exception"><file name="BadResponseException.php" hash="2e358b13ef147dd6b226366a28860c7e"/><file name="ClientErrorResponseException.php" hash="13cab04cce406a1b0afcfea86ef7031c"/><file name="CouldNotRewindStreamException.php" hash="08075c1d0711249e1f0674d86b57d2ce"/><file name="CurlException.php" hash="d42f19fc1b034f410149e6ce97d5c750"/><file name="HttpException.php" hash="f78259ea006cf165d4848a312c827d0d"/><file name="MultiTransferException.php" hash="72967b8cba5f64f9e05dd8a3a609546f"/><file name="RequestException.php" hash="e5f816167d92abea64ee09a5be87fe94"/><file name="ServerErrorResponseException.php" hash="fe2621a64b89853c555a97ceffca9b08"/><file name="TooManyRedirectsException.php" hash="9c530bbf82d46c8014ede984fbc308e5"/></dir><file name="IoEmittingEntityBody.php" hash="af444084e0f6f7b83c2813db7848196d"/><dir name="Message"><file name="AbstractMessage.php" hash="b6b1aa0e6f9e5392b4164f17a504198a"/><file name="EntityEnclosingRequest.php" hash="366c71ac8825cf62c8386b52d98cf5df"/><file name="EntityEnclosingRequestInterface.php" hash="74189c9d4edcd2f6dbc04a53c538a8ee"/><dir name="Header"><file name="CacheControl.php" hash="f5025f2ec81740068b61c37014b20c94"/><file name="HeaderCollection.php" hash="f8280b853d953d1df103d26dc9f99c60"/><file name="HeaderFactory.php" hash="5a039da3a9ae34fbdba128ca675ba6e4"/><file name="HeaderFactoryInterface.php" hash="e82845c9bf276a9a2b012e54927dd6c9"/><file name="HeaderInterface.php" hash="57719abc7b9e3a8c7c65b826a69a4df9"/><file name="Link.php" hash="b65c1fa22f1f80185d6443488c6f2db2"/></dir><file name="Header.php" hash="a1e0ae834c7a2ab486ed05b9c542db67"/><file name="MessageInterface.php" hash="b2806bc032b6960b6251b82dd23f61fd"/><file name="PostFile.php" hash="7dfb1139d6f59e8cd91203d8f66d5ad9"/><file name="PostFileInterface.php" hash="20adf5af26e9cabe000e9222fbaa64cf"/><file name="Request.php" hash="49eeb3d0438ae595faba011d79755220"/><file name="RequestFactory.php" hash="81875dcdbd5f5c65664c7783d9964c15"/><file name="RequestFactoryInterface.php" hash="076e8c936861a6aaf2e2a2772ac6158b"/><file name="RequestInterface.php" hash="e643c7a168461ff20fad2e83b8b94960"/><file name="Response.php" hash="b8001c30bde276b492860d9c706adb4b"/></dir><file name="Mimetypes.php" hash="296f3caa16598a0262fcc05cde66cbe4"/><dir name="QueryAggregator"><file name="CommaAggregator.php" hash="67ceee8d6a476d2a66594512aaa85c54"/><file name="DuplicateAggregator.php" hash="065d2f19bf0670cbe63d7d7164093b9b"/><file name="PhpAggregator.php" hash="819504c086b326dbe1ea261c1d94344b"/><file name="QueryAggregatorInterface.php" hash="0bad1c6e1af16c2d634e58e5cb272a37"/></dir><file name="QueryString.php" hash="651513f362f6caa748e61e848b8189a6"/><file name="ReadLimitEntityBody.php" hash="2060e14d573e4a4d5ec942bd94302c69"/><file name="RedirectPlugin.php" hash="6c0cae4ec5e8491acaf8cd225ee50c13"/><dir name="Resources"><file name="cacert.pem" hash="349ba2d6964db9ca558c9e1daf38e428"/><file name="cacert.pem.md5" hash="6c0a511493af137ac6d8d69021a8848a"/></dir><file name="StaticClient.php" hash="84309c875fef96b4e773373d49e6c79a"/><file name="Url.php" hash="fcaf1700c1cf21660974367768ec2535"/></dir><dir name="Inflection"><file name="Inflector.php" hash="af099fa9a6f19542cd50dc4b9e53c630"/><file name="InflectorInterface.php" hash="a575fde89bf5331c554754e83eb82dd0"/><file name="MemoizingInflector.php" hash="990be5be097a292ed84e3ce5515754ec"/><file name="PreComputedInflector.php" hash="9f2b03877e501cfefe8f1ef2f616c133"/></dir><dir name="Iterator"><file name="AppendIterator.php" hash="d17ed123efb05b686f44c2eed7d3c4fe"/><file name="ChunkedIterator.php" hash="8cdd7e82a00b9a01136a8f056db18f64"/><file name="FilterIterator.php" hash="ed7e0d5590d718f246627b7f6949cba6"/><file name="MapIterator.php" hash="7d28a4b22f442e13b6874f55746b28e0"/><file name="MethodProxyIterator.php" hash="4518ead4f857bd9721b1226068f7eb32"/></dir><dir name="Log"><file name="AbstractLogAdapter.php" hash="8125cc1372285a9132d96a76ff87dbbf"/><file name="ArrayLogAdapter.php" hash="7cd65cd88fcdb68f6a682fdf34b4a8ae"/><file name="ClosureLogAdapter.php" hash="d5798485461e5f0057f2d41e8e37cf88"/><file name="LogAdapterInterface.php" hash="67ea49d97a88cf2e46f7563abc2504a7"/><file name="MessageFormatter.php" hash="c9544d2a631334bfd77f452d270ea761"/><file name="MonologLogAdapter.php" hash="6e309ba00aa769eec28500b26f4c018f"/><file name="PsrLogAdapter.php" hash="55b4beb10ccf08e3a6041a2b404431ff"/><file name="Zf1LogAdapter.php" hash="baf4ad91fbc41481bc565f6b0079c4b4"/><file name="Zf2LogAdapter.php" hash="150ac5b6d1597041896ba262f8df8930"/></dir><dir name="Parser"><dir name="Cookie"><file name="CookieParser.php" hash="33f6a9285dd2ec90dc87fb4fc998e59d"/><file name="CookieParserInterface.php" hash="98ef9046ca0ce771cd9a7cf823b76c66"/></dir><dir name="Message"><file name="AbstractMessageParser.php" hash="d2dab239632534f4966b284135abe69c"/><file name="MessageParser.php" hash="c5b9f75ddeb4c0231a595a3a7fb442c7"/><file name="MessageParserInterface.php" hash="1d3f9753d1186f001acc71f2b383e139"/><file name="PeclHttpMessageParser.php" hash="dbe4987f6c937c04a93161531fc38938"/></dir><file name="ParserRegistry.php" hash="a538b157111059ac6cdee20699400aee"/><dir name="UriTemplate"><file name="PeclUriTemplate.php" hash="8bc54f20bbdf7159edf75973efbd6999"/><file name="UriTemplate.php" hash="b8c59a215eb0bfabdbb42b1fb9e74542"/><file name="UriTemplateInterface.php" hash="1920e2818088ba2acebdf36a44fb58bf"/></dir><dir name="Url"><file name="UrlParser.php" hash="65660d68ad322bba1a1131c2c2d48c28"/><file name="UrlParserInterface.php" hash="b4d8c4cb8ca13a5ac8f3dbe3e4f7f42d"/></dir></dir><dir name="Plugin"><dir name="Async"><file name="AsyncPlugin.php" hash="12ec1382a5c2c4d2c76bca740610fcf9"/></dir><dir name="Backoff"><file name="AbstractBackoffStrategy.php" hash="07ee263d5fe87295e8d5ecf532b4e6c5"/><file name="AbstractErrorCodeBackoffStrategy.php" hash="5308b4c3bfa331b1feec2e886bf1e38d"/><file name="BackoffLogger.php" hash="2e9be2da8552ebc96075444c48b950a1"/><file name="BackoffPlugin.php" hash="1682322fb85d5d260de15f087615e400"/><file name="BackoffStrategyInterface.php" hash="d335f9d4bd310ef8389e2ff27c6f8f2f"/><file name="CallbackBackoffStrategy.php" hash="0a2fe568fe891ef304aeff3ef105e6d6"/><file name="ConstantBackoffStrategy.php" hash="38485d972e1fcc876e22d092dfde7f39"/><file name="CurlBackoffStrategy.php" hash="7a00f8bdddbd441eed9268c4bb250399"/><file name="ExponentialBackoffStrategy.php" hash="9c199d621974ad2c70c437629d54fdb4"/><file name="HttpBackoffStrategy.php" hash="4443aff69969039d756e3580b1353067"/><file name="LinearBackoffStrategy.php" hash="f91a338afaa2d8c55d5e00ce739e1f6d"/><file name="ReasonPhraseBackoffStrategy.php" hash="0245fa4a73cd4071b14e0595423e0430"/><file name="TruncatedBackoffStrategy.php" hash="86af5b5166fff87b89c24214cb399841"/></dir><dir name="Cache"><file name="CacheKeyProviderInterface.php" hash="b3615e71ca2d35d1455a4399cdc95241"/><file name="CachePlugin.php" hash="3b10308c4b3d8732f26740b2cd8dc0ad"/><file name="CacheStorageInterface.php" hash="d65ee0463cb9a70b29e4d2bfd59c146c"/><file name="CallbackCanCacheStrategy.php" hash="262f7b68f93486affbcc78e8eb850b32"/><file name="CanCacheStrategyInterface.php" hash="739959b1f128d105e3587788d6cb4b37"/><file name="DefaultCacheKeyProvider.php" hash="1e89b5a4015f65e399a9cdae2bc2f205"/><file name="DefaultCacheStorage.php" hash="c441c05e04aaea4a990e9c301f9e41fb"/><file name="DefaultCanCacheStrategy.php" hash="72dc9cba472369e097053dc3b62fa83c"/><file name="DefaultRevalidation.php" hash="6365295c02e5c495273d555cf19d0251"/><file name="DenyRevalidation.php" hash="0fd0df77357918d89dd1ef77a25d6267"/><file name="RevalidationInterface.php" hash="29ffe4f945e9e554514675e9b7e8dec0"/><file name="SkipRevalidation.php" hash="b311c417b3f64d396190e2279bc9ccf0"/></dir><dir name="Cookie"><file name="Cookie.php" hash="547a2a85d45e3d7537d73e5c92d52ac8"/><dir name="CookieJar"><file name="ArrayCookieJar.php" hash="b9fc0b456696c9dc7e34412b8e148d18"/><file name="CookieJarInterface.php" hash="27581b77c7c53c684a4c98041dda8f14"/><file name="FileCookieJar.php" hash="c02f91c6d1d63e21b9bf1da54c47dee0"/></dir><file name="CookiePlugin.php" hash="5b742edeb19bc6b3eb7590da7538ba7b"/><dir name="Exception"><file name="InvalidCookieException.php" hash="d4ecb86a7aa26d8016234992720a79d5"/></dir></dir><dir name="CurlAuth"><file name="CurlAuthPlugin.php" hash="358c6af63ea1143f7ec0d05b2dc87b9f"/></dir><dir name="ErrorResponse"><file name="ErrorResponseExceptionInterface.php" hash="e5139e14a9ce13f3263366a33d672d0a"/><file name="ErrorResponsePlugin.php" hash="87d87b72a3570ba03af24040da331ebb"/><dir name="Exception"><file name="ErrorResponseException.php" hash="f41fd239940b8a9743175aa7fcb667b9"/></dir></dir><dir name="History"><file name="HistoryPlugin.php" hash="a96548ca730dc3c30f4fd55269ab9366"/></dir><dir name="Log"><file name="LogPlugin.php" hash="bedc5bb7bf15bc61d0f0209514c6d9c2"/></dir><dir name="Md5"><file name="CommandContentMd5Plugin.php" hash="fceaf6b488b364494a019a3edeea5ca7"/><file name="Md5ValidatorPlugin.php" hash="c0177985a655c2cbeeebb603aa871129"/></dir><dir name="Mock"><file name="MockPlugin.php" hash="11bb836c7678634574402a32544a3dcf"/></dir><dir name="Oauth"><file name="OauthPlugin.php" hash="d05bf6e3fc46721433c6e3bcf862dd12"/></dir></dir><dir name="Service"><file name="AbstractConfigLoader.php" hash="fadda279693196ee2b060c08c690e85e"/><dir name="Builder"><file name="ServiceBuilder.php" hash="f21d131c279c905c2fbabc0976eef4bd"/><file name="ServiceBuilderInterface.php" hash="bc6520550afd05e5f27ee497ddc9b98a"/><file name="ServiceBuilderLoader.php" hash="53a96413e4c1a2b37510ff004e6b6761"/></dir><file name="CachingConfigLoader.php" hash="2c839f9e977f695311d62795940c640c"/><file name="Client.php" hash="4875a07f231f1796977f030dcedd71e6"/><file name="ClientInterface.php" hash="69101c62bb0ff45a844b6864fc4cf45c"/><dir name="Command"><file name="AbstractCommand.php" hash="ef74b74d4fd9454e742978eea702ffd7"/><file name="ClosureCommand.php" hash="3876307ef98207db9cdfada1fd8f5224"/><file name="CommandInterface.php" hash="8b4f4127ba39a0272b3bf9e5a7976178"/><file name="CreateResponseClassEvent.php" hash="e433e97f9b6e2ef5f36e50170b683db2"/><file name="DefaultRequestSerializer.php" hash="1d9eb4d74050e29aaf556089bc5ccc17"/><file name="DefaultResponseParser.php" hash="5e7b6a44f65acf7419c6b8fdd2dbe1d8"/><dir name="Factory"><file name="AliasFactory.php" hash="8aa51c0d9fa6f5935551476a44355f3b"/><file name="CompositeFactory.php" hash="dd2d5cbc41ef6251021ff72a19774444"/><file name="ConcreteClassFactory.php" hash="e7016e0a7a21bde0fd77843e04063c54"/><file name="FactoryInterface.php" hash="8fcc60e2f072c8db3f827d5cbd12bb0f"/><file name="MapFactory.php" hash="4445d257270bfa8582e3e3c81c9826f3"/><file name="ServiceDescriptionFactory.php" hash="9968506d9ec070b60f01194333e65688"/></dir><dir name="LocationVisitor"><dir name="Request"><file name="AbstractRequestVisitor.php" hash="45216644e104e45d7292d14ba0bbd49a"/><file name="BodyVisitor.php" hash="f1cf1712a0f418f7886d83e21c595179"/><file name="HeaderVisitor.php" hash="226cd1bca529a8264c7b36de67c1e047"/><file name="JsonVisitor.php" hash="19ea9ecc74adb93e653de7bbd21d0238"/><file name="PostFieldVisitor.php" hash="09063aa2cdd5c2674a1dc0dfc48fa9dd"/><file name="PostFileVisitor.php" hash="971b1625f46b1e37dbbbadeb2bffa4e2"/><file name="QueryVisitor.php" hash="6a1d4a491cb910600dc74cf2f3fc7796"/><file name="RequestVisitorInterface.php" hash="5d442ef6170bfa2c9758a0e665f580fd"/><file name="ResponseBodyVisitor.php" hash="fa1a16f74a8940b84d992fad65a65f4c"/><file name="XmlVisitor.php" hash="f3ff451f62607873579e4c0faafa97f6"/></dir><dir name="Response"><file name="AbstractResponseVisitor.php" hash="4bc3f2edf4afc88584b17ba247dfad13"/><file name="BodyVisitor.php" hash="dcd7319c0c8ecda98d2333f895a601bc"/><file name="HeaderVisitor.php" hash="43324f3f88ba9d90d44c4a2e15220204"/><file name="JsonVisitor.php" hash="c6ab595cd3a437e9b4694910d18755fd"/><file name="ReasonPhraseVisitor.php" hash="0a41ebce6a4a6d3803575e49c09cbc4d"/><file name="ResponseVisitorInterface.php" hash="18232989140f5e739150f08224fed604"/><file name="StatusCodeVisitor.php" hash="f53e7b4f7fe03cdc85eb1ef162ef31d3"/><file name="XmlVisitor.php" hash="d8b2719d2f9ed4fe6205c2d3cfbaa788"/></dir><file name="VisitorFlyweight.php" hash="3732e718ba63b6f12cf959e413abf4cf"/></dir><file name="OperationCommand.php" hash="e8534f362daa12372303e568fbfee50d"/><file name="OperationResponseParser.php" hash="bbeeaf651605a494a97315e221f5eb1a"/><file name="RequestSerializerInterface.php" hash="2708244364227d07a2d7f0a17c6ba340"/><file name="ResponseClassInterface.php" hash="708c7975642393f9ce81c153e52435e5"/><file name="ResponseParserInterface.php" hash="a91578d74ece771f799b5b82cfcf0e38"/></dir><file name="ConfigLoaderInterface.php" hash="2be49f0609718d4c14b12bae53986d19"/><dir name="Description"><file name="Operation.php" hash="9f0e2431f42f6ea801274dd6e5bfb0ab"/><file name="OperationInterface.php" hash="5963a5dfd9ac12fa445bae0c6e448b4b"/><file name="Parameter.php" hash="c6c439a00f5875e80c60db5d8a53c6d9"/><file name="SchemaFormatter.php" hash="ce530ca216be35c2bbbcf039e406f615"/><file name="SchemaValidator.php" hash="085c3c65a26613264c8e6638529e96a0"/><file name="ServiceDescription.php" hash="7bc23c91d8d2425b173232343bcd8e3d"/><file name="ServiceDescriptionInterface.php" hash="707691524755790d0966aec6f0fce3fe"/><file name="ServiceDescriptionLoader.php" hash="e1a1221fc817313a6fc938eab0ecf163"/><file name="ValidatorInterface.php" hash="f2706a6daa8b81c9913e674706f85414"/></dir><dir name="Exception"><file name="CommandException.php" hash="1df1bdac1d58ec3a347471966e68df6d"/><file name="CommandTransferException.php" hash="9edcea572ed2dc682e430c5e0b64c310"/><file name="DescriptionBuilderException.php" hash="ebc20f875e94bc177b8bf8f5fd6f713e"/><file name="InconsistentClientTransferException.php" hash="34277f53685d0b8f38ca42e7f73f3df7"/><file name="ResponseClassException.php" hash="f92469d44de7724961a887bb26a6f923"/><file name="ServiceBuilderException.php" hash="2c8628b6030bd4f65ee719f54e34edb7"/><file name="ServiceNotFoundException.php" hash="2c26c9658cd335f803eb6a84c69b5220"/><file name="ValidationException.php" hash="e86b42ed471ce9aec762773e21c42b0f"/></dir><dir name="Resource"><file name="AbstractResourceIteratorFactory.php" hash="e7c9f7f16fdef7cbf277266b1fb2b163"/><file name="CompositeResourceIteratorFactory.php" hash="fdffbd0d70bdedfedd3ddcc3be6bdc0a"/><file name="MapResourceIteratorFactory.php" hash="492689e6ae80219b1621cf542e22a290"/><file name="Model.php" hash="09f2071e73ab1448f21b59f4dad3a82a"/><file name="ResourceIterator.php" hash="4262f6af3d1ff478e4cb1a53eee78605"/><file name="ResourceIteratorApplyBatched.php" hash="ffbe2448991e37adb7d552458fe77e06"/><file name="ResourceIteratorClassFactory.php" hash="6c084e3659294bf6d32f52fa08ff1315"/><file name="ResourceIteratorFactoryInterface.php" hash="671eb86847e86900bb2a5486ba220a7d"/><file name="ResourceIteratorInterface.php" hash="ec6765b5d75fd264ace1d9ac04810a02"/></dir></dir><dir name="Stream"><file name="PhpStreamRequestFactory.php" hash="507198e91119d49d2d28c87e9c8fcaab"/><file name="Stream.php" hash="0fc9061103b38fc0b224a9d285bd83fa"/><file name="StreamInterface.php" hash="01dd322c8ff8414eff7ff8eb53bc145b"/><file name="StreamRequestFactoryInterface.php" hash="76c22d99485818b7aed4c1482f30448b"/></dir></dir><dir name="Monolog"><dir name="Formatter"><file name="ChromePHPFormatter.php" hash="71556b69ade93eb7eb296611dcde581e"/><file name="FormatterInterface.php" hash="6393c1db9899b0f9e3fc4ad3d6a898dd"/><file name="GelfMessageFormatter.php" hash="7d9f36780e0a42c8f5f6dd9321582bcd"/><file name="JsonFormatter.php" hash="b0e0eaa76187d769d9db5d5ebf969efd"/><file name="LineFormatter.php" hash="c350e311b66c3a11177c3a02ff87c699"/><file name="LogstashFormatter.php" hash="d7fc7de629f67f8ede9c51b0f3db0db3"/><file name="NormalizerFormatter.php" hash="2edf697812e843ed3436dc3190679fb7"/><file name="WildfireFormatter.php" hash="c95966c78df00d0b12db9475c62d98b9"/></dir><dir name="Handler"><file name="AbstractHandler.php" hash="2c5cfd3a0895fc97286292004f8ca8e2"/><file name="AbstractProcessingHandler.php" hash="57818182f50293167d3cad8708835a86"/><file name="AmqpHandler.php" hash="b683664f74bd01d7abc6cfec4cf1dede"/><file name="BufferHandler.php" hash="0dd06846cb6d9c83ebbbb9bd4575d40f"/><file name="ChromePHPHandler.php" hash="ce5013e952291da9181594290b01e0a1"/><file name="CouchDBHandler.php" hash="831f775592d7ad37b5bc0766180aef81"/><file name="CubeHandler.php" hash="d21ba7e017370fb3c37dffc5f6d94ddb"/><file name="DoctrineCouchDBHandler.php" hash="abc48686f395a089e55a2ec1a4fe4b78"/><dir name="FingersCrossed"><file name="ActivationStrategyInterface.php" hash="6bf84f27f4b7a0016afa63430cf6f8be"/><file name="ErrorLevelActivationStrategy.php" hash="bdf746aa0bc5b2eea3cabcbcc2a7d355"/></dir><file name="FingersCrossedHandler.php" hash="a8c810bf446081f0e2ccb8348675b6c8"/><file name="FirePHPHandler.php" hash="2721106585c3ff6b6dc30d4730ca9c39"/><file name="GelfHandler.php" hash="7b80722808be4f049f6a6a955fd42e0f"/><file name="GroupHandler.php" hash="4bc9e4378c31a77b5e94e94b4b70ef9a"/><file name="HandlerInterface.php" hash="5198e49e18301600a07c29f50cd5c26c"/><file name="MailHandler.php" hash="9a24c301fa6574039e04f6b39f2251c9"/><file name="MissingExtensionException.php" hash="bd31f2e5f407524b03bf0ba0e29cfed5"/><file name="MongoDBHandler.php" hash="efbe923d709936a958439ace94b7fac8"/><file name="NativeMailerHandler.php" hash="05697ada7b3c8594db1f39c4fea65722"/><file name="NullHandler.php" hash="d2f5ef3d84e4f42bcff3084a5d8fbb98"/><file name="PushoverHandler.php" hash="ab10ea30bb09fcc49d7c3338ee76924a"/><file name="RavenHandler.php" hash="94d1ea16e8031c8b473b473b126b57e2"/><file name="RedisHandler.php" hash="9e47db3309a737924e4e7af9a0578336"/><file name="RotatingFileHandler.php" hash="ce8c3a6edde47725d990a78f8f7415ff"/><file name="SocketHandler.php" hash="91f96eadaa8638bb08d29a955bfdc26d"/><file name="StreamHandler.php" hash="00c51e6eb9ae7a2365306a354f817dd8"/><file name="SwiftMailerHandler.php" hash="1629ccbec6426456d0c070d44083fa62"/><file name="SyslogHandler.php" hash="f83d5fce1414cfcc6ad5b3a0c5f56117"/><file name="TestHandler.php" hash="af915fa2a14a03fc3c0ec01af9782c86"/><file name="ZendMonitorHandler.php" hash="03413df93287814fe4225b94294551c3"/></dir><file name="Logger.php" hash="0ea2c8c1fda18665ea33f9f8cb8cc0ab"/><dir name="Processor"><file name="IntrospectionProcessor.php" hash="d27e01c549fc115eb0280d8765cd9b74"/><file name="MemoryPeakUsageProcessor.php" hash="5302013ef46651b85332ef83c81b345f"/><file name="MemoryProcessor.php" hash="773ff1f33c494554d70fbb2830b9c421"/><file name="MemoryUsageProcessor.php" hash="0e103c55b2bdc0f148acad70e3b30db5"/><file name="PsrLogMessageProcessor.php" hash="3b61d93bef2af961e4814cffc3fa5c69"/><file name="WebProcessor.php" hash="a686998a0f2a5d8240907068f9c0f9c1"/></dir></dir><dir name="Psr"><dir name="Log"><file name="AbstractLogger.php" hash="a57c1be541193b72d09307bb0dfb9ed2"/><file name="InvalidArgumentException.php" hash="7d2f0bd1583524d739fff12f0507de65"/><file name="LogLevel.php" hash="19ab55cc711ed2f3ab2ec72e7f0600cb"/><file name="LoggerAwareInterface.php" hash="3ba5ffac8108e1da7657b1fad8651900"/><file name="LoggerAwareTrait.php" hash="5b3adf6c4f09c61d7488b0f9ac2c696a"/><file name="LoggerInterface.php" hash="023885df6a26d8137d5a13da51f066d2"/><file name="LoggerTrait.php" hash="1cb8db6d0b81cf85f81b6c7c09db7a9a"/><file name="NullLogger.php" hash="e71559fea0239b7441d221f8c7beae5b"/><dir name="Test"><file name="LoggerInterfaceTest.php" hash="867f36a94c35322470458f4eba246458"/></dir></dir></dir><file name="S3.php" hash="9b88ee3ec7e421978270ba37fd3140a3"/><dir name="Symfony"><dir name="Component"><dir name="ClassLoader"><file name="ApcClassLoader.php" hash="86d9a3b8315c0692848769a9c1c3e9c5"/><file name="ApcUniversalClassLoader.php" hash="13864652955ff0c5022e5553b509729e"/><file name="ClassCollectionLoader.php" hash="e93bc22ebc1bddbcb25c82b3bdcd9e2f"/><file name="ClassLoader.php" hash="524dfe8aff9aefd074d38ecdc888a399"/><file name="ClassMapGenerator.php" hash="3866e36ec0fe67f2469b8ec8aeb5333c"/><file name="DebugClassLoader.php" hash="d81299fddda21c2171161445bd865017"/><file name="DebugUniversalClassLoader.php" hash="edc1307f2a08518aefb89f5aab8a477e"/><file name="MapClassLoader.php" hash="82e86d3ab5084a7720463b20db3f467b"/><dir name="Tests"><file name="ApcUniversalClassLoaderTest.php" hash="3fb37ebb53adc1aa6b55c84c49fcf5a8"/><file name="ClassCollectionLoaderTest.php" hash="23912b93dc7de2003f49d7f1e2c25732"/><file name="ClassLoaderTest.php" hash="6a58f5ed32089b0458e3ee031f30c804"/><file name="ClassMapGeneratorTest.php" hash="6cd9f7dac5d5f1daa2d40903ae0c4d23"/><dir name="Fixtures"><dir name="Apc"><dir name="Namespaced"><file name="Bar.php" hash="450ce1f75995d3855e2890174cad81c9"/><file name="Baz.php" hash="272f5b10737a621697301cef1fd00c34"/><file name="Foo.php" hash="b52382287fd5a64b85c707f0841c797d"/><file name="FooBar.php" hash="03276dc89dca3856b642091121781aa7"/></dir><dir name="Pearlike"><file name="Bar.php" hash="5d889368e4bd7b30ea2179f77d82816f"/><file name="Baz.php" hash="03ca66795cd12fdb9d39b41825906973"/><file name="Foo.php" hash="f2002a4177d860d4b3763db043f9776f"/></dir><dir name="alpha"><dir name="Apc"><dir name="ApcPrefixCollision"><dir name="A"><file name="Bar.php" hash="9affd828e7b937fa5dab9348a1c106c3"/><file name="Foo.php" hash="565482b47ad54f50794890243d517198"/></dir></dir><dir name="NamespaceCollision"><dir name="A"><file name="Bar.php" hash="3f41e3c6878caa34053b0df735fd06d4"/><file name="Foo.php" hash="199f5fc8858ff6ba24e9a1927a436a1f"/></dir></dir></dir></dir><dir name="beta"><dir name="Apc"><dir name="ApcPrefixCollision"><dir name="A"><dir name="B"><file name="Bar.php" hash="88f045e809ca7fb0c18dfdbb7bbedbfc"/><file name="Foo.php" hash="0a6020428498f5d43bdd1871bdfe5fff"/></dir></dir></dir><dir name="NamespaceCollision"><dir name="A"><dir name="B"><file name="Bar.php" hash="133c40a5d435bb2607fcaba19a177e92"/><file name="Foo.php" hash="b4809859bdbb243d35edfa3da736c859"/></dir></dir></dir></dir></dir><dir name="fallback"><dir name="Apc"><dir name="Pearlike"><file name="FooBar.php" hash="83f27620b7ba2c11696bdf11716d223d"/></dir></dir><dir name="Namespaced"><file name="FooBar.php" hash="03276dc89dca3856b642091121781aa7"/></dir></dir></dir><dir name="ClassesWithParents"><file name="A.php" hash="c0ba313164bfc6fc725c67e515af6368"/><file name="ATrait.php" hash="c718b10e49ff27e12c0674e674e85a6b"/><file name="B.php" hash="0322eeaef5105762706853bd4445f92d"/><file name="BTrait.php" hash="f6d6d69da53085f34b2363d23081783f"/><file name="CInterface.php" hash="ea775929d42f58af393b4f224c59b1c9"/><file name="CTrait.php" hash="f925be736833be1a46dcb4878537cfe3"/><file name="D.php" hash="d1a43cd2eb1d650a46793b4324717801"/><file name="E.php" hash="676dc682573657553221b8997da6fe5f"/><file name="GInterface.php" hash="6ea7e288f1a6c11ad35be1011275cf49"/></dir><dir name="Namespaced"><file name="Bar.php" hash="0bd20d6bd956d80ab403aab7ec1692d3"/><file name="Baz.php" hash="669a66483c0b6c6d301928afdc9c4e4f"/><file name="Foo.php" hash="004debf153631e65aa55a6a595f5e859"/><file name="WithComments.php" hash="63773f312e4568035cea34d1e7049f93"/></dir><dir name="Namespaced2"><file name="Bar.php" hash="0e1341c26bd5098d0666416a99328602"/><file name="Baz.php" hash="f7037244d76da1670a0b6ab35980d735"/><file name="Foo.php" hash="7017318cc8fb7cb1b43f1f7caf023e5b"/></dir><dir name="Pearlike"><file name="Bar.php" hash="092caf7c7dda0fd29b6a4eb94e16e8c7"/><file name="Baz.php" hash="7ec330e5918e68855ea1928650677c2e"/><file name="Foo.php" hash="2ccc8e12aac56ba8a19cc5749f4ddef6"/><file name="WithComments.php" hash="8d6f9450b4d45d80d880d449c0f8ec73"/></dir><dir name="Pearlike2"><file name="Bar.php" hash="43c84f5dcf75beec1d21efa12d74d135"/><file name="Baz.php" hash="14a87e5a8699b57391eff2c94f576c18"/><file name="Foo.php" hash="ed2a4f5ef1c5a5b94181d4caff23caff"/></dir><dir name="alpha"><dir name="NamespaceCollision"><dir name="A"><file name="Bar.php" hash="7839cd8c5550658fbc5dd8f50db33db4"/><file name="Foo.php" hash="e85a0c52a4381199ded8fca8e42c1875"/></dir><dir name="C"><file name="Bar.php" hash="80ffae60899e48b99924c3a907d38255"/><file name="Foo.php" hash="9c0b9aefd4284a57d7f649b8cde024c5"/></dir></dir><dir name="PrefixCollision"><dir name="A"><file name="Bar.php" hash="44d59b6bdb3555587a3be549beb19451"/><file name="Foo.php" hash="89c3f524e25d5abff91ddae0a9aa39f8"/></dir><dir name="C"><file name="Bar.php" hash="59093638625c5324d12879437e82ac23"/><file name="Foo.php" hash="3a0c0cab70920049cf7c910659bbdddb"/></dir></dir></dir><dir name="beta"><dir name="NamespaceCollision"><dir name="A"><dir name="B"><file name="Bar.php" hash="1234b8d86aed91dae669333ff5ae887f"/><file name="Foo.php" hash="c3ff0020d627887437102f59aaa6d5a0"/></dir></dir><dir name="C"><dir name="B"><file name="Bar.php" hash="16acd0ac1810324ade58e7f527b11721"/><file name="Foo.php" hash="cbe4fddcef55d82678ce042506df312e"/></dir></dir></dir><dir name="PrefixCollision"><dir name="A"><dir name="B"><file name="Bar.php" hash="7171280695f683129338bbc9127e8a5b"/><file name="Foo.php" hash="64b36c967661286fb774e010be84b5fc"/></dir></dir><dir name="C"><dir name="B"><file name="Bar.php" hash="d01e56d7432f31c185ea81acd0c3e43e"/><file name="Foo.php" hash="8c8934c39f7727374b802bea9c0892eb"/></dir></dir></dir></dir><dir name="classmap"><file name="SomeClass.php" hash="e4d922295055f51230604c8e3d231eae"/><file name="SomeInterface.php" hash="b183b2f81d0a3580b8494e2a315b5c0f"/><file name="SomeParent.php" hash="3925f28e4b3d85670506ec8f20ad5c1a"/><file name="multipleNs.php" hash="087217e8655325395af4f0dec57cde9b"/><file name="notAClass.php" hash="439f18e59d963c281150e47387e575e9"/><file name="sameNsMultipleClasses.php" hash="23a88b412716678374cb83b3bd84f281"/></dir><dir name="deps"><file name="traits.php" hash="bbbb1f58e6ce45f7f2fcf18009537d34"/></dir><dir name="fallback"><dir name="Namespaced"><file name="FooBar.php" hash="4bc49eb260c97d801f0c924b3cbb9e83"/></dir><dir name="Namespaced2"><file name="FooBar.php" hash="7f38452cd551fb2149367bc6b11329e2"/></dir><dir name="Pearlike"><file name="FooBar.php" hash="f8188170d810646eafce22ad6458c37c"/></dir><dir name="Pearlike2"><file name="FooBar.php" hash="fe464b289785a184fb96897588e17915"/></dir></dir><dir name="includepath"><file name="Foo.php" hash="22c1ff3bd402ac54f7663e249ee27265"/></dir><dir name="php5.4"><file name="traits.php" hash="d560ea07154ede9772e22e33f7ef7628"/></dir></dir><file name="UniversalClassLoaderTest.php" hash="393a45c8a8fc03e36dd139563e531f89"/></dir><file name="UniversalClassLoader.php" hash="aaf07f8f264c4476277d3fc72ce31258"/><file name="WinCacheClassLoader.php" hash="c41f5cdde6c04556fa520cb0eaecb4f1"/><file name="XcacheClassLoader.php" hash="18a01147625643b9bd83c2b8e372c987"/></dir><dir name="EventDispatcher"><file name="ContainerAwareEventDispatcher.php" hash="1f7db4681cb831f0f261094e9dea7df8"/><dir name="Debug"><file name="TraceableEventDispatcherInterface.php" hash="ec4b2758339bbb8439f50ae9b6134edf"/></dir><file name="Event.php" hash="d46c34f8bacd815af9a3af406d3b2ce9"/><file name="EventDispatcher.php" hash="7d4dcc000083c4f160538b434cf9e178"/><file name="EventDispatcherInterface.php" hash="e248cdbdf829780d183ee5e4aaab2055"/><file name="EventSubscriberInterface.php" hash="6bc33100c6e66896fb9145e1bd4b8b85"/><file name="GenericEvent.php" hash="db4fa1cfbad8c627e27697d8c7bcb7fd"/><file name="ImmutableEventDispatcher.php" hash="94bee16721f3a1a865fc870941ec34f4"/><dir name="Tests"><file name="ContainerAwareEventDispatcherTest.php" hash="6f043ea2923e4ed7c2f4416ad940b480"/><file name="EventDispatcherTest.php" hash="2dba0033bbb91a6bc00302d234a636ab"/><file name="EventTest.php" hash="2d8c1f9d12f69cfd4420faf7874573ab"/><file name="GenericEventTest.php" hash="8afc099e4ad8943631f79a86c5c17313"/><file name="ImmutableEventDispatcherTest.php" hash="5904287d821662a2259f7576abe4998d"/></dir></dir></dir></dir><file name="aws-autoloader.php" hash="f14db3110c423408a5c1e0ff81acd3a4"/></dir></target><target name="mageetc"><dir name="modules"><file name="Knolseed_Engage.xml" hash="d261495906f6bce041a62a40c608555f"/></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.1</min><max>5.5.13</max></php></required></dependencies>
|
18 |
</package>
|