Version Notes
added task status to check the direct SQL update status. No need anymore to check your cron_schedule table:
Status: pending, error, missed or succes
Created At, Scheduled and At Finished At times
Download this release
Release Info
Developer | Magento Core Team |
Extension | Speedup_your_catalog_update_using_our_Direct_SQL_Update_extension |
Version | 1.4.1.0 |
Comparing to | |
See all releases |
Code changes from version 1.3 to 1.4.1.0
- app/code/community/Ayasoftware/SQLupdate/Model/Massimport.php +51 -1
- app/code/community/Ayasoftware/SQLupdate/Model/Utilities.php +95 -0
- app/code/community/Ayasoftware/SQLupdate/controllers/Adminhtml/SqlupdateController.php +14 -6
- app/code/community/Ayasoftware/SQLupdate/etc/config.xml +1 -1
- app/design/adminhtml/default/default/layout/sqlupdate.xml +1 -1
- app/design/adminhtml/default/default/template/sqlupdate/schedule.phtml +56 -102
- package.xml +24 -24
app/code/community/Ayasoftware/SQLupdate/Model/Massimport.php
CHANGED
@@ -499,7 +499,7 @@ class Ayasoftware_SQLupdate_Model_Massimport extends Ayasoftware_SQLupdate_Model
|
|
499 |
/**
|
500 |
* Clear all products from catalog
|
501 |
*/
|
502 |
-
public function
|
503 |
$sql = "SET FOREIGN_KEY_CHECKS = 0;\n";
|
504 |
$tables = array ("catalog_product_bundle_option", "catalog_product_bundle_option_value", "catalog_product_bundle_selection", "catalog_product_entity_datetime", "catalog_product_entity_decimal", "catalog_product_entity_gallery", "catalog_product_entity_int", "catalog_product_entity_media_gallery", "catalog_product_entity_media_gallery_value", "catalog_product_entity_text", "catalog_product_entity_tier_price", "catalog_product_entity_varchar", "catalog_product_link", "catalog_product_link_attribute", "catalog_product_link_attribute_decimal", "catalog_product_link_attribute_int", "catalog_product_link_attribute_varchar", "catalog_product_link_type", "catalog_product_option", "catalog_product_option_price", "catalog_product_option_title", "catalog_product_option_type_price", "catalog_product_option_type_title", "catalog_product_option_type_value", "catalog_product_super_attribute_label", "catalog_product_super_attribute_pricing", "catalog_product_super_attribute", "catalog_product_super_link", "catalog_product_enabled_index", "catalog_product_website", "catalog_category_product_index", "catalog_category_product", "cataloginventory_stock_item", "mag_cataloginventory_stock_status", "mag_cataloginventory_stock" );
|
505 |
|
@@ -613,6 +613,56 @@ public function updateIndexes ()
|
|
613 |
}
|
614 |
}
|
615 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
616 |
/**
|
617 |
* full import workflow for item
|
618 |
* @param array $item : attribute values for product indexed by attribute_code
|
499 |
/**
|
500 |
* Clear all products from catalog
|
501 |
*/
|
502 |
+
public function clearProducts1() {
|
503 |
$sql = "SET FOREIGN_KEY_CHECKS = 0;\n";
|
504 |
$tables = array ("catalog_product_bundle_option", "catalog_product_bundle_option_value", "catalog_product_bundle_selection", "catalog_product_entity_datetime", "catalog_product_entity_decimal", "catalog_product_entity_gallery", "catalog_product_entity_int", "catalog_product_entity_media_gallery", "catalog_product_entity_media_gallery_value", "catalog_product_entity_text", "catalog_product_entity_tier_price", "catalog_product_entity_varchar", "catalog_product_link", "catalog_product_link_attribute", "catalog_product_link_attribute_decimal", "catalog_product_link_attribute_int", "catalog_product_link_attribute_varchar", "catalog_product_link_type", "catalog_product_option", "catalog_product_option_price", "catalog_product_option_title", "catalog_product_option_type_price", "catalog_product_option_type_title", "catalog_product_option_type_value", "catalog_product_super_attribute_label", "catalog_product_super_attribute_pricing", "catalog_product_super_attribute", "catalog_product_super_link", "catalog_product_enabled_index", "catalog_product_website", "catalog_category_product_index", "catalog_category_product", "cataloginventory_stock_item", "mag_cataloginventory_stock_status", "mag_cataloginventory_stock" );
|
505 |
|
613 |
}
|
614 |
}
|
615 |
|
616 |
+
|
617 |
+
/**
|
618 |
+
* Clear all products from catalog
|
619 |
+
*/
|
620 |
+
public function clearProducts()
|
621 |
+
{
|
622 |
+
$sql="SET FOREIGN_KEY_CHECKS = 0";
|
623 |
+
$this->exec_stmt($sql);
|
624 |
+
$tables=array("catalog_product_bundle_option",
|
625 |
+
"catalog_product_bundle_option_value",
|
626 |
+
"catalog_product_bundle_selection",
|
627 |
+
"catalog_product_entity_datetime",
|
628 |
+
"catalog_product_entity_decimal",
|
629 |
+
"catalog_product_entity_gallery",
|
630 |
+
"catalog_product_entity_int",
|
631 |
+
"catalog_product_entity_media_gallery",
|
632 |
+
"catalog_product_entity_media_gallery_value",
|
633 |
+
"catalog_product_entity_text",
|
634 |
+
"catalog_product_entity_tier_price",
|
635 |
+
"catalog_product_entity_varchar",
|
636 |
+
"catalog_product_entity",
|
637 |
+
"catalog_product_option",
|
638 |
+
"catalog_product_option_price",
|
639 |
+
"catalog_product_option_title",
|
640 |
+
"catalog_product_option_type_price",
|
641 |
+
"catalog_product_option_type_title",
|
642 |
+
"catalog_product_option_type_value",
|
643 |
+
"catalog_product_super_attribute_label",
|
644 |
+
"catalog_product_super_attribute_pricing",
|
645 |
+
"catalog_product_super_attribute",
|
646 |
+
"catalog_product_super_link",
|
647 |
+
"catalog_product_relation",
|
648 |
+
"catalog_product_enabled_index",
|
649 |
+
"catalog_product_website",
|
650 |
+
"catalog_category_product_index",
|
651 |
+
"catalog_category_product",
|
652 |
+
"cataloginventory_stock_item",
|
653 |
+
"cataloginventory_stock_status");
|
654 |
+
|
655 |
+
|
656 |
+
foreach($tables as $table)
|
657 |
+
{
|
658 |
+
$this->exec_stmt("TRUNCATE TABLE `".$this->tablename($table)."`");
|
659 |
+
}
|
660 |
+
|
661 |
+
$sql="SET FOREIGN_KEY_CHECKS = 1";
|
662 |
+
|
663 |
+
$this->exec_stmt($sql);
|
664 |
+
}
|
665 |
+
|
666 |
/**
|
667 |
* full import workflow for item
|
668 |
* @param array $item : attribute values for product indexed by attribute_code
|
app/code/community/Ayasoftware/SQLupdate/Model/Utilities.php
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @category Ayasoftware
|
4 |
+
* @package Ayasoftware_SQLupdate
|
5 |
+
* @authors Sebastien Bracquemont <dweeves@gmail.com>, EL Hassan Matar <support@ayasoftware.com>
|
6 |
+
* website: www.ayasoftware.com/
|
7 |
+
*/
|
8 |
+
class Ayasoftware_SQLupdate_Model_Utilities
|
9 |
+
{
|
10 |
+
public $coreResource;
|
11 |
+
public $write;
|
12 |
+
public $website_ids = array();
|
13 |
+
public $reset = false;
|
14 |
+
public $logfilename;
|
15 |
+
public $fp;
|
16 |
+
public $attributeId;
|
17 |
+
function __construct ()
|
18 |
+
{
|
19 |
+
$this->coreResource = Mage::getSingleton('core/resource');
|
20 |
+
$this->write = $this->coreResource->getConnection('core_write');
|
21 |
+
}
|
22 |
+
public function executeQuery ($query)
|
23 |
+
{
|
24 |
+
try {
|
25 |
+
$this->write->query($sql);
|
26 |
+
$this->write->commit();
|
27 |
+
} catch (Exception $e) {
|
28 |
+
fwrite($fp, $e->getMessage() . "\n");
|
29 |
+
//if anything got wrong, rollback
|
30 |
+
$this->write->rollback();
|
31 |
+
}
|
32 |
+
}
|
33 |
+
/**
|
34 |
+
* load properties
|
35 |
+
* @param string $conf : configuration .ini filename
|
36 |
+
*/
|
37 |
+
public function loadProperties ()
|
38 |
+
{
|
39 |
+
$xmlPath = Mage::getBaseDir() . DS . 'app/etc/local.xml';
|
40 |
+
$xmlObj = new Varien_Simplexml_Config($xmlPath);
|
41 |
+
$this->magdir = Mage::getBaseDir();
|
42 |
+
if (Mage::getStoreConfig('sqlupdate/sqlupdateSettings/imgsourcedir')) {
|
43 |
+
$this->imgsourcedir = Mage::getBaseDir() . Mage::getStoreConfig('sqlupdate/sqlupdateSettings/imgsourcedir');
|
44 |
+
} else {
|
45 |
+
$this->imgsourcedir = Mage::getBaseDir() . DS . "media/import";
|
46 |
+
}
|
47 |
+
$this->tprefix = $xmlObj->getNode("global/resources/db/table_prefix");
|
48 |
+
$this->logfilename = Mage::getBaseDir() . DS . "var/log/" . Mage::getStoreConfig('sqlupdate/sqlupdateSettings/logfilename');
|
49 |
+
}
|
50 |
+
public function clearProducts ()
|
51 |
+
{
|
52 |
+
$sql = "SET FOREIGN_KEY_CHECKS = 0";
|
53 |
+
try {
|
54 |
+
$this->write->query($sql);
|
55 |
+
$this->write->commit();
|
56 |
+
} catch (Exception $e) {
|
57 |
+
fwrite($fp, $e->getMessage() . "\n");
|
58 |
+
//if anything got wrong, rollback
|
59 |
+
$this->write->rollback();
|
60 |
+
}
|
61 |
+
$tables = array("catalog_product_bundle_option" , "catalog_product_bundle_option_value" , "catalog_product_bundle_selection" , "catalog_product_entity_datetime" , "catalog_product_entity_decimal" , "catalog_product_entity_gallery" , "catalog_product_entity_int" , "catalog_product_entity_media_gallery" , "catalog_product_entity_media_gallery_value" , "catalog_product_entity_text" , "catalog_product_entity_tier_price" , "catalog_product_entity_varchar" , "catalog_product_entity" , "catalog_product_option" , "catalog_product_option_price" , "catalog_product_option_title" , "catalog_product_option_type_price" , "catalog_product_option_type_title" , "catalog_product_option_type_value" , "catalog_product_super_attribute_label" , "catalog_product_super_attribute_pricing" , "catalog_product_super_attribute" , "catalog_product_super_link" , "catalog_product_relation" , "catalog_product_enabled_index" , "catalog_product_website" , "catalog_category_product_index" , "catalog_category_product" , "cataloginventory_stock_item" , "cataloginventory_stock_status");
|
62 |
+
foreach ($tables as $table) {
|
63 |
+
try {
|
64 |
+
$this->write->query("TRUNCATE TABLE `" . $this->coreResource->getTableName($table) . "`");
|
65 |
+
$this->write->commit();
|
66 |
+
} catch (Exception $e) {
|
67 |
+
fwrite($fp, $e->getMessage() . "\n");
|
68 |
+
//if anything got wrong, rollback
|
69 |
+
$this->write->rollback();
|
70 |
+
}
|
71 |
+
}
|
72 |
+
$sql = "SET FOREIGN_KEY_CHECKS = 1";
|
73 |
+
try {
|
74 |
+
$this->write->query($sql);
|
75 |
+
$this->write->commit();
|
76 |
+
} catch (Exception $e) {
|
77 |
+
fwrite($fp, $e->getMessage() . "\n");
|
78 |
+
//if anything got wrong, rollback
|
79 |
+
$this->write->rollback();
|
80 |
+
}
|
81 |
+
}
|
82 |
+
/**
|
83 |
+
* Initialize websites list
|
84 |
+
*/
|
85 |
+
public function initWebsites ()
|
86 |
+
{
|
87 |
+
//Get all websites code/ids
|
88 |
+
$tname = $this->tablename("core_website");
|
89 |
+
$sql = "SELECT code,website_id FROM $tname";
|
90 |
+
$stmt = $this->select($sql);
|
91 |
+
while ($r = $stmt->fetch()) {
|
92 |
+
$this->website_ids[$r["code"]] = $r["website_id"];
|
93 |
+
}
|
94 |
+
}
|
95 |
+
}
|
app/code/community/Ayasoftware/SQLupdate/controllers/Adminhtml/SqlupdateController.php
CHANGED
@@ -1,23 +1,31 @@
|
|
1 |
<?php
|
2 |
class Ayasoftware_SQLupdate_Adminhtml_SqlupdateController extends Mage_Adminhtml_Controller_Action {
|
3 |
public function indexAction() {
|
|
|
4 |
$this->loadLayout ()->renderLayout ();
|
5 |
}
|
6 |
public function postAction() {
|
7 |
$post = $this->getRequest ()->getPost ();
|
8 |
$scheduling = $post ['scheduling'];
|
9 |
$timecreated = date("Y-m-d H:i:s");
|
10 |
-
$a1 = explode(" ", $scheduling);
|
11 |
-
$a2 = explode("-", $a1[0] );
|
12 |
-
$scheduling = $a2[2]."-".$a2[0]."-".$a2[1]." ".$a1[1];
|
13 |
$scheduling = date("Y-m-d H:i:s", strtotime($scheduling));
|
14 |
try {
|
15 |
if ($timecreated > $scheduling) {
|
16 |
throw new Exception ( Mage::helper ( 'sqlupdate' )->__ ( 'Task must be Scheduled after '.$timecreated ) );
|
17 |
}
|
18 |
-
$update = Mage::getModel ( 'sqlupdate/
|
19 |
-
$update->
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
Mage::getSingleton ( 'adminhtml/session' )->addSuccess ( $message );
|
22 |
} catch ( Exception $e ) {
|
23 |
Mage::getSingleton ( 'adminhtml/session' )->addError ( $e->getMessage () );
|
1 |
<?php
|
2 |
class Ayasoftware_SQLupdate_Adminhtml_SqlupdateController extends Mage_Adminhtml_Controller_Action {
|
3 |
public function indexAction() {
|
4 |
+
//Mage::helper('affiliatepack')->addAdminhtmlVersion('affiliatepack');
|
5 |
$this->loadLayout ()->renderLayout ();
|
6 |
}
|
7 |
public function postAction() {
|
8 |
$post = $this->getRequest ()->getPost ();
|
9 |
$scheduling = $post ['scheduling'];
|
10 |
$timecreated = date("Y-m-d H:i:s");
|
|
|
|
|
|
|
11 |
$scheduling = date("Y-m-d H:i:s", strtotime($scheduling));
|
12 |
try {
|
13 |
if ($timecreated > $scheduling) {
|
14 |
throw new Exception ( Mage::helper ( 'sqlupdate' )->__ ( 'Task must be Scheduled after '.$timecreated ) );
|
15 |
}
|
16 |
+
$update = Mage::getModel ( 'sqlupdate/utilities' );
|
17 |
+
$update->clearProducts();
|
18 |
+
//$update->batchUpdate( $scheduling );
|
19 |
+
//$update->changeScheduling ( $scheduling );
|
20 |
+
/*
|
21 |
+
$reset = false;
|
22 |
+
$sqlimport = Mage::getModel ( 'sqlupdate/massimport' );
|
23 |
+
$updateFeed = Mage::getStoreConfig ( 'sqlupdate/sqlupdateSettings/feedname' );
|
24 |
+
$csvfile = Mage::getBaseDir() . DS ."var/import".DS. $updateFeed;
|
25 |
+
//echo $csvfile; exit();
|
26 |
+
$sqlimport->import($csvfile, $reset);
|
27 |
+
*/
|
28 |
+
$message = $this->__ ( 'The SQL Update has been Scheduled Successfully.' );
|
29 |
Mage::getSingleton ( 'adminhtml/session' )->addSuccess ( $message );
|
30 |
} catch ( Exception $e ) {
|
31 |
Mage::getSingleton ( 'adminhtml/session' )->addError ( $e->getMessage () );
|
app/code/community/Ayasoftware/SQLupdate/etc/config.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<config>
|
2 |
<modules>
|
3 |
<Ayasoftware_SQLupdate>
|
4 |
-
<version>1.
|
5 |
<depends>
|
6 |
<!-- no dependencies -->
|
7 |
</depends>
|
1 |
<config>
|
2 |
<modules>
|
3 |
<Ayasoftware_SQLupdate>
|
4 |
+
<version>1.4.1.0</version>
|
5 |
<depends>
|
6 |
<!-- no dependencies -->
|
7 |
</depends>
|
app/design/adminhtml/default/default/layout/sqlupdate.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<layout>
|
3 |
<default>
|
4 |
<reference name="head">
|
5 |
-
|
6 |
</reference>
|
7 |
</default>
|
8 |
<sqlupdate_adminhtml_sqlupdate_index>
|
2 |
<layout>
|
3 |
<default>
|
4 |
<reference name="head">
|
5 |
+
<!-- <action method="addJs"><script>ayasoftware/datetimepicker.js</script></action> -->
|
6 |
</reference>
|
7 |
</default>
|
8 |
<sqlupdate_adminhtml_sqlupdate_index>
|
app/design/adminhtml/default/default/template/sqlupdate/schedule.phtml
CHANGED
@@ -1,103 +1,57 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
<?php
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
<
|
18 |
-
|
19 |
-
|
20 |
-
<
|
21 |
-
|
22 |
-
|
23 |
-
<
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
</
|
28 |
-
</
|
29 |
-
|
30 |
-
<
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
<
|
35 |
-
|
36 |
-
|
|
|
37 |
value="<?php
|
38 |
-
echo Mage::getSingleton ( 'core/session' )->getFormKey ()?>" />
|
39 |
-
</td>
|
40 |
-
</tr>
|
41 |
-
<tr>
|
42 |
-
<td><
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
</
|
47 |
-
</
|
48 |
-
|
49 |
-
|
50 |
-
<
|
51 |
-
<
|
52 |
-
<
|
53 |
-
|
54 |
-
<
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
<?php
|
59 |
-
|
60 |
-
$jobCode = "direct_sql_update";
|
61 |
-
?>
|
62 |
-
<table border="1" class="entry-edit" cellspacing="10" cellpadding="10">
|
63 |
-
<tr>
|
64 |
-
<td>Job Code</td>
|
65 |
-
<td>Status</td>
|
66 |
-
<td>Created At</td>
|
67 |
-
<td>Scheduled At</td>
|
68 |
-
<td>Finished At</td>
|
69 |
-
</tr>
|
70 |
-
<?php
|
71 |
-
try {
|
72 |
-
$sql_update = Mage::getModel ( 'cron/schedule' )->getCollection ()->addFieldToFilter ( 'job_code', array ('in' => array ($jobCode ) ) );
|
73 |
-
foreach ( $sql_update->getIterator () as $record ) {
|
74 |
-
echo "<tr>";
|
75 |
-
echo "<td>";
|
76 |
-
echo $record->getJobCode ();
|
77 |
-
echo "</td>";
|
78 |
-
echo "<td>";
|
79 |
-
echo $record->getStatus ();
|
80 |
-
echo "</td>";
|
81 |
-
echo "<td>";
|
82 |
-
echo $record->getCreatedAt ();
|
83 |
-
echo "</td>";
|
84 |
-
echo "<td>";
|
85 |
-
echo $record->getScheduledAt ();
|
86 |
-
echo "</td>";
|
87 |
-
echo "<td>";
|
88 |
-
echo $record->getFinishedAt ();
|
89 |
-
echo "</td>";
|
90 |
-
echo "</tr>";
|
91 |
-
}
|
92 |
-
|
93 |
-
} catch ( Exception $e ) {
|
94 |
-
throw new Exception ( Mage::helper ( 'cron' )->__ ( 'Unable to save Cron.' ) );
|
95 |
-
}
|
96 |
-
echo "</table>";
|
97 |
-
?>
|
98 |
-
|
99 |
-
|
100 |
-
</div>
|
101 |
-
<script type="text/javascript">
|
102 |
-
var editForm = new varienForm('edit_form');
|
103 |
-
</script>
|
1 |
+
|
2 |
+
<SCRIPT type="text/javascript" language="javascript"
|
3 |
+
src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);?>js/ayasoftware/prototype-1.6.0.2.js"></SCRIPT>
|
4 |
+
<SCRIPT type="text/javascript" language="javascript"
|
5 |
+
src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);?>js/ayasoftware/prototype-date-extensions.js"></SCRIPT>
|
6 |
+
<SCRIPT type="text/javascript" language="javascript"
|
7 |
+
src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);?>js/ayasoftware/behaviour.js"></SCRIPT>
|
8 |
+
<SCRIPT type="text/javascript" language="javascript"
|
9 |
+
src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);?>js/ayasoftware/datepicker.js"></SCRIPT>
|
10 |
+
<LINK rel="stylesheet"
|
11 |
+
href="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);?>js/ayasoftware/datepicker.css">
|
12 |
+
<SCRIPT type="text/javascript" language="javascript"
|
13 |
+
src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);?>js/ayasoftware/behaviors.js"></SCRIPT>
|
14 |
+
<?php
|
15 |
+
$timecreated = $timecreated = date("Y-m-d H:i:s");
|
16 |
+
?>
|
17 |
+
<div class="content-header">
|
18 |
+
<table cellspacing="0" class="grid-header">
|
19 |
+
<tr>
|
20 |
+
<td>
|
21 |
+
<h3><?=$this->__ ( 'Schedule SQL Update. ' )?></h3>
|
22 |
+
</td>
|
23 |
+
<td class="a-right">
|
24 |
+
<button onclick="editForm.submit()" class="scalable save"
|
25 |
+
type="button"><span>Create Scheduled Task for SQL Update.</span></button>
|
26 |
+
</td>
|
27 |
+
</tr>
|
28 |
+
</table>
|
29 |
+
</div>
|
30 |
+
<div class="entry-edit">
|
31 |
+
<form id="edit_form" name="edit_form" method="post"
|
32 |
+
action="<?=$this->getUrl ( '*/*/post' )?>">
|
33 |
+
|
34 |
+
<fieldset id="my-fieldset">
|
35 |
+
<table cellspacing="3" cellpadding="10" class="form-list">
|
36 |
+
<tr>
|
37 |
+
<td colspan="2"><input name="form_key" type="hidden"
|
38 |
value="<?php
|
39 |
+
echo Mage::getSingleton ( 'core/session' )->getFormKey ()?>" />
|
40 |
+
</td>
|
41 |
+
</tr>
|
42 |
+
<tr>
|
43 |
+
<td><input class="datetimepicker" name="scheduling"
|
44 |
+
value="Click to pick a date"
|
45 |
+
onfocus="if(this.value=='Click to pick a date')this.value=''; "></td>
|
46 |
+
<td><span class="required">*</span> Server Time: <?php echo $timecreated?></td>
|
47 |
+
</tr>
|
48 |
+
</table>
|
49 |
+
</fieldset>
|
50 |
+
</form>
|
51 |
+
<h2>How to use this module</h2>
|
52 |
+
<h4 class="icon-head head-edit-form fieldset-legend"><?=$this->__ ( 'The SQL Update is by default Scheduled to be automatically run at midnight 00:00 ' )?></h4>
|
53 |
+
<h4 class="icon-head head-edit-form fieldset-legend"><?=$this->__ ( 'If you pick a new Scheduling for your SQL Update, we will replace the default (only this time) ' )?></h4>
|
54 |
+
</div>
|
55 |
+
<script type="text/javascript">
|
56 |
+
var editForm = new varienForm('edit_form');
|
57 |
+
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package.xml
CHANGED
@@ -1,37 +1,37 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Speedup_your_catalog_update_using_our_Direct_SQL_Update_extension</name>
|
4 |
-
<version>1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">Extension license name (OSL v3.0)</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Speedup your catalog update using our Direct SQL Update extension.</summary>
|
10 |
-
<description>Magento has made available to its users, a collection of functions that allows them to access and modify data in a very safe way. However, saving each individual product can take a long time when updating a large set of data.
|
11 |
-
|
12 |
-
To improve this, Dweeves (Thank you so much for this great work) , has created a set of functions that provide a great way to create a direct SQL query which could update 1000’s of products in 1 or 2 seconds.
|
13 |
-
As a response to many Magento users requests, who do not know how to install it and how to use it, we have decided to create an extension with the following features
|
14 |
-
|
15 |
-
Extension Features
|
16 |
-
|
17 |
-
- Run updates periodically at 00:00 (Midnight) by Default
|
18 |
-
- Modify updates Scheduling by Picking a new date (see slideshow)
|
19 |
-
- Use Magento Cron features (no additional cron setup is needed)
|
20 |
-
- Easy 2-minute installation
|
21 |
-
- Easy to use
|
22 |
-
- No code changes required
|
23 |
-
- No programming Skills required
|
24 |
-
- User-friendly interface
|
25 |
-
- Provide a detailed updates report saved to a log File
|
26 |
- Based on Dweeves script (Follow thread )</description>
|
27 |
-
<notes>added task status to check the direct SQL update status. No need anymore to check your cron_schedule table:
|
28 |
-
|
29 |
-
Status: pending, error, missed or succes
|
30 |
Created At, Scheduled and At Finished At times</notes>
|
31 |
-
<authors><author><name>EL Hassan Matar</name><user>auto-converted</user><email>
|
32 |
-
<date>
|
33 |
-
<time>
|
34 |
-
<contents><target name="
|
35 |
<compatible/>
|
36 |
<dependencies/>
|
37 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Speedup_your_catalog_update_using_our_Direct_SQL_Update_extension</name>
|
4 |
+
<version>1.4.1.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">Extension license name (OSL v3.0)</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Speedup your catalog update using our Direct SQL Update extension.</summary>
|
10 |
+
<description>Magento has made available to its users, a collection of functions that allows them to access and modify data in a very safe way. However, saving each individual product can take a long time when updating a large set of data. 
|
11 |
+

|
12 |
+
To improve this, Dweeves (Thank you so much for this great work) , has created a set of functions that provide a great way to create a direct SQL query which could update 1000’s of products in 1 or 2 seconds. 
|
13 |
+
As a response to many Magento users requests, who do not know how to install it and how to use it, we have decided to create an extension with the following features:
|
14 |
+

|
15 |
+
Extension Features:
|
16 |
+

|
17 |
+
- Run updates periodically at 00:00 (Midnight) by Default
|
18 |
+
- Modify updates Scheduling by Picking a new date (see slideshow)
|
19 |
+
- Use Magento Cron features (no additional cron setup is needed)
|
20 |
+
- Easy 2-minute installation
|
21 |
+
- Easy to use
|
22 |
+
- No code changes required
|
23 |
+
- No programming Skills required
|
24 |
+
- User-friendly interface
|
25 |
+
- Provide a detailed updates report saved to a log File.
|
26 |
- Based on Dweeves script (Follow thread )</description>
|
27 |
+
<notes>added task status to check the direct SQL update status. No need anymore to check your cron_schedule table: 
|
28 |
+

|
29 |
+
Status: pending, error, missed or succes
|
30 |
Created At, Scheduled and At Finished At times</notes>
|
31 |
+
<authors><author><name>EL Hassan Matar</name><user>auto-converted</user><email>support@ayasoftware.com</email></author></authors>
|
32 |
+
<date>2011-06-07</date>
|
33 |
+
<time>04:35:44</time>
|
34 |
+
<contents><target name="magecommunity"><dir name="Ayasoftware"><dir name="SQLupdate"><dir name="Block"><dir name="System"><file name="Html.php" hash="9b9e6aa706535e58e86ea1260910cb17"/></dir></dir><dir name="Helper"><file name="Data.php" hash="ecbe414b1c243fb379266dbd15047993"/></dir><dir name="Model"><file name="DBHelper.php" hash="5f991190b397853c5dee307110b21060"/><file name="Massimport.php" hash="87c886e2c9b87d2d4acb9048fd95d7a6"/><file name="Observer.php" hash="fcc7212083cd72920ff117f3299afcc8"/><file name="Utilities.php" hash="2d3dd5665b330b2d881c280629db4e11"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="SqlupdateController.php" hash="ddac37db79e13944b49d759e895e3ece"/></dir></dir><dir name="etc"><file name="config.xml" hash="2bffe8f09be83c2dab71e3bac5da2fc6"/><file name="system.xml" hash="45031a024e40a09cf1906fea75a6d03f"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="sqlupdate.xml" hash="c71a6d533ec8dd5ec93d52b3d8d2d316"/></dir><dir name="template"><dir name="sqlupdate"><file name="schedule.phtml" hash="250755acf8d21f1aaf73d41b12db2149"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="ayasoftware"><file name="behaviors.js" hash="803fbd82d3a132633288f31edb12f5ca"/><file name="behaviour.js" hash="782fb396b22aff61b4e4b03d144fd1d7"/><file name="datepicker.css" hash="7889f5fe2cf572b8bce80d7d8d1ac5c2"/><file name="datepicker.js" hash="56234bdc9ebbb7f58da1344664f9bbb1"/><file name="datetimepicker.js" hash="39a363522d2654d5a35a7469a753481f"/><file name="prototype-1.6.0.2.js" hash="6f804651639c56d134e892125179b76d"/><file name="prototype-base-extensions.js" hash="eec08721b9e8b4fd05ecd20653978355"/><file name="prototype-date-extensions.js" hash="babd1760797624cbac3479a16647a5fd"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Ayasoftware_SQLupdate.xml" hash="8ef6e3f0f41e0960a02484cefd1afd48"/></dir></target></contents>
|
35 |
<compatible/>
|
36 |
<dependencies/>
|
37 |
</package>
|