Version Notes
This extension can be used by the users of bluefishretail,by providing appropriate credentials,given to them by bluefishretail.
Download this release
Release Info
| Developer | J Doyle |
| Extension | Bluefish_Connection |
| Version | 1.1.2 |
| Comparing to | |
| See all releases | |
Code changes from version 1.1.1 to 1.1.2
- app/code/local/Bluefish/Connection/Block/Adminhtml/Bluestorescheduler/Grid.php +77 -9
- app/code/local/Bluefish/Connection/Helper/Data.php +0 -34
- app/code/local/Bluefish/Connection/Model/Observer.php +55 -0
- app/code/local/Bluefish/Connection/controllers/Adminhtml/Bluefish_API.php +1 -2
- app/code/local/Bluefish/Connection/controllers/Adminhtml/MyformController.php +69 -10
- app/code/local/Bluefish/Connection/controllers/Adminhtml/Xml.php +93 -1
- app/code/local/Bluefish/Connection/etc/config.xml +8 -8
- app/code/local/Bluefish/Connection/etc/system.xml +0 -1
- app/code/local/Bluefish/Connection/sql/connection_setup/mysql4-upgrade-1.1.1-1.1.2.php +22 -0
- app/design/adminhtml/default/default/template/connection/array_dropdown.phtml +9 -5
- app/design/adminhtml/default/default/template/connection/cronschedule.phtml +9 -4
- package.xml +13 -12
app/code/local/Bluefish/Connection/Block/Adminhtml/Bluestorescheduler/Grid.php
CHANGED
|
@@ -70,18 +70,15 @@ class Bluefish_Connection_Block_Adminhtml_Bluestorescheduler_Grid extends Mage_A
|
|
| 70 |
'index' => 'finished_at',
|
| 71 |
'frame_callback' => array($viewHelper, 'decorateTimeFrameCallBack')
|
| 72 |
));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
$this->addColumn('status', array (
|
| 74 |
'header' => Mage::helper('connection')->__('Cron Status'),
|
| 75 |
'index' => 'status',
|
| 76 |
-
'frame_callback' => array($
|
| 77 |
-
'type' => 'options',
|
| 78 |
-
'options' => array(
|
| 79 |
-
Mage_Cron_Model_Schedule::STATUS_PENDING => Mage_Cron_Model_Schedule::STATUS_PENDING,
|
| 80 |
-
Mage_Cron_Model_Schedule::STATUS_SUCCESS => Mage_Cron_Model_Schedule::STATUS_SUCCESS,
|
| 81 |
-
Mage_Cron_Model_Schedule::STATUS_ERROR => Mage_Cron_Model_Schedule::STATUS_ERROR,
|
| 82 |
-
Mage_Cron_Model_Schedule::STATUS_MISSED => Mage_Cron_Model_Schedule::STATUS_MISSED,
|
| 83 |
-
Mage_Cron_Model_Schedule::STATUS_RUNNING => Mage_Cron_Model_Schedule::STATUS_RUNNING,
|
| 84 |
-
)
|
| 85 |
));
|
| 86 |
|
| 87 |
return parent::_prepareColumns();
|
|
@@ -105,8 +102,79 @@ class Bluefish_Connection_Block_Adminhtml_Bluestorescheduler_Grid extends Mage_A
|
|
| 105 |
}
|
| 106 |
$this->getCollection()->addStoreFilter($value);
|
| 107 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
/**
|
| 111 |
* Helper function to receive grid functionality urls for current grid
|
| 112 |
*/
|
| 70 |
'index' => 'finished_at',
|
| 71 |
'frame_callback' => array($viewHelper, 'decorateTimeFrameCallBack')
|
| 72 |
));
|
| 73 |
+
$this->addColumn('messages', array (
|
| 74 |
+
'header' => Mage::helper('connection')->__('Error'),
|
| 75 |
+
'index' => 'messages',
|
| 76 |
+
'frame_callback' => array($this, 'decorateMessages')
|
| 77 |
+
));
|
| 78 |
$this->addColumn('status', array (
|
| 79 |
'header' => Mage::helper('connection')->__('Cron Status'),
|
| 80 |
'index' => 'status',
|
| 81 |
+
'frame_callback' => array($this, 'decorateStatus'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 82 |
));
|
| 83 |
|
| 84 |
return parent::_prepareColumns();
|
| 102 |
}
|
| 103 |
$this->getCollection()->addStoreFilter($value);
|
| 104 |
}
|
| 105 |
+
|
| 106 |
+
public function decorateMessages($value, Bluefish_Connection_Model_Bluestorescheduler $row) {
|
| 107 |
+
$return = '';
|
| 108 |
+
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 109 |
+
$prefix = Mage::getConfig()->getTablePrefix();
|
| 110 |
+
$scheduleLog = $connection->query("SELECT error FROM ".$prefix."bluefish_cron_schedule_logs WHERE schedule_id = '".$row->getScheduleId()."'");
|
| 111 |
+
$scheduleResult = $scheduleLog->fetchAll(PDO::FETCH_ASSOC);
|
| 112 |
+
$errorLogsNum = count($scheduleResult);
|
| 113 |
+
|
| 114 |
+
if ($errorLogsNum > 0) {
|
| 115 |
+
$value = $scheduleResult[0][error];
|
| 116 |
+
$value = str_replace(":","<br/>",$value);
|
| 117 |
+
$return .= '<a href="#" onclick="$(\'messages_'.$row->getScheduleId().'\').toggle(); return false;">'.Mage::helper('connection')->__('Message').'</a>';
|
| 118 |
+
$return .= '<div style="background-color: #ff0000;border: 1px solid #fff;border-radius: 3px;color: #fff;font-size: 12px;font-weight: bold;height: auto;overflow: auto;padding: 5px;position: absolute;width: 308px;display:none;" id="messages_'.$row->getScheduleId().'" >'.$value.'</div>';
|
| 119 |
+
}
|
| 120 |
+
else if($value)
|
| 121 |
+
{
|
| 122 |
+
$return .= '<a href="#" onclick="$(\'messages_'.$row->getScheduleId().'\').toggle(); return false;">'.Mage::helper('connection')->__('Message').'</a>';
|
| 123 |
+
$return .= '<div style="background-color: #ff0000;border: 1px solid #fff;border-radius: 3px;color: #fff;font-size: 12px;font-weight: bold;height: auto;overflow: auto;padding: 5px;position: absolute;width: 308px;display:none;" id="messages_'.$row->getScheduleId().'" >'.$value.'</div>';
|
| 124 |
+
}
|
| 125 |
+
return $return;
|
| 126 |
+
}
|
| 127 |
|
| 128 |
+
public function decorateStatus($value, Bluefish_Connection_Model_Bluestorescheduler $row) {
|
| 129 |
+
|
| 130 |
+
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 131 |
+
$prefix = Mage::getConfig()->getTablePrefix();
|
| 132 |
+
|
| 133 |
+
$scheduleLog = $connection->query("SELECT schedule_id FROM ".$prefix."bluefish_cron_schedule_logs WHERE schedule_id = '".$row->getScheduleId()."'");
|
| 134 |
+
$scheduleResult = $scheduleLog->fetchAll(PDO::FETCH_ASSOC);
|
| 135 |
+
$errorLogsNum = count($scheduleResult);
|
| 136 |
+
|
| 137 |
+
if($errorLogsNum == 0)
|
| 138 |
+
{
|
| 139 |
+
$resultCronScheduleMSG = $connection->query("SELECT status FROM ".$prefix."cron_schedule WHERE schedule_id = '".$row->getScheduleId()."'");
|
| 140 |
+
$resultSetScheduleID = $resultCronScheduleMSG->fetchAll(PDO::FETCH_ASSOC);
|
| 141 |
|
| 142 |
+
$status = $resultSetScheduleID[0][status];
|
| 143 |
+
$errorMSG = $resultSetScheduleID[0][message];
|
| 144 |
+
}
|
| 145 |
+
else
|
| 146 |
+
{
|
| 147 |
+
$status = 'error';
|
| 148 |
+
}
|
| 149 |
+
|
| 150 |
+
switch ($status) {
|
| 151 |
+
case success:
|
| 152 |
+
$class = 'notice';
|
| 153 |
+
$result = $status;
|
| 154 |
+
break;
|
| 155 |
+
case pending:
|
| 156 |
+
$class = 'minor';
|
| 157 |
+
$result = $status;
|
| 158 |
+
break;
|
| 159 |
+
case running:
|
| 160 |
+
$class = 'minor';
|
| 161 |
+
$result = $status;
|
| 162 |
+
break;
|
| 163 |
+
case missed:
|
| 164 |
+
$class = 'major';
|
| 165 |
+
$result = $status;
|
| 166 |
+
break;
|
| 167 |
+
case error:
|
| 168 |
+
$class = 'critical';
|
| 169 |
+
$result = $status;
|
| 170 |
+
break;
|
| 171 |
+
default:
|
| 172 |
+
$result = $status;
|
| 173 |
+
break;
|
| 174 |
+
}
|
| 175 |
+
return '<span class="grid-severity-' . $class . '"><span>' .$result. '</span></span>';
|
| 176 |
+
}
|
| 177 |
+
|
| 178 |
/**
|
| 179 |
* Helper function to receive grid functionality urls for current grid
|
| 180 |
*/
|
app/code/local/Bluefish/Connection/Helper/Data.php
CHANGED
|
@@ -22,40 +22,6 @@ class Bluefish_Connection_Helper_Data extends Mage_Core_Helper_Abstract
|
|
| 22 |
return $result;
|
| 23 |
}
|
| 24 |
|
| 25 |
-
/**
|
| 26 |
-
* Decorate status values
|
| 27 |
-
*
|
| 28 |
-
* @return string
|
| 29 |
-
*/
|
| 30 |
-
public function decorateStatus($status) {
|
| 31 |
-
switch ($status) {
|
| 32 |
-
|
| 33 |
-
case Mage_Cron_Model_Schedule::STATUS_SUCCESS:
|
| 34 |
-
$class = 'notice';
|
| 35 |
-
$result = $status;
|
| 36 |
-
break;
|
| 37 |
-
case Mage_Cron_Model_Schedule::STATUS_PENDING:
|
| 38 |
-
$class = 'minor';
|
| 39 |
-
$result = $status;
|
| 40 |
-
break;
|
| 41 |
-
case Mage_Cron_Model_Schedule::STATUS_RUNNING:
|
| 42 |
-
$class = 'minor';
|
| 43 |
-
$result = $status;
|
| 44 |
-
break;
|
| 45 |
-
case Mage_Cron_Model_Schedule::STATUS_MISSED:
|
| 46 |
-
$class = 'major';
|
| 47 |
-
$result = $status;
|
| 48 |
-
break;
|
| 49 |
-
case Mage_Cron_Model_Schedule::STATUS_ERROR:
|
| 50 |
-
$class = 'critical';
|
| 51 |
-
$result = $status;
|
| 52 |
-
break;
|
| 53 |
-
default:
|
| 54 |
-
$result = $status;
|
| 55 |
-
break;
|
| 56 |
-
}
|
| 57 |
-
return '<span class="grid-severity-' . $class . '"><span>' .$result. '</span></span>';;
|
| 58 |
-
}
|
| 59 |
|
| 60 |
/**
|
| 61 |
* Wrapepr for decorateCronTime to be used a frame_callback
|
| 22 |
return $result;
|
| 23 |
}
|
| 24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
/**
|
| 27 |
* Wrapepr for decorateCronTime to be used a frame_callback
|
app/code/local/Bluefish/Connection/Model/Observer.php
CHANGED
|
@@ -10,28 +10,83 @@ class Bluefish_Connection_Model_Observer extends Bluefish_Connection_Adminhtml_M
|
|
| 10 |
public function _construct()
|
| 11 |
{
|
| 12 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
public function categoryImport() ### This Function is used for category Import
|
| 14 |
{
|
|
|
|
|
|
|
|
|
|
| 15 |
$this->postAction('1');
|
| 16 |
}
|
| 17 |
public function productImport() ### This Function is used for product Import
|
| 18 |
{
|
|
|
|
|
|
|
|
|
|
| 19 |
$this->postAction('2');
|
| 20 |
}
|
| 21 |
public function stockImport() ### This Function is used for stock Import
|
| 22 |
{
|
|
|
|
|
|
|
|
|
|
| 23 |
$this->postAction('3');
|
| 24 |
}
|
| 25 |
public function customerImport() ### This Function is used for stock Import
|
| 26 |
{
|
|
|
|
|
|
|
|
|
|
| 27 |
$this->postAction('4');
|
| 28 |
}
|
| 29 |
public function salesExport() ### This Function is used for sale Export
|
| 30 |
{
|
|
|
|
|
|
|
|
|
|
| 31 |
$this->postAction('5');
|
| 32 |
}
|
| 33 |
public function customerExport() ### This Function is used for customer data Export
|
| 34 |
{
|
|
|
|
|
|
|
|
|
|
| 35 |
$this->postAction('6');
|
| 36 |
}
|
| 37 |
public function categoryCSVExport() ### This Function is used for customer data Export
|
| 10 |
public function _construct()
|
| 11 |
{
|
| 12 |
}
|
| 13 |
+
public function trimExplodeBluefish($delim, $string, $removeEmptyValues=false) {
|
| 14 |
+
$explodedValues = explode($delim, $string);
|
| 15 |
+
|
| 16 |
+
$result = array_map('trim', $explodedValues);
|
| 17 |
+
|
| 18 |
+
if ($removeEmptyValues) {
|
| 19 |
+
$temp = array();
|
| 20 |
+
foreach ($result as $value) {
|
| 21 |
+
if ($value !== '') {
|
| 22 |
+
$temp[] = $value;
|
| 23 |
+
}
|
| 24 |
+
}
|
| 25 |
+
$result = $temp;
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
+
return $result;
|
| 29 |
+
}
|
| 30 |
+
public function isDisabled($jobCode) {
|
| 31 |
+
$disabledJobs = Mage::getStoreConfig('system/cron/disabled_crons');
|
| 32 |
+
$disabledJobs = $this->trimExplodeBluefish(',', $disabledJobs);
|
| 33 |
+
if(in_array($jobCode, $disabledJobs))
|
| 34 |
+
{
|
| 35 |
+
$cron_schedule = Mage::getSingleton('core/resource')->getTableName('cron_schedule');
|
| 36 |
+
$conn = Mage::getSingleton('core/resource')->getConnection('core_read');
|
| 37 |
+
$conn->query("
|
| 38 |
+
DELETE
|
| 39 |
+
FROM {$cron_schedule}
|
| 40 |
+
WHERE status = 'pending' AND job_code = '$jobCode'
|
| 41 |
+
");
|
| 42 |
+
return true;
|
| 43 |
+
}
|
| 44 |
+
else
|
| 45 |
+
{
|
| 46 |
+
return false;
|
| 47 |
+
}
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
public function categoryImport() ### This Function is used for category Import
|
| 51 |
{
|
| 52 |
+
if ($this->isDisabled('bluefish_connection_category')) {
|
| 53 |
+
die();
|
| 54 |
+
}
|
| 55 |
$this->postAction('1');
|
| 56 |
}
|
| 57 |
public function productImport() ### This Function is used for product Import
|
| 58 |
{
|
| 59 |
+
if ($this->isDisabled('bluefish_connection_product')) {
|
| 60 |
+
die();
|
| 61 |
+
}
|
| 62 |
$this->postAction('2');
|
| 63 |
}
|
| 64 |
public function stockImport() ### This Function is used for stock Import
|
| 65 |
{
|
| 66 |
+
if ($this->isDisabled('bluefish_connection_stock')) {
|
| 67 |
+
die();
|
| 68 |
+
}
|
| 69 |
$this->postAction('3');
|
| 70 |
}
|
| 71 |
public function customerImport() ### This Function is used for stock Import
|
| 72 |
{
|
| 73 |
+
if ($this->isDisabled('bluefish_connection_customer')) {
|
| 74 |
+
die();
|
| 75 |
+
}
|
| 76 |
$this->postAction('4');
|
| 77 |
}
|
| 78 |
public function salesExport() ### This Function is used for sale Export
|
| 79 |
{
|
| 80 |
+
if ($this->isDisabled('bluefish_connection_orderexport')) {
|
| 81 |
+
die();
|
| 82 |
+
}
|
| 83 |
$this->postAction('5');
|
| 84 |
}
|
| 85 |
public function customerExport() ### This Function is used for customer data Export
|
| 86 |
{
|
| 87 |
+
if ($this->isDisabled('bluefish_connection_customerexport')) {
|
| 88 |
+
die();
|
| 89 |
+
}
|
| 90 |
$this->postAction('6');
|
| 91 |
}
|
| 92 |
public function categoryCSVExport() ### This Function is used for customer data Export
|
app/code/local/Bluefish/Connection/controllers/Adminhtml/Bluefish_API.php
CHANGED
|
@@ -117,5 +117,4 @@ function _build_http_query($params)
|
|
| 117 |
// For each parameter, the name is separated from the corresponding value by an '=' character (ASCII code 61)
|
| 118 |
// Each name-value pair is separated by an '&' character (ASCII code 38)
|
| 119 |
return implode('&', $pairs);
|
| 120 |
-
}
|
| 121 |
-
?>
|
| 117 |
// For each parameter, the name is separated from the corresponding value by an '=' character (ASCII code 61)
|
| 118 |
// Each name-value pair is separated by an '&' character (ASCII code 38)
|
| 119 |
return implode('&', $pairs);
|
| 120 |
+
}
|
|
|
app/code/local/Bluefish/Connection/controllers/Adminhtml/MyformController.php
CHANGED
|
@@ -284,7 +284,7 @@ class Bluefish_Connection_Adminhtml_MyformController extends Mage_Adminhtml_Cont
|
|
| 284 |
fclose($fb);
|
| 285 |
|
| 286 |
$xmlObj = new Varien_Simplexml_Config($response);
|
| 287 |
-
$xmlData = $xmlObj->getNode();
|
| 288 |
|
| 289 |
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 290 |
$prefix = Mage::getConfig()->getTablePrefix();
|
|
@@ -298,9 +298,34 @@ class Bluefish_Connection_Adminhtml_MyformController extends Mage_Adminhtml_Cont
|
|
| 298 |
{
|
| 299 |
$code = strval($row->transaction['docNo']);
|
| 300 |
$connection->query("INSERT INTO ".$prefix."bluefish_sale_post(id,order_id,posted_time)
|
| 301 |
-
VALUES('','".$code."','".now()."')");
|
| 302 |
-
$countSuccess++;
|
| 303 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 304 |
}
|
| 305 |
if($countSuccess > 0)
|
| 306 |
$responseCode = "true";
|
|
@@ -373,16 +398,50 @@ class Bluefish_Connection_Adminhtml_MyformController extends Mage_Adminhtml_Cont
|
|
| 373 |
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 374 |
$prefix = Mage::getConfig()->getTablePrefix();
|
| 375 |
|
| 376 |
-
$responseCode = $xmlData->transactionsBatch->batchSuccess;
|
| 377 |
$ResposeData = $xmlData->transactionsBatch;
|
| 378 |
-
|
|
|
|
| 379 |
foreach($ResposeData as $row)
|
| 380 |
{
|
| 381 |
-
|
| 382 |
-
|
| 383 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 384 |
}
|
| 385 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 386 |
}
|
| 387 |
}
|
| 388 |
}
|
| 284 |
fclose($fb);
|
| 285 |
|
| 286 |
$xmlObj = new Varien_Simplexml_Config($response);
|
| 287 |
+
$xmlData = $xmlObj->getNode();
|
| 288 |
|
| 289 |
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 290 |
$prefix = Mage::getConfig()->getTablePrefix();
|
| 298 |
{
|
| 299 |
$code = strval($row->transaction['docNo']);
|
| 300 |
$connection->query("INSERT INTO ".$prefix."bluefish_sale_post(id,order_id,posted_time)
|
| 301 |
+
VALUES('','".$code."','".now()."')");
|
| 302 |
+
$countSuccess++;
|
| 303 |
+
}
|
| 304 |
+
else
|
| 305 |
+
{
|
| 306 |
+
$ErrorMsg .= $row->transaction->message.":";
|
| 307 |
+
}
|
| 308 |
+
}
|
| 309 |
+
if($ErrorMsg != "" || $xmlData->message !="")
|
| 310 |
+
{
|
| 311 |
+
$resultCronScheduleID = $connection->query("SELECT schedule_id FROM ".$prefix."cron_schedule WHERE job_code = 'bluefish_connection_orderexport' AND status = 'pending' ORDER BY schedule_id DESC LIMIT 1");
|
| 312 |
+
$resultSetScheduleID = $resultCronScheduleID->fetchAll(PDO::FETCH_OBJ);
|
| 313 |
+
|
| 314 |
+
$ScheduledID = $resultSetScheduleID[0]->schedule_id;
|
| 315 |
+
$numberRows = count($resultSetScheduleID);
|
| 316 |
+
|
| 317 |
+
if($numberRows > 0)
|
| 318 |
+
{
|
| 319 |
+
if($ErrorMsg == "")
|
| 320 |
+
$ErrorMsg = addslashes($xmlData->message);
|
| 321 |
+
else
|
| 322 |
+
$ErrorMsg = str_ireplace("'",'',$ErrorMsg);
|
| 323 |
+
|
| 324 |
+
$cronStatus = ($countSuccess > 0)?'success':'error';
|
| 325 |
+
|
| 326 |
+
$connection->query("INSERT INTO ".$prefix."bluefish_cron_schedule_logs(id,schedule_id,error)
|
| 327 |
+
VALUES('','".$ScheduledID."','".$ErrorMsg."')");
|
| 328 |
+
}
|
| 329 |
}
|
| 330 |
if($countSuccess > 0)
|
| 331 |
$responseCode = "true";
|
| 398 |
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 399 |
$prefix = Mage::getConfig()->getTablePrefix();
|
| 400 |
|
|
|
|
| 401 |
$ResposeData = $xmlData->transactionsBatch;
|
| 402 |
+
|
| 403 |
+
$countSuccess = 0;
|
| 404 |
foreach($ResposeData as $row)
|
| 405 |
{
|
| 406 |
+
if($row->batchSuccess == "true")
|
| 407 |
+
{
|
| 408 |
+
$code = strval($row->transaction['docNo']);
|
| 409 |
+
$bluestoreRef = $row->transaction->bluestoreRef;
|
| 410 |
+
$CustomerUpdate = $connection->query("UPDATE ".$prefix."bluefish_customer SET customer_code= '".$bluestoreRef."' where customer_id = '".$code."'");
|
| 411 |
+
$countSuccess++;
|
| 412 |
+
}
|
| 413 |
+
else
|
| 414 |
+
{
|
| 415 |
+
$ErrorMsg .= $row->transaction->message.":";
|
| 416 |
+
}
|
| 417 |
}
|
| 418 |
+
if($ErrorMsg != "" || $xmlData->message !="")
|
| 419 |
+
{
|
| 420 |
+
$resultCronScheduleID = $connection->query("SELECT schedule_id FROM ".$prefix."cron_schedule WHERE job_code = 'bluefish_connection_customerexport' AND status = 'pending' ORDER BY schedule_id DESC LIMIT 1");
|
| 421 |
+
$resultSetScheduleID = $resultCronScheduleID->fetchAll(PDO::FETCH_OBJ);
|
| 422 |
+
|
| 423 |
+
$ScheduledID = $resultSetScheduleID[0]->schedule_id;
|
| 424 |
+
$numberRows = count($resultSetScheduleID);
|
| 425 |
+
|
| 426 |
+
if($numberRows > 0)
|
| 427 |
+
{
|
| 428 |
+
if($ErrorMsg == "")
|
| 429 |
+
$ErrorMsg = addslashes($xmlData->message);
|
| 430 |
+
else
|
| 431 |
+
$ErrorMsg = str_ireplace("'",'',$ErrorMsg);
|
| 432 |
+
|
| 433 |
+
$cronStatus = ($countSuccess > 0)?'success':'error';
|
| 434 |
+
|
| 435 |
+
$connection->query("INSERT INTO ".$prefix."bluefish_cron_schedule_logs(id,schedule_id,error)
|
| 436 |
+
VALUES('','".$ScheduledID."','".$ErrorMsg."')");
|
| 437 |
+
}
|
| 438 |
+
}
|
| 439 |
+
if($countSuccess > 0)
|
| 440 |
+
$responseCode = "true";
|
| 441 |
+
else
|
| 442 |
+
$responseCode = "false";
|
| 443 |
+
|
| 444 |
+
return $responseCode;
|
| 445 |
}
|
| 446 |
}
|
| 447 |
}
|
app/code/local/Bluefish/Connection/controllers/Adminhtml/Xml.php
CHANGED
|
@@ -386,9 +386,11 @@ function insert_update_database2()
|
|
| 386 |
_updateStocks($SKUArr);
|
| 387 |
Mage::log("$count > Success:: Qty ($quantity) of Sku ($productCode) has been updated.", null, './Bluestore_stock.log.text');
|
| 388 |
}catch(Exception $e){
|
|
|
|
| 389 |
Mage::log("$count > Error:: while Upating Qty ($quantity) of Sku ($productCode) => ".$e->getMessage()."", null, './Bluestore_stock.log.text');
|
| 390 |
}
|
| 391 |
}else{
|
|
|
|
| 392 |
Mage::log("$count > Error:: Product with Sku ($productCode) does't exist.", null, './Bluestore_stock.log.text');
|
| 393 |
}
|
| 394 |
$count++;
|
|
@@ -400,7 +402,24 @@ function insert_update_database2()
|
|
| 400 |
$prefix = Mage::getConfig()->getTablePrefix();
|
| 401 |
$coreConfigUpdate = $connection->query("UPDATE ".$prefix."core_config_data SET value = '".$versionVal."' where path = 'mycustom_section/mycustom_stock_group/mycustom_currentstockversion'");
|
| 402 |
}
|
| 403 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 404 |
$flag = "success";
|
| 405 |
return $flag;
|
| 406 |
}
|
|
@@ -485,6 +504,7 @@ function insert_update_database1()
|
|
| 485 |
catch(Exception $e)
|
| 486 |
{
|
| 487 |
$flag = $e->getMessage();
|
|
|
|
| 488 |
$returnmessage = $flag;
|
| 489 |
}
|
| 490 |
}
|
|
@@ -514,6 +534,7 @@ function insert_update_database1()
|
|
| 514 |
catch(Exception $e)
|
| 515 |
{
|
| 516 |
$flag = $e->getMessage();
|
|
|
|
| 517 |
$returnmessage = $flag;
|
| 518 |
}
|
| 519 |
|
|
@@ -561,6 +582,7 @@ function insert_update_database1()
|
|
| 561 |
catch(Exception $e)
|
| 562 |
{
|
| 563 |
$flag = $e->getMessage();
|
|
|
|
| 564 |
$returnmessage = "Fail";
|
| 565 |
}
|
| 566 |
|
|
@@ -575,6 +597,7 @@ function insert_update_database1()
|
|
| 575 |
catch(Exception $e)
|
| 576 |
{
|
| 577 |
$flag = $e->getMessage();
|
|
|
|
| 578 |
$returnmessage = $flag;
|
| 579 |
}
|
| 580 |
}
|
|
@@ -600,6 +623,7 @@ function insert_update_database1()
|
|
| 600 |
catch(Exception $e)
|
| 601 |
{
|
| 602 |
$flag = $e->getMessage();
|
|
|
|
| 603 |
$returnmessage = $flag;
|
| 604 |
}
|
| 605 |
try
|
|
@@ -636,6 +660,7 @@ function insert_update_database1()
|
|
| 636 |
catch(Exception $e)
|
| 637 |
{
|
| 638 |
$flag = $e->getMessage();
|
|
|
|
| 639 |
$returnmessage = "Fail";
|
| 640 |
}
|
| 641 |
|
|
@@ -653,6 +678,24 @@ function insert_update_database1()
|
|
| 653 |
return $flag;
|
| 654 |
}*/
|
| 655 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 656 |
$returnmessage = "success";
|
| 657 |
}
|
| 658 |
else
|
|
@@ -764,6 +807,7 @@ function insert_update_database()
|
|
| 764 |
catch(Exception $e)
|
| 765 |
{
|
| 766 |
$flag = $e->getMessage();
|
|
|
|
| 767 |
return "Fail";
|
| 768 |
}
|
| 769 |
}
|
|
@@ -803,6 +847,7 @@ function insert_update_database()
|
|
| 803 |
catch(Exception $e)
|
| 804 |
{
|
| 805 |
$flag = $e->getMessage();
|
|
|
|
| 806 |
return "Fail";
|
| 807 |
}
|
| 808 |
}
|
|
@@ -839,6 +884,7 @@ function insert_update_database()
|
|
| 839 |
catch(Exception $e)
|
| 840 |
{
|
| 841 |
$flag = $e->getMessage();
|
|
|
|
| 842 |
return "Fail";
|
| 843 |
}
|
| 844 |
}
|
|
@@ -876,6 +922,7 @@ function insert_update_database()
|
|
| 876 |
catch(Exception $e)
|
| 877 |
{
|
| 878 |
$flag = $e->getMessage();
|
|
|
|
| 879 |
return "Fail";
|
| 880 |
}
|
| 881 |
}
|
|
@@ -922,6 +969,7 @@ function insert_update_database()
|
|
| 922 |
catch(Exception $e)
|
| 923 |
{
|
| 924 |
$flag = $e->getMessage();
|
|
|
|
| 925 |
return "Fail";
|
| 926 |
}
|
| 927 |
}
|
|
@@ -940,6 +988,26 @@ function insert_update_database()
|
|
| 940 |
}
|
| 941 |
}
|
| 942 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 943 |
$flag = "success";
|
| 944 |
return $flag;
|
| 945 |
}
|
|
@@ -1018,11 +1086,13 @@ function insert_update_database3()
|
|
| 1018 |
catch(Exception $e)
|
| 1019 |
{
|
| 1020 |
$flag = $e->getMessage();
|
|
|
|
| 1021 |
$flag = "fail";
|
| 1022 |
}
|
| 1023 |
}
|
| 1024 |
else
|
| 1025 |
{
|
|
|
|
| 1026 |
Mage::log('Customer : '.$customerID.' address not created. City, Postal Code, Phone Number OR Street address is blank.', null, './Bluestore_customer.log.text');
|
| 1027 |
}
|
| 1028 |
|
|
@@ -1035,6 +1105,7 @@ function insert_update_database3()
|
|
| 1035 |
catch(Exception $e)
|
| 1036 |
{
|
| 1037 |
$flag = $e->getMessage();
|
|
|
|
| 1038 |
Mage::log('Customer not created - '.$flag.'.', null, './Bluestore_customer.log.text');
|
| 1039 |
$flag = "Not Created";
|
| 1040 |
}
|
|
@@ -1080,6 +1151,7 @@ function insert_update_database3()
|
|
| 1080 |
catch(Exception $e)
|
| 1081 |
{
|
| 1082 |
$flag = $e->getMessage();
|
|
|
|
| 1083 |
$flag = "fail";
|
| 1084 |
}
|
| 1085 |
}
|
|
@@ -1093,6 +1165,7 @@ function insert_update_database3()
|
|
| 1093 |
catch(Exception $e)
|
| 1094 |
{
|
| 1095 |
$flag = $e->getMessage();
|
|
|
|
| 1096 |
Mage::log('Customer '.$customerID.' not created.', null, './Bluestore_customer.log.text');
|
| 1097 |
|
| 1098 |
$flag = "Not Created";
|
|
@@ -1101,11 +1174,30 @@ function insert_update_database3()
|
|
| 1101 |
else
|
| 1102 |
{
|
| 1103 |
Mage::log('Customer '.$customerID.' not updated.', null, './Bluestore_customer.log.text');
|
|
|
|
| 1104 |
$flag = "fail";
|
| 1105 |
}
|
| 1106 |
}
|
| 1107 |
}
|
| 1108 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1109 |
return $flag;
|
| 1110 |
}
|
| 1111 |
|
| 386 |
_updateStocks($SKUArr);
|
| 387 |
Mage::log("$count > Success:: Qty ($quantity) of Sku ($productCode) has been updated.", null, './Bluestore_stock.log.text');
|
| 388 |
}catch(Exception $e){
|
| 389 |
+
$ErrorMsg .= "$count > Error:: while Upating Qty ($quantity) of Sku ($productCode) => ".$e->getMessage().":";
|
| 390 |
Mage::log("$count > Error:: while Upating Qty ($quantity) of Sku ($productCode) => ".$e->getMessage()."", null, './Bluestore_stock.log.text');
|
| 391 |
}
|
| 392 |
}else{
|
| 393 |
+
$ErrorMsg .= "$count > Error:: Product with Sku ($productCode) does't exist.".":";
|
| 394 |
Mage::log("$count > Error:: Product with Sku ($productCode) does't exist.", null, './Bluestore_stock.log.text');
|
| 395 |
}
|
| 396 |
$count++;
|
| 402 |
$prefix = Mage::getConfig()->getTablePrefix();
|
| 403 |
$coreConfigUpdate = $connection->query("UPDATE ".$prefix."core_config_data SET value = '".$versionVal."' where path = 'mycustom_section/mycustom_stock_group/mycustom_currentstockversion'");
|
| 404 |
}
|
| 405 |
+
if($ErrorMsg != "")
|
| 406 |
+
{
|
| 407 |
+
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 408 |
+
$prefix = Mage::getConfig()->getTablePrefix();
|
| 409 |
+
$resultCronScheduleID = $connection->query("SELECT schedule_id FROM ".$prefix."cron_schedule WHERE job_code = 'bluefish_connection_stock' AND status = 'pending' ORDER BY schedule_id DESC LIMIT 1");
|
| 410 |
+
$resultSetScheduleID = $resultCronScheduleID->fetchAll(PDO::FETCH_OBJ);
|
| 411 |
+
|
| 412 |
+
$ScheduledID = $resultSetScheduleID[0]->schedule_id;
|
| 413 |
+
$numberRows = count($resultSetScheduleID);
|
| 414 |
+
|
| 415 |
+
if($numberRows > 0)
|
| 416 |
+
{
|
| 417 |
+
$ErrorMsg = addslashes($ErrorMsg);
|
| 418 |
+
|
| 419 |
+
$connection->query("INSERT INTO ".$prefix."bluefish_cron_schedule_logs(id,schedule_id,error)
|
| 420 |
+
VALUES('','".$ScheduledID."','".$ErrorMsg."')");
|
| 421 |
+
}
|
| 422 |
+
}
|
| 423 |
$flag = "success";
|
| 424 |
return $flag;
|
| 425 |
}
|
| 504 |
catch(Exception $e)
|
| 505 |
{
|
| 506 |
$flag = $e->getMessage();
|
| 507 |
+
$ErrorMsg .= "SKU - ".$codeSKU." ".$e->getMessage().":";
|
| 508 |
$returnmessage = $flag;
|
| 509 |
}
|
| 510 |
}
|
| 534 |
catch(Exception $e)
|
| 535 |
{
|
| 536 |
$flag = $e->getMessage();
|
| 537 |
+
$ErrorMsg .= "SKU - ".$codeSKU." ".$e->getMessage().":";
|
| 538 |
$returnmessage = $flag;
|
| 539 |
}
|
| 540 |
|
| 582 |
catch(Exception $e)
|
| 583 |
{
|
| 584 |
$flag = $e->getMessage();
|
| 585 |
+
$ErrorMsg .= "SKU - ".$codeSKU." ".$e->getMessage().":";
|
| 586 |
$returnmessage = "Fail";
|
| 587 |
}
|
| 588 |
|
| 597 |
catch(Exception $e)
|
| 598 |
{
|
| 599 |
$flag = $e->getMessage();
|
| 600 |
+
$ErrorMsg .= "SKU - ".$codeSKU." ".$e->getMessage().":";
|
| 601 |
$returnmessage = $flag;
|
| 602 |
}
|
| 603 |
}
|
| 623 |
catch(Exception $e)
|
| 624 |
{
|
| 625 |
$flag = $e->getMessage();
|
| 626 |
+
$ErrorMsg .= "SKU - ".$codeSKU." ".$e->getMessage().":";
|
| 627 |
$returnmessage = $flag;
|
| 628 |
}
|
| 629 |
try
|
| 660 |
catch(Exception $e)
|
| 661 |
{
|
| 662 |
$flag = $e->getMessage();
|
| 663 |
+
$ErrorMsg .= "SKU - ".$codeSKU." ".$e->getMessage().":";
|
| 664 |
$returnmessage = "Fail";
|
| 665 |
}
|
| 666 |
|
| 678 |
return $flag;
|
| 679 |
}*/
|
| 680 |
}
|
| 681 |
+
if($ErrorMsg != "")
|
| 682 |
+
{
|
| 683 |
+
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 684 |
+
$prefix = Mage::getConfig()->getTablePrefix();
|
| 685 |
+
$resultCronScheduleID = $connection->query("SELECT schedule_id FROM ".$prefix."cron_schedule WHERE job_code = 'bluefish_connection_product' AND status = 'pending' ORDER BY schedule_id DESC LIMIT 1");
|
| 686 |
+
$resultSetScheduleID = $resultCronScheduleID->fetchAll(PDO::FETCH_OBJ);
|
| 687 |
+
|
| 688 |
+
$ScheduledID = $resultSetScheduleID[0]->schedule_id;
|
| 689 |
+
$numberRows = count($resultSetScheduleID);
|
| 690 |
+
|
| 691 |
+
if($numberRows > 0)
|
| 692 |
+
{
|
| 693 |
+
$ErrorMsg = addslashes($ErrorMsg);
|
| 694 |
+
|
| 695 |
+
$connection->query("INSERT INTO ".$prefix."bluefish_cron_schedule_logs(id,schedule_id,error)
|
| 696 |
+
VALUES('','".$ScheduledID."','".$ErrorMsg."')");
|
| 697 |
+
}
|
| 698 |
+
}
|
| 699 |
$returnmessage = "success";
|
| 700 |
}
|
| 701 |
else
|
| 807 |
catch(Exception $e)
|
| 808 |
{
|
| 809 |
$flag = $e->getMessage();
|
| 810 |
+
$ErrorMsg .= $descriptions." ".$e->getMessage().":";
|
| 811 |
return "Fail";
|
| 812 |
}
|
| 813 |
}
|
| 847 |
catch(Exception $e)
|
| 848 |
{
|
| 849 |
$flag = $e->getMessage();
|
| 850 |
+
$ErrorMsg .= $descriptions." ".$e->getMessage().":";
|
| 851 |
return "Fail";
|
| 852 |
}
|
| 853 |
}
|
| 884 |
catch(Exception $e)
|
| 885 |
{
|
| 886 |
$flag = $e->getMessage();
|
| 887 |
+
$ErrorMsg .= $descriptions." ".$e->getMessage().":";
|
| 888 |
return "Fail";
|
| 889 |
}
|
| 890 |
}
|
| 922 |
catch(Exception $e)
|
| 923 |
{
|
| 924 |
$flag = $e->getMessage();
|
| 925 |
+
$ErrorMsg .= $descriptions." ".$e->getMessage().":";
|
| 926 |
return "Fail";
|
| 927 |
}
|
| 928 |
}
|
| 969 |
catch(Exception $e)
|
| 970 |
{
|
| 971 |
$flag = $e->getMessage();
|
| 972 |
+
$ErrorMsg .= $descriptions." ".$e->getMessage().":";
|
| 973 |
return "Fail";
|
| 974 |
}
|
| 975 |
}
|
| 988 |
}
|
| 989 |
}
|
| 990 |
}
|
| 991 |
+
|
| 992 |
+
if($ErrorMsg != "")
|
| 993 |
+
{
|
| 994 |
+
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 995 |
+
$prefix = Mage::getConfig()->getTablePrefix();
|
| 996 |
+
$resultCronScheduleID = $connection->query("SELECT schedule_id FROM ".$prefix."cron_schedule WHERE job_code = 'bluefish_connection_category' AND status = 'pending' ORDER BY schedule_id DESC LIMIT 1");
|
| 997 |
+
$resultSetScheduleID = $resultCronScheduleID->fetchAll(PDO::FETCH_OBJ);
|
| 998 |
+
|
| 999 |
+
$ScheduledID = $resultSetScheduleID[0]->schedule_id;
|
| 1000 |
+
$numberRows = count($resultSetScheduleID);
|
| 1001 |
+
|
| 1002 |
+
if($numberRows > 0)
|
| 1003 |
+
{
|
| 1004 |
+
$ErrorMsg = addslashes($ErrorMsg);
|
| 1005 |
+
|
| 1006 |
+
$connection->query("INSERT INTO ".$prefix."bluefish_cron_schedule_logs(id,schedule_id,error)
|
| 1007 |
+
VALUES('','".$ScheduledID."','".$ErrorMsg."')");
|
| 1008 |
+
}
|
| 1009 |
+
}
|
| 1010 |
+
|
| 1011 |
$flag = "success";
|
| 1012 |
return $flag;
|
| 1013 |
}
|
| 1086 |
catch(Exception $e)
|
| 1087 |
{
|
| 1088 |
$flag = $e->getMessage();
|
| 1089 |
+
$ErrorMsg .= $firstName." ".$lastName." - ".$e->getMessage().":";
|
| 1090 |
$flag = "fail";
|
| 1091 |
}
|
| 1092 |
}
|
| 1093 |
else
|
| 1094 |
{
|
| 1095 |
+
$ErrorMsg .= 'Customer ID '.$customerID.' - address not created. City, Postal Code, Phone Number OR Street address is blank.'.":";
|
| 1096 |
Mage::log('Customer : '.$customerID.' address not created. City, Postal Code, Phone Number OR Street address is blank.', null, './Bluestore_customer.log.text');
|
| 1097 |
}
|
| 1098 |
|
| 1105 |
catch(Exception $e)
|
| 1106 |
{
|
| 1107 |
$flag = $e->getMessage();
|
| 1108 |
+
$ErrorMsg .= $firstName." ".$lastName." - ".$e->getMessage().":";
|
| 1109 |
Mage::log('Customer not created - '.$flag.'.', null, './Bluestore_customer.log.text');
|
| 1110 |
$flag = "Not Created";
|
| 1111 |
}
|
| 1151 |
catch(Exception $e)
|
| 1152 |
{
|
| 1153 |
$flag = $e->getMessage();
|
| 1154 |
+
$ErrorMsg .= $firstName." ".$lastName." - ".$e->getMessage().":";
|
| 1155 |
$flag = "fail";
|
| 1156 |
}
|
| 1157 |
}
|
| 1165 |
catch(Exception $e)
|
| 1166 |
{
|
| 1167 |
$flag = $e->getMessage();
|
| 1168 |
+
$ErrorMsg .= $firstName." ".$lastName." - ".$e->getMessage().":";
|
| 1169 |
Mage::log('Customer '.$customerID.' not created.', null, './Bluestore_customer.log.text');
|
| 1170 |
|
| 1171 |
$flag = "Not Created";
|
| 1174 |
else
|
| 1175 |
{
|
| 1176 |
Mage::log('Customer '.$customerID.' not updated.', null, './Bluestore_customer.log.text');
|
| 1177 |
+
$ErrorMsg .= 'Customer '.$customerID.' not updated.'.":";
|
| 1178 |
$flag = "fail";
|
| 1179 |
}
|
| 1180 |
}
|
| 1181 |
}
|
| 1182 |
}
|
| 1183 |
+
if($ErrorMsg != "")
|
| 1184 |
+
{
|
| 1185 |
+
$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 1186 |
+
$prefix = Mage::getConfig()->getTablePrefix();
|
| 1187 |
+
$resultCronScheduleID = $connection->query("SELECT schedule_id FROM ".$prefix."cron_schedule WHERE job_code = 'bluefish_connection_customer' AND status = 'pending' ORDER BY schedule_id DESC LIMIT 1");
|
| 1188 |
+
$resultSetScheduleID = $resultCronScheduleID->fetchAll(PDO::FETCH_OBJ);
|
| 1189 |
+
|
| 1190 |
+
$ScheduledID = $resultSetScheduleID[0]->schedule_id;
|
| 1191 |
+
$numberRows = count($resultSetScheduleID);
|
| 1192 |
+
|
| 1193 |
+
if($numberRows > 0)
|
| 1194 |
+
{
|
| 1195 |
+
$ErrorMsg = addslashes($ErrorMsg);
|
| 1196 |
+
|
| 1197 |
+
$connection->query("INSERT INTO ".$prefix."bluefish_cron_schedule_logs(id,schedule_id,error)
|
| 1198 |
+
VALUES('','".$ScheduledID."','".$ErrorMsg."')");
|
| 1199 |
+
}
|
| 1200 |
+
}
|
| 1201 |
return $flag;
|
| 1202 |
}
|
| 1203 |
|
app/code/local/Bluefish/Connection/etc/config.xml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Bluefish_Connection>
|
| 5 |
-
<version>1.1.
|
| 6 |
</Bluefish_Connection>
|
| 7 |
</modules>
|
| 8 |
<frontend>
|
|
@@ -148,32 +148,32 @@
|
|
| 148 |
<crontab>
|
| 149 |
<jobs>
|
| 150 |
<bluefish_connection_category>
|
| 151 |
-
<schedule><cron_expr>
|
| 152 |
<run><model>connection/observer::categoryImport</model></run>
|
| 153 |
</bluefish_connection_category>
|
| 154 |
<bluefish_connection_product>
|
| 155 |
-
<schedule><cron_expr>
|
| 156 |
<run><model>connection/observer::productImport</model></run>
|
| 157 |
</bluefish_connection_product>
|
| 158 |
<bluefish_connection_stock>
|
| 159 |
-
<schedule><cron_expr>
|
| 160 |
<run><model>connection/observer::stockImport</model></run>
|
| 161 |
</bluefish_connection_stock>
|
| 162 |
<bluefish_connection_customer>
|
| 163 |
-
<schedule><cron_expr>
|
| 164 |
<run><model>connection/observer::customerImport</model></run>
|
| 165 |
</bluefish_connection_customer>
|
| 166 |
<bluefish_connection_customerexport>
|
| 167 |
-
<schedule><cron_expr>
|
| 168 |
<run><model>connection/observer::customerExport</model></run>
|
| 169 |
</bluefish_connection_customerexport>
|
| 170 |
<bluefish_connection_orderexport>
|
| 171 |
-
<schedule><cron_expr>
|
| 172 |
<run><model>connection/observer::salesExport</model></run>
|
| 173 |
</bluefish_connection_orderexport>
|
| 174 |
</jobs>
|
| 175 |
</crontab>
|
| 176 |
-
|
| 177 |
<default>
|
| 178 |
<mycustom_section>
|
| 179 |
<mycustom_stock_group>
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Bluefish_Connection>
|
| 5 |
+
<version>1.1.2</version>
|
| 6 |
</Bluefish_Connection>
|
| 7 |
</modules>
|
| 8 |
<frontend>
|
| 148 |
<crontab>
|
| 149 |
<jobs>
|
| 150 |
<bluefish_connection_category>
|
| 151 |
+
<schedule><cron_expr>50 14 * * *</cron_expr></schedule>
|
| 152 |
<run><model>connection/observer::categoryImport</model></run>
|
| 153 |
</bluefish_connection_category>
|
| 154 |
<bluefish_connection_product>
|
| 155 |
+
<schedule><cron_expr>50 14 * * *</cron_expr></schedule>
|
| 156 |
<run><model>connection/observer::productImport</model></run>
|
| 157 |
</bluefish_connection_product>
|
| 158 |
<bluefish_connection_stock>
|
| 159 |
+
<schedule><cron_expr>27 7 * * *</cron_expr></schedule>
|
| 160 |
<run><model>connection/observer::stockImport</model></run>
|
| 161 |
</bluefish_connection_stock>
|
| 162 |
<bluefish_connection_customer>
|
| 163 |
+
<schedule><cron_expr>44 7 * * *</cron_expr></schedule>
|
| 164 |
<run><model>connection/observer::customerImport</model></run>
|
| 165 |
</bluefish_connection_customer>
|
| 166 |
<bluefish_connection_customerexport>
|
| 167 |
+
<schedule><cron_expr>44 7 * * *</cron_expr></schedule>
|
| 168 |
<run><model>connection/observer::customerExport</model></run>
|
| 169 |
</bluefish_connection_customerexport>
|
| 170 |
<bluefish_connection_orderexport>
|
| 171 |
+
<schedule><cron_expr>50 7 * * *</cron_expr></schedule>
|
| 172 |
<run><model>connection/observer::salesExport</model></run>
|
| 173 |
</bluefish_connection_orderexport>
|
| 174 |
</jobs>
|
| 175 |
</crontab>
|
| 176 |
+
|
| 177 |
<default>
|
| 178 |
<mycustom_section>
|
| 179 |
<mycustom_stock_group>
|
app/code/local/Bluefish/Connection/etc/system.xml
CHANGED
|
@@ -271,7 +271,6 @@
|
|
| 271 |
</mycustom_payment_checkmethod>
|
| 272 |
</fields>
|
| 273 |
</mycustom_payment_group>
|
| 274 |
-
|
| 275 |
|
| 276 |
</groups>
|
| 277 |
</mycustom_section>
|
| 271 |
</mycustom_payment_checkmethod>
|
| 272 |
</fields>
|
| 273 |
</mycustom_payment_group>
|
|
|
|
| 274 |
|
| 275 |
</groups>
|
| 276 |
</mycustom_section>
|
app/code/local/Bluefish/Connection/sql/connection_setup/mysql4-upgrade-1.1.1-1.1.2.php
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/****************************/
|
| 3 |
+
##### This File Helps To Generate The Log Tables
|
| 4 |
+
##### Log Tables Only Generated If Already Not Exist
|
| 5 |
+
/****************************/
|
| 6 |
+
|
| 7 |
+
$installer = $this;
|
| 8 |
+
|
| 9 |
+
$installer->startSetup();
|
| 10 |
+
|
| 11 |
+
$installer->run("
|
| 12 |
+
-- DROP TABLE IF EXISTS `{$this->getTable('bluefish_cron_schedule_logs')}`;
|
| 13 |
+
CREATE TABLE `{$this->getTable('bluefish_cron_schedule_logs')}` (
|
| 14 |
+
`id` int(20) unsigned NOT NULL auto_increment,
|
| 15 |
+
`schedule_id` int(20) NOT NULL ,
|
| 16 |
+
`error` text NOT NULL ,
|
| 17 |
+
`error_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
| 18 |
+
PRIMARY KEY (`id`)
|
| 19 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
| 20 |
+
");
|
| 21 |
+
|
| 22 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/template/connection/array_dropdown.phtml
CHANGED
|
@@ -57,7 +57,6 @@ $prefix = Mage::getConfig()->getTablePrefix();
|
|
| 57 |
$resultPath = $connection->query("select value from ".$prefix."core_config_data WHERE path = 'mycustom_section/mycustom_auth_group/mycustom_login'");
|
| 58 |
$resultCronPath = $resultPath->fetchAll(PDO::FETCH_ASSOC);
|
| 59 |
$numberRows = count($resultCronPath);
|
| 60 |
-
$numberRows = 0;
|
| 61 |
?>
|
| 62 |
|
| 63 |
<div class="grid" id="grid<?php echo $_htmlId ?>">
|
|
@@ -111,8 +110,10 @@ var arrayRow<?php echo $_htmlId ?> = {
|
|
| 111 |
|
| 112 |
rowsCount : 0,
|
| 113 |
|
| 114 |
-
add : function(templateData, insertAfterId,catID
|
| 115 |
{
|
|
|
|
|
|
|
| 116 |
// generate default template data
|
| 117 |
if ('' == templateData) {
|
| 118 |
var d = new Date();
|
|
@@ -139,7 +140,10 @@ var arrayRow<?php echo $_htmlId ?> = {
|
|
| 139 |
this.rowsCount += 1;
|
| 140 |
// set the selected drop-down list item
|
| 141 |
if(catID != '')
|
| 142 |
-
|
|
|
|
|
|
|
|
|
|
| 143 |
|
| 144 |
// set the selected drop-down list item
|
| 145 |
<?php $k=0; foreach ($this->_columns as $columnName => $column):?>
|
|
@@ -222,7 +226,7 @@ Event.observe('addToEndBtn<?php echo $_htmlId ?>', 'click', arrayRow<?php echo $
|
|
| 222 |
<?php
|
| 223 |
$_addAfterId = "headings{$_htmlId}";
|
| 224 |
foreach ($this->getArrayRows() as $_rowId => $_row) {
|
| 225 |
-
echo "arrayRow{$_htmlId}.add(" . $_row->toJson() . ", '{$_addAfterId}');\n";
|
| 226 |
$_addAfterId = $_rowId;
|
| 227 |
}
|
| 228 |
?>
|
|
@@ -232,7 +236,7 @@ $('empty<?php echo $_htmlId ?>').hide();
|
|
| 232 |
Event.observe('emptyAddBtn<?php echo $_htmlId ?>', 'click', function () {
|
| 233 |
$('grid<?php echo $_htmlId ?>').show();
|
| 234 |
$('empty<?php echo $_htmlId ?>').hide();
|
| 235 |
-
arrayRow<?php echo $_htmlId ?>.add('', '');
|
| 236 |
});
|
| 237 |
|
| 238 |
<?php if (!$this->getArrayRows() && ($numberRows == 0) && ($blockName == "mycustom_payment_group")) { ?>
|
| 57 |
$resultPath = $connection->query("select value from ".$prefix."core_config_data WHERE path = 'mycustom_section/mycustom_auth_group/mycustom_login'");
|
| 58 |
$resultCronPath = $resultPath->fetchAll(PDO::FETCH_ASSOC);
|
| 59 |
$numberRows = count($resultCronPath);
|
|
|
|
| 60 |
?>
|
| 61 |
|
| 62 |
<div class="grid" id="grid<?php echo $_htmlId ?>">
|
| 110 |
|
| 111 |
rowsCount : 0,
|
| 112 |
|
| 113 |
+
add : function(templateData, insertAfterId,catID)
|
| 114 |
{
|
| 115 |
+
catID || (catID = "");
|
| 116 |
+
catID = catID.toString();
|
| 117 |
// generate default template data
|
| 118 |
if ('' == templateData) {
|
| 119 |
var d = new Date();
|
| 140 |
this.rowsCount += 1;
|
| 141 |
// set the selected drop-down list item
|
| 142 |
if(catID != '')
|
| 143 |
+
{
|
| 144 |
+
var selectedData = new Array();
|
| 145 |
+
selectedData = catID.split("::");
|
| 146 |
+
}
|
| 147 |
|
| 148 |
// set the selected drop-down list item
|
| 149 |
<?php $k=0; foreach ($this->_columns as $columnName => $column):?>
|
| 226 |
<?php
|
| 227 |
$_addAfterId = "headings{$_htmlId}";
|
| 228 |
foreach ($this->getArrayRows() as $_rowId => $_row) {
|
| 229 |
+
echo "arrayRow{$_htmlId}.add(" . $_row->toJson() . ", '{$_addAfterId}','');\n";
|
| 230 |
$_addAfterId = $_rowId;
|
| 231 |
}
|
| 232 |
?>
|
| 236 |
Event.observe('emptyAddBtn<?php echo $_htmlId ?>', 'click', function () {
|
| 237 |
$('grid<?php echo $_htmlId ?>').show();
|
| 238 |
$('empty<?php echo $_htmlId ?>').hide();
|
| 239 |
+
arrayRow<?php echo $_htmlId ?>.add('', '','');
|
| 240 |
});
|
| 241 |
|
| 242 |
<?php if (!$this->getArrayRows() && ($numberRows == 0) && ($blockName == "mycustom_payment_group")) { ?>
|
app/design/adminhtml/default/default/template/connection/cronschedule.phtml
CHANGED
|
@@ -120,8 +120,10 @@ var arrayRow<?php echo $_htmlId ?> = {
|
|
| 120 |
|
| 121 |
rowsCount : 0,
|
| 122 |
|
| 123 |
-
add : function(templateData, insertAfterId,catID
|
| 124 |
{
|
|
|
|
|
|
|
| 125 |
// generate default template data
|
| 126 |
if ('' == templateData) {
|
| 127 |
var d = new Date();
|
|
@@ -148,7 +150,10 @@ var arrayRow<?php echo $_htmlId ?> = {
|
|
| 148 |
this.rowsCount += 1;
|
| 149 |
// set the selected drop-down list item
|
| 150 |
if(catID != '')
|
| 151 |
-
|
|
|
|
|
|
|
|
|
|
| 152 |
|
| 153 |
<?php $j =0 ; foreach ($this->_columns as $columnName => $column): ?>
|
| 154 |
var options = $$('td.' + templateData._id + '-' + '<?php echo $columnName?>' + ' option')
|
|
@@ -210,7 +215,7 @@ Event.observe('addToEndBtn<?php echo $_htmlId ?>', 'click', arrayRow<?php echo $
|
|
| 210 |
<?php
|
| 211 |
$_addAfterId = "headings{$_htmlId}";
|
| 212 |
foreach ($this->getArrayRows() as $_rowId => $_row) {
|
| 213 |
-
echo "arrayRow{$_htmlId}.add(" . $_row->toJson() . ", '{$_addAfterId}');\n";
|
| 214 |
$_addAfterId = $_rowId;
|
| 215 |
}
|
| 216 |
?>
|
|
@@ -220,7 +225,7 @@ $('empty<?php echo $_htmlId ?>').hide();
|
|
| 220 |
Event.observe('emptyAddBtn<?php echo $_htmlId ?>', 'click', function () {
|
| 221 |
$('grid<?php echo $_htmlId ?>').show();
|
| 222 |
$('empty<?php echo $_htmlId ?>').hide();
|
| 223 |
-
arrayRow<?php echo $_htmlId ?>.add('', '');
|
| 224 |
});
|
| 225 |
|
| 226 |
<?php if (!$this->getArrayRows() && ($numberRows == 0) && ($blockName == "mycustom_category_group")) { ?>
|
| 120 |
|
| 121 |
rowsCount : 0,
|
| 122 |
|
| 123 |
+
add : function(templateData, insertAfterId,catID)
|
| 124 |
{
|
| 125 |
+
catID || (catID = "");
|
| 126 |
+
catID = catID.toString();
|
| 127 |
// generate default template data
|
| 128 |
if ('' == templateData) {
|
| 129 |
var d = new Date();
|
| 150 |
this.rowsCount += 1;
|
| 151 |
// set the selected drop-down list item
|
| 152 |
if(catID != '')
|
| 153 |
+
{
|
| 154 |
+
var selectedData = new Array();
|
| 155 |
+
selectedData = catID.split("::");
|
| 156 |
+
}
|
| 157 |
|
| 158 |
<?php $j =0 ; foreach ($this->_columns as $columnName => $column): ?>
|
| 159 |
var options = $$('td.' + templateData._id + '-' + '<?php echo $columnName?>' + ' option')
|
| 215 |
<?php
|
| 216 |
$_addAfterId = "headings{$_htmlId}";
|
| 217 |
foreach ($this->getArrayRows() as $_rowId => $_row) {
|
| 218 |
+
echo "arrayRow{$_htmlId}.add(" . $_row->toJson() . ", '{$_addAfterId}','');\n";
|
| 219 |
$_addAfterId = $_rowId;
|
| 220 |
}
|
| 221 |
?>
|
| 225 |
Event.observe('emptyAddBtn<?php echo $_htmlId ?>', 'click', function () {
|
| 226 |
$('grid<?php echo $_htmlId ?>').show();
|
| 227 |
$('empty<?php echo $_htmlId ?>').hide();
|
| 228 |
+
arrayRow<?php echo $_htmlId ?>.add('', '','');
|
| 229 |
});
|
| 230 |
|
| 231 |
<?php if (!$this->getArrayRows() && ($numberRows == 0) && ($blockName == "mycustom_category_group")) { ?>
|
package.xml
CHANGED
|
@@ -1,26 +1,27 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Bluefish_Connection</name>
|
| 4 |
-
<version>1.1.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Integrate Magento with Bluestore Live POS. Bring your online and real world shop together - categories, products, customers, inventory and sales.</summary>
|
| 10 |
-
<description
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
|
|
|
| 18 |
statistics in the Bluestore Live console</description>
|
| 19 |
<notes>This extension can be used by the users of bluefishretail,by providing appropriate credentials,given to them by bluefishretail.</notes>
|
| 20 |
<authors><author><name>JDoyle</name><user>jdoyle</user><email>jdoyle@bluefishretail.com</email></author></authors>
|
| 21 |
-
<date>2014-
|
| 22 |
-
<time>
|
| 23 |
-
<contents><target name="mageetc"><dir name="modules"><file name="Bluefish_Connection.xml" hash="8a56080fa4bf7795eb323e120cf7c0e8"/></dir></target><target name="magelocal"><dir name="Bluefish"><dir name="Connection"><dir name="Block"><dir name="Adminhtml"><dir name="Bluestorecron"><file name="Grid.php" hash="607f11628693a178bf3b24a1fa00d186"/></dir><file name="Bluestorecron.php" hash="9ed58d66971718270d9bedffe3f577fa"/><dir name="Bluestorescheduler"><file name="Grid.php" hash="
|
| 24 |
<compatible/>
|
| 25 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
| 26 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Bluefish_Connection</name>
|
| 4 |
+
<version>1.1.2</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Integrate Magento with Bluestore Live POS. Bring your online and real world shop together - categories, products, customers, inventory and sales.</summary>
|
| 10 |
+
<description>
|
| 11 |
+
The connector works with your Bluestore Live subscription :
|
| 12 |
+

|
| 13 |
+
- Send category, product and customer information from Bluestore Live
|
| 14 |
+
to your magento install
|
| 15 |
+
- Inventory and customer information is exchanged between Bluestore
|
| 16 |
+
Live and Magento
|
| 17 |
+
- Completed online sales are passed back to Bluestore Live and
|
| 18 |
+
recorded with your POS sales so you can see your full business
|
| 19 |
statistics in the Bluestore Live console</description>
|
| 20 |
<notes>This extension can be used by the users of bluefishretail,by providing appropriate credentials,given to them by bluefishretail.</notes>
|
| 21 |
<authors><author><name>JDoyle</name><user>jdoyle</user><email>jdoyle@bluefishretail.com</email></author></authors>
|
| 22 |
+
<date>2014-03-03</date>
|
| 23 |
+
<time>10:25:03</time>
|
| 24 |
+
<contents><target name="mageetc"><dir name="modules"><file name="Bluefish_Connection.xml" hash="8a56080fa4bf7795eb323e120cf7c0e8"/></dir></target><target name="magelocal"><dir name="Bluefish"><dir name="Connection"><dir name="Block"><dir name="Adminhtml"><dir name="Bluestorecron"><file name="Grid.php" hash="607f11628693a178bf3b24a1fa00d186"/></dir><file name="Bluestorecron.php" hash="9ed58d66971718270d9bedffe3f577fa"/><dir name="Bluestorescheduler"><file name="Grid.php" hash="b2b35d0e6a5b779a0704a1130de9f8eb"/></dir><file name="Bluestorescheduler.php" hash="15aaa462a00aea87da5c7606767c7d26"/></dir><file name="Bluestoretaxcode.php" hash="a969e969aab9846a9019072162d215ab"/><file name="Cronschedule.php" hash="4062fd7c8fac5605670b559734767188"/><file name="Databasemapping.php" hash="0dc46ab6705733cdba99562a2637c4c8"/><file name="Paymentmethodcode.php" hash="fd4c33ee96330ee1d75841aa09de8774"/><file name="Productdatabasemapping.php" hash="ef2bca03781168f0fd5da4910e300e45"/></dir><dir name="Helper"><file name="Data.php" hash="2cd2e9cf9728228d68be3280bbebf7ff"/></dir><dir name="Model"><file name="Bluestoreschedule.php" hash="840d1c3dadd60eeb4787a43b4d870d66"/><dir name="Collection"><file name="Crons.php" hash="86aba02a88fc122f9641c89a4fcd434c"/></dir><file name="Configuration.php" hash="7dd9b00e905b7f260c4a9becc82438ff"/><file name="Connection.php" hash="76da5fa34acfb6294ca712e76b22e223"/><dir name="Mysql4"><dir name="Connection"><file name="Collection.php" hash="0c9166e76131a7092872871b2444754b"/></dir><file name="Connection.php" hash="2c982c25bb2dc863a2693433063a0050"/></dir><file name="Observer.php" hash="1a9e17182ce65fc3972297ed730548b3"/><file name="Status.php" hash="4fdeede680b4420331aae6fda74d36d9"/><file name="Validationcrontime.php" hash="633ab9405ab9bd8db04024e48e90f0e5"/><file name="Validationpaymentmap.php" hash="15abb09f8091f557b0a05dc14f3b7d10"/><file name="Validationtaxcode.php" hash="f5aa1a5b23323ce5462093269ba321cf"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="Bluefish_API.php" hash="c07d056ffe4561dc211cc4a946807770"/><file name="Bluefish_Error_Reporting.php" hash="8662f6698cedf9ccb3dd368e43b5b9f6"/><file name="BluestorecronController.php" hash="371f55c62d4d19151ee11211e82e85c2"/><file name="BluestoreschedulerController.php" hash="198366aa10c1f2bea714a587dc0fb10a"/><file name="CategorydataController.php" hash="8110d788c6dfc1cdb3de0c2fd5510afd"/><file name="MyformController.php" hash="79fafaf92d21289a637c515e07c13aa2"/><file name="MyformexportController.php" hash="a18e080b54dbf421b1bdb07ad7efd68f"/><file name="ProductdataController.php" hash="1090cb4a532f51038f494d17b43e8b46"/><file name="Xml.php" hash="d1aa8968007ba17bfcc04d0ccbfe5d68"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="f958df2fe25675db0cfa466a13d21317"/><file name="config.xml" hash="37f7fe787261bfe45296d211a9c94438"/><file name="system.xml" hash="d63147979619b32edba9a449fe6017fa"/></dir><dir name="sql"><dir name="connection_setup"><file name="mysql4-install-0.1.0.php" hash="6badacdb48b9a868da95e2c1761732c4"/><file name="mysql4-upgrade-0.1.0-1.1.1.php" hash="f4d1a592ab45d034f6b40c3712accb63"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="e32a7745adad592cd3fb9a64257d1359"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="connection"><file name="array_dropdown.phtml" hash="e6a4cda42e73115ddf221c7c166f49b1"/><file name="cronschedule.phtml" hash="6b046d34a536d41aa71e3fb9c0a7fe6d"/><file name="custom_product_radioinput.phtml" hash="3ce47b1b464741896bf3b3da86d70264"/><file name="custom_radioinput.phtml" hash="098722c4e4547b62d7109be8284e7ce3"/><file name="myform.phtml" hash="e0170b5cafea6eafc8205646c332c655"/><file name="myformexport.phtml" hash="8a7e24498503d21c43bbc20b1f951923"/></dir></dir><dir name="layout"><file name="connection.xml" hash="c04acab938ef8c19cd8505117849e1c8"/></dir></dir></dir></dir></target></contents>
|
| 25 |
<compatible/>
|
| 26 |
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
| 27 |
</package>
|
